@crouton-kit/humanloop 0.4.9 → 0.4.11

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 (125) hide show
  1. package/dist/api.d.ts +1 -1
  2. package/dist/api.js +4 -4
  3. package/dist/cli.js +5 -3
  4. package/dist/editor/terminal-review.d.ts +21 -1
  5. package/dist/editor/terminal-review.js +88 -19
  6. package/dist/inbox/controller.js +34 -25
  7. package/dist/inbox/deck-factories.d.ts +3 -1
  8. package/dist/inbox/deck-factories.js +2 -1
  9. package/dist/inbox/deck-schema.d.ts +2 -1
  10. package/dist/inbox/deck-schema.js +3 -2
  11. package/dist/inbox/maintenance.js +1 -10
  12. package/dist/inbox/scan.js +1 -1
  13. package/dist/inbox/tickets.js +1 -1
  14. package/dist/inbox/tui.js +6 -16
  15. package/dist/inbox/visual.d.ts +3 -11
  16. package/dist/inbox/visual.js +15 -59
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.js +1 -1
  19. package/dist/render/termrender.d.ts +18 -1
  20. package/dist/render/termrender.js +66 -5
  21. package/dist/render/version.d.ts +1 -1
  22. package/dist/render/version.js +1 -1
  23. package/dist/tui/ansi.d.ts +29 -5
  24. package/dist/tui/ansi.js +123 -27
  25. package/dist/tui/app.js +24 -29
  26. package/dist/tui/input.js +13 -0
  27. package/dist/tui/render.d.ts +3 -0
  28. package/dist/tui/render.js +71 -29
  29. package/dist/types.d.ts +14 -5
  30. package/dist/web/assets/{abnfDiagram-VRR7QNED-CeahG6AG.js → abnfDiagram-VRR7QNED-C3G7ucis.js} +1 -1
  31. package/dist/web/assets/{arc-CDoEbwHt.js → arc-CfHbBVfI.js} +1 -1
  32. package/dist/web/assets/architecture-TIHT7OUA-XeXU8J5n.js +1 -0
  33. package/dist/web/assets/{architectureDiagram-ZJ3FMSHR-BPjR0pOT.js → architectureDiagram-ZJ3FMSHR-BCs4FMRj.js} +1 -1
  34. package/dist/web/assets/{blockDiagram-677ZJIJ3-COPZ3wOy.js → blockDiagram-677ZJIJ3-Ddt1PlNC.js} +1 -1
  35. package/dist/web/assets/{c4Diagram-LMCZKHZV-BDlHqm5m.js → c4Diagram-LMCZKHZV-BWwkKdPZ.js} +1 -1
  36. package/dist/web/assets/channel-BfMifkFv.js +1 -0
  37. package/dist/web/assets/{chunk-32BRIVSS-ChE1ajNa.js → chunk-32BRIVSS-BjyMBLnt.js} +1 -1
  38. package/dist/web/assets/{chunk-52WLFC77-DN_FDyhc.js → chunk-52WLFC77-DwnRc5bP.js} +1 -1
  39. package/dist/web/assets/{chunk-C7G6YPKG-B3RJ96Zq.js → chunk-C7G6YPKG-Cv5J31rb.js} +1 -1
  40. package/dist/web/assets/{chunk-EX3LRPZG-DgUeuz17.js → chunk-EX3LRPZG-Ds-y37uL.js} +1 -1
  41. package/dist/web/assets/{chunk-FWX5IMBZ-BLUVTbLv.js → chunk-FWX5IMBZ-BzgaWqkI.js} +2 -2
  42. package/dist/web/assets/{chunk-HOUHSVGY-Be0i0s6_.js → chunk-HOUHSVGY-CB_Rjcvz.js} +1 -1
  43. package/dist/web/assets/{chunk-ICXQ74PX-3WXYMfu9.js → chunk-ICXQ74PX-a8BpKR5q.js} +1 -1
  44. package/dist/web/assets/{chunk-MOJQB5TN-D-pOUBYm.js → chunk-MOJQB5TN-b09YHDGP.js} +1 -1
  45. package/dist/web/assets/{chunk-OGEWGWER-B-il3nZ9.js → chunk-OGEWGWER-CK9U88Zp.js} +1 -1
  46. package/dist/web/assets/{chunk-PUDLZKDR-D6N4Hutq.js → chunk-PUDLZKDR-DBp4NxwM.js} +1 -1
  47. package/dist/web/assets/{chunk-Q4XR5HBZ-9cq52Pkk.js → chunk-Q4XR5HBZ-Cn7tHzZm.js} +1 -1
  48. package/dist/web/assets/{chunk-RYQCIY6F-BVYSEout.js → chunk-RYQCIY6F-DS8RMCZK.js} +1 -1
  49. package/dist/web/assets/{chunk-V7JOEXUC-BuJn3hRD.js → chunk-V7JOEXUC-BCTcSsiS.js} +1 -1
  50. package/dist/web/assets/{chunk-VAUOI2AC-C6vQq47C.js → chunk-VAUOI2AC-DQVUYSsu.js} +1 -1
  51. package/dist/web/assets/{chunk-VR4S4FIN-DqY4BkmV.js → chunk-VR4S4FIN-D5E0Nzn2.js} +1 -1
  52. package/dist/web/assets/{chunk-WYO6CB5R-DgJ7qTeI.js → chunk-WYO6CB5R-reDXIQan.js} +1 -1
  53. package/dist/web/assets/{chunk-XXDRQBXY-BA7v7GnL.js → chunk-XXDRQBXY-BFea61gW.js} +1 -1
  54. package/dist/web/assets/{chunk-ZGVPDNZ5-BbkNKCvq.js → chunk-ZGVPDNZ5-BbVer9LG.js} +1 -1
  55. package/dist/web/assets/classDiagram-OUVF2IWQ-B3fMukMS.js +1 -0
  56. package/dist/web/assets/classDiagram-v2-EOCWNBFH-B3fMukMS.js +1 -0
  57. package/dist/web/assets/{cose-bilkent-JH36ORCC-CXK095PF.js → cose-bilkent-JH36ORCC-Do23kUxV.js} +1 -1
  58. package/dist/web/assets/{cynefin-VYW2F7L2-C_VXlLiV.js → cynefin-VYW2F7L2-B51RrEfW.js} +1 -1
  59. package/dist/web/assets/{cynefinDiagram-TSTJHNR4-C1xlbL_1.js → cynefinDiagram-TSTJHNR4-BMRRvJi_.js} +1 -1
  60. package/dist/web/assets/{dagre-VKFMJZFB-CCTbik65.js → dagre-VKFMJZFB-Cq3oNHAr.js} +1 -1
  61. package/dist/web/assets/{diagram-FQU43EPY-DsT-Ov2v.js → diagram-FQU43EPY-B_OlWSFb.js} +1 -1
  62. package/dist/web/assets/{diagram-G47NLZAW-DtoIPU9F.js → diagram-G47NLZAW-CinfsHac.js} +1 -1
  63. package/dist/web/assets/{diagram-NH7WQ7WH-OFu5gDhD.js → diagram-NH7WQ7WH-B1z5z_xR.js} +1 -1
  64. package/dist/web/assets/{diagram-OA4YK3LP-Dd7dF-gL.js → diagram-OA4YK3LP-CaXxWKyb.js} +1 -1
  65. package/dist/web/assets/{diagram-WEI45ONY-Mux4SvIA.js → diagram-WEI45ONY-DJ_ofe0i.js} +1 -1
  66. package/dist/web/assets/{dist-9QOA8OIw.js → dist-D6gNQP9S.js} +1 -1
  67. package/dist/web/assets/{ebnfDiagram-CCIWWBDH-BrKI9mhn.js → ebnfDiagram-CCIWWBDH-CKdV58eP.js} +1 -1
  68. package/dist/web/assets/{erDiagram-Q63AITRT-ByTXMLhH.js → erDiagram-Q63AITRT-DCTuIs_r.js} +1 -1
  69. package/dist/web/assets/eventmodeling-45OFAUF4-BW_ZjAEZ.js +1 -0
  70. package/dist/web/assets/flowDiagram-23GEKE2U-kuTegDJX.js +1 -0
  71. package/dist/web/assets/{ganttDiagram-NO4QXBWP-DrERNlg-.js → ganttDiagram-NO4QXBWP-a2WUc8wp.js} +1 -1
  72. package/dist/web/assets/{gitGraph-TEB2WS4Q-DD6JbRZi.js → gitGraph-TEB2WS4Q-DMKf1qeU.js} +1 -1
  73. package/dist/web/assets/{gitGraphDiagram-IHSO6WYX-Btg9UWYR.js → gitGraphDiagram-IHSO6WYX-DW54jWiu.js} +1 -1
  74. package/dist/web/assets/{index-CkGfXbfm.js → index-BteexwNd.js} +4 -4
  75. package/dist/web/assets/index-DOlqkLKF.css +2 -0
  76. package/dist/web/assets/{info-DKCQHKI2-e7fTIPJt.js → info-DKCQHKI2-BeOi6-NO.js} +1 -1
  77. package/dist/web/assets/{infoDiagram-FWYZ7A6U-D8qwevDR.js → infoDiagram-FWYZ7A6U-DnmfPppA.js} +1 -1
  78. package/dist/web/assets/{ishikawaDiagram-FXEZZL3T-DVk__o1X.js → ishikawaDiagram-FXEZZL3T-CPNmCU4V.js} +1 -1
  79. package/dist/web/assets/{journeyDiagram-5HDEW3XC-BAqtMRPh.js → journeyDiagram-5HDEW3XC-BJ1dpMIR.js} +1 -1
  80. package/dist/web/assets/{kanban-definition-HUTT4EX6-BSx4RvJG.js → kanban-definition-HUTT4EX6-CTUMFpnW.js} +1 -1
  81. package/dist/web/assets/{line-U7gCrM1H.js → line-BxjdmOYH.js} +1 -1
  82. package/dist/web/assets/{linear-LChDqo68.js → linear-BTFwxw2k.js} +1 -1
  83. package/dist/web/assets/{mermaid-parser.core-DN-im0ZM.js → mermaid-parser.core-xq_aCbXg.js} +3 -3
  84. package/dist/web/assets/{mermaid.core-BtXRl0Mb.js → mermaid.core-CJ7BhoQw.js} +3 -3
  85. package/dist/web/assets/{mindmap-definition-LN4V7U3C-CyKxTVZ0.js → mindmap-definition-LN4V7U3C-CGKOonoC.js} +1 -1
  86. package/dist/web/assets/{packet-7NZHBO7P-DqwDWu78.js → packet-7NZHBO7P-DcZTUk_n.js} +1 -1
  87. package/dist/web/assets/{pegDiagram-2B236MQR-BtsNWFkr.js → pegDiagram-2B236MQR-BQhasiHR.js} +1 -1
  88. package/dist/web/assets/{pie-RZYD4A2V-BHZhIJNY.js → pie-RZYD4A2V-CoNqq_hi.js} +1 -1
  89. package/dist/web/assets/{pieDiagram-ENE6RG2P-Bg2vN06Z.js → pieDiagram-ENE6RG2P-DjXgajVD.js} +1 -1
  90. package/dist/web/assets/{quadrantDiagram-ABIIQ3AL-Cy3idFFa.js → quadrantDiagram-ABIIQ3AL-DnMCZ8Lo.js} +1 -1
  91. package/dist/web/assets/{radar-I7S5WNFK-YJjo6vJv.js → radar-I7S5WNFK-DNuRmGvt.js} +1 -1
  92. package/dist/web/assets/{railroad-3IZDKUUU-CmVtviO7.js → railroad-3IZDKUUU-BWCSIZRZ.js} +1 -1
  93. package/dist/web/assets/railroad-abnf-AHOZXSZD-CUq87fi8.js +1 -0
  94. package/dist/web/assets/railroad-ebnf-EBAXGLYW-Bx6VqkgS.js +1 -0
  95. package/dist/web/assets/railroad-peg-LSFZ7HO6-DkT6zLYM.js +1 -0
  96. package/dist/web/assets/{railroadDiagram-RFXS5EU6-H_2GxnX4.js → railroadDiagram-RFXS5EU6-COtqBRRI.js} +1 -1
  97. package/dist/web/assets/{requirementDiagram-TGXJPOKE-DapbEtLD.js → requirementDiagram-TGXJPOKE-Cgm9XId4.js} +1 -1
  98. package/dist/web/assets/{sankeyDiagram-HTMAVEWB-CCQHHs1d.js → sankeyDiagram-HTMAVEWB-CCOMrkbd.js} +1 -1
  99. package/dist/web/assets/{sequenceDiagram-DBY2YBRQ-CgVVV-1t.js → sequenceDiagram-DBY2YBRQ-CL0wy8uA.js} +1 -1
  100. package/dist/web/assets/{src-BfumX_U8.js → src-CvIIQCAG.js} +1 -1
  101. package/dist/web/assets/{stateDiagram-2N3HPSRC-BBCtLj7x.js → stateDiagram-2N3HPSRC-C5b_pAiI.js} +1 -1
  102. package/dist/web/assets/stateDiagram-v2-6OUMAXLB-CbW-xCPn.js +1 -0
  103. package/dist/web/assets/{swimlanes-5IMT3BWC-DO2t3ahL.js → swimlanes-5IMT3BWC-J11uWvqa.js} +1 -1
  104. package/dist/web/assets/swimlanesDiagram-G3AALYLV-DpbNWekf.js +8 -0
  105. package/dist/web/assets/{timeline-definition-FHXFAJF6-lUeG8UJD.js → timeline-definition-FHXFAJF6-Dsvj6fbD.js} +1 -1
  106. package/dist/web/assets/{treeView-QDETBFTQ-Btl8LjLd.js → treeView-QDETBFTQ-FH3Xeeef.js} +1 -1
  107. package/dist/web/assets/{treemap-6X3UGDF4-DrCUe046.js → treemap-6X3UGDF4-D1TKNacZ.js} +1 -1
  108. package/dist/web/assets/{vennDiagram-L72KCM5P-DC1qneaM.js → vennDiagram-L72KCM5P-D4zm__Fz.js} +1 -1
  109. package/dist/web/assets/{wardley-OPB4EBWU-BuUed_9_.js → wardley-OPB4EBWU-BRLeItQR.js} +1 -1
  110. package/dist/web/assets/{wardleyDiagram-EHGQE667-CaHmI1FN.js → wardleyDiagram-EHGQE667-B7j5UliQ.js} +1 -1
  111. package/dist/web/assets/{xychartDiagram-FW5EYKEG-ZhKRrmhh.js → xychartDiagram-FW5EYKEG-Bi0MfuVK.js} +1 -1
  112. package/dist/web/index.html +2 -2
  113. package/package.json +1 -1
  114. package/dist/web/assets/architecture-TIHT7OUA-dmDc2lc6.js +0 -1
  115. package/dist/web/assets/channel-Cz6ImOzU.js +0 -1
  116. package/dist/web/assets/classDiagram-OUVF2IWQ-CDIgAUln.js +0 -1
  117. package/dist/web/assets/classDiagram-v2-EOCWNBFH-CDIgAUln.js +0 -1
  118. package/dist/web/assets/eventmodeling-45OFAUF4-DODcRvgw.js +0 -1
  119. package/dist/web/assets/flowDiagram-23GEKE2U-BOjPmrMg.js +0 -1
  120. package/dist/web/assets/index-BT22-qAj.css +0 -2
  121. package/dist/web/assets/railroad-abnf-AHOZXSZD-BwPWzzAs.js +0 -1
  122. package/dist/web/assets/railroad-ebnf-EBAXGLYW-Cc8VfiVd.js +0 -1
  123. package/dist/web/assets/railroad-peg-LSFZ7HO6-DivliSK5.js +0 -1
  124. package/dist/web/assets/stateDiagram-v2-6OUMAXLB-CBzJzUEN.js +0 -1
  125. package/dist/web/assets/swimlanesDiagram-G3AALYLV-CNLJY6SU.js +0 -8
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BtXRl0Mb.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-BfumX_U8.js","assets/chunk-WYO6CB5R-DgJ7qTeI.js","assets/chunk-ICXQ74PX-3WXYMfu9.js","assets/dist-9QOA8OIw.js","assets/chunk-VAUOI2AC-C6vQq47C.js","assets/chunk-HOUHSVGY-Be0i0s6_.js","assets/chunk-Q4XR5HBZ-9cq52Pkk.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-OGEWGWER-B-il3nZ9.js","assets/chunk-C7G6YPKG-B3RJ96Zq.js","assets/chunk-ZGVPDNZ5-BbkNKCvq.js","assets/rough.esm-CSKSodPl.js","assets/chunk-52WLFC77-DN_FDyhc.js","assets/line-U7gCrM1H.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-FWX5IMBZ-BLUVTbLv.js","assets/chunk-ZIRB5QZD-C6fEPe3t.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-CJ7BhoQw.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-CvIIQCAG.js","assets/chunk-WYO6CB5R-reDXIQan.js","assets/chunk-ICXQ74PX-a8BpKR5q.js","assets/dist-D6gNQP9S.js","assets/chunk-VAUOI2AC-DQVUYSsu.js","assets/chunk-HOUHSVGY-CB_Rjcvz.js","assets/chunk-Q4XR5HBZ-Cn7tHzZm.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-OGEWGWER-CK9U88Zp.js","assets/chunk-C7G6YPKG-Cv5J31rb.js","assets/chunk-ZGVPDNZ5-BbVer9LG.js","assets/rough.esm-CSKSodPl.js","assets/chunk-52WLFC77-DwnRc5bP.js","assets/line-BxjdmOYH.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-FWX5IMBZ-BzgaWqkI.js","assets/chunk-ZIRB5QZD-C6fEPe3t.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function ee(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function j(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function M(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,M(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ee(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),M(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ee(a,u),c+=M(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ee(a,u++),c+=M(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return M(j(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return M(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function te(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},F={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=F,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:te}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,P)}catch(e){P(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ee(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ee(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function ee(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ee(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.7`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=p(),n=d(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),ee=Symbol.iterator;function j(e){return typeof e!=`object`||!e?null:(e=ee&&e[ee]||e[`@@iterator`],typeof e==`function`?e:null)}var M=Symbol.for(`react.client.reference`);function N(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===M?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?N(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return N(e(t))}catch{}}return null}var te=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},re=[],ie=-1;function I(e){return{current:e}}function L(e){0>ie||(e.current=re[ie],re[ie]=null,ie--)}function R(e,t){ie++,re[ie]=e.current,e.current=t}var ae=I(null),oe=I(null),se=I(null),ce=I(null);function le(e,t){switch(R(se,t),R(oe,e),R(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}L(ae),R(ae,e)}function ue(){L(ae),L(oe),L(se)}function de(e){e.memoizedState!==null&&R(ce,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(R(oe,e),R(ae,n))}function fe(e){oe.current===e&&(L(ae),L(oe)),ce.current===e&&(L(ce),Qf._currentValue=ne)}var pe,me;function he(e){if(pe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);pe=t&&t[1]||``,me=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+pe+e+me}var ge=!1;function _e(e,t){if(!e||ge)return``;ge=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -41,8 +41,8 @@ Error generating stack: `+e.message+`
41
41
  `},l]}}var dp=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),fp=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),pp=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),mp=[...fp,...pp],hp=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),gp=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),_p=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),vp=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse(),yp=gp.concat(_p).sort().reverse();function bp(e){let t=dp(e),n=yp,r=`([\\w-]+|@\\{[\\w-]+\\})`,i=[],a=[],o=function(e){return{className:`string`,begin:`~?`+e+`.*?`+e}},s=function(e,t,n){return{className:e,begin:t,relevance:n}},c={$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:hp.join(` `)},l={begin:`\\(`,end:`\\)`,contains:a,keywords:c,relevance:0};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o(`'`),o(`"`),t.CSS_NUMBER_MODE,{begin:`(url|data-uri)\\(`,starts:{className:`string`,end:`[\\)\\n]`,excludeEnd:!0}},t.HEXCOLOR,l,s(`variable`,`@@?[\\w-]+`,10),s(`variable`,`@\\{[\\w-]+\\}`),s(`built_in`,"~?`[^`]*?`"),{className:`attribute`,begin:`[\\w-]+\\s*:`,end:`:`,returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:`and not`},t.FUNCTION_DISPATCH);let u=a.concat({begin:/\{/,end:/\}/,contains:i}),d={beginKeywords:`when`,endsWithParent:!0,contains:[{beginKeywords:`and not`}].concat(a)},f={begin:`([\\w-]+|@\\{[\\w-]+\\})\\s*:`,returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+vp.join(`|`)+`)\\b`,end:/(?=:)/,starts:{endsWithParent:!0,illegal:`[<=$]`,relevance:0,contains:a}}]},p={className:`keyword`,begin:`@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b`,starts:{end:`[;{}]`,keywords:c,returnEnd:!0,contains:a,relevance:0}},m={className:`variable`,variants:[{begin:`@[\\w-]+\\s*:`,relevance:15},{begin:`@[\\w-]+`}],starts:{end:`[;}]`,returnEnd:!0,contains:u}},h={variants:[{begin:`[\\.#:&\\[>]`,end:`[;{}]`},{begin:r,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,d,s(`keyword`,`all\\b`),s(`variable`,`@\\{[\\w-]+\\}`),{begin:`\\b(`+mp.join(`|`)+`)\\b`,className:`selector-tag`},t.CSS_NUMBER_MODE,s(`selector-tag`,r,0),s(`selector-id`,`#([\\w-]+|@\\{[\\w-]+\\})`),s(`selector-class`,`\\.([\\w-]+|@\\{[\\w-]+\\})`,0),s(`selector-tag`,`&`,0),t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,begin:`:(`+gp.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+_p.join(`|`)+`)`},{begin:/\(/,end:/\)/,relevance:0,contains:u},{begin:`!important`},t.FUNCTION_DISPATCH]},g={begin:`[\\w-]+:(:)?(${n.join(`|`)})`,returnBegin:!0,contains:[h]};return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,m,g,f,h,d,t.FUNCTION_DISPATCH),{name:`Less`,case_insensitive:!0,illegal:`[=>'/<($"]`,contains:i}}function xp(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!\\[=*\\[)`,`$`),e.COMMENT(`--\\[=*\\[`,n,{contains:[r],relevance:10})];return{name:`Lua`,aliases:[`pluto`],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}function Sp(e){let t={className:`variable`,variants:[{begin:`\\$\\(`+e.UNDERSCORE_IDENT_RE+`\\)`,contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:`variable`,begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:`subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value`},contains:[t,n]},i={begin:`^`+e.UNDERSCORE_IDENT_RE+`\\s*(?=[:+?]?=)`},a={className:`meta`,begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:`.PHONY`}},o={className:`section`,begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:`Makefile`,aliases:[`mk`,`mak`,`make`],keywords:{$pattern:/[\w-]+/,keyword:`define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath`},contains:[e.HASH_COMMENT_MODE,t,n,r,i,a,o]}}function Cp(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function wp(e){let t={className:`built_in`,begin:`\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+`},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r={"variable.language":[`this`,`super`],$pattern:n,keyword:`while.export.sizeof.typedef.const.struct.for.union.volatile.static.mutable.if.do.return.goto.enum.else.break.extern.asm.case.default.register.explicit.typename.switch.continue.inline.readonly.assign.readwrite.self.@synchronized.id.typeof.nonatomic.IBOutlet.IBAction.strong.weak.copy.in.out.inout.bycopy.byref.oneway.__strong.__weak.__block.__autoreleasing.@private.@protected.@public.@try.@property.@end.@throw.@catch.@finally.@autoreleasepool.@synthesize.@dynamic.@selector.@optional.@required.@encode.@package.@import.@defs.@compatibility_alias.__bridge.__bridge_transfer.__bridge_retained.__bridge_retain.__covariant.__contravariant.__kindof._Nonnull._Nullable._Null_unspecified.__FUNCTION__.__PRETTY_FUNCTION__.__attribute__.getter.setter.retain.unsafe_unretained.nonnull.nullable.null_unspecified.null_resettable.class.instancetype.NS_DESIGNATED_INITIALIZER.NS_UNAVAILABLE.NS_REQUIRES_SUPER.NS_RETURNS_INNER_POINTER.NS_INLINE.NS_AVAILABLE.NS_DEPRECATED.NS_ENUM.NS_OPTIONS.NS_SWIFT_UNAVAILABLE.NS_ASSUME_NONNULL_BEGIN.NS_ASSUME_NONNULL_END.NS_REFINED_FOR_SWIFT.NS_SWIFT_NAME.NS_SWIFT_NOTHROW.NS_DURING.NS_HANDLER.NS_ENDHANDLER.NS_VALUERETURN.NS_VOIDRETURN`.split(`.`),literal:[`false`,`true`,`FALSE`,`TRUE`,`nil`,`YES`,`NO`,`NULL`],built_in:[`dispatch_once_t`,`dispatch_queue_t`,`dispatch_sync`,`dispatch_async`,`dispatch_once`],type:[`int`,`float`,`char`,`unsigned`,`signed`,`short`,`long`,`double`,`wchar_t`,`unichar`,`void`,`bool`,`BOOL`,`id|0`,`_Bool`]},i={$pattern:n,keyword:[`@interface`,`@class`,`@protocol`,`@implementation`]};return{name:`Objective-C`,aliases:[`mm`,`objc`,`obj-c`,`obj-c++`,`objective-c++`],keywords:r,illegal:`</`,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:`string`,variants:[{begin:`@"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]}]},{className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),{className:`string`,begin:/<.*?>/,end:/$/,illegal:`\\n`},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`class`,begin:`(`+i.keyword.join(`|`)+`)\\b`,end:/(\{|$)/,excludeEnd:!0,keywords:i,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:`\\.`+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Tp(e){let t=e.regex,n=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.class.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.field.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.method.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(` `)},a={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:i},o={begin:/->\{/,end:/\}/},s={scope:`attr`,match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:`variable`,variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={className:`number`,variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,a,c],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(e,n,i=`\\1`)=>{let a=i===`\\1`?i:t.concat(i,n);return t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,r)},p=(e,n,i)=>t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,i,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:`string`,contains:u,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},l,{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:f(`s|tr|y`,t.either(...d,{capture:!0}))},{begin:f(`s|tr|y`,`\\(`,`\\)`)},{begin:f(`s|tr|y`,`\\[`,`\\]`)},{begin:f(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p(`(?:m|qr)?`,/\//,/\//)},{begin:p(`m|qr`,t.either(...d,{capture:!0}),/\1/)},{begin:p(`m|qr`,/\(/,/\)/)},{begin:p(`m|qr`,/\[/,/\]/)},{begin:p(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub method`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]},{className:`class`,beginKeywords:`class`,end:`[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s,l]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return a.contains=m,o.contains=m,{name:`Perl`,aliases:[`pl`,`pm`],keywords:i,contains:m}}function Ep(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
42
42
  ]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}function Dp(e){return{name:`PHP template`,subLanguage:`xml`,contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:`php`,contains:[{begin:`/\\*`,end:`\\*/`,skip:!0},{begin:`b"`,end:`"`,skip:!0},{begin:`b'`,end:`'`,skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function Op(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}function kp(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}function Ap(e){return{aliases:[`pycon`],contains:[{className:`meta.prompt`,starts:{end:/ |$/,starts:{end:`$`,subLanguage:`python`}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function jp(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:`R`,keywords:{$pattern:n,keyword:`function if in break next repeat else for while`,literal:`NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10`,built_in:`LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm`},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:`doctag`,match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:`doctag`,begin:`@param`,end:/$/,contains:[{scope:`variable`,variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:`doctag`,match:/@[a-zA-Z]+/},{scope:`keyword`,match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:`"`,end:`"`,relevance:0},{begin:`'`,end:`'`,relevance:0}]},{relevance:0,variants:[{scope:{1:`operator`,2:`number`},match:[i,r]},{scope:{1:`operator`,2:`number`},match:[/%[^%]*%/,r]},{scope:{1:`punctuation`,2:`number`},match:[a,r]},{scope:{2:`number`},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:`operator`},match:[n,/\s+/,/<-/,/\s+/]},{scope:`operator`,relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:`punctuation`,relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Mp(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a={"variable.constant":[`__FILE__`,`__LINE__`,`__ENCODING__`],"variable.language":[`self`,`super`],keyword:`alias.and.begin.BEGIN.break.case.class.defined.do.else.elsif.end.END.ensure.for.if.in.module.next.not.or.redo.require.rescue.retry.return.then.undef.unless.until.when.while.yield.include.extend.prepend.public.private.protected.raise.throw`.split(`.`),built_in:[`proc`,`lambda`,`attr_accessor`,`attr_reader`,`attr_writer`,`define_method`,`private_constant`,`module_function`],literal:[`true`,`false`,`nil`]},o={className:`doctag`,begin:`@[A-Za-z]+`},s={begin:`#<`,end:`>`},c=[e.COMMENT(`#`,`$`,{contains:[o]}),e.COMMENT(`^=begin`,`^=end`,{contains:[o],relevance:10}),e.COMMENT(`^__END__`,e.MATCH_NOTHING_RE)],l={className:`subst`,begin:/#\{/,end:/\}/,keywords:a},u={className:`string`,contains:[e.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,l]})]}]},d=`[0-9](_?[0-9])*`,f={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},p={variants:[{match:/\(\)/},{className:`params`,begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},m=[u,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:`title.class`,4:`title.class.inherited`},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:`title.class`},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:`title.class`}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`},{relevance:0,match:r,scope:`title.class`},{match:[/def/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[p]},{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[u,{begin:n}],relevance:0},f,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(s,c),relevance:0}].concat(s,c);l.contains=m,p.contains=m;let h=[{begin:/^\s*=>/,starts:{end:`$`,contains:m}},{className:`meta.prompt`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,keywords:a,contains:m}}];return c.unshift(s),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(h,c,m)}}function Np(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:`title.function.invoke`,relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o=`abstract.as.async.await.become.box.break.const.continue.crate.do.dyn.else.enum.extern.false.final.fn.for.if.impl.in.let.loop.macro.match.mod.move.mut.override.priv.pub.ref.return.self.Self.static.struct.super.trait.true.try.type.typeof.union.unsafe.unsized.use.virtual.where.while.yield`.split(`.`),s=[`true`,`false`,`Some`,`None`,`Ok`,`Err`],c=`drop .Copy.Send.Sized.Sync.Drop.Fn.FnMut.FnOnce.ToOwned.Clone.Debug.PartialEq.PartialOrd.Eq.Ord.AsRef.AsMut.Into.From.Default.Iterator.Extend.IntoIterator.DoubleEndedIterator.ExactSizeIterator.SliceConcatExt.ToString.assert!.assert_eq!.bitflags!.bytes!.cfg!.col!.concat!.concat_idents!.debug_assert!.debug_assert_eq!.env!.eprintln!.panic!.file!.format!.format_args!.include_bytes!.include_str!.line!.local_data_key!.module_path!.option_env!.print!.println!.select!.stringify!.try!.unimplemented!.unreachable!.vec!.write!.writeln!.macro_rules!.assert_ne!.debug_assert_ne!`.split(`.`),l=[`i8`,`i16`,`i32`,`i64`,`i128`,`isize`,`u8`,`u16`,`u32`,`u64`,`u128`,`usize`,`f32`,`f64`,`str`,`char`,`bool`,`Box`,`Option`,`Result`,`String`,`Vec`];return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,type:l,keyword:o,literal:s,built_in:c},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:`string`,variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:`char.escape`,match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:`number`,variants:[{begin:`\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?`},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?`}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:`keyword`,3:`title.function`}},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:`keyword`,3:`keyword`,4:`variable`}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:`keyword`,3:`variable`,5:`keyword`}},{begin:[/type/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:e.IDENT_RE+`::`,keywords:{keyword:`Self`,built_in:c,type:l}},{className:`punctuation`,begin:`->`},a]}}var Pp=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Fp=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),Ip=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),Lp=[...Fp,...Ip],Rp=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),zp=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),Bp=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),Vp=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function Hp(e){let t=Pp(e),n=Bp,r=zp,i=`@[a-z-]+`,a={className:`variable`,begin:`(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b`,relevance:0};return{name:`SCSS`,case_insensitive:!0,illegal:`[=/|']`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:`#[A-Za-z0-9_-]+`,relevance:0},{className:`selector-class`,begin:`\\.[A-Za-z0-9_-]+`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-tag`,begin:`\\b(`+Lp.join(`|`)+`)\\b`,relevance:0},{className:`selector-pseudo`,begin:`:(`+r.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+n.join(`|`)+`)`},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+Vp.join(`|`)+`)\\b`},{begin:`\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b`},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:`@(page|font-face)`,keywords:{$pattern:i,keyword:`@page @font-face`}},{begin:`@`,end:`[{;]`,returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:Rp.join(` `)},contains:[{begin:i,className:`keyword`},{begin:/[a-z-]+(?=:)/,className:`attribute`},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function Up(e){return{name:`Shell Session`,aliases:[`console`,`shellsession`],contains:[{className:`meta.prompt`,begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:`bash`}}]}}function Wp(e){let t=e.regex,n=e.COMMENT(`--`,`$`),r={scope:`string`,variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=[`true`,`false`,`unknown`],o=[`double precision`,`large object`,`with timezone`,`without timezone`],s=`bigint.binary.blob.boolean.char.character.clob.date.dec.decfloat.decimal.float.int.integer.interval.nchar.nclob.national.numeric.real.row.smallint.time.timestamp.varchar.varying.varbinary`.split(`.`),c=[`add`,`asc`,`collation`,`desc`,`final`,`first`,`last`,`view`],l=`abs.acos.all.allocate.alter.and.any.are.array.array_agg.array_max_cardinality.as.asensitive.asin.asymmetric.at.atan.atomic.authorization.avg.begin.begin_frame.begin_partition.between.bigint.binary.blob.boolean.both.by.call.called.cardinality.cascaded.case.cast.ceil.ceiling.char.char_length.character.character_length.check.classifier.clob.close.coalesce.collate.collect.column.commit.condition.connect.constraint.contains.convert.copy.corr.corresponding.cos.cosh.count.covar_pop.covar_samp.create.cross.cube.cume_dist.current.current_catalog.current_date.current_default_transform_group.current_path.current_role.current_row.current_schema.current_time.current_timestamp.current_path.current_role.current_transform_group_for_type.current_user.cursor.cycle.date.day.deallocate.dec.decimal.decfloat.declare.default.define.delete.dense_rank.deref.describe.deterministic.disconnect.distinct.double.drop.dynamic.each.element.else.empty.end.end_frame.end_partition.end-exec.equals.escape.every.except.exec.execute.exists.exp.external.extract.false.fetch.filter.first_value.float.floor.for.foreign.frame_row.free.from.full.function.fusion.get.global.grant.group.grouping.groups.having.hold.hour.identity.in.indicator.initial.inner.inout.insensitive.insert.int.integer.intersect.intersection.interval.into.is.join.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.language.large.last_value.lateral.lead.leading.left.like.like_regex.listagg.ln.local.localtime.localtimestamp.log.log10.lower.match.match_number.match_recognize.matches.max.member.merge.method.min.minute.mod.modifies.module.month.multiset.national.natural.nchar.nclob.new.no.none.normalize.not.nth_value.ntile.null.nullif.numeric.octet_length.occurrences_regex.of.offset.old.omit.on.one.only.open.or.order.out.outer.over.overlaps.overlay.parameter.partition.pattern.per.percent.percent_rank.percentile_cont.percentile_disc.period.portion.position.position_regex.power.precedes.precision.prepare.primary.procedure.ptf.range.rank.reads.real.recursive.ref.references.referencing.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.release.result.return.returns.revoke.right.rollback.rollup.row.row_number.rows.running.savepoint.scope.scroll.search.second.seek.select.sensitive.session_user.set.show.similar.sin.sinh.skip.smallint.some.specific.specifictype.sql.sqlexception.sqlstate.sqlwarning.sqrt.start.static.stddev_pop.stddev_samp.submultiset.subset.substring.substring_regex.succeeds.sum.symmetric.system.system_time.system_user.table.tablesample.tan.tanh.then.time.timestamp.timezone_hour.timezone_minute.to.trailing.translate.translate_regex.translation.treat.trigger.trim.trim_array.true.truncate.uescape.union.unique.unknown.unnest.update.upper.user.using.value.values.value_of.var_pop.var_samp.varbinary.varchar.varying.versioning.when.whenever.where.width_bucket.window.with.within.without.year`.split(`.`),u=`abs.acos.array_agg.asin.atan.avg.cast.ceil.ceiling.coalesce.corr.cos.cosh.count.covar_pop.covar_samp.cume_dist.dense_rank.deref.element.exp.extract.first_value.floor.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.last_value.lead.listagg.ln.log.log10.lower.max.min.mod.nth_value.ntile.nullif.percent_rank.percentile_cont.percentile_disc.position.position_regex.power.rank.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.row_number.sin.sinh.sqrt.stddev_pop.stddev_samp.substring.substring_regex.sum.tan.tanh.translate.translate_regex.treat.trim.trim_array.unnest.upper.value_of.var_pop.var_samp.width_bucket`.split(`.`),d=[`current_catalog`,`current_date`,`current_default_transform_group`,`current_path`,`current_role`,`current_schema`,`current_transform_group_for_type`,`current_user`,`session_user`,`system_time`,`system_user`,`current_time`,`localtime`,`current_timestamp`,`localtimestamp`],f=[`create table`,`insert into`,`primary key`,`foreign key`,`not null`,`alter table`,`add constraint`,`grouping sets`,`on overflow`,`character set`,`respect nulls`,`ignore nulls`,`nulls first`,`nulls last`,`depth first`,`breadth first`],p=u,m=[...l,...c].filter(e=>!u.includes(e)),h={scope:`variable`,match:/@[a-z0-9][a-z0-9_]*/},g={scope:`operator`,match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,`\\s+`))),/\b/)}let y={scope:`keyword`,match:v(f),relevance:0};function b(e,{exceptions:t,when:n}={}){let r=n;return t||=[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}return{name:`SQL`,case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(m,{when:e=>e.length<3}),literal:a,type:s,built_in:d},contains:[{scope:`type`,match:v(o)},y,_,h,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,g]}}function Gp(e){return e?typeof e==`string`?e:e.source:null}function Kp(e){return qp(`(?=`,e,`)`)}function qp(...e){return e.map(e=>Gp(e)).join(``)}function Jp(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Yp(...e){return`(`+(Jp(e).capture?``:`?:`)+e.map(e=>Gp(e)).join(`|`)+`)`}var Xp=e=>qp(/\b/,e,/\w$/.test(e)?/\b/:/\B/),Zp=[`Protocol`,`Type`].map(Xp),Qp=[`init`,`self`].map(Xp),$p=[`Any`,`Self`],em=[`actor`,`any`,`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`borrowing`,`break`,`case`,`catch`,`class`,`consume`,`consuming`,`continue`,`convenience`,`copy`,`default`,`defer`,`deinit`,`didSet`,`distributed`,`do`,`dynamic`,`each`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`isolated`,`nonisolated`,`lazy`,`let`,`macro`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`package`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],tm=[`false`,`nil`,`true`],nm=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],rm=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warning`],im=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),am=Yp(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),om=Yp(am,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),sm=qp(am,om,`*`),cm=Yp(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),lm=Yp(cm,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),um=qp(cm,lm,`*`),dm=qp(/[A-Z]/,lm,`*`),fm=[`attached`,`autoclosure`,qp(/convention\(/,Yp(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`freestanding`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,qp(/objc\(/,um,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`resultBuilder`,`Sendable`,`testable`,`UIApplicationMain`,`unchecked`,`unknown`,`usableFromInline`,`warn_unqualified_access`],pm=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function mm(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,Yp(...Zp,...Qp)],className:{2:`keyword`}},a={match:qp(/\./,Yp(...em)),relevance:0},o=em.filter(e=>typeof e==`string`).concat([`_|0`]),s={variants:[{className:`keyword`,match:Yp(...em.filter(e=>typeof e!=`string`).concat($p).map(Xp),...Qp)}]},c={$pattern:Yp(/\b\w+/,/#\w+/),keyword:o.concat(rm),literal:tm},l=[i,a,s],u=[{match:qp(/\./,Yp(...im)),relevance:0},{className:`built_in`,match:qp(/\b/,Yp(...im),/(?=\()/)}],d={match:/->/,relevance:0},f=[d,{className:`operator`,relevance:0,variants:[{match:sm},{match:`\\.(\\.|${om})+`}]}],p=`([0-9]_*)+`,m=`([0-9a-fA-F]_*)+`,h={className:`number`,relevance:0,variants:[{match:`\\b(${p})(\\.(${p}))?([eE][+-]?(${p}))?\\b`},{match:`\\b0x(${m})(\\.(${m}))?([pP][+-]?(${p}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},g=(e=``)=>({className:`subst`,variants:[{match:qp(/\\/,e,/[0\\tnr"']/)},{match:qp(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),_=(e=``)=>({className:`subst`,match:qp(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(e=``)=>({className:`subst`,label:`interpol`,begin:qp(/\\/,e,/\(/),end:/\)/}),y=(e=``)=>({begin:qp(e,/"""/),end:qp(/"""/,e),contains:[g(e),_(e),v(e)]}),b=(e=``)=>({begin:qp(e,/"/),end:qp(/"/,e),contains:[g(e),v(e)]}),x={className:`string`,variants:[y(),y(`#`),y(`##`),y(`###`),b(),b(`#`),b(`##`),b(`###`)]},S=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],C={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:S},w=e=>{let t=qp(e,/\//),n=qp(/\//,e);return{begin:t,end:n,contains:[...S,{scope:`comment`,begin:`#(?!.*${n})`,end:/$/}]}},T={scope:`regexp`,variants:[w(`###`),w(`##`),w(`#`),C]},E={match:qp(/`/,um,/`/)},D=[E,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${lm}+`}],O=[{match:/(@|#(un)?)available/,scope:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:pm,contains:[...f,h,x]}]}},{scope:`keyword`,match:qp(/@/,Yp(...fm),Kp(Yp(/\(/,/\s+/)))},{scope:`meta`,match:qp(/@/,um)}],k={match:Kp(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:qp(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,lm,`+`)},{className:`type`,match:dm,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:qp(/\s+&\s+/,Kp(dm)),relevance:0}]},A={begin:/</,end:/>/,keywords:c,contains:[...r,...l,...O,d,k]};k.contains.push(A);let ee={begin:/\(/,end:/\)/,relevance:0,keywords:c,contains:[`self`,{match:qp(um,/\s*:/),keywords:`_|0`,relevance:0},...r,T,...l,...u,...f,h,x,...D,...O,k]},j={begin:/</,end:/>/,keywords:`repeat each`,contains:[...r,k]},M={begin:/\(/,end:/\)/,keywords:c,contains:[{begin:Yp(Kp(qp(um,/\s*:/)),Kp(qp(um,/\s+/,um,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:um}]},...r,...l,...f,h,x,...O,k,ee],endsParent:!0,illegal:/["']/},N={match:[/(func|macro)/,/\s+/,Yp(E.match,um,sm)],className:{1:`keyword`,3:`title.function`},contains:[j,M,t],illegal:[/\[/,/%/]},te={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:`keyword`},contains:[j,M,t],illegal:/\[|%/},P={match:[/operator/,/\s+/,sm],className:{1:`keyword`,3:`title`}},F={begin:[/precedencegroup/,/\s+/,dm],className:{1:`keyword`,3:`title`},contains:[k],keywords:[...nm,...tm],end:/}/},ne={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:`keyword`,3:`keyword`,5:`title.function`}},re={match:[/class\b/,/\s+/,/var\b/],scope:{1:`keyword`,3:`keyword`}},ie={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,um,/\s*/],beginScope:{1:`keyword`,3:`title.class`},keywords:c,contains:[j,...l,{begin:/:/,end:/\{/,keywords:c,contains:[{scope:`title.class.inherited`,match:dm},...l],relevance:0}]};for(let e of x.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=c;let n=[...l,...u,...f,h,x,...D];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:c,contains:[...r,N,te,ne,re,ie,P,F,{beginKeywords:`import`,end:/$/,contains:[...r],relevance:0},T,...l,...u,...f,h,x,...D,...O,k,ee]}}var hm=`[A-Za-z$_][0-9A-Za-z$_]*`,gm=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),_m=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],vm=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),ym=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],bm=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],xm=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],Sm=[].concat(bm,vm,ym);function Cm(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=hm,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:hm,keyword:gm,literal:_m,built_in:Sm,"variable.language":xm},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,d={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},f={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},p={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`xml`}},m={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`css`}},h={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`graphql`}},g={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},_={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},v=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,{match:/\$\d+/},d];f.contains=v.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(v)});let y=[].concat(_,f.contains),b=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(y)}]),x={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b},S={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},C={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...vm,...ym]}},w={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},T={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[x],illegal:/%/},E={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function D(e){return t.concat(`(?!`,e.join(`|`),`)`)}let O={match:t.concat(/\b/,D([...bm,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},k={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},A={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},x]},ee=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,j={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(ee)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[x]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:C},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),w,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,_,{match:/\$\d+/},d,C,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},j,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[_,e.REGEXP_MODE,{className:`function`,begin:ee,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},T,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},k,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[x]},O,E,S,A,{match:/\$[(.]/}]}}function wm(e){let t=e.regex,n=Cm(e),r=hm,i=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],a={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:i},contains:[n.exports.CLASS_REFERENCE]},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:hm,keyword:gm.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:_m,built_in:Sm.concat(i),"variable.language":xm},l={className:`meta`,begin:`@[A-Za-z$_][0-9A-Za-z$_]*`},u=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(l);let d=n.contains.find(e=>e.scope===`attr`),f=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,f]),n.contains=n.contains.concat([l,a,o,f]),u(n,`shebang`,e.SHEBANG()),u(n,`use_strict`,s);let p=n.contains.find(e=>e.label===`func.def`);return p.relevance=0,Object.assign(n,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),n}function Tm(e){let t=e.regex,n={className:`string`,begin:/"(""|[^/n])"C\b/},r={className:`string`,begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,s=/\d{1,2}(:\d{1,2}){1,2}/,c={className:`literal`,variants:[{begin:t.concat(/# */,t.either(a,i),/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(a,i),/ +/,t.either(o,s),/ *#/)}]},l={className:`number`,relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:`label`,begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:`doctag`,begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:`Visual Basic .NET`,aliases:[`vb`],case_insensitive:!0,classNameAliases:{label:`symbol`},keywords:{keyword:`addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield`,built_in:`addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort`,type:`boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort`,literal:`true false nothing`},illegal:`//|\\{|\\}|endif|gosub|variant|wend|^\\$ `,contains:[n,r,c,l,u,d,f,{className:`meta`,begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:`const disable else elseif enable end externalsource if region then`},contains:[f]}]}}function Em(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);return t.contains.push(`self`),{name:`WebAssembly`,keywords:{$pattern:/[\w.]+/,keyword:`anyfunc,block,br,br_if,br_table,call,call_indirect,data,drop,elem,else,end,export,func,global.get,global.set,local.get,local.set,local.tee,get_global,get_local,global,if,import,local,loop,memory,memory.grow,memory.size,module,mut,nop,offset,param,result,return,select,set_global,set_local,start,table,tee_local,then,type,unreachable`.split(`,`)},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:`keyword`,3:`operator`}},{className:`variable`,begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:`punctuation`,relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:`keyword`,3:`title.function`}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:`type`},{className:`keyword`,match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:`number`,relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}}function Dm(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Om(e){let t=`true false yes no null`,n={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},a={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),s={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},c={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},l={begin:/\{/,end:/\}/,contains:[c],illegal:`\\n`,relevance:0},u={begin:`\\[`,end:`\\]`,contains:[c],illegal:`\\n`,relevance:0},d=[n,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!<[\\w#;/?:@&=+$,.~*'()[\\]]+>`},{className:`type`,begin:`![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},s,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},l,u,i,a],f=[...d];return f.pop(),f.push(o),c.contains=f,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:d}}var km={arduino:Ef,bash:Df,c:Of,cpp:kf,csharp:Af,css:zf,diff:Bf,go:Vf,graphql:Hf,ini:Uf,java:Yf,javascript:ip,json:ap,kotlin:up,less:bp,lua:xp,makefile:Sp,markdown:Cp,objectivec:wp,perl:Tp,php:Ep,"php-template":Dp,plaintext:Op,python:kp,"python-repl":Ap,r:jp,ruby:Mp,rust:Np,scss:Hp,shell:Up,sql:Wp,swift:mm,typescript:wm,vbnet:Tm,wasm:Em,xml:Dm,yaml:Om},Am=l(o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,ee=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},j={begin:`\\\\[\\s\\S]`,relevance:0},M={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[j]},N={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[j]},te={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},F=P(`//`,`$`),ne=P(`/\\*`,`\\*/`),re=P(`#`,`$`),ie=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:P,C_BLOCK_COMMENT_MODE:ne,C_LINE_COMMENT_MODE:F,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:re,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:te,QUOTE_STRING_MODE:N,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},RE_STARTERS_RE:A,SHEBANG:ee,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function I(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function L(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function R(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=I,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ae(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function oe(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function se(e,t){e.relevance===void 0&&(e.relevance=1)}var ce=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},le=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],ue=`keyword`;function de(e,t,n=ue){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,de(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,fe(n[0],n[1])]})}}function fe(e,t){return t?Number(t):+!pe(e)}function pe(e){return le.includes(e.toLowerCase())}var me={},he=e=>{console.error(e)},ge=(e,...t)=>{console.log(`WARN: ${e}`,...t)},_e=(e,t)=>{me[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),me[`${e}/${t}`]=!0)},ve=Error();function ye(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function be(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw he(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),ve;if(typeof e.beginScope!=`object`||e.beginScope===null)throw he(`beginScope must be object`),ve;ye(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function xe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw he(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),ve;if(typeof e.endScope!=`object`||e.endScope===null)throw he(`endScope must be object`),ve;ye(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function Se(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Ce(e){Se(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),be(e),xe(e)}function we(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[L,oe,Ce,ce].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[R,ae,se].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=de(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Ee(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function Te(e){return e?e.endsWithParent||Te(e.starts):!1}function Ee(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Te(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var De=`11.11.1`,Oe=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},ke=i,Ae=a,je=Symbol(`nomatch`),Me=7,Ne=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=M(n[1]);return t||(ge(s.replace(`{}`,n[1])),ge(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||M(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(_e(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),_e(`10.7.0`,`Please use highlight(code, options) instead.
43
43
  https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};re(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,re(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){j.addText(N);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(N),n=``;for(;t;){n+=N.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(j.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Me&&(te+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(N)}n+=N.substring(e),j.addText(n)}function f(){if(N===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){j.addText(N);return}e=v(A.subLanguage,N,!0,ee[A.subLanguage]),ee[A.subLanguage]=e._top}else e=S(N,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(te+=e.relevance),j.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),N=``}function m(e,t){e!==``&&(j.startScope(t),j.addText(e),j.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(N=i,d(),N=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&j.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(N,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),N=``):e.beginScope._multi&&(h(e.beginScope,t),N=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(N+=e[0],1):(ne=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?N+=t:(n.excludeBegin&&(N+=t),p(),!n.returnBegin&&!n.excludeBegin&&(N=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return je;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?N+=t:(a.returnEnd||a.excludeEnd||(N+=t),p(),a.excludeEnd&&(N=t));do A.scope&&j.closeNode(),!A.skip&&!A.subLanguage&&(te+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>j.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(N+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(N+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==je)return e}if(r.type===`illegal`&&a===``)return N+=`
44
- `,1;if(F>1e5&&F>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return N+=a,a.length}let D=M(e);if(!D)throw he(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=we(D),k=``,A=a||O,ee={},j=new l.__emitter(l);w();let N=``,te=0,P=0,F=0,ne=!1;try{if(D.__emitTokens)D.__emitTokens(n,j);else{for(A.matcher.considerAll();;){F++,ne?ne=!1:A.matcher.considerAll(),A.matcher.lastIndex=P;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(P,e.index),e);P=e.index+t}E(n.substring(P))}return j.finalize(),k=j.toHTML(),{language:e,value:k,relevance:te,illegal:!1,_emitter:j,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:ke(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:P,context:n.slice(P-100,P+100),mode:t.mode,resultSoFar:k},_emitter:j};if(o)return{language:e,value:ke(n),illegal:!1,relevance:0,errorRaised:t,_emitter:j,_top:A};throw t}}function b(e){let t={value:ke(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(M).filter(te).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(M(e.language).supersetOf===t.language)return 1;if(M(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(re(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Oe(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),re(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Ae(l,e)}let E=()=>{k(),_e(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),_e(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(he(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)he(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&N(i.aliases,{languageName:n})}function ee(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function j(){return Object.keys(t)}function M(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function N(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function te(e){let t=M(e);return t&&!t.disableAutodetect}function P(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function F(e){P(e),a.push(e)}function ne(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function re(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function I(e){return _e(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),_e(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:I,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:ee,listLanguages:j,getLanguage:M,registerAliases:N,autoDetection:te,inherit:Ae,addPlugin:F,removePlugin:ne}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=De,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ie)typeof ie[e]==`object`&&n(ie[e]);return Object.assign(e,ie),e},Pe=Ne({});Pe.newInstance=()=>Ne({}),t.exports=Pe,Pe.HighlightJS=Pe,Pe.default=Pe}))()).default,jm={},Mm=`hljs-`;function Nm(e){let t=Am.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||jm,a=typeof i.prefix==`string`?i.prefix:Mm;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:Pm,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||jm).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var Pm=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},Fm={};function Im(e){let t=e||Fm,n=t.aliases,r=t.detect||!1,i=t.languages||km,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=Nm(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ec(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=Lm(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=hf(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function Lm(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var Rm=`modulepreload`,zm=function(e){return`/`+e},Bm={},Vm=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=zm(t,n),t=s(t),t in Bm)return;Bm[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Rm,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Hm=!1;function Um(e){Hm||=(e.initialize({startOnLoad:!1,securityLevel:`strict`,theme:`base`,themeVariables:{fontFamily:`inherit`,primaryColor:`#e8eefc`,primaryTextColor:`#1e293b`,primaryBorderColor:`#6684d9`,lineColor:`#64748b`,secondaryColor:`#eef2f7`,tertiaryColor:`#f8fafc`}}),!0)}function Wm(e){return e?.split(/\s+/).includes(`language-mermaid`)??!1}function Gm({source:e,active:t=!1}){let n=(0,b.useId)().replace(/[^a-zA-Z0-9_-]/g,``),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{let t=!0;return o(null),i(null),Vm(async()=>{let{default:e}=await import(`./mermaid.core-BtXRl0Mb.js`);return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])).then(async({default:r})=>{Um(r);let{svg:a}=await r.render(`humanloop-mermaid-${n}`,e);t&&i(a)}).catch(e=>{t&&o(e instanceof Error?e.message:`Unable to render Mermaid diagram.`)}),()=>{t=!1}},[n,e]),(0,b.useEffect)(()=>{if(!s)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),c(!1))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[s]),a===null?(0,S.jsxs)(`div`,{className:t?`mermaid-diagram review-block-active`:`mermaid-diagram`,children:[r!==null&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(!0),className:`mermaid-expand-btn`,"aria-label":`Expand diagram to full screen`,title:`Expand diagram`,children:(0,S.jsx)(vn,{className:`size-4`})}),(0,S.jsx)(`div`,{className:`mermaid-diagram-svg`,"aria-label":`Mermaid diagram`,dangerouslySetInnerHTML:r===null?void 0:{__html:r}}),s&&r!==null&&(0,S.jsxs)(`div`,{className:`mermaid-fullscreen`,onClick:()=>c(!1),children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(!1),className:`mermaid-fullscreen-close`,"aria-label":`Close full-screen diagram`,title:`Close (Esc)`,children:(0,S.jsx)(bn,{className:`size-5`})}),(0,S.jsx)(`div`,{className:`mermaid-fullscreen-svg`,onClick:e=>e.stopPropagation(),dangerouslySetInnerHTML:{__html:r}})]})]}):(0,S.jsx)(`pre`,{className:`mermaid-error`,title:a,children:(0,S.jsx)(`code`,{className:`language-mermaid`,children:e})})}var Km=new TextEncoder,qm=`data-source-start-byte`,Jm=`data-source-end-byte`,Ym=`data-source-start-line`,Xm=`data-source-end-line`,Zm=`review-block-active`;function Qm(e){return Km.encode(e).length}function $m(e,t){if(t<=0)return 0;if(t>=Qm(e))return e.length;let n=0,r=e.length;for(;n<r;){let i=Math.floor((n+r)/2);Qm(e.slice(0,i))<t?n=i+1:r=i}return n}function eh(e,t){return t<=0?0:t>=e.length?Qm(e):Qm(e.slice(0,t))}function th(e,t){let n=e.lines;if(n.length===0)return 0;let r=0,i=n.length-1,a=0;for(;r<=i;){let e=Math.floor((r+i)/2);n[e].startByte<=t?(a=e,r=e+1):i=e-1}return a}function nh(e,t,n=t){if(e.lines.length===0)return null;let r=Math.max(1,Math.min(t,n)),i=Math.max(1,Math.max(t,n)),a=e.lines[r-1],o=e.lines[Math.min(i-1,e.lines.length-1)];return a===void 0||o===void 0?null:{startByte:a.startByte,endByte:o.endByte}}function rh(e){let t=[],n=0,r=0,i=1;for(;;){let a=n;for(;a<e.length;){let t=e.charCodeAt(a);if(t===10||t===13)break;a++}let o=e.slice(n,a),s=r+Qm(o);if(t.push({line:i++,text:o,startChar:n,endChar:a,startByte:r,endByte:s}),a>=e.length)break;let c=e.charCodeAt(a)===13&&e.charCodeAt(a+1)===10?2:1,l=e.slice(a,a+c);if(n=a+c,r=s+Qm(l),n>=e.length)break}return{content:e,lines:t,totalBytes:Qm(e)}}function ih(e,t,n=t){let r=nh(e,t,n);if(r===null)return null;let i=Math.max(1,Math.min(t,n)),a=Math.min(e.lines.length,Math.max(1,Math.max(t,n))),o=e.lines.slice(i-1,a).map(e=>e.text).join(`
44
+ `,1;if(F>1e5&&F>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return N+=a,a.length}let D=M(e);if(!D)throw he(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=we(D),k=``,A=a||O,ee={},j=new l.__emitter(l);w();let N=``,te=0,P=0,F=0,ne=!1;try{if(D.__emitTokens)D.__emitTokens(n,j);else{for(A.matcher.considerAll();;){F++,ne?ne=!1:A.matcher.considerAll(),A.matcher.lastIndex=P;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(P,e.index),e);P=e.index+t}E(n.substring(P))}return j.finalize(),k=j.toHTML(),{language:e,value:k,relevance:te,illegal:!1,_emitter:j,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:ke(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:P,context:n.slice(P-100,P+100),mode:t.mode,resultSoFar:k},_emitter:j};if(o)return{language:e,value:ke(n),illegal:!1,relevance:0,errorRaised:t,_emitter:j,_top:A};throw t}}function b(e){let t={value:ke(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(M).filter(te).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(M(e.language).supersetOf===t.language)return 1;if(M(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(re(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Oe(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),re(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Ae(l,e)}let E=()=>{k(),_e(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),_e(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(he(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)he(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&N(i.aliases,{languageName:n})}function ee(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function j(){return Object.keys(t)}function M(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function N(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function te(e){let t=M(e);return t&&!t.disableAutodetect}function P(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function F(e){P(e),a.push(e)}function ne(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function re(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function I(e){return _e(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),_e(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:I,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:ee,listLanguages:j,getLanguage:M,registerAliases:N,autoDetection:te,inherit:Ae,addPlugin:F,removePlugin:ne}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=De,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ie)typeof ie[e]==`object`&&n(ie[e]);return Object.assign(e,ie),e},Pe=Ne({});Pe.newInstance=()=>Ne({}),t.exports=Pe,Pe.HighlightJS=Pe,Pe.default=Pe}))()).default,jm={},Mm=`hljs-`;function Nm(e){let t=Am.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||jm,a=typeof i.prefix==`string`?i.prefix:Mm;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:Pm,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||jm).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var Pm=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},Fm={};function Im(e){let t=e||Fm,n=t.aliases,r=t.detect||!1,i=t.languages||km,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=Nm(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ec(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=Lm(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=hf(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function Lm(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var Rm=`modulepreload`,zm=function(e){return`/`+e},Bm={},Vm=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=zm(t,n),t=s(t),t in Bm)return;Bm[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Rm,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Hm=!1;function Um(e){Hm||=(e.initialize({startOnLoad:!1,securityLevel:`strict`,theme:`base`,themeVariables:{fontFamily:`inherit`,primaryColor:`#e8eefc`,primaryTextColor:`#1e293b`,primaryBorderColor:`#6684d9`,lineColor:`#64748b`,secondaryColor:`#eef2f7`,tertiaryColor:`#f8fafc`}}),!0)}function Wm(e){return e?.split(/\s+/).includes(`language-mermaid`)??!1}function Gm({source:e,active:t=!1}){let n=(0,b.useId)().replace(/[^a-zA-Z0-9_-]/g,``),[r,i]=(0,b.useState)(null),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{let t=!0;return o(null),i(null),Vm(async()=>{let{default:e}=await import(`./mermaid.core-CJ7BhoQw.js`);return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])).then(async({default:r})=>{Um(r);let{svg:a}=await r.render(`humanloop-mermaid-${n}`,e);t&&i(a)}).catch(e=>{t&&o(e instanceof Error?e.message:`Unable to render Mermaid diagram.`)}),()=>{t=!1}},[n,e]),(0,b.useEffect)(()=>{if(!s)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),c(!1))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[s]),a===null?(0,S.jsxs)(`div`,{className:t?`mermaid-diagram review-block-active`:`mermaid-diagram`,children:[r!==null&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(!0),className:`mermaid-expand-btn`,"aria-label":`Expand diagram to full screen`,title:`Expand diagram`,children:(0,S.jsx)(vn,{className:`size-4`})}),(0,S.jsx)(`div`,{className:`mermaid-diagram-svg`,"aria-label":`Mermaid diagram`,dangerouslySetInnerHTML:r===null?void 0:{__html:r}}),s&&r!==null&&(0,S.jsxs)(`div`,{className:`mermaid-fullscreen`,onClick:()=>c(!1),children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(!1),className:`mermaid-fullscreen-close`,"aria-label":`Close full-screen diagram`,title:`Close (Esc)`,children:(0,S.jsx)(bn,{className:`size-5`})}),(0,S.jsx)(`div`,{className:`mermaid-fullscreen-svg`,onClick:e=>e.stopPropagation(),dangerouslySetInnerHTML:{__html:r}})]})]}):(0,S.jsx)(`pre`,{className:`mermaid-error`,title:a,children:(0,S.jsx)(`code`,{className:`language-mermaid`,children:e})})}var Km=new TextEncoder,qm=`data-source-start-byte`,Jm=`data-source-end-byte`,Ym=`data-source-start-line`,Xm=`data-source-end-line`,Zm=`review-block-active`;function Qm(e){return Km.encode(e).length}function $m(e,t){if(t<=0)return 0;if(t>=Qm(e))return e.length;let n=0,r=e.length;for(;n<r;){let i=Math.floor((n+r)/2);Qm(e.slice(0,i))<t?n=i+1:r=i}return n}function eh(e,t){return t<=0?0:t>=e.length?Qm(e):Qm(e.slice(0,t))}function th(e,t){let n=e.lines;if(n.length===0)return 0;let r=0,i=n.length-1,a=0;for(;r<=i;){let e=Math.floor((r+i)/2);n[e].startByte<=t?(a=e,r=e+1):i=e-1}return a}function nh(e,t,n=t){if(e.lines.length===0)return null;let r=Math.max(1,Math.min(t,n)),i=Math.max(1,Math.max(t,n)),a=e.lines[r-1],o=e.lines[Math.min(i-1,e.lines.length-1)];return a===void 0||o===void 0?null:{startByte:a.startByte,endByte:o.endByte}}function rh(e){let t=[],n=0,r=0,i=1;for(;;){let a=n;for(;a<e.length;){let t=e.charCodeAt(a);if(t===10||t===13)break;a++}let o=e.slice(n,a),s=r+Qm(o);if(t.push({line:i++,text:o,startChar:n,endChar:a,startByte:r,endByte:s}),a>=e.length)break;let c=e.charCodeAt(a)===13&&e.charCodeAt(a+1)===10?2:1,l=e.slice(a,a+c);if(n=a+c,r=s+Qm(l),n>=e.length)break}return{content:e,lines:t,totalBytes:Qm(e)}}function ih(e,t,n=t){let r=nh(e,t,n);if(r===null)return null;let i=Math.max(1,Math.min(t,n)),a=Math.min(e.lines.length,Math.max(1,Math.max(t,n))),o=e.lines.slice(i-1,a).map(e=>e.text).join(`
45
45
  `);return{line:i,endLine:a,startByte:r.startByte,endByte:r.endByte,lineText:o}}function ah(e,t,n){if(t===n)return null;let r=Math.max(0,Math.min(t,n)),i=Math.min(e.totalBytes,Math.max(t,n)),a=th(e,r),o=th(e,Math.max(i-1,r)),s=e.lines[a],c=e.lines[o];if(s===void 0||c===void 0)return null;let l=$m(e.content,r),u=$m(e.content,i);return{line:s.line,endLine:c.line,startByte:r,endByte:i,colStart:r-s.startByte,colEnd:i-c.startByte,quote:e.content.slice(l,u),lineText:e.lines.slice(s.line-1,c.line).map(e=>e.text).join(`
46
46
  `)}}function oh(e){if(!Number.isInteger(e.colStart)||!Number.isInteger(e.colEnd))return!1;let t=e.colStart,n=e.colEnd;return t<0||n<0?!1:e.line===e.endLine?n>t:!0}function sh(e,t){if(t.lines.length===0)return null;let n=Math.max(1,Math.min(e.line,t.lines.length)),r=Math.max(1,Math.min(e.endLine,t.lines.length));if(oh(e)){let i=t.lines[Math.min(n,r)-1],a=t.lines[Math.max(n,r)-1];return i===void 0||a===void 0?null:{startByte:i.startByte+e.colStart,endByte:a.startByte+e.colEnd}}return nh(t,n,r)}function ch(e,t){let n=sh(e,t);return n!==null&&oh(e)?ah(t,n.startByte,n.endByte):ih(t,e.line,e.endLine)}function lh(e,t){return e.startByte<t.endByte&&e.endByte>t.startByte}function uh(e,t,n,r){return{type:`element`,tagName:`span`,properties:{className:t.join(` `),[qm]:String(n),[Jm]:String(r)},children:[e]}}function dh(e,t,n){if(t.length===0)return[];let r=e+Qm(t),i=new Set;for(let t of n)t.range.startByte>e&&t.range.startByte<r&&i.add(t.range.startByte),t.range.endByte>e&&t.range.endByte<r&&i.add(t.range.endByte);let a=[e,...[...i].sort((e,t)=>e-t),r],o=[];for(let r=0;r<a.length-1;r++){let i=a[r],s=a[r+1];if(s<=i)continue;let c=$m(t,i-e),l=$m(t,s-e),u=t.slice(c,l);if(u.length===0)continue;let d={startByte:i,endByte:s};o.push(uh({type:`text`,value:u},mh(d,n),i,s))}return o}function fh(e,t,n,r){if(r.length===0)return null;if(e.slice(t,n)===r)return t;let i=/^`+/.exec(e.slice(t,n));if(i!==null){let n=i[0],a=t+n.length,o=a+r.length;if(e.slice(a,o)===r&&e.slice(o,o+n.length)===n)return a}return null}function ph(e){if(typeof e!=`object`||!e)return``;if(e.type===`text`)return typeof e.value==`string`?e.value:``;if(!Array.isArray(e.children))return``;let t=``;for(let n of e.children)t+=ph(n);return t}function mh(e,t){let n=[`review-source-span`];for(let r of t)lh(e,r.range)&&n.push(r.className);return n}var hh=/^\s*(```|~~~)/;function gh(e){return e.split(/\r?\n/)}function _h(e,t,n,r,i){let a=[],o=gh(e);for(let e=0;e<o.length;e++){e>0&&(a.push({type:`text`,value:`
47
- `}),i.lineIdx+=1,i.col=0);let s=o[e];if(s.length===0)continue;let c=t[i.lineIdx],l=n[i.lineIdx];if(c===void 0||l===void 0){a.push({type:`text`,value:s});continue}let u=l+Qm(c.slice(0,i.col));a.push(...dh(u,s,r)),i.col+=s.length}return a}function vh(e,t,n,r,i){if(Array.isArray(e.children))for(let a=0;a<e.children.length;a++){let o=e.children[a];if(!(typeof o!=`object`||!o)){if(o.type===`text`){let s=typeof o.value==`string`?o.value:``;if(s.length===0)continue;let c=_h(s,t,n,r,i);if(c.length===0)continue;e.children.splice(a,1,...c),a+=c.length-1;continue}vh(o,t,n,r,i)}}}function yh(e,t,n){let r=e.position?.start?.line,i=e.position?.end?.line;if(typeof r!=`number`||typeof i!=`number`)return;let a=hh.test(t.lines[r-1]?.text??``),o=a&&i>r&&hh.test(t.lines[i-1]?.text??``),s=a?r+1:r,c=o?i-1:i;if(c<s)return;let l=c-s+1,u=gh(ph(e));if(u.length===l+1&&u[u.length-1]===``&&(u=u.slice(0,-1)),u.length!==l)return;let d=[];for(let e=0;e<l;e++){let n=t.lines[s-1+e],r=u[e];if(n===void 0)return;let i=n.text.length-r.length;if(i<0||n.text.slice(i)!==r)return;d.push(n.startByte+Qm(n.text.slice(0,i)))}vh(e,u,d,n,{lineIdx:0,col:0})}function bh(e,t){return e?.tagName===`pre`&&t?.type===`element`&&t?.tagName===`code`}function xh(e,t){let n=e.properties??={},r=n.className;Array.isArray(r)?r.push(t):typeof r==`string`&&r.length>0?n.className=`${r} ${t}`:n.className=[t]}function Sh(e,t,n){let r=t.position?.start?.line,i=t.position?.end?.line;if(typeof r!=`number`||typeof i!=`number`)return;let a=e.properties??={};a[Ym]=String(r),a[Xm]=String(i),n!==null&&n.line<=r&&n.endLine>=i&&xh(e,Zm)}function Ch(e,t,n,r){if(!(typeof e!=`object`||!e||!Array.isArray(e.children)))for(let i=0;i<e.children.length;i++){let a=e.children[i];if(!(typeof a!=`object`||!a)){if(a.type===`text`&&a.position?.start?.offset!==void 0&&a.position?.end?.offset!==void 0){let r=typeof a.value==`string`?a.value:``,o=fh(t.content,a.position.start.offset,a.position.end.offset,r);if(o===null)continue;let s=dh(eh(t.content,o),r,n);if(s.length===0)continue;e.children.splice(i,1,...s),i+=s.length-1;continue}if(bh(e,a)){Sh(e,a,r),yh(a,t,n);continue}Ch(a,t,n,r)}}}function wh(e,t=[],n=null){return()=>r=>{Ch(r,e,t,n)}}function Th(e){let t=e.getAttribute(qm),n=e.getAttribute(Jm);if(t===null||n===null)return null;let r=Number(t),i=Number(n);return!Number.isFinite(r)||!Number.isFinite(i)||i<r?null:{startByte:r,endByte:i}}function Eh(e){return e===null?null:(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest?.(`[${qm}][${Jm}]`)??null}function Dh(e,t,n){let r=0,i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){let e=i.nextNode();if(e===null)break;let a=e.textContent??``;if(e===t)return r+Math.max(0,Math.min(n,a.length));r+=a.length}return t===e?n<=0?0:r:null}function Oh(e,t,n){let r=Math.max(0,Math.min(n,t.length)),i=Qm(t.slice(0,r));return Math.max(e.startByte,Math.min(e.startByte+i,e.endByte))}function kh(e,t){return e.lines[th(e,t)]?.line??null}function Ah(e,t){let n=Eh(e);if(n===null)return null;let r=Th(n);if(r===null)return null;let i=Dh(n,e,t);return i===null?null:Oh(r,n.textContent??``,i)}function jh(e,t){if(t.isCollapsed||t.anchorNode===null||t.focusNode===null)return null;let n=Ah(t.anchorNode,t.anchorOffset),r=Ah(t.focusNode,t.focusOffset);return n===null||r===null||n===r?null:ah(e,n,r)}function Mh(e,t){let n=t?.closest?.(`[${qm}][${Jm}]`)??null;if(n===null)return null;let r=Th(n);return r===null?null:kh(e,r.startByte)}function Nh(e,t,n){let r=Ah(t,n);return r===null?null:kh(e,r)}function Ph(e){return JSON.stringify(e)}function Fh(e){let t=oh(e);return e.line===e.endLine?t?`L${e.line}:${e.colStart}-${e.colEnd}`:`L${e.line}`:t?`L${e.line}:${e.colStart}-${e.endLine}:${e.colEnd}`:`L${e.line}-${e.endLine}`}function Ih(e,t,n=`review-source-comment`){return t.map(t=>sh(t,e)).filter(e=>e!==null).map(e=>({range:e,className:n}))}function Lh(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(Lh).join(``):(0,b.isValidElement)(e)?Lh(e.props.children):``}function Rh({children:e,className:t,...n}){let r=typeof t==`string`&&t.split(/\s+/).includes(`review-block-active`),i=b.Children.toArray(e)[0];return(0,b.isValidElement)(i)&&Wm(i.props.className)?(0,S.jsx)(Gm,{source:Lh(i.props.children),active:r}):(0,S.jsx)(`pre`,{className:t,...n,children:e})}function zh({children:e,className:t,sourceMap:n,sourceHighlights:r=[],activeBlockRange:i=null}){let a=n===void 0?[Im]:[Im,wh(n,r,i)];return(0,S.jsx)(`div`,{className:Lt(`markdown-body prose prose-sm dark:prose-invert max-w-none`,t),children:(0,S.jsx)(Qc,{remarkPlugins:[Qd],rehypePlugins:a,components:{pre:Rh},children:e})})}h();var Bh=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Vt(`Primitive.${t}`),r=b.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,S.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Vh(e,t=[]){let n=[];function r(t,r){let i=b.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=b.useMemo(()=>o,Object.values(o));return(0,S.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=b.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>b.createContext(e));return function(n){let r=n?.[e]||t;return b.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Hh(i,...t)]}function Hh(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}typeof window<`u`&&window.document&&window.document.createElement;function Uh(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}var Wh=globalThis?.document?b.useLayoutEffect:()=>{},Gh=b.useInsertionEffect||Wh;function Kh({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=qh({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=b.useRef(e!==void 0);b.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,b.useCallback(t=>{if(s){let n=Jh(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function qh({defaultProp:e,onChange:t}){let[n,r]=b.useState(e),i=b.useRef(n),a=b.useRef(t);return Gh(()=>{a.current=t},[t]),b.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Jh(e){return typeof e==`function`}function Yh(e,t){return b.useReducer((e,n)=>t[e][n]??e,e)}var Xh=e=>{let{present:t,children:n}=e,r=Zh(t),i=typeof n==`function`?n({present:r.isPresent}):b.Children.only(n),a=$h(r.ref,tg(i));return typeof n==`function`||r.isPresent?b.cloneElement(i,{ref:a}):null};Xh.displayName=`Presence`;function Zh(e){let[t,n]=b.useState(),r=b.useRef(null),i=b.useRef(e),a=b.useRef(`none`),o=b.useRef(void 0),[s,c]=Yh(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return b.useEffect(()=>{s===`mounted`?(a.current=o.current??eg(r.current),o.current=void 0):a.current=`none`},[s]),Wh(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=eg(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Wh(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=eg(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=eg(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:b.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=eg(t)}else r.current=null;n(e)},[])}}function Qh(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function $h(...e){let t=b.useRef(e);return t.current=e,b.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Qh(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Qh(n[e],null)}}},[])}function eg(e){return e?.animationName||`none`}function tg(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function ng(e){let t=b.useRef({value:e,previous:e});return b.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function rg(e){let[t,n]=b.useState(void 0);return Wh(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var ig=`Checkbox`,[ag,og]=Vh(ig),[sg,cg]=ag(ig);function lg(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=Kh({prop:n,defaultProp:i??!1,onChange:c,caller:ig}),[m,h]=b.useState(null),[g,_]=b.useState(null),v=b.useRef(!1),y=m?!!o||!!m.closest(`form`):!0,x={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:vg(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,S.jsx)(sg,{scope:t,...x,children:_g(d)?d(x):r})}var ug=`CheckboxTrigger`,dg=b.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=cg(ug,e),h=Bt(i,u),g=b.useRef(c);return b.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,S.jsx)(Bh.button,{type:`button`,role:`checkbox`,"aria-checked":vg(c)?`mixed`:c,"aria-required":l,"data-state":yg(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:Uh(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:Uh(n,e=>{d(e=>vg(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});dg.displayName=ug;var fg=b.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,S.jsx)(lg,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(dg,{...d,ref:t,__scopeCheckbox:n}),e&&(0,S.jsx)(gg,{__scopeCheckbox:n})]})})});fg.displayName=ig;var pg=`CheckboxIndicator`,mg=b.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=cg(pg,n);return(0,S.jsx)(Xh,{present:r||vg(a.checked)||a.checked===!0,children:(0,S.jsx)(Bh.span,{"data-state":yg(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});mg.displayName=pg;var hg=`CheckboxBubbleInput`,gg=b.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=cg(hg,e),m=Bt(n,p),h=ng(a),g=rg(r);b.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=vg(a),n.call(e,vg(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=b.useRef(vg(a)?!1:a);return(0,S.jsx)(Bh.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??_.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});gg.displayName=hg;function _g(e){return typeof e==`function`}function vg(e){return e===`indeterminate`}function yg(e){return vg(e)?`indeterminate`:e?`checked`:`unchecked`}function bg({className:e,...t}){return(0,S.jsx)(fg,{"data-slot":`checkbox`,className:Lt(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary`,e),...t,children:(0,S.jsx)(mg,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,S.jsx)(hn,{className:`size-3.5`})})})}function xg({option:e,index:t,multi:n,focused:r,checked:i,comment:a,allowComment:o,onPick:s,onOpenComment:c}){return(0,S.jsxs)(`div`,{role:`button`,tabIndex:-1,onClick:s,className:Lt(`group flex cursor-pointer items-start gap-3 rounded-md border border-transparent px-3 py-2 transition-colors hover:bg-accent`,r&&`border-ring bg-accent/60`),children:[n&&(0,S.jsx)(bg,{checked:i,className:`mt-0.5`,tabIndex:-1,onClick:e=>e.stopPropagation(),onCheckedChange:s}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[e.shortcut!==void 0&&(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:e.shortcut}),(0,S.jsx)(`span`,{className:Lt(`text-sm`,(i||!n&&i)&&`font-medium`),children:e.label})]}),e.description!==void 0&&e.description.length>0&&(0,S.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:e.description}),a!==void 0&&a.length>0&&(0,S.jsxs)(`p`,{className:`mt-1 text-xs text-amber-700 dark:text-amber-400`,children:[`✎ `,a]})]}),o&&(0,S.jsx)(rn,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100`,title:`Comment on this option (c)`,"aria-label":`Comment on ${e.label}`,onClick:e=>{e.stopPropagation(),c()},children:(0,S.jsx)(yn,{className:`size-4`})})]})}function Sg({className:e,...t}){return(0,S.jsx)(`textarea`,{"data-slot":`textarea`,className:Lt(`flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40`,e),...t})}function Cg({mode:e,interaction:t,onChange:n,onSubmit:r,onCancel:i,onCycleAttached:a}){let o=(0,b.useRef)(null);(0,b.useEffect)(()=>{o.current?.focus()},[]);let s=t.freetextLabel??(e.kind===`comment`?`Comment`:`Response`),c=e.kind===`comment`&&e.selectedOptionId!==void 0?t.options.find(t=>t.id===e.selectedOptionId):void 0;return(0,S.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3`,children:[(0,S.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,S.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:s}),e.kind===`comment`&&t.options.length>0&&(0,S.jsxs)(`button`,{type:`button`,onClick:a,className:`text-xs text-muted-foreground underline-offset-2 hover:underline`,title:`Tab cycles the attached option`,children:[`attached: `,c===void 0?`none (overall)`:c.label]})]}),(0,S.jsx)(Sg,{ref:o,value:e.buffer,onChange:e=>n(e.target.value),placeholder:`Type your response…`,rows:4,className:`resize-y`}),(0,S.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` submit ·`,` `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`shift+enter`}),` newline ·`,` `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`esc`}),` cancel`]}),(0,S.jsxs)(`div`,{className:`flex gap-2`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:i,children:`Cancel`}),(0,S.jsx)(rn,{size:`sm`,onClick:r,children:`Submit`})]})]})]})}function wg({state:e,dispatch:t,scrollRef:n,multiInteraction:r}){let i=e.interactions[e.currentIndex],a=e.responses.get(i.id),o=e.preAnsweredIds.has(i.id),s=i.options,c=i.multiSelect===!0,l=new Set(a?.selectedOptionIds??[]),u=s.length,d=e.selectedAction===u&&i.allowFreetext===!0&&s.length>0;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r?(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>t({type:`item-review/back`}),children:`← Overview`}):(0,S.jsx)(`span`,{}),r&&(0,S.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.currentIndex+1,` / `,e.interactions.length]})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h2`,{className:`text-lg font-semibold leading-snug`,children:i.title}),o&&(0,S.jsxs)(`p`,{className:`mt-1 text-xs italic text-muted-foreground`,children:[`◆ `,i.preAnswered?.label??`Previously answered`,` — n/p to review, or pick any option to override`]})]}),(i.subtitle!==void 0||i.body!==void 0)&&(0,S.jsxs)(`div`,{ref:n,className:`max-h-[45vh] overflow-y-auto rounded-md border border-border bg-card p-4`,children:[i.subtitle!==void 0&&(0,S.jsx)(zh,{children:i.subtitle}),i.body!==void 0&&(0,S.jsx)(zh,{className:i.subtitle===void 0?void 0:`mt-4`,children:i.body})]}),e.inputMode===null?(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[s.map((n,r)=>(0,S.jsx)(xg,{option:n,index:r,multi:c,focused:e.selectedAction===r,checked:c?l.has(n.id):a?.selectedOptionId===n.id,comment:c?a?.optionComments?.[n.id]:void 0,allowComment:i.allowFreetext===!0,onPick:()=>{t(c?{type:`item-review/toggle-option`,optionId:n.id,index:r}:{type:`item-review/pick-option`,optionId:n.id,index:r})},onOpenComment:()=>{t({type:`item-review/set-focus`,index:r}),t({type:`item-review/open-comment`,optionId:n.id})}},n.id)),i.allowFreetext===!0&&s.length>0&&(0,S.jsxs)(`button`,{type:`button`,onClick:()=>{t({type:`item-review/set-focus`,index:u}),t({type:`item-review/open-comment`})},className:Lt(`flex items-center gap-2 rounded-md border border-transparent px-3 py-2 text-left text-sm text-muted-foreground transition-colors hover:bg-accent`,d&&`border-ring bg-accent/60`),children:[(0,S.jsx)(yn,{className:`size-4`}),c?`Add overall comment (or comment on an option above)`:`Add comment`]}),i.allowFreetext===!0&&s.length===0&&(0,S.jsx)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>t({type:`item-review/open-freetext`}),children:i.freetextLabel??`Enter response`}),i.allowFreetext!==!0&&s.length===0&&(0,S.jsx)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>t({type:`item-review/step`,delta:1}),children:`Continue`}),c&&(0,S.jsxs)(rn,{className:`mt-2 w-fit`,disabled:l.size===0,onClick:()=>t({type:`item-review/enter-row`}),children:[`Confirm selection (`,l.size,`)`]}),e.hint!==void 0&&(0,S.jsx)(`p`,{className:`mt-1 text-xs text-amber-700 dark:text-amber-400`,children:e.hint}),a!==void 0&&(0,S.jsxs)(`p`,{className:`mt-2 text-xs text-emerald-700 dark:text-emerald-400`,children:[`Current: `,N(a,i)]})]}):(0,S.jsx)(Cg,{mode:e.inputMode,interaction:i,onChange:e=>t({type:`input/update`,buffer:e}),onSubmit:()=>t({type:`input/submit`}),onCancel:()=>t({type:`input/cancel`}),onCycleAttached:()=>t({type:`input/cycle-attached`})}),(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-4 border-t border-border pt-3 text-xs text-muted-foreground`,children:[r&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`n`}),`/`,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`p`}),` prev/next`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`q`}),` overview`]})]}),c?(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`space`}),` toggle`]}):(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` pick`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`u`}),`/`,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`d`}),` scroll`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`?`}),` help`]})]})]})}function Tg({state:e,dispatch:t}){let n=e.interactions.length,r=e.responses.size;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-medium text-muted-foreground`,children:`Summary`}),(0,S.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[r,`/`,n,` answered`]})]}),(0,S.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.interactions.map(t=>{let n=e.responses.get(t.id),r=e.preAnsweredIds.has(t.id);return(0,S.jsxs)(`li`,{className:`flex items-start gap-3 rounded-md px-3 py-2`,children:[(0,S.jsx)(xn,{status:n===void 0?`unanswered`:r?`pre-answered`:`answered`,className:`mt-0.5 shrink-0`}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:`truncate text-sm font-medium`,children:t.title}),n!==void 0&&(0,S.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N(n,t)})]})]},t.id)})}),r<n&&(0,S.jsxs)(`p`,{className:`text-xs text-amber-700 dark:text-amber-400`,children:[n-r,` unanswered — you can still submit, or go back (p).`]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border pt-3`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>t({type:`final/prev`}),children:`← Back to last item`}),(0,S.jsx)(rn,{size:`sm`,className:`ml-auto`,onClick:()=>t({type:`final/confirm`}),children:`Submit`})]})]})}var Eg=[[`j / k / ↓ / ↑`,`move focus`],[`n / p`,`next / previous interaction`],[`enter`,`pick option / confirm / advance`],[`space`,`toggle option (multi-select)`],[`a-z, 1-9`,`option shortcut (shown on each row)`],[`c`,`comment (on the focused option, if freetext is allowed)`],[`r`,`open a freetext response (freetext-only interactions)`],[`u / d, PageUp / PageDown`,`scroll the body`],[`q / esc`,`back a level`],[`?`,`toggle this help`]];function Dg({onClose:e}){return(0,S.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,onClick:e,children:(0,S.jsxs)(`div`,{className:`w-full max-w-md rounded-lg border border-border bg-card p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Keyboard shortcuts`}),(0,S.jsx)(`button`,{type:`button`,onClick:e,"aria-label":`Close keyboard shortcuts`,className:`text-muted-foreground hover:text-foreground`,children:(0,S.jsx)(bn,{className:`size-4`})})]}),(0,S.jsx)(`dl`,{className:`flex flex-col gap-2 text-sm`,children:Eg.map(([e,t])=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,S.jsx)(`dt`,{className:`font-mono text-xs text-muted-foreground`,children:e}),(0,S.jsx)(`dd`,{className:`text-right`,children:t})]},e))}),(0,S.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`Everything above also works with the mouse — click an option to pick it, click a row to focus it.`})]})})}function Og({deck:e,initialResponses:t=[],onSubmit:n,disabled:r}){ie(e.interactions);let[i,a]=(0,b.useReducer)(F,{deck:e,initialResponses:t},({deck:e,initialResponses:t})=>w(e,t)),o=(0,b.useRef)(null),[s,c]=(0,b.useState)(!1);le(i,a,{scrollRef:o,modalOpen:s,onToggleHelp:()=>c(e=>!e),onCloseModal:()=>c(!1),disabled:r}),(0,b.useEffect)(()=>{i.autoSubmit&&n(T(i))},[i]);let l=i.interactions.length>1;return(0,S.jsxs)(`div`,{className:Lt(`flex flex-col gap-4 transition-opacity`,r&&`pointer-events-none opacity-60`),children:[i.phase===`overview`&&(0,S.jsx)(Sn,{state:i,dispatch:a}),i.phase===`item-review`&&(0,S.jsx)(wg,{state:i,dispatch:a,scrollRef:o,multiInteraction:l}),i.phase===`final`&&(0,S.jsx)(Tg,{state:i,dispatch:a}),s&&(0,S.jsx)(Dg,{onClose:()=>c(!1)})]})}var kg=Rc().use(Yo).use(Qd);function Ag(e){let t=e.position?.start?.line,n=e.position?.end?.line;return typeof t!=`number`||typeof n!=`number`?null:{start:t,end:Math.max(t,n)}}function jg(e){return/^\s*(```|~~~)/.test(e??``)}function Mg(e,t,n){let r=Ag(e);if(r===null)return;let i=jg(t[r.start-1]),a=i&&r.end>r.start&&jg(t[r.end-1]),o=i?r.start+1:r.start,s=a?r.end-1:r.end;if(s<o){n.push({start:r.start,end:r.end});return}for(let e=o;e<=s;e++)n.push({start:e,end:e})}function Ng(e,t){for(let n of e.children??[]){if(n.type!==`tableRow`)continue;let e=Ag(n);e!==null&&t.push({start:e.start,end:e.end})}}function Pg(e,t,n){let r=e.children??[],i=1/0,a=0,o=!1,s=()=>{Number.isFinite(i)&&(n.push({start:i,end:a}),o=!0,i=1/0,a=0)};for(let e of r){if(e.type===`list`){s(),Fg(e,t,n);continue}let r=Ag(e);r!==null&&(i=Math.min(i,r.start),a=Math.max(a,r.end))}if(s(),!o){let t=Ag(e);t!==null&&n.push({start:t.start,end:t.start})}}function Fg(e,t,n){for(let r of e.children??[])r.type===`listItem`&&Pg(r,t,n)}function Ig(e,t,n){switch(e.type){case`list`:Fg(e,t,n);return;case`table`:Ng(e,n);return;case`code`:if(e.lang===`mermaid`)break;Mg(e,t,n);return;default:break}let r=Ag(e);r!==null&&n.push({start:r.start,end:r.end})}function Lg(e,t){let n=Math.max(1,t),r=[];for(let t of e){let e=Math.max(1,Math.min(t.start,n)),i=Math.max(e,Math.min(t.end,n)),a=r[r.length-1];a!==void 0&&a.start===e&&a.end===i||r.push({start:e,end:i})}return r.sort((e,t)=>e.start-t.start||e.end-t.end),r}function Rg(e){let t=e.split(`
48
- `),n=t.length,r;try{r=kg.parse(e)}catch{return[{start:1,end:Math.max(1,n)}]}let i=[];for(let e of r.children??[])Ig(e,t,i);let a=Lg(i,n);return a.length===0?[{start:1,end:Math.max(1,n)}]:a}function zg(e,t){let n=-1;for(let r=0;r<e.length;r++){let i=e[r];i.start<=t&&i.end>=t&&(n===-1||i.end-i.start<e[n].end-e[n].start)&&(n=r)}if(n!==-1)return n;for(let n=0;n<e.length;n++)if(e[n].start>t)return n;return Math.max(0,e.length-1)}function Bg(e,t){for(let n=0;n<e.length;n++)if(e[n].start===t.start&&e[n].end===t.end)return n;return zg(e,t.start)}function Vg(e,t,n){let r=1/0,i=0,a=Math.max(0,Math.min(t,n)),o=Math.min(e.length-1,Math.max(t,n));for(let t=a;t<=o;t++){let n=e[t];n!==void 0&&(r=Math.min(r,n.start),i=Math.max(i,n.end))}return Number.isFinite(r)?{line:r,endLine:Math.max(r,i)}:{line:1,endLine:1}}function Hg(e,t){return Math.max(0,Math.min(t,e.length-1))}function Ug(e){let t=e.selectionAnchorUnit??e.activeUnit;return Vg(e.units,Math.min(e.activeUnit,t),Math.max(e.activeUnit,t))}function Wg(e){let t=rh(e.content),n=Rg(e.content),r=e.result.comments[0]?.line,i=typeof r==`number`?zg(n,r):0;return{file:e.file,output:e.output,jobId:e.jobId,content:e.content,sourceMap:t,units:n,comments:[...e.result.comments],version:e.version,activeUnit:Hg(n,i),selectionAnchorUnit:null,selection:null,composer:null,listOpen:!1,listIndex:0,helpOpen:!1,notice:null,saveState:`clean`,submitRequested:!1,readOnly:e.result.submitted}}function Gg(e){return e.comments.map(e=>({...e}))}function Kg(e){if(e.selection!==null)return e.selection;let{line:t,endLine:n}=Ug(e);return ih(e.sourceMap,t,n)??{line:t,endLine:n,startByte:0,endByte:0,lineText:e.sourceMap.lines[t-1]?.text??``}}function qg(e,t,n=`c-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`){let r={id:n,line:e.line,endLine:e.endLine,lineText:e.lineText,comment:t,createdAt:new Date().toISOString()};return e.quote!==void 0&&e.quote.length>0&&(r.quote=e.quote),oh(e)&&(r.colStart=e.colStart,r.colEnd=e.colEnd),r}function Jg(e,t){let n=rh(t.content),r=Rg(t.content),i=e.units[e.activeUnit],a=i===void 0?0:Bg(r,i);return{...e,file:t.file,output:t.output,jobId:t.jobId,content:t.content,sourceMap:n,units:r,comments:[...t.result.comments],version:t.version,activeUnit:Hg(r,a),selectionAnchorUnit:null,selection:null,composer:null,notice:null,saveState:`clean`,readOnly:t.result.submitted}}function Yg(e,t){return Math.max(1,Math.min(t,Math.max(1,e.sourceMap.lines.length)))}function Xg(e,t){return Math.max(0,Math.min(t,e.units.length-1))}function Zg(e){return{...e,submitRequested:!1}}function Qg(e){return{...e,saveState:`dirty`,notice:null}}function $g(e,t){return e.comments.length===0?0:Math.max(0,Math.min(t,e.comments.length-1))}function e_(e,t){if(t.type===`server/replace`)return Jg(e,t.review);let n=Zg(e);switch(t.type){case`server/mark-readonly`:return{...n,readOnly:!0,composer:null,notice:t.reason??n.notice};case`server/unmark-readonly`:return{...n,readOnly:!1};case`cursor/move`:return t.extend?n.selectionAnchorUnit===null&&(n.selectionAnchorUnit=n.activeUnit):n.selectionAnchorUnit=null,n.selection=null,n.activeUnit=Xg(n,n.activeUnit+t.delta),n;case`cursor/set-line`:return n.activeUnit=zg(n.units,Yg(n,t.line)),n.selection=null,n.selectionAnchorUnit=null,n;case`cursor/first`:return n.activeUnit=0,n.selection=null,n.selectionAnchorUnit=null,n;case`cursor/last`:return n.activeUnit=Math.max(0,n.units.length-1),n.selection=null,n.selectionAnchorUnit=null,n;case`selection/set`:return n.selection=t.selection,n.activeUnit=zg(n.units,Yg(n,t.selection.line)),n.selectionAnchorUnit=null,n;case`selection/clear`:return n.selection=null,n.selectionAnchorUnit=null,n;case`composer/open`:return n.readOnly?n:(n.composer={mode:`create`,anchor:Kg(n),buffer:``},n.listOpen=!1,n);case`composer/edit`:{if(n.readOnly)return n;let e=n.comments.find(e=>e.id===t.id);if(e===void 0)return n;let r=ch(e,n.sourceMap)??Kg(n);return n.composer={mode:`edit`,anchor:r,commentId:e.id,buffer:e.comment},n.selection=r,n.activeUnit=zg(n.units,Yg(n,e.line)),n.selectionAnchorUnit=null,n.listOpen=!1,n}case`composer/update`:return n.composer===null||(n.composer={...n.composer,buffer:t.buffer}),n;case`composer/submit`:{if(n.readOnly||n.composer===null)return n;let e=n.composer.buffer.trim();return e.length===0?(n.composer=null,n):(n.composer.mode===`edit`&&n.composer.commentId!==void 0?n.comments=n.comments.map(t=>t.id===n.composer?.commentId?{...t,comment:e}:t):(n.comments=[...n.comments,qg(n.composer.anchor,e)],n.listIndex=n.comments.length-1),n.composer=null,n.selection=null,Qg(n))}case`composer/cancel`:return n.composer=null,n;case`comment/delete`:return n.readOnly?n:(n.comments=n.comments.filter(e=>e.id!==t.id),n.listIndex=$g(n,n.listIndex),Qg(n));case`comment/undo`:return n.readOnly||n.comments.length===0?n:(n.comments=n.comments.slice(0,-1),n.listIndex=$g(n,n.listIndex),Qg(n));case`list/toggle`:return n.listOpen=!n.listOpen,n.composer=null,n.listIndex=$g(n,n.listIndex),n;case`list/close`:return n.listOpen=!1,n;case`list/move`:return n.listIndex=$g(n,n.listIndex+t.delta),n;case`help/toggle`:return n.helpOpen=!n.helpOpen,n;case`help/close`:return n.helpOpen=!1,n;case`draft/save-start`:return(n.saveState===`dirty`||n.saveState===`save-error`)&&(n.saveState=`saving`),n;case`draft/save-ack`:return n.version=t.version,Ph(n.comments)===Ph(t.savedComments)?(n.saveState=`clean`,n.notice=null):n.saveState=`dirty`,n;case`draft/save-error`:return t.version!==void 0&&(n.version=t.version),n.saveState=`save-error`,n.notice=t.message,n;case`draft/conflict`:return n.version=t.version,n.saveState=`conflict`,n.notice=t.message,n;case`draft/resolve-conflict`:return n.saveState===`conflict`?(n.saveState=`dirty`,n.notice=null,n):n;case`draft/external-update`:return n.version=t.version,n.notice=t.message,n;case`submit/request`:return n.readOnly||(n.submitRequested=!0),n;case`submit/clear-request`:return n.submitRequested=!1,n;case`notice/set`:return n.notice=t.message,n;case`notice/clear`:return n.notice=null,n;default:return n}}function t_(e){return e===null?[{type:`selection/clear`},{type:`notice/set`,message:`Selection cannot be anchored to source text.`}]:[{type:`selection/set`,selection:e},{type:`composer/open`}]}var n_=260,r_=650,i_=!1,a_=!1,o_=!1;function s_(e,t,n,r){if(t.helpOpen){if(e.key===`Escape`||e.key===`?`){e.preventDefault(),n({type:`help/close`});return}e.preventDefault();return}if(t.composer!==null){if(oe(e))return;if(e.key===`Escape`){e.preventDefault(),n({type:`composer/cancel`});return}if(e.key===`Enter`&&!e.shiftKey&&L(e)&&!ae(e.target)){e.preventDefault(),n({type:`composer/submit`});return}return}if(I(e.target))return;if(e.key===`?`&&L(e)){e.preventDefault(),n({type:`help/toggle`});return}if(i_&&(i_=!1,L(e))){if(e.key===`c`){e.preventDefault(),n({type:`composer/open`});return}if(e.key===`l`){e.preventDefault(),n({type:`list/toggle`});return}if(e.key===`u`){e.preventDefault(),n({type:`comment/undo`});return}if(e.key===`s`){e.preventDefault(),n({type:`submit/request`});return}}if(e.key===` `&&R(e)){e.preventDefault(),i_=!0,r.schedule(()=>{i_=!1},r_);return}if(e.key===`Escape`&&L(e)){e.preventDefault(),t.listOpen?n({type:`list/close`}):n({type:`selection/clear`});return}if(t.listOpen){if((e.key===`j`||e.key===`ArrowDown`)&&R(e)){e.preventDefault(),n({type:`list/move`,delta:1});return}if((e.key===`k`||e.key===`ArrowUp`)&&R(e)){e.preventDefault(),n({type:`list/move`,delta:-1});return}if(e.key===`q`&&L(e)){e.preventDefault(),n({type:`list/close`});return}if((e.key===`e`||e.key===`Enter`)&&L(e)){let r=t.comments[t.listIndex];r!==void 0&&(e.preventDefault(),n({type:`composer/edit`,id:r.id}));return}if(e.key===`d`&&L(e)){if(o_){o_=!1;let r=t.comments[t.listIndex];r!==void 0&&(e.preventDefault(),n({type:`comment/delete`,id:r.id}))}else e.preventDefault(),o_=!0,r.schedule(()=>{o_=!1},r_);return}o_=!1;return}if(e.key===`g`&&R(e)){if(a_){a_=!1,e.preventDefault(),n({type:`cursor/first`});return}e.preventDefault(),a_=!0,r.schedule(()=>{a_=!1},r_);return}a_=!1;let i=e.shiftKey===!0&&L(e),a=e.key.length===1?e.key.toLowerCase():e.key;if((a===`j`||e.key===`ArrowDown`)&&(R(e)||i)){e.preventDefault(),n({type:`cursor/move`,delta:1,extend:i});return}if((a===`k`||e.key===`ArrowUp`)&&(R(e)||i)){e.preventDefault(),n({type:`cursor/move`,delta:-1,extend:i});return}if(e.key===`G`&&L(e)){e.preventDefault(),n({type:`cursor/last`});return}if(e.key===`PageDown`){e.preventDefault(),r.scrollBy(n_);return}if(e.key===`PageUp`){e.preventDefault(),r.scrollBy(-260);return}if(e.key===`d`&&R(e)){e.preventDefault(),r.scrollBy(n_);return}if(e.key===`u`&&R(e)){e.preventDefault(),r.scrollBy(-260);return}}function c_(e,t,n){se((0,b.useCallback)(r=>{s_(r,e,t,{scrollBy:e=>n.scrollRef.current?.scrollBy({top:e,behavior:`smooth`}),schedule:(e,t)=>window.setTimeout(e,t)})},[e,t,n]),n.disabled!==!0)}function l_({state:e,dispatch:t,scrollRef:n}){let r=(0,b.useRef)(null),i=[...Ih(e.sourceMap,e.comments,`review-source-comment`)],a=e.selection===null?Ug(e):{line:e.selection.line,endLine:e.selection.endLine},o=e.selection===null?ih(e.sourceMap,a.line,a.endLine):{startByte:e.selection.startByte,endByte:e.selection.endByte};o!==null&&o.endByte>o.startByte&&i.push({range:{startByte:o.startByte,endByte:o.endByte},className:`review-source-active`});let s=(0,b.useCallback)(()=>{if(e.readOnly)return;let n=window.getSelection(),i=r.current;if(n===null||i===null||n.isCollapsed||n.anchorNode===null||!i.contains(n.anchorNode))return;let a=jh(e.sourceMap,n);a===null&&n.removeAllRanges();for(let e of t_(a))t(e)},[t,e.readOnly,e.sourceMap]),c=(0,b.useCallback)(n=>{let i=window.getSelection();if(i!==null&&!i.isCollapsed)return;let a=null,o=r.current;i!==null&&i.anchorNode!==null&&o!==null&&o.contains(i.anchorNode)&&(a=Nh(e.sourceMap,i.anchorNode,i.anchorOffset)),a===null&&(a=Mh(e.sourceMap,n.target)),a!==null&&t({type:`cursor/set-line`,line:a})},[t,e.sourceMap]);return(0,S.jsxs)(`section`,{className:`rounded-lg border bg-card`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-2 text-xs text-muted-foreground`,children:[(0,S.jsx)(`span`,{className:`truncate font-mono`,children:e.file}),(0,S.jsxs)(`span`,{children:[`L`,a.line,a.endLine===a.line?``:`–${a.endLine}`]})]}),(0,S.jsx)(`div`,{ref:n,className:`max-h-[62vh] overflow-y-auto px-5 py-4`,children:(0,S.jsx)(`div`,{ref:r,onMouseUp:s,onClick:c,className:`review-document`,children:(0,S.jsx)(zh,{sourceMap:e.sourceMap,sourceHighlights:i,activeBlockRange:a,children:e.content})})})]})}function u_({composer:e,onChange:t,onSubmit:n,onCancel:r}){let i=(0,b.useRef)(null);(0,b.useEffect)(()=>{i.current?.focus()},[]);let a=e.mode===`edit`?`Edit comment`:`Add comment`,o=Fh({id:`anchor`,line:e.anchor.line,endLine:e.anchor.endLine,colStart:e.anchor.colStart,colEnd:e.anchor.colEnd,lineText:e.anchor.lineText,comment:``,createdAt:``});return(0,S.jsxs)(`section`,{className:`rounded-lg border border-ring bg-card p-4 shadow-sm`,"aria-label":`${a} on ${o}`,children:[(0,S.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:a}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o})]}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:r,"aria-label":`Cancel comment on ${o}`,children:`Cancel`})]}),e.anchor.quote!==void 0&&(0,S.jsx)(`blockquote`,{className:`mb-2 max-h-24 overflow-auto rounded-md border-l-4 border-border bg-muted px-3 py-2 font-mono text-xs whitespace-pre-wrap`,children:e.anchor.quote}),(0,S.jsx)(Sg,{ref:i,value:e.buffer,onChange:e=>t(e.target.value),rows:4,placeholder:`What should change?`,"aria-label":`${a} text for ${o}`}),(0,S.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` save · `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`shift+enter`}),` newline · `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`esc`}),` cancel`]}),(0,S.jsx)(rn,{size:`sm`,onClick:n,"aria-label":`${e.mode===`edit`?`Save`:`Add`} comment on ${o}`,children:e.mode===`edit`?`Save comment`:`Add comment`})]})]})}function d_({comments:e,activeIndex:t,readOnly:n,onEdit:r,onDelete:i,onClose:a}){return(0,S.jsxs)(`aside`,{className:`rounded-lg border bg-card p-4`,"aria-label":`Review comments`,children:[(0,S.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,S.jsxs)(`h2`,{className:`text-sm font-semibold`,children:[`Comments (`,e.length,`)`]}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:a,children:`Close`})]}),e.length===0?(0,S.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No comments yet.`}):(0,S.jsx)(`ol`,{className:`flex flex-col gap-2`,children:e.map((e,a)=>{let o=Fh(e);return(0,S.jsxs)(`li`,{className:Lt(`rounded-md border p-3 text-sm`,a===t?`border-ring bg-accent/60`:`bg-background`),children:[(0,S.jsxs)(`div`,{className:`mb-1 flex items-start justify-between gap-2`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:o}),(0,S.jsx)(`p`,{className:`whitespace-pre-wrap`,children:e.comment})]}),(0,S.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>r(e.id),disabled:n,"aria-label":`Edit comment on ${o}`,children:`Edit`}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>i(e.id),disabled:n,"aria-label":`Delete comment on ${o}`,children:`Delete`})]})]}),e.quote!==void 0&&(0,S.jsx)(`pre`,{className:`mt-2 max-h-24 overflow-auto whitespace-pre-wrap rounded bg-muted p-2 font-mono text-xs text-muted-foreground`,children:e.quote})]},e.id)})}),(0,S.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:`In the list: j/k move, e/enter edit, dd delete, q close.`})]})}var f_=[[`j / k / ↓ / ↑`,`move anchor unit (bullet, row, line, diagram)`],[`shift+j/k or shift+↓/↑`,`extend the selection across units`],[`gg / G`,`first / last anchor unit`],[`space then c`,`comment on the active unit or selection`],[`drag text`,`select rendered markdown and open a source-backed comment`],[`space then l`,`toggle comment list`],[`space then u`,`undo last comment`],[`space then s`,`submit final review`],[`u / d / PageUp / PageDown`,`scroll document`],[`?`,`toggle this help`]];function p_({onClose:e}){return(0,S.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,onClick:e,children:(0,S.jsxs)(`div`,{className:`w-full max-w-lg rounded-lg border border-border bg-card p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Review keyboard shortcuts`}),(0,S.jsx)(`button`,{type:`button`,onClick:e,"aria-label":`Close review keyboard shortcuts`,className:`text-muted-foreground hover:text-foreground`,children:(0,S.jsx)(bn,{className:`size-4`})})]}),(0,S.jsx)(`dl`,{className:`flex flex-col gap-2 text-sm`,children:f_.map(([e,t])=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,S.jsx)(`dt`,{className:`font-mono text-xs text-muted-foreground`,children:e}),(0,S.jsx)(`dd`,{className:`text-right`,children:t})]},e))})]})})}var m_=700;function h_({review:e,readOnly:t,draftPing:n,takeBackPing:r,onSubmitting:i,onSubmitted:a,onError:o}){let[s,c]=(0,b.useReducer)(e_,e,Wg),l=(0,b.useRef)(null),u=(0,b.useRef)(s);u.current=s;let d=t||s.readOnly;c_(s,c,{scrollRef:l,disabled:d}),(0,b.useEffect)(()=>{t&&c({type:`server/mark-readonly`})},[t]);let f=(0,b.useRef)(null),p=(0,b.useCallback)(e=>{let t=(async()=>{let t=Gg(e);c({type:`draft/save-start`});try{let n=await fetch(`/api/review/draft`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comments:t,baseVersion:e.version})});if(n.ok){let r=e.version;try{let e=await n.json();typeof e.version==`number`&&(r=e.version)}catch{}return c({type:`draft/save-ack`,version:r,savedComments:t}),{ok:!0,version:r,comments:t}}let r=await n.json();return n.status===409&&r.error===`stale_draft`&&typeof r.version==`number`?(c({type:`draft/conflict`,version:r.version,message:`Draft changed elsewhere. Your edits are kept — click Save to overwrite, or reload to see the newer draft.`}),{ok:!1,reason:`conflict`}):n.status===409&&r.error===`already_submitted`?(a(),{ok:!1,reason:`already-submitted`}):(c({type:`draft/save-error`,message:r.error??`autosave failed: ${n.status}`}),{ok:!1,reason:`error`})}catch(e){return c({type:`draft/save-error`,message:e instanceof Error?e.message:String(e)}),{ok:!1,reason:`error`}}})();return f.current=t,t.finally(()=>{f.current===t&&(f.current=null)}),t},[a]);(0,b.useEffect)(()=>{if(s.saveState!==`dirty`||d)return;let e=window.setTimeout(()=>{p(u.current)},m_);return()=>window.clearTimeout(e)},[s.saveState,s.comments,d,p]);let m=(0,b.useRef)(!0);(0,b.useEffect)(()=>{if(m.current){m.current=!1;return}(async()=>{f.current&&await f.current;let e=u.current;e.saveState===`dirty`&&await p(e);try{await fetch(`/api/review/take-back-ack`,{method:`POST`})}catch{}})()},[r,p]),(0,b.useEffect)(()=>{if(!s.submitRequested||(c({type:`submit/clear-request`}),d))return;i();let e=e=>{c({type:`server/unmark-readonly`}),o(e)};(async()=>{try{let t=null;if(f.current?t=await f.current:u.current.saveState===`dirty`&&(t=await p(u.current)),t!==null&&!t.ok){if(t.reason===`already-submitted`)return;if(t.reason===`conflict`){e(`Draft changed elsewhere before submit. Resolve the conflict, then submit again.`);return}e(`Autosave failed before submit — resolve the save error, then submit again.`);return}let n=t===null?Gg(u.current):t.comments,r=t===null?u.current.version:t.version,i=await fetch(`/api/review/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comments:n,baseVersion:r})}),o=await i.json();if(i.ok){a();return}if(i.status===409&&o.error===`already_submitted`){a();return}if(i.status===409&&o.error===`stale_draft`&&typeof o.version==`number`){c({type:`draft/conflict`,version:o.version,message:`Draft changed elsewhere — review the latest and submit again.`}),e(`Draft changed elsewhere before submit. Your edits are kept; submit again to finalize.`);return}e(o.error??`submit failed: ${i.status}`)}catch(t){e(t instanceof Error?t.message:String(t))}})()},[s.submitRequested,d,i,a,o,p]);let h=(0,b.useRef)(!0);(0,b.useEffect)(()=>{if(h.current){h.current=!1;return}(async()=>{try{let e=await fetch(`/api/review`);if(!e.ok)return;let t=await e.json(),n=u.current;if(typeof t.version==`number`&&t.version<=n.version)return;n.saveState===`clean`&&n.composer===null?c({type:`server/replace`,review:t}):c({type:`draft/external-update`,version:t.version,message:`The draft changed elsewhere. Your unsaved edits are kept; saving will re-anchor them.`})}catch{}})()},[n]);let g=s.selection?Fh({id:`active`,line:s.selection.line,endLine:s.selection.endLine,colStart:s.selection.colStart,colEnd:s.selection.colEnd,lineText:``,comment:``,createdAt:``}):Fh({id:`active`,...Ug(s),lineText:``,comment:``,createdAt:``}),_=d?`read-only`:s.saveState===`saving`?`saving…`:s.saveState===`save-error`?`save error`:s.saveState===`conflict`?`conflict`:s.saveState===`dirty`?`unsaved`:`saved`;return(0,S.jsxs)(`div`,{className:Lt(`flex flex-col gap-4`,d&&`pointer-events-none opacity-60`),children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[s.comments.length,` comment`,s.comments.length===1?``:`s`,` · version `,s.version,` · `,_]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`list/toggle`}),children:s.listOpen?`Hide comments`:`Comments`}),(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`help/toggle`}),"aria-label":`Show review keyboard shortcuts`,children:`?`}),(0,S.jsx)(rn,{size:`sm`,onClick:()=>c({type:`submit/request`}),disabled:d,children:s.comments.length===0?`Looks good — submit`:`Submit review`})]})]}),s.saveState===`conflict`&&(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-red-500/50 bg-red-500/10 px-3 py-2 text-xs text-red-900 dark:text-red-200`,children:[(0,S.jsx)(`span`,{children:s.notice}),(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`draft/resolve-conflict`}),children:`Save my edits`})]}),s.notice!==null&&s.saveState!==`conflict`&&(0,S.jsx)(`div`,{className:`rounded-md border border-amber-500/50 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200`,children:s.notice}),(0,S.jsxs)(`div`,{className:Lt(`grid gap-4`,s.listOpen&&`lg:grid-cols-[minmax(0,1fr)_320px]`),children:[(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsx)(l_,{state:s,dispatch:c,scrollRef:l}),s.composer!==null&&(0,S.jsx)(u_,{composer:s.composer,onChange:e=>c({type:`composer/update`,buffer:e}),onSubmit:()=>c({type:`composer/submit`}),onCancel:()=>c({type:`composer/cancel`})}),s.composer===null&&!d&&(0,S.jsxs)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>c({type:`composer/open`}),children:[`Add comment on `,g]})]}),s.listOpen&&(0,S.jsx)(d_,{comments:s.comments,activeIndex:s.listIndex,readOnly:d,onEdit:e=>c({type:`composer/edit`,id:e}),onDelete:e=>c({type:`comment/delete`,id:e}),onClose:()=>c({type:`list/close`})})]}),s.helpOpen&&(0,S.jsx)(p_,{onClose:()=>c({type:`help/close`})})]})}var g_={loading:0,ready:1,submitting:2,error:2,"taking-back":3,"pending-handoff":3,submitted:4,"taken-back":4,disconnected:4},__=new Set([`submitting->error`,`error->submitting`]);function v_(e,t){return g_[t]>g_[e]?!0:__.has(`${e}->${t}`)}function y_(){let[e,t]=(0,b.useState)(null),[n,r]=(0,b.useState)(null),[i,a]=(0,b.useState)([]),[o,s]=(0,b.useState)(null),[c,l]=(0,b.useState)(`loading`),[u,d]=(0,b.useState)(null),[f,p]=(0,b.useState)(0),[m,h]=(0,b.useState)(0),g=(0,b.useCallback)(e=>{l(t=>v_(t,e)?e:t)},[]);(0,b.useEffect)(()=>{fetch(`/api/surface`).then(e=>{if(!e.ok)throw Error(`surface load failed: ${e.status}`);return e.json()}).then(e=>(t(e.kind),e.kind===`deck`?fetch(`/api/interaction`).then(e=>{if(!e.ok)throw Error(`interaction load failed: ${e.status}`);return e.json()}).then(e=>{r(e.deck),a(Array.isArray(e.responses)?e.responses:[]),g(`ready`)}):fetch(`/api/review`).then(e=>{if(!e.ok)throw Error(`review load failed: ${e.status}`);return e.json()}).then(e=>{s(e),e.result.submitted?g(`submitted`):e.activated?g(`ready`):g(`pending-handoff`)}))).catch(e=>{d(e instanceof Error?e.message:String(e)),g(`error`)})},[g]),(0,b.useEffect)(()=>{let e=location.protocol===`https:`?`wss`:`ws`,t=new WebSocket(`${e}://${location.host}/ws`);return t.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`taken-back`?g(`taken-back`):t.type===`converged`?g(`submitted`):t.type===`review-draft-updated`?p(e=>e+1):t.type===`take-back-requested`&&(g(`taking-back`),h(e=>e+1))}catch{}},t.onclose=()=>{g(`disconnected`)},()=>t.close()},[g]);let _=(0,b.useCallback)(e=>{g(`submitting`),fetch(`/api/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({responses:e})}).then(e=>{if(!e.ok&&e.status!==409)throw Error(`submit failed: ${e.status}`);g(`submitted`)}).catch(e=>{d(e instanceof Error?e.message:String(e)),g(`error`)})},[g]),v=(0,b.useCallback)(()=>g(`submitting`),[g]),y=(0,b.useCallback)(()=>g(`submitted`),[g]),x=(0,b.useCallback)(e=>{d(e),g(`error`)},[g]),w=c===`submitting`||c===`taking-back`||c===`taken-back`||c===`submitted`||c===`pending-handoff`||c===`disconnected`;return(0,S.jsxs)(`div`,{className:Lt(`mx-auto flex min-h-screen flex-col gap-6 p-8`,e===`review`?`max-w-7xl`:`max-w-3xl`),children:[(0,S.jsxs)(`header`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:n?.title??(e===`review`?`humanloop — review`:`humanloop — browser surface`)}),(n?.source?.sessionName||n?.source?.askedBy)&&(0,S.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:[n.source?.sessionName,n.source?.askedBy].filter(Boolean).join(` · `)})]}),(0,S.jsx)(C,{status:c,error:u}),e===`deck`&&n&&(0,S.jsx)(Og,{deck:n,initialResponses:i,onSubmit:_,disabled:c!==`ready`}),e===`review`&&o&&(0,S.jsx)(h_,{review:o,readOnly:w,draftPing:f,takeBackPing:m,onSubmitting:v,onSubmitted:y,onError:x}),!n&&!o&&c===`loading`&&(0,S.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Loading…`})]})}(0,x.createRoot)(document.getElementById(`root`)).render((0,S.jsx)(b.StrictMode,{children:(0,S.jsx)(y_,{})}));export{o as n,l as r,Vm as t};
47
+ `}),i.lineIdx+=1,i.col=0);let s=o[e];if(s.length===0)continue;let c=t[i.lineIdx],l=n[i.lineIdx];if(c===void 0||l===void 0){a.push({type:`text`,value:s});continue}let u=l+Qm(c.slice(0,i.col));a.push(...dh(u,s,r)),i.col+=s.length}return a}function vh(e,t,n,r,i){if(Array.isArray(e.children))for(let a=0;a<e.children.length;a++){let o=e.children[a];if(!(typeof o!=`object`||!o)){if(o.type===`text`){let s=typeof o.value==`string`?o.value:``;if(s.length===0)continue;let c=_h(s,t,n,r,i);if(c.length===0)continue;e.children.splice(a,1,...c),a+=c.length-1;continue}vh(o,t,n,r,i)}}}function yh(e,t,n){let r=e.position?.start?.line,i=e.position?.end?.line;if(typeof r!=`number`||typeof i!=`number`)return;let a=hh.test(t.lines[r-1]?.text??``),o=a&&i>r&&hh.test(t.lines[i-1]?.text??``),s=a?r+1:r,c=o?i-1:i;if(c<s)return;let l=c-s+1,u=gh(ph(e));if(u.length===l+1&&u[u.length-1]===``&&(u=u.slice(0,-1)),u.length!==l)return;let d=[];for(let e=0;e<l;e++){let n=t.lines[s-1+e],r=u[e];if(n===void 0)return;let i=n.text.length-r.length;if(i<0||n.text.slice(i)!==r)return;d.push(n.startByte+Qm(n.text.slice(0,i)))}vh(e,u,d,n,{lineIdx:0,col:0})}function bh(e,t){return e?.tagName===`pre`&&t?.type===`element`&&t?.tagName===`code`}function xh(e,t){let n=e.properties??={},r=n.className;Array.isArray(r)?r.push(t):typeof r==`string`&&r.length>0?n.className=`${r} ${t}`:n.className=[t]}function Sh(e,t,n){let r=t.position?.start?.line,i=t.position?.end?.line;if(typeof r!=`number`||typeof i!=`number`)return;let a=e.properties??={};a[Ym]=String(r),a[Xm]=String(i),n!==null&&n.line<=r&&n.endLine>=i&&xh(e,Zm)}function Ch(e,t,n,r){if(!(typeof e!=`object`||!e||!Array.isArray(e.children)))for(let i=0;i<e.children.length;i++){let a=e.children[i];if(!(typeof a!=`object`||!a)){if(a.type===`text`&&a.position?.start?.offset!==void 0&&a.position?.end?.offset!==void 0){let r=typeof a.value==`string`?a.value:``,o=fh(t.content,a.position.start.offset,a.position.end.offset,r);if(o===null)continue;let s=dh(eh(t.content,o),r,n);if(s.length===0)continue;e.children.splice(i,1,...s),i+=s.length-1;continue}if(bh(e,a)){Sh(e,a,r),yh(a,t,n);continue}Ch(a,t,n,r)}}}function wh(e,t=[],n=null){return()=>r=>{Ch(r,e,t,n)}}function Th(e){let t=e.getAttribute(qm),n=e.getAttribute(Jm);if(t===null||n===null)return null;let r=Number(t),i=Number(n);return!Number.isFinite(r)||!Number.isFinite(i)||i<r?null:{startByte:r,endByte:i}}function Eh(e){return e===null?null:(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest?.(`[${qm}][${Jm}]`)??null}function Dh(e,t,n){let r=0,i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){let e=i.nextNode();if(e===null)break;let a=e.textContent??``;if(e===t)return r+Math.max(0,Math.min(n,a.length));r+=a.length}return t===e?n<=0?0:r:null}function Oh(e,t,n){let r=Math.max(0,Math.min(n,t.length)),i=Qm(t.slice(0,r));return Math.max(e.startByte,Math.min(e.startByte+i,e.endByte))}function kh(e,t){return e.lines[th(e,t)]?.line??null}function Ah(e,t){let n=Eh(e);if(n===null)return null;let r=Th(n);if(r===null)return null;let i=Dh(n,e,t);return i===null?null:Oh(r,n.textContent??``,i)}function jh(e,t){if(t.isCollapsed||t.anchorNode===null||t.focusNode===null)return null;let n=Ah(t.anchorNode,t.anchorOffset),r=Ah(t.focusNode,t.focusOffset);return n===null||r===null||n===r?null:ah(e,n,r)}function Mh(e,t){let n=t?.closest?.(`[${qm}][${Jm}]`)??null;if(n===null)return null;let r=Th(n);return r===null?null:kh(e,r.startByte)}function Nh(e,t,n){let r=Ah(t,n);return r===null?null:kh(e,r)}function Ph(e){return JSON.stringify(e)}function Fh(e){let t=oh(e);return e.line===e.endLine?t?`L${e.line}:${e.colStart}-${e.colEnd}`:`L${e.line}`:t?`L${e.line}:${e.colStart}-${e.endLine}:${e.colEnd}`:`L${e.line}-${e.endLine}`}function Ih(e,t,n=`review-source-comment`){return t.map(t=>sh(t,e)).filter(e=>e!==null).map(e=>({range:e,className:n}))}function Lh(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(Lh).join(``):(0,b.isValidElement)(e)?Lh(e.props.children):``}function Rh({children:e,className:t,...n}){let r=typeof t==`string`&&t.split(/\s+/).includes(`review-block-active`),i=b.Children.toArray(e)[0];return(0,b.isValidElement)(i)&&Wm(i.props.className)?(0,S.jsx)(Gm,{source:Lh(i.props.children),active:r}):(0,S.jsx)(`pre`,{className:t,...n,children:e})}function zh({children:e,className:t,sourceMap:n,sourceHighlights:r=[],activeBlockRange:i=null}){let a=n===void 0?[Im]:[Im,wh(n,r,i)];return(0,S.jsx)(`div`,{className:Lt(`markdown-body prose prose-sm dark:prose-invert max-w-none`,t),children:(0,S.jsx)(Qc,{remarkPlugins:[Qd],rehypePlugins:a,components:{pre:Rh},children:e})})}h();var Bh=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Vt(`Primitive.${t}`),r=b.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,S.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Vh(e,t=[]){let n=[];function r(t,r){let i=b.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=b.useMemo(()=>o,Object.values(o));return(0,S.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=b.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>b.createContext(e));return function(n){let r=n?.[e]||t;return b.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Hh(i,...t)]}function Hh(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}typeof window<`u`&&window.document&&window.document.createElement;function Uh(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}var Wh=globalThis?.document?b.useLayoutEffect:()=>{},Gh=b.useInsertionEffect||Wh;function Kh({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=qh({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=b.useRef(e!==void 0);b.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,b.useCallback(t=>{if(s){let n=Jh(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function qh({defaultProp:e,onChange:t}){let[n,r]=b.useState(e),i=b.useRef(n),a=b.useRef(t);return Gh(()=>{a.current=t},[t]),b.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Jh(e){return typeof e==`function`}function Yh(e,t){return b.useReducer((e,n)=>t[e][n]??e,e)}var Xh=e=>{let{present:t,children:n}=e,r=Zh(t),i=typeof n==`function`?n({present:r.isPresent}):b.Children.only(n),a=$h(r.ref,tg(i));return typeof n==`function`||r.isPresent?b.cloneElement(i,{ref:a}):null};Xh.displayName=`Presence`;function Zh(e){let[t,n]=b.useState(),r=b.useRef(null),i=b.useRef(e),a=b.useRef(`none`),o=b.useRef(void 0),[s,c]=Yh(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return b.useEffect(()=>{s===`mounted`?(a.current=o.current??eg(r.current),o.current=void 0):a.current=`none`},[s]),Wh(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=eg(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Wh(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=eg(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=eg(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:b.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=eg(t)}else r.current=null;n(e)},[])}}function Qh(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function $h(...e){let t=b.useRef(e);return t.current=e,b.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Qh(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Qh(n[e],null)}}},[])}function eg(e){return e?.animationName||`none`}function tg(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function ng(e){let t=b.useRef({value:e,previous:e});return b.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function rg(e){let[t,n]=b.useState(void 0);return Wh(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var ig=`Checkbox`,[ag,og]=Vh(ig),[sg,cg]=ag(ig);function lg(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=Kh({prop:n,defaultProp:i??!1,onChange:c,caller:ig}),[m,h]=b.useState(null),[g,_]=b.useState(null),v=b.useRef(!1),y=m?!!o||!!m.closest(`form`):!0,x={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:vg(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,S.jsx)(sg,{scope:t,...x,children:_g(d)?d(x):r})}var ug=`CheckboxTrigger`,dg=b.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=cg(ug,e),h=Bt(i,u),g=b.useRef(c);return b.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,S.jsx)(Bh.button,{type:`button`,role:`checkbox`,"aria-checked":vg(c)?`mixed`:c,"aria-required":l,"data-state":yg(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:Uh(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:Uh(n,e=>{d(e=>vg(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});dg.displayName=ug;var fg=b.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,S.jsx)(lg,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(dg,{...d,ref:t,__scopeCheckbox:n}),e&&(0,S.jsx)(gg,{__scopeCheckbox:n})]})})});fg.displayName=ig;var pg=`CheckboxIndicator`,mg=b.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=cg(pg,n);return(0,S.jsx)(Xh,{present:r||vg(a.checked)||a.checked===!0,children:(0,S.jsx)(Bh.span,{"data-state":yg(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});mg.displayName=pg;var hg=`CheckboxBubbleInput`,gg=b.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=cg(hg,e),m=Bt(n,p),h=ng(a),g=rg(r);b.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=vg(a),n.call(e,vg(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=b.useRef(vg(a)?!1:a);return(0,S.jsx)(Bh.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??_.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});gg.displayName=hg;function _g(e){return typeof e==`function`}function vg(e){return e===`indeterminate`}function yg(e){return vg(e)?`indeterminate`:e?`checked`:`unchecked`}function bg({className:e,...t}){return(0,S.jsx)(fg,{"data-slot":`checkbox`,className:Lt(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary`,e),...t,children:(0,S.jsx)(mg,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,S.jsx)(hn,{className:`size-3.5`})})})}function xg({option:e,index:t,multi:n,focused:r,checked:i,comment:a,allowComment:o,onPick:s,onOpenComment:c}){return(0,S.jsxs)(`div`,{role:`button`,tabIndex:-1,onClick:s,className:Lt(`group flex cursor-pointer items-start gap-3 rounded-md border border-transparent px-3 py-2 transition-colors hover:bg-accent`,r&&`border-ring bg-accent/60`),children:[n&&(0,S.jsx)(bg,{checked:i,className:`mt-0.5`,tabIndex:-1,onClick:e=>e.stopPropagation(),onCheckedChange:s}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[e.shortcut!==void 0&&(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:e.shortcut}),(0,S.jsx)(`span`,{className:Lt(`text-sm`,(i||!n&&i)&&`font-medium`),children:e.label})]}),e.description!==void 0&&e.description.length>0&&(0,S.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:e.description}),a!==void 0&&a.length>0&&(0,S.jsxs)(`p`,{className:`mt-1 text-xs text-amber-700 dark:text-amber-400`,children:[`✎ `,a]})]}),o&&(0,S.jsx)(rn,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100`,title:`Comment on this option (c)`,"aria-label":`Comment on ${e.label}`,onClick:e=>{e.stopPropagation(),c()},children:(0,S.jsx)(yn,{className:`size-4`})})]})}function Sg({className:e,...t}){return(0,S.jsx)(`textarea`,{"data-slot":`textarea`,className:Lt(`flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40`,e),...t})}function Cg({mode:e,interaction:t,onChange:n,onSubmit:r,onCancel:i,onCycleAttached:a}){let o=(0,b.useRef)(null);(0,b.useEffect)(()=>{o.current?.focus()},[]);let s=t.freetextLabel??(e.kind===`comment`?`Comment`:`Response`),c=e.kind===`comment`&&e.selectedOptionId!==void 0?t.options.find(t=>t.id===e.selectedOptionId):void 0;return(0,S.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3`,children:[(0,S.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,S.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:s}),e.kind===`comment`&&t.options.length>0&&(0,S.jsxs)(`button`,{type:`button`,onClick:a,className:`text-xs text-muted-foreground underline-offset-2 hover:underline`,title:`Tab cycles the attached option`,children:[`attached: `,c===void 0?`none (overall)`:c.label]})]}),(0,S.jsx)(Sg,{ref:o,value:e.buffer,onChange:e=>n(e.target.value),placeholder:`Type your response…`,rows:4,className:`resize-y`}),(0,S.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` submit ·`,` `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`shift+enter`}),` newline ·`,` `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`esc`}),` cancel`]}),(0,S.jsxs)(`div`,{className:`flex gap-2`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:i,children:`Cancel`}),(0,S.jsx)(rn,{size:`sm`,onClick:r,children:`Submit`})]})]})]})}function wg({state:e,dispatch:t,scrollRef:n,multiInteraction:r}){let i=e.interactions[e.currentIndex],a=e.responses.get(i.id),o=e.preAnsweredIds.has(i.id),s=i.options,c=i.multiSelect===!0,l=new Set(a?.selectedOptionIds??[]),u=s.length,d=e.selectedAction===u&&i.allowFreetext===!0&&s.length>0;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r?(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>t({type:`item-review/back`}),children:`← Overview`}):(0,S.jsx)(`span`,{}),r&&(0,S.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.currentIndex+1,` / `,e.interactions.length]})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h2`,{className:`text-lg font-semibold leading-snug`,children:i.title}),o&&(0,S.jsxs)(`p`,{className:`mt-1 text-xs italic text-muted-foreground`,children:[`◆ `,i.preAnswered?.label??`Previously answered`,` — n/p to review, or pick any option to override`]})]}),(0,S.jsxs)(`div`,{ref:n,className:`max-h-[45vh] overflow-y-auto rounded-md border border-border bg-card p-4`,children:[(0,S.jsx)(zh,{children:i.subtitle}),i.body!==void 0&&(0,S.jsx)(zh,{className:`mt-4`,children:i.body})]}),e.inputMode===null?(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[s.map((n,r)=>(0,S.jsx)(xg,{option:n,index:r,multi:c,focused:e.selectedAction===r,checked:c?l.has(n.id):a?.selectedOptionId===n.id,comment:c?a?.optionComments?.[n.id]:void 0,allowComment:i.allowFreetext===!0,onPick:()=>{t(c?{type:`item-review/toggle-option`,optionId:n.id,index:r}:{type:`item-review/pick-option`,optionId:n.id,index:r})},onOpenComment:()=>{t({type:`item-review/set-focus`,index:r}),t({type:`item-review/open-comment`,optionId:n.id})}},n.id)),i.allowFreetext===!0&&s.length>0&&(0,S.jsxs)(`button`,{type:`button`,onClick:()=>{t({type:`item-review/set-focus`,index:u}),t({type:`item-review/open-comment`})},className:Lt(`flex items-center gap-2 rounded-md border border-transparent px-3 py-2 text-left text-sm text-muted-foreground transition-colors hover:bg-accent`,d&&`border-ring bg-accent/60`),children:[(0,S.jsx)(yn,{className:`size-4`}),c?`Add overall comment (or comment on an option above)`:`Add comment`]}),i.allowFreetext===!0&&s.length===0&&(0,S.jsx)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>t({type:`item-review/open-freetext`}),children:i.freetextLabel??`Enter response`}),i.allowFreetext!==!0&&s.length===0&&(0,S.jsx)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>t({type:`item-review/step`,delta:1}),children:`Continue`}),c&&(0,S.jsxs)(rn,{className:`mt-2 w-fit`,disabled:l.size===0,onClick:()=>t({type:`item-review/enter-row`}),children:[`Confirm selection (`,l.size,`)`]}),e.hint!==void 0&&(0,S.jsx)(`p`,{className:`mt-1 text-xs text-amber-700 dark:text-amber-400`,children:e.hint}),a!==void 0&&(0,S.jsxs)(`p`,{className:`mt-2 text-xs text-emerald-700 dark:text-emerald-400`,children:[`Current: `,N(a,i)]})]}):(0,S.jsx)(Cg,{mode:e.inputMode,interaction:i,onChange:e=>t({type:`input/update`,buffer:e}),onSubmit:()=>t({type:`input/submit`}),onCancel:()=>t({type:`input/cancel`}),onCycleAttached:()=>t({type:`input/cycle-attached`})}),(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-4 border-t border-border pt-3 text-xs text-muted-foreground`,children:[r&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`n`}),`/`,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`p`}),` prev/next`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`q`}),` overview`]})]}),c?(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`space`}),` toggle`]}):(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` pick`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`u`}),`/`,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`d`}),` scroll`]}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`?`}),` help`]})]})]})}function Tg({state:e,dispatch:t}){let n=e.interactions.length,r=e.responses.size;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-medium text-muted-foreground`,children:`Summary`}),(0,S.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[r,`/`,n,` answered`]})]}),(0,S.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.interactions.map(t=>{let n=e.responses.get(t.id),r=e.preAnsweredIds.has(t.id);return(0,S.jsxs)(`li`,{className:`flex items-start gap-3 rounded-md px-3 py-2`,children:[(0,S.jsx)(xn,{status:n===void 0?`unanswered`:r?`pre-answered`:`answered`,className:`mt-0.5 shrink-0`}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:`truncate text-sm font-medium`,children:t.title}),n!==void 0&&(0,S.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N(n,t)})]})]},t.id)})}),r<n&&(0,S.jsxs)(`p`,{className:`text-xs text-amber-700 dark:text-amber-400`,children:[n-r,` unanswered — you can still submit, or go back (p).`]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border pt-3`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>t({type:`final/prev`}),children:`← Back to last item`}),(0,S.jsx)(rn,{size:`sm`,className:`ml-auto`,onClick:()=>t({type:`final/confirm`}),children:`Submit`})]})]})}var Eg=[[`j / k / ↓ / ↑`,`move focus`],[`n / p`,`next / previous interaction`],[`enter`,`pick option / confirm / advance`],[`space`,`toggle option (multi-select)`],[`a-z, 1-9`,`option shortcut (shown on each row)`],[`c`,`comment (on the focused option, if freetext is allowed)`],[`r`,`open a freetext response (freetext-only interactions)`],[`u / d, PageUp / PageDown`,`scroll the body`],[`q / esc`,`back a level`],[`?`,`toggle this help`]];function Dg({onClose:e}){return(0,S.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,onClick:e,children:(0,S.jsxs)(`div`,{className:`w-full max-w-md rounded-lg border border-border bg-card p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Keyboard shortcuts`}),(0,S.jsx)(`button`,{type:`button`,onClick:e,"aria-label":`Close keyboard shortcuts`,className:`text-muted-foreground hover:text-foreground`,children:(0,S.jsx)(bn,{className:`size-4`})})]}),(0,S.jsx)(`dl`,{className:`flex flex-col gap-2 text-sm`,children:Eg.map(([e,t])=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,S.jsx)(`dt`,{className:`font-mono text-xs text-muted-foreground`,children:e}),(0,S.jsx)(`dd`,{className:`text-right`,children:t})]},e))}),(0,S.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`Everything above also works with the mouse — click an option to pick it, click a row to focus it.`})]})})}function Og({deck:e,initialResponses:t=[],onSubmit:n,disabled:r}){ie(e.interactions);let[i,a]=(0,b.useReducer)(F,{deck:e,initialResponses:t},({deck:e,initialResponses:t})=>w(e,t)),o=(0,b.useRef)(null),[s,c]=(0,b.useState)(!1);le(i,a,{scrollRef:o,modalOpen:s,onToggleHelp:()=>c(e=>!e),onCloseModal:()=>c(!1),disabled:r}),(0,b.useEffect)(()=>{i.autoSubmit&&n(T(i))},[i]);let l=i.interactions.length>1;return(0,S.jsxs)(`div`,{className:Lt(`flex flex-col gap-4 transition-opacity`,r&&`pointer-events-none opacity-60`),children:[i.phase===`overview`&&(0,S.jsx)(Sn,{state:i,dispatch:a}),i.phase===`item-review`&&(0,S.jsx)(wg,{state:i,dispatch:a,scrollRef:o,multiInteraction:l}),i.phase===`final`&&(0,S.jsx)(Tg,{state:i,dispatch:a}),s&&(0,S.jsx)(Dg,{onClose:()=>c(!1)})]})}var kg=Rc().use(Yo).use(Qd);function Ag(e){let t=e.position?.start?.line,n=e.position?.end?.line;return typeof t!=`number`||typeof n!=`number`?null:{start:t,end:Math.max(t,n)}}function jg(e){return/^\s*(```|~~~)/.test(e??``)}function Mg(e,t,n){let r=Ag(e);if(r===null)return;let i=jg(t[r.start-1]),a=i&&r.end>r.start&&jg(t[r.end-1]),o=i?r.start+1:r.start,s=a?r.end-1:r.end;if(s<o){n.push({start:r.start,end:r.end});return}for(let e=o;e<=s;e++)n.push({start:e,end:e})}function Ng(e,t){for(let n of e.children??[]){if(n.type!==`tableRow`)continue;let e=Ag(n);e!==null&&t.push({start:e.start,end:e.end})}}function Pg(e,t,n){let r=e.children??[],i=1/0,a=0,o=!1,s=()=>{Number.isFinite(i)&&(n.push({start:i,end:a}),o=!0,i=1/0,a=0)};for(let e of r){if(e.type===`list`){s(),Fg(e,t,n);continue}let r=Ag(e);r!==null&&(i=Math.min(i,r.start),a=Math.max(a,r.end))}if(s(),!o){let t=Ag(e);t!==null&&n.push({start:t.start,end:t.start})}}function Fg(e,t,n){for(let r of e.children??[])r.type===`listItem`&&Pg(r,t,n)}function Ig(e,t,n){switch(e.type){case`list`:Fg(e,t,n);return;case`table`:Ng(e,n);return;case`code`:if(e.lang===`mermaid`)break;Mg(e,t,n);return;default:break}let r=Ag(e);r!==null&&n.push({start:r.start,end:r.end})}function Lg(e,t){let n=Math.max(1,t),r=[];for(let t of e){let e=Math.max(1,Math.min(t.start,n)),i=Math.max(e,Math.min(t.end,n)),a=r[r.length-1];a!==void 0&&a.start===e&&a.end===i||r.push({start:e,end:i})}return r.sort((e,t)=>e.start-t.start||e.end-t.end),r}function Rg(e){let t=e.split(`
48
+ `),n=t.length,r;try{r=kg.parse(e)}catch{return[{start:1,end:Math.max(1,n)}]}let i=[];for(let e of r.children??[])Ig(e,t,i);let a=Lg(i,n);return a.length===0?[{start:1,end:Math.max(1,n)}]:a}function zg(e,t){let n=-1;for(let r=0;r<e.length;r++){let i=e[r];i.start<=t&&i.end>=t&&(n===-1||i.end-i.start<e[n].end-e[n].start)&&(n=r)}if(n!==-1)return n;for(let n=0;n<e.length;n++)if(e[n].start>t)return n;return Math.max(0,e.length-1)}function Bg(e,t){for(let n=0;n<e.length;n++)if(e[n].start===t.start&&e[n].end===t.end)return n;return zg(e,t.start)}function Vg(e,t,n){let r=1/0,i=0,a=Math.max(0,Math.min(t,n)),o=Math.min(e.length-1,Math.max(t,n));for(let t=a;t<=o;t++){let n=e[t];n!==void 0&&(r=Math.min(r,n.start),i=Math.max(i,n.end))}return Number.isFinite(r)?{line:r,endLine:Math.max(r,i)}:{line:1,endLine:1}}function Hg(e,t){return Math.max(0,Math.min(t,e.length-1))}function Ug(e){let t=e.selectionAnchorUnit??e.activeUnit;return Vg(e.units,Math.min(e.activeUnit,t),Math.max(e.activeUnit,t))}function Wg(e){let t=rh(e.content),n=Rg(e.content),r=e.result.comments[0]?.line,i=typeof r==`number`?zg(n,r):0;return{file:e.file,output:e.output,jobId:e.jobId,content:e.content,sourceMap:t,units:n,comments:[...e.result.comments],version:e.version,activeUnit:Hg(n,i),selectionAnchorUnit:null,selection:null,composer:null,listOpen:!1,listIndex:0,helpOpen:!1,notice:null,saveState:`clean`,submitRequested:!1,readOnly:e.result.submitted}}function Gg(e){return e.comments.map(e=>({...e}))}function Kg(e){if(e.selection!==null)return e.selection;let{line:t,endLine:n}=Ug(e);return ih(e.sourceMap,t,n)??{line:t,endLine:n,startByte:0,endByte:0,lineText:e.sourceMap.lines[t-1]?.text??``}}function qg(e,t,n=`c-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`){let r={id:n,line:e.line,endLine:e.endLine,lineText:e.lineText,comment:t,createdAt:new Date().toISOString()};return e.quote!==void 0&&e.quote.length>0&&(r.quote=e.quote),oh(e)&&(r.colStart=e.colStart,r.colEnd=e.colEnd),r}function Jg(e,t){let n=rh(t.content),r=Rg(t.content),i=e.units[e.activeUnit],a=i===void 0?0:Bg(r,i);return{...e,file:t.file,output:t.output,jobId:t.jobId,content:t.content,sourceMap:n,units:r,comments:[...t.result.comments],version:t.version,activeUnit:Hg(r,a),selectionAnchorUnit:null,selection:null,composer:null,notice:null,saveState:`clean`,readOnly:t.result.submitted}}function Yg(e,t){return Math.max(1,Math.min(t,Math.max(1,e.sourceMap.lines.length)))}function Xg(e,t){return Math.max(0,Math.min(t,e.units.length-1))}function Zg(e){return{...e,submitRequested:!1}}function Qg(e){return{...e,saveState:`dirty`,notice:null}}function $g(e,t){return e.comments.length===0?0:Math.max(0,Math.min(t,e.comments.length-1))}function e_(e,t){if(t.type===`server/replace`)return Jg(e,t.review);let n=Zg(e);switch(t.type){case`server/mark-readonly`:return{...n,readOnly:!0,composer:null,notice:t.reason??n.notice};case`server/unmark-readonly`:return{...n,readOnly:!1};case`cursor/move`:return t.extend?n.selectionAnchorUnit===null&&(n.selectionAnchorUnit=n.activeUnit):n.selectionAnchorUnit=null,n.selection=null,n.activeUnit=Xg(n,n.activeUnit+t.delta),n;case`cursor/set-line`:return n.activeUnit=zg(n.units,Yg(n,t.line)),n.selection=null,n.selectionAnchorUnit=null,n;case`cursor/first`:return n.activeUnit=0,n.selection=null,n.selectionAnchorUnit=null,n;case`cursor/last`:return n.activeUnit=Math.max(0,n.units.length-1),n.selection=null,n.selectionAnchorUnit=null,n;case`selection/set`:return n.selection=t.selection,n.activeUnit=zg(n.units,Yg(n,t.selection.line)),n.selectionAnchorUnit=null,n;case`selection/clear`:return n.selection=null,n.selectionAnchorUnit=null,n;case`composer/open`:return n.readOnly?n:(n.composer={mode:`create`,anchor:Kg(n),buffer:``},n.listOpen=!1,n);case`composer/edit`:{if(n.readOnly)return n;let e=n.comments.find(e=>e.id===t.id);if(e===void 0)return n;let r=ch(e,n.sourceMap)??Kg(n);return n.composer={mode:`edit`,anchor:r,commentId:e.id,buffer:e.comment},n.selection=r,n.activeUnit=zg(n.units,Yg(n,e.line)),n.selectionAnchorUnit=null,n.listOpen=!1,n}case`composer/update`:return n.composer===null||(n.composer={...n.composer,buffer:t.buffer}),n;case`composer/submit`:{if(n.readOnly||n.composer===null)return n;let e=n.composer.buffer.trim();return e.length===0?(n.composer=null,n):(n.composer.mode===`edit`&&n.composer.commentId!==void 0?n.comments=n.comments.map(t=>t.id===n.composer?.commentId?{...t,comment:e}:t):(n.comments=[...n.comments,qg(n.composer.anchor,e)],n.listIndex=n.comments.length-1),n.composer=null,n.selection=null,Qg(n))}case`composer/cancel`:return n.composer=null,n;case`comment/delete`:return n.readOnly?n:(n.comments=n.comments.filter(e=>e.id!==t.id),n.listIndex=$g(n,n.listIndex),Qg(n));case`comment/undo`:return n.readOnly||n.comments.length===0?n:(n.comments=n.comments.slice(0,-1),n.listIndex=$g(n,n.listIndex),Qg(n));case`list/toggle`:return n.listOpen=!n.listOpen,n.composer=null,n.listIndex=$g(n,n.listIndex),n;case`list/close`:return n.listOpen=!1,n;case`list/move`:return n.listIndex=$g(n,n.listIndex+t.delta),n;case`help/toggle`:return n.helpOpen=!n.helpOpen,n;case`help/close`:return n.helpOpen=!1,n;case`draft/save-start`:return(n.saveState===`dirty`||n.saveState===`save-error`)&&(n.saveState=`saving`),n;case`draft/save-ack`:return n.version=t.version,Ph(n.comments)===Ph(t.savedComments)?(n.saveState=`clean`,n.notice=null):n.saveState=`dirty`,n;case`draft/save-error`:return t.version!==void 0&&(n.version=t.version),n.saveState=`save-error`,n.notice=t.message,n;case`draft/conflict`:return n.version=t.version,n.saveState=`conflict`,n.notice=t.message,n;case`draft/resolve-conflict`:return n.saveState===`conflict`?(n.saveState=`dirty`,n.notice=null,n):n;case`draft/external-update`:return n.version=t.version,n.notice=t.message,n;case`submit/request`:return n.readOnly||(n.submitRequested=!0),n;case`submit/clear-request`:return n.submitRequested=!1,n;case`notice/set`:return n.notice=t.message,n;case`notice/clear`:return n.notice=null,n;default:return n}}function t_(e){return e===null?[{type:`selection/clear`},{type:`notice/set`,message:`Selection cannot be anchored to source text.`}]:[{type:`selection/set`,selection:e},{type:`composer/open`}]}var n_=260,r_=650,i_=!1,a_=!1,o_=!1;function s_(e,t,n,r){if(t.helpOpen){if(e.key===`Escape`||e.key===`?`){e.preventDefault(),n({type:`help/close`});return}e.preventDefault();return}if(t.composer!==null){if(oe(e))return;if(e.key===`Escape`){e.preventDefault(),n({type:`composer/cancel`});return}if(e.key===`Enter`&&!e.shiftKey&&L(e)&&!ae(e.target)){e.preventDefault(),n({type:`composer/submit`});return}return}if(I(e.target))return;if(e.key===`?`&&L(e)){e.preventDefault(),n({type:`help/toggle`});return}if(i_&&(i_=!1,L(e))){if(e.key===`c`){e.preventDefault(),n({type:`composer/open`});return}if(e.key===`l`){e.preventDefault(),n({type:`list/toggle`});return}if(e.key===`u`){e.preventDefault(),n({type:`comment/undo`});return}if(e.key===`s`){e.preventDefault(),n({type:`submit/request`});return}}if(e.key===` `&&R(e)){e.preventDefault(),i_=!0,r.schedule(()=>{i_=!1},r_);return}if(e.key===`Escape`&&L(e)){e.preventDefault(),t.listOpen?n({type:`list/close`}):n({type:`selection/clear`});return}if(t.listOpen){if((e.key===`j`||e.key===`ArrowDown`)&&R(e)){e.preventDefault(),n({type:`list/move`,delta:1});return}if((e.key===`k`||e.key===`ArrowUp`)&&R(e)){e.preventDefault(),n({type:`list/move`,delta:-1});return}if(e.key===`q`&&L(e)){e.preventDefault(),n({type:`list/close`});return}if((e.key===`e`||e.key===`Enter`)&&L(e)){let r=t.comments[t.listIndex];r!==void 0&&(e.preventDefault(),n({type:`composer/edit`,id:r.id}));return}if(e.key===`d`&&L(e)){if(o_){o_=!1;let r=t.comments[t.listIndex];r!==void 0&&(e.preventDefault(),n({type:`comment/delete`,id:r.id}))}else e.preventDefault(),o_=!0,r.schedule(()=>{o_=!1},r_);return}o_=!1;return}if(e.key===`g`&&R(e)){if(a_){a_=!1,e.preventDefault(),n({type:`cursor/first`});return}e.preventDefault(),a_=!0,r.schedule(()=>{a_=!1},r_);return}a_=!1;let i=e.shiftKey===!0&&L(e),a=e.key.length===1?e.key.toLowerCase():e.key;if((a===`j`||e.key===`ArrowDown`)&&(R(e)||i)){e.preventDefault(),n({type:`cursor/move`,delta:1,extend:i});return}if((a===`k`||e.key===`ArrowUp`)&&(R(e)||i)){e.preventDefault(),n({type:`cursor/move`,delta:-1,extend:i});return}if(e.key===`G`&&L(e)){e.preventDefault(),n({type:`cursor/last`});return}if(e.key===`PageDown`){e.preventDefault(),r.scrollBy(n_);return}if(e.key===`PageUp`){e.preventDefault(),r.scrollBy(-260);return}if(e.key===`d`&&R(e)){e.preventDefault(),r.scrollBy(n_);return}if(e.key===`u`&&R(e)){e.preventDefault(),r.scrollBy(-260);return}}function c_(e,t,n){se((0,b.useCallback)(r=>{s_(r,e,t,{scrollBy:e=>n.scrollRef.current?.scrollBy({top:e,behavior:`smooth`}),schedule:(e,t)=>window.setTimeout(e,t)})},[e,t,n]),n.disabled!==!0)}function l_({state:e,dispatch:t,scrollRef:n}){let r=(0,b.useRef)(null),i=[...Ih(e.sourceMap,e.comments,`review-source-comment`)],a=e.selection===null?Ug(e):{line:e.selection.line,endLine:e.selection.endLine},o=e.selection===null?ih(e.sourceMap,a.line,a.endLine):{startByte:e.selection.startByte,endByte:e.selection.endByte};o!==null&&o.endByte>o.startByte&&i.push({range:{startByte:o.startByte,endByte:o.endByte},className:`review-source-active`});let s=(0,b.useCallback)(()=>{if(e.readOnly)return;let n=window.getSelection(),i=r.current;if(n===null||i===null||n.isCollapsed||n.anchorNode===null||!i.contains(n.anchorNode))return;let a=jh(e.sourceMap,n);a===null&&n.removeAllRanges();for(let e of t_(a))t(e)},[t,e.readOnly,e.sourceMap]),c=(0,b.useCallback)(n=>{let i=window.getSelection();if(i!==null&&!i.isCollapsed)return;let a=null,o=r.current;i!==null&&i.anchorNode!==null&&o!==null&&o.contains(i.anchorNode)&&(a=Nh(e.sourceMap,i.anchorNode,i.anchorOffset)),a===null&&(a=Mh(e.sourceMap,n.target)),a!==null&&t({type:`cursor/set-line`,line:a})},[t,e.sourceMap]);return(0,S.jsxs)(`section`,{className:`rounded-lg border bg-card`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-2 text-xs text-muted-foreground`,children:[(0,S.jsx)(`span`,{className:`truncate font-mono`,children:e.file}),(0,S.jsxs)(`span`,{children:[`L`,a.line,a.endLine===a.line?``:`–${a.endLine}`]})]}),(0,S.jsx)(`div`,{ref:n,className:`max-h-[62vh] overflow-y-auto px-5 py-4`,children:(0,S.jsx)(`div`,{ref:r,onMouseUp:s,onClick:c,className:`review-document`,children:(0,S.jsx)(zh,{sourceMap:e.sourceMap,sourceHighlights:i,activeBlockRange:a,children:e.content})})})]})}function u_({composer:e,onChange:t,onSubmit:n,onCancel:r}){let i=(0,b.useRef)(null);(0,b.useEffect)(()=>{i.current?.focus()},[]);let a=e.mode===`edit`?`Edit comment`:`Add comment`,o=Fh({id:`anchor`,line:e.anchor.line,endLine:e.anchor.endLine,colStart:e.anchor.colStart,colEnd:e.anchor.colEnd,lineText:e.anchor.lineText,comment:``,createdAt:``});return(0,S.jsxs)(`section`,{className:`rounded-lg border border-ring bg-card p-4 shadow-sm`,"aria-label":`${a} on ${o}`,children:[(0,S.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:a}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o})]}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:r,"aria-label":`Cancel comment on ${o}`,children:`Cancel`})]}),e.anchor.quote!==void 0&&(0,S.jsx)(`blockquote`,{className:`mb-2 max-h-24 overflow-auto rounded-md border-l-4 border-border bg-muted px-3 py-2 font-mono text-xs whitespace-pre-wrap`,children:e.anchor.quote}),(0,S.jsx)(Sg,{ref:i,value:e.buffer,onChange:e=>t(e.target.value),rows:4,placeholder:`What should change?`,"aria-label":`${a} text for ${o}`}),(0,S.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`enter`}),` save · `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`shift+enter`}),` newline · `,(0,S.jsx)(`kbd`,{className:`rounded border border-border bg-muted px-1`,children:`esc`}),` cancel`]}),(0,S.jsx)(rn,{size:`sm`,onClick:n,"aria-label":`${e.mode===`edit`?`Save`:`Add`} comment on ${o}`,children:e.mode===`edit`?`Save comment`:`Add comment`})]})]})}function d_({comments:e,activeIndex:t,readOnly:n,onEdit:r,onDelete:i,onClose:a}){return(0,S.jsxs)(`aside`,{className:`rounded-lg border bg-card p-4`,"aria-label":`Review comments`,children:[(0,S.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,S.jsxs)(`h2`,{className:`text-sm font-semibold`,children:[`Comments (`,e.length,`)`]}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:a,children:`Close`})]}),e.length===0?(0,S.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No comments yet.`}):(0,S.jsx)(`ol`,{className:`flex flex-col gap-2`,children:e.map((e,a)=>{let o=Fh(e);return(0,S.jsxs)(`li`,{className:Lt(`rounded-md border p-3 text-sm`,a===t?`border-ring bg-accent/60`:`bg-background`),children:[(0,S.jsxs)(`div`,{className:`mb-1 flex items-start justify-between gap-2`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:o}),(0,S.jsx)(`p`,{className:`whitespace-pre-wrap`,children:e.comment})]}),(0,S.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>r(e.id),disabled:n,"aria-label":`Edit comment on ${o}`,children:`Edit`}),(0,S.jsx)(rn,{variant:`ghost`,size:`sm`,onClick:()=>i(e.id),disabled:n,"aria-label":`Delete comment on ${o}`,children:`Delete`})]})]}),e.quote!==void 0&&(0,S.jsx)(`pre`,{className:`mt-2 max-h-24 overflow-auto whitespace-pre-wrap rounded bg-muted p-2 font-mono text-xs text-muted-foreground`,children:e.quote})]},e.id)})}),(0,S.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:`In the list: j/k move, e/enter edit, dd delete, q close.`})]})}var f_=[[`j / k / ↓ / ↑`,`move anchor unit (bullet, row, line, diagram)`],[`shift+j/k or shift+↓/↑`,`extend the selection across units`],[`gg / G`,`first / last anchor unit`],[`space then c`,`comment on the active unit or selection`],[`drag text`,`select rendered markdown and open a source-backed comment`],[`space then l`,`toggle comment list`],[`space then u`,`undo last comment`],[`space then s`,`submit final review`],[`u / d / PageUp / PageDown`,`scroll document`],[`?`,`toggle this help`]];function p_({onClose:e}){return(0,S.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,onClick:e,children:(0,S.jsxs)(`div`,{className:`w-full max-w-lg rounded-lg border border-border bg-card p-5 shadow-lg`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,S.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Review keyboard shortcuts`}),(0,S.jsx)(`button`,{type:`button`,onClick:e,"aria-label":`Close review keyboard shortcuts`,className:`text-muted-foreground hover:text-foreground`,children:(0,S.jsx)(bn,{className:`size-4`})})]}),(0,S.jsx)(`dl`,{className:`flex flex-col gap-2 text-sm`,children:f_.map(([e,t])=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,S.jsx)(`dt`,{className:`font-mono text-xs text-muted-foreground`,children:e}),(0,S.jsx)(`dd`,{className:`text-right`,children:t})]},e))})]})})}var m_=700;function h_({review:e,readOnly:t,draftPing:n,takeBackPing:r,onSubmitting:i,onSubmitted:a,onError:o}){let[s,c]=(0,b.useReducer)(e_,e,Wg),l=(0,b.useRef)(null),u=(0,b.useRef)(s);u.current=s;let d=t||s.readOnly;c_(s,c,{scrollRef:l,disabled:d}),(0,b.useEffect)(()=>{t&&c({type:`server/mark-readonly`})},[t]);let f=(0,b.useRef)(null),p=(0,b.useCallback)(e=>{let t=(async()=>{let t=Gg(e);c({type:`draft/save-start`});try{let n=await fetch(`/api/review/draft`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comments:t,baseVersion:e.version})});if(n.ok){let r=e.version;try{let e=await n.json();typeof e.version==`number`&&(r=e.version)}catch{}return c({type:`draft/save-ack`,version:r,savedComments:t}),{ok:!0,version:r,comments:t}}let r=await n.json();return n.status===409&&r.error===`stale_draft`&&typeof r.version==`number`?(c({type:`draft/conflict`,version:r.version,message:`Draft changed elsewhere. Your edits are kept — click Save to overwrite, or reload to see the newer draft.`}),{ok:!1,reason:`conflict`}):n.status===409&&r.error===`already_submitted`?(a(),{ok:!1,reason:`already-submitted`}):(c({type:`draft/save-error`,message:r.error??`autosave failed: ${n.status}`}),{ok:!1,reason:`error`})}catch(e){return c({type:`draft/save-error`,message:e instanceof Error?e.message:String(e)}),{ok:!1,reason:`error`}}})();return f.current=t,t.finally(()=>{f.current===t&&(f.current=null)}),t},[a]);(0,b.useEffect)(()=>{if(s.saveState!==`dirty`||d)return;let e=window.setTimeout(()=>{p(u.current)},m_);return()=>window.clearTimeout(e)},[s.saveState,s.comments,d,p]);let m=(0,b.useRef)(!0);(0,b.useEffect)(()=>{if(m.current){m.current=!1;return}(async()=>{f.current&&await f.current;let e=u.current;e.saveState===`dirty`&&await p(e);try{await fetch(`/api/review/take-back-ack`,{method:`POST`})}catch{}})()},[r,p]),(0,b.useEffect)(()=>{if(!s.submitRequested||(c({type:`submit/clear-request`}),d))return;i();let e=e=>{c({type:`server/unmark-readonly`}),o(e)};(async()=>{try{let t=null;if(f.current?t=await f.current:u.current.saveState===`dirty`&&(t=await p(u.current)),t!==null&&!t.ok){if(t.reason===`already-submitted`)return;if(t.reason===`conflict`){e(`Draft changed elsewhere before submit. Resolve the conflict, then submit again.`);return}e(`Autosave failed before submit — resolve the save error, then submit again.`);return}let n=t===null?Gg(u.current):t.comments,r=t===null?u.current.version:t.version,i=await fetch(`/api/review/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comments:n,baseVersion:r})}),o=await i.json();if(i.ok){a();return}if(i.status===409&&o.error===`already_submitted`){a();return}if(i.status===409&&o.error===`stale_draft`&&typeof o.version==`number`){c({type:`draft/conflict`,version:o.version,message:`Draft changed elsewhere — review the latest and submit again.`}),e(`Draft changed elsewhere before submit. Your edits are kept; submit again to finalize.`);return}e(o.error??`submit failed: ${i.status}`)}catch(t){e(t instanceof Error?t.message:String(t))}})()},[s.submitRequested,d,i,a,o,p]);let h=(0,b.useRef)(!0);(0,b.useEffect)(()=>{if(h.current){h.current=!1;return}(async()=>{try{let e=await fetch(`/api/review`);if(!e.ok)return;let t=await e.json(),n=u.current;if(typeof t.version==`number`&&t.version<=n.version)return;n.saveState===`clean`&&n.composer===null?c({type:`server/replace`,review:t}):c({type:`draft/external-update`,version:t.version,message:`The draft changed elsewhere. Your unsaved edits are kept; saving will re-anchor them.`})}catch{}})()},[n]);let g=s.selection?Fh({id:`active`,line:s.selection.line,endLine:s.selection.endLine,colStart:s.selection.colStart,colEnd:s.selection.colEnd,lineText:``,comment:``,createdAt:``}):Fh({id:`active`,...Ug(s),lineText:``,comment:``,createdAt:``}),_=d?`read-only`:s.saveState===`saving`?`saving…`:s.saveState===`save-error`?`save error`:s.saveState===`conflict`?`conflict`:s.saveState===`dirty`?`unsaved`:`saved`;return(0,S.jsxs)(`div`,{className:Lt(`flex flex-col gap-4`,d&&`pointer-events-none opacity-60`),children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground`,children:[(0,S.jsxs)(`span`,{children:[s.comments.length,` comment`,s.comments.length===1?``:`s`,` · version `,s.version,` · `,_]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`list/toggle`}),children:s.listOpen?`Hide comments`:`Comments`}),(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`help/toggle`}),"aria-label":`Show review keyboard shortcuts`,children:`?`}),(0,S.jsx)(rn,{size:`sm`,onClick:()=>c({type:`submit/request`}),disabled:d,children:s.comments.length===0?`Looks good — submit`:`Submit review`})]})]}),s.saveState===`conflict`&&(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-red-500/50 bg-red-500/10 px-3 py-2 text-xs text-red-900 dark:text-red-200`,children:[(0,S.jsx)(`span`,{children:s.notice}),(0,S.jsx)(rn,{variant:`outline`,size:`sm`,onClick:()=>c({type:`draft/resolve-conflict`}),children:`Save my edits`})]}),s.notice!==null&&s.saveState!==`conflict`&&(0,S.jsx)(`div`,{className:`rounded-md border border-amber-500/50 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200`,children:s.notice}),(0,S.jsxs)(`div`,{className:Lt(`grid gap-4`,s.listOpen&&`lg:grid-cols-[minmax(0,1fr)_320px]`),children:[(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsx)(l_,{state:s,dispatch:c,scrollRef:l}),s.composer!==null&&(0,S.jsx)(u_,{composer:s.composer,onChange:e=>c({type:`composer/update`,buffer:e}),onSubmit:()=>c({type:`composer/submit`}),onCancel:()=>c({type:`composer/cancel`})}),s.composer===null&&!d&&(0,S.jsxs)(rn,{variant:`outline`,className:`w-fit`,onClick:()=>c({type:`composer/open`}),children:[`Add comment on `,g]})]}),s.listOpen&&(0,S.jsx)(d_,{comments:s.comments,activeIndex:s.listIndex,readOnly:d,onEdit:e=>c({type:`composer/edit`,id:e}),onDelete:e=>c({type:`comment/delete`,id:e}),onClose:()=>c({type:`list/close`})})]}),s.helpOpen&&(0,S.jsx)(p_,{onClose:()=>c({type:`help/close`})})]})}var g_={loading:0,ready:1,submitting:2,error:2,"taking-back":3,"pending-handoff":3,submitted:4,"taken-back":4,disconnected:4},__=new Set([`submitting->error`,`error->submitting`]);function v_(e,t){return g_[t]>g_[e]?!0:__.has(`${e}->${t}`)}function y_(){let[e,t]=(0,b.useState)(null),[n,r]=(0,b.useState)(null),[i,a]=(0,b.useState)([]),[o,s]=(0,b.useState)(null),[c,l]=(0,b.useState)(`loading`),[u,d]=(0,b.useState)(null),[f,p]=(0,b.useState)(0),[m,h]=(0,b.useState)(0),g=(0,b.useCallback)(e=>{l(t=>v_(t,e)?e:t)},[]);(0,b.useEffect)(()=>{fetch(`/api/surface`).then(e=>{if(!e.ok)throw Error(`surface load failed: ${e.status}`);return e.json()}).then(e=>(t(e.kind),e.kind===`deck`?fetch(`/api/interaction`).then(e=>{if(!e.ok)throw Error(`interaction load failed: ${e.status}`);return e.json()}).then(e=>{r(e.deck),a(Array.isArray(e.responses)?e.responses:[]),g(`ready`)}):fetch(`/api/review`).then(e=>{if(!e.ok)throw Error(`review load failed: ${e.status}`);return e.json()}).then(e=>{s(e),e.result.submitted?g(`submitted`):e.activated?g(`ready`):g(`pending-handoff`)}))).catch(e=>{d(e instanceof Error?e.message:String(e)),g(`error`)})},[g]),(0,b.useEffect)(()=>{let e=location.protocol===`https:`?`wss`:`ws`,t=new WebSocket(`${e}://${location.host}/ws`);return t.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`taken-back`?g(`taken-back`):t.type===`converged`?g(`submitted`):t.type===`review-draft-updated`?p(e=>e+1):t.type===`take-back-requested`&&(g(`taking-back`),h(e=>e+1))}catch{}},t.onclose=()=>{g(`disconnected`)},()=>t.close()},[g]);let _=(0,b.useCallback)(e=>{g(`submitting`),fetch(`/api/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({responses:e})}).then(e=>{if(!e.ok&&e.status!==409)throw Error(`submit failed: ${e.status}`);g(`submitted`)}).catch(e=>{d(e instanceof Error?e.message:String(e)),g(`error`)})},[g]),v=(0,b.useCallback)(()=>g(`submitting`),[g]),y=(0,b.useCallback)(()=>g(`submitted`),[g]),x=(0,b.useCallback)(e=>{d(e),g(`error`)},[g]),w=c===`submitting`||c===`taking-back`||c===`taken-back`||c===`submitted`||c===`pending-handoff`||c===`disconnected`;return(0,S.jsxs)(`div`,{className:Lt(`mx-auto flex min-h-screen flex-col gap-6 p-8 max-w-[120rem]`),children:[(0,S.jsxs)(`header`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:n?.title??(e===`review`?`humanloop — review`:`humanloop — browser surface`)}),(n?.source?.sessionName||n?.source?.askedBy)&&(0,S.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:[n.source?.sessionName,n.source?.askedBy].filter(Boolean).join(` · `)})]}),(0,S.jsx)(C,{status:c,error:u}),e===`deck`&&n&&(0,S.jsx)(Og,{deck:n,initialResponses:i,onSubmit:_,disabled:c!==`ready`}),e===`review`&&o&&(0,S.jsx)(h_,{review:o,readOnly:w,draftPing:f,takeBackPing:m,onSubmitting:v,onSubmitted:y,onError:x}),!n&&!o&&c===`loading`&&(0,S.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Loading…`})]})}(0,x.createRoot)(document.getElementById(`root`)).render((0,S.jsx)(b.StrictMode,{children:(0,S.jsx)(y_,{})}));export{o as n,l as r,Vm as t};