From 4e03c84fbbc39a1c578b10eb663ab7c3df1e1d39 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 15 Apr 2022 20:30:10 +1000 Subject: [PATCH] Feature/default templates (#1334) --- .gitignore | 1 + v2/cmd/wails/internal/commands/dev/dev.go | 2 +- .../commands/initialise/initialise.go | 2 +- .../initialise/templates/base/README.md | 15 + .../initialise/templates/base/app.tmpl.go | 21 + .../initialise/templates/base/go.mod.tmpl | 7 + .../initialise/templates/base/main.tmpl.go | 30 + .../initialise/templates/base/template.json | 7 + .../initialise/templates/base/wails.tmpl.json | 12 + .../assets/common/frontend/dist/gitkeep | 0 .../common/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/common/frontend/src/style.css | 26 + .../common/frontend/wailsjs/go/main/App.d.ts | 4 + .../common/frontend/wailsjs/go/main/App.js | 7 + .../common/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/lit-ts/frontend/index.tmpl.html | 14 + .../assets/lit-ts/frontend/src/my-element.ts | 103 ++ .../assets/lit-ts/frontend/vite.config.ts | 4 + .../assets/lit/frontend/index.tmpl.html | 14 + .../lit/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/lit/frontend/src/my-element.js | 105 ++ .../assets/lit/frontend/src/style.css | 26 + .../assets/lit/frontend/vite.config.js | 4 + .../lit/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit/frontend/wailsjs/go/main/App.js | 7 + .../lit/frontend/wailsjs/runtime/ipcdev.js | 1 + .../lit/frontend/wailsjs/runtime/package.json | 24 + .../lit/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../lit/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/preact-ts/frontend/index.tmpl.html | 13 + .../assets/preact-ts/frontend/src/App.css | 59 + .../assets/preact-ts/frontend/src/app.tsx | 28 + .../assets/preact-ts/frontend/src/main.tsx | 5 + .../assets/preact/frontend/dist/gitkeep | 0 .../assets/preact/frontend/index.tmpl.html | 13 + .../assets/preact/frontend/src/App.css | 59 + .../assets/preact/frontend/src/app.jsx | 28 + .../preact/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/preact/frontend/src/main.jsx | 5 + .../assets/preact/frontend/src/style.css | 26 + .../preact/frontend/wailsjs/go/main/App.d.ts | 4 + .../preact/frontend/wailsjs/go/main/App.js | 7 + .../preact/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/react-ts/frontend/index.tmpl.html | 13 + .../assets/react-ts/frontend/src/App.css | 59 + .../assets/react-ts/frontend/src/App.tsx | 28 + .../assets/react-ts/frontend/src/main.tsx | 11 + .../assets/react/frontend/dist/gitkeep | 0 .../assets/react/frontend/index.tmpl.html | 13 + .../assets/react/frontend/src/App.css | 59 + .../assets/react/frontend/src/App.jsx | 28 + .../react/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/react/frontend/src/main.jsx | 11 + .../assets/react/frontend/src/style.css | 26 + .../react/frontend/wailsjs/go/main/App.d.ts | 4 + .../react/frontend/wailsjs/go/main/App.js | 7 + .../react/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../react/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/svelte-ts/frontend/index.tmpl.html | 13 + .../assets/svelte-ts/frontend/src/App.svelte | 79 ++ .../assets/svelte-ts/frontend/src/style.css | 26 + .../assets/svelte/frontend/index.tmpl.html | 13 + .../assets/svelte/frontend/src/App.svelte | 79 ++ .../assets/svelte/frontend/src/style.css | 26 + .../svelte/frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte/frontend/wailsjs/go/main/App.js | 7 + .../svelte/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 481 ++++++++ .../vanilla-ts/frontend/index.tmpl.html | 12 + .../assets/vanilla-ts/frontend/src/app.css | 54 + .../assets/vanilla-ts/frontend/src/main.ts | 49 + .../assets/vanilla/frontend/index.tmpl.html | 12 + .../assets/vanilla/frontend/src/app.css | 54 + .../assets/vanilla/frontend/src/main.js | 43 + .../assets/vue-ts/frontend/READ-THIS.md | 4 + .../assets/vue-ts/frontend/index.tmpl.html | 14 + .../assets/vue-ts/frontend/src/App.vue | 21 + .../frontend/src/components/HelloWorld.vue | 71 ++ .../assets/vue-ts/frontend/src/main.ts | 4 + .../assets/vue-ts/frontend/tsconfig.json | 29 + .../assets/vue/frontend/index.tmpl.html | 14 + .../generate/assets/vue/frontend/src/App.vue | 22 + .../vue/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../generate/assets/vue/frontend/src/main.js | 4 + .../assets/vue/frontend/src/style.css | 26 + .../assets/vue/frontend/vite.config.js | 7 + .../vue/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue/frontend/wailsjs/go/main/App.js | 7 + .../vue/frontend/wailsjs/runtime/ipcdev.js | 1 + .../vue/frontend/wailsjs/runtime/package.json | 24 + .../vue/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../vue/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../initialise/templates/generate/generate.go | 215 ++++ .../initialise/templates/generate/go.sum | 4 + .../initialise/templates/generate/s/s.go | 306 +++++ .../templates/templates/lit-ts/README.md | 15 + .../templates/templates/lit-ts/app.tmpl.go | 21 + .../{svelte => lit-ts}/frontend/.gitignore | 0 .../templates/lit-ts/frontend/dist/gitkeep | 0 .../templates/lit-ts/frontend/index.tmpl.html | 14 + .../templates/lit-ts/frontend/package.json | 25 + .../lit-ts/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../lit-ts/frontend/src/my-element.ts | 103 ++ .../templates/lit-ts/frontend/src/style.css | 26 + .../lit-ts/frontend/src/vite-env.d.ts | 1 + .../templates/lit-ts/frontend/tsconfig.json | 32 + .../lit-ts/frontend/tsconfig.node.json | 10 + .../templates/lit-ts/frontend/vite.config.ts | 4 + .../lit-ts/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit-ts/frontend/wailsjs/go/main/App.js | 7 + .../lit-ts/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/lit-ts/go.mod.tmpl | 7 + .../templates/templates/lit-ts/main.tmpl.go | 30 + .../templates/templates/lit-ts/template.json | 7 + .../templates/lit-ts/wails.tmpl.json | 12 + .../templates/templates/lit/README.md | 15 + .../templates/templates/lit/app.tmpl.go | 21 + .../templates/lit/frontend/.gitignore | 24 + .../templates/lit/frontend/dist/gitkeep | 0 .../templates/lit/frontend/index.tmpl.html | 14 + .../templates/lit/frontend/package.json | 22 + .../lit/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/lit/frontend/src/favicon.svg | 18 + .../templates/lit/frontend/src/my-element.js | 105 ++ .../templates/lit/frontend/src/style.css | 26 + .../templates/lit/frontend/vite.config.js | 4 + .../lit/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit/frontend/wailsjs/go/main/App.js | 7 + .../lit/frontend/wailsjs/runtime/ipcdev.js | 1 + .../lit/frontend/wailsjs/runtime/package.json | 24 + .../lit/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../lit/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/lit/go.mod.tmpl | 7 + .../templates/templates/lit/main.tmpl.go | 30 + .../templates/templates/lit/template.json | 7 + .../templates/templates/lit/wails.tmpl.json | 12 + .../templates/templates/preact-ts/README.md | 15 + .../templates/templates/preact-ts/app.tmpl.go | 21 + .../templates/preact-ts/frontend/dist/gitkeep | 0 .../preact-ts/frontend/index.tmpl.html | 13 + .../templates/preact-ts/frontend/package.json | 18 + .../templates/preact-ts/frontend/src/App.css | 59 + .../templates/preact-ts/frontend/src/app.tsx | 28 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/preact-ts/frontend/src/main.tsx | 5 + .../preact-ts/frontend/src/preact.d.ts | 0 .../preact-ts/frontend/src/style.css | 26 + .../preact-ts/frontend/src/vite-env.d.ts | 1 + .../preact-ts/frontend/tsconfig.json | 33 + .../preact-ts/frontend/tsconfig.node.json | 10 + .../preact-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../preact-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/preact-ts/go.mod.tmpl | 7 + .../templates/preact-ts/main.tmpl.go | 30 + .../templates/preact-ts/template.json | 7 + .../templates/preact-ts/wails.tmpl.json | 12 + .../templates/templates/preact/README.md | 15 + .../templates/templates/preact/app.tmpl.go | 21 + .../templates/preact/frontend/dist/gitkeep | 0 .../templates/preact/frontend/index.tmpl.html | 13 + .../templates/preact/frontend/package.json | 17 + .../templates/preact/frontend/src/App.css | 59 + .../templates/preact/frontend/src/app.jsx | 28 + .../preact/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/preact/frontend/src/main.jsx | 5 + .../templates/preact/frontend/src/style.css | 26 + .../templates/preact/frontend/vite.config.js | 7 + .../preact/frontend/wailsjs/go/main/App.d.ts | 4 + .../preact/frontend/wailsjs/go/main/App.js | 7 + .../preact/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/preact/go.mod.tmpl | 7 + .../templates/templates/preact/main.tmpl.go | 30 + .../templates/templates/preact/template.json | 7 + .../templates/preact/wails.tmpl.json | 12 + .../templates/templates/react-ts/README.md | 15 + .../templates/templates/react-ts/app.tmpl.go | 21 + .../templates/react-ts/frontend/dist/gitkeep | 0 .../react-ts/frontend/index.tmpl.html | 13 + .../templates/react-ts/frontend/package.json | 21 + .../templates/react-ts/frontend/src/App.css | 59 + .../templates/react-ts/frontend/src/App.tsx | 28 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/react-ts/frontend/src/main.tsx | 11 + .../templates/react-ts/frontend/src/style.css | 26 + .../react-ts/frontend/src/vite-env.d.ts | 1 + .../templates/react-ts/frontend/tsconfig.json | 31 + .../react-ts/frontend/tsconfig.node.json | 10 + .../react-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../react-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/react-ts/go.mod.tmpl | 7 + .../templates/templates/react-ts/main.tmpl.go | 30 + .../templates/react-ts/template.json | 7 + .../templates/react-ts/wails.tmpl.json | 12 + .../templates/templates/react/README.md | 15 + .../templates/templates/react/app.tmpl.go | 21 + .../templates/react/frontend/dist/gitkeep | 0 .../templates/react/frontend/index.tmpl.html | 13 + .../templates/react/frontend/package.json | 20 + .../templates/react/frontend/src/App.css | 59 + .../templates/react/frontend/src/App.jsx | 28 + .../react/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/react/frontend/src/main.jsx | 11 + .../templates/react/frontend/src/style.css | 26 + .../templates/react/frontend/vite.config.js | 7 + .../react/frontend/wailsjs/go/main/App.d.ts | 4 + .../react/frontend/wailsjs/go/main/App.js | 7 + .../react/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../react/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/react/go.mod.tmpl | 7 + .../templates/templates/react/main.tmpl.go | 30 + .../templates/templates/react/template.json | 7 + .../templates/templates/react/wails.tmpl.json | 12 + .../templates/templates/svelte-ts/README.md | 15 + .../templates/templates/svelte-ts/app.tmpl.go | 21 + .../frontend/.vscode/extensions.json | 5 + .../templates/svelte-ts/frontend/README.md | 64 ++ .../templates/svelte-ts/frontend/dist/gitkeep | 0 .../svelte-ts/frontend/index.tmpl.html | 13 + .../templates/svelte-ts/frontend/package.json | 22 + .../svelte-ts/frontend/src/App.svelte | 79 ++ .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/svelte-ts/frontend/src/main.ts | 7 + .../svelte-ts/frontend/src/style.css | 26 + .../svelte-ts/frontend/src/vite-env.d.ts | 2 + .../svelte-ts/frontend/svelte.config.js | 7 + .../svelte-ts/frontend/tsconfig.json | 30 + .../svelte-ts/frontend/tsconfig.node.json | 10 + .../svelte-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/svelte-ts/go.mod.tmpl | 7 + .../templates/svelte-ts/main.tmpl.go | 30 + .../templates/svelte-ts/template.json | 7 + .../templates/svelte-ts/wails.tmpl.json | 12 + .../templates/templates/svelte/README.md | 20 +- .../templates/templates/svelte/app.go | 44 - .../templates/templates/svelte/app.tmpl.go | 21 + .../templates/svelte/frontend/README.md | 4 +- .../templates/svelte/frontend/dist/gitkeep | 0 .../templates/svelte/frontend/dist/index.html | 1 - .../templates/svelte/frontend/index.tmpl.html | 24 +- .../svelte/frontend/package-lock.tmpl.json | 1016 ----------------- .../{package.tmpl.json => package.json} | 10 +- .../svelte/frontend/public/favicon.ico | Bin 1150 -> 0 bytes .../templates/svelte/frontend/src/App.svelte | 52 +- .../templates/svelte/frontend/src/global.css | 26 - .../templates/svelte/frontend/src/style.css | 26 + .../templates/svelte/frontend/vite.config.js | 15 +- .../svelte/frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte/frontend/wailsjs/go/main/App.js | 7 + .../svelte/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/svelte/gitignore.txt | 12 - .../templates/templates/svelte/go.mod.tmpl | 30 +- .../templates/templates/svelte/go.sum | 222 ---- .../templates/templates/svelte/main.tmpl.go | 63 +- .../svelte/scripts/build-macos-arm.sh | 9 - .../svelte/scripts/build-macos-intel.sh | 9 - .../templates/svelte/scripts/build-macos.sh | 9 - .../templates/svelte/scripts/build-windows.sh | 9 - .../templates/svelte/scripts/build.sh | 9 - .../svelte/scripts/install-wails-cli.sh | 14 - .../templates/templates/svelte/template.json | 10 +- .../templates/svelte/wails.tmpl.json | 2 - .../templates/templates/vanilla-ts/README.md | 15 + .../templates/vanilla-ts/app.tmpl.go | 21 + .../vanilla-ts/frontend/dist/gitkeep | 0 .../vanilla-ts/frontend/index.tmpl.html | 12 + .../vanilla-ts/frontend/package.json | 14 + .../templates/vanilla-ts/frontend/src/app.css | 54 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/vanilla-ts/frontend/src/main.ts | 49 + .../vanilla-ts/frontend/src/style.css | 26 + .../vanilla-ts/frontend/src/vite-env.d.ts | 1 + .../vanilla-ts/frontend/tsconfig.json | 24 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/vanilla-ts/go.mod.tmpl | 7 + .../templates/vanilla-ts/main.tmpl.go | 30 + .../templates/vanilla-ts/template.json | 7 + .../templates/vanilla-ts/wails.tmpl.json | 12 + .../templates/templates/vanilla/.gitignore | 12 - .../templates/templates/vanilla/README.md | 13 +- .../templates/templates/vanilla/app.go | 44 - .../templates/templates/vanilla/app.tmpl.go | 21 + .../templates/vanilla/frontend/dist/gitkeep | 0 .../vanilla/frontend/index.tmpl.html | 12 + .../templates/vanilla/frontend/package.json | 13 + .../templates/vanilla/frontend/src/app.css | 54 + .../vanilla/frontend/src/index.tmpl.html | 21 - .../templates/vanilla/frontend/src/main.css | 79 -- .../templates/vanilla/frontend/src/main.js | 57 +- .../templates/vanilla/frontend/src/style.css | 26 + .../vanilla/frontend/wailsjs/go/main/App.d.ts | 4 + .../vanilla/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vanilla/go.mod.tmpl | 30 +- .../templates/templates/vanilla/go.sum | 222 ---- .../templates/templates/vanilla/main.tmpl.go | 65 +- .../vanilla/scripts/build-macos-arm.sh | 9 - .../vanilla/scripts/build-macos-intel.sh | 9 - .../templates/vanilla/scripts/build-macos.sh | 9 - .../vanilla/scripts/build-windows.sh | 9 - .../templates/vanilla/scripts/build.sh | 9 - .../vanilla/scripts/install-wails-cli.sh | 14 - .../templates/templates/vanilla/template.json | 10 +- .../templates/vanilla/wails.tmpl.json | 5 +- .../templates/templates/vue-ts/README.md | 15 + .../templates/templates/vue-ts/app.tmpl.go | 21 + .../vue-ts/frontend/.vscode/extensions.json | 5 + .../templates/vue-ts/frontend/READ-THIS.md | 4 + .../templates/vue-ts/frontend/README.md | 24 + .../templates/vue-ts/frontend/dist/gitkeep | 0 .../templates/vue-ts/frontend/index.tmpl.html | 14 + .../templates/vue-ts/frontend/package.json | 19 + .../templates/vue-ts/frontend/src/App.vue | 21 + .../vue-ts/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../templates/vue-ts/frontend/src/env.d.ts | 8 + .../templates/vue-ts/frontend/src/main.ts | 4 + .../templates/vue-ts/frontend/src/style.css | 26 + .../templates/vue-ts/frontend/tsconfig.json | 29 + .../vue-ts/frontend/tsconfig.node.json | 10 + .../templates/vue-ts/frontend/vite.config.ts | 7 + .../vue-ts/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue-ts/frontend/wailsjs/go/main/App.js | 7 + .../vue-ts/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vue-ts/go.mod.tmpl | 7 + .../templates/templates/vue-ts/main.tmpl.go | 30 + .../templates/templates/vue-ts/template.json | 7 + .../templates/vue-ts/wails.tmpl.json | 12 + .../templates/templates/vue/README.md | 15 + .../templates/templates/vue/app.tmpl.go | 21 + .../vue/frontend/.vscode/extensions.json | 5 + .../templates/vue/frontend/README.md | 9 + .../templates/vue/frontend/dist/gitkeep | 0 .../templates/vue/frontend/index.tmpl.html | 14 + .../templates/vue/frontend/package.json | 17 + .../templates/vue/frontend/src/App.vue | 21 + .../vue/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../templates/vue/frontend/src/main.js | 4 + .../templates/vue/frontend/src/style.css | 26 + .../templates/vue/frontend/vite.config.js | 7 + .../vue/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue/frontend/wailsjs/go/main/App.js | 7 + .../vue/frontend/wailsjs/runtime/ipcdev.js | 1 + .../vue/frontend/wailsjs/runtime/package.json | 24 + .../vue/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../vue/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vue/go.mod.tmpl | 7 + .../templates/templates/vue/main.tmpl.go | 30 + .../templates/templates/vue/template.json | 7 + .../templates/templates/vue/wails.tmpl.json | 12 + v2/go.mod | 4 +- v2/go.sum | 9 +- .../frontend/desktop/windows/window.go | 2 + v2/pkg/commands/build/base.go | 2 +- website/docs/gettingstarted/development.mdx | 5 +- website/docs/gettingstarted/firstproject.mdx | 77 +- website/docs/introduction.mdx | 6 + .../static/img/wails-logo-horizontal-dark.svg | 37 +- website/static/img/wails-logo-horizontal.svg | 37 +- website/static/img/wails-logo-textless.svg | 35 +- 457 files changed, 17964 insertions(+), 2196 deletions(-) create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go rename v2/cmd/wails/internal/commands/initialise/templates/templates/{svelte => lit-ts}/frontend/.gitignore (100%) create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json rename v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/{package.tmpl.json => package.json} (66%) delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/global.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtimedev.js delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/gitignore.txt delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/go.sum delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos-arm.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos-intel.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-windows.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/install-wails-cli.sh create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json diff --git a/.gitignore b/.gitignore index 620386a67..32e4ec11e 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ v2/test/kitchensink/frontend/package.json.md5 !v2/internal/ffenestri/windows/x64/webview2.dll !v2/internal/ffenestri/windows/x64/WebView2Loader.dll .idea/ +v2/cmd/wails/internal/commands/initialise/templates/testtemplates/ diff --git a/v2/cmd/wails/internal/commands/dev/dev.go b/v2/cmd/wails/internal/commands/dev/dev.go index ee34d35e1..44825dbd7 100644 --- a/v2/cmd/wails/internal/commands/dev/dev.go +++ b/v2/cmd/wails/internal/commands/dev/dev.go @@ -132,7 +132,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error { } // Run go mod tidy to ensure we're up to date - err = runCommand(cwd, false, "go", "mod", "tidy") + err = runCommand(cwd, false, "go", "mod", "tidy", "-compat=1.17") if err != nil { return err } diff --git a/v2/cmd/wails/internal/commands/initialise/initialise.go b/v2/cmd/wails/internal/commands/initialise/initialise.go index 69606031d..54205e1d6 100644 --- a/v2/cmd/wails/internal/commands/initialise/initialise.go +++ b/v2/cmd/wails/internal/commands/initialise/initialise.go @@ -156,7 +156,7 @@ func initProject(options *templates.Options, quiet bool) error { } // Run `go mod tidy` to ensure `go.sum` is up to date - cmd := exec.Command("go", "mod", "tidy") + cmd := exec.Command("go", "mod", "tidy", "-compat=1.17") cmd.Dir = options.TargetDir cmd.Stderr = os.Stderr if !quiet { diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/README.md b/v2/cmd/wails/internal/commands/initialise/templates/base/README.md new file mode 100644 index 000000000..520cbe7e5 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails $NAME template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/template.json b/v2/cmd/wails/internal/commands/initialise/templates/base/template.json new file mode 100644 index 000000000..8ba8f2193 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/template.json @@ -0,0 +1,7 @@ +{ + "name": "$NAME", + "shortname": "$SHORTNAME", + "author": "Lea Anthony", + "description": "$DESCRIPTION", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..4110dc391 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts new file mode 100644 index 000000000..fc5ebbbed --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts @@ -0,0 +1,103 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; +import {customElement, property} from 'lit/decorators.js' + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +@customElement('my-element') +export class MyElement extends LitElement { + static styles = css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` +} + +@property() +resultText = "Please enter your name below 👇" + +greet() +{ + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); +} + +render() +{ + return html` +

+ +
${this.resultText}
+
+ + +
+
+ ` +} +} + +declare global { + interface HTMLElementTagNameMap { + 'my-element': MyElement + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts new file mode 100644 index 000000000..bbb7f5889 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html new file mode 100644 index 000000000..6d7e08c37 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js new file mode 100644 index 000000000..639bc9318 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js @@ -0,0 +1,105 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +export class MyElement extends LitElement { + static get styles() { + return css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` + } + + constructor() { + super() + this.resultText = "Please enter your name below 👇" + } + + static get properties() { + return { + resultText: {type: String}, + } + } + + greet() { + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); + } + + render() { + return html` +

+ +
${this.resultText}
+
+ + +
+
+ ` + } + +} + +window.customElements.define('my-element', MyElement) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js new file mode 100644 index 000000000..bbb7f5889 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..99162df7f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..0fb692c96 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx new file mode 100644 index 000000000..bffcb461c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props: any) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx new file mode 100644 index 000000000..05b147282 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')!); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html new file mode 100644 index 000000000..c8bfd4b76 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx new file mode 100644 index 000000000..a50cfd089 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx new file mode 100644 index 000000000..41787dabc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..a2023cac7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +

