openfox 2.0.94 → 2.0.95

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 (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/CHANGELOG.md +12 -0
  3. package/dist/{chat-handler-Z7OCNJWO.js → chat-handler-5FV3TGQD.js} +8 -8
  4. package/dist/{chunk-ZYDPYFRH.js → chunk-5UFTFBNW.js} +3 -3
  5. package/dist/{chunk-DLCMSSG3.js → chunk-6RHMIMID.js} +7 -7
  6. package/dist/{chunk-FVV7TZC2.js → chunk-7P7OKBYQ.js} +3 -2
  7. package/dist/{chunk-KNRE3DG4.js → chunk-D6T3X22W.js} +28 -42
  8. package/dist/{chunk-YJ5P33SE.js → chunk-HAFRPV7I.js} +12 -2
  9. package/dist/{chunk-OQXG4MS4.js → chunk-KG2PJVOE.js} +78 -38
  10. package/dist/{chunk-V4QTGYXL.js → chunk-MB7STVMR.js} +3 -3
  11. package/dist/{chunk-MUNVSHL5.js → chunk-OZD247P4.js} +5 -5
  12. package/dist/{chunk-KU3YUGAN.js → chunk-SJJVNSA6.js} +2 -2
  13. package/dist/{chunk-XNB3JWAR.js → chunk-TDHDLDGQ.js} +9 -19
  14. package/dist/chunk-VKU7YBLH.js +7 -0
  15. package/dist/{chunk-3WKAKOU4.js → chunk-W7P5P54O.js} +2 -2
  16. package/dist/{chunk-LSDJCJWA.js → chunk-YCPUV7AR.js} +4 -4
  17. package/dist/{chunk-2BCQDYNA.js → chunk-YPBV47DH.js} +6 -9
  18. package/dist/{chunk-VYN37NXW.js → chunk-ZMSHE564.js} +2 -2
  19. package/dist/cli/dev.js +1 -1
  20. package/dist/cli/index.js +1 -1
  21. package/dist/{client-OBMJSTFN.js → client-RENSCJPZ.js} +3 -3
  22. package/dist/{compactor-RSEV7VYH.js → compactor-3RXIAIPR.js} +3 -3
  23. package/dist/{dynamic-context-C3BWQ5GK.js → dynamic-context-CJFDFUJF.js} +2 -2
  24. package/dist/{events-SY5B4VED.js → events-QHZDLHEB.js} +2 -2
  25. package/dist/{http-client-3MOFAPO6.js → http-client-U6DVFL7F.js} +2 -2
  26. package/dist/{manager-UP3XMLKX.js → manager-53J5P4EZ.js} +2 -2
  27. package/dist/{orchestrator-VSUL2C7G.js → orchestrator-LDVMBC23.js} +7 -7
  28. package/dist/package.json +1 -1
  29. package/dist/{path-security-E55IEQHD.js → path-security-72KGHGSV.js} +3 -3
  30. package/dist/{processor-WP34IB3C.js → processor-32QUVPV6.js} +7 -7
  31. package/dist/{provider-E5IP7RF7.js → provider-A74GHQUO.js} +4 -4
  32. package/dist/{provider-manager-FVIFMUTO.js → provider-manager-PBOF77RQ.js} +4 -4
  33. package/dist/{serve-NZZVFNMA.js → serve-GL5WUPRP.js} +15 -15
  34. package/dist/server/index.js +14 -14
  35. package/dist/{server-DYJTLAZS.js → server-OYVGQU7O.js} +10 -10
  36. package/dist/{tools-YXOCUUKE.js → tools-UTA3TV7P.js} +5 -5
  37. package/dist/{update-5HWU675H.js → update-VUTN743C.js} +2 -2
  38. package/dist/web/assets/{index-DxAR7yc9.js → index-BUiw9fSe.js} +10 -10
  39. package/dist/web/index.html +1 -1
  40. package/dist/web/sw.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/chunk-O4NHL6IN.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.95 - 2026-07-26
4
+
5
+ ### Features
6
+
7
+ - **All network requests route through configured HTTP proxy** — OpenFox now respects proxy settings for all outbound connections, with `HTTP_PROXY`/`HTTPS_PROXY` inherited by shell processes and a connectivity test button in Advanced settings.
8
+
9
+ ### Bug Fixes
10
+
11
+ - **Aborting a workflow no longer cancels it** — hitting Escape during a workflow step stops the agent but preserves the execution; typing a message auto-resumes the workflow in the same step without re-injecting the prompt.
12
+ - **Workflows can resume from any step type** — the previous restriction limiting resume to `user` steps has been removed, enabling recovery from aborted agent and shell steps.
13
+ - **Proxy connections accept self-signed certificates** — the proxy agent now sets `rejectUnauthorized: false` for HTTPS targets behind TLS-intercepting proxies.
14
+
3
15
  ## 2.0.94 - 2026-07-26
4
16
 
5
17
  ### Features
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.95 - 2026-07-26
4
+
5
+ ### Features
6
+
7
+ - **All network requests route through configured HTTP proxy** — OpenFox now respects proxy settings for all outbound connections, with `HTTP_PROXY`/`HTTPS_PROXY` inherited by shell processes and a connectivity test button in Advanced settings.
8
+
9
+ ### Bug Fixes
10
+
11
+ - **Aborting a workflow no longer cancels it** — hitting Escape during a workflow step stops the agent but preserves the execution; typing a message auto-resumes the workflow in the same step without re-injecting the prompt.
12
+ - **Workflows can resume from any step type** — the previous restriction limiting resume to `user` steps has been removed, enabling recovery from aborted agent and shell steps.
13
+ - **Proxy connections accept self-signed certificates** — the proxy agent now sets `rejectUnauthorized: false` for HTTPS targets behind TLS-intercepting proxies.
14
+
3
15
  ## 2.0.94 - 2026-07-26
4
16
 
5
17
  ### Features
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  runChatTurn
3
- } from "./chunk-MUNVSHL5.js";
3
+ } from "./chunk-OZD247P4.js";
4
4
  import {
5
5
  buildRunChatTurnParams,
6
6
  finalizeTurnCompletion,
7
7
  generateSessionNameForSession
8
- } from "./chunk-ZYDPYFRH.js";
9
- import "./chunk-DLCMSSG3.js";
8
+ } from "./chunk-5UFTFBNW.js";
9
+ import "./chunk-6RHMIMID.js";
10
10
  import "./chunk-ZASSAZ73.js";
