reflex-agent 0.5.0 → 0.7.0

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 (146) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +91 -91
  3. package/.next/app-path-routes-manifest.json +8 -8
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/server/app/_not-found/page.js +2 -2
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/agents/[agentId]/page.js +3 -3
  10. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/agents/[agentId]/respond/route.js +2 -2
  12. package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/oauth/callback/route.js +2 -2
  15. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +2 -2
  19. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +2 -2
  21. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +2 -2
  23. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
  25. package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
  26. package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
  28. package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
  29. package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +2 -2
  32. package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/audit/page.js +1 -1
  38. package/.next/server/app/audit/page.js.nft.json +1 -1
  39. package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/onboarding/page.js +4 -4
  41. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/page.js +2 -2
  43. package/.next/server/app/page.js.nft.json +1 -1
  44. package/.next/server/app/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
  46. package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
  47. package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
  49. package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
  50. package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/roots/[id]/page.js +3 -3
  52. package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
  53. package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
  55. package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/roots/[id]/workflows/page.js +1 -1
  57. package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
  58. package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/roots/new/page.js +3 -3
  60. package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/settings/page.js +4 -4
  62. package/.next/server/app/settings/page.js.nft.json +1 -1
  63. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/share/[id]/file/page.js +2 -2
  65. package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
  66. package/.next/server/app/share/[id]/page.js +2 -2
  67. package/.next/server/app/share/[id]/page.js.nft.json +1 -1
  68. package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
  69. package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
  70. package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
  71. package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
  72. package/.next/server/app/utilities/page.js +2 -2
  73. package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app-paths-manifest.json +8 -8
  75. package/.next/server/chunks/1869.js +1 -1
  76. package/.next/server/chunks/2485.js +1 -1
  77. package/.next/server/chunks/2559.js +1 -0
  78. package/.next/server/chunks/285.js +123 -17
  79. package/.next/server/chunks/{2995.js → 3152.js} +1 -1
  80. package/.next/server/chunks/3332.js +1 -1
  81. package/.next/server/chunks/3635.js +1 -0
  82. package/.next/server/chunks/3868.js +4 -0
  83. package/.next/server/chunks/4339.js +1 -1
  84. package/.next/server/chunks/4812.js +1 -1
  85. package/.next/server/chunks/5543.js +1 -1
  86. package/.next/server/chunks/6038.js +2 -2
  87. package/.next/server/chunks/6149.js +3 -0
  88. package/.next/server/chunks/6909.js +124 -18
  89. package/.next/server/chunks/6954.js +1 -0
  90. package/.next/server/chunks/795.js +1 -1
  91. package/.next/server/chunks/{4934.js → 8142.js} +1 -1
  92. package/.next/server/chunks/9098.js +1 -1
  93. package/.next/server/chunks/9496.js +1 -1
  94. package/.next/server/middleware-build-manifest.js +1 -1
  95. package/.next/server/middleware-manifest.json +5 -5
  96. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  97. package/.next/server/pages/500.html +1 -1
  98. package/.next/server/server-reference-manifest.js +1 -1
  99. package/.next/server/server-reference-manifest.json +1 -1
  100. package/.next/static/chunks/1580-740a1a70ef8ffa0d.js +1 -0
  101. package/.next/static/chunks/{7320-00a597d3985d7624.js → 1748-53319d5ec4411b05.js} +1 -1
  102. package/.next/static/chunks/357-75ffe19a5d55a8b8.js +1 -0
  103. package/.next/static/chunks/4108.86e2092ff9db450c.js +1 -0
  104. package/.next/static/chunks/4971-85de3cd4fda214ae.js +1 -0
  105. package/.next/static/chunks/7882-2b0a83d718b55183.js +1 -0
  106. package/.next/static/chunks/app/layout-64e60b0b8e0282d7.js +1 -0
  107. package/.next/static/chunks/app/onboarding/page-9601fcb7f4f95bf8.js +1 -0
  108. package/.next/static/chunks/app/page-7666e4bab61a7c9a.js +1 -0
  109. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/{page-f7c36b058c709b0a.js → page-790adae334559fee.js} +1 -1
  110. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/{page-0ed3a1f1311c348d.js → page-50409258dd7f5deb.js} +1 -1
  111. package/.next/static/chunks/app/roots/[id]/page-976f754ee926503d.js +1 -0
  112. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-fcc5eebbf3ebc541.js +1 -0
  113. package/.next/static/chunks/app/roots/new/page-2d2e4524a5804faa.js +1 -0
  114. package/.next/static/chunks/app/settings/page-830a2dbc2d81d341.js +1 -0
  115. package/.next/static/chunks/app/share/[id]/page-fc9bee69ce1ab695.js +1 -0
  116. package/.next/static/chunks/app/utilities/[scope]/[id]/page-2fc8d46da0544044.js +1 -0
  117. package/.next/static/chunks/app/utilities/page-14013c0eaaa83a58.js +1 -0
  118. package/.next/static/chunks/{webpack-f7bc4101f4444d07.js → webpack-84a033e55baef334.js} +1 -1
  119. package/.next/static/css/c46d970256fc7904.css +1 -0
  120. package/.next/trace +89 -89
  121. package/dist/lib/reflex/agents/prompts.js +66 -0
  122. package/dist/lib/reflex/agents/prompts.js.map +1 -1
  123. package/package.json +1 -1
  124. package/.next/server/chunks/1189.js +0 -1
  125. package/.next/server/chunks/1862.js +0 -4
  126. package/.next/server/chunks/6448.js +0 -3
  127. package/.next/server/chunks/899.js +0 -1
  128. package/.next/server/chunks/9829.js +0 -1
  129. package/.next/static/chunks/2905-ca16d00d09da792e.js +0 -1
  130. package/.next/static/chunks/3608-556a93ce17c48331.js +0 -1
  131. package/.next/static/chunks/4108.40efe5d61bfc7f08.js +0 -1
  132. package/.next/static/chunks/4200-fc9e833f8a521cff.js +0 -1
  133. package/.next/static/chunks/6919-830592f52172ae19.js +0 -1
  134. package/.next/static/chunks/app/layout-5d864c5e6de9cf17.js +0 -1
  135. package/.next/static/chunks/app/onboarding/page-ccaa9f5d106a765a.js +0 -1
  136. package/.next/static/chunks/app/page-bd26227f60ea0122.js +0 -1
  137. package/.next/static/chunks/app/roots/[id]/page-cd62fc140883317f.js +0 -1
  138. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-5b08fe35708be776.js +0 -1
  139. package/.next/static/chunks/app/roots/new/page-1a712172486a0f8f.js +0 -1
  140. package/.next/static/chunks/app/settings/page-632b39256dcf7ebb.js +0 -1
  141. package/.next/static/chunks/app/share/[id]/page-975a2a05e33257c9.js +0 -1
  142. package/.next/static/chunks/app/utilities/[scope]/[id]/page-424ecd0f018a58f0.js +0 -1
  143. package/.next/static/chunks/app/utilities/page-a5befa7a77ab5796.js +0 -1
  144. package/.next/static/css/60e9b6cdf1283e83.css +0 -1
  145. /package/.next/static/{AoffeFQkXIEvh9BnegJev → LRmct3V5fYVu_lgUdqH4x}/_buildManifest.js +0 -0
  146. /package/.next/static/{AoffeFQkXIEvh9BnegJev → LRmct3V5fYVu_lgUdqH4x}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2995,exports.ids=[2995],exports.modules={11178:(a,b,c)=>{c.d(b,{CA:()=>j,IK:()=>n,RP:()=>k,dj:()=>l,xO:()=>m});var d=c(73024),e=c(76760),f=c.n(e),g=c(30192),h=c.n(g),i=c(13474);async function j(a){let b=(0,i.FF)(a);return o(b,b)}async function k(a){let b=(0,i.FF)(a);try{let a=await o(b,b),c=a.reduce((a,b)=>a+b.size,0);return{exists:!0,fileCount:a.length,totalBytes:c}}catch{return{exists:!1,fileCount:0,totalBytes:0}}}async function l(a){let b=await j(a);return await Promise.all(b.map(async a=>({...a,meta:await p(a.abs)})))}async function m(a){return p(a)}async function n(a,b){let c=(0,i.FF)(a),e=f().resolve(c,b),g=f().relative(c,e);if(g.startsWith("..")||f().isAbsolute(g))throw Error(`Refused to read outside ${i.fW}: ${b}`);return d.promises.readFile(e,"utf8")}async function o(a,b){let c;try{c=await d.promises.readdir(b,{withFileTypes:!0})}catch{return[]}let e=[],g=[];for(let d of c){let c=f().join(b,d.name);if(d.isDirectory()){if(b===a&&"topics"===d.name)continue;e.push(o(a,c));continue}d.isFile()&&d.name.toLowerCase().endsWith(".md")&&g.push({rel:f().relative(a,c).split(f().sep).join("/"),abs:c,size:0,modifiedAt:""})}let h=await Promise.all(g.map(async a=>{try{let b=await d.promises.stat(a.abs);return{...a,size:b.size,modifiedAt:b.mtime.toISOString()}}catch{return a}}));for(let a of(await Promise.all(e)))h.push(...a);return h.sort((a,b)=>a.rel.localeCompare(b.rel)),h}async function p(a){try{let b=await d.promises.readFile(a,"utf8"),c=h()(b).data;return{...void 0!==q(c.title)?{title:q(c.title)}:{},...void 0!==r(c.version)?{version:r(c.version)}:{},...void 0!==q(c.date)?{date:q(c.date)}:{},...void 0!==q(c.kind)?{kind:q(c.kind)}:{},data:c}}catch{return{data:{}}}}function q(a){return"string"==typeof a?a:a instanceof Date?a.toISOString().slice(0,10):void 0}function r(a){if("string"==typeof a||"number"==typeof a)return a}},18746:(a,b,c)=>{c.d(b,{O1:()=>p,Gh:()=>q,AZ:()=>o,rD:()=>r,summarizeYoutubeAction:()=>n});var d=c(31776);c(428);var e=c(43180);let f=globalThis.__reflexGeminiModelsCache??new Map;async function g(a){let b,c=await (0,e.CG)("gemini");if(!c)throw Error("Gemini API key not configured");let d=c.slice(0,16),g=f.get(d);if(!a?.refresh&&g&&Date.now()-g.fetchedAt<36e5)return g.models;let i=[];do{let a=new URL("https://generativelanguage.googleapis.com/v1beta/models");a.searchParams.set("key",c),a.searchParams.set("pageSize","100"),b&&a.searchParams.set("pageToken",b);let d=await fetch(a.toString(),{headers:{Accept:"application/json"}});if(!d.ok){let a=await d.text();throw Error(`models.list HTTP ${d.status}: ${a.slice(0,500)}`)}let e=await d.json();for(let a of e.models??[]){if(!a.name)continue;let b=a.supportedGenerationMethods??[];if(!b.includes("generateContent"))continue;let c=a.name.toLowerCase();!c.includes("embedding")&&(c.includes("aqa")||i.push({name:a.name,id:a.name.replace(/^models\//,""),...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{},supportedGenerationMethods:b}))}b=e.nextPageToken}while(b);return i.sort(h),f.set(d,{fetchedAt:Date.now(),models:i}),i}function h(a,b){let c=i(a.id),d=i(b.id);if(c!==d)return c-d;let e=j(a.id),f=j(b.id);return e!==f?f-e:a.id.localeCompare(b.id)}function i(a){return a.endsWith("flash-latest")?0:a.includes("flash")&&!a.includes("lite")?1:a.includes("flash-lite")?2:a.endsWith("pro-latest")||a.includes("pro")?3:4}function j(a){let b=/gemini-(\d+)\.(\d+)/.exec(a);return b?100*Number(b[1])+Number(b[2]):0}async function k(a="general"){let b=await (0,e.$L)("gemini");if("video"===a&&b?.videoModel)return b.videoModel;if(b?.model)return b.model;try{let a=await g();if(a.length>0)return a[0].id}catch{}return"gemini-flash-latest"}async function l(a){let b=`https://generativelanguage.googleapis.com/v1beta/models/${encodeURIComponent(a.model)}:generateContent?key=${encodeURIComponent(a.apiKey)}`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a.contents,...a.generationConfig?{generationConfig:a.generationConfig}:{}})}),d=await c.text();if(!c.ok)throw Error(`Gemini HTTP ${c.status}: ${d.slice(0,800)}`);let e=JSON.parse(d);if(e.promptFeedback?.blockReason)throw Error(`Gemini blocked: ${e.promptFeedback.blockReason}`);return{text:(e.candidates??[]).flatMap(a=>a.content?.parts??[]).map(a=>a.text??"").filter(Boolean).join("\n").trim(),raw:e}}globalThis.__reflexGeminiModelsCache=f;var m=c(17640);async function n(a){var b;let c=await (0,e.CG)("gemini");if(!c)return{ok:!1,needsKey:!0,error:"Gemini API key is not saved — enter it to summarize videos."};let d=(await (0,m.M)()).language??"russian",f=a.prompt?.trim()||(b=d,/russ/i.test(b)||RegExp("рус","i").test(b)?"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (any memorable phrases) — with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway: the main point worth retaining.\n\nRespond in Russian, concisely. No filler.":"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (if any) with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway.\n\nBe concise. No filler."),g=a.modelOverride?.trim()||await k("video");try{let{text:b}=await l({model:g,apiKey:c,contents:[{parts:[{file_data:{file_uri:a.url,mime_type:"video/*"}},{text:f}]}]});if(!b)return{ok:!1,error:"Gemini returned an empty response — the video may be unavailable or private."};return{ok:!0,text:b,model:g}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function o(a){try{if(!a.trim())return{ok:!1,error:"API key is empty"};return await (0,e.Pc)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function p(a){return{ok:!0,present:await (0,e.hasApiKey)(a)}}async function q(a=!1){try{let b=await g({refresh:a});return{ok:!0,models:b.map(a=>({id:a.id,...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{}})),currentModel:await k("general"),currentVideoModel:await k("video")}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function r(a){try{return await (0,e.ND)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,c(97364).D)([n,o,p,q,r]),(0,d.A)(n,"40b059f91096cd065ba15298feca2514275bf3d64f",null),(0,d.A)(o,"40a9e3ea19ff7efc6593d5ae9558678b4ca05eaf04",null),(0,d.A)(p,"40b847d42cf05ea2b3310ca3a1a62f9c19ca910ca3",null),(0,d.A)(q,"40af3a8031c14f34a82ac50295ab2d603622acf1c5",null),(0,d.A)(r,"408098883d63fe3304b5ec8c555043b422e01d8c20",null)},24139:(a,b,c)=>{c.d(b,{Z:()=>h});var d=c(73024),e=c(74342);function f(){return globalThis.__reflexPendingCache||(globalThis.__reflexPendingCache=new Map),globalThis.__reflexPendingCache}async function g(a,b){let c,g=(0,e.Rs)(a,b);try{c=await d.promises.stat(g)}catch{return[]}let h=f().get(g);if(h&&h.mtimeMs===c.mtimeMs&&h.size===c.size)return h.result;let i=function(a,b){let c=new Map;for(let d of a)switch(d.type){case"permission-request":c.set(`p:${d.requestId}`,{kind:"permission",topicId:b,requestId:d.requestId,ts:d.ts,summary:d.tool?`Permission: ${d.tool}`:d.action??"Permission request",...d.description?{details:d.description}:{}});break;case"permission-response":c.delete(`p:${d.requestId}`);break;case"question":c.set(`q:${d.questionId}`,{kind:"question",topicId:b,requestId:d.questionId,ts:d.ts,summary:d.prompt.slice(0,200),...d.choices&&d.choices.length?{details:d.choices.join(" / ")}:{}});break;case"answer":c.delete(`q:${d.questionId}`);break;case"mcp-add-request":c.set(`m:${d.requestId}`,{kind:"mcp-add",topicId:b,requestId:d.requestId,ts:d.ts,summary:`MCP add: ${d.label}`,...d.description?{details:d.description}:{}});break;case"mcp-add-response":c.delete(`m:${d.requestId}`)}return[...c.values()]}(await (0,e.wj)(a,b),b);return f().set(g,{mtimeMs:c.mtimeMs,size:c.size,result:i}),i}async function h(a,b){let c=[];return await Promise.all(b.map(async b=>{let d=await g(a,b);c.push(...d)})),c.sort((a,b)=>a.ts<b.ts?1:-1),c}},43180:(a,b,c)=>{c.d(b,{$L:()=>j,CG:()=>k,ND:()=>n,Pc:()=>m,hasApiKey:()=>o});var d=c(73024),e=c(76760),f=c.n(e),g=c(29163);let h=f().join((0,g._)(),"api-keys");function i(a){return f().join(h,`${a}.json`)}async function j(a){try{let b=await d.promises.readFile(i(a),"utf8"),c=JSON.parse(b);if("string"!=typeof c.apiKey||0===c.apiKey.length)return null;return{apiKey:c.apiKey,..."string"==typeof c.model?{model:c.model}:{},..."string"==typeof c.videoModel?{videoModel:c.videoModel}:{},updatedAt:"string"==typeof c.updatedAt?c.updatedAt:new Date().toISOString()}}catch{return null}}async function k(a){let b=await j(a);return b?.apiKey??null}async function l(a,b){let c=i(a);await d.promises.mkdir(f().dirname(c),{recursive:!0}),await d.promises.writeFile(c,JSON.stringify(b,null,2)+"\n",{encoding:"utf8",mode:384});try{await d.promises.chmod(c,384)}catch{}}async function m(a,b){let c=await j(a);await l(a,{...c??{},apiKey:b.trim(),updatedAt:new Date().toISOString()})}async function n(a,b){let c=await j(a);if(!c)throw Error(`API key for "${a}" is not saved`);let d={apiKey:c.apiKey,updatedAt:new Date().toISOString()},e=void 0===b.model?c.model:b.model??void 0,f=void 0===b.videoModel?c.videoModel:b.videoModel??void 0;e&&(d.model=e),f&&(d.videoModel=f),await l(a,d)}async function o(a){return await k(a)!==null}},49353:(a,b,c)=>{c.d(b,{j:()=>j});var d=c(73024),e=c(76760),f=c.n(e),g=c(30192),h=c.n(g),i=c(13474);async function j(a){var b;let{rootPath:c,directive:e,provenance:g}=a,j=k(e.kind)||"note",m=new Date().toISOString().slice(0,10),n=((b=e.date)&&/^\d{4}-\d{2}-\d{2}$/.test(b)?b:null)??m,o=k(e.slug&&e.slug.trim()?e.slug:e.title)||"entry",p=`${n}-${o}`,q=f().join((0,i.FF)(c),j);await d.promises.mkdir(q,{recursive:!0});let r=await l(q,p,".md"),s={title:e.title,kind:j,date:n,version:1,...e.meta&&"object"==typeof e.meta?e.meta:{}};g&&(s.createdBy=`${g.kind}:${g.id}${g.version?"@"+g.version:""}`);let t=(e.body??"").replace(/\r\n/g,"\n").trimEnd(),u=h().stringify(t?t+"\n":"",s);await d.promises.writeFile(r,u,"utf8");let v=f().relative((0,i.FF)(c),r).split(f().sep).join("/");return{kind:j,title:e.title,relPath:v,absPath:r}}function k(a){return a.normalize("NFKD").toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,60)}async function l(a,b,c){let d=f().join(a,b+c),e=1;for(;await m(d);){if(e>99){d=f().join(a,`${b}-${Date.now().toString(36)}${c}`);break}d=f().join(a,`${b}-${++e}${c}`)}return d}async function m(a){try{return await d.promises.access(a),!0}catch{return!1}}}};
1
+ "use strict";exports.id=3152,exports.ids=[3152],exports.modules={11178:(a,b,c)=>{c.d(b,{CA:()=>j,IK:()=>n,RP:()=>k,dj:()=>l,xO:()=>m});var d=c(73024),e=c(76760),f=c.n(e),g=c(30192),h=c.n(g),i=c(13474);async function j(a){let b=(0,i.FF)(a);return o(b,b)}async function k(a){let b=(0,i.FF)(a);try{let a=await o(b,b),c=a.reduce((a,b)=>a+b.size,0);return{exists:!0,fileCount:a.length,totalBytes:c}}catch{return{exists:!1,fileCount:0,totalBytes:0}}}async function l(a){let b=await j(a);return await Promise.all(b.map(async a=>({...a,meta:await p(a.abs)})))}async function m(a){return p(a)}async function n(a,b){let c=(0,i.FF)(a),e=f().resolve(c,b),g=f().relative(c,e);if(g.startsWith("..")||f().isAbsolute(g))throw Error(`Refused to read outside ${i.fW}: ${b}`);return d.promises.readFile(e,"utf8")}async function o(a,b){let c;try{c=await d.promises.readdir(b,{withFileTypes:!0})}catch{return[]}let e=[],g=[];for(let d of c){let c=f().join(b,d.name);if(d.isDirectory()){if(b===a&&"topics"===d.name)continue;e.push(o(a,c));continue}d.isFile()&&d.name.toLowerCase().endsWith(".md")&&g.push({rel:f().relative(a,c).split(f().sep).join("/"),abs:c,size:0,modifiedAt:""})}let h=await Promise.all(g.map(async a=>{try{let b=await d.promises.stat(a.abs);return{...a,size:b.size,modifiedAt:b.mtime.toISOString()}}catch{return a}}));for(let a of(await Promise.all(e)))h.push(...a);return h.sort((a,b)=>a.rel.localeCompare(b.rel)),h}async function p(a){try{let b=await d.promises.readFile(a,"utf8"),c=h()(b).data;return{...void 0!==q(c.title)?{title:q(c.title)}:{},...void 0!==r(c.version)?{version:r(c.version)}:{},...void 0!==q(c.date)?{date:q(c.date)}:{},...void 0!==q(c.kind)?{kind:q(c.kind)}:{},data:c}}catch{return{data:{}}}}function q(a){return"string"==typeof a?a:a instanceof Date?a.toISOString().slice(0,10):void 0}function r(a){if("string"==typeof a||"number"==typeof a)return a}},18746:(a,b,c)=>{c.d(b,{O1:()=>p,Gh:()=>q,AZ:()=>o,rD:()=>r,summarizeYoutubeAction:()=>n});var d=c(31776);c(428);var e=c(43180);let f=globalThis.__reflexGeminiModelsCache??new Map;async function g(a){let b,c=await (0,e.CG)("gemini");if(!c)throw Error("Gemini API key not configured");let d=c.slice(0,16),g=f.get(d);if(!a?.refresh&&g&&Date.now()-g.fetchedAt<36e5)return g.models;let i=[];do{let a=new URL("https://generativelanguage.googleapis.com/v1beta/models");a.searchParams.set("key",c),a.searchParams.set("pageSize","100"),b&&a.searchParams.set("pageToken",b);let d=await fetch(a.toString(),{headers:{Accept:"application/json"}});if(!d.ok){let a=await d.text();throw Error(`models.list HTTP ${d.status}: ${a.slice(0,500)}`)}let e=await d.json();for(let a of e.models??[]){if(!a.name)continue;let b=a.supportedGenerationMethods??[];if(!b.includes("generateContent"))continue;let c=a.name.toLowerCase();!c.includes("embedding")&&(c.includes("aqa")||i.push({name:a.name,id:a.name.replace(/^models\//,""),...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{},supportedGenerationMethods:b}))}b=e.nextPageToken}while(b);return i.sort(h),f.set(d,{fetchedAt:Date.now(),models:i}),i}function h(a,b){let c=i(a.id),d=i(b.id);if(c!==d)return c-d;let e=j(a.id),f=j(b.id);return e!==f?f-e:a.id.localeCompare(b.id)}function i(a){return a.endsWith("flash-latest")?0:a.includes("flash")&&!a.includes("lite")?1:a.includes("flash-lite")?2:a.endsWith("pro-latest")||a.includes("pro")?3:4}function j(a){let b=/gemini-(\d+)\.(\d+)/.exec(a);return b?100*Number(b[1])+Number(b[2]):0}async function k(a="general"){let b=await (0,e.$L)("gemini");if("video"===a&&b?.videoModel)return b.videoModel;if(b?.model)return b.model;try{let a=await g();if(a.length>0)return a[0].id}catch{}return"gemini-flash-latest"}async function l(a){let b=`https://generativelanguage.googleapis.com/v1beta/models/${encodeURIComponent(a.model)}:generateContent?key=${encodeURIComponent(a.apiKey)}`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a.contents,...a.generationConfig?{generationConfig:a.generationConfig}:{}})}),d=await c.text();if(!c.ok)throw Error(`Gemini HTTP ${c.status}: ${d.slice(0,800)}`);let e=JSON.parse(d);if(e.promptFeedback?.blockReason)throw Error(`Gemini blocked: ${e.promptFeedback.blockReason}`);return{text:(e.candidates??[]).flatMap(a=>a.content?.parts??[]).map(a=>a.text??"").filter(Boolean).join("\n").trim(),raw:e}}globalThis.__reflexGeminiModelsCache=f;var m=c(17640);async function n(a){var b;let c=await (0,e.CG)("gemini");if(!c)return{ok:!1,needsKey:!0,error:"Gemini API key is not saved — enter it to summarize videos."};let d=(await (0,m.M)()).language??"russian",f=a.prompt?.trim()||(b=d,/russ/i.test(b)||RegExp("рус","i").test(b)?"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (any memorable phrases) — with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway: the main point worth retaining.\n\nRespond in Russian, concisely. No filler.":"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (if any) with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway.\n\nBe concise. No filler."),g=a.modelOverride?.trim()||await k("video");try{let{text:b}=await l({model:g,apiKey:c,contents:[{parts:[{file_data:{file_uri:a.url,mime_type:"video/*"}},{text:f}]}]});if(!b)return{ok:!1,error:"Gemini returned an empty response — the video may be unavailable or private."};return{ok:!0,text:b,model:g}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function o(a){try{if(!a.trim())return{ok:!1,error:"API key is empty"};return await (0,e.Pc)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function p(a){return{ok:!0,present:await (0,e.hasApiKey)(a)}}async function q(a=!1){try{let b=await g({refresh:a});return{ok:!0,models:b.map(a=>({id:a.id,...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{}})),currentModel:await k("general"),currentVideoModel:await k("video")}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function r(a){try{return await (0,e.ND)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,c(97364).D)([n,o,p,q,r]),(0,d.A)(n,"408c0ad85dae45d66a47ce63a7e36c290ec25af47d",null),(0,d.A)(o,"40b0a116af1bfb9f70336ace63436ef128cfd4c6b6",null),(0,d.A)(p,"4036300f8624cb51c0e2918c09796cbcd4025824b4",null),(0,d.A)(q,"4031d5ebb9cc210e06f8217d6bc629135ef4c1f5bd",null),(0,d.A)(r,"40082ec70d0b2a4630ca385f69cd615a7db57e5a23",null)},24139:(a,b,c)=>{c.d(b,{Z:()=>h});var d=c(73024),e=c(74342);function f(){return globalThis.__reflexPendingCache||(globalThis.__reflexPendingCache=new Map),globalThis.__reflexPendingCache}async function g(a,b){let c,g=(0,e.Rs)(a,b);try{c=await d.promises.stat(g)}catch{return[]}let h=f().get(g);if(h&&h.mtimeMs===c.mtimeMs&&h.size===c.size)return h.result;let i=function(a,b){let c=new Map;for(let d of a)switch(d.type){case"permission-request":c.set(`p:${d.requestId}`,{kind:"permission",topicId:b,requestId:d.requestId,ts:d.ts,summary:d.tool?`Permission: ${d.tool}`:d.action??"Permission request",...d.description?{details:d.description}:{}});break;case"permission-response":c.delete(`p:${d.requestId}`);break;case"question":c.set(`q:${d.questionId}`,{kind:"question",topicId:b,requestId:d.questionId,ts:d.ts,summary:d.prompt.slice(0,200),...d.choices&&d.choices.length?{details:d.choices.join(" / ")}:{}});break;case"answer":c.delete(`q:${d.questionId}`);break;case"mcp-add-request":c.set(`m:${d.requestId}`,{kind:"mcp-add",topicId:b,requestId:d.requestId,ts:d.ts,summary:`MCP add: ${d.label}`,...d.description?{details:d.description}:{}});break;case"mcp-add-response":c.delete(`m:${d.requestId}`)}return[...c.values()]}(await (0,e.wj)(a,b),b);return f().set(g,{mtimeMs:c.mtimeMs,size:c.size,result:i}),i}async function h(a,b){let c=[];return await Promise.all(b.map(async b=>{let d=await g(a,b);c.push(...d)})),c.sort((a,b)=>a.ts<b.ts?1:-1),c}},43180:(a,b,c)=>{c.d(b,{$L:()=>j,CG:()=>k,ND:()=>n,Pc:()=>m,hasApiKey:()=>o});var d=c(73024),e=c(76760),f=c.n(e),g=c(29163);let h=f().join((0,g._)(),"api-keys");function i(a){return f().join(h,`${a}.json`)}async function j(a){try{let b=await d.promises.readFile(i(a),"utf8"),c=JSON.parse(b);if("string"!=typeof c.apiKey||0===c.apiKey.length)return null;return{apiKey:c.apiKey,..."string"==typeof c.model?{model:c.model}:{},..."string"==typeof c.videoModel?{videoModel:c.videoModel}:{},updatedAt:"string"==typeof c.updatedAt?c.updatedAt:new Date().toISOString()}}catch{return null}}async function k(a){let b=await j(a);return b?.apiKey??null}async function l(a,b){let c=i(a);await d.promises.mkdir(f().dirname(c),{recursive:!0}),await d.promises.writeFile(c,JSON.stringify(b,null,2)+"\n",{encoding:"utf8",mode:384});try{await d.promises.chmod(c,384)}catch{}}async function m(a,b){let c=await j(a);await l(a,{...c??{},apiKey:b.trim(),updatedAt:new Date().toISOString()})}async function n(a,b){let c=await j(a);if(!c)throw Error(`API key for "${a}" is not saved`);let d={apiKey:c.apiKey,updatedAt:new Date().toISOString()},e=void 0===b.model?c.model:b.model??void 0,f=void 0===b.videoModel?c.videoModel:b.videoModel??void 0;e&&(d.model=e),f&&(d.videoModel=f),await l(a,d)}async function o(a){return await k(a)!==null}},49353:(a,b,c)=>{c.d(b,{j:()=>j});var d=c(73024),e=c(76760),f=c.n(e),g=c(30192),h=c.n(g),i=c(13474);async function j(a){var b;let{rootPath:c,directive:e,provenance:g}=a,j=k(e.kind)||"note",m=new Date().toISOString().slice(0,10),n=((b=e.date)&&/^\d{4}-\d{2}-\d{2}$/.test(b)?b:null)??m,o=k(e.slug&&e.slug.trim()?e.slug:e.title)||"entry",p=`${n}-${o}`,q=f().join((0,i.FF)(c),j);await d.promises.mkdir(q,{recursive:!0});let r=await l(q,p,".md"),s={title:e.title,kind:j,date:n,version:1,...e.meta&&"object"==typeof e.meta?e.meta:{}};g&&(s.createdBy=`${g.kind}:${g.id}${g.version?"@"+g.version:""}`);let t=(e.body??"").replace(/\r\n/g,"\n").trimEnd(),u=h().stringify(t?t+"\n":"",s);await d.promises.writeFile(r,u,"utf8");let v=f().relative((0,i.FF)(c),r).split(f().sep).join("/");return{kind:j,title:e.title,relPath:v,absPath:r}}function k(a){return a.normalize("NFKD").toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,60)}async function l(a,b,c){let d=f().join(a,b+c),e=1;for(;await m(d);){if(e>99){d=f().join(a,`${b}-${Date.now().toString(36)}${c}`);break}d=f().join(a,`${b}-${++e}${c}`)}return d}async function m(a){try{return await d.promises.access(a),!0}catch{return!1}}},99048:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{T:()=>h});var e=c(7206),f=c(17640),g=a([e]);async function h(a,b,c){let d=c?.timeoutMs??3e4;if("claude-code"===a.harness)return(await (0,e.execa)("claude",["-p",b,"--permission-mode","default","--allowedTools","","--model",a.model],{timeout:d,stdio:["ignore","pipe","pipe"]})).stdout.trim();if("codex"===a.harness)return(await (0,e.execa)("codex",["exec","--sandbox","read-only","--model",a.model,b],{timeout:d,stdio:["ignore","pipe","pipe"]})).stdout.trim();if("ollama"===a.harness){let c=(await (0,f.M)()).harnesses.ollama.baseUrl.replace(/\/$/,""),e=await fetch(`${c}/api/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:a.model,prompt:b,stream:!1}),signal:AbortSignal.timeout(d)});if(!e.ok)throw Error(`Ollama /api/generate HTTP ${e.status}`);return((await e.json()).response??"").trim()}throw Error(`Unsupported quick harness: ${a.harness}`)}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- "use strict";exports.id=3332,exports.ids=[3332],exports.modules={24367:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(3265);let e=(0,d.createServerReference)("6075f400db02bf919611c69832eb5b9a477cd4a638",d.callServer,void 0,d.findSourceMapURL,"beginOAuthAction")},33332:(a,b,c)=>{c.d(b,{beginOAuthAction:()=>g.T,getOAuthClientAction:()=>f.J,listOAuthStatusesAction:()=>d.o,saveOAuthClientAction:()=>e.S});var d=c(35758),e=c(44440),f=c(83172),g=c(24367)},35758:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00813adca886d08c77212e0bdb87e4a5dd2cc35f2e",d.callServer,void 0,d.findSourceMapURL,"listOAuthStatusesAction")},44440:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40926a153352e19d9f49d7c7a85b04ebd254f2732d",d.callServer,void 0,d.findSourceMapURL,"saveOAuthClientAction")},83172:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40cf3e7cf17ce0b0dfe3e26301f79f81239d673621",d.callServer,void 0,d.findSourceMapURL,"getOAuthClientAction")}};
1
+ "use strict";exports.id=3332,exports.ids=[3332],exports.modules={8550:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00e5c813d1d02335c804afd0df400b492aa16cd3e7",d.callServer,void 0,d.findSourceMapURL,"listOAuthStatusesAction")},15226:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(3265);let e=(0,d.createServerReference)("6091270221f4de80ebf1e48cbd5a86b1de289cc390",d.callServer,void 0,d.findSourceMapURL,"beginOAuthAction")},33332:(a,b,c)=>{c.d(b,{beginOAuthAction:()=>g.T,getOAuthClientAction:()=>f.J,listOAuthStatusesAction:()=>d.o,saveOAuthClientAction:()=>e.S});var d=c(8550),e=c(34290),f=c(61978),g=c(15226)},34290:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(3265);let e=(0,d.createServerReference)("4006666f70b6dbbc71c944cadf7c60ce332f11107c",d.callServer,void 0,d.findSourceMapURL,"saveOAuthClientAction")},61978:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40cf8f4d5501e919e573c73b6d14701d7cbeb2a673",d.callServer,void 0,d.findSourceMapURL,"getOAuthClientAction")}};
@@ -0,0 +1 @@
1
+ exports.id=3635,exports.ids=[3635],exports.modules={17596:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(19963).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},24576:(a,b,c)=>{"use strict";c.d(b,{Zn:()=>p,_S:()=>q,mM:()=>l,qV:()=>o});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g);let i=(0,c(29163)._)(),j=f().join(i,"registry.json"),k={version:1,entries:[]};function l(a){return h().createHash("sha1").update(f().resolve(a)).digest("hex").slice(0,16)}async function m(){try{let a=await d.promises.readFile(j,"utf8"),b=JSON.parse(a);if("object"==typeof b&&null!==b&&"entries"in b&&Array.isArray(b.entries))return b;return k}catch(a){if("object"==typeof a&&null!==a&&"code"in a&&"ENOENT"===a.code)return k;throw a}}async function n(a){await d.promises.mkdir(i,{recursive:!0}),await d.promises.writeFile(j,JSON.stringify(a,null,2)+"\n","utf8")}async function o(){return[...(await m()).entries].sort((a,b)=>Date.parse(b.addedAt)-Date.parse(a.addedAt))}async function p(a){return(await m()).entries.find(b=>b.id===a)??null}async function q(a){let b=f().resolve(a),c=l(b),d=await m(),e=d.entries.find(a=>a.id===c);if(e)return e;let g={id:c,path:b,addedAt:new Date().toISOString()};return await n({...d,entries:[...d.entries,g]}),g}},26290:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(83243),e=c(86103);function f(...a){return(0,e.QP)((0,d.$)(a))}},29163:(a,b,c)=>{"use strict";c.d(b,{_:()=>h});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);function h(){let a=process.env.REFLEX_HOME;return a&&a.length>0?a:g().join(e().homedir(),".reflex")}},34818:(a,b,c)=>{Promise.resolve().then(c.bind(c,60524)),Promise.resolve().then(c.bind(c,50155)),Promise.resolve().then(c.bind(c,26922)),Promise.resolve().then(c.bind(c,79008)),Promise.resolve().then(c.bind(c,68146)),Promise.resolve().then(c.bind(c,60936)),Promise.resolve().then(c.bind(c,65138)),Promise.resolve().then(c.bind(c,68902)),Promise.resolve().then(c.bind(c,69644)),Promise.resolve().then(c.bind(c,49186)),Promise.resolve().then(c.bind(c,93099)),Promise.resolve().then(c.bind(c,83594)),Promise.resolve().then(c.bind(c,24375)),Promise.resolve().then(c.bind(c,67135)),Promise.resolve().then(c.bind(c,85105)),Promise.resolve().then(c.bind(c,41886)),Promise.resolve().then(c.bind(c,33309)),Promise.resolve().then(c.bind(c,37550)),Promise.resolve().then(c.bind(c,96623)),Promise.resolve().then(c.bind(c,77372)),Promise.resolve().then(c.bind(c,65478)),Promise.resolve().then(c.bind(c,97230)),Promise.resolve().then(c.bind(c,73552)),Promise.resolve().then(c.bind(c,391)),Promise.resolve().then(c.bind(c,4235)),Promise.resolve().then(c.bind(c,41138)),Promise.resolve().then(c.bind(c,60877)),Promise.resolve().then(c.bind(c,7671)),Promise.resolve().then(c.bind(c,5637)),Promise.resolve().then(c.bind(c,36786)),Promise.resolve().then(c.t.bind(c,20594,23))},50895:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(34750),e=c(22708),f=c(1278),g=c(14851),h=(0,d.cache)(function(a,b){return function({_cache:a=(0,f.b)(),_formatters:b=(0,f.c)(a),getMessageFallback:c=g.d,messages:d,namespace:e,onError:h=g.b,...i}){return function({messages:a,namespace:b,...c},d){return a=a["!"],b=(0,g.r)(b,"!"),(0,g.a)({...c,messages:a,namespace:b})}({...i,onError:h,cache:a,formatters:b,getMessageFallback:c,messages:{"!":d},namespace:e?`!.${e}`:"!"},"!")}({...a,namespace:b})}),i=(0,d.cache)(async function(a){let b,c;return"string"==typeof a?b=a:a&&(c=a.locale,b=a.namespace),h(await (0,e.A)(c),b)})},52970:(a,b,c)=>{Promise.resolve().then(c.bind(c,68394)),Promise.resolve().then(c.bind(c,51189)),Promise.resolve().then(c.bind(c,66180)),Promise.resolve().then(c.bind(c,75266)),Promise.resolve().then(c.bind(c,14360)),Promise.resolve().then(c.bind(c,6786)),Promise.resolve().then(c.bind(c,44896)),Promise.resolve().then(c.bind(c,14848)),Promise.resolve().then(c.bind(c,53710)),Promise.resolve().then(c.bind(c,30544)),Promise.resolve().then(c.bind(c,13829)),Promise.resolve().then(c.bind(c,90044)),Promise.resolve().then(c.bind(c,57673)),Promise.resolve().then(c.bind(c,97053)),Promise.resolve().then(c.bind(c,43151)),Promise.resolve().then(c.bind(c,12156)),Promise.resolve().then(c.bind(c,71615)),Promise.resolve().then(c.bind(c,4080)),Promise.resolve().then(c.bind(c,87177)),Promise.resolve().then(c.bind(c,87634)),Promise.resolve().then(c.bind(c,6912)),Promise.resolve().then(c.bind(c,13976)),Promise.resolve().then(c.bind(c,18282)),Promise.resolve().then(c.bind(c,20633)),Promise.resolve().then(c.bind(c,61193)),Promise.resolve().then(c.bind(c,66188)),Promise.resolve().then(c.bind(c,66643)),Promise.resolve().then(c.bind(c,81669)),Promise.resolve().then(c.bind(c,39991)),Promise.resolve().then(c.bind(c,54972)),Promise.resolve().then(c.t.bind(c,1056,23))},60524:(a,b,c)=>{"use strict";c.d(b,{Separator:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/reflex-agent/reflex-agent/components/ui/separator.tsx","Separator")},67248:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(63003);c(34750);var e=c(86209),f=c(65715),g=c(26290);let h=(0,e.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},73250:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"00b61a40fac9b21ad6f4e4a76e87038390efedf684":()=>g.i,"400b14da94f93e958c4820fd255e1dba2e675ee5f0":()=>e.nC,"402cdd8397ff9d25cf4ad96075ea3622884b135a60":()=>h.$z,"4035e97d85d70e8eaaa8557d97eb59e375c117b7ed":()=>f.z,"404831e19a27eaf506c581594c309ef4e315f8d1f4":()=>h.MU,"404d0691571f379f1db2b8d7dbf5fcdeafee79e0fc":()=>f.u,"4059b8409808eb39568df1892a8b5fd4e837e3d373":()=>e.nY,"60ac998057a449ec671cc27babf2c5ce2a9f8c3995":()=>h.Tc,"60c82dbc54ebebde5ee157e85e01721ad76126b665":()=>e.L4,"60c8f40603d8894bb9dca7e05ed01a48c9a8eaa186":()=>e.T$,"60dea53b5c3903235447bf5cd591581728eb160d4a":()=>e.OQ,"7027419a080ac59b35fddc6e37eabafe99c092b625":()=>e.h$,"78c5512a5e07397f4abcfe04dfa901cfa1b305a904":()=>e.g3});var e=c(13415),f=c(3890),g=c(50995),h=c(15754),i=a([e,h]);[e,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},84913:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(63003);c(34750);var e=c(86209),f=c(65715),g=c(26290);let h=(0,e.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}}};
@@ -0,0 +1,4 @@
1
+ "use strict";exports.id=3868,exports.ids=[3868],exports.modules={14810:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00b0deb580b821c13cd7747b74bb8d461e8fbb8922",d.callServer,void 0,d.findSourceMapURL,"getTunnelStatusAction")},16856:(a,b,c)=>{c.d(b,{Is:()=>g,L8:()=>h,ns:()=>i});var d=c(73745);c(66493);var e=c(65326),f=c(30878);async function g(a){try{if("utility"===a.kind&&(!a.utilityId||!a.utilityScope))return{ok:!1,error:"share kind=utility requires utilityId + utilityScope"};if("kb-file"===a.kind&&(!a.rootId||!a.kbRelPath))return{ok:!1,error:"share kind=kb-file requires rootId + kbRelPath"};if(("kb-tree"===a.kind||"project"===a.kind)&&!a.rootId)return{ok:!1,error:`share kind=${a.kind} requires rootId`};let b=await (0,f.cn)(a);return(0,e.revalidatePath)("/settings"),{ok:!0,share:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function h(){return{shares:await (0,f.Bg)()}}async function i(a){let b=await (0,f.Ru)(a);return(0,e.revalidatePath)("/settings"),{ok:b}}(0,c(63781).D)([g,h,i]),(0,d.A)(g,"40d743a93d1471d5f57fe5f4440fb41cb460706bd1",null),(0,d.A)(h,"00ed88f596870410ad47d1256a36378907bba6411b",null),(0,d.A)(i,"40626117cb2bab0b0c8473199e2e3278a5061e6b58",null)},30878:(a,b,c)=>{c.d(b,{BE:()=>o,Bg:()=>m,Ru:()=>q,cn:()=>p,er:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"shares.json");async function k(){try{let a=await d.promises.readFile(j,"utf8"),b=JSON.parse(a);if(b&&Array.isArray(b.shares))return b}catch{}return{version:1,shares:[]}}async function l(a){await d.promises.mkdir(f().dirname(j),{recursive:!0}),await d.promises.writeFile(j,JSON.stringify(a,null,2)+"\n",{mode:384})}async function m(){return(await k()).shares}async function n(a){return(await k()).shares.find(b=>b.id===a)??null}function o(a,b){if(!a.passwordHash)return!0;if(!a.passwordSalt)return!1;let c=h().createHash("sha256").update(a.passwordSalt+":"+b).digest("hex");return h().timingSafeEqual(Buffer.from(c,"hex"),Buffer.from(a.passwordHash,"hex"))}async function p(a){let b=await k(),c={id:function(){let a="abcdefghjkmnpqrstuvwxyz23456789",b="";for(let c=0;c<12;c++)b+=a[h().randomInt(0,a.length)];return b}(),kind:a.kind,createdAt:new Date().toISOString(),...a.rootId?{rootId:a.rootId}:{},...a.utilityScope?{utilityScope:a.utilityScope}:{},...a.utilityId?{utilityId:a.utilityId}:{},...a.kbRelPath?{kbRelPath:a.kbRelPath}:{},...a.expiresAt?{expiresAt:a.expiresAt}:{},...a.label?{label:a.label}:{}};if(a.password){let{salt:b,hash:d}=function(a){let b=h().randomBytes(16).toString("hex"),c=h().createHash("sha256").update(b+":"+a).digest("hex");return{salt:b,hash:c}}(a.password);c.passwordSalt=b,c.passwordHash=d}return b.shares=[c,...b.shares],await l(b),c}async function q(a){let b=await k(),c=b.shares.length;return b.shares=b.shares.filter(b=>b.id!==a),b.shares.length!==c&&(await l(b),!0)}},42382:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(64173);c(17240);var e=c(20483),f=c(91520),g=c(91344);let h=(0,e.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},47071:(a,b,c)=>{c.d(b,{p:()=>f});var d=c(64173);c(17240);var e=c(91344);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.cn)("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",a),...c})}},60524:(a,b,c)=>{c.d(b,{Separator:()=>d});let d=(0,c(54491).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/reflex-agent/reflex-agent/components/ui/separator.tsx","Separator")},80281:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(64173);c(17240);var e=c(90044),f=c(91344);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},92814:(a,b,c)=>{c.d(b,{Ng:()=>s,bt:()=>v,Zl:()=>w,Nt:()=>t,Fm:()=>u});var d=c(73745);c(66493);var e=c(65326),f=c(36017),g=c(31421),h=c(73024),i=c(76760),j=c.n(i),k=c(73652);let l="__reflex_ngrok_tunnel__";function m(){return globalThis[l]}function n(a){globalThis[l]=a}async function o(a){let b;if(!a.authtoken)return{ok:!1,error:"ngrok authtoken is required"};let c=m();if(c&&null===c.child.exitCode)return{ok:!1,error:"Tunnel already running — stop it first."};let d=(0,k._)();await h.promises.mkdir(d,{recursive:!0});let e=j().join(d,"ngrok.yml");await h.promises.writeFile(e,`version: 3
2
+ agent:
3
+ authtoken: ${a.authtoken}
4
+ `,{mode:384});let f=["http",String(a.port),"--config",e,"--log","stdout","--log-format","json"];a.domain&&f.push(`--domain=${a.domain}`);try{b=(0,g.spawn)("ngrok",f,{detached:!1,stdio:["ignore","pipe","pipe"]})}catch(a){return{ok:!1,error:"Failed to spawn ngrok — is the CLI installed and on PATH? "+(a instanceof Error?a.message:String(a))}}return b.on("error",a=>{console.error("[ngrok] spawn error:",a)}),b.on("exit",(a,c)=>{console.log(`[ngrok] tunnel exited code=${a} signal=${c??"-"}`);let d=m();d?.child===b&&n(void 0)}),b.stdout?.on("data",a=>{let b=a.toString().trim();b&&console.log("[ngrok]",b)}),b.stderr?.on("data",a=>{let b=a.toString().trim();b&&console.error("[ngrok!]",b)}),n({child:b,startedAt:new Date().toISOString(),port:a.port,...a.domain?{domain:a.domain}:{}}),{ok:!0}}async function p(){let a=Date.now()+6e3;for(;Date.now()<a;){try{let a=await fetch("http://127.0.0.1:4040/api/tunnels");if(a.ok){let b=await a.json(),c=b.tunnels.find(a=>"https"===a.proto),d=b.tunnels[0],e=c?.public_url??d?.public_url;if(e){let a=m();return a&&(a.publicUrl=e,n(a)),e}}}catch{}await new Promise(a=>setTimeout(a,400))}return null}async function q(){return new Promise(a=>{try{let b=(0,g.spawn)("ngrok",["version"],{stdio:["ignore","pipe","ignore"]}),c="";b.stdout?.on("data",a=>{c+=a.toString()}),b.on("close",()=>a(c.trim()||null)),b.on("error",()=>a(null))}catch{a(null)}})}async function r(a){if(!a)return{ok:!1,error:"ngrok API key not configured"};try{let b=await fetch("https://api.ngrok.com/reserved_domains",{headers:{Authorization:`Bearer ${a}`,"Ngrok-Version":"2"}});if(!b.ok)return{ok:!1,error:`ngrok API ${b.status}: ${(await b.text()).slice(0,200)}`};let c=await b.json();return{ok:!0,domains:(c.reserved_domains??[]).map(a=>({id:a.id,domain:a.domain,region:a.region}))}}catch(a){return{ok:!1,error:"ngrok API call failed: "+(a instanceof Error?a.message:String(a))}}}async function s(){let a=function(){let a=m();return a?null!==a.child.exitCode?(n(void 0),{running:!1}):{running:!0,...a.publicUrl?{publicUrl:a.publicUrl}:{},startedAt:a.startedAt,port:a.port,...a.domain?{domain:a.domain}:{}}:{running:!1}}();return{status:a,cliVersion:await q(),publicHost:process.env.REFLEX_NGROK_HOST??null}}async function t(){let a=await (0,f.M)();if(!a.ngrok.authtoken)return{ok:!1,error:"ngrok.authtoken is empty — fill it in the settings above."};let b=await o({port:a.ngrok.port,authtoken:a.ngrok.authtoken,...a.ngrok.domain?{domain:a.ngrok.domain}:{}});if(!b.ok)return b;let c=await p();if(c)try{let a=new URL(c);process.env.REFLEX_NGROK_HOST=a.host}catch{}return(0,e.revalidatePath)("/settings"),{ok:!0,publicUrl:c}}async function u(){let a=await new Promise(a=>{let b=m();if(!b)return void a(!1);let{child:c}=b,d=!1,e=b=>{d||(d=!0,n(void 0),a(b))};if(c.once("exit",()=>e(!0)),null!==c.exitCode)return void e(!0);try{c.kill("SIGTERM")}catch(a){console.error("[ngrok] SIGTERM failed:",a)}setTimeout(()=>{if(!d){try{c.kill("SIGKILL")}catch{}e(!0)}},2500)});return delete process.env.REFLEX_NGROK_HOST,(0,e.revalidatePath)("/settings"),{ok:a}}async function v(a){try{let b=await (0,f.M)(),c={...b,ngrok:{...b.ngrok,...a}};return await (0,f.D)(c),(0,e.revalidatePath)("/settings"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function w(){return r((await (0,f.M)()).ngrok.apiKey)}(0,c(63781).D)([s,t,u,v,w]),(0,d.A)(s,"00b0deb580b821c13cd7747b74bb8d461e8fbb8922",null),(0,d.A)(t,"00cb7bf650409cb042160f9091c01d274a508cd66e",null),(0,d.A)(u,"007940bf808154f76026b158effd8381461416bda8",null),(0,d.A)(v,"40bbbfbf70cc4f50aa1312ef994664910de49789b4",null),(0,d.A)(w,"00b1b8c26254a90b5cbca1823c1d7e78df881a2736",null)}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4339,exports.ids=[4339],exports.modules={64339:(a,b,c)=>{c.d(b,{diagram:()=>aq});var d,e=c(75260),f=c(86947),g=c(41553),h=c(77703),i=c(7285),j=c(86317),k=c(36323);let l=(a,b)=>(0,k.A)(a,"a",-b);var m=c(1141),n=c(34556);function o(a,b){let c=function(a){let b=[];for(let c=0;c<a.length;++c)for(let d=c+1;d<a.length;++d)for(let e of s(a[c],a[d]))e.parentIndex=[c,d],b.push(e);return b}(a),d=c.filter(b=>{var c;return c=b,a.every(a=>q(c,a)<a.radius+1e-10)}),e=0,f=0,g=[];if(d.length>1){let b=t(d);for(let a=0;a<d.length;++a){let c=d[a];c.angle=Math.atan2(c.x-b.x,c.y-b.y)}d.sort((a,b)=>b.angle-a.angle);let c=d[d.length-1];for(let b=0;b<d.length;++b){let h=d[b];f+=(c.x+h.x)*(h.y-c.y);let i={x:(h.x+c.x)/2,y:(h.y+c.y)/2},j=null;for(let b=0;b<h.parentIndex.length;++b)if(c.parentIndex.includes(h.parentIndex[b])){let d=a[h.parentIndex[b]],e=Math.atan2(h.x-d.x,h.y-d.y),f=Math.atan2(c.x-d.x,c.y-d.y),g=f-e;g<0&&(g+=2*Math.PI);let k=f-g/2,l=q(i,{x:d.x+d.radius*Math.sin(k),y:d.y+d.radius*Math.cos(k)});l>2*d.radius&&(l=2*d.radius),(null==j||j.width>l)&&(j={circle:d,width:l,p1:h,p2:c,large:l>d.radius,sweep:!0})}null!=j&&(g.push(j),e+=p(j.circle.radius,j.width),c=h)}}else{let b=a[0];for(let c=1;c<a.length;++c)a[c].radius<b.radius&&(b=a[c]);let c=!1;for(let d=0;d<a.length;++d)if(q(a[d],b)>Math.abs(b.radius-a[d].radius)){c=!0;break}c?e=f=0:(e=b.radius*b.radius*Math.PI,g.push({circle:b,p1:{x:b.x,y:b.y+b.radius},p2:{x:b.x-1e-10,y:b.y+b.radius},width:2*b.radius,large:!0,sweep:!0}))}return f/=2,b&&(b.area=e+f,b.arcArea=e,b.polygonArea=f,b.arcs=g,b.innerPoints=d,b.intersectionPoints=c),e+f}function p(a,b){return a*a*Math.acos(1-b/a)-(a-b)*Math.sqrt(b*(2*a-b))}function q(a,b){return Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))}function r(a,b,c){return c>=a+b?0:c<=Math.abs(a-b)?Math.PI*Math.min(a,b)*Math.min(a,b):p(a,a-(c*c-b*b+a*a)/(2*c))+p(b,b-(c*c-a*a+b*b)/(2*c))}function s(a,b){let c=q(a,b),d=a.radius,e=b.radius;if(c>=d+e||c<=Math.abs(d-e))return[];let f=(d*d-e*e+c*c)/(2*c),g=Math.sqrt(d*d-f*f),h=a.x+f*(b.x-a.x)/c,i=a.y+f*(b.y-a.y)/c,j=-(b.y-a.y)*(g/c),k=-(b.x-a.x)*(g/c);return[{x:h+j,y:i-k},{x:h-j,y:i+k}]}function t(a){let b={x:0,y:0};for(let c of a)b.x+=c.x,b.y+=c.y;return b.x/=a.length,b.y/=a.length,b}function u(a){let b=Array(a);for(let c=0;c<a;++c)b[c]=0;return b}function v(a,b){return u(a).map(()=>u(b))}function w(a,b){let c=0;for(let d=0;d<a.length;++d)c+=a[d]*b[d];return c}function x(a){return Math.sqrt(w(a,a))}function y(a,b,c){for(let d=0;d<b.length;++d)a[d]=b[d]*c}function z(a,b,c,d,e){for(let f=0;f<a.length;++f)a[f]=b*c[f]+d*e[f]}function A(a,b,c){let d,e=(c=c||{}).maxIterations||200*b.length,f=c.nonZeroDelta||1.05,g=c.zeroDelta||.001,h=c.minErrorDelta||1e-6,i=c.minErrorDelta||1e-5,j=void 0!==c.rho?c.rho:1,k=void 0!==c.chi?c.chi:2,l=void 0!==c.psi?c.psi:-.5,m=void 0!==c.sigma?c.sigma:.5,n=b.length,o=Array(n+1);o[0]=b,o[0].fx=a(b),o[0].id=0;for(let c=0;c<n;++c){let d=b.slice();d[c]=d[c]?d[c]*f:g,o[c+1]=d,o[c+1].fx=a(d),o[c+1].id=c+1}function p(a){for(let b=0;b<a.length;b++)o[n][b]=a[b];o[n].fx=a.fx}let q=(a,b)=>a.fx-b.fx,r=b.slice(),s=b.slice(),t=b.slice(),u=b.slice();for(let b=0;b<e;++b){if(o.sort(q),c.history){let a=o.map(a=>{let b=a.slice();return b.fx=a.fx,b.id=a.id,b});a.sort((a,b)=>a.id-b.id),c.history.push({x:o[0].slice(),fx:o[0].fx,simplex:a})}d=0;for(let a=0;a<n;++a)d=Math.max(d,Math.abs(o[0][a]-o[1][a]));if(Math.abs(o[0].fx-o[n].fx)<h&&d<i)break;for(let a=0;a<n;++a){r[a]=0;for(let b=0;b<n;++b)r[a]+=o[b][a];r[a]/=n}let b=o[n];if(z(s,1+j,r,-j,b),s.fx=a(s),s.fx<o[0].fx)z(u,1+k,r,-k,b),u.fx=a(u),p(u.fx<s.fx?u:s);else if(s.fx>=o[n-1].fx){let c=!1;if(s.fx>b.fx?(z(t,1+l,r,-l,b),t.fx=a(t),t.fx<b.fx?p(t):c=!0):(z(t,1-l*j,r,l*j,b),t.fx=a(t),t.fx<s.fx?p(t):c=!0),c){if(m>=1)break;for(let b=1;b<o.length;++b)z(o[b],1-m,o[0],m,o[b]),o[b].fx=a(o[b])}}else p(s)}return o.sort(q),{fx:o[0].fx,x:o[0]}}function B(a,b={}){b.maxIterations=b.maxIterations||500;let c=b.initialLayout||D,d=b.lossFunction||E,e=function(a,b={}){let c=b.distinct,d=a.map(a=>Object.assign({},a));function e(a){return a.join(";")}if(c){let a=new Map;for(let b of d)for(let c=0;c<b.sets.length;c++){let d=String(b.sets[c]);a.set(d,b.size+(a.get(d)||0));for(let e=c+1;e<b.sets.length;e++){let c=String(b.sets[e]),f=`${d};${c}`,g=`${c};${d}`;a.set(f,b.size+(a.get(f)||0)),a.set(g,b.size+(a.get(g)||0))}}for(let b of d)b.sets.length<3&&(b.size=a.get(e(b.sets)))}let f=[],g=new Set;for(let a of d)if(1===a.sets.length)f.push(a.sets[0]);else if(2===a.sets.length){let b=a.sets[0],c=a.sets[1];g.add(e(a.sets)),g.add(e([c,b]))}f.sort((a,b)=>a===b?0:a<b?-1:1);for(let a=0;a<f.length;++a){let b=f[a];for(let c=a+1;c<f.length;++c){let a=f[c];g.has(e([b,a]))||d.push({sets:[b,a],size:0})}}return d}(a,b),f=c(e,b),g=Object.keys(f),h=[];for(let a of g)h.push(f[a].x),h.push(f[a].y);let i=A(a=>{let b={};for(let c=0;c<g.length;++c){let d=g[c];b[d]={x:a[2*c],y:a[2*c+1],radius:f[d].radius}}return d(b,e)},h,b).x;for(let a=0;a<g.length;++a){let b=g[a];f[b].x=i[2*a],f[b].y=i[2*a+1]}return f}function C(a,b,c){return Math.min(a,b)*Math.min(a,b)*Math.PI<=c+1e-10?Math.abs(a-b):function(a,b,c,d){let e=(d=d||{}).maxIterations||100,f=d.tolerance||1e-10,g=a(b),h=a(c),i=c-b;if(g*h>0)throw"Initial bisect points must have opposite signs";if(0===g)return b;if(0===h)return c;for(let c=0;c<e;++c){let c=b+(i/=2),d=a(c);if(d*g>=0&&(b=c),Math.abs(i)<f||0===d)return c}return b+i}(d=>r(a,b,d)-c,0,a+b)}function D(a,b={}){let c=function(a,b){let c=b&&b.lossFunction?b.lossFunction:E,d={},e={};for(let b of a)if(1===b.sets.length){let a=b.sets[0];d[a]={x:1e10,y:1e10,rowid:d.length,size:b.size,radius:Math.sqrt(b.size/Math.PI)},e[a]=[]}for(let b of a=a.filter(a=>2===a.sets.length)){let a=null!=b.weight?b.weight:1,c=b.sets[0],f=b.sets[1];b.size+1e-10>=Math.min(d[c].size,d[f].size)&&(a=0),e[c].push({set:f,size:b.size,weight:a}),e[f].push({set:c,size:b.size,weight:a})}let f=[];function g(a,b){return b.size-a.size}Object.keys(e).forEach(a=>{let b=0;for(let c=0;c<e[a].length;++c)b+=e[a][c].size*e[a][c].weight;f.push({set:a,size:b})}),f.sort(g);let h={};function i(a){return a.set in h}function j(a,b){d[b].x=a.x,d[b].y=a.y,h[b]=!0}j({x:0,y:0},f[0].set);for(let b=1;b<f.length;++b){let h=f[b].set,l=e[h].filter(i),m=d[h];if(l.sort(g),0===l.length)throw"ERROR: missing pairwise overlap information";let n=[];for(var k=0;k<l.length;++k){let a=d[l[k].set],b=C(m.radius,a.radius,l[k].size);n.push({x:a.x+b,y:a.y}),n.push({x:a.x-b,y:a.y}),n.push({y:a.y+b,x:a.x}),n.push({y:a.y-b,x:a.x});for(let c=k+1;c<l.length;++c){let e=d[l[c].set],f=C(m.radius,e.radius,l[c].size),g=s({x:a.x,y:a.y,radius:b},{x:e.x,y:e.y,radius:f});n.push(...g)}}let o=1e50,p=n[0];for(let b of n){d[h].x=b.x,d[h].y=b.y;let e=c(d,a);e<o&&(o=e,p=b)}j(p,h)}return d}(a,b),d=b.lossFunction||E;if(a.length>=8){let e=function(a,b={}){let c=b.restarts||10,d=[],e={};for(let b of a)1===b.sets.length&&(e[b.sets[0]]=d.length,d.push(b));let{distances:f,constraints:g}=function(a,b,c){let d=v(b.length,b.length),e=v(b.length,b.length);return a.filter(a=>2===a.sets.length).forEach(a=>{let f=c[a.sets[0]],g=c[a.sets[1]],h=C(Math.sqrt(b[f].size/Math.PI),Math.sqrt(b[g].size/Math.PI),a.size);d[f][g]=d[g][f]=h;let i=0;a.size+1e-10>=Math.min(b[f].size,b[g].size)?i=1:a.size<=1e-10&&(i=-1),e[f][g]=e[g][f]=i}),{distances:d,constraints:e}}(a,d,e),h=x(f.map(x))/f.length;f=f.map(a=>a.map(a=>a/h));let i=(a,b)=>(function(a,b,c,d){for(let a=0;a<b.length;++a)b[a]=0;let e=0;for(let f=0;f<c.length;++f){let g=a[2*f],h=a[2*f+1];for(let i=f+1;i<c.length;++i){let j=a[2*i],k=a[2*i+1],l=c[f][i],m=d[f][i],n=(j-g)*(j-g)+(k-h)*(k-h),o=Math.sqrt(n),p=n-l*l;m>0&&o<=l||m<0&&o>=l||(e+=2*p*p,b[2*f]+=4*p*(g-j),b[2*f+1]+=4*p*(h-k),b[2*i]+=4*p*(j-g),b[2*i+1]+=4*p*(k-h))}}return e})(a,b,f,g),j=null;for(let a=0;a<c;++a){let a=function(a,b,c){let d,e,f,g={x:b.slice(),fx:0,fxprime:b.slice()},h={x:b.slice(),fx:0,fxprime:b.slice()},i=b.slice(),j=1;f=(c=c||{}).maxIterations||20*b.length,g.fx=a(g.x,g.fxprime),y(d=g.fxprime.slice(),g.fxprime,-1);for(let b=0;b<f;++b){if(j=function(a,b,c,d,e,f,g){let h=c.fx,i=w(c.fxprime,b),j=h,k=h,l=i,m=0;function n(k,m,n){for(let o=0;o<16;++o)if(e=(k+m)/2,z(d.x,1,c.x,e,b),j=d.fx=a(d.x,d.fxprime),l=w(d.fxprime,b),j>h+f*e*i||j>=n)m=e;else{if(Math.abs(l)<=-g*i)return e;l*(m-k)>=0&&(m=k),k=e,n=j}return 0}e=e||1,f=f||1e-6,g=g||.1;for(let o=0;o<10;++o){if(z(d.x,1,c.x,e,b),j=d.fx=a(d.x,d.fxprime),l=w(d.fxprime,b),j>h+f*e*i||o&&j>=k)return n(m,e,k);if(Math.abs(l)<=-g*i)break;if(l>=0)return n(e,m,j);k=j,m=e,e*=2}return e}(a,d,g,h,j),c.history&&c.history.push({x:g.x.slice(),fx:g.fx,fxprime:g.fxprime.slice(),alpha:j}),j){z(i,1,h.fxprime,-1,g.fxprime);let a=w(g.fxprime,g.fxprime);z(d,Math.max(0,w(i,h.fxprime)/a),d,-1,h.fxprime),e=g,g=h,h=e}else y(d,g.fxprime,-1);if(1e-5>=x(g.fxprime))break}return c.history&&c.history.push({x:g.x.slice(),fx:g.fx,fxprime:g.fxprime.slice(),alpha:j}),g}(i,u(2*f.length).map(Math.random),b);(!j||a.fx<j.fx)&&(j=a)}let k=j.x,l={};for(let a=0;a<d.length;++a){let b=d[a];l[b.sets[0]]={x:k[2*a]*h,y:k[2*a+1]*h,radius:Math.sqrt(b.size/Math.PI)}}if(b.history)for(let a of b.history)y(a.x,h);return l}(a,b);d(e,a)+1e-8<d(c,a)&&(c=e)}return c}function E(a,b){let c=0;for(let d of b){let b;if(1!==d.sets.length){if(2===d.sets.length){let c=a[d.sets[0]],e=a[d.sets[1]];b=r(c.radius,e.radius,q(c,e))}else b=o(d.sets.map(b=>a[b]));c+=(null!=d.weight?d.weight:1)*(b-d.size)*(b-d.size)}}return c}function F(a,b){let c=0;for(let d of b){let b;if(1===d.sets.length)continue;if(2===d.sets.length){let c=a[d.sets[0]],e=a[d.sets[1]];b=r(c.radius,e.radius,q(c,e))}else b=o(d.sets.map(b=>a[b]));let e=null!=d.weight?d.weight:1,f=Math.log((b+1)/(d.size+1));c+=e*f*f}return c}function G(a){let b=b=>({max:a.reduce((a,c)=>Math.max(a,c[b]+c.radius),-1/0),min:a.reduce((a,c)=>Math.min(a,c[b]-c.radius),1/0)});return{xRange:b("x"),yRange:b("y")}}function H(a,b,c){null==b&&(b=Math.PI/2);let d=K(a).map(a=>Object.assign({},a)),e=function(a){function b(a){return a.parent!==a&&(a.parent=b(a.parent)),a.parent}a.forEach(a=>{a.parent=a});for(let e=0;e<a.length;++e)for(let f=e+1;f<a.length;++f){var c,d;let g=a[e].radius+a[f].radius;q(a[e],a[f])+1e-10<g&&(c=a[f],d=a[e],b(c).parent=b(d))}let e=new Map;for(let c=0;c<a.length;++c){let d=b(a[c]).parent.setid;e.has(d)||e.set(d,[]),e.get(d).push(a[c])}return a.forEach(a=>{delete a.parent}),Array.from(e.values())}(d);for(let a of e){!function(a,b,c){if(null==c?a.sort((a,b)=>b.radius-a.radius):a.sort(c),a.length>0){let b=a[0].x,c=a[0].y;for(let d of a)d.x-=b,d.y-=c}if(2===a.length&&q(a[0],a[1])<Math.abs(a[1].radius-a[0].radius)&&(a[1].x=a[0].x+a[0].radius-a[1].radius-1e-10,a[1].y=a[0].y),a.length>1){let c=Math.atan2(a[1].x,a[1].y)-b,d=Math.cos(c),e=Math.sin(c);for(let b of a){let a=b.x,c=b.y;b.x=d*a-e*c,b.y=e*a+d*c}}if(a.length>2){let c=Math.atan2(a[2].x,a[2].y)-b;for(;c<0;)c+=2*Math.PI;for(;c>2*Math.PI;)c-=2*Math.PI;if(c>Math.PI){let b=a[1].y/(1e-10+a[1].x);for(let c of a){var d=(c.x+b*c.y)/(1+b*b);c.x=2*d-c.x,c.y=2*d*b-c.y}}}}(a,b,c);let d=G(a);a.size=(d.xRange.max-d.xRange.min)*(d.yRange.max-d.yRange.min),a.bounds=d}e.sort((a,b)=>b.size-a.size);let f=(d=e[0]).bounds,g=(f.xRange.max-f.xRange.min)/50;function h(a,b,c){let e,h;if(!a)return;let i=a.bounds;if(b)e=f.xRange.max-i.xRange.min+g;else{e=f.xRange.max-i.xRange.max;let a=(i.xRange.max-i.xRange.min)/2-(f.xRange.max-f.xRange.min)/2;a<0&&(e+=a)}if(c)h=f.yRange.max-i.yRange.min+g;else{h=f.yRange.max-i.yRange.max;let a=(i.yRange.max-i.yRange.min)/2-(f.yRange.max-f.yRange.min)/2;a<0&&(h+=a)}for(let b of a)b.x+=e,b.y+=h,d.push(b)}let i=1;for(;i<e.length;)h(e[i],!0,!1),h(e[i+1],!1,!0),h(e[i+2],!0,!0),i+=3,f=G(d);return J(d)}function I(a,b,c,d,e){let f,g,h=K(a);b-=2*d,c-=2*d;let{xRange:i,yRange:j}=G(h);if(i.max===i.min||j.max===j.min)return console.log("not scaling solution: zero size detected"),a;if(e){let a=2*Math.sqrt(e/Math.PI);f=b/a,g=c/a}else f=b/(i.max-i.min),g=c/(j.max-j.min);let k=Math.min(g,f),l=(b-(i.max-i.min)*k)/2,m=(c-(j.max-j.min)*k)/2;return J(h.map(a=>({radius:k*a.radius,x:d+l+(a.x-i.min)*k,y:d+m+(a.y-j.min)*k,setid:a.setid})))}function J(a){let b={};for(let c of a)b[c.setid]=c;return b}function K(a){return Object.keys(a).map(b=>Object.assign(a[b],{setid:b}))}function L(a,b){return function(c){let d=this,e=a[c.sets[0]].radius||50,f=b(c)||"",g=f.split(/\s+/).reverse(),h=(f.length+g.length)/3,i=g.pop(),j=[i],k=0;d.textContent=null;let l=[];function m(a){let b=d.ownerDocument.createElementNS(d.namespaceURI,"tspan");return b.textContent=a,l.push(b),d.append(b),b}let n=m(i);for(;i=g.pop();){j.push(i);let a=j.join(" ");n.textContent=a,a.length>h&&n.getComputedTextLength()>e&&(j.pop(),n.textContent=j.join(" "),j=[i],n=m(i),k++)}let o=.35-1.1*k/2,p=d.getAttribute("x"),q=d.getAttribute("y");l.forEach((a,b)=>{a.setAttribute("x",p),a.setAttribute("y",q),a.setAttribute("dy",`${o+1.1*b}em`)})}}function M(a,b,c){let d=b[0].radius-q(b[0],a);for(let c=1;c<b.length;++c){let e=b[c].radius-q(b[c],a);e<=d&&(d=e)}for(let b=0;b<c.length;++b){let e=q(c[b],a)-c[b].radius;e<=d&&(d=e)}return d}function N(a,b,c){let d={},e=function(a){let b={},c=Object.keys(a);for(let a of c)b[a]=[];for(let d=0;d<c.length;d++){let e=c[d],f=a[e];for(let g=d+1;g<c.length;++g){let d=c[g],h=a[d],i=q(f,h);i+h.radius<=f.radius+1e-10?b[d].push(e):i+f.radius<=h.radius+1e-10&&b[e].push(d)}}return b}(a);for(let f=0;f<b.length;++f){let g=b[f].sets,h={},i={};for(let a=0;a<g.length;++a){h[g[a]]=!0;let b=e[g[a]];for(let a=0;a<b.length;++a)i[b[a]]=!0}let j=[],k=[];for(let b in a)b in h?j.push(a[b]):b in i||k.push(a[b]);let l=function a(b,c,d){let e=[];for(let a of b)e.push({x:a.x,y:a.y}),e.push({x:a.x+a.radius/2,y:a.y}),e.push({x:a.x-a.radius/2,y:a.y}),e.push({x:a.x,y:a.y+a.radius/2}),e.push({x:a.x,y:a.y-a.radius/2});let f=e[0],g=M(e[0],b,c);for(let a=1;a<e.length;++a){let d=M(e[a],b,c);d>=g&&(f=e[a],g=d)}let h=A(a=>-1*M({x:a[0],y:a[1]},b,c),[f.x,f.y],{maxIterations:500,minErrorDelta:1e-10}).x,i={x:d?0:h[0],y:h[1]},j=!0;for(let a of b)if(q(i,a)>a.radius){j=!1;break}for(let a of c)if(q(i,a)<a.radius){j=!1;break}if(j)return i;if(1==b.length)return{x:b[0].x,y:b[0].y};let k={};return(o(b,k),0===k.arcs.length)?{x:0,y:-1e3,disjoint:!0}:1==k.arcs.length?{x:k.arcs[0].circle.x,y:k.arcs[0].circle.y}:c.length?a(b,[]):t(k.arcs.map(a=>a.p1))}(j,k,c);d[g]=l,l.disjoint&&b[f].size>0&&console.log("WARNING: area "+g+" not represented on screen")}return d}function O(a){if(0===a.length)return[];let b={};return o(a,b),b.arcs}function P(a,b){if(0===a.length)return"M 0 0";let c=Math.pow(10,b||0),d=null!=b?a=>Math.round(a*c)/c:a=>a;if(1==a.length){let b=a[0].circle;return function(a,b,c){let d=[];return d.push("\nM",a,b),d.push("\nm",-c,0),d.push("\na",c,c,0,1,0,2*c,0),d.push("\na",c,c,0,1,0,-(2*c),0),d.join(" ")}(d(b.x),d(b.y),d(b.radius))}let e=["\nM",d(a[0].p2.x),d(a[0].p2.y)];for(let b of a){let a=d(b.circle.radius);e.push("\nA",a,a,0,+!!b.large,+!!b.sweep,d(b.p1.x),d(b.p1.y))}return e.join(" ")}var Q=c(96946),R=function(){var a=(0,h.K2)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[5,8],c=[7,8,11,12,17,19,22,24],d=[1,17],e=[1,18],f=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],g=[1,31],i=[1,39],j=[7,8,11,12,17,19,22,24,27],k=[1,57],l=[1,56],m=[1,58],n=[1,59],o=[1,60],p=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],q={trace:(0,h.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:(0,h.K2)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return f[h-1];case 2:case 3:case 4:case 6:this.$=[];break;case 5:case 35:f[h-1].push(f[h]),this.$=f[h-1];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:case 43:case 44:this.$=f[h];break;case 8:d.setDiagramTitle(f[h].substr(6)),this.$=f[h].substr(6);break;case 9:d.addSubsetData([f[h]],void 0,void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 10:d.addSubsetData([f[h-1]],f[h],void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 11:d.addSubsetData([f[h-2]],void 0,parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 12:d.addSubsetData([f[h-3]],f[h-2],parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 13:if(f[h].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h]),d.addSubsetData(f[h],void 0,void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 14:if(f[h-1].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-1]),d.addSubsetData(f[h-1],f[h],void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 15:if(f[h-2].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-2]),d.addSubsetData(f[h-2],void 0,parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 16:if(f[h-3].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-3]),d.addSubsetData(f[h-3],f[h-2],parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 17:case 18:case 19:d.addTextData(f[h-1],f[h],void 0);break;case 20:case 21:d.addTextData(f[h-2],f[h-1],f[h]);break;case 23:d.addStyleData(f[h-1],f[h]);break;case 24:case 25:case 26:var i=d.getCurrentSets();if(!i)throw Error("text requires set");d.addTextData(i,f[h],void 0);break;case 27:case 28:var i=d.getCurrentSets();if(!i)throw Error("text requires set");d.addTextData(i,f[h-1],f[h]);break;case 29:case 41:case 34:this.$=[f[h]];break;case 30:case 42:this.$=[...f[h-2],f[h]];break;case 31:this.$=[f[h-2],f[h]];break;case 33:this.$=f[h].join(" ")}},"anonymous"),table:[a(b,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},a(c,[2,4],{6:5}),a(b,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},a(c,[2,5]),a(c,[2,6]),a(c,[2,7]),a(c,[2,8]),{13:16,20:d,21:e},{13:20,18:19,20:d,21:e},{13:20,18:21,20:d,21:e},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:d,21:e},a(c,[2,9],{14:[1,27],15:[1,28]}),a(f,[2,43]),a(f,[2,44]),a(c,[2,13],{14:[1,29],15:[1,30],27:g}),a(f,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:g},a(c,[2,22]),a(c,[2,24],{14:[1,35]}),a(c,[2,25],{14:[1,36]}),a(c,[2,26]),{20:i,25:37,26:38,27:g},a(c,[2,10],{15:[1,40]}),{16:[1,41]},a(c,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:d,21:e},a(c,[2,17],{14:[1,45]}),a(c,[2,18],{14:[1,46]}),a(c,[2,19]),a(c,[2,27]),a(c,[2,28]),a(c,[2,23],{27:[1,47]}),a(j,[2,29]),{15:[1,48]},{16:[1,49]},a(c,[2,11]),{16:[1,50]},a(c,[2,15]),a(f,[2,42]),a(c,[2,20]),a(c,[2,21]),{20:i,26:51},{16:k,20:l,21:[1,53],28:52,29:54,30:55,31:m,32:n,33:o},a(c,[2,12]),a(c,[2,16]),a(j,[2,30]),a(j,[2,31]),a(j,[2,32]),a(j,[2,33],{30:61,16:k,20:l,31:m,32:n,33:o}),a(p,[2,34]),a(p,[2,36]),a(p,[2,37]),a(p,[2,38]),a(p,[2,39]),a(p,[2,40]),a(p,[2,35])],defaultActions:{6:[2,1]},parseError:(0,h.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,h.K2)(function(a){var b=this,c=[0],d=[],e=[null],f=[],g=this.table,i="",j=0,k=0,l=0,m=f.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;f.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K2)(function(a){c.length=c.length-2*a,e.length=e.length-a,f.length=f.length-a},"popStack"),(0,h.K2)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=g[v]&&g[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],g[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(j+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),e.push(n.yytext),f.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(k=n.yyleng,i=n.yytext,j=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=e[e.length-z],C._$={first_line:f[f.length-(z||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(z||1)].first_column,last_column:f[f.length-1].last_column},r&&(C._$.range=[f[f.length-(z||1)].range[0],f[f.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[i,k,j,o,w[1],e,f].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),e=e.slice(0,-1*z),f=f.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),e.push(C.$),f.push(C._$),A=g[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function r(){this.yy={}}return q.lexer={EOF:1,parseError:(0,h.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,h.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,h.K2)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K2)(function(){return this._more=!0,this},"more"),reject:(0,h.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,h.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,h.K2)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,h.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,h.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,h.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,h.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,h.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K2)(function(a,b,c,d){switch(c){case 0:case 1:case 2:case 4:case 7:case 8:break;case 3:if(a.getIndentMode&&a.getIndentMode())return a.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 5:a.setIndentMode&&a.setIndentMode(!1),this.begin("INITIAL"),this.unput(b.yytext);break;case 6:return this.begin("bol"),8;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(!a.consumeIndentText)return 19;a.consumeIndentText=!1;break;case 15:return 24;case 16:return b.yytext=b.yytext.slice(2,-2),14;case 17:return b.yytext=b.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}},(0,h.K2)(r,"Parser"),r.prototype=q,q.Parser=r,new r}();R.parser=R;var S=[],T=[],U=[],V=new Set,W=!1,X=(0,h.K2)((a,b,c)=>{let e=ac(a).sort(),f=c??10/Math.pow(a.length,2);d=e,1===e.length&&V.add(e[0]),S.push({sets:e,size:f,label:b?Z(b):void 0})},"addSubsetData"),Y=(0,h.K2)(()=>S,"getSubsetData"),Z=(0,h.K2)(a=>{let b=a.trim();return b.length>=2&&b.startsWith('"')&&b.endsWith('"')?b.slice(1,-1):b},"normalizeText"),$=(0,h.K2)(a=>a?Z(a):a,"normalizeStyleValue"),_=(0,h.K2)((a,b,c)=>{let d=Z(b);T.push({sets:ac(a).sort(),id:d,label:c?Z(c):void 0})},"addTextData"),aa=(0,h.K2)((a,b)=>{let c=ac(a).sort(),d={};for(let[a,c]of b)d[a]=$(c)??c;U.push({targets:c,styles:d})},"addStyleData"),ab=(0,h.K2)(()=>U,"getStyleData"),ac=(0,h.K2)(a=>a.map(a=>Z(a)),"normalizeIdentifierList"),ad=(0,h.K2)(a=>{let b=ac(a).filter(a=>!V.has(a));if(b.length>0)throw Error(`unknown set identifier: ${b.join(", ")}`)},"validateUnionIdentifiers"),ae=(0,h.K2)(()=>T,"getTextData"),af=(0,h.K2)(()=>d,"getCurrentSets"),ag=(0,h.K2)(()=>W,"getIndentMode"),ah=(0,h.K2)(a=>{W=a},"setIndentMode"),ai=g.UI.venn;function aj(){return(0,f.$t)(ai,(0,g.zj)().venn)}(0,h.K2)(aj,"getConfig");var ak={getConfig:aj,clear:(0,h.K2)(()=>{(0,g.IU)(),S.length=0,T.length=0,U.length=0,V.clear(),d=void 0,W=!1},"customClear"),setAccTitle:g.SV,getAccTitle:g.iN,setDiagramTitle:g.ke,getDiagramTitle:g.ab,getAccDescription:g.m7,setAccDescription:g.EI,addSubsetData:X,getSubsetData:Y,addTextData:_,addStyleData:aa,validateUnionIdentifiers:ad,getTextData:ae,getStyleData:ab,getCurrentSets:af,getIndentMode:ag,setIndentMode:ah},al=(0,h.K2)(a=>`
1
+ "use strict";exports.id=4339,exports.ids=[4339],exports.modules={64339:(a,b,c)=>{c.d(b,{diagram:()=>aq});var d,e=c(75260),f=c(86947),g=c(41553),h=c(77703),i=c(7285),j=c(86317),k=c(36323);let l=(a,b)=>(0,k.A)(a,"a",-b);var m=c(1141),n=c(12175);function o(a,b){let c=function(a){let b=[];for(let c=0;c<a.length;++c)for(let d=c+1;d<a.length;++d)for(let e of s(a[c],a[d]))e.parentIndex=[c,d],b.push(e);return b}(a),d=c.filter(b=>{var c;return c=b,a.every(a=>q(c,a)<a.radius+1e-10)}),e=0,f=0,g=[];if(d.length>1){let b=t(d);for(let a=0;a<d.length;++a){let c=d[a];c.angle=Math.atan2(c.x-b.x,c.y-b.y)}d.sort((a,b)=>b.angle-a.angle);let c=d[d.length-1];for(let b=0;b<d.length;++b){let h=d[b];f+=(c.x+h.x)*(h.y-c.y);let i={x:(h.x+c.x)/2,y:(h.y+c.y)/2},j=null;for(let b=0;b<h.parentIndex.length;++b)if(c.parentIndex.includes(h.parentIndex[b])){let d=a[h.parentIndex[b]],e=Math.atan2(h.x-d.x,h.y-d.y),f=Math.atan2(c.x-d.x,c.y-d.y),g=f-e;g<0&&(g+=2*Math.PI);let k=f-g/2,l=q(i,{x:d.x+d.radius*Math.sin(k),y:d.y+d.radius*Math.cos(k)});l>2*d.radius&&(l=2*d.radius),(null==j||j.width>l)&&(j={circle:d,width:l,p1:h,p2:c,large:l>d.radius,sweep:!0})}null!=j&&(g.push(j),e+=p(j.circle.radius,j.width),c=h)}}else{let b=a[0];for(let c=1;c<a.length;++c)a[c].radius<b.radius&&(b=a[c]);let c=!1;for(let d=0;d<a.length;++d)if(q(a[d],b)>Math.abs(b.radius-a[d].radius)){c=!0;break}c?e=f=0:(e=b.radius*b.radius*Math.PI,g.push({circle:b,p1:{x:b.x,y:b.y+b.radius},p2:{x:b.x-1e-10,y:b.y+b.radius},width:2*b.radius,large:!0,sweep:!0}))}return f/=2,b&&(b.area=e+f,b.arcArea=e,b.polygonArea=f,b.arcs=g,b.innerPoints=d,b.intersectionPoints=c),e+f}function p(a,b){return a*a*Math.acos(1-b/a)-(a-b)*Math.sqrt(b*(2*a-b))}function q(a,b){return Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))}function r(a,b,c){return c>=a+b?0:c<=Math.abs(a-b)?Math.PI*Math.min(a,b)*Math.min(a,b):p(a,a-(c*c-b*b+a*a)/(2*c))+p(b,b-(c*c-a*a+b*b)/(2*c))}function s(a,b){let c=q(a,b),d=a.radius,e=b.radius;if(c>=d+e||c<=Math.abs(d-e))return[];let f=(d*d-e*e+c*c)/(2*c),g=Math.sqrt(d*d-f*f),h=a.x+f*(b.x-a.x)/c,i=a.y+f*(b.y-a.y)/c,j=-(b.y-a.y)*(g/c),k=-(b.x-a.x)*(g/c);return[{x:h+j,y:i-k},{x:h-j,y:i+k}]}function t(a){let b={x:0,y:0};for(let c of a)b.x+=c.x,b.y+=c.y;return b.x/=a.length,b.y/=a.length,b}function u(a){let b=Array(a);for(let c=0;c<a;++c)b[c]=0;return b}function v(a,b){return u(a).map(()=>u(b))}function w(a,b){let c=0;for(let d=0;d<a.length;++d)c+=a[d]*b[d];return c}function x(a){return Math.sqrt(w(a,a))}function y(a,b,c){for(let d=0;d<b.length;++d)a[d]=b[d]*c}function z(a,b,c,d,e){for(let f=0;f<a.length;++f)a[f]=b*c[f]+d*e[f]}function A(a,b,c){let d,e=(c=c||{}).maxIterations||200*b.length,f=c.nonZeroDelta||1.05,g=c.zeroDelta||.001,h=c.minErrorDelta||1e-6,i=c.minErrorDelta||1e-5,j=void 0!==c.rho?c.rho:1,k=void 0!==c.chi?c.chi:2,l=void 0!==c.psi?c.psi:-.5,m=void 0!==c.sigma?c.sigma:.5,n=b.length,o=Array(n+1);o[0]=b,o[0].fx=a(b),o[0].id=0;for(let c=0;c<n;++c){let d=b.slice();d[c]=d[c]?d[c]*f:g,o[c+1]=d,o[c+1].fx=a(d),o[c+1].id=c+1}function p(a){for(let b=0;b<a.length;b++)o[n][b]=a[b];o[n].fx=a.fx}let q=(a,b)=>a.fx-b.fx,r=b.slice(),s=b.slice(),t=b.slice(),u=b.slice();for(let b=0;b<e;++b){if(o.sort(q),c.history){let a=o.map(a=>{let b=a.slice();return b.fx=a.fx,b.id=a.id,b});a.sort((a,b)=>a.id-b.id),c.history.push({x:o[0].slice(),fx:o[0].fx,simplex:a})}d=0;for(let a=0;a<n;++a)d=Math.max(d,Math.abs(o[0][a]-o[1][a]));if(Math.abs(o[0].fx-o[n].fx)<h&&d<i)break;for(let a=0;a<n;++a){r[a]=0;for(let b=0;b<n;++b)r[a]+=o[b][a];r[a]/=n}let b=o[n];if(z(s,1+j,r,-j,b),s.fx=a(s),s.fx<o[0].fx)z(u,1+k,r,-k,b),u.fx=a(u),p(u.fx<s.fx?u:s);else if(s.fx>=o[n-1].fx){let c=!1;if(s.fx>b.fx?(z(t,1+l,r,-l,b),t.fx=a(t),t.fx<b.fx?p(t):c=!0):(z(t,1-l*j,r,l*j,b),t.fx=a(t),t.fx<s.fx?p(t):c=!0),c){if(m>=1)break;for(let b=1;b<o.length;++b)z(o[b],1-m,o[0],m,o[b]),o[b].fx=a(o[b])}}else p(s)}return o.sort(q),{fx:o[0].fx,x:o[0]}}function B(a,b={}){b.maxIterations=b.maxIterations||500;let c=b.initialLayout||D,d=b.lossFunction||E,e=function(a,b={}){let c=b.distinct,d=a.map(a=>Object.assign({},a));function e(a){return a.join(";")}if(c){let a=new Map;for(let b of d)for(let c=0;c<b.sets.length;c++){let d=String(b.sets[c]);a.set(d,b.size+(a.get(d)||0));for(let e=c+1;e<b.sets.length;e++){let c=String(b.sets[e]),f=`${d};${c}`,g=`${c};${d}`;a.set(f,b.size+(a.get(f)||0)),a.set(g,b.size+(a.get(g)||0))}}for(let b of d)b.sets.length<3&&(b.size=a.get(e(b.sets)))}let f=[],g=new Set;for(let a of d)if(1===a.sets.length)f.push(a.sets[0]);else if(2===a.sets.length){let b=a.sets[0],c=a.sets[1];g.add(e(a.sets)),g.add(e([c,b]))}f.sort((a,b)=>a===b?0:a<b?-1:1);for(let a=0;a<f.length;++a){let b=f[a];for(let c=a+1;c<f.length;++c){let a=f[c];g.has(e([b,a]))||d.push({sets:[b,a],size:0})}}return d}(a,b),f=c(e,b),g=Object.keys(f),h=[];for(let a of g)h.push(f[a].x),h.push(f[a].y);let i=A(a=>{let b={};for(let c=0;c<g.length;++c){let d=g[c];b[d]={x:a[2*c],y:a[2*c+1],radius:f[d].radius}}return d(b,e)},h,b).x;for(let a=0;a<g.length;++a){let b=g[a];f[b].x=i[2*a],f[b].y=i[2*a+1]}return f}function C(a,b,c){return Math.min(a,b)*Math.min(a,b)*Math.PI<=c+1e-10?Math.abs(a-b):function(a,b,c,d){let e=(d=d||{}).maxIterations||100,f=d.tolerance||1e-10,g=a(b),h=a(c),i=c-b;if(g*h>0)throw"Initial bisect points must have opposite signs";if(0===g)return b;if(0===h)return c;for(let c=0;c<e;++c){let c=b+(i/=2),d=a(c);if(d*g>=0&&(b=c),Math.abs(i)<f||0===d)return c}return b+i}(d=>r(a,b,d)-c,0,a+b)}function D(a,b={}){let c=function(a,b){let c=b&&b.lossFunction?b.lossFunction:E,d={},e={};for(let b of a)if(1===b.sets.length){let a=b.sets[0];d[a]={x:1e10,y:1e10,rowid:d.length,size:b.size,radius:Math.sqrt(b.size/Math.PI)},e[a]=[]}for(let b of a=a.filter(a=>2===a.sets.length)){let a=null!=b.weight?b.weight:1,c=b.sets[0],f=b.sets[1];b.size+1e-10>=Math.min(d[c].size,d[f].size)&&(a=0),e[c].push({set:f,size:b.size,weight:a}),e[f].push({set:c,size:b.size,weight:a})}let f=[];function g(a,b){return b.size-a.size}Object.keys(e).forEach(a=>{let b=0;for(let c=0;c<e[a].length;++c)b+=e[a][c].size*e[a][c].weight;f.push({set:a,size:b})}),f.sort(g);let h={};function i(a){return a.set in h}function j(a,b){d[b].x=a.x,d[b].y=a.y,h[b]=!0}j({x:0,y:0},f[0].set);for(let b=1;b<f.length;++b){let h=f[b].set,l=e[h].filter(i),m=d[h];if(l.sort(g),0===l.length)throw"ERROR: missing pairwise overlap information";let n=[];for(var k=0;k<l.length;++k){let a=d[l[k].set],b=C(m.radius,a.radius,l[k].size);n.push({x:a.x+b,y:a.y}),n.push({x:a.x-b,y:a.y}),n.push({y:a.y+b,x:a.x}),n.push({y:a.y-b,x:a.x});for(let c=k+1;c<l.length;++c){let e=d[l[c].set],f=C(m.radius,e.radius,l[c].size),g=s({x:a.x,y:a.y,radius:b},{x:e.x,y:e.y,radius:f});n.push(...g)}}let o=1e50,p=n[0];for(let b of n){d[h].x=b.x,d[h].y=b.y;let e=c(d,a);e<o&&(o=e,p=b)}j(p,h)}return d}(a,b),d=b.lossFunction||E;if(a.length>=8){let e=function(a,b={}){let c=b.restarts||10,d=[],e={};for(let b of a)1===b.sets.length&&(e[b.sets[0]]=d.length,d.push(b));let{distances:f,constraints:g}=function(a,b,c){let d=v(b.length,b.length),e=v(b.length,b.length);return a.filter(a=>2===a.sets.length).forEach(a=>{let f=c[a.sets[0]],g=c[a.sets[1]],h=C(Math.sqrt(b[f].size/Math.PI),Math.sqrt(b[g].size/Math.PI),a.size);d[f][g]=d[g][f]=h;let i=0;a.size+1e-10>=Math.min(b[f].size,b[g].size)?i=1:a.size<=1e-10&&(i=-1),e[f][g]=e[g][f]=i}),{distances:d,constraints:e}}(a,d,e),h=x(f.map(x))/f.length;f=f.map(a=>a.map(a=>a/h));let i=(a,b)=>(function(a,b,c,d){for(let a=0;a<b.length;++a)b[a]=0;let e=0;for(let f=0;f<c.length;++f){let g=a[2*f],h=a[2*f+1];for(let i=f+1;i<c.length;++i){let j=a[2*i],k=a[2*i+1],l=c[f][i],m=d[f][i],n=(j-g)*(j-g)+(k-h)*(k-h),o=Math.sqrt(n),p=n-l*l;m>0&&o<=l||m<0&&o>=l||(e+=2*p*p,b[2*f]+=4*p*(g-j),b[2*f+1]+=4*p*(h-k),b[2*i]+=4*p*(j-g),b[2*i+1]+=4*p*(k-h))}}return e})(a,b,f,g),j=null;for(let a=0;a<c;++a){let a=function(a,b,c){let d,e,f,g={x:b.slice(),fx:0,fxprime:b.slice()},h={x:b.slice(),fx:0,fxprime:b.slice()},i=b.slice(),j=1;f=(c=c||{}).maxIterations||20*b.length,g.fx=a(g.x,g.fxprime),y(d=g.fxprime.slice(),g.fxprime,-1);for(let b=0;b<f;++b){if(j=function(a,b,c,d,e,f,g){let h=c.fx,i=w(c.fxprime,b),j=h,k=h,l=i,m=0;function n(k,m,n){for(let o=0;o<16;++o)if(e=(k+m)/2,z(d.x,1,c.x,e,b),j=d.fx=a(d.x,d.fxprime),l=w(d.fxprime,b),j>h+f*e*i||j>=n)m=e;else{if(Math.abs(l)<=-g*i)return e;l*(m-k)>=0&&(m=k),k=e,n=j}return 0}e=e||1,f=f||1e-6,g=g||.1;for(let o=0;o<10;++o){if(z(d.x,1,c.x,e,b),j=d.fx=a(d.x,d.fxprime),l=w(d.fxprime,b),j>h+f*e*i||o&&j>=k)return n(m,e,k);if(Math.abs(l)<=-g*i)break;if(l>=0)return n(e,m,j);k=j,m=e,e*=2}return e}(a,d,g,h,j),c.history&&c.history.push({x:g.x.slice(),fx:g.fx,fxprime:g.fxprime.slice(),alpha:j}),j){z(i,1,h.fxprime,-1,g.fxprime);let a=w(g.fxprime,g.fxprime);z(d,Math.max(0,w(i,h.fxprime)/a),d,-1,h.fxprime),e=g,g=h,h=e}else y(d,g.fxprime,-1);if(1e-5>=x(g.fxprime))break}return c.history&&c.history.push({x:g.x.slice(),fx:g.fx,fxprime:g.fxprime.slice(),alpha:j}),g}(i,u(2*f.length).map(Math.random),b);(!j||a.fx<j.fx)&&(j=a)}let k=j.x,l={};for(let a=0;a<d.length;++a){let b=d[a];l[b.sets[0]]={x:k[2*a]*h,y:k[2*a+1]*h,radius:Math.sqrt(b.size/Math.PI)}}if(b.history)for(let a of b.history)y(a.x,h);return l}(a,b);d(e,a)+1e-8<d(c,a)&&(c=e)}return c}function E(a,b){let c=0;for(let d of b){let b;if(1!==d.sets.length){if(2===d.sets.length){let c=a[d.sets[0]],e=a[d.sets[1]];b=r(c.radius,e.radius,q(c,e))}else b=o(d.sets.map(b=>a[b]));c+=(null!=d.weight?d.weight:1)*(b-d.size)*(b-d.size)}}return c}function F(a,b){let c=0;for(let d of b){let b;if(1===d.sets.length)continue;if(2===d.sets.length){let c=a[d.sets[0]],e=a[d.sets[1]];b=r(c.radius,e.radius,q(c,e))}else b=o(d.sets.map(b=>a[b]));let e=null!=d.weight?d.weight:1,f=Math.log((b+1)/(d.size+1));c+=e*f*f}return c}function G(a){let b=b=>({max:a.reduce((a,c)=>Math.max(a,c[b]+c.radius),-1/0),min:a.reduce((a,c)=>Math.min(a,c[b]-c.radius),1/0)});return{xRange:b("x"),yRange:b("y")}}function H(a,b,c){null==b&&(b=Math.PI/2);let d=K(a).map(a=>Object.assign({},a)),e=function(a){function b(a){return a.parent!==a&&(a.parent=b(a.parent)),a.parent}a.forEach(a=>{a.parent=a});for(let e=0;e<a.length;++e)for(let f=e+1;f<a.length;++f){var c,d;let g=a[e].radius+a[f].radius;q(a[e],a[f])+1e-10<g&&(c=a[f],d=a[e],b(c).parent=b(d))}let e=new Map;for(let c=0;c<a.length;++c){let d=b(a[c]).parent.setid;e.has(d)||e.set(d,[]),e.get(d).push(a[c])}return a.forEach(a=>{delete a.parent}),Array.from(e.values())}(d);for(let a of e){!function(a,b,c){if(null==c?a.sort((a,b)=>b.radius-a.radius):a.sort(c),a.length>0){let b=a[0].x,c=a[0].y;for(let d of a)d.x-=b,d.y-=c}if(2===a.length&&q(a[0],a[1])<Math.abs(a[1].radius-a[0].radius)&&(a[1].x=a[0].x+a[0].radius-a[1].radius-1e-10,a[1].y=a[0].y),a.length>1){let c=Math.atan2(a[1].x,a[1].y)-b,d=Math.cos(c),e=Math.sin(c);for(let b of a){let a=b.x,c=b.y;b.x=d*a-e*c,b.y=e*a+d*c}}if(a.length>2){let c=Math.atan2(a[2].x,a[2].y)-b;for(;c<0;)c+=2*Math.PI;for(;c>2*Math.PI;)c-=2*Math.PI;if(c>Math.PI){let b=a[1].y/(1e-10+a[1].x);for(let c of a){var d=(c.x+b*c.y)/(1+b*b);c.x=2*d-c.x,c.y=2*d*b-c.y}}}}(a,b,c);let d=G(a);a.size=(d.xRange.max-d.xRange.min)*(d.yRange.max-d.yRange.min),a.bounds=d}e.sort((a,b)=>b.size-a.size);let f=(d=e[0]).bounds,g=(f.xRange.max-f.xRange.min)/50;function h(a,b,c){let e,h;if(!a)return;let i=a.bounds;if(b)e=f.xRange.max-i.xRange.min+g;else{e=f.xRange.max-i.xRange.max;let a=(i.xRange.max-i.xRange.min)/2-(f.xRange.max-f.xRange.min)/2;a<0&&(e+=a)}if(c)h=f.yRange.max-i.yRange.min+g;else{h=f.yRange.max-i.yRange.max;let a=(i.yRange.max-i.yRange.min)/2-(f.yRange.max-f.yRange.min)/2;a<0&&(h+=a)}for(let b of a)b.x+=e,b.y+=h,d.push(b)}let i=1;for(;i<e.length;)h(e[i],!0,!1),h(e[i+1],!1,!0),h(e[i+2],!0,!0),i+=3,f=G(d);return J(d)}function I(a,b,c,d,e){let f,g,h=K(a);b-=2*d,c-=2*d;let{xRange:i,yRange:j}=G(h);if(i.max===i.min||j.max===j.min)return console.log("not scaling solution: zero size detected"),a;if(e){let a=2*Math.sqrt(e/Math.PI);f=b/a,g=c/a}else f=b/(i.max-i.min),g=c/(j.max-j.min);let k=Math.min(g,f),l=(b-(i.max-i.min)*k)/2,m=(c-(j.max-j.min)*k)/2;return J(h.map(a=>({radius:k*a.radius,x:d+l+(a.x-i.min)*k,y:d+m+(a.y-j.min)*k,setid:a.setid})))}function J(a){let b={};for(let c of a)b[c.setid]=c;return b}function K(a){return Object.keys(a).map(b=>Object.assign(a[b],{setid:b}))}function L(a,b){return function(c){let d=this,e=a[c.sets[0]].radius||50,f=b(c)||"",g=f.split(/\s+/).reverse(),h=(f.length+g.length)/3,i=g.pop(),j=[i],k=0;d.textContent=null;let l=[];function m(a){let b=d.ownerDocument.createElementNS(d.namespaceURI,"tspan");return b.textContent=a,l.push(b),d.append(b),b}let n=m(i);for(;i=g.pop();){j.push(i);let a=j.join(" ");n.textContent=a,a.length>h&&n.getComputedTextLength()>e&&(j.pop(),n.textContent=j.join(" "),j=[i],n=m(i),k++)}let o=.35-1.1*k/2,p=d.getAttribute("x"),q=d.getAttribute("y");l.forEach((a,b)=>{a.setAttribute("x",p),a.setAttribute("y",q),a.setAttribute("dy",`${o+1.1*b}em`)})}}function M(a,b,c){let d=b[0].radius-q(b[0],a);for(let c=1;c<b.length;++c){let e=b[c].radius-q(b[c],a);e<=d&&(d=e)}for(let b=0;b<c.length;++b){let e=q(c[b],a)-c[b].radius;e<=d&&(d=e)}return d}function N(a,b,c){let d={},e=function(a){let b={},c=Object.keys(a);for(let a of c)b[a]=[];for(let d=0;d<c.length;d++){let e=c[d],f=a[e];for(let g=d+1;g<c.length;++g){let d=c[g],h=a[d],i=q(f,h);i+h.radius<=f.radius+1e-10?b[d].push(e):i+f.radius<=h.radius+1e-10&&b[e].push(d)}}return b}(a);for(let f=0;f<b.length;++f){let g=b[f].sets,h={},i={};for(let a=0;a<g.length;++a){h[g[a]]=!0;let b=e[g[a]];for(let a=0;a<b.length;++a)i[b[a]]=!0}let j=[],k=[];for(let b in a)b in h?j.push(a[b]):b in i||k.push(a[b]);let l=function a(b,c,d){let e=[];for(let a of b)e.push({x:a.x,y:a.y}),e.push({x:a.x+a.radius/2,y:a.y}),e.push({x:a.x-a.radius/2,y:a.y}),e.push({x:a.x,y:a.y+a.radius/2}),e.push({x:a.x,y:a.y-a.radius/2});let f=e[0],g=M(e[0],b,c);for(let a=1;a<e.length;++a){let d=M(e[a],b,c);d>=g&&(f=e[a],g=d)}let h=A(a=>-1*M({x:a[0],y:a[1]},b,c),[f.x,f.y],{maxIterations:500,minErrorDelta:1e-10}).x,i={x:d?0:h[0],y:h[1]},j=!0;for(let a of b)if(q(i,a)>a.radius){j=!1;break}for(let a of c)if(q(i,a)<a.radius){j=!1;break}if(j)return i;if(1==b.length)return{x:b[0].x,y:b[0].y};let k={};return(o(b,k),0===k.arcs.length)?{x:0,y:-1e3,disjoint:!0}:1==k.arcs.length?{x:k.arcs[0].circle.x,y:k.arcs[0].circle.y}:c.length?a(b,[]):t(k.arcs.map(a=>a.p1))}(j,k,c);d[g]=l,l.disjoint&&b[f].size>0&&console.log("WARNING: area "+g+" not represented on screen")}return d}function O(a){if(0===a.length)return[];let b={};return o(a,b),b.arcs}function P(a,b){if(0===a.length)return"M 0 0";let c=Math.pow(10,b||0),d=null!=b?a=>Math.round(a*c)/c:a=>a;if(1==a.length){let b=a[0].circle;return function(a,b,c){let d=[];return d.push("\nM",a,b),d.push("\nm",-c,0),d.push("\na",c,c,0,1,0,2*c,0),d.push("\na",c,c,0,1,0,-(2*c),0),d.join(" ")}(d(b.x),d(b.y),d(b.radius))}let e=["\nM",d(a[0].p2.x),d(a[0].p2.y)];for(let b of a){let a=d(b.circle.radius);e.push("\nA",a,a,0,+!!b.large,+!!b.sweep,d(b.p1.x),d(b.p1.y))}return e.join(" ")}var Q=c(96946),R=function(){var a=(0,h.K2)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[5,8],c=[7,8,11,12,17,19,22,24],d=[1,17],e=[1,18],f=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],g=[1,31],i=[1,39],j=[7,8,11,12,17,19,22,24,27],k=[1,57],l=[1,56],m=[1,58],n=[1,59],o=[1,60],p=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],q={trace:(0,h.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:(0,h.K2)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return f[h-1];case 2:case 3:case 4:case 6:this.$=[];break;case 5:case 35:f[h-1].push(f[h]),this.$=f[h-1];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:case 43:case 44:this.$=f[h];break;case 8:d.setDiagramTitle(f[h].substr(6)),this.$=f[h].substr(6);break;case 9:d.addSubsetData([f[h]],void 0,void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 10:d.addSubsetData([f[h-1]],f[h],void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 11:d.addSubsetData([f[h-2]],void 0,parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 12:d.addSubsetData([f[h-3]],f[h-2],parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 13:if(f[h].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h]),d.addSubsetData(f[h],void 0,void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 14:if(f[h-1].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-1]),d.addSubsetData(f[h-1],f[h],void 0),d.setIndentMode&&d.setIndentMode(!0);break;case 15:if(f[h-2].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-2]),d.addSubsetData(f[h-2],void 0,parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 16:if(f[h-3].length<2)throw Error("union requires multiple identifiers");d.validateUnionIdentifiers&&d.validateUnionIdentifiers(f[h-3]),d.addSubsetData(f[h-3],f[h-2],parseFloat(f[h])),d.setIndentMode&&d.setIndentMode(!0);break;case 17:case 18:case 19:d.addTextData(f[h-1],f[h],void 0);break;case 20:case 21:d.addTextData(f[h-2],f[h-1],f[h]);break;case 23:d.addStyleData(f[h-1],f[h]);break;case 24:case 25:case 26:var i=d.getCurrentSets();if(!i)throw Error("text requires set");d.addTextData(i,f[h],void 0);break;case 27:case 28:var i=d.getCurrentSets();if(!i)throw Error("text requires set");d.addTextData(i,f[h-1],f[h]);break;case 29:case 41:case 34:this.$=[f[h]];break;case 30:case 42:this.$=[...f[h-2],f[h]];break;case 31:this.$=[f[h-2],f[h]];break;case 33:this.$=f[h].join(" ")}},"anonymous"),table:[a(b,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},a(c,[2,4],{6:5}),a(b,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},a(c,[2,5]),a(c,[2,6]),a(c,[2,7]),a(c,[2,8]),{13:16,20:d,21:e},{13:20,18:19,20:d,21:e},{13:20,18:21,20:d,21:e},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:d,21:e},a(c,[2,9],{14:[1,27],15:[1,28]}),a(f,[2,43]),a(f,[2,44]),a(c,[2,13],{14:[1,29],15:[1,30],27:g}),a(f,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:g},a(c,[2,22]),a(c,[2,24],{14:[1,35]}),a(c,[2,25],{14:[1,36]}),a(c,[2,26]),{20:i,25:37,26:38,27:g},a(c,[2,10],{15:[1,40]}),{16:[1,41]},a(c,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:d,21:e},a(c,[2,17],{14:[1,45]}),a(c,[2,18],{14:[1,46]}),a(c,[2,19]),a(c,[2,27]),a(c,[2,28]),a(c,[2,23],{27:[1,47]}),a(j,[2,29]),{15:[1,48]},{16:[1,49]},a(c,[2,11]),{16:[1,50]},a(c,[2,15]),a(f,[2,42]),a(c,[2,20]),a(c,[2,21]),{20:i,26:51},{16:k,20:l,21:[1,53],28:52,29:54,30:55,31:m,32:n,33:o},a(c,[2,12]),a(c,[2,16]),a(j,[2,30]),a(j,[2,31]),a(j,[2,32]),a(j,[2,33],{30:61,16:k,20:l,31:m,32:n,33:o}),a(p,[2,34]),a(p,[2,36]),a(p,[2,37]),a(p,[2,38]),a(p,[2,39]),a(p,[2,40]),a(p,[2,35])],defaultActions:{6:[2,1]},parseError:(0,h.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,h.K2)(function(a){var b=this,c=[0],d=[],e=[null],f=[],g=this.table,i="",j=0,k=0,l=0,m=f.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;f.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K2)(function(a){c.length=c.length-2*a,e.length=e.length-a,f.length=f.length-a},"popStack"),(0,h.K2)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=g[v]&&g[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],g[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(j+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),e.push(n.yytext),f.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(k=n.yyleng,i=n.yytext,j=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=e[e.length-z],C._$={first_line:f[f.length-(z||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(z||1)].first_column,last_column:f[f.length-1].last_column},r&&(C._$.range=[f[f.length-(z||1)].range[0],f[f.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[i,k,j,o,w[1],e,f].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),e=e.slice(0,-1*z),f=f.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),e.push(C.$),f.push(C._$),A=g[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function r(){this.yy={}}return q.lexer={EOF:1,parseError:(0,h.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,h.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,h.K2)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K2)(function(){return this._more=!0,this},"more"),reject:(0,h.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,h.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,h.K2)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,h.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,h.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,h.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,h.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,h.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K2)(function(a,b,c,d){switch(c){case 0:case 1:case 2:case 4:case 7:case 8:break;case 3:if(a.getIndentMode&&a.getIndentMode())return a.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 5:a.setIndentMode&&a.setIndentMode(!1),this.begin("INITIAL"),this.unput(b.yytext);break;case 6:return this.begin("bol"),8;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(!a.consumeIndentText)return 19;a.consumeIndentText=!1;break;case 15:return 24;case 16:return b.yytext=b.yytext.slice(2,-2),14;case 17:return b.yytext=b.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}},(0,h.K2)(r,"Parser"),r.prototype=q,q.Parser=r,new r}();R.parser=R;var S=[],T=[],U=[],V=new Set,W=!1,X=(0,h.K2)((a,b,c)=>{let e=ac(a).sort(),f=c??10/Math.pow(a.length,2);d=e,1===e.length&&V.add(e[0]),S.push({sets:e,size:f,label:b?Z(b):void 0})},"addSubsetData"),Y=(0,h.K2)(()=>S,"getSubsetData"),Z=(0,h.K2)(a=>{let b=a.trim();return b.length>=2&&b.startsWith('"')&&b.endsWith('"')?b.slice(1,-1):b},"normalizeText"),$=(0,h.K2)(a=>a?Z(a):a,"normalizeStyleValue"),_=(0,h.K2)((a,b,c)=>{let d=Z(b);T.push({sets:ac(a).sort(),id:d,label:c?Z(c):void 0})},"addTextData"),aa=(0,h.K2)((a,b)=>{let c=ac(a).sort(),d={};for(let[a,c]of b)d[a]=$(c)??c;U.push({targets:c,styles:d})},"addStyleData"),ab=(0,h.K2)(()=>U,"getStyleData"),ac=(0,h.K2)(a=>a.map(a=>Z(a)),"normalizeIdentifierList"),ad=(0,h.K2)(a=>{let b=ac(a).filter(a=>!V.has(a));if(b.length>0)throw Error(`unknown set identifier: ${b.join(", ")}`)},"validateUnionIdentifiers"),ae=(0,h.K2)(()=>T,"getTextData"),af=(0,h.K2)(()=>d,"getCurrentSets"),ag=(0,h.K2)(()=>W,"getIndentMode"),ah=(0,h.K2)(a=>{W=a},"setIndentMode"),ai=g.UI.venn;function aj(){return(0,f.$t)(ai,(0,g.zj)().venn)}(0,h.K2)(aj,"getConfig");var ak={getConfig:aj,clear:(0,h.K2)(()=>{(0,g.IU)(),S.length=0,T.length=0,U.length=0,V.clear(),d=void 0,W=!1},"customClear"),setAccTitle:g.SV,getAccTitle:g.iN,setDiagramTitle:g.ke,getDiagramTitle:g.ab,getAccDescription:g.m7,setAccDescription:g.EI,addSubsetData:X,getSubsetData:Y,addTextData:_,addStyleData:aa,validateUnionIdentifiers:ad,getTextData:ae,getStyleData:ab,getCurrentSets:af,getIndentMode:ag,setIndentMode:ah},al=(0,h.K2)(a=>`
2
2
  .venn-title {
3
3
  font-size: 32px;
4
4
  fill: ${a.vennTitleTextColor};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4812,exports.ids=[4812,8514],exports.modules={9328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>A,JR:()=>P,Kt:()=>I,L_:()=>z,QI:()=>G,QR:()=>y,RK:()=>K,Yt:()=>Q,Zh:()=>J,b7:()=>L,gn:()=>B,i8:()=>R,jf:()=>F,k_:()=>O,mR:()=>E,nO:()=>C,q_:()=>H,vv:()=>x});var e=c(73745);c(66493);var f=c(73024),g=c(76760),h=c.n(g),i=c(65326),j=c(53905),k=c(5492),l=c(36017),m=c(51021),n=c(99861),o=c(45730),p=c(97453),q=c(16975),r=c(8118),s=c(28514),t=c(12140),u=c(20050),v=c(63781),w=a([m,n,o]);async function x(a){try{let b=await (0,r.listUtilities)(a??{});return{ok:!0,utilities:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function y(a){let b=await (0,o.w)(a);return b.ok?{ok:!0,preview:b.preview}:{ok:!1,error:b.error}}async function z(a){try{let b=await (0,o.installFromGithubConfirmed)(a);return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:b.scope,id:b.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function A(){let{getCuratedRegistry:a}=await c.e(4925).then(c.bind(c,44925));return{items:await a()}}async function B(a){if(a.github.startsWith("builtin:"))try{let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035)),d=await b({builtin:a.github,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:d.scope,id:d.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}let b=await (0,o.w)(a.github);if(!b.ok)return{ok:!1,error:b.error};try{let c=await (0,o.installFromGithubConfirmed)({preview:b.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:c.scope,id:c.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function C(a){try{let b=await (0,r.listUtilities)({...a?.rootId?{rootId:a.rootId}:{}}),d=[];for(let a of b){let b=a.manifest.source?.origin??"";if(b.startsWith("builtin:")){let b=await D(a.manifest.id,a.manifest.version);b&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:b.version,source:"builtin",ref:b.spec})}else if(b.startsWith("github:"))try{let{checkGithubUpdate:b}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.manifest.id,a.rootId);!e.upToDate&&e.preview&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:e.preview.manifest.version,source:"github",ref:`github:${e.preview.source.owner}/${e.preview.source.repo}@${e.latestSha}`})}catch{}}return{ok:!0,updates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function D(a,b){try{let d=await Promise.resolve().then(c.t.bind(c,51455,23)),e=(await Promise.resolve().then(c.t.bind(c,76760,23))).join(process.cwd(),"packages","utilities",a,"manifest.json"),f=await d.readFile(e,"utf8"),g=JSON.parse(f);if(!g.version||g.version===b)return null;return{version:g.version,spec:`builtin:${a}@${g.version}`}}catch{return null}}async function E(a){try{let{withUpdateSnapshot:b}=await c.e(4840).then(c.bind(c,94840)),d=await b(a.scope,a.id,a.rootId,async()=>{if("builtin"===a.source){let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035));return(await b({builtin:a.ref,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}})).origin.split("@")[1]??a.latestVersion}if("github"===a.source){let{checkGithubUpdate:b,installFromGithubConfirmed:d}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.id,a.rootId);return e.upToDate||!e.preview?a.currentVersion:(await d({preview:e.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}}),e.preview.manifest.version)}throw Error(`Unknown update source: ${a.source}`)});return(0,i.revalidatePath)("/utilities"),a.rootId&&(0,i.revalidatePath)(`/roots/${a.rootId}`),{ok:!0,newVersion:d}}catch(c){var b,d;let a=c instanceof Error?c.message:String(c);return{ok:!1,error:`Update rolled back — previous version restored. Error: ${b=a,d=600,b.length<=600?b:b.slice(0,d)+"…"}`}}}async function F(a,b,c){try{return await (0,r.jc)(a,b,c),await (0,s.J8)(a,b,c),(0,i.revalidatePath)("/utilities"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function G(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return await (0,n.buildUtility)(d),(0,i.revalidatePath)(`/utilities/${a}/${b}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function H(a,b,c){try{let d=await (0,o.checkGithubUpdate)(a,b,c);return{ok:!0,...d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function I(a){return(0,t.y4)(a??{})}async function J(a){let b=p.McpConfigSchema.safeParse(a);if(!b.success)return{ok:!1,error:b.error.message};try{let a=await (0,p.connectAndListTools)(b.data);return{ok:!0,...a.name?{serverName:a.name}:{},...a.version?{serverVersion:a.version}:{},tools:a.tools}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function K(a){try{var b;let c=p.McpConfigSchema.parse(a.config),d=await (0,p.connectAndListTools)(c),e=(0,q.U)({id:a.id,name:a.name,description:a.description??d.name??"",tools:d.tools}),g=u.pL.parse(e.manifest),j=await (0,r.gd)({scope:a.scope,...a.rootId?{rootId:a.rootId}:{},manifest:g,files:e.files,source:{type:"mcp",origin:(b=c,"stdio"===b.transport?`mcp:stdio:${b.command}${b.args.length?" "+b.args.join(" "):""}`:`mcp:${b.transport}:${b.url}`),fetchedAt:new Date().toISOString(),installedBy:"user"}});return await f.promises.writeFile(h().join(j.dir,"mcp.json"),JSON.stringify(c,null,2)+"\n","utf8"),await (0,n.buildUtility)(j),(0,i.revalidatePath)("/utilities"),{ok:!0,scope:j.scope,id:j.manifest.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!a.instruction.trim())return{ok:!1,error:"instruction is empty"};let c=await M(b,a.rootId);if(!c)return{ok:!1,error:"no project root available — register a root first"};let d=await (0,j.Zn)(c);if(!d)return{ok:!1,error:"root not found"};let e=await N(b.dir),f=function(a,b,c,d){let e=c.map(a=>{var b;return"### "+a.rel+"\n```"+((b=a.rel).endsWith(".tsx")?"tsx":b.endsWith(".ts")?"ts":b.endsWith(".jsx")?"jsx":b.endsWith(".js")?"js":b.endsWith(".json")?"json":b.endsWith(".css")?"css":b.endsWith(".md")?"md":"")+"\n"+a.content+"\n```"}).join("\n\n");return[`/goal Improve the Reflex utility "${a.name}" (id: ${a.id}).`,"",`Current utility directory on disk: \`${b}\`.`,`Scope: ${a.source?.type??"agent"} -> manifest.id=${a.id}.`,"\n## What the user is asking",d.trim(),"\n## Current utility files",e||"(no readable files)",'\n## What is required of you\n1. Read the files above and understand the current behaviour.\n2. Make the changes the user requested.\n3. Emit the updated utility via the `<<reflex:utility>>` marker with the same `id` and an incremented `version`. Reflex will reinstall it on top of the existing one and rebuild the bundle immediately.\n4. Verify the new bundle builds without errors and the UI reflects the requested change.\n5. When done, emit `<<reflex:kb>>{"kind":"goal-completion",...}` and the phrase `GOAL ACHIEVED` on a separate line.\n\nDo not invent imports outside the whitelist (`react`, `react-dom/client`, `react/jsx-runtime`, `@host/api`, `@host/ui`). If the request requires something impossible — ask via `<<reflex:question>>`.'].join("\n")}(b.manifest,b.dir,e,a.instruction),g=await (0,l.M)(),h=g.assignments.chat,n=await (0,k.OY)({root:d.path,firstMessage:`Edit: ${b.manifest.name}`,harness:h.harness,model:h.model,language:g.language}),o=await (0,m.W)({rootId:c,topicId:n.meta.id,message:f});if("error"in o)return{ok:!1,error:o.error};return(0,i.revalidatePath)(`/roots/${c}`),{ok:!0,rootId:c,topicId:n.meta.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a,b){if(a.rootId)return a.rootId;let c=a.manifest.source?.origin;if(c?.startsWith("agent:")){let a=c.split(":");if(a.length>=4){let b=a[1];if(await (0,j.Zn)(b))return b}}if(b&&await (0,j.Zn)(b))return b;let d=await (0,j.qV)();return d[0]?.id}async function N(a){let b=[],c=async(a,d)=>{for(let e of(await f.promises.readdir(a,{withFileTypes:!0}))){if("data"===e.name||"dist"===e.name||"node_modules"===e.name)continue;let g=h().join(a,e.name),i=d?`${d}/${e.name}`:e.name;if(e.isDirectory())await c(g,i);else if(/\.(tsx?|jsx?|md|json|css)$/.test(e.name)&&"bundle.js"!==e.name&&"style.css"!==e.name){let a=await f.promises.readFile(g,"utf8");a.length<32e3&&b.push({rel:i,content:a})}}};return await c(a,""),b}async function O(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};let c=b.manifest.secrets??[],d=new Set(await (0,s.listSecretKeys)(a.scope,a.id,a.rootId));return{ok:!0,secrets:c.map(a=>({key:a.key,label:a.label,description:a.description,required:a.required,set:d.has(a.key)}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!(b.manifest.secrets??[]).find(b=>b.key===a.key))return{ok:!1,error:`secret "${a.key}" is not declared in manifest.secrets`};if(!a.value)return{ok:!1,error:"empty value — use delete instead"};return await (0,s.Pq)(a.scope,a.id,a.key,a.value,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function Q(a){try{return await (0,s.e3)(a.scope,a.id,a.key,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return{ok:!0,manifest:d.manifest}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}[m,n,o]=w.then?(await w)():w,(0,v.D)([x,y,z,A,B,C,E,F,G,H,I,J,K,L,O,P,Q,R]),(0,e.A)(x,"4012d1c284a4facd6285c1b35ebae51f612f9c8248",null),(0,e.A)(y,"4037ef4d581c6904e6ca70bf15996ddbff1955ae7d",null),(0,e.A)(z,"402558b270acde7af3a27a46ac5eb63212e77f5753",null),(0,e.A)(A,"00e4b85ea640290296608a68668b9df9d68cc18b58",null),(0,e.A)(B,"405ad173e6c59d6ca16e71fa19d9faa18631647932",null),(0,e.A)(C,"404e89930f498a8e8657ea4532306a27e75112bebd",null),(0,e.A)(E,"40641a40b4e76862c927082b84b134e28f7197c4e2",null),(0,e.A)(F,"707ec1f6769e6a7416742270bab973b65ffef844fd",null),(0,e.A)(G,"70ddefe7e9f66543017f28bdb27c2f22c077254871",null),(0,e.A)(H,"7011da26c7790ee4663ee278cab79a499bce11b13e",null),(0,e.A)(I,"4057ec8ce5e32464ffc80c04b4eb61c10515990b40",null),(0,e.A)(J,"4088c2504e4c11694eb1ab8dbcd09c7b3d9628e99c",null),(0,e.A)(K,"40e2e00ae5fb0b5803751b6630d4fd54340a479703",null),(0,e.A)(L,"40658f52c52e4e2a8beb08dfe174b8018945f1a72e",null),(0,e.A)(O,"4088c6b6ca6d637f5e787ffb673ee427d1cff50c10",null),(0,e.A)(P,"40a582a4a5a5fee95576c4ada9ae92bab98712fdfc",null),(0,e.A)(Q,"40fb4d600a958802a9d38c889a76a08dfdec7b54a6",null),(0,e.A)(R,"70410fde066682e00ade2ac20bb99609da523b9d9b",null),d()}catch(a){d(a)}})},12140:(a,b,c)=>{c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},16975:(a,b,c)=>{function d(a){var b;return{manifest:{id:a.id,name:a.name,description:a.description,version:"0.1.0",ui:"ui.tsx",serverActions:[],permissions:{audit:{write:!0}}},files:{"ui.tsx":function(a){let b=JSON.stringify(a.tools,null,2);return`import { useState } from "react";
1
+ "use strict";exports.id=4812,exports.ids=[4812,8514],exports.modules={9328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>A,JR:()=>P,Kt:()=>I,L_:()=>z,QI:()=>G,QR:()=>y,RK:()=>K,Yt:()=>Q,Zh:()=>J,b7:()=>L,gn:()=>B,i8:()=>R,jf:()=>F,k_:()=>O,mR:()=>E,nO:()=>C,q_:()=>H,vv:()=>x});var e=c(73745);c(66493);var f=c(73024),g=c(76760),h=c.n(g),i=c(65326),j=c(53905),k=c(5492),l=c(36017),m=c(51021),n=c(99861),o=c(45730),p=c(97453),q=c(16975),r=c(8118),s=c(28514),t=c(12140),u=c(20050),v=c(63781),w=a([m,n,o]);async function x(a){try{let b=await (0,r.listUtilities)(a??{});return{ok:!0,utilities:b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function y(a){let b=await (0,o.w)(a);return b.ok?{ok:!0,preview:b.preview}:{ok:!1,error:b.error}}async function z(a){try{let b=await (0,o.installFromGithubConfirmed)(a);return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:b.scope,id:b.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function A(){let{getCuratedRegistry:a}=await c.e(4925).then(c.bind(c,44925));return{items:await a()}}async function B(a){if(a.github.startsWith("builtin:"))try{let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035)),d=await b({builtin:a.github,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:d.scope,id:d.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}let b=await (0,o.w)(a.github);if(!b.ok)return{ok:!1,error:b.error};try{let c=await (0,o.installFromGithubConfirmed)({preview:b.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}});return(0,i.revalidatePath)("/utilities"),{ok:!0,scope:c.scope,id:c.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function C(a){try{let b=await (0,r.listUtilities)({...a?.rootId?{rootId:a.rootId}:{}}),d=[];for(let a of b){let b=a.manifest.source?.origin??"";if(b.startsWith("builtin:")){let b=await D(a.manifest.id,a.manifest.version);b&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:b.version,source:"builtin",ref:b.spec})}else if(b.startsWith("github:"))try{let{checkGithubUpdate:b}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.manifest.id,a.rootId);!e.upToDate&&e.preview&&d.push({scope:a.scope,id:a.manifest.id,name:a.manifest.name,currentVersion:a.manifest.version,latestVersion:e.preview.manifest.version,source:"github",ref:`github:${e.preview.source.owner}/${e.preview.source.repo}@${e.latestSha}`})}catch{}}return{ok:!0,updates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function D(a,b){try{let d=await Promise.resolve().then(c.t.bind(c,51455,23)),e=(await Promise.resolve().then(c.t.bind(c,76760,23))).join(process.cwd(),"packages","utilities",a,"manifest.json"),f=await d.readFile(e,"utf8"),g=JSON.parse(f);if(!g.version||g.version===b)return null;return{version:g.version,spec:`builtin:${a}@${g.version}`}}catch{return null}}async function E(a){try{let{withUpdateSnapshot:b}=await c.e(4840).then(c.bind(c,94840)),d=await b(a.scope,a.id,a.rootId,async()=>{if("builtin"===a.source){let{installFromBuiltin:b}=await c.e(2035).then(c.bind(c,32035));return(await b({builtin:a.ref,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}})).origin.split("@")[1]??a.latestVersion}if("github"===a.source){let{checkGithubUpdate:b,installFromGithubConfirmed:d}=await Promise.resolve().then(c.bind(c,45730)),e=await b(a.scope,a.id,a.rootId);return e.upToDate||!e.preview?a.currentVersion:(await d({preview:e.preview,scope:a.scope,...a.rootId?{rootId:a.rootId}:{}}),e.preview.manifest.version)}throw Error(`Unknown update source: ${a.source}`)});return(0,i.revalidatePath)("/utilities"),a.rootId&&(0,i.revalidatePath)(`/roots/${a.rootId}`),{ok:!0,newVersion:d}}catch(c){var b,d;let a=c instanceof Error?c.message:String(c);return{ok:!1,error:`Update rolled back — previous version restored. Error: ${b=a,d=600,b.length<=600?b:b.slice(0,d)+"…"}`}}}async function F(a,b,c){try{return await (0,r.jc)(a,b,c),await (0,s.J8)(a,b,c),(0,i.revalidatePath)("/utilities"),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function G(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return await (0,n.buildUtility)(d),(0,i.revalidatePath)(`/utilities/${a}/${b}`),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function H(a,b,c){try{let d=await (0,o.checkGithubUpdate)(a,b,c);return{ok:!0,...d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function I(a){return(0,t.y4)(a??{})}async function J(a){let b=p.McpConfigSchema.safeParse(a);if(!b.success)return{ok:!1,error:b.error.message};try{let a=await (0,p.connectAndListTools)(b.data);return{ok:!0,...a.name?{serverName:a.name}:{},...a.version?{serverVersion:a.version}:{},tools:a.tools}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function K(a){try{var b;let c=p.McpConfigSchema.parse(a.config),d=await (0,p.connectAndListTools)(c),e=(0,q.U)({id:a.id,name:a.name,description:a.description??d.name??"",tools:d.tools}),g=u.pL.parse(e.manifest),j=await (0,r.gd)({scope:a.scope,...a.rootId?{rootId:a.rootId}:{},manifest:g,files:e.files,source:{type:"mcp",origin:(b=c,"stdio"===b.transport?`mcp:stdio:${b.command}${b.args.length?" "+b.args.join(" "):""}`:`mcp:${b.transport}:${b.url}`),fetchedAt:new Date().toISOString(),installedBy:"user"}});return await f.promises.writeFile(h().join(j.dir,"mcp.json"),JSON.stringify(c,null,2)+"\n","utf8"),await (0,n.buildUtility)(j),(0,i.revalidatePath)("/utilities"),{ok:!0,scope:j.scope,id:j.manifest.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function L(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!a.instruction.trim())return{ok:!1,error:"instruction is empty"};let c=await M(b,a.rootId);if(!c)return{ok:!1,error:"no project root available — register a root first"};let d=await (0,j.Zn)(c);if(!d)return{ok:!1,error:"root not found"};let e=await N(b.dir),f=function(a,b,c,d){let e=c.map(a=>{var b;return"### "+a.rel+"\n```"+((b=a.rel).endsWith(".tsx")?"tsx":b.endsWith(".ts")?"ts":b.endsWith(".jsx")?"jsx":b.endsWith(".js")?"js":b.endsWith(".json")?"json":b.endsWith(".css")?"css":b.endsWith(".md")?"md":"")+"\n"+a.content+"\n```"}).join("\n\n");return[`/goal Improve the Reflex utility "${a.name}" (id: ${a.id}).`,"",`Current utility directory on disk: \`${b}\`.`,`Scope: ${a.source?.type??"agent"} -> manifest.id=${a.id}.`,"\n## What the user is asking",d.trim(),"\n## Current utility files",e||"(no readable files)",'\n## What is required of you\n1. Read the files above and understand the current behaviour.\n2. Make the changes the user requested.\n3. Emit the updated utility via the `<<reflex:utility>>` marker with the same `id` and an incremented `version`. Reflex will reinstall it on top of the existing one and rebuild the bundle immediately.\n4. Verify the new bundle builds without errors and the UI reflects the requested change.\n5. When done, emit `<<reflex:kb>>{"kind":"goal-completion",...}` and the phrase `GOAL ACHIEVED` on a separate line.\n\nDo not invent imports outside the whitelist (`react`, `react-dom/client`, `react/jsx-runtime`, `@host/api`, `@host/ui`). If the request requires something impossible — ask via `<<reflex:question>>`.'].join("\n")}(b.manifest,b.dir,e,a.instruction),g=await (0,l.M)(),h=g.assignments.chat,n=await (0,k.OY)({root:d.path,firstMessage:`Edit: ${b.manifest.name}`,harness:h.harness,model:h.model,language:g.language}),o=await (0,m.W)({rootId:c,topicId:n.meta.id,message:f});if("error"in o)return{ok:!1,error:o.error};return(0,i.revalidatePath)(`/roots/${c}`),{ok:!0,rootId:c,topicId:n.meta.id}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function M(a,b){if(a.rootId)return a.rootId;let c=a.manifest.source?.origin;if(c?.startsWith("agent:")){let a=c.split(":");if(a.length>=4){let b=a[1];if(await (0,j.Zn)(b))return b}}if(b&&await (0,j.Zn)(b))return b;let d=await (0,j.qV)();return d[0]?.id}async function N(a){let b=[],c=async(a,d)=>{for(let e of(await f.promises.readdir(a,{withFileTypes:!0}))){if("data"===e.name||"dist"===e.name||"node_modules"===e.name)continue;let g=h().join(a,e.name),i=d?`${d}/${e.name}`:e.name;if(e.isDirectory())await c(g,i);else if(/\.(tsx?|jsx?|md|json|css)$/.test(e.name)&&"bundle.js"!==e.name&&"style.css"!==e.name){let a=await f.promises.readFile(g,"utf8");a.length<32e3&&b.push({rel:i,content:a})}}};return await c(a,""),b}async function O(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};let c=b.manifest.secrets??[],d=new Set(await (0,s.listSecretKeys)(a.scope,a.id,a.rootId));return{ok:!0,secrets:c.map(a=>({key:a.key,label:a.label,description:a.description,required:a.required,set:d.has(a.key)}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function P(a){try{let b=await (0,r.getUtility)(a.scope,a.id,a.rootId);if(!b)return{ok:!1,error:"utility not found"};if(!(b.manifest.secrets??[]).find(b=>b.key===a.key))return{ok:!1,error:`secret "${a.key}" is not declared in manifest.secrets`};if(!a.value)return{ok:!1,error:"empty value — use delete instead"};return await (0,s.Pq)(a.scope,a.id,a.key,a.value,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function Q(a){try{return await (0,s.e3)(a.scope,a.id,a.key,a.rootId),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a,b,c){try{let d=await (0,r.getUtility)(a,b,c);if(!d)return{ok:!1,error:"utility not found"};return{ok:!0,manifest:d.manifest}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}[m,n,o]=w.then?(await w)():w,(0,v.D)([x,y,z,A,B,C,E,F,G,H,I,J,K,L,O,P,Q,R]),(0,e.A)(x,"4014d0297188a0950381429d433d10aa98cde3ae84",null),(0,e.A)(y,"400c568a7db516ccdd6d9ba2bae2662b3ebc31957f",null),(0,e.A)(z,"400e8d7c67057bea6aef89be20396fc5de0ba0dd46",null),(0,e.A)(A,"001341fceb8414c4d7d121651eb8b9a28e21b3da33",null),(0,e.A)(B,"40007e8588123e4a1c2446869c632dd3481c97ae79",null),(0,e.A)(C,"40a99f1ab040292fb2a54e3fb4f55ac404de385679",null),(0,e.A)(E,"4018083d4923b30a197b1fc83354bff9817054a2fa",null),(0,e.A)(F,"705a1d9d6197afca0974a26faea39ed19829a6dae2",null),(0,e.A)(G,"70c695a13fe1c2b91fcd1c3d6e56356f571febf6ec",null),(0,e.A)(H,"70dba019e89f68093e7d0eb1ba647e70a5975160ee",null),(0,e.A)(I,"404ea01a5eda6a32991a3e36211a1fc540bcd57243",null),(0,e.A)(J,"40fa11eaf0802d2f2c3da2477f43c9e5fef17ade4f",null),(0,e.A)(K,"40c9699f70b447d4fead0ea11e252e38865d139599",null),(0,e.A)(L,"40293949eeea14f1abc36aee7a1c6b08f531044b63",null),(0,e.A)(O,"40d6b08cbe8d94852a207c89611967292f75dd5d40",null),(0,e.A)(P,"40b0da2e010aae2fb36461a876894101fae8f346dc",null),(0,e.A)(Q,"4058cdbb16e944d3f8754aa278125cf0b6169794b6",null),(0,e.A)(R,"705dc0bf98e010ba114e21938853009cbe07d11a8d",null),d()}catch(a){d(a)}})},12140:(a,b,c)=>{c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},16975:(a,b,c)=>{function d(a){var b;return{manifest:{id:a.id,name:a.name,description:a.description,version:"0.1.0",ui:"ui.tsx",serverActions:[],permissions:{audit:{write:!0}}},files:{"ui.tsx":function(a){let b=JSON.stringify(a.tools,null,2);return`import { useState } from "react";
2
2
  import { reflex } from "@host/api";
3
3
  import {
4
4
  Button,