+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx new file mode 100644 index 000000000..7895c66cf --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx new file mode 100644 index 000000000..a6c27f6a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html new file mode 100644 index 000000000..80aa30b89 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx new file mode 100644 index 000000000..071423476 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx new file mode 100644 index 000000000..a6c27f6a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..e88b655ef --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +

+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte new file mode 100644 index 000000000..1987eb090 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html new file mode 100644 index 000000000..dd50e71ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte new file mode 100644 index 000000000..2a2ce2282 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..d229a1d4a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>W,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>c,LogTrace:()=>p,LogWarning:()=>f});function p(n){window.runtime.LogTrace(n)}function W(n){window.runtime.LogDebug(n)}function c(n){window.runtime.LogInfo(n)}function f(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function g(n,i){OnMultiple(n,i,1)}function S(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>M,WindowFullscreen:()=>v,WindowGetPosition:()=>B,WindowGetSize:()=>O,WindowHide:()=>F,WindowMaximise:()=>b,WindowMinimise:()=>C,WindowReload:()=>L,WindowSetMaxSize:()=>G,WindowSetMinSize:()=>R,WindowSetPosition:()=>T,WindowSetRGBA:()=>H,WindowSetSize:()=>U,WindowSetTitle:()=>E,WindowShow:()=>P,WindowToggleMaximise:()=>h,WindowUnfullscreen:()=>z,WindowUnmaximise:()=>A,WindowUnminimise:()=>D});function L(){window.runtime.WindowReload()}function M(){window.runtime.WindowCenter()}function E(n){window.runtime.WindowSetTitle(n)}function v(){window.runtime.WindowFullscreen()}function z(){window.runtime.WindowUnfullscreen()}function O(){window.runtime.WindowGetSize()}function U(n,i){window.runtime.WindowSetSize(n,i)}function G(n,i){window.runtime.WindowSetMaxSize(n,i)}function R(n,i){window.runtime.WindowSetMinSize(n,i)}function T(n,i){window.runtime.WindowSetPosition(n,i)}function B(){window.runtime.WindowGetPosition()}function F(){window.runtime.WindowHide()}function P(){window.runtime.WindowShow()}function b(){window.runtime.WindowMaximise()}function h(){window.runtime.WindowToggleMaximise()}function A(){window.runtime.WindowUnmaximise()}function C(){window.runtime.WindowMinimise()}function D(){window.runtime.WindowUnminimise()}function H(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>I});function I(n){window.runtime.BrowserOpenURL(n)}function Q(){window.runtime.Quit()}var j={...t,...w,...r,...u,Quit:Q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..3e18a2027 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,481 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke('WASDT'); + } + + function WindowSetLightTheme() { + window.WailsInvoke('WALT'); + } + + function WindowSetDarkTheme() { + window.WailsInvoke('WADT'); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + window.WailsInvoke("drag"); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbi8qKlxuICogUGxhY2UgdGhlIHdpbmRvdyBpbiB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dDZW50ZXIoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXYycpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIHdpbmRvdyB0aXRsZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZVxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0VGl0bGUodGl0bGUpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dUJyArIHRpdGxlKTtcbn1cblxuLyoqXG4gKiBNYWtlcyB0aGUgd2luZG93IGdvIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dGdWxsc2NyZWVuKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV0YnKTtcbn1cblxuLyoqXG4gKiBSZXZlcnRzIHRoZSB3aW5kb3cgZnJvbSBmdWxsc2NyZWVuXG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5mdWxsc2NyZWVuKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV2YnKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIFNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXczonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHJldHVybiB7UHJvbWlzZTx7dzogbnVtYmVyLCBoOiBudW1iZXJ9Pn0gVGhlIHNpemUgb2YgdGhlIHdpbmRvd1xuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dHZXRTaXplKCkge1xuICAgIHJldHVybiBDYWxsKFwiOndhaWxzOldpbmRvd0dldFNpemVcIik7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWF4U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXWjonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgbWluaW11bSBzaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0gd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldE1pblNpemUod2lkdGgsIGhlaWdodCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3o6JyArIHdpZHRoICsgJzonICsgaGVpZ2h0KTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0geFxuICogQHBhcmFtIHtudW1iZXJ9IHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFBvc2l0aW9uKHgsIHkpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dwOicgKyB4ICsgJzonICsgeSk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBQb3NpdGlvbiBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHJldHVybiB7UHJvbWlzZTx7eDogbnVtYmVyLCB5OiBudW1iZXJ9Pn0gVGhlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFBvc2l0aW9uKCkge1xuICAgIHJldHVybiBDYWxsKFwiOndhaWxzOldpbmRvd0dldFBvc1wiKTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dIaWRlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV0gnKTtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTaG93KCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1MnKTtcbn1cblxuLyoqXG4gKiBNYXhpbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93TWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXTScpO1xufVxuXG4vKipcbiAqIFRvZ2dsZSB0aGUgTWF4aW1pc2Ugb2YgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1RvZ2dsZU1heGltaXNlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3QnKTtcbn1cblxuLyoqXG4gKiBVbm1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbm1heGltaXNlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1UnKTtcbn1cblxuLyoqXG4gKiBNaW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93TWluaW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXbScpO1xufVxuXG4vKipcbiAqIFVubWluaW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWluaW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdScpO1xufVxuXG5cbi8qKlxuICogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBSIFJlZFxuICogQHBhcmFtIHtudW1iZXJ9IEcgR3JlZW5cbiAqIEBwYXJhbSB7bnVtYmVyfSBCIEJsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBBIEFscGhhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRSR0JBKFIsIEcsIEIsIEEpIHtcbiAgICBsZXQgcmdiYSA9IEpTT04uc3RyaW5naWZ5KHtyOlIgfHwgMCwgZzpHIHx8IDAsIGI6QiB8fCAwLCBhOkEgfHwgMjU1fSk7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXcjonICsgcmdiYSk7XG59XG5cbiIsICIvKipcbiAqIEBkZXNjcmlwdGlvbjogVXNlIHRoZSBzeXN0ZW0gZGVmYXVsdCBicm93c2VyIHRvIG9wZW4gdGhlIHVybFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBCcm93c2VyT3BlblVSTCh1cmwpIHtcbiAgd2luZG93LldhaWxzSW52b2tlKCdCTzonICsgdXJsKTtcbn0iLCAiLypcbiBfXHQgICBfX1x0ICBfIF9fXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXG5pbXBvcnQgKiBhcyBMb2cgZnJvbSAnLi9sb2cnO1xuaW1wb3J0IHtldmVudExpc3RlbmVycywgRXZlbnRzRW1pdCwgRXZlbnRzTm90aWZ5LCBFdmVudHNPZmYsIEV2ZW50c09uLCBFdmVudHNPbmNlLCBFdmVudHNPbk11bHRpcGxlfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQge0NhbGxiYWNrLCBjYWxsYmFja3N9IGZyb20gJy4vY2FsbHMnO1xuaW1wb3J0IHtTZXRCaW5kaW5nc30gZnJvbSBcIi4vYmluZGluZ3NcIjtcbmltcG9ydCAqIGFzIFdpbmRvdyBmcm9tIFwiLi93aW5kb3dcIjtcbmltcG9ydCAqIGFzIEJyb3dzZXIgZnJvbSBcIi4vYnJvd3NlclwiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBRdWl0KCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnUScpO1xufVxuXG4vLyBUaGUgSlMgcnVudGltZVxud2luZG93LnJ1bnRpbWUgPSB7XG4gICAgLi4uTG9nLFxuICAgIC4uLldpbmRvdyxcbiAgICAuLi5Ccm93c2VyLFxuICAgIEV2ZW50c09uLFxuICAgIEV2ZW50c09uY2UsXG4gICAgRXZlbnRzT25NdWx0aXBsZSxcbiAgICBFdmVudHNFbWl0LFxuICAgIEV2ZW50c09mZixcbiAgICBRdWl0XG59O1xuXG4vLyBJbnRlcm5hbCB3YWlscyBlbmRwb2ludHNcbndpbmRvdy53YWlscyA9IHtcbiAgICBDYWxsYmFjayxcbiAgICBFdmVudHNOb3RpZnksXG4gICAgU2V0QmluZGluZ3MsXG4gICAgZXZlbnRMaXN0ZW5lcnMsXG4gICAgY2FsbGJhY2tzLFxuICAgIGZsYWdzOiB7XG4gICAgICAgIGRpc2FibGVTY3JvbGxiYXJEcmFnOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZVdhaWxzRGVmYXVsdENvbnRleHRNZW51OiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUmVzaXplOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdEN1cnNvcjogbnVsbCxcbiAgICAgICAgYm9yZGVyVGhpY2tuZXNzOiA2XG4gICAgfVxufTtcblxuLy8gU2V0IHRoZSBiaW5kaW5nc1xud2luZG93LndhaWxzLlNldEJpbmRpbmdzKHdpbmRvdy53YWlsc2JpbmRpbmdzKTtcbmRlbGV0ZSB3aW5kb3cud2FpbHMuU2V0QmluZGluZ3M7XG5cbi8vIFRoaXMgaXMgZXZhbHVhdGVkIGF0IGJ1aWxkIHRpbWUgaW4gcGFja2FnZS5qc29uXG4vLyBjb25zdCBkZXYgPSAwO1xuLy8gY29uc3QgcHJvZHVjdGlvbiA9IDE7XG5pZiAoRU5WID09PSAwKSB7XG4gICAgZGVsZXRlIHdpbmRvdy53YWlsc2JpbmRpbmdzO1xufVxuXG4vLyBTZXR1cCBkcmFnIGhhbmRsZXJcbi8vIEJhc2VkIG9uIGNvZGUgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL3BhdHIwbnVzL0Rlc2tHYXBcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4ge1xuXG4gICAgLy8gQ2hlY2sgZm9yIHJlc2l6aW5nXG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlKSB7XG4gICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcInJlc2l6ZTpcIiArIHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIGRyYWdnaW5nXG4gICAgbGV0IGN1cnJlbnRFbGVtZW50ID0gZS50YXJnZXQ7XG4gICAgd2hpbGUgKGN1cnJlbnRFbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS13YWlscy1uby1kcmFnJykpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS13YWlscy1kcmFnJykpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGlzYWJsZVNjcm9sbGJhckRyYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGNoZWNrcyBmb3IgY2xpY2tzIG9uIHRoZSBzY3JvbGwgYmFyXG4gICAgICAgICAgICAgICAgaWYgKGUub2Zmc2V0WCA+IGUudGFyZ2V0LmNsaWVudFdpZHRoIHx8IGUub2Zmc2V0WSA+IGUudGFyZ2V0LmNsaWVudEhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuV2FpbHNJbnZva2UoXCJkcmFnXCIpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbn0pO1xuXG5mdW5jdGlvbiBzZXRSZXNpemUoY3Vyc29yKSB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSBjdXJzb3IgfHwgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3I7XG4gICAgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgPSBjdXJzb3I7XG59XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghd2luZG93LndhaWxzLmZsYWdzLmVuYWJsZVJlc2l6ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvciA9PSBudWxsKSB7XG4gICAgICAgIHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID0gZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I7XG4gICAgfVxuICAgIGlmICh3aW5kb3cub3V0ZXJXaWR0aCAtIGUuY2xpZW50WCA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3MgJiYgd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcykge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IFwic2UtcmVzaXplXCI7XG4gICAgfVxuICAgIGxldCByaWdodEJvcmRlciA9IHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgbGVmdEJvcmRlciA9IGUuY2xpZW50WCA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG4gICAgbGV0IHRvcEJvcmRlciA9IGUuY2xpZW50WSA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG4gICAgbGV0IGJvdHRvbUJvcmRlciA9IHdpbmRvdy5vdXRlckhlaWdodCAtIGUuY2xpZW50WSA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG5cbiAgICAvLyBJZiB3ZSBhcmVuJ3Qgb24gYW4gZWRnZSwgYnV0IHdlcmUsIHJlc2V0IHRoZSBjdXJzb3IgdG8gZGVmYXVsdFxuICAgIGlmICghbGVmdEJvcmRlciAmJiAhcmlnaHRCb3JkZXIgJiYgIXRvcEJvcmRlciAmJiAhYm90dG9tQm9yZGVyICYmIHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0UmVzaXplKCk7XG4gICAgfSBlbHNlIGlmIChyaWdodEJvcmRlciAmJiBib3R0b21Cb3JkZXIpIHNldFJlc2l6ZShcInNlLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic3ctcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgdG9wQm9yZGVyKSBzZXRSZXNpemUoXCJudy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAodG9wQm9yZGVyICYmIHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJuZS1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlcikgc2V0UmVzaXplKFwidy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAodG9wQm9yZGVyKSBzZXRSZXNpemUoXCJuLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChib3R0b21Cb3JkZXIpIHNldFJlc2l6ZShcInMtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJlLXJlc2l6ZVwiKTtcblxufSk7XG5cbi8vIFNldHVwIGNvbnRleHQgbWVudSBob29rXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGlzYWJsZVdhaWxzRGVmYXVsdENvbnRleHRNZW51KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG59KTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBLDBCQUF3QixPQUFPLFNBQVM7QUFJdkMsV0FBTyxZQUFZLE1BQU0sUUFBUTtBQUFBO0FBUzNCLG9CQUFrQixTQUFTO0FBQ2pDLG1CQUFlLEtBQUs7QUFBQTtBQVNk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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..3dd212f2d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css new file mode 100644 index 000000000..59d06f692 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts new file mode 100644 index 000000000..b68d7d961 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts @@ -0,0 +1,49 @@ +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +// Setup the greet function +window.greet = function () { + // Get name + let name = nameElement!.value; + + // Check if the input is empty + if (name === "") return; + + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement!.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { + console.error(err); + } +}; + +document.querySelector('#app')!.innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +(document.getElementById('logo') as HTMLImageElement).src = logo; + +let nameElement = (document.getElementById("name") as HTMLInputElement); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +declare global { + interface Window { + greet: () => void; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html new file mode 100644 index 000000000..859919153 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css new file mode 100644 index 000000000..59d06f692 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js new file mode 100644 index 000000000..4ad5a2cae --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js @@ -0,0 +1,43 @@ +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +document.querySelector('#app').innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +document.getElementById('logo').src = logo; + +let nameElement = document.getElementById("name"); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +// Setup the greet function +window.greet = function () { + // Get name + let name = nameElement.value; + + // Check if the input is empty + if (name === "") return; + + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { + console.error(err); + } +}; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md new file mode 100644 index 000000000..15b2483d9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md @@ -0,0 +1,4 @@ +This template uses a work around as the default template does not compile due to this issue: +https://github.com/vuejs/core/issues/1228 + +In `tsconfig.json`, `isolatedModules` is set to `false` rather than `true` to work around the issue. \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..5c0949b5e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue new file mode 100644 index 000000000..b63d187c5 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue new file mode 100644 index 000000000..3ab3df798 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts new file mode 100644 index 000000000..e57db5948 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json new file mode 100644 index 000000000..0b1aea976 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": false, + "esModuleInterop": true, + "lib": [ + "esnext", + "dom" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html new file mode 100644 index 000000000..b3d4289c3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue new file mode 100644 index 000000000..f42b9d826 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue new file mode 100644 index 000000000..29c023fbe --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js new file mode 100644 index 000000000..e57db5948 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js new file mode 100644 index 000000000..a30c338ed --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go b/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go new file mode 100644 index 000000000..e182b31a3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go @@ -0,0 +1,215 @@ +package main + +import ( + "embed" + "github.com/leaanthony/debme" + "github.com/leaanthony/gosod" + "github.com/wailsapp/wails/v2/cmd/wails/internal/commands/initialise/templates/generate/s" + "os" + "strings" +) + +//go:embed assets/common/* +var common embed.FS + +//go:embed assets/svelte/* +var svelte embed.FS + +//go:embed assets/svelte-ts/* +var sveltets embed.FS + +//go:embed assets/lit/* +var lit embed.FS + +//go:embed assets/lit-ts/* +var litts embed.FS + +//go:embed assets/vue/* +var vue embed.FS + +//go:embed assets/vue-ts/* +var vuets embed.FS + +//go:embed assets/react/* +var react embed.FS + +//go:embed assets/react-ts/* +var reactts embed.FS + +//go:embed assets/preact/* +var preact embed.FS + +//go:embed assets/preact-ts/* +var preactts embed.FS + +//go:embed assets/vanilla/* +var vanilla embed.FS + +//go:embed assets/vanilla-ts/* +var vanillats embed.FS + +func checkError(err error) { + if err != nil { + println("\nERROR:", err.Error()) + os.Exit(1) + } +} + +type template struct { + Name string + ShortName string + Description string + Assets embed.FS + FilesToDelete []string + DirsToDelete []string +} + +var templates = []*template{ + { + Name: "Svelte + Vite", + ShortName: "Svelte", + Description: "Svelte + Vite development server", + Assets: svelte, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore", "frontend/src/assets/svelte.png"}, + DirsToDelete: []string{"frontend/public", "frontend/src/lib"}, + }, + { + Name: "Svelte + Vite (Typescript)", + ShortName: "Svelte-TS", + Description: "Svelte + TS + Vite development server", + Assets: sveltets, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore", "frontend/src/assets/svelte.png"}, + DirsToDelete: []string{"frontend/public", "frontend/src/lib"}, + }, + { + Name: "Lit + Vite", + ShortName: "Lit", + Description: "Lit + Vite development server", + Assets: lit, + FilesToDelete: []string{"frontend/index.html", "frontend/vite.config.js"}, + }, + { + Name: "Lit + Vite (Typescript)", + ShortName: "Lit-TS", + Description: "Lit + TS + Vite development server", + Assets: litts, + FilesToDelete: []string{"frontend/index.html", "frontend/src/favicon.svg"}, + }, + { + Name: "Vue + Vite", + ShortName: "Vue", + Description: "Vue + Vite development server", + Assets: vue, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore"}, + DirsToDelete: []string{"frontend/src/assets", "frontend/src/components", "frontend/public"}, + }, + { + Name: "Vue + Vite (Typescript)", + ShortName: "Vue-TS", + Description: "Vue + Vite development server", + Assets: vuets, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore"}, + DirsToDelete: []string{"frontend/src/assets", "frontend/src/components", "frontend/public"}, + }, + { + Name: "React + Vite", + ShortName: "React", + Description: "React + Vite development server", + Assets: react, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.svg", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "React + Vite (Typescript)", + ShortName: "React-TS", + Description: "React + Vite development server", + Assets: reactts, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.svg", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Preact + Vite", + ShortName: "Preact", + Description: "Preact + Vite development server", + Assets: preact, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.jsx", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Preact + Vite (Typescript)", + ShortName: "Preact-TS", + Description: "Preact + Vite development server", + Assets: preactts, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.tsx", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Vanilla + Vite", + ShortName: "Vanilla", + Description: "Vanilla + Vite development server", + Assets: vanilla, + FilesToDelete: []string{"frontend/.gitignore", "frontend/index.html", "frontend/favicon.svg", "frontend/main.js", "frontend/style.css"}, + }, + { + Name: "Vanilla + Vite (Typescript)", + ShortName: "Vanilla-TS", + Description: "Vanilla + Vite development server", + Assets: vanillats, + FilesToDelete: []string{"frontend/.gitignore", "frontend/index.html", "frontend/favicon.svg", "frontend/src/main.ts", "frontend/src/style.css"}, + }, +} + +func main() { + + for _, t := range templates { + createTemplate(t) + } +} + +func createTemplate(template *template) { + cwd := s.CWD() + name := template.Name + shortName := strings.ToLower(template.ShortName) + assets, err := debme.FS(template.Assets, "assets/"+shortName) + checkError(err) + commonAssets, err := debme.FS(common, "assets/common") + checkError(err) + + s.CD("..") + s.ENDIR("templates") + s.CD("templates") + s.RMDIR(shortName) + s.COPYDIR("../base", shortName) + s.CD(shortName) + s.ECHO("Generating vite template: " + shortName) + s.EXEC("npm create vite@latest frontend --template " + shortName) + + // Clean up template + for _, fileToDelete := range template.FilesToDelete { + s.DELETE(fileToDelete) + } + for _, dirToDelete := range template.DirsToDelete { + s.RMDIR(dirToDelete) + } + s.REPLACEALL("README.md", s.Sub{"$NAME": template.ShortName}) + s.REPLACEALL("template.json", s.Sub{"$NAME": name, "$SHORTNAME": shortName, "$DESCRIPTION": template.Description}) + + // Add common files + g := gosod.New(commonAssets) + g.SetTemplateFilters([]string{}) + err = g.Extract(".", nil) + checkError(err) + + // Add custom files + g = gosod.New(assets) + g.SetTemplateFilters([]string{}) + err = g.Extract(".", nil) + checkError(err) + + //s.ECHO("HERE") + //s.EXEC("wails init -n " + shortName + "test -t ./" + shortName) + //s.ECHO("HERE") + //s.CD(shortName + "test") + //s.ECHO("HERE") + //s.REPLACEALL("go.mod", s.Sub{"// replace": "replace"}) + //s.ECHO("HERE") + //s.EXEC("wails build -debug") + //s.ECHO("HERE") + s.CD(cwd) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum b/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum new file mode 100644 index 000000000..69c3ba18a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum @@ -0,0 +1,4 @@ +github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= +github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA= +github.com/leaanthony/gosod v1.0.3 h1:Fnt+/B6NjQOVuCWOKYRREZnjGyvg+mEhd1nkkA04aTQ= +github.com/leaanthony/gosod v1.0.3/go.mod h1:BJ2J+oHsQIyIQpnLPjnqFGTMnOZXDbvWtRCSG7jGxs4= diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go b/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go new file mode 100644 index 000000000..b5dcb5097 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go @@ -0,0 +1,306 @@ +package s + +import ( + "crypto/md5" + "fmt" + "github.com/bitfield/script" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" +) + +var ( + Output io.Writer = io.Discard + IndentSize int + originalOutput io.Writer + currentIndent int +) + +func checkError(err error) { + if err != nil { + println("\nERROR:", err.Error()) + os.Exit(1) + } +} + +func mute() { + originalOutput = Output + Output = ioutil.Discard +} + +func unmute() { + Output = originalOutput +} + +func indent() { + currentIndent += IndentSize +} + +func unindent() { + currentIndent -= IndentSize +} + +func log(message string, args ...interface{}) { + indent := strings.Repeat(" ", currentIndent) + _, err := fmt.Fprintf(Output, indent+message+"\n", args...) + checkError(err) +} + +// RENAME a file or directory +func RENAME(source string, target string) { + log("RENAME %s -> %s", source, target) + err := os.Rename(source, target) + checkError(err) +} + +// DELETE a file. +func DELETE(filename string) { + log("DELETE %s", filename) + err := os.Remove(filepath.Join(CWD(), filename)) + checkError(err) +} + +func CD(dir string) { + err := os.Chdir(dir) + checkError(err) + log("CD %s [%s]", dir, CWD()) +} +func MKDIR(path string, mode ...os.FileMode) { + var perms os.FileMode + perms = 0755 + if len(mode) == 1 { + perms = mode[0] + } + log("MKDIR %s (perms: %v)", path, perms) + err := os.MkdirAll(path, perms) + checkError(err) +} + +// ENDIR ensures that the path gets created if it doesn't exist +func ENDIR(path string, mode ...os.FileMode) { + var perms os.FileMode + perms = 0755 + if len(mode) == 1 { + perms = mode[0] + } + _ = os.MkdirAll(path, perms) +} + +// COPYDIR recursively copies a directory tree, attempting to preserve permissions. +// Source directory must exist, destination directory must *not* exist. +// Symlinks are ignored and skipped. +// Credit: https://gist.github.com/r0l1/92462b38df26839a3ca324697c8cba04 +func COPYDIR(src string, dst string) { + log("COPYDIR %s -> %s", src, dst) + src = filepath.Clean(src) + dst = filepath.Clean(dst) + + si, err := os.Stat(src) + checkError(err) + if !si.IsDir() { + checkError(fmt.Errorf("source is not a directory")) + } + + _, err = os.Stat(dst) + if err != nil && !os.IsNotExist(err) { + checkError(err) + } + if err == nil { + checkError(fmt.Errorf("destination already exists")) + } + + indent() + MKDIR(dst) + + entries, err := os.ReadDir(src) + checkError(err) + + for _, entry := range entries { + srcPath := filepath.Join(src, entry.Name()) + dstPath := filepath.Join(dst, entry.Name()) + + if entry.IsDir() { + COPYDIR(srcPath, dstPath) + } else { + // Skip symlinks. + if entry.Type()&os.ModeSymlink != 0 { + continue + } + + COPY(srcPath, dstPath) + } + } + unindent() +} + +// COPY file from source to target +func COPY(source string, target string) { + src, err := os.Open(source) + checkError(err) + defer closefile(src) + d, err := os.Create(target) + checkError(err) + _, err = io.Copy(d, src) + checkError(err) +} + +func CWD() string { + result, err := os.Getwd() + checkError(err) + log("CWD [%s]", result) + return result +} + +func RMDIR(target string) { + log("RMDIR %s", target) + err := os.RemoveAll(target) + checkError(err) +} + +func RM(target string) { + log("RM %s", target) + err := os.Remove(target) + checkError(err) +} + +func ECHO(message string) { + println(message) +} + +func TOUCH(filepath string) { + log("TOUCH %s", filepath) + f, err := os.Create(filepath) + checkError(err) + closefile(f) +} + +func EXEC(command string) { + log("EXEC %s", command) + gen := script.Exec(command) + gen.Wait() + checkError(gen.Error()) +} + +// EXISTS - Returns true if the given path exists +func EXISTS(path string) bool { + _, err := os.Lstat(path) + log("EXISTS %s (%T)", path, err == nil) + return err == nil +} + +// ISDIR returns true if the given directory exists +func ISDIR(path string) bool { + fi, err := os.Lstat(path) + if err != nil { + return false + } + + return fi.Mode().IsDir() +} + +// ISDIREMPTY returns true if the given directory is empty +func ISDIREMPTY(dir string) bool { + + // CREDIT: https://stackoverflow.com/a/30708914/8325411 + f, err := os.Open(dir) + checkError(err) + defer closefile(f) + + _, err = f.Readdirnames(1) // Or f.Readdir(1) + if err == io.EOF { + return true + } + return false +} + +// ISFILE returns true if the given file exists +func ISFILE(path string) bool { + fi, err := os.Lstat(path) + if err != nil { + return false + } + + return fi.Mode().IsRegular() +} + +// SUBDIRS returns a list of subdirectories for the given directory +func SUBDIRS(rootDir string) []string { + var result []string + + // Iterate root dir + err := filepath.Walk(rootDir, func(path string, info os.FileInfo, err error) error { + checkError(err) + // If we have a directory, save it + if info.IsDir() { + result = append(result, path) + } + return nil + }) + checkError(err) + return result +} + +// SAVESTRING will create a file with the given string +func SAVESTRING(filename string, data string) { + log("SAVESTRING %s", filename) + mute() + SAVEBYTES(filename, []byte(data)) + unmute() +} + +// LOADSTRING returns the contents of the given filename as a string +func LOADSTRING(filename string) string { + log("LOADSTRING %s", filename) + mute() + data := LOADBYTES(filename) + unmute() + return string(data) +} + +// SAVEBYTES will create a file with the given string +func SAVEBYTES(filename string, data []byte) { + log("SAVEBYTES %s", filename) + err := os.WriteFile(filename, data, 0755) + checkError(err) +} + +// LOADBYTES returns the contents of the given filename as a string +func LOADBYTES(filename string) []byte { + log("LOADBYTES %s", filename) + data, err := os.ReadFile(filename) + checkError(err) + return data +} + +func closefile(f *os.File) { + err := f.Close() + checkError(err) +} + +// MD5FILE returns the md5sum of the given file +func MD5FILE(filename string) string { + f, err := os.Open(filename) + checkError(err) + defer closefile(f) + + h := md5.New() + _, err = io.Copy(h, f) + checkError(err) + + return fmt.Sprintf("%x", h.Sum(nil)) +} + +// Sub is the substitution type +type Sub map[string]string + +// REPLACEALL replaces all substitution keys with associated values in the given file +func REPLACEALL(filename string, substitutions Sub) { + log("REPLACEALL %s (%v)", filename, substitutions) + data := LOADSTRING(filename) + for old, newText := range substitutions { + data = strings.ReplaceAll(data, old, newText) + } + SAVESTRING(filename, data) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md new file mode 100644 index 000000000..6b7ae9fb0 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Lit-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/.gitignore similarity index 100% rename from v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/.gitignore rename to v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/.gitignore diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..4110dc391 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json new file mode 100644 index 000000000..4e27c9ee7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json @@ -0,0 +1,25 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "main": "dist/my-element.es.js", + "exports": { + ".": "./dist/my-element.es.js" + }, + "types": "types/my-element.d.ts", + "files": [ + "dist", + "types" + ], + "scripts": { + "dev": "vite", + "build": "tsc && vite build" + }, + "dependencies": { + "lit": "^2.0.2" + }, + "devDependencies": { + "vite": "^2.9.2", + "typescript": "^4.5.4" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts new file mode 100644 index 000000000..fc5ebbbed --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts @@ -0,0 +1,103 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; +import {customElement, property} from 'lit/decorators.js' + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +@customElement('my-element') +export class MyElement extends LitElement { + static styles = css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` +} + +@property() +resultText = "Please enter your name below 👇" + +greet() +{ + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); +} + +render() +{ + return html` +

+ +
${this.resultText}
+
+ + +
+
+ ` +} +} + +declare global { + interface HTMLElementTagNameMap { + 'my-element': MyElement + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json new file mode 100644 index 000000000..2c98da9ca --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "module": "esnext", + "lib": [ + "es2017", + "dom", + "dom.iterable" + ], + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "./types", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": false + }, + "include": [ + "src/**/*.ts" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json new file mode 100644 index 000000000..fe874096b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts new file mode 100644 index 000000000..bbb7f5889 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json new file mode 100644 index 000000000..7e9beabb7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Lit + Vite (Typescript)", + "shortname": "lit-ts", + "author": "Lea Anthony", + "description": "Lit + TS + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md new file mode 100644 index 000000000..282541b99 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Lit template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html new file mode 100644 index 000000000..6d7e08c37 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json new file mode 100644 index 000000000..9feac19d4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json @@ -0,0 +1,22 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "main": "dist/my-element.es.js", + "exports": { + ".": "./dist/my-element.es.js" + }, + "files": [ + "dist" + ], + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "dependencies": { + "lit": "^2.0.2" + }, + "devDependencies": { + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg new file mode 100644 index 000000000..5e7e66781 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js new file mode 100644 index 000000000..ed65e2225 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js @@ -0,0 +1,105 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +export class MyElement extends LitElement { + constructor() { + super() + this.resultText = "Please enter your name below 👇" + } + + static get styles() { + return css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` + } + + static get properties() { + return { + resultText: {type: String}, + } + } + + greet() { + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); + } + + render() { + return html` +

+ +
${this.resultText}
+
+ + +
+
+ ` + } + +} + +window.customElements.define('my-element', MyElement) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js new file mode 100644 index 000000000..bbb7f5889 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json new file mode 100644 index 000000000..168769e37 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json @@ -0,0 +1,7 @@ +{ + "name": "Lit + Vite", + "shortname": "lit", + "author": "Lea Anthony", + "description": "Lit + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md new file mode 100644 index 000000000..2841bc408 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Preact-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..0fb692c96 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json new file mode 100644 index 000000000..f54f6f95e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json @@ -0,0 +1,18 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "preact": "^10.5.15" + }, + "devDependencies": { + "@preact/preset-vite": "^2.1.5", + "typescript": "^4.5.4", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx new file mode 100644 index 000000000..bffcb461c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props: any) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx new file mode 100644 index 000000000..05b147282 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')!); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json new file mode 100644 index 000000000..56a96704c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": [ + "DOM", + "DOM.Iterable", + "ESNext" + ], + "allowJs": false, + "skipLibCheck": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "jsxFactory": "h", + "jsxFragmentFactory": "Fragment" + }, + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json new file mode 100644 index 000000000..fe874096b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts new file mode 100644 index 000000000..25845ba4b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import preact from '@preact/preset-vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [preact()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json new file mode 100644 index 000000000..b7b46a64c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Preact + Vite (Typescript)", + "shortname": "preact-ts", + "author": "Lea Anthony", + "description": "Preact + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md new file mode 100644 index 000000000..3d4e791d5 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Preact template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html new file mode 100644 index 000000000..c8bfd4b76 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +

+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json new file mode 100644 index 000000000..ee21d5c96 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json @@ -0,0 +1,17 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "preact": "^10.5.15" + }, + "devDependencies": { + "@preact/preset-vite": "^2.1.5", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx new file mode 100644 index 000000000..a50cfd089 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx new file mode 100644 index 000000000..41787dabc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js new file mode 100644 index 000000000..25845ba4b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import preact from '@preact/preset-vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [preact()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json new file mode 100644 index 000000000..034c37478 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json @@ -0,0 +1,7 @@ +{ + "name": "Preact + Vite", + "shortname": "preact", + "author": "Lea Anthony", + "description": "Preact + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md new file mode 100644 index 000000000..f6a89af92 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails React-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..a2023cac7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +

+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json new file mode 100644 index 000000000..431f9e460 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json @@ -0,0 +1,21 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@vitejs/plugin-react": "^1.3.0", + "typescript": "^4.6.3", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx new file mode 100644 index 000000000..7895c66cf --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx new file mode 100644 index 000000000..a6c27f6a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json new file mode 100644 index 000000000..5d012d315 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": [ + "DOM", + "DOM.Iterable", + "ESNext" + ], + "allowJs": false, + "skipLibCheck": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json new file mode 100644 index 000000000..fe874096b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts new file mode 100644 index 000000000..49550655a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json new file mode 100644 index 000000000..7e9753770 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "React + Vite (Typescript)", + "shortname": "react-ts", + "author": "Lea Anthony", + "description": "React + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md new file mode 100644 index 000000000..2bfc2a51e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails React template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html new file mode 100644 index 000000000..80aa30b89 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +

+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json new file mode 100644 index 000000000..dd9af35a9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json @@ -0,0 +1,20 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@vitejs/plugin-react": "^1.3.0", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css new file mode 100644 index 000000000..f949d9c18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx new file mode 100644 index 000000000..071423476 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx new file mode 100644 index 000000000..a6c27f6a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js new file mode 100644 index 000000000..49550655a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json new file mode 100644 index 000000000..eb6de08f3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json @@ -0,0 +1,7 @@ +{ + "name": "React + Vite", + "shortname": "react", + "author": "Lea Anthony", + "description": "React + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md new file mode 100644 index 000000000..84dfec0e2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Svelte-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json new file mode 100644 index 000000000..b869ef8e2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "svelte.svelte-vscode" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md new file mode 100644 index 000000000..e4ecb2286 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md @@ -0,0 +1,64 @@ +# Svelte + TS + Vite + +This template should help get you started developing with Svelte and TypeScript in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) ++ [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). + +## Need an official Svelte framework? + +Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its +serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, +and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more. + +## Technical considerations + +**Why use this over SvelteKit?** + +- It brings its own routing solution which might not be preferable for some users. +- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app. + `vite dev` and `vite build` wouldn't work in a SvelteKit environment, for example. + +This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account +the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the +other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte +project. + +Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been +structured similarly to SvelteKit so that it is easy to migrate. + +**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?** + +Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash +references keeps the default TypeScript setting of accepting type information from the entire workspace, while also +adding `svelte` and `vite/client` type information. + +**Why include `.vscode/extensions.json`?** + +Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to +install the recommended extension upon opening the project. + +**Why enable `allowJs` in the TS template?** + +While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of +JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: +not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing +JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant. + +**Why is HMR not preserving my local component state?** + +HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` +and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the +details [here](https://github.com/rixo/svelte-hmr#svelte-hmr). + +If you have state that's important to retain within a component, consider creating an external store which would not be +replaced by HMR. + +```ts +// store.ts +// An extremely simple external store +import { writable } from 'svelte/store' +export default writable(0) +``` diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html new file mode 100644 index 000000000..e88b655ef --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +

+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json new file mode 100644 index 000000000..125a0dcc1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json @@ -0,0 +1,22 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.json" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", + "@tsconfig/svelte": "^2.0.1", + "svelte": "^3.44.0", + "svelte-check": "^2.2.7", + "svelte-preprocess": "^4.9.8", + "tslib": "^2.3.1", + "typescript": "^4.5.4", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte new file mode 100644 index 000000000..1987eb090 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts new file mode 100644 index 000000000..d8200ac4f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts @@ -0,0 +1,7 @@ +import App from './App.svelte' + +const app = new App({ + target: document.getElementById('app') +}) + +export default app diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..4078e7476 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js new file mode 100644 index 000000000..3630bb396 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js @@ -0,0 +1,7 @@ +import sveltePreprocess from 'svelte-preprocess' + +export default { + // Consult https://github.com/sveltejs/svelte-preprocess + // for more information about preprocessors + preprocess: sveltePreprocess() +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json new file mode 100644 index 000000000..7d91f5a99 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "resolveJsonModule": true, + "baseUrl": ".", + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "isolatedModules": true + }, + "include": [ + "src/**/*.d.ts", + "src/**/*.ts", + "src/**/*.js", + "src/**/*.svelte" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json new file mode 100644 index 000000000..fe874096b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts new file mode 100644 index 000000000..d37616f9a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import {svelte} from '@sveltejs/vite-plugin-svelte' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [svelte()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json new file mode 100644 index 000000000..eec762bc6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Svelte + Vite (Typescript)", + "shortname": "svelte-ts", + "author": "Lea Anthony", + "description": "Svelte + TS + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md index b02b4aedc..d5d837937 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md @@ -2,24 +2,14 @@ ## About -This is a basic Svelte template, using rollup to bundle the assets into a single JS file. Rollup is configured to do the -following: - -- Convert imported images to base64 strings -- Convert `url()` in `@font-face` declarations to base64 strings -- Bundle all css into the JS bundle -- Copy `index.html` from `frontend/src/` to `frontend/dist/` - -Clicking the button will call the backend. - -You can configure the project by editing `wails.json`. More information about the project settings can be found -here: https://wails.io/docs/reference/project-config +This is the official Wails Svelte template. ## Live Development -To run in live development mode, run `wails dev` in the project directory. The frontend dev server will run -on http://localhost:34115. Open this in your browser to connect to your application. +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. ## Building -For a production build, use `wails build`. +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go deleted file mode 100644 index 224be7156..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "context" - "fmt" -) - -// App struct -type App struct { - ctx context.Context -} - -// NewApp creates a new App application struct -func NewApp() *App { - return &App{} -} - -// startup is called at application startup -func (a *App) startup(ctx context.Context) { - // Perform your setup here - a.ctx = ctx -} - -// domReady is called after front-end resources have been loaded -func (a App) domReady(ctx context.Context) { - // Add your action here -} - -// beforeClose is called when the application is about to quit, -// either by clicking the window close button or calling runtime.Quit. -// Returning true will cause the application to continue, false will continue shutdown as normal. -func (a *App) beforeClose(ctx context.Context) (prevent bool) { - return false -} - -// shutdown is called at application termination -func (a *App) shutdown(ctx context.Context) { - // Perform your teardown here -} - -// Greet returns a greeting for the given name -func (a *App) Greet(name string) string { - return fmt.Sprintf("Hello %s, It's show time!", name) -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md index e570eef56..13038462d 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md @@ -4,8 +4,8 @@ This template should help get you started developing with Svelte in Vite. ## Recommended IDE Setup - - [Goland](https://www.jetbrains.com/go/) + [Svelte](https://plugins.jetbrains.com/plugin/12375-svelte) - - [VSCode](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). +[VS Code](https://code.visualstudio.com/) ++ [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). ## Need an official Svelte framework? diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html deleted file mode 100644 index 58f98f0d1..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html index 4ebbd8a70..dd50e71ce 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html @@ -1,15 +1,13 @@ - - - - - - + + + + + {{.ProjectName}} - - - -

- - - \ No newline at end of file + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json deleted file mode 100644 index ff9f5a9cc..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json +++ /dev/null @@ -1,1016 +0,0 @@ -{ - "name": "{{.ProjectName}}", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "{{.ProjectName}}", - "version": "0.0.0", - "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", - "svelte": "^3.44.0", - "vite": "^2.8.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", - "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.39", - "resolved": "https://registry.npmmirror.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.39.tgz", - "integrity": "sha512-gnvvcAW2LK+KnUn8lKb2ypcXKwSp2K57mem5C4VNKfjxdRpM6+XwNavWwVf6otnDhz3qPYl/TKKW6/dRr6eeAw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^4.1.2", - "debug": "^4.3.3", - "kleur": "^4.1.4", - "magic-string": "^0.25.7", - "svelte-hmr": "^0.14.9" - }, - "engines": { - "node": "^14.13.1 || >= 16" - }, - "peerDependencies": { - "diff-match-patch": "^1.0.5", - "svelte": "^3.44.0", - "vite": "^2.7.0" - }, - "peerDependenciesMeta": { - "diff-match-patch": { - "optional": true - } - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/esbuild": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.25.tgz", - "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.25", - "esbuild-android-arm64": "0.14.25", - "esbuild-darwin-64": "0.14.25", - "esbuild-darwin-arm64": "0.14.25", - "esbuild-freebsd-64": "0.14.25", - "esbuild-freebsd-arm64": "0.14.25", - "esbuild-linux-32": "0.14.25", - "esbuild-linux-64": "0.14.25", - "esbuild-linux-arm": "0.14.25", - "esbuild-linux-arm64": "0.14.25", - "esbuild-linux-mips64le": "0.14.25", - "esbuild-linux-ppc64le": "0.14.25", - "esbuild-linux-riscv64": "0.14.25", - "esbuild-linux-s390x": "0.14.25", - "esbuild-netbsd-64": "0.14.25", - "esbuild-openbsd-64": "0.14.25", - "esbuild-sunos-64": "0.14.25", - "esbuild-windows-32": "0.14.25", - "esbuild-windows-64": "0.14.25", - "esbuild-windows-arm64": "0.14.25" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", - "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", - "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", - "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", - "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", - "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", - "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", - "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", - "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", - "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", - "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", - "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", - "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", - "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", - "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", - "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", - "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", - "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", - "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", - "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", - "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/postcss": { - "version": "8.4.7", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.7.tgz", - "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==", - "dev": true, - "dependencies": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - } - }, - "node_modules/rollup": { - "version": "2.69.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.69.1.tgz", - "integrity": "sha512-xaQKTomUVZBopk38EIshM/kOoPFkKWisgBV7Emy80coP9MOSLUDrba1jKZhqH0iS5DoGcRbbcuyl/BzblV8w5w==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/svelte": { - "version": "3.46.4", - "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.46.4.tgz", - "integrity": "sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/svelte-hmr": { - "version": "0.14.10", - "resolved": "https://registry.npmmirror.com/svelte-hmr/-/svelte-hmr-0.14.10.tgz", - "integrity": "sha512-VffsN0fT4cTJ7b4apf9VDIrgsbLFaJzPypcAuy4NcHx2PKKayfwLwabaYPWdHK5lJ/uQ/HBrkEsWHzo64NU6mQ==", - "dev": true, - "engines": { - "node": "^12.20 || ^14.13.1 || >= 16" - }, - "peerDependencies": { - "svelte": ">=3.19.0" - } - }, - "node_modules/vite": { - "version": "2.8.6", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.8.6.tgz", - "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", - "dev": true, - "dependencies": { - "esbuild": "^0.14.14", - "postcss": "^8.4.6", - "resolve": "^1.22.0", - "rollup": "^2.59.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": ">=12.2.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "less": "*", - "sass": "*", - "stylus": "*" - }, - "peerDependenciesMeta": { - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - } - } - } - }, - "dependencies": { - "@rollup/pluginutils": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", - "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, - "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - } - }, - "@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.39", - "resolved": "https://registry.npmmirror.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.39.tgz", - "integrity": "sha512-gnvvcAW2LK+KnUn8lKb2ypcXKwSp2K57mem5C4VNKfjxdRpM6+XwNavWwVf6otnDhz3qPYl/TKKW6/dRr6eeAw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^4.1.2", - "debug": "^4.3.3", - "kleur": "^4.1.4", - "magic-string": "^0.25.7", - "svelte-hmr": "^0.14.9" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "esbuild": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.25.tgz", - "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.25", - "esbuild-android-arm64": "0.14.25", - "esbuild-darwin-64": "0.14.25", - "esbuild-darwin-arm64": "0.14.25", - "esbuild-freebsd-64": "0.14.25", - "esbuild-freebsd-arm64": "0.14.25", - "esbuild-linux-32": "0.14.25", - "esbuild-linux-64": "0.14.25", - "esbuild-linux-arm": "0.14.25", - "esbuild-linux-arm64": "0.14.25", - "esbuild-linux-mips64le": "0.14.25", - "esbuild-linux-ppc64le": "0.14.25", - "esbuild-linux-riscv64": "0.14.25", - "esbuild-linux-s390x": "0.14.25", - "esbuild-netbsd-64": "0.14.25", - "esbuild-openbsd-64": "0.14.25", - "esbuild-sunos-64": "0.14.25", - "esbuild-windows-32": "0.14.25", - "esbuild-windows-64": "0.14.25", - "esbuild-windows-arm64": "0.14.25" - } - }, - "esbuild-android-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", - "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", - "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", - "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", - "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", - "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", - "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", - "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", - "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", - "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", - "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", - "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", - "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", - "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", - "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", - "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", - "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", - "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", - "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", - "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", - "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", - "dev": true, - "optional": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", - "dev": true - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "postcss": { - "version": "8.4.7", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.7.tgz", - "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==", - "dev": true, - "requires": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "rollup": { - "version": "2.69.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.69.1.tgz", - "integrity": "sha512-xaQKTomUVZBopk38EIshM/kOoPFkKWisgBV7Emy80coP9MOSLUDrba1jKZhqH0iS5DoGcRbbcuyl/BzblV8w5w==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svelte": { - "version": "3.46.4", - "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.46.4.tgz", - "integrity": "sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==", - "dev": true - }, - "svelte-hmr": { - "version": "0.14.10", - "resolved": "https://registry.npmmirror.com/svelte-hmr/-/svelte-hmr-0.14.10.tgz", - "integrity": "sha512-VffsN0fT4cTJ7b4apf9VDIrgsbLFaJzPypcAuy4NcHx2PKKayfwLwabaYPWdHK5lJ/uQ/HBrkEsWHzo64NU6mQ==", - "dev": true, - "requires": {} - }, - "vite": { - "version": "2.8.6", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.8.6.tgz", - "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", - "dev": true, - "requires": { - "esbuild": "^0.14.14", - "fsevents": "~2.3.2", - "postcss": "^8.4.6", - "resolve": "^1.22.0", - "rollup": "^2.59.0" - } - } - } -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json similarity index 66% rename from v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json rename to v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json index a300341e5..0baf72a1b 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json @@ -1,18 +1,16 @@ { - "name": "{{.ProjectName}}", + "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", - "build:watch": "vite build --watch", "preview": "vite preview" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", "svelte": "^3.44.0", - "vite": "^2.8.0" - }, - "author": "{{.AuthorName}}" -} + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico deleted file mode 100644 index d75d248ef0b15096a95054643a4d97f5d9b60846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmaKqSxA*Z7>4KMS_;~x;8i!JU{-`tpyx!I(n2NFMU)w2L{WiMS3#Lcp@vrpA*5Yp zSy6|`AkYfDD(e{`n8yX0pLf20X1@3RmKkGw`Vte3=0)aUq%ldx zm^49K+Hw0b#^`KboP)QXJOwbuVUFxlAs{RfqJ+twGylWfOp{Hc$s#253LlN1nsFVc zKa>40?h5(7PTC6ltDx)(Y&Ze2xggCq(kK? zTA`;gAfKD!+uFjpxc_A3+Ma(L28W=z4Gvs@r*ECk`;c45=S#;=oA|abt`f&j5&uJO z3Dn+&^gZ%h4JidsaTR{{!_Y8PUx(-%PosPy2gi@qIvBMMYz;e3L1{f~mrd9RdB>pZ zD}4R|sk_C`;=cT&r)c=8u>7h9)u32*SbL`xiq3(pq5C^5-sSOw;<|fv@nfXfl&U`2 z81K5ExDp;bf#DISW%IY%k&2-noShOoz-;kb(u?5RFX-ro?87j3GZdCXrFc8bTx}jd zz_n@djWnxc*TbbCjEq80FPyG}1zQwvjq7R6ZSWuQ@_#A*LN5n<3$BI?X}q%iD!B-s zdSFcNp!EgpJr6CAK?klug4>=)Tv z+F#{yt>6EK)3NU=L&y_W3UNaC?Tg=6YE0)^V;(0Mb0$WJ7>7@Lg0~+3x9d)!Pd - let name = ""; + import logo from './assets/images/logo-universal.png' + import {Greet} from '../wailsjs/go/main/App.js' - let greeting = "Please enter your name below 👇"; + let resultText = "Please enter your name below 👇" + let name function greet() { - // Check if the input is empty - if (name === "") return; - - // Call App.Greet(name) - try { - window.go.main.App.Greet(name) - .then((result) => { - // Update result with data back from App.Greet() - greeting = result; - }) - .catch((err) => { - console.error(err); - }); - } catch (err) { - console.error(err); - } + Greet(name).then(result => resultText = result) } - +`; +(document.getElementById('logo') as HTMLImageElement).src = logo; + +let nameElement = (document.getElementById("name") as HTMLInputElement); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +declare global { + interface Window { + greet: () => void; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json new file mode 100644 index 000000000..3865e3cb9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": [ + "ESNext", + "DOM" + ], + "moduleResolution": "Node", + "strict": true, + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "noEmit": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true + }, + "include": [ + "src" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json new file mode 100644 index 000000000..5aed52c89 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vanilla + Vite (Typescript)", + "shortname": "vanilla-ts", + "author": "Lea Anthony", + "description": "Vanilla + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore deleted file mode 100644 index b92a6f8bf..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# Wails bin directory -build/bin -# Wails Windows NSIS support files -build/windows/installer/wails_tools.nsh -build/windows/installer/tmp/ - -# IDEs -.idea -.vscode - -# The black hole that is... -node_modules diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md index a7a3c1a22..e3470d506 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md @@ -2,17 +2,14 @@ ## About -This template uses vanilla JS / HTML and CSS. - -You can configure the project by editing `wails.json`. More information about the project settings can be found -here: https://wails.io/docs/reference/project-config +This is the official Wails Vanilla template. ## Live Development -To run in live development mode, run `wails dev` in the project directory. The frontend dev server will run -on http://localhost:34115. Open this in your browser to connect to your application. +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. ## Building -For a production build, use `wails build`. - +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go deleted file mode 100644 index 224be7156..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "context" - "fmt" -) - -// App struct -type App struct { - ctx context.Context -} - -// NewApp creates a new App application struct -func NewApp() *App { - return &App{} -} - -// startup is called at application startup -func (a *App) startup(ctx context.Context) { - // Perform your setup here - a.ctx = ctx -} - -// domReady is called after front-end resources have been loaded -func (a App) domReady(ctx context.Context) { - // Add your action here -} - -// beforeClose is called when the application is about to quit, -// either by clicking the window close button or calling runtime.Quit. -// Returning true will cause the application to continue, false will continue shutdown as normal. -func (a *App) beforeClose(ctx context.Context) (prevent bool) { - return false -} - -// shutdown is called at application termination -func (a *App) shutdown(ctx context.Context) { - // Perform your teardown here -} - -// Greet returns a greeting for the given name -func (a *App) Greet(name string) string { - return fmt.Sprintf("Hello %s, It's show time!", name) -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html new file mode 100644 index 000000000..859919153 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json new file mode 100644 index 000000000..796b1b31c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json @@ -0,0 +1,13 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css new file mode 100644 index 000000000..59d06f692 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html deleted file mode 100644 index e30af2f4b..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - {{.ProjectName}} - - - - -
- -
Please enter your name below 👇
-
- - -
-
- - - diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css deleted file mode 100644 index f35a69f99..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css +++ /dev/null @@ -1,79 +0,0 @@ -html { - background-color: rgba(27, 38, 54, 1); - text-align: center; - color: white; -} - -body { - margin: 0; - color: white; - font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", - "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; -} - -@font-face { - font-family: "Nunito"; - font-style: normal; - font-weight: 400; - src: local(""), - url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); -} - -#app { - height: 100vh; - text-align: center; -} - -.logo { - display: block; - width: 50%; - height: 50%; - margin: auto; - padding: 10% 0 0; - background-position: center; - background-repeat: no-repeat; - background-image: url("./assets/images/logo-universal.png"); - background-size: 100% 100%; - background-origin: content-box; -} -.result { - height: 20px; - line-height: 20px; - margin: 1.5rem auto; -} -.input-box .btn { - width: 60px; - height: 30px; - line-height: 30px; - border-radius: 3px; - border: none; - margin: 0 0 0 20px; - padding: 0 8px; - cursor: pointer; -} -.input-box .btn:hover { - background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); - color: #333333; -} - -.input-box .input { - border: none; - border-radius: 3px; - outline: none; - height: 30px; - line-height: 30px; - padding: 0 10px; - background-color: rgba(240, 240, 240, 1); - -webkit-font-smoothing: antialiased; -} - -.input-box .input:hover { - border: none; - background-color: rgba(255, 255, 255, 1); -} - -.input-box .input:focus { - border: none; - background-color: rgba(255, 255, 255, 1); -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js index 98510cd39..4ad5a2cae 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js @@ -1,32 +1,43 @@ -// Get input + focus +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +document.querySelector('#app').innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +document.getElementById('logo').src = logo; + let nameElement = document.getElementById("name"); nameElement.focus(); +let resultElement = document.getElementById("result"); // Setup the greet function window.greet = function () { - // Get name - let name = nameElement.value; + // Get name + let name = nameElement.value; - // Check if the input is empty - if (name === "") return; + // Check if the input is empty + if (name === "") return; - // Call App.Greet(name) - try { - window.go.main.App.Greet(name) - .then((result) => { - // Update result with data back from App.Greet() - document.getElementById("result").innerText = result; - }) - .catch((err) => { + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { console.error(err); - }); - } catch (err) { - console.error(err); - } -}; - -nameElement.onkeydown = function (e) { - if (e.keyCode == 13) { - window.greet(); - } + } }; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl index d3e1921a2..52759e114 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl @@ -4,32 +4,4 @@ go 1.17 require github.com/wailsapp/wails/v2 {{.WailsVersion}} -require ( -github.com/andybalholm/brotli v1.0.2 // indirect -github.com/davecgh/go-spew v1.1.1 // indirect -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab // indirect -github.com/wailsapp/mimetype v1.4.1-beta.1 -github.com/go-ole/go-ole v1.2.5 // indirect -github.com/gofiber/fiber/v2 v2.17.0 // indirect -github.com/gofiber/websocket/v2 v2.0.8 // indirect -github.com/google/uuid v1.1.2 // indirect -github.com/imdario/mergo v0.3.12 // indirect -github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5 // indirect -github.com/klauspost/compress v1.12.2 // indirect -github.com/leaanthony/debme v1.2.1 // indirect -github.com/leaanthony/go-ansi-parser v1.0.1 // indirect -github.com/leaanthony/go-common-file-dialog v1.0.3 // indirect -github.com/leaanthony/slicer v1.5.0 // indirect -github.com/leaanthony/typescriptify-golang-structs v0.1.7 // indirect -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 // indirect -github.com/pkg/errors v0.9.1 // indirect -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f // indirect -github.com/tkrajina/go-reflector v0.5.5 // indirect -github.com/valyala/bytebufferpool v1.0.0 // indirect -github.com/valyala/fasthttp v1.28.0 // indirect -github.com/valyala/tcplisten v1.0.0 // indirect -golang.org/x/net v0.0.0-20210510120150-4163338589ed // indirect -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf // indirect -) - -// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum deleted file mode 100644 index 4ba840926..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum +++ /dev/null @@ -1,222 +0,0 @@ -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/andybalholm/brotli v1.0.2 h1:JKnhI/XQ75uFBTiuzXpzFrUriDPiZjlOSzh6wXogP0E= -github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab h1:9e2joQGp642wHGFP5m86SDptAavrdGBe8/x9DGEEAaI= -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab/go.mod h1:smsv/h4PBEBaU0XDTY5UwJTpZv69fQ0FfcLJr21mA6Y= -github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/flytam/filenamify v1.0.0/go.mod h1:Dzf9kVycwcsBlr2ATg6uxjqiFgKGH+5SKFuhdeP5zu8= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/wailsapp/mimetype v1.4.1-beta.1 h1:gSnKX7WH+7aA0EEjOGUmpWXTb0Nt5B7/8Dm9wHLrnnY= -github.com/wailsapp/mimetype v1.4.1-beta.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= -github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= -github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= -github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY= -github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/gofiber/fiber/v2 v2.17.0 h1:qP3PkGUbBB0i9iQh5E057XI1yO5CZigUxZhyUFYAFoM= -github.com/gofiber/fiber/v2 v2.17.0/go.mod h1:iftruuHGkRYGEXVISmdD7HTYWyfS2Bh+Dkfq4n/1Owg= -github.com/gofiber/websocket/v2 v2.0.8 h1:Hb4y6IxYZVMO0segROODXJiXVgVD3a6i7wnfot8kM6k= -github.com/gofiber/websocket/v2 v2.0.8/go.mod h1:fv8HSGQX09sauNv9g5Xq8GeGAaahLFYQKKb4ZdT0x2w= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/jackmordaunt/icns v1.0.0/go.mod h1:7TTQVEuGzVVfOPPlLNHJIkzA6CoV7aH1Dv9dW351oOo= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= -github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck= -github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.2 h1:2KCfW3I9M7nSc5wOqXAlW2v2U6v+w6cbjvbfp+OykW8= -github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leaanthony/clir v1.0.4/go.mod h1:k/RBkdkFl18xkkACMCLt09bhiZnrGORoxmomeMvDpE0= -github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= -github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA= -github.com/leaanthony/go-ansi-parser v1.0.1 h1:97v6c5kYppVsbScf4r/VZdXyQ21KQIfeQOk2DgKxGG4= -github.com/leaanthony/go-ansi-parser v1.0.1/go.mod h1:7arTzgVI47srICYhvgUV4CGd063sGEeoSlych5yeSPM= -github.com/leaanthony/go-common-file-dialog v1.0.3 h1:O0uGjKnWtdEADGrkg+TyAAbZylykMwwx/MNEXn9fp+Y= -github.com/leaanthony/go-common-file-dialog v1.0.3/go.mod h1:TGhEc9eSJgRsupZ+iH1ZgAOnEo9zp05cRH2j08RPrF0= -github.com/leaanthony/gosod v1.0.3/go.mod h1:BJ2J+oHsQIyIQpnLPjnqFGTMnOZXDbvWtRCSG7jGxs4= -github.com/leaanthony/idgen v1.0.0/go.mod h1:4nBZnt8ml/f/ic/EVQuLxuj817RccT2fyrUaZFxrcVA= -github.com/leaanthony/slicer v1.5.0 h1:aHYTN8xbCCLxJmkNKiLB6tgcMARl4eWmH9/F+S/0HtY= -github.com/leaanthony/slicer v1.5.0/go.mod h1:FwrApmf8gOrpzEWM2J/9Lh79tyq8KTX5AzRtwV7m4AY= -github.com/leaanthony/typescriptify-golang-structs v0.1.7 h1:yoznzWzyxkO/iWdlpq+aPcuJ5Y/hpjq/lmgMFmpjwl0= -github.com/leaanthony/typescriptify-golang-structs v0.1.7/go.mod h1:cWtOkiVhMF77e6phAXUcfNwYmMwCJ67Sij24lfvi9Js= -github.com/leaanthony/winicon v1.0.0/go.mod h1:en5xhijl92aphrJdmRPlh4NI1L6wq3gEm0LpXAPghjU= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= -github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 h1:acNfDZXmm28D2Yg/c3ALnZStzNaZMSagpbr96vY6Zjc= -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f h1:PgA+Olipyj258EIEYnpFFONrrCcAIWNUNoFhUfMqAGY= -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f/go.mod h1:lHhJedqxCoHN+zMtwGNTXWmF0u9Jt363FYRhV6g0CdY= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/tc-hib/winres v0.1.5/go.mod h1:pe6dOR40VOrGz8PkzreVKNvEKnlE8t4yR8A8naL+t7A= -github.com/tdewolff/minify v2.3.6+incompatible/go.mod h1:9Ov578KJUmAWpS6NeZwRZyT56Uf6o3Mcz9CEsg8USYs= -github.com/tdewolff/parse v2.3.4+incompatible/go.mod h1:8oBwCsVmUkgHO8M5iCzSIDtpzXOT0WXX9cWhz+bIzJQ= -github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= -github.com/tidwall/gjson v1.8.0/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.7/go.mod h1:w/yG+ezBeTdUxiKs5NcPicO9diP38nk96QBAbIIGeFs= -github.com/tkrajina/go-reflector v0.5.5 h1:gwoQFNye30Kk7NrExj8zm3zFtrGPqOkzFMLuQZg1DtQ= -github.com/tkrajina/go-reflector v0.5.5/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.9.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasthttp v1.26.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= -github.com/valyala/fasthttp v1.28.0 h1:ruVmTmZaBR5i67NqnjvvH5gEv0zwHfWtbjoyW98iho4= -github.com/valyala/fasthttp v1.28.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= -github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/wailsapp/wails/v2 v2.0.0-beta.3 h1:8vhBbnjpYDF6cCUwKadon7J/98UjcP1nrnptUl70Tfg= -github.com/wailsapp/wails/v2 v2.0.0-beta.3/go.mod h1:aku28riyHF2G5jmx/qtxjLWi7VwpTjhhX/HVLCptWFA= -github.com/wzshiming/ctc v1.2.3/go.mod h1:2tVAtIY7SUyraSk0JxvwmONNPFL4ARavPuEsg5+KA28= -github.com/wzshiming/winseq v0.0.0-20200112104235-db357dc107ae/go.mod h1:VTAq37rkGeV+WOybvZwjXiJOicICdpLCN8ifpISjK20= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xyproto/xpm v1.2.1/go.mod h1:cMnesLsD0PBXLgjDfTDEaKr8XyTFsnP1QycSqRw7BiY= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/ztrue/tracerr v0.3.0/go.mod h1:qEalzze4VN9O8tnhBXScfCrmoJo10o8TN5ciKjm6Mww= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210510120150-4163338589ed h1:p9UgmWI9wKpfYmgaV/IZKGdXc5qEK45tDwwwDyjS26I= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210611083646-a4fc73990273/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go index ada40a9c8..69de41d5d 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go @@ -2,82 +2,29 @@ package main import ( "embed" - "log" - - "github.com/wailsapp/wails/v2/pkg/options/mac" - "github.com/wailsapp/wails/v2" - "github.com/wailsapp/wails/v2/pkg/logger" "github.com/wailsapp/wails/v2/pkg/options" - "github.com/wailsapp/wails/v2/pkg/options/windows" ) -//go:embed frontend/src +//go:embed frontend/dist var assets embed.FS -//go:embed build/appicon.png -var icon []byte - func main() { // Create an instance of the app structure app := NewApp() // Create application with options err := wails.Run(&options.App{ - Title: "{{.ProjectName}}", - Width: 1024, - Height: 768, - MinWidth: 1024, - MinHeight: 768, - MaxWidth: 1280, - MaxHeight: 800, - DisableResize: false, - Fullscreen: false, - Frameless: false, - StartHidden: false, - HideWindowOnClose: false, - RGBA: &options.RGBA{R: 255, G: 255, B: 255, A: 255}, - Assets: assets, - Menu: nil, - Logger: nil, - LogLevel: logger.DEBUG, - OnStartup: app.startup, - OnDomReady: app.domReady, - OnBeforeClose: app.beforeClose, - OnShutdown: app.shutdown, - WindowStartState: options.Normal, + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, Bind: []interface{}{ app, }, - // Windows platform specific options - Windows: &windows.Options{ - WebviewIsTransparent: false, - WindowIsTranslucent: false, - DisableWindowIcon: false, - // DisableFramelessWindowDecorations: false, - WebviewUserDataPath: "", - }, - Mac: &mac.Options{ - TitleBar: &mac.TitleBar{ - TitlebarAppearsTransparent: true, - HideTitle: false, - HideTitleBar: false, - FullSizeContent: false, - UseToolbar: false, - HideToolbarSeparator: true, - }, - Appearance: mac.NSAppearanceNameDarkAqua, - WebviewIsTransparent: true, - WindowIsTranslucent: true, - About: &mac.AboutInfo{ - Title: "Vanilla Template", - Message: "Part of the Wails projects", - Icon: icon, - }, - }, }) if err != nil { - log.Fatal(err) + println("Error:", err.Error()) } } diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh deleted file mode 100644 index bc6ee0acb..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin/arm64 - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh deleted file mode 100644 index f359f633a..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh deleted file mode 100644 index d61531fd7..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin/universal - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh deleted file mode 100644 index 47b778970..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for windows platform..." -wails build --clean --platform windows/amd64 - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh deleted file mode 100644 index 20ab7eb21..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app..." -wails build --clean - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh deleted file mode 100644 index 7539d8e33..000000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Current Go version: \c" -go version - -echo -e "Install the Wails command line tool..." -go install github.com/wailsapp/wails/v2/cmd/wails@latest - -echo -e "Successful installation!" - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json index f235e50e7..8153663b0 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json @@ -1,7 +1,7 @@ { - "name": "Vanilla HTML/JS/CSS", + "name": "Vanilla + Vite", "shortname": "vanilla", - "author": "Lea Anthony ", - "description": "A simple template using only HTML/CSS/JS", - "helpurl": "https://github.com/wailsapp/wails" -} + "author": "Lea Anthony", + "description": "Vanilla + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json index b010f3203..95918763e 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json @@ -1,7 +1,10 @@ { "name": "{{.ProjectName}}", "outputfilename": "{{.BinaryName}}", - "wailsjsdir": "./frontend", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", "author": { "name": "{{.AuthorName}}", "email": "{{.AuthorEmail}}" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md new file mode 100644 index 000000000..b3d7053c2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Vue-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json new file mode 100644 index 000000000..f9679ed90 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "johnsoncodehk.volar" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md new file mode 100644 index 000000000..15b2483d9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md @@ -0,0 +1,4 @@ +This template uses a work around as the default template does not compile due to this issue: +https://github.com/vuejs/core/issues/1228 + +In `tsconfig.json`, `isolatedModules` is set to `false` rather than `true` to work around the issue. \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md new file mode 100644 index 000000000..db4b47357 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md @@ -0,0 +1,24 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue +3 ` + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json new file mode 100644 index 000000000..20d846b85 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json @@ -0,0 +1,19 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.2.25" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.3.1", + "typescript": "^4.5.4", + "vite": "^2.9.2", + "vue-tsc": "^0.29.8" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue new file mode 100644 index 000000000..b63d187c5 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue new file mode 100644 index 000000000..3ab3df798 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts new file mode 100644 index 000000000..d0c7971d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import type {DefineComponent} from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts new file mode 100644 index 000000000..e57db5948 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json new file mode 100644 index 000000000..0b1aea976 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": false, + "esModuleInterop": true, + "lib": [ + "esnext", + "dom" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json new file mode 100644 index 000000000..fe874096b --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts new file mode 100644 index 000000000..a30c338ed --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json new file mode 100644 index 000000000..6efc20293 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vue + Vite (Typescript)", + "shortname": "vue-ts", + "author": "Lea Anthony", + "description": "Vue + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md new file mode 100644 index 000000000..87a9d8ace --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Vue template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go new file mode 100644 index 000000000..07f559997 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json new file mode 100644 index 000000000..f9679ed90 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "johnsoncodehk.volar" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md new file mode 100644 index 000000000..7a1b3ee79 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md @@ -0,0 +1,9 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json new file mode 100644 index 000000000..ef3491958 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json @@ -0,0 +1,17 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.2.25" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.3.1", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue new file mode 100644 index 000000000..15d2f1215 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 000000000..9cac04ce8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue new file mode 100644 index 000000000..29c023fbe --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js new file mode 100644 index 000000000..e57db5948 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css new file mode 100644 index 000000000..3940d6c63 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js new file mode 100644 index 000000000..a30c338ed --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 000000000..43173cfce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js new file mode 100644 index 000000000..0ee085c95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 000000000..257d503f4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json new file mode 100644 index 000000000..1e7c8a5d7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 000000000..aa5cd5073 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 000000000..9bcd35a87 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 000000000..a01ec7851 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl new file mode 100644 index 000000000..52759e114 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go new file mode 100644 index 000000000..abf01197e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json new file mode 100644 index 000000000..c2529e353 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vue + Vite", + "shortname": "vue", + "author": "Lea Anthony", + "description": "Vue + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json new file mode 100644 index 000000000..95918763e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/go.mod b/v2/go.mod index 1870ed24b..5e3f0c2a8 100644 --- a/v2/go.mod +++ b/v2/go.mod @@ -38,12 +38,14 @@ require ( golang.org/x/tools v0.1.0 ) +require github.com/bitfield/script v0.19.0 + require ( + bitbucket.org/creachadair/shell v0.0.7 // indirect github.com/Microsoft/go-winio v0.4.16 // indirect github.com/emirpasic/gods v1.12.0 // indirect github.com/go-git/gcfg v1.5.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/google/go-cmp v0.5.5 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect github.com/kr/pretty v0.3.0 // indirect diff --git a/v2/go.sum b/v2/go.sum index 00bb0a245..14ea32693 100644 --- a/v2/go.sum +++ b/v2/go.sum @@ -1,3 +1,5 @@ +bitbucket.org/creachadair/shell v0.0.7 h1:Z96pB6DkSb7F3Y3BBnJeOZH2gazyMTWlvecSD4vDqfk= +bitbucket.org/creachadair/shell v0.0.7/go.mod h1:oqtXSSvSYr4624lnnabXHaBsYW6RD80caLi2b3hJk0U= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= @@ -9,6 +11,8 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/bitfield/script v0.19.0 h1:W24f+FQuPab9gXcW8bhcbo5qO8AtrXyu3XOnR4zhHN0= +github.com/bitfield/script v0.19.0/go.mod h1:ana6F8YOSZ3ImT8SauIzuYSqXgFVkSUJ6kgja+WMmIY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -37,8 +41,9 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/v2/internal/frontend/desktop/windows/window.go b/v2/internal/frontend/desktop/windows/window.go index afbd84b57..21170bfe7 100644 --- a/v2/internal/frontend/desktop/windows/window.go +++ b/v2/internal/frontend/desktop/windows/window.go @@ -146,12 +146,14 @@ func (w *Window) WndProc(msg uint32, wparam, lparam uintptr) uintptr { w.notifyParentWindowPositionChanged() } case w32.WM_ACTIVATE: + //if !w.frontendOptions.Frameless { if int(wparam) == w32.WA_INACTIVE { w.isActive = false w.updateTheme() } else { w.isActive = true w.updateTheme() + //} } // TODO move WM_DPICHANGED handling into winc diff --git a/v2/pkg/commands/build/base.go b/v2/pkg/commands/build/base.go index bd85e1c35..3b5c5bcd3 100644 --- a/v2/pkg/commands/build/base.go +++ b/v2/pkg/commands/build/base.go @@ -153,7 +153,7 @@ func (b *BaseBuilder) CompileProject(options *Options) error { verbose := options.Verbosity == VERBOSE // Run go mod tidy first if !options.SkipModTidy { - cmd := exec.Command(options.Compiler, "mod", "tidy") + cmd := exec.Command(options.Compiler, "mod", "tidy", "-compat=1.17") cmd.Stderr = os.Stderr if verbose { println("") diff --git a/website/docs/gettingstarted/development.mdx b/website/docs/gettingstarted/development.mdx index 6cbe19396..323e90ba9 100644 --- a/website/docs/gettingstarted/development.mdx +++ b/website/docs/gettingstarted/development.mdx @@ -7,8 +7,9 @@ sidebar_position: 5 You can run your application in development mode by running `wails dev` from your project directory. This will do the following things: - Build your application and run it - - Watch for modifications in your Go files and rebuild/re-run on change - - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console. + - Bind your Go code to the frontend so it can be called from Javascript + - Using the power of [vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change + - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev). diff --git a/website/docs/gettingstarted/firstproject.mdx b/website/docs/gettingstarted/firstproject.mdx index bfe3ff1d1..beaf1365b 100644 --- a/website/docs/gettingstarted/firstproject.mdx +++ b/website/docs/gettingstarted/firstproject.mdx @@ -8,10 +8,81 @@ sidebar_position: 2 Now that the CLI is installed, you can generate a new project by using the `wails init` command. -To get up and running quickly, you can generate a default project by running `wails init -n myproject`. This will -create a directory called `myproject` and populate it with the default template. +Pick your favourite framework: + + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + Generate a Svelte project using Javascript with:
+ + wails init -n myproject -t svelte + + If you would rather use Typescript: + + wails init -n myproject -t svelte-ts +
+ + Generate a React project using Javascript with:
+ + wails init -n myproject -t react + + If you would rather use Typescript: + + wails init -n myproject -t react-ts +
+ + Generate a Vue project using Javascript with:
+ + wails init -n myproject -t vue + + If you would rather use Typescript: + + wails init -n myproject -t vue-ts +
+ + Generate a Preact project using Javascript with:
+ + wails init -n myproject -t preact + + If you would rather use Typescript: + + wails init -n myproject -t preact-ts +
+ + Generate a Lit project using Javascript with:
+ + wails init -n myproject -t lit + + If you would rather use Typescript: + + wails init -n myproject -t lit-ts +
+ + Generate a Vanilla project using Javascript with:
+ + wails init -n myproject -t vanilla + + If you would rather use Typescript: + + wails init -n myproject -t vanilla-ts +
+
+ +