11
- import "./chunk-YJ5P33SE.js";
11
+ import "./chunk-HAFRPV7I.js";
12
12
  import "./chunk-I72ACQ6R.js";
13
13
  import "./chunk-NWO6GRYE.js";
14
14
  import "./chunk-VKWVPQJ5.js";
15
15
  import "./chunk-62X2MPO6.js";
16
16
  import "./chunk-J7GAZGZT.js";
17
- import "./chunk-V4QTGYXL.js";
17
+ import "./chunk-MB7STVMR.js";
18
18
  import "./chunk-MC3MCMAF.js";
19
19
  import "./chunk-5N5JXT7R.js";
20
- import "./chunk-VYN37NXW.js";
20
+ import "./chunk-ZMSHE564.js";
21
21
  import {
22
22
  createChatMessageMessage,
23
23
  createPhaseChangedMessage,
@@ -29,7 +29,7 @@ import "./chunk-K2O7JTCX.js";
29
29
  import "./chunk-MRWR3SIT.js";
30
30
  import {
31
31
  getEventStore
32
- } from "./chunk-FVV7TZC2.js";
32
+ } from "./chunk-7P7OKBYQ.js";
33
33
  import "./chunk-NLN5LPQ4.js";
34
34
  import "./chunk-P637C6X3.js";
35
35
  import "./chunk-TSHJW7OC.js";
@@ -165,4 +165,4 @@ export {
165
165
  startChatSession,
166
166
  stopSessionExecution
167
167
  };
