From 9ad75b8375aa1a46cfecc2667975c2eb08839cf5 Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Mon, 25 Aug 2025 10:41:49 +0200 Subject: [PATCH] Direct function generation --- excalidraw-app/record.ts | 137 +- .../tests/regression/binding.spec.ts | 4319 +++++------------ ...bind-inside-rectangle-1-chromium-linux.png | Bin 0 -> 36739 bytes excalidraw-app/tests/regression/test-utils.ts | 77 - 4 files changed, 1393 insertions(+), 3140 deletions(-) create mode 100644 excalidraw-app/tests/regression/binding.spec.ts-snapshots/bind-inside-rectangle-1-chromium-linux.png delete mode 100644 excalidraw-app/tests/regression/test-utils.ts diff --git a/excalidraw-app/record.ts b/excalidraw-app/record.ts index 839529344..6142db4ac 100644 --- a/excalidraw-app/record.ts +++ b/excalidraw-app/record.ts @@ -4,55 +4,37 @@ declare global { } } -export type PlaybackEvent = ( - | { - type: "mouse.move"; - x: number; - y: number; - } - | { - type: "mouse.down" | "mouse.up"; - button: "left" | "right" | "middle"; - } - | { - type: "keyboard.down" | "keyboard.up"; - key: string; - } - | { - type: "header"; - width: number; - height: number; - localStorage: { [key: string]: string }; - } -) & { - delay: number; -}; - export class Record { - private static events: PlaybackEvent[] = []; + private static events: string = ""; private static timestamp: number = 0; public static start() { + Record.events += ` await page.setViewportSize({ width: ${window.innerWidth}, height: ${window.innerHeight} });\n`; + Record.events += `await page.goto("http://localhost:3000");`; + Record.events += `await page.waitForLoadState("load");`; + + // Record.events += " const mask = [\n"; + // Record.events += ` page.getByRole("button", { name: "Share" }),\n`; + // Record.events += ` page.getByTitle("Library").locator("div"),\n`; + // Record.events += " ];\n"; + // capture a snapshot of localStorage (if available) to include in the header - const lsSnapshot: { [key: string]: string } = {}; + Record.events += " await page.evaluate(() => {\n"; try { for (let i = 0; i < localStorage.length; i++) { const key = localStorage.key(i); if (key != null) { - lsSnapshot[key] = localStorage.getItem(key) ?? ""; + const value = JSON.stringify(localStorage.getItem(key)); + Record.events += ` localStorage.getItem("${key}");\n`; + Record.events += ` localStorage.setItem("${key}", ${value});\n`; } } } catch {} + Record.events += " });\n"; + Record.events += " await page.reload();\n"; + Record.events += ` await page.waitForLoadState("load");\n`; - Record.events = [ - { - type: "header", - width: window.innerWidth, - height: window.innerHeight, - localStorage: lsSnapshot, - delay: 0, - }, - ]; + // Set up the events Record.timestamp = performance.now(); window.addEventListener("mousemove", this.onMouseMove); @@ -60,17 +42,6 @@ export class Record { window.addEventListener("mouseup", this.onMouseUp); window.addEventListener("keydown", this.onKeyDown); window.addEventListener("keyup", this.onKeyUp); - - try { - const canvases = Array.from( - document.querySelectorAll("canvas"), - ) as HTMLCanvasElement[]; - for (const c of canvases) { - c.addEventListener("mousemove", this.onMouseMove); - c.addEventListener("mousedown", this.onMouseDown); - c.addEventListener("mouseup", this.onMouseUp); - } - } catch {} } public static stop() { @@ -79,18 +50,6 @@ export class Record { window.removeEventListener("mouseup", this.onMouseUp); window.removeEventListener("keydown", this.onKeyDown); window.removeEventListener("keyup", this.onKeyUp); - - // Remove listeners from any canvases we attached to - try { - const canvases = Array.from( - document.querySelectorAll("canvas"), - ) as HTMLCanvasElement[]; - for (const c of canvases) { - c.removeEventListener("mousemove", this.onMouseMove); - c.removeEventListener("mousedown", this.onMouseDown); - c.removeEventListener("mouseup", this.onMouseUp); - } - } catch {} } /// Displays a window as an absolutely positioned DIV with the generated @@ -107,7 +66,7 @@ export class Record { div.style.zIndex = "10000"; const pre = document.createElement("pre"); - pre.textContent = JSON.stringify(this.events, null, 2); + pre.textContent = this.events; // avoid overlap with the close button and limit height for large event dumps pre.style.marginTop = "18px"; pre.style.maxHeight = "60vh"; @@ -183,12 +142,10 @@ export class Record { const delay = now - Record.timestamp; Record.timestamp = now; - Record.events.push({ - type: "mouse.move", - x: event.clientX, - y: event.clientY, - delay, - }); + if (delay > 0) { + Record.events += ` await page.waitForTimeout(${delay});\n`; + } + Record.events += ` await page.mouse.move(${event.clientX}, ${event.clientY});\n`; } private static onMouseDown(event: MouseEvent) { @@ -196,12 +153,12 @@ export class Record { const delay = now - Record.timestamp; Record.timestamp = now; - Record.events.push({ - type: "mouse.down", - button: - event.button === 0 ? "left" : event.button === 1 ? "middle" : "right", - delay, - }); + if (delay > 0) { + Record.events += ` await page.waitForTimeout(${delay});\n`; + } + const button = + event.button === 0 ? "left" : event.button === 1 ? "middle" : "right"; + Record.events += ` await page.mouse.down({ button: "${button}" });\n`; } private static onMouseUp(event: MouseEvent) { @@ -209,12 +166,15 @@ export class Record { const delay = now - Record.timestamp; Record.timestamp = now; - Record.events.push({ - type: "mouse.up", - button: - event.button === 0 ? "left" : event.button === 1 ? "middle" : "right", - delay, - }); + if (delay > 0) { + Record.events += ` await page.waitForTimeout(${delay});\n`; + } + const button = + event.button === 0 ? "left" : event.button === 1 ? "middle" : "right"; + Record.events += ` await page.mouse.down({ button: "${button}" });\n`; + + Record.events += + " await expect(page).toHaveScreenshot({ maxDiffPixels: 100 });\n"; } private static onKeyDown(event: KeyboardEvent) { @@ -222,11 +182,10 @@ export class Record { const delay = now - Record.timestamp; Record.timestamp = now; - Record.events.push({ - type: "keyboard.down", - key: event.key, - delay, - }); + if (delay > 0) { + Record.events += ` await page.waitForTimeout(${delay});\n`; + } + Record.events += ` await page.keyboard.down("${event.key}");\n`; } private static onKeyUp(event: KeyboardEvent) { @@ -234,11 +193,13 @@ export class Record { const delay = now - Record.timestamp; Record.timestamp = now; - Record.events.push({ - type: "keyboard.up", - key: event.key, - delay, - }); + if (delay > 0) { + Record.events += ` await page.waitForTimeout(${delay});\n`; + } + Record.events += ` await page.keyboard.up("${event.key}");\n`; + + Record.events += + " await expect(page).toHaveScreenshot({ maxDiffPixels: 100 });\n"; } } diff --git a/excalidraw-app/tests/regression/binding.spec.ts b/excalidraw-app/tests/regression/binding.spec.ts index 4ff93137f..3b9779954 100644 --- a/excalidraw-app/tests/regression/binding.spec.ts +++ b/excalidraw-app/tests/regression/binding.spec.ts @@ -1,2979 +1,1348 @@ -import { test } from "@playwright/test"; - -import { playbackEvents } from "./test-utils"; +import { expect, test } from "@playwright/test"; test("bind inside rectangle", async ({ page }) => { + await page.setViewportSize({ width: 1280, height: 882 }); await page.goto("http://localhost:3000"); - await playbackEvents(page, [ - { - type: "header", - width: 1280, - height: 881, - localStorage: { - i18nextLng: "en", - "excalidraw-collab": '{"username":"Powerful Lark"}', - "excalidraw-debug": '{"enabled":false}', - "excalidraw-theme": "dark", - "version-files": "1755704371463", - "version-dataState": "1755704371463", - "excalidraw-state": - '{"showWelcomeScreen":true,"theme":"dark","currentChartType":"bar","currentItemBackgroundColor":"transparent","currentItemEndArrowhead":"arrow","currentItemFillStyle":"solid","currentItemFontFamily":5,"currentItemFontSize":20,"currentItemOpacity":100,"currentItemRoughness":0,"currentItemStartArrowhead":null,"currentItemStrokeColor":"#1e1e1e","currentItemRoundness":"round","currentItemArrowType":"round","currentItemStrokeStyle":"solid","currentItemStrokeWidth":2,"currentItemTextAlign":"left","cursorButton":"up","editingGroupId":null,"activeTool":{"type":"selection","customType":null,"locked":false,"fromSelection":false,"lastActiveTool":null},"penMode":false,"penDetected":false,"exportBackground":true,"exportScale":1,"exportEmbedScene":false,"exportWithDarkMode":false,"gridSize":20,"gridStep":5,"gridModeEnabled":false,"defaultSidebarDockedPreference":false,"lastPointerDownWith":"mouse","name":"Untitled-2025-07-28-1603","openMenu":null,"openSidebar":null,"previousSelectedElementIds":{"wvpIyGYBqzOihspy0kz_P":true},"scrolledOutside":false,"scrollX":27.9140625,"scrollY":324.26953125,"selectedElementIds":{},"selectedGroupIds":{},"shouldCacheIgnoreZoom":false,"stats":{"open":false,"panels":3},"viewBackgroundColor":"#ffffff","zenModeEnabled":false,"zoom":{"value":1},"selectedLinearElement":null,"objectsSnapModeEnabled":false,"lockedMultiSelections":{}}', - excalidraw: - '[{"id":"wvpIyGYBqzOihspy0kz_P","type":"rectangle","x":446.37109375,"y":-41.66796875,"width":180.14453125,"height":182.64453125,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":0,"opacity":100,"groupIds":[],"frameId":null,"index":"a0","roundness":{"type":3},"seed":144460829,"version":64,"versionNonce":440113181,"isDeleted":false,"boundElements":null,"updated":1755704368956,"link":null,"locked":false}]', - }, - delay: 0, - }, - { - type: "mouse.move", - x: 498, - y: 141, - delay: 676.8000000007451, - }, - { - type: "mouse.move", - x: 498, - y: 141, - delay: 0, - }, - { - type: "mouse.move", - x: 494, - y: 140, - delay: 8, - }, - { - type: "mouse.move", - x: 494, - y: 140, - delay: 0, - }, - { - type: "mouse.move", - x: 481, - y: 135, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 481, - y: 135, - delay: 0, - }, - { - type: "mouse.move", - x: 456, - y: 127, - delay: 6.900000002235174, - }, - { - type: "mouse.move", - x: 456, - y: 127, - delay: 0, - }, - { - type: "mouse.move", - x: 436, - y: 123, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 436, - y: 123, - delay: 0, - }, - { - type: "mouse.move", - x: 435, - y: 123, - delay: 0.9000000022351742, - }, - { - type: "mouse.move", - x: 435, - y: 123, - delay: 0, - }, - { - type: "mouse.move", - x: 428, - y: 122, - delay: 27.099999997764826, - }, - { - type: "mouse.move", - x: 428, - y: 122, - delay: 0, - }, - { - type: "mouse.move", - x: 421, - y: 120, - delay: 7, - }, - { - type: "mouse.move", - x: 421, - y: 120, - delay: 0, - }, - { - type: "mouse.move", - x: 424, - y: 118, - delay: 74, - }, - { - type: "mouse.move", - x: 424, - y: 118, - delay: 0, - }, - { - type: "mouse.move", - x: 433, - y: 115, - delay: 9, - }, - { - type: "mouse.move", - x: 433, - y: 115, - delay: 0, - }, - { - type: "mouse.move", - x: 439, - y: 114, - delay: 5.900000002235174, - }, - { - type: "mouse.move", - x: 439, - y: 114, - delay: 0, - }, - { - type: "mouse.move", - x: 441, - y: 111, - delay: 6, - }, - { - type: "mouse.move", - x: 441, - y: 111, - delay: 0, - }, - { - type: "mouse.move", - x: 442, - y: 109, - delay: 9, - }, - { - type: "mouse.move", - x: 442, - y: 109, - delay: 0, - }, - { - type: "mouse.move", - x: 443, - y: 109, - delay: 2.099999997764826, - }, - { - type: "mouse.move", - x: 443, - y: 109, - delay: 0, - }, - { - type: "mouse.move", - x: 445, - y: 108, - delay: 10.900000002235174, - }, - { - type: "mouse.move", - x: 445, - y: 108, - delay: 0, - }, - { - type: "mouse.move", - x: 449, - y: 108, - delay: 8.099999997764826, - }, - { - type: "mouse.move", - x: 449, - y: 108, - delay: 0, - }, - { - type: "mouse.move", - x: 452, - y: 105, - delay: 6.900000002235174, - }, - { - type: "mouse.move", - x: 452, - y: 105, - delay: 0, - }, - { - type: "mouse.move", - x: 459, - y: 104, - delay: 7, - }, - { - type: "mouse.move", - x: 459, - y: 104, - delay: 0, - }, - { - type: "mouse.move", - x: 465, - y: 102, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 465, - y: 102, - delay: 0, - }, - { - type: "mouse.move", - x: 470, - y: 101, - delay: 6, - }, - { - type: "mouse.move", - x: 470, - y: 101, - delay: 0, - }, - { - type: "mouse.move", - x: 474, - y: 99, - delay: 7.900000002235174, - }, - { - type: "mouse.move", - x: 474, - y: 99, - delay: 0, - }, - { - type: "mouse.move", - x: 483, - y: 91, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 483, - y: 91, - delay: 0, - }, - { - type: "mouse.move", - x: 496, - y: 87, - delay: 7, - }, - { - type: "mouse.move", - x: 496, - y: 87, - delay: 0, - }, - { - type: "mouse.move", - x: 505, - y: 83, - delay: 6, - }, - { - type: "mouse.move", - x: 505, - y: 83, - delay: 0, - }, - { - type: "mouse.move", - x: 518, - y: 78, - delay: 7, - }, - { - type: "mouse.move", - x: 518, - y: 78, - delay: 0, - }, - { - type: "mouse.move", - x: 529, - y: 70, - delay: 7, - }, - { - type: "mouse.move", - x: 529, - y: 70, - delay: 0, - }, - { - type: "mouse.move", - x: 536, - y: 67, - delay: 6.900000002235174, - }, - { - type: "mouse.move", - x: 536, - y: 67, - delay: 0, - }, - { - type: "mouse.move", - x: 541, - y: 65, - delay: 5, - }, - { - type: "mouse.move", - x: 541, - y: 65, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 64, - delay: 6, - }, - { - type: "mouse.move", - x: 542, - y: 64, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 64, - delay: 7, - }, - { - type: "mouse.move", - x: 543, - y: 64, - delay: 0, - }, - { - type: "mouse.move", - x: 544, - y: 64, - delay: 86.09999999776483, - }, - { - type: "mouse.move", - x: 544, - y: 64, - delay: 0, - }, - { - type: "mouse.move", - x: 546, - y: 63, - delay: 7, - }, - { - type: "mouse.move", - x: 550, - y: 63, - delay: 6, - }, - { - type: "mouse.move", - x: 555, - y: 60, - delay: 8, - }, - { - type: "mouse.move", - x: 556, - y: 59, - delay: 5, - }, - { - type: "mouse.move", - x: 561, - y: 58, - delay: 9, - }, - { - type: "mouse.move", - x: 567, - y: 56, - delay: 6, - }, - { - type: "mouse.move", - x: 572, - y: 50, - delay: 8, - }, - { - type: "mouse.move", - x: 576, - y: 49, - delay: 6.900000002235174, - }, - { - type: "mouse.move", - x: 579, - y: 48, - delay: 5.099999997764826, - }, - { - type: "mouse.move", - x: 585, - y: 45, - delay: 8, - }, - { - type: "mouse.move", - x: 587, - y: 45, - delay: 7, - }, - { - type: "mouse.move", - x: 588, - y: 41, - delay: 7, - }, - { - type: "mouse.move", - x: 589, - y: 41, - delay: 3, - }, - { - type: "mouse.move", - x: 590, - y: 40, - delay: 6, - }, - { - type: "mouse.move", - x: 592, - y: 40, - delay: 13, - }, - { - type: "mouse.move", - x: 593, - y: 39, - delay: 4, - }, - { - type: "mouse.move", - x: 595, - y: 39, - delay: 9.900000002235174, - }, - { - type: "mouse.move", - x: 596, - y: 39, - delay: 4.099999997764826, - }, - { - type: "mouse.move", - x: 597, - y: 39, - delay: 5, - }, - { - type: "mouse.move", - x: 600, - y: 36, - delay: 12, - }, - { - type: "mouse.move", - x: 601, - y: 36, - delay: 5, - }, - { - type: "mouse.move", - x: 602, - y: 36, - delay: 37, - }, - { - type: "mouse.move", - x: 602, - y: 36, - delay: 75.30000000074506, - }, - { - type: "mouse.move", - x: 605, - y: 36, - delay: 7.699999999254942, - }, - { - type: "mouse.move", - x: 607, - y: 35, - delay: 1.9000000022351742, - }, - { - type: "mouse.move", - x: 609, - y: 35, - delay: 11.099999997764826, - }, - { - type: "mouse.move", - x: 610, - y: 35, - delay: 7, - }, - { - type: "mouse.move", - x: 611, - y: 34, - delay: 11, - }, - { - type: "mouse.move", - x: 612, - y: 34, - delay: 7, - }, - { - type: "mouse.move", - x: 613, - y: 33, - delay: 7, - }, - { - type: "mouse.move", - x: 615, - y: 33, - delay: 9, - }, - { - type: "mouse.move", - x: 616, - y: 33, - delay: 9, - }, - { - type: "mouse.move", - x: 618, - y: 32, - delay: 13, - }, - { - type: "mouse.move", - x: 619, - y: 32, - delay: 3, - }, - { - type: "mouse.move", - x: 621, - y: 31, - delay: 9.900000002235174, - }, - { - type: "mouse.move", - x: 623, - y: 31, - delay: 13.099999997764826, - }, - { - type: "mouse.move", - x: 625, - y: 31, - delay: 8, - }, - { - type: "mouse.move", - x: 626, - y: 31, - delay: 8, - }, - { - type: "mouse.move", - x: 627, - y: 30, - delay: 6, - }, - { - type: "mouse.move", - x: 629, - y: 30, - delay: 8, - }, - { - type: "mouse.move", - x: 633, - y: 29, - delay: 7, - }, - { - type: "mouse.move", - x: 634, - y: 28, - delay: 7, - }, - { - type: "mouse.move", - x: 637, - y: 28, - delay: 5, - }, - { - type: "mouse.move", - x: 639, - y: 28, - delay: 8, - }, - { - type: "mouse.move", - x: 640, - y: 28, - delay: 4, - }, - { - type: "mouse.move", - x: 641, - y: 28, - delay: 5.900000002235174, - }, - { - type: "mouse.down", - button: "left", - delay: 617.0999999977648, - }, - { - type: "mouse.up", - button: "left", - delay: 80, - }, - { - type: "mouse.move", - x: 641, - y: 30, - delay: 65.10000000149012, - }, - { - type: "mouse.move", - x: 640, - y: 33, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 638, - y: 34, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 637, - y: 37, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 636, - y: 41, - delay: 7, - }, - { - type: "mouse.move", - x: 634, - y: 42, - delay: 6, - }, - { - type: "mouse.move", - x: 632, - y: 46, - delay: 8, - }, - { - type: "mouse.move", - x: 627, - y: 54, - delay: 6.900000002235174, - }, - { - type: "mouse.move", - x: 622, - y: 62, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 616, - y: 74, - delay: 6, - }, - { - type: "mouse.move", - x: 616, - y: 74, - delay: 0, - }, - { - type: "mouse.move", - x: 614, - y: 82, - delay: 6, - }, - { - type: "mouse.move", - x: 614, - y: 82, - delay: 0, - }, - { - type: "mouse.move", - x: 611, - y: 94, - delay: 8, - }, - { - type: "mouse.move", - x: 611, - y: 94, - delay: 0, - }, - { - type: "mouse.move", - x: 607, - y: 104, - delay: 7, - }, - { - type: "mouse.move", - x: 607, - y: 104, - delay: 0, - }, - { - type: "mouse.move", - x: 605, - y: 116, - delay: 7, - }, - { - type: "mouse.move", - x: 605, - y: 116, - delay: 0, - }, - { - type: "mouse.move", - x: 603, - y: 126, - delay: 7, - }, - { - type: "mouse.move", - x: 603, - y: 126, - delay: 0, - }, - { - type: "mouse.move", - x: 600, - y: 136, - delay: 7, - }, - { - type: "mouse.move", - x: 600, - y: 136, - delay: 0, - }, - { - type: "mouse.move", - x: 600, - y: 148, - delay: 7, - }, - { - type: "mouse.move", - x: 600, - y: 148, - delay: 0, - }, - { - type: "mouse.move", - x: 599, - y: 152, - delay: 5.900000002235174, - }, - { - type: "mouse.move", - x: 599, - y: 152, - delay: 0, - }, - { - type: "mouse.move", - x: 598, - y: 156, - delay: 7.099999997764826, - }, - { - type: "mouse.move", - x: 598, - y: 156, - delay: 0, - }, - { - type: "mouse.move", - x: 594, - y: 159, - delay: 8, - }, - { - type: "mouse.move", - x: 594, - y: 159, - delay: 0, - }, - { - type: "mouse.move", - x: 595, - y: 162, - delay: 7, - }, - { - type: "mouse.move", - x: 595, - y: 162, - delay: 0, - }, - { - type: "mouse.move", - x: 595, - y: 163, - delay: 4, - }, - { - type: "mouse.move", - x: 595, - y: 163, - delay: 0, - }, - { - type: "mouse.move", - x: 594, - y: 165, - delay: 7, - }, - { - type: "mouse.move", - x: 594, - y: 165, - delay: 0, - }, - { - type: "mouse.move", - x: 594, - y: 166, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 594, - y: 166, - delay: 0, - }, - { - type: "mouse.move", - x: 593, - y: 167, - delay: 8.899999998509884, - }, - { - type: "mouse.move", - x: 593, - y: 167, - delay: 0, - }, - { - type: "mouse.move", - x: 592, - y: 168, - delay: 4, - }, - { - type: "mouse.move", - x: 592, - y: 168, - delay: 0, - }, - { - type: "mouse.move", - x: 591, - y: 169, - delay: 11, - }, - { - type: "mouse.move", - x: 591, - y: 169, - delay: 0, - }, - { - type: "mouse.move", - x: 591, - y: 170, - delay: 5.100000001490116, - }, - { - type: "mouse.move", - x: 591, - y: 170, - delay: 0, - }, - { - type: "mouse.move", - x: 589, - y: 171, - delay: 8.899999998509884, - }, - { - type: "mouse.move", - x: 589, - y: 171, - delay: 0, - }, - { - type: "mouse.move", - x: 589, - y: 174, - delay: 7, - }, - { - type: "mouse.move", - x: 589, - y: 174, - delay: 0, - }, - { - type: "mouse.move", - x: 589, - y: 176, - delay: 7, - }, - { - type: "mouse.move", - x: 589, - y: 176, - delay: 0, - }, - { - type: "mouse.move", - x: 589, - y: 178, - delay: 5, - }, - { - type: "mouse.move", - x: 589, - y: 178, - delay: 0, - }, - { - type: "mouse.move", - x: 588, - y: 178, - delay: 3.100000001490116, - }, - { - type: "mouse.move", - x: 588, - y: 178, - delay: 0, - }, - { - type: "mouse.move", - x: 588, - y: 180, - delay: 13, - }, - { - type: "mouse.move", - x: 588, - y: 180, - delay: 0, - }, - { - type: "mouse.move", - x: 587, - y: 183, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 587, - y: 183, - delay: 0, - }, - { - type: "mouse.move", - x: 586, - y: 184, - delay: 3.100000001490116, - }, - { - type: "mouse.move", - x: 586, - y: 184, - delay: 0, - }, - { - type: "mouse.move", - x: 585, - y: 187, - delay: 9.899999998509884, - }, - { - type: "mouse.move", - x: 585, - y: 187, - delay: 0, - }, - { - type: "mouse.move", - x: 584, - y: 188, - delay: 5, - }, - { - type: "mouse.move", - x: 584, - y: 188, - delay: 0, - }, - { - type: "mouse.move", - x: 584, - y: 191, - delay: 8, - }, - { - type: "mouse.move", - x: 584, - y: 191, - delay: 0, - }, - { - type: "mouse.move", - x: 582, - y: 194, - delay: 8, - }, - { - type: "mouse.move", - x: 582, - y: 194, - delay: 0, - }, - { - type: "mouse.move", - x: 581, - y: 197, - delay: 8, - }, - { - type: "mouse.move", - x: 581, - y: 197, - delay: 0, - }, - { - type: "mouse.move", - x: 580, - y: 197, - delay: 5.400000002235174, - }, - { - type: "mouse.move", - x: 580, - y: 197, - delay: 0, - }, - { - type: "mouse.move", - x: 580, - y: 199, - delay: 6.599999997764826, - }, - { - type: "mouse.move", - x: 580, - y: 199, - delay: 0, - }, - { - type: "mouse.move", - x: 579, - y: 202, - delay: 7, - }, - { - type: "mouse.move", - x: 579, - y: 202, - delay: 0, - }, - { - type: "mouse.move", - x: 576, - y: 205, - delay: 9.100000001490116, - }, - { - type: "mouse.move", - x: 576, - y: 205, - delay: 0, - }, - { - type: "mouse.move", - x: 576, - y: 206, - delay: 6, - }, - { - type: "mouse.move", - x: 576, - y: 206, - delay: 0, - }, - { - type: "mouse.move", - x: 574, - y: 210, - delay: 7.899999998509884, - }, - { - type: "mouse.move", - x: 574, - y: 210, - delay: 0, - }, - { - type: "mouse.move", - x: 573, - y: 217, - delay: 5, - }, - { - type: "mouse.move", - x: 573, - y: 217, - delay: 0, - }, - { - type: "mouse.move", - x: 570, - y: 219, - delay: 8, - }, - { - type: "mouse.move", - x: 570, - y: 219, - delay: 0, - }, - { - type: "mouse.move", - x: 568, - y: 228, - delay: 6, - }, - { - type: "mouse.move", - x: 568, - y: 228, - delay: 0, - }, - { - type: "mouse.move", - x: 568, - y: 232, - delay: 8, - }, - { - type: "mouse.move", - x: 568, - y: 232, - delay: 0, - }, - { - type: "mouse.move", - x: 567, - y: 234, - delay: 6, - }, - { - type: "mouse.move", - x: 567, - y: 234, - delay: 0, - }, - { - type: "mouse.move", - x: 566, - y: 238, - delay: 8, - }, - { - type: "mouse.move", - x: 566, - y: 238, - delay: 0, - }, - { - type: "mouse.move", - x: 562, - y: 243, - delay: 7, - }, - { - type: "mouse.move", - x: 562, - y: 243, - delay: 0, - }, - { - type: "mouse.move", - x: 561, - y: 247, - delay: 5, - }, - { - type: "mouse.move", - x: 561, - y: 247, - delay: 0, - }, - { - type: "mouse.move", - x: 560, - y: 250, - delay: 8, - }, - { - type: "mouse.move", - x: 560, - y: 250, - delay: 0, - }, - { - type: "mouse.move", - x: 557, - y: 251, - delay: 8, - }, - { - type: "mouse.move", - x: 557, - y: 251, - delay: 0, - }, - { - type: "mouse.move", - x: 556, - y: 253, - delay: 6, - }, - { - type: "mouse.move", - x: 556, - y: 253, - delay: 0, - }, - { - type: "mouse.move", - x: 554, - y: 255, - delay: 7, - }, - { - type: "mouse.move", - x: 554, - y: 255, - delay: 0, - }, - { - type: "mouse.move", - x: 553, - y: 260, - delay: 8.100000001490116, - }, - { - type: "mouse.move", - x: 553, - y: 260, - delay: 0, - }, - { - type: "mouse.move", - x: 552, - y: 264, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 552, - y: 264, - delay: 0, - }, - { - type: "mouse.move", - x: 550, - y: 268, - delay: 7, - }, - { - type: "mouse.move", - x: 550, - y: 268, - delay: 0, - }, - { - type: "mouse.move", - x: 546, - y: 271, - delay: 8, - }, - { - type: "mouse.move", - x: 546, - y: 271, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 277, - delay: 7, - }, - { - type: "mouse.move", - x: 543, - y: 277, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 281, - delay: 6, - }, - { - type: "mouse.move", - x: 543, - y: 281, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 282, - delay: 7, - }, - { - type: "mouse.move", - x: 542, - y: 282, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 284, - delay: 5, - }, - { - type: "mouse.move", - x: 542, - y: 284, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 285, - delay: 6, - }, - { - type: "mouse.move", - x: 542, - y: 285, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 286, - delay: 10.100000001490116, - }, - { - type: "mouse.move", - x: 542, - y: 286, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 286, - delay: 12.899999998509884, - }, - { - type: "mouse.move", - x: 543, - y: 286, - delay: 0, - }, - { - type: "mouse.move", - x: 544, - y: 287, - delay: 7, - }, - { - type: "mouse.move", - x: 544, - y: 287, - delay: 0, - }, - { - type: "mouse.move", - x: 547, - y: 288, - delay: 7, - }, - { - type: "mouse.move", - x: 547, - y: 288, - delay: 0, - }, - { - type: "mouse.move", - x: 547, - y: 289, - delay: 76, - }, - { - type: "mouse.move", - x: 547, - y: 289, - delay: 0, - }, - { - type: "mouse.move", - x: 547, - y: 290, - delay: 29, - }, - { - type: "mouse.move", - x: 547, - y: 290, - delay: 0, - }, - { - type: "mouse.move", - x: 547, - y: 291, - delay: 7, - }, - { - type: "mouse.move", - x: 547, - y: 291, - delay: 0, - }, - { - type: "mouse.move", - x: 546, - y: 291, - delay: 5.100000001490116, - }, - { - type: "mouse.move", - x: 546, - y: 291, - delay: 0, - }, - { - type: "mouse.move", - x: 546, - y: 292, - delay: 4.899999998509884, - }, - { - type: "mouse.move", - x: 546, - y: 292, - delay: 0, - }, - { - type: "mouse.move", - x: 545, - y: 293, - delay: 9, - }, - { - type: "mouse.move", - x: 545, - y: 293, - delay: 0, - }, - { - type: "mouse.move", - x: 545, - y: 294, - delay: 4, - }, - { - type: "mouse.move", - x: 545, - y: 294, - delay: 0, - }, - { - type: "mouse.move", - x: 545, - y: 295, - delay: 8, - }, - { - type: "mouse.move", - x: 545, - y: 295, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 296, - delay: 10, - }, - { - type: "mouse.move", - x: 543, - y: 296, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 297, - delay: 72, - }, - { - type: "mouse.move", - x: 543, - y: 297, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 298, - delay: 8.100000001490116, - }, - { - type: "mouse.move", - x: 542, - y: 298, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 299, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 542, - y: 299, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 300, - delay: 19, - }, - { - type: "mouse.move", - x: 542, - y: 300, - delay: 0, - }, - { - type: "mouse.move", - x: 541, - y: 300, - delay: 15.100000001490116, - }, - { - type: "mouse.move", - x: 541, - y: 300, - delay: 0, - }, - { - type: "mouse.move", - x: 541, - y: 301, - delay: 12.899999998509884, - }, - { - type: "mouse.move", - x: 541, - y: 301, - delay: 0, - }, - { - type: "mouse.down", - button: "left", - delay: 69, - }, - { - type: "mouse.down", - button: "left", - delay: 0, - }, - { - type: "mouse.move", - x: 541, - y: 301, - delay: 12.100000001490116, - }, - { - type: "mouse.move", - x: 541, - y: 301, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 301, - delay: 52.899999998509884, - }, - { - type: "mouse.move", - x: 542, - y: 301, - delay: 0, - }, - { - type: "mouse.move", - x: 542, - y: 302, - delay: 5, - }, - { - type: "mouse.move", - x: 542, - y: 302, - delay: 0, - }, - { - type: "mouse.move", - x: 543, - y: 303, - delay: 10, - }, - { - type: "mouse.move", - x: 543, - y: 303, - delay: 0, - }, - { - type: "mouse.move", - x: 544, - y: 306, - delay: 9, - }, - { - type: "mouse.move", - x: 544, - y: 306, - delay: 0, - }, - { - type: "mouse.move", - x: 545, - y: 308, - delay: 8.100000001490116, - }, - { - type: "mouse.move", - x: 545, - y: 308, - delay: 0, - }, - { - type: "mouse.move", - x: 546, - y: 309, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 546, - y: 309, - delay: 0, - }, - { - type: "mouse.move", - x: 547, - y: 310, - delay: 6, - }, - { - type: "mouse.move", - x: 547, - y: 310, - delay: 0, - }, - { - type: "mouse.move", - x: 548, - y: 313, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 548, - y: 313, - delay: 0, - }, - { - type: "mouse.move", - x: 551, - y: 316, - delay: 9.899999998509884, - }, - { - type: "mouse.move", - x: 551, - y: 316, - delay: 0, - }, - { - type: "mouse.move", - x: 552, - y: 320, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 552, - y: 320, - delay: 0, - }, - { - type: "mouse.move", - x: 556, - y: 327, - delay: 4.899999998509884, - }, - { - type: "mouse.move", - x: 556, - y: 327, - delay: 0, - }, - { - type: "mouse.move", - x: 563, - y: 336, - delay: 8, - }, - { - type: "mouse.move", - x: 563, - y: 336, - delay: 0, - }, - { - type: "mouse.move", - x: 564, - y: 342, - delay: 7, - }, - { - type: "mouse.move", - x: 564, - y: 342, - delay: 0, - }, - { - type: "mouse.move", - x: 569, - y: 347, - delay: 8, - }, - { - type: "mouse.move", - x: 569, - y: 347, - delay: 0, - }, - { - type: "mouse.move", - x: 572, - y: 352, - delay: 6, - }, - { - type: "mouse.move", - x: 572, - y: 352, - delay: 0, - }, - { - type: "mouse.move", - x: 572, - y: 355, - delay: 8, - }, - { - type: "mouse.move", - x: 572, - y: 355, - delay: 0, - }, - { - type: "mouse.move", - x: 572, - y: 357, - delay: 5.100000001490116, - }, - { - type: "mouse.move", - x: 572, - y: 357, - delay: 0, - }, - { - type: "mouse.move", - x: 573, - y: 358, - delay: 8, - }, - { - type: "mouse.move", - x: 573, - y: 358, - delay: 0, - }, - { - type: "mouse.move", - x: 574, - y: 361, - delay: 7.899999998509884, - }, - { - type: "mouse.move", - x: 574, - y: 361, - delay: 0, - }, - { - type: "mouse.move", - x: 577, - y: 365, - delay: 6, - }, - { - type: "mouse.move", - x: 577, - y: 365, - delay: 0, - }, - { - type: "mouse.move", - x: 578, - y: 367, - delay: 7, - }, - { - type: "mouse.move", - x: 578, - y: 367, - delay: 0, - }, - { - type: "mouse.move", - x: 579, - y: 370, - delay: 8, - }, - { - type: "mouse.move", - x: 579, - y: 370, - delay: 0, - }, - { - type: "mouse.move", - x: 580, - y: 376, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 580, - y: 376, - delay: 0, - }, - { - type: "mouse.move", - x: 583, - y: 382, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 583, - y: 382, - delay: 0, - }, - { - type: "mouse.move", - x: 585, - y: 385, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 585, - y: 385, - delay: 0, - }, - { - type: "mouse.move", - x: 586, - y: 390, - delay: 7, - }, - { - type: "mouse.move", - x: 586, - y: 390, - delay: 0, - }, - { - type: "mouse.move", - x: 589, - y: 395, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 589, - y: 395, - delay: 0, - }, - { - type: "mouse.move", - x: 592, - y: 399, - delay: 6, - }, - { - type: "mouse.move", - x: 592, - y: 399, - delay: 0, - }, - { - type: "mouse.move", - x: 593, - y: 401, - delay: 5.100000001490116, - }, - { - type: "mouse.move", - x: 593, - y: 401, - delay: 0, - }, - { - type: "mouse.move", - x: 594, - y: 403, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 594, - y: 403, - delay: 0, - }, - { - type: "mouse.move", - x: 597, - y: 407, - delay: 10.100000001490116, - }, - { - type: "mouse.move", - x: 597, - y: 407, - delay: 0, - }, - { - type: "mouse.move", - x: 597, - y: 412, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 597, - y: 412, - delay: 0, - }, - { - type: "mouse.move", - x: 600, - y: 417, - delay: 6, - }, - { - type: "mouse.move", - x: 600, - y: 417, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 419, - delay: 8.100000001490116, - }, - { - type: "mouse.move", - x: 601, - y: 419, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 421, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 601, - y: 421, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 424, - delay: 5, - }, - { - type: "mouse.move", - x: 601, - y: 424, - delay: 0, - }, - { - type: "mouse.move", - x: 602, - y: 426, - delay: 9, - }, - { - type: "mouse.move", - x: 602, - y: 426, - delay: 0, - }, - { - type: "mouse.move", - x: 602, - y: 427, - delay: 2, - }, - { - type: "mouse.move", - x: 602, - y: 427, - delay: 0, - }, - { - type: "mouse.move", - x: 603, - y: 428, - delay: 9, - }, - { - type: "mouse.move", - x: 603, - y: 428, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 429, - delay: 6, - }, - { - type: "mouse.move", - x: 604, - y: 429, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 430, - delay: 11, - }, - { - type: "mouse.move", - x: 604, - y: 430, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 431, - delay: 4, - }, - { - type: "mouse.move", - x: 604, - y: 431, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 433, - delay: 10, - }, - { - type: "mouse.move", - x: 604, - y: 433, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 434, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 604, - y: 434, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 435, - delay: 3, - }, - { - type: "mouse.move", - x: 604, - y: 435, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 436, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 604, - y: 436, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 437, - delay: 17.100000001490116, - }, - { - type: "mouse.move", - x: 604, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 605, - y: 437, - delay: 7, - }, - { - type: "mouse.move", - x: 605, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 605, - y: 438, - delay: 8, - }, - { - type: "mouse.move", - x: 605, - y: 438, - delay: 0, - }, - { - type: "mouse.up", - button: "left", - delay: 273.8999999985099, - }, - { - type: "mouse.up", - button: "left", - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 438, - delay: 25.100000001490116, - }, - { - type: "mouse.move", - x: 604, - y: 438, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 437, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 604, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 603, - y: 437, - delay: 2.100000001490116, - }, - { - type: "mouse.move", - x: 603, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 603, - y: 436, - delay: 12, - }, - { - type: "mouse.move", - x: 603, - y: 436, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 436, - delay: 7, - }, - { - type: "mouse.move", - x: 601, - y: 436, - delay: 0, - }, - { - type: "mouse.move", - x: 600, - y: 436, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 600, - y: 436, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 436, - delay: 146.10000000149012, - }, - { - type: "mouse.move", - x: 601, - y: 436, - delay: 0, - }, - { - type: "mouse.move", - x: 601, - y: 437, - delay: 7.899999998509884, - }, - { - type: "mouse.move", - x: 601, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 602, - y: 437, - delay: 1, - }, - { - type: "mouse.move", - x: 602, - y: 437, - delay: 0, - }, - { - type: "mouse.move", - x: 602, - y: 438, - delay: 46.100000001490116, - }, - { - type: "mouse.move", - x: 602, - y: 438, - delay: 0, - }, - { - type: "mouse.move", - x: 604, - y: 439, - delay: 15.199999999254942, - }, - { - type: "mouse.move", - x: 604, - y: 439, - delay: 0, - }, - { - type: "mouse.move", - x: 605, - y: 440, - delay: 5.699999999254942, - }, - { - type: "mouse.move", - x: 605, - y: 440, - delay: 0, - }, - { - type: "mouse.move", - x: 606, - y: 441, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 606, - y: 441, - delay: 0, - }, - { - type: "mouse.move", - x: 607, - y: 442, - delay: 8, - }, - { - type: "mouse.move", - x: 607, - y: 442, - delay: 0, - }, - { - type: "mouse.move", - x: 609, - y: 444, - delay: 7, - }, - { - type: "mouse.move", - x: 609, - y: 444, - delay: 0, - }, - { - type: "mouse.move", - x: 610, - y: 446, - delay: 8, - }, - { - type: "mouse.move", - x: 610, - y: 446, - delay: 0, - }, - { - type: "mouse.move", - x: 610, - y: 447, - delay: 5, - }, - { - type: "mouse.move", - x: 610, - y: 447, - delay: 0, - }, - { - type: "mouse.move", - x: 610, - y: 448, - delay: 5, - }, - { - type: "mouse.move", - x: 610, - y: 448, - delay: 0, - }, - { - type: "mouse.move", - x: 610, - y: 449, - delay: 7, - }, - { - type: "mouse.move", - x: 610, - y: 449, - delay: 0, - }, - { - type: "mouse.move", - x: 611, - y: 450, - delay: 7, - }, - { - type: "mouse.move", - x: 611, - y: 450, - delay: 0, - }, - { - type: "mouse.move", - x: 611, - y: 451, - delay: 7, - }, - { - type: "mouse.move", - x: 611, - y: 451, - delay: 0, - }, - { - type: "mouse.move", - x: 612, - y: 455, - delay: 11, - }, - { - type: "mouse.move", - x: 612, - y: 455, - delay: 0, - }, - { - type: "mouse.move", - x: 613, - y: 459, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 613, - y: 459, - delay: 0, - }, - { - type: "mouse.move", - x: 614, - y: 463, - delay: 8, - }, - { - type: "mouse.move", - x: 614, - y: 463, - delay: 0, - }, - { - type: "mouse.move", - x: 616, - y: 469, - delay: 7, - }, - { - type: "mouse.move", - x: 616, - y: 469, - delay: 0, - }, - { - type: "mouse.move", - x: 618, - y: 484, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 618, - y: 484, - delay: 0, - }, - { - type: "mouse.move", - x: 616, - y: 495, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 616, - y: 495, - delay: 0, - }, - { - type: "mouse.move", - x: 617, - y: 503, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 617, - y: 503, - delay: 0, - }, - { - type: "mouse.move", - x: 615, - y: 512, - delay: 7.899999998509884, - }, - { - type: "mouse.move", - x: 615, - y: 512, - delay: 0, - }, - { - type: "mouse.move", - x: 614, - y: 520, - delay: 7, - }, - { - type: "mouse.move", - x: 614, - y: 520, - delay: 0, - }, - { - type: "mouse.move", - x: 614, - y: 528, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 614, - y: 528, - delay: 0, - }, - { - type: "mouse.move", - x: 612, - y: 540, - delay: 7, - }, - { - type: "mouse.move", - x: 612, - y: 540, - delay: 0, - }, - { - type: "mouse.move", - x: 612, - y: 552, - delay: 7, - }, - { - type: "mouse.move", - x: 612, - y: 552, - delay: 0, - }, - { - type: "mouse.move", - x: 610, - y: 571, - delay: 7, - }, - { - type: "mouse.move", - x: 610, - y: 571, - delay: 0, - }, - { - type: "mouse.move", - x: 608, - y: 588, - delay: 5.899999998509884, - }, - { - type: "mouse.move", - x: 608, - y: 588, - delay: 0, - }, - { - type: "mouse.move", - x: 606, - y: 611, - delay: 8, - }, - { - type: "mouse.move", - x: 606, - y: 611, - delay: 0, - }, - { - type: "mouse.move", - x: 602, - y: 635, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 602, - y: 635, - delay: 0, - }, - { - type: "mouse.move", - x: 590, - y: 661, - delay: 7, - }, - { - type: "mouse.move", - x: 590, - y: 661, - delay: 0, - }, - { - type: "mouse.move", - x: 582, - y: 683, - delay: 7, - }, - { - type: "mouse.move", - x: 582, - y: 683, - delay: 0, - }, - { - type: "mouse.move", - x: 570, - y: 708, - delay: 7, - }, - { - type: "mouse.move", - x: 570, - y: 708, - delay: 0, - }, - { - type: "mouse.move", - x: 560, - y: 730, - delay: 7, - }, - { - type: "mouse.move", - x: 560, - y: 730, - delay: 0, - }, - { - type: "mouse.move", - x: 552, - y: 750, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 552, - y: 750, - delay: 0, - }, - { - type: "mouse.move", - x: 545, - y: 771, - delay: 7, - }, - { - type: "mouse.move", - x: 545, - y: 771, - delay: 0, - }, - { - type: "mouse.move", - x: 535, - y: 787, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 535, - y: 787, - delay: 0, - }, - { - type: "mouse.move", - x: 525, - y: 804, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 525, - y: 804, - delay: 0, - }, - { - type: "mouse.move", - x: 521, - y: 815, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 521, - y: 815, - delay: 0, - }, - { - type: "mouse.move", - x: 514, - y: 828, - delay: 7, - }, - { - type: "mouse.move", - x: 514, - y: 828, - delay: 0, - }, - { - type: "mouse.move", - x: 509, - y: 839, - delay: 7, - }, - { - type: "mouse.move", - x: 509, - y: 839, - delay: 0, - }, - { - type: "mouse.move", - x: 502, - y: 846, - delay: 7, - }, - { - type: "mouse.move", - x: 502, - y: 846, - delay: 0, - }, - { - type: "mouse.move", - x: 497, - y: 851, - delay: 6.899999998509884, - }, - { - type: "mouse.move", - x: 497, - y: 851, - delay: 0, - }, - { - type: "mouse.move", - x: 493, - y: 856, - delay: 7, - }, - { - type: "mouse.move", - x: 493, - y: 856, - delay: 0, - }, - { - type: "mouse.move", - x: 491, - y: 860, - delay: 6.100000001490116, - }, - { - type: "mouse.move", - x: 491, - y: 860, - delay: 0, - }, - { - type: "mouse.move", - x: 485, - y: 865, - delay: 7.899999998509884, - }, - { - type: "mouse.move", - x: 485, - y: 865, - delay: 0, - }, - { - type: "mouse.move", - x: 481, - y: 868, - delay: 7, - }, - { - type: "mouse.move", - x: 481, - y: 868, - delay: 0, - }, - { - type: "mouse.move", - x: 476, - y: 872, - delay: 7, - }, - { - type: "mouse.move", - x: 476, - y: 872, - delay: 0, - }, - { - type: "mouse.move", - x: 470, - y: 879, - delay: 7.100000001490116, - }, - { - type: "mouse.move", - x: 470, - y: 879, - delay: 0, - }, - { - type: "mouse.move", - x: 469, - y: 880, - delay: 4, - }, - { - type: "mouse.move", - x: 469, - y: 880, - delay: 0, - }, - ]); + await page.waitForLoadState("load"); + await page.evaluate(() => { + localStorage.getItem("i18nextLng"); + localStorage.setItem("i18nextLng", "en"); + localStorage.getItem("excalidraw-debug"); + localStorage.setItem("excalidraw-debug", '{"enabled":true}'); + localStorage.getItem("excalidraw-theme"); + localStorage.setItem("excalidraw-theme", "dark"); + localStorage.getItem("version-files"); + localStorage.setItem("version-files", "1756111213393"); + localStorage.getItem("version-dataState"); + localStorage.setItem("version-dataState", "1756111213393"); + localStorage.getItem("excalidraw-state"); + localStorage.setItem( + "excalidraw-state", + '{"showWelcomeScreen":true,"theme":"dark","currentChartType":"bar","currentItemBackgroundColor":"#a5d8ff","currentItemEndArrowhead":"arrow","currentItemFillStyle":"solid","currentItemFontFamily":5,"currentItemFontSize":20,"currentItemOpacity":100,"currentItemRoughness":1,"currentItemStartArrowhead":null,"currentItemStrokeColor":"#1e1e1e","currentItemRoundness":"round","currentItemArrowType":"round","currentItemStrokeStyle":"solid","currentItemStrokeWidth":2,"currentItemTextAlign":"left","cursorButton":"up","editingGroupId":null,"activeTool":{"type":"arrow","customType":null,"locked":false,"fromSelection":false,"lastActiveTool":null},"penMode":false,"penDetected":false,"exportBackground":true,"exportScale":1,"exportEmbedScene":false,"exportWithDarkMode":false,"gridSize":20,"gridStep":5,"gridModeEnabled":false,"defaultSidebarDockedPreference":false,"lastPointerDownWith":"mouse","name":"Untitled-2025-07-28-1603","openMenu":null,"openSidebar":null,"previousSelectedElementIds":{"taQ8ZYjvYILhvctYZeOBQ":true},"scrolledOutside":false,"scrollX":175.9296875,"scrollY":138.953125,"selectedElementIds":{},"selectedGroupIds":{},"shouldCacheIgnoreZoom":false,"stats":{"open":true,"panels":3},"viewBackgroundColor":"#ffffff","zenModeEnabled":false,"zoom":{"value":1},"selectedLinearElement":null,"objectsSnapModeEnabled":false,"lockedMultiSelections":{}}', + ); + localStorage.getItem("excalidraw"); + localStorage.setItem( + "excalidraw", + '[{"id":"taQ8ZYjvYILhvctYZeOBQ","type":"rectangle","x":326.65625,"y":108.56640625,"width":152.3125,"height":155.8984375,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"#a5d8ff","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a0","roundness":{"type":3},"seed":931993510,"version":31,"versionNonce":293489658,"isDeleted":false,"boundElements":null,"updated":1756111208666,"link":null,"locked":false},{"id":"yCc7KfoxarVPfeqY0-eks","type":"rectangle","x":538.9140625,"y":408.7890625,"width":152.3125,"height":155.8984375,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"#a5d8ff","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a1","roundness":{"type":3},"seed":958768486,"version":101,"versionNonce":671723750,"isDeleted":false,"boundElements":null,"updated":1756111209235,"link":null,"locked":false}]', + ); + }); + await page.reload(); + await page.waitForLoadState("load"); + await page.waitForTimeout(816.0999999996275); + await page.mouse.move(416, 881); + await page.waitForTimeout(1); + await page.mouse.move(418, 879); + await page.waitForTimeout(2); + await page.mouse.move(422, 875); + await page.waitForTimeout(1); + await page.mouse.move(424, 873); + await page.waitForTimeout(1); + await page.mouse.move(426, 871); + await page.waitForTimeout(1); + await page.mouse.move(428, 869); + await page.waitForTimeout(1); + await page.mouse.move(432, 867); + await page.waitForTimeout(1); + await page.mouse.move(434, 865); + await page.waitForTimeout(1); + await page.mouse.move(436, 863); + await page.waitForTimeout(1); + await page.mouse.move(438, 861); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(440, 859); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(442, 857); + await page.waitForTimeout(1); + await page.mouse.move(444, 855); + await page.waitForTimeout(1); + await page.mouse.move(446, 855); + await page.waitForTimeout(1); + await page.mouse.move(448, 855); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(450, 851); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(452, 851); + await page.waitForTimeout(1); + await page.mouse.move(456, 850); + await page.waitForTimeout(1); + await page.mouse.move(456, 848); + await page.waitForTimeout(1); + await page.mouse.move(458, 846); + await page.waitForTimeout(1); + await page.mouse.move(458, 844); + await page.waitForTimeout(1); + await page.mouse.move(461, 842); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(461, 840); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(463, 840); + await page.waitForTimeout(1); + await page.mouse.move(465, 838); + await page.waitForTimeout(1); + await page.mouse.move(467, 836); + await page.waitForTimeout(2); + await page.mouse.move(469, 834); + await page.waitForTimeout(1); + await page.mouse.move(470, 834); + await page.waitForTimeout(1); + await page.mouse.move(470, 833); + await page.waitForTimeout(1); + await page.mouse.move(472, 831); + await page.waitForTimeout(1); + await page.mouse.move(474, 831); + await page.waitForTimeout(2); + await page.mouse.move(475, 831); + await page.waitForTimeout(1); + await page.mouse.move(477, 829); + await page.waitForTimeout(2); + await page.mouse.move(479, 828); + await page.waitForTimeout(1); + await page.mouse.move(479, 826); + await page.waitForTimeout(2); + await page.mouse.move(479, 825); + await page.waitForTimeout(2); + await page.mouse.move(480, 825); + await page.waitForTimeout(2); + await page.mouse.move(481, 823); + await page.waitForTimeout(2); + await page.mouse.move(481, 822); + await page.waitForTimeout(5); + await page.mouse.move(482, 822); + await page.waitForTimeout(4); + await page.mouse.move(482, 821); + await page.waitForTimeout(3); + await page.mouse.move(483, 821); + await page.waitForTimeout(1); + await page.mouse.move(483, 820); + await page.waitForTimeout(1); + await page.mouse.move(485, 820); + await page.waitForTimeout(2); + await page.mouse.move(486, 818); + await page.waitForTimeout(1); + await page.mouse.move(486, 817); + await page.waitForTimeout(1); + await page.mouse.move(488, 817); + await page.waitForTimeout(1); + await page.mouse.move(488, 815); + await page.waitForTimeout(1); + await page.mouse.move(488, 814); + await page.waitForTimeout(1); + await page.mouse.move(489, 814); + await page.waitForTimeout(1); + await page.mouse.move(491, 812); + await page.waitForTimeout(1); + await page.mouse.move(491, 810); + await page.waitForTimeout(1); + await page.mouse.move(493, 808); + await page.waitForTimeout(1); + await page.mouse.move(495, 806); + await page.waitForTimeout(1); + await page.mouse.move(497, 806); + await page.waitForTimeout(1); + await page.mouse.move(499, 804); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(501, 800); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(501, 798); + await page.waitForTimeout(1); + await page.mouse.move(503, 796); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(505, 794); + await page.waitForTimeout(1); + await page.mouse.move(507, 790); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(509, 788); + await page.waitForTimeout(1); + await page.mouse.move(511, 786); + await page.waitForTimeout(1); + await page.mouse.move(513, 784); + await page.waitForTimeout(1); + await page.mouse.move(515, 782); + await page.waitForTimeout(1); + await page.mouse.move(517, 778); + await page.waitForTimeout(1); + await page.mouse.move(519, 776); + await page.waitForTimeout(1); + await page.mouse.move(521, 774); + await page.waitForTimeout(1); + await page.mouse.move(523, 770); + await page.waitForTimeout(1); + await page.mouse.move(525, 768); + await page.waitForTimeout(1); + await page.mouse.move(527, 766); + await page.waitForTimeout(1); + await page.mouse.move(529, 762); + await page.waitForTimeout(1); + await page.mouse.move(531, 760); + await page.waitForTimeout(1); + await page.mouse.move(531, 758); + await page.waitForTimeout(1); + await page.mouse.move(533, 757); + await page.waitForTimeout(1); + await page.mouse.move(535, 753); + await page.waitForTimeout(1); + await page.mouse.move(539, 749); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(541, 745); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(543, 743); + await page.waitForTimeout(1); + await page.mouse.move(545, 741); + await page.waitForTimeout(1); + await page.mouse.move(549, 737); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(551, 735); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(553, 731); + await page.waitForTimeout(1); + await page.mouse.move(555, 729); + await page.waitForTimeout(1); + await page.mouse.move(559, 725); + await page.waitForTimeout(1); + await page.mouse.move(561, 721); + await page.waitForTimeout(1); + await page.mouse.move(563, 717); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(567, 715); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(569, 711); + await page.waitForTimeout(1); + await page.mouse.move(571, 709); + await page.waitForTimeout(1); + await page.mouse.move(573, 705); + await page.waitForTimeout(1); + await page.mouse.move(577, 701); + await page.waitForTimeout(1); + await page.mouse.move(579, 699); + await page.waitForTimeout(1); + await page.mouse.move(581, 695); + await page.waitForTimeout(1); + await page.mouse.move(583, 693); + await page.waitForTimeout(1); + await page.mouse.move(585, 691); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(587, 689); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(589, 687); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(591, 685); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(593, 681); + await page.waitForTimeout(1.200000001117587); + await page.mouse.move(595, 679); + await page.waitForTimeout(0.7999999988824129); + await page.mouse.move(599, 677); + await page.waitForTimeout(1); + await page.mouse.move(601, 675); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(603, 671); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(605, 669); + await page.waitForTimeout(1); + await page.mouse.move(606, 667); + await page.waitForTimeout(1); + await page.mouse.move(608, 665); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(610, 663); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(612, 661); + await page.waitForTimeout(1); + await page.mouse.move(612, 659); + await page.waitForTimeout(3); + await page.mouse.move(612, 658); + await page.waitForTimeout(1); + await page.mouse.move(614, 658); + await page.waitForTimeout(1); + await page.mouse.move(614, 656); + await page.waitForTimeout(2.900000000372529); + await page.mouse.move(615, 656); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(615, 655); + await page.waitForTimeout(66); + await page.mouse.move(616, 655); + await page.waitForTimeout(2); + await page.mouse.move(616, 654); + await page.waitForTimeout(6); + await page.mouse.move(616, 653); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(616, 652); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(618, 652); + await page.waitForTimeout(1); + await page.mouse.move(619, 652); + await page.waitForTimeout(1); + await page.mouse.move(621, 650); + await page.waitForTimeout(2); + await page.mouse.move(621, 648); + await page.waitForTimeout(2); + await page.mouse.move(622, 647); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(624, 644); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(625, 644); + await page.waitForTimeout(1); + await page.mouse.move(625, 642); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(627, 641); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(627, 639); + await page.waitForTimeout(1); + await page.mouse.move(627, 637); + await page.waitForTimeout(1); + await page.mouse.move(629, 631); + await page.waitForTimeout(1); + await page.mouse.move(631, 629); + await page.waitForTimeout(2); + await page.mouse.move(631, 626); + await page.waitForTimeout(2); + await page.mouse.move(633, 622); + await page.waitForTimeout(2); + await page.mouse.move(635, 616); + await page.waitForTimeout(1); + await page.mouse.move(637, 614); + await page.waitForTimeout(1); + await page.mouse.move(639, 612); + await page.waitForTimeout(1); + await page.mouse.move(641, 608); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(641, 606); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(641, 605); + await page.waitForTimeout(1); + await page.mouse.move(641, 603); + await page.waitForTimeout(1); + await page.mouse.move(641, 601); + await page.waitForTimeout(1); + await page.mouse.move(641, 600); + await page.waitForTimeout(1); + await page.mouse.move(643, 598); + await page.waitForTimeout(1); + await page.mouse.move(643, 596); + await page.waitForTimeout(1); + await page.mouse.move(645, 594); + await page.waitForTimeout(2); + await page.mouse.move(646, 590); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(646, 589); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(646, 587); + await page.waitForTimeout(1); + await page.mouse.move(646, 585); + await page.waitForTimeout(1); + await page.mouse.move(648, 583); + await page.waitForTimeout(1); + await page.mouse.move(648, 582); + await page.waitForTimeout(1); + await page.mouse.move(648, 580); + await page.waitForTimeout(1); + await page.mouse.move(648, 578); + await page.waitForTimeout(1); + await page.mouse.move(650, 576); + await page.waitForTimeout(1); + await page.mouse.move(652, 574); + await page.waitForTimeout(1); + await page.mouse.move(654, 572); + await page.waitForTimeout(1); + await page.mouse.move(654, 570); + await page.waitForTimeout(1); + await page.mouse.move(654, 567); + await page.waitForTimeout(1); + await page.mouse.move(654, 565); + await page.waitForTimeout(1); + await page.mouse.move(654, 563); + await page.waitForTimeout(1); + await page.mouse.move(654, 561); + await page.waitForTimeout(1); + await page.mouse.move(656, 561); + await page.waitForTimeout(1); + await page.mouse.move(656, 560); + await page.waitForTimeout(1); + await page.mouse.move(656, 558); + await page.waitForTimeout(1); + await page.mouse.move(656, 556); + await page.waitForTimeout(1); + await page.mouse.move(658, 554); + await page.waitForTimeout(1.300000000745058); + await page.mouse.move(658, 553); + await page.waitForTimeout(0.599999999627471); + await page.mouse.move(659, 553); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(659, 551); + await page.waitForTimeout(1); + await page.mouse.move(661, 551); + await page.waitForTimeout(1); + await page.mouse.move(661, 549); + await page.waitForTimeout(1); + await page.mouse.move(663, 547); + await page.waitForTimeout(3); + await page.mouse.move(663, 546); + await page.waitForTimeout(2); + await page.mouse.move(664, 546); + await page.waitForTimeout(2); + await page.mouse.move(664, 545); + await page.waitForTimeout(1); + await page.mouse.move(664, 543); + await page.waitForTimeout(2); + await page.mouse.move(664, 542); + await page.waitForTimeout(1); + await page.mouse.move(665, 542); + await page.waitForTimeout(2); + await page.mouse.move(665, 541); + await page.waitForTimeout(1); + await page.mouse.move(665, 539); + await page.waitForTimeout(6); + await page.mouse.move(665, 538); + await page.waitForTimeout(25); + await page.mouse.move(665, 537); + await page.waitForTimeout(19); + await page.mouse.move(666, 536); + await page.waitForTimeout(4); + await page.mouse.move(666, 535); + await page.waitForTimeout(1); + await page.mouse.move(667, 535); + await page.waitForTimeout(1); + await page.mouse.move(667, 534); + await page.waitForTimeout(4); + await page.mouse.move(669, 532); + await page.waitForTimeout(3); + await page.mouse.move(670, 531); + await page.waitForTimeout(4); + await page.mouse.move(670, 530); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(670, 529); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(670, 528); + await page.waitForTimeout(2); + await page.mouse.move(670, 527); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(670, 526); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(670, 525); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(670, 524); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(670, 523); + await page.waitForTimeout(2); + await page.mouse.move(670, 522); + await page.waitForTimeout(1); + await page.mouse.move(670, 520); + await page.waitForTimeout(1); + await page.mouse.move(670, 519); + await page.waitForTimeout(0.900000000372529); + await page.mouse.move(671, 519); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(673, 517); + await page.waitForTimeout(2); + await page.mouse.move(673, 515); + await page.waitForTimeout(2); + await page.mouse.move(673, 514); + await page.waitForTimeout(2); + await page.mouse.move(672, 513); + await page.waitForTimeout(1); + await page.mouse.move(672, 511); + await page.waitForTimeout(2); + await page.mouse.move(672, 510); + await page.waitForTimeout(1); + await page.mouse.move(672, 509); + await page.waitForTimeout(1); + await page.mouse.move(670, 509); + await page.waitForTimeout(2); + await page.mouse.move(670, 507); + await page.waitForTimeout(2); + await page.mouse.move(670, 506); + await page.waitForTimeout(1); + await page.mouse.move(670, 505); + await page.waitForTimeout(1.900000000372529); + await page.mouse.move(670, 503); + await page.waitForTimeout(1.099999999627471); + await page.mouse.move(670, 502); + await page.waitForTimeout(1); + await page.mouse.move(672, 502); + await page.waitForTimeout(1); + await page.mouse.move(672, 498); + await page.waitForTimeout(2); + await page.mouse.move(672, 496); + await page.waitForTimeout(3); + await page.mouse.move(672, 495); + await page.waitForTimeout(2); + await page.mouse.move(671, 493); + await page.waitForTimeout(2); + await page.mouse.move(671, 491); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(671, 490); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(671, 489); + await page.waitForTimeout(4.600000001490116); + await page.mouse.move(670, 489); + await page.waitForTimeout(0.3999999985098839); + await page.mouse.move(670, 488); + await page.waitForTimeout(1); + await page.mouse.move(670, 486); + await page.waitForTimeout(2); + await page.mouse.move(670, 485); + await page.waitForTimeout(2); + await page.mouse.move(670, 484); + await page.waitForTimeout(2); + await page.mouse.move(670, 483); + await page.waitForTimeout(10); + await page.mouse.move(669, 483); + await page.waitForTimeout(1); + await page.mouse.move(669, 481); + await page.waitForTimeout(1); + await page.mouse.move(667, 481); + await page.waitForTimeout(8.100000001490116); + await page.mouse.move(666, 481); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(666, 480); + await page.waitForTimeout(5); + await page.mouse.move(665, 480); + await page.waitForTimeout(4); + await page.mouse.move(664, 479); + await page.waitForTimeout(4); + await page.mouse.move(663, 479); + await page.waitForTimeout(2); + await page.mouse.move(663, 478); + await page.waitForTimeout(1); + await page.mouse.move(661, 478); + await page.waitForTimeout(2); + await page.mouse.move(660, 478); + await page.waitForTimeout(4); + await page.mouse.move(660, 477); + await page.waitForTimeout(1); + await page.mouse.move(659, 477); + await page.waitForTimeout(2); + await page.mouse.move(657, 477); + await page.waitForTimeout(4); + await page.mouse.move(656, 477); + await page.waitForTimeout(1); + await page.mouse.move(656, 476); + await page.waitForTimeout(4); + await page.mouse.move(656, 475); + await page.waitForTimeout(3); + await page.mouse.move(655, 475); + await page.waitForTimeout(4); + await page.mouse.move(654, 474); + await page.waitForTimeout(1); + await page.mouse.move(653, 474); + await page.waitForTimeout(3); + await page.mouse.move(651, 472); + await page.waitForTimeout(4); + await page.mouse.move(650, 472); + await page.waitForTimeout(3); + await page.mouse.move(650, 471); + await page.waitForTimeout(1); + await page.mouse.move(649, 471); + await page.waitForTimeout(2); + await page.mouse.move(648, 471); + await page.waitForTimeout(2); + await page.mouse.move(648, 470); + await page.waitForTimeout(3); + await page.mouse.move(647, 469); + await page.waitForTimeout(4); + await page.mouse.move(647, 468); + await page.waitForTimeout(2); + await page.mouse.move(646, 467); + await page.waitForTimeout(3); + await page.mouse.move(644, 467); + await page.waitForTimeout(2); + await page.mouse.move(644, 466); + await page.waitForTimeout(2); + await page.mouse.move(642, 466); + await page.waitForTimeout(4); + await page.mouse.move(640, 466); + await page.waitForTimeout(4); + await page.mouse.move(640, 465); + await page.waitForTimeout(2); + await page.mouse.move(639, 464); + await page.waitForTimeout(4); + await page.mouse.move(638, 464); + await page.waitForTimeout(3); + await page.mouse.move(637, 463); + await page.waitForTimeout(2); + await page.mouse.move(637, 462); + await page.waitForTimeout(2); + await page.mouse.move(636, 460); + await page.waitForTimeout(2); + await page.mouse.move(636, 459); + await page.waitForTimeout(3); + await page.mouse.move(635, 459); + await page.waitForTimeout(12); + await page.mouse.move(635, 458); + await page.waitForTimeout(2); + await page.mouse.move(634, 458); + await page.waitForTimeout(6); + await page.mouse.move(633, 458); + await page.waitForTimeout(6); + await page.mouse.move(632, 458); + await page.waitForTimeout(3); + await page.mouse.move(631, 458); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(630, 458); + await page.waitForTimeout(7); + await page.mouse.move(629, 458); + await page.waitForTimeout(5.899999998509884); + await page.mouse.move(629, 457); + await page.waitForTimeout(3); + await page.mouse.move(629, 456); + await page.waitForTimeout(9); + await page.mouse.move(628, 456); + await page.waitForTimeout(1); + await page.mouse.move(628, 455); + await page.waitForTimeout(4); + await page.mouse.move(628, 454); + await page.waitForTimeout(3); + await page.mouse.move(628, 453); + await page.waitForTimeout(3); + await page.mouse.move(629, 453); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(629, 452); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(629, 451); + await page.waitForTimeout(6); + await page.mouse.move(629, 450); + await page.waitForTimeout(4); + await page.mouse.move(629, 449); + await page.waitForTimeout(2); + await page.mouse.move(629, 448); + await page.waitForTimeout(3); + await page.mouse.move(629, 447); + await page.waitForTimeout(4); + await page.mouse.move(629, 446); + await page.waitForTimeout(3); + await page.mouse.move(629, 445); + await page.waitForTimeout(2); + await page.mouse.move(629, 444); + await page.waitForTimeout(3); + await page.mouse.move(629, 443); + await page.waitForTimeout(2); + await page.mouse.move(629, 442); + await page.waitForTimeout(2); + await page.mouse.move(629, 440); + await page.waitForTimeout(2); + await page.mouse.move(630, 440); + await page.waitForTimeout(1); + await page.mouse.move(630, 439); + await page.waitForTimeout(1); + await page.mouse.move(632, 439); + await page.waitForTimeout(2); + await page.mouse.move(632, 438); + await page.waitForTimeout(6); + await page.mouse.move(633, 438); + await page.waitForTimeout(1); + await page.mouse.move(633, 436); + await page.waitForTimeout(4); + await page.mouse.move(634, 436); + await page.waitForTimeout(1); + await page.mouse.move(634, 435); + await page.waitForTimeout(6); + await page.mouse.move(634, 434); + await page.waitForTimeout(5); + await page.mouse.move(634, 433); + await page.waitForTimeout(11); + await page.mouse.move(634, 432); + await page.waitForTimeout(5); + await page.mouse.move(635, 432); + await page.waitForTimeout(6); + await page.mouse.move(635, 431); + await page.waitForTimeout(7); + await page.mouse.move(636, 431); + await page.waitForTimeout(4); + await page.mouse.move(637, 431); + await page.waitForTimeout(6.800000000745058); + await page.mouse.move(638, 430); + await page.waitForTimeout(6.199999999254942); + await page.mouse.move(638, 429); + await page.waitForTimeout(7); + await page.mouse.move(639, 429); + await page.waitForTimeout(3); + await page.mouse.move(639, 428); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(639, 427); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(639, 426); + await page.waitForTimeout(1); + await page.mouse.move(638, 426); + await page.waitForTimeout(6); + await page.mouse.move(636, 425); + await page.waitForTimeout(4); + await page.mouse.move(636, 424); + await page.waitForTimeout(2); + await page.mouse.move(635, 424); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(634, 424); + await page.waitForTimeout(5); + await page.mouse.move(633, 424); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(633, 423); + await page.waitForTimeout(3); + await page.mouse.move(632, 423); + await page.waitForTimeout(14); + await page.mouse.move(632, 422); + await page.waitForTimeout(29); + await page.mouse.move(631, 422); + await page.waitForTimeout(20); + await page.mouse.move(631, 422); + await page.waitForTimeout(53); + await page.mouse.move(631, 421); + await page.waitForTimeout(35); + await page.mouse.move(630, 421); + await page.waitForTimeout(51.100000001490116); + await page.mouse.move(630, 420); + await page.waitForTimeout(32); + await page.mouse.move(630, 420); + await page.waitForTimeout(52.899999998509884); + await page.mouse.move(630, 419); + await page.waitForTimeout(282); + await page.mouse.down({ button: "left" }); + await page.waitForTimeout(23.100000001490116); + await page.mouse.move(630, 419); + await page.waitForTimeout(42); + await page.mouse.move(631, 419); + await page.waitForTimeout(21.899999998509884); + await page.mouse.move(631, 420); + await page.waitForTimeout(1); + await page.mouse.move(632, 420); + await page.waitForTimeout(11.100000001490116); + await page.mouse.move(633, 420); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(633, 421); + await page.waitForTimeout(3); + await page.mouse.move(634, 421); + await page.waitForTimeout(6.100000001490116); + await page.mouse.move(635, 421); + await page.waitForTimeout(2); + await page.mouse.move(635, 422); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(636, 422); + await page.waitForTimeout(6); + await page.mouse.move(637, 422); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(637, 423); + await page.waitForTimeout(6); + await page.mouse.move(638, 423); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(638, 424); + await page.waitForTimeout(1); + await page.mouse.move(640, 424); + await page.waitForTimeout(8.100000001490116); + await page.mouse.move(641, 424); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(642, 424); + await page.waitForTimeout(1); + await page.mouse.move(642, 425); + await page.waitForTimeout(6.100000001490116); + await page.mouse.move(643, 425); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(643, 426); + await page.waitForTimeout(9); + await page.mouse.move(644, 426); + await page.waitForTimeout(1); + await page.mouse.move(644, 427); + await page.waitForTimeout(8.100000001490116); + await page.mouse.move(645, 427); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(645, 428); + await page.waitForTimeout(6); + await page.mouse.move(646, 428); + await page.waitForTimeout(2); + await page.mouse.move(646, 429); + await page.waitForTimeout(1); + await page.mouse.move(648, 429); + await page.waitForTimeout(3); + await page.mouse.move(649, 429); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(650, 430); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(651, 431); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(652, 431); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(652, 433); + await page.waitForTimeout(2); + await page.mouse.move(653, 433); + await page.waitForTimeout(1); + await page.mouse.move(653, 434); + await page.waitForTimeout(2); + await page.mouse.move(655, 434); + await page.waitForTimeout(3); + await page.mouse.move(656, 434); + await page.waitForTimeout(2); + await page.mouse.move(656, 435); + await page.waitForTimeout(6); + await page.mouse.move(656, 436); + await page.waitForTimeout(4); + await page.mouse.move(656, 437); + await page.waitForTimeout(3); + await page.mouse.move(656, 438); + await page.waitForTimeout(3); + await page.mouse.move(657, 438); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(657, 439); + await page.waitForTimeout(3); + await page.mouse.move(658, 441); + await page.waitForTimeout(3); + await page.mouse.move(658, 442); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(658, 443); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(660, 443); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(661, 443); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(663, 445); + await page.waitForTimeout(5.899999998509884); + await page.mouse.move(664, 446); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(664, 447); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(665, 448); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(665, 449); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(667, 449); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(668, 449); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(668, 450); + await page.waitForTimeout(1); + await page.mouse.move(669, 450); + await page.waitForTimeout(1); + await page.mouse.move(669, 452); + await page.waitForTimeout(2); + await page.mouse.move(669, 453); + await page.waitForTimeout(4); + await page.mouse.move(670, 453); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(670, 454); + await page.waitForTimeout(4); + await page.mouse.move(670, 456); + await page.waitForTimeout(1); + await page.mouse.move(670, 457); + await page.waitForTimeout(1); + await page.mouse.move(672, 457); + await page.waitForTimeout(4); + await page.mouse.move(672, 458); + await page.waitForTimeout(5); + await page.mouse.move(673, 459); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(674, 459); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(674, 460); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(675, 460); + await page.waitForTimeout(1); + await page.mouse.move(675, 462); + await page.waitForTimeout(3); + await page.mouse.move(676, 462); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(676, 463); + await page.waitForTimeout(2); + await page.mouse.move(677, 463); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(677, 464); + await page.waitForTimeout(4); + await page.mouse.move(677, 465); + await page.waitForTimeout(3); + await page.mouse.move(678, 465); + await page.waitForTimeout(5); + await page.mouse.move(678, 466); + await page.waitForTimeout(5); + await page.mouse.move(678, 467); + await page.waitForTimeout(1); + await page.mouse.move(680, 467); + await page.waitForTimeout(1); + await page.mouse.move(680, 468); + await page.waitForTimeout(9.100000001490116); + await page.mouse.move(680, 470); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(681, 470); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(681, 471); + await page.waitForTimeout(2); + await page.mouse.move(681, 472); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(682, 474); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(682, 475); + await page.waitForTimeout(2); + await page.mouse.move(683, 475); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(683, 477); + await page.waitForTimeout(3); + await page.mouse.move(685, 477); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(685, 478); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(686, 479); + await page.waitForTimeout(3); + await page.mouse.move(686, 480); + await page.waitForTimeout(4); + await page.mouse.move(686, 481); + await page.waitForTimeout(5); + await page.mouse.move(687, 481); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(687, 482); + await page.waitForTimeout(2); + await page.mouse.move(688, 483); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(688, 484); + await page.waitForTimeout(2); + await page.mouse.move(688, 485); + await page.waitForTimeout(5.100000001490116); + await page.mouse.move(688, 486); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(689, 486); + await page.waitForTimeout(1); + await page.mouse.move(689, 488); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(690, 488); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(690, 489); + await page.waitForTimeout(2); + await page.mouse.move(691, 489); + await page.waitForTimeout(6); + await page.mouse.move(691, 490); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(692, 490); + await page.waitForTimeout(5.899999998509884); + await page.mouse.move(693, 490); + await page.waitForTimeout(5); + await page.mouse.move(693, 491); + await page.waitForTimeout(4); + await page.mouse.move(694, 491); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(694, 492); + await page.waitForTimeout(9); + await page.mouse.move(694, 493); + await page.waitForTimeout(5); + await page.mouse.move(695, 493); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(695, 494); + await page.waitForTimeout(12); + await page.mouse.move(696, 494); + await page.waitForTimeout(3); + await page.mouse.move(696, 495); + await page.waitForTimeout(2); + await page.mouse.move(698, 495); + await page.waitForTimeout(6.100000001490116); + await page.mouse.move(698, 496); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(698, 497); + await page.waitForTimeout(8.100000001490116); + await page.mouse.move(698, 498); + await page.waitForTimeout(11); + await page.mouse.move(698, 499); + await page.waitForTimeout(3); + await page.mouse.move(698, 500); + await page.waitForTimeout(2); + await page.mouse.move(699, 500); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(699, 502); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(700, 502); + await page.waitForTimeout(4); + await page.mouse.move(701, 502); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(700, 502); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(701, 503); + await page.waitForTimeout(4); + await page.mouse.move(701, 504); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(702, 504); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(702, 505); + await page.waitForTimeout(4); + await page.mouse.move(702, 506); + await page.waitForTimeout(2.899999998509884); + await page.mouse.move(702, 507); + await page.waitForTimeout(4); + await page.mouse.move(703, 507); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(703, 508); + await page.waitForTimeout(7); + await page.mouse.move(704, 509); + await page.waitForTimeout(4); + await page.mouse.move(704, 510); + await page.waitForTimeout(2); + await page.mouse.move(704, 511); + await page.waitForTimeout(7); + await page.mouse.move(704, 512); + await page.waitForTimeout(2); + await page.mouse.move(704, 513); + await page.waitForTimeout(2); + await page.mouse.move(704, 514); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(705, 514); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(705, 515); + await page.waitForTimeout(8); + await page.mouse.move(705, 516); + await page.waitForTimeout(38.899999998509884); + await page.mouse.move(706, 516); + await page.waitForTimeout(2); + await page.mouse.move(706, 517); + await page.waitForTimeout(6.100000001490116); + await page.mouse.move(706, 518); + await page.waitForTimeout(7.899999998509884); + await page.mouse.move(706, 519); + await page.waitForTimeout(2); + await page.mouse.move(706, 520); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(707, 520); + await page.waitForTimeout(2); + await page.mouse.move(707, 521); + await page.waitForTimeout(9); + await page.mouse.move(707, 522); + await page.waitForTimeout(2); + await page.mouse.move(707, 523); + await page.waitForTimeout(3); + await page.mouse.move(707, 524); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(707, 525); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(707, 526); + await page.waitForTimeout(5); + await page.mouse.move(707, 527); + await page.waitForTimeout(4.899999998509884); + await page.mouse.move(708, 527); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(709, 527); + await page.waitForTimeout(7); + await page.mouse.move(709, 528); + await page.waitForTimeout(6.899999998509884); + await page.mouse.move(709, 529); + await page.waitForTimeout(1); + await page.mouse.move(711, 529); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(711, 531); + await page.waitForTimeout(6); + await page.mouse.move(712, 531); + await page.waitForTimeout(1); + await page.mouse.move(712, 532); + await page.waitForTimeout(7); + await page.mouse.move(713, 533); + await page.waitForTimeout(8.899999998509884); + await page.mouse.move(714, 533); + await page.waitForTimeout(2); + await page.mouse.move(714, 534); + await page.waitForTimeout(7.100000001490116); + await page.mouse.move(715, 534); + await page.waitForTimeout(10); + await page.mouse.move(715, 535); + await page.waitForTimeout(12.899999998509884); + await page.mouse.move(715, 536); + await page.waitForTimeout(8.100000001490116); + await page.mouse.move(715, 537); + await page.waitForTimeout(1); + await page.mouse.move(716, 537); + await page.waitForTimeout(11); + await page.mouse.move(716, 538); + await page.waitForTimeout(5); + await page.mouse.move(717, 538); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(717, 540); + await page.waitForTimeout(3.100000001490116); + await page.mouse.move(718, 540); + await page.waitForTimeout(5); + await page.mouse.move(718, 541); + await page.waitForTimeout(9); + await page.mouse.move(719, 541); + await page.waitForTimeout(10.899999998509884); + await page.mouse.move(720, 541); + await page.waitForTimeout(9.100000001490116); + await page.mouse.move(720, 542); + await page.waitForTimeout(3.899999998509884); + await page.mouse.move(721, 542); + await page.waitForTimeout(285.1000000014901); + await page.mouse.down({ button: "left" }); + await expect(page).toHaveScreenshot({ maxDiffPixels: 100 }); + await page.waitForTimeout(72); + await page.mouse.move(720, 542); + await page.waitForTimeout(6); + await page.mouse.move(720, 542); + await page.waitForTimeout(1); + await page.mouse.move(720, 543); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(718, 543); + await page.waitForTimeout(4.100000001490116); + await page.mouse.move(717, 543); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(717, 544); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(716, 544); + await page.waitForTimeout(2); + await page.mouse.move(716, 545); + await page.waitForTimeout(2); + await page.mouse.move(715, 545); + await page.waitForTimeout(4); + await page.mouse.move(714, 546); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(712, 546); + await page.waitForTimeout(2); + await page.mouse.move(711, 546); + await page.waitForTimeout(1); + await page.mouse.move(711, 548); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(709, 548); + await page.waitForTimeout(1); + await page.mouse.move(708, 548); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(708, 549); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(706, 551); + await page.waitForTimeout(3); + await page.mouse.move(705, 551); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(704, 552); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(703, 552); + await page.waitForTimeout(2); + await page.mouse.move(703, 553); + await page.waitForTimeout(1); + await page.mouse.move(699, 555); + await page.waitForTimeout(1); + await page.mouse.move(699, 557); + await page.waitForTimeout(1); + await page.mouse.move(697, 557); + await page.waitForTimeout(1); + await page.mouse.move(696, 557); + await page.waitForTimeout(1); + await page.mouse.move(694, 557); + await page.waitForTimeout(2); + await page.mouse.move(692, 559); + await page.waitForTimeout(1); + await page.mouse.move(691, 559); + await page.waitForTimeout(1.8999999985098839); + await page.mouse.move(690, 559); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(688, 559); + await page.waitForTimeout(1.199999999254942); + await page.mouse.move(686, 560); + await page.waitForTimeout(0.8000000007450581); + await page.mouse.move(682, 560); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(680, 560); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(680, 562); + await page.waitForTimeout(1); + await page.mouse.move(679, 564); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(677, 564); + await page.waitForTimeout(1); + await page.mouse.move(675, 566); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(673, 566); + await page.waitForTimeout(1); + await page.mouse.move(673, 567); + await page.waitForTimeout(1); + await page.mouse.move(671, 567); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(669, 569); + await page.waitForTimeout(1); + await page.mouse.move(669, 571); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(665, 571); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(664, 571); + await page.waitForTimeout(1); + await page.mouse.move(660, 573); + await page.waitForTimeout(1); + await page.mouse.move(656, 575); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(654, 577); + await page.waitForTimeout(1); + await page.mouse.move(652, 579); + await page.waitForTimeout(1); + await page.mouse.move(650, 579); + await page.waitForTimeout(1); + await page.mouse.move(648, 581); + await page.waitForTimeout(1); + await page.mouse.move(646, 583); + await page.waitForTimeout(2); + await page.mouse.move(642, 585); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(640, 587); + await page.waitForTimeout(2.100000001490116); + await page.mouse.move(638, 589); + await page.waitForTimeout(1); + await page.mouse.move(637, 590); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(635, 590); + await page.waitForTimeout(1); + await page.mouse.move(633, 592); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(631, 596); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(629, 596); + await page.waitForTimeout(1); + await page.mouse.move(625, 598); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(623, 602); + await page.waitForTimeout(1); + await page.mouse.move(623, 604); + await page.waitForTimeout(1); + await page.mouse.move(621, 606); + await page.waitForTimeout(1); + await page.mouse.move(617, 608); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(613, 612); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(611, 614); + await page.waitForTimeout(1); + await page.mouse.move(611, 616); + await page.waitForTimeout(1); + await page.mouse.move(609, 618); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(607, 620); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(605, 622); + await page.waitForTimeout(1); + await page.mouse.move(601, 626); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(599, 628); + await page.waitForTimeout(1); + await page.mouse.move(597, 630); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(593, 632); + await page.waitForTimeout(1); + await page.mouse.move(589, 638); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(587, 638); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(587, 639); + await page.waitForTimeout(1); + await page.mouse.move(584, 641); + await page.waitForTimeout(1); + await page.mouse.move(584, 643); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(582, 647); + await page.waitForTimeout(1); + await page.mouse.move(580, 649); + await page.waitForTimeout(1); + await page.mouse.move(580, 653); + await page.waitForTimeout(1); + await page.mouse.move(574, 657); + await page.waitForTimeout(1); + await page.mouse.move(572, 657); + await page.waitForTimeout(1); + await page.mouse.move(568, 661); + await page.waitForTimeout(1); + await page.mouse.move(566, 663); + await page.waitForTimeout(1); + await page.mouse.move(564, 665); + await page.waitForTimeout(1); + await page.mouse.move(562, 669); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(562, 671); + await page.waitForTimeout(1); + await page.mouse.move(558, 675); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(558, 677); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(556, 681); + await page.waitForTimeout(1); + await page.mouse.move(554, 683); + await page.waitForTimeout(1); + await page.mouse.move(550, 685); + await page.waitForTimeout(1); + await page.mouse.move(546, 689); + await page.waitForTimeout(1); + await page.mouse.move(546, 693); + await page.waitForTimeout(1); + await page.mouse.move(542, 697); + await page.waitForTimeout(1); + await page.mouse.move(540, 701); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(538, 703); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(536, 707); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(532, 709); + await page.waitForTimeout(1); + await page.mouse.move(530, 713); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(528, 719); + await page.waitForTimeout(1); + await page.mouse.move(524, 723); + await page.waitForTimeout(1); + await page.mouse.move(520, 725); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(518, 729); + await page.waitForTimeout(1); + await page.mouse.move(516, 733); + await page.waitForTimeout(1); + await page.mouse.move(512, 735); + await page.waitForTimeout(1); + await page.mouse.move(510, 739); + await page.waitForTimeout(1); + await page.mouse.move(510, 743); + await page.waitForTimeout(1); + await page.mouse.move(506, 747); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(502, 751); + await page.waitForTimeout(1); + await page.mouse.move(498, 755); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(496, 759); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(494, 761); + await page.waitForTimeout(1); + await page.mouse.move(490, 765); + await page.waitForTimeout(1); + await page.mouse.move(490, 769); + await page.waitForTimeout(1); + await page.mouse.move(486, 773); + await page.waitForTimeout(1); + await page.mouse.move(486, 777); + await page.waitForTimeout(1); + await page.mouse.move(484, 781); + await page.waitForTimeout(1); + await page.mouse.move(480, 783); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(478, 787); + await page.waitForTimeout(1); + await page.mouse.move(474, 791); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(472, 795); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(470, 799); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(468, 803); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(464, 807); + await page.waitForTimeout(2); + await page.mouse.move(460, 813); + await page.waitForTimeout(1); + await page.mouse.move(456, 819); + await page.waitForTimeout(1); + await page.mouse.move(454, 823); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(452, 827); + await page.waitForTimeout(1); + await page.mouse.move(450, 831); + await page.waitForTimeout(1); + await page.mouse.move(448, 833); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(444, 837); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(442, 839); + await page.waitForTimeout(1); + await page.mouse.move(438, 843); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(436, 849); + await page.waitForTimeout(1); + await page.mouse.move(436, 855); + await page.waitForTimeout(1); + await page.mouse.move(434, 859); + await page.waitForTimeout(1); + await page.mouse.move(432, 863); + await page.waitForTimeout(1.1000000014901161); + await page.mouse.move(430, 867); + await page.waitForTimeout(1); + await page.mouse.move(426, 873); + await page.waitForTimeout(1); + await page.mouse.move(426, 877); + await page.waitForTimeout(0.8999999985098839); + await page.mouse.move(424, 881); }); diff --git a/excalidraw-app/tests/regression/binding.spec.ts-snapshots/bind-inside-rectangle-1-chromium-linux.png b/excalidraw-app/tests/regression/binding.spec.ts-snapshots/bind-inside-rectangle-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb61c655c7ee4ebdbe4da318a76ab5211141494 GIT binary patch literal 36739 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%0An1bWwiqN_mBZGv9JA+IuKVY02pq zeWhEqK5~AxUEehDGf(5e-j7$5q@<+s=btzEztB3{gdDRUui5n39_Lw8-ePO z4VW&ex=~oKK(>>|4z{=Zbbpkl;W5%6$v#q0E-HR{{{j_NhP^X{S6fQsJ(kK969OmQDO5`}N=8yATy zL1!>npqtLg#UZr&Bl|zO0FL~j-a0vEjosRbwGt#VigBw$lrOsd%9%Gplip7uIR*5f z?apn{3s`GtXrK=4A}W@@dmj98y1=Yh2M|-g+}h(u(|t3N_5>jn1qHr((cz9>Trq4U zZgspiQw_S!blEUgg<5C=0K{;JBo9nZPJa3FE6yUhaA-r+WqzgJYdeN1V(ZVZ=1I>b zJ8YBCnBy17w$PX-p-_za@BEGyu9H>VqtxSHW0MRJS*uyUrta0%)cEvqsrh({m)oI0 zmW!L)f>W=i%A?2P_^{2n6u+3lYb&d8PE7|J*@uqqtmXc`K=vrE#_5;LXyux!R+DZj zkw(Tyxs8HSc`B`m#@5g56kl3?%kYYCS}5BA{e8^Mi1YhO7VpO^k5$(%4bq*Fz?DqT z&dQ60hZ()J@0QI}r^kGkD`t!-v!m0479(HjIwWstcSC)-TDKM37;?J;*)V!hx8;NB zsK#EjhOFI|GM%8UPP)w5-alUOUpB*-=xLSV*{GYvnD@72-(U1}*CVCpw=^*~&*Fc7 zwWMcwIhc(T%F)bBtZ^jGc&SBLp6Us*a}eF%KiqjbBP;(&CSC1lR$pfZ|e8)e8jSv~_-5h-8E-faWN(wveecmeVoM+1PS%@fjMI&qqi;xy{9OSZgNfga0!{#z5PPnc2jZ z7;v4?=Q+%Kslem?=UZ%;#NK>Ab9kUB@n|Bk9(Cf$Ry7sB{sLXT-Ialnk&;h>UfF<% zBPrhWjh3fWJI@^*?bjR~?jIkl2Pca=#2~T??llxiPbS5@m=V&W$Mj?tN*->g%SFTI zzRjKcPUqmg*{{uHq_rG`F8coMn>4$^2wRu$zMbLW-r0+Y12no}&vU-(F~%pS;1%IV z!b#)f`FMnHMgRQyGwV(hUe&;WgkcqaF%Q6e>(Po2QTk)gf1MT7saqL!lOr9icJ7>M z)jmfrW?&1ukh4}>nhot-4o=o+YHumQ(486|u4ocp1%1KRij;_JWR01EroA-Z@BSW# z_ILpi7t7H!Da%^78S%%n0FxsU6Zrv!J#aOt=19V;c83h`TlW>qhH>LWg4KH?@$iUV`dnS8SKijqu{cmT+6(;|dO^G4`$)pdWMd_# zKYJk5q3xB?xvn(U^$y9SA?Hy$DMD-h_{;a&wT4lbWMvDBx$tl;yqWzV_YgLB`Kil= z3sGX?A;%vW53SF#-ETG38-?h5Lnq?0JXGPao|Wg#s3@^Lwyu;Q=rbFaJwxO6`^P7M zZ64d>!!+CmUA_UQl^AG8WQ;1MPtzGX&fsTSx%4Z#Vjdo4RoB#f|N8ZjnVfGgqyg7a zyGkgAx+I8-8PnUB9&@f6e_&>~l8#-PzHvNQ3B& zT8qwPhlX9PXsPl%0d-`nm*BWQGz>obZiF7X$|-6wY*6JJu{*b@6+y z4qBOv`eku(3)#wtK9{pIjO9KDWL*(;n;s|>4Z9j7xF)u)y`a3_TerJODZWw6*!F}W zdSf48m9+HXVGnOyOduSFI-9}dckdK6?MIj*%GM%Zhd;4tw6_Q7D9qa)D&#iSc&rLk z2zyHHdgw?g%L7q17s#Qb6=$PI9J)6+cGZa^A7-^D*tr;#ZGGg@7o4mYeK4%GxoBiJ zO6o9FEbS{~W*3`nxeFLwo()MmT4A@px0E?@>e!EIU(2*H%*tKoiudnNS99OWfAxeY zf=r!Gaq|z<4lRh5>1oqJVhDpMHw=}eq_MFv!|qw@0Zvv4iJzYXsJKkkc-QyW8Yf#@ zIk>pm3-%k=9!xpO%P+npIbD`c!Svg>I`T4|m(i2r1EYkOPI1^tCN4zlX)I5K)g7o2 zn>Y@1JoEZG-{sIFvU3ly4H-E(=}f|-4}^~s-PR@y-NY?#oyjCdC-v1o{_+O!ae+2^ zb-2`zORwxvG}7DqNUpWD^b0ZTz}Pkq+y2)4uVddBPJL#9eYKIcM+j0?H?wn1d8w$y zwY8M+-;+ul!;d1Te#da>YwqeWBJy9_e20e8Jy%YCF^a1d^8XRAAZB;pm7XE0V&tUq zZ*X8tVIX?68p4P80Xm?Y1Cc_NLQMav_6p}97b64PC2>AAVN_!y?}l)Fyy!>=#; zGPx@Bq4kBD#>Wq*v3`>KsLZ28y?=-8_gDDXXYnGY z{oJSlUGGSC9Fb~Cg?+hUA}ier>X3+t2s-}IJ`U|7)HLR~=k=2NM-TPcA*nu1JKpqc zMAj{Kr4>FTQ8;uDui8fsYFiE!`+6Ukk+b6}ruS#pjBBOHD1#I+uhPY+yODo3HXL1D zBZ4dIrqZNjZ4bh#d=G1&0BH%Ll9O-j|FEwsNk>_7n--zBI}S9H+R2&`BLw?bO|{e z^*qZK(gz2yZiGld26Gu}3*N$%I&ZCrvc9-|yEp>F6=Z>5#J$P5>AANtZ0t9FePJ+W zGJk$P3iC>;K^v2PgRA|CXylQmmR8L24^)Sw8$HeuunWd_>mQ8=S+Bq!a)8RfP6Eky?@OmtU8p}e3 zoj#P$?J}P+c3S9}%-6>Ks;;i^GSpP{t{BEvDw&GgMC=0#G7?>BCq+>V?4`Klb$Pe> zL`mcCFPhC9j}AyAB_%Z-1x2km5axn*MyQC#*>lseBvIcuuqcr;s%FnyGbK)nh>CLD zy4C(AJs896LGE#b1aa;rdZ^VkCN3mo{q6ZmJ?Np?h@CV zjv?K*cuq8oXUX33^7M>X{$R_erY1XDNg3gD7VpIRXl_=6#y0 z@-p)e9`EGrtUVAB9UYgLn2H#x#{(MhT>f3aMRb&8U}*P;Qb1HxfZ0Bf7@_ckQKu^* zJH5<$Hq+5gl;tNLWdswUL4rf)nF9Iwy0S zs^=SOV8|hH&)hWQ(Te-3ta~03WAtAV3;VIdlQ)91Ls+bC4jzleMqJ6tWWpw>A=s(C zPB*!+3JHzo$8#x{L^;mrD8DZxLlXP9|KtDI&TG3+%+0nmBqYIoQ*U)u)9%=;wY61A zUWB3AeWr3!$*A#hGW&&ANRN*r+H}54r4rpcbUsxU7A84*^B9+H&WE;kMF}uvCn{8V zKLmjw(obZBL~=L#L~7er3qOQ^aAZQOX6ujFNJ{#@v5g zUZoM09C3ZAZFuzoHXMGReDDgl+GzwelYju5kWeh*Osbf?&ovVS zE1VV%aq(}xrST8QP0fuW7)TJTXLn`Q-<j!DlC)YC_;z%Y=b;WV@r2D+c0PHZcXl zzX#T_wY?qNrl=q%$GOuP8Ro}N7@s3{}rj-Q1MToAv2R; zH+DNj*9St8(+%KQ zg@uKg5?^t8x5jV*lc7zb!M}U!*W%*r>gvMmENCpqjx#5&MWR*h?Ul8(VCOvD+_d5v zAHYiOjADuNOiDMK8T>R@uei-=TMrKpOCBFMTS-1V?K=;RV=pFi+`23EzJWnv5@*IT zXSk#~6J?WsQn(~7P!HQ11zG->$gfLNQ|yv>Y59MpPM!HPs#>NJL zg=|En9UZKz#C;zf^@3FaE-0ppd*-fP=}uAYYUE2JSiPmb+*_R@u8Szn>N@%D)$#he zy2z*~=+&Z8D2lhMrz&H0OnwEY-MG5PF+LI zJdKEo+(ah#nerHJL-rNGXxIy3^y2KLkwQ0}V`9T+(1x`Y1$R8;p+>W_zKBOVd(a3? zJWuCLE)ekut}{s6MsB2|IzGK3+s=yud%#~`Kr0n4Ubn%!x}syI9Y@iL!$tCZnW*=g z(KPJ&YU@WHhQMcWuXW9k`TkoafP2ua4`>Ad0lj*~%7hSGZ zs0RXIxVG@K>9^jLnHDYKHv%Z4zZI?I`^;yRpQoqiR^V8VrBt3stq{%CMjQ3q;$d-+ z9e7t4@<9C0pFes*$o-^9YVQ0;Jy~_4yFW4{IMJ+2#zuP(YM9Tb&DN-V??KZ`0J8-i zn<|eh<{ciEtm*k~PA|EPyAEOt>png4Q<`>0F~wfN9hhBFY}MMJ(^+n2X*|Uny32BN zDH{Y(`~XFCyhGJb(v@FP=pyeIAxEB<4rh@5*TRj7cz77x-6=_Q-kO?NSPV{2zveYH zf%Ib#ZM#`hT@786;s|^>%FYQ(JtBoC(|*=RDS2=`ZVsXyWy)d3&(_hBRaZ7z>A)ig z#Pd^(8u!A3o>bddAt18oBhMORr7^A(x#}##8?jst3lWcODVmV>k)e2p#>0W(VcjQT z8!a-wp`|xX--^+5}>&OVuRke3g(l}VWO2(9E{bhVwR)2%2r8#Sb77ZJkJ^D+#Z#y+d5 zn|gcx7UNyHvhcnea*Be7W+BFc17;DyhU>Em9B~hc+X$J=V7SOoR96}!Z-yx=gytKKZC%fUs?x|zH$3Lfj0L@HJ|Od46r1^c2f zCR7i$mWR`s+(PTx*BXzF=pz}kHd{9EMA(srj=aD{(yObhL!`4gXf;@kB=l&-7TEQEZh3&~I8Wa6jAKc+K^f2KA?y(&#-5T} zAg61E4{E7p)oZOE8EF^^wAZ7_n-)O=qYj3?%F^m|$hdmgpxJtWGW;DknhwhIje&QiV&zw+f z?1@_YOoyMRrWKfs3wirqBvB)NuxIeHjSlGPPrdH*Xk&=ZL)*6CWb!ofGgh-HFu}I? zyq9)1g;Y#`6a}Zu5;ngEUBJi{if3qkXQWgxQ@I&uYnQ-+^q^)tnfnqSp_Lu|knw^| zKRXv&?#uYFG5LXhBQ?QZGg`Zfo|rdc+JaqX2}YPG#arq)^O~{fvm5!>8ucub2cPdp zUNZfqpU)%rfk%X6MckU~z5GwTfmauWnK~6nW3&f@OP+D?Md(udc&24WQ?uGgX`u?Z zb;0?4D^Mma>@{#=zOk(g=^G$bC}!si){09Vcy)|ief%8WR@}g{Gh!Y z;N5Vzza9JN);FC(SzPqU8MDWXgVcu)!S!)rB|TQtsXQP89mjrGRd*s}T4Wa|XB7D{ z=Ole^?0utg@5hX%&cd*rF|M1i+8FN3bvh%B=L>*UoqBl;ds+!hhFCVoxl zMu4xZM+>E|ro!Rj*M9nfu;bKJ6>2JOi%+iwbn&BH1O3Y^Bl9G+7sn>J2t;ukgJhi%2 zGE~1tCfo45tLR`d!}^}oWr=i)7jiI~KWojXp+Jn%ykTW95Qbuy=`T+ro-L|in6|dr zw`QoZvU~If6`bj9TX7BhX%LQ50*yRwtjK&$Bo5I$L7zY=lXrC{V5nHE!^Ez zNOVHIKgsK#%pyL6&}O1rLQZs#L}H50(}qZ>Rjg@#(y{^xqb!K!vGwV6feaLjgL+;SMzF$uoSj37?!ZF;nQ04^ zcuc-6%AGw$4cl0+tv`Cam)1I{FTvxHfUzB^c>B;Z_oX~>>}PZgSICw@LLJF26>bA# zb1y$e!G&MN6VlnVDD(cCj2p(cSCpa;;NRzixuO#;-P0-`5ImOV){>Ku!1hqJmT&90 zh$mbk9Qcw(1Bx6=d;6;gXE@lu(7ZEzg>ckFW=FPf{QMG_|MH7``K>60CqRA@`2V}? z`aQ_Fz7Eq{e-wku)YR0ntoFd}P~&P7#ER*+r#OMUfugx~=gI3bN(PBK_cfzo{#dhc zETgc&FKNI%A};f)c8?0{Vr)^AS9l**_|F98nbaD4mMP6`E)BN6#D2}!MmNY9aBi)% zo-vcqudt1X8-tu4ISKICR%CVCSWdtMh+HId^zse5d7HtaXl0LmDzOZ6)+@-%yVqeOA(waze!{h)S zT1=Td$91E1D!0eG*)*VKt_RdAK*7{Wr3djlJ3C_@b4hF@Z9KXf8nD40r$N+T97Lyh zqo);+8=+^e-c`LMw{_~`;U?!^E7PRVildEPBb|v?M+Y}WaXhd0r^IP=HZfveWw6MQ z$-hL`_N+8dWxmRd8#lgIFfmU)E8^NEjI2}-2E|WCNq^9< zZ7laT+9KN9;UWaHsQ6jZbm9Uw35gi!BN4|RL7hb!+&ui82i}qL5Mj9$J<+yW%T9r0 zBcRa7pgZByqv%6k?C;ntL?Bo%oO?lv5NG$4XKb3fdGltC%fd}fH9&oM{ zn+CrYsKU&I+QV;10k?Ho0s_jH|35!ysV>#u(-hwfQXz98ficyy5f z#)HQ_8t7pO4?}3P3C}K|w-BDYNWk&}&rP54c>G0^3z>TuH6nr;RyBfIC3!4c#i1}M zA%PCq@}q-*HE@}L$wGbW6R`9z$c|KK8GLutl$GD}CnhBs`R+!irZxdy0>7MUT4d_K zSI}g1S5$O=cemWK`yhZOnV?UbF)a4y3l;c>gtSVEZ#vZEdJ&v`u1iI#o=Kwa+>f)( zpznn%(5QR;`Zc|{Jv~5fGKMxKMMalq&uZ2?M5BF9ojS$Z=L|tOTx!8%ShF$e(5T7E zL|(&ZuE=xIJ!GZqE@3?p2os);q>zY5y0vbF5Z4Mmnx1)@`8CgG-N8n0C&Vr1;pt0l4&avKK-VoU*;K7mjDjce9K9H! ztzOZEAdVO%zrg%ZR<^aUEGkM}0^}x}PW6cv5R+-BsFqh&xEyZZe9{RWY-DnB(T4T@ z)(R-xF;yIuJzB>Z#=VA1H~!tpVjd$Sqi6c8H+_Mu$JX?`eJ`=Pu&@iV)Jd|+ZhGsj zFl-cvr}>wlaFc$r z(k?U?b|mh?imRJ6xm|aF=ZK8p<>meU?n-**B&a0MA(u(LIdesPZ(?g@l=7O$G8}M0 z@tM+2iKra5@~LkjG;$~F!7#yuXuVLLQDgGyB`CI-$6uBh_1qWxsyI`-UHv+w$nZze(SSlWWAuYT{OPhxei)C| zv$KTb;8hw?M+@jD1 z?n=Sw<1a6Nn$hmXZBTWcNavY(NvV>OQnWq|4NWeoO()nTt_s?I*yRU8HESzVfkxBH z;AwKCZ;Ibhz@U*=|K#NHutiFQ$-%EMNs!-V;m7~-r4GDDNB~{Y5L~17we_zr7&jzd zuLSZrD;beaiB z_hPvXM=I<@pL~4_50L&@uW`5x zFB8m_%IjG8%Q=t<6k_Qh&1N56(WtW<6|61Vb+DuUc^1q4%_daPZsel& z;zh6jj;sV6EVv<>kUPB7aDI!ug}+YE}XUiSTRcGoE%azJFL(r|eW zbjD&wJ9oii2$@e|RXK6zD@1TROVxKVrjL_Qg51ZPWL;d!Dl01!5)w4hpr^}pQ4FaK z2(JI;rgxRvgm59ziXeW$E;KxwVJ}Q&kH9xG#7h48dSQeuUa4Vk(Pkxe9&${>&Qyrk z)sjRHbl$cB?UI@fp=JgArC;r9=qKo`LlIde=uT%URul~LT!Ako7 zWLSc5_5bI2jF+W^@e#ze+RXv|LG*|2aB?|B=zgNN{jA0vC)YeJS? zslbd?RaYm8d$|o`);@pvLTzHD;lC;UVA-GO#57L`JCjGSm|AiX;X^}ee!ihg_QqoY z=9-zBCW?7r+*U@QL?QjDRfz^@*nSr2lsx#j4AIh&B&z+{LT;~qAuC~;4NTZjdUUzD zxi2ukb9Zw~24V%s6jpHvGVLORZu-q_v=7u8NM;K_{}3cL^1AwZzdfsJ+j!iCSFc{F zBasrjrV~&UgOhYbXt?xP)$NBdn!#;AAwt%>3RVnIh)pkS0}KU^lR2Ef2PEJ$${Qo7 zUhpg0N$)7CZD&Lwv1u~JY?r;y-Nd3UQ1FKaI z+Dchj85AX#`L6p3GJ>j0{rQbHgZ3WacMUW4dNQ0E-Bs(lGyo6`NS`W51NdhIGo7kx zm*3I)>jxwrKLh5}Pd}0xrl2+vXZN`FVdFG>Z$8DT7Bueb*RQz3hXcTcsxL9zdGgTG z(h{6$mw1j`z_uId0E8LS?iO@ec*_S5KA)gGNSU4%w9^CNu)DM4ve;KL{}q04WRRhu zVP?;MD^H`Pb4=)HkzuWoyJ31$QxmgNJgde@t_|flUQL_Uuz?Ce_9hX{NRitMG;j$6 zZVNrqgwzr<1_lj?=w(>95hJjmGO$zvMX6V6UMN@+6BDBOIVik8X} z#MV&ND>BL=oj;}E9K7$I{PHXu(+bu4LBSbgX%d~eA}uoJLpbhDf*IlaNBhptoSjpA z_i_VH(|Chp5=yBRrQJlGG{y;lFhHYgR8)}BV%O(*4D2MB602lFX*)VPqyo?R?9Rj< z$u(j$6FDnkEl{=vKe|ped1~{Yi1H;ITm`VDK;HZu$7ewcByXLE^YFdH<OfVPEyJR&5=ih7gXh{HFA;C_b1yrJ)`5| z02%mgt&WRINJy};$q}-enPz5iEMRmluH!QkOp+(#5e4qjox6&p02TeE30m1n6V&Ja zqUR3@uiV=`|M!)?a`d*szpn`Y$15%6z34Y*05%g;t1ly`ns(foU;eFY-D%9l>G_WnD5rlEY&1blV2xjpEG zAY-3R>VIp-kCD~-?TO7LzqRq&N;gOqxr7N1D-Jm*L;EU{T;LDLd?|h2-!xI9X!@{ocnNPRWY8B{oLt&eqo?hs+xC(O&X(x03 zMXml!D-(yZKy8G|JO$2RW);vVDUd@>Q(pl`c<--No*>;IGz)e(;Q0N(Ub83@iLfAT0oUu{l^3(r@s{wp#UyE zcX@evRn=Z*C1UUlv5Rwa7XhyO00SC!#6e#h8c3}&va@Z((RKL6;>TZP-c|j|N-%HS z=xNQ;t*))b+R4Zqna0IkdA78$@c2m2!^4BA@zg*6xrj5<)1Vab_*sOz}WnZ(9H8eB? zQ#|abzef*ITnthKIBmGt*sQi!5BN;DU^HiNP=(kL=nOzgQ!9pFyq|!_lM zI1y-A-Pha2HFjZQ%Lg0DV`yNIQExk3shvp9B_0cl>_B?YDzny0V1qICtu_Upm-B2LOd0JZfIDpo9V=)@dy#fz3v>-g z-Ei_fw}$1ACnemLb@H{iSdJXr4}w7)=ojQebh!}JMe z2IDa#|OBakPTARSSl#CuqB-B>P%#c35_Hwqm2nrw23t{EgEMGl*q^BzW=%bm40w<@%n4i6yxNh{?2v zpK{f+A0f1G*ulZIlIHKb`-2V8*Ft~E5hZt0Af*$4wuI|q8JuWAtDfl~7UuVK+f^n#PLR2zLRw(i>H%Xh(W3bNu6L>JVr zgS{mOg7f#&t3WXI06_!o`f2j~^|?;)3;D{($fQ*!CM0OP&_bI4=~0k<(UFiL&wk*s zhV;p}9>ySfe}-kf5@yMm84a|e8U8kX4F$%HkM}mLdgi;*4l!n}8Qqx*u~3rXdOwu) z_VgUZ+18I4RXN@e5OBqz*uZbs3rJImuX?rS4P=5y!%Uxp9VfO?d8hJJ9|EEybpPDn z^w$TuHoE#}Ro^o97Zeo0_?*UKKY+iOWcZm%xKb*AD98=Ihig5zq?f%`tF!OF+KY5J zJUq<&YUm;%ogLxMzMxGHv}O3T_j(XecWiOG`ZpF9u8_Xs`HT74Q=m9xW@iIF>qi?O zH@!IMuA_Q5*Kv67X3DPVNCdVAMhAb@x>WyxX)K%myqV7dA!V|LhU3$^SwWdxB%15l zb2Hf9q+mnDN}6BND;dl@%ne=QHemg>2umOzHtiUc1!)DC0v{N`16pr;Z%IAo(gzq8 za9hoPaO6rWBqU@pcg$UwpAT~Maj``w{fy3C@=Jt38XqosItK?a6Q4US?ld(WexuUL zjv*y}Rvna1PcJWrv8sh6_lbp(^8DQ6PDvHH*YFnWt6gIooEXN&Bti1{)g| z>>b{i_t!)Z;M_<0Lg{e8<$%~tf9J_p5T}_^Dy{or{w}9KUt58?vg`f`^Ec&NY1(<8 zdgj3&+u*a`zJ7dkNJe_@YHGbf8Z|QaFSC{^x&*DtR7fX_im!65C;%ve$P92gmWSn$ z(sOA1ve-by7d3CQOz)mwT|I(ui`y&3V2r(1Ts^d)oWNcZ22yhT575C$Utl zb}K7T83OD^wc7ZB`{b$nT~{Z-c1q>LZ8gs)PoL^l*mh^gMZvkA#j>OTG1O@q4+Dq| zTO&5O8+T!poG{3bh)KUTY;*fEwTaT7KPAtWrl&PNFXaAP>;D(7@&A{M{J(s|nZ?EW z|KtMxKd8}?P0b+Efm&5rupP3pW&Ntq;I zjpSsgX?U2U9e}wV5nw87GoAzl%aHtglK{>vFvcV&CljDTqA-J{xQf`FJDi+~v`d4> z+(~po_TH=2b485}y7Kb4k@7}wDAf3_JWUQEhY4>`^dWxXbT387(py1swzXZ3WHN^M zRsp!$DK1nEh?&9& zgbKe1#~zqM=#|)CY=MQw@5rMD3P)s}kmZS(!VnVOp`$MaW1NxLO8<^;&jeW7OtrlFK!UBJag zi-tkPlfS+MQt}w?g*N)FB-k(dwsO@2z0Is5=DqV)@X^rlFt)ch-LQ5G77d1wbHV!; z7--??xfdqM4aS>OXU>2dx(VPi$BHt^G#e0|s;oqRH(w{RwssUx3?6)(lF)cx8Sq23(6L`grRyk@mbmy^T7a98-% zgz$eFExVt1Sb}FBmgL}PAOkdS&K?A#7q?+e8EoZC;pYJJ>ebS}tEmMtKJbHFo14p4 zIqs&9HWHt)fb0GA=@WF2(9ecz1KFN!TGP_&Tc&1vOyxJ0Lf&k zGXI5uI*>(%WUM#{-5w#e{9oX=|1NhNwbhR%qR&_?o2aM-Ob!DZ$9gvyhCwK=dDdoU zLr0nHyHY*~&NT|9+mAo*q^4#87>nA1K$rk3kbt4{|I+d~x4{Ngy;M{Sup}WaZW!)y z;IOtxaV`TWBucU0sZh3n#ptVam;^}k>7X0vV%kt5+?&7nhy7h?sXAo&#Xj=8u8S(_ z3uwS7DbJ_KbIG%_vg(iaY`{_kjgKP${IRjIhJ$BVu#_`+Oh1MR3uvXTgdV}VjFkMAXWt>&tI*@t}3Q@??x^>=ltnVFbeVGIB^H^P4dCfyh$eILv)ToQdeP@oIv=fsHMp#o#yUDxLKNsurA>5f>W__)D{ zSMI9(UUcBc^z@kuKqk=KMPKH$>%HCs@~xSfS@XA~*w@QTOF%Ra!g2xs+#)qGF#-I9 zW-%RbE)w9`TmE%>6Xq3Dfr&ca_M_a{-HlTLkI*PcOFmtxpKv1ou`@bgTGMdy+qWAB z+SwbdP>G3G*JWW+f41ZBhjk!7j7*CNvuSG&!lZv((95KS;q}?t)tdDeWc2)NbwA&9 z03Hw5s|Umjxel@~w=U-49@&}8Ro=TQVE5CnammFHTl`y6sTuE9wWr>HRpwS|uEb;9 z;Jw(F0*AtSg#QtB;!Op(d&9Gq@X<0WZ*S{MqA4vc^&rv?cBIYx`ju|N@ZiA%fXv;4 z#wn2~RL17U5)Cu;ex^dB$4s>LT-&Y*HWHoj4xMTI2eLb-URkmGn*LH>2@YHGx3|o> z4Lb@cjW7cT9>yzIpc&|BYimmsaUID=H^jr}_zKM60eI1c+$s1o4 z@2?8O++P^n^+66U1M>X4D-H&A&(+c%R998Ckj2KtWL;~ZXGr-CxGIcRK%N#V7yA|) zJ{R^15cM(GB2&b6h0Uy#|KnCY{xj1vGYmzx|F7`He_{&uHsHviDCC1|xVN(dw{$S> zSqEhd828gkf~GA$e*YGLE=YQ=3+Bd%PLS69{(PEZYYy5y%F{~;v9Yn?;kRuDY9X0t z1p@QzGU@YlrnCWg2{=`7j~`glM0ZFWASdFi|KofShzw2g2ev5^K0s&G4Xh1DHR2`1N~ef_<&sBTzr#76{pjanBBR$Vo&AvR8F9B?l|3BOsz# zN;3-!ujf??w}3ulV_6TJ@Lq2RJE$v6)8cymUhVQ*6vZHVvKUYjbaf3dMhU)AP%zyA zD{q4k%E-*Tx4+++A}PtedH}@f*t6Ec<}kkklSu*{55g-jiJ;F7*ZF;VNrK-c2(SQr zz8+*(LzXt~TD_21TfSq3^s?Ls}aP!y^U^0CXxNdG~1RaF(~Sy~Ag6b9K|CcW|H zcogjskPzzd%g*1D`LGR!j02EFz%2@)d<=IJuug)@uZP?S!CzSL3QSI^2Jd8^rn$lV zZAlo#u$^CdApdM9S0mhm$|XVc@G`Wk~DzI$uUQc{a@025hNb)XX6(cV6OunI+a zb;(Aj?s-Y~<$o?+%2K@oW0+jVM^VcaIuOSLU=dl$$jHbcCWvTDMG?K(DzQg!OmHZO zbUr03T}Z4=jkhm_Tjoh?k(bQ6ujmGFK2Cdd_5Aq~u#sRpBO)Rw5URv5EwM1!cpN4< z%RoF{VK)!#Yz9966C3F(74QNyzrU9Jd`c3G#LNBpu`hkrK^7EyUVO<6x;#&qC%1yw zuXx(r@$TIQaKPA;aA4scEzh*QaAXYL|6IB9r(2c*1_J+#RbT!$)!(~Q)UGAesn*6sxjd=ID%wxCj-&v?V8sTlq4nzYXE`FOWHI`ibRh<}(k=iMIDc+P7%?P-50P z0PacOtz~yGA;140?Y#$3RNwY4coYF8sVGr`0R);HBnT)XIfEoY1SAI~DJTfEN>GwY z6h#5a8I&lgL4tq^k|j&dC?ZInb-MM2|NqXsd9P-sYN{S}>;B3ioW@pu^Fq1B?=PZ$x%B&sPhG={v#7DOY-ItT41o*mtJ?{_O|OtW$sSLgkt@bVOj| z-~h7+923hP1%3ThFeWLT=kF}LHMhr6kUZFnB*?s^W!}7L&(QayVT4xw(`M1bV|V65 zXsu2qwKgvdS=i8!(UXVg@3U6^P;>8Ap}UgVc9uH7AnezA!20!(kp#%1jdz>nuUYtO zeXVbtV!aIr90WQCa0vD;wYTEqiX^8Js>zq(Uhh4a!b?@Vd5M(kQXpFJidQn^eARb8ra{gf~3Qq+6n8^^BeZcLFfy zV<0Co%E~J*Mec-iJ+}LGRk@n1JDL647xR~&Bw^hF!5&fCkISb7pEp5HwtQ%Lv6HSy z^h?ibP=gs4F$8k=<}iDlDfXdm6;Zw_082*^8JmsJySB~3V}I`9z5bjzF!?aGuBK;2MFj{kl>FWLe3%kvuA4EMf;gzCs_LVn+a+FR@N#8K)gs_v z+oDR>+9!Tr?eycR^uPx=l80dlzX#~<&6^@<4=SLW04h#|J)ks@g8&K&XbI*;WkHdIGVLT(5vYu4Wx2EZHcxPgMO7$P)CE_so z&7Ev@sR;)iT>$VRLogD6u!llMpYv70g)!o{!)<+<71bdt4o+-DjqElYFZ+%`H>g90 zj_aQB_3XU51&{Nv}jPG)`u*E zD=bt3xkaNi^T6v2jQEsrjN}^|mnI3PkFj}09J_B@_aa(%)_-@Rm^G-`0 zA{(G|xpkQgh!N+T5VHLeyRB;RDeOVPk4I#y>h6YqPJKYjfdtw#lvSMbslBr_K)-25PnO}wZLZrtRfeXgE;^nyA!sIV@nOB^X@{6EGg@c&)V9wh>`R{`|j*J zE7Jv)UTKhjpk9AJ1U4Qlwvw;CeURuqKl8Hf$rnyg@5~VjAlvTC3$L21KR*6htsX#) zzjepxk%?iI#-_9yK#$oGhqT()`zes9&S3tk;|$^_Pu8|%y&FK`DQG_fDdg3*iwC_y zhM-r?4nQmrVtB4rtZ%KCg1w82i@P@U77(IvwEzbTi2uajtL&+ErqVUh^R4xrhTMm^mi_XF`Np0n#Ys8_sYz8J+qJXN3*ZNCsNE7 zYLyVJ%cw_I`VYhhvwO$|@^-B!+K`bCTie@3Br_#KuFH0Z=;+eOH2hN_pH>DQJnm^M z3Bs+bu&8(H@kBf)`|;y4dl0NEeoQ9sdC&pkJRPwS zt1OaPS`zi_HV#uYkOiGUot?mxDBm&qZR1#pGJ_6ACSpp++Cf$jVTyJq;kkZ@3&XvZ zsnN9!ecj`45!l`%xI*nD7c|Jh?uGw%c7{4JV8}r4N1VAG zo-QME5gtZL*JAYqt|0qQO(B_%5TRLrG8fPpkcxBx(C<6AvEIu~jX)X(W{WNWi?Ptp zCOJVBU}LZGr-4zowD8femU*UbhHHgQQ0>sJ9%?%bmrL^>?P|1HwE0hehJ3wa>@DKtID)L_4%DB%AhVSaqkask{ z=?#$$?l}T|FkJxf4>uT)kd+EBmU>Km0f;`3vkMUPQstUY>nkxpnir_C;Nt?IejXAL zW@aM*O|T&?BH=+GhF^hcHsrmQ4h*CPaIt+Lw+^_+CMX7#bRZ}M?Hd6F47{5$;7D0r zBi>w%-<1+{8j{NL(LomnmrG1<&xttOR&OoO!S%Gqj!A+G1A)5TOOz+j4}2uXGt0Xa z)|Qr*R#wuhy-6VcIeJ;eqMyp#1ffAy0jvtNbx}%!a1oqPRQ08+zn`43lKPjeu4XORzgBK3H(Y3 zO#xv026+RBYmBC6G&DZ*@vRp@B~}GA-2IRWpN0vb=gYeMp$yl4C^LozC z(2VE#d<8_I_aJt-I|@mVOVJ7-dW}a99ZCQp_NuA5&L~>3h!({B2@0>wTS8C(RK$4p zZKzBc`ubIQ4!ZdSb(f+kOUGW$P{@^1F}U_adXpbT!C^+Xx3*Skenaq8QJDoPeXd@1 zu1<$gfHS*tj2r(MYA2+pzXt=ve0Ig%!(%NZy6UV zY@z@F$pcVurXy|YW9%tuNdI_3(iXgY-*wko&~UI&ExVi5n=mBq4#%%={8z{c+$1Uv z9v;W`Waaj0i5(OF=J_mx#h+rgTYP>1st#@d8+cp?Wku<;Z!6yiy?>CtZP%afs%~4s z@85<|z7!Rg4y2_K79|{GH@`;&-Nmqv(Z;PfL55I$saXmHOIA{e-Kzr4H_&4QO04^* z;gKB986w2&z`tFxzPZT_Cp{yeIR6*WwKHL(UjW)`3ZNDC3y{t$1Yt7T%*u;~xI}9C z!+WraY3nNxKEv-_XqtU>Wu>#PCE7d7EN?vN?ra7Jq=NI!YPMiKRiGCfbaw+7)@SR7 zB81K^&d$d=>OfaSw3=Kdr2)O9c15&Xke-|m#!EH-;c1fkbCKwP`1p88^rGo*$FHMv zb1xzzBO@XJ#~Ze`wtlV|9~0wXzXr+o!FR(Q9UV0DS1m2aK}(zpjTIiY>leM*lRJ2X z;~eUO1MUety)|f|(Pw!|aVYA^lZ5O5h>u`4$=o181r!^lB#TBWfGC}Ywmj`h9KW7C zyHP5#SZZ+_472V9DIY+>&uuv`g5k}v8i9zl`3N-4`4q_NqqGP}lg9Iv?4t)$;?mje zdk=n%L0d_Hep!Ka1|L20=smDgWuCt;TlI>BMp8;kNwICKYyy3t{s zX|2==(n&Kj{Uu4KrAy%+k_=`Z&~FKZ9Cau!K=HfJSZpnydEq z+WF85l{OYo;s{vo>|)ZA4l?hE2M~hj_Zq7w_zjS2*G_i>J}o4l$W|?D{eFNY{?Z4az!sEPoZoWJ z-P%V?tgQKSvZs1?#|u=+4`_A-sb>r~fs>y=-CO3?2uXC6bKV4)3CfjCYR(m+{6GqU z!C%XnfUK?njl<3Z`dq=rUs-P9k3ah>ZTy>`UrRF?0V2#-1ZFr0?N^qhn+09{{Yd~3l_Jj!Zo@Oii@nxv zBqm;mhNH(9V6OVNu)R=k41HE+z|Uqnzw-lV&eC2d0esWVG3o+6+l&XHwQ8LK+RbI^J&TE%8&5VfxKWz; z6O=N`-S2xeH8p*A`+xw17V^)CPeBrtgqT=CPELg-dWBn>l!~cz@!cE&tRU9le78IG4ki7lMB5CZV+gWHJ)c-_IB*a&9Y7gzT<5hBHSHLoRD&kP;eX>6Ir=&FMn*u%eha1X}YuAl*UHP&c=47 z)cHqI&sAaR&f@FFtgP{{F4i_So12@^AX2gZvpK8`M4!EHtmYs|kY{F-+%EZA27a`9 z+|V4AmFzZDu@2!{B<2Ssv^F{5J^6Wtkgij|iL zE_^J=yx6&O7bfDFxCi^oH$W0-w1fzwifV#Fr2Mr7`5gV#ARGFcVnKw||q9I12 zplM^o0OSHWarTA$&sMFtPY`aC_2HwM0k$jh8#(GvB8V9cSdN()F0%Z+>-J4_YEje# zO3H*CX=-ZfX)9~j<03q2Rl3VvIw?{+mkG%iLp@j5y|>H^pWJ;puA0*92c0h9R{3NZ zpY7-}pI$RjPtKRGcu3I6v7IxY?l<2j!9bdNv_hH*hc$5sRb z$}y5wo2^pGmP_3FjPjld{Yh_5ro9luv7=EVlF zF~UEwyw4Qrt~&~7QPU21$r8roFn`DC_FpU@Rp}yiLzm%LI+_UKoi>fvm+70Iwv&E~Cr}6i`?X zI1Nbme@}z|{_{%$0AG(hq!*eM7!^NA3;au20($_T({xr76cluwbNY_@lAQne#()KC zZyW@F7~tbp3=T{*p4lREf*?@;{#k;?Ixyl0;*Yi&aduY7^&3A_IA;V=HQG@H`@TI0 zw^Oxmq?s3|brB4VD&a@_fV#Bi&+&}s;EihO(U^B9V3sT@dS<^n$t@y8%Lk9h5R-Q4 zr5DQHp9PoL>;(FgxwbIWbqL^NZyH!6dZH^$#H8KOvK=RjM$#kV{^1r0uMYl=!}aCl z{JQs3Wu|FK*jZp9l!Rh80uW#xYafvG{w$ZS?3=0kd(rohgBcE_p^K+y@Kz9{D21I_ zP}bdB?vaN^`>50gM#aQ39*Z#D7mYcoc)>s+)!}$-m^CRJy#PlQAqY%6qgEuROPe|t zZ$S=3L#-PyVa}Eg?o6GGsYWL;snX@?lWy}?h^GWBOb9Rs`h zIQM$!dw0y5`a9Xl?$=9Q{&qDR`;d?bhYZYa+K> zz1$Hd>q^jrKodrQB%3ROK5F$#? z(ebNA8i77&QtMs*aNa|8=lhRZt?f0xq-t+z)rDI=u19kBO={b z?77p8q%!X~oT^>)33CDC*n!&XWdk$c4yJz!VCza^oHKeJRGLRg(+|EyT7P2C;s5`#<-caTm1PRUs=JY8k6GI^JmzIfrFZ;E&CicrV6l$q-J}F9^{Hb>A$dRO9b@laj(nq~u`nf@juq;uSCzr}V$^{8N zKJsoP6SNbA-G2x3SBnSs5bc>NF)8Sv!?qbb#Eo8C@9FBxFr6Y29FNeql-= zda;=*tRLbiN9_b`jSz(-cQFx>$QpP`FWxmc_B8t#Gcz+}IR~T8{&OxwQPqochiJ2? z2G=);#Udm`@Bm@_y;Owqp(Wvly+^1*QlvkmUJxuLDi-+}&`SVbd?us~f=1x5fa%0F zqa*4y`T|pcE(ALMZqy_s>^;gz!F2TKQ93$~3`1BuJi|sykc^TfTGT*(FM`WNuhgZu zF7O@JvZx$CPJFUS%N+7Q_4N?(>Xo0sRT2Ow#LE+8QA_gn-Tw##88?2J8C*>Z~}i$9Qv-S=8z>!?J!lQhjOoC z_#yftI{#iLeqGJjcz*ED?GB+{mZZ+#+ug_Cj_&Wn$?>w|!A9gU*R9^3H;TVI6?#ee zC0l`f-3RCtqID@Sg^J<#*jEDl{A@k`<;P3Z9>Br@e&f*x_uw2n=IyQ$go6!20TnDb z9sKk7n{Z#gd@(mS?;C_Z8IS6i_Jhy$6~8bJ)E=Kmi2?%xR1O>7FMv^`pi6)oqG6=q zS@{0l8I-dM>W*P6J4lFLZpHVAsLaH`D2@kc!( z^#6KZsO*D#Wf*F>JLg(zBCixr>Hjob~u~@LDM9ndJ!7Oek;Y5gW*dKhIx5 zw;&Try20c?DFl?jJzIprFojth?AxP(CwDz#fn} z^{9Jz7{=m_hR|3G6(~C(=rzJiprHOpKCq|M|J(qbXQtRc6WIpYRRjrBD;Gld7Y({= zrdiMdlG>ajEb9u?Ji#b}!@@)vL!pUV5GoTl@jvn@O)qrkyfC;2xm~N4X!z>YP1JYB z^1<*>=Et9E@SFbVrHe`=(F2g> zeO(H2C8LSI;Hj=RJEBUAm%J6!rNC+^lZgJAWodNK374ReB4ID!-+2YEaKX!Ocuqp( z2CIgBkLt?=2iR;I_7CoXPH!*+D@R25RcHAOD?#?C@Pi$S{j(mV_#kVS`Ckr_VK;^e z5;XDzeY@lFqV({olyCUwG95+db4y()e|!ki1{hR+o#oI~_-?B6>&%~5CPiZqFw}ok zmpC;#55HOe%o6S?Dg-j-U_($%h7tlGRY4DmYS~Fk>kztZ;uPo=oUaJdkKi?2<487w zAVEhUgJNF0FGt$?BYg(y6=H-@YdVtokrY1>GFIqbM0)$osZ4`IMQbQkw$h*fNVSix_X8nC_?f8k$QN&2TCK?_hD)vCC>_bMt_oA)Dgs(nX zaXTu4;Lf3X5oi*1FVA_u!zh(O;ThkCEd(GKdI}h0{&{phwa7ph0_>+x%y1jXd-WPe z2$_}h_?%zLsi+|wPDZ&*J}-!E0dlPT{QON#2IWSet7!aDJ;2GVT-;|i^4dUN$RCLG zn-~baDbU4>e7$A1^}OdfaT^y_ZHUX zjxMHBXE`b`nF=T})-zA-l6iO{?4H6XB=P6(%C_KSn=6b+MEQwTAN7jR8y;KZo-t5u zp&)|S#cw~(!;jwRjC7G~(_)BUKtoU2?jT(F6Pow11n%etM^u`(oNddpqVBW*P(fhR zMYA!nu;fw_frdcywE3)r)i5H7e%PO5ES9&o@4#zz5{C!(QmA+iNB|nkeH7TFVDHUX z@q*mRMxr`;=Dcw9lWTe1NhUO0oSaIjmh{j{(+4m2mycqIRVxh`p|DDaG8)NFp?=Mm z@fQm)trvh@D~%VfH{7~p(F5hs)bP@V-W5s^T1^5w2;pSS*Z`_JmxxHAmM?@<&_)hI zDt9cp?)g|*j)$V(>|p^m@pBYy&PbDOa-_Gj6}|OKRGT2G;q*KV(4e(Rm&_V{GY$03 zuoHHWGJj}$;62m|MVo;nrfcDe&4yoq(+@jvNDf5-T%8s^N}_=_L|DS3rG;qs zLleYe=m#aFTBa|Z(p??!?e*n%AKzle?U%A_^Z7+m*2(RHIi!J}ALR}o_uGqXJ%F#E zAh@fxj|^@=DSFX#uxmIQFw#z#8{Xi$Nkn+6fN}-+50FRUHQE~*tQqn*Hc?(wP>7G} zuWbB`2^M0k2wqrQ+jjEBCN}I!S*BkdxSN@!(>`QSFuHR`sT=1j$45(UIsCNuZ3Vz&WUOK^*NtSESZD0Z~e<`nP|0 z9mz{`K+tD8U@^^Y$6+e zv+E}Uhzjgbmt9y!E?%BRqW+ zE>c2)@it!2jGy%7Mf;?D=bjM@d;g02dF1^ymQB?gDMx_`mT&~!S!TDOa^r@rZMw+N z)^f~Jw<2e6;1&gwceiai3mU4^V_DF+2yq}IC+}!qdd^G=j5XbS;rQI4M4EBH#<>Lz z_h85H3GZyByeU>GH+^0$TeCABPwO!JBT-rw0w+s@`pHi(0Cl86#80A%EdMoV zL1Kt4EXKL7I5hg$O^tScCWn$bdf5L6?l8VnQ9f-)O)E@G@O^J%7^eI2!n>B>hT^nQ z9gZym9A42uV5MgV7+Daz2X?avTZh2s6H#Xrn)d3+HCIQeju!|UJvb?VD9Yo1{Q`|u z%Rm;Bw~Q|zJ$kRi;d&4bVZz5QhVrlwn9{m1*@*({#uGUg4%1^VqGE!ybhPJPTXC{F zB|q|EdY5H?4uUHnY+7Pc(yT4llQSjDf;0<72M;4mkFvlY&KC&^j4~KVk;_Rm!7(6A z2hhZ%*&T>3Z>%ZAUrKjWQ@qd;_yKeR63ez_sh*NO2;x}j!vv_=FCToPgPlZ=#BfC3cKLze7o@Jtc*n>+uv3+!mXygh0 zB=RKdY2@12E*0+Xa~KAyOAP(FE+mErg`7)*S#Tyal=?5xxazeJoCxj)%CUjdzl;E! zm(M|{+Cbj@1Hi=JjM@Urtbk1n*o!pc;aQv>xK)6?9!13y{8>I{6iGExhWOp+{cy}% z86sq!oRH@IcYqU4{sX7he-{%7I)+U`^*EwBdKL$PQ9XPu1;Oe86_r!h=L#u3_EaK1 zP4r({U*W=mlmtM!I{{4oFGt}KCiso@7Y@eOhLAWxe`t9dD_W{ta@wa4t@WmG1iSr+4;F%RchmZKm@4;I9 zN0Ej5{<~13&;N`%z}dC7Xv(1X2wvajL!}9TbL@!04FCf{l*kD!o*=V<_gwOOdkxDd z4`iol#jd*@k_07!0uzRY(E9p*Qk%OC1cdlO^QZ-@)m*qmgW>&bPJ%muFIJ_cg{9MK za-kANsL+m}2+$7q#`#ix`>0EdUfRS^CK0uaW{jK@o`! zZtsX0Dg!u7p*aqGl~1fBAAdc;L_NW6?ZL(EA;*s46-icG*sC*)q26ADk#ru0iQ&`z z87bXnhyc<^(6;99=-Yv6o4o(yOagZ>Al8K>pr*p`sv+A7P@l|%{af?C4O8{Z+WB6P z({Pybg+?vTO8Bk93-N~0VTcGihg)sD`Q& za611g5yPkBoX|uC;z$)qh`NNF>xwBg0!YZ*C%=|Eonf?BvH%<(f?hcPFkVx~By%<4 z)@KY_aF;XSZ8fg?khxnxz9H3N7fPwrpyxk+8)QL2Mi-Tzz7dH=nG#7cYw8L&YX^|} zVBz@i3-=CCJ>?3>K=&-FkgTq`O0X31*Vh{-j?z;O??!5Af(@ z`wC~hESy(N=|)G7&^XGIRX?V(-JSO?K^>282Ctp)NG&s7KKq+kHyonx`5VwYu6k*- zkF@KS&gXDHn(T~X75cu6A9G_%2OJFzfRFxBB7Vg(h+2v;0+)}s#D61&is^{2 z)k4^N!1ytSVUc&ikvuVj0y}e0r^}%_0Gv;5qz%6t(~)o=_7GrlruHhTD;wSz<701d z#onB;OEgfK>yyY;gTw={3s39;?`j8?Tp9nT^h}J5eQBDkWt9z^yXpziL{)~?-))7*6{*|J-dyFQ+?I-$nVR(#e}F}Y_+@1*Tk zsOS_33z`xw^A&pVF0I9v`^T74qjQlw40W5th$r4vqR|WoEK!|wy7na7ipnTJ+{Trj zXV^^?!QuIkSY^FNK<7>;RC5sq)TA|r!+N7m71>+8FFZ8P}u1+S&P=BK650x9Ae zKY|CiK)X%fM?EUgrlkK-Q~xJ*`){iJf1mK*$pZhspUIKkujO)9N|#*iili! zDj=!TuTvt*)4S(Dj%eXXu0zq2pxh85`JgxYHjX)2x!lIi-7a5?@&(>zNiNeDU5w)7 zZ{%G(dNXjNR<^ml&Yv=pHl#MK5kaVWmE|tzHYauB+D~71>kuuuGhbb%W5K9$!*xmB zwRK83_OnFw&sJ%PwfLqLFW;#>$RTpPk5GUYyZ`+UfK&cIn~-{K(W5k0Q@7}KU0k|{ zhIp!Ub3>C@!Gou#Q|R2o$NeHwDKaL~_SDox4-XH_t?3U>FKSP2SljCW039!hMLzU(h;hlT3sn4a#?4^p2kjp@}!_Mw9 zrt52ezocIc`=wM}f8Qh*z9jthCi3!DC$(uOWTr8J(XNl>?7y@WMPJF$1-X0>MoBl&fb&no#+SCRIn#jerh%-k;sk=`8Oeeo|==A8g1({Q7 zfNLkXGt*?ueOKbvrDS^Ld$l7ILx`MDKK*&hoRj*I@+l?(7Mk%3U{+2v8Cx?ogb6Jk zvfm9m?Bq%5e&K5JLbDr8;Mi%k58s+vPYq~W+jal+X(Xq!1Jjyx(#a&te4g{|v(Enh zBZ4d|E6)I}A5o98=*ck2=V143;dV1T-$*==C%(e0VJZoz5hu z^z6H;b-iuftFy|*w6kh2x6nlpqjq&#sGYFUHFX|MWtQ~q$p5wYvh@bT9qP|E)J-DH z)2Ll{T8zA;QT8q1#VgO*jQp)IkBTv9-8wTp{g9p`bBb?gbjsH?e9sA*vE-?M~MhUazE|ov`1`7eitI+^j|TWM zW^ev=V~a>rXcqSB%v=tzfgM5S_8~a>Ro!@Ctg#2(Bj?}x8OXZRr4>Zc4?UiYwFTEN z#c!-YLD$_1aiC|S@Ra&o_u!!knVNkgbt`T|Z^z%qm{c9VGey@k^p?BJAS=_v<wPT0*)=hxD>s;64GXd~Hd7r_w^wZp6$b4v%RXDYST zKUJirTBBpmw!3kIYBzXuIcC?rEeC3g_Y=L2yIedUuKr?2xH<2T%f+?@Ru4t7?a6QI z`)53+-Wo@DO>k{TM@Q!xx>!wbry6*9c^zXcj*dQEtBB#{s{+#dIsLtzSZ{S`TXM67M<^3YscE`rgkjR?M&`mSfYAKUQ|>R8mivddKbDh z8he`WY^_^aO_-l>BqOTLH{HgxEZxc7>-_t2tJKd{l0o=@p)l}Ov~$@rt>bAcm%mq8 za1~2-y>T$DfBiL0KUsrEU#gq>Q+md$zVFv=eOg(hThr_8fU5GXa7ctG0FkwATF$S2pQDre|koRZd4h2b%tB-`!7QyAEfA19WLUYZK|wc`1H* zXY%q~k8fVmDfmLD$HHLwS`ureW1IQ;jW3njpP8VVTjJo%T47P`cx#>=` zXp(S*hUSs(=C_-4Vo?<2i2^Q9uJv>r>)93B$f_>i`RV(#Z{Ndtxj1Ti|MgmO&)hSZ8=ipkSD!4|8}bNyb~^!*O*0Op|ImM4;MH0_3MM@6QJ|Q zIM*f26$qvUqG8e0U%1b|9xkc&zVR;n>i+uT;`z0p5B|)OC34=ad#Jvwu~z9v`1CF% zpmP0K?oNsAmvx($x4M}<27b(D#Y*>xT`HSJ#8w_DXk%j4*fG?Ps-oIP)a06UXQ$2T z7so$uR+p{rRJF&wz&J*Zw4$P3-M^9)U1z z#0Aq;!*b( zhP}MXA9G*5viD|>Wy-$2r86w2w@`m(q57`vRARbFh0K1dnLK)_Gj74<>FxtC zSFCwgx~G2I_Z}s&+@@{2pbQBMg<-9$R}Y6uKa#j*y3v@Iy)|-QSR?+D^se+$UPf<6 zZ{g3fg}m)1d53drGmm#B;(C0RKlS?*aCG&*9B{iS=X$&v$9D7I=I%AklMiw2e%|W@P34lh^Z2 zHq?jz9^u_)OXlova78|MxuI|{earIqx}<{BZ;>myx}}fRF+BD4)&TU5Jhr5bfX;a* z8y>u35eA-2$bG14Iik~eIO5rFKnp!oho2W0Hu9^~dlrBc?nSfw(aogs?wD=*)7U#XroiW)P z&-*IBJ*gYnf*yQ}^Yhcw;`BpXiM|HavCjoqZ0v6<0umeYu1!pRI4v_h{r0#yo7{u% z_dz}%k8jPs&dki*57-9Tpdb35YxvyAaat5$L9XEw$p4T1) => { - try { - for (const k in ls) { - if (Object.prototype.hasOwnProperty.call(ls, k)) { - localStorage.setItem(k, ls[k]); - } - } - } catch {} - }, event.localStorage as Record); - } - - await page.reload(); - - await page.waitForLoadState("load"); - - // header has no further action - continue; - } - // wait the recorded delay before dispatching the event - const ms = Math.max(0, Math.round((event as any).delay ?? 0)); - if (ms > 0) { - await page.waitForTimeout(ms); - } - switch (event.type) { - case "mouse.move": - // Simulate mouse movement - if (event.x < 0 || event.x > width || event.y < 0 || event.y > height) { - break; - } - await page.mouse.move(event.x, event.y); - break; - case "mouse.down": - // Simulate mouse button down - await page.mouse.down({ button: event.button }); - break; - case "mouse.up": - // Simulate mouse button up - await page.mouse.up({ button: event.button }); - await expect(page).toHaveScreenshot({ maxDiffPixels: 100, mask }); - break; - case "keyboard.down": - // Simulate key down - await page.keyboard.down(event.key); - break; - case "keyboard.up": - // Simulate key up - await page.keyboard.up(event.key); - await expect(page).toHaveScreenshot({ - maxDiffPixels: 100, - mask, - }); - break; - } - } -}