-Other project templates are available and can be listed using `wails init -l`. There are also [community templates](../community/templates.mdx) available that offer different capabilities and frameworks. To see the other options available, you can run `wails init -help`. diff --git a/website/docs/introduction.mdx b/website/docs/introduction.mdx index 7663f46a0..846b21e1d 100644 --- a/website/docs/introduction.mdx +++ b/website/docs/introduction.mdx @@ -21,6 +21,12 @@ gives it that 'frosty' effect of a native app.

+## Quick Start Templates + +Wails comes with a number of pre-configured templates that allow you to get your application up and running quickly. +There are templates for the following frameworks: Svelte, React, Vue, Preact, Lit and Vanilla. There are both Javascript +and Typescript versions for each template. + ## Native Elements Wails uses a purpose built library for handling native elements such as Window, Menus, Dialogs, etc, so you can build diff --git a/website/static/img/wails-logo-horizontal-dark.svg b/website/static/img/wails-logo-horizontal-dark.svg index be664800a..b46160f38 100644 --- a/website/static/img/wails-logo-horizontal-dark.svg +++ b/website/static/img/wails-logo-horizontal-dark.svg @@ -31,50 +31,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/> - - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + + + + - - - - + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)"> diff --git a/website/static/img/wails-logo-horizontal.svg b/website/static/img/wails-logo-horizontal.svg index 15ee97481..f007e95f3 100644 --- a/website/static/img/wails-logo-horizontal.svg +++ b/website/static/img/wails-logo-horizontal.svg @@ -30,50 +30,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/> - - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + + + + - - - - + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)"> diff --git a/website/static/img/wails-logo-textless.svg b/website/static/img/wails-logo-textless.svg index 5b2a8c5ac..ae6bbf18b 100644 --- a/website/static/img/wails-logo-textless.svg +++ b/website/static/img/wails-logo-textless.svg @@ -11,50 +11,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/> - - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + - + - - + + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)">