168
- //# sourceMappingURL=chat-handler-Z7OCNJWO.js.map
168
+ //# sourceMappingURL=chat-handler-5FV3TGQD.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  combineEventsWithSnapshot,
10
10
  getEventStore
11
- } from "./chunk-FVV7TZC2.js";
11
+ } from "./chunk-7P7OKBYQ.js";
12
12
  import {
13
13
  buildMessagesFromStoredEvents,
14
14
  foldPendingConfirmations
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
153
153
  client = deps.getLLMClient();
154
154
  client.setModel(providerConfig.model);
155
155
  } else if (providerConfig) {
156
- const { createLLMClient } = await import("./client-OBMJSTFN.js");
156
+ const { createLLMClient } = await import("./client-RENSCJPZ.js");
157
157
  client = createLLMClient({
158
158
  llm: {
159
159
  baseUrl: providerConfig.baseUrl,
@@ -204,4 +204,4 @@ export {
204
204
  needsNameGeneration,
205
205
  generateSessionNameForSession
206
206
  };
207
- //# sourceMappingURL=chunk-ZYDPYFRH.js.map
207
+ //# sourceMappingURL=chunk-5UFTFBNW.js.map
@@ -11,7 +11,7 @@ import {
11
11
  spawnShellProcess,
12
12
  startProcessCommand,
13
13
  stopProcess
14
- } from "./chunk-YJ5P33SE.js";
14
+ } from "./chunk-HAFRPV7I.js";
15
15
  import {
16
16
  getMaxPerSession,
17
17
  getSessionProcessCount,
@@ -44,7 +44,7 @@ import {
44
44
  extractSensitivePathsFromCommand,
45
45
  registerPathConfirmation,
46
46
  requestPathAccess
47
- } from "./chunk-VYN37NXW.js";
47
+ } from "./chunk-ZMSHE564.js";
48
48
  import {
49
49
  createChatDoneMessage,
50
50
  createChatMessageMessage,
@@ -75,7 +75,7 @@ import {
75
75
  getCurrentContextWindowId,
76
76
  getCurrentWindowMessageOptions,
77
77
  getEventStore
78
- } from "./chunk-FVV7TZC2.js";
78
+ } from "./chunk-7P7OKBYQ.js";
79
79
  import {
80
80
  buildContextMessagesFromEventHistory,
81
81
  foldContextState,
@@ -1913,7 +1913,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
1913
1913
  sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
1914
1914
  if (!compacting) {
1915
1915
  const contextState2 = sessionManager.getContextState(sessionId);
1916
- const { shouldCompact, appendCompactionPrompt } = await import("./compactor-RSEV7VYH.js");
1916
+ const { shouldCompact, appendCompactionPrompt } = await import("./compactor-3RXIAIPR.js");
1917
1917
  if (shouldCompact(
1918
1918
  contextState2.currentTokens,
1919
1919
  contextState2.maxTokens,
@@ -2852,7 +2852,7 @@ var callSubAgentTool = {
2852
2852
  };
2853
2853
  }
2854
2854
  try {
2855
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-YXOCUUKE.js");
2855
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-UTA3TV7P.js");
2856
2856
  const toolRegistry = getToolRegistryForAgent2(agentDef);
2857
2857
  const turnMetrics = new TurnMetrics();
2858
2858
  const result = await executeSubAgent({
@@ -3873,7 +3873,7 @@ var mcpConfigTool = createTool(
3873
3873
  mcpNotifyChanged?.(sessionId);
3874
3874
  }
3875
3875
  async function rebuildTools() {
3876
- const { setMcpTools: setMcpTools2 } = await import("./tools-YXOCUUKE.js");
3876
+ const { setMcpTools: setMcpTools2 } = await import("./tools-UTA3TV7P.js");
3877
3877
  const mcpTools = createMcpTools(mcpManagerForTools);
3878
3878
  setMcpTools2(mcpTools);
3879
3879
  }
@@ -4519,4 +4519,4 @@ export {
4519
4519
  getToolRegistryForAgent,
4520
4520
  createToolRegistry
4521
4521
  };
4522
- //# sourceMappingURL=chunk-DLCMSSG3.js.map
4522
+ //# sourceMappingURL=chunk-6RHMIMID.js.map
@@ -948,7 +948,7 @@ function emitRunningChanged(sessionId, isRunning) {
948
948
  data: { isRunning }
949
949
  });
950
950
  }
951
- function emitWorkflowExecutionChanged(sessionId, executionId, workflowId, workflowName, workflowColor, status, currentStepName) {
951
+ function emitWorkflowExecutionChanged(sessionId, executionId, workflowId, workflowName, workflowColor, status, currentStepId, currentStepName) {
952
952
  const eventStore = getEventStore();
953
953
  eventStore.append(sessionId, {
954
954
  type: "workflow.execution_changed",
@@ -958,6 +958,7 @@ function emitWorkflowExecutionChanged(sessionId, executionId, workflowId, workfl
958
958
  workflowName,
959
959
  ...workflowColor ? { workflowColor } : {},
960
960
  status,
961
+ ...currentStepId ? { currentStepId } : {},
961
962
  ...currentStepName ? { currentStepName } : {}
962
963
  }
963
964
  });
@@ -1174,4 +1175,4 @@ export {
1174
1175
  truncateSessionMessages,
1175
1176
  getRecentUserPromptsForSession
1176
1177
  };
1177
- //# sourceMappingURL=chunk-FVV7TZC2.js.map
1178
+ //# sourceMappingURL=chunk-7P7OKBYQ.js.map
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-MUNVSHL5.js";
4
+ } from "./chunk-OZD247P4.js";
5
5
  import {
6
6
  generateSessionNameForSession,
7
7
  getSessionMessageCount,
8
8
  needsNameGeneration
9
- } from "./chunk-ZYDPYFRH.js";
9
+ } from "./chunk-5UFTFBNW.js";
10
10
  import {
11
11
  devServerManager,
12
12
  executeSubAgent,
13
13
  getToolRegistryForAgent
14
- } from "./chunk-DLCMSSG3.js";
14
+ } from "./chunk-6RHMIMID.js";
15
15
  import {
16
16
  checkAborted,
17
17
  onProcessEvent,
18
18
  spawnShellProcess
19
- } from "./chunk-YJ5P33SE.js";
19
+ } from "./chunk-HAFRPV7I.js";
20
20
  import {
21
21
  killProcessTree,
22
22
  terminateProcessTree
@@ -28,7 +28,7 @@ import {
28
28
  applyDynamicContext,
29
29
  computeSessionHash,
30
30
  computeUnifiedDiff
31
- } from "./chunk-V4QTGYXL.js";
31
+ } from "./chunk-MB7STVMR.js";
32
32
  import {
33
33
  createChatErrorMessage,
34
34
  createChatMessageMessage,
@@ -50,7 +50,7 @@ import {
50
50
  } from "./chunk-EU3WWTFH.js";
51
51
  import {
52
52
  appendCompactionPrompt
53
- } from "./chunk-3WKAKOU4.js";
53
+ } from "./chunk-W7P5P54O.js";
54
54
  import {
55
55
  TurnMetrics,
56
56
  createMessageStartEvent
@@ -59,7 +59,7 @@ import {
59
59
  combineEventsWithSnapshot,
60
60
  getCurrentContextWindowId,
61
61
  getEventStore
62
- } from "./chunk-FVV7TZC2.js";
62
+ } from "./chunk-7P7OKBYQ.js";
63
63
  import {
64
64
  getPlatformShell
65
65
  } from "./chunk-NLN5LPQ4.js";
@@ -767,17 +767,6 @@ async function executeWorkflow(workflow, options, subGroup) {
767
767
  totalTime: (performance.now() - startTime) / 1e3
768
768
  };
769
769
  }
770
- if (targetStep.type !== "user") {
771
- return {
772
- finalAction: {
773
- type: "BLOCKED",
774
- reason: `Cannot resume from step "${resumeFromStep}" (type: ${targetStep.type}): only user steps support resume`,
775
- blockedCriteria: []
776
- },
777
- iterations: 0,
778
- totalTime: (performance.now() - startTime) / 1e3
779
- };
780
- }
781
770
  }
782
771
  logger.debug("Workflow executor starting", { sessionId, workflow: workflow.metadata.id });
783
772
  if (workflow.startCondition && workflow.startCondition.type !== "always") {
@@ -827,31 +816,22 @@ async function executeWorkflow(workflow, options, subGroup) {
827
816
  workflow.metadata.color,
828
817
  options.params ?? {}
829
818
  );
830
- if (options.userMessage) {
831
- sessionManager.addMessage(sessionId, {
832
- role: "user",
833
- content: options.userMessage.content,
834
- ...options.userMessage.attachments ? { attachments: options.userMessage.attachments } : {}
835
- });
836
- }
837
819
  } else {
838
820
  const activeExec = sessionManager.getActiveWorkflowExecution(sessionId);
839
821
  if (activeExec) {
840
822
  executionId = activeExec.id;
841
823
  }
842
824
  }
825
+ if (options.userMessage) {
826
+ sessionManager.addMessage(sessionId, {
827
+ role: "user",
828
+ content: options.userMessage.content,
829
+ ...options.userMessage.attachments ? { attachments: options.userMessage.attachments } : {}
830
+ });
831
+ }
843
832
  while (iterations < workflow.settings.maxIterations) {
844
833
  if (signal?.aborted) {
845
- logger.debug("Workflow executor aborted", { sessionId, iterations });
846
- if (executionId) {
847
- sessionManager.cancelWorkflow(
848
- sessionId,
849
- executionId,
850
- workflow.metadata.id,
851
- workflow.metadata.name,
852
- workflow.metadata.color
853
- );
854
- }
834
+ logger.debug("Workflow executor aborted \u2014 preserving execution", { sessionId, iterations });
855
835
  return {
856
836
  finalAction: { type: "RUN_BUILDER", reason: "Aborted" },
857
837
  iterations,
@@ -908,7 +888,8 @@ async function executeWorkflow(workflow, options, subGroup) {
908
888
  const STEP_DONE_NUDGE = "You haven't called step_done(). If you haven't finished the task, continue and when you're finished call step_done()";
909
889
  let promptContent;
910
890
  let nudgeContent;
911
- if (!firstEntryForStep.has(step.id) && agentStep.prompt) {
891
+ const isResumingCurrentStep = isResume && step.id === resumeFromStep;
892
+ if (!firstEntryForStep.has(step.id) && agentStep.prompt && !isResumingCurrentStep) {
912
893
  const resolvedPrompt = resolveTemplate(agentStep.prompt, templateCtx);
913
894
  promptContent = resolvedPrompt + STEP_DONE_PROMPT;
914
895
  const promptMsgId = crypto.randomUUID();
@@ -936,7 +917,7 @@ async function executeWorkflow(workflow, options, subGroup) {
936
917
  })
937
918
  );
938
919
  }
939
- } else if (firstEntryForStep.has(step.id)) {
920
+ } else if (firstEntryForStep.has(step.id) && !isResumingCurrentStep) {
940
921
  const parts = [];
941
922
  if (agentStep.nudgePrompt) {
942
923
  const resolvedNudge = resolveTemplate(agentStep.nudgePrompt, templateCtx);
@@ -963,7 +944,7 @@ async function executeWorkflow(workflow, options, subGroup) {
963
944
  agentStep.agentId ?? resolveDefaultAgentId(),
964
945
  append,
965
946
  {
966
- ...!firstEntryForStep.has(step.id) && !agentStep.prompt ? { injectKickoff: () => injectGenericKickoff(sessionId) } : {},
947
+ ...!firstEntryForStep.has(step.id) && !agentStep.prompt && !isResumingCurrentStep ? { injectKickoff: () => injectGenericKickoff(sessionId) } : {},
967
948
  onToolExecuted: (toolCall, toolResult) => {
968
949
  if (toolCall.name === "step_done" && toolResult.success) {
969
950
  stepDoneCalled = true;
@@ -2180,7 +2161,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
2180
2161
  const sessionId = client.activeSessionId;
2181
2162
  const session = sessionManager.requireSession(sessionId);
2182
2163
  try {
2183
- const { buildCachedPrompt } = await import("./dynamic-context-C3BWQ5GK.js");
2164
+ const { buildCachedPrompt } = await import("./dynamic-context-CJFDFUJF.js");
2184
2165
  const allAgents = await import("./registry-XBEHPY7C.js");
2185
2166
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
2186
2167
  const { systemPrompt: newPrompt, hash: newHash } = await buildCachedPrompt(sessionManager, sessionId, agentDef);
@@ -2337,7 +2318,8 @@ ${content}` : workflowInfo;
2337
2318
  // On resume, prefer params/stepOutput from the persisted workflow execution
2338
2319
  ...isResume ? (() => {
2339
2320
  const exec = sessionManager.getActiveWorkflowExecution(sessionId);
2340
- if (exec && exec.status === "waiting") {
2321
+ if (!exec) return {};
2322
+ if (exec.status === "waiting") {
2341
2323
  const resumed = sessionManager.resumeWorkflow(
2342
2324
  sessionId,
2343
2325
  exec.id,
@@ -2353,7 +2335,11 @@ ${content}` : workflowInfo;
2353
2335
  };
2354
2336
  }
2355
2337
  }
2356
- return {};
2338
+ return {
2339
+ ...Object.keys(exec.params).length > 0 ? { params: exec.params } : {},
2340
+ ...Object.keys(exec.stepOutput).length > 0 ? { initialStepOutput: exec.stepOutput } : {},
2341
+ ...exec.currentStepId ? { resumeFromStep: exec.currentStepId } : {}
2342
+ };
2357
2343
  })() : {},
2358
2344
  ...hasUserMessage ? {
2359
2345
  userMessage: {
@@ -2491,4 +2477,4 @@ export {
2491
2477
  signalMcpReady,
2492
2478
  createWebSocketServer
2493
2479
  };
2494
- //# sourceMappingURL=chunk-KNRE3DG4.js.map
2480
+ //# sourceMappingURL=chunk-D6T3X22W.js.map
@@ -12,6 +12,10 @@ import {
12
12
  import {
13
13
  getPlatformShell
14
14
  } from "./chunk-NLN5LPQ4.js";
15
+ import {
16
+ SETTINGS_KEYS,
17
+ getSetting
18
+ } from "./chunk-UEOEA6BB.js";
15
19
 
16
20
  // src/server/utils/shell.ts
17
21
  import { spawn } from "child_process";
@@ -22,10 +26,16 @@ function spawnShell(command, options) {
22
26
  const shell = getPlatformShell();
23
27
  const isCmd = shell.command === "cmd.exe";
24
28
  const args = isCmd ? ["/d", "/s", "/c", `"${command}"`] : [...shell.args, command];
29
+ const proxyUrl = getSetting(SETTINGS_KEYS.PROXY_URL);
30
+ const proxyEnv = {};
31
+ if (proxyUrl) {
32
+ proxyEnv["HTTP_PROXY"] = proxyUrl;
33
+ proxyEnv["HTTPS_PROXY"] = proxyUrl;
34
+ }
25
35
  return spawn(shell.command, args, {
26
36
  ...isCmd ? { windowsVerbatimArguments: true } : {},
27
37
  cwd: options.cwd,
28
- env: { ...process.env },
38
+ env: { ...process.env, ...proxyEnv },
29
39
  stdio: options.stdio ?? ["ignore", "pipe", "pipe"],
30
40
  windowsHide: true,
31
41
  // detached is only useful for Unix process-group semantics; on win32 it
@@ -153,4 +163,4 @@ export {
153
163
  getSessionProcesses2 as getSessionProcesses,
154
164
  getProcessLogs
155
165
  };
156
- //# sourceMappingURL=chunk-YJ5P33SE.js.map
166
+ //# sourceMappingURL=chunk-HAFRPV7I.js.map