From 2a3d4b6f45a1f1f7ba52fe0aebc35bd20d349992 Mon Sep 17 00:00:00 2001 From: anapnoe <124302297+anapnoe@users.noreply.github.com> Date: Mon, 21 Oct 2024 16:10:28 +0300 Subject: [PATCH] Version Update --- README.md | 75 +- .../themes/sdxl_alpha.css | 1 - .../themes/sdxl_default.css | 1 - .../themes/sdxl_light.css | 1 - .../themes/sdxl_minimal.css | 1 - .../themes/sdxl_minimal_orange.css | 1 - .../themes/sdxl_moonlight.css | 1 - .../themes/sdxl_moonlight_orange.css | 1 - .../themes/sdxl_orange.css | 1 - .../themes/sdxl_quad.css | 1 - .../themes/sdxl_thick_group_green.css | 1 - .../themes/sdxl_thin_cyan.css | 1 - .../themes/sdxl_tron2.css | 1 - .../html/templates/template-about.html | 119 - .../html/templates/template-app-root.html | 304 -- .../template-aside-extra-networks.html | 143 - .../html/templates/template-console-log.html | 44 - .../templates/template-deforum-results.html | 97 - .../html/templates/template-extensions.html | 15 - .../templates/template-extra-networks.html | 55 - .../templates/template-extras-results.html | 51 - .../templates/template-img2img-results.html | 65 - .../html/templates/template-model-merger.html | 129 - .../html/templates/template-pnginfo.html | 47 - .../templates/template-quicksettings.html | 21 - .../html/templates/template-theme.html | 22 - .../templates/template-txt2img-results.html | 74 - .../javascript/anapnoe_sd_uiux_core.js | 1547 ------- .../anapnoe-sd-uiux/libs/split.js | 814 ---- .../scripts/anapnoe_sd_uiux.py | 69 - .../anapnoe-sd-uiux/style-icons.css | 289 -- extensions-builtin/sd-webui-ux/.gitignore | 4 + extensions-builtin/sd-webui-ux/CITATION.cff | 7 + extensions-builtin/sd-webui-ux/LICENSE | 674 +++ extensions-builtin/sd-webui-ux/README.md | 65 + .../sd-webui-ux/assets/css/style-gradio-4.css | 3970 +++++++++++++++++ .../assets/css/uiux-deforum.css} | 0 .../assets/css/uiux-extentions.css | 159 + .../assets/css/uiux-extra-networks.css | 322 ++ .../sd-webui-ux/assets/css/uiux-gradio.css | 297 ++ .../sd-webui-ux/assets/css/uiux-icons.css | 305 ++ .../assets/css/uiux-iibrowser.css} | 29 +- .../sd-webui-ux/assets/css/uiux-logger.css | 53 + .../assets/css/uiux-physton.css} | 2 +- .../sd-webui-ux/assets/css/uiux-range.css | 96 + .../sd-webui-ux/assets/css/uiux-settings.css | 25 + .../assets/css/uiux-theme-editor.css} | 0 .../html => sd-webui-ux/assets}/favicon.svg | 0 .../sd-webui-ux/assets/fonts/7-digit.woff | Bin 0 -> 2728 bytes .../sd-webui-ux/assets/fonts/7-digit.woff2 | Bin 0 -> 1700 bytes .../assets/fonts/DISPLAY FREE TFB.ttf | Bin 0 -> 15752 bytes .../sd-webui-ux/assets/fonts/E1234.ttf | Bin 0 -> 13316 bytes .../assets}/images/Guru_meditation.gif | Bin .../anapnoe-gradio-app-visual-builder.png | Bin .../assets}/images/anapnoe-ui-ux-orange.png | Bin .../anapnoe-ui-ux-theme-editor-advanced.png | Bin 0 -> 956369 bytes .../images/anapnoe-ui-ux-workspaces-2.png | Bin 0 -> 1459909 bytes .../images/anapnoe-ui-ux-workspaces-hover.png | Bin 0 -> 961672 bytes .../images/anapnoe-ui-ux-workspaces.png | Bin 0 -> 1581777 bytes .../assets}/images/anapnoe-ui-ux.png | Bin .../assets}/images/workspaces.png | Bin .../assets}/svg/add-box-line.svg | 0 .../assets}/svg/ai-generate.svg | 0 .../assets}/svg/arrow-down-s-line.svg | 0 .../assets}/svg/arrow-go-back-line.svg | 0 .../assets}/svg/arrow-right-s-line.svg | 0 .../assets}/svg/arrow-right-up-line.svg | 0 .../assets}/svg/arrow-up-circle-fill.svg | 0 .../assets}/svg/arrow-up-circle-line.svg | 0 .../assets}/svg/arrow-up-down-line.svg | 0 .../assets}/svg/arrow-up-line.svg | 0 .../assets}/svg/arrow-up-s-line.svg | 0 .../assets}/svg/artboard-line.svg | 0 .../assets}/svg/aspect-ratio-line.svg | 0 .../assets}/svg/ball-pen-line.svg | 0 .../assets}/svg/bard-line.svg | 0 .../assets}/svg/bill-line.svg | 0 .../assets}/svg/bmc-logo2.svg | 0 .../assets}/svg/box-1-fill.svg | 0 .../assets}/svg/box-1-line.svg | 0 .../assets}/svg/box-2-fill.svg | 0 .../assets}/svg/box-2-line.svg | 0 .../assets}/svg/box-3-fill.svg | 0 .../assets}/svg/box-3-line.svg | 0 .../assets}/svg/boxing-line.svg | 0 .../assets}/svg/brush-line.svg | 0 .../assets}/svg/bug-2-line.svg | 0 .../assets}/svg/camera-lens-line.svg | 0 .../assets}/svg/checkbox-blank-line.svg | 0 .../svg/checkbox-indeterminate-line.svg | 0 .../assets}/svg/checkbox-multiple-line.svg | 0 .../assets}/svg/clipboard-fill.svg | 0 .../assets}/svg/clipboard-line.svg | 0 .../assets}/svg/close-circle-line.svg | 0 .../assets}/svg/close-line.svg | 0 .../assets}/svg/compass-4-line.svg | 0 .../assets}/svg/computer-fill.svg | 0 .../assets}/svg/computer-line.svg | 0 .../assets}/svg/contract-left-right-line.svg | 0 .../assets}/svg/contract-up-down-line.svg | 0 .../assets}/svg/contrast-drop-2-line.svg | 0 .../assets}/svg/corner-up-right-fill.svg | 0 .../assets}/svg/corner-up-right-line.svg | 0 .../assets}/svg/cpu-fill.svg | 0 .../assets}/svg/cpu-line.svg | 0 .../assets}/svg/crop-line.svg | 0 .../assets}/svg/delete-bin-2-line.svg | 0 .../assets}/svg/delete-bin-5-line.svg | 0 .../assets}/svg/dice-1.svg | 0 .../assets}/svg/download-line.svg | 0 .../assets}/svg/draft-line.svg | 0 .../assets}/svg/drag-drop-line.svg | 0 .../assets}/svg/drag-move-2-fill.svg | 0 .../assets}/svg/drop-line.svg | 0 .../assets}/svg/dvd-line.svg | 0 .../assets}/svg/edit-box-line.svg | 0 .../assets}/svg/edit-line.svg | 0 .../assets}/svg/emotion-line.svg | 0 .../assets}/svg/equalizer-fill.svg | 0 .../assets}/svg/equalizer-line.svg | 0 .../assets}/svg/file-download-line.svg | 0 .../assets}/svg/file-edit-fill.svg | 0 .../assets}/svg/file-info-fill.svg | 0 .../assets}/svg/file-info-line.svg | 0 .../assets}/svg/file-zip-line.svg | 0 .../assets}/svg/film-line.svg | 0 .../assets}/svg/flashlight-line.svg | 0 .../assets}/svg/focus-2-fill.svg | 0 .../assets}/svg/focus-2-line.svg | 0 .../assets}/svg/focus-line.svg | 0 .../assets/svg/folder-image-line.svg | 1 + .../assets}/svg/folder-open-line.svg | 0 .../assets}/svg/fullscreen-exit-line.svg | 0 .../assets}/svg/fullscreen-line.svg | 0 .../assets/svg/function-add-line.svg | 1 + .../sd-webui-ux/assets/svg/gallery-line.svg | 1 + .../assets}/svg/github-fill.svg | 0 .../assets}/svg/github-fill.xml | 0 .../assets}/svg/gradio-fill.svg | 0 .../assets}/svg/gradio-fill.xml | 0 .../assets}/svg/grid-fill.svg | 0 .../assets}/svg/grid-line.svg | 0 .../assets}/svg/group-2-line.svg | 0 .../assets}/svg/heart-add-fill.svg | 0 .../assets}/svg/heart-fill.svg | 0 .../assets}/svg/heart-line.svg | 0 .../assets}/svg/image-2-line.svg | 0 .../assets}/svg/image-add-line.svg | 0 .../assets}/svg/image-edit-line.svg | 0 .../assets}/svg/image-icon.svg | 0 .../assets}/svg/image-line.svg | 0 .../assets}/svg/image-update.svg | 0 .../assets}/svg/infinity-fill.svg | 0 .../assets}/svg/information-fill.svg | 0 .../assets}/svg/information-line.svg | 0 .../assets}/svg/install-line.svg | 0 .../assets}/svg/landscape-line.svg | 0 .../assets}/svg/layout-2-line.svg | 0 .../assets}/svg/layout-grid-line.svg | 0 .../assets}/svg/list-settings-line.svg | 0 .../assets}/svg/loop-right-line.svg | 0 .../assets}/svg/magic-line.svg | 0 .../assets}/svg/markup-line.svg | 0 .../assets}/svg/menu-4-fill.svg | 0 .../assets}/svg/menu-add-fill.svg | 0 .../assets}/svg/menu-line.svg | 0 .../assets}/svg/menu-search-line.svg | 0 .../assets}/svg/meteor-line.svg | 0 .../assets}/svg/more-2-fill.svg | 0 .../assets}/svg/movie-2-line.svg | 0 .../assets}/svg/node-tree.svg | 0 .../assets}/svg/organization-chart.svg | 0 .../assets}/svg/paint-brush-line.svg | 0 .../assets}/svg/paint-line.svg | 0 .../assets}/svg/pantone-line.svg | 0 .../svg/picture-in-picture-exit-line.svg | 0 .../assets}/svg/planet-line.svg | 0 .../assets}/svg/play-circle-line.svg | 0 .../assets}/svg/play-line.svg | 0 .../assets}/svg/plug-line.svg | 0 .../assets}/svg/profile-line.svg | 0 .../assets}/svg/pulse-line.svg | 0 .../assets}/svg/pushpin-line.svg | 0 .../assets}/svg/question-answer-fill.svg | 0 .../assets}/svg/question-answer-line.svg | 0 .../assets}/svg/recycle-line.svg | 0 .../assets}/svg/refresh-line.svg | 0 .../assets}/svg/reply-fill.svg | 0 .../assets}/svg/reply-line.svg | 0 .../assets}/svg/restart-fill.svg | 0 .../assets}/svg/robot-2-line.svg | 0 .../assets}/svg/rocket-fill.svg | 0 .../assets}/svg/ruler-2-line.svg | 0 .../assets}/svg/run-line.svg | 0 .../assets}/svg/save-2-line.svg | 0 .../assets}/svg/save-3-line.svg | 0 .../assets}/svg/seo-line.svg | 0 .../assets}/svg/settings-3-line.svg | 0 .../assets}/svg/shape-fill.svg | 0 .../assets}/svg/shapes-line.svg | 0 .../assets}/svg/shut-down-line.svg | 0 .../assets}/svg/skip-forward-line.svg | 0 .../assets}/svg/skip-forward-mini-line.svg | 0 .../assets}/svg/sort-asc.svg | 0 .../assets}/svg/sort-desc.svg | 0 .../assets}/svg/sound-module-line.svg | 0 .../assets}/svg/sparkling-2-line.svg | 0 .../assets}/svg/sparkling-line.svg | 0 .../assets}/svg/spotlight/arrow.svg | 0 .../assets}/svg/spotlight/error.svg | 0 .../assets}/svg/spotlight/pause.svg | 0 .../assets}/svg/spotlight/pixel.gif | Bin .../assets}/svg/spotlight/play.svg | 0 .../assets}/svg/spotlight/preloader.svg | 0 .../assets}/svg/spotlight/theme.svg | 0 .../assets}/svg/stack-line.svg | 0 .../assets}/svg/star-line.svg | 0 .../assets}/svg/stop-circle-line.svg | 0 .../assets}/svg/stop-line.svg | 0 .../assets}/svg/t-box-fill.svg | 0 .../assets}/svg/t-box-line.svg | 0 .../assets}/svg/team-line.svg | 0 .../assets}/svg/terminal-box-fill.svg | 0 .../assets}/svg/terminal-box-line.svg | 0 .../html => sd-webui-ux/assets}/svg/text.svg | 0 .../assets}/svg/trophy-line.svg | 0 .../assets}/svg/unpin-line.svg | 0 .../assets}/svg/user-smile-line.svg | 0 .../assets}/svg/variation-settings.svg | 0 .../assets}/svg/video-line.svg | 0 .../assets}/svg/vip-diamond-line.svg | 0 .../assets}/svg/zoom-in-line.svg | 0 .../assets}/svg/zoom-out-line.svg | 0 .../template-about-extension.html | 121 + .../uiux-gradio-3/template-about.html | 133 + .../uiux-gradio-3/template-app-root.html | 177 + .../template-aside-extra-networks.html | 140 + .../uiux-gradio-3/template-console-log.html | 31 + .../template-deforum-params.html | 68 +- .../template-deforum-results.html | 82 + .../uiux-gradio-3/template-extensions.html | 12 + .../template-extra-networks.html | 63 + .../template-extras-params.html | 65 +- .../template-extras-results.html | 42 + .../template-img2img-params.html | 382 +- .../template-img2img-results.html | 53 + .../uiux-gradio-3/template-model-merger.html | 66 + .../uiux-gradio-3/template-pnginfo.html | 40 + .../uiux-gradio-3/template-quicksettings.html | 11 + .../uiux-gradio-3}/template-settings.html | 25 +- .../uiux-gradio-3}/template-sponsors.html | 0 .../uiux-gradio-3/template-stylez.html | 27 + .../uiux-gradio-3/template-theme.html | 14 + .../uiux-gradio-3}/template-train-params.html | 20 +- .../template-train-results.html | 14 +- .../template-txt2img-params.html | 293 +- .../template-txt2img-results.html | 58 + .../sd-webui-ux/eslint.config.js | 91 + .../javascript/anapnoe_sd_webui_ux.js | 24 + .../javascript/dist/anapnoe_sd_uiux_core.js | 66 + .../sd-webui-ux/javascript/dist/index.js | 30 + .../sd-webui-ux/javascript/libs/split.js | 767 ++++ .../sd-webui-ux/javascript/overrides.js | 106 + .../javascript/src/components/components.js | 20 + .../javascript/src/components/extensions.js | 165 + .../javascript/src/components/logger.js | 117 + .../src/components/optimizations.js | 194 + .../javascript/src/components/settings.js | 192 + .../javascript/src/components/templates.js | 120 + .../src/components/theme_editor.js} | 40 +- .../src/components/uiux/accordion.js | 59 + .../javascript/src/components/uiux/button.js | 111 + .../javascript/src/components/uiux/portal.js | 141 + .../src/components/uiux/splitter.js | 75 + .../javascript/src/components/uiux/tab.js | 98 + .../sd-webui-ux/javascript/src/constants.js | 139 + .../sd-webui-ux/javascript/src/index.js | 179 + .../sd-webui-ux/javascript/src/utils/api.js | 54 + .../javascript/src/utils/helpers.js | 111 + .../javascript/src/utils/mobile.js | 55 + .../javascript/src/utils/module.js | 12 + .../javascript/src/utils/observers.js | 136 + .../javascript/src/utils/storage.js | 39 + extensions-builtin/sd-webui-ux/package.json | 36 + extensions-builtin/sd-webui-ux/screenshot.png | Bin 0 -> 1932333 bytes .../sd-webui-ux/scripts/anapnoe_sd_uiux.py | 236 + .../scripts/anapnoe_sd_uiux_theme.py} | 25 +- .../style.css | 210 +- .../themes/4teye.css | 0 .../sd-webui-ux/themes/ae_v1.1_alpha.css | 1 + .../sd-webui-ux/themes/ae_v1_alpha.css | 1 + .../sd-webui-ux/themes/ae_v1_bline.css | 1 + .../sd-webui-ux/themes/ae_v1_cobalt.css | 1 + .../sd-webui-ux/themes/ae_v1_cozy.css | 1 + .../sd-webui-ux/themes/ae_v1_default.css | 1 + .../sd-webui-ux/themes/ae_v1_gray.css | 1 + .../sd-webui-ux/themes/ae_v1_gray_cyan.css | 1 + .../sd-webui-ux/themes/ae_v1_gray_magenda.css | 1 + .../sd-webui-ux/themes/ae_v1_group_cyan.css | 1 + .../sd-webui-ux/themes/ae_v1_group_green.css | 1 + .../sd-webui-ux/themes/ae_v1_iccy.css | 1 + .../sd-webui-ux/themes/ae_v1_icsy.css | 1 + .../sd-webui-ux/themes/ae_v1_light.css | 1 + .../sd-webui-ux/themes/ae_v1_minimal.css | 1 + .../themes/ae_v1_minimal_orange.css | 1 + .../sd-webui-ux/themes/ae_v1_moonlight.css | 1 + .../themes/ae_v1_moonlight_orange.css | 1 + .../sd-webui-ux/themes/ae_v1_orange.css | 1 + .../sd-webui-ux/themes/ae_v1_pop.css | 1 + .../sd-webui-ux/themes/ae_v1_quad.css | 1 + .../sd-webui-ux/themes/ae_v1_tron.css | 1 + .../sd-webui-ux/themes/ae_v1_zedia.css | 1 + .../sd-webui-ux/themes/ae_v1_zedia2.css | 1 + .../sd-webui-ux/themes/ae_v2_digital_dark.css | 1 + .../sd-webui-ux/themes/animagine_xl.css | 1 + .../sd-webui-ux/themes/rest.css | 1 + extensions-builtin/sd-webui-ux/vite.config.js | 17 + html/extra-networks-card.html | 2 +- html/extra-networks-copy-path-button.html | 2 +- html/extra-networks-edit-item-button.html | 2 +- html/extra-networks-metadata-button.html | 2 +- html/extra-networks-pane.html | 14 +- html/extra-networks-tree-button.html | 2 +- 323 files changed, 11047 insertions(+), 4609 deletions(-) delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_alpha.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_default.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_light.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal_orange.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight_orange.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_orange.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_quad.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thick_group_green.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thin_cyan.css delete mode 100644 extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_tron2.css delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-about.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-app-root.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-aside-extra-networks.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-console-log.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-deforum-results.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-extensions.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-extra-networks.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-extras-results.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-img2img-results.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-model-merger.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-pnginfo.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-quicksettings.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-theme.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/html/templates/template-txt2img-results.html delete mode 100644 extensions-builtin/anapnoe-sd-uiux/javascript/anapnoe_sd_uiux_core.js delete mode 100644 extensions-builtin/anapnoe-sd-uiux/libs/split.js delete mode 100644 extensions-builtin/anapnoe-sd-uiux/scripts/anapnoe_sd_uiux.py delete mode 100644 extensions-builtin/anapnoe-sd-uiux/style-icons.css create mode 100644 extensions-builtin/sd-webui-ux/.gitignore create mode 100644 extensions-builtin/sd-webui-ux/CITATION.cff create mode 100644 extensions-builtin/sd-webui-ux/LICENSE create mode 100644 extensions-builtin/sd-webui-ux/README.md create mode 100644 extensions-builtin/sd-webui-ux/assets/css/style-gradio-4.css rename extensions-builtin/{anapnoe-sd-uiux/style-deforum.css => sd-webui-ux/assets/css/uiux-deforum.css} (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-extentions.css create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-extra-networks.css create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-gradio.css create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-icons.css rename extensions-builtin/{anapnoe-sd-uiux/style-iibrowser.css => sd-webui-ux/assets/css/uiux-iibrowser.css} (86%) create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-logger.css rename extensions-builtin/{anapnoe-sd-uiux/style-physton.css => sd-webui-ux/assets/css/uiux-physton.css} (89%) create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-range.css create mode 100644 extensions-builtin/sd-webui-ux/assets/css/uiux-settings.css rename extensions-builtin/{anapnoe-sd-theme-editor/style.css => sd-webui-ux/assets/css/uiux-theme-editor.css} (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/favicon.svg (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/fonts/7-digit.woff create mode 100644 extensions-builtin/sd-webui-ux/assets/fonts/7-digit.woff2 create mode 100644 extensions-builtin/sd-webui-ux/assets/fonts/DISPLAY FREE TFB.ttf create mode 100644 extensions-builtin/sd-webui-ux/assets/fonts/E1234.ttf rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/images/Guru_meditation.gif (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/images/anapnoe-gradio-app-visual-builder.png (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/images/anapnoe-ui-ux-orange.png (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-theme-editor-advanced.png create mode 100644 extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-workspaces-2.png create mode 100644 extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-workspaces-hover.png create mode 100644 extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-workspaces.png rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/images/anapnoe-ui-ux.png (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/images/workspaces.png (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/add-box-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/ai-generate.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-down-s-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-go-back-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-right-s-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-right-up-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-up-circle-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-up-circle-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-up-down-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-up-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/arrow-up-s-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/artboard-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/aspect-ratio-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/ball-pen-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/bard-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/bill-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/bmc-logo2.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-1-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-1-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-2-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-3-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/box-3-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/boxing-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/brush-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/bug-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/camera-lens-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/checkbox-blank-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/checkbox-indeterminate-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/checkbox-multiple-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/clipboard-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/clipboard-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/close-circle-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/close-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/compass-4-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/computer-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/computer-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/contract-left-right-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/contract-up-down-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/contrast-drop-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/corner-up-right-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/corner-up-right-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/cpu-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/cpu-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/crop-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/delete-bin-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/delete-bin-5-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/dice-1.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/download-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/draft-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/drag-drop-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/drag-move-2-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/drop-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/dvd-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/edit-box-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/edit-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/emotion-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/equalizer-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/equalizer-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/file-download-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/file-edit-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/file-info-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/file-info-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/file-zip-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/film-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/flashlight-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/focus-2-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/focus-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/focus-line.svg (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/svg/folder-image-line.svg rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/folder-open-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/fullscreen-exit-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/fullscreen-line.svg (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/svg/function-add-line.svg create mode 100644 extensions-builtin/sd-webui-ux/assets/svg/gallery-line.svg rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/github-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/github-fill.xml (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/gradio-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/gradio-fill.xml (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/grid-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/grid-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/group-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/heart-add-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/heart-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/heart-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-add-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-edit-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-icon.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/image-update.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/infinity-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/information-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/information-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/install-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/landscape-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/layout-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/layout-grid-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/list-settings-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/loop-right-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/magic-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/markup-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/menu-4-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/menu-add-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/menu-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/menu-search-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/meteor-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/more-2-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/movie-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/node-tree.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/organization-chart.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/paint-brush-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/paint-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/pantone-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/picture-in-picture-exit-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/planet-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/play-circle-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/play-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/plug-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/profile-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/pulse-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/pushpin-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/question-answer-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/question-answer-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/recycle-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/refresh-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/reply-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/reply-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/restart-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/robot-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/rocket-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/ruler-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/run-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/save-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/save-3-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/seo-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/settings-3-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/shape-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/shapes-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/shut-down-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/skip-forward-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/skip-forward-mini-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/sort-asc.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/sort-desc.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/sound-module-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/sparkling-2-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/sparkling-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/arrow.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/error.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/pause.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/pixel.gif (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/play.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/preloader.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/spotlight/theme.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/stack-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/star-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/stop-circle-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/stop-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/t-box-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/t-box-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/team-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/terminal-box-fill.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/terminal-box-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/text.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/trophy-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/unpin-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/user-smile-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/variation-settings.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/video-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/vip-diamond-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/zoom-in-line.svg (100%) rename extensions-builtin/{anapnoe-sd-uiux/html => sd-webui-ux/assets}/svg/zoom-out-line.svg (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-about-extension.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-about.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-app-root.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-aside-extra-networks.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-console-log.html rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-deforum-params.html (73%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-deforum-results.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-extensions.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-extra-networks.html rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-extras-params.html (76%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-extras-results.html rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-img2img-params.html (56%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-img2img-results.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-model-merger.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-pnginfo.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-quicksettings.html rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-settings.html (62%) rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-sponsors.html (100%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-stylez.html create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-theme.html rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-train-params.html (77%) rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-train-results.html (60%) rename extensions-builtin/{anapnoe-sd-uiux/html/templates => sd-webui-ux/assets/templates/uiux-gradio-3}/template-txt2img-params.html (51%) create mode 100644 extensions-builtin/sd-webui-ux/assets/templates/uiux-gradio-3/template-txt2img-results.html create mode 100644 extensions-builtin/sd-webui-ux/eslint.config.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/anapnoe_sd_webui_ux.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/dist/anapnoe_sd_uiux_core.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/dist/index.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/libs/split.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/overrides.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/components.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/extensions.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/logger.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/optimizations.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/settings.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/templates.js rename extensions-builtin/{anapnoe-sd-theme-editor/javascript/ui_theme.js => sd-webui-ux/javascript/src/components/theme_editor.js} (94%) create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/uiux/accordion.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/uiux/button.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/uiux/portal.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/uiux/splitter.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/components/uiux/tab.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/constants.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/index.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/api.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/helpers.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/mobile.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/module.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/observers.js create mode 100644 extensions-builtin/sd-webui-ux/javascript/src/utils/storage.js create mode 100644 extensions-builtin/sd-webui-ux/package.json create mode 100644 extensions-builtin/sd-webui-ux/screenshot.png create mode 100644 extensions-builtin/sd-webui-ux/scripts/anapnoe_sd_uiux.py rename extensions-builtin/{anapnoe-sd-theme-editor/scripts/ui_theme.py => sd-webui-ux/scripts/anapnoe_sd_uiux_theme.py} (90%) rename extensions-builtin/{anapnoe-sd-uiux => sd-webui-ux}/style.css (94%) rename extensions-builtin/{anapnoe-sd-theme-editor => sd-webui-ux}/themes/4teye.css (100%) create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1.1_alpha.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_alpha.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_bline.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_cobalt.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_cozy.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_default.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_gray.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_gray_cyan.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_gray_magenda.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_group_cyan.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_group_green.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_iccy.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_icsy.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_light.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_minimal.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_minimal_orange.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_moonlight.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_moonlight_orange.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_orange.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_pop.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_quad.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_tron.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_zedia.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v1_zedia2.css create mode 100644 extensions-builtin/sd-webui-ux/themes/ae_v2_digital_dark.css create mode 100644 extensions-builtin/sd-webui-ux/themes/animagine_xl.css create mode 100644 extensions-builtin/sd-webui-ux/themes/rest.css create mode 100644 extensions-builtin/sd-webui-ux/vite.config.js diff --git a/README.md b/README.md index 9c757d77..e9931087 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,58 @@ -# Stable Diffusion web UI-UX -A bespoke, highly adaptable user interface for the Stable Diffusion, utilizing the powerful Gradio library. This cutting-edge browser interface offer an unparalleled level of customization and optimization for users, setting it apart from other web interfaces. +# Stable Diffusion WebUI UX Forge +A bespoke, highly adaptable, blazing fast user interface for Stable Diffusion, utilizing the powerful [Gradio](https://www.gradio.app/) library. This cutting-edge browser interface offers an unparalleled level of customization and optimization for users, setting it apart from other web interfaces. + +[🌟 Your Support Makes a Difference! 🌟](https://buymeacoffee.com/dayanbayah)  ## Optimizations -- Removing redundant Checkpoints and "Extra Networks" (Textual Inversion, Lora, and Hypernetworks) from img2img to reduce duplicated images and event listeners. -- Eradicating inline event listeners from "Extra Networks" cards and action buttons. -- Applying an event delegation pattern to further streamline the code by consolidating event handling for "Extra Networks" cards and action buttons. -- Replacing all default Gradio stylesheets in the DOM with an optimized version that promote better visual coherence across components. -- Eliminating inline styles and Svelte classes from the DOM to minimize clutter and improve efficiency. +- **Redundant Checkpoints & Extra Networks**: Removing redundant Checkpoints and "Extra Networks" (Textual Inversion, Lora, and Hypernetworks) from img2img to reduce duplicated images and event listeners. +- **Inline Event Listeners**: Eradicating inline event listeners from "Extra Networks" cards and action buttons. +- **Event Delegation Pattern**: Applying an event delegation pattern to further streamline the code by consolidating event handling for "Extra Networks" cards and action buttons. +- **Optimized Stylesheets**: Enhanced visual coherence by substituting all default Gradio stylesheets in the DOM with an optimized version. +- **Inline Styles & Svelte Classes**: Improved efficiency by eliminating unnecessary inline styles and Svelte classes. -## Features webui-ux -- Mobile responsive design -- A versatile micro-template engine that can be leveraged by other extensions -- Customizable theme styles through a user-friendly configuration interface -- Built-in console log -- Option to ignore overrides -- Support for tick marks on input range sliders for improved usability -- Toggle option between slider and numeric input modes, ensuring a compact interface when numeric input mode is enabled -- Seamless UI integration for the Infinite Image Browsing Extension -- Seamless UI integration for the Deforum Extention +## Features Overview +- **Mobile Responsive Design**: Optimal display and usability across various devices. +- **Versatile Micro-Template Engine**: Leverage for enhanced functionality through other extensions. +- **Customizable Theme Styles**: User-friendly interface for theme customization. +- **Built-in Console Log**: Debugging capabilities for developers. +- **Production and Development Modes**: Dynamically compile the web UI UX using Vite directly from the interface. +- **Ignore Overrides Option**: Flexibility to maintain original settings when necessary. +- **Enhanced Usability for Sliders**: Input range sliders support tick marks for improved interaction. +- **Toggle Input Modes**: Switch between slider and numeric input modes for a compact interface. +- **Compatible with Gradio 3 and 4**: Works seamlessly with both Gradio 3 and Gradio 4 frameworks. -## Workspaces UI-UX (work in progress) +## Seamless UI Integration with Extensions +- **Infinite Image Browsing Extension** +- **Deforum Extension** +- **Prompt-All-In-One Extension** +- **Aspect-Ratio-Helper Extension** + +## Todo +- Separate and organize CSS into individual files (in progress). +- Create documentation for developers on how to incorporate their components into various areas of the UI/UX. +- Implement fullscreen gallery functionality. +- Fork the Gradio project and contribute to enhancing their components. + + +## Advanced Theme Style Configurator (in progress)(upcoming feature) +A sophisticated theme editor allowing you to personalize any aspect of the UI-UX. Tailor the visual experience of the user interface with the Advanced Theme Style configurator. + +[🌟 Get early access to Advanced Theme Style Configurator! 🌟](https://buymeacoffee.com/dayanbayah) + + + + +## Workspaces UI-UX (in progress)(upcoming feature) The workspaces extension empowers you to create customized views and organize them according to your unique preferences. With an intuitive drag-and-drop interface, you can design workflows that are perfectly tailored to your specific requirements, giving you ultimate control over your work environment. - +[🌟 Get early access to Workspaces! 🌟](https://buymeacoffee.com/dayanbayah) -[Become a supporter and get early access to Workspaces for UI-UX.](https://buymeacoffee.com/dayanbayah) - -## Infinite image browsing integration -Seamless integration with the [Infinite image browsing](https://github.com/zanllp/sd-webui-infinite-image-browsing) extension. - - - -## Todo -- Fullscreen Gallery Support + -## Features +## SD Features [Detailed feature showcase with images](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features): - Original txt2img and img2img modes - One click install and run script (but you still must install python and git) @@ -178,7 +193,7 @@ wget -q https://raw.githubusercontent.com/anapnoe/stable-diffusion-webui-ux/mast ``` Or just clone the repo wherever you want: ```bash -git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui +git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui-ux.git ``` 3. Run `webui.sh`. diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_alpha.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_alpha.css deleted file mode 100644 index ebaf8380..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_alpha.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(205deg 83% 46%);--ae-secondary-color:hsl(325deg 83% 46%);--ae-main-bg-color:rgb(32 32 32);--ae-input-height:35px;--ae-input-slider-height:0.6;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:23px;--ae-label-color:rgba(255, 255, 255, 0.75);--ae-secondary-label-color:rgba(255, 255, 255, 0.5);--ae-input-border-size:2px;--ae-input-border-radius:0px;--ae-input-text-color:rgba(255, 255, 255, 0.75);--ae-input-placeholder-color:rgba(255, 255, 255, 0.35);--ae-input-bg-color:rgba(0, 0, 0, 0.25);--ae-input-border-color:rgba(0, 0, 0, 0.1);--ae-input-hover-text-color:rgba(255, 255, 255, 0.75);--ae-panel-bg-color:rgba(64, 64, 64, 0.5);--ae-panel-border-color:rgba(64, 64, 64, 0.75);--ae-panel-padding:5px;--ae-border-radius:5px;--ae-border-size:2px;--ae-gap-size-val:5px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(0deg 0% 16%);--ae-group-padding:2px;--ae-group-radius:7px;--ae-group-border-size:2px;--ae-group-border-color:hsl(0deg 0% 16%);--ae-group-gap:6px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max( var(--ae-outside-gap-size), var(--ae-inside-padding-size) );--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_default.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_default.css deleted file mode 100644 index 5ad1606b..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_default.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(168deg 97% 41%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 10%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:12px;--ae-input-line-height:24px;--ae-label-color:hsl(216deg 5% 60%);--ae-secondary-label-color:hsl(216deg 5% 60%);--ae-input-border-size:0px;--ae-input-border-radius:0px;--ae-input-text-color:hsl(216deg 5% 60%);--ae-input-placeholder-color:hsl(168deg 97% 41%);--ae-input-bg-color:hsl(225deg 6% 13%);--ae-input-border-color:hsl(228deg 6% 17%);--ae-input-hover-text-color:hsl(225deg 6% 13%);--ae-panel-bg-color:hsl(225deg 5% 17%);--ae-panel-border-color:hsl(214deg 5% 30%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:1px;--ae-gap-size-val:5px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 6% 13%);--ae-group-padding:2px;--ae-group-radius:0px;--ae-group-border-size:1px;--ae-group-border-color:hsl(225deg 6% 13%);--ae-group-gap:5px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max( var(--ae-outside-gap-size), var(--ae-inside-padding-size) );--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_light.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_light.css deleted file mode 100644 index d046467b..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_light.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(0deg 0% 0%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 95%);--ae-input-height:28px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:12px;--ae-input-line-height:16px;--ae-label-color:hsl(0deg 0% 15%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:1px;--ae-input-border-radius:0px;--ae-input-text-color:hsl(0deg 0% 0%);--ae-input-placeholder-color:hsl(0deg 0% 89%);--ae-input-bg-color:hsl(0deg 100% 100%);--ae-input-border-color:hsl(0deg 0% 95%);--ae-input-hover-text-color:hsl(0deg 100% 100%);--ae-panel-bg-color:hsl(0deg 0% 98%);--ae-panel-border-color:hsl(0deg 0% 87%);--ae-panel-padding:5px;--ae-border-radius:5px;--ae-border-size:0px;--ae-gap-size-val:3px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(0deg 0% 94%);--ae-group-padding:2px;--ae-group-radius:6px;--ae-group-border-size:0px;--ae-group-border-color:hsl(0deg 0% 94%);--ae-group-gap:2px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max( var(--ae-outside-gap-size), var(--ae-inside-padding-size) );--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal.css deleted file mode 100644 index 04696bb0..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(168deg 96% 42%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 8%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:20px;--ae-label-color:hsl(0deg 0% 65%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:2px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(168deg 96% 42%);--ae-input-placeholder-color:hsl(168deg 96% 42%);--ae-input-bg-color:hsl(0deg 0% 10%);--ae-input-border-color:hsl(0deg 0% 10%);--ae-input-hover-text-color:hsl(240deg 18% 12%);--ae-panel-bg-color:hsl(0deg 0% 17%);--ae-panel-border-color:hsl(0deg 0% 17%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:2px;--ae-gap-size-val:6px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 7% 11%);--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-border-color:hsl(240deg 16% 16%);--ae-group-gap:2px;--ae-panel-border-radius:4px;--ae-subpanel-border-radius:4px;--ae-outside-gap-size:1px;--ae-inside-padding-size:5px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:3px;--ae-mobile-inside-padding-size:3px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal_orange.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal_orange.css deleted file mode 100644 index 7d84204c..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_minimal_orange.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(18deg 124% 42%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(210deg 28% 8%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:20px;--ae-label-color:hsl(210deg 28% 65%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:2px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(18deg 100% 42%);--ae-input-placeholder-color:hsl(18deg 100% 42%);--ae-input-bg-color:hsl(210deg 28% 10%);--ae-input-border-color:hsl(210deg 28% 10%);--ae-input-hover-text-color:hsl(240deg 18% 12%);--ae-panel-bg-color:hsl(210deg 28% 17%);--ae-panel-border-color:hsl(210deg 28% 17%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:2px;--ae-gap-size-val:6px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 7% 11%);--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-border-color:hsl(240deg 16% 16%);--ae-group-gap:2px;--ae-panel-border-radius:4px;--ae-subpanel-border-radius:4px;--ae-outside-gap-size:4px;--ae-inside-padding-size:4px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:3px;--ae-mobile-inside-padding-size:3px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight.css deleted file mode 100644 index 5bde3e5e..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(222deg 75% 62%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(240deg 16% 6%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:20px;--ae-label-color:hsl(185deg 66% 85%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:2px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(222deg 75% 62%);--ae-input-placeholder-color:hsl(222deg 75% 62%);--ae-input-bg-color:hsl(240deg 17% 8%);--ae-input-border-color:hsl(240deg 20% 16%);--ae-input-hover-text-color:hsl(240deg 18% 12%);--ae-panel-bg-color:hsl(240deg 18% 12%);--ae-panel-border-color:hsl(240deg 16% 16%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:2px;--ae-gap-size-val:6px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 7% 11%);--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-border-color:hsl(240deg 16% 16%);--ae-group-gap:2px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight_orange.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight_orange.css deleted file mode 100644 index 90e4c354..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_moonlight_orange.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(12deg 75% 62%);--ae-secondary-color:hsl(15deg 6% 13%);--ae-main-bg-color:hsl(30deg 16% 6%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:20px;--ae-label-color:hsl(335deg 66% 85%);--ae-secondary-label-color:hsl(150deg 100% 50%);--ae-input-border-size:1px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(12deg 75% 62%);--ae-input-placeholder-color:hsl(12deg 75% 62%);--ae-input-bg-color:hsl(30deg 17% 8%);--ae-input-border-color:hsl(30deg 20% 16%);--ae-input-hover-text-color:hsl(30deg 18% 12%);--ae-panel-bg-color:hsl(30deg 18% 12%);--ae-panel-border-color:hsl(30deg 16% 16%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:1px;--ae-gap-size-val:3px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(15deg 7% 11%);--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-border-color:hsl(30deg 16% 16%);--ae-group-gap:1px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_orange.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_orange.css deleted file mode 100644 index 715c5624..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_orange.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(15deg 77% 58%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 10%);--ae-input-height:28px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:12px;--ae-input-line-height:16px;--ae-label-color:hsl(216deg 5% 60%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:1px;--ae-input-border-radius:0px;--ae-input-text-color:hsl(15deg 77% 58%);--ae-input-placeholder-color:hsl(216deg 5% 60%);--ae-input-bg-color:hsl(225deg 6% 13%);--ae-input-border-color:hsl(228deg 6% 17%);--ae-input-hover-text-color:hsl(16deg 94% 93%);--ae-panel-bg-color:hsl(225deg 5% 17%);--ae-panel-border-color:hsl(214deg 5% 30%);--ae-panel-padding:5px;--ae-border-radius:5px;--ae-border-size:0px;--ae-gap-size-val:3px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 6% 13%);--ae-group-padding:2px;--ae-group-radius:6px;--ae-group-border-size:0px;--ae-group-border-color:hsl(225deg 6% 13%);--ae-group-gap:2px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max( var(--ae-outside-gap-size), var(--ae-inside-padding-size) );--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_quad.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_quad.css deleted file mode 100644 index 97442448..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_quad.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(168deg 97% 41%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 10%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:23px;--ae-label-color:hsl(210deg 4% 80%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:1px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(168deg 97% 41%);--ae-input-placeholder-color:hsl(168deg 97% 41%);--ae-input-bg-color:hsl(225deg 6% 13%);--ae-input-border-color:hsl(210deg 6% 20%);--ae-input-hover-text-color:hsl(240deg 18% 12%);--ae-panel-bg-color:hsl(225deg 5% 17%);--ae-panel-border-color:hsl(220deg 5% 25%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:1px;--ae-gap-size-val:6px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 7% 11%);--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-border-color:hsl(240deg 16% 16%);--ae-group-gap:1px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thick_group_green.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thick_group_green.css deleted file mode 100644 index 35313201..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thick_group_green.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(168deg 97% 41%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 10%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:14px;--ae-input-line-height:20px;--ae-label-color:hsl(216deg 5% 60%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:0px;--ae-input-border-radius:5px;--ae-input-text-color:hsl(168deg 97% 41%);--ae-input-placeholder-color:hsl(168deg 97% 41%);--ae-input-bg-color:hsl(225deg 6% 13%);--ae-input-border-color:hsl(228deg 6% 17%);--ae-input-hover-text-color:hsl(168deg 96% 80%);--ae-panel-bg-color:hsl(225deg 5% 17%);--ae-panel-border-color:hsl(210deg 6% 20%);--ae-panel-padding:5px;--ae-border-radius:5px;--ae-border-size:2px;--ae-gap-size-val:5px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 6% 13%);--ae-group-padding:3px;--ae-group-radius:8px;--ae-group-border-size:1px;--ae-group-border-color:hsl(225deg 6% 13%);--ae-group-gap:5px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size), var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size), var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thin_cyan.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thin_cyan.css deleted file mode 100644 index 7de81f79..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_thin_cyan.css +++ /dev/null @@ -1 +0,0 @@ ---ae-primary-color:hsl(190deg 75% 60%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-main-bg-color:hsl(0deg 0% 10%);--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-input-icon-height:calc(var(--ae-input-height) - var(--ae-input-border-size) * 2);--ae-input-padding:5px;--ae-input-font-size:12px;--ae-input-line-height:23px;--ae-label-color:hsl(216deg 5% 60%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-border-size:1px;--ae-input-border-radius:0px;--ae-input-text-color:hsl(216deg 5% 60%);--ae-input-placeholder-color:hsl(190deg 75% 60%);--ae-input-bg-color:hsl(225deg 6% 13%);--ae-input-border-color:hsl(228deg 6% 17%);--ae-input-hover-text-color:hsl(225deg 6% 13%);--ae-panel-bg-color:hsl(225deg 5% 17%);--ae-panel-border-color:hsl(214deg 5% 30%);--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:1px;--ae-gap-size-val:5px;--ae-gap-size:max(var(--ae-gap-size-val), var(--ae-border-size));--ae-border-size-neg:calc(var(--ae-border-size) * -1);--ae-border-size-x2:calc((var(--ae-border-size) * 2) + 0px);--ae-group-bg-color:hsl(225deg 6% 13%);--ae-group-padding:2px;--ae-group-radius:0px;--ae-group-border-size:1px;--ae-group-border-color:hsl(225deg 6% 13%);--ae-group-gap:5px;--ae-panel-border-radius:0px;--ae-subpanel-border-radius:8px;--ae-outside-gap-size:8px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max( var(--ae-outside-gap-size), var(--ae-inside-padding-size) );--ae-icon-size:22px;--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:2px;--panel-border-radius:4px;--subpanel-border-radius:8px;--outside-gap-size:8px;--inside-padding-size:8px;--tool-button-size:34px;--tool-button-radius:16px;--generate-button-height:70px;--max-padding:max(var(--outside-gap-size),var(--inside-padding-size));--icon-size:22px;--mobile-outside-gap-size:3px;--mobile-inside-padding-size:3px; \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_tron2.css b/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_tron2.css deleted file mode 100644 index b48ad837..00000000 --- a/extensions-builtin/anapnoe-sd-theme-editor/themes/sdxl_tron2.css +++ /dev/null @@ -1 +0,0 @@ ---ae-main-bg-color:hsl(185deg 75% 3%);--ae-primary-color:hsl(182deg 95% 51%);--ae-input-bg-color:hsl(184deg 89% 7%);--ae-input-border-color:hsl(185deg 72% 25%);--ae-panel-bg-color:hsl(185deg 73% 3%);--ae-panel-border-color:hsl(185deg 72% 25%);--ae-panel-border-radius:0px;--ae-subpanel-border-radius:0px;--ae-outside-gap-size:2px;--ae-inside-padding-size:8px;--ae-tool-button-size:34px;--ae-tool-button-radius:16px;--ae-generate-button-height:70px;--ae-max-padding:max(var(--ae-outside-gap-size),var(--ae-inside-padding-size));--ae-icon-size:22px;--ae-label-color:hsl(182deg 95% 75%);--ae-mobile-outside-gap-size:2px;--ae-mobile-inside-padding-size:8px;--ae-input-height:35px;--ae-input-slider-height:0.5;--ae-gap-size-val:1px;--ae-input-font-size:11px;--ae-input-line-height:23px;--ae-input-border-size:1px;--ae-input-border-radius:0px;--ae-input-padding:5px;--ae-panel-padding:5px;--ae-border-radius:0px;--ae-border-size:1px;--ae-group-padding:0px;--ae-group-radius:0px;--ae-group-border-size:0px;--ae-group-gap:1px;--ae-group-bg-color:hsl(185deg 73% 3%);--ae-group-border-color:hsl(185deg 73% 3%);--ae-secondary-color:hsl(225deg 6% 13%);--ae-input-text-color:hsl(168deg 75% 70%);--ae-input-placeholder-color:hsl(185deg 72% 25%);--ae-secondary-label-color:hsl(0deg 100% 50%);--ae-input-hover-text-color:hsl(182deg 94% 80%); \ No newline at end of file diff --git a/extensions-builtin/anapnoe-sd-uiux/html/templates/template-about.html b/extensions-builtin/anapnoe-sd-uiux/html/templates/template-about.html deleted file mode 100644 index 1066b76e..00000000 --- a/extensions-builtin/anapnoe-sd-uiux/html/templates/template-about.html +++ /dev/null @@ -1,119 +0,0 @@ -
Anapnoe UI-UX Core extension leverages a custom-made visual editor and a cutting-edge component library - to facilitate the rapid development of sophisticated Gradio applications. - In addition to its visually appealing design and well-planned layout, this extension - offers several performance enhancements to both the Stable Diffusion web UI and the - Gradio - framework. These optimizations include: -
-- The current optimizations significantly reduce DOM memory usage and improve loading speed. - Nevertheless, there is still potential for further enhancements, which will be explored in - upcoming releases of the Stable Diffusion Web UI-UX. -
- -- Open source projects play a crucial role in protecting user privacy and security, - advocating for unhindered access to source code, and nurturing a more transparent technology - ecosystem. - By supporting this project through your donation, you'll contribute to its ongoing development - without any compromise - from advertisements or corporate agendas, and ensure that it stays freely accessible, current, and - open to all. -
There is only so much time in a day that a person can otherwise give (Dave Glick). -- -
- Our sponsors and supporters will be prominently featured on a dedicated tab and on the GitHub page, - highlighting their commitment to advancing innovation in development. - As a heartfelt thank you, they'll get early access to all new features and premium add-ons. - -
- Donate now, and join forces to - create a sustainable realm of open source software that benefits everyone. - -- -
- With workspaces extension, you can craft personalized views and arrange them in any way that suits your preferences, - allowing you to tailor-make workflows that cater to your specific needs. -
-
- - Become a supporter and get early access to Workspaces for UI-UX. -
-- A sophisticated theme editor allowing you to personalize icons, fonts, and range sliders. - Tailor the visual experience of the user interface with the Advanced Theme Style configurator. -
-- Introducing a low-code visual editor builder for Gradio Apps. - Create templates and customize Gradio apps without extensive programming knowledge. Drag, drop, design, and deploy - all within a user-friendly interface. - Build anything from simple AI applications to complex enterprise solutions. -
-
- bDFbP!_gZ7&Ch6cke z8tyglHgwqU`I|4{CCpJWFgH|(u4nVx|6JVU_wZlvZ`iZ!pxL(L26ku-)z_(1fFp>b z(R(`kUU$D`b%@AKaup=reLA4 z_i!)xh!9$+N7z(2N|=r~grJDPM6yLzM9+&s#Vo{f#3se@;!P5}B`PI#C6lF8q#jEB zkdBr9C4-llmGzR%mF38V$~DVt$j8fb6halgAvKVR$X-Pi#VEy*?U?OTN~T+DJ73@u zF<>jp;1^qTU%riXe-wMWJS|wq*-%&S-9D(3YAdvr9wkWaR~8VS#z-PBs%Ou?DOPM3 zmZmfic$vZLzb6 `0sdDFvR287xCJ}SE7u%wGxTFk=J-)-df zlJAibjXcSTkG!34*-NbX^nfKvo0PznqZ+6bp~1 PbB!a zS@r7lpy=s1LDU6Rq(JIF;_qcLmmLQBD__2G|9SNT-*Ht0awV%>-kbBHyphxC($W}0 zI4cqs;CXv~%{&hSJSe?F&NQ{Cqa>ns;1=ewPrD}Uqmka_Bol8Qxh}Y>DwuU>FefJB zOyn4oQIl!Q<0fAB54x&v6?QH%+UJOIfmdt2WnK(wY9!c%!t?rCj%M&;)iz%7;+L$P z;O93}YjawUwwZ}+Bx!MJ#uf4mQdWtpPqeh&;W`ge^_=2*Cf6`VCjA>Wva!~#JEk$= z7@3}bn6kPL<4PzlM!0>S?}@dXrB3BsU>?4}>#HvlS1s`P)u_p*#_9YbP1Qfojy{Gb z5yI5oZl0Kd>9`Xl2X;YyG+gsg_u8{sbI 1NsPgYp{@F~P`cJVHiwd-4$ILpiNdgS8CAa1SRgAO{SoxJjC_Cv}?IkRPS zM4@)FiTDIJZ|=2=uG+UoyP*Ij($K>j`2^(3O=`u2HTLrC1dnVX^GdN|?~LZHgsKOQ zoU?UxGsV;o7)P6Kgx>P*-SyuEm$ujb2o4)}QJ3rFqSuSpnCnf`V|NLCnSw6@J6)7Z z>ZI;HmMSToPfGvje`Ac^lU5xKmD2uh&I}pCMxOcH?vixzJ`vuVa{_ifVfvlPOEu29 zfBdM$H?Coyq~!u0i~i1S*YMY8$Q6vLZ^KU$QdWD1jY1Fxr~00RGxiV*raHykmN$o% zu EH0^El%CD;j;HcoQfHcrd4EFu8gT`^;X6yQ1@t8^wy#y>&z9Rc zjej7*;?G64_EcFuJ7N?q*=gf`R+*V8VC*<@pJ-r9`fB$`4=#yYmNs|g*k5>>a=!wq z?s!D$+9MS8s7|^cVp%Uy>zBCI|OLp zG6#*@)8jcq9Tv$^b9rp##s%Tzn6XZ)mbjKQm(BS#`H!vo%C%hI?;(uF#V-EXBFy4X zT#jY@9G?>}Q?h>XK-(2No)aVP+2E&`maF$xEE%hdtdUjE>3XyH!50Xzq-Be9b9u+X z?;<02G%gCYAMo!GIDhWEi0`LzZcI^9fMpxY$J+c8ts;3M8m_-7B33B0X`?)0H{3k4 zw(lG-j^Udz`jWe0?h}UHxef1qKb4M@2^C7a`<|eC0EWCNS7Q~9P1jtxHvG_&n@Rp$ zxA%lKQqDPX)Y5NuAQGphg+>LS2~UKa4xK49ig?px?#x&^ B}h zDD)0{qv?S&-OwU#YaBQJfrPIlN(Bau>eW$_O0{N;M!sfM1}qds2eo)>`<;-^+*j&G zah$G_)igY4Ey**`!k^9M)%B{ed>&REWCvLjSKN(;RZuFL$51gf8IzQHDfxbX11k+5 z_6mI=RapD6>eDViJ9k`Dv_q7Mc&`4P#zSqK(=4dVK+u mpf1s}Lcj3L7rjfP5M=D7lXW)?-{KACq z1y&!c1~tNaYWA;<;$5?wr`*kKLe!ttk~&Mfwc-i9{Tnz6Rey%x@Bivp0$y|fXM#}* z{=`DBkIU3!QMo*_7JOd!_V3-yy@!hlr>o;5mb(LQ##LDyVLC)hONb f+u-KDQ55!`V@_*ujCC*x+*`z6mLUr4fBH#bX>iwk zpYn_!Wt)ylr0(O=!etFXoyMl}trzek77|hFx)&-p*xTH8J3IU2-D-%iM}I6YYPqcE zxMwsre}2TntzN(Kz?zbh_>Kdy9M6FQlHRi;Cr7B`O)(W*|G_K8PRD;0i?zi6#D`9e z58;A;S@GAO)comdLkTTH4Z~$3!805J_IJ>~ea|E$Xum2x2qTDcQpH1-kO1rq5Ve)V bU~s@?r=|LF+vUt=0XD`MaBhJ20>FO&r>50& literal 0 HcmV?d00001 diff --git a/extensions-builtin/sd-webui-ux/assets/fonts/7-digit.woff2 b/extensions-builtin/sd-webui-ux/assets/fonts/7-digit.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..31cd4f459a24fa3f2e9289f93292dd72342afa63 GIT binary patch literal 1700 zcmV;V23z@ePew8T0RR9100yK04FCWD07D!A00vC}0RR9100000000000000000000 z0000#Mn+Uk92y=5U;u(@5eN$GY|vN>fd&8pHUcCAfqn!a1@fi)YLGf|Xm(nFAa znLsx&3Qy}kOg0r~Y(}sRcd-QJ{fKf)&~fS8rCq|iCHR$i_-~EheKWJWU(A7KNz{^R z!jmRE1wysNAv8LKOf#d_wn#`XCb*X*UIL9z5e=RC(
F4>Z+*=f#a*{AhG!{BY5BlMQh6-S+E!+;XlI3J}6BP zik#)YIl%u-olb}3`AWuT8P#FUyrzt~WhCp8m*clvv7PQiMKP8GHH`qjg+-Z5ccMTW zgb^IoE&JfOZch3oo)Q5+?{NU&`z;^oFB|B<5J*DU3RIAg(&hMoiX?#~A+g2}C;$Wi z>^dHg0t&*D0?JcBKz>@ CWqSa+v`A`nn$fqm{SS1SQ8QQhPyGMw zm*?sN03d1t5D5tY5M%&Asp{q-iNw_3)tzdF%1{3mn3nCho)5tC6;Yg|m1?ctXtvs& zZm&NWj>ePeYz|Bs#sB}3r`-m?OQNCg2mRjw9iRf#l1inh)Urmc?gf{biX^LKWoWI$ zc0dy9_<48N?3BZ0;%G`=zi%N>R!TGwi8O;7f(^xnIBlm81&1Ls8Hxu`_$g fbGM+g{Kh$xF{^LyAh6uvy;N;8K}u(xl-W-rD}wfX#9iA zj@UqGP)%DZnZZwsjFpS6%80oQaw$(G?d*pjFo_5+zYL`(>j!#^==ed}095vgz%?>; zL#2{7j50(zx`(7X%OlS@8rRu#%2P>au9Jxu;^o+R%)B`NlFJVMKX4+oq7$WD8L&@( zzQb49q-2S*WJq(CBwMDGW#(oy{nchv &@ z@`n4E09Z8|f>2q*#mp*mYqQNc)qT>zGZ?>$2#~zx5h($7J-atDU%Nwi%P%LQ8h)m! zf9(8nq0fx-M-x#pULKtF7r&8(#7EA5=*V%hU8aKy(@F&S+pInxl!wbFUpWxm`zU#! zHvDdBFU~VP9*Xi5v`8Q@u9ERbY0K-d5ui^NZA(&xr>cw-(o;#)A~K$+r<+wDro4$$ z8j9k+{5A&-NKCY5;(`E-YH1J}XN6>c09l_86y1J6rQLt1H8Bp24RM7QQ;CLFZRsGi zSx7HvH=KUZVQoG_r*(ygF00B%yI)wP!J@QcHB=yUIV2?eRmc|HpqTQ7%8) E}0y){G14K^ygW?66Wk4a7qYK@7iVEYdiS<-5xLON T6ocl&)N;UCCjlohr38A=6rBWxw0%*FbkX6?UWx3fytgHqu*x8*$j80S^sF z;Da=l5W8klJV9fI4I^;x;KNE|9}nn;59ESm`hFSV5A%rRQWT$_esNVrXk!W1qebg> zQkK`q3^YM80wu_BYY9UvkCHN#R4#+E?ZRQJXaugqA=kg0CS-h_7?Bv6Rh3#5^a#2q z!)Xn0<`|);84cJ_CapCufQ~hYV6+a`*445i(H%C%xo*BlE^yJ~_qb70yY>N{9U{gx zmTU#CB+(WkBBGhf o %ah7(xPps_tiIT-OxVwP%Ba5%|tW18^WQw*p1!mQ1?7aX#)_+KTEg_@M)B( z4V&9<%=%b5it%@1yaP=w>qAXPuFJzvUBDgR9J;X;Eh_+zLwmhBv^l)%*6bBTB|4GE z-`djF{=%cn(e`4{CzlhW9p&cIi={86F8q{|d_WK#o0vD*yw(lG`Y%y)ecibC@b;_% zeSF>hm*DsPftXaP=Grx^mVHig%t_GVH4tb0Dr$lBP14Ax?b3=c lSjMrrp4Kr8% zgvnq$&vrcbi@@Wa71oE<$+J-QnAiE}|I|QCK0wE{w<$#{rPbO#x=4GRJldXtn0AEL zv3l)sv|;^F*ceukPZD|m4P(?9bnq*Kt$Wa>Z3G>k8dq(D(2muy!rGz@FCxzDYmbFC zd@i7wT^S83=EREKhK*$vYplQE^R0PXSH^d>&Ebdo2LT3Mp09(}JAgZ2;Q2k{{liW> zdmf#}T$oJRoETny&FJgt0iRLWmGRtz25!X%>(I8K|E=*wz8C$3qJd5i^w3jtc45zD zc _e{y25(vlvParigHjovV5V$aKQJ^vqJ|&-#;f0x(=%T$C z=LwAS6O8j4jFX{{( s4qj#GC^IwK7X3_#WcFQObBxF>cd_J6UH z(XPJl_Z{r}Uf CPG>l(1kRabeci|%Au(=jiysB&7d#POuC5j zXcpzuY$~8RR7gcsOeIuGb7>yUrv-E|Eu=+s30(?Vmw_KkXepIL@|RO3EyEhHf~u&R zYG@?|X%$^TtErZ*q&0LEt);8!i}ZJN4P8rrPhX;S6vA|Fr+=ic(VcWJJwTn1b{9QN z-Sh}OO8e;Bw4WZQ??3~3=m~m~o}%y3({zvy(KGZc{eYgsD*Pt3(t4_+26~HbpogfL zHc~IOQzORyC)!CL(Dn2oeMB3mgWjj#(Fx%HgErAkxIRXQ=~lXqHbWvr|4Dt+L|>*~ zL94gXKhXWa5&evQPOsCy(l6*3eINHPp!|ly^fvvPeor6MFCov@2!4fbqp#Cf>7VHi z`Uc%i_t0Imo$dqvTeOS*g&w4%^dh}VE%Y+|n0`Vx(og9XdI|NP_p=cros=r1yQN-v zfgF)fD$56bpH`=<&FY)lOf90l>nZkJ<9XQA?=AN3@ n*^{MaT`~F{ngbB5XCMZ*`M AEeVt|gD5qNq`p@jGwP37m@Lnlc zVN&9FBydQxxgps+aJc4h@>yXj%0%<|akF1$BKHa{T{#l9CM&YZMlyTV;MYhQ7zxd8 z^Z1THi95}T-)$!6MYRgwPS`0Ja$~wk88&a-G)=SR`DK#`ThHS7s`%Zc3{A4647IZK zPLMoXwMb=q1TR*o$ykF5nPp_bFao*WB0N0Po9WFdDK5(Ob8JazQK?pxof1vi(_8 z0wt&|ElN~QUwdh6skTE^)tyyA{2o>2-I)>He^0umtW?#`88d2Xq6bvp&im4QU21r4 zXRs@_cFLvNik+%&t@?mR-Ko|_eO>b5+0h?gekJ;=2xCRt^tb&$inj|vY zHK>CzGvXXm&PgwYZP;W=N+-8lG6-c1=~1fg%;1KstXI|5%VtD>QI=YMm71zl3ly`K zjN~fTozV+Kc~o7!3ItDs9amLfrL6TwPgtZYSXoI;w&iS5%m}pQ?bzyJHyw2B))JiH zFrsCG6cJpy`nYnNQ$u+<7i)IY!eRYgoF0}BtEH|sBf2}=z(uQfZ6NAK68!okL{RyL zZWLzCEz0ubz_ojeIJ0x4BGbW}?yH1LAtwMWmZlU!KfoVJ33By}Rn^omMaXMamCsbh z`eo5GhJ2z2?^Gt2r9#D1qkmMOMA16v1N0f%dij-At5?M;3!9Z_bU)J)`QWPPBdojn zz%H0!PnUcU3ew3&1no?@6)60O)+9G++5Ta_phI{n*BN(T;mFAH8RuM*1ZQkJ6j1}c z_I#L~PUNzfhnUpTd%;p+kMY8=brZ%qjZKHk1>S`@A;Z0>N-ekBO2=-M9yh0qsd3xg ztyEVlD64okL$HSO*;cIhL~{}*Xc}`_ZLG4kRz6%C<=inm65HUBa!`<)HA8zA%=tJz z-B}ym gMx5FP-i_=A6{?C3lzzm&JGZ4DylZh?X3k;EsgH^udw(LLp{?+-)v9 z@sofQeV}nx&}GHsf)B8Lv_*@vv uL{?OA|hF0 C#2?m!c4Z-Ce&+=GMJ}_ya;q(^zx>k9k2dcf^Y9;7B^NhDTR+~{> zogw#Bdslg5Rd9R JPIp;eOjJGE6U3Bd$T-Jj<+~xZV5Sr z@DP&4XOhSRL`kX22k@xx^gmcTNmZrg{SyQ$y`L?xaE(fjwLW!&P5WzVl+*sz*NpLw ztL^RIqpFi?rIoQy_&SGRtSj2X%v9MQ7Z)jmbO SOt`>g%6 z+Q|f^vXDyUK~+_(VA0&mq)rvT{dKpWHHXgo(kvH&unfC|7;!gzI&g_r?W^psZ1VXk zrNd28b*M> |1so#19oBQ zp%F_C4hCLarhKL>V?RTz!}tf#@i2}IgxT8q<<$DKv!pEM;HA<<(y-HX71yuskni$s zi#4g|C%2@etXT5Wz*udfd}?tZ&G854)H`RUnk_>|a&8k5W1qj^Nee;;?)y*kvkkT< zq4X)>D9$w;%A7S?Io-*QFQikZBeEiMZ0@ujod@A#UggWnJb!eIu_$1zQT^-@?lx)9 zUXZhcv$r`8Z>-qB&7YXNnV2H12fnT$9N(F}qRPhaVxaAV=$&Mq`8c%MkP%}TyE1St zkXurmfg_ qt|Av{WbUJg$xYnj|c ;BX{!?q4rb=mR zV+#eMrH6z@LA#BwJ8xX<*pa5ZadOd-CN-QCJ9s!RoFrErjux22{&A=lBhh!8=S&X9 zw%(c5S#pRi5-3+Dj!5U7;QVZTH}-0VAIRW5XP$tcaKaOiH-PYz<`zQRMc6(wv`#ja zx4h%~pB?L4=N&IqjP><5#NA5o3a5qaeDicdee8*BJ)vH{B0E|q-n?ZU5<(%)FGjKX z>Z}($qU8G>Hy>;J6xYRq={*yB_4zFp;vQ)99BA|$$k3u8&e>QvHF^%j&IsM?RE&kJ z{hq5)+DCwhTb*coME=By)C4bLud9xq{=9U$` xrvy{(o@abK3L`@6nyw zVdvo*E1sKri^#Z@Y4jXu4&K)rJqI%1xN_4wG4>ff2XcR(Y(#tF(Q_dC)M4}-X!IP& z{6F=t^BjmMU(UDRL&pn3CM@9%@=6ny@o!3*2`hMy)xxVn8x8M&gv~Y{ywkbeguQ4# z)`Sz#ey<59;vMp*OgI_uqMu^f1ge7fOOus{IIICqlhQftVR&f@hrJv>i^Dz+FXC_l zXunOWHerc$={*ycDMfnSgcVv~<5i)JM%T!GvyF!)$!#X=Mf>YbIDvHe9urQaTjVEA zIGGkJ20e+4PLuv5Mw`;Y+awG46b>KZ_%y&N%B>vE06Z3XCyWo7Li;ShY37*O0)9N; z6vd!nB5z}id4bSovH(xz?T_*CXL0zq4E6~$`-Jh61$?qe|B6s!TR3u4LnyMTA=IpY zTc6R;-rl-k_U!gZM|eX^b9-C s zT;I_YiY#5WI#^Y9wSlj#SiE3OIMUYG(yY(PFDMXUeR-(4BNW-H&nd~{W98|M&5iAi zp(Z^NZVHFm!sbxy2^eS-Cs1b;>WswNhQ>CX5vFemwdw04;ZS?HPVZ=IY_8WUfL_8d zEfKvmzeL{ NM~rlxb5hhkLNext{!kJuI<3A$8|H(Ir1?=Ay4Ee;&25L zGRpDQk+886NgB1d52I%XMqm^!MGD7iByLo}*stcTtoF6&u^2S0;k34aYW92`ue0Z4 z{DL9zI#NOy2RiupTX~NXq?kB#F}M*e8bNs@S~cN5f~Pd0gg9^Fsj}u^P_zkcEDq{6 z4|ODXFm5(uh7G)4w>hRGVS|mUgG=l=Av`w>3F)Ab&8r#wVEi%oyToq8q^ctkCLe#B zu+bu%$2weLBYHF-X{HL8dfcr?8$$x|vfF|uZ$aHiWLSeS4Q*naX@tzId&VD8zqp3Q z)i={t^+I)yx @A0A^YX|G+;3xya0M`yi(b z-dlzT`CHCFdW2^n9l;zwM8447$luuw!|O&a&vE1cZI@(8K|aq8WcB=rdL@ et9bIw5KFTY8t?qds~E8BR|lN9qtVm0m`k)HBF5x(zu-UqcSn50Sa_JpGU4 zk-U;mN ZQ=HiTHX<9NeFFdY%HBqRKmMd6co&1O>xBw{p^D*Jd*zm$qi-5 literal 0 HcmV?d00001 diff --git a/extensions-builtin/sd-webui-ux/assets/fonts/E1234.ttf b/extensions-builtin/sd-webui-ux/assets/fonts/E1234.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7058d7647187a1acdbdcb253bc94205a4de983ef GIT binary patch literal 13316 zcmeHOd2C$88UNm~Z`a4#-osue*v_+^coRF=$*zwi1ji)72_YeebC@HClX#y);>3*| zjv^4ys((}zp@1r4RfQHrDNR*GTZ$?aDg^zbiV;%U{y`~9%O8zUl~RdT1cKdf=FQB` z?Ay0?0*zY9yV`xn9N+c(zWHX}JkS836dncxdN%j9rPho-V*_aG@$SLCo$G8U#xqEN zihrdCh6hI8=~*-dpg)au{^$&hj=&tK$MOqUUf~?MKhylT4}Ss>=m%)NJTy3Pu;#7B z-@~%A`0E_P8{tcVOW4-L>-j^&WB2WUb;rwieHyPnI&$p5z#|_#hJBkOczt1b;Jy)f z5RPE^LcF$*4h#=Ae}BgzfF;|JhwUTBM#mtq{sDm0i&&=zh%ETK{6PIb_m;2x7nFqX z2Ed=be)1eW{&v$TEsflzgB^Hn(fXtS+XU~Q+zr)MMoVkyKw6ZLQu5L1ol!UpMf93b zQa=G~`ve5A_i=0w*b6-x zF@7JEgs DvNl |XfCIKL~ zBEQyjA~cu*D;O#&E-4L{l~+Wfv3O-wqI%BU>uPH2=GpZPjq?{YB^NGgZdrVNYul2g zsdRfsXV}x0$|_3U}paT_tp^lB?b-0y;A=V%a_ODI6Mw7!Rv5Qv$d4gul-vO>2-Rq z{@-dq@0nn3Gsn$0&5r^VfyIGsfo}$WV}-1>);-oM*2SP5+!K5vcslq& z$P6`y?g~8}I$u;%)L-;)(d$JQi<^tL6hB&gruegxWhHl)oGf{( 47s z#c*@@uJCyHZ1_Ui+_IjsOxe?Azb~&T?=OF<{PprrE1D}Z6^~V%srW3?85xVb5P385 zNz{rqM7yJRL?4TuiM|{CYxI+t6|0W5$F{_d#7@Rui~TP4e!MK+6Ca8{5q~XyzVaa` z5|JhVB@lrGqOTDaK?mG~Sg22S)hD!Mq$?2#(0}EemKyYbK|@nVduKXTRT;Mo>D+`# z$8oe%&KIdn#?jw#oWaW(el|J53LSQwJiB_&p4Dr1?_R@>)= rk2ADs*SW`^uTSUk@})4_H7cqn+`^Ju6IS-j614ZRfmLGooiLq zkI>8Kr?3`wuOlHkisaCU$r?~;ptS}E@h5Ckm;_KcnH)?4!7pu!EEq)pro;3Y$*};X zPxYgS<}nC0GFW;GIOfXWVz>^{uo`Z|m~}U*ydl}Db+mVNYh8%K1i~ W$q-oF3A zmYR97?(YmQOO#iKqk6=d-}tqPmbSXE)@09bY+k-=_w}ttB0NwTbCy LrnO$EVDYmqdV0mrR+{B5tTiX_n)CR^kE!0~lADUB_TC}((p{4KCs?!^ L&tFK88j9th}*^ajJM9#V?CUDt-&b85PUE;e@#l=%xb`LOvyKm?V-BKk-O| zas=|op-3TX$c>-E4q5(%!gzF4xfjl!4SvMN0gunua$9@7K8Lo)_pg95iDy||k#U6S zOR<}4E1yxoqe>;b7uKsQTLHZi+1!zb$Ih7xcZIlgJu64IS-Z}J3lB6EBO7RA)U_Bp z7`9~l3OsR}`hW+5d9X^xe+93F$9_R8S4LvzX;ADDRIxc7(x-_FvgPH7kfZ;s{b#_H z@U48@U|xW;m3_v!z#lM1BF;5AO3LRvV)AT8+s8wvoSl62{gJqgxdn~$B&Xw^NWIV1 z3mtDo8o^ybcp%_l;3{7y@kI2+P?4)!mcG$3gxQQ>6myS4JkS{G!ABk*SZon^CpvdW z7dMA<|NX`RLBYob+`MAinC)g{GQw2c)8s|LmJdCSDR-11u|@V}H~&`T^YcEHzF%&w za#7gdvN2ZVYJ?w#ADIt1#<^I^2KC$k%Ps1mEeEx0kq *I^2Z z=H>%Rt}n)9cf|72Rc)&z#+ 0V$qE?kMF$E^o5#v%D!7^JPuQ&+-6)XC*^r`Mn3a zyjvA8bdH8`zEEG3PX&sezFgL(iPx^|t{zk@h#0COK(NX~CyP_LaZ^FJjDdW#B-{}l zsT4h!6O^wo7i3)cjZJyhLT1Pa2LXv`1@$0nn_+_c8O_&(&ZiqExeBu5r4L=dj7-?t zCl^yC_ZZ!!%hnP^E}+=ll~vFY^7-_PFe)@xljV@dJJEku4zAHFi_NmXiTRQo8Kf~t z@jFh&<9|}{&&noz+Gi}6F`A7 N4Jw|ue$^7G}Jmbsd zog0OB?qNH}hpwHTTqtww<)iDJHM5*s)tm5HUqmQg%X0H+b6r`hIk|pzj_0B6<7Fx) zuSK3$5P#CRsLsSWOaum*m9EV?D)LO$n)Ams-|>s8{EM__1scd&ADOqo1X=4_q>**} zY}~@d;n{fyd0c=ha_7oI?>TczIT{Q7iE%|tpnagv0?h2ZBhM)9n~U(U?W0pQc1m{3 znNzV*t?=4_8Ua*_zQe`ryu)386yw(HyhB=zl5yu7x3kIBG??SV_y63pk=c2NWb@g1 zhj;)l&8b9un4Ndf?F%BYoSk>@{RlZ@_W$|3<7)SrT%&y&(?0vZTK=!PotsCnXGF?V zD)rfrn3|F2QZ#2b+NHTtPR`CoV81mtF>j?quV?ba@=M?KTQ5el>kgu8-|4tA8J^jG zj2Z0Nn8AJ{jXc9+>nPyLKy@tdNy2?gWS^ALPUegY+{~HmTjJ^`vHfcIM16^NWPOwJ zB=&AG3yVEioI#$lBcEgqAp6|%%RK}ADxYP}(B{_AG<&KTKBf7OGRL|iAMk9jn>@?? zj6B2ruhKv}k+>viC{pB`BdT+5;l6ya25qIp2G$>2%T;3nS-%x7t40If9l_C8x-LWI zmDV$vFUt1H6HkPf^7(+^Z+1W2)$fM`+`sW{vRm6EyXC7%)S%}Y?uBk*=Q@;OiF@CG z`QpAQ)d|2#*ud&o()}VlFJt#hp#i?d&cj**yvWYWpi_GaevCW5Q?P{oY*>fi)o={P zU>gjA11Ip^f&tu(d^0S?8fj>U6|fUaj>9M%!g@!s^-^fX_Dg*4-vE8sVg&mfgkjiE zTiehDizUiKSUQGvMzQ}k{5tsEPx)v?8iQE29fpwND7NXPbjR?l56?1Kb}!{|5bwA( zj^ObCwmORS2jL*zKY`~58RaqTiPY_bTVNv|HzQqASMGVE(gWc%pVUNhTjETm%efhV zdyv0FRFnJhpU}P+uL&PEmJqr(!B%=chVt8ZU)9DaN^=}r5FL&pO``iFcsz!89n{ul z>|rCmB0xV=N%*dNmh(S~*9N{15I}5{;2SMrL`XSQ;4Ymg#2^lpP=$Mns_}i5xwyl% z26tc7!93)q9`VzN_*;MoOu|Ckq16m6Xua!^gEq7~M@9#9qE(l{a+Ki)#O0094XdCB zWm^qv5kb9(t@Wt$4R9-Ry9xKtZiX!=_cpY|cG!U$-Ua<|JKTZq1l)yh1?<5$7WScj zo`VbUJbVLw2(Q4;;Z^t*yoGN!{1V=VGw=rd1K!hg&CoDZYL*t%Lctxw0|$;DI~qK} tk4FzJNv%l*PtaqU9oyNlgB(-o-X-|Xf&n4aO#}k?Hbgnq9(}h5;6J?5J`Vr@ literal 0 HcmV?d00001 diff --git a/extensions-builtin/anapnoe-sd-uiux/html/images/Guru_meditation.gif b/extensions-builtin/sd-webui-ux/assets/images/Guru_meditation.gif similarity index 100% rename from extensions-builtin/anapnoe-sd-uiux/html/images/Guru_meditation.gif rename to extensions-builtin/sd-webui-ux/assets/images/Guru_meditation.gif diff --git a/extensions-builtin/anapnoe-sd-uiux/html/images/anapnoe-gradio-app-visual-builder.png b/extensions-builtin/sd-webui-ux/assets/images/anapnoe-gradio-app-visual-builder.png similarity index 100% rename from extensions-builtin/anapnoe-sd-uiux/html/images/anapnoe-gradio-app-visual-builder.png rename to extensions-builtin/sd-webui-ux/assets/images/anapnoe-gradio-app-visual-builder.png diff --git a/extensions-builtin/anapnoe-sd-uiux/html/images/anapnoe-ui-ux-orange.png b/extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-orange.png similarity index 100% rename from extensions-builtin/anapnoe-sd-uiux/html/images/anapnoe-ui-ux-orange.png rename to extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-orange.png diff --git a/extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-theme-editor-advanced.png b/extensions-builtin/sd-webui-ux/assets/images/anapnoe-ui-ux-theme-editor-advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..25feb5a139482d69d05bb9b75d9f26227bed5b95 GIT binary patch literal 956369 zcmZs?1CS+Kur}H@ciWz}-P5*hYudJL8`HLpY1_7@ZQK0&oO5ry_s4q?Ywy}su_~*w zc4n?GGrtO#mlcDD!G-|>0)m$i7ghuUf`|hG0>g#^`93oKPzn6K0d`ar69lTB!ae!k z0W%el5dZ?Ji-mnR0RP^HwiDNI1Oh_n|K|fdY+Gs!1oTxTAuOQmrhDEA>8Cwx|AYI^ z#KhF(&d`65*pwI&P&kl@CQb$sUMMVqYMmo{n^om>)BW@9{O-kgJf(qRbPRwd9iKoU zI*RHD07fEAi{HB>wgzI8eeEtky www*B5OKRxx~sd; d|TzEA7$N3vcK`M>4= zEA1LWu+aeH`?9`gX2ujh{^vffe+aMyiv2tN4?{kD`@d6@CCNnoSHvcFn922j0#rr* z6984`#$8?d?=d8zz6{7&IQ)OL*(?uZJO9@0+7^#2#PENWw8a-@cKcTaw~F1WT7y*S zA82U*%s)Ujr5Nf{KlooQMumg1IF)q;`2M>!w+2F9=Tl{ol;QW6JJX4@_)+7Cs8M&4 zap^{K+00}8uyqKK3^r>`whZv-9%0OXB=V-Ic-q=t?evHK{Q2|ZOx?(cWMywSmOA^v z-rd~NvZA7b8WkqdWh3%`p7qK$4#@9;x7Sw$Jg%Uh0SczqgOM0}5Wuc D_NL`I~j7 zcOhUDA`zw-T{ CeQ6roQXcNjPt%VRp5hZuN 2 zwu^HsDlE6Uyl0RN>>%|1*yu<}!J1ru-=w(ke0Hz(SMxsV7*TJh1aD3bk7x60Z6c=N z!}rOt``?nfRSq)PZP7=c8OB03z8^9MownQV0Q7`=nj6D>X~1ZJIfLExcJJk-O&;<} zhx^_B1?7F;KIA_(%#L>+X)Y!f+M3P6!a~S?HBGOdIdrD`KbG1X;w|Qf^}bSPB>0wH ztJUFlv)<|`_XbDz^y9_LXDX8u%EZ_hte3wug5)1h= ?!-cNf @u#k|D`1p8jI!NqN zE3^Xz{C|dR=lk(&0pU=zLUwKYdHuL-CWk>W4_TIz{#s(X?Q*paaqIJL 29a1&&LqwgWU3J~nn=Wgr%K9$~$| zzyIc@?gXRci84vDBr7ZH;^LwNJz?mKYhZNG3}xCE!;wFlOi)D6IhK7uoH(h; J^%t$!vE@v%PAYp{Z*PNi-|jIZf4fwuJ&%6*V?-J zsW=F=*Z=*eA>wi{*zbV}AqQ%70WUpK-{?+;Le^XBu8WeQVm%zdU4aQ{fw^?5lEi@_B* zDljAV19pAB-uZR}q+>ZUJXi)3JA6jL)3Y=3OFY?oq$#G|0b=O0+F)1=Ljj0zs%*@a z 314nOb^v8T@UWtZdzk~-!3$Q#R zzm_l>eER*nV6W;X=TlmO?w8DmGi)4-yH=v|C5au8pk=(wffErS=Ux7rmT2%DQ7d-g zeijt@MhlY2kJIL#pnpSw|A@` oNn`&72DqPO_fTf7Di zgc$OJZUG%e^pb0)tu3rcnSq-vZ5yEa!=F*%aZZ_tL+!u|JGuV$9H1%HTMACt=I=lv ze>sqIq6?q#fTrTdfiaD3tTWZ&G3{41(RiYVsBR|U+|~2Y3%RjqNJ19!`17`hV@`83 z{)qAE)X-|BO_4$dnOSKF0}^n&9FXL0l}rST>WL2R99s+&Ce>113wRnn;`;&zK$_TX zp}5#K{>1p+#7$)Lcz%6;AO-L?#s9aIkA_y}n$1tyGazrT>FVjxi-36c+Z;}$3o3V; zvX6yi+3H#8>jOE?aUNyP&&~pa%x122Vm6{*R2t;M)6&x3qIsIEHL#zbzaR<(@SIgP zFzCq&>q9U#7-|sW!0Wvo*K5eILWeGsH8$ru5V@7*X(Zh)Wl$S{fH#(q)11^6$Jc@& z*psJQrQg)qa?>PNYcw48_=BR{^X74amnoMwG$?H{DF0dn_TTB4NMjU2m*zlTPY4Go zkArVNnJ?Mv(C01<2oF+@aIEwB@ThF-ku}5FO5l&(DdNf#T4PVc!Hg@g_{Uy9JFeQE z2I)UJw}^TZ9DQ0*hy-CBI@yx6&Nn^dl`oCKgu}s5J5B*bdsG%jr=kd7xS*KhF!F_B zt+*p(qBbIU lI M*IjS-y=JcF8m!fYy?z`Js;;nKvb7MFxln=mAu2T*o{uIxs&X9)DmsDg| z*IUu#cLv%Iu^K|W(0gNyPXb0uot@p4#FsDbhgbPC25k{JAl}-!U}{B^LJ{v!0Iu#y zeY!|HwmmT(jV53G3LvD`(L|_bYB!l1k>%O`O${R`LIop;85X3EU4m^P>1OPh=ORpk z4EBJFMwwz@_Jj#C>tY#?5v!IDJtcr*5Kao@&zsFn6T1%U0tZaN2o5jKZKWR%mbYOK z0V_l$pI1(+t0**AFbMK+#X|uABJ(M{r1#1@55c>2V1735cD%7(F?a}zLm=SgwvT=L z54p{QOhAnq132j(BnKF9TulDR${%EJQ1Eg2|22P`EF}?(q0w%sEh#zrUhvXj8CP?m zdNN7D>=IZG*;>FE?(q10v~6mE(_bdY3B3J@vL7E^r2Pr^Z@2=f&Qz40SqL+Pm$Nvl z7!#$r?8%3q=Ur$--7_724+a+#)3Dd#GSf&k{vcBtAjh#pxdGCrjGI{6YBm3(9I*%_ z3(O@M?BHO1GrOxgMN>YMKb#pr#mK>-uBV5HcneOAT*nafGXmY%mT$+7(Y&p?H7a8BQaMBB82Qt9N+VhxBftyB`XvF6!f5@ zTivqj(4`TF!|g+cGVMx?e(j-vn(LI-c;GjP13$GGFQD9#bsHI#cq~38U#PmIfmCgc z1rDxq8u n{nUnIVpzl%^E{&g~cP-jjS_G^tGL%gJEa=QL?;>~d zbenPceCv 68+Uvu(m6@>Vj1wVpB5dU2taz2H9L9V44#%v`xm9 z=fLXjSSv9P-Kwf0=y_65fIeXX&uaBRszQFJniJ_%#>RnUcaJFktWhv$SPDZLyqdPF zSCFNo@eV19L7#^TJxT`}=9cwVek?H6aCJmwb!G~S^F|sr#WLmVDeyDgpV>=GOV!nM z!o*hpLHu!kx;J&H=dRJI_hYa_C>&y3v>2|GP~9aY2Asv^<)?=S|Fqn62ph(V(T>O$ zxgZxfwkX`+->WtXwmOHhin_vezF=o~7-|Vc8d-QSpmULetM6|igu?wmKn>-=>&`-7 zW`HphGzg%5Q^6cg2@Y_#c{m_YekYJDgQ?8g*2!xSM8# (NSQx z@XJPrc=|KMHvWVQBo`Ofw;>juf^Im4|(GE~t?VJF-(nI4gPzQG~}aQCgMcqJ`PrUTKdFQnI8B&!lIP$^UC8X~x^Py8A~hLgd9a2KTW8 zYlse48||(KW65ui7yVuZEI;7X=MfPQrm}uwG&bTgYq!P@$ZF~{4d&~Dg-CYa)cs<{ zu>`by f#yxO1emA*ZsQ%9mI*vm0I%YeYKczj^WwGI_JFdK$BgcqFy%I vs^5&Wi`} zRcHn~mse^k-`8%=9W8ius`k0yO&4{&fj$4v&NF8bAg4XSN|o|Y6@Ph%Y66FH@rwb_ zSSZqsTO{*UjqQ3Qcg*wRQX_Xamhwt||Hfex145HI<*DJ5;oxb1dmb*?HVcBNZpHy5 zzvT$d(KvFHQSuy*$F4Vm_51fj=^y=aK1%6KbIyhow-W<`K!U{w&hY4aK{oAK9C~q5 zXVaR#7jK*0X0z+RQB4{+R2c^i{n=UZnBp&fVsD) ^a8GaG)FKuS44CUuBCC zpH3_WdcW^PtxHJ$dx|(h9e_~pB9v%xk=x<6KRbN+d?NRBxk2s3pOp!gu zs|S52p`<_ltt0HvLeLzot*xQ #(4y zL>Bv05zdo__X5E}PB*( C&TQnx$=;+n7-N9RlO`rdulwU7j)(fr-jz!8U=SmGCIx3S< z*Ox&FaK$w+iN_-yXJ-VFrh=Izprl^MGZ9PlN@9zK#`b|HpKO;W2bS9Hy3ur%?*nVV zo&yTbq#TfNrksEWdtE1lF%8g0A>&tI48o~y$QRM}#K-dN=^N=DNMj}o4rN|}X2c7m z>*VD)!aLs{ySt+K02$?ZemZubm= Z=_2Pm` eLabe#zlfK-M86RkO+md{UbF#a$c!4eE9m zOpc?)V8}~^NYoaU0ISw>W`V@kFIGNr1n+aSNj)PSldNVDku-ed=M )OL3%$!{O4J|K7M1t}-uJTwVzJrYj~+f31*1v8-LH!^Cw^)TuK$z~FsBbp z>`Hea@@i@j0SdJO^g#?!Lb^6Zz)LZZvyb=pK@i`l_@C;)c~24k^~Z70i}?97!y$Y- zrBd;Tqcjs|I_21mfV-mfNxUSg#14}Im=u0 oO_H${e@j>@nhrFVq+=}7Ci!5mQ zabuem=t9NJ$nOxR;U=Ki%17cZZ>THgcC)6I9A1jy6nrLeVB6Dri>FqfmU7aln!0~W z2LfoDXW%AQKn1M~RfBmRw)P!0_+9i|!cdq5O>0ss9?#Lowyo}8RJp5}N@DHC5_ZE? z3Kwgb-ZKWgX2gsX7L8N5i`;%;M-$D#is|Ug3u<6alLSmzn_y1Cn&8^;-dxyIFn<97 zmmy4CXIryYTOm=j5(`o`wyFlvh(n&;#DlEO?EWJU_1e-}|9YS|CZ=C3rjbR)+}vh2 zP4XtFAcPvw(H}sdMow@ZAzTj$5phcFe;BNw$U(GZ9i32G81a(B#A`vx$mI@{ZSfR| z){ Jsn=drZ~dT_(L8B1q83qL)Kvtph>2 4dx9?&a>6{pW_q*O@T4A}K*UjLG_59IP1Md!U?AK}U zjaMk%g5Z@lX=s3)1CzskZ!(1X&unF?;JBU$+5d19wE*2i*A@`RD17^DcmL&no#CVt z>0n1wk5c29eYb%+F^#_9GFKl;h4=#^9 X|a&O9_m z6U0pgOL7%7MIppD%JD^|C_etZ%NsJs $I~XQmM-QoK`!ly;cTyQ>HBRAo*}v_ zbUze5x1mYgiCSDQMW-K#1l_iu%NZ&Lf}VLxGt>pKFXm?Y;1Zm3sX|>GQu%hxdH^NN zDduQtvMA=yLZyoikjs|6lDosnv*Y8QQ(t|3{WRaN3sl4J(jxEM+gmIFpRShHTi{>c zQmU9ipVxVbs#h_-&${w7k6%eKW&d0ChO#wLZZaURkVwRMS*<1%JcyP#xueVW{3N^M zr-&aa^=WaCyI}KjK;n&}l n@-Ey(ZGSRXnJA2(jGr>;PWog!AsV zT6KDif&1ZK6FOZk=g0Npp+o6k75a2R0uM(b`uiLt>|R#UGd(RI&(}k#8QG{yp)fvn z5T?_XuQS6-D{9FKX9vuOe1RZzPvSuF;xV4UZFu~Kv|m}kXmz5Qe-6V7{z5V-AdPYB z?Ez~w_(RNJZg$q7GExT6wqkRcVWG&!4*<}qz@N;}%+i6!R~mMMD-euDk+o#Yn@z1H z$sv`pIG7Pbv)D3EPaiPtrkxm|;S`9Vq(Zliuza+3;*|_VJCP5%%tgor{Fum33O(B1 z@I8)qJg>aB2UB&yb!d`sKmFKG8pt1*jN?NLpW)_;vn7;~D`4S_MjOislu-!I6;9S# zjY5H1S5+GMnJm&3 5i^wp7g*GT<|fbvwJ z4i>HKpulpNE*do@PF5-VF!f!#XPO6wHap+GYjd72u8ZT79^}w1lSg;A@xk9&N_EQA z$) _f`aGbHZYKtz*$g5arA6LHe=arn9(VZY9HzwX6S#py;< z#Cc79n3FPoGhg|9%_UowkYL=+P-*97g6uoBBf0U?p|^Vr4PW3O;Bzqs+!sXS@og@Y zu_VX1ZIhn}7s4*ga%Yt&RF9&NVz^Yc=GIS19Gcw!1?0rgPa7+7G*m1%O{Z@yEC^1U z{%R;|er#)n{jFA&)%Cf)dLmt4581P@8%Ud^5QLTu$F?Pof;XEwJYX_y$uu1q%mulb zaO*JUhni=qT4l+1wd;PQ$E4>_=-uuqAB6uF=QD-Cxql0I>{Sb{708nV2^&aZCh#B_ zWWtZl^{T%24tXU9C)R+(0O2at&Ye&o1xA{zo@DKNhAhzo2SMzgxk;cxS(?>$9P6b+ zgZ!ZamW+c(G%yA=UI3Fk#_#F=GbEu*O-G*$d7apV91b^{3$g@tsHogOG##q5X%!cq zO5`*}2}Ai9+Tr3!T%U+@k2o!$7?uQ46DG(r2gbhFNnHA=e$*|WPU+80Yt`1vrX0Sn zgAi{{SaL#)(7}1I)eD&aa*VV3=K+FwtzH#KN*CAk${0SD5b=)ojnxE*PhK7TxQ0+F zHE?`+BI-(z2`)?GB54`mNA83*GTA9YUQ3V$I+Wb21CV;DLjcl<46zHhgfz4+Cpo8? zdSO7B4q4rt`K|#KBiirx{X~BmSiwcAo+b9t9&-9r;rU?X #0+!%YI%GiEnMee)3Ot_oLRd z-qXe8vbX8o!`8-a@0In-%+sIs>p%>fj;sWazttnW2lm_$R^SmeAOat`g-pT(wdOc` ziPP!JnNy@9#MdWArI` w zmj*lt%G?jmK<40DAz_MiKSA1RHC1m^UU 81VWT6!0W8oG54pEik}?| z{-&5JmsX`5#zuTiJoprr-+b gM>5i(*A{4jkGbg zSc}#Y>Ol-TS5Z*keCH^-7^qW%QxIq*O_bO+VV6J0qsV9?93yL2oG4YYsLk{Bvg@d; z#&<76M<+B(ea;?GD_IN6wj7wUQ3_PXAL?Ha<2MdR0@G*l3%=e|C?dr779^Yy(xp&K zRwbN2*(^@H`BcBCQQg04fRB(a-d;{V|5RL1OoDq9$C+4TYK)X+OuHDxQ)ux=T~}&T zA`Xy;VqKwmy11f+ZeCWDAX*tN6)Liq^#kc8+M+@TgB4*oJ81ieEFk__A&%Fz_eecK z?(zrlJc}qPWtkLEes#jZYU(>uJl*(r;0!iHi7>1y?J|u%J@_Hxvk1hV&U9sd1FRYW z6WD@BV2nrX^SMFLwc#^GhnlYeEJ^=w_qM~?fbLl^lXU0>&!vM#rIde<&g1Gb`#Z!u zUY&T`J088HP7K4lBsWLQK}muovs%B_eBLV*(tnJS2tJ#Eg|Ae<_Asqhy&ZM?HfIv# zB?l3#=RV;5O13+G7GJi12yQ75*f^qyUF(h>tAie!Wh-B<843gzCEw@P{)n67yfc4N zZPo-MX76boF-{=#asVwKf+ax(C$Q60pp;}JWan-0y}G>Iyc8G-4ZYRD8}99DY()_% zMYVvc%*+|%Az>Nfbcia=@v@aVb~Dn^eA#ds=W57^`Vk4{G*hx&CHA+qXQtv QR} zo6AcgyB73X(c2u>TmNW~HY-=4$KpV9Z3_0mTt0fBhsqEnopkJ2|8hz_aR|E8@MUu) zN*R#|R7>1Iq7NTy;HG;QIErVChl$_ZoQRVNh6Y1bxkWUwQQQd*8DzG^1-h|E(m+0V ztveJ^VvGtZwu!y `o n`xB zyY``|*MA4>V)@3lYNQxYG0qmBpDtf}R?MV=@=#u;iQl!?g{tboPeY+5DzKcXu9PdA z>Ib# UBL;zo}QkRROI^-Kyoq&2JGaHKE2y`b%DV5=w&C5d!=88+>SmP z(7IY}WqDitV{IN-XP-Wbp&L55CnPkK2&`u;mVeZ?BqBf^nyw{@O+MSpnB76kW W%}~u zW3t&O*H(M^v*b$CslV+Ju`1oCf9+(1uLZm8;#Fn7MsLyOV~ouqfNDm&I_$f}6JPc< zn8I@mKd Cq~kov EV5=A0t11!csnN%yipHC6Hys z)?{_SGNYAq#j(D4MV*Yxc<+Mv_<$gnp-Zl?+HHA0t`PYydA?Al6#q6g*u-8X_?dWR z!@J<#m-2SpFrAfn!)pSiUqk_lR;pi7%FYQds4He79*N68yIZ7mG-WGl`+n$e{a5d2 z+eZ_L_+MQfxYu{7qk^+*#gEr59+KB@uVm-(1Ok(`GxxH0EEy@HOH6IgURYQl9DYV# za^3J8{<$fjsO@-AKHi#vrEg3jnfPn0D)6%;kPGHL*a0ZO0z_)I09d`_&q$5 |`>#_p>NAXVF}&&;6dgG7mypxoyV{L_8F}*R@(PR8V@akS`gV z?M7=*H6v=#iTTCD?KQ8ejkxINZpu{GCeiwo-{*}hJKw|cWo{L}*?w1Y$h%}^xT$tG zK+E&Ml%AXX&zZ>Uz!VOuC9lgW?eg5@V7b+Dh&3l!7E7hxgPzTZjc;-2R3?b?8ss#s zNAN#rh@q~>8UL(1Bm`n#kc7`A%Ef;u`uQ6eLnrqKe>eL7;is^qY09r|c6wsaYC3)M zQ?z5M2LVB5ug8Ze=j42jbT-X7Ud9;vGViNB4zD~LfxMg!Go`3^)liHV2F-sPOc5=E z!J6G}c0b;pgv3y-zP?^!=|w(^_}sx-Y1vu&nA@H8zS>O*bJ}wUt!UO>1;zDC@2S~o ztZk*qG=PgJj)cL`RU1uAAH_1b{ ?aq&95Bv7(fTVsH$p|o{$V5Cqkqie5AEJ~;Q zoIT+uO3u!KLLzLV<}$3Hn_E5b|M~Vy;M~6lsLF^m!d@9A0%=u3`eqcdP4Vs~lKNM5 zDWH9c>zl)HRj82+nT8AX7mFm4%J`TNjz{by< <%u5$IGw53Qt$()MeZDomjOg6rUq0z1L3zTKY5J{9~*;-j~r=)6e}P46oaA zbE1he@er1_*`=3j@+sl3T)Af6t)06-OW5O@kBfO;&U@RoUwA_R)x~CQi%L5l^Y4%r zb3;;jb$k2uxf@wJ?3hF6mt@m(f*>R5ZpZNJgi453L99wS`vG@59ZL=sm^PR}vKOFC z1qw3A8}vAGEdK+4+`a|6x9p~mBe @2oLY4l<=TtF^0RSbWbvt-81l%u;&=3P$yMmUYoG$K5{F%F z$uMYZtoh>Vbbi@N5l65uMjJdlJe_F+cnJ+9iXGwv{=XdS*nKK7DUC1#@?;w6n-4A% z9~qSIblkX41)C2@gz7Y5!4ho<>E83@dG#@N&78#Teo1>9{+aDPd?Q7}g-oi7L3{9{ zhgBB+a?*_A0uyHX`TOSBPR{t;G3RX^%QTZHlAo*+ Ley!Fja$O*&UgVVK%-YJ-D zUsHGIeJJ$^+&Ug97uqC&TZ4%%<%d+mc08P@+Z#1$sJB6-rZ3)j?p7=Nl|7WL$NQcb z-K6I8cu^G_DBm{ oeZ;G_J@VfN *muv_Ab{wuuTtZFQ5T}7`?D>7D7c*Me4@eXyPu=gXr{ml z8w^XQQ){8q?yh{X<@?w%(~8?i;C !jQ?&9eb3gnz^y{-oz$? 9d49HIyeyq7z>pU1mrU>%%i^i{85prmAs zL`TEzt4^|Y8KDBlgFqWo1YU>_JDK!?ctHtfULwlFsJvQ#;a8Qfd&+Mb(sYfT+%5`^ zz+ieVBomdm-FpNgF^3N~r{0ASo%8s!Xt)))Vlk^8lZlbUO}G;RU +F23-h#XXMM!*%zbYRd05dw9C >9#vNjNkp$3+ZyPs*@<*%XzuB0|^0+>zrhU4nE@YUgEVgLh7hE zz_J=nR=2MLjn!vCQK$8z%@42kSp}q8F;x;sRPEi46g{m$IARe6I@i{K8P$gO=7H zk|HP6dazlI32ul8N__825v4WW-Q6@&G;upnn2)u2Jb_gS!Gw$8il<#~EWvtahx2ub zxD`Wo$-#Dh`|{p+(jel{V(Hsj&iJzVeAA>TVpm20rpgNi4VL0w|I?&j`NC#p2Tha8 z`}0mOE}wC7dvU#WWLJRk-9?|Z>RP~1DEfN|wOUDcv#_*8c29@@8GNFa^A=u|we^y* z;Zafgh?n#8&qLkTyPKk#_q@$(;^Li))koyj4e!S5BKu%-40g}&SUsQ5c+)PAt$o{- zs?Qn>f CTYg%Z7$Dmk1RPhiP%Nk(|a%dh; ;<(*NT zuHGpvad;3gdXLF|UOrrk _ZO2h zPkbfc0k5R{_F?bH+kwa%M=$mPV((Su>%e b3lF^_@imV^I~ zP$#L#3Wlwham$o(;jmK}QgR-2F0TeMLbPPYir}^&(vc*-1jXoGSb1#xxCnHn$smQj zf>< r>;V4o_IQ-2dB{I4m4;yvmy1ASTsMA=Eq^-gHauZZI%3w4U=O*? zgF<0-(ZIAl;r4U0=Hdes-lV{An;_AsVkP7W3n|+&jqjt)+<^CQJjM^cT{Ue)k1NsV zJ-p rQ^Tjb>(bO%KdSVfeQ-NgT?LC0r<9jbfh0lxIXouD}mf#?_HIcz11( zm11nfh&!Ic<9>V4^` z#~(BI?Q#Wl8NUvI1bG+jdyDRn0ZaJFn?mq`L3rBcU^%roS0NiqD{pFdAm`T~z8xy` zb#7YGWt*nIK%o*I3#ON{9v;^=P5)e~x4l*#`pf8f9xgY^lJI#9mb&ha5h4XfvJ!N^ zmx~BuPs8+jQ@n|~PH%WjD?Il30NNk7#_JuE^v_M!#zz5>`|3DhE(%x8cw;E;U8Xn^kiP8-5kruFtKCA+ z=UI++%sc((GkYI4;mDJAyP(V2x!L#$sLMArCaC5U%C7APfg_`U^=eT;_9|3N`x;NF z{;6wc+H g9d&(SgOxe-T$hk4ppho5j5SA-xVEc^`QvoalFjzuSLlWII}7(gH3n8n zKg=07Fc(r*cvEFZj9}=!m<^8<+qsu%9!M@C_0~8RgK5?JLt$PXaO=lshxf)?B>hLQ zXO6U(cZsbvFwl$k=XHEP4!adLHg*71hyyFo0-+H?^>M`>)>r~Kg%X?)O(EN0Jj7iB zWl5iwh_a9bND4rK MgnO_@z NT-_J*rN@ZJEMuTyOYT~j?baWZ; z1`?+XkMhMJo Y! zybTUY>^mU5yhhvsSumssK$jXP_czzmmmF%PVmMGu$0^4O6}>3be*gyFwC-NVrv@`& zRT6>9SA{OHjKce@J&&VRF2xoZ3riB7Jt~Ttw b}oKCMop z^x_yi!r^=MRge8lUHqm*FxOylnhD?b+uDNod!lH>7+%ylJBD%_@UImJ^oi0@!=sRY zw|8gYe`>=IXfu4A-r49Z-CWRL@fPkkT|K|MpJhO@`8=HH5s-S^SWd6I*mjR#bidwP zH?mp2UFXahUWwrp`=|XeI>XTW{kgTd)qHdrs;lch_#!6mdqJzFKlnU&h0heC*O}wv zBeQ5hgkRHs>v&`_O^0OqSLI03N_|@)^C-LJE4H~ScTWuMh`^<4*R wG&evkdCEoL`SO0?6(s0Y$|0$y=9r42~kRxjAON<86`^G*T z28pj2M*~V|t@dpZST7U56>|S>;Jed1PV=j^vo2b11JHfa(O~$q>tk=lImg0n%%ZQ` zWkBjo?Sq{rq;<4X@9!JjL&JuxAK3PVZ^XX%pikI-fH>Xv*J%9sxJI~NHr_Yn;mI<1 z4One3{fj{U2Hmc}e!id0*@6=Ka&>B{w*J(RD&YIP)bL$^Ti(>!IQVYP;omyQ4Mb7a zI^a;K={4Zqu^3)&Y^pUFkb9bX^iTN*N!}+qUA>w9exTlqtybr#sy;-#^ijFN-s-dg ze<5TyW0M%FGf d_;YjxYjyMIBS5#8``c;Y=G zv?-qS^m?!5avMTxyFaU|mGuE(b)AUO2+8go>Ve2$)sN6r={BnF4gw|EhD=`37ndCd z-|n!S`29x8+c^E&pYcoY#xA4+T4-`c7MA 4y#W$}p0%FHxR zn--E8)*xsVE2anfnL)`y7rQi*JgOotT7>Q2$^4|{{1uEMgfj1uX>>xmEn~kyXaM?C z)BxSlN@5w0j$pqr9+L^>#(2R+8^il naRTVb ?6`9yGDfI8+eRb7fh#=L5shQoln%`TV8@-n58{TEj8 z-V+%~3l#R%^L@%^Dq2uE!u`P%KhhHXx&%rok1Uv?vDVP{+{nNDzF!5gJfHjXa#t%& zZ^B=MbjX#`ejyep;VXV$EW#%2a+KjTm7<_k#;rJz(i^*j7?R?YpBFHTE49KdWw5Hu zmz&ZI0!qFVLpF^%2$}h8eUmf%SERNpMGY)`f(+bl9S(~Hm#ZobT99ewS8aDC1K|wl zZ|`n7wXixyBZ@M9XoQ!NsQp`~Mm2y6?J0?s5pU{f&Q0=jru3*v9D8silpe8+Nxbiu z15S;)UuGfZ^4^Bbf0}Jsf4kil>RWo3`ND15`P=*11nbwsE-#09w+P$$Ders9ydGPI zWk>(7Ejte*JNEOATQ=R8IUlU?2HX`PzRgl6GlB?qNR7_NtQ R*b#v(&afOu@zbl7CwXpPBVejFgt}vE%L$~JrLNB&kk6MG4N%N4> z`sxI^Z51hhmX>EsH;{-UkSM=~eHzX05pQU1D*{iA+TYKT5ot1py5dHW?EtGGdNv!D zSJKHp!Si~jb!G&mN-qTlnW 1M(X&X?skWUY{k`kjwH#IYBzg=`@goA2tMZ$0w zp=rATf4{kh^YeQ@F_M2a<9`0l(e(#6#HwgpOqGf4Y<4{BRbNigk>g%Z=5dt0$j;I- zny2IPd@LU~`z2v+u48q)awqqcN%%ntit~7}{gm-{nKpC2`>NHtRpf|Xr^%yPvCHZ) zO1d)Dd&s0&hvVZIv^#-dZtTKM^9z8r6!7K#fmYdV<3hFMeH=d7k!x
O9!1c xLo zioo{ ghw}v z^*h3hKJFzvXu*<@D2qk90Z4DW4`$1a0r(Yae~}azh1)L~su78wm!12Ri#zPQD-)Q0 zGdQ`}^#;EEi`bn>qB|d FSBuO3gm@hS@q2L^pc+r?u4BQb&C3rO7NEU%qK zdDqPlVmKJTUeueKp-_KH(Qo~$OZ>_>nMQSH5@>kk)=VLt+tY_CmY%hnZKg;p Jed`460O0l*+ ;R8>D8IhKs1j&xgXrnoenXoa~Fm&|oy zZDXq1yvDX2- mZQ*j*tV}cArSt)RV|sC!!mo!o0t>TRZFN zns(2(UNvtrEtj+ bY)R(I;~xSS~w|I-`asq@E;(nFu!$=7Xb1JP}k|myFZQ zG<=xyu`Zhm%74F767U8?iAQix+(K*&!BjB<)3XS}Y~R`n@31awG`0E4t)r)w!>P2N ztWf=UT0j-*>HApE4aA3#=3!5K+_ TS4@^{4XVWO#Y= zrmpGhcD9MH)g68gQcW&&S1o7b%d~qHe77yxdh2U@>`JHmwtczkdCHl3CHCRiua=Gv zzvE~PO*{gN tvoZTn1K{vw1A6d@@Zg zDZNkYeLw4iii)aE{Df+R-v!pKqcS>)!6;%LhIgvXlv9C1PhYb_dMpxrR(c4X)7%$S zU&y}2xio9M?`0y4RbLmT+ys$OgW2sm(|YeD9(zv8(jIaiQ|-|XfPFXC5aDo7%3t{| zOT9%2qr!axDdiH2+xUIp_GL~o@PLm*Kjs-MDib2JG;?eT{V;4d5lIQjVp6hnnSdF< zoFNi9puc`VM%0X4DM^@CJ3geMzeq4h0CH5K@3F)IQ-ugsQtu&oc#VT)6!FxWU3u~4 z 6`lxK4M=iQ+< zu?`vj%1wGgP5xiR%=FOx*t9 PmQ{cD}Gw8IzamolkFkZF?~}Uk+}C zY0@`KL_By<)(7RvRBN)GEWsx;w;^5JvVe x&V)L&RP2Np;&@s%pLD78 zMM^mIyr*OSkPZ?xiv60F`&%vE+naH^F49y22~x^ZVsGUxVLfZH?A-zR{^Qup{y+zr zE~wtKSSL`2*+N5AWFCY*!~&X^QPAWdRbhun1}EoQv}o2Imc zU=qer^tD=zeD5sE!QzU*M 8TSdj$HC?-CaJS$tjYDvU#@!*fB)Ge~L(s wdB45K=)*o-cdc4gb6yjc1dkptLx}SSHomrUNcFQsDJxQMZ{c!L zBg`dwoj1rSF>h_FnMF8K7s4~d@S%=sC2q|NR~wzK&lYN4+B*h*(SSFneoUnxR&cfZ zz5C<-^Z0J?@+CKA8vPyk_ c ztMT7H;JuvYl4mM zy01=pIv#5c3YRL#j8$AT>%Q!ROIPn0EuMlXZ)A^tU0@w^tGc*M{U4%2bocFoLsscB zs*O|5NR=FP&hV}bp#*s2Ge#V~|3y{V zq9e4(>8jilGYc^Rymt-0V$hO?q9Dpbkwwj=%LmLP=_hIrNAl{-X-sqA0CH8S>=49H zsK|6gVU5D`|K^WqICNHx@-7oNiwHz0Cs!Oet4l}10F*hXf`A0dCL+)Y3~a!pmjEdS z=Nvp(h#ZNx1a(pyys^ljR|-hvQH;ojKZ6X_dpy*%nshkVs$WSa*FSq|yKb{DZ8p15 zwhMSddy=_q8BI)naD&nsDyU*R 3)`KZ)05O-4 zE0K8^bz)4;$lM1l84GF*G 2~ON%;1)@pr51%)3X+_LcajRK3=}ys(h|p?s5HUa<2Shj z21&|!^bF}J05ls+*>j-=)6p@>+e{00x*&g5SNw$CdZ)0r=Vgsuu?~hFd0;!}L<<%f zz M`EeHo{^(Pt zag-I#De9dA8Mf7!#R4pUxB B`ri@})`?qT>u82495NeJ z3NRXM`W%gVTPi5-lPDx3K{@?^mU<%ZntkEaV!@mXtf8#;WUz#kCxv^4=q$Faf+?a- zpRQlgG=OO7KJ?*XbHZffYgde)A3?jj=bF+M1Rg6-UVy$)liO@WE!^|{ZaWYIXmA8` zB;&kXUy01ka=8>@KRNkR@qx?6|J9D7k#-V4GqT0b_idEI)7OB4q~0S!w+=cD i5_d-TG5v9n;g!^ZkLnMV-OJ~_Vz8!(as1j-jrf-eV6Ay1;Ho%F>B>%;)isas&f zsP$SJ&i(b;w(K{5-(}#;Ntekk&`*9@o(-(1EGgDTAoss?W%x^&2@yhpXT%Eyi{4yE z^e1>2IoG%>7pwyU8`*F16d~9Dee2jh_VpD6s;Z+V?;=z;*1CW7e3kcN)qr@$Lc6@7 zPKXwhlViF`*bb`Orw{eHsoM_ybYFc)LDPHQ{6w35K3zaFLU}u>&0Se)3kwDL<)&)> zgrx1}ssEUheeMqL^fli`uaUhi9#Z1AdlWEsKa%R^DT?}-dcNGlb3E)+y4DS%=(y?j zH}1OpwX7V|PI$hpFSs{=0E$piEXcFdfOk1GL%>#G$J{2#DSl(A)jP#ec(ioMRpO`i zFvhzL6=T+#IE)U3@ f#F;)EU zSh6QstAriX{5L9ET|US7fU6KhUL2JIRV4~tq1Qy|5usqgAzJKrv<%tw!K3XWSyv{I zY$(yIR1O19g7jC0gWY1WD)pFtl0s%UEHAAHxSE$z`CmUthAyTxs$e}qRhT|l=}<*B zBgJ}zhm3jb yDpQ*;3@GWNOYWK4+ec>!A>~LP|^$)n*a< z)Od+QoDn3Ff`Vv@LD7K7D7#;{NHNe+0W?=G3Qm&VtDfe$&b#;ja+~aIO@YJ)Q;L0n zS$DnJeF%s_bh!Zd{wFfyjG|LYY3aW9?dw2o+wvZieAVO_)0Qtc%(5RLF=+CmGg?0| zHGYcH<4GTXWo_g8C*u_+a`0^qkv>!wBJ*b-MewM)_3wED1^6-%cDXq-i2{p2<6lJr z8_wrZ3+A&!Nju{rT{rh)r>6O(=-L~Zg6*09?(d~S?p^Sg@5|$+KFyPJMhn5n)U*GU zkUa7Iz~n1I_fD9df^j^GK!{UalJP`fmw_Y|P9D7(C@G7A=w (6rgp7a(Cy+`)?ecg?YX@E@8 f9bk^|`qR8tb0wN|>R>+UM;30)bhqou!)r5x<(bU`I>C0YzPlin z+Wp7!iY(Frif&!oV#dh7DmB=jGoF_RDD{IaQ6IEV&>T1vk>C|BAvCzT*t}XHKV`@t z6Vt!u1i5s4y{#Q!)~ 9EiqP6<`0bn;!VIrd(82aDWUB2FnZ(nb!-*=K9RKANb{QZ$= z&S-CKHR|F@gyz>|g07q+RM^$xeFXcl<;I(*niUG>Gr{@0m{jd5unJXj1I}hN?4);h z0^~wE2CK!9zx4&DqP7;nz%|>m2H)!|5iooVt)+gP$kioNKz8!*_W!~$D5P`E8n~LC zj #-dyKb51t?^Lt^@@4wH9B+Q?TzKbtKD4&2cwws8 z?&*joRcu@Xd1w6w@DX_BU2&ED$%R#QQ}tV&260mL+uRnST)2Qt?41?Cc`20c3J4Xb zK{dn4048 sz1MM)NY5{q@)-5?ZN@{N zKBFC;QMbre7;AWFLp5~?FXd(UYtu}89e@?`!y~ia9|tf^C5=si8!F7sYSJhQrvCmp zmX>4#aHHh^0W}dL{4sf35ZtQjmnS21iGKpuI(=*dEul=0f<~NLaqIcQ$Cc|BZ)YRx zfA=_PXHhieOms>3v7g N4OQoU9jC}DwY&Fw_dR)OY}~BZyH>aLfYIv}gJEje z-_-XcvHf&s9FH9Cm)+ZT3)jmc3DkV3CPdf&TzMH887lrR6a`8M>mM6Pe(oy|!k?4* zj!Tj*;!-Z+adEg4ndW|ZL9EN*$)(*&`?LF0PD|cTB^)K2W%Q)g?&D7yruonm=&ntj z2C&Ql896Nig&*u-|2%*Oe`K^tH_`Dt3NKnFz0(PE#4Iiw*Fmp?CjV-!+TA2Fi-Th> z%PfM?I&9@&(A^V{%NvbplVjU%EbK;2_Ggx|%Ij<&`$~efM?-6PVaiq;)gvo__V)J9 z&d#KtMwM0~M)H{`?Hd>QOqr J*m>5g34SbF>f zpH^(+1y@=s5dOR}n%OWUABVA_5^K?2u-A!{cPOr|YkVC1@v%5g7Q^=_vmzUmI7A00 zIfR9Wx!bLN-1~nV)L(3fQ^>HG&1_R{63*#s3#C@pR_b>791r3d4B#Q(^pGlnNE7xD z#dF1m5}1ySDPFL1=4~(Dmzanp1|A0Jod+!<_jSosbpz?Hi?_yL4HSWZXAll8alYjO zQ^4YW;cz@_TMz9`>MPX0I!dEDh&H!0DykgRH$(c7;?U&pkt J}ny z>ONa-qui(Tu!XcZ3 wv2dO7;Z(6s16ma~My*=~1m2~oa zIrvhHE@%EtN$`EO-Ll^fsBcRwKFh`280WOb3U7o`4WV|-5O{||MRBON2eYV7WnB?V zhbvp|L19S0MIhk47!$Yll>c))6%5C4RGudak@CBu2nw|0INS+wru =A^^gNoVelA Jjl=K5eC`Gw_X4YqunQq!%K(x<9mpq50_Toy%uLy0^w}#`-zT7afse^ebLQve z%0X%F8=^maOM%({@NUn5@t=}u!v0<8K}m1POKif%;U~d!BnPdW=6_Wumadn8tG-kF zGMU7~fJbrp 7y7{L%!{>I68y-_&M!`sbItQrS_-9anX(Zu<@I$Q&dFZ)cAtAJg>gM# z%3_b(6s^wdcdd|h#KmRO!CtHL-n_58it336S1=Y6&x)e`z=d0CEk?-?@VCyYGTXvY zB>eZZY)u1J5CKZ?na+@+&f){@^Oyo4F>G=L&&0| 7nKfA8$R0asW9uM;N z|ET?VsTIEn?~0a8k>;W7@8@qm&qHZ96>KmzkHd#@$$lCcxdH*0QuTahXoa6I(P0cu zs=jb{F+p>2Eb8 3f_qIBbMad>*1OCK{46 B(a1`%Vd zX=V#51&CJ&FJ4f4`E;Afz5bDuOC;n4QbO_-z{R8clQ=f|?Q9T5_ < z+BI^hJfvohINd8oWw61R`-CE1I9ir84&-jWPuxrDXHBU|!2LP-vXPUovPsNQN||j7 z$_s;g1zU0gAokXqc76NPo=#4!m5 3h_D|7E+UT}Z&>zMmaNz)x%y3W2xV z;B^ K6L-nM}-T!eGl`Lbe z(IV!qLWmD=mf?DdzQwK=IEt*qSWa~)g?ggaffw^Al|DIsp`A`f4f>p#U_ hQnK-ynemDZc|$+Q{6x*LVIL&~O3`Sjd$H zg`OvT&wH;&ys`3~4=X``-NU0?eija!O*+
DPUYk$fg!=?x@GiRly!?pzN(+LY&7m %V_OYAAD%8lJ*05y zN44f>1Oc@?Z~_MJgx?o-qdY5tZ8IIQVS9tiJyO&yB8$v##pLKXe^CBWTT-)V%%caCJE=?a zSI#tUp9hmUu&bl* 4s~*q_#^7 zGye$d3HdUrkc+rR9mzBz R_q zhF)#9?Y`7Pv)gzv@&6Q2Q1~K7AA-pl^-< }09}D-UbWdIfGR zUf{B8y=6G%c_8nL(J8dT5bZ8kY>OcWg_8N%%m|Eh6cbD!f#HDmt9q_6>`3I$0A?1A zR%5s&Z?`nT`XP^ZF9?XV`bZc&U1U9;8PyrS#0 zCby00koIiP#nfst?ja<5VoM~HQ!+WNJrC9z?fZN_p}*&0bXPbs3}$l`#~DxkWc_Xe zc#_MVk@9~npwyjiFfP<>Y<@!SUYLGCbMtJ=yy;>uQ82&m1X~&MT)x0xn8?|*uX)US z4S1AQ5E{;{glQuTaEtR >7TmbgR{$dDvvhaX-JYB-Q3R&-ke(T<5a#nlPF6(p9Xs z*-~`xYcBs&YxYMC>c>u`c=Jb>*2C!JJda{;#&5Hq4dv0b+Iw Xorjn6RN5b37+lV_O+aEQk_h!dsBCe`{u#ga9aUsJ2_R7jzabMrIuKX|M zt~%>gyb98D<{U=EDe`>4;Ae%Y3*f?7iNMv0T _d?)Yh!D)4tGb Y#M!GVEu=crBG+Ky8yO=9rABRDi=pw=1|q^V(j7ykPN@O*}G4L zDP(>L4?8xemaeH<3b26R!ZLN0^nN{As66%xY (@YLO}|)r{e< z!q0tOw^H}e&+6!pA`wuisnX%aWY$=ZxQ)R&9FPSanbu0I2#S%gi1jrJCuB`>J2e;F zPD*4kAUuPz)>SDur$O2g>7mIoq&7j8)j&+mJkh}%OZ!;NFQofo!%wtEaubQh@)X-` zNNjNDd&)mSLu#CVlGZ*?Dr-r3mQ>W#`YAQ>5a%)Am=N-R{i-WV;GV~h(4Yc>#-L`@ zCO?apwnY3N>kEB51>;+k>`RwZ&k&SNh1J_FK><`1AR_{59ob1mGL^`29?KLgNjNq{ zo8F{G%q7;LqG719gl(6BZ^tfj&dxwntQt9Ausl@QF{t}#_B2M&;*UCAk@m~7)N2UQ zOnC@#0~sCL6|9;Jo-c~@CcZu)9UEq5vvCyz14Mo?EoAv`A~88vcqimI#$3V_7KmQt z(CuNC?JJ_BuO)-v_RGe)HuY~wOSUlHw_{sFzlNY>mT(PriBu?Ym65oZmuG~%vT+~h zLGW-GKdDLFX(+0> {pt>^OX$IYW`~8t^q9e20~-$HLXRR1x03HA2e%-?dfv#*_k`RvwB@#E&cF zs2<7YAHEL87%Lw5R?r8wv1*uV_IEHaLP5|A7;}#XjwXrv-*-vOStlW^eJdjr*-M<~ z#d?^;Yc~*@_kS7~8NAi4`L5V48oM*LsVmhIwE`4K7;Bt-LUXU6JsX;t^+YO7Yk{+U zTmF2^D}WLi>{5f!jIx2**Tyl9`I1|gM0AQ%Wu_QO#9IL@XB<>6{~rGgN^rKIQZi3W zx1mpx;o>x(A*UlCnS69ZyLUmm)5)FUe37JRMOOt(4)%p21uHE{e8oAEydx*8Eo4Kn zjM-~CJ%)bzd@3Gx5GLyzi~p^;?L{$e&3GDmum3m^r&wleEW$F$W6(qg)RhdAa=To5 zUI2U0>3pfU@?||46W9bqwg#prN=k;DCxu?INI&Te`SL_AiV^WX+E36GqkW_h<`&$` zo#+a;Z~4tU&WBE6!y48Ly&EvAZlWp*pRU_vcof++Wv}RVSk=+y0Em2I`4~EfAe$vc zaq*~cgKWVV6i~I+1$v62=@n3>;r`+5g-S|GqJ)JYS{(Qz%O)th)Nr{-6AUT(gCLKR znuqJ*+>gQaN1?~Hl9eqiw-<|S3^f!H#;1V!-#~NihpibGa@84#v|^s ^& zS&l=Al{G%Yv-@&aR(%Ksm+@r8sHyh}uoYy9Q1R?7ab<_)AXpvx#Q+to_~J=eE?d#J zeDK_NV<0w8dQe*+m&I nl}$M2wJ%H{Fy;0E@DWRa~iEUdkn9<6wS*Mc0vjndp; zw8<3eH?xmTGCITR; %xQ z(S8S^T@8LdlqfKtPyHp9nyKjy#jP=s?tAy?m}ouw@9~laeU6rAeL0;}#p xE*@zt2y(c~~ljT-KXUAlBm z72pI~v7+H-$=9o46#xluaJ$?|e|~hX!#zH_k(`~L;}h+bt_HpI62;3pGK=NbMYGZu zh5tRZkO#grrJ@-RZZ0_bj1R?|8v)5_Yx?fRNod#!Yr)WD{>^tq*VDh;GkH|on` fe~$$u)t5lq^_bMF=f^W* z@3e|Brn=w2%JLTZP^9i=VZy_mNiz$v?~s83Uy9Fl**har$P8BTF?F`F-~SNE1pKZ4 zK_%tNmXD=XdRqMT2EH(U1TXPfj6!Qq-RXv!R!h9mDCyaxL0NX+X;dK0t6V#& <=Ya{M(3kQ!d3G$|8PkOcvqCh-xh!~#||q$G1=qq78J zMH-1%(Rr|X15GZ2i{L%b46;X^VnodQhdKfaXBusD@d93Q@8H2JwPuGHZX;U2q$p zV`QM5a{_S#9o8O%BDGm$BJ{B(!=lImRhFe%>0~aq@HSOj8{f~30S!2UyW*gtDX$7K zisdY4q-F??N@wDXxyC(aALOX- MGq&HBWvGzk}IJ-8gGEo*~;R|mj!g)r}SAylPpT+#i5$0$4dhx zrG?OF;FRxwaW5+^4Gvw05by2ka=`^^a3q@a1+@Kt7X@vv(o*&h*8hXA{6f$>Wb@Bn zp*@q_tQ+5VGW$+8N8&WWSHS8hqQ-VEV=X#YbhuvEzZSy^0TL4$4U}=c W&@N3}AjxuP? zOhT122$$=0R_xedCndNy{TFY&M}2qgyl0++gMZDfQO#|S^kLvyuP+GoZ2Wu^JmTbT zv3IxItV!r>zwvfIc(@SH+5FAWEd?*zD#(8WasxBTLde{320}0e;<1t+&c-6yLyGJz zMwW%^_gd=+pC6!#iJ#Y3Z`vct+%{2pSk5GHj7EXR|C*O-{vpD- Ptv2MmKC9ek&7gT#)xePrYZ zd*9~;@dC5Os%3>=D4{;6vY41nk$r{VMue7Gv`WdESRIPQjWq2GGcgC*=nx~t+1~{U zzfvC7eP6JaR;>X2RTgG}enM29m@i7rt*`2|UD>7#M mFRGvht6ZF< z_KSTXN}Hm2mkZDAQ_7@V{?K|dqt#{bPOv@pc@G%edR|N7d6rKs)VhbK-&N*`*a>%# zG>7ynLB7N?@z#%u>!|emrv(tre|!}@a{8JZE8g(qnS(C3zQcC4GMxPSm<%tV>soRu zY&{rl7LN@Wy9DtqcrL~F8Q+Jr&&80LR%6YWaf{{k^uxE$Vx#RK##_OQB)%{TC% zq7iEI^F?tH3s^;aKw(6`bwa`4$ldOK&mJ7j+-Guh=BetNB#%U(yqJd7+dvj|KJ7tI zJLb-qaB8VGm YQgVtTGJ^K}F4%9DBPADVw8yKa-?Pr=)J%578e)zXuRgkSMaUowD zp%)luLPa@@D?yRas>T`VZRk_-;!&>{DGX$Z9R|LQvw+;Xa(LE`iH>E7j$LBiXkuNd zV~J(&h!&5f3m)lI8y>Zx$}hDORh4c$xK$CKBXjm5H?a3 0RHn zRWXl*o?v{j`_wmQuv1H7Nfj^^JR2^h8!lOI)a_H}g30(*1+zytCe@X++DaLm&y1Y% z_!G(<&6q}LG3U*nhOMbc rp z(r{@LvC*VI%exwq0+mn&xe??9FAxWd4U?b>^Ws6e`b8qx-<*o(Xwd}+E$9qfP>`9N z9GMrzt&~*vX8Q;-Vr&*yQ{z378K?r|nvH*prOt44lGh=MuB4QN5RQN=|M@xXgdPQ4 zO^4TU2Q1T+U=v;=6PzH2_$CQuBYME}WxJn-n%ttF$@-$Gd--Ku^jui>G6V9 IE3!lFFte+|c<{l!U_(%Wh?&*g_D295h58N>i=FyJQ)JYci2Nn;ZVI}41&K!Us zy@YewM0nb-Zi2hjf2|4?hOj96kGn2hre<6W?O#0XU&QU(x@*k>RIRpnRGqHGoyv0O zM4bK@s+xGPvIzu$ihNjkL&U3O7!UW7<(zl`UgArBRLo*E@G83;5!i=RiBHP@J{CRr zd )*N k!H6>ubs^l@(3lCP?_})ClOwi zjm(R}r8oxNwx<%hj$qjMu4&51y^e$y7D1McfaDk1+fN6p0`|sg_2u;1#u)a2 fB#@NKF8p(tH^;Xy737&P zX_;}$kP*E?730(I9G+MA-GK_;=~m>DFUUAM_2P^ (+>GYGPZnB^j#6=~ARS?ayz z04mj1alX{CgQR0IitiEpq1stAY<6t@Hl<7Y<`%JPzo*$dFu^WETrnz1=GIp)<&M`V zDuwDFWTt6d?ko#)-f!2XIjyG`-i996$z5GoN6s5{!JSr-*-I&LQIL7nbU{qC8e_je zie*UKYpM!cdtX=R8;vT|*Qas=|NfYhOU=2yaPK;el4H^5@i(yL`rFx43Ujj2#&lJ= zoEMX5XxFB7pA=YpnD8wK6R%>Tu+O|cai%QZQF$5mahhlQ8}=eRa6Pu2nPqzBf%m!| zr(*jV@f7%-5HlnN3 4LqM4Fx!IycGn&EtP8Kd#2I?oJjNC_ z6Tug^$D#Oq=K80}xk&!`={!D{vL0GXB7lJ; #QM}ZX(A~&YGn>f}sy5k 3{`{z`VHVm!{8S_;D=UHQqJ_Q#~m4AevU zcaSo9utoV`n1#a)9)?W|9XBHxhdWXy$+=r-p$~%IGLGd_2aaid2i6o&dRCRqfPNqf z_N5t`UaUZR?+1p$6!G`b;UR#zf?6> S5(eL?}`5xSqQ9Wji|9YB|vs1J3JF6dC7-N zmoos*JoM@RQnPfCORq8v&)t_sUvSh^+}+)Qz+j(t|D}S5B8YGZfx^&ob*nKDVB{AO z{5vXt9XztcuV23++$f-a2QIOaj=M*6I3G8*Wl*s|5z)sFQ-nw;qJ8K2!=ifQ(FdBX zhN)-V9^lKk_llrZ<-AvT>~6zD5ibVEonbxxBwG7>0kE*MOR;CKAYmQ&4u0o5xj|^K zLgq0aUe*DBMX32vYk~tAid3Ib`Li&dnK3ObLrwyPIBE+K2xe6i@F&XTzWg2uROyC< z6RW%Qdu(@DDVByGw7`GcEg^Vu_~Y0=)Y~iig3FXLR~_cs8U}OygZ&u)oB5Ud(#-Iq zIEK|wZbQ8X{-Vy9qA}$tC@mPRYRHxD8#RrX#dU#2b{d9jeXsDaC{zO(KG1?6!KW%H zAwybEgiMfzng$O_N&&vOP)(468acmMIq`2>UYPVDfwU52Jip?o43D6c73u{zV6K1t z>v`nN(LxuMPT=X1hl>Q1u)T6~fO0+h73lN`7L#mn*N9auA&C(u8-!(V3HbY+ok%Gn zZT^Y>% VRsvvY+h zj|@^`S*)(T7fAyKZMg)$WMvqLZxv>CrHjxYibGLQQh3i?OF)4yNsmsX_XzOG!X*Ay zg$ldY5{f#&T?$7;hONgo=?kJ>6Kh2FY|CHlpd2v}wrocN+<$prHNEP6P ;Ob? z$OxG n-X4w%5AJv?3SrV%HN7DXP< zL*=loZj*G?*JChNNHV*oAAdhEmG?7?9Z 4AVx15(@|1T9;5Y_4i9a&k~xpJJtZ z(awo@rdY^|Ipj=miR8dA^{sqCH!@BW2i!1Hp~TYy7D{={+sMCb ig(l!PjNoHB^RaaNfel8qpo9^Fw#$b77V#JH8E?cefR`gp87>P8NX|)vx zeT*KKVT8QNG8zc+;92B>pj7F>?PmPY5(MPPsfAd0BeEGps$!i}$&=I0_X{A8-i4Nl zXFqBQ&GuxVpb9Uk${3-WU?(A$4bfMkB3t+RdJ)M#cq};IjwfR9zb#hl%60Z~Tb(V^ zCB+CteRYjsvTTT*agjjes_vDA2_aCO%y|zOKqbK*%mbQGs_j&0gw5Q3eX1HH s(}BY@9uUga00a;RPl@JEcQA~-`@}*>MhcUBtG~=3oCR~WKuv$ zTS-TS539MjPMG77q)gpi@?ex$8Nfc~c^Flux+a4wr%11oF{_g%N9g9o5Y`Bm!aR0q z8FCZ4*#He9whEC_&EaxPrgNO}An+2Rl+-YIlndGf{j`}w$F#@iO)csJ^Lr JNLc+G^-VT!M(O51wodD5xjjb9UZkyM!}-P5Qit3ZC0@d zdxAxoy@j=PCSP?^VP&De5d_l^PGQKL)Fo6Ri4lcSP!cnRYLRMqT~xp~<6q6zr9G3# z1ImGh&>N!PC1#n=#V4UK1Fd&5#)H(TjGMec)PcasFh=94GjZ&vJgO{ !_`zB_xwG j=F_W8WfwqlAh5Q9uzR%XQjnHcZU`UOabHdxZ0xPKre-0hyl;_2IGje zvqx_24$kD!uh@HTMygh6P>ym(Ng?b7<@@4?jE3NQ*>$ds|0Vs$ (z%`pQHG_&Ewd?kwHK>#dkWP FYvr-o< zxQ #by?zv)Bi6w~xub~ysFyBuVd-S4 zFRy3=I!}PoY{^s{cV{$1thZbN2agG#@AIU~gI$sI>gPX2f$UL%m!+icr~UUS+ciBy zEhXC^UU$zCIT0949HXTG6JBKzv1f%K<{|>MaEPiB4Ac6(tvhTabk6yIUGKK1EMU;Z zU^Ff`ei0YZ(=zgdhx!>|(Kzo*JO9(OQty4wG@sDYPTh*fSL<3L+y%=j +{1^Cb2@PKg@tdOi<% zg;Fn_)1j#%lOSV&+GHhipP-{#=ny9rq`UZ6Sjb3uULcRHT%G(x59FS!sT>EC8PqOT zNVOQpugKmHgNe-7$ID^lL0IOeC>#eKgVw#fSS`uFIg~)!gURgZ {>v~nnsF<>UP$TnB<$gMtT{NC=Z`LAv?|vBWqf)dLEyPTJbHm8 z7_tLP&9<3f+}pLyl7i4gqn2ks^MBM;Nr@}3pnV}HXIpR-*T;c *IA1NWL{o zl8E}g4THTJ2VXh#Dj4(n7Orz4GXRe&W40Qx(xYui%>;S$GgltBpx#JdT|4dFH7sfz zPaoJkoFdGzWnRu-2!Ri>nR?eAGcq)8T~=IYQRsQxf3nzD>xdc)T z` !DtcS42HhjV z(|+G&SB1JZ93`pX E7_z1knRklu0BRhvf!}Cos=mui)c*Jh;R)Gq5=3?l zR;a*N0>ZDB%vC(nQU-u|#E6kFs;WKi!_?r1v7#VC1icwZ?)%n+z9cY6X(UOhv%&Ut zt4En}XiDN{x3!o8fBG;Rp_%_*!f-dp;jc|mhLxqY#b1&1D{@$7`A7m?*&uM1Q4a$` zuHStS1>}7i7cMzjNBI<8c)z9zdU=xuxhpAF)^0#=eh`@?IHrP<%z_J|R1m|*h6e;U zDR>pK75LPI!c-lIC3t%{wb||eDeeykpH)Z-j{c%q9oYtjeTh>tTL6cUx^H;G-DVB$ z=Dtsu7rV%R`vXr)N}~uabKqU;kN%6hu>V4b;V~3>_r`L^_v0BbD8U0qnhtOrXbfa8 zIEm!(uo{KmH5cIS?6Te~JnrDmHlegsj>7*zMzR@|NF&m6J%}l2EJf&s(qa4<`6Eb} zm*Hax?ejM9ER;r>{C7mS9ZjnNWUTB+e1u1IAU)FxcW%K1KT_0VU^Gs7Zk@8gKML`> z5oqRFySI3PGT5qZ$NVuD ^GeY=6n?^C4#oNDlm)jQ>5Y zhO6omdwTWN>|vj)1*hODEVv<8cxfde2C=h@rNWF02z;HBe4Q`L`NBd-?n#>tPI!4M zpngBpccn<^`=j12tH_unBmA y3?8Jn_J4}_Mk5;H{Dk`<8=_@XLlc2i*-csj@lyQG7 qsl>B?OUbP`FZh>um^uImTryUBg_0x2HG|yDX-uT>75w z7e+n|^Y{az5Q=Z(AOU1L{K%NSC^FKQ7w=N}^x4f#|Nj`S%2XL&jZ);VQzzyZ$HMe& zjJ7 2P;AvcU_XBs8p2`~O909`zi3Q2%$3HoW2){DpFrv^RSo z 20^TW{A|Qpv3g zW;oRxgKa&`6r_tmjyq%f-)X~vC`Z=^(Vk^wJW 67* z!4(3h1$rm~>EJ~-e2M!m^g^%2I_QK|qsybmY(&25(8^4s14xL6!UNM_iJ^x8$zx#N zNVd^gqcq4OoT2sgzQp{Ka~YttlzfNfRz#UjVCF+0B2!NOwF|RnlSQ_ePg&~N7XR_= z+fpsHv8sz>6r!Vb|HWISA`c*(gn6fg?@mKGPUvHP{ZXLKaV}-WhH1I&;!Oyl0+1E_ zfWh2TX#vSQj=VxY11+^zlc9~D|8pNY`uk{>S_2>%lLr?`O-Fab?V^?2=jx?oi0?%Z zj*bU4MXg9tBOYLowijZFkrG-F7;|s=C>95YDhY^=Hzeq@Vrc{Qun_RkcgxDY_A5>R z25vnMdp@9*1g}T*yWgI#H$FT7+XI+`Vqk0H6&^zY4qNyT%{NS9-*g%@Eml?jZ#=X3 zS_{7m5XE}?Auut?U^Acx(ojnxv}fYiE|D=8{@kF;`Cj!^M95UcNg&!)x8Ytui6F<% zJ#Rt7Lis+Y0MSELedr8#HiMX_n@QwHrFnZKM9 +a4?1Bm&-X`~4F@n>;<`jX{VEo)x?&P`%AJ*(pP@|n5NEgU#% zn2j@&K7WP5W{JEO4EON~ljL`Fs>A&6$i3Vh&%8(f&yn|kw!BOgR46S!y$wsKroE(k zV{V)GJNld6-rntmz`zgk5%F{EKF6IV*K`*Jrhv9-b$C&u93Zlp7g)~VyiZJj7a F zP2fJWdmo_1yo=Os!w}Oen1DpwE>~r4(m4RrNagKe(9c%I=(!XHSovZcvZDe_TN6xl zREE(0Rgn+c{c_76j>TD5EmS9|V)WV>4e$ljMagGihU&ugt8#E;qg_3Fu(yVDovG@> zIhVVzg}rL6Z6x9HJMu$r{ieB(@ZVLkGDTt$=um;fKL5wfS2nh&v89SHz|12Hkzc@j z?8EjwbAm<3Y3Hr-b+^NKm=y2VZP>bLhjB}9i!q#Yu2K&r1m$*}(7!=OG6@pfFZPfQ zipX+|!Vr%o1<9Spo$yhkY#qCP%Z^!LDF+%1Df;)53@N$wJedlIl1|!I@hJ3gPeih% zk(A{O*hMt8R)#(S9YcdFS}+ksG1gNen4AYZ>=aw8k-X2_2|2**+RhHwPX-n=SC>WP zJM-w!?Zj_c4t1E|$$NCs=+r8J_60#1rsgCC+R$1%xK~W|2UBu7Ic{mJNyhyfJdW%> z=r`#;0>t1&s2cLWBl5j1D5!C`Txh1m80Xq_hcy>eAk`CGt(%RdjVVA**LhHkBB9du ztEJsIwJI!aN?bDHUZ&=z9wkKIdm%%}G3Cxtk3Vy$uttx=AmW`XA`#hpv`8$$1bHxQ z($)3KX|1cP>tfN|v(H8gvXDkkB~7}tqP?~5AEQ7Rx#VF}ez$WzmpxWyY%Cql3+I}S zn=vKdlTGK}upCT&55IGFg^HxESR+%t`!0fzm|5fMMAf`pjEwSHTHGn1aH*1HLX5j! zmSdeC&X(N-!10<5{^oGdzRm~#5qtiF_9(~($IA)Qu V~LU$`OUmvHBJF2F2oLw7{=@`eww^UfHOQLqANKe%#e=6 z@tM1QxjzLTb9jmWCFd;k=qd5>@rkQGzdtt+y7^pVA!_v*FW0?Bt<>!@WGvUIan!89 zzK5(=w``1c-;W@!w2*@m;;Vk(w6eMt^fk79Yr-(Ga;bVg*u%IONe(J_(4injDhpdG zU=x`bu>M+9UGf{o_{6He23?8A+rZxMAz%GppdP($3=WnoztI3m!sr?9Vr7>Vj+i(E zFCr*H#OeW;KDH{}`_zp5=e4#_iZou-s11F$g<~?I+e-2 EIwF;vyqq0Ig G1NlQ~P<`g;Bx^UOZL_Zw7Al=ZH(VE z-EZ*|u{@Ci1|JPP#oTry0h(2MXwIsoO> pYL+bsRh_fhD!DbM;^5-SWF^^HQKWn$J4yd<=y2U)-E$6;zcg