From 1082066d39f501d8a0700396bcc316663f3addfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Su=C3=A1rez=20Mart=C3=ADn?= Date: Fri, 18 Sep 2026 00:12:25 +0000 Subject: [PATCH 01/11] Reset repository and import open-higgsfield studio as the new base Removes the legacy PHP ERP and brings in the open-higgsfield Next.js studio (catalog-driven image/video generation) as the foundation for a vertical product built around it. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QktEqYfYA1H2gQRbvG88pU --- .gitattributes | 17 - .gitignore | 59 +- _notes/dwsync.xml | 26 - advanceERP.zip | Bin 1832196 -> 0 bytes change.php | 49 - css/32px.png | Bin 3121 -> 0 bytes css/40px.png | Bin 1880 -> 0 bytes css/_notes/dwsync.xml | 16 - css/csstables/_notes/dwsync.xml | 20 - css/csstables/buttons.dataTables.min.css | 1 - css/csstables/dataTables.editor.css | 0 css/csstables/editor.bootstrap.css | 689 --- css/csstables/editor.bootstrap.min.css | 5 - css/csstables/editor.bootstrap4.css | 689 --- css/csstables/editor.bootstrap4.min.css | 5 - css/csstables/editor.dataTables.css | 1364 ----- css/csstables/editor.dataTables.min.css | 5 - css/csstables/editor.foundation.css | 703 --- css/csstables/editor.foundation.min.css | 5 - css/csstables/editor.jqueryui.css | 919 --- css/csstables/editor.jqueryui.min.css | 5 - css/csstables/editor.semanticui.css | 680 --- css/csstables/editor.semanticui.min.css | 5 - css/csstables/jquery.dataTables.min.css | 1 - css/csstables/responsive.dataTables.min.css | 1 - css/csstables/scss/_notes/dwsync.xml | 14 - css/csstables/scss/bubble.scss | 130 - css/csstables/scss/datatable.scss | 93 - css/csstables/scss/datetime.scss | 192 - css/csstables/scss/envelope.scss | 91 - css/csstables/scss/fields.scss | 159 - css/csstables/scss/inline.scss | 66 - css/csstables/scss/lightbox.scss | 147 - css/csstables/scss/main.scss | 188 - css/csstables/scss/mixins.scss | 176 - css/csstables/scss/processing.scss | 96 - css/csstables/scss/upload.scss | 142 - css/csstables/select.dataTables.min.css | 1 - css/flat-icon/_notes/dwsync.xml | 8 - css/flat-icon/flaticon.css | 44 - css/flat-icon/flaticon.eot | Bin 3924 -> 0 bytes css/flat-icon/flaticon.svg | 3 - css/flat-icon/flaticon.ttf | Bin 3756 -> 0 bytes css/flat-icon/flaticon.woff | Bin 2736 -> 0 bytes css/foundation-datepicker.css | 150 - css/foundation-datepicker.min.css | 1 - css/foundation-icons/_notes/dwsync.xml | 9 - css/foundation-icons/foundation-icons-.eot | Bin 54568 -> 0 bytes css/foundation-icons/foundation-icons.css | 596 -- css/foundation-icons/foundation-icons.eot | Bin 54568 -> 0 bytes css/foundation-icons/foundation-icons.svg | 970 --- css/foundation-icons/foundation-icons.ttf | Bin 56976 -> 0 bytes css/foundation-icons/foundation-icons.woff | Bin 32020 -> 0 bytes css/foundation.css | 5263 ----------------- css/foundation.min.css | 1 - css/images/_notes/dwsync.xml | 10 - css/images/details_close.png | Bin 686 -> 0 bytes css/images/details_open.png | Bin 709 -> 0 bytes css/images/sort_asc.png | Bin 160 -> 0 bytes css/images/sort_asc_disabled.png | Bin 148 -> 0 bytes css/images/sort_both.png | Bin 201 -> 0 bytes css/images/sort_desc.png | Bin 158 -> 0 bytes css/images/sort_desc_disabled.png | Bin 146 -> 0 bytes css/jquery.steps.css | 383 -- css/jquery.tagsinput.css | 59 - css/plugins/morris/_notes/dwsync.xml | 4 - css/plugins/morris/morris-0.4.3.min.css | 2 - css/responsive-tables.css | 38 - css/style.css | 742 --- css/throbber.gif | Bin 1720 -> 0 bytes css/todos.css | 215 - css/tree.min.css | 1 - csv/_notes/dwsync.xml | 7 - csv/asdasd.txt | 0 csv/custom-2017_02_28_16_11_37.csv | 33 - csv/custom-2017_02_28_16_12_36.csv | 66 - csv/total-csv.csv | 84 - examples/advanced/REST.html | 597 -- examples/advanced/_notes/dwsync.xml | 18 - examples/advanced/compoundKey.html | 544 -- examples/advanced/deepObjects.html | 570 -- examples/advanced/formOnlyData.html | 562 -- examples/advanced/htmlTable.html | 955 --- examples/advanced/index.html | 92 - examples/advanced/joinArray.html | 558 -- examples/advanced/joinLinkTable.html | 570 -- examples/advanced/joinSelf.html | 565 -- examples/advanced/jsonId.html | 576 -- examples/advanced/localstorage.html | 631 -- examples/advanced/multiItem.html | 600 -- examples/advanced/tableOnlyData.html | 521 -- examples/advanced/upload-many.html | 577 -- examples/advanced/upload.html | 585 -- examples/dates/_notes/dwsync.xml | 16 - examples/dates/dates.html | 538 -- examples/dates/datetime.html | 554 -- examples/dates/formatting.html | 550 -- examples/dates/html5.html | 538 -- examples/dates/i18n.html | 552 -- examples/dates/index.html | 82 - examples/dates/jqueryui-formatting.html | 550 -- examples/dates/jqueryui.html | 552 -- examples/dates/options-disable-days.html | 531 -- examples/dates/options-min-max.html | 533 -- examples/dates/options-week-numbers.html | 530 -- examples/dates/time-increment.html | 568 -- examples/dates/time.html | 558 -- examples/php/README.txt | 17 - examples/php/_notes/dwsync.xml | 22 - examples/php/checkbox.php | 35 - examples/php/compoundKey.php | 73 - examples/php/dates.php | 52 - examples/php/datetime.php | 53 - examples/php/join.php | 36 - examples/php/joinArray.php | 50 - examples/php/joinLinkTable.php | 44 - examples/php/joinSelf.php | 40 - examples/php/jsonId.php | 52 - examples/php/rest/_notes/dwsync.xml | 8 - examples/php/rest/create.php | 18 - examples/php/rest/edit.php | 22 - examples/php/rest/get.php | 12 - examples/php/rest/remove.php | 12 - examples/php/rest/staff-rest.php | 38 - examples/php/sequence.php | 52 - examples/php/staff-html.php | 34 - examples/php/staff.php | 83 - examples/php/standalone.php | 14 - examples/php/tableOnlyData.php | 31 - examples/php/time.php | 41 - examples/php/todo.php | 32 - examples/php/upload-many.php | 58 - examples/php/upload.php | 46 - examples/resources/_notes/dwsync.xml | 8 - examples/resources/demo.css | 373 -- examples/resources/demo.js | 136 - examples/resources/details_close.png | Bin 686 -> 0 bytes examples/resources/details_open.png | Bin 709 -> 0 bytes examples/resources/examples.php | 10 - examples/resources/syntax/_notes/dwsync.xml | 5 - examples/resources/syntax/shCore.css | 395 -- examples/resources/syntax/shCore.js | 2138 ------- general.html | 241 - home.php | 39 - img/23.jpg | Bin 75681 -> 0 bytes img/32.jpg | Bin 69298 -> 0 bytes img/67.jpg | Bin 90432 -> 0 bytes img/78.jpg | Bin 69014 -> 0 bytes img/_notes/dwsync.xml | 9 - img/destroy.png | Bin 555 -> 0 bytes img/logo.png | Bin 1692 -> 0 bytes import_csv.php | 56 - inbox.html | 219 - incomes.php | 675 --- index.php | 244 - invoice.html | 242 - js/_notes/dwsync.xml | 13 - js/ckeditor/_notes/dwsync.xml | 4 - js/ckeditor/ckeditor.js | 1013 ---- js/foundation-datepicker.js | 1417 ----- js/foundation.min.js | 10 - js/jquery.cookie-1.3.1.js | 96 - js/jquery.steps.js | 2015 ------- js/jquery.tagsinput.min.js | 1 - js/jstables/_notes/dwsync.xml | 24 - js/jstables/buttons.html5.min.js | 25 - js/jstables/buttons.print.min.js | 4 - js/jstables/dataTables.buttons.min.js | 35 - js/jstables/dataTables.editor.js | 1309 ---- js/jstables/dataTables.editor.min.js | 1309 ---- js/jstables/dataTables.responsive.min.js | 26 - js/jstables/dataTables.select.min.js | 26 - js/jstables/editor.bootstrap.js | 239 - js/jstables/editor.bootstrap.min.js | 10 - js/jstables/editor.bootstrap4.js | 239 - js/jstables/editor.bootstrap4.min.js | 10 - js/jstables/editor.foundation.js | 180 - js/jstables/editor.foundation.min.js | 8 - js/jstables/editor.jqueryui.js | 141 - js/jstables/editor.jqueryui.min.js | 8 - js/jstables/editor.semanticui.js | 228 - js/jstables/editor.semanticui.min.js | 9 - js/jstables/jquery.dataTables.min.js | 167 - js/jstables/jszip.min.js | 14 - js/jstables/pdfmake.min.js | 22 - js/jstables/vfs_fonts.js | 1 - js/jstree.min.js | 5 - js/locales/_notes/dwsync.xml | 5 - js/locales/foundation-datepicker.en-GB.js | 17 - js/locales/foundation-datepicker.es.js | 14 - js/menu.js | 15 - js/morris-demo.js | 155 - js/plugins/morris/_notes/dwsync.xml | 5 - js/plugins/morris/morris.js | 1888 ------ js/plugins/morris/raphael-2.1.0.min.js | 10 - js/responsive-tables.js | 67 - js/todos.js | 60 - js/vendor/_notes/dwsync.xml | 5 - js/vendor/jquery.js | 26 - js/vendor/modernizr.js | 8 - login.php | 95 - logout.php | 4 - mysql/_notes/dwsync.xml | 5 - mysql/advance2.sql | 360 -- mysql/mysql-users.sql | 39 - next-env.d.ts | 7 + next.config.ts | 5 + package.json | 25 + php/Bootstrap.php | 62 - php/DataTables.php | 34 - php/Database/Database.php | 432 -- php/Database/Driver/Mysql/Query.php | 116 - php/Database/Driver/Mysql/Result.php | 73 - php/Database/Driver/Mysql/_notes/dwsync.xml | 5 - php/Database/Driver/Oracle/Query.php | 183 - php/Database/Driver/Oracle/Result.php | 82 - php/Database/Driver/Oracle/_notes/dwsync.xml | 5 - php/Database/Driver/Postgres/Query.php | 143 - php/Database/Driver/Postgres/Result.php | 75 - .../Driver/Postgres/_notes/dwsync.xml | 5 - php/Database/Driver/Sqlite/Query.php | 111 - php/Database/Driver/Sqlite/Result.php | 73 - php/Database/Driver/Sqlite/_notes/dwsync.xml | 5 - php/Database/Driver/Sqlserver/Query.php | 135 - php/Database/Driver/Sqlserver/Result.php | 71 - .../Driver/Sqlserver/_notes/dwsync.xml | 5 - php/Database/Query.php | 1076 ---- php/Database/Result.php | 78 - php/Database/_notes/dwsync.xml | 6 - php/Editor/Editor.php | 2000 ------- php/Editor/Field.php | 813 --- php/Editor/Format.php | 220 - php/Editor/Join.php | 977 --- php/Editor/Mjoin.php | 33 - php/Editor/Options.php | 269 - php/Editor/Upload.php | 664 --- php/Editor/Validate.php | 961 --- php/Editor/_notes/dwsync.xml | 11 - php/Ext/Ext.php | 214 - php/Ext/_notes/dwsync.xml | 4 - php/Vendor/Htmlaw.php | 114 - php/Vendor/_notes/dwsync.xml | 4 - php/Vendor/htmLawed/_notes/dwsync.xml | 4 - php/Vendor/htmLawed/htmLawed.php | 737 --- php/_notes/dwsync.xml | 6 - php/diff_update.php | 11 - pnpm-lock.yaml | 907 +++ pnpm-workspace.yaml | 13 + pricing.html | 171 - profile.html | 255 - public/icon-192.png | Bin 0 -> 4491 bytes public/icon-512.png | Bin 0 -> 13954 bytes public/icon-maskable-512.png | Bin 0 -> 4836 bytes public/model-icons/flux.svg | 1 + public/model-icons/grok.svg | 1 + public/model-icons/happy-horse.svg | 1 + public/model-icons/higgsfield.svg | 1 + public/model-icons/ideogram.svg | 1 + public/model-icons/kling.svg | 1 + public/model-icons/ltx.svg | 5 + public/model-icons/minimax.svg | 1 + public/model-icons/pixverse.svg | 1 + public/model-icons/qwen.svg | 1 + public/model-icons/recraft.svg | 1 + public/model-icons/wan.svg | 1 + public/model-icons/z-image.svg | 1 + public/og.png | Bin 0 -> 326648 bytes .../Simple-Notification-system-php-master.zip | Bin 3056 -> 0 bytes .../README.md | 8 - .../index.php | 59 - .../student1.php | 52 - .../student2.php | 52 - register.php | 101 - reset.php | 60 - reset2.php | 9 - scripts/build-brand-assets.mjs | 181 + src/LS.php | 1344 ----- src/_notes/dwsync.xml | 4 - src/app/api/blob/route.ts | 83 + src/app/apple-icon.png | Bin 0 -> 1812 bytes src/app/base.css | 16 + src/app/icon.svg | 17 + src/app/layout.tsx | 56 + src/app/manifest.ts | 30 + src/app/page.tsx | 22 + src/app/robots.ts | 17 + src/app/sitemap.ts | 9 + src/generation/actions.ts | 90 + src/generation/catalog/defaults.ts | 43 + src/generation/catalog/dop.ts | 3 + src/generation/catalog/flux-2.ts | 3 + src/generation/catalog/flux-3.ts | 8 + src/generation/catalog/grok-imagine-2.ts | 5 + .../catalog/grok-imagine-video-1.5.ts | 8 + src/generation/catalog/happy-horse-1.1.ts | 8 + src/generation/catalog/happy-horse-1.ts | 8 + src/generation/catalog/ideogram-4.ts | 5 + src/generation/catalog/index.ts | 87 + src/generation/catalog/kling-2.5.ts | 5 + src/generation/catalog/kling-2.6.ts | 8 + src/generation/catalog/kling-3.ts | 68 + src/generation/catalog/kling-o1.ts | 5 + src/generation/catalog/kling-o3.ts | 5 + src/generation/catalog/ltx-2.5-fast.ts | 8 + src/generation/catalog/ltx-2.5-pro.ts | 8 + src/generation/catalog/minimax-h3.ts | 3 + src/generation/catalog/minimax-hailuo-2.3.ts | 8 + src/generation/catalog/parse-settings.ts | 25 + src/generation/catalog/pixverse-6.ts | 3 + src/generation/catalog/qwen-image-3.ts | 5 + src/generation/catalog/recraft-4.1.ts | 5 + src/generation/catalog/seedance-2.5.ts | 39 + src/generation/catalog/seedance-2.ts | 43 + src/generation/catalog/soul.ts | 25 + src/generation/catalog/tokens.ts | 3 + src/generation/catalog/types.ts | 37 + src/generation/catalog/wan-2.6.ts | 3 + src/generation/catalog/wan-2.7.ts | 3 + src/generation/catalog/wan-3-prime.ts | 8 + src/generation/catalog/wan-3.ts | 3 + src/generation/catalog/z-image-turbo.ts | 5 + src/generation/credentials.ts | 55 + src/generation/device.ts | 39 + src/generation/plane.ts | 28 + src/generation/platform.ts | 140 + src/generation/poll.ts | 116 + src/generation/stores/active.ts | 55 + src/generation/stores/browser-storage.ts | 42 + src/generation/stores/media.ts | 33 + src/generation/stores/prompt.ts | 24 + src/generation/stores/settings.ts | 31 + src/generation/to-platform.ts | 201 + src/generation/upload.ts | 22 + src/openhiggsfield/artwork.ts | 60 + src/openhiggsfield/asset-picker.tsx | 433 ++ src/openhiggsfield/composer.tsx | 476 ++ src/openhiggsfield/data.ts | 298 + src/openhiggsfield/download.ts | 39 + src/openhiggsfield/gallery.tsx | 574 ++ src/openhiggsfield/history.ts | 176 + src/openhiggsfield/icons.tsx | 309 + src/openhiggsfield/idb.ts | 76 + src/openhiggsfield/key-modal.tsx | 119 + src/openhiggsfield/media-tray.tsx | 196 + src/openhiggsfield/model-icon.tsx | 50 + src/openhiggsfield/model-picker.tsx | 146 + src/openhiggsfield/openhiggsfield-app.tsx | 765 +++ src/openhiggsfield/openhiggsfield.css | 3736 ++++++++++++ src/openhiggsfield/selection-bar.tsx | 158 + src/openhiggsfield/settings.tsx | 159 + src/openhiggsfield/topbar.tsx | 143 + src/openhiggsfield/ui.tsx | 144 + src/openhiggsfield/uploads.ts | 126 + src/openhiggsfield/viewer.tsx | 381 ++ src/proxy.ts | 16 + src/site.ts | 75 + staff.html | 193 - status.php | 15 - tsconfig.json | 43 + upload.php | 213 - wizard.html | 226 - 361 files changed, 11495 insertions(+), 60338 deletions(-) delete mode 100644 .gitattributes delete mode 100644 _notes/dwsync.xml delete mode 100644 advanceERP.zip delete mode 100644 change.php delete mode 100644 css/32px.png delete mode 100644 css/40px.png delete mode 100644 css/_notes/dwsync.xml delete mode 100644 css/csstables/_notes/dwsync.xml delete mode 100644 css/csstables/buttons.dataTables.min.css delete mode 100644 css/csstables/dataTables.editor.css delete mode 100644 css/csstables/editor.bootstrap.css delete mode 100644 css/csstables/editor.bootstrap.min.css delete mode 100644 css/csstables/editor.bootstrap4.css delete mode 100644 css/csstables/editor.bootstrap4.min.css delete mode 100644 css/csstables/editor.dataTables.css delete mode 100644 css/csstables/editor.dataTables.min.css delete mode 100644 css/csstables/editor.foundation.css delete mode 100644 css/csstables/editor.foundation.min.css delete mode 100644 css/csstables/editor.jqueryui.css delete mode 100644 css/csstables/editor.jqueryui.min.css delete mode 100644 css/csstables/editor.semanticui.css delete mode 100644 css/csstables/editor.semanticui.min.css delete mode 100644 css/csstables/jquery.dataTables.min.css delete mode 100644 css/csstables/responsive.dataTables.min.css delete mode 100644 css/csstables/scss/_notes/dwsync.xml delete mode 100644 css/csstables/scss/bubble.scss delete mode 100644 css/csstables/scss/datatable.scss delete mode 100644 css/csstables/scss/datetime.scss delete mode 100644 css/csstables/scss/envelope.scss delete mode 100644 css/csstables/scss/fields.scss delete mode 100644 css/csstables/scss/inline.scss delete mode 100644 css/csstables/scss/lightbox.scss delete mode 100644 css/csstables/scss/main.scss delete mode 100644 css/csstables/scss/mixins.scss delete mode 100644 css/csstables/scss/processing.scss delete mode 100644 css/csstables/scss/upload.scss delete mode 100644 css/csstables/select.dataTables.min.css delete mode 100644 css/flat-icon/_notes/dwsync.xml delete mode 100644 css/flat-icon/flaticon.css delete mode 100644 css/flat-icon/flaticon.eot delete mode 100644 css/flat-icon/flaticon.svg delete mode 100644 css/flat-icon/flaticon.ttf delete mode 100644 css/flat-icon/flaticon.woff delete mode 100644 css/foundation-datepicker.css delete mode 100644 css/foundation-datepicker.min.css delete mode 100644 css/foundation-icons/_notes/dwsync.xml delete mode 100644 css/foundation-icons/foundation-icons-.eot delete mode 100644 css/foundation-icons/foundation-icons.css delete mode 100644 css/foundation-icons/foundation-icons.eot delete mode 100644 css/foundation-icons/foundation-icons.svg delete mode 100644 css/foundation-icons/foundation-icons.ttf delete mode 100644 css/foundation-icons/foundation-icons.woff delete mode 100644 css/foundation.css delete mode 100644 css/foundation.min.css delete mode 100644 css/images/_notes/dwsync.xml delete mode 100644 css/images/details_close.png delete mode 100644 css/images/details_open.png delete mode 100644 css/images/sort_asc.png delete mode 100644 css/images/sort_asc_disabled.png delete mode 100644 css/images/sort_both.png delete mode 100644 css/images/sort_desc.png delete mode 100644 css/images/sort_desc_disabled.png delete mode 100644 css/jquery.steps.css delete mode 100644 css/jquery.tagsinput.css delete mode 100644 css/plugins/morris/_notes/dwsync.xml delete mode 100644 css/plugins/morris/morris-0.4.3.min.css delete mode 100644 css/responsive-tables.css delete mode 100644 css/style.css delete mode 100644 css/throbber.gif delete mode 100644 css/todos.css delete mode 100644 css/tree.min.css delete mode 100644 csv/_notes/dwsync.xml delete mode 100644 csv/asdasd.txt delete mode 100644 csv/custom-2017_02_28_16_11_37.csv delete mode 100644 csv/custom-2017_02_28_16_12_36.csv delete mode 100644 csv/total-csv.csv delete mode 100644 examples/advanced/REST.html delete mode 100644 examples/advanced/_notes/dwsync.xml delete mode 100644 examples/advanced/compoundKey.html delete mode 100644 examples/advanced/deepObjects.html delete mode 100644 examples/advanced/formOnlyData.html delete mode 100644 examples/advanced/htmlTable.html delete mode 100644 examples/advanced/index.html delete mode 100644 examples/advanced/joinArray.html delete mode 100644 examples/advanced/joinLinkTable.html delete mode 100644 examples/advanced/joinSelf.html delete mode 100644 examples/advanced/jsonId.html delete mode 100644 examples/advanced/localstorage.html delete mode 100644 examples/advanced/multiItem.html delete mode 100644 examples/advanced/tableOnlyData.html delete mode 100644 examples/advanced/upload-many.html delete mode 100644 examples/advanced/upload.html delete mode 100644 examples/dates/_notes/dwsync.xml delete mode 100644 examples/dates/dates.html delete mode 100644 examples/dates/datetime.html delete mode 100644 examples/dates/formatting.html delete mode 100644 examples/dates/html5.html delete mode 100644 examples/dates/i18n.html delete mode 100644 examples/dates/index.html delete mode 100644 examples/dates/jqueryui-formatting.html delete mode 100644 examples/dates/jqueryui.html delete mode 100644 examples/dates/options-disable-days.html delete mode 100644 examples/dates/options-min-max.html delete mode 100644 examples/dates/options-week-numbers.html delete mode 100644 examples/dates/time-increment.html delete mode 100644 examples/dates/time.html delete mode 100644 examples/php/README.txt delete mode 100644 examples/php/_notes/dwsync.xml delete mode 100644 examples/php/checkbox.php delete mode 100644 examples/php/compoundKey.php delete mode 100644 examples/php/dates.php delete mode 100644 examples/php/datetime.php delete mode 100644 examples/php/join.php delete mode 100644 examples/php/joinArray.php delete mode 100644 examples/php/joinLinkTable.php delete mode 100644 examples/php/joinSelf.php delete mode 100644 examples/php/jsonId.php delete mode 100644 examples/php/rest/_notes/dwsync.xml delete mode 100644 examples/php/rest/create.php delete mode 100644 examples/php/rest/edit.php delete mode 100644 examples/php/rest/get.php delete mode 100644 examples/php/rest/remove.php delete mode 100644 examples/php/rest/staff-rest.php delete mode 100644 examples/php/sequence.php delete mode 100644 examples/php/staff-html.php delete mode 100644 examples/php/staff.php delete mode 100644 examples/php/standalone.php delete mode 100644 examples/php/tableOnlyData.php delete mode 100644 examples/php/time.php delete mode 100644 examples/php/todo.php delete mode 100644 examples/php/upload-many.php delete mode 100644 examples/php/upload.php delete mode 100644 examples/resources/_notes/dwsync.xml delete mode 100644 examples/resources/demo.css delete mode 100644 examples/resources/demo.js delete mode 100644 examples/resources/details_close.png delete mode 100644 examples/resources/details_open.png delete mode 100644 examples/resources/examples.php delete mode 100644 examples/resources/syntax/_notes/dwsync.xml delete mode 100644 examples/resources/syntax/shCore.css delete mode 100644 examples/resources/syntax/shCore.js delete mode 100644 general.html delete mode 100644 home.php delete mode 100644 img/23.jpg delete mode 100644 img/32.jpg delete mode 100644 img/67.jpg delete mode 100644 img/78.jpg delete mode 100644 img/_notes/dwsync.xml delete mode 100644 img/destroy.png delete mode 100644 img/logo.png delete mode 100644 import_csv.php delete mode 100644 inbox.html delete mode 100644 incomes.php delete mode 100644 index.php delete mode 100644 invoice.html delete mode 100644 js/_notes/dwsync.xml delete mode 100644 js/ckeditor/_notes/dwsync.xml delete mode 100644 js/ckeditor/ckeditor.js delete mode 100644 js/foundation-datepicker.js delete mode 100644 js/foundation.min.js delete mode 100644 js/jquery.cookie-1.3.1.js delete mode 100644 js/jquery.steps.js delete mode 100644 js/jquery.tagsinput.min.js delete mode 100644 js/jstables/_notes/dwsync.xml delete mode 100644 js/jstables/buttons.html5.min.js delete mode 100644 js/jstables/buttons.print.min.js delete mode 100644 js/jstables/dataTables.buttons.min.js delete mode 100644 js/jstables/dataTables.editor.js delete mode 100644 js/jstables/dataTables.editor.min.js delete mode 100644 js/jstables/dataTables.responsive.min.js delete mode 100644 js/jstables/dataTables.select.min.js delete mode 100644 js/jstables/editor.bootstrap.js delete mode 100644 js/jstables/editor.bootstrap.min.js delete mode 100644 js/jstables/editor.bootstrap4.js delete mode 100644 js/jstables/editor.bootstrap4.min.js delete mode 100644 js/jstables/editor.foundation.js delete mode 100644 js/jstables/editor.foundation.min.js delete mode 100644 js/jstables/editor.jqueryui.js delete mode 100644 js/jstables/editor.jqueryui.min.js delete mode 100644 js/jstables/editor.semanticui.js delete mode 100644 js/jstables/editor.semanticui.min.js delete mode 100644 js/jstables/jquery.dataTables.min.js delete mode 100644 js/jstables/jszip.min.js delete mode 100644 js/jstables/pdfmake.min.js delete mode 100644 js/jstables/vfs_fonts.js delete mode 100644 js/jstree.min.js delete mode 100644 js/locales/_notes/dwsync.xml delete mode 100644 js/locales/foundation-datepicker.en-GB.js delete mode 100644 js/locales/foundation-datepicker.es.js delete mode 100644 js/menu.js delete mode 100644 js/morris-demo.js delete mode 100644 js/plugins/morris/_notes/dwsync.xml delete mode 100644 js/plugins/morris/morris.js delete mode 100644 js/plugins/morris/raphael-2.1.0.min.js delete mode 100644 js/responsive-tables.js delete mode 100644 js/todos.js delete mode 100644 js/vendor/_notes/dwsync.xml delete mode 100644 js/vendor/jquery.js delete mode 100644 js/vendor/modernizr.js delete mode 100644 login.php delete mode 100644 logout.php delete mode 100644 mysql/_notes/dwsync.xml delete mode 100644 mysql/advance2.sql delete mode 100644 mysql/mysql-users.sql create mode 100644 next-env.d.ts create mode 100644 next.config.ts create mode 100644 package.json delete mode 100644 php/Bootstrap.php delete mode 100644 php/DataTables.php delete mode 100644 php/Database/Database.php delete mode 100644 php/Database/Driver/Mysql/Query.php delete mode 100644 php/Database/Driver/Mysql/Result.php delete mode 100644 php/Database/Driver/Mysql/_notes/dwsync.xml delete mode 100644 php/Database/Driver/Oracle/Query.php delete mode 100644 php/Database/Driver/Oracle/Result.php delete mode 100644 php/Database/Driver/Oracle/_notes/dwsync.xml delete mode 100644 php/Database/Driver/Postgres/Query.php delete mode 100644 php/Database/Driver/Postgres/Result.php delete mode 100644 php/Database/Driver/Postgres/_notes/dwsync.xml delete mode 100644 php/Database/Driver/Sqlite/Query.php delete mode 100644 php/Database/Driver/Sqlite/Result.php delete mode 100644 php/Database/Driver/Sqlite/_notes/dwsync.xml delete mode 100644 php/Database/Driver/Sqlserver/Query.php delete mode 100644 php/Database/Driver/Sqlserver/Result.php delete mode 100644 php/Database/Driver/Sqlserver/_notes/dwsync.xml delete mode 100644 php/Database/Query.php delete mode 100644 php/Database/Result.php delete mode 100644 php/Database/_notes/dwsync.xml delete mode 100644 php/Editor/Editor.php delete mode 100644 php/Editor/Field.php delete mode 100644 php/Editor/Format.php delete mode 100644 php/Editor/Join.php delete mode 100644 php/Editor/Mjoin.php delete mode 100644 php/Editor/Options.php delete mode 100644 php/Editor/Upload.php delete mode 100644 php/Editor/Validate.php delete mode 100644 php/Editor/_notes/dwsync.xml delete mode 100644 php/Ext/Ext.php delete mode 100644 php/Ext/_notes/dwsync.xml delete mode 100644 php/Vendor/Htmlaw.php delete mode 100644 php/Vendor/_notes/dwsync.xml delete mode 100644 php/Vendor/htmLawed/_notes/dwsync.xml delete mode 100644 php/Vendor/htmLawed/htmLawed.php delete mode 100644 php/_notes/dwsync.xml delete mode 100644 php/diff_update.php create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml delete mode 100644 pricing.html delete mode 100644 profile.html create mode 100644 public/icon-192.png create mode 100644 public/icon-512.png create mode 100644 public/icon-maskable-512.png create mode 100644 public/model-icons/flux.svg create mode 100644 public/model-icons/grok.svg create mode 100644 public/model-icons/happy-horse.svg create mode 100644 public/model-icons/higgsfield.svg create mode 100644 public/model-icons/ideogram.svg create mode 100644 public/model-icons/kling.svg create mode 100644 public/model-icons/ltx.svg create mode 100644 public/model-icons/minimax.svg create mode 100644 public/model-icons/pixverse.svg create mode 100644 public/model-icons/qwen.svg create mode 100644 public/model-icons/recraft.svg create mode 100644 public/model-icons/wan.svg create mode 100644 public/model-icons/z-image.svg create mode 100644 public/og.png delete mode 100644 recursos/Simple-Notification-system-php-master.zip delete mode 100644 recursos/Simple-Notification-system-php-master/README.md delete mode 100644 recursos/Simple-Notification-system-php-master/index.php delete mode 100644 recursos/Simple-Notification-system-php-master/student1.php delete mode 100644 recursos/Simple-Notification-system-php-master/student2.php delete mode 100644 register.php delete mode 100644 reset.php delete mode 100644 reset2.php create mode 100644 scripts/build-brand-assets.mjs delete mode 100644 src/LS.php delete mode 100644 src/_notes/dwsync.xml create mode 100644 src/app/api/blob/route.ts create mode 100644 src/app/apple-icon.png create mode 100644 src/app/base.css create mode 100644 src/app/icon.svg create mode 100644 src/app/layout.tsx create mode 100644 src/app/manifest.ts create mode 100644 src/app/page.tsx create mode 100644 src/app/robots.ts create mode 100644 src/app/sitemap.ts create mode 100644 src/generation/actions.ts create mode 100644 src/generation/catalog/defaults.ts create mode 100644 src/generation/catalog/dop.ts create mode 100644 src/generation/catalog/flux-2.ts create mode 100644 src/generation/catalog/flux-3.ts create mode 100644 src/generation/catalog/grok-imagine-2.ts create mode 100644 src/generation/catalog/grok-imagine-video-1.5.ts create mode 100644 src/generation/catalog/happy-horse-1.1.ts create mode 100644 src/generation/catalog/happy-horse-1.ts create mode 100644 src/generation/catalog/ideogram-4.ts create mode 100644 src/generation/catalog/index.ts create mode 100644 src/generation/catalog/kling-2.5.ts create mode 100644 src/generation/catalog/kling-2.6.ts create mode 100644 src/generation/catalog/kling-3.ts create mode 100644 src/generation/catalog/kling-o1.ts create mode 100644 src/generation/catalog/kling-o3.ts create mode 100644 src/generation/catalog/ltx-2.5-fast.ts create mode 100644 src/generation/catalog/ltx-2.5-pro.ts create mode 100644 src/generation/catalog/minimax-h3.ts create mode 100644 src/generation/catalog/minimax-hailuo-2.3.ts create mode 100644 src/generation/catalog/parse-settings.ts create mode 100644 src/generation/catalog/pixverse-6.ts create mode 100644 src/generation/catalog/qwen-image-3.ts create mode 100644 src/generation/catalog/recraft-4.1.ts create mode 100644 src/generation/catalog/seedance-2.5.ts create mode 100644 src/generation/catalog/seedance-2.ts create mode 100644 src/generation/catalog/soul.ts create mode 100644 src/generation/catalog/tokens.ts create mode 100644 src/generation/catalog/types.ts create mode 100644 src/generation/catalog/wan-2.6.ts create mode 100644 src/generation/catalog/wan-2.7.ts create mode 100644 src/generation/catalog/wan-3-prime.ts create mode 100644 src/generation/catalog/wan-3.ts create mode 100644 src/generation/catalog/z-image-turbo.ts create mode 100644 src/generation/credentials.ts create mode 100644 src/generation/device.ts create mode 100644 src/generation/plane.ts create mode 100644 src/generation/platform.ts create mode 100644 src/generation/poll.ts create mode 100644 src/generation/stores/active.ts create mode 100644 src/generation/stores/browser-storage.ts create mode 100644 src/generation/stores/media.ts create mode 100644 src/generation/stores/prompt.ts create mode 100644 src/generation/stores/settings.ts create mode 100644 src/generation/to-platform.ts create mode 100644 src/generation/upload.ts create mode 100644 src/openhiggsfield/artwork.ts create mode 100644 src/openhiggsfield/asset-picker.tsx create mode 100644 src/openhiggsfield/composer.tsx create mode 100644 src/openhiggsfield/data.ts create mode 100644 src/openhiggsfield/download.ts create mode 100644 src/openhiggsfield/gallery.tsx create mode 100644 src/openhiggsfield/history.ts create mode 100644 src/openhiggsfield/icons.tsx create mode 100644 src/openhiggsfield/idb.ts create mode 100644 src/openhiggsfield/key-modal.tsx create mode 100644 src/openhiggsfield/media-tray.tsx create mode 100644 src/openhiggsfield/model-icon.tsx create mode 100644 src/openhiggsfield/model-picker.tsx create mode 100644 src/openhiggsfield/openhiggsfield-app.tsx create mode 100644 src/openhiggsfield/openhiggsfield.css create mode 100644 src/openhiggsfield/selection-bar.tsx create mode 100644 src/openhiggsfield/settings.tsx create mode 100644 src/openhiggsfield/topbar.tsx create mode 100644 src/openhiggsfield/ui.tsx create mode 100644 src/openhiggsfield/uploads.ts create mode 100644 src/openhiggsfield/viewer.tsx create mode 100644 src/proxy.ts create mode 100644 src/site.ts delete mode 100644 staff.html delete mode 100644 status.php create mode 100644 tsconfig.json delete mode 100644 upload.php delete mode 100644 wizard.html diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index bdb0cab..0000000 --- a/.gitattributes +++ /dev/null @@ -1,17 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto - -# Custom for Visual Studio -*.cs diff=csharp - -# Standard to msysgit -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index cd2946a..2e9cb17 100644 --- a/.gitignore +++ b/.gitignore @@ -1,47 +1,14 @@ -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# ========================= -# Operating System Files -# ========================= - -# OSX -# ========================= - +node_modules .DS_Store -.AppleDouble -.LSOverride - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk +.next +out +dist +*.local +.env +.env.* +!.env.example +.vercel +tsconfig.tsbuildinfo + +.env* +.idea diff --git a/_notes/dwsync.xml b/_notes/dwsync.xml deleted file mode 100644 index 1e5c2df..0000000 --- a/_notes/dwsync.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/advanceERP.zip b/advanceERP.zip deleted file mode 100644 index 5b5dff247916e3096e579c7d6fb0b0197d928677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832196 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�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%0A*A6)3fWu>jeJp7|I^!-L+ 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

    ;GcegF99eGUjHml3exQb3v5nOZ~`v5 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

    -awfDyrFI|aWQjR3#^vx%gC!dJ9qyMy= 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 z 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%0A*$e-I+aiUid_epP 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

    -; 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

    e5M%DqT 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", "

    Some Fields were left blank. Please fill up all fields.

    "; - }elseif( !$LS->validEmail($email) ){ - echo "

    E-Mail Is Not Valid

    ", "

    The E-Mail you gave is not valid

    "; - }elseif( !ctype_alnum($username) ){ - echo "

    Invalid Username

    ", "

    The Username is not valid. Only ALPHANUMERIC characters are allowed and shouldn't exceed 10 characters.

    "; - }elseif($password != $retyped_password){ - echo "

    Passwords Don't Match

    ", "

    The Passwords you entered didn't match

    "; - }else{ - $createAccount = $LS->register($username, $password, - array( - "email" => $email, - "name" => $name, - "created" => date("Y-m-d H:i:s") // Just for testing - ) - ); - if($createAccount === "exists"){ - echo ""; - }elseif($createAccount === true){ - echo ""; - } - } - } - ?> - - - - - - - - - - - - \ No newline at end of file diff --git a/reset.php b/reset.php deleted file mode 100644 index 2407e06..0000000 --- a/reset.php +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - Reset Password - - - - - - -
    -
    -
    -
    - logo - - forgotPassword(); - ?> -
    -
    - -
    -
    - - - - - - - \ No newline at end of file diff --git a/reset2.php b/reset2.php deleted file mode 100644 index b2c717c..0000000 --- a/reset2.php +++ /dev/null @@ -1,9 +0,0 @@ - - - - forgotPassword(); - ?> - - diff --git a/scripts/build-brand-assets.mjs b/scripts/build-brand-assets.mjs new file mode 100644 index 0000000..a7409f6 --- /dev/null +++ b/scripts/build-brand-assets.mjs @@ -0,0 +1,181 @@ +/* Builds every raster brand asset from the one mark geometry. + + The mark is authored once as SVG (src/app/icon.svg for the favicon, + src/components/OpenHiggsfieldMark.tsx for the interface). Apple, the web app + manifest and Open Graph all need rasters, so this script draws the same + 32-unit field in a headless Chromium and screenshots it at each size. + + node scripts/build-brand-assets.mjs + + Chromium comes from a local Playwright install; point CHROME_BIN at any + Chrome build to use a different one. Outputs are committed — this runs when + the mark changes, not on every build. */ + +import { execFileSync } from "node:child_process"; +import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; +import { homedir, tmpdir } from "node:os"; +import { join, resolve } from "node:path"; + +/* ---------- the mark ---------- */ + +const PLATE = "#0e1011"; +const ACCENT = "#6fe3c0"; +const INK = "#c2c9c8"; + +/** The two brackets on a 32-unit field. Keep in step with src/app/icon.svg. */ +function brackets({ stroke = 2.5, accent = ACCENT, ink = INK } = {}) { + return ` + + + `; +} + +const markSvg = (size, opts) => + `${brackets(opts)}`; + +/* The plate edge is one unit — a true hairline — at favicon size. In the large + rasters it has to stay a hairline, so there it scales as a fraction of a unit. */ +const roundedPlate = (size) => ` + + + ${brackets()} +`; + +/** Full-bleed square: Apple and the maskable spec apply their own mask. */ +const bleedPlate = (size, scale) => ` + + ${brackets()} +`; + +const GRAIN = + "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E\")"; + +/* ---------- renderer ---------- */ + +function findChrome() { + const candidates = [ + process.env.CHROME_BIN, + ...["1237", "1228"].map((build) => + join( + homedir(), + "Library/Caches/ms-playwright", + `chromium-${build}/chrome-mac-arm64`, + "Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing", + ), + ), + "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", + "/Applications/Chromium.app/Contents/MacOS/Chromium", + ].filter(Boolean); + + const found = candidates.find((path) => existsSync(path)); + if (found) return found; + throw new Error( + "No Chrome found. Install one, or set CHROME_BIN to a Chrome/Chromium binary.", + ); +} + +const CHROME = findChrome(); +const ROOT = resolve(import.meta.dirname, ".."); +const WORK = mkdtempSync(join(tmpdir(), "openhiggsfield-brand-")); + +function shoot(out, html, width, height, { transparent = false } = {}) { + const page = join(WORK, `${width}x${height}-${Math.abs(hash(out))}.html`); + writeFileSync(page, html); + mkdirSync(resolve(out, ".."), { recursive: true }); + execFileSync( + CHROME, + [ + "--headless", + "--disable-gpu", + "--hide-scrollbars", + "--force-device-scale-factor=1", + "--virtual-time-budget=6000", + ...(transparent ? ["--default-background-color=00000000"] : []), + `--window-size=${width},${height}`, + `--screenshot=${out}`, + `file://${page}`, + ], + { stdio: ["ignore", "ignore", "pipe"] }, + ); + console.log(` ${out.replace(`${ROOT}/`, "")} ${width}×${height}`); +} + +function hash(str) { + let h = 0; + for (let i = 0; i < str.length; i++) h = (Math.imul(h, 31) + str.charCodeAt(i)) | 0; + return h; +} + +const shell = (body, bg = "transparent") => + `${body}`; + +/* ---------- app icons ---------- */ + +console.log("app icons"); +shoot(join(ROOT, "public/icon-512.png"), shell(roundedPlate(512)), 512, 512, { + transparent: true, +}); +shoot(join(ROOT, "public/icon-192.png"), shell(roundedPlate(192)), 192, 192, { + transparent: true, +}); +// Maskable keeps the mark inside the 80%-diameter safe circle. +shoot(join(ROOT, "public/icon-maskable-512.png"), shell(bleedPlate(512, 0.82)), 512, 512); +shoot(join(ROOT, "src/app/apple-icon.png"), shell(bleedPlate(180, 1)), 180, 180); + +/* ---------- open graph card ---------- + No stand-in tiles standing in for generated work we do not have. The only + device besides the type is the mark itself, drawn large and hairline-thin: + the card sits inside the field the mark names. */ + +const og = ` + + + + +
    ${markSvg(454, { stroke: 1.15, accent: "rgba(111,227,192,0.17)", ink: "rgba(255,255,255,0.085)" })}
    +
    ${markSvg(58, { stroke: 2.5 })}
    +
    +

    OpenHiggsfield AI

    +
    Open source AI studio
    +
    +

    One prompt bar for image and video. Each model’s own settings, and every finished run in one gallery.

    +
    +
    `; + +console.log("open graph"); +// public/, not app/opengraph-image.png — see the OG_IMAGE note in src/site.ts. +shoot(join(ROOT, "public/og.png"), og, 1200, 630); + +rmSync(WORK, { recursive: true, force: true }); diff --git a/src/LS.php b/src/LS.php deleted file mode 100644 index 961a638..0000000 --- a/src/LS.php +++ /dev/null @@ -1,1344 +0,0 @@ - array( - "company" => "Advance Mobile Advertising", - "email" => "sergio.suarez@advancemobile.net", - "email_callback" => false, - - /** - * Callback to override output content - */ - "output_callback" => false - ), - - /** - * Database Configuration - */ - "db" => array( - /** - * @var string "mysql" or "postgresql" or "sqlite" - */ - "type" => "mysql", - - /** - * MySQL options - */ - "host" => "b672472483.db.1and1.com", - "port" => "3306", - - /** - * SQLite options - */ - "sqlite_path" => "/home/simsu/mydb.sqlite", - - "username" => "dbo672472483", - "password" => "sOulm4dnessCocu", - - "name" => "db672472483", - "table" => "users", - "token_table" => "user_tokens", - - "columns" => array( - "id" => "id", - "username" => "username", - "password" => "password", - "email" => "email", - "attempt" => "attempt" - ), - ), - - /** - * Keys used for encryption - * DONT MAKE THIS PUBLIC - */ - "keys" => array( - /** - * Changing cookie key will expire all current active login sessions - */ - "cookie" => "ckxc436jd*^30f840v*9!@#$", - /** - * `salt` should not be changed after users are created - */ - "salt" => "^#$4%9f+1^p9)M@4M)V$" - ), - - /** - * Enable/Disable certain features - */ - "features" => array( - /** - * Should I Call session_start(); - */ - "start_session" => true, - /** - * Enable/Disable Login using Username & E-Mail - */ - "email_login" => true, - /** - * Enable/Disable `Remember Me` feature - */ - "remember_me" => true, - /** - * Should \Fr\LS::init() be called automatically - */ - "auto_init" => false, - - /** - * Prevent Brute Forcing - * --------------------- - * By enabling this, logSys will deny login for the time mentioned - * in the "brute_force"->"time_limit" seconds after "brute_force"->"tries" - * number of incorrect login tries. - */ - "block_brute_force" => true, - - /** - * Two Step Login - * -------------- - * By enabling this, a checking is done when user visits - * whether the device he/she uses is approved by the user. - * Allows the original user to revoke logins in other devices/places - * Useful if the user forgot to logout in some place. - */ - "two_step_login" => false - ), - - /** - * `Blocking Brute Force Attacks` options - */ - "brute_force" => array( - /** - * No of tries alloted to each user - */ - "tries" => 5, - /** - * The time IN SECONDS for which block from login action should be done after - * incorrect login attempts. Use http://www.easysurf.cc/utime.htm#m60s - * for converting minutes to seconds. Default : 5 minutes - */ - "time_limit" => 300 - ), - - /** - * Information about pages - */ - "pages" => array( - /** - * Pages that doesn't require logging in. - * Exclude login page, but include REGISTER page. - * Use RELATIVE links. To find the relative link of - * a page, do var_dump(Fr\LS::curPage()); - */ - "no_login" => array(), - - /** - * Pages that both logged in and not logged in users can access - */ - "everyone" => array(), - - /** - * The login page. ex : /login.php or /accounts/login.php - */ - "login_page" => "/advanceERP/login.php", - - /** - * The home page. The main page for logged in users. - * logSys redirects to here after user logs in - */ - "home_page" => "/advanceERP/index.php" - ), - - /** - * Settings about cookie creation - */ - "cookies" => array( - /** - * Default : cookies expire in 30 days. The value is - * for setting in strtotime() function - * http://php.net/manual/en/function.strtotime.php - */ - "expire" => "+30 days", - "path" => "/", - "domain" => "", - - /** - * Names of cookies created - */ - "names" => array( - "login_token" => "lg", - "remember_me" => "rm", - "device" => "dv", - - /** - * This is used as $_SESSION key - */ - "current_user" => "cu", - "device_verified" => "dvv" - ), - ), - - /** - * 2 Step Login - */ - 'two_step_login' => array( - /** - * Message to show before displaying "Enter Token" form. - */ - 'instruction' => '', - - /** - * Callback when token is generated. - * Used to send message to user (Phone/E-Mail) - */ - 'send_callback' => '', - - /** - * The table to stoe user's sessions - */ - 'devices_table' => 'user_devices', - - /** - * The length of token generated. - * A low value is better for tokens sent via Mobile SMS - */ - 'token_length' => 4, - - /** - * Whether the token should be numeric only ? - * Default Token : Alphabetic + Numeric mixed strings - */ - 'numeric' => false, - - /** - * The expire time of cookie that authorizes the device - * to login using the user's account with 2 Step Verification - * The value is for setting in strtotime() function - * http://php.net/manual/en/function.strtotime.php - */ - 'expire' => '+45 days', - - /** - * Should logSys checks if device is valid, everytime - * logSys is initiated ie everytime a page loads - * If you want to check only the first time a user loads - * a page, then set the value to TRUE, else FALSE - */ - 'first_check_only' => true - ), - - /** - * Debug info - */ - "debug" => array( - /** - * Enable debugging - */ - "enable" => false, - - /** - * Absolute path - */ - "log_file" => "", - ) - ); - - /** - * @var array - */ - private $config = array(); - - /** - * Config - * @param array $config [description] - * @return [type] [description] - */ - public function config($config = array()){ - /** - * Callback to display messages for different states - * @var array - */ - self::$default_config["basic"]["output_callback"] = function(&$LS, $state, $extraInfo = array()){ - if($state === "invalidToken") - return "

    Error : Wrong/Invalid Token

    "; - else if($state === "fieldsLeftBlank") - return "

    Error : Fields Left Blank

    "; - else if($state === "passwordDontMatch") - return "

    Error : Passwords Don't Match

    "; - else if($state === "passwordChanged") - return "

    Success : Password Reset Successful

    You may now login with your new password.

    "; - else if($state === "identityNotProvided") - return "

    Error : {$extraInfo["identity_type"]} not provided

    "; - else if($state === "userNotFound") - return "

    Error : User Not Found

    "; - else if($state === "notLoggedIn") - return "

    Error : Not Logged In

    "; - else if($state === "twoStepLoginVerifyForm") - return "
    -

    ". $LS->config['two_step_login']['instruction'] ."

    - - - - ". ($extraInfo["remember_me"] === true ? "" : "") ." - -
    "; - else if($state === "resetPasswordRequestForm") - return "
    - -

    -
    - Back to Login"; - else if($state === "resetPasswordForm") - return "

    The Token key was Authorized. Now, you can change the password

    -
    - -
    -
    -

    -
    "; - }; - - $this->config = array_replace_recursive(self::$default_config, $config); - - /** - * Add the login page to the array of pages that doesn't need logging in - */ - array_push($this->config['pages']['no_login'], $this->config['pages']['login_page']); - - if( $this->config["debug"]["enable"] ){ - ini_set("display_errors", "on"); - } - } - - /** - * Add messages to log file - * - * @param string $msg Message - * @return boolean Whether message was written - */ - public function log($msg = ""){ - if( $this->config["debug"]["enable"] ){ - $log_file = $this->config["debug"]["log_file"]; - - if( $log_file === "" ) - $log_file = __DIR__ . "/Francium.log"; - - if( $msg !== "" ){ - $message = "[" . date("Y-m-d H:i:s") . "] $msg"; - $fh = fopen($log_file, 'a'); - fwrite($fh, $message . "\n"); - fclose($fh); - return true; - } - } - return false; - } - - /** - * @var boolean Is user logged in - */ - public $loggedIn = false; - - /** - * @var int|boolean User ID - */ - public $userID = false; - - /** - * @var \PDO Database handler - */ - private $dbh; - - /** - * @var boolean Whether Fr\LS::init() was called - */ - private $initCalled = false; - - /** - * Intialize - * @param array $config Configuration - */ - public function __construct($config = array()){ - $this->config( $config ); - - if( $this->config['features']['start_session'] === true ){ - session_start(); - } - - /** - * Try connecting to Database Server - */ - try{ - if( $this->config["db"]["type"] === "sqlite" ) { - - $this->dbh = new \PDO("sqlite:" . $this->config["db"]["sqlite_path"], - $this->config["db"]["username"], - $this->config["db"]["password"], - array( - \PDO::ATTR_PERSISTENT => true, - \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION - ) - ); - - /** - * Enable Multithreading Read/Write - */ - $this->dbh->exec("PRAGMA journal_mode=WAL;"); - - } else if( $this->config["db"]["type"] === "postgresql" ) { - - $this->dbh = new \PDO("pgsql:dbname=". $this->config['db']['name'] .";host=". $this->config['db']['host'] .";port=". $this->config['db']['port']. ";", - $this->config['db']['username'], - $this->config['db']['password'], - array( - \PDO::ATTR_PERSISTENT => true, - \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION - ) - ); - - } else { - - $this->dbh = new \PDO("mysql:dbname=". $this->config['db']['name'] .";host=". $this->config['db']['host'] .";port=". $this->config['db']['port']. ";charset=utf8", - $this->config['db']['username'], - $this->config['db']['password'], - array( - \PDO::ATTR_PERSISTENT => true, - \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION - )); - - } - - $cookieToken = isset($_COOKIE[$this->config['cookies']['names']['login_token']]) ? $_COOKIE[ $this->config['cookies']['names']['login_token'] ] : false; - - /** - * @var int|boolean User ID is stored in session - */ - $sessionUID = isset( $_SESSION[ $this->config['cookies']['names']['current_user'] ] ) ? $_SESSION[ $this->config['cookies']['names']['current_user'] ] : false; - - $rememberMe = isset( $_COOKIE[ $this->config['cookies']['names']['remember_me'] ] ) ? $_COOKIE[ $this->config['cookies']['names']['remember_me'] ] : false; - - if($cookieToken) { - $loginToken = hash("sha256", $this->config['keys']['cookie'] . $sessionUID . $this->config['keys']['cookie']); - - $this->loggedIn = $cookieToken === $loginToken; - } - - /** - * If there is a Remember Me Cookie and the user is not logged in, - * then log in the user with the ID in the remember cookie if it - * matches with the decrypted value in `logSyslogin` cookie - */ - if( $this->config['features']['remember_me'] === true && $rememberMe && !$this->loggedIn ) { - $loginToken = hash("sha256", $this->config['keys']['cookie']. $rememberMe . $this->config['keys']['cookie']); - - $this->loggedIn = $loginToken === $loginToken; - - if($this->loggedIn === true){ - $_SESSION[$this->config["cookies"]["names"]["current_user"]] = $rememberMe; - $sessionUID = $rememberMe; - } - } - - $this->userID = $sessionUID; - - /** - * Check if devices is authorized to use the account - */ - if($this->config['features']['two_step_login'] === true && $this->loggedIn){ - $login_page = self::curPage() === $this->config['pages']['login_page']; - - if(!isset($_SESSION[ $this->config['cookies']['names']['device_verified'] ]) && !isset($_COOKIE[$this->config["cookies"]["names"]["device"]]) && $login_page === false){ - /** - * The device cookie is not even set. So, logout - */ - $this->logout(); - }else if($this->config['two_step_login']['first_check_only'] === false || ($this->config['two_step_login']['first_check_only'] === true && !isset($_SESSION[ $this->config['cookies']['names']['device_verified'] ]))){ - $sql = $this->dbh->prepare("SELECT '1' FROM ". $this->config['two_step_login']['devices_table'] ." WHERE uid = ? AND token = ?"); - $sql->execute(array($this->userID, $_COOKIE[$this->config["cookies"]["names"]["device"]])); - - /** - * Device not authorized, so remove device cookie & logout - */ - if($sql->fetchColumn() !== '1' && $login_page === false){ - setcookie($this->config["cookies"]["names"]["device"], "", time() - 10); - $this->logout(); - }else{ - /** - * This session has been checked and verified - */ - $_SESSION[ $this->config['cookies']['names']['device_verified'] ] = 1; - } - } - } - - if( $this->config['features']['auto_init'] === true ){ - $this->init(); - } - return true; - }catch(\PDOException $e) { - /** - * Couldn't connect to Database - */ - self::log("Could not connect to database. Check config->db credentials. PDO Output: " . $e->getMessage()); - return false; - } - } - - /** - * A function that will automatically redirect user according to his/her login status - * @return void - */ - public function init() { - if(in_array(self::curPage(), $this->config['pages']['everyone'])){ - /** - * No redirects as this page can be accessed - * by anyone whether he/she is logged in or not - */ - }else if($this->loggedIn === true && in_array(self::curPage(), $this->config['pages']['no_login'])){ - self::redirect($this->config['pages']['home_page']); - }else if($this->loggedIn === false && array_search(self::curPage(), $this->config['pages']['no_login']) === false){ - self::redirect($this->config['pages']['login_page']); - } - $this->initCalled = true; - } - - /** - * Login the user - * @param string $username Username or email - * @param boolean|string $password Password as string or - * FALSE for skipping password check - * @param boolean $remember_me Remember me - * @param boolean $cookies Should cookies be created and redirected - * @return array|boolean|string Array if user is blocked - * TRUE if login was success - * User ID if login was success and $cookies FALSE - */ - public function login($username, $password, $remember_me = false, $cookies = true){ - /** - * We Add LIMIT to 1 in SQL query because to - * get an array with key as the column name. - */ - if($this->config['features']['email_login'] === true){ - $query = "SELECT ". $this->config["db"]["columns"]["id"] .", ". $this->config["db"]["columns"]["password"] .", ". $this->config["db"]["columns"]["attempt"] ." FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["username"] ."=:login OR ". $this->config["db"]["columns"]["email"] ."=:login ORDER BY ". $this->config["db"]["columns"]["id"] ." LIMIT 1"; - }else{ - $query = "SELECT ". $this->config["db"]["columns"]["id"] .", ". $this->config["db"]["columns"]["password"] .", ". $this->config["db"]["columns"]["attempt"] ." FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["username"] ."=:login ORDER BY ". $this->config["db"]["columns"]["id"] ." LIMIT 1"; - } - - $sql = $this->dbh->prepare($query); - $sql->bindValue(":login", $username); - - $sql->execute(); - $cols = $sql->fetch(\PDO::FETCH_ASSOC); - - if(empty($cols)){ - // No such user like that - return false; - }else{ - /** - * Get the user details - */ - $us_id = $cols['id']; - $us_pass = $cols['password']; - $status = $cols['attempt']; - - if(substr($status, 0, 2) == "b-"){ - $blockedTime = substr($status, 2); - if(time() < $blockedTime){ - $blocked = true; - return array( - "status" => "blocked", - "minutes" => round(abs($blockedTime - time()) / 60, 0), - "seconds" => round(abs($blockedTime - time()) / 60*60, 2) - ); - }else{ - // remove the block, because the time limit is over - $this->updateUser(array( - "attempt" => "" // No tries at all - ), $us_id); - } - } - - if( !isset($blocked) && ($password === false || password_verify($password . $this->config['keys']['salt'], $us_pass) ) ){ - if($cookies === true){ - - $_SESSION[$this->config["cookies"]["names"]["current_user"]] = $us_id; - - setcookie($this->config["cookies"]["names"]["login_token"], hash("sha256", $this->config['keys']['cookie'] . $us_id . $this->config['keys']['cookie']), strtotime($this->config['cookies']['expire']), $this->config['cookies']['path'], $this->config['cookies']['domain']); - - if( $remember_me === true && $this->config['features']['remember_me'] === true ){ - setcookie($this->config["cookies"]["names"]["remember_me"], $us_id, strtotime($this->config['cookies']['expire']), $this->config['cookies']['path'], $this->config['cookies']['domain']); - } - $this->loggedIn = true; - - if($this->config['features']['block_brute_force'] === true){ - /** - * If Brute Force Protection is Enabled, - * Reset the attempt status - */ - $this->updateUser(array( - "attempt" => "0" - ), $us_id); - } - - // Redirect - if($this->initCalled){ - self::redirect($this->config['pages']['home_page']); - } - return true; - }else{ - /** - * If cookies shouldn't be set, - * it means login() was called - * to get the user's ID. So, return it - */ - return $us_id; - } - }else{ - /** - * Incorrect password - * ------------------ - * Check if brute force protection is enabled - */ - if($this->config['features']['block_brute_force'] === true){ - $max_tries = $this->config['brute_force']['tries']; - - if($status == ""){ - // User was not logged in before - $this->updateUser(array( - "attempt" => "1" // Tried 1 time - ), $us_id); - }else if($status == $max_tries){ - /** - * Account Blocked. User will be only able to - * re-login at the time in UNIX timestamp - */ - $eligible_for_next_login_time = strtotime("+". $this->config['brute_force']['time_limit'] ." seconds", time()); - $this->updateUser(array( - "attempt" => "b-" . $eligible_for_next_login_time - ), $us_id); - return array( - "status" => "blocked", - "minutes" => round(abs($eligible_for_next_login_time - time()) / 60, 0), - "seconds" => round(abs($eligible_for_next_login_time - time()) / 60*60, 2) - ); - }else if($status < $max_tries){ - // If the attempts are less than Max and not Max - $this->updateUser(array( - "attempt" => $status + 1 // Increase the no of tries by +1. - ), $us_id); - } - } - return false; - } - } - } - - /** - * Register a user - * @param string $identification Username or email - * @param string $password Password - * @param array $other Values for other columns - * @return boolean|string Whether user exists (exists) or account was created - */ - public function register( $identification, $password, $other = array() ){ - if( $this->userExists($identification) || (isset($other['email']) && $this->userExists($other['email'])) ){ - return "exists"; - }else{ - $hashedPass = password_hash($password. $this->config['keys']['salt'], PASSWORD_DEFAULT); - - if( count($other) == 0 ){ - /* If there is no other fields mentioned, make the default query */ - $sql = $this->dbh->prepare("INSERT INTO ". $this->config['db']['table'] ." (". $this->config["db"]["columns"]["username"] .", ". $this->config["db"]["columns"]["password"] .") VALUES(:username, :password)"); - }else{ - /* if there are other fields to add value to, make the query and bind values according to it */ - $keys = array_keys($other); - $columns = implode(",", $keys); - $colVals = implode(",:", $keys); - $sql = $this->dbh->prepare("INSERT INTO ". $this->config['db']['table'] ." (". $this->config["db"]["columns"]["username"] .", ". $this->config["db"]["columns"]["password"] .", $columns) VALUES(:username, :password, :$colVals)"); - foreach($other as $key => $value){ - $value = htmlspecialchars($value); - $sql->bindValue(":$key", $value); - } - } - /* Bind the default values */ - $sql->bindValue(":username", $identification); - $sql->bindValue(":password", $hashedPass); - $sql->execute(); - return true; - } - } - - /** - * Logout the user by destroying the cookies and session - */ - public function logout(){ - session_destroy(); - setcookie($this->config["cookies"]["names"]["login_token"], "", time() - 10, $this->config['cookies']['path'], $this->config['cookies']['domain']); - setcookie($this->config["cookies"]["names"]["remember_me"], "", time() - 10, $this->config['cookies']['path'], $this->config['cookies']['domain']); - - /** - * Wait for the cookies to be removed, then redirect - */ - usleep(2000); - self::redirect($this->config['pages']['login_page']); - return true; - } - - /** - * A function to handle the Forgot Password process - * @return string The current state of the process - */ - public function forgotPassword(){ - $curStatus = "initial"; // The Current Status of Forgot Password process - $identName = $this->config['features']['email_login'] === false ? "Username" : "Username / E-Mail"; - - if( !isset($_POST['logSysForgotPass']) && !isset($_GET['resetPassToken']) && !isset($_POST['logSysForgotPassChange']) ){ - echo $this->getOutput("resetPasswordRequestForm", array( - "identity_type" => $identName - )); - - /** - * The user had moved to the reset password form ie she/he is currently seeing the forgot password form - */ - $curStatus = "resetPasswordRequestForm"; - }elseif( isset($_GET['resetPassToken']) && !isset($_POST['logSysForgotPassChange']) ){ - /** - * The user gave the password reset token. Check if the token is valid. - */ - $reset_pass_token = urldecode($_GET['resetPassToken']); - $sql = $this->dbh->prepare("SELECT COUNT(1) FROM ". $this->config['db']['token_table'] ." WHERE token = ?"); - $sql->execute(array($reset_pass_token)); - - if($sql->fetchColumn() == 0 || $reset_pass_token == ""){ - $curStatus = "invalidToken"; // The token user gave was not valid - echo $this->getOutput($curStatus); - }else{ - /** - * The token is valid, display the new password form - */ - echo $this->getOutput("resetPasswordForm", array( - "resetPassToken" => $reset_pass_token - )); - - /** - * The token was correct, displayed the change/new password form - */ - $curStatus = "resetPasswordForm"; - } - }elseif(isset($_POST['logSysForgotPassChange']) && isset($_POST['logSysForgotPassNewPassword']) && isset($_POST['logSysForgotPassRetypedPassword'])){ - $reset_pass_token = urldecode($_POST['token']); - $sql = $this->dbh->prepare("SELECT uid FROM ". $this->config['db']['token_table'] ." WHERE token = ?"); - $sql->execute(array($reset_pass_token)); - - $userID = $sql->fetchColumn(); - - if( $userID == null || $reset_pass_token == null ){ - $curStatus = "invalidToken"; // The token user gave was not valid - echo $this->getOutput($curStatus); - }else{ - if($_POST['logSysForgotPassNewPassword'] == "" || $_POST['logSysForgotPassRetypedPassword'] == ""){ - $curStatus = "fieldsLeftBlank"; - echo $this->getOutput($curStatus); - }elseif( $_POST['logSysForgotPassNewPassword'] != $_POST['logSysForgotPassRetypedPassword'] ){ - $curStatus = "passwordDontMatch"; // The new password and retype password submitted didn't match - echo $this->getOutput($curStatus); - }else{ - $this->changePassword($_POST['logSysForgotPassNewPassword'], $userID); - - /** - * The token shall not be used again, so remove it. - */ - $sql = $this->dbh->prepare("DELETE FROM ". $this->config['db']['token_table'] ." WHERE token = ?"); - $sql->execute(array($reset_pass_token)); - - $curStatus = "passwordChanged"; // The password was successfully changed - echo $this->getOutput($curStatus); - } - } - }elseif(isset($_POST['identification'])){ - /** - * Check if username/email is provided and if it's valid and exists - */ - $identification = $_POST['identification']; - if($identification == ""){ - $curStatus = "identityNotProvided"; // The identity was not given - echo $this->getOutput($curStatus, array( - "identity_type" => $identName - )); - }else{ - $sql = $this->dbh->prepare("SELECT ". $this->config["db"]["columns"]["email"] .", ". $this->config["db"]["columns"]["id"] ." FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["username"] ."=:login OR ". $this->config["db"]["columns"]["email"] ."=:login"); - $sql->bindValue(":login", $identification); - - $sql->execute(); - $cols = $sql->fetch(\PDO::FETCH_ASSOC); - - if(empty($cols)){ - $curStatus = "userNotFound"; // The user with the identity given was not found in the users database - echo $this->getOutput($curStatus); - }else{ - $email = $cols['email']; - $uid = $cols['id']; - - /** - * Make token and insert into the table - */ - $token = self::rand_string(40); - $sql = $this->dbh->prepare("INSERT INTO ". $this->config['db']['token_table'] ." (token, uid, requested) VALUES (?, ?, UNIX_TIMESTAMP())"); - $sql->execute(array($token, $uid)); - $encodedToken = urlencode($token); - - /** - * Prepare the email to be sent - */ - $subject = "Reset Password"; - $body = "You requested for resetting your password on ". $this->config['basic']['company'] .". For this, please click the following link : -
    - Reset Password : {$token} -
    "; - $this->sendMail($email, $subject, $body); - - echo "

    An email has been sent to your email inbox with instructions. Check Your Mail Inbox and SPAM Folders.

    You can close this window.

    "; - $curStatus = "emailSent"; // E-Mail has been sent - } - } - } - return $curStatus; - } - - /** - * A function that handles the logged in user to change her/his password - * - * @param string $newPassword The new password - * @return boolean Whether operation was succesful - */ - public function changePassword($newPassword, $userID = null){ - if($userID === null){ - $userID = $this->userID; - } - - $hashedPassword = password_hash($newPassword . $this->config['keys']['salt'], PASSWORD_DEFAULT); - $this->updateUser(array( - "password" => $hashedPassword - ), $userID); - - return true; - } - - /** - * Check if user exists - * @param string $identification Username or email - * @return boolean Whether user exist - */ - public function userExists($identification){ - if($this->config['features']['email_login'] === true){ - $query = "SELECT COUNT(1) FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["username"] ."=:login OR ". $this->config["db"]["columns"]["email"] ."=:login"; - }else{ - $query = "SELECT COUNT(1) FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["username"] ."=:login"; - } - $sql = $this->dbh->prepare($query); - $sql->execute(array( - ":login" => $identification - )); - return $sql->fetchColumn() == "0" ? false : true; - } - - /** - * Get user's info - * @param string $what Column name - * @param string $user User ID - * @return array|string Value - */ - public function getUser($what = "*", $user = null){ - if($user === null){ - $user = $this->userID; - } - - if( is_array($what) ){ - $columns = implode(",", $what); - $columns = "{$columns}"; - }else{ - $columns = $what != "*" ? "$what" : "*"; - } - - $sql = $this->dbh->prepare("SELECT {$columns} FROM ". $this->config['db']['table'] ." WHERE ". $this->config["db"]["columns"]["id"] ." = ? ORDER BY ". $this->config["db"]["columns"]["id"] ." LIMIT 1"); - $sql->execute(array($user)); - - $data = $sql->fetch(\PDO::FETCH_ASSOC); - if( !is_array($what) ){ - $data = $what == "*" ? $data : $data[$what]; - } - return $data; - } - - /** - * Updates the info of user - * @param array $toUpdate Fields to update - * @param [type] $user User ID - * @return boolean Whether it was a success - */ - public function updateUser($toUpdate = array(), $user = null){ - if( is_array($toUpdate) && !isset($toUpdate['id']) ){ - - if($user === null){ - $user = $this->userID; - } - - $columns = ""; - foreach($toUpdate as $k => $v){ - $columns .= "$k = :$k, "; - } - $columns = substr($columns, 0, -2); // Remove last "," - - $sql = $this->dbh->prepare("UPDATE ". $this->config['db']['table'] ." SET {$columns} WHERE ". $this->config["db"]["columns"]["id"] ."=:id"); - $sql->bindValue(":id", $user); - foreach($toUpdate as $key => $value){ - $value = htmlspecialchars($value); - $sql->bindValue(":$key", $value); - } - $sql->execute(); - return true; - }else{ - return false; - } - } - - /** - * Get the time since user joined - * @param string $user User ID - * @return string Time since - */ - public function joinedSince($user = null){ - if($user === null){ - $user = $this->userID; - } - - $created = $this->getUser("created"); - $timeFirst = strtotime($created); - $timeSecond = strtotime("now"); - $memsince = $timeSecond - strtotime($created); - $regged = date("n/j/Y", strtotime($created)); - - if($memsince < 60) { - $memfor = $memsince . " Seconds"; - }else if($memsince < 120){ - $memfor = floor ($memsince / 60) . " Minute"; - }else if($memsince < 3600 && $memsince > 120){ - $memfor = floor($memsince / 60) . " Minutes"; - }else if($memsince < 7200 && $memsince > 3600){ - $memfor = floor($memsince / 3600) . " Hour"; - }else if($memsince < 86400 && $memsince > 3600){ - $memfor = floor($memsince / 3600) . " Hours"; - }else if($memsince < 172800){ - $memfor = floor($memsince / 86400) . " Day"; - }else if($memsince < 604800 && $memsince > 172800){ - $memfor = floor($memsince / 86400) . " Days"; - }else if($memsince < 1209600 && $memsince > 604800){ - $memfor = floor($memsince / 604800) . " Week"; - }else if($memsince < 2419200 && $memsince > 1209600){ - $memfor = floor($memsince / 604800) . " Weeks"; - }else if($memsince < 4838400){ - $memfor = floor($memsince / 2419200) . " Month"; - }else if($memsince < 31536000 && $memsince > 4838400){ - $memfor = floor($memsince / 2419200) . " Months"; - }else if($memsince < 63072000){ - $memfor = floor($memsince / 31536000) . " Year"; - }else if($memsince > 63072000){ - $memfor = floor($memsince / 31536000) . " Years"; - } - return (string) $memfor; - } - - /** - * 2 Step Verification Login Process - * --------------------------------- - * When user logs in, it checks whether there is a device cookie. - * If there is : - * * Checks whether device is registered - * * If registered and username & password is correct, user is logged in - * If there is not : - * * Token is sent - * * The "Enter Received token" form is shown - * * If the token entered is correct, then a device ID is inserted to table - * * The cookie with device ID is created - * @see LS::login() Parameters are similar - * - * @param string $identification Similar to LS::login() - * @param string $password Similar to LS::login() - * @param boolean $remember_me Similar to LS::login() - * @return boolean|string Whether login was successful - * Current state of 2 Step Login - */ - public function twoStepLogin($identification = "", $password = "", $remember_me = false){ - if(isset($_POST['logSys_two_step_login-token']) && isset($_POST['logSys_two_step_login-uid']) && $_SESSION['logSys_two_step_login-first_step'] === '1'){ - /** - * The user's ID and token is got through the form - * User = One who is about to log in and is stuck at 2 step verification - */ - $uid = $_POST['logSys_two_step_login-uid']; - $token = $_POST['logSys_two_step_login-token']; - - $sql = $this->dbh->prepare("SELECT COUNT(1) FROM ". $this->config['db']['token_table'] ." WHERE token = ? AND uid = ?"); - $sql->execute(array($token, $uid)); - - if($sql->fetchColumn() == 0){ - /** - * To prevent user from Brute Forcing the token, we set the - * status of the first login step to false, - * so that the user would have to login again - */ - $_SESSION['logSys_two_step_login-first_step'] = '0'; - echo $this->getOutput("invalidToken"); - return "invalidToken"; - }else{ - /** - * Register User's new device if and only if - * the user wants to remember the device from - * which the user is logging in - */ - if(isset($_POST['logSys_two_step_login-dontask'])){ - $device_token = self::rand_string(10); - $sql = $this->dbh->prepare("INSERT INTO ". $this->config['two_step_login']['devices_table'] ." (uid, token, last_access) VALUES (?, ?, NOW())"); - $sql->execute(array($uid, $device_token)); - setcookie($this->config["cookies"]["names"]["device"], $device_token, strtotime($this->config['two_step_login']['expire']), $this->config['cookies']['path'], $this->config['cookies']['domain']); - }else{ - /** - * Verify login for this session - */ - $_SESSION[ $this->config['cookies']['names']['device_verified'] ] = '1'; - } - - /** - * Revoke token from reusing - */ - $sql = $this->dbh->prepare("DELETE FROM ". $this->config['db']['token_table'] ." WHERE token = ? AND uid = ?"); - $sql->execute(array($token, $uid)); - $this->login($this->getUser("username", $uid), false, isset($_POST['logSys_two_step_login-remember_me'])); - } - return true; - }else if($identification !== "" && $password !== ""){ - $login = $this->login($identification, $password, $remember_me, false); - if($login === false){ - /** - * Username/Password wrong - */ - return false; - }else if(is_array($login) && $login['status'] == "blocked"){ - return $login; - }else{ - /** - * Get the user ID from \Fr\LS::login() - */ - $uid = $login; - - /** - * Check if device is verfied so that 2 Step Verification can be skipped - */ - if(isset($_COOKIE[$this->config["cookies"]["names"]["device"]])){ - $sql = $this->dbh->prepare("SELECT 1 FROM ". $this->config['two_step_login']['devices_table'] ." WHERE uid = ? AND token = ?"); - $sql->execute(array($uid, $_COOKIE[$this->config["cookies"]["names"]["device"]])); - if($sql->fetchColumn() == "1"){ - $verfied = true; - /** - * Update last accessed time - */ - $sql = $this->dbh->prepare("UPDATE ". $this->config['two_step_login']['devices_table'] ." SET last_access = NOW() WHERE uid = ? AND token = ?"); - $sql->execute(array($uid, $_COOKIE[$this->config["cookies"]["names"]["device"]])); - - $this->login($this->getUser("username", $uid), false, $remember_me); - return true; - } - } - /** - * Start the 2 Step Verification Process - * Do only if callback is present and if - * the device is not verified - */ - if(is_callable($this->config['two_step_login']['send_callback']) && !isset($verified)){ - /** - * The first part of 2 Step Login is completed - */ - $_SESSION['logSys_two_step_login-first_step'] = '1'; - - /** - * The 2nd parameter depends on `config` -> `two_step_login` -> `numeric` - */ - $token = self::rand_string($this->config['two_step_login']['token_length'], $this->config['two_step_login']['numeric']); - - /** - * Save the token in DB - */ - $sql = $this->dbh->prepare("INSERT INTO ". $this->config['db']['token_table'] ." (token, uid, requested) VALUES (?, ?, NOW())"); - $sql->execute(array($token, $uid)); - - $that = $this; - call_user_func_array($this->config['two_step_login']['send_callback'], array(&$that, $uid, $token)); - - /** - * Display the form - */ - echo $this->getOutput("twoStepLoginVerifyForm", array( - "remember_me" => $remember_me, - "uid" => $uid - )); - return "formDisplay"; - }else{ - self::log("two_step_login: Token Callback not present"); - } - } - } - /** - * 2 Step Login is not doing any actions or - * hasn't returned anything before. If so, - * then return false to indicate that the - * function is not doing anything - */ - return false; - } - - /** - * Get authorized devices - * @return array Authorized devices - */ - public function getDevices(){ - if($this->loggedIn){ - $sql = $this->dbh->prepare("SELECT * FROM ". $this->config['two_step_login']['devices_table'] ." WHERE uid = ?"); - $sql->execute(array($this->userID)); - return $sql->fetchAll(\PDO::FETCH_ASSOC); - }else{ - return false; - } - } - - /** - * Revoke a device - * @param string $device_token Device ID - * @return boolean Whether it was revoked - */ - public function revokeDevice($device_token){ - if($this->loggedIn){ - $sql = $this->dbh->prepare("DELETE FROM ". $this->config['two_step_login']['devices_table'] ." WHERE uid = ? AND token = ?"); - $sql->execute(array($this->userID, $device_token)); - if(isset($_SESSION[ $this->config['cookies']['names']['device_verified'] ])){ - unset($_SESSION[ $this->config['cookies']['names']['device_verified'] ]); - } - return $sql->rowCount() == 1; - } - } - - /** - * Get output for each states - * @param string $state The output of the state - * @param array $extraInfo Extra parameters about the state - * @return string HTML output - */ - public function getOutput($state, $extraInfo = array()){ - if(is_callable($this->config["basic"]["output_callback"])){ - $that = $this; - return call_user_func_array($this->config["basic"]["output_callback"], array( - &$that, - $state, - $extraInfo - )); - }else{ - return null; - } - } - - /** - * Whether a user is logged in - * @return boolean - */ - public function isLoggedIn(){ - return $this->loggedIn; - } - - /** - * --------------------- - * Extra Tools/Functions - * --------------------- - */ - - /** - * Check if E-Mail is valid - * @param string $email Email - * @return boolean - */ - public static function validEmail($email = ""){ - return filter_var($email, FILTER_VALIDATE_EMAIL); - } - - /** - * Get the current page URL - * @return string URL - */ - public static function curPageURL() { - $pageURL = 'http'; - if(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on"){$pageURL .= "s";} - $pageURL .= "://"; - if($_SERVER["SERVER_PORT"] != "80") { - $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; - }else{ - $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; - } - return $pageURL; - } - - /** - * Generate a Random String - * @param int $length Length of string - * @param boolean $int Should string be integer - * @return string Random string - */ - public static function rand_string($length, $int = false) { - $random_str = ""; - $chars = $int ? "0516243741506927589" : "subinsblogabcdefghijklmanopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - $size = strlen($chars) - 1; - for($i = 0;$i < $length;$i++) { - $random_str .= $chars[rand(0, $size)]; - } - return $random_str; - } - - /** - * Get the current page path. - * @return string Example: /mypage, /folder/mypage.php - */ - public static function curPage(){ - $parts = parse_url(self::curPageURL()); - return $parts["path"]; - } - - /** - * Do a redirect - * @param [type] $url Where to redirect to - * @param integer $status Redirect status code - * @return void - */ - public static function redirect($url, $status = 302){ - header("Location: $url", true, $status); - exit; - } - - /** - * Send an email - * @param string $email Recipient's email - * @param string $subject Subject - * @param string $body Message - * @return void - */ - public function sendMail($email, $subject, $body){ - /** - * If there is a callback for email sending, use it else PHP's mail() - */ - if(is_callable($this->config['basic']['email_callback'])){ - $that = $this; - call_user_func_array($this->config['basic']['email_callback'], array(&$that, $email, $subject, $body)); - }else{ - $headers = array(); - $headers[] = "MIME-Version: 1.0"; - $headers[] = "Content-type: text/html; charset=iso-8859-1"; - $headers[] = "From: ". $this->config['basic']['email']; - $headers[] = "Reply-To: ". $this->config['basic']['email']; - mail($email, $subject, $body, implode("\r\n", $headers)); - } - } - - /** - * CSRF Protection - */ - public function csrf($type = ""){ - if(!isset($_COOKIE['csrf_token'])){ - $csrf_token = self::rand_string(5); - setcookie("csrf_token", $csrf_token, 0, $this->config['cookies']['path'], $this->config['cookies']['domain']); - }else{ - $csrf_token = $_COOKIE['csrf_token']; - } - if($type == "s"){ - /** - * Output as string - */ - return urlencode($csrf_token); - }elseif($type == "g"){ - /** - * Output as a GET parameter - */ - return "&csrf_token=" . urlencode($csrf_token); - }elseif($type == "i"){ - /** - * Output as an input field - */ - echo ""; - }else{ - /** - * Check CSRF validity - */ - if((isset($_POST['csrf_token']) && $_COOKIE['csrf_token'] == $_POST['csrf_token']) || (isset($_GET['csrf_token']) && $_COOKIE['csrf_token'] == $_GET['csrf_token'])){ - return true; - }else{ - /** - * CSRF Token doesn't match. - */ - return false; - } - } - } - - /** - * ------------------------- - * End Extra Tools/Functions - * ------------------------- - */ -} diff --git a/src/_notes/dwsync.xml b/src/_notes/dwsync.xml deleted file mode 100644 index a94c403..0000000 --- a/src/_notes/dwsync.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/app/api/blob/route.ts b/src/app/api/blob/route.ts new file mode 100644 index 0000000..c2d8a05 --- /dev/null +++ b/src/app/api/blob/route.ts @@ -0,0 +1,83 @@ +import { handleUpload, type HandleUploadBody } from "@vercel/blob/client"; +import { cookies } from "next/headers"; +import { NextResponse } from "next/server"; + +import { + DEVICE_COOKIE, + DEVICE_COOKIE_OPTIONS, + blobPathname, + resolveDeviceId, +} from "@/generation/device"; + +// Anyone who can hit this route can upload. Gate it when auth exists. + +export async function POST(request: Request): Promise { + const incoming = (await request.json()) as HandleUploadBody; + const device = + incoming.type === "blob.generate-client-token" ? await readDeviceId() : null; + const body = device ? withDevicePath(incoming, device.deviceId) : incoming; + console.info("[blob] upload", summarizeBlobEvent(body)); + + try { + const token = process.env.OPEN_HIGGSFIELD_READ_WRITE_TOKEN; + if (!token) throw new Error("Missing OPEN_HIGGSFIELD_READ_WRITE_TOKEN"); + const json = await handleUpload({ + body, + request, + token, + onBeforeGenerateToken: async (pathname) => { + console.info("[blob] token", { pathname }); + return { + allowedContentTypes: [ + "image/jpeg", + "image/png", + "image/webp", + "image/gif", + "video/mp4", + "audio/wav", + "audio/x-wav", + ], + addRandomSuffix: true, + }; + }, + }); + return withDeviceCookie( + json.type === "blob.generate-client-token" && body.type === "blob.generate-client-token" + ? NextResponse.json({ ...json, pathname: body.payload.pathname }) + : NextResponse.json(json), + device, + ); + } catch (error) { + console.error("[blob] upload failed", error instanceof Error ? error.message : error); + if (device?.minted) return withDeviceCookie(new NextResponse(null, { status: 500 }), device); + throw error; + } +} + +async function readDeviceId() { + const jar = await cookies(); + return resolveDeviceId(jar.get(DEVICE_COOKIE)?.value); +} + +function withDeviceCookie( + response: NextResponse, + device: { deviceId: string; minted: boolean } | null, +) { + if (device?.minted) response.cookies.set(DEVICE_COOKIE, device.deviceId, DEVICE_COOKIE_OPTIONS); + return response; +} + +function withDevicePath(body: HandleUploadBody, deviceId: string): HandleUploadBody { + if (body.type !== "blob.generate-client-token") return body; + return { + ...body, + payload: { ...body.payload, pathname: blobPathname(deviceId, body.payload.pathname) }, + }; +} + +function summarizeBlobEvent(body: HandleUploadBody) { + if (body.type === "blob.generate-client-token") { + return { type: body.type, pathname: body.payload.pathname }; + } + return { type: body.type, url: body.payload.blob.url }; +} diff --git a/src/app/apple-icon.png b/src/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3bc1075c535c2f71d60bd013f8a013de12e14e7 GIT binary patch literal 1812 zcmb`IYdF&j9LHD8Imso9gA+=biBSt}U65l-3#)8pBX?Fw_=lnkogzk?SQpi#o+a&3 z%%!=c)L|r-9XYa$IWA3G+L(5UW=H4!d3Ad6yF9<&+t2s;Q1;_|4fTK32Z2C_*gfdL zrCImAeqO%RYpM!kK_IyJE{rAKOV#hs=J+2gCl&{?9${8+vmG4c z+z=-2?Q5v*C1`>!%VAxDg^AAku*PE(^j_|etK&F+ArEzLz0srpx$a#pm?0mT zU%uFVVbt7VhP=>5(i_iN%(FUrbf-mJApy8CF(V?IhXdHY4`!H~p$xN`{JGRD)j?jS zYhZl4dwzwP3;A3A)khrkTp~H4(3A-3@EMU5il@emP!e^ztt+U9)7nd~o)Q_CMU==5H z!jX3x$=HwAjD{6^y7>&lg4aS|t~MR92aVPGIr$5Am6x+CkQDkY>W1XW+_!hCAVI;% z#IJp==f`8n6UAzE=w0uG=K6ZY^QvIvyZlzmE3J3vmd)b5z^%$XDWCiOLXaoSr(7*M zUROAI*c31x5`FM>8A0Pg@ZO>ZCqc97Wv{*TO>p4Jo(KK6N9)r&B=7y2R9szU#Ae#d z$rbN%K6z>Giv~`EPenP>B4eRb>c>JEHDTodJY!#k>%(!2qMOk`jW%iYcKMAxJ6+h8 zcp!#I+fdDx@%tUwYome55GoTnt8%%*5VB|7(Kf~B#{);hf8InBNY42GK$t1&D_+Yep_m|gKOt` zDE_l@hcqp+&#$8kOjC#@@zvWYcCKc=0^06; zdbRa4FefIi2Y3X9ET+zF>=^QKE~E-{IWbAz!5*2IOxYOSz`)9*NhvOyWx}_|zlpFK zS%?}~DU`?#s*06M?+&4-SKbI_T{h3u6K6YLqt<0tnw&dQ8`rzd5b{+P6zPY4KM z2`{*vcclr4OQ`s`?(}Flj>8>lGZ<$x^JXVB87Jp_h(6t zO?m_SwM67+T~bn*%Nj&La;TFZrg-7%VZOZjU1rS0Wy2`{z1#y^;t1?Iw^a^u19>h} ztpUfzPJuggKe!DHyvsvug!o2*kQ$ms!xWDrkODAd70pMHK+2tOos`Z*_I@8!m5T ziRs2(kXD9uj>6+P9@}xBmOb~&7lncn*-P87$t!4hY5-G(W*$KB-UC^xEN<+f=IV1@ zB7CARup705)_yf#8Mg!=srlpeCd1Sscy9*3ob%AWDYK zlnQIHWLhGbo|a1WvrpASHLEAH0v(MQq;u}eehd@;I%IJf2&C1@^yZwF+@|+kYC0hO WqDN}^Ohw4j1%$=m(3QVMT>J-FIdfkC literal 0 HcmV?d00001 diff --git a/src/app/base.css b/src/app/base.css new file mode 100644 index 0000000..73b2d0b --- /dev/null +++ b/src/app/base.css @@ -0,0 +1,16 @@ +/* Document base. The studio at / ships its own scoped system in + src/openhiggsfield/openhiggsfield.css; this file only owns what lives outside + that scope — the document canvas, which overscroll rubber-banding exposes. + Literal because --bg lives on .ohf; it matches STUDIO_BG in src/site.ts. */ + +html { + -webkit-text-size-adjust: 100%; +} + +html, +body { + margin: 0; + padding: 0; + background: #0a0a0b; + color-scheme: dark; +} diff --git a/src/app/icon.svg b/src/app/icon.svg new file mode 100644 index 0000000..227dbeb --- /dev/null +++ b/src/app/icon.svg @@ -0,0 +1,17 @@ + + OpenHiggsfield AI + + + + + + + + diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..02e597a --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,56 @@ +import type { Metadata, Viewport } from "next"; +import type { ReactNode } from "react"; + +import { + SITE_DESCRIPTION, + SITE_NAME, + SITE_TITLE, + SITE_URL, + STUDIO_BG, + openGraphFor, + twitterFor, +} from "@/site"; + +import "./base.css"; + +export const metadata: Metadata = { + metadataBase: new URL(SITE_URL), + title: { default: SITE_TITLE, template: `%s — ${SITE_NAME}` }, + description: SITE_DESCRIPTION, + applicationName: SITE_NAME, + creator: SITE_NAME, + publisher: SITE_NAME, + referrer: "origin-when-cross-origin", + /* Nothing on the surface is a phone number, address, or email; leaving the + heuristic on lets iOS Safari rewrite prompt text and model ids as links. */ + formatDetection: { telephone: false, address: false, email: false }, + appleWebApp: { title: SITE_NAME }, + openGraph: openGraphFor({ path: "/" }), + twitter: twitterFor(), + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + "max-image-preview": "large", + "max-snippet": -1, + "max-video-preview": -1, + }, + }, +}; + +/* The studio is the only surface, and it ships a single look, so the browser + chrome is pinned to its ground rather than following a preference. */ +export const viewport: Viewport = { + colorScheme: "dark", + themeColor: STUDIO_BG, +}; + +export default function RootLayout({ children }: { children: ReactNode }) { + return ( + + {children} + + ); +} diff --git a/src/app/manifest.ts b/src/app/manifest.ts new file mode 100644 index 0000000..44cdf4c --- /dev/null +++ b/src/app/manifest.ts @@ -0,0 +1,30 @@ +import type { MetadataRoute } from "next"; + +import { SITE_DESCRIPTION, SITE_NAME, SITE_TITLE, STUDIO_BG } from "@/site"; + +export default function manifest(): MetadataRoute.Manifest { + return { + name: SITE_TITLE, + short_name: SITE_NAME, + description: SITE_DESCRIPTION, + start_url: "/", + scope: "/", + display: "standalone", + /* Installed, the app opens straight into the studio, so both colors are + the studio ground rather than the marketing chrome's. */ + background_color: STUDIO_BG, + theme_color: STUDIO_BG, + categories: ["productivity", "graphics", "photo"], + icons: [ + { src: "/icon.svg", sizes: "any", type: "image/svg+xml", purpose: "any" }, + { src: "/icon-192.png", sizes: "192x192", type: "image/png", purpose: "any" }, + { src: "/icon-512.png", sizes: "512x512", type: "image/png", purpose: "any" }, + { + src: "/icon-maskable-512.png", + sizes: "512x512", + type: "image/png", + purpose: "maskable", + }, + ], + }; +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..21efc2e --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; + +import { OpenHiggsfieldApp } from "@/openhiggsfield/openhiggsfield-app"; + +import "@/openhiggsfield/openhiggsfield.css"; + +const inter = Inter({ + subsets: ["latin"], + variable: "--font-ohf-inter", + display: "swap", +}); + +/* Title, description and the Open Graph block all come from the root, which + already describes this surface. Only the canonical link is route-specific. */ +export const metadata: Metadata = { + alternates: { canonical: "/" }, +}; + +export default function OpenHiggsfieldPage() { + return ; +} diff --git a/src/app/robots.ts b/src/app/robots.ts new file mode 100644 index 0000000..dae01f2 --- /dev/null +++ b/src/app/robots.ts @@ -0,0 +1,17 @@ +import type { MetadataRoute } from "next"; + +import { SITE_URL } from "@/site"; + +export default function robots(): MetadataRoute.Robots { + return { + rules: { + userAgent: "*", + allow: "/", + /* /api/blob issues upload tokens — not a page a search result should + land on. */ + disallow: ["/api/"], + }, + sitemap: `${SITE_URL}/sitemap.xml`, + host: SITE_URL, + }; +} diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts new file mode 100644 index 0000000..ff11b06 --- /dev/null +++ b/src/app/sitemap.ts @@ -0,0 +1,9 @@ +import type { MetadataRoute } from "next"; + +import { SITE_URL } from "@/site"; + +export default function sitemap(): MetadataRoute.Sitemap { + const lastModified = new Date(); + + return [{ url: `${SITE_URL}/`, lastModified, changeFrequency: "weekly", priority: 1 }]; +} diff --git a/src/generation/actions.ts b/src/generation/actions.ts new file mode 100644 index 0000000..ae8eddf --- /dev/null +++ b/src/generation/actions.ts @@ -0,0 +1,90 @@ +"use server"; + +import { cookies } from "next/headers"; + +import { getModel, parseSettings } from "./catalog"; +import type { GenerationPlane } from "./catalog/types"; +import { + MissingCredentialsError, + PLATFORM_KEY_COOKIE, + PLATFORM_KEY_COOKIE_OPTIONS, + decodeCredentials, + encodeCredentials, + parseCredentialInput, +} from "./credentials"; +import { createPlatformClient } from "./platform"; +import type { StatusResult } from "./platform"; +import { toPlatform } from "./to-platform"; + +export async function savePlatformCredentials(data: unknown) { + const { apiKey } = parseCredentialInput(data); + const jar = await cookies(); + jar.set(PLATFORM_KEY_COOKIE, encodeCredentials(apiKey), PLATFORM_KEY_COOKIE_OPTIONS); +} + +export async function clearPlatformCredentials() { + const jar = await cookies(); + jar.set(PLATFORM_KEY_COOKIE, "", { ...PLATFORM_KEY_COOKIE_OPTIONS, maxAge: 0 }); +} + +export async function hasPlatformCredentials() { + return (await readStoredCredentials()) !== null; +} + +export async function submitGeneration(plane: GenerationPlane) { + const model = getModel(plane.model); + const parsed: GenerationPlane = { + ...plane, + settings: parseSettings(model, plane.settings), + }; + const { path, body } = toPlatform(parsed); + return createPlatformClient(await readCredentials()).submit(path, body); +} + +/** Every request in flight, answered in one round trip. Next dispatches server + actions one at a time per client, so a poll per run would queue ahead of the + next submit — the fan-out belongs on this side of the call, where it is + genuinely parallel. */ +export async function getGenerationStatuses(data: unknown): Promise { + const requestIds = parseRequestIds(data); + const client = createPlatformClient(await readCredentials()); + return Promise.all( + requestIds.map(async (requestId): Promise => { + try { + return { requestId, status: await client.status(requestId) }; + } catch (caught) { + return { requestId, error: caught instanceof Error ? caught.message : String(caught) }; + } + }), + ); +} + +async function readStoredCredentials() { + const jar = await cookies(); + return decodeCredentials(jar.get(PLATFORM_KEY_COOKIE)?.value); +} + +async function readCredentials() { + const stored = await readStoredCredentials(); + if (!stored) throw new MissingCredentialsError(); + const baseUrl = process.env.HF_API_BASE_URL; + if (!baseUrl) throw new Error("Missing HF_API_BASE_URL"); + return { ...stored, baseUrl }; +} + +function parseRequestIds(data: unknown): string[] { + const payload = asObject(data, "Invalid status payload"); + const requestIds = payload.requestIds; + if (!Array.isArray(requestIds) || requestIds.length === 0) { + throw new Error("Invalid request ids"); + } + return requestIds.map((requestId) => { + if (typeof requestId !== "string" || !requestId) throw new Error("Invalid request id"); + return requestId; + }); +} + +function asObject(data: unknown, message: string): Record { + if (data === null || typeof data !== "object" || Array.isArray(data)) throw new Error(message); + return data as Record; +} diff --git a/src/generation/catalog/defaults.ts b/src/generation/catalog/defaults.ts new file mode 100644 index 0000000..ea89500 --- /dev/null +++ b/src/generation/catalog/defaults.ts @@ -0,0 +1,43 @@ +import type { MediaRole, ModelEntry, PlatformPaths } from "./types"; + +const IMAGE_ASPECT = ["auto", "1:1", "4:3", "3:4", "16:9", "9:16"] as const; +const VIDEO_ASPECT = ["16:9", "9:16", "1:1"] as const; + +export function t2v(path: string): PlatformPaths { + if (!path.endsWith("/text-to-video")) return { text: path }; + return { text: path, image: path.replace(/\/text-to-video$/, "/image-to-video") }; +} + +export function imageModel(id: string, label: string, paths: PlatformPaths): ModelEntry { + return { + id, + surface: "image", + label, + roles: { reference: 8 }, + settings: { + aspectRatio: { type: "enum", values: IMAGE_ASPECT, default: "1:1" }, + resolution: { type: "enum", values: ["1k", "2k", "4k"], default: "1k" }, + }, + paths, + }; +} + +export function videoModel( + id: string, + label: string, + roles: Partial>, + paths: PlatformPaths, +): ModelEntry { + return { + id, + surface: "video", + label, + roles, + settings: { + aspectRatio: { type: "enum", values: VIDEO_ASPECT, default: "16:9" }, + resolution: { type: "enum", values: ["720p", "1080p"], default: "720p" }, + duration: { type: "range", min: 4, max: 10, default: 5 }, + }, + paths, + }; +} diff --git a/src/generation/catalog/dop.ts b/src/generation/catalog/dop.ts new file mode 100644 index 0000000..b224b89 --- /dev/null +++ b/src/generation/catalog/dop.ts @@ -0,0 +1,3 @@ +import { videoModel } from "./defaults"; + +export const dop = videoModel("dop", "DoP", { start: 1 }, { image: "higgsfield-ai/dop/lite" }); diff --git a/src/generation/catalog/flux-2.ts b/src/generation/catalog/flux-2.ts new file mode 100644 index 0000000..c87f024 --- /dev/null +++ b/src/generation/catalog/flux-2.ts @@ -0,0 +1,3 @@ +import { imageModel } from "./defaults"; + +export const flux2 = imageModel("flux-2", "Flux 2", { text: "flux-2-pro" }); diff --git a/src/generation/catalog/flux-3.ts b/src/generation/catalog/flux-3.ts new file mode 100644 index 0000000..ea3d8af --- /dev/null +++ b/src/generation/catalog/flux-3.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const flux3 = videoModel( + "flux-3", + "Flux 3", + { start: 1 }, + t2v("blackforestlabs/flux-3/text-to-video"), +); diff --git a/src/generation/catalog/grok-imagine-2.ts b/src/generation/catalog/grok-imagine-2.ts new file mode 100644 index 0000000..7c8d1ac --- /dev/null +++ b/src/generation/catalog/grok-imagine-2.ts @@ -0,0 +1,5 @@ +import { imageModel } from "./defaults"; + +export const grokImagine2 = imageModel("grok-imagine-2", "Grok Imagine 2.0", { + text: "xai/grok-imagine-image-2.0", +}); diff --git a/src/generation/catalog/grok-imagine-video-1.5.ts b/src/generation/catalog/grok-imagine-video-1.5.ts new file mode 100644 index 0000000..1388698 --- /dev/null +++ b/src/generation/catalog/grok-imagine-video-1.5.ts @@ -0,0 +1,8 @@ +import { videoModel } from "./defaults"; + +export const grokImagineVideo15 = videoModel( + "grok-imagine-video-1.5", + "Grok Imagine Video 1.5", + { reference: 8, video: 3 }, + { reference: "xai/grok-imagine-video/v1.5/reference-to-video" }, +); diff --git a/src/generation/catalog/happy-horse-1.1.ts b/src/generation/catalog/happy-horse-1.1.ts new file mode 100644 index 0000000..f5ee1c5 --- /dev/null +++ b/src/generation/catalog/happy-horse-1.1.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const happyHorse11 = videoModel( + "happy-horse-1.1", + "Happy Horse 1.1", + { start: 1 }, + t2v("alibaba/happy-horse/v1.1/text-to-video"), +); diff --git a/src/generation/catalog/happy-horse-1.ts b/src/generation/catalog/happy-horse-1.ts new file mode 100644 index 0000000..23138fc --- /dev/null +++ b/src/generation/catalog/happy-horse-1.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const happyHorse1 = videoModel( + "happy-horse-1", + "Happy Horse 1.0", + { start: 1 }, + t2v("alibaba/happy-horse/text-to-video"), +); diff --git a/src/generation/catalog/ideogram-4.ts b/src/generation/catalog/ideogram-4.ts new file mode 100644 index 0000000..e28b189 --- /dev/null +++ b/src/generation/catalog/ideogram-4.ts @@ -0,0 +1,5 @@ +import { imageModel } from "./defaults"; + +export const ideogram4 = imageModel("ideogram-4", "Ideogram 4.0", { + text: "ideogram/v4.0", +}); diff --git a/src/generation/catalog/index.ts b/src/generation/catalog/index.ts new file mode 100644 index 0000000..1d7db73 --- /dev/null +++ b/src/generation/catalog/index.ts @@ -0,0 +1,87 @@ +import { dop } from "./dop"; +import { flux2 } from "./flux-2"; +import { flux3 } from "./flux-3"; +import { grokImagine2 } from "./grok-imagine-2"; +import { grokImagineVideo15 } from "./grok-imagine-video-1.5"; +import { happyHorse1 } from "./happy-horse-1"; +import { happyHorse11 } from "./happy-horse-1.1"; +import { ideogram4 } from "./ideogram-4"; +import { kling25 } from "./kling-2.5"; +import { kling26 } from "./kling-2.6"; +import { + kling34k, + kling3MotionPro, + kling3MotionStd, + kling3Pro, + kling3Std, + kling3Turbo, +} from "./kling-3"; +import { klingO1 } from "./kling-o1"; +import { klingO3 } from "./kling-o3"; +import { ltx25Fast } from "./ltx-2.5-fast"; +import { ltx25Pro } from "./ltx-2.5-pro"; +import { minimaxH3 } from "./minimax-h3"; +import { minimaxHailuo23 } from "./minimax-hailuo-2.3"; +import { parseSettings } from "./parse-settings"; +import { pixverse6 } from "./pixverse-6"; +import { qwenImage3 } from "./qwen-image-3"; +import { recraft41 } from "./recraft-4.1"; +import { seedance2, seedance2Fast, seedance2Mini } from "./seedance-2"; +import { seedance25, seedance25Edit, seedance25Extend } from "./seedance-2.5"; +import { soul2, soulCinema } from "./soul"; +import type { ModelEntry } from "./types"; +import { wan26 } from "./wan-2.6"; +import { wan27 } from "./wan-2.7"; +import { wan3 } from "./wan-3"; +import { wan3Prime } from "./wan-3-prime"; +import { zImageTurbo } from "./z-image-turbo"; + +export const MODELS: readonly ModelEntry[] = [ + soul2, + soulCinema, + seedance25, + seedance25Edit, + seedance25Extend, + seedance2, + seedance2Fast, + seedance2Mini, + kling3Turbo, + kling3Std, + kling3Pro, + kling34k, + kling3MotionStd, + kling3MotionPro, + flux2, + grokImagine2, + ideogram4, + recraft41, + qwenImage3, + zImageTurbo, + wan3, + wan3Prime, + wan27, + wan26, + flux3, + minimaxH3, + minimaxHailuo23, + happyHorse1, + happyHorse11, + kling26, + kling25, + klingO3, + klingO1, + ltx25Fast, + ltx25Pro, + grokImagineVideo15, + pixverse6, + dop, +]; + +export function getModel(id: string): ModelEntry { + const model = MODELS.find((entry) => entry.id === id); + if (!model) throw new Error(`Unknown model: ${id}`); + return model; +} + +export type { GenerationPlane, MediaItem, MediaRole, ModelEntry, PlatformPaths, Surface } from "./types"; +export { parseSettings }; diff --git a/src/generation/catalog/kling-2.5.ts b/src/generation/catalog/kling-2.5.ts new file mode 100644 index 0000000..e35925d --- /dev/null +++ b/src/generation/catalog/kling-2.5.ts @@ -0,0 +1,5 @@ +import { videoModel } from "./defaults"; + +export const kling25 = videoModel("kling-2.5", "Kling 2.5", { start: 1 }, { + image: "kling-video/v2.5-turbo/standard/image-to-video", +}); diff --git a/src/generation/catalog/kling-2.6.ts b/src/generation/catalog/kling-2.6.ts new file mode 100644 index 0000000..9524a4f --- /dev/null +++ b/src/generation/catalog/kling-2.6.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const kling26 = videoModel( + "kling-2.6", + "Kling 2.6", + { start: 1 }, + t2v("kling-video/v2.6/pro/text-to-video"), +); diff --git a/src/generation/catalog/kling-3.ts b/src/generation/catalog/kling-3.ts new file mode 100644 index 0000000..e9d995a --- /dev/null +++ b/src/generation/catalog/kling-3.ts @@ -0,0 +1,68 @@ +import type { ModelEntry } from "./types"; + +const klingTurboSettings = { + aspectRatio: { type: "enum", values: ["16:9", "9:16", "1:1"], default: "16:9" }, + resolution: { type: "enum", values: ["720p", "1080p"], default: "720p" }, + duration: { type: "range", min: 3, max: 15, default: 5 }, +} as const satisfies ModelEntry["settings"]; + +const kling3Settings = { + aspectRatio: { type: "enum", values: ["16:9", "9:16", "1:1"], default: "16:9" }, + duration: { type: "range", min: 3, max: 15, default: 5 }, + sound: { type: "boolean", default: true }, + cfgScale: { type: "range", min: 0, max: 1, default: 0.5, step: 0.01 }, + multiShots: { type: "boolean", default: false }, +} as const satisfies ModelEntry["settings"]; + +const klingMotionSettings = { + keepOriginalSound: { type: "boolean", default: true }, + characterOrientation: { type: "enum", values: ["video", "image"], default: "video" }, +} as const satisfies ModelEntry["settings"]; + +export const kling3Turbo: ModelEntry = { + id: "kling-3-turbo", + surface: "video", + label: "Kling 3.0 Turbo", + roles: { start: 1 }, + settings: klingTurboSettings, +}; + +export const kling3Std: ModelEntry = { + id: "kling-3-std", + surface: "video", + label: "Kling 3.0 Standard", + roles: { start: 1, end: 1 }, + settings: kling3Settings, +}; + +export const kling3Pro: ModelEntry = { + id: "kling-3-pro", + surface: "video", + label: "Kling 3.0 Pro", + roles: { start: 1, end: 1 }, + settings: kling3Settings, +}; + +export const kling34k: ModelEntry = { + id: "kling-3-4k", + surface: "video", + label: "Kling 3.0 4K", + roles: { start: 1, end: 1 }, + settings: kling3Settings, +}; + +export const kling3MotionStd: ModelEntry = { + id: "kling-3-motion-std", + surface: "video", + label: "Kling 3.0 Motion Control", + roles: { start: 1, video: 1 }, + settings: klingMotionSettings, +}; + +export const kling3MotionPro: ModelEntry = { + id: "kling-3-motion-pro", + surface: "video", + label: "Kling 3.0 Motion Control Pro", + roles: { start: 1, video: 1 }, + settings: klingMotionSettings, +}; \ No newline at end of file diff --git a/src/generation/catalog/kling-o1.ts b/src/generation/catalog/kling-o1.ts new file mode 100644 index 0000000..ef5cd40 --- /dev/null +++ b/src/generation/catalog/kling-o1.ts @@ -0,0 +1,5 @@ +import { videoModel } from "./defaults"; + +export const klingO1 = videoModel("kling-o1", "Kling O1 (Omni)", { start: 1, end: 1 }, { + firstLast: "kling-video/omni/first-last-frame", +}); diff --git a/src/generation/catalog/kling-o3.ts b/src/generation/catalog/kling-o3.ts new file mode 100644 index 0000000..006df63 --- /dev/null +++ b/src/generation/catalog/kling-o3.ts @@ -0,0 +1,5 @@ +import { videoModel } from "./defaults"; + +export const klingO3 = videoModel("kling-o3", "Kling O3", { start: 1, end: 1 }, { + firstLast: "kling-video/o3/first-last-frame", +}); diff --git a/src/generation/catalog/ltx-2.5-fast.ts b/src/generation/catalog/ltx-2.5-fast.ts new file mode 100644 index 0000000..9b19ba7 --- /dev/null +++ b/src/generation/catalog/ltx-2.5-fast.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const ltx25Fast = videoModel( + "ltx-2.5-fast", + "LTX 2.5 Fast", + { start: 1 }, + t2v("lightricks/ltx-2.5/text-to-video/fast"), +); diff --git a/src/generation/catalog/ltx-2.5-pro.ts b/src/generation/catalog/ltx-2.5-pro.ts new file mode 100644 index 0000000..5a15521 --- /dev/null +++ b/src/generation/catalog/ltx-2.5-pro.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const ltx25Pro = videoModel( + "ltx-2.5-pro", + "LTX 2.5 Pro", + { start: 1 }, + t2v("lightricks/ltx-2.5/text-to-video/pro"), +); diff --git a/src/generation/catalog/minimax-h3.ts b/src/generation/catalog/minimax-h3.ts new file mode 100644 index 0000000..760e6bd --- /dev/null +++ b/src/generation/catalog/minimax-h3.ts @@ -0,0 +1,3 @@ +import { t2v, videoModel } from "./defaults"; + +export const minimaxH3 = videoModel("minimax-h3", "MiniMax H3", { start: 1 }, t2v("minimax/h3/text-to-video")); diff --git a/src/generation/catalog/minimax-hailuo-2.3.ts b/src/generation/catalog/minimax-hailuo-2.3.ts new file mode 100644 index 0000000..4102953 --- /dev/null +++ b/src/generation/catalog/minimax-hailuo-2.3.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const minimaxHailuo23 = videoModel( + "minimax-hailuo-2.3", + "MiniMax Hailuo 2.3", + { start: 1 }, + t2v("minimax/hailuo-2.3/standard/text-to-video"), +); diff --git a/src/generation/catalog/parse-settings.ts b/src/generation/catalog/parse-settings.ts new file mode 100644 index 0000000..8f86060 --- /dev/null +++ b/src/generation/catalog/parse-settings.ts @@ -0,0 +1,25 @@ +import type { ModelEntry } from "./types"; + +export function parseSettings( + model: ModelEntry, + raw: Record, +): Record { + const out: Record = {}; + for (const [key, field] of Object.entries(model.settings)) { + const value = raw[key]; + if (field.type === "enum") { + const picked = typeof value === "string" ? value : field.default; + if (!field.values.includes(picked)) throw new Error(`Invalid ${key}`); + out[key] = picked; + continue; + } + if (field.type === "range") { + const picked = typeof value === "number" ? value : field.default; + if (picked < field.min || picked > field.max) throw new Error(`Invalid ${key}`); + out[key] = picked; + continue; + } + out[key] = typeof value === "boolean" ? value : field.default; + } + return out; +} diff --git a/src/generation/catalog/pixverse-6.ts b/src/generation/catalog/pixverse-6.ts new file mode 100644 index 0000000..e5aff7b --- /dev/null +++ b/src/generation/catalog/pixverse-6.ts @@ -0,0 +1,3 @@ +import { t2v, videoModel } from "./defaults"; + +export const pixverse6 = videoModel("pixverse-6", "PixVerse 6", { start: 1 }, t2v("pixverse/v6/text-to-video")); diff --git a/src/generation/catalog/qwen-image-3.ts b/src/generation/catalog/qwen-image-3.ts new file mode 100644 index 0000000..dee65a5 --- /dev/null +++ b/src/generation/catalog/qwen-image-3.ts @@ -0,0 +1,5 @@ +import { imageModel } from "./defaults"; + +export const qwenImage3 = imageModel("qwen-image-3", "Qwen Image 3", { + text: "alibaba/qwen-image-3/text-to-image", +}); diff --git a/src/generation/catalog/recraft-4.1.ts b/src/generation/catalog/recraft-4.1.ts new file mode 100644 index 0000000..4824475 --- /dev/null +++ b/src/generation/catalog/recraft-4.1.ts @@ -0,0 +1,5 @@ +import { imageModel } from "./defaults"; + +export const recraft41 = imageModel("recraft-4.1", "Recraft 4.1", { + text: "recraft/v4.1/text-to-image", +}); diff --git a/src/generation/catalog/seedance-2.5.ts b/src/generation/catalog/seedance-2.5.ts new file mode 100644 index 0000000..d9c46a2 --- /dev/null +++ b/src/generation/catalog/seedance-2.5.ts @@ -0,0 +1,39 @@ +import type { ModelEntry } from "./types"; +import { SEEDANCE_ASPECT } from "./tokens"; + +const seedance25Settings = { + resolution: { type: "enum", values: ["480p", "720p"], default: "720p" }, + generateAudio: { type: "boolean", default: true }, + outputFormat: { type: "enum", values: ["mp4", "mov"], default: "mp4" }, +} as const satisfies ModelEntry["settings"]; + +export const seedance25: ModelEntry = { + id: "seedance-2.5", + surface: "video", + label: "Seedance 2.5", + roles: { start: 1, end: 1, reference: 30, video: 10, audio: 10 }, + settings: { + aspectRatio: { type: "enum", values: SEEDANCE_ASPECT, default: "16:9" }, + duration: { type: "range", min: 4, max: 30, default: 5 }, + ...seedance25Settings, + }, +}; + +export const seedance25Edit: ModelEntry = { + id: "seedance-2.5-edit", + surface: "video", + label: "Seedance 2.5 Edit", + roles: { video: 1, reference: 30, audio: 10 }, + settings: seedance25Settings, +}; + +export const seedance25Extend: ModelEntry = { + id: "seedance-2.5-extend", + surface: "video", + label: "Seedance 2.5 Extend", + roles: { video: 1, reference: 30, audio: 10 }, + settings: { + duration: { type: "range", min: 4, max: 30, default: 5 }, + ...seedance25Settings, + }, +}; diff --git a/src/generation/catalog/seedance-2.ts b/src/generation/catalog/seedance-2.ts new file mode 100644 index 0000000..05bb5c8 --- /dev/null +++ b/src/generation/catalog/seedance-2.ts @@ -0,0 +1,43 @@ +import type { ModelEntry } from "./types"; +import { SEEDANCE_ASPECT } from "./tokens"; + +const seedanceRoles = { start: 1, end: 1, reference: 9, video: 3, audio: 3 } as const; + +const seedanceSettings = { + aspectRatio: { type: "enum", values: SEEDANCE_ASPECT, default: "16:9" }, + duration: { type: "range", min: 4, max: 15, default: 5 }, + generateAudio: { type: "boolean", default: true }, +} as const satisfies ModelEntry["settings"]; + +export const seedance2: ModelEntry = { + id: "seedance-2", + surface: "video", + label: "Seedance 2.0", + roles: seedanceRoles, + settings: { + ...seedanceSettings, + resolution: { type: "enum", values: ["480p", "720p", "1080p", "4k"], default: "720p" }, + }, +}; + +export const seedance2Fast: ModelEntry = { + id: "seedance-2-fast", + surface: "video", + label: "Seedance 2.0 Fast", + roles: seedanceRoles, + settings: { + ...seedanceSettings, + resolution: { type: "enum", values: ["480p", "720p"], default: "720p" }, + }, +}; + +export const seedance2Mini: ModelEntry = { + id: "seedance-2-mini", + surface: "video", + label: "Seedance 2.0 Mini", + roles: seedanceRoles, + settings: { + ...seedanceSettings, + resolution: { type: "enum", values: ["480p", "720p"], default: "720p" }, + }, +}; diff --git a/src/generation/catalog/soul.ts b/src/generation/catalog/soul.ts new file mode 100644 index 0000000..6796713 --- /dev/null +++ b/src/generation/catalog/soul.ts @@ -0,0 +1,25 @@ +import type { ModelEntry } from "./types"; +import { SOUL_ASPECT } from "./tokens"; + +const soulSettings = { + aspectRatio: { type: "enum", values: SOUL_ASPECT, default: "1:1" }, + resolution: { type: "enum", values: ["720p", "1080p"], default: "720p" }, + batchSize: { type: "enum", values: ["1", "4"], default: "1" }, + enhancePrompt: { type: "boolean", default: false }, +} as const satisfies ModelEntry["settings"]; + +export const soulCinema: ModelEntry = { + id: "soul-cinema", + surface: "image", + label: "Soul Cinema", + roles: {}, + settings: soulSettings, +}; + +export const soul2: ModelEntry = { + id: "soul-2", + surface: "image", + label: "Soul 2", + roles: {}, + settings: soulSettings, +}; \ No newline at end of file diff --git a/src/generation/catalog/tokens.ts b/src/generation/catalog/tokens.ts new file mode 100644 index 0000000..9874809 --- /dev/null +++ b/src/generation/catalog/tokens.ts @@ -0,0 +1,3 @@ +export const SOUL_ASPECT = ["9:16", "16:9", "4:3", "3:4", "1:1", "2:3", "3:2"] as const; + +export const SEEDANCE_ASPECT = ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9"] as const; \ No newline at end of file diff --git a/src/generation/catalog/types.ts b/src/generation/catalog/types.ts new file mode 100644 index 0000000..ff71339 --- /dev/null +++ b/src/generation/catalog/types.ts @@ -0,0 +1,37 @@ +export type Surface = "image" | "video"; +export type MediaRole = "start" | "end" | "reference" | "video" | "audio"; + +export type MediaItem = { + id: string; + url: string; + role: MediaRole; +}; + +export type SettingField = + | { type: "enum"; values: readonly string[]; default: string } + | { type: "range"; min: number; max: number; default: number; step?: number } + | { type: "boolean"; default: boolean }; + +export type PlatformPaths = { + text?: string; + image?: string; + firstLast?: string; + reference?: string; +}; + +export type ModelEntry = { + id: string; + surface: Surface; + label: string; + roles: Partial>; + settings: Record; + /** Submit paths when the shared mapper is enough. Soul, Kling 3, and Seedance keep custom maps. */ + paths?: PlatformPaths; +}; + +export type GenerationPlane = { + model: string; + prompt: { text: string }; + media: Partial>; + settings: Record; +}; diff --git a/src/generation/catalog/wan-2.6.ts b/src/generation/catalog/wan-2.6.ts new file mode 100644 index 0000000..ac4edd3 --- /dev/null +++ b/src/generation/catalog/wan-2.6.ts @@ -0,0 +1,3 @@ +import { t2v, videoModel } from "./defaults"; + +export const wan26 = videoModel("wan-2.6", "Wan 2.6", { start: 1 }, t2v("wan/v2.6/text-to-video")); diff --git a/src/generation/catalog/wan-2.7.ts b/src/generation/catalog/wan-2.7.ts new file mode 100644 index 0000000..c8d7028 --- /dev/null +++ b/src/generation/catalog/wan-2.7.ts @@ -0,0 +1,3 @@ +import { t2v, videoModel } from "./defaults"; + +export const wan27 = videoModel("wan-2.7", "Wan 2.7", { start: 1 }, t2v("wan/v2.7/text-to-video")); diff --git a/src/generation/catalog/wan-3-prime.ts b/src/generation/catalog/wan-3-prime.ts new file mode 100644 index 0000000..66ab94c --- /dev/null +++ b/src/generation/catalog/wan-3-prime.ts @@ -0,0 +1,8 @@ +import { t2v, videoModel } from "./defaults"; + +export const wan3Prime = videoModel( + "wan-3-prime", + "Wan 3.0 Prime", + { start: 1 }, + t2v("alibaba/wan-3.0-prime/text-to-video"), +); diff --git a/src/generation/catalog/wan-3.ts b/src/generation/catalog/wan-3.ts new file mode 100644 index 0000000..f7adf0d --- /dev/null +++ b/src/generation/catalog/wan-3.ts @@ -0,0 +1,3 @@ +import { t2v, videoModel } from "./defaults"; + +export const wan3 = videoModel("wan-3", "Wan 3.0", { start: 1 }, t2v("alibaba/wan-3.0/text-to-video")); diff --git a/src/generation/catalog/z-image-turbo.ts b/src/generation/catalog/z-image-turbo.ts new file mode 100644 index 0000000..d0c0704 --- /dev/null +++ b/src/generation/catalog/z-image-turbo.ts @@ -0,0 +1,5 @@ +import { imageModel } from "./defaults"; + +export const zImageTurbo = imageModel("z-image-turbo", "Z-Image Turbo", { + text: "z-image/turbo", +}); diff --git a/src/generation/credentials.ts b/src/generation/credentials.ts new file mode 100644 index 0000000..389c50f --- /dev/null +++ b/src/generation/credentials.ts @@ -0,0 +1,55 @@ +export const PLATFORM_KEY_COOKIE = "api_key"; + +export const PLATFORM_KEY_COOKIE_OPTIONS = { + httpOnly: true, + secure: process.env.NODE_ENV === "production", + sameSite: "lax" as const, + path: "/", + maxAge: 60 * 60 * 24 * 30, +}; + +export class MissingCredentialsError extends Error { + constructor() { + super("Missing platform key"); + this.name = "MissingCredentialsError"; + } +} + +export function encodeCredentials(apiKey: string): string { + return JSON.stringify({ apiKey }); +} + +export function decodeCredentials(raw: string | undefined): { apiKey: string } | null { + if (!raw) return null; + try { + const parsed = JSON.parse(raw) as unknown; + if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return null; + const apiKey = (parsed as { apiKey?: unknown }).apiKey; + if (typeof apiKey !== "string" || !apiKey.trim()) return null; + return { apiKey: requireIdAndSecret(apiKey.trim()) }; + } catch { + return null; + } +} + +export function parseCredentialInput(data: unknown): { apiKey: string } { + if (data === null || typeof data !== "object" || Array.isArray(data)) { + throw new Error("Enter an API key"); + } + const record = data as { apiKey?: unknown; api_key?: unknown }; + const apiKey = record.apiKey ?? record.api_key; + if (typeof apiKey !== "string" || !apiKey.trim()) throw new Error("Enter an API key"); + return { apiKey: requireIdAndSecret(apiKey.trim()) }; +} + +export function toAuthorizationHeader(apiKey: string): string { + return `Key ${requireIdAndSecret(apiKey)}`; +} + +function requireIdAndSecret(apiKey: string): string { + const colon = apiKey.indexOf(":"); + if (colon <= 0 || colon === apiKey.length - 1) { + throw new Error("API key must be id:secret"); + } + return apiKey; +} diff --git a/src/generation/device.ts b/src/generation/device.ts new file mode 100644 index 0000000..5613242 --- /dev/null +++ b/src/generation/device.ts @@ -0,0 +1,39 @@ +export const DEVICE_COOKIE = "ohf_device"; + +export const DEVICE_COOKIE_OPTIONS = { + httpOnly: true, + secure: process.env.NODE_ENV === "production", + sameSite: "lax" as const, + path: "/", + maxAge: 60 * 60 * 24 * 400, +}; + +const DEVICE_ID_RE = /^[A-Za-z0-9_-]{16,64}$/; + +export function mintDeviceId(): string { + const bytes = new Uint8Array(16); + crypto.getRandomValues(bytes); + return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join(""); +} + +export function parseDeviceId(raw: string | undefined): string | null { + return raw && DEVICE_ID_RE.test(raw) ? raw : null; +} + +export function resolveDeviceId(raw: string | undefined): { deviceId: string; minted: boolean } { + const existing = parseDeviceId(raw); + if (existing) return { deviceId: existing, minted: false }; + return { deviceId: mintDeviceId(), minted: true }; +} + +export function blobPathname(deviceId: string, filename: string): string { + const id = parseDeviceId(deviceId); + if (!id) throw new Error("Invalid device id"); + return `${id}/${sanitizeFilename(filename)}`; +} + +function sanitizeFilename(filename: string): string { + const base = filename.replaceAll("\\", "/").split("/").pop() ?? ""; + const cleaned = base.replace(/[^A-Za-z0-9._-]+/g, "_").replace(/^\.+/, ""); + return cleaned.slice(0, 180) || "file"; +} diff --git a/src/generation/plane.ts b/src/generation/plane.ts new file mode 100644 index 0000000..e23042a --- /dev/null +++ b/src/generation/plane.ts @@ -0,0 +1,28 @@ +import { getModel, parseSettings } from "./catalog"; +import type { GenerationPlane } from "./catalog/types"; +import { useActive } from "./stores/active"; +import { useImageMedia, useVideoMedia } from "./stores/media"; +import { useImagePrompt, useVideoPrompt } from "./stores/prompt"; +import { useSettings } from "./stores/settings"; + +export function assemblePlane(): GenerationPlane { + const { model: modelId, surface } = useActive.getState(); + const model = getModel(modelId); + const text = (surface === "image" ? useImagePrompt : useVideoPrompt).getState().text; + const items = (surface === "image" ? useImageMedia : useVideoMedia).getState().items; + const media: GenerationPlane["media"] = {}; + for (const item of items) { + const max = model.roles[item.role]; + if (!max) continue; + const list = media[item.role] ?? []; + if (list.length >= max) continue; + list.push(item); + media[item.role] = list; + } + return { + model: model.id, + prompt: { text }, + media, + settings: parseSettings(model, useSettings.getState().byModel[model.id] ?? {}), + }; +} diff --git a/src/generation/platform.ts b/src/generation/platform.ts new file mode 100644 index 0000000..13523d7 --- /dev/null +++ b/src/generation/platform.ts @@ -0,0 +1,140 @@ +import { toAuthorizationHeader } from "./credentials"; + +const MODEL_ID = /^[a-z0-9][a-z0-9._/-]*$/i; + +export class PlatformError extends Error { + readonly status: number; + readonly body: unknown; + + constructor(status: number, body: unknown) { + super(messageFromBody(status, body)); + this.name = "PlatformError"; + this.status = status; + this.body = body; + } +} + +export type QueuedGeneration = { + status: string; + requestId: string; + statusUrl: string; + cancelUrl: string; +}; + +export type GenerationStatus = { + status: string; + requestId: string; + images?: Array<{ url: string }>; + video?: { url: string }; + error?: unknown; +}; + +/** One request's answer inside a batched status poll. A request that errors + carries its reason alone, so it cannot lose the answers standing beside it. */ +export type StatusResult = + | { requestId: string; status: GenerationStatus } + | { requestId: string; error: string }; + +export type PlatformClientOptions = { + apiKey: string; + baseUrl: string; + fetch?: typeof fetch; +}; + +export function isModelId(model: string): boolean { + return MODEL_ID.test(model) && !model.includes(".."); +} + +export function createPlatformClient(options: PlatformClientOptions) { + const baseUrl = options.baseUrl.replace(/\/$/, ""); + const fetchImpl = options.fetch ?? fetch; + const auth = toAuthorizationHeader(options.apiKey); + + async function send(method: "GET" | "POST", path: string, body?: Record) { + const url = `${baseUrl}${path}`; + console.info("[platform] request", { method, url, body: body ?? null }); + const response = await fetchImpl(url, { + method, + headers: { + Authorization: auth, + ...(body ? { "Content-Type": "application/json" } : {}), + }, + ...(body ? { body: JSON.stringify(body) } : {}), + }); + + const payload = await readJson(response); + console.info("[platform] response", { method, url, status: response.status, body: payload }); + if (!response.ok) throw new PlatformError(response.status, payload); + return payload; + } + + return { + async submit(model: string, input: Record): Promise { + if (!isModelId(model)) throw new PlatformError(400, { detail: "Invalid model" }); + return mapQueued(await send("POST", `/${model}`, input)); + }, + async status(requestId: string): Promise { + if (!requestId) throw new PlatformError(400, { detail: "Missing request id" }); + return mapStatus(await send("GET", `/requests/${encodeURIComponent(requestId)}/status`)); + }, + }; +} + +function mapQueued(payload: unknown): QueuedGeneration { + const data = asRecord(payload); + const requestId = stringField(data, "request_id"); + if (!requestId) throw new PlatformError(502, { detail: "Platform response missing request_id" }); + return { + status: stringField(data, "status") ?? "queued", + requestId, + statusUrl: stringField(data, "status_url") ?? "", + cancelUrl: stringField(data, "cancel_url") ?? "", + }; +} + +function mapStatus(payload: unknown): GenerationStatus { + const data = asRecord(payload); + const requestId = stringField(data, "request_id") ?? ""; + const images = Array.isArray(data.images) + ? data.images.flatMap((item) => { + const url = asRecord(item).url; + return typeof url === "string" ? [{ url }] : []; + }) + : undefined; + const videoUrl = asRecord(data.video).url; + + return { + status: stringField(data, "status") ?? "unknown", + requestId, + ...(images?.length ? { images } : {}), + ...(typeof videoUrl === "string" ? { video: { url: videoUrl } } : {}), + ...(data.error !== undefined ? { error: data.error } : {}), + }; +} + +function asRecord(value: unknown): Record { + return value !== null && typeof value === "object" && !Array.isArray(value) + ? (value as Record) + : {}; +} + +function stringField(value: Record, key: string): string | undefined { + const field = value[key]; + return typeof field === "string" ? field : undefined; +} + +async function readJson(response: Response): Promise { + const text = await response.text(); + if (!text) return null; + try { + return JSON.parse(text) as unknown; + } catch { + return text; + } +} + +function messageFromBody(status: number, body: unknown): string { + const detail = asRecord(body).detail; + if (typeof detail === "string" && detail) return detail; + return `Platform request failed (${status})`; +} diff --git a/src/generation/poll.ts b/src/generation/poll.ts new file mode 100644 index 0000000..ce3199f --- /dev/null +++ b/src/generation/poll.ts @@ -0,0 +1,116 @@ +import { getGenerationStatuses } from "./actions"; +import type { GenerationStatus, StatusResult } from "./platform"; + +/** Statuses the platform never moves off again. */ +const TERMINAL = new Set(["completed", "failed", "nsfw", "canceled"]); + +export const POLL_INTERVAL_MS = 4000; +export const POLL_DEADLINE_MS = 10 * 60_000; +/** Rounds allowed to fail back to back before the watches are given up on. One + dropped round must not end every generation in flight. */ +const MAX_MISSES = 3; + +type Waiter = { + deadline: number; + resolve: (status: GenerationStatus) => void; + reject: (reason: Error) => void; +}; + +const waiting = new Map(); +const inflight = new Map>(); +let timer: ReturnType | null = null; +let polling = false; +let misses = 0; + +/** Resolves when the platform reports a terminal status for this request. + Every request in flight is asked for together, in one server action per + interval: Next dispatches server actions one at a time per client, so a + poll per run would queue ahead of the next submit and the composer would + stall again — with the lock gone and the queue doing the same work. */ +export function watchRequest( + requestId: string, + opts?: { deadline?: number }, +): Promise { + const existing = inflight.get(requestId); + if (existing) return existing; + const promise = new Promise((resolve, reject) => { + waiting.set(requestId, { + deadline: opts?.deadline ?? Date.now() + POLL_DEADLINE_MS, + resolve: (status) => { + inflight.delete(requestId); + resolve(status); + }, + reject: (reason) => { + inflight.delete(requestId); + reject(reason); + }, + }); + schedule(); + }); + inflight.set(requestId, promise); + return promise; +} + +/** Drops every watch without settling it: the studio unmounted and there is + nobody left to hand a result to. In-flight jobs stay in history and the + next mount starts a fresh watch. */ +export function stopWatching(): void { + if (timer !== null) clearTimeout(timer); + timer = null; + misses = 0; + waiting.clear(); + inflight.clear(); +} + +function schedule(): void { + if (timer !== null || polling || waiting.size === 0) return; + timer = setTimeout(() => void round(), POLL_INTERVAL_MS); +} + +async function round(): Promise { + timer = null; + polling = true; + try { + const results = await getGenerationStatuses({ requestIds: [...waiting.keys()] }); + misses = 0; + for (const result of results) deliver(result); + sweep(); + } catch (caught) { + if (++misses < MAX_MISSES) return; + settleAll(caught instanceof Error ? caught : new Error(String(caught))); + } finally { + polling = false; + schedule(); + } +} + +function deliver(result: StatusResult): void { + const waiter = waiting.get(result.requestId); + if (!waiter) return; + if ("error" in result) { + waiting.delete(result.requestId); + waiter.reject(new Error(result.error)); + return; + } + if (!TERMINAL.has(result.status.status)) return; + waiting.delete(result.requestId); + waiter.resolve(result.status); +} + +/* A run the platform never finishes would otherwise hold its skeleton open for + the rest of the session. */ +function sweep(): void { + const now = Date.now(); + for (const [requestId, waiter] of [...waiting]) { + if (now <= waiter.deadline) continue; + waiting.delete(requestId); + waiter.reject(new Error("timed out waiting for the platform")); + } +} + +function settleAll(reason: Error): void { + const waiters = [...waiting.values()]; + waiting.clear(); + misses = 0; + for (const waiter of waiters) waiter.reject(reason); +} diff --git a/src/generation/stores/active.ts b/src/generation/stores/active.ts new file mode 100644 index 0000000..ebc2438 --- /dev/null +++ b/src/generation/stores/active.ts @@ -0,0 +1,55 @@ +import { create } from "zustand"; +import { persist } from "zustand/middleware"; + +import { getModel } from "../catalog"; +import type { Surface } from "../catalog/types"; +import { browserStorage } from "./browser-storage"; + +/** Results one press of Generate produces. Models that do not carry a count of + their own are submitted once per result — every unit is a real platform + request — so the ceiling is deliberately small. */ +export const MAX_BATCH = 4; + +type ActiveState = { + surface: Surface; + model: string; + batch: number; + setModel: (id: string) => void; + setBatch: (count: number) => void; +}; + +export const useActive = create()( + persist( + (set) => ({ + surface: "video", + model: "seedance-2.5", + batch: 1, + setModel: (id) => { + const model = getModel(id); + set((state) => + state.model === model.id && state.surface === model.surface + ? state + : { model: model.id, surface: model.surface }, + ); + }, + setBatch: (count) => + set((state) => { + const batch = Math.min(MAX_BATCH, Math.max(1, Math.round(count))); + return state.batch === batch ? state : { batch }; + }), + }), + { + name: "openhiggsfield.active.v2", + storage: browserStorage(), + partialize: (state) => ({ surface: state.surface, model: state.model, batch: state.batch }), + onRehydrateStorage: () => (state) => { + if (!state) return; + try { + getModel(state.model); + } catch { + state.setModel("seedance-2.5"); + } + }, + }, + ), +); diff --git a/src/generation/stores/browser-storage.ts b/src/generation/stores/browser-storage.ts new file mode 100644 index 0000000..85e7d8d --- /dev/null +++ b/src/generation/stores/browser-storage.ts @@ -0,0 +1,42 @@ +import { type PersistStorage, type StorageValue } from "zustand/middleware"; + +/** Per-call localStorage so persist still works after SSR, where the store + module evaluates before a Storage exists. */ +export function browserStorage(): PersistStorage { + return { + getItem: (name) => { + const raw = read(name); + if (raw === null) return null; + try { + return JSON.parse(raw) as StorageValue; + } catch { + return null; + } + }, + setItem: (name, value) => { + write(name, JSON.stringify(value)); + }, + removeItem: (name) => { + write(name, null); + }, + }; +} + +function read(name: string): string | null { + try { + if (typeof localStorage === "undefined") return null; + return localStorage.getItem(name); + } catch { + return null; + } +} + +function write(name: string, value: string | null): void { + try { + if (typeof localStorage === "undefined") return; + if (value === null) localStorage.removeItem(name); + else localStorage.setItem(name, value); + } catch { + /* quota, private mode, or a denied store */ + } +} diff --git a/src/generation/stores/media.ts b/src/generation/stores/media.ts new file mode 100644 index 0000000..56a49e5 --- /dev/null +++ b/src/generation/stores/media.ts @@ -0,0 +1,33 @@ +import { create } from "zustand"; +import { persist } from "zustand/middleware"; + +import type { MediaItem } from "../catalog/types"; +import { browserStorage } from "./browser-storage"; + +type MediaState = { + items: MediaItem[]; + add: (item: MediaItem) => void; + remove: (id: string) => void; +}; + +function createMediaStore(name: string) { + return create()( + persist( + (set) => ({ + items: [], + add: (item) => set((state) => ({ items: [...state.items, item] })), + remove: (id) => set((state) => ({ items: state.items.filter((item) => item.id !== id) })), + }), + { + name, + storage: browserStorage(), + partialize: (state) => ({ + items: state.items.filter((item) => !item.url.startsWith("blob:")), + }), + }, + ), + ); +} + +export const useImageMedia = createMediaStore("openhiggsfield.imageMedia.v1"); +export const useVideoMedia = createMediaStore("openhiggsfield.videoMedia.v1"); diff --git a/src/generation/stores/prompt.ts b/src/generation/stores/prompt.ts new file mode 100644 index 0000000..2e14290 --- /dev/null +++ b/src/generation/stores/prompt.ts @@ -0,0 +1,24 @@ +import { create } from "zustand"; +import { persist } from "zustand/middleware"; + +import { browserStorage } from "./browser-storage"; + +type PromptState = { + text: string; + setText: (text: string) => void; +}; + +function createPromptStore(name: string) { + return create()( + persist( + (set) => ({ + text: "", + setText: (text) => set((state) => (state.text === text ? state : { text })), + }), + { name, storage: browserStorage(), partialize: (state) => ({ text: state.text }) }, + ), + ); +} + +export const useImagePrompt = createPromptStore("openhiggsfield.imagePrompt.v1"); +export const useVideoPrompt = createPromptStore("openhiggsfield.videoPrompt.v1"); diff --git a/src/generation/stores/settings.ts b/src/generation/stores/settings.ts new file mode 100644 index 0000000..56cc0e0 --- /dev/null +++ b/src/generation/stores/settings.ts @@ -0,0 +1,31 @@ +import { create } from "zustand"; +import { persist } from "zustand/middleware"; + +import { browserStorage } from "./browser-storage"; + +type SettingsState = { + byModel: Record>; + set: (modelId: string, patch: Record) => void; +}; + +export const useSettings = create()( + persist( + (set) => ({ + byModel: {}, + set: (modelId, patch) => + set((state) => { + const current = state.byModel[modelId]; + if (current && Object.entries(patch).every(([key, value]) => Object.is(current[key], value))) { + return state; + } + return { + byModel: { + ...state.byModel, + [modelId]: { ...current, ...patch }, + }, + }; + }), + }), + { name: "openhiggsfield.settings.v1", storage: browserStorage(), partialize: (state) => ({ byModel: state.byModel }) }, + ), +); diff --git a/src/generation/to-platform.ts b/src/generation/to-platform.ts new file mode 100644 index 0000000..111edc4 --- /dev/null +++ b/src/generation/to-platform.ts @@ -0,0 +1,201 @@ +import { getModel } from "./catalog"; +import type { GenerationPlane, PlatformPaths } from "./catalog/types"; + +type Mapped = { path: string; body: Record }; +type Mapper = (plane: GenerationPlane) => Mapped; + +const MAP: Record = { + "soul-cinema": (plane) => mapSoul(plane, "higgsfield-ai/soul/cinema"), + "soul-2": (plane) => mapSoul(plane, "higgsfield-ai/soul/v2/standard"), + "kling-3-turbo": mapKlingTurbo, + "kling-3-std": (plane) => mapKling3(plane, "kling-video/v3.0/std"), + "kling-3-pro": (plane) => mapKling3(plane, "kling-video/v3.0/pro"), + "kling-3-4k": (plane) => mapKling3(plane, "kling-video/v3.0/4k"), + "kling-3-motion-std": (plane) => mapKlingMotion(plane, "kling-video/v3/motion-control/std"), + "kling-3-motion-pro": (plane) => mapKlingMotion(plane, "kling-video/v3/motion-control/pro"), + "seedance-2": (plane) => mapSeedance(plane, "bytedance/seedance-2.0"), + "seedance-2-fast": (plane) => mapSeedance(plane, "bytedance/seedance-2.0/fast"), + "seedance-2-mini": (plane) => mapSeedance(plane, "bytedance/seedance-2.0/mini"), + "seedance-2.5": (plane) => mapSeedance(plane, "bytedance/seedance-2.5"), + "seedance-2.5-edit": (plane) => mapSeedanceSource(plane, "bytedance/seedance-2.5/video-edit", false), + "seedance-2.5-extend": (plane) => mapSeedanceSource(plane, "bytedance/seedance-2.5/video-extend", true), +}; + +export function toPlatform(plane: GenerationPlane): Mapped { + const model = getModel(plane.model); + const map = MAP[model.id] ?? (model.paths ? (next) => mapByPaths(next, model.paths!) : undefined); + if (!map) throw new Error(`No platform map for ${plane.model}`); + return map(plane); +} + +function urls(plane: GenerationPlane, role: "start" | "end" | "reference" | "video" | "audio") { + return (plane.media[role] ?? []).map((item) => item.url); +} + +function mapSoul(plane: GenerationPlane, path: string): Mapped { + return { + path, + body: { + prompt: plane.prompt.text, + batch_size: Number(plane.settings.batchSize), + resolution: plane.settings.resolution, + aspect_ratio: plane.settings.aspectRatio, + enhance_prompt: plane.settings.enhancePrompt, + }, + }; +} + +function mapKlingTurbo(plane: GenerationPlane): Mapped { + const start = urls(plane, "start")[0]; + return { + path: start + ? "kling-video/v3.0-turbo/image-to-video" + : "kling-video/v3.0-turbo/text-to-video", + body: { + prompt: plane.prompt.text, + duration: plane.settings.duration, + resolution: plane.settings.resolution, + ...(start ? { image_url: start } : { aspect_ratio: plane.settings.aspectRatio }), + }, + }; +} + +function mapKling3(plane: GenerationPlane, prefix: string): Mapped { + const start = urls(plane, "start")[0]; + const end = urls(plane, "end")[0]; + const body: Record = { + prompt: plane.prompt.text, + sound: plane.settings.sound ? "on" : "off", + duration: plane.settings.duration, + cfg_scale: plane.settings.cfgScale, + multi_shots: plane.settings.multiShots, + }; + if (start) { + body.image_url = start; + if (end) body.last_image_url = end; + return { path: `${prefix}/image-to-video`, body }; + } + body.aspect_ratio = plane.settings.aspectRatio; + return { path: `${prefix}/text-to-video`, body }; +} + +function mapKlingMotion(plane: GenerationPlane, path: string): Mapped { + const start = urls(plane, "start")[0]; + const video = urls(plane, "video")[0]; + return { + path, + body: { + prompt: plane.prompt.text, + ...(start ? { image_url: start } : {}), + ...(video ? { video_url: video } : {}), + keep_original_sound: plane.settings.keepOriginalSound ? "yes" : "no", + character_orientation: plane.settings.characterOrientation, + }, + }; +} + +function mapByPaths(plane: GenerationPlane, spec: PlatformPaths): Mapped { + const start = urls(plane, "start")[0]; + const end = urls(plane, "end")[0]; + const refs = urls(plane, "reference"); + const videos = urls(plane, "video"); + const body: Record = { + prompt: plane.prompt.text, + ...(plane.settings.aspectRatio ? { aspect_ratio: plane.settings.aspectRatio } : {}), + ...(plane.settings.resolution ? { resolution: plane.settings.resolution } : {}), + ...(typeof plane.settings.duration === "number" ? { duration: plane.settings.duration } : {}), + }; + if (spec.firstLast && (start || end)) { + return { + path: spec.firstLast, + body: { + ...body, + ...(start ? { first_frame_url: start } : {}), + ...(end ? { last_frame_url: end } : {}), + }, + }; + } + if (spec.image && start) { + return { + path: spec.image, + body: { ...body, image_url: start, ...(end ? { last_image_url: end } : {}) }, + }; + } + if (spec.reference && (refs.length || videos.length)) { + return { + path: spec.reference, + body: { + ...body, + ...(refs.length ? { image_urls: refs } : {}), + ...(videos.length ? { video_urls: videos } : {}), + }, + }; + } + if (spec.text) { + return { + path: spec.text, + body: refs.length ? { ...body, image_urls: refs } : body, + }; + } + if (spec.image) return { path: spec.image, body }; + if (spec.reference) return { path: spec.reference, body }; + if (spec.firstLast) return { path: spec.firstLast, body }; + throw new Error("Model has no platform path"); +} + +function seedanceBody(plane: GenerationPlane, withDuration: boolean) { + return { + prompt: plane.prompt.text, + resolution: plane.settings.resolution, + generate_audio: plane.settings.generateAudio, + ...(withDuration ? { duration: plane.settings.duration } : {}), + ...(plane.settings.outputFormat ? { output_format: plane.settings.outputFormat } : {}), + }; +} + +function mapSeedance(plane: GenerationPlane, prefix: string): Mapped { + const start = urls(plane, "start")[0]; + const end = urls(plane, "end")[0]; + const refs = urls(plane, "reference"); + const videos = urls(plane, "video"); + const audios = urls(plane, "audio"); + const shared = seedanceBody(plane, true); + if (start) { + return { + path: `${prefix}/image-to-video`, + body: { ...shared, image_url: start, ...(end ? { end_image_url: end } : {}) }, + }; + } + if (refs.length || videos.length || audios.length) { + return { + path: `${prefix}/reference-to-video`, + body: { + ...shared, + aspect_ratio: plane.settings.aspectRatio, + ...(refs.length ? { image_urls: refs } : {}), + ...(videos.length ? { video_urls: videos } : {}), + ...(audios.length ? { audio_urls: audios } : {}), + }, + }; + } + return { + path: `${prefix}/text-to-video`, + body: { ...shared, aspect_ratio: plane.settings.aspectRatio }, + }; +} + +function mapSeedanceSource(plane: GenerationPlane, path: string, withDuration: boolean): Mapped { + const [video, ...extraVideos] = urls(plane, "video"); + const refs = urls(plane, "reference"); + const audios = urls(plane, "audio"); + return { + path, + body: { + ...seedanceBody(plane, withDuration), + ...(video ? { video_url: video } : {}), + ...(refs.length ? { image_urls: refs } : {}), + ...(extraVideos.length ? { video_urls: extraVideos } : {}), + ...(audios.length ? { audio_urls: audios } : {}), + }, + }; +} diff --git a/src/generation/upload.ts b/src/generation/upload.ts new file mode 100644 index 0000000..81024da --- /dev/null +++ b/src/generation/upload.ts @@ -0,0 +1,22 @@ +import { put } from "@vercel/blob/client"; + +export async function uploadMedia(file: File): Promise<{ url: string }> { + const res = await fetch("/api/blob", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + type: "blob.generate-client-token", + payload: { pathname: file.name, clientPayload: null, multipart: false }, + }), + }); + if (!res.ok) throw new Error("Failed to retrieve the client token"); + const { clientToken, pathname } = (await res.json()) as { + clientToken?: unknown; + pathname?: unknown; + }; + if (typeof clientToken !== "string" || typeof pathname !== "string") { + throw new Error("Failed to retrieve the client token"); + } + const blob = await put(pathname, file, { access: "public", token: clientToken }); + return { url: blob.url }; +} diff --git a/src/openhiggsfield/artwork.ts b/src/openhiggsfield/artwork.ts new file mode 100644 index 0000000..1cdc2d8 --- /dev/null +++ b/src/openhiggsfield/artwork.ts @@ -0,0 +1,60 @@ +import type { Surface } from "@/generation/catalog"; + +/* Deterministic pseudo-random from a string seed, so compositions stay stable + across renders without storing coordinates. */ +function hash(str: string): number { + let h = 2166136261; + for (let i = 0; i < str.length; i++) { + h ^= str.charCodeAt(i); + h = Math.imul(h, 16777619); + } + return h >>> 0; +} + +function rng(seed: number): () => number { + let s = seed || 1; + return () => { + s = Math.imul(s ^ (s >>> 15), s | 1); + s ^= s + Math.imul(s ^ (s >>> 7), s | 61); + return ((s ^ (s >>> 14)) >>> 0) / 4294967296; + }; +} + +/** Layered-gradient artwork used for model swatches and as the ground behind + loading/failed runs. Seeded, so no two subjects share the exact same light. */ +export function artFor(surface: Surface, hue: number, seedKey: string): string { + const r = rng(hash(seedKey)); + const h2 = (hue + 36 + Math.round(r() * 44)) % 360; + const h3 = (hue + 14 + Math.round(r() * 22)) % 360; + const hc = (hue + 165 + Math.round(r() * 40)) % 360; + const x1 = 10 + Math.round(r() * 28); + const y1 = 4 + Math.round(r() * 22); + const x2 = 66 + Math.round(r() * 28); + const y2 = 70 + Math.round(r() * 26); + const xc = 15 + Math.round(r() * 70); + const yc = 30 + Math.round(r() * 55); + const angle = 138 + Math.round(r() * 44); + + const layers = [ + `radial-gradient(115% 88% at ${x1}% ${y1}%, oklch(0.76 0.16 ${hue} / 0.68), transparent 55%)`, + `radial-gradient(88% 78% at ${x2}% ${y2}%, oklch(0.52 0.14 ${h2} / 0.62), transparent 60%)`, + `radial-gradient(26% 24% at ${xc}% ${yc}%, oklch(0.5 0.15 ${hc} / 0.3), transparent 70%)`, + `radial-gradient(150% 120% at 50% 125%, oklch(0.1 0.02 ${h3} / 0.9), transparent 68%)`, + `linear-gradient(${angle}deg, oklch(0.38 0.09 ${hue}), oklch(0.17 0.04 ${h3}))`, + ]; + if (surface === "video") { + layers.unshift( + `linear-gradient(180deg, transparent 46%, oklch(0.8 0.1 ${hue} / 0.07) 50%, transparent 54%)`, + ); + } + return layers.join(", "); +} + +export function swatchFor(surface: Surface, seed: string): string { + return artFor(surface, hash(seed) % 360, seed); +} + +/* Film-grain overlay shared by every artwork, defined once as a CSS custom + property so the data URI lives in one place. */ +export const GRAIN_URI = + "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E\")"; diff --git a/src/openhiggsfield/asset-picker.tsx b/src/openhiggsfield/asset-picker.tsx new file mode 100644 index 0000000..ddf08d1 --- /dev/null +++ b/src/openhiggsfield/asset-picker.tsx @@ -0,0 +1,433 @@ +"use client"; + +import { memo, useEffect, useMemo, useRef, useState } from "react"; + +import type { MediaItem, MediaRole, ModelEntry } from "@/generation/catalog"; + +import { ROLE_KINDS, ROLE_LABELS, defaultRole, roleNoun, rolesOf, type AssetKind } from "./data"; +import type { RunRecord } from "./history"; +import { + AssetsIcon, + AudioIcon, + CheckIcon, + CloseIcon, + PlayBadgeIcon, + UploadIcon, +} from "./icons"; +import type { UploadRecord } from "./uploads"; + +type Source = "uploads" | "generations"; + +const SOURCES: readonly Source[] = ["uploads", "generations"]; + +const SOURCE_LABELS: Record = { + uploads: "Uploads", + generations: "Generations", +}; + +interface Asset { + url: string; + kind: AssetKind; + /** The tile's name — a file name, or the prompt the run was made from. It is + the alt text and the pointer title: a grey plate has no other handle. */ + title: string; + /** The run's layered-gradient art, so a tile whose media is slow to arrive or + has aged off the platform's CDN is still a picture rather than a hole. */ + art?: string; +} + +/** Everything a role can be filled from: files this browser sent to Blob, and + the finished runs already in the history. Both are public URLs the plane can + carry, so the picker treats them as one library cut along two tabs. */ +export function AssetPicker({ + model, + items, + uploads, + history, + staged, + uploading, + onUpload, + onApply, + onClose, +}: { + model: ModelEntry; + /** The current surface's attachments. They are what the panel opens holding: + a role's inputs are edited here, not only added to. */ + items: MediaItem[]; + uploads: UploadRecord[]; + history: RunRecord[]; + staged: string | null; + uploading: boolean; + onUpload: (role: MediaRole) => void; + onApply: (role: MediaRole, urls: string[]) => void; + onClose: () => void; +}) { + const roles = rolesOf(model); + const [role, setRole] = useState(() => defaultRole(model)); + /* null until the visitor picks a shelf: the panel opens on whichever one + actually holds something, so someone who has generated all day and + uploaded nothing does not land on an empty tab. */ + const [source, setSource] = useState(null); + /* The role's inputs as this panel would leave them — seeded with what is + already on the plane, so an attached tile opens marked and can be pressed + off again. An array, not a Set: the order picked is the order attached, + and a start/end pair is not order-blind. */ + const [selected, setSelected] = useState(() => urlsOf(items, defaultRole(model))); + const tabsRef = useRef(null); + + const kind = ROLE_KINDS[role]; + const max = model.roles[role] ?? 0; + const current = useMemo(() => urlsOf(items, role), [items, role]); + const room = Math.max(0, max - selected.length); + + const uploadAssets = useMemo( + () => + uploads + .filter((record) => record.kind === kind) + .map((record) => ({ url: record.url, kind: record.kind, title: record.name })), + [uploads, kind], + ); + + /* One record can carry several media, and each is its own attachable frame. */ + const runAssets = useMemo(() => { + const out: Asset[] = []; + for (const record of history) { + if (record.status !== "completed" || record.kind !== kind) continue; + for (const url of record.urls) out.push({ url, kind, title: record.prompt, art: record.art }); + } + return out; + }, [history, kind]); + + const shelf: Source = + source ?? (uploadAssets.length === 0 && runAssets.length > 0 ? "generations" : "uploads"); + const assets = shelf === "uploads" ? uploadAssets : runAssets; + + // The dialog takes focus on the control that scopes it, not on the grid. + useEffect(() => { + tabsRef.current?.querySelector('[aria-selected="true"]')?.focus(); + }, []); + + /* A file uploaded from inside the panel joins the selection rather than the + plane: one press still applies the whole set. The ref holds whatever was + staged before this panel opened, so reopening does not re-select it. */ + const seen = useRef(staged); + + /* A new role is a new library and a new set — a start frame cannot follow the + switch to audio — so the shelf and the selection are both re-seeded. */ + function pickRole(next: MediaRole) { + setRole(next); + setSource(null); + setSelected(urlsOf(items, next)); + } + + /* Start and end are a pair: attaching the start should land on the empty end + slot instead of closing, so the second frame is one more click, not a + reopen plus a confirm. */ + function advanceOrClose(filled: MediaRole) { + if (filled === "start" && (model.roles.end ?? 0) > 0) { + const endUsed = items.filter((item) => item.role === "end").length; + if (endUsed < (model.roles.end ?? 0)) { + pickRole("end"); + return; + } + } + onClose(); + } + + function commit(urls: string[]) { + onApply(role, urls); + if (max > 0 && urls.length >= max) { + advanceOrClose(role); + return; + } + onClose(); + } + + useEffect(() => { + if (staged === null || staged === seen.current) return; + seen.current = staged; + if (max === 1) { + setSelected([staged]); + commit([staged]); + return; + } + setSelected((prev) => (prev.includes(staged) ? prev : [...prev, staged])); + }, [staged]); + + function toggle(url: string) { + if (max === 1) { + const next = selected.includes(url) ? [] : [url]; + setSelected(next); + onApply(role, next); + if (next.length === 1) advanceOrClose(role); + return; + } + setSelected((prev) => + prev.includes(url) ? prev.filter((entry) => entry !== url) : [...prev, url], + ); + } + + const onTabKeyDown = (event: React.KeyboardEvent) => { + const from = SOURCES.indexOf(shelf); + const to = + event.key === "ArrowRight" + ? (from + 1) % SOURCES.length + : event.key === "ArrowLeft" + ? (from - 1 + SOURCES.length) % SOURCES.length + : -1; + if (to < 0) return; + event.preventDefault(); + setSource(SOURCES[to]!); + tabsRef.current?.querySelectorAll('[role="tab"]')[to]?.focus(); + }; + + const empty = emptyCopy(shelf, kind); + const canUpload = room > 0 && !uploading; + const uploadTip = uploading + ? "Uploading…" + : room > 0 + ? `Upload a ${roleNoun(role, 1)} from this device` + : `Every ${roleNoun(role, 1)} slot is taken — press one off to free it`; + + /* The button states the difference it will make, so a set edited down reads + as a removal rather than as an "Add" that removes. */ + const picked = new Set(selected); + const added = selected.filter((url) => !current.includes(url)).length; + const dropped = current.filter((url) => !picked.has(url)).length; + const applyLabel = + added && dropped + ? `Replace ${roleNoun(role, Math.max(added, dropped))}` + : added + ? `Add ${added > 1 ? `${added} ` : ""}${roleNoun(role, added)}` + : dropped + ? `Remove ${dropped > 1 ? `${dropped} ` : ""}${roleNoun(role, dropped)}` + : "Done"; + + return ( +
    +
    +
    + {SOURCES.map((id) => { + const active = id === shelf; + const count = id === "uploads" ? uploadAssets.length : runAssets.length; + return ( + + ); + })} +
    + + +
    + + {/* Which slot this panel is editing. Models declaring one role need no + switch — the footer already names what is being changed. */} + {roles.length > 1 && ( +
    + {roles.map((entry) => { + const used = + entry === role ? selected.length : items.filter((item) => item.role === entry).length; + return ( + + ); + })} +
    + )} + +
    + {assets.length === 0 ? ( +
    + + {shelf === "uploads" ? : } + + {empty.title} + {empty.hint} + {shelf === "uploads" && ( + + )} +
    + ) : ( +
    + {shelf === "uploads" && ( + + )} + + {assets.map((asset) => { + const on = picked.has(asset.url); + return ( + + ); + })} +
    + )} +
    + +
    + + {selected.length} of {max} {roleNoun(role, max)} + + {/* Never disabled: with no change left to apply it is simply the way + out, and the panel always offers one press that ends the task. */} + +
    +
    + ); +} + +function urlsOf(items: MediaItem[], role: MediaRole): string[] { + return items.filter((item) => item.role === role).map((item) => item.url); +} + +function emptyCopy(source: Source, kind: AssetKind): { title: string; hint: string } { + if (source === "uploads") { + return { + title: "Nothing uploaded yet", + hint: "Files you send from this device stay on this shelf for the next run too.", + }; + } + if (kind === "audio") { + return { + title: "Runs never return audio", + hint: "Attach an audio track from this device instead — it lands on the Uploads shelf.", + }; + } + return { + title: `No finished ${kind} runs yet`, + hint: `Every ${kind} you generate lands here, ready to feed the next run.`, + }; +} + +/* Video assets preview on hover, the same reflex the gallery teaches, so the + tile carries its own element and its own ref. */ +const AssetTile = memo(function AssetTile({ + asset, + picked, + blocked, + onToggle, +}: { + asset: Asset; + picked: boolean; + blocked: boolean; + onToggle: (url: string) => void; +}) { + const videoRef = useRef(null); + + return ( + + ); +}); diff --git a/src/openhiggsfield/composer.tsx b/src/openhiggsfield/composer.tsx new file mode 100644 index 0000000..060edc2 --- /dev/null +++ b/src/openhiggsfield/composer.tsx @@ -0,0 +1,476 @@ +"use client"; + +import { useEffect, useRef, useState } from "react"; +import type { CSSProperties, ReactNode } from "react"; + +import { parseSettings } from "@/generation/catalog"; +import type { ModelEntry, Surface } from "@/generation/catalog"; +import { MAX_BATCH, useActive } from "@/generation/stores/active"; +import { useImagePrompt, useVideoPrompt } from "@/generation/stores/prompt"; +import { useSettings } from "@/generation/stores/settings"; + +import { swatchFor } from "./artwork"; +import { AssetPicker } from "./asset-picker"; +import { PROMPT_PLACEHOLDERS, countSetting } from "./data"; +import type { RunRecord } from "./history"; +import { ArrowUpIcon, CaretDownIcon, CloseIcon, MinusIcon, PlusIcon, WarningIcon } from "./icons"; +import { MediaStrip, useMediaTray } from "./media-tray"; +import { ModelIcon, modelIconSrc } from "./model-icon"; +import { ModelPicker } from "./model-picker"; +import { SettingPill, SettingPopover } from "./settings"; + +/* Overlay ids: the two fixed panels, or one setting addressed by its catalog + key — the rail renders whatever the model declares, so the ids cannot be a + closed union. */ +const PICKER = "picker"; +const ASSETS = "assets"; +const SETTING = "setting:"; + +const PROMPT_MAX_HEIGHT = 168; + +/* What the studio itself can deliver for a model that carries no count of its + own: one platform request per result. */ +const STUDIO_COUNTS = Array.from({ length: MAX_BATCH }, (_, index) => index + 1); + +/** Breathing room between a popover and the control it opened from. */ +const POPOVER_GAP = 8; + +/** Declared widths keep an opening popover inside the composer's own column. */ +function popoverWidth(id: string, model: ModelEntry): number { + if (id === PICKER || id === ASSETS) return 560; + /* A list of an enum's values is the narrow panel; a slider needs its travel. */ + if (id.startsWith(SETTING) && model.settings[id.slice(SETTING.length)]?.type === "enum") { + return 216; + } + return 268; +} + +export function Composer({ + surface, + model, + generating, + error, + focusNonce, + history, + notice, + selection, + selecting, + onError, + onGenerate, +}: { + surface: Surface; + model: ModelEntry; + generating: boolean; + error: string | null; + focusNonce: number; + /* Finished runs are attachable inputs, so the asset picker reads the same + log the gallery renders. */ + history: RunRecord[]; + /* Transient receipts from the gallery share the composer's banner strip + rather than adding a floating layer of their own. */ + notice?: ReactNode; + /* The bulk toolbar takes the composer's slot while runs are picked; it is + always mounted so it can animate away, and states its own presence. */ + selection: ReactNode; + selecting: boolean; + onError: (message: string | null) => void; + onGenerate: () => void; +}) { + const setModel = useActive((state) => state.setModel); + const batch = useActive((state) => state.batch); + const setBatch = useActive((state) => state.setBatch); + const imagePrompt = useImagePrompt(); + const videoPrompt = useVideoPrompt(); + const prompt = surface === "image" ? imagePrompt : videoPrompt; + const settings = useSettings(); + const values = parseSettings(model, settings.byModel[model.id] ?? {}); + const tray = useMediaTray(model, onError); + + const [overlay, setOverlay] = useState(null); + const [anchor, setAnchor] = useState({ x: 0, y: 0 }); + const [shortcut, setShortcut] = useState(null); + const dockRef = useRef(null); + const wrapRef = useRef(null); + const promptRef = useRef(null); + /* A run in flight is not a lock: it holds its own tile in the grid, so the + only thing that can stop a press is having nothing to say. */ + const disabled = prompt.text.trim().length === 0; + + /* One batch control, two mechanisms. A model that declares its own + results-per-request gets that setting written; the rest are submitted once + per result by the studio. Either way the control means "results per press", + so the model's own count key never also appears as a settings pill. */ + const native = countSetting(model); + const counts = native ? native.counts : STUDIO_COUNTS; + const batchValue = native ? Number(values[native.key]) || counts[0]! : batch; + const settingKeys = Object.keys(model.settings).filter((key) => key !== native?.key); + + function setBatchValue(next: number) { + if (!native) { + setBatch(next); + return; + } + settings.set(model.id, { [native.key]: native.kind === "enum" ? String(next) : next }); + } + + /* The dock floats over the gallery, so the gallery cannot reserve its height + from layout. It reads it from here instead, and the last row keeps clearing + a composer that grew — a long prompt, a media strip, the undo receipt. */ + useEffect(() => { + const dock = dockRef.current; + if (!dock) return; + const observer = new ResizeObserver(() => { + dock.parentElement?.style.setProperty("--ohf-dock-h", `${dock.offsetHeight}px`); + }); + observer.observe(dock); + return () => observer.disconnect(); + }, []); + + useEffect(() => { + if (!overlay) return; + const onPointerDown = (event: PointerEvent) => { + if (wrapRef.current && !wrapRef.current.contains(event.target as Node)) setOverlay(null); + }; + const onKeyDown = (event: KeyboardEvent) => { + if (event.key === "Escape") setOverlay(null); + }; + document.addEventListener("pointerdown", onPointerDown); + document.addEventListener("keydown", onKeyDown); + return () => { + document.removeEventListener("pointerdown", onPointerDown); + document.removeEventListener("keydown", onKeyDown); + }; + }, [overlay]); + + /* Auto-grow the prompt, including when text is set programmatically — and + again when the column narrows, because the field shares its line with the + attachment now and the same text rewraps onto more of them. Only a width + change re-measures: reacting to the height we just set would loop. */ + useEffect(() => { + const el = promptRef.current; + if (!el) return; + const grow = () => { + el.style.height = "auto"; + el.style.height = `${Math.min(el.scrollHeight, PROMPT_MAX_HEIGHT)}px`; + }; + grow(); + let width = el.clientWidth; + const observer = new ResizeObserver(() => { + if (el.clientWidth === width) return; + width = el.clientWidth; + grow(); + }); + observer.observe(el); + return () => observer.disconnect(); + }, [prompt.text]); + + useEffect(() => { + if (focusNonce > 0) promptRef.current?.focus(); + }, [focusNonce]); + + /* A panel anchored to a control the visitor can no longer see is a stray + plate — the swap closes whatever the composer had open. */ + useEffect(() => { + if (selecting) setOverlay(null); + }, [selecting]); + + // Rendered only after mount: the modifier is the visitor's, not the server's. + useEffect(() => { + setShortcut(/Mac|iP(hone|ad|od)/.test(navigator.userAgent) ? "⌘↵" : "Ctrl↵"); + }, []); + + /* Popovers are positioned by the composer so the wide ones stay inside its + column, but they open off the control that summoned them: the anchor + travels to the trigger's left edge, clamped to the column, and rises from + just above the trigger's own top rather than from the whole dock. + One thing outranks the trigger: the attachments. A panel laid over the + frames already on the plane makes the visitor choose blind, so where the + strip is present every panel clears it. */ + function toggle(next: string, trigger: HTMLElement) { + if (overlay === next) { + setOverlay(null); + return; + } + const wrap = wrapRef.current; + if (!wrap) return; + const wrapBox = wrap.getBoundingClientRect(); + const triggerBox = trigger.getBoundingClientRect(); + const strip = wrap.querySelector(".ohf-strip"); + const ceiling = strip + ? Math.min(triggerBox.top, strip.getBoundingClientRect().top) + : triggerBox.top; + const available = wrap.clientWidth; + const width = Math.min(popoverWidth(next, model), available); + setAnchor({ + x: Math.round(Math.max(0, Math.min(triggerBox.left - wrapBox.left, available - width))), + y: Math.round(wrapBox.bottom - ceiling + POPOVER_GAP), + }); + setOverlay(next); + } + + const attachLabel = tray.allFull ? "Change the inputs" : "Add an input"; + const settingKey = overlay?.startsWith(SETTING) ? overlay.slice(SETTING.length) : null; + const generateLabel = batchValue > 1 ? `Generate ${batchValue} results` : "Generate"; + const generateTip = disabled ? "Write a prompt first" : `${generateLabel} · ${shortcut ?? "⌘↵"}`; + + return ( +
    +
    + {notice} + + {error && ( +
    + + + + {error} + +
    + )} + + {settingKey && } + {overlay === ASSETS && ( + setOverlay(null)} + /> + )} + {overlay === PICKER && ( + { + setModel(next.id); + setOverlay(null); + }} + onClose={() => setOverlay(null)} + /> + )} + + {/* One slot, two instruments. Both are laid on the same cell and + aligned to the same bottom edge, so the dock never changes height + and the toolbar rises exactly where the composer's rail was. */} +
    +
    + + + {/* The attachment sits beside the words it belongs to, on the same + left rail the control row starts from. */} +
    + {tray.roles.length > 0 && ( + <> + {tray.input} + + + )} + + {/* The prompt lives inside the wrap the outside-pointer rule + guards, so it has to dismiss for itself: reaching for the words + puts the open control away. Pointer and focus both, because a + button click does not move focus on every platform — the field + can still hold it while a popover stands open. */} + -
    - - -

    Billing

    -
    -
    - Address - -
    -
    - City - -
    -
    - State - -
    -
    - Country - -
    -
    - Email - -
    -
    -
    -
    - Zip code - -
    -
    - Phone number - -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 56bde07dba441f2161344dcd9a0a2dbf6887c686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Su=C3=A1rez=20Mart=C3=ADn?= Date: Fri, 18 Sep 2026 00:17:10 +0000 Subject: [PATCH 02/11] Add the e-commerce domain layer: channels, presets, prompt compiler, pricing, plans Pure, tested modules that make the vertical data: channels decide ratio and duration, presets carry the prompt skeleton and preferred models, the compiler folds product, brand kit and channel guidance into a prompt, and pricing turns a resolved run into an integer credit cost. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QktEqYfYA1H2gQRbvG88pU --- package.json | 14 +- pnpm-lock.yaml | 6155 +++++++++++++++++++++++--- src/domain/__tests__/pricing.test.ts | 65 + src/domain/__tests__/prompt.test.ts | 124 + src/domain/brand.ts | 97 + src/domain/channels.ts | 144 + src/domain/export.ts | 26 + src/domain/index.ts | 20 + src/domain/plans.ts | 71 + src/domain/presets.ts | 285 ++ src/domain/pricing.ts | 45 + src/domain/prompt.ts | 143 + vitest.config.ts | 13 + 13 files changed, 6687 insertions(+), 515 deletions(-) create mode 100644 src/domain/__tests__/pricing.test.ts create mode 100644 src/domain/__tests__/prompt.test.ts create mode 100644 src/domain/brand.ts create mode 100644 src/domain/channels.ts create mode 100644 src/domain/export.ts create mode 100644 src/domain/index.ts create mode 100644 src/domain/plans.ts create mode 100644 src/domain/presets.ts create mode 100644 src/domain/pricing.ts create mode 100644 src/domain/prompt.ts create mode 100644 vitest.config.ts diff --git a/package.json b/package.json index 13627ea..9c2c55a 100644 --- a/package.json +++ b/package.json @@ -9,17 +9,29 @@ "brand": "node scripts/build-brand-assets.mjs" }, "dependencies": { + "@libsql/client": "0.18.0", "@tanstack/react-virtual": "^3.14.10", "@vercel/blob": "^2.8.0", + "better-auth": "1.7.5", + "drizzle-orm": "0.45.2", + "fflate": "0.8.3", "next": "^16.0.0", "react": "^19.2.0", "react-dom": "^19.2.0", + "stripe": "22.6.2", + "zod": "4.6.5", "zustand": "^5.0.15" }, "devDependencies": { + "@playwright/test": "1.63.0", "@types/node": "^22.10.2", "@types/react": "^19.2.0", "@types/react-dom": "^19.2.0", - "typescript": "^5.9.2" + "drizzle-kit": "0.31.10", + "eslint": "10.10.0", + "eslint-config-next": "16.3.5", + "tsx": "^4.23.13", + "typescript": "^5.9.2", + "vitest": "5.0.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5906f78..c2cd7dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,25 +8,46 @@ importers: .: dependencies: + '@libsql/client': + specifier: 0.18.0 + version: 0.18.0 '@tanstack/react-virtual': specifier: ^3.14.10 version: 3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@vercel/blob': specifier: ^2.8.0 version: 2.8.0 + better-auth: + specifier: 1.7.5 + version: 1.7.5(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@libsql/client@0.18.0)(kysely@0.29.6))(next@16.3.3(@babel/core@7.29.7)(@playwright/test@1.63.0)(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.1(@types/node@22.20.1)(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13))) + drizzle-orm: + specifier: 0.45.2 + version: 0.45.2(@libsql/client@0.18.0)(kysely@0.29.6) + fflate: + specifier: 0.8.3 + version: 0.8.3 next: specifier: ^16.0.0 - version: 16.3.3(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 16.3.3(@babel/core@7.29.7)(@playwright/test@1.63.0)(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: specifier: ^19.2.0 version: 19.2.8 react-dom: specifier: ^19.2.0 version: 19.2.8(react@19.2.8) + stripe: + specifier: 22.6.2 + version: 22.6.2(@types/node@22.20.1) + zod: + specifier: 4.6.5 + version: 4.6.5 zustand: specifier: ^5.0.15 version: 5.0.15(@types/react@19.2.18)(react@19.2.8) devDependencies: + '@playwright/test': + specifier: 1.63.0 + version: 1.63.0 '@types/node': specifier: ^22.10.2 version: 22.20.1 @@ -36,737 +57,5295 @@ importers: '@types/react-dom': specifier: ^19.2.0 version: 19.2.5(@types/react@19.2.18) + drizzle-kit: + specifier: 0.31.10 + version: 0.31.10 + eslint: + specifier: 10.10.0 + version: 10.10.0 + eslint-config-next: + specifier: 16.3.5 + version: 16.3.5(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0)(typescript@5.9.3) + tsx: + specifier: ^4.23.13 + version: 4.23.13 typescript: specifier: ^5.9.2 version: 5.9.3 + vitest: + specifier: 5.0.1 + version: 5.0.1(@types/node@22.20.1)(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13)) packages: + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + + '@better-auth/core@1.7.5': + resolution: {integrity: sha512-kVlSu4H8OKQfjg4b/Zj5MOaospt83N0JbX38wsDzE58Yw95jzovFkU3pxzB1eUFYc4mkuhUMZD8iT1gpUjNMcQ==} + peerDependencies: + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.2 + '@opentelemetry/api': ^1.9.0 + better-call: 1.4.0 + jose: ^6.1.0 + kysely: ^0.28.5 || ^0.29.0 + nanostores: ^1.0.1 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + + '@better-auth/drizzle-adapter@1.7.5': + resolution: {integrity: sha512-9SM7v1735SoaedRDcDbHc5ULgXEd2vUlEJkvRHpMF2Q9qf59TRh1b5A9hryyecyi56bm/0CNUDU3nY0uVWj5/Q==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + drizzle-orm: ^0.45.2 || >=1.0.0-rc.1 <2.0.0 + peerDependenciesMeta: + drizzle-orm: + optional: true + + '@better-auth/kysely-adapter@1.7.5': + resolution: {integrity: sha512-1wE5gvnjW+c1i4GrLtL9HLn3s0Xrq4YneCDan1NO1dpz0mEguLFNlzfnUGykTFrDwvFh2X5rkIbA8ALCj6WzXQ==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + kysely: ^0.28.17 || ^0.29.0 + peerDependenciesMeta: + kysely: + optional: true + + '@better-auth/memory-adapter@1.7.5': + resolution: {integrity: sha512-YDmnfR9zOXbn5SNYYwfHBPuc19hg1d1C1vUXb+Hm8Q91pTsstFNX5OTlZbo7f28q06FpogAEfGGCN/2QV39cig==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + + '@better-auth/mongo-adapter@1.7.5': + resolution: {integrity: sha512-Yq0LfF0VlA9Kfjcjp/v43MSsChv7vKd1ct0Mt15px4zlqaCPIGfPbjw9YNM6jTo0fGpqLR0n15PllSWmLLRp9g==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + mongodb: ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + mongodb: + optional: true + + '@better-auth/prisma-adapter@1.7.5': + resolution: {integrity: sha512-QfW6HS9vK0FMcbI/GsQLdplICxOz0EPzYWGONZT4ovL3cSItd4YH/09USbPPVl+VUQCdznAQIk+n+NKvHdmSag==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + '@prisma/client': + optional: true + prisma: + optional: true + + '@better-auth/telemetry@1.7.5': + resolution: {integrity: sha512-e/REPqMy9Em+gC6G0xWBikiMLRuy532Er7jqdoNkPBa65FbywgWcm1cZbgdW5CnHsrM3OLZsmKn14yeGoDISeg==} + peerDependencies: + '@better-auth/core': ^1.7.5 + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.2 + + '@better-auth/utils@0.4.2': + resolution: {integrity: sha512-AUxrvu+HaaODsUyzDxFgwd/8RZ1yZaYo42LXKSrU2oGgR38pS1ij8nqQKNgtTWoYGpNevNXtCfgTy6loHveW9A==} + + '@better-auth/utils@0.5.0': + resolution: {integrity: sha512-BL8W4EfIZFwlu0r54m3v1ztjDhu6dDe/amLTm0xybmbZaNgYUqhD3SjpAsnq0q8YD6/ki4iwIgxJNLP/N3TxiA==} + + '@better-fetch/fetch@1.3.2': + resolution: {integrity: sha512-Gs7n99b5tqUC6cQAPbV0uED3IraHB6xQbHLQ/C3l7ZFafHScOx9pQ+DYmP5blbLFShVWLqxNUlI9wi4xU/X+ow==} + + '@cacheable/memory@2.2.0': + resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} + + '@cacheable/utils@2.5.0': + resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} + + '@drizzle-team/brocli@0.10.2': + resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@img/colour@1.1.0': - resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + deprecated: 'Merged into tsx: https://tsx.hirok.io' + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + deprecated: 'Merged into tsx: https://tsx.hirok.io' + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@img/sharp-darwin-arm64@0.35.3': - resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} - engines: {node: '>=20.9.0'} + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} cpu: [arm64] - os: [darwin] + os: [android] - '@img/sharp-darwin-x64@0.35.3': - resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} - engines: {node: '>=20.9.0'} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] os: [darwin] - '@img/sharp-freebsd-wasm32@0.35.3': - resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} - engines: {node: '>=20.9.0'} - os: [freebsd] + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.3.2': - resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.3.2': - resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.3.2': - resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-arm@1.3.2': - resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.3.2': - resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} - cpu: [ppc64] + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.3.2': - resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} - cpu: [riscv64] + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.3.2': - resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} - cpu: [s390x] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linux-x64@1.3.2': - resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} - cpu: [x64] + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] os: [linux] - libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.3.2': - resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} - cpu: [arm64] + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] os: [linux] - libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.3.2': - resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} - cpu: [x64] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] os: [linux] - libc: [musl] - '@img/sharp-linux-arm64@0.35.3': - resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} - engines: {node: '>=20.9.0'} - cpu: [arm64] + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] os: [linux] - libc: [glibc] - '@img/sharp-linux-arm@0.35.3': - resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} - engines: {node: '>=20.9.0'} - cpu: [arm] + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] os: [linux] - libc: [glibc] - '@img/sharp-linux-ppc64@0.35.3': - resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} - engines: {node: '>=20.9.0'} + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] - libc: [glibc] - '@img/sharp-linux-riscv64@0.35.3': - resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} - engines: {node: '>=20.9.0'} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] - libc: [glibc] - '@img/sharp-linux-s390x@0.35.3': - resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} - engines: {node: '>=20.9.0'} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] - libc: [glibc] - '@img/sharp-linux-x64@0.35.3': - resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} - engines: {node: '>=20.9.0'} - cpu: [x64] + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] os: [linux] - libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.35.3': - resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} - engines: {node: '>=20.9.0'} - cpu: [arm64] + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] os: [linux] - libc: [musl] - '@img/sharp-linuxmusl-x64@0.35.3': - resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} - engines: {node: '>=20.9.0'} + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} cpu: [x64] os: [linux] - libc: [musl] - '@img/sharp-wasm32@0.35.3': - resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} - engines: {node: '>=20.9.0'} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@img/sharp-webcontainers-wasm32@0.35.3': - resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} - engines: {node: '>=20.9.0'} - cpu: [wasm32] + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@img/sharp-win32-arm64@0.35.3': - resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} - engines: {node: '>=20.9.0'} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} cpu: [arm64] - os: [win32] + os: [netbsd] - '@img/sharp-win32-ia32@0.35.3': - resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} - engines: {node: ^20.9.0} - cpu: [ia32] - os: [win32] + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@img/sharp-win32-x64@0.35.3': - resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} - engines: {node: '>=20.9.0'} + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} cpu: [x64] - os: [win32] + os: [netbsd] - '@next/env@16.3.3': - resolution: {integrity: sha512-U2eYQRwXj+dsqxV79zFqExDdatnNY/ZWc2nsJU1p/OgT7fd3dXwlF6OjYaFQCfMoeTA19PWq+wVmYgimVA+V+g==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@next/swc-darwin-arm64@16.3.3': - resolution: {integrity: sha512-8Hiv32QJPwdV6KYJ8meR9SBA061tQqnIKTJDocvOXlEQqib0xMFpzArosuffFUUc0sslbh7QQ8a3Yey1QV8EIw==} - engines: {node: '>= 10'} + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} cpu: [arm64] - os: [darwin] + os: [openbsd] - '@next/swc-darwin-x64@16.3.3': - resolution: {integrity: sha512-A1lgKgwVchRYmSe467zdwhxT9040dd8lH+o65sL5Jet8fjB4kegw/rDyPIpYVRb6jAqwXFOJpjIXJLxQKLiE3A==} - engines: {node: '>= 10'} + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} cpu: [x64] - os: [darwin] + os: [openbsd] - '@next/swc-linux-arm64-gnu@16.3.3': - resolution: {integrity: sha512-bf0FIssMFueU2dm7vQEWWxk0c8UjKTdW0yzuh0sQsD8pf1+KCLDdaqhYZNMYGmXwEOiHAUzgBKudovIlcvvBjg==} - engines: {node: '>= 10'} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} cpu: [arm64] - os: [linux] - libc: [glibc] + os: [openharmony] - '@next/swc-linux-arm64-musl@16.3.3': - resolution: {integrity: sha512-W7viwCk9JY/cAkdz/A273rd5bb3RgT/IHwR7Upv90tunjBWNtAAhGhoecHh+teRNRSinuAFmE+l7fwZ4YKkrXg==} - engines: {node: '>= 10'} + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} cpu: [arm64] - os: [linux] - libc: [musl] + os: [openharmony] - '@next/swc-linux-x64-gnu@16.3.3': - resolution: {integrity: sha512-0W46zw1N3ODpI6n0GeivHvvob1pooozgZVqy65k0mh4/7vr+FbY9+WpHzNVXjHipJf/A3FDheBG19H1s5A25rA==} - engines: {node: '>= 10'} + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} cpu: [x64] - os: [linux] - libc: [glibc] + os: [sunos] - '@next/swc-linux-x64-musl@16.3.3': - resolution: {integrity: sha512-H4mBso8ZTMBPtdT0PN0pBx2ayTvQuTuvS6qT13d77yVFJXAPCxkyIhLTmdMaGTJs0krQYI/qpzdHijCeihXhbg==} - engines: {node: '>= 10'} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} cpu: [x64] - os: [linux] - libc: [musl] + os: [sunos] - '@next/swc-win32-arm64-msvc@16.3.3': - resolution: {integrity: sha512-cTMUJpcEGmeywofCUfhR+rSsoE33+rVPnPEYNTNdLNlsOeEg/vktOsKUSTb28vUGqD2jkm4Zaskcwn7OCI6FQg==} - engines: {node: '>= 10'} + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.3.3': - resolution: {integrity: sha512-2VR4cTBzHXaBjnGsuH6GyJjENzQOmHeAh11uY1iUhjm3j5dEUrVJuUj+VL78jaGi/Dik8xS76zEj18BsFhlVZQ==} - engines: {node: '>= 10'} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] - '@swc/helpers@0.5.23': - resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@tanstack/react-virtual@3.14.10': - resolution: {integrity: sha512-SRyoUbdFMRHuYXMijV5H4ZarQWpXkj3iANq8OFre+pybeVap8ZJjZ3Nz9bVjx4d8PfobVUQUdKyyyHYk3E+djw==} + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@tanstack/virtual-core@3.17.8': - resolution: {integrity: sha512-BfEvehNpOT75r5Ksc5xW6NZuXujTfb7nlSEyVu4XHG3gdxNg1KqXruWbDewXOUaUYIo4oRbSfkjIajz4MAT8tA==} + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@types/node@22.20.1': - resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@types/react-dom@19.2.5': - resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} - peerDependencies: - '@types/react': ^19.2.0 + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@types/react@19.2.18': - resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@vercel/blob@2.8.0': - resolution: {integrity: sha512-Nu+HWKpkgovCh/ezlG7wCVwF7RErTzLzZMbGKFBdGBCbTKyK+s5VXPLl+0+TpNEQPH8AVaGzOpIsXUOtkqylCQ==} - engines: {node: '>=20.0.0'} + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@vercel/cli-config@0.2.4': - resolution: {integrity: sha512-kZ5SojbrV06GHoU6QIWGwDXLov+s9rWZ7QqdqKfJfBGCNUieGfgaCjeeenNy8Y+QC0bwC0dZ2B4l5Hvdmrgpdw==} + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@vercel/cli-exec@1.0.1': - resolution: {integrity: sha512-g9XerViJ/paZujufXYcu5XYI2vU2rtB4sgdpjUHde5RnOkdmpu0ngH46LCFGHoPXO/C+qDPSczIHIRN+8Q2YKQ==} - engines: {node: '>= 18'} + '@eslint/plugin-kit@0.7.3': + resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@vercel/oidc@3.8.5': - resolution: {integrity: sha512-RwXYtnt6za+5UO4IaLywN/6B95AlLqynPRUWRJxeJ/qufwkcLUbZNUxYtzT0uMpuraWhlNcGqPNGkTnZr4BGBw==} - engines: {node: '>= 20'} + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} - baseline-browser-mapping@2.11.19: - resolution: {integrity: sha512-Grytf1xOxOEMTGRwx6rLGKkTabd4vMg3VrKdj/7joCmV0qgh4QwMMO6xh34YEXQqirAuUdgQGa5orJQQ+69RBw==} - engines: {node: '>=6.0.0'} - hasBin: true + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} - caniuse-lite@1.0.30001810: - resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + '@img/sharp-darwin-arm64@0.35.3': + resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} + '@img/sharp-darwin-x64@0.35.3': + resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + '@img/sharp-freebsd-wasm32@0.35.3': + resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} + engines: {node: '>=20.9.0'} + os: [freebsd] - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + '@img/sharp-libvips-darwin-arm64@1.3.2': + resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} + cpu: [arm64] + os: [darwin] - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + '@img/sharp-libvips-darwin-x64@1.3.2': + resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} + cpu: [x64] + os: [darwin] - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + '@img/sharp-libvips-linux-arm64@1.3.2': + resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] - is-node-process@1.2.0: - resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + '@img/sharp-libvips-linux-arm@1.3.2': + resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} + cpu: [arm] + os: [linux] + libc: [glibc] - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + '@img/sharp-libvips-linux-ppc64@1.3.2': + resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.3.2': + resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.3.2': + resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.3.2': + resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.35.3': + resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.35.3': + resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.35.3': + resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.35.3': + resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.35.3': + resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.35.3': + resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.35.3': + resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.35.3': + resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.35.3': + resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.3': + resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.35.3': + resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.35.3': + resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.35.3': + resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@keyv/bigmap@1.3.1': + resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} + engines: {node: '>= 18'} + peerDependencies: + keyv: ^5.6.0 + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + + '@libsql/client@0.18.0': + resolution: {integrity: sha512-zMCCo58vv7w27j7+cnt/GW+X6/Rih6cHZ86PKi0AxCMOqMfrVgG9OZ5lW2bDMJhSeOjsv2szH2nJF3A9l36UmA==} + + '@libsql/core@0.18.0': + resolution: {integrity: sha512-N8RR2CIpcgtbKZnXs2KVpw2lJQfinUj3I56e7qRDRpK18Hty0Rr8nr00VmFb4R/DsqOanPB/TaP3+QAQLZeXMg==} + + '@libsql/darwin-arm64@0.5.29': + resolution: {integrity: sha512-K+2RIB1OGFPYQbfay48GakLhqf3ArcbHqPFu7EZiaUcRgFcdw8RoltsMyvbj5ix2fY0HV3Q3Ioa/ByvQdaSM0A==} + cpu: [arm64] + os: [darwin] + + '@libsql/darwin-x64@0.5.29': + resolution: {integrity: sha512-OtT+KFHsKFy1R5FVadr8FJ2Bb1mghtXTyJkxv0trocq7NuHntSki1eUbxpO5ezJesDvBlqFjnWaYYY516QNLhQ==} + cpu: [x64] + os: [darwin] + + '@libsql/hrana-client@0.10.0': + resolution: {integrity: sha512-OoA4EMqRAC7kn7V2P6EQqRcpZf2W+AjsNIyCizBg339Tq/aMC7sRnzs3SklderhmQWAqEzvv8A2vhxVmWpkVvw==} + + '@libsql/isomorphic-ws@0.1.5': + resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} + + '@libsql/linux-arm-gnueabihf@0.5.29': + resolution: {integrity: sha512-CD4n4zj7SJTHso4nf5cuMoWoMSS7asn5hHygsDuhRl8jjjCTT3yE+xdUvI4J7zsyb53VO5ISh4cwwOtf6k2UhQ==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm-musleabihf@0.5.29': + resolution: {integrity: sha512-2Z9qBVpEJV7OeflzIR3+l5yAd4uTOLxklScYTwpZnkm2vDSGlC1PRlueLaufc4EFITkLKXK2MWBpexuNJfMVcg==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm64-gnu@0.5.29': + resolution: {integrity: sha512-gURBqaiXIGGwFNEaUj8Ldk7Hps4STtG+31aEidCk5evMMdtsdfL3HPCpvys+ZF/tkOs2MWlRWoSq7SOuCE9k3w==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-arm64-musl@0.5.29': + resolution: {integrity: sha512-fwgYZ0H8mUkyVqXZHF3mT/92iIh1N94Owi/f66cPVNsk9BdGKq5gVpoKO+7UxaNzuEH1roJp2QEwsCZMvBLpqg==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-x64-gnu@0.5.29': + resolution: {integrity: sha512-y14V0vY0nmMC6G0pHeJcEarcnGU2H6cm21ZceRkacWHvQAEhAG0latQkCtoS2njFOXiYIg+JYPfAoWKbi82rkg==} + cpu: [x64] + os: [linux] + + '@libsql/linux-x64-musl@0.5.29': + resolution: {integrity: sha512-gquqwA/39tH4pFl+J9n3SOMSymjX+6kZ3kWgY3b94nXFTwac9bnFNMffIomgvlFaC4ArVqMnOZD3nuJ3H3VO1w==} + cpu: [x64] + os: [linux] + + '@libsql/win32-x64-msvc@0.5.29': + resolution: {integrity: sha512-4/0CvEdhi6+KjMxMaVbFM2n2Z44escBRoEYpR+gZg64DdetzGnYm8mcNLcoySaDJZNaBd6wz5DNdgRmcI4hXcg==} + cpu: [x64] + os: [win32] + + '@napi-rs/wasm-runtime@1.2.4': + resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} + peerDependencies: + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 + + '@neon-rs/load@0.0.4': + resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} + + '@next/env@16.3.3': + resolution: {integrity: sha512-U2eYQRwXj+dsqxV79zFqExDdatnNY/ZWc2nsJU1p/OgT7fd3dXwlF6OjYaFQCfMoeTA19PWq+wVmYgimVA+V+g==} + + '@next/eslint-plugin-next@16.3.5': + resolution: {integrity: sha512-PGfSeItHJ12DH8t+6sEbuMe59NE5rAhCfgk06QKTH2ne9VUL1JlaXdYXY3B8RaiF2SO50rDYvd39TulP6A6xZQ==} + + '@next/swc-darwin-arm64@16.3.3': + resolution: {integrity: sha512-8Hiv32QJPwdV6KYJ8meR9SBA061tQqnIKTJDocvOXlEQqib0xMFpzArosuffFUUc0sslbh7QQ8a3Yey1QV8EIw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.3.3': + resolution: {integrity: sha512-A1lgKgwVchRYmSe467zdwhxT9040dd8lH+o65sL5Jet8fjB4kegw/rDyPIpYVRb6jAqwXFOJpjIXJLxQKLiE3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.3.3': + resolution: {integrity: sha512-bf0FIssMFueU2dm7vQEWWxk0c8UjKTdW0yzuh0sQsD8pf1+KCLDdaqhYZNMYGmXwEOiHAUzgBKudovIlcvvBjg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-arm64-musl@16.3.3': + resolution: {integrity: sha512-W7viwCk9JY/cAkdz/A273rd5bb3RgT/IHwR7Upv90tunjBWNtAAhGhoecHh+teRNRSinuAFmE+l7fwZ4YKkrXg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@next/swc-linux-x64-gnu@16.3.3': + resolution: {integrity: sha512-0W46zw1N3ODpI6n0GeivHvvob1pooozgZVqy65k0mh4/7vr+FbY9+WpHzNVXjHipJf/A3FDheBG19H1s5A25rA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-x64-musl@16.3.3': + resolution: {integrity: sha512-H4mBso8ZTMBPtdT0PN0pBx2ayTvQuTuvS6qT13d77yVFJXAPCxkyIhLTmdMaGTJs0krQYI/qpzdHijCeihXhbg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@next/swc-win32-arm64-msvc@16.3.3': + resolution: {integrity: sha512-cTMUJpcEGmeywofCUfhR+rSsoE33+rVPnPEYNTNdLNlsOeEg/vktOsKUSTb28vUGqD2jkm4Zaskcwn7OCI6FQg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.3.3': + resolution: {integrity: sha512-2VR4cTBzHXaBjnGsuH6GyJjENzQOmHeAh11uY1iUhjm3j5dEUrVJuUj+VL78jaGi/Dik8xS76zEj18BsFhlVZQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@noble/ciphers@2.4.0': + resolution: {integrity: sha512-AnjFn0Jv92laAkvMrghlFZq4qQCIN/4DxFV/eooqtC2YTjB7kBeLMS2T9KJX4Dn+ZVXLOwK0lSgqDtx9gvxtiw==} + engines: {node: '>= 20.19.0'} + + '@noble/hashes@2.4.0': + resolution: {integrity: sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==} + engines: {node: '>= 20.19.0'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@opentelemetry/semantic-conventions@1.43.0': + resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==} + engines: {node: '>=14'} + + '@oxc-project/types@0.150.0': + resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} + + '@playwright/test@1.63.0': + resolution: {integrity: sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==} + engines: {node: '>=20'} + hasBin: true + + '@rolldown/binding-android-arm-eabi@1.2.9': + resolution: {integrity: sha512-tNISae1QEf/vkb3xkRcjV5SEdzPE97We5IVaa2Z8jSszQPZ8U60B/YCYpw4QI7VidYsBtKavczXf+DyDs9WGxw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@rolldown/binding-android-arm64@1.2.9': + resolution: {integrity: sha512-YC8YsI30o606GTZi0VyzYlsDKFP8W61i/QzayHDkLbNEz/IShqAmTa+hsJRj13xTHA0H+6fk4b2UmGn+Q/cMlg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.2.9': + resolution: {integrity: sha512-IwhlH3qK5urrY8hZiEgGkHKEFN901p/p2bjxCxJlr4GyNnF7wYpUvK+Y43uaRYuC4hpfjzbR3SJC3arX1jGvmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.2.9': + resolution: {integrity: sha512-XxpJfVzFh+jilRxIXUqcfYAYcunIc/XEzIizsOL1fcJee5Sf7H3mH8WlLmfHfluz5amqR88QQo9izKtmMlavAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.2.9': + resolution: {integrity: sha512-kSfvhmgeWyfkbT3p/1s5vSgboogoah2zkm9fX2zjg2hHxSV7T4KhMWRUUaRk4OXNqoD3QAUeRqLcs1aZOK4U1g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.2.9': + resolution: {integrity: sha512-1RVzG17pxqbTfYLC352JlLt6kKLG+6Hr30n8DlIJqsnV5luUDd2Qdx9Ayw1Cabfyb1K9k0jXEZ7evxkRoT+uiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.2.9': + resolution: {integrity: sha512-BXqPvZ2drqVD+/Z8UpKwcs4Mp7grM+eGFku4CAEKrEtcbAsUpzREphK1sogCRZGreVPiMkiiBtw0n3TPteuqvw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.2.9': + resolution: {integrity: sha512-11vWvo8YDwLzukt27J3aYDWU+gg2P7J+ZOmiJ0hkF5BXZDW7pVya7r40MXDy6ya0i9KamoENSVKIugvJNgFXIA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.2.9': + resolution: {integrity: sha512-a1tijMkdwsIARtc0F39ApURROkf3NwqinI6TOiSSWCTR7dT96dffNvMUtDHnq64wKNTIZOIlzKrFvvFUznJiyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.2.9': + resolution: {integrity: sha512-x6SQNdAvv4c3hWqTMaWuawzMX9myaCs/yEmlGsxJzkdClnHW7FbrjQuSiRDhuSYzEYoEMhsaJy9qHG/XNemJPQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.2.9': + resolution: {integrity: sha512-9s0AZ8BFK5/n7B/TBoa2yJE3gI3KURrbXcPBlsAsvjU4VeJKgE90y1YtNxyEUIcHPQkg6/yfF3qihUrcM/Kf0Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.2.9': + resolution: {integrity: sha512-P7VWAmV+WdJluH7ovnRGoiv2i8To7GAZ+kGzfGup635cyL7SyYl3lSUaA3Gp5THf0n/Co5EyEqb2zbqq+nMOHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.2.9': + resolution: {integrity: sha512-1qixtsE4BK8h+yS3BfmZ09UhA7O/N4IACva6YBr7EBvCJraByTuRcgOTaiA62Tm0vey3UcKXLOaoGHtYmNGEVg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-win32-arm64-msvc@1.2.9': + resolution: {integrity: sha512-ok8IQjcEPs1AKZfuEUznVBrJw+gK4soq+bx8b1X2XoMqVClarc1q5JDmVtWXY1xfr6ZuHTAsPXHTgTrqKTZeww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.2.9': + resolution: {integrity: sha512-Ip2mXoU0hM0boq3Rf+ekuT653OROSo6aSYcPT1VHE4q52KvyxgFkQgrgb/IEsxOuvQ2fZZbs8khJAyCEPM24/g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@tanstack/react-virtual@3.14.10': + resolution: {integrity: sha512-SRyoUbdFMRHuYXMijV5H4ZarQWpXkj3iANq8OFre+pybeVap8ZJjZ3Nz9bVjx4d8PfobVUQUdKyyyHYk3E+djw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/virtual-core@3.17.8': + resolution: {integrity: sha512-BfEvehNpOT75r5Ksc5xW6NZuXujTfb7nlSEyVu4XHG3gdxNg1KqXruWbDewXOUaUYIo4oRbSfkjIajz4MAT8tA==} + + '@tybys/wasm-util@0.10.4': + resolution: {integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/node@22.20.1': + resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} + + '@types/react-dom@19.2.5': + resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@typescript-eslint/eslint-plugin@8.70.0': + resolution: {integrity: sha512-/v8HZt6RlyIZxB3ntehELOcUcfxKPVGWXnQdJuHRmzrqgF8nQypcC/oxGW+Ot4VGKDq81XugPKxx0n5PBtf9PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.70.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.70.0': + resolution: {integrity: sha512-zYvrmj9Yxd63UGaXw+kdt6A0F0s0qveJyuatIM77bYC2DE4pgmg7a50u8LR7PRtXd0x+h+Tl3eXabGm06SWd3Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.70.0': + resolution: {integrity: sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.70.0': + resolution: {integrity: sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.70.0': + resolution: {integrity: sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.70.0': + resolution: {integrity: sha512-NUMKIhYVaVIVLnRL9CRt+VVcuLgSHUCpXn4/+K8wql+vdInUzvx8BjUO1oJ7cG9shjFJKtF8F8Hh2kCh3/KBVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.70.0': + resolution: {integrity: sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.70.0': + resolution: {integrity: sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/utils@8.70.0': + resolution: {integrity: sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.70.0': + resolution: {integrity: sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} + cpu: [arm] + os: [android] + + '@unrs/resolver-binding-android-arm64@1.12.2': + resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} + cpu: [arm64] + os: [android] + + '@unrs/resolver-binding-darwin-arm64@1.12.2': + resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.12.2': + resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.12.2': + resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': + resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': + resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': + resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': + resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': + resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': + resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': + resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': + resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': + resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': + resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': + resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-musl@1.12.2': + resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-openharmony-arm64@1.12.2': + resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} + cpu: [arm64] + os: [openharmony] + + '@unrs/resolver-binding-wasm32-wasi@1.12.2': + resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': + resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': + resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': + resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} + cpu: [x64] + os: [win32] + + '@vercel/blob@2.8.0': + resolution: {integrity: sha512-Nu+HWKpkgovCh/ezlG7wCVwF7RErTzLzZMbGKFBdGBCbTKyK+s5VXPLl+0+TpNEQPH8AVaGzOpIsXUOtkqylCQ==} + engines: {node: '>=20.0.0'} + + '@vercel/cli-config@0.2.4': + resolution: {integrity: sha512-kZ5SojbrV06GHoU6QIWGwDXLov+s9rWZ7QqdqKfJfBGCNUieGfgaCjeeenNy8Y+QC0bwC0dZ2B4l5Hvdmrgpdw==} + + '@vercel/cli-exec@1.0.1': + resolution: {integrity: sha512-g9XerViJ/paZujufXYcu5XYI2vU2rtB4sgdpjUHde5RnOkdmpu0ngH46LCFGHoPXO/C+qDPSczIHIRN+8Q2YKQ==} + engines: {node: '>= 18'} + + '@vercel/oidc@3.8.5': + resolution: {integrity: sha512-RwXYtnt6za+5UO4IaLywN/6B95AlLqynPRUWRJxeJ/qufwkcLUbZNUxYtzT0uMpuraWhlNcGqPNGkTnZr4BGBw==} + engines: {node: '>= 20'} + + '@vitest/mocker@5.0.1': + resolution: {integrity: sha512-6K1DoBNAPGvuOcSsGA4D6x+5zEEff/KmOOP3uetT2TrGpVfI+HRHRnJJfKi5ib/g1vx8IYHQD8s0pbJz8WQI7Q==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/spy@5.0.1': + resolution: {integrity: sha512-rbto/mF/SGERxEgYOek7Xm6B9b+y+mVoo+f4b2LymYO8zM1b7uB5nHuhVMTP2hxdzgxvGiZYGxGIaMvL5y180Q==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.2.0: + resolution: {integrity: sha512-VXY5eFRarnXcYxwBjJzPmEhH55+rmP79/+ueDhi0F+TuqfHCItagIHqxeUZrmgrOPa31QTh9H85DjX3FfJ0FTg==} + engines: {node: '>= 0.4'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.13.0: + resolution: {integrity: sha512-UzGt8zg7Ny8djbYMhxl2zuEevVa7r2gJjYY5Lwr1xM7+XU2nd6CkIWFTVcCIbAP63vSz71NaVyyuSk9lHKcy0A==} + engines: {node: '>=4'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.11.19: + resolution: {integrity: sha512-Grytf1xOxOEMTGRwx6rLGKkTabd4vMg3VrKdj/7joCmV0qgh4QwMMO6xh34YEXQqirAuUdgQGa5orJQQ+69RBw==} + engines: {node: '>=6.0.0'} + hasBin: true + + baseline-browser-mapping@2.11.25: + resolution: {integrity: sha512-gMmEShwwq7FJqMwvfRwvCl00v4kN+KOfJqXn+f4nrufak5gNHJOksd/60Dvjuz7sI8Y5WiSFBa8FEYr+zoyqCw==} + engines: {node: '>=6.0.0'} + hasBin: true + + better-auth@1.7.5: + resolution: {integrity: sha512-aKE0Zt2EPTpFvmq4/oATNyG/mAfc6JUqWkW9pzGlrVnzUb0lso7GJ9BPxD6JPhLqYV1a9zOAb0uAz1Q5fm+eHA==} + peerDependencies: + '@lynx-js/react': '*' + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + '@sveltejs/kit': ^2.0.0 + '@tanstack/react-start': ^1.0.0 + '@tanstack/solid-start': ^1.0.0 + drizzle-kit: '>=0.31.4 || >=1.0.0-beta.1' + drizzle-orm: ^0.45.2 || >=1.0.0-rc.1 <2.0.0 + mongodb: ^6.0.0 || ^7.0.0 + mysql2: ^3.0.0 + next: ^14.0.0 || ^15.0.0 || ^16.0.0 + pg: ^8.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + solid-js: ^1.0.0 + svelte: ^4.0.0 || ^5.0.0 + vitest: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + peerDependenciesMeta: + '@lynx-js/react': + optional: true + '@prisma/client': + optional: true + '@sveltejs/kit': + optional: true + '@tanstack/react-start': + optional: true + '@tanstack/solid-start': + optional: true + drizzle-kit: + optional: true + drizzle-orm: + optional: true + mongodb: + optional: true + mysql2: + optional: true + next: + optional: true + pg: + optional: true + prisma: + optional: true + react: + optional: true + react-dom: + optional: true + solid-js: + optional: true + svelte: + optional: true + vitest: + optional: true + vue: + optional: true + + better-call@1.4.0: + resolution: {integrity: sha512-bBKOT4vv1kZLDgxVePdilk/Jwkn+dtRRsmi3DzHcDP+WnswyVl6dR59l2HEeP/0cB+bDoopASAesWDPIdd/zZA==} + peerDependencies: + zod: ^4.0.0 + peerDependenciesMeta: + zod: + optional: true + + brace-expansion@1.1.21: + resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==} + + brace-expansion@5.0.12: + resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==} + engines: {node: 20 || >=22} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.29.0: + resolution: {integrity: sha512-3GSvyjvDI4Dur1Meg2BekJquu5uF+9R9a1+5M1Mde192eZoXbeXjzgOsgqPS2V8D5wrrip0gR5Hf/GhWQ9ZzaA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + cacheable@2.5.0: + resolution: {integrity: sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + caniuse-lite@1.0.30001810: + resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + drizzle-kit@0.31.10: + resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==} + hasBin: true + + drizzle-orm@0.45.2: + resolution: {integrity: sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=4' + '@electric-sql/pglite': '>=0.2.0' + '@libsql/client': '>=0.10.0' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1.13' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/sql.js': '*' + '@upstash/redis': '>=1.34.7' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=14.0.0' + gel: '>=2' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@libsql/client-wasm': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/sql.js': + optional: true + '@upstash/redis': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + gel: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.430: + resolution: {integrity: sha512-e1QEj72Y4zd8RlNZVmoTg+iCOSVwpk05IOiiQwdrkwCSVlZfPthevErhE+nckGd2YbsXfp1SkisznhGVIXP2NQ==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.4.0: + resolution: {integrity: sha512-c/A0P0oxkACDc+cKWw8evLXK83oBKgn0qPOqCYT4x9uolpCIJAcYvJC9QYKNDRPsTeGyCrQ326jrvgZWdCdK5Q==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.3.2: + resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} + engines: {node: '>= 0.4'} + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-next@16.3.5: + resolution: {integrity: sha512-wPjq9MLQuWykHs8tsm2gH6OJThk6N27L8Te2JatlaGZ7jT1gtgGmJKukygL28xOlWsg5J1a1bGy/PvLyQC8OYA==} + peerDependencies: + eslint: '>=9.0.0' + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + + eslint-import-resolver-node@0.3.10: + resolution: {integrity: sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==} + + eslint-import-resolver-typescript@3.10.1: + resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + + eslint-module-utils@2.14.0: + resolution: {integrity: sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.10.0: + resolution: {integrity: sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.20.3: + resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + + file-entry-cache@11.1.5: + resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@6.1.23: + resolution: {integrity: sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==} + + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.14.3: + resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hashery@1.5.1: + resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} + engines: {node: '>=20'} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + hookified@1.15.1: + resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} + + hookified@2.2.0: + resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.9: + resolution: {integrity: sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==} + engines: {node: '>= 4'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-bun-module@2.0.0: + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.17.0: + resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jose@5.10.0: + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + + jose@6.2.12: + resolution: {integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==} + + js-base64@3.9.3: + resolution: {integrity: sha512-uwYQp+VJ38FVvtim6qNbit6e9uT6dwWQ4Y1+H9TxhW5hcHjpHwoxlR0nMpqUmIFOmu4VqMxwdJA88gIVuZJQ/g==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} + + kysely@0.29.6: + resolution: {integrity: sha512-hHaB8C/rfzDDtr/t8YZwxAuPJTT0zHyaPoVzcXwDYhYNAgH/4sIfVhi/XLLIY+bL/FqaIJnjATDbi8ObSELmxg==} + engines: {node: '>=22.0.0'} + + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libsql@0.5.29: + resolution: {integrity: sha512-8lMP8iMgiBzzoNbAPQ59qdVcj6UaE/Vnm+fiwX4doX4Narook0a4GPKWBEv+CR8a1OwbfkgL18uBfBjWdF0Fzg==} + cpu: [x64, arm64, wasm32, arm] + os: [darwin, linux, win32] + + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@1.4.1: + resolution: {integrity: sha512-8lyCu36ErXR0J9uaGKlKQoiLZKmtI63YGLE8G2o9jyRPdr4X47LusSOwgOJOzcVtp81fTAAjxR7BwKz682Jhow==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanostores@1.5.3: + resolution: {integrity: sha512-rQLB6eV4f2AW/n3L0JmwCROpaisYy9EDEADvEFSd1C/qG8hB6O5TPlh9A791JRbJr4CnMQBzptDcvD9OR1+6WA==} + engines: {node: ^20.0.0 || >=22.0.0} + + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + next@16.3.3: + resolution: {integrity: sha512-tuRTx1nQ/yVw83cwJBo9F+njGUgMn3UHQycreWHB8XsStvvAh1AthbI8/4IpKnFaF58F+iSiHejYOlMQ/eq83g==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + node-exports-info@1.6.2: + resolution: {integrity: sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==} + engines: {node: '>= 0.4'} + + node-releases@2.0.56: + resolution: {integrity: sha512-x0InOIyzgdk+eyaWaRJFH5snEtiImgBgblZ2CyPrLmqqcuMQkEvcDPHbzqbD8eDsSeJbVOjn+crzyzHaM4D+/A==} + engines: {node: '>=18'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + obug@2.2.1: + resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} + engines: {node: '>=12.20.0'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} + engines: {node: '>= 0.4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + + playwright-core@1.63.0: + resolution: {integrity: sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==} + engines: {node: '>=20'} + hasBin: true + + playwright@1.63.0: + resolution: {integrity: sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==} + engines: {node: '>=20'} + hasBin: true + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + promise-limit@2.7.0: + resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qified@0.10.1: + resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} + engines: {node: '>=20'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} + peerDependencies: + react: ^19.2.8 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + engines: {node: '>=0.10.0'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@2.0.0-next.7: + resolution: {integrity: sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rolldown@1.2.9: + resolution: {integrity: sha512-hx/Pv0N1haXRb11qkfnK5MXB/iqr7i0yjWQqmO9uHqZpBgQSqzc8UsSnEpalsh+j1I8qQ2CkXAkJC8Br3dKSlg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + rou3@0.9.2: + resolution: {integrity: sha512-3SOzvaAg8rkHrXtRjpCvCvbyO5to9oOO27Z/XqHEYXfMRVSw/qMIVdmaOk9W2lcRLtR6dlqTjo9hDeJk70QBYQ==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + set-cookie-parser@3.1.2: + resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + sharp@0.35.3: + resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + + string.prototype.matchall@4.1.0: + resolution: {integrity: sha512-tHNHTxInrYLCga9O9YGxWA3G9/nnzQw8UGAyqGx3Ar1pSTTzIuM4woFSq4SowkXCjJIwq5sIiQvEfRI9tCH1qQ==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + stripe@22.6.2: + resolution: {integrity: sha512-PwRE2scocvXqDKPiskMa5vRJEAEkq46W69XyUYmAwrNSLr675lQnfqLwnsndAWizwgihOWw/irLmoFRo3ez7ew==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + + tinybench@6.1.4: + resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} + engines: {node: '>=20.0.0'} + + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.23.13: + resolution: {integrity: sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==} + engines: {node: '>=18.0.0'} + hasBin: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.5: + resolution: {integrity: sha512-0FHJvLPqZ7KJzp17O13jfsAjsqazgrxBu2zEK95PmUz8lv2+GjRuxUInCr2Rk9Dms3ihN21zJ929ZO43yJ95QQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.70.0: + resolution: {integrity: sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} + engines: {node: '>=18.17'} + + unrs-resolver@1.12.2: + resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} + + update-browserslist-db@1.3.3: + resolution: {integrity: sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + vite@8.3.0: + resolution: {integrity: sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.7.1 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@5.0.1: + resolution: {integrity: sha512-iA95lQbKEkvrtTkdAgnWbXfbipWiiWe/hDl2P5tMi6WFwD76G0NxXAGp/M9EOcYupeGJRr6wppMc7CoA41TQjg==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.1 + '@vitest/browser-preview': 5.0.1 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.1 + '@vitest/coverage-v8': 5.0.1 + '@vitest/ui': 5.0.1 + happy-dom: '*' + jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.23: + resolution: {integrity: sha512-JMh8aK+1B/0bk/YNupICmH5MgCq6yNLKYQUfsZtSDLLCCmxUkHjUY+oOlIa90lO7lHN1woAfpenLdlKpXy9o+A==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-app-paths@5.5.1: + resolution: {integrity: sha512-hI3flOB4PLZIy5prbtTpirobtPE2ZtZ52szO+2mM9Efp6ErM398La+C1lIpNWDfNoQk+6Lsi6nMcCwVB7pxeMQ==} + engines: {node: '>= 6.0'} + + xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@4.1.11: + resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} + + zod@4.6.5: + resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + + zustand@5.0.15: + resolution: {integrity: sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + +snapshots: + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.29.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@babel/traverse@7.29.8': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3)': + dependencies: + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.2 + '@opentelemetry/semantic-conventions': 1.43.0 + '@standard-schema/spec': 1.1.0 + better-call: 1.4.0(zod@4.6.5) + jose: 6.2.12 + kysely: 0.29.6 + nanostores: 1.5.3 + zod: 4.6.5 + + '@better-auth/drizzle-adapter@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@libsql/client@0.18.0)(kysely@0.29.6))': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + optionalDependencies: + drizzle-orm: 0.45.2(@libsql/client@0.18.0)(kysely@0.29.6) + + '@better-auth/kysely-adapter@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.6)': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + optionalDependencies: + kysely: 0.29.6 + + '@better-auth/memory-adapter@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + + '@better-auth/mongo-adapter@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + + '@better-auth/prisma-adapter@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + + '@better-auth/telemetry@1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)': + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.2 + + '@better-auth/utils@0.4.2': + dependencies: + '@noble/hashes': 2.4.0 + + '@better-auth/utils@0.5.0': + dependencies: + '@noble/hashes': 2.4.0 + + '@better-fetch/fetch@1.3.2': {} + + '@cacheable/memory@2.2.0': + dependencies: + '@cacheable/utils': 2.5.0 + '@keyv/bigmap': 1.3.1(keyv@5.6.0) + hookified: 1.15.1 + keyv: 5.6.0 + + '@cacheable/utils@2.5.0': + dependencies: + hashery: 1.5.1 + keyv: 5.6.0 + + '@drizzle-team/brocli@0.10.2': {} + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.14.3 + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.28.2': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.28.2': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.28.2': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.28.2': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.28.2': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.28.2': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.28.2': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.28.2': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.28.2': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.28.2': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.28.2': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.28.2': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.28.2': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.28.2': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.28.2': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.28.2': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.28.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.28.2': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.28.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.28.2': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.28.2': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.28.2': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.28.2': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.28.2': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.28.2': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.28.2': + optional: true + + '@eslint-community/eslint-utils@4.10.1(eslint@10.10.0)': + dependencies: + eslint: 10.10.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.9.1(eslint@10.10.0)': + dependencies: + eslint: 10.10.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.23.5': + dependencies: + '@eslint/object-schema': 3.0.5 + debug: 4.4.3 + minimatch: 10.2.6 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.7.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.3': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 + + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@img/colour@1.1.0': + optional: true + + '@img/sharp-darwin-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.2 + optional: true + + '@img/sharp-darwin-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.2 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.3.2': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.3.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.3.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + optional: true + + '@img/sharp-linux-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.2 + optional: true + + '@img/sharp-linux-arm@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.2 + optional: true + + '@img/sharp-linux-ppc64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.2 + optional: true + + '@img/sharp-linux-riscv64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.2 + optional: true + + '@img/sharp-linux-s390x@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.2 + optional: true + + '@img/sharp-linux-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + optional: true + + '@img/sharp-wasm32@0.35.3': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true + + '@img/sharp-webcontainers-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 + optional: true + + '@img/sharp-win32-arm64@0.35.3': + optional: true + + '@img/sharp-win32-ia32@0.35.3': + optional: true + + '@img/sharp-win32-x64@0.35.3': + optional: true + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.6.0': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.6.0 + + '@keyv/bigmap@1.3.1(keyv@5.6.0)': + dependencies: + hashery: 1.5.1 + hookified: 1.15.1 + keyv: 5.6.0 + + '@keyv/serialize@1.1.1': {} + + '@libsql/client@0.18.0': + dependencies: + '@libsql/core': 0.18.0 + '@libsql/hrana-client': 0.10.0 + js-base64: 3.9.3 + libsql: 0.5.29 + promise-limit: 2.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/core@0.18.0': + dependencies: + js-base64: 3.9.3 + + '@libsql/darwin-arm64@0.5.29': + optional: true + + '@libsql/darwin-x64@0.5.29': + optional: true + + '@libsql/hrana-client@0.10.0': + dependencies: + '@libsql/isomorphic-ws': 0.1.5 + js-base64: 3.9.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/isomorphic-ws@0.1.5': + dependencies: + '@types/ws': 8.18.1 + ws: 8.21.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/linux-arm-gnueabihf@0.5.29': + optional: true + + '@libsql/linux-arm-musleabihf@0.5.29': + optional: true + + '@libsql/linux-arm64-gnu@0.5.29': + optional: true + + '@libsql/linux-arm64-musl@0.5.29': + optional: true + + '@libsql/linux-x64-gnu@0.5.29': + optional: true + + '@libsql/linux-x64-musl@0.5.29': + optional: true + + '@libsql/win32-x64-msvc@0.5.29': + optional: true + + '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.4 + optional: true + + '@neon-rs/load@0.0.4': {} + + '@next/env@16.3.3': {} + + '@next/eslint-plugin-next@16.3.5(eslint@10.10.0)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.10.0) + fast-glob: 3.3.1 + transitivePeerDependencies: + - eslint + + '@next/swc-darwin-arm64@16.3.3': + optional: true + + '@next/swc-darwin-x64@16.3.3': + optional: true + + '@next/swc-linux-arm64-gnu@16.3.3': + optional: true + + '@next/swc-linux-arm64-musl@16.3.3': + optional: true + + '@next/swc-linux-x64-gnu@16.3.3': + optional: true + + '@next/swc-linux-x64-musl@16.3.3': + optional: true + + '@next/swc-win32-arm64-msvc@16.3.3': + optional: true + + '@next/swc-win32-x64-msvc@16.3.3': + optional: true + + '@noble/ciphers@2.4.0': {} + + '@noble/hashes@2.4.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.3 + + '@nolyfill/is-core-module@1.0.39': {} + + '@opentelemetry/semantic-conventions@1.43.0': {} + + '@oxc-project/types@0.150.0': {} + + '@playwright/test@1.63.0': + dependencies: + playwright: 1.63.0 + + '@rolldown/binding-android-arm-eabi@1.2.9': + optional: true + + '@rolldown/binding-android-arm64@1.2.9': + optional: true + + '@rolldown/binding-darwin-arm64@1.2.9': + optional: true + + '@rolldown/binding-darwin-x64@1.2.9': + optional: true + + '@rolldown/binding-freebsd-x64@1.2.9': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.2.9': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.2.9': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.2.9': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.2.9': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.2.9': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.2.9': + optional: true + + '@rolldown/binding-linux-x64-musl@1.2.9': + optional: true + + '@rolldown/binding-openharmony-arm64@1.2.9': + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.2.9': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.2.9': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@rtsao/scc@1.1.0': {} + + '@standard-schema/spec@1.1.0': {} + + '@swc/helpers@0.5.23': + dependencies: + tslib: 2.8.1 + + '@tanstack/react-virtual@3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@tanstack/virtual-core': 3.17.8 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + + '@tanstack/virtual-core@3.17.8': {} + + '@tybys/wasm-util@0.10.4': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} + + '@types/esrecurse@4.3.1': {} + + '@types/estree@1.0.9': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/node@22.20.1': + dependencies: + undici-types: 6.21.0 + + '@types/react-dom@19.2.5(@types/react@19.2.18)': + dependencies: + '@types/react': 19.2.18 + + '@types/react@19.2.18': + dependencies: + csstype: 3.2.3 + + '@types/ws@8.18.1': + dependencies: + '@types/node': 22.20.1 + + '@typescript-eslint/eslint-plugin@8.70.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/type-utils': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.70.0 + eslint: 10.10.0 + ignore: 7.0.9 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.70.0 + debug: 4.4.3 + eslint: 10.10.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.70.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.70.0(typescript@5.9.3) + '@typescript-eslint/types': 8.70.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.70.0': + dependencies: + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/visitor-keys': 8.70.0 + + '@typescript-eslint/tsconfig-utils@8.70.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.70.0(eslint@10.10.0)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + debug: 4.4.3 + eslint: 10.10.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.70.0': {} + + '@typescript-eslint/typescript-estree@8.70.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.70.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.70.0(typescript@5.9.3) + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/visitor-keys': 8.70.0 + debug: 4.4.3 + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.70.0(eslint@10.10.0)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0) + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(typescript@5.9.3) + eslint: 10.10.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.70.0': + dependencies: + '@typescript-eslint/types': 8.70.0 + eslint-visitor-keys: 5.0.1 + + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + optional: true + + '@unrs/resolver-binding-android-arm64@1.12.2': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.12.2': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.12.2': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.12.2': + optional: true + + '@unrs/resolver-binding-openharmony-arm64@1.12.2': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.12.2': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': + optional: true + + '@vercel/blob@2.8.0': + dependencies: + '@vercel/oidc': 3.8.5 + async-retry: 1.3.3 + is-buffer: 2.0.5 + is-node-process: 1.2.0 + throttleit: 2.1.0 + undici: 6.28.0 + + '@vercel/cli-config@0.2.4': + dependencies: + xdg-app-paths: 5.5.1 + zod: 4.1.11 + + '@vercel/cli-exec@1.0.1': + dependencies: + execa: 5.1.1 + + '@vercel/oidc@3.8.5': + dependencies: + '@vercel/cli-config': 0.2.4 + '@vercel/cli-exec': 1.0.1 + jose: 5.10.0 + + '@vitest/mocker@5.0.1(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.1 + estree-walker: 3.0.3 + magic-string: 1.4.1 + optionalDependencies: + vite: 8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13) + + '@vitest/spy@5.0.1': {} + + acorn-jsx@5.3.2(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + + acorn@8.18.0: {} + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-includes@3.2.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + es-shim-unscopables: 1.1.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-shim-unscopables: 1.1.0 + + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + assertion-error@2.0.1: {} + + ast-types-flow@0.0.8: {} + + async-function@1.0.0: {} + + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axe-core@4.13.0: {} + + axobject-query@4.1.0: {} + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.11.19: {} + + baseline-browser-mapping@2.11.25: {} + + better-auth@1.7.5(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@libsql/client@0.18.0)(kysely@0.29.6))(next@16.3.3(@babel/core@7.29.7)(@playwright/test@1.63.0)(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.1(@types/node@22.20.1)(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13))): + dependencies: + '@better-auth/core': 1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/drizzle-adapter': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@libsql/client@0.18.0)(kysely@0.29.6)) + '@better-auth/kysely-adapter': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.6) + '@better-auth/memory-adapter': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/mongo-adapter': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/prisma-adapter': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/telemetry': 1.7.5(@better-auth/core@1.7.5(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2) + '@better-auth/utils': 0.4.2 + '@better-fetch/fetch': 1.3.2 + '@noble/ciphers': 2.4.0 + '@noble/hashes': 2.4.0 + better-call: 1.4.0(zod@4.6.5) + defu: 6.1.7 + jose: 6.2.12 + kysely: 0.29.6 + nanostores: 1.5.3 + zod: 4.6.5 + optionalDependencies: + drizzle-kit: 0.31.10 + drizzle-orm: 0.45.2(@libsql/client@0.18.0)(kysely@0.29.6) + next: 16.3.3(@babel/core@7.29.7)(@playwright/test@1.63.0)(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + vitest: 5.0.1(@types/node@22.20.1)(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13)) + transitivePeerDependencies: + - '@opentelemetry/api' + + better-call@1.4.0(zod@4.6.5): + dependencies: + '@better-auth/utils': 0.5.0 + '@better-fetch/fetch': 1.3.2 + rou3: 0.9.2 + set-cookie-parser: 3.1.2 + optionalDependencies: + zod: 4.6.5 + + brace-expansion@1.1.21: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@5.0.12: + dependencies: + balanced-match: 4.0.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.29.0: + dependencies: + baseline-browser-mapping: 2.11.25 + caniuse-lite: 1.0.30001810 + electron-to-chromium: 1.5.430 + node-releases: 2.0.56 + update-browserslist-db: 1.3.3(browserslist@4.29.0) + + buffer-from@1.1.2: {} + + cacheable@2.5.0: + dependencies: + '@cacheable/memory': 2.2.0 + '@cacheable/utils': 2.5.0 + hookified: 1.15.1 + keyv: 5.6.0 + qified: 0.10.1 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caniuse-lite@1.0.30001810: {} + + chai@6.2.2: {} + + client-only@0.0.1: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.2.3: {} + + damerau-levenshtein@1.0.8: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + defu@6.1.7: {} + + detect-libc@2.0.2: {} + + detect-libc@2.1.2: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + drizzle-kit@0.31.10: + dependencies: + '@drizzle-team/brocli': 0.10.2 + '@esbuild-kit/esm-loader': 2.6.5 + esbuild: 0.25.12 + tsx: 4.23.13 + + drizzle-orm@0.45.2(@libsql/client@0.18.0)(kysely@0.29.6): + optionalDependencies: + '@libsql/client': 0.18.0 + kysely: 0.29.6 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.430: {} + + emoji-regex@9.2.2: {} + + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + + es-abstract@1.24.2: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.2 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.5 + typed-array-length: 1.0.8 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.23 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-iterator-helpers@1.4.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + math-intrinsics: 1.1.0 + + es-module-lexer@2.3.2: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.4 + + es-to-primitive@1.3.4: + dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.28.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-next@16.3.5(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0)(typescript@5.9.3): + dependencies: + '@next/eslint-plugin-next': 16.3.5(eslint@10.10.0) + eslint: 10.10.0 + eslint-import-resolver-node: 0.3.10 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0))(eslint@10.10.0) + eslint-plugin-jsx-a11y: 6.10.2(eslint@10.10.0) + eslint-plugin-react: 7.37.5(eslint@10.10.0) + eslint-plugin-react-hooks: 7.1.1(eslint@10.10.0) + globals: 16.4.0 + typescript-eslint: 8.70.0(eslint@10.10.0)(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + + eslint-import-resolver-node@0.3.10: + dependencies: + debug: 3.2.7 + is-core-module: 2.17.0 + resolve: 2.0.0-next.7 + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.3 + eslint: 10.10.0 + get-tsconfig: 4.14.3 + is-bun-module: 2.0.0 + stable-hash: 0.0.5 + tinyglobby: 0.2.17 + unrs-resolver: 1.12.2 + optionalDependencies: + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0))(eslint@10.10.0) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.14.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0))(eslint@10.10.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + eslint: 10.10.0 + eslint-import-resolver-node: 0.3.10 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0))(eslint@10.10.0): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.2.0 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 10.10.0 + eslint-import-resolver-node: 0.3.10 + eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0))(eslint@10.10.0))(eslint@10.10.0) + hasown: 2.0.4 + is-core-module: 2.17.0 + is-glob: 4.0.3 + minimatch: 3.1.5 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.10 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.2(eslint@10.10.0): + dependencies: + aria-query: 5.3.2 + array-includes: 3.2.0 + array.prototype.flatmap: 1.3.3 + ast-types-flow: 0.0.8 + axe-core: 4.13.0 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 10.10.0 + hasown: 2.0.4 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.5 + object.fromentries: 2.0.8 + safe-regex-test: 1.1.0 + string.prototype.includes: 2.0.1 + + eslint-plugin-react-hooks@7.1.1(eslint@10.10.0): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.8 + eslint: 10.10.0 + hermes-parser: 0.25.1 + zod: 4.6.5 + zod-validation-error: 4.0.2(zod@4.6.5) + transitivePeerDependencies: + - supports-color + + eslint-plugin-react@7.37.5(eslint@10.10.0): + dependencies: + array-includes: 3.2.0 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.4.0 + eslint: 10.10.0 + estraverse: 5.3.0 + hasown: 2.0.4 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.5 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.7 + semver: 6.3.1 + string.prototype.matchall: 4.1.0 + string.prototype.repeat: 1.0.0 + + eslint-scope@9.1.2: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@5.0.1: {} + + eslint@10.10.0: + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.7.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.3 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 11.1.5 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.6 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@11.2.0: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + eslint-visitor-keys: 5.0.1 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + esutils@2.0.3: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + expect-type@1.4.0: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.1: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.20.3: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + + fflate@0.8.3: {} + + file-entry-cache@11.1.5: + dependencies: + flat-cache: 6.1.23 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@6.1.23: + dependencies: + cacheable: 2.5.0 + flatted: 3.4.4 + hookified: 1.15.1 + + flatted@3.4.4: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.2.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + es-define-property: 1.0.1 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 + is-callable: 1.2.7 + is-document.all: 1.0.0 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@6.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-tsconfig@4.14.3: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@16.4.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + gopd@1.2.0: {} + + has-bigints@1.1.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + has-symbols@1.1.0: {} - jose@5.10.0: - resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + hashery@1.5.1: + dependencies: + hookified: 1.15.1 - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 - nanoid@3.3.18: - resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + hermes-estree@0.25.1: {} - next@16.3.3: - resolution: {integrity: sha512-tuRTx1nQ/yVw83cwJBo9F+njGUgMn3UHQycreWHB8XsStvvAh1AthbI8/4IpKnFaF58F+iSiHejYOlMQ/eq83g==} - engines: {node: '>=20.9.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.51.1 - babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - babel-plugin-react-compiler: - optional: true - sass: - optional: true + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + hookified@1.15.1: {} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + hookified@2.2.0: {} - os-paths@4.4.0: - resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} - engines: {node: '>= 6.0'} + human-signals@2.1.0: {} - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + ignore@5.3.2: {} - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + ignore@7.0.9: {} - postcss@8.5.23: - resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} - engines: {node: ^10 || ^12 || >=14} + imurmurhash@0.1.4: {} - react-dom@19.2.8: - resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} - peerDependencies: - react: ^19.2.8 + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.4 + side-channel: 1.1.1 - react@19.2.8: - resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} - engines: {node: '>=0.10.0'} + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 - semver@7.8.5: - resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} - engines: {node: '>=10'} - hasBin: true + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - sharp@0.35.3: - resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} - engines: {node: '>=20.9.0'} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true + is-buffer@2.0.5: {} - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + is-bun-module@2.0.0: + dependencies: + semver: 7.8.5 - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + is-callable@1.2.7: {} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + is-core-module@2.17.0: + dependencies: + hasown: 2.0.4 - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - styled-jsx@5.1.6: - resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} + is-extglob@2.1.1: {} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 - undici@6.28.0: - resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} - engines: {node: '>=18.17'} + is-map@2.0.3: {} - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + is-negative-zero@2.0.3: {} - xdg-app-paths@5.5.1: - resolution: {integrity: sha512-hI3flOB4PLZIy5prbtTpirobtPE2ZtZ52szO+2mM9Efp6ErM398La+C1lIpNWDfNoQk+6Lsi6nMcCwVB7pxeMQ==} - engines: {node: '>= 6.0'} + is-node-process@1.2.0: {} - xdg-portable@7.3.0: - resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} - engines: {node: '>= 6.0'} + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - zod@4.1.11: - resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} + is-number@7.0.0: {} - zustand@5.0.15: - resolution: {integrity: sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 -snapshots: + is-set@2.0.3: {} - '@emnapi/runtime@1.11.3': + is-shared-array-buffer@1.0.4: dependencies: - tslib: 2.8.1 - optional: true + call-bound: 1.0.4 - '@img/colour@1.1.0': - optional: true + is-stream@2.0.1: {} - '@img/sharp-darwin-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.3.2 - optional: true + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - '@img/sharp-darwin-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.3.2 - optional: true + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 - '@img/sharp-freebsd-wasm32@0.35.3': + is-typed-array@1.1.15: dependencies: - '@img/sharp-wasm32': 0.35.3 - optional: true + which-typed-array: 1.1.23 - '@img/sharp-libvips-darwin-arm64@1.3.2': - optional: true + is-weakmap@2.0.2: {} - '@img/sharp-libvips-darwin-x64@1.3.2': - optional: true + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 - '@img/sharp-libvips-linux-arm64@1.3.2': - optional: true + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - '@img/sharp-libvips-linux-arm@1.3.2': - optional: true + isarray@2.0.5: {} - '@img/sharp-libvips-linux-ppc64@1.3.2': - optional: true + isexe@2.0.0: {} - '@img/sharp-libvips-linux-riscv64@1.3.2': - optional: true + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 - '@img/sharp-libvips-linux-s390x@1.3.2': - optional: true + jose@5.10.0: {} - '@img/sharp-libvips-linux-x64@1.3.2': - optional: true + jose@6.2.12: {} - '@img/sharp-libvips-linuxmusl-arm64@1.3.2': - optional: true + js-base64@3.9.3: {} - '@img/sharp-libvips-linuxmusl-x64@1.3.2': - optional: true + js-tokens@4.0.0: {} - '@img/sharp-linux-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.3.2 - optional: true + jsesc@3.1.0: {} - '@img/sharp-linux-arm@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.3.2 - optional: true + json-schema-traverse@0.4.1: {} - '@img/sharp-linux-ppc64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.3.2 - optional: true + json-stable-stringify-without-jsonify@1.0.1: {} - '@img/sharp-linux-riscv64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.3.2 - optional: true + json5@1.0.2: + dependencies: + minimist: 1.2.8 - '@img/sharp-linux-s390x@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.3.2 - optional: true + json5@2.2.3: {} - '@img/sharp-linux-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.3.2 - optional: true + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.2.0 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 - '@img/sharp-linuxmusl-arm64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 - optional: true + keyv@5.6.0: + dependencies: + '@keyv/serialize': 1.1.1 - '@img/sharp-linuxmusl-x64@0.35.3': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.3.2 - optional: true + kysely@0.29.6: {} - '@img/sharp-wasm32@0.35.3': + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: dependencies: - '@emnapi/runtime': 1.11.3 - optional: true + language-subtag-registry: 0.3.23 - '@img/sharp-webcontainers-wasm32@0.35.3': + levn@0.4.1: dependencies: - '@img/sharp-wasm32': 0.35.3 - optional: true + prelude-ls: 1.2.1 + type-check: 0.4.0 - '@img/sharp-win32-arm64@0.35.3': + libsql@0.5.29: + dependencies: + '@neon-rs/load': 0.0.4 + detect-libc: 2.0.2 + optionalDependencies: + '@libsql/darwin-arm64': 0.5.29 + '@libsql/darwin-x64': 0.5.29 + '@libsql/linux-arm-gnueabihf': 0.5.29 + '@libsql/linux-arm-musleabihf': 0.5.29 + '@libsql/linux-arm64-gnu': 0.5.29 + '@libsql/linux-arm64-musl': 0.5.29 + '@libsql/linux-x64-gnu': 0.5.29 + '@libsql/linux-x64-musl': 0.5.29 + '@libsql/win32-x64-msvc': 0.5.29 + + lightningcss-android-arm64@1.33.0: optional: true - '@img/sharp-win32-ia32@0.35.3': + lightningcss-darwin-arm64@1.33.0: optional: true - '@img/sharp-win32-x64@0.35.3': + lightningcss-darwin-x64@1.33.0: optional: true - '@next/env@16.3.3': {} - - '@next/swc-darwin-arm64@16.3.3': + lightningcss-freebsd-x64@1.33.0: optional: true - '@next/swc-darwin-x64@16.3.3': + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - '@next/swc-linux-arm64-gnu@16.3.3': + lightningcss-linux-arm64-gnu@1.33.0: optional: true - '@next/swc-linux-arm64-musl@16.3.3': + lightningcss-linux-arm64-musl@1.33.0: optional: true - '@next/swc-linux-x64-gnu@16.3.3': + lightningcss-linux-x64-gnu@1.33.0: optional: true - '@next/swc-linux-x64-musl@16.3.3': + lightningcss-linux-x64-musl@1.33.0: optional: true - '@next/swc-win32-arm64-msvc@16.3.3': + lightningcss-win32-arm64-msvc@1.33.0: optional: true - '@next/swc-win32-x64-msvc@16.3.3': + lightningcss-win32-x64-msvc@1.33.0: optional: true - '@swc/helpers@0.5.23': - dependencies: - tslib: 2.8.1 - - '@tanstack/react-virtual@3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + lightningcss@1.33.0: dependencies: - '@tanstack/virtual-core': 3.17.8 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - - '@tanstack/virtual-core@3.17.8': {} - - '@types/node@22.20.1': + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + + locate-path@6.0.0: dependencies: - undici-types: 6.21.0 + p-locate: 5.0.0 - '@types/react-dom@19.2.5(@types/react@19.2.18)': + loose-envify@1.4.0: dependencies: - '@types/react': 19.2.18 + js-tokens: 4.0.0 - '@types/react@19.2.18': + lru-cache@5.1.1: dependencies: - csstype: 3.2.3 + yallist: 3.1.1 - '@vercel/blob@2.8.0': + magic-string@1.4.1: dependencies: - '@vercel/oidc': 3.8.5 - async-retry: 1.3.3 - is-buffer: 2.0.5 - is-node-process: 1.2.0 - throttleit: 2.1.0 - undici: 6.28.0 + '@jridgewell/sourcemap-codec': 1.6.0 - '@vercel/cli-config@0.2.4': - dependencies: - xdg-app-paths: 5.5.1 - zod: 4.1.11 + math-intrinsics@1.1.0: {} - '@vercel/cli-exec@1.0.1': - dependencies: - execa: 5.1.1 + merge-stream@2.0.0: {} - '@vercel/oidc@3.8.5': - dependencies: - '@vercel/cli-config': 0.2.4 - '@vercel/cli-exec': 1.0.1 - jose: 5.10.0 + merge2@1.4.1: {} - async-retry@1.3.3: + micromatch@4.0.8: dependencies: - retry: 0.13.1 - - baseline-browser-mapping@2.11.19: {} - - caniuse-lite@1.0.30001810: {} + braces: 3.0.3 + picomatch: 2.3.2 - client-only@0.0.1: {} + mimic-fn@2.1.0: {} - cross-spawn@7.0.6: + minimatch@10.2.6: dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - csstype@3.2.3: {} - - detect-libc@2.1.2: - optional: true + brace-expansion: 5.0.12 - execa@5.1.1: + minimatch@3.1.5: dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - get-stream@6.0.1: {} + brace-expansion: 1.1.21 - human-signals@2.1.0: {} - - is-buffer@2.0.5: {} - - is-node-process@1.2.0: {} - - is-stream@2.0.1: {} + minimist@1.2.8: {} - isexe@2.0.0: {} + ms@2.1.3: {} - jose@5.10.0: {} + nanoid@3.3.18: {} - merge-stream@2.0.0: {} + nanostores@1.5.3: {} - mimic-fn@2.1.0: {} + napi-postinstall@0.3.4: {} - nanoid@3.3.18: {} + natural-compare@1.4.0: {} - next@16.3.3(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + next@16.3.3(@babel/core@7.29.7)(@playwright/test@1.63.0)(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: '@next/env': 16.3.3 '@swc/helpers': 0.5.23 @@ -775,7 +5354,7 @@ snapshots: postcss: 8.5.23 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - styled-jsx: 5.1.6(react@19.2.8) + styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.8) optionalDependencies: '@next/swc-darwin-arm64': 16.3.3 '@next/swc-darwin-x64': 16.3.3 @@ -785,45 +5364,269 @@ snapshots: '@next/swc-linux-x64-musl': 16.3.3 '@next/swc-win32-arm64-msvc': 16.3.3 '@next/swc-win32-x64-msvc': 16.3.3 + '@playwright/test': 1.63.0 sharp: 0.35.3(@types/node@22.20.1) transitivePeerDependencies: - '@babel/core' - '@types/node' - babel-plugin-macros + node-exports-info@1.6.2: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + + node-releases@2.0.56: {} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.9: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + obug@2.2.1: {} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + os-paths@4.4.0: {} + own-keys@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + path-exists@4.0.0: {} + path-key@3.1.1: {} + path-parse@1.0.7: {} + picocolors@1.1.1: {} + picomatch@2.3.2: {} + + picomatch@4.0.7: {} + + playwright-core@1.63.0: {} + + playwright@1.63.0: + dependencies: + playwright-core: 1.63.0 + + possible-typed-array-names@1.1.0: {} + postcss@8.5.23: dependencies: nanoid: 3.3.18 picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.28: + dependencies: + nanoid: 3.3.18 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + promise-limit@2.7.0: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + punycode@2.3.1: {} + + qified@0.10.1: + dependencies: + hookified: 2.2.0 + + queue-microtask@1.2.3: {} + react-dom@19.2.8(react@19.2.8): dependencies: react: 19.2.8 scheduler: 0.27.0 + react-is@16.13.1: {} + react@19.2.8: {} + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + resolve-pkg-maps@1.0.0: {} + + resolve@2.0.0-next.7: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.17.0 + node-exports-info: 1.6.2 + object-keys: 1.1.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + retry@0.13.1: {} + reusify@1.1.0: {} + + rolldown@1.2.9: + dependencies: + '@oxc-project/types': 0.150.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm-eabi': 1.2.9 + '@rolldown/binding-android-arm64': 1.2.9 + '@rolldown/binding-darwin-arm64': 1.2.9 + '@rolldown/binding-darwin-x64': 1.2.9 + '@rolldown/binding-freebsd-x64': 1.2.9 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.9 + '@rolldown/binding-linux-arm64-gnu': 1.2.9 + '@rolldown/binding-linux-arm64-musl': 1.2.9 + '@rolldown/binding-linux-ppc64-gnu': 1.2.9 + '@rolldown/binding-linux-s390x-gnu': 1.2.9 + '@rolldown/binding-linux-x64-gnu': 1.2.9 + '@rolldown/binding-linux-x64-musl': 1.2.9 + '@rolldown/binding-openharmony-arm64': 1.2.9 + '@rolldown/binding-win32-arm64-msvc': 1.2.9 + '@rolldown/binding-win32-x64-msvc': 1.2.9 + + rou3@0.9.2: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.4: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + scheduler@0.27.0: {} - semver@7.8.5: - optional: true + semver@6.3.1: {} + + semver@7.8.5: {} + + set-cookie-parser@3.1.2: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 sharp@0.35.3(@types/node@22.20.1): dependencies: @@ -865,31 +5668,345 @@ snapshots: shebang-regex@3.0.0: {} + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + signal-exit@3.0.7: {} source-map-js@1.2.1: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + stable-hash@0.0.5: {} + + stackback@0.0.2: {} + + std-env@4.2.0: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + + string.prototype.matchall@4.1.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.1 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.2 + + string.prototype.trim@1.2.11: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 + + string.prototype.trimend@1.0.10: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + strip-bom@3.0.0: {} + strip-final-newline@2.0.0: {} - styled-jsx@5.1.6(react@19.2.8): + stripe@22.6.2(@types/node@22.20.1): + optionalDependencies: + '@types/node': 22.20.1 + + styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.8): dependencies: client-only: 0.0.1 react: 19.2.8 + optionalDependencies: + '@babel/core': 7.29.7 + + supports-preserve-symlinks-flag@1.0.0: {} throttleit@2.1.0: {} + tinybench@6.1.4: {} + + tinyexec@1.3.0: {} + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.8.1: {} + tsx@4.23.13: + dependencies: + esbuild: 0.28.2 + optionalDependencies: + fsevents: 2.3.3 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.5: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.8: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typescript-eslint@8.70.0(eslint@10.10.0)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.70.0(@typescript-eslint/parser@8.70.0(eslint@10.10.0)(typescript@5.9.3))(eslint@10.10.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.70.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.70.0(eslint@10.10.0)(typescript@5.9.3) + eslint: 10.10.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + typescript@5.9.3: {} + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + undici-types@6.21.0: {} undici@6.28.0: {} + unrs-resolver@1.12.2: + dependencies: + napi-postinstall: 0.3.4 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.12.2 + '@unrs/resolver-binding-android-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-x64': 1.12.2 + '@unrs/resolver-binding-freebsd-x64': 1.12.2 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 + '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 + '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-musl': 1.12.2 + '@unrs/resolver-binding-openharmony-arm64': 1.12.2 + '@unrs/resolver-binding-wasm32-wasi': 1.12.2 + '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 + '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 + '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 + + update-browserslist-db@1.3.3(browserslist@4.29.0): + dependencies: + browserslist: 4.29.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13): + dependencies: + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.28 + rolldown: 1.2.9 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 22.20.1 + esbuild: 0.28.2 + fsevents: 2.3.3 + tsx: 4.23.13 + + vitest@5.0.1(@types/node@22.20.1)(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.1(vite@8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13)) + chai: 6.2.2 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.1 + obug: 2.2.1 + picomatch: 4.0.7 + std-env: 4.2.0 + tinybench: 6.1.4 + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + vite: 8.3.0(@types/node@22.20.1)(esbuild@0.28.2)(tsx@4.23.13) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.20.1 + transitivePeerDependencies: + - msw + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.2.0 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.23 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.23: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + ws@8.21.3: {} + xdg-app-paths@5.5.1: dependencies: os-paths: 4.4.0 @@ -899,8 +6016,18 @@ snapshots: dependencies: os-paths: 4.4.0 + yallist@3.1.1: {} + + yocto-queue@0.1.0: {} + + zod-validation-error@4.0.2(zod@4.6.5): + dependencies: + zod: 4.6.5 + zod@4.1.11: {} + zod@4.6.5: {} + zustand@5.0.15(@types/react@19.2.18)(react@19.2.8): optionalDependencies: '@types/react': 19.2.18 diff --git a/src/domain/__tests__/pricing.test.ts b/src/domain/__tests__/pricing.test.ts new file mode 100644 index 0000000..4a1e4a4 --- /dev/null +++ b/src/domain/__tests__/pricing.test.ts @@ -0,0 +1,65 @@ +import { describe, expect, it } from "vitest"; + +import { getModel } from "@/generation/catalog"; + +import { exportPath } from "../export"; +import { PLANS, formatPrice, getPlan } from "../plans"; +import { creditsFor } from "../pricing"; + +describe("creditsFor", () => { + it("prices images by resolution and count", () => { + const flux = getModel("flux-2"); + expect(creditsFor(flux, { resolution: "1k" })).toBe(1); + expect(creditsFor(flux, { resolution: "2k" })).toBe(2); + expect(creditsFor(flux, { resolution: "4k" })).toBe(4); + const soul = getModel("soul-2"); + expect(creditsFor(soul, { resolution: "720p", batchSize: "4" })).toBe(4); + expect(creditsFor(getModel("soul-cinema"), { resolution: "1080p", batchSize: "1" })).toBe(3); + }); + + it("prices video per second, by resolution and tier, with a floor", () => { + const seedance = getModel("seedance-2"); + expect(creditsFor(seedance, { duration: 5, resolution: "720p" })).toBe(5); + expect(creditsFor(seedance, { duration: 10, resolution: "1080p" })).toBe(20); + expect(creditsFor(getModel("seedance-2-fast"), { duration: 4, resolution: "480p" })).toBe(4); + expect(creditsFor(getModel("kling-3-pro"), { duration: 10, resolution: "1080p" })).toBe(30); + expect(creditsFor(getModel("kling-3-4k"), { duration: 5 })).toBe(10); + }); + + it("always returns a positive integer", () => { + for (const id of ["flux-2", "seedance-2.5", "kling-3-turbo", "ltx-2.5-fast"]) { + const credits = creditsFor(getModel(id), {}); + expect(Number.isInteger(credits)).toBe(true); + expect(credits).toBeGreaterThan(0); + } + }); +}); + +describe("plans", () => { + it("has a free tier first and ascending prices", () => { + expect(PLANS[0]!.id).toBe("free"); + for (let i = 1; i < PLANS.length; i++) { + expect(PLANS[i]!.priceCents).toBeGreaterThan(PLANS[i - 1]!.priceCents); + } + expect(getPlan("nope").id).toBe("free"); + expect(formatPrice(2900)).toMatch(/29/); + }); +}); + +describe("exportPath", () => { + it("files runs by brand, product and channel with a stable name", () => { + const path = exportPath({ + brand: "Aurora Home", + product: "Aurora Ceramic Mug — Sage", + channelTag: "ig-story", + presetId: "lifestyle-scene", + url: "https://cdn.example/abc.jpg?x=1", + kind: "image", + index: 2, + }); + expect(path).toBe("aurora-home/aurora-ceramic-mug-sage/ig-story/lifestyle-scene-03.jpg"); + expect( + exportPath({ brand: "", product: "", channelTag: null, presetId: null, url: "https://x/y", kind: "video", index: 0 }), + ).toBe("brand/product/studio/run-01.mp4"); + }); +}); diff --git a/src/domain/__tests__/prompt.test.ts b/src/domain/__tests__/prompt.test.ts new file mode 100644 index 0000000..8e50717 --- /dev/null +++ b/src/domain/__tests__/prompt.test.ts @@ -0,0 +1,124 @@ +import { describe, expect, it } from "vitest"; + +import { MODELS, getModel } from "@/generation/catalog"; +import { parseSettings } from "@/generation/catalog"; + +import { EMPTY_BRAND, type BrandKit, type ProductFields } from "../brand"; +import { getChannel, resolveAspect, resolveDuration } from "../channels"; +import { PRESETS, getPreset } from "../presets"; +import { compilePrompt, pickModel, resolveSettings } from "../prompt"; + +const product: ProductFields = { + name: "Aurora ceramic mug", + category: "Home & furniture", + description: "A hand-glazed stoneware mug.", + features: ["350 ml", "dishwasher safe"], + appearance: "matte sage green glaze, speckled, natural clay rim", + audience: "", + priceLabel: "€24", +}; + +const brand: BrandKit = { + ...EMPTY_BRAND, + name: "Aurora Home", + style: "minimal scandinavian, soft daylight", + palette: ["#9CAF88", "#F4F1EA"], + audience: "design-conscious home cooks", + avoid: "text, clutter, other brands", +}; + +describe("compilePrompt", () => { + it("folds product, brand, scene and channel into the lifestyle template", () => { + const text = compilePrompt(getPreset("lifestyle-scene").template, { + product, + brand, + channel: getChannel("instagram_story"), + scene: "a sunlit kitchen counter at breakfast", + }); + expect(text).toContain("Aurora ceramic mug (home & furniture) in a sunlit kitchen counter at breakfast."); + expect(text).toContain("Appearance: matte sage green glaze"); + expect(text).toContain("Visual style: minimal scandinavian"); + expect(text).toContain("Made to appeal to design-conscious home cooks."); + expect(text).toContain("Vertical full-screen framing"); + expect(text).toContain("Avoid: text, clutter, other brands."); + expect(text).not.toMatch(/\{\{/); + }); + + it("drops lines whose tokens are all empty and never leaves dangling connectors", () => { + const text = compilePrompt(getPreset("lifestyle-scene").template, { + product: { ...product, appearance: "", category: "Other" }, + brand: null, + channel: null, + scene: "", + }); + expect(text.startsWith("Lifestyle product photograph of Aurora ceramic mug.")).toBe(true); + expect(text).not.toContain("Appearance"); + expect(text).not.toContain("Avoid"); + expect(text).not.toMatch(/\sin\.$/m); + expect(text).not.toContain(" "); + }); + + it("works with nothing but a scene", () => { + const text = compilePrompt(getPreset("pack-shot").template, { + product: null, + brand: null, + channel: null, + scene: "", + }); + expect(text).toContain("Seamless pure white studio background"); + expect(text).not.toContain("photograph of ."); + }); +}); + +describe("resolveSettings", () => { + it("applies the preset then the channel, only for keys the model declares", () => { + const model = getModel("seedance-2.5"); + const settings = resolveSettings(model, getPreset("lifestyle-broll"), getChannel("tiktok")); + expect(settings.aspectRatio).toBe("9:16"); + expect(settings.duration).toBe(10); + expect(settings.resolution).toBeUndefined(); // 1080p is not a seedance-2.5 value + expect(settings.generateAudio).toBe(true); + expect(() => parseSettings(model, settings)).not.toThrow(); + }); + + it("lets explicit overrides win over preset and channel", () => { + const model = getModel("kling-3-std"); + const settings = resolveSettings(model, getPreset("product-spin"), getChannel("youtube_ad"), { + duration: 7, + aspectRatio: "1:1", + }); + expect(settings.duration).toBe(7); + expect(settings.aspectRatio).toBe("1:1"); + expect(settings.sound).toBe(false); + }); + + it("falls back to the closest ratio the model can make", () => { + const flux = getModel("flux-2"); + expect(resolveAspect(getChannel("pinterest"), flux)).toBe("3:4"); + expect(resolveAspect(getChannel("instagram_feed"), flux)).toBe("1:1"); + expect(resolveDuration(getChannel("tiktok"), getModel("kling-3-turbo"))).toBe(10); + expect(resolveDuration(getChannel("tiktok"), flux)).toBeNull(); + }); +}); + +describe("presets", () => { + it("every preset resolves to a real model of its surface and parses cleanly", () => { + for (const preset of PRESETS) { + const model = pickModel(preset, MODELS); + expect(model.surface).toBe(preset.surface); + for (const channelId of preset.channels) { + const channel = getChannel(channelId); + expect(channel.surfaces).toContain(preset.surface); + const settings = resolveSettings(model, preset, channel); + expect(() => parseSettings(model, settings)).not.toThrow(); + } + if (preset.productRole) expect(model.roles[preset.productRole]).toBeGreaterThan(0); + } + }); + + it("prefers the first catalog model in the list", () => { + expect(pickModel(getPreset("pack-shot"), MODELS).id).toBe("flux-2"); + const noFlux = MODELS.filter((entry) => entry.id !== "flux-2"); + expect(pickModel(getPreset("pack-shot"), noFlux).id).toBe("qwen-image-3"); + }); +}); diff --git a/src/domain/brand.ts b/src/domain/brand.ts new file mode 100644 index 0000000..31ccd18 --- /dev/null +++ b/src/domain/brand.ts @@ -0,0 +1,97 @@ +import { z } from "zod"; + +/** Everything the studio knows about the brand, written once and folded into + every prompt. Empty fields are simply left out of the compiled prompt. */ +export const brandKitSchema = z.object({ + name: z.string().trim().min(1, "Brand name is required").max(80), + tagline: z.string().trim().max(160).default(""), + /** How the brand speaks — "warm and playful", "clinical and premium". */ + tone: z.string().trim().max(160).default(""), + /** Visual direction — "minimal scandinavian", "bold streetwear". */ + style: z.string().trim().max(240).default(""), + /** Hex colors, most important first. */ + palette: z.array(z.string().regex(/^#[0-9a-fA-F]{6}$/, "Use #RRGGBB")).max(6).default([]), + /** Who buys: "urban runners 25–40", "new parents". */ + audience: z.string().trim().max(200).default(""), + /** Things never to show — competitors, text, clutter. */ + avoid: z.string().trim().max(240).default(""), + logoUrl: z.string().url().or(z.literal("")).default(""), +}); + +export type BrandKit = z.infer; +export type BrandKitInput = z.input; + +export const EMPTY_BRAND: BrandKit = { + name: "", + tagline: "", + tone: "", + style: "", + palette: [], + audience: "", + avoid: "", + logoUrl: "", +}; + +export const PRODUCT_CATEGORIES = [ + "Apparel", + "Footwear", + "Beauty & skincare", + "Food & beverage", + "Home & furniture", + "Electronics", + "Jewelry & accessories", + "Sports & outdoor", + "Toys & kids", + "Pet", + "Other", +] as const; + +export type ProductCategory = (typeof PRODUCT_CATEGORIES)[number]; + +export const productSchema = z.object({ + name: z.string().trim().min(1, "Product name is required").max(120), + category: z.enum(PRODUCT_CATEGORIES).default("Other"), + description: z.string().trim().max(600).default(""), + /** Short selling points, one per line in the form. */ + features: z.array(z.string().trim().min(1).max(120)).max(8).default([]), + /** Materials, colorway, finish — what the model must reproduce faithfully. */ + appearance: z.string().trim().max(300).default(""), + audience: z.string().trim().max(200).default(""), + priceLabel: z.string().trim().max(40).default(""), +}); + +export type ProductInput = z.input; +export type ProductFields = z.infer; + +export type ProductAsset = { + id: string; + url: string; + kind: "image" | "video"; + name: string; +}; + +export type Product = ProductFields & { + id: string; + slug: string; + assets: ProductAsset[]; +}; + +export function slugify(text: string, fallback = "item"): string { + const slug = text + .normalize("NFKD") + .replace(/[̀-ͯ]/g, "") + .toLowerCase() + .replace(/[^a-z0-9]+/g, "-") + .replace(/^-+|-+$/g, "") + .slice(0, 48) + .replace(/-+$/, ""); + return slug || fallback; +} + +/** "one per line" text areas arrive as a string; the schema wants a list. */ +export function linesToList(text: string): string[] { + return text + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean); +} diff --git a/src/domain/channels.ts b/src/domain/channels.ts new file mode 100644 index 0000000..17cf5f7 --- /dev/null +++ b/src/domain/channels.ts @@ -0,0 +1,144 @@ +import type { ModelEntry, Surface } from "@/generation/catalog/types"; + +/** Where a finished asset is going to be published. A channel is the one thing + an e-commerce team never negotiates: Instagram wants 4:5 or 1:1, a Story is + 9:16, Amazon's main image is square on white. The channel decides ratio and + duration; the preset decides what is in the frame. */ +export type ChannelId = + | "instagram_feed" + | "instagram_story" + | "tiktok" + | "amazon_listing" + | "shopify_hero" + | "youtube_ad" + | "pinterest" + | "email_banner"; + +export type Channel = { + id: ChannelId; + label: string; + network: string; + surfaces: readonly Surface[]; + /** Preferred aspect ratio first, then the closest fallbacks in order. The + resolver walks the list until the model declares one of them. */ + aspects: readonly string[]; + video?: { min: number; max: number; preferred: number }; + /** Composition guidance appended to the prompt — text-safe areas, the white + background a marketplace mandates, the vertical framing of a Story. */ + guidance: string; + /** Short tag used in exported file names. */ + tag: string; +}; + +export const CHANNELS: readonly Channel[] = [ + { + id: "instagram_feed", + label: "Instagram feed", + network: "Instagram", + surfaces: ["image", "video"], + aspects: ["4:5", "1:1", "3:4", "4:3"], + video: { min: 3, max: 60, preferred: 8 }, + guidance: "Composed for a mobile feed: the product large and centered, clean edges, no text baked into the image.", + tag: "ig-feed", + }, + { + id: "instagram_story", + label: "Instagram Story / Reel", + network: "Instagram", + surfaces: ["image", "video"], + aspects: ["9:16", "3:4", "1:1"], + video: { min: 3, max: 15, preferred: 8 }, + guidance: "Vertical full-screen framing; keep the top 15% and bottom 20% free of key detail so captions and stickers do not cover the product.", + tag: "ig-story", + }, + { + id: "tiktok", + label: "TikTok", + network: "TikTok", + surfaces: ["video"], + aspects: ["9:16", "3:4", "1:1"], + video: { min: 5, max: 15, preferred: 10 }, + guidance: "Vertical, energetic and native-looking; the first second must already show the product; leave the right edge free for the interface icons.", + tag: "tiktok", + }, + { + id: "amazon_listing", + label: "Amazon main image", + network: "Amazon", + surfaces: ["image"], + aspects: ["1:1", "4:3", "3:4"], + guidance: "Marketplace main-image rules: pure white seamless background, the product filling about 85% of the frame, no props, no text, no watermark, realistic colors.", + tag: "amazon", + }, + { + id: "shopify_hero", + label: "Storefront hero", + network: "Shopify / web", + surfaces: ["image", "video"], + aspects: ["16:9", "21:9", "4:3"], + video: { min: 4, max: 12, preferred: 6 }, + guidance: "Wide banner composition with the product on one third of the frame and calm negative space on the other side for a headline and a button.", + tag: "hero", + }, + { + id: "youtube_ad", + label: "YouTube ad", + network: "YouTube", + surfaces: ["video"], + aspects: ["16:9", "4:3"], + video: { min: 6, max: 15, preferred: 10 }, + guidance: "Landscape, cinematic pacing with a clear product reveal in the first three seconds and a steady closing frame for an end card.", + tag: "youtube", + }, + { + id: "pinterest", + label: "Pinterest pin", + network: "Pinterest", + surfaces: ["image"], + aspects: ["2:3", "3:4", "9:16", "1:1"], + guidance: "Tall editorial pin with soft natural light and an aspirational, magazine-like styling.", + tag: "pinterest", + }, + { + id: "email_banner", + label: "Email banner", + network: "Email", + surfaces: ["image"], + aspects: ["16:9", "21:9", "4:3"], + guidance: "Wide, bright and legible at small sizes; product on one side, uncluttered space for a headline on the other.", + tag: "email", + }, +]; + +export function getChannel(id: string): Channel { + const channel = CHANNELS.find((entry) => entry.id === id); + if (!channel) throw new Error(`Unknown channel: ${id}`); + return channel; +} + +export function isChannelId(id: string): id is ChannelId { + return CHANNELS.some((entry) => entry.id === id); +} + +export function channelsFor(surface: Surface): Channel[] { + return CHANNELS.filter((channel) => channel.surfaces.includes(surface)); +} + +/** The ratio this model can actually make for this channel, or null when the + model declares no aspect setting at all (the platform decides). */ +export function resolveAspect(channel: Channel, model: ModelEntry): string | null { + const field = model.settings.aspectRatio; + if (!field || field.type !== "enum") return null; + for (const candidate of channel.aspects) { + if (field.values.includes(candidate)) return candidate; + } + return field.default; +} + +/** The channel's preferred length, clamped into what the model allows. */ +export function resolveDuration(channel: Channel, model: ModelEntry): number | null { + const field = model.settings.duration; + if (!field || field.type !== "range" || !channel.video) return null; + const wanted = Math.min(channel.video.max, Math.max(channel.video.min, channel.video.preferred)); + return Math.min(field.max, Math.max(field.min, wanted)); +} diff --git a/src/domain/export.ts b/src/domain/export.ts new file mode 100644 index 0000000..4ff515f --- /dev/null +++ b/src/domain/export.ts @@ -0,0 +1,26 @@ +import { slugify } from "./brand"; + +export type ExportItem = { + brand: string; + product: string; + channelTag: string | null; + presetId: string | null; + url: string; + kind: "image" | "video"; + index: number; +}; + +/** The path a run takes inside a campaign export. Folders by product and + channel, because that is how a marketing team hands assets over: "the + Amazon set", "the Story set". */ +export function exportPath(item: ExportItem): string { + const ext = extensionOf(item.url) ?? (item.kind === "video" ? "mp4" : "png"); + const folder = [slugify(item.brand, "brand"), slugify(item.product, "product"), item.channelTag ?? "studio"].join("/"); + const name = `${item.presetId ?? "run"}-${String(item.index + 1).padStart(2, "0")}.${ext}`; + return `${folder}/${name}`; +} + +export function extensionOf(url: string): string | null { + const match = /\.([a-z0-9]{2,4})(?:[?#]|$)/i.exec(url); + return match ? match[1]!.toLowerCase() : null; +} diff --git a/src/domain/index.ts b/src/domain/index.ts new file mode 100644 index 0000000..8578a02 --- /dev/null +++ b/src/domain/index.ts @@ -0,0 +1,20 @@ +/** The vertical, as data. Swapping the industry this product serves means + replacing the presets and channels and the words below — the studio, the + billing and the generation engine do not change. See docs/VERTICAL.md. */ +export const VERTICAL = { + id: "ecommerce", + /** What the product calls itself. */ + name: "Vitrina", + descriptor: "AI product visuals for e-commerce brands", + /** What a "product" is called in this industry's UI. */ + subjectNoun: "product", + subjectNounPlural: "products", +} as const; + +export * from "./brand"; +export * from "./channels"; +export * from "./export"; +export * from "./plans"; +export * from "./presets"; +export * from "./pricing"; +export * from "./prompt"; diff --git a/src/domain/plans.ts b/src/domain/plans.ts new file mode 100644 index 0000000..b2df256 --- /dev/null +++ b/src/domain/plans.ts @@ -0,0 +1,71 @@ +/** What the studio sells. Prices are in cents of the currency Stripe is set up + in. The Stripe price ids live in the environment, not here, so the same + plan table serves test and live mode. */ +export type PlanId = "free" | "starter" | "pro" | "studio"; + +export type Plan = { + id: PlanId; + label: string; + /** Credits granted on activation and on every renewal. */ + credits: number; + /** Monthly price in cents; 0 for the free tier. */ + priceCents: number; + seats: number; + blurb: string; + features: readonly string[]; +}; + +export const CURRENCY = "eur"; + +export const PLANS: readonly Plan[] = [ + { + id: "free", + label: "Trial", + credits: 30, + priceCents: 0, + seats: 1, + blurb: "Try the whole studio on a real product.", + features: ["30 credits once", "Every preset and channel", "1 seat"], + }, + { + id: "starter", + label: "Starter", + credits: 500, + priceCents: 2900, + seats: 2, + blurb: "A small catalog, refreshed every month.", + features: ["500 credits / month", "Campaign exports", "2 seats"], + }, + { + id: "pro", + label: "Pro", + credits: 2000, + priceCents: 9900, + seats: 5, + blurb: "Content for a growing store and its ads.", + features: ["2,000 credits / month", "Priority generation", "5 seats", "Bring your own key"], + }, + { + id: "studio", + label: "Studio", + credits: 6000, + priceCents: 24900, + seats: 15, + blurb: "Agencies and multi-brand teams.", + features: ["6,000 credits / month", "Multiple brands", "15 seats", "Bring your own key"], + }, +]; + +export function getPlan(id: string | null | undefined): Plan { + return PLANS.find((plan) => plan.id === id) ?? PLANS[0]!; +} + +export function isPlanId(id: string): id is PlanId { + return PLANS.some((plan) => plan.id === id); +} + +export function formatPrice(cents: number, currency = CURRENCY, locale = "en"): string { + return new Intl.NumberFormat(locale, { style: "currency", currency, maximumFractionDigits: 0 }).format( + cents / 100, + ); +} diff --git a/src/domain/presets.ts b/src/domain/presets.ts new file mode 100644 index 0000000..014683f --- /dev/null +++ b/src/domain/presets.ts @@ -0,0 +1,285 @@ +import type { Surface } from "@/generation/catalog/types"; + +import type { ChannelId } from "./channels"; + +export type PresetCategory = "studio" | "lifestyle" | "social" | "video"; + +/** A preset is one job an e-commerce team asks for by name — "pack shot", + "lifestyle scene", "product spin". It carries the prompt skeleton, the + models known to do it well and the settings that job needs. The catalog + still decides what each model can take; a preset only chooses. */ +export type Preset = { + id: string; + label: string; + description: string; + surface: Surface; + category: PresetCategory; + /** Models in order of preference. The first one present in the catalog is + used, so a catalog that loses a model degrades to the next. */ + models: readonly string[]; + /** Settings the job insists on, applied over the model's defaults and under + what the channel resolves. Keys the model does not declare are dropped. */ + settings: Record; + /** Prompt skeleton. Lines whose tokens all resolve empty are dropped. */ + template: string; + /** Media role the product photo is attached under, when the preset is + built on a real photo of the product rather than a description. */ + productRole: "reference" | "start" | null; + /** What the scene field asks for, and an example. */ + scenePlaceholder: string; + sceneExamples: readonly string[]; + channels: readonly ChannelId[]; +}; + +const IMAGE_MODELS = ["flux-2", "qwen-image-3", "z-image-turbo", "grok-imagine-2", "ideogram-4", "recraft-4.1"]; +const VIDEO_MODELS = ["seedance-2.5", "seedance-2", "kling-3-std", "kling-3-turbo", "wan-3", "minimax-hailuo-2.3"]; + +export const PRESETS: readonly Preset[] = [ + { + id: "pack-shot", + label: "Pack shot", + description: "The product alone on seamless white — the marketplace main image.", + surface: "image", + category: "studio", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Professional e-commerce product photograph of {{product.name}}{{product.categoryPhrase}}.", + "{{product.appearance}}", + "Seamless pure white studio background, soft even lighting from a large softbox, subtle natural contact shadow, sharp focus across the whole product, true-to-life colors.", + "Product exactly as in the reference photo, centered, filling most of the frame, no props, no text, no logo overlays.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Optional angle or detail — front three-quarter view, lid open…", + sceneExamples: ["front three-quarter view", "top-down flat view", "close on the label"], + channels: ["amazon_listing", "shopify_hero", "instagram_feed"], + }, + { + id: "lifestyle-scene", + label: "Lifestyle scene", + description: "The product in use, in a real place your customer recognises.", + surface: "image", + category: "lifestyle", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Lifestyle product photograph of {{product.name}}{{product.categoryPhrase}} in {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "Natural, believable environment, the product is the hero and clearly recognisable from the reference photo, shallow depth of field, editorial photography, no text.", + "{{brand.audienceLine}}", + "{{channel.guidance}}", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Where is it? — a sunlit kitchen counter at breakfast, a trail at golden hour…", + sceneExamples: [ + "a bright scandinavian kitchen at breakfast, morning light", + "a rooftop terrace at golden hour, city behind", + "a rainy café window seat, warm interior light", + ], + channels: ["instagram_feed", "instagram_story", "pinterest", "shopify_hero", "email_banner"], + }, + { + id: "flat-lay", + label: "Flat lay", + description: "Top-down arrangement with a few props that tell the product's story.", + surface: "image", + category: "studio", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Top-down flat lay photograph featuring {{product.name}}{{product.categoryPhrase}}, styled with {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "{{brand.paletteLine}}", + "Clean composition on a single surface, balanced negative space, soft directional daylight, crisp detail, no text.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Props and surface — linen cloth, dried flowers, a ceramic cup…", + sceneExamples: ["linen cloth, dried eucalyptus and a ceramic cup", "raw oak board, sea salt and lemon halves"], + channels: ["instagram_feed", "pinterest", "email_banner"], + }, + { + id: "hero-banner", + label: "Hero banner", + description: "Wide storefront banner with room for a headline.", + surface: "image", + category: "studio", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Wide hero banner photograph of {{product.name}}{{product.categoryPhrase}}, {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "{{brand.paletteLine}}", + "Product placed on one third of the frame, calm uncluttered negative space on the other side for a headline, premium commercial lighting, no text in the image.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Backdrop and mood — on a marble ledge with soft shadows, floating on a gradient…", + sceneExamples: ["on a marble ledge with long soft shadows", "on a smooth color gradient backdrop, studio rim light"], + channels: ["shopify_hero", "email_banner"], + }, + { + id: "seasonal-campaign", + label: "Seasonal campaign", + description: "The product dressed for a moment — Christmas, summer sale, back to school.", + surface: "image", + category: "social", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Seasonal campaign photograph of {{product.name}}{{product.categoryPhrase}} for {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "{{brand.paletteLine}}", + "Festive but tasteful set dressing that never hides the product, cohesive color story, commercial photography quality, no text.", + "{{channel.guidance}}", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "The occasion — Christmas gifting, summer beach season, Valentine's…", + sceneExamples: ["Christmas gifting, warm fairy lights and fir branches", "summer beach season, bright sun and sand"], + channels: ["instagram_feed", "instagram_story", "email_banner", "pinterest"], + }, + { + id: "on-model", + label: "On model", + description: "Apparel and accessories worn by a person, editorial style.", + surface: "image", + category: "lifestyle", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Editorial fashion photograph of a person wearing {{product.name}}{{product.categoryPhrase}}, {{scene}}.", + "{{product.appearance}}", + "The garment matches the reference photo exactly in color, cut and detail.", + "{{brand.styleLine}}", + "{{brand.audienceLine}}", + "Natural pose, confident expression, realistic skin and fabric, professional lighting, no text.", + "{{channel.guidance}}", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Who and where — a woman in her thirties on a city street at dusk…", + sceneExamples: ["a man in his thirties walking a city street at dusk", "a woman on a windy coastal path, overcast light"], + channels: ["instagram_feed", "instagram_story", "pinterest", "shopify_hero"], + }, + { + id: "macro-detail", + label: "Macro detail", + description: "Extreme close-up on texture, stitching, finish.", + surface: "image", + category: "studio", + models: IMAGE_MODELS, + settings: { resolution: "2k" }, + template: [ + "Macro product photograph of {{product.name}}{{product.categoryPhrase}}, extreme close-up on {{scene}}.", + "{{product.appearance}}", + "Razor-sharp texture, shallow depth of field, controlled studio light with a soft highlight, premium material feel, no text.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Which detail — the stitching, the brushed metal cap, the woven strap…", + sceneExamples: ["the stitching and leather grain", "the brushed metal cap and embossed logo"], + channels: ["instagram_feed", "shopify_hero"], + }, + { + id: "product-spin", + label: "Product reveal", + description: "A slow orbit or push-in on the product from your photo.", + surface: "video", + category: "video", + models: VIDEO_MODELS, + settings: { resolution: "1080p", generateAudio: false, sound: false }, + template: [ + "Slow cinematic camera orbit around {{product.name}}{{product.categoryPhrase}}, starting exactly from the reference frame.", + "{{scene}}", + "The product stays perfectly still and unchanged; only the camera moves. Soft studio lighting with gentle highlights travelling across the surface, clean background, no text.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "start", + scenePlaceholder: "Camera and light — a 180° orbit with a rim light, a slow push-in…", + sceneExamples: ["a slow 180° orbit with a travelling rim light", "a slow push-in ending on the label"], + channels: ["instagram_feed", "instagram_story", "shopify_hero", "tiktok"], + }, + { + id: "lifestyle-broll", + label: "Lifestyle b-roll", + description: "Short atmospheric clip of the product in a scene, for ads and Reels.", + surface: "video", + category: "video", + models: VIDEO_MODELS, + settings: { resolution: "1080p", generateAudio: true }, + template: [ + "Cinematic lifestyle video of {{product.name}}{{product.categoryPhrase}} in {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "Starts from the reference frame, subtle handheld motion, natural light, the product is always recognisable and in focus, no text or captions.", + "{{channel.guidance}}", + "{{brand.avoid}}", + ].join("\n"), + productRole: "start", + scenePlaceholder: "The moment — being unpacked on a kitchen table, picked up on a morning run…", + sceneExamples: ["being picked up from a sunlit kitchen table", "carried on a morning run through a park"], + channels: ["instagram_story", "tiktok", "youtube_ad", "shopify_hero"], + }, + { + id: "ugc-style", + label: "UGC-style clip", + description: "Looks like a customer filmed it on a phone — the ad format that performs.", + surface: "video", + category: "social", + models: VIDEO_MODELS, + settings: { resolution: "720p", generateAudio: true }, + template: [ + "Authentic user-generated style phone video of a person showing {{product.name}}{{product.categoryPhrase}}, {{scene}}.", + "{{product.appearance}}", + "{{brand.audienceLine}}", + "Handheld smartphone look, natural indoor light, casual and genuine energy, the product held up to camera and clearly visible, no on-screen text.", + "{{channel.guidance}}", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "The setting — unboxing on a bed, a quick review at a desk…", + sceneExamples: ["unboxing it on a bed and holding it up to camera", "a quick excited review at a desk"], + channels: ["tiktok", "instagram_story"], + }, + { + id: "unboxing", + label: "Unboxing", + description: "Hands opening the packaging and revealing the product.", + surface: "video", + category: "video", + models: VIDEO_MODELS, + settings: { resolution: "1080p", generateAudio: true }, + template: [ + "Close-up unboxing video: hands open the packaging and reveal {{product.name}}{{product.categoryPhrase}}, {{scene}}.", + "{{product.appearance}}", + "{{brand.styleLine}}", + "Satisfying slow reveal, soft window light, tactile detail, the product matches the reference photo, no text.", + "{{brand.avoid}}", + ].join("\n"), + productRole: "reference", + scenePlaceholder: "Surface and mood — on a wooden desk with morning light…", + sceneExamples: ["on a wooden desk with soft morning light", "on a white marble counter, overhead view"], + channels: ["tiktok", "instagram_story", "youtube_ad"], + }, +]; + +export function getPreset(id: string): Preset { + const preset = PRESETS.find((entry) => entry.id === id); + if (!preset) throw new Error(`Unknown preset: ${id}`); + return preset; +} + +export function findPreset(id: string | null | undefined): Preset | null { + return (id && PRESETS.find((entry) => entry.id === id)) || null; +} + +export function presetsFor(surface: Surface): Preset[] { + return PRESETS.filter((preset) => preset.surface === surface); +} diff --git a/src/domain/pricing.ts b/src/domain/pricing.ts new file mode 100644 index 0000000..ade33fe --- /dev/null +++ b/src/domain/pricing.ts @@ -0,0 +1,45 @@ +import type { ModelEntry } from "@/generation/catalog/types"; + +/** Credits are the unit customers buy. One credit is roughly one standard + image; video is priced per second and by resolution, so a 10s 1080p clip + costs what a small batch of images does. Integers only — a ledger of + fractions is a ledger nobody can audit. */ + +const IMAGE_BASE = 1; +const IMAGE_RESOLUTION: Record = { "1k": 1, "2k": 2, "4k": 4, "720p": 1, "1080p": 2 }; + +/** Credits per second of video, by resolution. */ +const VIDEO_PER_SECOND: Record = { "480p": 0.5, "720p": 1, "1080p": 2, "4k": 4 }; +const VIDEO_DEFAULT_SECONDS = 5; +const VIDEO_MIN = 4; + +/** Premium tiers cost more on the platform and therefore here. Matched by + model id fragment so a new "pro" variant is priced without a code change. */ +const TIER_MULTIPLIER: ReadonlyArray<[RegExp, number]> = [ + [/-4k$/, 2], + [/-pro$/, 1.5], + [/cinema$/, 1.5], + [/-(fast|mini|turbo)$/, 0.75], +]; + +export function creditsFor(model: ModelEntry, settings: Record): number { + const tier = TIER_MULTIPLIER.find(([pattern]) => pattern.test(model.id))?.[1] ?? 1; + if (model.surface === "image") { + const resolution = String(settings.resolution ?? ""); + const perImage = IMAGE_BASE * (IMAGE_RESOLUTION[resolution] ?? 1) * tier; + const count = countOf(settings); + return Math.max(1, Math.ceil(perImage * count)); + } + const seconds = typeof settings.duration === "number" ? settings.duration : VIDEO_DEFAULT_SECONDS; + const resolution = String(settings.resolution ?? "720p"); + const rate = VIDEO_PER_SECOND[resolution] ?? 1; + return Math.max(VIDEO_MIN, Math.ceil(seconds * rate * tier)); +} + +function countOf(settings: Record): number { + for (const key of ["batchSize", "numImages"]) { + const value = Number(settings[key]); + if (Number.isInteger(value) && value > 0) return value; + } + return 1; +} diff --git a/src/domain/prompt.ts b/src/domain/prompt.ts new file mode 100644 index 0000000..8a121f9 --- /dev/null +++ b/src/domain/prompt.ts @@ -0,0 +1,143 @@ +import type { ModelEntry } from "@/generation/catalog/types"; + +import type { BrandKit } from "./brand"; +import type { ProductFields } from "./brand"; +import { resolveAspect, resolveDuration, type Channel } from "./channels"; +import type { Preset } from "./presets"; + +export type PromptContext = { + product: ProductFields | null; + brand: BrandKit | null; + channel: Channel | null; + scene: string; +}; + +const TOKEN = /\{\{\s*([a-zA-Z.]+)\s*\}\}/g; + +function clean(text: string | undefined | null): string { + return (text ?? "").replace(/\s+/g, " ").trim(); +} + +function endsWithPunctuation(text: string): boolean { + return /[.!?…]$/.test(text); +} + +function sentence(text: string): string { + const value = clean(text); + if (!value) return ""; + return endsWithPunctuation(value) ? value : `${value}.`; +} + +/** Every token a template can name, resolved from the context. Tokens that + have nothing to say resolve to "" and the line they live on is dropped when + nothing else on it resolved either. */ +export function tokenValues(context: PromptContext): Record { + const { product, brand, channel } = context; + const category = product?.category && product.category !== "Other" ? product.category.toLowerCase() : ""; + const features = product?.features?.length ? product.features.map(clean).filter(Boolean) : []; + return { + "product.name": clean(product?.name), + "product.category": category, + "product.categoryPhrase": category ? ` (${category})` : "", + "product.description": sentence(product?.description), + "product.appearance": product?.appearance ? sentence(`Appearance: ${clean(product.appearance)}`) : "", + "product.features": features.length ? sentence(`Key features: ${features.join(", ")}`) : "", + "brand.name": clean(brand?.name), + "brand.tone": clean(brand?.tone), + "brand.style": clean(brand?.style), + "brand.styleLine": brand?.style ? sentence(`Visual style: ${clean(brand.style)}`) : "", + "brand.paletteLine": brand?.palette?.length + ? sentence(`Color palette leaning on ${brand.palette.join(", ")}`) + : "", + "brand.audienceLine": audienceLine(product, brand), + "brand.avoid": brand?.avoid ? sentence(`Avoid: ${clean(brand.avoid)}`) : "", + "channel.guidance": channel ? sentence(channel.guidance) : "", + scene: clean(context.scene), + }; +} + +function audienceLine(product: ProductFields | null, brand: BrandKit | null): string { + const audience = clean(product?.audience) || clean(brand?.audience); + return audience ? sentence(`Made to appeal to ${audience}`) : ""; +} + +/** Fold the context into the template. A line is kept when at least one of + its tokens resolved or it carries no tokens; then whitespace is tidied and + dangling connectors that a missing scene would leave behind are removed. */ +export function compilePrompt(template: string, context: PromptContext): string { + const values = tokenValues(context); + const lines: string[] = []; + for (const raw of template.split("\n")) { + let resolvedAny = false; + let hasToken = false; + const line = raw.replace(TOKEN, (_match, key: string) => { + hasToken = true; + const value = values[key] ?? ""; + if (value) resolvedAny = true; + return value; + }); + if (hasToken && !resolvedAny) continue; + const tidy = line + .replace(/\s+([.,])/g, "$1") + .replace(/\b(in|for|on|styled with|with)\s*[.,]/g, ".") + .replace(/,\s*\./g, ".") + .replace(/\.\s*\./g, ".") + .replace(/\s+([.,])/g, "$1") + .replace(/\s+/g, " ") + .trim(); + if (tidy) lines.push(tidy); + } + return lines.join(" ").trim(); +} + +/** The settings a job resolves to for a given model: the model's defaults, + the preset's insistences, then the channel's ratio and length on top. Keys + the catalog does not declare for this model are left out, so the result is + always something parseSettings accepts. */ +export function resolveSettings( + model: ModelEntry, + preset: Preset | null, + channel: Channel | null, + overrides: Record = {}, +): Record { + const out: Record = {}; + const declared = model.settings; + const apply = (patch: Record) => { + for (const [key, value] of Object.entries(patch)) { + const field = declared[key]; + if (!field) continue; + if (field.type === "enum" && (typeof value !== "string" || !field.values.includes(value))) continue; + if (field.type === "range" && (typeof value !== "number" || value < field.min || value > field.max)) continue; + if (field.type === "boolean" && typeof value !== "boolean") continue; + out[key] = value; + } + }; + apply(overrides); + if (preset) apply(withoutKeys(preset.settings, Object.keys(overrides))); + if (channel) { + const aspect = resolveAspect(channel, model); + if (aspect && overrides.aspectRatio === undefined) out.aspectRatio = aspect; + const duration = resolveDuration(channel, model); + if (duration !== null && overrides.duration === undefined) out.duration = duration; + } + return out; +} + +function withoutKeys(record: Record, keys: string[]): Record { + const out: Record = {}; + for (const [key, value] of Object.entries(record)) { + if (!keys.includes(key)) out[key] = value; + } + return out; +} + +/** First model of the preset's preference list that the catalog carries. */ +export function pickModel(preset: Preset, catalog: readonly ModelEntry[]): ModelEntry { + for (const id of preset.models) { + const model = catalog.find((entry) => entry.id === id && entry.surface === preset.surface); + if (model) return model; + } + const fallback = catalog.find((entry) => entry.surface === preset.surface); + if (!fallback) throw new Error(`No ${preset.surface} model in the catalog`); + return fallback; +} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..72d2e06 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,13 @@ +import { fileURLToPath } from "node:url"; + +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + resolve: { + alias: { "@": fileURLToPath(new URL("./src", import.meta.url)) }, + }, + test: { + include: ["src/**/*.test.ts"], + environment: "node", + }, +}); From e711951e6db3675a0449a7e56478162bda00eeb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Su=C3=A1rez=20Mart=C3=ADn?= Date: Fri, 18 Sep 2026 00:20:29 +0000 Subject: [PATCH 03/11] Add database schema, migrations, auth and the credits ledger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drizzle over libsql (a local file or Turso), better-auth email/password with a sign-up hook that bootstraps a workspace, brand kit and trial credits, an AES-GCM seal for bring-your-own platform keys, and an atomic credit ledger with idempotent refunds and grants — all covered by an integration test against a temporary database. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QktEqYfYA1H2gQRbvG88pU --- .gitignore | 3 + drizzle.config.ts | 8 + drizzle/0000_init.sql | 209 ++++ drizzle/meta/0000_snapshot.json | 1488 ++++++++++++++++++++++++++ drizzle/meta/_journal.json | 13 + scripts/migrate.mjs | 12 + src/app/api/auth/[...all]/route.ts | 5 + src/auth/auth.ts | 56 + src/auth/client.ts | 6 + src/db/client.ts | 33 + src/db/migrate.ts | 9 + src/db/schema.ts | 275 +++++ src/domain/prompt.ts | 2 +- src/server/__tests__/credits.test.ts | 79 ++ src/server/credits.ts | 106 ++ src/server/ids.ts | 5 + src/server/seal.ts | 28 + src/server/session.ts | 40 + src/server/workspaces.ts | 68 ++ 19 files changed, 2444 insertions(+), 1 deletion(-) create mode 100644 drizzle.config.ts create mode 100644 drizzle/0000_init.sql create mode 100644 drizzle/meta/0000_snapshot.json create mode 100644 drizzle/meta/_journal.json create mode 100644 scripts/migrate.mjs create mode 100644 src/app/api/auth/[...all]/route.ts create mode 100644 src/auth/auth.ts create mode 100644 src/auth/client.ts create mode 100644 src/db/client.ts create mode 100644 src/db/migrate.ts create mode 100644 src/db/schema.ts create mode 100644 src/server/__tests__/credits.test.ts create mode 100644 src/server/credits.ts create mode 100644 src/server/ids.ts create mode 100644 src/server/seal.ts create mode 100644 src/server/session.ts create mode 100644 src/server/workspaces.ts diff --git a/.gitignore b/.gitignore index 2e9cb17..585afeb 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ tsconfig.tsbuildinfo .env* .idea + +# local database and uploads +data/ diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 0000000..5c4caca --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "drizzle-kit"; + +export default defineConfig({ + dialect: "sqlite", + schema: "./src/db/schema.ts", + out: "./drizzle", + dbCredentials: { url: process.env.DATABASE_URL ?? "file:./data/vitrina.db" }, +}); diff --git a/drizzle/0000_init.sql b/drizzle/0000_init.sql new file mode 100644 index 0000000..ace0781 --- /dev/null +++ b/drizzle/0000_init.sql @@ -0,0 +1,209 @@ +CREATE TABLE `account` ( + `id` text PRIMARY KEY NOT NULL, + `account_id` text NOT NULL, + `provider_id` text NOT NULL, + `user_id` text NOT NULL, + `access_token` text, + `refresh_token` text, + `id_token` text, + `access_token_expires_at` integer, + `refresh_token_expires_at` integer, + `scope` text, + `password` text, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `account_user_idx` ON `account` (`user_id`);--> statement-breakpoint +CREATE TABLE `brand_kit` ( + `workspace_id` text PRIMARY KEY NOT NULL, + `name` text DEFAULT '' NOT NULL, + `tagline` text DEFAULT '' NOT NULL, + `tone` text DEFAULT '' NOT NULL, + `style` text DEFAULT '' NOT NULL, + `palette` text DEFAULT '[]' NOT NULL, + `audience` text DEFAULT '' NOT NULL, + `avoid` text DEFAULT '' NOT NULL, + `logo_url` text DEFAULT '' NOT NULL, + `updated_at` integer NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `campaign` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `product_id` text NOT NULL, + `name` text NOT NULL, + `scene` text DEFAULT '' NOT NULL, + `preset_ids` text DEFAULT '[]' NOT NULL, + `channel_ids` text DEFAULT '[]' NOT NULL, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade, + FOREIGN KEY (`product_id`) REFERENCES `product`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `campaign_workspace_idx` ON `campaign` (`workspace_id`);--> statement-breakpoint +CREATE TABLE `credit_ledger` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `delta` integer NOT NULL, + `reason` text NOT NULL, + `request_id` text, + `stripe_event_id` text, + `note` text, + `created_at` integer NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `ledger_workspace_idx` ON `credit_ledger` (`workspace_id`,`created_at`);--> statement-breakpoint +CREATE UNIQUE INDEX `ledger_request_reason_idx` ON `credit_ledger` (`request_id`,`reason`);--> statement-breakpoint +CREATE TABLE `membership` ( + `workspace_id` text NOT NULL, + `user_id` text NOT NULL, + `role` text DEFAULT 'editor' NOT NULL, + `created_at` integer NOT NULL, + PRIMARY KEY(`workspace_id`, `user_id`), + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `membership_user_idx` ON `membership` (`user_id`);--> statement-breakpoint +CREATE TABLE `product` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `name` text NOT NULL, + `slug` text NOT NULL, + `category` text DEFAULT 'Other' NOT NULL, + `description` text DEFAULT '' NOT NULL, + `features` text DEFAULT '[]' NOT NULL, + `appearance` text DEFAULT '' NOT NULL, + `audience` text DEFAULT '' NOT NULL, + `price_label` text DEFAULT '' NOT NULL, + `archived_at` integer, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `product_workspace_idx` ON `product` (`workspace_id`);--> statement-breakpoint +CREATE UNIQUE INDEX `product_workspace_slug_idx` ON `product` (`workspace_id`,`slug`);--> statement-breakpoint +CREATE TABLE `product_asset` ( + `id` text PRIMARY KEY NOT NULL, + `product_id` text NOT NULL, + `url` text NOT NULL, + `kind` text DEFAULT 'image' NOT NULL, + `name` text DEFAULT '' NOT NULL, + `position` integer DEFAULT 0 NOT NULL, + `created_at` integer NOT NULL, + FOREIGN KEY (`product_id`) REFERENCES `product`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `product_asset_product_idx` ON `product_asset` (`product_id`);--> statement-breakpoint +CREATE TABLE `run` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `user_id` text, + `request_id` text NOT NULL, + `product_id` text, + `campaign_id` text, + `preset_id` text, + `channel_id` text, + `surface` text NOT NULL, + `model_id` text NOT NULL, + `model_label` text NOT NULL, + `prompt` text NOT NULL, + `scene` text DEFAULT '' NOT NULL, + `ratio` text NOT NULL, + `meta` text DEFAULT '' NOT NULL, + `badge` text, + `urls` text DEFAULT '[]' NOT NULL, + `status` text NOT NULL, + `error` text, + `favorite` integer DEFAULT false NOT NULL, + `review` text DEFAULT 'pending' NOT NULL, + `settings` text DEFAULT '{}' NOT NULL, + `credits` integer DEFAULT 0 NOT NULL, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + `deleted_at` integer, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE set null, + FOREIGN KEY (`product_id`) REFERENCES `product`(`id`) ON UPDATE no action ON DELETE set null, + FOREIGN KEY (`campaign_id`) REFERENCES `campaign`(`id`) ON UPDATE no action ON DELETE set null +); +--> statement-breakpoint +CREATE INDEX `run_workspace_created_idx` ON `run` (`workspace_id`,`created_at`);--> statement-breakpoint +CREATE INDEX `run_request_idx` ON `run` (`request_id`);--> statement-breakpoint +CREATE INDEX `run_campaign_idx` ON `run` (`campaign_id`);--> statement-breakpoint +CREATE TABLE `session` ( + `id` text PRIMARY KEY NOT NULL, + `expires_at` integer NOT NULL, + `token` text NOT NULL, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + `ip_address` text, + `user_agent` text, + `user_id` text NOT NULL, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE UNIQUE INDEX `session_token_unique` ON `session` (`token`);--> statement-breakpoint +CREATE INDEX `session_user_idx` ON `session` (`user_id`);--> statement-breakpoint +CREATE TABLE `stripe_event` ( + `id` text PRIMARY KEY NOT NULL, + `type` text NOT NULL, + `processed_at` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE `upload` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `url` text NOT NULL, + `kind` text DEFAULT 'image' NOT NULL, + `name` text DEFAULT '' NOT NULL, + `created_at` integer NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE INDEX `upload_workspace_idx` ON `upload` (`workspace_id`);--> statement-breakpoint +CREATE TABLE `user` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `email` text NOT NULL, + `email_verified` integer DEFAULT false NOT NULL, + `image` text, + `created_at` integer DEFAULT (unixepoch() * 1000) NOT NULL, + `updated_at` integer DEFAULT (unixepoch() * 1000) NOT NULL +); +--> statement-breakpoint +CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint +CREATE TABLE `verification` ( + `id` text PRIMARY KEY NOT NULL, + `identifier` text NOT NULL, + `value` text NOT NULL, + `expires_at` integer NOT NULL, + `created_at` integer DEFAULT (unixepoch() * 1000) NOT NULL, + `updated_at` integer DEFAULT (unixepoch() * 1000) NOT NULL +); +--> statement-breakpoint +CREATE INDEX `verification_identifier_idx` ON `verification` (`identifier`);--> statement-breakpoint +CREATE TABLE `workspace` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `slug` text NOT NULL, + `owner_id` text NOT NULL, + `plan_id` text DEFAULT 'free' NOT NULL, + `credit_balance` integer DEFAULT 0 NOT NULL, + `stripe_customer_id` text, + `stripe_subscription_id` text, + `plan_renews_at` integer, + `platform_key_sealed` text, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + FOREIGN KEY (`owner_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE UNIQUE INDEX `workspace_slug_unique` ON `workspace` (`slug`);--> statement-breakpoint +CREATE INDEX `workspace_owner_idx` ON `workspace` (`owner_id`); \ No newline at end of file diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json new file mode 100644 index 0000000..ce06d2d --- /dev/null +++ b/drizzle/meta/0000_snapshot.json @@ -0,0 +1,1488 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "d9431c1a-0bb1-4e02-bf20-016d69723266", + "prevId": "00000000-0000-0000-0000-000000000000", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "access_token_expires_at": { + "name": "access_token_expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "refresh_token_expires_at": { + "name": "refresh_token_expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "account_user_idx": { + "name": "account_user_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "brand_kit": { + "name": "brand_kit", + "columns": { + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "tagline": { + "name": "tagline", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "tone": { + "name": "tone", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "style": { + "name": "style", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "palette": { + "name": "palette", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "audience": { + "name": "audience", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "avoid": { + "name": "avoid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "logo_url": { + "name": "logo_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "brand_kit_workspace_id_workspace_id_fk": { + "name": "brand_kit_workspace_id_workspace_id_fk", + "tableFrom": "brand_kit", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "campaign": { + "name": "campaign", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "product_id": { + "name": "product_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "scene": { + "name": "scene", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "preset_ids": { + "name": "preset_ids", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "channel_ids": { + "name": "channel_ids", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "campaign_workspace_idx": { + "name": "campaign_workspace_idx", + "columns": [ + "workspace_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "campaign_workspace_id_workspace_id_fk": { + "name": "campaign_workspace_id_workspace_id_fk", + "tableFrom": "campaign", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "campaign_product_id_product_id_fk": { + "name": "campaign_product_id_product_id_fk", + "tableFrom": "campaign", + "tableTo": "product", + "columnsFrom": [ + "product_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "credit_ledger": { + "name": "credit_ledger", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "delta": { + "name": "delta", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reason": { + "name": "reason", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "request_id": { + "name": "request_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_event_id": { + "name": "stripe_event_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "note": { + "name": "note", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "ledger_workspace_idx": { + "name": "ledger_workspace_idx", + "columns": [ + "workspace_id", + "created_at" + ], + "isUnique": false + }, + "ledger_request_reason_idx": { + "name": "ledger_request_reason_idx", + "columns": [ + "request_id", + "reason" + ], + "isUnique": true + } + }, + "foreignKeys": { + "credit_ledger_workspace_id_workspace_id_fk": { + "name": "credit_ledger_workspace_id_workspace_id_fk", + "tableFrom": "credit_ledger", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "membership": { + "name": "membership", + "columns": { + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'editor'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "membership_user_idx": { + "name": "membership_user_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "membership_workspace_id_workspace_id_fk": { + "name": "membership_workspace_id_workspace_id_fk", + "tableFrom": "membership", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "membership_user_id_user_id_fk": { + "name": "membership_user_id_user_id_fk", + "tableFrom": "membership", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "membership_workspace_id_user_id_pk": { + "columns": [ + "workspace_id", + "user_id" + ], + "name": "membership_workspace_id_user_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "product": { + "name": "product", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "category": { + "name": "category", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'Other'" + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "features": { + "name": "features", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "appearance": { + "name": "appearance", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "audience": { + "name": "audience", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "price_label": { + "name": "price_label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "archived_at": { + "name": "archived_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "product_workspace_idx": { + "name": "product_workspace_idx", + "columns": [ + "workspace_id" + ], + "isUnique": false + }, + "product_workspace_slug_idx": { + "name": "product_workspace_slug_idx", + "columns": [ + "workspace_id", + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": { + "product_workspace_id_workspace_id_fk": { + "name": "product_workspace_id_workspace_id_fk", + "tableFrom": "product", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "product_asset": { + "name": "product_asset", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "product_id": { + "name": "product_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'image'" + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "product_asset_product_idx": { + "name": "product_asset_product_idx", + "columns": [ + "product_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "product_asset_product_id_product_id_fk": { + "name": "product_asset_product_id_product_id_fk", + "tableFrom": "product_asset", + "tableTo": "product", + "columnsFrom": [ + "product_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "run": { + "name": "run", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "request_id": { + "name": "request_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "product_id": { + "name": "product_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "campaign_id": { + "name": "campaign_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "preset_id": { + "name": "preset_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "channel_id": { + "name": "channel_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "surface": { + "name": "surface", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model_id": { + "name": "model_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model_label": { + "name": "model_label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "prompt": { + "name": "prompt", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "scene": { + "name": "scene", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "ratio": { + "name": "ratio", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "meta": { + "name": "meta", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "badge": { + "name": "badge", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "urls": { + "name": "urls", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "favorite": { + "name": "favorite", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "review": { + "name": "review", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'pending'" + }, + "settings": { + "name": "settings", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{}'" + }, + "credits": { + "name": "credits", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "run_workspace_created_idx": { + "name": "run_workspace_created_idx", + "columns": [ + "workspace_id", + "created_at" + ], + "isUnique": false + }, + "run_request_idx": { + "name": "run_request_idx", + "columns": [ + "request_id" + ], + "isUnique": false + }, + "run_campaign_idx": { + "name": "run_campaign_idx", + "columns": [ + "campaign_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "run_workspace_id_workspace_id_fk": { + "name": "run_workspace_id_workspace_id_fk", + "tableFrom": "run", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "run_user_id_user_id_fk": { + "name": "run_user_id_user_id_fk", + "tableFrom": "run", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "run_product_id_product_id_fk": { + "name": "run_product_id_product_id_fk", + "tableFrom": "run", + "tableTo": "product", + "columnsFrom": [ + "product_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "run_campaign_id_campaign_id_fk": { + "name": "run_campaign_id_campaign_id_fk", + "tableFrom": "run", + "tableTo": "campaign", + "columnsFrom": [ + "campaign_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "session_token_unique": { + "name": "session_token_unique", + "columns": [ + "token" + ], + "isUnique": true + }, + "session_user_idx": { + "name": "session_user_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "stripe_event": { + "name": "stripe_event", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "processed_at": { + "name": "processed_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "upload": { + "name": "upload", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'image'" + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "upload_workspace_idx": { + "name": "upload_workspace_idx", + "columns": [ + "workspace_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "upload_workspace_id_workspace_id_fk": { + "name": "upload_workspace_id_workspace_id_fk", + "tableFrom": "upload", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "email_verified": { + "name": "email_verified", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch() * 1000)" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch() * 1000)" + } + }, + "indexes": { + "user_email_unique": { + "name": "user_email_unique", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "verification": { + "name": "verification", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch() * 1000)" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch() * 1000)" + } + }, + "indexes": { + "verification_identifier_idx": { + "name": "verification_identifier_idx", + "columns": [ + "identifier" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "plan_id": { + "name": "plan_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'free'" + }, + "credit_balance": { + "name": "credit_balance", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "stripe_customer_id": { + "name": "stripe_customer_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_subscription_id": { + "name": "stripe_subscription_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plan_renews_at": { + "name": "plan_renews_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "platform_key_sealed": { + "name": "platform_key_sealed", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "workspace_slug_unique": { + "name": "workspace_slug_unique", + "columns": [ + "slug" + ], + "isUnique": true + }, + "workspace_owner_idx": { + "name": "workspace_owner_idx", + "columns": [ + "owner_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "workspace_owner_id_user_id_fk": { + "name": "workspace_owner_id_user_id_fk", + "tableFrom": "workspace", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json new file mode 100644 index 0000000..5127992 --- /dev/null +++ b/drizzle/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "sqlite", + "entries": [ + { + "idx": 0, + "version": "6", + "when": 1789690768798, + "tag": "0000_init", + "breakpoints": true + } + ] +} \ No newline at end of file diff --git a/scripts/migrate.mjs b/scripts/migrate.mjs new file mode 100644 index 0000000..c982934 --- /dev/null +++ b/scripts/migrate.mjs @@ -0,0 +1,12 @@ +import { createClient } from "@libsql/client"; +import { drizzle } from "drizzle-orm/libsql"; +import { migrate } from "drizzle-orm/libsql/migrator"; +import { mkdirSync } from "node:fs"; + +const url = process.env.DATABASE_URL?.trim() || "file:./data/vitrina.db"; +if (url.startsWith("file:")) mkdirSync(url.slice(5).replace(/\/[^/]*$/, "") || ".", { recursive: true }); + +const client = createClient({ url, authToken: process.env.DATABASE_AUTH_TOKEN?.trim() || undefined }); +await migrate(drizzle(client), { migrationsFolder: "./drizzle" }); +console.log(`[migrate] database up to date (${url.startsWith("file:") ? url : "remote"})`); +client.close(); diff --git a/src/app/api/auth/[...all]/route.ts b/src/app/api/auth/[...all]/route.ts new file mode 100644 index 0000000..f65e032 --- /dev/null +++ b/src/app/api/auth/[...all]/route.ts @@ -0,0 +1,5 @@ +import { toNextJsHandler } from "better-auth/next-js"; + +import { auth } from "@/auth/auth"; + +export const { GET, POST } = toNextJsHandler(auth); diff --git a/src/auth/auth.ts b/src/auth/auth.ts new file mode 100644 index 0000000..6f06b31 --- /dev/null +++ b/src/auth/auth.ts @@ -0,0 +1,56 @@ +import { betterAuth } from "better-auth"; +import { drizzleAdapter } from "better-auth/adapters/drizzle"; +import { nextCookies } from "better-auth/next-js"; + +import { db, schema } from "@/db/client"; +import { bootstrapWorkspace } from "@/server/workspaces"; + +const secret = process.env.APP_SECRET?.trim(); +if (!secret && process.env.NODE_ENV === "production") { + throw new Error("Missing APP_SECRET"); +} + +export const auth = betterAuth({ + appName: "Vitrina", + secret: secret ?? "vitrina-dev-secret-change-me", + baseURL: process.env.APP_URL?.trim() || undefined, + database: drizzleAdapter(db, { + provider: "sqlite", + schema: { + user: schema.user, + session: schema.session, + account: schema.account, + verification: schema.verification, + }, + }), + emailAndPassword: { + enabled: true, + minPasswordLength: 8, + /* No mail provider is wired in by default; a self-hosted install has no + need for a verification round trip, and a SaaS operator can turn it on + once they have a sender. */ + requireEmailVerification: false, + }, + session: { + expiresIn: 60 * 60 * 24 * 30, + updateAge: 60 * 60 * 24, + cookieCache: { enabled: true, maxAge: 5 * 60 }, + }, + user: { deleteUser: { enabled: true } }, + databaseHooks: { + user: { + create: { + /* A person who signs up gets a workspace to work in, their brand kit + ready to fill in, and the trial credits — in one place, so no route + can forget a step. */ + after: async (created) => { + await bootstrapWorkspace({ id: created.id, name: created.name, email: created.email }); + }, + }, + }, + }, + advanced: { database: { generateId: "uuid" } }, + plugins: [nextCookies()], +}); + +export type Session = typeof auth.$Infer.Session; diff --git a/src/auth/client.ts b/src/auth/client.ts new file mode 100644 index 0000000..fd694de --- /dev/null +++ b/src/auth/client.ts @@ -0,0 +1,6 @@ +"use client"; + +import { createAuthClient } from "better-auth/react"; + +export const authClient = createAuthClient(); +export const { signIn, signUp, signOut, useSession } = authClient; diff --git a/src/db/client.ts b/src/db/client.ts new file mode 100644 index 0000000..6d98ef6 --- /dev/null +++ b/src/db/client.ts @@ -0,0 +1,33 @@ +import { createClient, type Client } from "@libsql/client"; +import { drizzle, type LibSQLDatabase } from "drizzle-orm/libsql"; + +import * as schema from "./schema"; + +export type Db = LibSQLDatabase; + +/** One connection per process. Local development and single-node self-hosting + use a file; Turso (or any libsql server) takes a URL and a token. */ +function resolveUrl(): { url: string; authToken?: string } { + const url = process.env.DATABASE_URL?.trim(); + if (url) return { url, authToken: process.env.DATABASE_AUTH_TOKEN?.trim() || undefined }; + return { url: "file:./data/vitrina.db" }; +} + +declare global { + // eslint-disable-next-line no-var + var __vitrinaDb: { client: Client; db: Db } | undefined; +} + +function connect(): { client: Client; db: Db } { + const client = createClient(resolveUrl()); + return { client, db: drizzle(client, { schema }) }; +} + +/* Next's dev server re-evaluates modules on every edit; the handle is parked + on globalThis so a session of edits does not leak a connection each. */ +const handle = globalThis.__vitrinaDb ?? connect(); +if (process.env.NODE_ENV !== "production") globalThis.__vitrinaDb = handle; + +export const db: Db = handle.db; +export const dbClient: Client = handle.client; +export { schema }; diff --git a/src/db/migrate.ts b/src/db/migrate.ts new file mode 100644 index 0000000..d2be3fc --- /dev/null +++ b/src/db/migrate.ts @@ -0,0 +1,9 @@ +import { migrate } from "drizzle-orm/libsql/migrator"; + +import { db } from "./client"; + +/** Applies every migration in drizzle/ that the database has not seen. Safe to + run on every boot: an up-to-date database is a no-op. */ +export async function runMigrations(): Promise { + await migrate(db, { migrationsFolder: "./drizzle" }); +} diff --git a/src/db/schema.ts b/src/db/schema.ts new file mode 100644 index 0000000..edc5f01 --- /dev/null +++ b/src/db/schema.ts @@ -0,0 +1,275 @@ +import { sql } from "drizzle-orm"; +import { index, integer, primaryKey, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core"; + +/* ---------- better-auth ---------- */ + +export const user = sqliteTable("user", { + id: text("id").primaryKey(), + name: text("name").notNull(), + email: text("email").notNull().unique(), + emailVerified: integer("email_verified", { mode: "boolean" }).default(false).notNull(), + image: text("image"), + createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(unixepoch() * 1000)`).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(unixepoch() * 1000)`).notNull(), +}); + +export const session = sqliteTable( + "session", + { + id: text("id").primaryKey(), + expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(), + token: text("token").notNull().unique(), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + ipAddress: text("ip_address"), + userAgent: text("user_agent"), + userId: text("user_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + }, + (table) => [index("session_user_idx").on(table.userId)], +); + +export const account = sqliteTable( + "account", + { + id: text("id").primaryKey(), + accountId: text("account_id").notNull(), + providerId: text("provider_id").notNull(), + userId: text("user_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + accessToken: text("access_token"), + refreshToken: text("refresh_token"), + idToken: text("id_token"), + accessTokenExpiresAt: integer("access_token_expires_at", { mode: "timestamp_ms" }), + refreshTokenExpiresAt: integer("refresh_token_expires_at", { mode: "timestamp_ms" }), + scope: text("scope"), + password: text("password"), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [index("account_user_idx").on(table.userId)], +); + +export const verification = sqliteTable( + "verification", + { + id: text("id").primaryKey(), + identifier: text("identifier").notNull(), + value: text("value").notNull(), + expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(), + createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(unixepoch() * 1000)`).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(unixepoch() * 1000)`).notNull(), + }, + (table) => [index("verification_identifier_idx").on(table.identifier)], +); + +/* ---------- workspace ---------- */ + +export const workspace = sqliteTable( + "workspace", + { + id: text("id").primaryKey(), + name: text("name").notNull(), + slug: text("slug").notNull().unique(), + ownerId: text("owner_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + planId: text("plan_id").notNull().default("free"), + /** Cached sum of the ledger, kept in the same transaction as every entry. */ + creditBalance: integer("credit_balance").notNull().default(0), + stripeCustomerId: text("stripe_customer_id"), + stripeSubscriptionId: text("stripe_subscription_id"), + /** Unix ms of the current period's end, from the subscription. */ + planRenewsAt: integer("plan_renews_at", { mode: "timestamp_ms" }), + /** Bring-your-own-key: the platform key, AES-GCM sealed with APP_SECRET. */ + platformKeySealed: text("platform_key_sealed"), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [index("workspace_owner_idx").on(table.ownerId)], +); + +export const membership = sqliteTable( + "membership", + { + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + userId: text("user_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + role: text("role", { enum: ["owner", "editor"] }).notNull().default("editor"), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [primaryKey({ columns: [table.workspaceId, table.userId] }), index("membership_user_idx").on(table.userId)], +); + +export const brandKit = sqliteTable("brand_kit", { + workspaceId: text("workspace_id") + .primaryKey() + .references(() => workspace.id, { onDelete: "cascade" }), + name: text("name").notNull().default(""), + tagline: text("tagline").notNull().default(""), + tone: text("tone").notNull().default(""), + style: text("style").notNull().default(""), + palette: text("palette", { mode: "json" }).$type().notNull().default([]), + audience: text("audience").notNull().default(""), + avoid: text("avoid").notNull().default(""), + logoUrl: text("logo_url").notNull().default(""), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), +}); + +export const product = sqliteTable( + "product", + { + id: text("id").primaryKey(), + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + name: text("name").notNull(), + slug: text("slug").notNull(), + category: text("category").notNull().default("Other"), + description: text("description").notNull().default(""), + features: text("features", { mode: "json" }).$type().notNull().default([]), + appearance: text("appearance").notNull().default(""), + audience: text("audience").notNull().default(""), + priceLabel: text("price_label").notNull().default(""), + archivedAt: integer("archived_at", { mode: "timestamp_ms" }), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [ + index("product_workspace_idx").on(table.workspaceId), + uniqueIndex("product_workspace_slug_idx").on(table.workspaceId, table.slug), + ], +); + +export const productAsset = sqliteTable( + "product_asset", + { + id: text("id").primaryKey(), + productId: text("product_id") + .notNull() + .references(() => product.id, { onDelete: "cascade" }), + url: text("url").notNull(), + kind: text("kind", { enum: ["image", "video"] }).notNull().default("image"), + name: text("name").notNull().default(""), + position: integer("position").notNull().default(0), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [index("product_asset_product_idx").on(table.productId)], +); + +export const upload = sqliteTable( + "upload", + { + id: text("id").primaryKey(), + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + url: text("url").notNull(), + kind: text("kind", { enum: ["image", "video", "audio"] }).notNull().default("image"), + name: text("name").notNull().default(""), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [index("upload_workspace_idx").on(table.workspaceId)], +); + +export const campaign = sqliteTable( + "campaign", + { + id: text("id").primaryKey(), + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + productId: text("product_id") + .notNull() + .references(() => product.id, { onDelete: "cascade" }), + name: text("name").notNull(), + scene: text("scene").notNull().default(""), + presetIds: text("preset_ids", { mode: "json" }).$type().notNull().default([]), + channelIds: text("channel_ids", { mode: "json" }).$type().notNull().default([]), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [index("campaign_workspace_idx").on(table.workspaceId)], +); + +export const run = sqliteTable( + "run", + { + id: text("id").primaryKey(), + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + userId: text("user_id").references(() => user.id, { onDelete: "set null" }), + /** Platform request. One request can deliver several rows (a batch). */ + requestId: text("request_id").notNull(), + productId: text("product_id").references(() => product.id, { onDelete: "set null" }), + campaignId: text("campaign_id").references(() => campaign.id, { onDelete: "set null" }), + presetId: text("preset_id"), + channelId: text("channel_id"), + surface: text("surface", { enum: ["image", "video"] }).notNull(), + modelId: text("model_id").notNull(), + modelLabel: text("model_label").notNull(), + prompt: text("prompt").notNull(), + scene: text("scene").notNull().default(""), + ratio: text("ratio").notNull(), + meta: text("meta").notNull().default(""), + badge: text("badge"), + urls: text("urls", { mode: "json" }).$type().notNull().default([]), + status: text("status", { enum: ["running", "completed", "failed"] }).notNull(), + error: text("error"), + favorite: integer("favorite", { mode: "boolean" }).notNull().default(false), + review: text("review", { enum: ["pending", "approved", "rejected"] }).notNull().default("pending"), + settings: text("settings", { mode: "json" }).$type>().notNull().default({}), + credits: integer("credits").notNull().default(0), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + updatedAt: integer("updated_at", { mode: "timestamp_ms" }).notNull(), + deletedAt: integer("deleted_at", { mode: "timestamp_ms" }), + }, + (table) => [ + index("run_workspace_created_idx").on(table.workspaceId, table.createdAt), + index("run_request_idx").on(table.requestId), + index("run_campaign_idx").on(table.campaignId), + ], +); + +export const creditLedger = sqliteTable( + "credit_ledger", + { + id: text("id").primaryKey(), + workspaceId: text("workspace_id") + .notNull() + .references(() => workspace.id, { onDelete: "cascade" }), + delta: integer("delta").notNull(), + reason: text("reason", { + enum: ["trial", "plan_grant", "purchase", "generation", "refund", "adjustment"], + }).notNull(), + requestId: text("request_id"), + stripeEventId: text("stripe_event_id"), + note: text("note"), + createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(), + }, + (table) => [ + index("ledger_workspace_idx").on(table.workspaceId, table.createdAt), + uniqueIndex("ledger_request_reason_idx").on(table.requestId, table.reason), + ], +); + +/** Every Stripe event handled, so a redelivered webhook is a no-op. */ +export const stripeEvent = sqliteTable("stripe_event", { + id: text("id").primaryKey(), + type: text("type").notNull(), + processedAt: integer("processed_at", { mode: "timestamp_ms" }).notNull(), +}); + +export type Workspace = typeof workspace.$inferSelect; +export type ProductRow = typeof product.$inferSelect; +export type ProductAssetRow = typeof productAsset.$inferSelect; +export type RunRow = typeof run.$inferSelect; +export type CampaignRow = typeof campaign.$inferSelect; +export type UploadRow = typeof upload.$inferSelect; +export type BrandKitRow = typeof brandKit.$inferSelect; diff --git a/src/domain/prompt.ts b/src/domain/prompt.ts index 8a121f9..8a2539f 100644 --- a/src/domain/prompt.ts +++ b/src/domain/prompt.ts @@ -22,7 +22,7 @@ function endsWithPunctuation(text: string): boolean { return /[.!?…]$/.test(text); } -function sentence(text: string): string { +function sentence(text: string | undefined | null): string { const value = clean(text); if (!value) return ""; return endsWithPunctuation(value) ? value : `${value}.`; diff --git a/src/server/__tests__/credits.test.ts b/src/server/__tests__/credits.test.ts new file mode 100644 index 0000000..e42b6e8 --- /dev/null +++ b/src/server/__tests__/credits.test.ts @@ -0,0 +1,79 @@ +import { mkdtempSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +import { afterAll, beforeAll, describe, expect, it } from "vitest"; + +const dir = mkdtempSync(join(tmpdir(), "vitrina-test-")); +process.env.DATABASE_URL = `file:${join(dir, "test.db")}`; + +const { db, schema, dbClient } = await import("@/db/client"); +const { runMigrations } = await import("@/db/migrate"); +const { bootstrapWorkspace } = await import("@/server/workspaces"); +const { InsufficientCreditsError, creditBalance, grantCredits, refundCredits, reserveCredits } = await import( + "@/server/credits" +); +const { seal, unseal } = await import("@/server/seal"); + +let workspaceId = ""; + +beforeAll(async () => { + await runMigrations(); + const now = new Date(); + await db.insert(schema.user).values({ id: "u1", name: "Ada", email: "ada@example.com", createdAt: now, updatedAt: now }); + workspaceId = await bootstrapWorkspace({ id: "u1", name: "Ada", email: "ada@example.com" }); +}); + +afterAll(() => { + dbClient.close(); + rmSync(dir, { recursive: true, force: true }); +}); + +describe("credits ledger", () => { + it("starts with the trial grant and reserves atomically", async () => { + expect(await creditBalance(workspaceId)).toBe(30); + await reserveCredits(workspaceId, 10, "req-1"); + expect(await creditBalance(workspaceId)).toBe(20); + }); + + it("refuses a reservation the balance cannot cover and leaves the balance alone", async () => { + await expect(reserveCredits(workspaceId, 25, "req-2")).rejects.toBeInstanceOf(InsufficientCreditsError); + expect(await creditBalance(workspaceId)).toBe(20); + }); + + it("refunds a request once and only once", async () => { + expect(await refundCredits(workspaceId, 10, "req-1", "failed")).toBe(true); + expect(await refundCredits(workspaceId, 10, "req-1", "failed again")).toBe(false); + expect(await creditBalance(workspaceId)).toBe(30); + }); + + it("grants plan credits and records the ledger", async () => { + await grantCredits(workspaceId, 500, "plan_grant", { stripeEventId: "evt_1", note: "starter" }); + expect(await creditBalance(workspaceId)).toBe(530); + const rows = await db.select().from(schema.creditLedger); + const sum = rows.reduce((total, row) => total + row.delta, 0); + expect(sum).toBe(530); + }); + + it("races: only one of two concurrent reservations for the last credits wins", async () => { + await reserveCredits(workspaceId, 525, "req-drain"); + expect(await creditBalance(workspaceId)).toBe(5); + const results = await Promise.allSettled([ + reserveCredits(workspaceId, 5, "race-a"), + reserveCredits(workspaceId, 5, "race-b"), + ]); + const won = results.filter((result) => result.status === "fulfilled").length; + expect(won).toBe(1); + expect(await creditBalance(workspaceId)).toBe(0); + }); +}); + +describe("seal", () => { + it("round-trips and rejects tampering", () => { + const sealed = seal("abc:secret"); + expect(sealed.startsWith("v1.")).toBe(true); + expect(unseal(sealed)).toBe("abc:secret"); + expect(unseal(`${sealed.slice(0, -2)}xx`)).toBeNull(); + expect(unseal("garbage")).toBeNull(); + }); +}); diff --git a/src/server/credits.ts b/src/server/credits.ts new file mode 100644 index 0000000..2db88ad --- /dev/null +++ b/src/server/credits.ts @@ -0,0 +1,106 @@ +import { and, eq, sql } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; + +import { newId } from "./ids"; + +export class InsufficientCreditsError extends Error { + readonly needed: number; + readonly balance: number; + constructor(needed: number, balance: number) { + super(`Not enough credits: this run needs ${needed}, the workspace has ${balance}`); + this.name = "InsufficientCreditsError"; + this.needed = needed; + this.balance = balance; + } +} + +type Reason = (typeof schema.creditLedger.$inferInsert)["reason"]; + +/** Takes credits for a run before it is submitted. The balance check and the + debit are one conditional UPDATE, so two submits racing for the last + credits cannot both win. */ +export async function reserveCredits(workspaceId: string, amount: number, requestKey: string): Promise { + if (amount <= 0) return; + const now = new Date(); + const result = await db + .update(schema.workspace) + .set({ creditBalance: sql`${schema.workspace.creditBalance} - ${amount}`, updatedAt: now }) + .where(and(eq(schema.workspace.id, workspaceId), sql`${schema.workspace.creditBalance} >= ${amount}`)); + if (result.rowsAffected === 0) { + const [row] = await db + .select({ balance: schema.workspace.creditBalance }) + .from(schema.workspace) + .where(eq(schema.workspace.id, workspaceId)); + throw new InsufficientCreditsError(amount, row?.balance ?? 0); + } + await db.insert(schema.creditLedger).values({ + id: newId(), + workspaceId, + delta: -amount, + reason: "generation", + requestId: requestKey, + createdAt: now, + }); +} + +/** Gives a failed run its credits back, once: the (requestId, reason) pair is + unique in the ledger, so a second refund of the same request is refused by + the database and the balance is left alone. */ +export async function refundCredits(workspaceId: string, amount: number, requestId: string, note?: string): Promise { + if (amount <= 0) return false; + const now = new Date(); + try { + await db.insert(schema.creditLedger).values({ + id: newId(), + workspaceId, + delta: amount, + reason: "refund", + requestId, + note, + createdAt: now, + }); + } catch { + return false; + } + await db + .update(schema.workspace) + .set({ creditBalance: sql`${schema.workspace.creditBalance} + ${amount}`, updatedAt: now }) + .where(eq(schema.workspace.id, workspaceId)); + return true; +} + +/** Credits arriving from a plan or a purchase. Keyed by the Stripe event so a + redelivered webhook grants nothing twice. */ +export async function grantCredits( + workspaceId: string, + amount: number, + reason: Extract, + options: { stripeEventId?: string; note?: string } = {}, +): Promise { + if (amount === 0) return; + const now = new Date(); + await db.batch([ + db.insert(schema.creditLedger).values({ + id: newId(), + workspaceId, + delta: amount, + reason, + stripeEventId: options.stripeEventId, + note: options.note, + createdAt: now, + }), + db + .update(schema.workspace) + .set({ creditBalance: sql`${schema.workspace.creditBalance} + ${amount}`, updatedAt: now }) + .where(eq(schema.workspace.id, workspaceId)), + ]); +} + +export async function creditBalance(workspaceId: string): Promise { + const [row] = await db + .select({ balance: schema.workspace.creditBalance }) + .from(schema.workspace) + .where(eq(schema.workspace.id, workspaceId)); + return row?.balance ?? 0; +} diff --git a/src/server/ids.ts b/src/server/ids.ts new file mode 100644 index 0000000..ba858ac --- /dev/null +++ b/src/server/ids.ts @@ -0,0 +1,5 @@ +import { randomUUID } from "node:crypto"; + +export function newId(): string { + return randomUUID(); +} diff --git a/src/server/seal.ts b/src/server/seal.ts new file mode 100644 index 0000000..6d15e5c --- /dev/null +++ b/src/server/seal.ts @@ -0,0 +1,28 @@ +import { createCipheriv, createDecipheriv, createHash, randomBytes } from "node:crypto"; + +/** AES-256-GCM around a secret the operator holds. Sealed values are stored + in the database so a dump of it alone reveals no customer platform key. */ +function key(): Buffer { + const secret = process.env.APP_SECRET?.trim() || "vitrina-dev-secret-change-me"; + return createHash("sha256").update(secret).digest(); +} + +export function seal(plain: string): string { + const iv = randomBytes(12); + const cipher = createCipheriv("aes-256-gcm", key(), iv); + const body = Buffer.concat([cipher.update(plain, "utf8"), cipher.final()]); + const tag = cipher.getAuthTag(); + return `v1.${iv.toString("base64url")}.${tag.toString("base64url")}.${body.toString("base64url")}`; +} + +export function unseal(sealed: string): string | null { + const [version, ivText, tagText, bodyText] = sealed.split("."); + if (version !== "v1" || !ivText || !tagText || !bodyText) return null; + try { + const decipher = createDecipheriv("aes-256-gcm", key(), Buffer.from(ivText, "base64url")); + decipher.setAuthTag(Buffer.from(tagText, "base64url")); + return Buffer.concat([decipher.update(Buffer.from(bodyText, "base64url")), decipher.final()]).toString("utf8"); + } catch { + return null; + } +} diff --git a/src/server/session.ts b/src/server/session.ts new file mode 100644 index 0000000..f0cbc40 --- /dev/null +++ b/src/server/session.ts @@ -0,0 +1,40 @@ +import { headers } from "next/headers"; +import { cache } from "react"; + +import { auth } from "@/auth/auth"; +import type { Workspace } from "@/db/schema"; + +import { workspaceForUser } from "./workspaces"; + +export class UnauthorizedError extends Error { + constructor() { + super("Sign in to continue"); + this.name = "UnauthorizedError"; + } +} + +export type Viewer = { + user: { id: string; name: string; email: string }; + workspace: Workspace; + role: "owner" | "editor"; +}; + +/** The signed-in user and the workspace they act in, read once per request. + Every server action and page goes through here, so a request without a + session cannot reach a query. */ +export const getViewer = cache(async (): Promise => { + const session = await auth.api.getSession({ headers: await headers() }); + if (!session) return null; + const { workspace, role } = await workspaceForUser(session.user.id); + return { + user: { id: session.user.id, name: session.user.name, email: session.user.email }, + workspace, + role, + }; +}); + +export async function requireViewer(): Promise { + const viewer = await getViewer(); + if (!viewer) throw new UnauthorizedError(); + return viewer; +} diff --git a/src/server/workspaces.ts b/src/server/workspaces.ts new file mode 100644 index 0000000..94d471a --- /dev/null +++ b/src/server/workspaces.ts @@ -0,0 +1,68 @@ +import { and, eq } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { slugify } from "@/domain/brand"; +import { getPlan } from "@/domain/plans"; + +import { newId } from "./ids"; + +/** Everything a new account needs to start working: a workspace, its brand + kit and the trial credits. Runs inside the sign-up transaction hook. */ +export async function bootstrapWorkspace(owner: { id: string; name: string; email: string }): Promise { + const now = new Date(); + const id = newId(); + const base = slugify(owner.name || owner.email.split("@")[0] || "workspace", "workspace"); + const slug = `${base}-${id.slice(0, 6)}`; + const trial = getPlan("free").credits; + await db.batch([ + db.insert(schema.workspace).values({ + id, + name: owner.name ? `${owner.name}'s brand` : "My brand", + slug, + ownerId: owner.id, + planId: "free", + creditBalance: trial, + createdAt: now, + updatedAt: now, + }), + db.insert(schema.membership).values({ workspaceId: id, userId: owner.id, role: "owner", createdAt: now }), + db.insert(schema.brandKit).values({ workspaceId: id, updatedAt: now }), + db.insert(schema.creditLedger).values({ + id: newId(), + workspaceId: id, + delta: trial, + reason: "trial", + note: "Welcome credits", + createdAt: now, + }), + ]); + return id; +} + +/** The workspace a user works in. Memberships are one-per-user today; the + table shape allows more, and the first one by creation wins. */ +export async function workspaceForUser(userId: string) { + const rows = await db + .select({ workspace: schema.workspace, role: schema.membership.role }) + .from(schema.membership) + .innerJoin(schema.workspace, eq(schema.membership.workspaceId, schema.workspace.id)) + .where(eq(schema.membership.userId, userId)) + .orderBy(schema.membership.createdAt) + .limit(1); + const row = rows[0]; + if (row) return row; + /* An account that predates the bootstrap hook, or whose hook failed, still + deserves a workspace rather than a dead end. */ + const id = await bootstrapWorkspace({ id: userId, name: "", email: "" }); + const [created] = await db.select().from(schema.workspace).where(eq(schema.workspace.id, id)); + return { workspace: created!, role: "owner" as const }; +} + +export async function isMember(workspaceId: string, userId: string): Promise { + const rows = await db + .select({ userId: schema.membership.userId }) + .from(schema.membership) + .where(and(eq(schema.membership.workspaceId, workspaceId), eq(schema.membership.userId, userId))) + .limit(1); + return rows.length > 0; +} From 8f0143a3c34de9c0278565ccc4110b295fc4f1ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Su=C3=A1rez=20Mart=C3=ADn?= Date: Fri, 18 Sep 2026 00:39:57 +0000 Subject: [PATCH 04/11] Build Vitrina around the studio: workspace runs, job rail, app pages, billing The generation engine now runs behind the session: submits reserve credits, runs are persisted per workspace and settled server-side on poll, and a workspace can bring its own platform key. The studio gains a product / preset / channel rail that compiles the prompt from the brand kit, review states, product filters and a final-prompt preview. Around it: sign-in, products with photos, the brand kit, campaigns that generate a preset-by-channel plan and export approved files as a zip, and settings with Stripe plans, a credit ledger and the key. Local or Vercel Blob storage, a mock platform server for development. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01QktEqYfYA1H2gQRbvG88pU --- package.json | 11 +- scripts/build-brand-assets.mjs | 6 +- scripts/credits.mjs | 36 + scripts/mock-platform.mjs | 73 + src/app/api/billing/webhook/route.ts | 32 + src/app/api/blob/route.ts | 107 +- src/app/api/files/[...path]/route.ts | 26 + src/app/api/upload/route.ts | 23 + src/app/app/brand/page.tsx | 22 + src/app/app/campaigns/[id]/page.tsx | 38 + src/app/app/campaigns/new/page.tsx | 35 + src/app/app/campaigns/page.tsx | 61 + src/app/app/layout.tsx | 31 + src/app/app/page.tsx | 16 + src/app/app/products/[id]/page.tsx | 33 + src/app/app/products/page.tsx | 58 + src/app/app/settings/page.tsx | 36 + src/app/base.css | 4 +- src/app/login/page.tsx | 18 + src/app/manifest.ts | 2 +- src/app/page.tsx | 141 +- src/app/register/page.tsx | 18 + src/app/robots.ts | 5 +- src/app/sitemap.ts | 6 +- src/auth/auth.ts | 8 +- src/generation/actions.ts | 200 ++- src/generation/credentials.ts | 49 +- src/generation/device.ts | 39 - src/generation/poll.ts | 71 +- src/generation/stores/active.ts | 2 +- src/generation/stores/media.ts | 4 +- src/generation/stores/prompt.ts | 4 +- src/generation/stores/settings.ts | 2 +- src/generation/upload.ts | 33 +- src/openhiggsfield/history.ts | 176 --- src/openhiggsfield/idb.ts | 76 - src/openhiggsfield/key-modal.tsx | 119 -- src/openhiggsfield/openhiggsfield-app.tsx | 765 --------- src/openhiggsfield/uploads.ts | 126 -- src/proxy.ts | 16 - src/server/actions/billing.ts | 84 + src/server/actions/brand.ts | 44 + src/server/actions/campaigns.ts | 89 ++ src/server/actions/products.ts | 142 ++ src/server/actions/runs.ts | 32 + src/server/actions/uploads.ts | 55 + src/server/billing.ts | 142 ++ src/server/runs.ts | 246 +++ src/server/storage.ts | 93 ++ src/server/studio-data.ts | 29 + src/server/validation.ts | 12 + src/site.ts | 8 +- src/{openhiggsfield => studio}/artwork.ts | 0 .../asset-picker.tsx | 60 +- src/{openhiggsfield => studio}/composer.tsx | 108 +- src/{openhiggsfield => studio}/data.ts | 52 +- src/{openhiggsfield => studio}/download.ts | 2 +- src/studio/export.ts | 44 + src/studio/filters.tsx | 57 + src/{openhiggsfield => studio}/gallery.tsx | 110 +- src/studio/history.ts | 78 + src/{openhiggsfield => studio}/icons.tsx | 20 +- src/studio/job-rail.tsx | 305 ++++ src/studio/job.ts | 57 + src/studio/key-modal.tsx | 122 ++ src/{openhiggsfield => studio}/media-tray.tsx | 74 +- src/{openhiggsfield => studio}/model-icon.tsx | 4 +- .../model-picker.tsx | 42 +- .../selection-bar.tsx | 62 +- src/{openhiggsfield => studio}/settings.tsx | 20 +- src/studio/stores/job.ts | 34 + src/studio/studio-app.tsx | 451 ++++++ .../openhiggsfield.css => studio/studio.css} | 1394 ++++++++++------- src/{openhiggsfield => studio}/topbar.tsx | 78 +- src/studio/types.ts | 19 + src/{openhiggsfield => studio}/ui.tsx | 24 +- src/studio/use-generation.ts | 252 +++ src/{openhiggsfield => studio}/viewer.tsx | 130 +- src/ui/app.css | 1116 +++++++++++++ src/ui/auth-form.tsx | 98 ++ src/ui/auth-shell.tsx | 20 + src/ui/brand-editor.tsx | 132 ++ src/ui/campaign-form.tsx | 128 ++ src/ui/campaign-view.tsx | 339 ++++ src/ui/product-editor.tsx | 226 +++ src/ui/settings.tsx | 240 +++ src/ui/sidebar.tsx | 86 + 87 files changed, 7051 insertions(+), 2437 deletions(-) create mode 100644 scripts/credits.mjs create mode 100644 scripts/mock-platform.mjs create mode 100644 src/app/api/billing/webhook/route.ts create mode 100644 src/app/api/files/[...path]/route.ts create mode 100644 src/app/api/upload/route.ts create mode 100644 src/app/app/brand/page.tsx create mode 100644 src/app/app/campaigns/[id]/page.tsx create mode 100644 src/app/app/campaigns/new/page.tsx create mode 100644 src/app/app/campaigns/page.tsx create mode 100644 src/app/app/layout.tsx create mode 100644 src/app/app/page.tsx create mode 100644 src/app/app/products/[id]/page.tsx create mode 100644 src/app/app/products/page.tsx create mode 100644 src/app/app/settings/page.tsx create mode 100644 src/app/login/page.tsx create mode 100644 src/app/register/page.tsx delete mode 100644 src/generation/device.ts delete mode 100644 src/openhiggsfield/history.ts delete mode 100644 src/openhiggsfield/idb.ts delete mode 100644 src/openhiggsfield/key-modal.tsx delete mode 100644 src/openhiggsfield/openhiggsfield-app.tsx delete mode 100644 src/openhiggsfield/uploads.ts delete mode 100644 src/proxy.ts create mode 100644 src/server/actions/billing.ts create mode 100644 src/server/actions/brand.ts create mode 100644 src/server/actions/campaigns.ts create mode 100644 src/server/actions/products.ts create mode 100644 src/server/actions/runs.ts create mode 100644 src/server/actions/uploads.ts create mode 100644 src/server/billing.ts create mode 100644 src/server/runs.ts create mode 100644 src/server/storage.ts create mode 100644 src/server/studio-data.ts create mode 100644 src/server/validation.ts rename src/{openhiggsfield => studio}/artwork.ts (100%) rename src/{openhiggsfield => studio}/asset-picker.tsx (87%) rename src/{openhiggsfield => studio}/composer.tsx (80%) rename src/{openhiggsfield => studio}/data.ts (80%) rename src/{openhiggsfield => studio}/download.ts (93%) create mode 100644 src/studio/export.ts create mode 100644 src/studio/filters.tsx rename src/{openhiggsfield => studio}/gallery.tsx (82%) create mode 100644 src/studio/history.ts rename src/{openhiggsfield => studio}/icons.tsx (91%) create mode 100644 src/studio/job-rail.tsx create mode 100644 src/studio/job.ts create mode 100644 src/studio/key-modal.tsx rename src/{openhiggsfield => studio}/media-tray.tsx (73%) rename src/{openhiggsfield => studio}/model-icon.tsx (94%) rename src/{openhiggsfield => studio}/model-picker.tsx (75%) rename src/{openhiggsfield => studio}/selection-bar.tsx (67%) rename src/{openhiggsfield => studio}/settings.tsx (86%) create mode 100644 src/studio/stores/job.ts create mode 100644 src/studio/studio-app.tsx rename src/{openhiggsfield/openhiggsfield.css => studio/studio.css} (78%) rename src/{openhiggsfield => studio}/topbar.tsx (58%) create mode 100644 src/studio/types.ts rename src/{openhiggsfield => studio}/ui.tsx (81%) create mode 100644 src/studio/use-generation.ts rename src/{openhiggsfield => studio}/viewer.tsx (75%) create mode 100644 src/ui/app.css create mode 100644 src/ui/auth-form.tsx create mode 100644 src/ui/auth-shell.tsx create mode 100644 src/ui/brand-editor.tsx create mode 100644 src/ui/campaign-form.tsx create mode 100644 src/ui/campaign-view.tsx create mode 100644 src/ui/product-editor.tsx create mode 100644 src/ui/settings.tsx create mode 100644 src/ui/sidebar.tsx diff --git a/package.json b/package.json index 9c2c55a..58bceb2 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,20 @@ { - "name": "openhiggsfield-ai", + "name": "vitrina", "private": true, "type": "module", "scripts": { "dev": "next dev --port 3000", "build": "next build", "start": "next start", + "lint": "eslint .", + "typecheck": "tsc --noEmit", + "test": "vitest run", + "test:e2e": "playwright test", + "db:generate": "drizzle-kit generate", + "db:migrate": "node scripts/migrate.mjs", + "db:studio": "drizzle-kit studio", + "credits": "node scripts/credits.mjs", + "mock:platform": "node scripts/mock-platform.mjs", "brand": "node scripts/build-brand-assets.mjs" }, "dependencies": { diff --git a/scripts/build-brand-assets.mjs b/scripts/build-brand-assets.mjs index a7409f6..475acaa 100644 --- a/scripts/build-brand-assets.mjs +++ b/scripts/build-brand-assets.mjs @@ -1,7 +1,7 @@ /* Builds every raster brand asset from the one mark geometry. The mark is authored once as SVG (src/app/icon.svg for the favicon, - src/components/OpenHiggsfieldMark.tsx for the interface). Apple, the web app + src/components/VitrinaMark.tsx for the interface). Apple, the web app manifest and Open Graph all need rasters, so this script draws the same 32-unit field in a headless Chromium and screenshots it at each size. @@ -76,7 +76,7 @@ function findChrome() { const CHROME = findChrome(); const ROOT = resolve(import.meta.dirname, ".."); -const WORK = mkdtempSync(join(tmpdir(), "openhiggsfield-brand-")); +const WORK = mkdtempSync(join(tmpdir(), "vitrina-brand-")); function shoot(out, html, width, height, { transparent = false } = {}) { const page = join(WORK, `${width}x${height}-${Math.abs(hash(out))}.html`); @@ -167,7 +167,7 @@ const og = `
    ${markSvg(454, { stroke: 1.15, accent: "rgba(111,227,192,0.17)", ink: "rgba(255,255,255,0.085)" })}
    ${markSvg(58, { stroke: 2.5 })}
    -

    OpenHiggsfield AI

    +

    Vitrina

    Open source AI studio

    One prompt bar for image and video. Each model’s own settings, and every finished run in one gallery.

    diff --git a/scripts/credits.mjs b/scripts/credits.mjs new file mode 100644 index 0000000..2c5abc6 --- /dev/null +++ b/scripts/credits.mjs @@ -0,0 +1,36 @@ +/* Grants credits to a workspace by owner email — the self-hosted operator's + substitute for Stripe. Usage: pnpm credits owner@example.com 500 ["note"] */ +import { createClient } from "@libsql/client"; +import { randomUUID } from "node:crypto"; + +const [email, amountText, note = "manual grant"] = process.argv.slice(2); +const amount = Number(amountText); +if (!email || !Number.isInteger(amount) || amount === 0) { + console.error("usage: pnpm credits [note]"); + process.exit(1); +} +const url = process.env.DATABASE_URL?.trim() || "file:./data/vitrina.db"; +const client = createClient({ url, authToken: process.env.DATABASE_AUTH_TOKEN?.trim() || undefined }); +const user = await client.execute({ sql: "select id from user where email = ?", args: [email] }); +const userId = user.rows[0]?.id; +if (!userId) { + console.error(`no user with email ${email}`); + process.exit(1); +} +const ws = await client.execute({ sql: "select workspace_id from membership where user_id = ? order by created_at limit 1", args: [userId] }); +const workspaceId = ws.rows[0]?.workspace_id; +if (!workspaceId) { + console.error("user has no workspace"); + process.exit(1); +} +const now = Date.now(); +await client.batch( + [ + { sql: "insert into credit_ledger (id, workspace_id, delta, reason, note, created_at) values (?, ?, ?, 'adjustment', ?, ?)", args: [randomUUID(), workspaceId, amount, note, now] }, + { sql: "update workspace set credit_balance = credit_balance + ?, updated_at = ? where id = ?", args: [amount, now, workspaceId] }, + ], + "write", +); +const after = await client.execute({ sql: "select credit_balance from workspace where id = ?", args: [workspaceId] }); +console.log(`[credits] ${amount > 0 ? "+" : ""}${amount} → balance ${after.rows[0]?.credit_balance}`); +client.close(); diff --git a/scripts/mock-platform.mjs b/scripts/mock-platform.mjs new file mode 100644 index 0000000..4516182 --- /dev/null +++ b/scripts/mock-platform.mjs @@ -0,0 +1,73 @@ +/* A stand-in for the generation platform, for development and end-to-end + tests. Speaks the two calls the studio makes — POST /{model} and + GET /requests/{id}/status — and answers every run with a placeholder + image or clip after a short delay. Start with: pnpm mock:platform */ +import { createServer } from "node:http"; + +const PORT = Number(process.env.MOCK_PLATFORM_PORT ?? 4010); +const DELAY_MS = Number(process.env.MOCK_PLATFORM_DELAY_MS ?? 1500); +const requests = new Map(); + +const PNG = + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="; + +function json(res, status, body) { + res.writeHead(status, { "content-type": "application/json", "access-control-allow-origin": "*" }); + res.end(JSON.stringify(body)); +} + +function readBody(req) { + return new Promise((resolve) => { + let data = ""; + req.on("data", (chunk) => (data += chunk)); + req.on("end", () => { + try { + resolve(data ? JSON.parse(data) : {}); + } catch { + resolve({}); + } + }); + }); +} + +const server = createServer(async (req, res) => { + const url = new URL(req.url ?? "/", `http://localhost:${PORT}`); + const origin = `http://localhost:${PORT}`; + + if (req.method === "GET" && url.pathname.startsWith("/media/")) { + const isVideo = url.pathname.endsWith(".mp4"); + res.writeHead(200, { "content-type": isVideo ? "video/mp4" : "image/png", "access-control-allow-origin": "*" }); + res.end(Buffer.from(PNG, "base64")); + return; + } + + const status = /^\/requests\/([^/]+)\/status$/.exec(url.pathname); + if (req.method === "GET" && status) { + const entry = requests.get(status[1]); + if (!entry) return json(res, 404, { detail: "Unknown request" }); + if (Date.now() < entry.readyAt) return json(res, 200, { request_id: entry.id, status: "in_progress" }); + if (entry.fail) return json(res, 200, { request_id: entry.id, status: "failed", error: "mock platform failure" }); + if (entry.kind === "video") { + return json(res, 200, { request_id: entry.id, status: "completed", video: { url: `${origin}/media/${entry.id}.mp4` } }); + } + const images = Array.from({ length: entry.count }, (_, index) => ({ url: `${origin}/media/${entry.id}-${index}.png` })); + return json(res, 200, { request_id: entry.id, status: "completed", images }); + } + + if (req.method === "POST") { + if (!/^Key [^:]+:.+$/.test(req.headers.authorization ?? "")) return json(res, 401, { detail: "Missing key" }); + const body = await readBody(req); + const model = url.pathname.slice(1); + const id = `mock-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`; + const kind = /video|seedance|kling|wan|ltx|hailuo|pixverse|dop|happy-horse|minimax/.test(model) ? "video" : "image"; + const count = Number(body.batch_size ?? body.num_images ?? 1) || 1; + const fail = typeof body.prompt === "string" && body.prompt.includes("MOCK_FAIL"); + requests.set(id, { id, kind, count, fail, readyAt: Date.now() + DELAY_MS }); + console.log(`[mock] ${model} → ${id} (${kind}${fail ? ", will fail" : ""})`); + return json(res, 200, { request_id: id, status: "queued", status_url: `${origin}/requests/${id}/status`, cancel_url: "" }); + } + + json(res, 404, { detail: "Not found" }); +}); + +server.listen(PORT, () => console.log(`[mock] platform listening on http://localhost:${PORT}`)); diff --git a/src/app/api/billing/webhook/route.ts b/src/app/api/billing/webhook/route.ts new file mode 100644 index 0000000..03fe000 --- /dev/null +++ b/src/app/api/billing/webhook/route.ts @@ -0,0 +1,32 @@ +import { NextResponse } from "next/server"; + +import { applyStripeEvent, stripeClient } from "@/server/billing"; + +/** Stripe's webhook. The signature is checked against STRIPE_WEBHOOK_SECRET + before anything is read; each event is applied once. */ +export async function POST(request: Request): Promise { + const stripe = stripeClient(); + const secret = process.env.STRIPE_WEBHOOK_SECRET?.trim(); + if (!stripe || !secret) return NextResponse.json({ error: "Billing is not configured" }, { status: 503 }); + + const signature = request.headers.get("stripe-signature"); + if (!signature) return NextResponse.json({ error: "Missing signature" }, { status: 400 }); + const payload = await request.text(); + + let event; + try { + event = stripe.webhooks.constructEvent(payload, signature, secret); + } catch (caught) { + console.warn("[billing] rejected webhook", caught instanceof Error ? caught.message : caught); + return NextResponse.json({ error: "Invalid signature" }, { status: 400 }); + } + + try { + const outcome = await applyStripeEvent(event); + console.info("[billing]", event.type, outcome); + return NextResponse.json({ received: true, outcome }); + } catch (caught) { + console.error("[billing] failed to apply", event.type, caught instanceof Error ? caught.message : caught); + return NextResponse.json({ error: "Failed to apply event" }, { status: 500 }); + } +} diff --git a/src/app/api/blob/route.ts b/src/app/api/blob/route.ts index c2d8a05..e66899e 100644 --- a/src/app/api/blob/route.ts +++ b/src/app/api/blob/route.ts @@ -1,83 +1,46 @@ import { handleUpload, type HandleUploadBody } from "@vercel/blob/client"; -import { cookies } from "next/headers"; import { NextResponse } from "next/server"; -import { - DEVICE_COOKIE, - DEVICE_COOKIE_OPTIONS, - blobPathname, - resolveDeviceId, -} from "@/generation/device"; - -// Anyone who can hit this route can upload. Gate it when auth exists. +import { getViewer } from "@/server/session"; +import { ALLOWED_UPLOAD_TYPES, MAX_UPLOAD_BYTES, sanitizeFilename } from "@/server/storage"; +/** Vercel Blob driver: issues a scoped client token so the browser uploads + straight to the store. Only a signed-in member gets one, and every file is + filed under the workspace. */ export async function POST(request: Request): Promise { const incoming = (await request.json()) as HandleUploadBody; - const device = - incoming.type === "blob.generate-client-token" ? await readDeviceId() : null; - const body = device ? withDevicePath(incoming, device.deviceId) : incoming; - console.info("[blob] upload", summarizeBlobEvent(body)); - - try { - const token = process.env.OPEN_HIGGSFIELD_READ_WRITE_TOKEN; - if (!token) throw new Error("Missing OPEN_HIGGSFIELD_READ_WRITE_TOKEN"); - const json = await handleUpload({ - body, - request, - token, - onBeforeGenerateToken: async (pathname) => { - console.info("[blob] token", { pathname }); - return { - allowedContentTypes: [ - "image/jpeg", - "image/png", - "image/webp", - "image/gif", - "video/mp4", - "audio/wav", - "audio/x-wav", - ], + const token = process.env.BLOB_READ_WRITE_TOKEN; + if (!token) return NextResponse.json({ error: "Blob storage is not configured" }, { status: 500 }); + + if (incoming.type === "blob.generate-client-token") { + const viewer = await getViewer(); + if (!viewer) return NextResponse.json({ error: "Sign in to upload" }, { status: 401 }); + const pathname = `${viewer.workspace.id}/${sanitizeFilename(incoming.payload.pathname)}`; + const body: HandleUploadBody = { ...incoming, payload: { ...incoming.payload, pathname } }; + try { + const json = await handleUpload({ + body, + request, + token, + onBeforeGenerateToken: async () => ({ + allowedContentTypes: [...ALLOWED_UPLOAD_TYPES], + maximumSizeInBytes: MAX_UPLOAD_BYTES, addRandomSuffix: true, - }; - }, - }); - return withDeviceCookie( - json.type === "blob.generate-client-token" && body.type === "blob.generate-client-token" - ? NextResponse.json({ ...json, pathname: body.payload.pathname }) - : NextResponse.json(json), - device, - ); - } catch (error) { - console.error("[blob] upload failed", error instanceof Error ? error.message : error); - if (device?.minted) return withDeviceCookie(new NextResponse(null, { status: 500 }), device); - throw error; + }), + }); + return NextResponse.json({ ...json, pathname }); + } catch (error) { + console.error("[blob] token failed", error instanceof Error ? error.message : error); + return NextResponse.json({ error: "Could not start the upload" }, { status: 500 }); + } } -} - -async function readDeviceId() { - const jar = await cookies(); - return resolveDeviceId(jar.get(DEVICE_COOKIE)?.value); -} -function withDeviceCookie( - response: NextResponse, - device: { deviceId: string; minted: boolean } | null, -) { - if (device?.minted) response.cookies.set(DEVICE_COOKIE, device.deviceId, DEVICE_COOKIE_OPTIONS); - return response; -} - -function withDevicePath(body: HandleUploadBody, deviceId: string): HandleUploadBody { - if (body.type !== "blob.generate-client-token") return body; - return { - ...body, - payload: { ...body.payload, pathname: blobPathname(deviceId, body.payload.pathname) }, - }; -} - -function summarizeBlobEvent(body: HandleUploadBody) { - if (body.type === "blob.generate-client-token") { - return { type: body.type, pathname: body.payload.pathname }; + /* Upload-completed callbacks arrive from Vercel, not the browser; the shelf + is written by the client action instead, so nothing is needed here. */ + try { + const json = await handleUpload({ body: incoming, request, token, onBeforeGenerateToken: async () => ({}) }); + return NextResponse.json(json); + } catch { + return new NextResponse(null, { status: 400 }); } - return { type: body.type, url: body.payload.blob.url }; } diff --git a/src/app/api/files/[...path]/route.ts b/src/app/api/files/[...path]/route.ts new file mode 100644 index 0000000..690015c --- /dev/null +++ b/src/app/api/files/[...path]/route.ts @@ -0,0 +1,26 @@ +import { createReadStream } from "node:fs"; +import { stat } from "node:fs/promises"; +import { Readable } from "node:stream"; + +import { NextResponse } from "next/server"; + +import { contentTypeFor, localPath } from "@/server/storage"; + +/** Serves locally stored uploads. Unauthenticated on purpose: the generation + platform fetches these URLs with no session, and the path carries a random + id in place of a guessable name. */ +export async function GET(_request: Request, context: { params: Promise<{ path: string[] }> }) { + const { path } = await context.params; + const file = localPath(path); + if (!file) return new NextResponse(null, { status: 404 }); + const info = await stat(file).catch(() => null); + if (!info?.isFile()) return new NextResponse(null, { status: 404 }); + const stream = Readable.toWeb(createReadStream(file)) as ReadableStream; + return new NextResponse(stream, { + headers: { + "Content-Type": contentTypeFor(file), + "Content-Length": String(info.size), + "Cache-Control": "public, max-age=31536000, immutable", + }, + }); +} diff --git a/src/app/api/upload/route.ts b/src/app/api/upload/route.ts new file mode 100644 index 0000000..c5956e0 --- /dev/null +++ b/src/app/api/upload/route.ts @@ -0,0 +1,23 @@ +import { NextResponse } from "next/server"; + +import { getViewer } from "@/server/session"; +import { ALLOWED_UPLOAD_TYPES, MAX_UPLOAD_BYTES, publicOrigin, storeLocal } from "@/server/storage"; + +/** Local storage driver: the browser posts the file here and gets back a URL + under /api/files the platform can fetch. */ +export async function POST(request: Request): Promise { + const viewer = await getViewer(); + if (!viewer) return NextResponse.json({ error: "Sign in to upload" }, { status: 401 }); + + const form = await request.formData().catch(() => null); + const file = form?.get("file"); + if (!(file instanceof File)) return NextResponse.json({ error: "No file" }, { status: 400 }); + if (!(ALLOWED_UPLOAD_TYPES as readonly string[]).includes(file.type)) { + return NextResponse.json({ error: `Unsupported file type ${file.type || "(unknown)"}` }, { status: 415 }); + } + if (file.size > MAX_UPLOAD_BYTES) { + return NextResponse.json({ error: "File is larger than 64 MB" }, { status: 413 }); + } + const path = await storeLocal(viewer.workspace.id, file.name, new Uint8Array(await file.arrayBuffer())); + return NextResponse.json({ url: `${publicOrigin(request)}/api/files/${path}` }); +} diff --git a/src/app/app/brand/page.tsx b/src/app/app/brand/page.tsx new file mode 100644 index 0000000..93e925a --- /dev/null +++ b/src/app/app/brand/page.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from "next"; + +import { getBrandKit } from "@/server/actions/brand"; +import { BrandEditor } from "@/ui/brand-editor"; + +export const metadata: Metadata = { title: "Brand kit" }; +export const dynamic = "force-dynamic"; + +export default async function BrandPage() { + const brand = await getBrandKit(); + return ( +
    +
    +
    +

    Brand kit

    +

    Written once, folded into every prompt the studio sends.

    +
    +
    + +
    + ); +} diff --git a/src/app/app/campaigns/[id]/page.tsx b/src/app/app/campaigns/[id]/page.tsx new file mode 100644 index 0000000..3364642 --- /dev/null +++ b/src/app/app/campaigns/[id]/page.tsx @@ -0,0 +1,38 @@ +import type { Metadata } from "next"; +import { notFound, redirect } from "next/navigation"; + +import { platformKeyStatus } from "@/generation/actions"; +import { readBrandKit } from "@/server/actions/brand"; +import { getCampaign } from "@/server/actions/campaigns"; +import { getProduct } from "@/server/actions/products"; +import { listRuns } from "@/server/runs"; +import { getViewer } from "@/server/session"; +import { CampaignView } from "@/ui/campaign-view"; + +export const metadata: Metadata = { title: "Campaign" }; +export const dynamic = "force-dynamic"; + +export default async function CampaignPage({ params }: { params: Promise<{ id: string }> }) { + const viewer = await getViewer(); + if (!viewer) redirect("/login"); + const { id } = await params; + const campaign = await getCampaign(id); + if (!campaign) notFound(); + const [product, brand, runs, key] = await Promise.all([ + getProduct(campaign.productId), + readBrandKit(viewer.workspace.id), + listRuns(viewer.workspace.id), + platformKeyStatus(), + ]); + if (!product) notFound(); + return ( + run.campaignId === campaign.id)} + credits={viewer.workspace.creditBalance} + keyStatus={key} + /> + ); +} diff --git a/src/app/app/campaigns/new/page.tsx b/src/app/app/campaigns/new/page.tsx new file mode 100644 index 0000000..00c885e --- /dev/null +++ b/src/app/app/campaigns/new/page.tsx @@ -0,0 +1,35 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +import { listProducts } from "@/server/actions/products"; +import { CampaignForm } from "@/ui/campaign-form"; + +export const metadata: Metadata = { title: "New campaign" }; +export const dynamic = "force-dynamic"; + +export default async function NewCampaignPage({ searchParams }: { searchParams: Promise<{ product?: string }> }) { + const [products, params] = await Promise.all([listProducts(), searchParams]); + return ( +
    +
    +
    +

    + Campaigns +

    +

    New campaign

    +
    +
    + {products.length === 0 ? ( +
    +

    Add a product first

    +

    A campaign is built around one product and its photos.

    + + Add a product + +
    + ) : ( + + )} +
    + ); +} diff --git a/src/app/app/campaigns/page.tsx b/src/app/app/campaigns/page.tsx new file mode 100644 index 0000000..3d35099 --- /dev/null +++ b/src/app/app/campaigns/page.tsx @@ -0,0 +1,61 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +import { getChannel } from "@/domain/channels"; +import { findPreset } from "@/domain/presets"; +import { listCampaigns } from "@/server/actions/campaigns"; +import { listProducts } from "@/server/actions/products"; + +export const metadata: Metadata = { title: "Campaigns" }; +export const dynamic = "force-dynamic"; + +export default async function CampaignsPage() { + const [campaigns, products] = await Promise.all([listCampaigns(), listProducts()]); + const productName = (id: string) => products.find((product) => product.id === id)?.name ?? "Archived product"; + return ( +
    +
    +
    +

    Campaigns

    +

    One product, a set of presets, the channels it ships to — generated together, exported as one folder.

    +
    + + New campaign + +
    + + {campaigns.length === 0 ? ( +
    +

    No campaigns yet

    +

    {products.length === 0 ? "Add a product first, then build a campaign around it." : "Pick a product, choose presets and channels, and generate the whole set in one press."}

    + + {products.length === 0 ? "Add a product" : "Create a campaign"} + +
    + ) : ( +
      + {campaigns.map((campaign) => ( +
    • + + {campaign.name} + {productName(campaign.productId)} + + {campaign.presetIds.map((id) => ( + + {findPreset(id)?.label ?? id} + + ))} + {campaign.channelIds.map((id) => ( + + {getChannel(id).label} + + ))} + + +
    • + ))} +
    + )} +
    + ); +} diff --git a/src/app/app/layout.tsx b/src/app/app/layout.tsx new file mode 100644 index 0000000..0905ce4 --- /dev/null +++ b/src/app/app/layout.tsx @@ -0,0 +1,31 @@ +import { Inter } from "next/font/google"; +import { redirect } from "next/navigation"; +import type { ReactNode } from "react"; + +import { getViewer } from "@/server/session"; +import { Sidebar } from "@/ui/sidebar"; + +import "@/studio/studio.css"; +import "@/ui/app.css"; + +const inter = Inter({ subsets: ["latin"], variable: "--font-vt-inter", display: "swap" }); + +/* Everything under /app is behind the session. The check lives here rather + than in a proxy so every page gets the viewer for free and a missing + session lands on the sign-in page with the way back. */ +export default async function AppLayout({ children }: { children: ReactNode }) { + const viewer = await getViewer(); + if (!viewer) redirect("/login"); + return ( +
    + +
    {children}
    +
    + ); +} diff --git a/src/app/app/page.tsx b/src/app/app/page.tsx new file mode 100644 index 0000000..bdcc028 --- /dev/null +++ b/src/app/app/page.tsx @@ -0,0 +1,16 @@ +import type { Metadata } from "next"; +import { redirect } from "next/navigation"; + +import { getViewer } from "@/server/session"; +import { loadStudioData } from "@/server/studio-data"; +import { StudioApp } from "@/studio/studio-app"; + +export const metadata: Metadata = { title: "Studio" }; +export const dynamic = "force-dynamic"; + +export default async function StudioPage() { + const viewer = await getViewer(); + if (!viewer) redirect("/login"); + const data = await loadStudioData(viewer); + return ; +} diff --git a/src/app/app/products/[id]/page.tsx b/src/app/app/products/[id]/page.tsx new file mode 100644 index 0000000..e74ff04 --- /dev/null +++ b/src/app/app/products/[id]/page.tsx @@ -0,0 +1,33 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { notFound } from "next/navigation"; + +import { getProduct } from "@/server/actions/products"; +import { ProductEditor } from "@/ui/product-editor"; + +export const metadata: Metadata = { title: "Product" }; +export const dynamic = "force-dynamic"; + +export default async function ProductPage({ params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + const product = id === "new" ? null : await getProduct(id); + if (id !== "new" && !product) notFound(); + return ( +
    +
    +
    +

    + Products +

    +

    {product ? product.name : "New product"}

    +
    + {product && ( + + Open in studio + + )} +
    + +
    + ); +} diff --git a/src/app/app/products/page.tsx b/src/app/app/products/page.tsx new file mode 100644 index 0000000..88bcdb3 --- /dev/null +++ b/src/app/app/products/page.tsx @@ -0,0 +1,58 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +import { listProducts } from "@/server/actions/products"; + +export const metadata: Metadata = { title: "Products" }; +export const dynamic = "force-dynamic"; + +export default async function ProductsPage() { + const products = await listProducts(); + return ( +
    +
    +
    +

    Products

    +

    Every product carries its photos and the words the prompts are built from.

    +
    + + New product + +
    + + {products.length === 0 ? ( +
    +

    No products yet

    +

    Add your first product — a name, how it looks, and a photo — and the studio does the rest.

    + + Add a product + +
    + ) : ( +
      + {products.map((product) => ( +
    • + + + {product.assets[0] ? ( + /* eslint-disable-next-line @next/next/no-img-element */ + + ) : ( + No photo + )} + + + {product.name} + + {product.category !== "Other" ? `${product.category} · ` : ""} + {product.assets.length} photo{product.assets.length === 1 ? "" : "s"} + + + +
    • + ))} +
    + )} +
    + ); +} diff --git a/src/app/app/settings/page.tsx b/src/app/app/settings/page.tsx new file mode 100644 index 0000000..0bb325e --- /dev/null +++ b/src/app/app/settings/page.tsx @@ -0,0 +1,36 @@ +import type { Metadata } from "next"; + +import { platformKeyStatus } from "@/generation/actions"; +import { getWorkspaceSummary, listLedger } from "@/server/actions/billing"; +import { requireViewer } from "@/server/session"; +import { KeyPanel, LedgerPanel, PlanPanel } from "@/ui/settings"; + +export const metadata: Metadata = { title: "Settings" }; +export const dynamic = "force-dynamic"; + +export default async function SettingsPage({ searchParams }: { searchParams: Promise<{ checkout?: string }> }) { + const [viewer, summary, key, ledger, params] = await Promise.all([ + requireViewer(), + getWorkspaceSummary(), + platformKeyStatus(), + listLedger(), + searchParams, + ]); + return ( +
    +
    +
    +

    Settings

    +

    + {viewer.workspace.name} · {viewer.user.email} +

    +
    +
    +
    + + + +
    +
    + ); +} diff --git a/src/app/base.css b/src/app/base.css index 73b2d0b..1da2ec5 100644 --- a/src/app/base.css +++ b/src/app/base.css @@ -1,7 +1,7 @@ /* Document base. The studio at / ships its own scoped system in - src/openhiggsfield/openhiggsfield.css; this file only owns what lives outside + src/vitrina/studio.css; this file only owns what lives outside that scope — the document canvas, which overscroll rubber-banding exposes. - Literal because --bg lives on .ohf; it matches STUDIO_BG in src/site.ts. */ + Literal because --bg lives on .vt; it matches STUDIO_BG in src/site.ts. */ html { -webkit-text-size-adjust: 100%; diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..f28d91f --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,18 @@ +import type { Metadata } from "next"; +import { redirect } from "next/navigation"; + +import { getViewer } from "@/server/session"; +import { AuthForm } from "@/ui/auth-form"; +import { AuthShell } from "@/ui/auth-shell"; + +export const metadata: Metadata = { title: "Sign in" }; +export const dynamic = "force-dynamic"; + +export default async function LoginPage() { + if (await getViewer()) redirect("/app"); + return ( + + + + ); +} diff --git a/src/app/manifest.ts b/src/app/manifest.ts index 44cdf4c..86a4272 100644 --- a/src/app/manifest.ts +++ b/src/app/manifest.ts @@ -7,7 +7,7 @@ export default function manifest(): MetadataRoute.Manifest { name: SITE_TITLE, short_name: SITE_NAME, description: SITE_DESCRIPTION, - start_url: "/", + start_url: "/app", scope: "/", display: "standalone", /* Installed, the app opens straight into the studio, so both colors are diff --git a/src/app/page.tsx b/src/app/page.tsx index 21efc2e..e560d71 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,22 +1,135 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; +import Link from "next/link"; -import { OpenHiggsfieldApp } from "@/openhiggsfield/openhiggsfield-app"; +import { CHANNELS } from "@/domain/channels"; +import { PLANS, formatPrice } from "@/domain/plans"; +import { PRESETS } from "@/domain/presets"; +import { MODELS } from "@/generation/catalog"; +import { VERTICAL } from "@/domain"; -import "@/openhiggsfield/openhiggsfield.css"; +import "@/studio/studio.css"; +import "@/ui/app.css"; -const inter = Inter({ - subsets: ["latin"], - variable: "--font-ohf-inter", - display: "swap", -}); +const inter = Inter({ subsets: ["latin"], variable: "--font-vt-inter", display: "swap" }); -/* Title, description and the Open Graph block all come from the root, which - already describes this surface. Only the canonical link is route-specific. */ -export const metadata: Metadata = { - alternates: { canonical: "/" }, -}; +export const metadata: Metadata = { alternates: { canonical: "/" } }; -export default function OpenHiggsfieldPage() { - return ; +const STEPS = [ + { title: "Add a product", body: "Name, category, a few lines on how it looks, and the photos you already have." }, + { title: "Pick a preset and a channel", body: "Pack shot for Amazon, lifestyle for Instagram, a 9:16 reveal for TikTok — ratio and length resolve themselves." }, + { title: "Generate, review, export", body: "Approve the keepers, export a folder per channel, publish." }, +]; + +export default function LandingPage() { + const images = PRESETS.filter((preset) => preset.surface === "image").length; + const videos = PRESETS.length - images; + return ( +
    +
    + + + {VERTICAL.name} + + +
    + +
    +

    {VERTICAL.descriptor}

    +

    Product photos and clips for every channel, from the photo you already have.

    +

    + Upload a product shot. Pick a preset — pack shot, lifestyle scene, on-model, product reveal, UGC-style clip — and the + channel it is for. {VERTICAL.name} writes the prompt from your brand kit, picks the right model out of {MODELS.length}, + fixes the ratio and length the channel wants, and files every approved result by product and channel. +

    +
    + + Create your studio — 30 free credits + + + How it works + +
    +
      +
    • + {images} image presets +
    • +
    • + {videos} video presets +
    • +
    • + {CHANNELS.length} channels +
    • +
    • + {MODELS.length} models +
    • +
    +
    + +
    +

    Three steps, one folder per channel

    +
      + {STEPS.map((step, index) => ( +
    1. + {index + 1} +

      {step.title}

      +

      {step.body}

      +
    2. + ))} +
    +
    + +
    +

    Presets an e-commerce team asks for by name

    +
      + {PRESETS.map((preset) => ( +
    • + {preset.surface} +

      {preset.label}

      +

      {preset.description}

      +
    • + ))} +
    +
    + +
    +

    Pricing

    +

    + One credit is one standard image. Video is priced per second. Bring your own platform key on Pro and Studio and pay + the platform directly instead. +

    +
      + {PLANS.map((plan) => ( +
    • +

      {plan.label}

      +

      + {plan.priceCents === 0 ? "Free" : formatPrice(plan.priceCents)} + {plan.priceCents > 0 && / month} +

      +

      {plan.blurb}

      +
        + {plan.features.map((feature) => ( +
      • {feature}
      • + ))} +
      + + {plan.priceCents === 0 ? "Start free" : `Start with ${plan.label}`} + +
    • + ))} +
    +
    + +
    + {VERTICAL.name} — {VERTICAL.descriptor} + Built on an open studio for image and video generation. +
    +
    + ); } diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx new file mode 100644 index 0000000..7c3c520 --- /dev/null +++ b/src/app/register/page.tsx @@ -0,0 +1,18 @@ +import type { Metadata } from "next"; +import { redirect } from "next/navigation"; + +import { getViewer } from "@/server/session"; +import { AuthForm } from "@/ui/auth-form"; +import { AuthShell } from "@/ui/auth-shell"; + +export const metadata: Metadata = { title: "Create your studio" }; +export const dynamic = "force-dynamic"; + +export default async function RegisterPage() { + if (await getViewer()) redirect("/app"); + return ( + + + + ); +} diff --git a/src/app/robots.ts b/src/app/robots.ts index dae01f2..6317685 100644 --- a/src/app/robots.ts +++ b/src/app/robots.ts @@ -7,9 +7,8 @@ export default function robots(): MetadataRoute.Robots { rules: { userAgent: "*", allow: "/", - /* /api/blob issues upload tokens — not a page a search result should - land on. */ - disallow: ["/api/"], + /* The workspace and its API are behind a session. */ + disallow: ["/api/", "/app/"], }, sitemap: `${SITE_URL}/sitemap.xml`, host: SITE_URL, diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index ff11b06..e8aa953 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -5,5 +5,9 @@ import { SITE_URL } from "@/site"; export default function sitemap(): MetadataRoute.Sitemap { const lastModified = new Date(); - return [{ url: `${SITE_URL}/`, lastModified, changeFrequency: "weekly", priority: 1 }]; + return [ + { url: `${SITE_URL}/`, lastModified, changeFrequency: "weekly", priority: 1 }, + { url: `${SITE_URL}/register`, lastModified, changeFrequency: "monthly", priority: 0.6 }, + { url: `${SITE_URL}/login`, lastModified, changeFrequency: "monthly", priority: 0.3 }, + ]; } diff --git a/src/auth/auth.ts b/src/auth/auth.ts index 6f06b31..b21922f 100644 --- a/src/auth/auth.ts +++ b/src/auth/auth.ts @@ -6,8 +6,12 @@ import { db, schema } from "@/db/client"; import { bootstrapWorkspace } from "@/server/workspaces"; const secret = process.env.APP_SECRET?.trim(); -if (!secret && process.env.NODE_ENV === "production") { - throw new Error("Missing APP_SECRET"); +/* The build evaluates route modules without the runtime environment; the + guard is for a server that would otherwise sign sessions with a known + default. */ +const building = process.env.NEXT_PHASE === "phase-production-build"; +if (!secret && process.env.NODE_ENV === "production" && !building) { + throw new Error("Missing APP_SECRET — set it before starting the server"); } export const auth = betterAuth({ diff --git a/src/generation/actions.ts b/src/generation/actions.ts index ae8eddf..7f2a97c 100644 --- a/src/generation/actions.ts +++ b/src/generation/actions.ts @@ -1,77 +1,199 @@ "use server"; -import { cookies } from "next/headers"; +import { eq } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { creditsFor } from "@/domain/pricing"; +import { InsufficientCreditsError, refundCredits, reserveCredits } from "@/server/credits"; +import { creditsOfRequest, insertRunningRows, runningRequestIds, settleRequest, type RunContext, type RunRecord } from "@/server/runs"; +import { seal, unseal } from "@/server/seal"; +import { requireViewer, type Viewer } from "@/server/session"; import { getModel, parseSettings } from "./catalog"; import type { GenerationPlane } from "./catalog/types"; import { MissingCredentialsError, - PLATFORM_KEY_COOKIE, - PLATFORM_KEY_COOKIE_OPTIONS, - decodeCredentials, - encodeCredentials, + operatorKey, parseCredentialInput, + platformBaseUrl, + type KeyMode, } from "./credentials"; import { createPlatformClient } from "./platform"; -import type { StatusResult } from "./platform"; +import type { GenerationStatus } from "./platform"; import { toPlatform } from "./to-platform"; -export async function savePlatformCredentials(data: unknown) { +/* ---------- keys ---------- */ + +export type KeyStatus = { mode: KeyMode; byok: boolean; canEdit: boolean }; + +/** Where this workspace's runs are billed: its own key when it brought one, + the operator's otherwise — or nowhere, which the studio reports up front. */ +export async function platformKeyStatus(): Promise { + const viewer = await requireViewer(); + const byok = Boolean(viewer.workspace.platformKeySealed); + const mode: KeyMode = byok ? "byok" : operatorKey() ? "operator" : "none"; + return { mode, byok, canEdit: viewer.role === "owner" }; +} + +export async function savePlatformCredentials(data: unknown): Promise { + const viewer = await requireOwner(); const { apiKey } = parseCredentialInput(data); - const jar = await cookies(); - jar.set(PLATFORM_KEY_COOKIE, encodeCredentials(apiKey), PLATFORM_KEY_COOKIE_OPTIONS); + await db + .update(schema.workspace) + .set({ platformKeySealed: seal(apiKey), updatedAt: new Date() }) + .where(eq(schema.workspace.id, viewer.workspace.id)); + return { mode: "byok", byok: true, canEdit: true }; } -export async function clearPlatformCredentials() { - const jar = await cookies(); - jar.set(PLATFORM_KEY_COOKIE, "", { ...PLATFORM_KEY_COOKIE_OPTIONS, maxAge: 0 }); +export async function clearPlatformCredentials(): Promise { + const viewer = await requireOwner(); + await db + .update(schema.workspace) + .set({ platformKeySealed: null, updatedAt: new Date() }) + .where(eq(schema.workspace.id, viewer.workspace.id)); + return { mode: operatorKey() ? "operator" : "none", byok: false, canEdit: true }; } -export async function hasPlatformCredentials() { - return (await readStoredCredentials()) !== null; +async function requireOwner(): Promise { + const viewer = await requireViewer(); + if (viewer.role !== "owner") throw new Error("Only the workspace owner can change the platform key"); + return viewer; } -export async function submitGeneration(plane: GenerationPlane) { - const model = getModel(plane.model); - const parsed: GenerationPlane = { - ...plane, - settings: parseSettings(model, plane.settings), - }; - const { path, body } = toPlatform(parsed); - return createPlatformClient(await readCredentials()).submit(path, body); +function resolveCredentials(viewer: Viewer): { apiKey: string; baseUrl: string; mode: KeyMode } { + const baseUrl = platformBaseUrl(); + const sealed = viewer.workspace.platformKeySealed; + if (sealed) { + const apiKey = unseal(sealed); + if (apiKey) return { apiKey, baseUrl, mode: "byok" }; + } + const key = operatorKey(); + if (key) return { apiKey: key, baseUrl, mode: "operator" }; + throw new MissingCredentialsError(); } -/** Every request in flight, answered in one round trip. Next dispatches server - actions one at a time per client, so a poll per run would queue ahead of the - next submit — the fan-out belongs on this side of the call, where it is - genuinely parallel. */ +/* ---------- generate ---------- */ + +export type SubmitInput = { + plane: GenerationPlane; + context: RunContext; + /** Tiles the studio opened for this request; the platform decides the real + count when it answers. */ + expected: number; + /** Presentation the studio computed for the tile and viewer. */ + view: { ratio: string; meta: string; badge?: string }; +}; + +export type SubmitResult = { + requestId: string; + credits: number; + mode: KeyMode; + runs: RunRecord[]; +}; + +/** Submit one generation. The credit debit happens before the platform is + asked and is refunded if the ask itself fails; a run the platform accepts + and later fails is refunded when its status settles. */ +export async function submitGeneration(input: SubmitInput): Promise { + const viewer = await requireViewer(); + const model = getModel(input.plane.model); + const parsed: GenerationPlane = { ...input.plane, settings: parseSettings(model, input.plane.settings) }; + if (!parsed.prompt.text.trim()) throw new Error("Write a prompt first"); + + const credentials = resolveCredentials(viewer); + const credits = credentials.mode === "byok" ? 0 : creditsFor(model, parsed.settings); + const reservationKey = `reserve:${crypto.randomUUID()}`; + if (credits > 0) await reserveCredits(viewer.workspace.id, credits, reservationKey); + + let queued; + try { + const { path, body } = toPlatform(parsed); + queued = await createPlatformClient(credentials).submit(path, body); + } catch (caught) { + if (credits > 0) await refundCredits(viewer.workspace.id, credits, reservationKey, "submit failed"); + throw caught; + } + + const runs = await insertRunningRows(viewer.workspace.id, viewer.user.id, queued.requestId, input.expected, { + ...input.context, + surface: model.surface, + modelId: model.id, + modelLabel: model.label, + prompt: parsed.prompt.text.trim(), + ratio: input.view.ratio, + meta: input.view.meta, + badge: input.view.badge, + settings: parsed.settings, + credits, + }); + if (credits > 0) { + /* Re-key the ledger entry to the platform's request id so a later refund + can find it by the same handle the status poll carries. */ + await db + .update(schema.creditLedger) + .set({ requestId: queued.requestId }) + .where(eq(schema.creditLedger.requestId, reservationKey)); + } + return { requestId: queued.requestId, credits, mode: credentials.mode, runs }; +} + +/* ---------- poll ---------- */ + +export type StatusResult = + | { requestId: string; status: GenerationStatus; runs: RunRecord[] | null } + | { requestId: string; error: string; runs: RunRecord[] | null }; + +const TERMINAL = new Set(["completed", "failed", "nsfw", "canceled"]); + +/** Every request in flight, answered in one round trip. Terminal answers are + written to the run log here — the server, not the browser, settles a run, + so a tab that closes mid-poll loses nothing and the refund cannot be + skipped by a client that never came back. */ export async function getGenerationStatuses(data: unknown): Promise { + const viewer = await requireViewer(); const requestIds = parseRequestIds(data); - const client = createPlatformClient(await readCredentials()); + const owned = await runningRequestIds(viewer.workspace.id, requestIds); + const credentials = resolveCredentials(viewer); + const client = createPlatformClient(credentials); return Promise.all( - requestIds.map(async (requestId): Promise => { + [...owned].map(async (requestId): Promise => { try { - return { requestId, status: await client.status(requestId) }; + const status = await client.status(requestId); + if (!TERMINAL.has(status.status)) return { requestId, status, runs: null }; + const runs = await settleRequest(viewer.workspace.id, requestId, { status }); + if (runs && runs.some((run) => run.status === "failed")) { + await refundForRequest(viewer.workspace.id, requestId, runs[0]?.error); + } + return { requestId, status, runs }; } catch (caught) { - return { requestId, error: caught instanceof Error ? caught.message : String(caught) }; + const error = caught instanceof Error ? caught.message : String(caught); + return { requestId, error, runs: null }; } }), ); } -async function readStoredCredentials() { - const jar = await cookies(); - return decodeCredentials(jar.get(PLATFORM_KEY_COOKIE)?.value); +/** The studio gave up on a request (deadline, or the poll itself kept + failing). Record the failure so the tiles do not stay open forever, and + give the credits back. */ +export async function abandonRequest(data: unknown): Promise { + const viewer = await requireViewer(); + const payload = asObject(data, "Invalid payload"); + const requestId = typeof payload.requestId === "string" ? payload.requestId : ""; + const reason = typeof payload.reason === "string" && payload.reason ? payload.reason : "the run did not finish"; + if (!requestId) throw new Error("Invalid request id"); + const runs = await settleRequest(viewer.workspace.id, requestId, { error: reason }); + if (runs) await refundForRequest(viewer.workspace.id, requestId, reason); + return runs; } -async function readCredentials() { - const stored = await readStoredCredentials(); - if (!stored) throw new MissingCredentialsError(); - const baseUrl = process.env.HF_API_BASE_URL; - if (!baseUrl) throw new Error("Missing HF_API_BASE_URL"); - return { ...stored, baseUrl }; +async function refundForRequest(workspaceId: string, requestId: string, note?: string): Promise { + const credits = await creditsOfRequest(workspaceId, requestId); + if (credits > 0) await refundCredits(workspaceId, credits, requestId, note); } +export { InsufficientCreditsError }; + function parseRequestIds(data: unknown): string[] { const payload = asObject(data, "Invalid status payload"); const requestIds = payload.requestIds; diff --git a/src/generation/credentials.ts b/src/generation/credentials.ts index 389c50f..c5a681b 100644 --- a/src/generation/credentials.ts +++ b/src/generation/credentials.ts @@ -1,13 +1,3 @@ -export const PLATFORM_KEY_COOKIE = "api_key"; - -export const PLATFORM_KEY_COOKIE_OPTIONS = { - httpOnly: true, - secure: process.env.NODE_ENV === "production", - sameSite: "lax" as const, - path: "/", - maxAge: 60 * 60 * 24 * 30, -}; - export class MissingCredentialsError extends Error { constructor() { super("Missing platform key"); @@ -15,22 +5,10 @@ export class MissingCredentialsError extends Error { } } -export function encodeCredentials(apiKey: string): string { - return JSON.stringify({ apiKey }); -} - -export function decodeCredentials(raw: string | undefined): { apiKey: string } | null { - if (!raw) return null; - try { - const parsed = JSON.parse(raw) as unknown; - if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return null; - const apiKey = (parsed as { apiKey?: unknown }).apiKey; - if (typeof apiKey !== "string" || !apiKey.trim()) return null; - return { apiKey: requireIdAndSecret(apiKey.trim()) }; - } catch { - return null; - } -} +/** Who pays the platform for a run. "operator" is the SaaS default — the + installation's own key, metered in credits. "byok" is a workspace that + brought its own key and is not charged credits. */ +export type KeyMode = "operator" | "byok" | "none"; export function parseCredentialInput(data: unknown): { apiKey: string } { if (data === null || typeof data !== "object" || Array.isArray(data)) { @@ -46,10 +24,27 @@ export function toAuthorizationHeader(apiKey: string): string { return `Key ${requireIdAndSecret(apiKey)}`; } -function requireIdAndSecret(apiKey: string): string { +export function requireIdAndSecret(apiKey: string): string { const colon = apiKey.indexOf(":"); if (colon <= 0 || colon === apiKey.length - 1) { throw new Error("API key must be id:secret"); } return apiKey; } + +/** The installation's own platform key, if the operator set one. */ +export function operatorKey(): string | null { + const key = process.env.PLATFORM_API_KEY?.trim(); + if (!key) return null; + try { + return requireIdAndSecret(key); + } catch { + return null; + } +} + +export function platformBaseUrl(): string { + const baseUrl = process.env.HF_API_BASE_URL?.trim(); + if (!baseUrl) throw new Error("Missing HF_API_BASE_URL"); + return baseUrl; +} diff --git a/src/generation/device.ts b/src/generation/device.ts deleted file mode 100644 index 5613242..0000000 --- a/src/generation/device.ts +++ /dev/null @@ -1,39 +0,0 @@ -export const DEVICE_COOKIE = "ohf_device"; - -export const DEVICE_COOKIE_OPTIONS = { - httpOnly: true, - secure: process.env.NODE_ENV === "production", - sameSite: "lax" as const, - path: "/", - maxAge: 60 * 60 * 24 * 400, -}; - -const DEVICE_ID_RE = /^[A-Za-z0-9_-]{16,64}$/; - -export function mintDeviceId(): string { - const bytes = new Uint8Array(16); - crypto.getRandomValues(bytes); - return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join(""); -} - -export function parseDeviceId(raw: string | undefined): string | null { - return raw && DEVICE_ID_RE.test(raw) ? raw : null; -} - -export function resolveDeviceId(raw: string | undefined): { deviceId: string; minted: boolean } { - const existing = parseDeviceId(raw); - if (existing) return { deviceId: existing, minted: false }; - return { deviceId: mintDeviceId(), minted: true }; -} - -export function blobPathname(deviceId: string, filename: string): string { - const id = parseDeviceId(deviceId); - if (!id) throw new Error("Invalid device id"); - return `${id}/${sanitizeFilename(filename)}`; -} - -function sanitizeFilename(filename: string): string { - const base = filename.replaceAll("\\", "/").split("/").pop() ?? ""; - const cleaned = base.replace(/[^A-Za-z0-9._-]+/g, "_").replace(/^\.+/, ""); - return cleaned.slice(0, 180) || "file"; -} diff --git a/src/generation/poll.ts b/src/generation/poll.ts index ce3199f..4e8f282 100644 --- a/src/generation/poll.ts +++ b/src/generation/poll.ts @@ -1,5 +1,6 @@ -import { getGenerationStatuses } from "./actions"; -import type { GenerationStatus, StatusResult } from "./platform"; +import { abandonRequest, getGenerationStatuses } from "./actions"; +import type { StatusResult } from "./actions"; +import type { RunRecord } from "@/server/runs"; /** Statuses the platform never moves off again. */ const TERMINAL = new Set(["completed", "failed", "nsfw", "canceled"]); @@ -10,35 +11,37 @@ export const POLL_DEADLINE_MS = 10 * 60_000; dropped round must not end every generation in flight. */ const MAX_MISSES = 3; +/** What a watch resolves with: the rows the server wrote for the request, or + null when nothing was running for it any more (deleted while in flight, + or settled by another tab). */ +export type Settled = RunRecord[] | null; + type Waiter = { deadline: number; - resolve: (status: GenerationStatus) => void; + resolve: (settled: Settled) => void; reject: (reason: Error) => void; }; const waiting = new Map(); -const inflight = new Map>(); +const inflight = new Map>(); let timer: ReturnType | null = null; let polling = false; let misses = 0; -/** Resolves when the platform reports a terminal status for this request. - Every request in flight is asked for together, in one server action per - interval: Next dispatches server actions one at a time per client, so a - poll per run would queue ahead of the next submit and the composer would - stall again — with the lock gone and the queue doing the same work. */ -export function watchRequest( - requestId: string, - opts?: { deadline?: number }, -): Promise { +/** Resolves when the platform reports a terminal status for this request and + the server has settled its rows. Every request in flight is asked for + together, in one server action per interval: Next dispatches server + actions one at a time per client, so a poll per run would queue ahead of + the next submit and the composer would stall. */ +export function watchRequest(requestId: string, opts?: { deadline?: number }): Promise { const existing = inflight.get(requestId); if (existing) return existing; - const promise = new Promise((resolve, reject) => { + const promise = new Promise((resolve, reject) => { waiting.set(requestId, { deadline: opts?.deadline ?? Date.now() + POLL_DEADLINE_MS, - resolve: (status) => { + resolve: (settled) => { inflight.delete(requestId); - resolve(status); + resolve(settled); }, reject: (reason) => { inflight.delete(requestId); @@ -52,8 +55,8 @@ export function watchRequest( } /** Drops every watch without settling it: the studio unmounted and there is - nobody left to hand a result to. In-flight jobs stay in history and the - next mount starts a fresh watch. */ + nobody left to hand a result to. In-flight jobs stay in the run log and + the next mount starts a fresh watch. */ export function stopWatching(): void { if (timer !== null) clearTimeout(timer); timer = null; @@ -71,10 +74,21 @@ async function round(): Promise { timer = null; polling = true; try { - const results = await getGenerationStatuses({ requestIds: [...waiting.keys()] }); + const ids = [...waiting.keys()]; + const results = await getGenerationStatuses({ requestIds: ids }); misses = 0; + const answered = new Set(results.map((result) => result.requestId)); for (const result of results) deliver(result); - sweep(); + /* A request the server no longer holds as running has been settled or + deleted elsewhere; there is nothing left to wait for. */ + for (const id of ids) { + if (answered.has(id)) continue; + const waiter = waiting.get(id); + if (!waiter) continue; + waiting.delete(id); + waiter.resolve(null); + } + await sweep(); } catch (caught) { if (++misses < MAX_MISSES) return; settleAll(caught instanceof Error ? caught : new Error(String(caught))); @@ -88,23 +102,28 @@ function deliver(result: StatusResult): void { const waiter = waiting.get(result.requestId); if (!waiter) return; if ("error" in result) { - waiting.delete(result.requestId); - waiter.reject(new Error(result.error)); + /* One request's poll failing is not the run failing: the platform may be + slow on that id alone. Keep waiting until the deadline. */ return; } if (!TERMINAL.has(result.status.status)) return; waiting.delete(result.requestId); - waiter.resolve(result.status); + waiter.resolve(result.runs); } /* A run the platform never finishes would otherwise hold its skeleton open for - the rest of the session. */ -function sweep(): void { + the rest of the session — and its credits. The server records the timeout + and refunds. */ +async function sweep(): Promise { const now = Date.now(); for (const [requestId, waiter] of [...waiting]) { if (now <= waiter.deadline) continue; waiting.delete(requestId); - waiter.reject(new Error("timed out waiting for the platform")); + try { + waiter.resolve(await abandonRequest({ requestId, reason: "timed out waiting for the platform" })); + } catch (caught) { + waiter.reject(caught instanceof Error ? caught : new Error(String(caught))); + } } } diff --git a/src/generation/stores/active.ts b/src/generation/stores/active.ts index ebc2438..001a5aa 100644 --- a/src/generation/stores/active.ts +++ b/src/generation/stores/active.ts @@ -39,7 +39,7 @@ export const useActive = create()( }), }), { - name: "openhiggsfield.active.v2", + name: "vitrina.active.v2", storage: browserStorage(), partialize: (state) => ({ surface: state.surface, model: state.model, batch: state.batch }), onRehydrateStorage: () => (state) => { diff --git a/src/generation/stores/media.ts b/src/generation/stores/media.ts index 56a49e5..738167d 100644 --- a/src/generation/stores/media.ts +++ b/src/generation/stores/media.ts @@ -29,5 +29,5 @@ function createMediaStore(name: string) { ); } -export const useImageMedia = createMediaStore("openhiggsfield.imageMedia.v1"); -export const useVideoMedia = createMediaStore("openhiggsfield.videoMedia.v1"); +export const useImageMedia = createMediaStore("vitrina.imageMedia.v1"); +export const useVideoMedia = createMediaStore("vitrina.videoMedia.v1"); diff --git a/src/generation/stores/prompt.ts b/src/generation/stores/prompt.ts index 2e14290..1182944 100644 --- a/src/generation/stores/prompt.ts +++ b/src/generation/stores/prompt.ts @@ -20,5 +20,5 @@ function createPromptStore(name: string) { ); } -export const useImagePrompt = createPromptStore("openhiggsfield.imagePrompt.v1"); -export const useVideoPrompt = createPromptStore("openhiggsfield.videoPrompt.v1"); +export const useImagePrompt = createPromptStore("vitrina.imagePrompt.v1"); +export const useVideoPrompt = createPromptStore("vitrina.videoPrompt.v1"); diff --git a/src/generation/stores/settings.ts b/src/generation/stores/settings.ts index 56cc0e0..1ca36d2 100644 --- a/src/generation/stores/settings.ts +++ b/src/generation/stores/settings.ts @@ -26,6 +26,6 @@ export const useSettings = create()( }; }), }), - { name: "openhiggsfield.settings.v1", storage: browserStorage(), partialize: (state) => ({ byModel: state.byModel }) }, + { name: "vitrina.settings.v1", storage: browserStorage(), partialize: (state) => ({ byModel: state.byModel }) }, ), ); diff --git a/src/generation/upload.ts b/src/generation/upload.ts index 81024da..bc936f7 100644 --- a/src/generation/upload.ts +++ b/src/generation/upload.ts @@ -1,6 +1,27 @@ import { put } from "@vercel/blob/client"; +/** Which store the browser sends files to. Set at build time from the same + variable the server reads, so the two never disagree. */ +export function storageDriver(): "blob" | "local" { + return process.env.NEXT_PUBLIC_STORAGE_DRIVER === "blob" ? "blob" : "local"; +} + export async function uploadMedia(file: File): Promise<{ url: string }> { + return storageDriver() === "blob" ? uploadToBlob(file) : uploadToLocal(file); +} + +async function uploadToLocal(file: File): Promise<{ url: string }> { + const form = new FormData(); + form.set("file", file, file.name); + const res = await fetch("/api/upload", { method: "POST", body: form }); + const body = (await res.json().catch(() => ({}))) as { url?: unknown; error?: unknown }; + if (!res.ok || typeof body.url !== "string") { + throw new Error(typeof body.error === "string" ? body.error : "Upload failed"); + } + return { url: body.url }; +} + +async function uploadToBlob(file: File): Promise<{ url: string }> { const res = await fetch("/api/blob", { method: "POST", headers: { "content-type": "application/json" }, @@ -9,14 +30,10 @@ export async function uploadMedia(file: File): Promise<{ url: string }> { payload: { pathname: file.name, clientPayload: null, multipart: false }, }), }); - if (!res.ok) throw new Error("Failed to retrieve the client token"); - const { clientToken, pathname } = (await res.json()) as { - clientToken?: unknown; - pathname?: unknown; - }; - if (typeof clientToken !== "string" || typeof pathname !== "string") { - throw new Error("Failed to retrieve the client token"); + const body = (await res.json().catch(() => ({}))) as { clientToken?: unknown; pathname?: unknown; error?: unknown }; + if (!res.ok || typeof body.clientToken !== "string" || typeof body.pathname !== "string") { + throw new Error(typeof body.error === "string" ? body.error : "Failed to retrieve the client token"); } - const blob = await put(pathname, file, { access: "public", token: clientToken }); + const blob = await put(body.pathname, file, { access: "public", token: body.clientToken }); return { url: blob.url }; } diff --git a/src/openhiggsfield/history.ts b/src/openhiggsfield/history.ts deleted file mode 100644 index f172a5b..0000000 --- a/src/openhiggsfield/history.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { browserLegacy, defaultKv, type Kv, type LegacyStore } from "./idb"; -import type { Surface } from "@/generation/catalog"; - -export type RunStatus = "running" | "completed" | "failed"; - -export interface RunRecord { - id: string; - surface: Surface; - modelId: string; - modelLabel: string; - prompt: string; - /** CSS aspect-ratio value, e.g. "16 / 9" */ - ratio: string; - meta: string; - badge?: string; - kind: "image" | "video"; - urls: string[]; - status: RunStatus; - /** Platform request this row is waiting on. Set while status is running so a - refresh can resume the poll; completed rows keep it for the same id. */ - requestId?: string; - error?: string; - /** Layered-gradient fallback used while media loads or when a run failed. */ - art: string; - createdAt: number; - /** Kept deliberately: shows in the Favorites scope and outlives the cap. */ - favorite?: boolean; - /** Resolved catalog settings this run was submitted with, so reuse can - restore the dials and not just the words. Absent on pre-existing records. */ - settings?: Record; -} - -export const HISTORY_KEY = "history.v1"; -export const LEGACY_HISTORY_KEY = "openhiggsfield.history.v1"; -const MAX_RECORDS = 60; - -export async function loadHistory( - kv: Kv = defaultKv(), - legacy: LegacyStore | undefined = browserLegacy(), -): Promise { - const stored = await readIdb(kv); - const fromLegacy = readLegacy(legacy); - if (stored.length === 0) return fromLegacy; - if (fromLegacy.length === 0) return stored; - return mergeHistory(stored, fromLegacy); -} - -export async function saveHistory( - records: RunRecord[], - kv: Kv = defaultKv(), - legacy: LegacyStore | undefined = browserLegacy(), -): Promise { - const next = capHistory(records.filter(isRunRecord)); - try { - await kv.set(HISTORY_KEY, next); - } catch { - /* private mode or a denied store */ - } - try { - legacy?.setItem(LEGACY_HISTORY_KEY, JSON.stringify(next)); - } catch { - /* quota or a denied store */ - } -} - -/** Session rows win on id collision so a generate that landed before IDB - finished reading is not wiped by the delayed load. */ -export function mergeHistory(stored: RunRecord[], live: RunRecord[]): RunRecord[] { - const byId = new Map(); - for (const row of [...stored, ...live]) { - const prev = byId.get(row.id); - if (!prev || newerRecord(row, prev)) byId.set(row.id, row); - } - return capHistory([...byId.values()].sort((a, b) => b.createdAt - a.createdAt)); -} - -async function readIdb(kv: Kv): Promise { - try { - const stored = await kv.get(HISTORY_KEY); - if (!Array.isArray(stored)) return []; - return capHistory(stored.filter(isRunRecord)); - } catch { - return []; - } -} - -function readLegacy(legacy: LegacyStore | undefined): RunRecord[] { - if (!legacy) return []; - try { - const raw = legacy.getItem(LEGACY_HISTORY_KEY); - if (!raw) return []; - const parsed: unknown = JSON.parse(raw); - if (!Array.isArray(parsed)) return []; - return capHistory(parsed.filter(isRunRecord)); - } catch { - return []; - } -} - -/* The cap trims the run log, not the visitor's shelf: a favorite is a - deliberate keep, so only unmarked runs age out of the window. */ -export function capHistory(records: RunRecord[], max = MAX_RECORDS): RunRecord[] { - if (records.length <= max) return records; - let kept = 0; - return records.filter( - (record) => record.favorite === true || record.status === "running" || kept++ < max, - ); -} - -export function requestIdOf(record: RunRecord): string { - return record.requestId ?? record.id.split("#")[0]!; -} - -/** Swap every row of a request for its terminal records, or no-op if the - visitor already deleted the in-flight tiles. */ -export function replaceRequest( - records: RunRecord[], - requestId: string, - next: RunRecord[], -): RunRecord[] { - if (!records.some((record) => record.status === "running" && requestIdOf(record) === requestId)) { - return records; - } - return capHistory( - [...next, ...records.filter((record) => requestIdOf(record) !== requestId)].sort( - (a, b) => b.createdAt - a.createdAt, - ), - ); -} - -function newerRecord(row: RunRecord, prev: RunRecord): boolean { - const rowDone = row.status !== "running"; - const prevDone = prev.status !== "running"; - if (rowDone !== prevDone) return rowDone; - return row.createdAt >= prev.createdAt; -} - -function isRunRecord(value: unknown): value is RunRecord { - if (value === null || typeof value !== "object") return false; - const record = value as Partial; - return ( - typeof record.id === "string" && - (record.surface === "image" || record.surface === "video") && - typeof record.prompt === "string" && - typeof record.ratio === "string" && - Array.isArray(record.urls) && - (record.status === "completed" || - record.status === "failed" || - (record.status === "running" && typeof record.requestId === "string")) && - typeof record.createdAt === "number" && - (record.requestId === undefined || typeof record.requestId === "string") && - (record.favorite === undefined || typeof record.favorite === "boolean") && - (record.settings === undefined || - (typeof record.settings === "object" && record.settings !== null)) - ); -} - -export function timeAgo(timestamp: number, now = Date.now()): string { - const seconds = Math.max(0, Math.floor((now - timestamp) / 1000)); - if (seconds < 60) return "just now"; - const minutes = Math.floor(seconds / 60); - if (minutes < 60) return `${minutes} min ago`; - const hours = Math.floor(minutes / 60); - if (hours < 24) return `${hours} hr ago`; - const days = Math.floor(hours / 24); - return `${days} d ago`; -} - -/* One step along the runs the visitor is actually looking at, or null at the - ends — the walk stops there rather than wrapping, so the edge of the scope - can be felt. A run that has left the list steps nowhere. */ -export function stepRun(records: RunRecord[], id: string, delta: number): RunRecord | null { - const from = records.findIndex((record) => record.id === id); - if (from < 0) return null; - return records[from + delta] ?? null; -} diff --git a/src/openhiggsfield/idb.ts b/src/openhiggsfield/idb.ts deleted file mode 100644 index ffceadb..0000000 --- a/src/openhiggsfield/idb.ts +++ /dev/null @@ -1,76 +0,0 @@ -export type Kv = { - get(key: string): Promise; - set(key: string, value: unknown): Promise; -}; - -export type LegacyStore = { - getItem(key: string): string | null; - setItem(key: string, value: string): void; - removeItem(key: string): void; -}; - -const DB_NAME = "openhiggsfield"; -const STORE = "kv"; -const VERSION = 1; - -export function memoryKv(): Kv { - const map = new Map(); - return { - async get(key: string) { - return map.get(key) as T | undefined; - }, - async set(key, value) { - map.set(key, value); - }, - }; -} - -function open(): Promise { - return new Promise((resolve, reject) => { - const req = indexedDB.open(DB_NAME, VERSION); - req.onupgradeneeded = () => { - if (!req.result.objectStoreNames.contains(STORE)) { - req.result.createObjectStore(STORE); - } - }; - req.onsuccess = () => resolve(req.result); - req.onerror = () => reject(req.error); - }); -} - -function request(mode: IDBTransactionMode, run: (store: IDBObjectStore) => IDBRequest): Promise { - return open().then( - (db) => - new Promise((resolve, reject) => { - const tx = db.transaction(STORE, mode); - const req = run(tx.objectStore(STORE)); - tx.oncomplete = () => resolve(req.result); - tx.onabort = () => reject(tx.error ?? req.error); - tx.onerror = () => reject(tx.error ?? req.error); - }), - ); -} - -export function idbKv(): Kv { - return { - get(key: string) { - return request("readonly", (store) => store.get(key)) as Promise; - }, - async set(key, value) { - await request("readwrite", (store) => store.put(value, key)); - }, - }; -} - -let browser: Kv | undefined; - -export function defaultKv(): Kv { - if (typeof indexedDB === "undefined") return memoryKv(); - browser ??= idbKv(); - return browser; -} - -export function browserLegacy(): LegacyStore | undefined { - if (typeof localStorage === "undefined") return undefined; - return localStorage; -} diff --git a/src/openhiggsfield/key-modal.tsx b/src/openhiggsfield/key-modal.tsx deleted file mode 100644 index a6e57f7..0000000 --- a/src/openhiggsfield/key-modal.tsx +++ /dev/null @@ -1,119 +0,0 @@ -"use client"; - -import { useEffect, useRef, useState, type FormEvent } from "react"; - -import { clearPlatformCredentials, savePlatformCredentials } from "@/generation/actions"; - -import { CloseIcon } from "./icons"; - -export function KeyModal({ - configured, - onClose, - onSaved, - onCleared, -}: { - configured: boolean; - onClose: () => void; - onSaved: () => void; - onCleared: () => void; -}) { - const ref = useRef(null); - const panelRef = useRef(null); - const [apiKey, setApiKey] = useState(""); - const [busy, setBusy] = useState(false); - const [error, setError] = useState(null); - - useEffect(() => { - ref.current?.showModal(); - panelRef.current?.focus(); - }, []); - - async function onSubmit(event: FormEvent) { - event.preventDefault(); - setBusy(true); - setError(null); - try { - await savePlatformCredentials({ api_key: apiKey }); - onSaved(); - } catch (caught) { - setError(caught instanceof Error ? caught.message : "Could not save the key"); - } finally { - setBusy(false); - } - } - - async function onClear() { - setBusy(true); - setError(null); - try { - await clearPlatformCredentials(); - setApiKey(""); - onCleared(); - } catch (caught) { - setError(caught instanceof Error ? caught.message : "Could not remove the key"); - } finally { - setBusy(false); - } - } - - return ( - { - if (event.target === ref.current) onClose(); - }} - > -
    -
    -
    -
    - API key -
    -

    - {configured - ? "A key is saved in this browser. Enter a new id:secret pair to replace it." - : "Paste your platform key as id:secret. It stays in an httpOnly cookie and is sent as Authorization: Key id:secret."} -

    -
    - -
    - -
    void onSubmit(event)}> - - - {error && ( -
    - {error} -
    - )} - -
    - {configured && ( - - )} - -
    -
    -
    -
    - ); -} \ No newline at end of file diff --git a/src/openhiggsfield/openhiggsfield-app.tsx b/src/openhiggsfield/openhiggsfield-app.tsx deleted file mode 100644 index 1b12874..0000000 --- a/src/openhiggsfield/openhiggsfield-app.tsx +++ /dev/null @@ -1,765 +0,0 @@ -"use client"; - -import { useCallback, useEffect, useMemo, useRef, useState } from "react"; - -import { hasPlatformCredentials, submitGeneration } from "@/generation/actions"; -import { MissingCredentialsError } from "@/generation/credentials"; -import { MODELS, getModel } from "@/generation/catalog"; -import type { Surface } from "@/generation/catalog"; -import { assemblePlane } from "@/generation/plane"; -import type { GenerationStatus } from "@/generation/platform"; -import { POLL_DEADLINE_MS, stopWatching, watchRequest } from "@/generation/poll"; -import { useActive } from "@/generation/stores/active"; -import { useImagePrompt, useVideoPrompt } from "@/generation/stores/prompt"; -import { useSettings } from "@/generation/stores/settings"; - -import { GRAIN_URI, artFor } from "./artwork"; -import { Composer } from "./composer"; -import { fileNameFor, saveFile } from "./download"; -import { KeyModal } from "./key-modal"; -import { - CROSS_VIEWS, - countSetting, - durationBadge, - metaOf, - ratioToCss, - type GalleryView, -} from "./data"; -import { Gallery } from "./gallery"; -import { loadHistory, mergeHistory, replaceRequest, saveHistory, stepRun, type RunRecord } from "./history"; -import { CloseIcon, UndoIcon } from "./icons"; -import { SelectionBar, type SaveProgress } from "./selection-bar"; -import { Topbar } from "./topbar"; -import { Viewer } from "./viewer"; - -/* Long enough to read the bar and reach it; the drain line states the window. */ -const UNDO_MS = 6000; - -export interface ActiveRun { - /** Identifies the skeleton this run occupies, so a batch clears one tile at - a time as its own request settles. */ - id: string; - surface: Surface; - modelLabel: string; - ratio: string; - startedAt: number; -} - -type RunDraft = { - surface: Surface; - modelId: string; - modelLabel: string; - prompt: string; - ratio: string; - meta: string; - badge?: string; - settings?: Record; - createdAt: number; -}; - -function hueOf(seed: string): number { - let h = 0; - for (let i = 0; i < seed.length; i++) h = (h * 31 + seed.charCodeAt(i)) % 360; - return h; -} - -function rowId(requestId: string, offset: number, count: number): string { - return count > 1 ? `${requestId}#${offset}` : requestId; -} - -function draftOf(record: RunRecord): RunDraft { - return { - surface: record.surface, - modelId: record.modelId, - modelLabel: record.modelLabel, - prompt: record.prompt, - ratio: record.ratio, - meta: record.meta, - badge: record.badge, - settings: record.settings, - createdAt: record.createdAt, - }; -} - -function runningRows(requestId: string, count: number, draft: RunDraft): RunRecord[] { - return Array.from({ length: count }, (_, offset) => { - const id = rowId(requestId, offset, count); - return { - id, - requestId, - surface: draft.surface, - modelId: draft.modelId, - modelLabel: draft.modelLabel, - prompt: draft.prompt, - ratio: draft.ratio, - meta: draft.meta, - badge: draft.badge, - kind: draft.surface, - urls: [], - status: "running", - art: artFor(draft.surface, hueOf(id), id), - createdAt: draft.createdAt, - settings: draft.settings, - }; - }); -} - -function terminalRows(requestId: string, draft: RunDraft, status: GenerationStatus): RunRecord[] { - const urls = - status.images?.map((image) => image.url) ?? (status.video ? [status.video.url] : []); - const completed = status.status === "completed" && urls.length > 0; - const base = status.requestId || requestId; - const failure = completed ? undefined : failureText(status); - const delivered: Array = completed ? urls : [null]; - return delivered.map((url, offset) => { - const id = rowId(base, offset, delivered.length); - return { - id, - requestId: base, - surface: draft.surface, - modelId: draft.modelId, - modelLabel: draft.modelLabel, - prompt: draft.prompt, - ratio: draft.ratio, - meta: draft.meta, - badge: draft.badge, - kind: draft.surface, - urls: url ? [url] : [], - status: completed ? "completed" : "failed", - error: failure, - art: artFor(draft.surface, hueOf(id), id), - createdAt: draft.createdAt, - settings: draft.settings, - }; - }); -} - -function failedRows(requestId: string, count: number, draft: RunDraft, error: string): RunRecord[] { - return runningRows(requestId, count, draft).map((row) => ({ - ...row, - status: "failed" as const, - error, - })); -} - -function failureText(status: GenerationStatus): string { - if (status.status === "nsfw") return "the platform flagged the result as NSFW"; - if (status.status === "canceled") return "the run was canceled"; - if (typeof status.error === "string" && status.error) return status.error; - return "the platform reported a failure"; -} - -function describeError(caught: unknown): string { - const message = caught instanceof Error ? caught.message : String(caught); - if (caught instanceof MissingCredentialsError || message.includes("Missing platform key")) { - return "Add your platform key to generate."; - } - return `Generation failed — ${message}. Try again; if it repeats, check the key in the sidebar.`; -} - -export function OpenHiggsfieldApp({ fontClassName = "" }: { fontClassName?: string }) { - const surface = useActive((state) => state.surface); - const modelId = useActive((state) => state.model); - const setModel = useActive((state) => state.setModel); - const model = getModel(modelId); - const setSettings = useSettings((state) => state.set); - - const [history, setHistory] = useState([]); - const [runs, setRuns] = useState([]); - const [error, setError] = useState(null); - const [freshIds, setFreshIds] = useState([]); - const [viewerId, setViewerId] = useState(null); - const [view, setView] = useState(surface); - const [focusNonce, setFocusNonce] = useState(0); - const [historyLoaded, setHistoryLoaded] = useState(false); - /* Deleting drops the only copy of a run — the platform's result URLs are not - re-derivable — so the records are held aside until the bar times out. */ - const [deleted, setDeleted] = useState(null); - /* Picked runs, in the order they were picked: the count stack shows the most - recent sheets on top, and a range extends from the last one touched. */ - const [selected, setSelected] = useState([]); - const [saving, setSaving] = useState(null); - const [keyConfigured, setKeyConfigured] = useState(false); - const [keysOpen, setKeysOpen] = useState(false); - - const galleryRef = useRef(null); - const rangeAnchor = useRef(null); - const visibleRef = useRef([]); - /* Presses number their own skeletons, so two batches in flight together can - never claim the same tile. */ - const press = useRef(0); - const alive = useRef(true); - const freshTimers = useRef([]); - const historyRef = useRef(history); - historyRef.current = history; - - /* The model picker can cross surfaces, so the scope follows it — unless the - visitor parked on a scope that spans both. */ - useEffect(() => { - setView((current) => (CROSS_VIEWS.has(current) ? current : surface)); - }, [surface]); - - /* Read once on mount. A load that finishes after unmount must not mark the - next mount hydrated, or the empty initial list is written over the store. */ - useEffect(() => { - let live = true; - void loadHistory() - .then((rows) => { - if (!live) return; - setHistory((current) => mergeHistory(rows, current)); - setHistoryLoaded(true); - }) - .catch(() => { - if (live) setHistoryLoaded(true); - }); - return () => { - live = false; - }; - }, []); - useEffect(() => { - if (historyLoaded) void saveHistory(history); - }, [historyLoaded, history]); - - useEffect(() => { - void hasPlatformCredentials().then((ready) => { - setKeyConfigured(ready); - if (!ready) setKeysOpen(true); - }); - }, []); - - useEffect(() => { - alive.current = true; - return () => { - alive.current = false; - stopWatching(); - for (const timer of freshTimers.current) clearTimeout(timer); - }; - }, []); - - /* Each arrival blooms on its own clock: a batch lands over several seconds, - and one shared timer would cut the last tile's entrance short. */ - const markFresh = useCallback((ids: string[]) => { - setFreshIds((prev) => [...prev, ...ids]); - freshTimers.current.push( - window.setTimeout( - () => setFreshIds((prev) => prev.filter((id) => !ids.includes(id))), - 900, - ), - ); - }, []); - - /* One watch per platform request, used both by Generate and by a reload that - found running rows already in the log. */ - const resume = useCallback( - async (requestId: string, draft: RunDraft, expected: number) => { - try { - const status = await watchRequest(requestId, { - deadline: draft.createdAt + POLL_DEADLINE_MS, - }); - if (!alive.current) return; - const records = terminalRows(requestId, draft, status); - setHistory((prev) => { - const next = replaceRequest(prev, requestId, records); - void saveHistory(next); - return next; - }); - markFresh(records.filter((record) => record.status === "completed").map((record) => record.id)); - if (records.some((record) => record.status === "failed")) { - const failure = records[0]?.error ?? "the platform reported a failure"; - setError( - (prev) => - prev ?? `Run not delivered — ${failure}. Adjust the prompt or settings and retry.`, - ); - } - } catch (caught) { - if (!alive.current) return; - const message = describeError(caught); - if (message.includes("platform key")) setKeysOpen(true); - setHistory((prev) => { - const next = replaceRequest(prev, requestId, failedRows(requestId, expected, draft, message)); - void saveHistory(next); - return next; - }); - setError((prev) => prev ?? message); - } - }, - [markFresh], - ); - - /* After the log hydrates, pick up any request that was still on the platform - when the last session died. Generate starts its own watch; this is the - refresh path. */ - useEffect(() => { - if (!historyLoaded) return; - const groups = new Map(); - for (const record of historyRef.current) { - if (record.status !== "running" || !record.requestId) continue; - const rows = groups.get(record.requestId) ?? []; - rows.push(record); - groups.set(record.requestId, rows); - } - for (const [requestId, rows] of groups) { - void resume(requestId, draftOf(rows[0]!), rows.length); - } - }, [historyLoaded, resume]); - - const visible = useMemo(() => { - if (view === "assets") return history; - if (view === "favorites") return history.filter((record) => record.favorite === true); - return history.filter((record) => record.surface === view); - }, [history, view]); - - const switchView = useCallback( - (next: GalleryView) => { - setView(next); - galleryRef.current?.scrollTo({ top: 0 }); - if (CROSS_VIEWS.has(next) || next === surface) return; - const first = MODELS.find((entry) => entry.surface === next); - if (first) setModel(first.id); - }, - [setModel, surface], - ); - - /* Presses do not wait on each other. A press snapshots its own plane, opens - its own skeletons and keeps its own watch, so the composer is free the - moment the tiles appear and any number of runs can be in flight. */ - const generate = useCallback(async () => { - if (!keyConfigured) { - setKeysOpen(true); - setError("Add your platform key to generate."); - return; - } - const plane = assemblePlane(); - if (!plane.prompt.text.trim()) return; - - const entry = getModel(plane.model); - const ratio = ratioToCss( - plane.settings.aspectRatio, - entry.surface === "image" ? "4 / 3" : "16 / 9", - ); - const meta = metaOf(entry, plane.settings); - const badge = entry.surface === "video" ? durationBadge(plane.settings) : undefined; - - /* Batch size resolves to results, not to requests. A model that carries its - own count answers one request with that many media; every other model is - submitted once per result. Either way the grid opens the same number of - skeletons, and each request clears the ones it owns. */ - const native = countSetting(entry); - const expected = native - ? Math.max(1, Number(plane.settings[native.key]) || 1) - : useActive.getState().batch; - const startedAt = Date.now(); - const seq = ++press.current; - const pending: ActiveRun[] = Array.from({ length: expected }, (_, index) => ({ - id: `pending-${seq}-${index}`, - surface: entry.surface, - modelLabel: entry.label, - ratio, - startedAt, - })); - const slots = native - ? [{ skeletons: pending.map((slot) => slot.id) }] - : pending.map((slot) => ({ skeletons: [slot.id] })); - const draft: RunDraft = { - surface: entry.surface, - modelId: entry.id, - modelLabel: entry.label, - prompt: plane.prompt.text.trim(), - ratio, - meta, - badge, - settings: plane.settings, - createdAt: startedAt, - }; - - setError(null); - /* Newest press on top, above whatever is still rendering from the last. */ - setRuns((prev) => [...pending, ...prev]); - galleryRef.current?.scrollTo({ top: 0, behavior: "smooth" }); - - const runOne = async (slot: { skeletons: string[] }) => { - try { - const queued = await submitGeneration(plane); - setHistory((prev) => { - const next = [...runningRows(queued.requestId, slot.skeletons.length, draft), ...prev]; - void saveHistory(next); - return next; - }); - setRuns((prev) => prev.filter((active) => !slot.skeletons.includes(active.id))); - await resume(queued.requestId, draft, slot.skeletons.length); - } catch (caught) { - if (!alive.current) return; - const message = describeError(caught); - if (message.includes("platform key")) setKeysOpen(true); - setError((prev) => prev ?? message); - } finally { - if (alive.current) { - setRuns((prev) => prev.filter((active) => !slot.skeletons.includes(active.id))); - } - } - }; - - await Promise.all(slots.map(runOne)); - }, [keyConfigured, resume]); - - /* Reuse restores the whole plane the run was made from — model, its dials, - then the words. A reuse that dropped the ratio and resolution would - re-render a different picture from the same prompt. */ - const retry = useCallback( - (record: RunRecord) => { - if (MODELS.some((entry) => entry.id === record.modelId)) { - setModel(record.modelId); - if (record.settings) setSettings(record.modelId, record.settings); - } - (record.surface === "image" ? useImagePrompt : useVideoPrompt).getState().setText(record.prompt); - setViewerId(null); - setError(null); - setFocusNonce((n) => n + 1); - }, - [setModel, setSettings], - ); - - const toggleFavorite = useCallback((record: RunRecord) => { - setHistory((prev) => - prev.map((entry) => - entry.id === record.id ? { ...entry, favorite: !entry.favorite } : entry, - ), - ); - }, []); - - const deleteRuns = useCallback((records: RunRecord[]) => { - if (records.length === 0) return; - const ids = new Set(records.map((record) => record.id)); - setHistory((prev) => prev.filter((entry) => !ids.has(entry.id))); - setDeleted(records); - }, []); - - const deleteRun = useCallback((record: RunRecord) => deleteRuns([record]), [deleteRuns]); - - /* History is newest-first by construction, so the restored runs drop back - into their own places rather than onto the top of the grid. */ - const restoreDeleted = useCallback(() => { - if (!deleted) return; - setHistory((prev) => { - const here = new Set(prev.map((entry) => entry.id)); - const back = deleted.filter((entry) => !here.has(entry.id)); - if (back.length === 0) return prev; - return [...prev, ...back].sort((a, b) => b.createdAt - a.createdAt); - }); - setDeleted(null); - }, [deleted]); - - useEffect(() => { - if (!deleted) return; - const timer = setTimeout(() => setDeleted(null), UNDO_MS); - const onKeyDown = (event: KeyboardEvent) => { - if (event.key === "Escape") setDeleted(null); - }; - document.addEventListener("keydown", onKeyDown); - return () => { - clearTimeout(timer); - document.removeEventListener("keydown", onKeyDown); - }; - }, [deleted]); - - /* ---------- picking runs ---------- - - The grid is in selection mode whenever something is picked, so the mode has - no switch of its own: the checkbox that appears on hover is the way in, and - the toolbar's cross is the way out. */ - - const pickedSet = useMemo(() => new Set(selected), [selected]); - const byId = useMemo(() => new Map(history.map((record) => [record.id, record])), [history]); - const pickedRecords = useMemo( - () => selected.map((id) => byId.get(id)).filter((record) => record !== undefined), - [selected, byId], - ); - - /* The range gesture walks the scope the visitor is looking at, and the walk - happens inside the handler — reading it from a dependency would rebuild the - callback on every history change and re-render all forty tiles with it. */ - useEffect(() => { - visibleRef.current = visible; - }, [visible]); - - /* A run that left the grid cannot stay picked — deleted, aged out of the cap, - or released from the shelf while the Favorites scope was the one on screen. - The toolbar counts what the visitor can still see it acting on. */ - const visibleIds = useMemo(() => new Set(visible.map((record) => record.id)), [visible]); - useEffect(() => { - setSelected((prev) => { - const next = prev.filter((id) => visibleIds.has(id)); - return next.length === prev.length ? prev : next; - }); - }, [visibleIds]); - - /* Switching scope switches what "everything picked" means, so the selection - does not travel with it. */ - useEffect(() => { - setSelected([]); - rangeAnchor.current = null; - }, [view]); - - const clearPicked = useCallback(() => { - setSelected([]); - rangeAnchor.current = null; - }, []); - - const togglePick = useCallback((id: string, index: number, range: boolean) => { - const from = rangeAnchor.current; - rangeAnchor.current = index; - setSelected((prev) => { - if (range && from !== null) { - const span = visibleRef.current - .slice(Math.min(from, index), Math.max(from, index) + 1) - .filter((record) => record.status !== "running") - .map((record) => record.id); - const held = new Set(prev); - return [...prev, ...span.filter((entry) => !held.has(entry))]; - } - return prev.includes(id) ? prev.filter((entry) => entry !== id) : [...prev, id]; - }); - }, []); - - /* Escape leaves the selection the way it leaves every other transient layer - in the studio. The viewer owns the key while it is open. */ - useEffect(() => { - if (selected.length === 0 || viewerId) return; - const onKeyDown = (event: KeyboardEvent) => { - if (event.key === "Escape") clearPicked(); - }; - document.addEventListener("keydown", onKeyDown); - return () => document.removeEventListener("keydown", onKeyDown); - }, [selected.length, viewerId, clearPicked]); - - /* One keep for the whole selection: if every picked run is already kept the - press releases them, which is what a pressed control has to mean. */ - const favoritePicked = useCallback(() => { - const ids = new Set(selected); - const keep = !pickedRecords.every((record) => record.favorite === true); - setHistory((prev) => - prev.map((entry) => (ids.has(entry.id) ? { ...entry, favorite: keep } : entry)), - ); - }, [selected, pickedRecords]); - - const deletePicked = useCallback(() => { - deleteRuns(pickedRecords); - clearPicked(); - }, [deleteRuns, pickedRecords, clearPicked]); - - /* One run, saved from its card. The refusal is reported through the strip the - composer already reserves for it — a 32px button on a picture has no room - to explain itself, and the viewer's own Download states what to do next. */ - const downloadRun = useCallback(async (record: RunRecord) => { - const url = record.urls[0]; - if (!url) return; - const ok = await saveFile(url, fileNameFor(record, 0)); - if (!ok) { - setError( - "The platform’s CDN refused the read, so this run could not be saved. Open it to save it from the browser instead.", - ); - } - }, []); - - /* Saved one at a time on purpose: browsers throttle a burst of downloads into - a single "allow multiple files?" prompt and drop the rest, and a sequence is - the only version that can report how far it got. */ - const downloadPicked = useCallback(async () => { - const files = pickedRecords.filter((record) => record.urls[0]); - if (files.length === 0) return; - setSaving({ done: 0, total: files.length }); - let refused = 0; - for (const [index, record] of files.entries()) { - const ok = await saveFile(record.urls[0]!, fileNameFor(record, index)); - if (!ok) refused++; - setSaving({ done: index + 1, total: files.length }); - } - setSaving(null); - if (refused > 0) { - setError( - refused === files.length - ? "The platform’s CDN refused the read, so nothing could be saved. Open a run to save it from the browser instead." - : `${refused} of ${files.length} files could not be saved — the platform’s CDN refused the read. Open those runs to save them from the browser.`, - ); - } - }, [pickedRecords]); - - /* An empty-gallery starter loads the composer and hands the visitor the - caret; pressing Generate stays their call. */ - const applyStarter = useCallback( - (text: string) => { - (surface === "image" ? useImagePrompt : useVideoPrompt).getState().setText(text); - setError(null); - setFocusNonce((n) => n + 1); - }, - [surface], - ); - - const openViewer = useCallback((id: string) => setViewerId(id), []); - const openKeys = useCallback(() => setKeysOpen(true), []); - const runGenerate = useCallback(() => void generate(), [generate]); - const downloadSelection = useCallback(() => void downloadPicked(), [downloadPicked]); - const dismissDeleted = useCallback(() => setDeleted(null), []); - const viewerItem = viewerId - ? (history.find((record) => record.id === viewerId && record.status !== "running") ?? null) - : null; - - /* The walk follows the scope on screen, not the whole log: arrowing out of - the viewer never lands on a run the grid behind it is not showing. At - either end there is no neighbour to hand down, and the step goes quiet. */ - const viewable = useMemo( - () => visible.filter((record) => record.status !== "running"), - [visible], - ); - const prevRun = viewerId ? stepRun(viewable, viewerId, -1) : null; - const nextRun = viewerId ? stepRun(viewable, viewerId, 1) : null; - - const runsHere = useMemo( - () => runs.filter((active) => view === "assets" || active.surface === view), - [runs, view], - ); - const busy = runs.length > 0 || history.some((record) => record.status === "running"); - - return ( -
    -
    -
    - - - - - 0} - selection={ - - } - onError={setError} - onGenerate={runGenerate} - notice={ - deleted && ( - - ) - } - /> -
    - - {viewerItem && ( - setViewerId(prevRun.id) : undefined} - onNext={nextRun ? () => setViewerId(nextRun.id) : undefined} - onClose={() => setViewerId(null)} - onReuse={() => retry(viewerItem)} - onFavorite={() => toggleFavorite(viewerItem)} - /* The viewer is released along with the run, so undoing the - delete restores it to the grid and not back over the studio. */ - onDelete={() => { - setViewerId(null); - deleteRun(viewerItem); - }} - /> - )} - {keysOpen && ( - setKeysOpen(false)} - onSaved={() => { - setKeyConfigured(true); - setKeysOpen(false); - setError(null); - }} - onCleared={() => { - setKeyConfigured(false); - }} - /> - )} -
    -
    - ); -} - -/* Deletion's receipt, in the strip the composer already reserves for the - generation error — the studio gains no second floating layer. The hairline - drains across the bar so the window to change your mind is visible, not - guessed at. */ -function UndoBar({ - records, - onUndo, - onDismiss, -}: { - records: RunRecord[]; - onUndo: () => void; - onDismiss: () => void; -}) { - const one = records.length === 1 ? records[0] : null; - /* The words name the run to the person who wrote them; the model does not — - a grid made on one model reads back as the same label over and over. Runs - submitted without a prompt keep the model as their only name. The verb - leads so a long prompt loses its tail to the ellipsis, not the sentence. */ - const subject = one - ? one.prompt - ? `“${one.prompt}”` - : `${one.modelLabel} run` - : `${records.length} runs`; - - return ( -
    - - {`Deleted ${subject}`} - - -
    - ); -} diff --git a/src/openhiggsfield/uploads.ts b/src/openhiggsfield/uploads.ts deleted file mode 100644 index fc5b74a..0000000 --- a/src/openhiggsfield/uploads.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { browserLegacy, defaultKv, type Kv, type LegacyStore } from "./idb"; -import type { AssetKind } from "./data"; - -/** A file the visitor sent to Blob. The URL is public and permanent, so the - library outlives the session that produced it — the same reason run history - is kept, and the reason the asset picker can offer both. */ -export interface UploadRecord { - id: string; - url: string; - kind: AssetKind; - /** The file's own name, shown under nothing — it is the tile's title and its - alt text, the only handle a plain grey PNG has. */ - name: string; - createdAt: number; -} - -export const UPLOADS_KEY = "uploads.v1"; -export const LEGACY_UPLOADS_KEY = "openhiggsfield.uploads.v1"; -const MAX_RECORDS = 40; - -export async function loadUploads( - kv: Kv = defaultKv(), - legacy: LegacyStore | undefined = browserLegacy(), -): Promise { - const stored = await readIdb(kv); - const fromLegacy = readLegacy(legacy); - if (stored.length === 0) return fromLegacy; - if (fromLegacy.length === 0) return stored; - return mergeUploads(stored, fromLegacy); -} - -export async function saveUploads( - records: UploadRecord[], - kv: Kv = defaultKv(), - legacy: LegacyStore | undefined = browserLegacy(), -): Promise { - const next = records - .map(coerceUpload) - .filter((row): row is UploadRecord => row !== null) - .slice(0, MAX_RECORDS); - try { - await kv.set(UPLOADS_KEY, next); - } catch { - /* private mode or a denied store */ - } - try { - legacy?.setItem(LEGACY_UPLOADS_KEY, JSON.stringify(next)); - } catch { - /* quota or a denied store */ - } -} - -export function mergeUploads(stored: UploadRecord[], live: UploadRecord[]): UploadRecord[] { - const byId = new Map(); - for (const row of [...stored, ...live]) { - const prev = byId.get(row.id); - if (!prev || row.createdAt >= prev.createdAt) byId.set(row.id, row); - } - return [...byId.values()].sort((a, b) => b.createdAt - a.createdAt).slice(0, MAX_RECORDS); -} - -async function readIdb(kv: Kv): Promise { - try { - const stored = await kv.get(UPLOADS_KEY); - if (!Array.isArray(stored)) return []; - return stored - .map(coerceUpload) - .filter((row): row is UploadRecord => row !== null) - .slice(0, MAX_RECORDS); - } catch { - return []; - } -} - -function readLegacy(legacy: LegacyStore | undefined): UploadRecord[] { - if (!legacy) return []; - try { - const raw = legacy.getItem(LEGACY_UPLOADS_KEY); - if (!raw) return []; - const parsed: unknown = JSON.parse(raw); - if (!Array.isArray(parsed)) return []; - return parsed - .map(coerceUpload) - .filter((row): row is UploadRecord => row !== null) - .slice(0, MAX_RECORDS); - } catch { - return []; - } -} - -/** Newest first, and one entry per URL: re-picking the same file from the OS - dialog moves it back to the front rather than stacking a duplicate tile. */ -export function rememberUpload( - records: UploadRecord[], - next: UploadRecord, - max = MAX_RECORDS, -): UploadRecord[] { - return [next, ...records.filter((record) => record.url !== next.url)].slice(0, max); -} - -/** The browser reports a MIME type; the library sorts by the coarse kind the - picker's tabs are cut along. Anything unrecognised is treated as an image — - the upload allow-list admits nothing else that could reach here. */ -export function kindOfFile(file: File): AssetKind { - if (file.type.startsWith("video/")) return "video"; - if (file.type.startsWith("audio/")) return "audio"; - return "image"; -} - -function coerceUpload(value: unknown): UploadRecord | null { - if (value === null || typeof value !== "object") return null; - const record = value as Partial; - if ( - typeof record.id !== "string" || - typeof record.url !== "string" || - typeof record.name !== "string" || - typeof record.createdAt !== "number" - ) { - return null; - } - const kind = - record.kind === "video" || record.kind === "audio" || record.kind === "image" - ? record.kind - : "image"; - return { id: record.id, url: record.url, kind, name: record.name, createdAt: record.createdAt }; -} diff --git a/src/proxy.ts b/src/proxy.ts deleted file mode 100644 index dc9d026..0000000 --- a/src/proxy.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NextResponse } from "next/server"; -import type { NextRequest } from "next/server"; - -import { DEVICE_COOKIE, DEVICE_COOKIE_OPTIONS, resolveDeviceId } from "./generation/device"; - -export function proxy(request: NextRequest) { - const { deviceId, minted } = resolveDeviceId(request.cookies.get(DEVICE_COOKIE)?.value); - if (!minted) return NextResponse.next(); - const response = NextResponse.next(); - response.cookies.set(DEVICE_COOKIE, deviceId, DEVICE_COOKIE_OPTIONS); - return response; -} - -export const config = { - matcher: ["/((?!api|_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp|ico)$).*)"], -}; diff --git a/src/server/actions/billing.ts b/src/server/actions/billing.ts new file mode 100644 index 0000000..0a65d92 --- /dev/null +++ b/src/server/actions/billing.ts @@ -0,0 +1,84 @@ +"use server"; + +import { desc, eq } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { isPlanId } from "@/domain/plans"; +import { billingConfigured, ensureCustomer, priceIdFor, stripeClient } from "@/server/billing"; +import { requireViewer } from "@/server/session"; + +export type WorkspaceSummary = { + credits: number; + planId: string; + planRenewsAt: number | null; + byok: boolean; + billing: boolean; + hasSubscription: boolean; +}; + +export async function getWorkspaceSummary(): Promise { + const viewer = await requireViewer(); + return { + credits: viewer.workspace.creditBalance, + planId: viewer.workspace.planId, + planRenewsAt: viewer.workspace.planRenewsAt?.getTime() ?? null, + byok: Boolean(viewer.workspace.platformKeySealed), + billing: billingConfigured(), + hasSubscription: Boolean(viewer.workspace.stripeSubscriptionId), + }; +} + +export type LedgerEntry = { id: string; delta: number; reason: string; note: string | null; createdAt: number }; + +export async function listLedger(limit = 30): Promise { + const viewer = await requireViewer(); + const rows = await db + .select() + .from(schema.creditLedger) + .where(eq(schema.creditLedger.workspaceId, viewer.workspace.id)) + .orderBy(desc(schema.creditLedger.createdAt)) + .limit(limit); + return rows.map((row) => ({ id: row.id, delta: row.delta, reason: row.reason, note: row.note, createdAt: row.createdAt.getTime() })); +} + +function appUrl(): string { + return (process.env.APP_URL?.trim() || "http://localhost:3000").replace(/\/+$/, ""); +} + +/** Sends the owner to Stripe Checkout for a plan. The workspace and plan ride + in the session metadata, which is what the webhook keys on. */ +export async function startCheckout(planId: string): Promise<{ url: string }> { + const viewer = await requireViewer(); + if (viewer.role !== "owner") throw new Error("Only the workspace owner can change the plan"); + if (!isPlanId(planId) || planId === "free") throw new Error("Unknown plan"); + const stripe = stripeClient(); + if (!stripe) throw new Error("Billing is not configured on this studio"); + const price = priceIdFor(planId); + if (!price) throw new Error(`No Stripe price is configured for the ${planId} plan`); + const customer = await ensureCustomer(stripe, viewer.workspace, viewer.user.email); + const session = await stripe.checkout.sessions.create({ + mode: "subscription", + customer, + line_items: [{ price, quantity: 1 }], + success_url: `${appUrl()}/app/settings?checkout=success`, + cancel_url: `${appUrl()}/app/settings?checkout=canceled`, + metadata: { workspaceId: viewer.workspace.id, planId }, + subscription_data: { metadata: { workspaceId: viewer.workspace.id, planId } }, + allow_promotion_codes: true, + }); + if (!session.url) throw new Error("Stripe did not return a checkout URL"); + return { url: session.url }; +} + +export async function openBillingPortal(): Promise<{ url: string }> { + const viewer = await requireViewer(); + if (viewer.role !== "owner") throw new Error("Only the workspace owner can manage billing"); + const stripe = stripeClient(); + if (!stripe) throw new Error("Billing is not configured on this studio"); + if (!viewer.workspace.stripeCustomerId) throw new Error("No billing account yet — start a plan first"); + const session = await stripe.billingPortal.sessions.create({ + customer: viewer.workspace.stripeCustomerId, + return_url: `${appUrl()}/app/settings`, + }); + return { url: session.url }; +} diff --git a/src/server/actions/brand.ts b/src/server/actions/brand.ts new file mode 100644 index 0000000..408f92c --- /dev/null +++ b/src/server/actions/brand.ts @@ -0,0 +1,44 @@ +"use server"; + +import { eq } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { brandKitSchema, EMPTY_BRAND, type BrandKit } from "@/domain/brand"; +import { requireViewer } from "@/server/session"; +import { flatten, type SaveResult } from "@/server/validation"; + +export async function getBrandKit(): Promise { + const viewer = await requireViewer(); + return readBrandKit(viewer.workspace.id); +} + +export async function readBrandKit(workspaceId: string): Promise { + const [row] = await db.select().from(schema.brandKit).where(eq(schema.brandKit.workspaceId, workspaceId)); + if (!row) return EMPTY_BRAND; + return { + name: row.name, + tagline: row.tagline, + tone: row.tone, + style: row.style, + palette: row.palette, + audience: row.audience, + avoid: row.avoid, + logoUrl: row.logoUrl, + }; +} + +export async function saveBrandKit(input: unknown): Promise> { + const viewer = await requireViewer(); + const parsed = brandKitSchema.safeParse(input); + if (!parsed.success) return { ok: false, errors: flatten(parsed.error) }; + const kit = parsed.data; + const now = new Date(); + await db + .insert(schema.brandKit) + .values({ workspaceId: viewer.workspace.id, ...kit, updatedAt: now }) + .onConflictDoUpdate({ target: schema.brandKit.workspaceId, set: { ...kit, updatedAt: now } }); + if (kit.name && viewer.workspace.name !== kit.name) { + await db.update(schema.workspace).set({ name: kit.name, updatedAt: now }).where(eq(schema.workspace.id, viewer.workspace.id)); + } + return { ok: true, value: kit }; +} diff --git a/src/server/actions/campaigns.ts b/src/server/actions/campaigns.ts new file mode 100644 index 0000000..bd1b47f --- /dev/null +++ b/src/server/actions/campaigns.ts @@ -0,0 +1,89 @@ +"use server"; + +import { and, desc, eq } from "drizzle-orm"; +import { z } from "zod"; + +import { db, schema } from "@/db/client"; +import { isChannelId } from "@/domain/channels"; +import { PRESETS } from "@/domain/presets"; +import { newId } from "@/server/ids"; +import { requireViewer } from "@/server/session"; + +import { flatten, type SaveResult } from "@/server/validation"; + +export type Campaign = { + id: string; + productId: string; + name: string; + scene: string; + presetIds: string[]; + channelIds: string[]; + createdAt: number; +}; + +const campaignSchema = z.object({ + productId: z.string().min(1, "Pick a product"), + name: z.string().trim().min(1, "Give the campaign a name").max(120), + scene: z.string().trim().max(400).default(""), + presetIds: z + .array(z.string()) + .min(1, "Pick at least one preset") + .refine((ids) => ids.every((id) => PRESETS.some((preset) => preset.id === id)), "Unknown preset"), + channelIds: z + .array(z.string()) + .min(1, "Pick at least one channel") + .refine((ids) => ids.every(isChannelId), "Unknown channel"), +}); + +export type CampaignInput = z.input; + +function toCampaign(row: typeof schema.campaign.$inferSelect): Campaign { + return { + id: row.id, + productId: row.productId, + name: row.name, + scene: row.scene, + presetIds: row.presetIds, + channelIds: row.channelIds, + createdAt: row.createdAt.getTime(), + }; +} + +export async function listCampaigns(): Promise { + const viewer = await requireViewer(); + const rows = await db + .select() + .from(schema.campaign) + .where(eq(schema.campaign.workspaceId, viewer.workspace.id)) + .orderBy(desc(schema.campaign.createdAt)); + return rows.map(toCampaign); +} + +export async function getCampaign(id: string): Promise { + const viewer = await requireViewer(); + const [row] = await db + .select() + .from(schema.campaign) + .where(and(eq(schema.campaign.workspaceId, viewer.workspace.id), eq(schema.campaign.id, id))); + return row ? toCampaign(row) : null; +} + +export async function createCampaign(input: unknown): Promise> { + const viewer = await requireViewer(); + const parsed = campaignSchema.safeParse(input); + if (!parsed.success) return { ok: false, errors: flatten(parsed.error) }; + const [product] = await db + .select({ id: schema.product.id }) + .from(schema.product) + .where(and(eq(schema.product.workspaceId, viewer.workspace.id), eq(schema.product.id, parsed.data.productId))); + if (!product) return { ok: false, errors: { productId: "Product not found" } }; + const now = new Date(); + const row = { id: newId(), workspaceId: viewer.workspace.id, ...parsed.data, createdAt: now, updatedAt: now }; + await db.insert(schema.campaign).values(row); + return { ok: true, value: toCampaign(row) }; +} + +export async function deleteCampaign(id: string): Promise { + const viewer = await requireViewer(); + await db.delete(schema.campaign).where(and(eq(schema.campaign.workspaceId, viewer.workspace.id), eq(schema.campaign.id, id))); +} diff --git a/src/server/actions/products.ts b/src/server/actions/products.ts new file mode 100644 index 0000000..fc6deb7 --- /dev/null +++ b/src/server/actions/products.ts @@ -0,0 +1,142 @@ +"use server"; + +import { and, asc, desc, eq, isNull } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { productSchema, slugify, type Product, type ProductAsset } from "@/domain/brand"; +import { newId } from "@/server/ids"; +import { requireViewer } from "@/server/session"; + +import { flatten, type SaveResult } from "@/server/validation"; + +function toAsset(row: typeof schema.productAsset.$inferSelect): ProductAsset { + return { id: row.id, url: row.url, kind: row.kind, name: row.name }; +} + +async function assetsFor(productIds: string[]): Promise> { + const out = new Map(); + if (productIds.length === 0) return out; + const rows = await db + .select() + .from(schema.productAsset) + .orderBy(asc(schema.productAsset.position), asc(schema.productAsset.createdAt)); + for (const row of rows) { + if (!productIds.includes(row.productId)) continue; + const list = out.get(row.productId) ?? []; + list.push(toAsset(row)); + out.set(row.productId, list); + } + return out; +} + +function toProduct(row: typeof schema.product.$inferSelect, assets: ProductAsset[]): Product { + return { + id: row.id, + slug: row.slug, + name: row.name, + category: row.category as Product["category"], + description: row.description, + features: row.features, + appearance: row.appearance, + audience: row.audience, + priceLabel: row.priceLabel, + assets, + }; +} + +export async function listProducts(): Promise { + const viewer = await requireViewer(); + const rows = await db + .select() + .from(schema.product) + .where(and(eq(schema.product.workspaceId, viewer.workspace.id), isNull(schema.product.archivedAt))) + .orderBy(desc(schema.product.updatedAt)); + const assets = await assetsFor(rows.map((row) => row.id)); + return rows.map((row) => toProduct(row, assets.get(row.id) ?? [])); +} + +export async function getProduct(id: string): Promise { + const viewer = await requireViewer(); + const [row] = await db + .select() + .from(schema.product) + .where(and(eq(schema.product.workspaceId, viewer.workspace.id), eq(schema.product.id, id))); + if (!row) return null; + const assets = await assetsFor([row.id]); + return toProduct(row, assets.get(row.id) ?? []); +} + +async function uniqueSlug(workspaceId: string, name: string, exceptId?: string): Promise { + const base = slugify(name, "product"); + const rows = await db + .select({ id: schema.product.id, slug: schema.product.slug }) + .from(schema.product) + .where(eq(schema.product.workspaceId, workspaceId)); + const taken = new Set(rows.filter((row) => row.id !== exceptId).map((row) => row.slug)); + if (!taken.has(base)) return base; + for (let n = 2; ; n++) { + const candidate = `${base}-${n}`; + if (!taken.has(candidate)) return candidate; + } +} + +export async function createProduct(input: unknown): Promise> { + const viewer = await requireViewer(); + const parsed = productSchema.safeParse(input); + if (!parsed.success) return { ok: false, errors: flatten(parsed.error) }; + const now = new Date(); + const id = newId(); + const slug = await uniqueSlug(viewer.workspace.id, parsed.data.name); + await db.insert(schema.product).values({ id, workspaceId: viewer.workspace.id, slug, ...parsed.data, createdAt: now, updatedAt: now }); + return { ok: true, value: { id, slug, ...parsed.data, assets: [] } }; +} + +export async function updateProduct(id: string, input: unknown): Promise> { + const viewer = await requireViewer(); + const parsed = productSchema.safeParse(input); + if (!parsed.success) return { ok: false, errors: flatten(parsed.error) }; + const current = await getProduct(id); + if (!current) return { ok: false, errors: { form: "Product not found" } }; + const slug = current.name === parsed.data.name ? current.slug : await uniqueSlug(viewer.workspace.id, parsed.data.name, id); + await db + .update(schema.product) + .set({ ...parsed.data, slug, updatedAt: new Date() }) + .where(and(eq(schema.product.workspaceId, viewer.workspace.id), eq(schema.product.id, id))); + return { ok: true, value: { ...current, ...parsed.data, slug } }; +} + +export async function archiveProduct(id: string): Promise { + const viewer = await requireViewer(); + await db + .update(schema.product) + .set({ archivedAt: new Date(), updatedAt: new Date() }) + .where(and(eq(schema.product.workspaceId, viewer.workspace.id), eq(schema.product.id, id))); +} + +export async function addProductAsset(productId: string, input: { url: string; kind: string; name: string }): Promise { + const viewer = await requireViewer(); + const product = await getProduct(productId); + if (!product) throw new Error("Product not found"); + const url = String(input.url ?? "").trim(); + if (!/^https?:\/\//.test(url)) throw new Error("Invalid asset URL"); + if (product.assets.length >= 12) throw new Error("A product holds up to 12 photos"); + const asset = { + id: newId(), + productId, + url, + kind: input.kind === "video" ? ("video" as const) : ("image" as const), + name: String(input.name ?? "").slice(0, 180), + position: product.assets.length, + createdAt: new Date(), + }; + await db.insert(schema.productAsset).values(asset); + await db.update(schema.product).set({ updatedAt: new Date() }).where(eq(schema.product.id, productId)); + void viewer; + return toAsset(asset); +} + +export async function removeProductAsset(productId: string, assetId: string): Promise { + const product = await getProduct(productId); + if (!product) throw new Error("Product not found"); + await db.delete(schema.productAsset).where(and(eq(schema.productAsset.productId, productId), eq(schema.productAsset.id, assetId))); +} diff --git a/src/server/actions/runs.ts b/src/server/actions/runs.ts new file mode 100644 index 0000000..7434ae2 --- /dev/null +++ b/src/server/actions/runs.ts @@ -0,0 +1,32 @@ +"use server"; + +import { requireViewer } from "@/server/session"; +import { listRuns as listRunRows, runsByIds, updateRuns, type RunRecord } from "@/server/runs"; + +export async function listRuns(): Promise { + const viewer = await requireViewer(); + return listRunRows(viewer.workspace.id); +} + +export async function setFavorite(ids: string[], favorite: boolean): Promise { + const viewer = await requireViewer(); + await updateRuns(viewer.workspace.id, ids, { favorite }); +} + +export async function setReview(ids: string[], review: "pending" | "approved" | "rejected"): Promise { + const viewer = await requireViewer(); + await updateRuns(viewer.workspace.id, ids, { review }); +} + +/** Soft: the platform's result URLs are not re-derivable, and the studio + offers an undo. Hard deletion is the workspace owner's call elsewhere. */ +export async function deleteRuns(ids: string[]): Promise { + const viewer = await requireViewer(); + await updateRuns(viewer.workspace.id, ids, { deletedAt: new Date() }); +} + +export async function restoreRuns(ids: string[]): Promise { + const viewer = await requireViewer(); + await updateRuns(viewer.workspace.id, ids, { deletedAt: null }); + return runsByIds(viewer.workspace.id, ids); +} diff --git a/src/server/actions/uploads.ts b/src/server/actions/uploads.ts new file mode 100644 index 0000000..dfd7814 --- /dev/null +++ b/src/server/actions/uploads.ts @@ -0,0 +1,55 @@ +"use server"; + +import { and, desc, eq } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import { newId } from "@/server/ids"; +import { requireViewer } from "@/server/session"; + +export interface UploadRecord { + id: string; + url: string; + kind: "image" | "video" | "audio"; + name: string; + createdAt: number; +} + +const MAX_UPLOADS = 120; + +export async function listUploads(): Promise { + const viewer = await requireViewer(); + const rows = await db + .select() + .from(schema.upload) + .where(eq(schema.upload.workspaceId, viewer.workspace.id)) + .orderBy(desc(schema.upload.createdAt)) + .limit(MAX_UPLOADS); + return rows.map((row) => ({ id: row.id, url: row.url, kind: row.kind, name: row.name, createdAt: row.createdAt.getTime() })); +} + +/** A file that reached storage joins the workspace shelf, one entry per URL. */ +export async function rememberUpload(input: { url: string; kind: string; name: string }): Promise { + const viewer = await requireViewer(); + const url = String(input.url ?? "").trim(); + if (!/^https?:\/\//.test(url)) throw new Error("Invalid upload URL"); + const kind = input.kind === "video" || input.kind === "audio" ? input.kind : "image"; + const name = String(input.name ?? "").slice(0, 180) || "file"; + const now = new Date(); + const existing = await db + .select() + .from(schema.upload) + .where(and(eq(schema.upload.workspaceId, viewer.workspace.id), eq(schema.upload.url, url))) + .limit(1); + if (existing[0]) { + await db.update(schema.upload).set({ createdAt: now, name }).where(eq(schema.upload.id, existing[0].id)); + return { id: existing[0].id, url, kind: existing[0].kind, name, createdAt: now.getTime() }; + } + const id = newId(); + await db.insert(schema.upload).values({ id, workspaceId: viewer.workspace.id, url, kind, name, createdAt: now }); + return { id, url, kind, name, createdAt: now.getTime() }; +} + +export async function forgetUpload(id: string): Promise { + const viewer = await requireViewer(); + await db.delete(schema.upload).where(and(eq(schema.upload.workspaceId, viewer.workspace.id), eq(schema.upload.id, id))); +} diff --git a/src/server/billing.ts b/src/server/billing.ts new file mode 100644 index 0000000..f09c79e --- /dev/null +++ b/src/server/billing.ts @@ -0,0 +1,142 @@ +import { eq } from "drizzle-orm"; +import Stripe from "stripe"; + +import { db, schema } from "@/db/client"; +import { getPlan, isPlanId, type PlanId } from "@/domain/plans"; + +import { grantCredits } from "./credits"; + +/** Stripe is optional: a self-hosted studio with no key simply shows no + checkout. Everything here degrades to "billing is not configured". */ +export function stripeClient(): Stripe | null { + const key = process.env.STRIPE_SECRET_KEY?.trim(); + if (!key) return null; + return new Stripe(key, { apiVersion: "2026-08-27.dahlia" as Stripe.LatestApiVersion }); +} + +export function billingConfigured(): boolean { + return Boolean(process.env.STRIPE_SECRET_KEY?.trim()); +} + +/** Price ids live in the environment so test and live mode share the plan + table: STRIPE_PRICE_STARTER, STRIPE_PRICE_PRO, STRIPE_PRICE_STUDIO. */ +export function priceIdFor(planId: PlanId): string | null { + const value = process.env[`STRIPE_PRICE_${planId.toUpperCase()}`]?.trim(); + return value || null; +} + +export function planForPrice(priceId: string | null | undefined): PlanId | null { + if (!priceId) return null; + for (const plan of ["starter", "pro", "studio"] as const) { + if (priceIdFor(plan) === priceId) return plan; + } + return null; +} + +export async function ensureCustomer(stripe: Stripe, workspace: schema.Workspace, email: string): Promise { + if (workspace.stripeCustomerId) return workspace.stripeCustomerId; + const customer = await stripe.customers.create({ + email, + name: workspace.name, + metadata: { workspaceId: workspace.id }, + }); + await db + .update(schema.workspace) + .set({ stripeCustomerId: customer.id, updatedAt: new Date() }) + .where(eq(schema.workspace.id, workspace.id)); + return customer.id; +} + +async function workspaceByCustomer(customerId: string): Promise { + const [row] = await db.select().from(schema.workspace).where(eq(schema.workspace.stripeCustomerId, customerId)); + return row ?? null; +} + +function customerIdOf(value: string | Stripe.Customer | Stripe.DeletedCustomer | null | undefined): string | null { + if (!value) return null; + return typeof value === "string" ? value : value.id; +} + +/** Applies one Stripe event to the workspace it concerns. Returns what it + did, for the log. Each event id is recorded first, so a redelivery is a + no-op even if the handler below throws halfway on the first try. */ +export async function applyStripeEvent(event: Stripe.Event): Promise { + const now = new Date(); + try { + await db.insert(schema.stripeEvent).values({ id: event.id, type: event.type, processedAt: now }); + } catch { + return "duplicate"; + } + + switch (event.type) { + case "checkout.session.completed": { + const session = event.data.object; + const workspaceId = session.metadata?.workspaceId; + const planId = session.metadata?.planId; + if (!workspaceId || !planId || !isPlanId(planId)) return "ignored: no workspace or plan in metadata"; + const subscriptionId = typeof session.subscription === "string" ? session.subscription : (session.subscription?.id ?? null); + await db + .update(schema.workspace) + .set({ + planId, + stripeSubscriptionId: subscriptionId, + stripeCustomerId: customerIdOf(session.customer) ?? undefined, + updatedAt: now, + }) + .where(eq(schema.workspace.id, workspaceId)); + await grantCredits(workspaceId, getPlan(planId).credits, "plan_grant", { + stripeEventId: event.id, + note: `${getPlan(planId).label} activated`, + }); + return `activated ${planId} for ${workspaceId}`; + } + case "invoice.paid": { + const invoice = event.data.object; + /* The first invoice is the checkout; credits for it come from the + session above. Only renewals grant here. */ + if (invoice.billing_reason !== "subscription_cycle") return "ignored: not a renewal"; + const customerId = customerIdOf(invoice.customer); + const workspace = customerId ? await workspaceByCustomer(customerId) : null; + if (!workspace) return "ignored: unknown customer"; + const plan = getPlan(workspace.planId); + const periodEnd = invoice.lines.data[0]?.period?.end; + await db + .update(schema.workspace) + .set({ planRenewsAt: periodEnd ? new Date(periodEnd * 1000) : null, updatedAt: now }) + .where(eq(schema.workspace.id, workspace.id)); + await grantCredits(workspace.id, plan.credits, "plan_grant", { stripeEventId: event.id, note: `${plan.label} renewal` }); + return `renewed ${plan.id} for ${workspace.id}`; + } + case "customer.subscription.updated": { + const subscription = event.data.object; + const customerId = customerIdOf(subscription.customer); + const workspace = customerId ? await workspaceByCustomer(customerId) : null; + if (!workspace) return "ignored: unknown customer"; + const planId = planForPrice(subscription.items.data[0]?.price?.id); + const renews = subscription.items.data[0]?.current_period_end; + await db + .update(schema.workspace) + .set({ + ...(planId && subscription.status === "active" ? { planId } : {}), + stripeSubscriptionId: subscription.id, + planRenewsAt: renews ? new Date(renews * 1000) : null, + updatedAt: now, + }) + .where(eq(schema.workspace.id, workspace.id)); + return `updated subscription for ${workspace.id}`; + } + case "customer.subscription.deleted": { + const subscription = event.data.object; + const customerId = customerIdOf(subscription.customer); + const workspace = customerId ? await workspaceByCustomer(customerId) : null; + if (!workspace) return "ignored: unknown customer"; + await db + .update(schema.workspace) + .set({ planId: "free", stripeSubscriptionId: null, planRenewsAt: null, updatedAt: now }) + .where(eq(schema.workspace.id, workspace.id)); + return `downgraded ${workspace.id} to free`; + } + default: + return `ignored: ${event.type}`; + } +} diff --git a/src/server/runs.ts b/src/server/runs.ts new file mode 100644 index 0000000..1eb076f --- /dev/null +++ b/src/server/runs.ts @@ -0,0 +1,246 @@ +import { and, desc, eq, inArray, isNull } from "drizzle-orm"; + +import { db, schema } from "@/db/client"; +import type { RunRow } from "@/db/schema"; +import type { Surface } from "@/generation/catalog/types"; +import type { GenerationStatus } from "@/generation/platform"; + +/** The row the studio renders. Mirrors RunRow with dates as numbers, since it + crosses the server-action boundary and lands in client state. */ +export interface RunRecord { + id: string; + requestId: string; + surface: Surface; + kind: Surface; + modelId: string; + modelLabel: string; + prompt: string; + scene: string; + ratio: string; + meta: string; + badge?: string; + urls: string[]; + status: "running" | "completed" | "failed"; + error?: string; + favorite: boolean; + review: "pending" | "approved" | "rejected"; + settings: Record; + credits: number; + productId: string | null; + campaignId: string | null; + presetId: string | null; + channelId: string | null; + createdAt: number; +} + +export type RunContext = { + productId: string | null; + campaignId: string | null; + presetId: string | null; + channelId: string | null; + scene: string; +}; + +export type RunDraft = RunContext & { + surface: Surface; + modelId: string; + modelLabel: string; + prompt: string; + ratio: string; + meta: string; + badge?: string; + settings: Record; + credits: number; +}; + +export const HISTORY_LIMIT = 200; + +export function toRunRecord(row: RunRow): RunRecord { + return { + id: row.id, + requestId: row.requestId, + surface: row.surface, + kind: row.surface, + modelId: row.modelId, + modelLabel: row.modelLabel, + prompt: row.prompt, + scene: row.scene, + ratio: row.ratio, + meta: row.meta, + badge: row.badge ?? undefined, + urls: row.urls, + status: row.status, + error: row.error ?? undefined, + favorite: row.favorite, + review: row.review, + settings: row.settings, + credits: row.credits, + productId: row.productId, + campaignId: row.campaignId, + presetId: row.presetId, + channelId: row.channelId, + createdAt: row.createdAt.getTime(), + }; +} + +function rowId(requestId: string, offset: number, count: number): string { + return count > 1 ? `${requestId}#${offset}` : requestId; +} + +/** One row per expected result, all waiting on the same platform request. */ +export async function insertRunningRows( + workspaceId: string, + userId: string, + requestId: string, + count: number, + draft: RunDraft, +): Promise { + const now = new Date(); + const rows = Array.from({ length: Math.max(1, count) }, (_, offset) => ({ + id: rowId(requestId, offset, count), + workspaceId, + userId, + requestId, + productId: draft.productId, + campaignId: draft.campaignId, + presetId: draft.presetId, + channelId: draft.channelId, + surface: draft.surface, + modelId: draft.modelId, + modelLabel: draft.modelLabel, + prompt: draft.prompt, + scene: draft.scene, + ratio: draft.ratio, + meta: draft.meta, + badge: draft.badge ?? null, + urls: [] as string[], + status: "running" as const, + error: null, + favorite: false, + review: "pending" as const, + settings: draft.settings, + /* The whole request's cost sits on its first row, so a batch is charged + once and refunded once. */ + credits: offset === 0 ? draft.credits : 0, + createdAt: now, + updatedAt: now, + deletedAt: null, + })); + await db.insert(schema.run).values(rows); + const stored = await db.select().from(schema.run).where(eq(schema.run.requestId, requestId)); + return stored.map(toRunRecord); +} + +export function failureText(status: GenerationStatus): string { + if (status.status === "nsfw") return "the platform flagged the result as NSFW"; + if (status.status === "canceled") return "the run was canceled"; + if (typeof status.error === "string" && status.error) return status.error; + return "the platform reported a failure"; +} + +/** Replace a request's running rows with its outcome. Returns the settled + rows, or null when nothing was running for it (already settled, or the + tiles were deleted while in flight). */ +export async function settleRequest( + workspaceId: string, + requestId: string, + outcome: { status: GenerationStatus } | { error: string }, +): Promise { + const running = await db + .select() + .from(schema.run) + .where( + and(eq(schema.run.workspaceId, workspaceId), eq(schema.run.requestId, requestId), eq(schema.run.status, "running")), + ); + if (running.length === 0) return null; + + const now = new Date(); + const first = running[0]!; + const urls = + "status" in outcome + ? (outcome.status.images?.map((image) => image.url) ?? (outcome.status.video ? [outcome.status.video.url] : [])) + : []; + const completed = "status" in outcome && outcome.status.status === "completed" && urls.length > 0; + const error = completed ? null : "status" in outcome ? failureText(outcome.status) : outcome.error; + + if (completed) { + /* The platform may answer with more or fewer media than tiles were opened + for. Rows are re-cut to one per delivered URL, keeping the first row's + credits and the request's identity. */ + const total = urls.length; + const rows = urls.map((url, offset) => ({ + ...first, + id: rowId(requestId, offset, total), + urls: [url], + status: "completed" as const, + error: null, + credits: offset === 0 ? first.credits : 0, + updatedAt: now, + })); + await db.batch([ + db.delete(schema.run).where(and(eq(schema.run.requestId, requestId), eq(schema.run.status, "running"))), + db.insert(schema.run).values(rows).onConflictDoNothing(), + ]); + } else { + await db + .update(schema.run) + .set({ status: "failed", error, urls: [], updatedAt: now }) + .where(and(eq(schema.run.requestId, requestId), eq(schema.run.status, "running"))); + } + const settled = await db.select().from(schema.run).where(eq(schema.run.requestId, requestId)); + return settled.map(toRunRecord); +} + +export async function listRuns(workspaceId: string, limit = HISTORY_LIMIT): Promise { + const rows = await db + .select() + .from(schema.run) + .where(and(eq(schema.run.workspaceId, workspaceId), isNull(schema.run.deletedAt))) + .orderBy(desc(schema.run.createdAt)) + .limit(limit); + return rows.map(toRunRecord); +} + +export async function runningRequestIds(workspaceId: string, requestIds: string[]): Promise> { + if (requestIds.length === 0) return new Set(); + const rows = await db + .select({ requestId: schema.run.requestId }) + .from(schema.run) + .where( + and( + eq(schema.run.workspaceId, workspaceId), + eq(schema.run.status, "running"), + inArray(schema.run.requestId, requestIds), + ), + ); + return new Set(rows.map((row) => row.requestId)); +} + +export async function creditsOfRequest(workspaceId: string, requestId: string): Promise { + const rows = await db + .select({ credits: schema.run.credits }) + .from(schema.run) + .where(and(eq(schema.run.workspaceId, workspaceId), eq(schema.run.requestId, requestId))); + return rows.reduce((total, row) => total + row.credits, 0); +} + +export async function updateRuns( + workspaceId: string, + ids: string[], + patch: Partial>, +): Promise { + if (ids.length === 0) return; + await db + .update(schema.run) + .set({ ...patch, updatedAt: new Date() }) + .where(and(eq(schema.run.workspaceId, workspaceId), inArray(schema.run.id, ids))); +} + +export async function runsByIds(workspaceId: string, ids: string[]): Promise { + if (ids.length === 0) return []; + const rows = await db + .select() + .from(schema.run) + .where(and(eq(schema.run.workspaceId, workspaceId), inArray(schema.run.id, ids))); + return rows.map(toRunRecord); +} diff --git a/src/server/storage.ts b/src/server/storage.ts new file mode 100644 index 0000000..81a131f --- /dev/null +++ b/src/server/storage.ts @@ -0,0 +1,93 @@ +import { mkdir, writeFile } from "node:fs/promises"; +import { join, resolve } from "node:path"; + +import { newId } from "./ids"; + +export type StorageDriver = "blob" | "local"; + +/** Uploads go client-direct to Vercel Blob when a token is present, else to + the local disk under DATA_DIR, served back by /api/files. The local driver + exists so a laptop or a single Docker host works without a Blob store — + the platform still has to be able to fetch the resulting URL. */ +export function storageDriver(): StorageDriver { + const forced = process.env.STORAGE_DRIVER?.trim(); + if (forced === "local" || forced === "blob") return forced; + return process.env.BLOB_READ_WRITE_TOKEN?.trim() ? "blob" : "local"; +} + +export const ALLOWED_UPLOAD_TYPES = [ + "image/jpeg", + "image/png", + "image/webp", + "image/gif", + "video/mp4", + "audio/wav", + "audio/x-wav", +] as const; + +export const MAX_UPLOAD_BYTES = 64 * 1024 * 1024; + +export function dataDir(): string { + return resolve(/*turbopackIgnore: true*/ process.env.DATA_DIR?.trim() || "./data"); +} + +export function uploadsDir(): string { + return join(dataDir(), "uploads"); +} + +export function sanitizeFilename(filename: string): string { + const base = filename.replaceAll("\\", "/").split("/").pop() ?? ""; + const cleaned = base.replace(/[^A-Za-z0-9._-]+/g, "_").replace(/^\.+/, ""); + return cleaned.slice(0, 120) || "file"; +} + +/** Writes bytes under uploads//- and returns the path + the files route serves it at. The id makes the URL unguessable, which is + the only protection a URL the platform fetches anonymously can have. */ +export async function storeLocal(workspaceId: string, filename: string, bytes: Uint8Array): Promise { + const name = `${newId()}-${sanitizeFilename(filename)}`; + const dir = join(uploadsDir(), workspaceId); + await mkdir(dir, { recursive: true }); + await writeFile(join(dir, name), bytes); + return `${workspaceId}/${name}`; +} + +const SAFE_SEGMENT = /^[A-Za-z0-9._-]+$/; + +/** Resolves a served path back to disk, refusing anything that could step + outside the uploads directory. */ +export function localPath(segments: string[]): string | null { + if (segments.length !== 2 || !segments.every((segment) => SAFE_SEGMENT.test(segment) && !segment.startsWith("."))) { + return null; + } + return join(uploadsDir(), ...segments); +} + +export function contentTypeFor(name: string): string { + const ext = name.split(".").pop()?.toLowerCase(); + switch (ext) { + case "jpg": + case "jpeg": + return "image/jpeg"; + case "png": + return "image/png"; + case "webp": + return "image/webp"; + case "gif": + return "image/gif"; + case "mp4": + return "video/mp4"; + case "wav": + return "audio/wav"; + default: + return "application/octet-stream"; + } +} + +/** The origin the platform can reach files at. APP_URL in production; the + request's own origin in development. */ +export function publicOrigin(request: Request): string { + const explicit = process.env.APP_URL?.trim(); + if (explicit) return explicit.replace(/\/+$/, ""); + return new URL(request.url).origin; +} diff --git a/src/server/studio-data.ts b/src/server/studio-data.ts new file mode 100644 index 0000000..d8e545e --- /dev/null +++ b/src/server/studio-data.ts @@ -0,0 +1,29 @@ +import { operatorKey } from "@/generation/credentials"; +import type { StudioData } from "@/studio/types"; + +import { readBrandKit } from "./actions/brand"; +import { listProducts } from "./actions/products"; +import { listUploads } from "./actions/uploads"; +import { listRuns } from "./runs"; +import type { Viewer } from "./session"; + +/** One read per studio page load, on the server, so the grid opens full. */ +export async function loadStudioData(viewer: Viewer): Promise { + const [runs, uploads, products, brand] = await Promise.all([ + listRuns(viewer.workspace.id), + listUploads(), + listProducts(), + readBrandKit(viewer.workspace.id), + ]); + const byok = Boolean(viewer.workspace.platformKeySealed); + return { + runs, + uploads, + products, + brand, + key: { mode: byok ? "byok" : operatorKey() ? "operator" : "none", byok, canEdit: viewer.role === "owner" }, + credits: viewer.workspace.creditBalance, + planId: viewer.workspace.planId, + workspaceName: viewer.workspace.name, + }; +} diff --git a/src/server/validation.ts b/src/server/validation.ts new file mode 100644 index 0000000..67d568d --- /dev/null +++ b/src/server/validation.ts @@ -0,0 +1,12 @@ +export type SaveResult = { ok: true; value: T } | { ok: false; errors: Record }; + +/** One message per field, the first issue winning, keyed the way a form + names its inputs. */ +export function flatten(error: { issues: Array<{ path: PropertyKey[]; message: string }> }): Record { + const out: Record = {}; + for (const issue of error.issues) { + const key = issue.path.map(String).join(".") || "form"; + out[key] ??= issue.message; + } + return out; +} diff --git a/src/site.ts b/src/site.ts index c3d6850..7be12c7 100644 --- a/src/site.ts +++ b/src/site.ts @@ -15,12 +15,12 @@ function resolveOrigin(): string { export const SITE_URL = resolveOrigin(); -export const SITE_NAME = "OpenHiggsfield AI"; -export const SITE_DESCRIPTOR = "Open source AI studio"; +export const SITE_NAME = "Vitrina"; +export const SITE_DESCRIPTOR = "AI product visuals for e-commerce"; export const SITE_TITLE = `${SITE_NAME} — ${SITE_DESCRIPTOR}`; export const SITE_DESCRIPTION = - "A studio for image and video generation — one prompt bar, each model’s own settings, and every finished run in one gallery."; + "Product photos and clips for every channel, from the photo you already have. Presets for pack shots, lifestyle scenes, reveals and UGC clips; the brand kit writes the prompt, the channel fixes the ratio."; /** Near-black studio ground; also the installed-app and browser-chrome color. */ export const STUDIO_BG = "#0a0a0b"; @@ -36,7 +36,7 @@ export const OG_IMAGE = { width: 1200, height: 630, type: "image/png", - alt: "The OpenHiggsfield AI open-frame mark on a near-black field, above the OpenHiggsfield AI wordmark, the words Open source AI studio, and a line describing one prompt bar for image and video with every finished run in one gallery.", + alt: "The Vitrina mark on a near-black field, above the Vitrina wordmark, the words AI product visuals for e-commerce, and a line describing presets and channels for product photos and clips.", }; /* Next replaces the whole `openGraph` (and `twitter`) object when a route diff --git a/src/openhiggsfield/artwork.ts b/src/studio/artwork.ts similarity index 100% rename from src/openhiggsfield/artwork.ts rename to src/studio/artwork.ts diff --git a/src/openhiggsfield/asset-picker.tsx b/src/studio/asset-picker.tsx similarity index 87% rename from src/openhiggsfield/asset-picker.tsx rename to src/studio/asset-picker.tsx index ddf08d1..b660a7c 100644 --- a/src/openhiggsfield/asset-picker.tsx +++ b/src/studio/asset-picker.tsx @@ -14,7 +14,7 @@ import { PlayBadgeIcon, UploadIcon, } from "./icons"; -import type { UploadRecord } from "./uploads"; +import type { UploadRecord } from "@/server/actions/uploads"; type Source = "uploads" | "generations"; @@ -204,10 +204,10 @@ export function AssetPicker({ : "Done"; return ( -
    -
    +
    +
    setSource(id)} > {SOURCE_LABELS[id]} - {count} + {count} ); })} @@ -235,7 +235,7 @@ export function AssetPicker({ @@ -269,18 +269,18 @@ export function AssetPicker({
    )} -
    +
    {assets.length === 0 ? ( -
    - +
    + {shelf === "uploads" ? : } - {empty.title} - {empty.hint} + {empty.title} + {empty.hint} {shelf === "uploads" && (
    ) : ( -
    +
    {shelf === "uploads" && ( )} @@ -321,15 +321,15 @@ export function AssetPicker({ )}
    -
    - +
    + {selected.length} of {max} {roleNoun(role, max)} {/* Never disabled: with no change left to apply it is simply the way out, and the panel always offers one press that ends the task. */} diff --git a/src/openhiggsfield/composer.tsx b/src/studio/composer.tsx similarity index 80% rename from src/openhiggsfield/composer.tsx rename to src/studio/composer.tsx index 060edc2..8980d04 100644 --- a/src/openhiggsfield/composer.tsx +++ b/src/studio/composer.tsx @@ -3,8 +3,10 @@ import { useEffect, useRef, useState } from "react"; import type { CSSProperties, ReactNode } from "react"; +import type { BrandKit, Product } from "@/domain/brand"; import { parseSettings } from "@/generation/catalog"; import type { ModelEntry, Surface } from "@/generation/catalog"; +import type { UploadRecord } from "@/server/actions/uploads"; import { MAX_BATCH, useActive } from "@/generation/stores/active"; import { useImagePrompt, useVideoPrompt } from "@/generation/stores/prompt"; import { useSettings } from "@/generation/stores/settings"; @@ -14,6 +16,8 @@ import { AssetPicker } from "./asset-picker"; import { PROMPT_PLACEHOLDERS, countSetting } from "./data"; import type { RunRecord } from "./history"; import { ArrowUpIcon, CaretDownIcon, CloseIcon, MinusIcon, PlusIcon, WarningIcon } from "./icons"; +import { finalPrompt, type Job } from "./job"; +import { JobPicker, JobRail } from "./job-rail"; import { MediaStrip, useMediaTray } from "./media-tray"; import { ModelIcon, modelIconSrc } from "./model-icon"; import { ModelPicker } from "./model-picker"; @@ -37,7 +41,7 @@ const POPOVER_GAP = 8; /** Declared widths keep an opening popover inside the composer's own column. */ function popoverWidth(id: string, model: ModelEntry): number { - if (id === PICKER || id === ASSETS) return 560; + if (id === PICKER || id === ASSETS || id.startsWith("job:")) return 560; /* A list of an enum's values is the narrow panel; a slider needs its travel. */ if (id.startsWith(SETTING) && model.settings[id.slice(SETTING.length)]?.type === "enum") { return 216; @@ -52,6 +56,10 @@ export function Composer({ error, focusNonce, history, + products, + brand, + job, + initialUploads, notice, selection, selecting, @@ -66,6 +74,11 @@ export function Composer({ /* Finished runs are attachable inputs, so the asset picker reads the same log the gallery renders. */ history: RunRecord[]; + products: Product[]; + brand: BrandKit; + /* The product, preset and channel the composer is set up for. */ + job: Job; + initialUploads: UploadRecord[]; /* Transient receipts from the gallery share the composer's banner strip rather than adding a floating layer of their own. */ notice?: ReactNode; @@ -84,7 +97,8 @@ export function Composer({ const prompt = surface === "image" ? imagePrompt : videoPrompt; const settings = useSettings(); const values = parseSettings(model, settings.byModel[model.id] ?? {}); - const tray = useMediaTray(model, onError); + const tray = useMediaTray(model, onError, initialUploads); + const [preview, setPreview] = useState(false); const [overlay, setOverlay] = useState(null); const [anchor, setAnchor] = useState({ x: 0, y: 0 }); @@ -94,7 +108,9 @@ export function Composer({ const promptRef = useRef(null); /* A run in flight is not a lock: it holds its own tile in the grid, so the only thing that can stop a press is having nothing to say. */ - const disabled = prompt.text.trim().length === 0; + const compiled = finalPrompt(prompt.text, job, brand); + const disabled = compiled.trim().length === 0; + const placeholder = job.preset ? job.preset.scenePlaceholder : PROMPT_PLACEHOLDERS[surface]; /* One batch control, two mechanisms. A model that declares its own results-per-request gets that setting written; the rest are submitted once @@ -120,7 +136,7 @@ export function Composer({ const dock = dockRef.current; if (!dock) return; const observer = new ResizeObserver(() => { - dock.parentElement?.style.setProperty("--ohf-dock-h", `${dock.offsetHeight}px`); + dock.parentElement?.style.setProperty("--vt-dock-h", `${dock.offsetHeight}px`); }); observer.observe(dock); return () => observer.disconnect(); @@ -195,7 +211,7 @@ export function Composer({ if (!wrap) return; const wrapBox = wrap.getBoundingClientRect(); const triggerBox = trigger.getBoundingClientRect(); - const strip = wrap.querySelector(".ohf-strip"); + const strip = wrap.querySelector(".vt-strip"); const ceiling = strip ? Math.min(triggerBox.top, strip.getBoundingClientRect().top) : triggerBox.top; @@ -212,30 +228,31 @@ export function Composer({ const settingKey = overlay?.startsWith(SETTING) ? overlay.slice(SETTING.length) : null; const generateLabel = batchValue > 1 ? `Generate ${batchValue} results` : "Generate"; const generateTip = disabled ? "Write a prompt first" : `${generateLabel} · ${shortcut ?? "⌘↵"}`; + const jobOverlay = overlay?.startsWith("job:") ? overlay : null; return ( -
    +
    {notice} {error && ( -
    - +
    + - {error} + {error}
    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 z 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 z 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 z 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%0AWnG9aztt%7Wp-P2Ixy!(g~4iv;{C@omb*o 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�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 - - - - Change Password - - -

    Passwords Doesn't match

    The passwords you entered didn't match. Try again.

    "; - }else if($LS->login($LS->getUser("username"), $curpass, false, false) == false){ - echo "

    Current Password Wrong!

    The password you entered for your account is wrong.

    "; - }else{ - $change_password = $LS->changePassword($new_password); - if($change_password === true){ - echo "

    Password Changed Successfully

    "; - } - } - }else{ - echo "

    Password Fields was blank

    Form fields were left blank

    "; - } - } - ?> -
    - - - - -
    - - diff --git a/css/32px.png b/css/32px.png deleted file mode 100644 index 15327152481789306eadef88393cd1c748dc31a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3121 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 q$a=%VWn+k|UtiDv&>%>!2^rk(D6aNK_^-%!; diff --git a/css/40px.png b/css/40px.png deleted file mode 100644 index 1959347aea041d75a58d0584ea7ec51714797983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1880 zcmZ`)doPK^x}L8xo#OE#OkB~$LGr;}=FbpxeWUvbGmLn1DXa;HsQK~D7_{^sq2 z^fni3chvJ5$YKUAlPB<%YYsGqZ3*PyX7OjPSmNI*c$WG!up*Jd*}3 zyaNUJH)Q(CkAGRYx9(QF6|av~uGv)1Y;;XvzcpOJ6RwjX&Aq_Aw}!?@ks55jzGfWq zHi2b^qzQ-8bl-&6a#)X#NWKfdin__%Ol?}CAS&@2z3m-#8{JmeH=J{JF%S+MQ5YWYP20_w8qRF6(+-b#Trf> zo_2Ahj>H8mS@~xq^k9LXSkqS5UA65dkI8zx!mlGSfKyE;s4Src2P4*>GKW637{uPZ zn41TS!b0I%aCMOGtR7_5i0R^u?Z1kp6{@2~AH^7slz&0Qj|5)78I0s6dlVU{)cQrP zeNGP#HlU^~-R%ecwQ5d4f89gT`1oM|(Ofc=m=oyYg2-k3n{hQ$7?G# z&FPF6FFv(B1kEI;9zR$1bF}BYcUcz6lkHP>F~*Z@^?L7Dwi265tsN>ESDZo%}%mSZ>gVZrQEHe#NWr4C*NSf*0NrTPY+o|6J6YC;=zHNu2 z8bz_U4ETk(5(4ZKzU=r-bX5C~YoQu69_!Kg_;tIz@|bcZeUDp?>LM|N ziJp5yVxnWe6Y7OqZ0sqz9>rV_e8%6p;7r{y(wfYhJK>k?%R9^#}q@xkWO6(y$(5^YBRpql1{)zuK zbrtwwtit>e;@%w>h7p&2<37Z3Q~Of2IoVshosA0BYcm}a31kTD@b5Y^cq1>Lz~v#* z=I3$&3b7mLgtwj%M~`+Qvt=#z{qJiwXm0kiXWM^#JaGk!bF6zb=stF+fn62*;^IMV z;8jniInrmfUG6KNlUC^lV!pmFFQ+Bb!%x?kA|oelOOeQZy&ZYzuw;)RIQ$l#&^K8* z0OFJoe{kr3Me>S$Wc!cxtzZ7K-m>EtO!YQ<*Jwhovtf3=v?o4fP-T|cmxOL~h!|$H iV&_@$q2+YC87j9T{b5} - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/css/csstables/_notes/dwsync.xml b/css/csstables/_notes/dwsync.xml deleted file mode 100644 index 847a0e8..0000000 --- a/css/csstables/_notes/dwsync.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/css/csstables/buttons.dataTables.min.css b/css/csstables/buttons.dataTables.min.css deleted file mode 100644 index a8758ee..0000000 --- a/css/csstables/buttons.dataTables.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}button.dt-button,div.dt-button,a.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:0.333em;padding:0.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:0.88em;color:black;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-o-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:linear-gradient(to bottom, #fff 0%, #e9e9e9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}button.dt-button.disabled,div.dt-button.disabled,a.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9')}button.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),a.dt-button:active:not(.disabled),a.dt-button.active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');box-shadow:inset 1px 1px 3px #999999}button.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999999;background-color:#cccccc;background-image:-webkit-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-moz-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-ms-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-o-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:linear-gradient(to bottom, #eaeaea 0%, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc')}button.dt-button:hover,div.dt-button:hover,a.dt-button:hover{text-decoration:none}button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled),a.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0')}button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled),a.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-o-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9')}.dt-button embed{outline:none}div.dt-buttons{position:relative;float:left}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;display:block;float:none;margin-bottom:4px;margin-right:0}div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}} diff --git a/css/csstables/dataTables.editor.css b/css/csstables/dataTables.editor.css deleted file mode 100644 index e69de29..0000000 diff --git a/css/csstables/editor.bootstrap.css b/css/csstables/editor.bootstrap.css deleted file mode 100644 index 433049b..0000000 --- a/css/csstables/editor.bootstrap.css +++ /dev/null @@ -1,689 +0,0 @@ -div.DTE div.DTE_Form_Error { - color: #b11f1f; -} - -div.modal div.DTE div.DTE_Form_Error { - display: none; - float: left; - padding-top: 7px; -} - -div.DTE_Field div.multi-value, -div.DTE_Field div.multi-restore { - display: none; - cursor: pointer; -} -div.DTE_Field div.multi-value span, -div.DTE_Field div.multi-restore span { - display: block; - color: #666; -} -div.DTE_Field div.multi-value:hover, -div.DTE_Field div.multi-restore:hover { - background-color: #f1f1f1; -} -div.DTE_Field div.multi-restore { - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; -} -div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -div.DTE_Inline div.DTE_Field { - width: 100%; -} -div.DTE_Inline div.DTE_Field > div { - width: 100%; - padding: 0; -} -div.DTE_Inline div.DTE_Field input.form-control { - height: 30px; -} -div.DTE_Inline div.DTE_Field div.help-block { - display: none; - margin-top: 10px; - margin-bottom: 0; -} -div.DTE_Inline.DTE_Processing:after { - top: 5px; -} - -div.DTE_Field_Type_checkbox div.controls, -div.DTE_Field_Type_radio div.controls { - margin-top: 0.4em; -} -div.DTE_Field_Type_checkbox div.controls label, -div.DTE_Field_Type_radio div.controls label { - margin-left: 0.75em; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; -} - -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Bubble div.DTE_Bubble_Liner { - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - border-radius: 6px; - padding: 0 0 0.5em 0; - border: 1px solid rgba(0, 0, 0, 0.2); -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field > div { - width: 100%; - float: none; - clear: both; - text-align: left; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label { - padding-bottom: 4px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - font-size: 14px; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - margin-top: -2px; - display: block; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-left: 1px solid rgba(0, 0, 0, 0.2); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 10; - background-color: rgba(0, 0, 0, 0.05); -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - height: auto; -} -div.DTE div.editor_upload ul li button { - padding-bottom: 8px; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #337ab7; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -div.DTE div.DTE_Processing_Indicator { - top: 52px; - right: 12px; -} diff --git a/css/csstables/editor.bootstrap.min.css b/css/csstables/editor.bootstrap.min.css deleted file mode 100644 index c8d65cd..0000000 --- a/css/csstables/editor.bootstrap.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE div.DTE_Form_Error{color:#b11f1f}div.modal div.DTE div.DTE_Form_Error{display:none;float:left;padding-top:7px}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#f1f1f1}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE_Inline div.DTE_Field{width:100%}div.DTE_Inline div.DTE_Field>div{width:100%;padding:0}div.DTE_Inline div.DTE_Field input.form-control{height:30px}div.DTE_Inline div.DTE_Field div.help-block{display:none;margin-top:10px;margin-bottom:0}div.DTE_Inline.DTE_Processing:after{top:5px}div.DTE_Field_Type_checkbox div.controls,div.DTE_Field_Type_radio div.controls{margin-top:0.4em}div.DTE_Field_Type_checkbox div.controls label,div.DTE_Field_Type_radio div.controls label{margin-left:0.75em;margin-bottom:0;vertical-align:middle;font-weight:normal}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Bubble div.DTE_Bubble_Liner{box-shadow:0 5px 10px rgba(0,0,0,0.2);border-radius:6px;padding:0 0 0.5em 0;border:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field>div{width:100%;float:none;clear:both;text-align:left}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label{padding-bottom:4px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;font-size:14px;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{margin-top:-2px;display:block}div.DTE_Bubble div.DTE_Bubble_Triangle{border-bottom:1px solid rgba(0,0,0,0.2);border-left:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;background-color:rgba(0,0,0,0.05)}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{height:auto}div.DTE div.editor_upload ul li button{padding-bottom:8px}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#337ab7;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}div.DTE div.DTE_Processing_Indicator{top:52px;right:12px} diff --git a/css/csstables/editor.bootstrap4.css b/css/csstables/editor.bootstrap4.css deleted file mode 100644 index 8f2609c..0000000 --- a/css/csstables/editor.bootstrap4.css +++ /dev/null @@ -1,689 +0,0 @@ -div.DTE div.DTE_Form_Error { - color: #b11f1f; -} - -div.modal div.DTE div.DTE_Form_Error { - display: none; - float: left; - padding-top: 7px; -} - -div.DTE_Field div.multi-value, -div.DTE_Field div.multi-restore { - display: none; - cursor: pointer; -} -div.DTE_Field div.multi-value span, -div.DTE_Field div.multi-restore span { - display: block; - color: #666; -} -div.DTE_Field div.multi-value:hover, -div.DTE_Field div.multi-restore:hover { - background-color: #f1f1f1; -} -div.DTE_Field div.multi-restore { - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; -} -div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -div.DTE_Inline div.DTE_Field { - width: 100%; -} -div.DTE_Inline div.DTE_Field > div { - width: 100%; - padding: 0; -} -div.DTE_Inline div.DTE_Field input.form-control { - height: 30px; -} -div.DTE_Inline div.DTE_Field div.help-block { - display: none; - margin-top: 10px; - margin-bottom: 0; -} -div.DTE_Inline.DTE_Processing:after { - top: 5px; -} - -div.DTE_Field_Type_checkbox div.controls, -div.DTE_Field_Type_radio div.controls { - margin-top: 0.4em; -} -div.DTE_Field_Type_checkbox div.controls label, -div.DTE_Field_Type_radio div.controls label { - margin-left: 0.75em; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; -} - -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Bubble div.DTE_Bubble_Liner { - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - border-radius: 6px; - padding: 0 0 0.5em 0; - border: 1px solid rgba(0, 0, 0, 0.2); -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field > div { - width: 100%; - float: none; - clear: both; - text-align: left; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label { - padding-bottom: 4px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - font-size: 14px; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - margin-top: -2px; - display: block; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-left: 1px solid rgba(0, 0, 0, 0.2); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 10; - background-color: rgba(0, 0, 0, 0.05); -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - height: auto; -} -div.DTE div.editor_upload ul li button { - padding-bottom: 8px; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #0275d8; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -div.DTE div.DTE_Processing_Indicator { - top: 52px; - right: 12px; -} diff --git a/css/csstables/editor.bootstrap4.min.css b/css/csstables/editor.bootstrap4.min.css deleted file mode 100644 index 398cf33..0000000 --- a/css/csstables/editor.bootstrap4.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE div.DTE_Form_Error{color:#b11f1f}div.modal div.DTE div.DTE_Form_Error{display:none;float:left;padding-top:7px}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#f1f1f1}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE_Inline div.DTE_Field{width:100%}div.DTE_Inline div.DTE_Field>div{width:100%;padding:0}div.DTE_Inline div.DTE_Field input.form-control{height:30px}div.DTE_Inline div.DTE_Field div.help-block{display:none;margin-top:10px;margin-bottom:0}div.DTE_Inline.DTE_Processing:after{top:5px}div.DTE_Field_Type_checkbox div.controls,div.DTE_Field_Type_radio div.controls{margin-top:0.4em}div.DTE_Field_Type_checkbox div.controls label,div.DTE_Field_Type_radio div.controls label{margin-left:0.75em;margin-bottom:0;vertical-align:middle;font-weight:normal}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Bubble div.DTE_Bubble_Liner{box-shadow:0 5px 10px rgba(0,0,0,0.2);border-radius:6px;padding:0 0 0.5em 0;border:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field>div{width:100%;float:none;clear:both;text-align:left}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label{padding-bottom:4px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;font-size:14px;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{margin-top:-2px;display:block}div.DTE_Bubble div.DTE_Bubble_Triangle{border-bottom:1px solid rgba(0,0,0,0.2);border-left:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;background-color:rgba(0,0,0,0.05)}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{height:auto}div.DTE div.editor_upload ul li button{padding-bottom:8px}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#0275d8;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}div.DTE div.DTE_Processing_Indicator{top:52px;right:12px} diff --git a/css/csstables/editor.dataTables.css b/css/csstables/editor.dataTables.css deleted file mode 100644 index f368d35..0000000 --- a/css/csstables/editor.dataTables.css +++ /dev/null @@ -1,1364 +0,0 @@ -div.DTE { - position: relative; -} -div.DTE div.DTE_Header { - position: absolute; - top: 0; - left: 0; - height: 50px; - width: 100%; - background-color: #f3f3f3; - border-bottom: 1px solid #ddd; - padding: 16px 10px 2px 16px; - font-size: 1.3em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE div.DTE_Footer { - position: absolute; - bottom: 0; - left: 0; - height: 50px; - width: 100%; - background-color: #f3f3f3; - border-top: 1px solid #ddd; - padding: 10px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE div.DTE_Body { - position: relative; -} -div.DTE div.DTE_Form_Info { - margin-bottom: 0.5em; - display: none; -} -div.DTE div.DTE_Form_Content { - position: relative; - padding: 10px; -} -div.DTE div.DTE_Form_Error { - float: left; - padding: 5px; - display: none; - color: #b11f1f; -} -div.DTE button.btn, -div.DTE div.DTE_Form_Buttons button { - position: relative; - text-align: center; - display: block; - margin-top: 0; - padding: 5px 15px; - cursor: pointer; - float: right; - margin-left: 0.75em; - font-size: 14px; - text-shadow: 0 1px 0 white; - border: 1px solid #999; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 1px 1px 3px #ccc; - -moz-box-shadow: 1px 1px 3px #ccc; - box-shadow: 1px 1px 3px #ccc; - background-color: #f9f9f9 100%; - /* Fallback */ - background-image: -webkit-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%); - /* Chrome 10+, Saf5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%); - /* FF3.6 */ - background-image: -ms-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%); - /* IE10 */ - background-image: -o-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%); - /* Opera 11.10+ */ - background-image: linear-gradient(to bottom, #ffffff 0%, #eee 65%, #f9f9f9 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9'); -} -div.DTE button.btn:hover, -div.DTE div.DTE_Form_Buttons button:hover { - border: 1px solid #666; - -webkit-box-shadow: 1px 1px 3px #999; - -moz-box-shadow: 1px 1px 3px #999; - box-shadow: 1px 1px 3px #999; - background-color: #f4f4f4 100%; - /* Fallback */ - background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%); - /* Chrome 10+, Saf5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%); - /* FF3.6 */ - background-image: -ms-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%); - /* IE10 */ - background-image: -o-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%); - /* Opera 11.10+ */ - background-image: linear-gradient(to bottom, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#f4f4f4'); -} -div.DTE button.btn:active, -div.DTE div.DTE_Form_Buttons button:active { - -webkit-box-shadow: inset 1px 1px 3px #999; - -moz-box-shadow: inset 1px 1px 3px #999; - box-shadow: inset 1px 1px 3px #999; -} -div.DTE button.btn:focus, -div.DTE div.DTE_Form_Buttons button:focus { - border: 1px solid #426c9e; - text-shadow: 0 1px 0 #c4def1; - background-color: #a3d0ef 100%; - /* Fallback */ - background-image: -webkit-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%); - /* Chrome 10+, Saf5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%); - /* FF3.6 */ - background-image: -ms-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%); - /* IE10 */ - background-image: -o-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%); - /* Opera 11.10+ */ - background-image: linear-gradient(to bottom, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#a3d0ef', EndColorStr='#a3d0ef'); - outline: none; -} -div.DTE button.btn:focus:after, -div.DTE div.DTE_Form_Buttons button:focus:after { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: white; - display: block; - content: " "; - -webkit-animation-duration: 1s; - -webkit-animation-name: buttonPulse; - -webkit-animation-fill-mode: forwards; - -webkit-animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -webkit-animation-direction: alternate; - -moz-animation-duration: 1s; - -moz-animation-name: buttonPulse; - -moz-animation-fill-mode: forwards; - -moz-animation-iteration-count: infinite; - -moz-animation-timing-function: linear; - -moz-animation-direction: alternate; - -o-animation-duration: 1s; - -o-animation-name: buttonPulse; - -o-animation-fill-mode: forwards; - -o-animation-iteration-count: infinite; - -o-animation-timing-function: linear; - -o-animation-direction: alternate; - animation-duration: 1s; - animation-name: buttonPulse; - animation-fill-mode: forwards; - animation-iteration-count: infinite; - animation-timing-function: linear; - animation-direction: alternate; -} -div.DTE.DTE_Action_Remove div.DTE_Body_Content { - text-align: center; - padding: 20px 0; -} - -@-webkit-keyframes buttonPulse { - 0% { - opacity: 0; - } - 100% { - opacity: 0.2; - } -} -@-moz-keyframes buttonPulse { - 0% { - opacity: 0; - } - 100% { - opacity: 0.2; - } -} -@-o-keyframes buttonPulse { - 0% { - opacity: 0; - } - 100% { - opacity: 0.2; - } -} -@keyframes buttonPulse { - 0% { - opacity: 0; - } - 100% { - opacity: 0.2; - } -} -div.DTTT_container { - float: left; -} - -div.DTE_Field input, -div.DTE_Field textarea { - box-sizing: border-box; - background-color: white; - -webkit-transition: background-color ease-in-out .15s; - transition: background-color ease-in-out .15s; -} -div.DTE_Field input:focus, -div.DTE_Field textarea:focus { - background-color: #ffffee; -} -div.DTE_Field input[type="color"], -div.DTE_Field input[type="date"], -div.DTE_Field input[type="datetime"], -div.DTE_Field input[type="datetime-local"], -div.DTE_Field input[type="email"], -div.DTE_Field input[type="month"], -div.DTE_Field input[type="number"], -div.DTE_Field input[type="password"], -div.DTE_Field input[type="search"], -div.DTE_Field input[type="tel"], -div.DTE_Field input[type="text"], -div.DTE_Field input[type="time"], -div.DTE_Field input[type="url"], -div.DTE_Field input[type="week"] { - padding: 6px 4px; - width: 100%; -} -div.DTE_Field label div.DTE_Label_Info { - font-size: 0.85em; - margin-top: 0.25em; -} -div.DTE_Field label div.DTE_Label_Info:empty { - margin-top: 0; -} -div.DTE_Field div.DTE_Field_Info, -div.DTE_Field div.DTE_Field_Message, -div.DTE_Field div.DTE_Field_Error { - font-size: 11px; - line-height: 1em; - margin-top: 5px; -} -div.DTE_Field div.DTE_Field_Info:empty, -div.DTE_Field div.DTE_Field_Message:empty, -div.DTE_Field div.DTE_Field_Error:empty { - margin-top: 0; -} -div.DTE_Field div.DTE_Field_Error { - display: none; - color: #b11f1f; -} -div.DTE_Field div.multi-value { - display: none; - border: 1px dotted #666; - border-radius: 3px; - padding: 5px; - background-color: #fafafa; - cursor: pointer; -} -div.DTE_Field div.multi-value span { - font-size: 0.8em; - line-height: 1.25em; - display: block; - color: #666; -} -div.DTE_Field div.multi-value.multi-noEdit { - border: 1px solid #ccc; - cursor: auto; - background-color: #fcfcfc; -} -div.DTE_Field div.multi-value.multi-noEdit:hover { - background-color: #fcfcfc; -} -div.DTE_Field div.multi-value:hover { - background-color: #f1f1f1; -} -div.DTE_Field.disabled { - color: grey; -} -div.DTE_Field.disabled div.multi-value { - cursor: default; - border: 1px dotted #aaa; - background-color: transparent; -} -div.DTE_Field div.multi-restore { - display: none; - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; - color: #3879d9; -} -div.DTE_Field div.multi-restore:hover { - text-decoration: underline; - cursor: pointer; -} - -div.DTE_Field_Type_textarea textarea { - padding: 3px; - width: 100%; - height: 80px; -} - -div.DTE_Field.DTE_Field_Type_date img { - vertical-align: middle; - cursor: pointer; - *cursor: hand; -} -div.DTE_Field.DTE_Field_Type_date input.jqueryui { - width: 87%; - margin-right: 6px; -} - -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div { - margin-bottom: 0.25em; -} -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div:last-child, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div:last-child { - margin-bottom: 0; -} -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div label, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div label { - margin-left: 0.75em; - vertical-align: middle; -} - -div.DTE_Field_Type_select div.DTE_Field_Input { - padding-top: 4px; -} - -div.DTE_Body { - padding: 50px 0; -} -div.DTE_Body div.DTE_Body_Content { - position: relative; - overflow: auto; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info { - padding: 1em 1em 0 1em; - margin: 0; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field { - position: relative; - zoom: 1; - clear: both; - padding: 5px 20%; - border: 1px solid transparent; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover { - background-color: #f9f9f9; - border: 1px solid #f3f3f3; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: left; - width: 40%; - padding-top: 6px; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: right; - width: 60%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0 5px 20%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 30%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 70%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - float: none; - clear: both; - width: 100%; -} - -html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: right; -} -html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: left; -} -html[dir="rtl"] div.DTE div.DTE_Form_Buttons button { - float: left; -} - -@media only screen and (max-width: 768px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - padding: 5px 10%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0 5px 10%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 35.5%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 64.5%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -@media only screen and (max-width: 640px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 40%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 60%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -@media only screen and (max-width: 580px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - position: relative; - zoom: 1; - clear: both; - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: none; - width: auto; - padding-top: 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: none; - width: auto; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full, div.DTE_Body div.DTE_Body_Content div.DTE_Field.block { - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label, - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input, div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > label, - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -div.DTED_Lightbox_Wrapper { - position: fixed; - top: 0; - left: 50%; - margin-left: -390px; - width: 780px; - height: 100%; - z-index: 11; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container { - *position: absolute; - /* IE6 */ - *top: 50%; - #position: absolute; - /* IE7 */ - #top: 50%; - display: table; - height: 100%; - width: 100%; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper { - *position: relative; - /* IE6 */ - #position: relative; - /* IE7 */ - display: table-cell; - vertical-align: middle; - width: 100%; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content { - *top: -50%; - /* IE6 */ - #top: -50%; - /* IE7 */ - position: relative; - border: 7px solid rgba(220, 220, 220, 0.5); - box-shadow: 2px 2px 10px #555; - border-radius: 10px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE { - background: white; - border-radius: 6px; - box-shadow: 0 0 5px #555; - border: 2px solid #444; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Header { - top: 2px; - left: 2px; - right: 2px; - width: auto; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Footer { - bottom: 2px; - left: 2px; - right: 2px; - width: auto; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} - -div.DTED_Lightbox_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTED_Lightbox_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTED_Lightbox_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Background { - height: 0; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Shown { - display: none; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - width: auto; - height: auto; - margin-left: 0; - -webkit-overflow-scrolling: touch; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container { - display: block; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper { - display: block; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content { - border: 4px solid rgba(220, 220, 220, 0.5); - border-radius: 0; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE { - border-radius: 0; - box-shadow: 0 0 5px #555; - border: 2px solid #444; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Header { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Footer { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} -body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close { - top: 11px; - right: 15px; -} - -@media only screen and (max-width: 780px) { - div.DTED_Lightbox_Wrapper { - position: fixed; - top: 0; - left: 0; - width: 100%; - margin-left: 0; - } -} -/* - * Namespace: DTED - DataTables Editor Display - Envelope - */ -div.DTED_Envelope_Wrapper { - position: absolute; - top: 0; - bottom: 0; - left: 50%; - height: 100%; - z-index: 11; - display: none; - overflow: hidden; -} -div.DTED_Envelope_Wrapper div.DTED_Envelope_Shadow { - position: absolute; - top: -10px; - left: 10px; - right: 10px; - height: 10px; - z-index: 10; - box-shadow: 0 0 20px black; -} -div.DTED_Envelope_Wrapper div.DTED_Envelope_Container { - position: absolute; - top: 0; - left: 5%; - width: 90%; - border-left: 1px solid #777; - border-right: 1px solid #777; - border-bottom: 1px solid #777; - box-shadow: 3px 3px 10px #555; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - background-color: white; -} -div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTE_Processing_Indicator { - right: 36px; -} -div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTE_Footer { - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; -} -div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTED_Envelope_Close { - position: absolute; - top: 16px; - right: 10px; - width: 18px; - height: 18px; - cursor: pointer; - *cursor: hand; - z-index: 12; - text-align: center; - font-size: 12px; - background: #F8F8F8; - background: -webkit-gradient(linear, center bottom, center top, from(#CCC), to(white)); - background: -moz-linear-gradient(top, white, #CCC); - background: linear-gradient(to bottom, white, #CCC); - text-shadow: 0 1px 0 white; - border: 1px solid #999; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - box-shadow: 0px 0px 1px #999; - -moz-box-shadow: 0px 0px 1px #999; - -webkit-box-shadow: 0px 0px 1px #999; -} - -div.DTED_Envelope_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 10; - background: rgba(0, 0, 0, 0.4); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.1)), color-stop(1, rgba(0, 0, 0, 0.4))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); - /* W3C Markup, IE10 Release Preview */ -} - -table.dataTable tbody tr.highlight { - background-color: #FFFBCC !important; -} -table.dataTable tbody tr.highlight, -table.dataTable tbody tr.noHighlight, -table.dataTable tbody tr.highlight td, -table.dataTable tbody tr.noHighlight td { - -webkit-transition: background-color 500ms linear; - -moz-transition: background-color 500ms linear; - -ms-transition: background-color 500ms linear; - -o-transition: background-color 500ms linear; - transition: background-color 500ms linear; -} -table.dataTable.stripe tbody tr.odd.highlight, table.dataTable.display tbody tr.odd.highlight { - background-color: #f9f5c7; -} -table.dataTable.hover tbody tr:hover.highlight, -table.dataTable.hover tbody tr.odd:hover.highlight, -table.dataTable.hover tbody tr.even:hover.highlight, table.dataTable.display tbody tr:hover.highlight, -table.dataTable.display tbody tr.odd:hover.highlight, -table.dataTable.display tbody tr.even:hover.highlight { - background-color: #f6f2c5; -} -table.dataTable.order-column tbody tr.highlight > .sorting_1, -table.dataTable.order-column tbody tr.highlight > .sorting_2, -table.dataTable.order-column tbody tr.highlight > .sorting_3, table.dataTable.display tbody tr.highlight > .sorting_1, -table.dataTable.display tbody tr.highlight > .sorting_2, -table.dataTable.display tbody tr.highlight > .sorting_3 { - background-color: #faf6c8; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_1 { - background-color: #f1edc1; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_2 { - background-color: #f3efc2; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_3 { - background-color: #f5f1c4; -} -table.dataTable.display tbody tr.even.highlight > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_1 { - background-color: #faf6c8; -} -table.dataTable.display tbody tr.even.highlight > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_2 { - background-color: #fcf8ca; -} -table.dataTable.display tbody tr.even.highlight > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_3 { - background-color: #fefacb; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_1, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_1, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_1, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_1, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_1 { - background-color: #eae6bb; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_2, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_2, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_2, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_2, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_2 { - background-color: #ece8bd; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_3, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_3, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_3, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_3, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_3 { - background-color: #efebbf; -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #4E6CA3; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} diff --git a/css/csstables/editor.dataTables.min.css b/css/csstables/editor.dataTables.min.css deleted file mode 100644 index 2ab33d6..0000000 --- a/css/csstables/editor.dataTables.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE{position:relative}div.DTE div.DTE_Header{position:absolute;top:0;left:0;height:50px;width:100%;background-color:#f3f3f3;border-bottom:1px solid #ddd;padding:16px 10px 2px 16px;font-size:1.3em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE div.DTE_Footer{position:absolute;bottom:0;left:0;height:50px;width:100%;background-color:#f3f3f3;border-top:1px solid #ddd;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE div.DTE_Body{position:relative}div.DTE div.DTE_Form_Info{margin-bottom:0.5em;display:none}div.DTE div.DTE_Form_Content{position:relative;padding:10px}div.DTE div.DTE_Form_Error{float:left;padding:5px;display:none;color:#b11f1f}div.DTE button.btn,div.DTE div.DTE_Form_Buttons button{position:relative;text-align:center;display:block;margin-top:0;padding:5px 15px;cursor:pointer;float:right;margin-left:0.75em;font-size:14px;text-shadow:0 1px 0 white;border:1px solid #999;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:1px 1px 3px #ccc;-moz-box-shadow:1px 1px 3px #ccc;box-shadow:1px 1px 3px #ccc;background-color:#f9f9f9 100%;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #eee 65%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9')}div.DTE button.btn:hover,div.DTE div.DTE_Form_Buttons button:hover{border:1px solid #666;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999;background-color:#f4f4f4 100%;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#f4f4f4')}div.DTE button.btn:active,div.DTE div.DTE_Form_Buttons button:active{-webkit-box-shadow:inset 1px 1px 3px #999;-moz-box-shadow:inset 1px 1px 3px #999;box-shadow:inset 1px 1px 3px #999}div.DTE button.btn:focus,div.DTE div.DTE_Form_Buttons button:focus{border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;background-color:#a3d0ef 100%;background-image:-webkit-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-moz-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-ms-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-o-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:linear-gradient(to bottom, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#a3d0ef', EndColorStr='#a3d0ef');outline:none}div.DTE button.btn:focus:after,div.DTE div.DTE_Form_Buttons button:focus:after{position:absolute;top:0;left:0;right:0;bottom:0;background:white;display:block;content:" ";-webkit-animation-duration:1s;-webkit-animation-name:buttonPulse;-webkit-animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-webkit-animation-direction:alternate;-moz-animation-duration:1s;-moz-animation-name:buttonPulse;-moz-animation-fill-mode:forwards;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear;-moz-animation-direction:alternate;-o-animation-duration:1s;-o-animation-name:buttonPulse;-o-animation-fill-mode:forwards;-o-animation-iteration-count:infinite;-o-animation-timing-function:linear;-o-animation-direction:alternate;animation-duration:1s;animation-name:buttonPulse;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-direction:alternate}div.DTE.DTE_Action_Remove div.DTE_Body_Content{text-align:center;padding:20px 0}@-webkit-keyframes buttonPulse{0%{opacity:0}100%{opacity:0.2}}@-moz-keyframes buttonPulse{0%{opacity:0}100%{opacity:0.2}}@-o-keyframes buttonPulse{0%{opacity:0}100%{opacity:0.2}}@keyframes buttonPulse{0%{opacity:0}100%{opacity:0.2}}div.DTTT_container{float:left}div.DTE_Field input,div.DTE_Field textarea{box-sizing:border-box;background-color:white;-webkit-transition:background-color ease-in-out .15s;transition:background-color ease-in-out .15s}div.DTE_Field input:focus,div.DTE_Field textarea:focus{background-color:#ffffee}div.DTE_Field input[type="color"],div.DTE_Field input[type="date"],div.DTE_Field input[type="datetime"],div.DTE_Field input[type="datetime-local"],div.DTE_Field input[type="email"],div.DTE_Field input[type="month"],div.DTE_Field input[type="number"],div.DTE_Field input[type="password"],div.DTE_Field input[type="search"],div.DTE_Field input[type="tel"],div.DTE_Field input[type="text"],div.DTE_Field input[type="time"],div.DTE_Field input[type="url"],div.DTE_Field input[type="week"]{padding:6px 4px;width:100%}div.DTE_Field label div.DTE_Label_Info{font-size:0.85em;margin-top:0.25em}div.DTE_Field label div.DTE_Label_Info:empty{margin-top:0}div.DTE_Field div.DTE_Field_Info,div.DTE_Field div.DTE_Field_Message,div.DTE_Field div.DTE_Field_Error{font-size:11px;line-height:1em;margin-top:5px}div.DTE_Field div.DTE_Field_Info:empty,div.DTE_Field div.DTE_Field_Message:empty,div.DTE_Field div.DTE_Field_Error:empty{margin-top:0}div.DTE_Field div.DTE_Field_Error{display:none;color:#b11f1f}div.DTE_Field div.multi-value{display:none;border:1px dotted #666;border-radius:3px;padding:5px;background-color:#fafafa;cursor:pointer}div.DTE_Field div.multi-value span{font-size:0.8em;line-height:1.25em;display:block;color:#666}div.DTE_Field div.multi-value.multi-noEdit{border:1px solid #ccc;cursor:auto;background-color:#fcfcfc}div.DTE_Field div.multi-value.multi-noEdit:hover{background-color:#fcfcfc}div.DTE_Field div.multi-value:hover{background-color:#f1f1f1}div.DTE_Field.disabled{color:grey}div.DTE_Field.disabled div.multi-value{cursor:default;border:1px dotted #aaa;background-color:transparent}div.DTE_Field div.multi-restore{display:none;margin-top:0.5em;font-size:0.8em;line-height:1.25em;color:#3879d9}div.DTE_Field div.multi-restore:hover{text-decoration:underline;cursor:pointer}div.DTE_Field_Type_textarea textarea{padding:3px;width:100%;height:80px}div.DTE_Field.DTE_Field_Type_date img{vertical-align:middle;cursor:pointer;*cursor:hand}div.DTE_Field.DTE_Field_Type_date input.jqueryui{width:87%;margin-right:6px}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div{margin-bottom:0.25em}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div:last-child,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div:last-child{margin-bottom:0}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div label,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div label{margin-left:0.75em;vertical-align:middle}div.DTE_Field_Type_select div.DTE_Field_Input{padding-top:4px}div.DTE_Body{padding:50px 0}div.DTE_Body div.DTE_Body_Content{position:relative;overflow:auto}div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info{padding:1em 1em 0 1em;margin:0}div.DTE_Body div.DTE_Body_Content div.DTE_Field{position:relative;zoom:1;clear:both;padding:5px 20%;border:1px solid transparent}div.DTE_Body div.DTE_Body_Content div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover{background-color:#f9f9f9;border:1px solid #f3f3f3}div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:left;width:40%;padding-top:6px}div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:right;width:60%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 20%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:30%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:70%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{float:none;clear:both;width:100%}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:right}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:left}html[dir="rtl"] div.DTE div.DTE_Form_Buttons button{float:left}@media only screen and (max-width: 768px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:35.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:64.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}@media only screen and (max-width: 640px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:40%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:60%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}@media only screen and (max-width: 580px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{position:relative;zoom:1;clear:both;padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:none;width:auto;padding-top:0}div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:none;width:auto}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block{padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label,div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>label,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}div.DTED_Lightbox_Wrapper{position:fixed;top:0;left:50%;margin-left:-390px;width:780px;height:100%;z-index:11}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container{*position:absolute;*top:50%;#position:absolute;#top:50%;display:table;height:100%;width:100%}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper{*position:relative;#position:relative;display:table-cell;vertical-align:middle;width:100%}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content{*top:-50%;#top:-50%;position:relative;border:7px solid rgba(220,220,220,0.5);box-shadow:2px 2px 10px #555;border-radius:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE{background:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Header{top:2px;left:2px;right:2px;width:auto;border-top-left-radius:5px;border-top-right-radius:5px}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Footer{bottom:2px;left:2px;right:2px;width:auto;border-bottom-left-radius:5px;border-bottom-right-radius:5px}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTED_Lightbox_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTED_Lightbox_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTED_Lightbox_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Background{height:0}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Shown{display:none}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper{position:absolute;top:0px;left:0px;right:0px;bottom:0px;width:auto;height:auto;margin-left:0;-webkit-overflow-scrolling:touch}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container{display:block}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper{display:block}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content{border:4px solid rgba(220,220,220,0.5);border-radius:0}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE{border-radius:0;box-shadow:0 0 5px #555;border:2px solid #444}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Header{border-top-left-radius:0;border-top-right-radius:0}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTE div.DTE_Footer{border-bottom-left-radius:0;border-bottom-right-radius:0}body.DTED_Lightbox_Mobile div.DTED_Lightbox_Wrapper div.DTED_Lightbox_Container div.DTED_Lightbox_Content_Wrapper div.DTED_Lightbox_Content div.DTED_Lightbox_Close{top:11px;right:15px}@media only screen and (max-width: 780px){div.DTED_Lightbox_Wrapper{position:fixed;top:0;left:0;width:100%;margin-left:0}}div.DTED_Envelope_Wrapper{position:absolute;top:0;bottom:0;left:50%;height:100%;z-index:11;display:none;overflow:hidden}div.DTED_Envelope_Wrapper div.DTED_Envelope_Shadow{position:absolute;top:-10px;left:10px;right:10px;height:10px;z-index:10;box-shadow:0 0 20px black}div.DTED_Envelope_Wrapper div.DTED_Envelope_Container{position:absolute;top:0;left:5%;width:90%;border-left:1px solid #777;border-right:1px solid #777;border-bottom:1px solid #777;box-shadow:3px 3px 10px #555;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-color:white}div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTE_Processing_Indicator{right:36px}div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTE_Footer{border-bottom-left-radius:5px;border-bottom-right-radius:5px}div.DTED_Envelope_Wrapper div.DTED_Envelope_Container div.DTED_Envelope_Close{position:absolute;top:16px;right:10px;width:18px;height:18px;cursor:pointer;*cursor:hand;z-index:12;text-align:center;font-size:12px;background:#F8F8F8;background:-webkit-gradient(linear, center bottom, center top, from(#CCC), to(#fff));background:-moz-linear-gradient(top, #fff, #CCC);background:linear-gradient(to bottom, #fff, #CCC);text-shadow:0 1px 0 white;border:1px solid #999;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:0px 0px 1px #999;-moz-box-shadow:0px 0px 1px #999;-webkit-box-shadow:0px 0px 1px #999}div.DTED_Envelope_Background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;background:rgba(0,0,0,0.4);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.1)), color-stop(1, rgba(0,0,0,0.4)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%)}table.dataTable tbody tr.highlight{background-color:#FFFBCC !important}table.dataTable tbody tr.highlight,table.dataTable tbody tr.noHighlight,table.dataTable tbody tr.highlight td,table.dataTable tbody tr.noHighlight td{-webkit-transition:background-color 500ms linear;-moz-transition:background-color 500ms linear;-ms-transition:background-color 500ms linear;-o-transition:background-color 500ms linear;transition:background-color 500ms linear}table.dataTable.stripe tbody tr.odd.highlight,table.dataTable.display tbody tr.odd.highlight{background-color:#f9f5c7}table.dataTable.hover tbody tr:hover.highlight,table.dataTable.hover tbody tr.odd:hover.highlight,table.dataTable.hover tbody tr.even:hover.highlight,table.dataTable.display tbody tr:hover.highlight,table.dataTable.display tbody tr.odd:hover.highlight,table.dataTable.display tbody tr.even:hover.highlight{background-color:#f6f2c5}table.dataTable.order-column tbody tr.highlight>.sorting_1,table.dataTable.order-column tbody tr.highlight>.sorting_2,table.dataTable.order-column tbody tr.highlight>.sorting_3,table.dataTable.display tbody tr.highlight>.sorting_1,table.dataTable.display tbody tr.highlight>.sorting_2,table.dataTable.display tbody tr.highlight>.sorting_3{background-color:#faf6c8}table.dataTable.display tbody tr.odd.highlight>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_1{background-color:#f1edc1}table.dataTable.display tbody tr.odd.highlight>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_2{background-color:#f3efc2}table.dataTable.display tbody tr.odd.highlight>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_3{background-color:#f5f1c4}table.dataTable.display tbody tr.even.highlight>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_1{background-color:#faf6c8}table.dataTable.display tbody tr.even.highlight>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_2{background-color:#fcf8ca}table.dataTable.display tbody tr.even.highlight>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_3{background-color:#fefacb}table.dataTable.display tbody tr:hover.highlight>.sorting_1,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_1,table.dataTable.display tbody tr.even:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_1{background-color:#eae6bb}table.dataTable.display tbody tr:hover.highlight>.sorting_2,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_2,table.dataTable.display tbody tr.even:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_2{background-color:#ece8bd}table.dataTable.display tbody tr:hover.highlight>.sorting_3,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_3,table.dataTable.display tbody tr.even:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_3{background-color:#efebbf}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#4E6CA3;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}} diff --git a/css/csstables/editor.foundation.css b/css/csstables/editor.foundation.css deleted file mode 100644 index 97f0cb6..0000000 --- a/css/csstables/editor.foundation.css +++ /dev/null @@ -1,703 +0,0 @@ -div.DTE div.DTE_Form_Error { - display: none; - color: #b11f1f; -} - -div.DTE_Field div.multi-value, -div.DTE_Field div.multi-restore { - display: none; - cursor: pointer; - padding: 0.75rem; -} -div.DTE_Field div.multi-value span, -div.DTE_Field div.multi-restore span { - display: block; - color: #666; - font-size: 0.8em; - line-height: 1.25em; -} -div.DTE_Field div.multi-value:hover, -div.DTE_Field div.multi-restore:hover { - background-color: #e5e5e5; -} -div.DTE_Field div.multi-restore { - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; - padding: 0.5rem 0.75rem; -} -div.DTE_Field div.label { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} -div.DTE_Field div.label:empty { - padding: 0; - margin: 0; -} -div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} - -div.reveal-modal button.close { - position: absolute; - top: -1.5em; - right: -2.5em; -} -div.reveal-modal button.close.close-button { - right: 1rem; - top: .5rem; - z-index: 100; -} -div.reveal-modal div.DTE_Header { - position: relative; - top: -0.5em; - font-size: 2.05556rem; - line-height: 1.4; -} -div.reveal-modal div.DTE_Form_Content { - width: 75%; - margin: 0 auto; -} -div.reveal-modal div.DTE_Footer { - position: relative; - bottom: -0.5em; - float: right; -} -div.reveal-modal div.DTE_Footer button { - margin-bottom: 0; -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -div.DTE_Inline div.DTE_Field > div { - width: 100%; - padding: 0; -} -div.DTE_Inline div.DTE_Field input { - height: 30px; - margin-bottom: 0; -} -div.DTE_Inline div.DTE_Field div.label:empty { - display: none; -} - -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Bubble div.DTE_Bubble_Liner { - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - border-radius: 6px; - border: 1px solid rgba(0, 0, 0, 0.2); -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field > div { - width: 100%; - float: none; - clear: both; - text-align: left; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label { - padding-bottom: 4px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - font-size: 14px; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - margin-top: -2px; - display: block; -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 10; - background-color: rgba(0, 0, 0, 0.05); -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.DTE div.editor_upload button.button, -div.DTE div.editor_upload input[type=file] { - width: 100%; - font-size: 0.8em; - margin-bottom: 0; -} -div.DTE div.editor_upload ul li button { - width: 63px; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #008CBA; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -div.DTE div.DTE_Processing_Indicator { - top: 26px; - right: 95px; -} diff --git a/css/csstables/editor.foundation.min.css b/css/csstables/editor.foundation.min.css deleted file mode 100644 index 1a83836..0000000 --- a/css/csstables/editor.foundation.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE div.DTE_Form_Error{display:none;color:#b11f1f}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer;padding:0.75rem}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666;font-size:0.8em;line-height:1.25em}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#e5e5e5}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em;padding:0.5rem 0.75rem}div.DTE_Field div.label{margin-top:0.5rem;margin-bottom:0.5rem}div.DTE_Field div.label:empty{padding:0;margin:0}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.reveal-modal button.close{position:absolute;top:-1.5em;right:-2.5em}div.reveal-modal button.close.close-button{right:1rem;top:.5rem;z-index:100}div.reveal-modal div.DTE_Header{position:relative;top:-0.5em;font-size:2.05556rem;line-height:1.4}div.reveal-modal div.DTE_Form_Content{width:75%;margin:0 auto}div.reveal-modal div.DTE_Footer{position:relative;bottom:-0.5em;float:right}div.reveal-modal div.DTE_Footer button{margin-bottom:0}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE_Inline div.DTE_Field>div{width:100%;padding:0}div.DTE_Inline div.DTE_Field input{height:30px;margin-bottom:0}div.DTE_Inline div.DTE_Field div.label:empty{display:none}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Bubble div.DTE_Bubble_Liner{box-shadow:0 5px 10px rgba(0,0,0,0.2);border-radius:6px;border:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field>div{width:100%;float:none;clear:both;text-align:left}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label{padding-bottom:4px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;font-size:14px;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{margin-top:-2px;display:block}div.DTE_Bubble_Background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;background-color:rgba(0,0,0,0.05)}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.DTE div.editor_upload button.button,div.DTE div.editor_upload input[type=file]{width:100%;font-size:0.8em;margin-bottom:0}div.DTE div.editor_upload ul li button{width:63px}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#008CBA;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}div.DTE div.DTE_Processing_Indicator{top:26px;right:95px} diff --git a/css/csstables/editor.jqueryui.css b/css/csstables/editor.jqueryui.css deleted file mode 100644 index 654bd7e..0000000 --- a/css/csstables/editor.jqueryui.css +++ /dev/null @@ -1,919 +0,0 @@ -div.DTE_Field input, -div.DTE_Field textarea { - box-sizing: border-box; - background-color: white; - -webkit-transition: background-color ease-in-out .15s; - transition: background-color ease-in-out .15s; -} -div.DTE_Field input:focus, -div.DTE_Field textarea:focus { - background-color: #ffffee; -} -div.DTE_Field input[type="color"], -div.DTE_Field input[type="date"], -div.DTE_Field input[type="datetime"], -div.DTE_Field input[type="datetime-local"], -div.DTE_Field input[type="email"], -div.DTE_Field input[type="month"], -div.DTE_Field input[type="number"], -div.DTE_Field input[type="password"], -div.DTE_Field input[type="search"], -div.DTE_Field input[type="tel"], -div.DTE_Field input[type="text"], -div.DTE_Field input[type="time"], -div.DTE_Field input[type="url"], -div.DTE_Field input[type="week"] { - padding: 6px 4px; - width: 100%; -} -div.DTE_Field label div.DTE_Label_Info { - font-size: 0.85em; - margin-top: 0.25em; -} -div.DTE_Field label div.DTE_Label_Info:empty { - margin-top: 0; -} -div.DTE_Field div.DTE_Field_Info, -div.DTE_Field div.DTE_Field_Message, -div.DTE_Field div.DTE_Field_Error { - font-size: 11px; - line-height: 1em; - margin-top: 5px; -} -div.DTE_Field div.DTE_Field_Info:empty, -div.DTE_Field div.DTE_Field_Message:empty, -div.DTE_Field div.DTE_Field_Error:empty { - margin-top: 0; -} -div.DTE_Field div.DTE_Field_Error { - display: none; - color: #b11f1f; -} -div.DTE_Field div.multi-value { - display: none; - border: 1px dotted #666; - border-radius: 3px; - padding: 5px; - background-color: #fafafa; - cursor: pointer; -} -div.DTE_Field div.multi-value span { - font-size: 0.8em; - line-height: 1.25em; - display: block; - color: #666; -} -div.DTE_Field div.multi-value.multi-noEdit { - border: 1px solid #ccc; - cursor: auto; - background-color: #fcfcfc; -} -div.DTE_Field div.multi-value.multi-noEdit:hover { - background-color: #fcfcfc; -} -div.DTE_Field div.multi-value:hover { - background-color: #f1f1f1; -} -div.DTE_Field.disabled { - color: grey; -} -div.DTE_Field.disabled div.multi-value { - cursor: default; - border: 1px dotted #aaa; - background-color: transparent; -} -div.DTE_Field div.multi-restore { - display: none; - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; - color: #3879d9; -} -div.DTE_Field div.multi-restore:hover { - text-decoration: underline; - cursor: pointer; -} - -div.DTE_Field_Type_textarea textarea { - padding: 3px; - width: 100%; - height: 80px; -} - -div.DTE_Field.DTE_Field_Type_date img { - vertical-align: middle; - cursor: pointer; - *cursor: hand; -} -div.DTE_Field.DTE_Field_Type_date input.jqueryui { - width: 87%; - margin-right: 6px; -} - -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div { - margin-bottom: 0.25em; -} -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div:last-child, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div:last-child { - margin-bottom: 0; -} -div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div label, -div.DTE_Field_Type_radio div.DTE_Field_Input > div > div label { - margin-left: 0.75em; - vertical-align: middle; -} - -div.DTE_Field_Type_select div.DTE_Field_Input { - padding-top: 4px; -} - -div.DTE_Body { - padding: 50px 0; -} -div.DTE_Body div.DTE_Body_Content { - position: relative; - overflow: auto; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info { - padding: 1em 1em 0 1em; - margin: 0; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field { - position: relative; - zoom: 1; - clear: both; - padding: 5px 20%; - border: 1px solid transparent; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover { - background-color: #f9f9f9; - border: 1px solid #f3f3f3; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: left; - width: 40%; - padding-top: 6px; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: right; - width: 60%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0 5px 20%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 30%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 70%; -} -div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - float: none; - clear: both; - width: 100%; -} - -html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: right; -} -html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: left; -} -html[dir="rtl"] div.DTE div.DTE_Form_Buttons button { - float: left; -} - -@media only screen and (max-width: 768px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - padding: 5px 10%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0 5px 10%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 35.5%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 64.5%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -@media only screen and (max-width: 640px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full { - padding: 5px 0%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label { - width: 40%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input { - width: 60%; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -@media only screen and (max-width: 580px) { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - position: relative; - zoom: 1; - clear: both; - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field > label { - float: none; - width: auto; - padding-top: 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input { - float: none; - width: auto; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full, div.DTE_Body div.DTE_Body_Content div.DTE_Field.block { - padding: 5px 0; - } - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label, - div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input, div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > label, - div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input { - width: 100%; - } -} -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -table.dataTable tbody tr.highlight { - background-color: #FFFBCC !important; -} -table.dataTable tbody tr.highlight, -table.dataTable tbody tr.noHighlight, -table.dataTable tbody tr.highlight td, -table.dataTable tbody tr.noHighlight td { - -webkit-transition: background-color 500ms linear; - -moz-transition: background-color 500ms linear; - -ms-transition: background-color 500ms linear; - -o-transition: background-color 500ms linear; - transition: background-color 500ms linear; -} -table.dataTable.stripe tbody tr.odd.highlight, table.dataTable.display tbody tr.odd.highlight { - background-color: #f9f5c7; -} -table.dataTable.hover tbody tr:hover.highlight, -table.dataTable.hover tbody tr.odd:hover.highlight, -table.dataTable.hover tbody tr.even:hover.highlight, table.dataTable.display tbody tr:hover.highlight, -table.dataTable.display tbody tr.odd:hover.highlight, -table.dataTable.display tbody tr.even:hover.highlight { - background-color: #f6f2c5; -} -table.dataTable.order-column tbody tr.highlight > .sorting_1, -table.dataTable.order-column tbody tr.highlight > .sorting_2, -table.dataTable.order-column tbody tr.highlight > .sorting_3, table.dataTable.display tbody tr.highlight > .sorting_1, -table.dataTable.display tbody tr.highlight > .sorting_2, -table.dataTable.display tbody tr.highlight > .sorting_3 { - background-color: #faf6c8; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_1 { - background-color: #f1edc1; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_2 { - background-color: #f3efc2; -} -table.dataTable.display tbody tr.odd.highlight > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.highlight > .sorting_3 { - background-color: #f5f1c4; -} -table.dataTable.display tbody tr.even.highlight > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_1 { - background-color: #faf6c8; -} -table.dataTable.display tbody tr.even.highlight > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_2 { - background-color: #fcf8ca; -} -table.dataTable.display tbody tr.even.highlight > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.highlight > .sorting_3 { - background-color: #fefacb; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_1, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_1, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_1, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_1, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_1 { - background-color: #eae6bb; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_2, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_2, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_2, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_2, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_2 { - background-color: #ece8bd; -} -table.dataTable.display tbody tr:hover.highlight > .sorting_3, -table.dataTable.display tbody tr.odd:hover.highlight > .sorting_3, -table.dataTable.display tbody tr.even:hover.highlight > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.highlight > .sorting_3, -table.dataTable.order-column.hover tbody tr.odd:hover.highlight > .sorting_3, -table.dataTable.order-column.hover tbody tr.even:hover.highlight > .sorting_3 { - background-color: #efebbf; -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #4E6CA3; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -div.DTE { - font-size: 0.91em; -} -div.DTE div.DTE_Header { - display: none; -} -div.DTE div.DTE_Body { - padding: 0; -} -div.DTE div.DTE_Body div.DTE_Body_Content { - overflow: hidden; -} -div.DTE div.DTE_Body div.DTE_Body_Content div.DTE_Field { - padding: 5px 5%; -} -div.DTE div.DTE_Footer { - display: none; -} -div.DTE div.DTE_Form_Error { - padding-top: 1em; - color: red; - display: none; - color: #b11f1f; -} -div.DTE div.DTE_Processing_Indicator { - top: 12px; - right: 2px; - font-size: 0.8em; -} diff --git a/css/csstables/editor.jqueryui.min.css b/css/csstables/editor.jqueryui.min.css deleted file mode 100644 index e3fa43d..0000000 --- a/css/csstables/editor.jqueryui.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE_Field input,div.DTE_Field textarea{box-sizing:border-box;background-color:white;-webkit-transition:background-color ease-in-out .15s;transition:background-color ease-in-out .15s}div.DTE_Field input:focus,div.DTE_Field textarea:focus{background-color:#ffffee}div.DTE_Field input[type="color"],div.DTE_Field input[type="date"],div.DTE_Field input[type="datetime"],div.DTE_Field input[type="datetime-local"],div.DTE_Field input[type="email"],div.DTE_Field input[type="month"],div.DTE_Field input[type="number"],div.DTE_Field input[type="password"],div.DTE_Field input[type="search"],div.DTE_Field input[type="tel"],div.DTE_Field input[type="text"],div.DTE_Field input[type="time"],div.DTE_Field input[type="url"],div.DTE_Field input[type="week"]{padding:6px 4px;width:100%}div.DTE_Field label div.DTE_Label_Info{font-size:0.85em;margin-top:0.25em}div.DTE_Field label div.DTE_Label_Info:empty{margin-top:0}div.DTE_Field div.DTE_Field_Info,div.DTE_Field div.DTE_Field_Message,div.DTE_Field div.DTE_Field_Error{font-size:11px;line-height:1em;margin-top:5px}div.DTE_Field div.DTE_Field_Info:empty,div.DTE_Field div.DTE_Field_Message:empty,div.DTE_Field div.DTE_Field_Error:empty{margin-top:0}div.DTE_Field div.DTE_Field_Error{display:none;color:#b11f1f}div.DTE_Field div.multi-value{display:none;border:1px dotted #666;border-radius:3px;padding:5px;background-color:#fafafa;cursor:pointer}div.DTE_Field div.multi-value span{font-size:0.8em;line-height:1.25em;display:block;color:#666}div.DTE_Field div.multi-value.multi-noEdit{border:1px solid #ccc;cursor:auto;background-color:#fcfcfc}div.DTE_Field div.multi-value.multi-noEdit:hover{background-color:#fcfcfc}div.DTE_Field div.multi-value:hover{background-color:#f1f1f1}div.DTE_Field.disabled{color:grey}div.DTE_Field.disabled div.multi-value{cursor:default;border:1px dotted #aaa;background-color:transparent}div.DTE_Field div.multi-restore{display:none;margin-top:0.5em;font-size:0.8em;line-height:1.25em;color:#3879d9}div.DTE_Field div.multi-restore:hover{text-decoration:underline;cursor:pointer}div.DTE_Field_Type_textarea textarea{padding:3px;width:100%;height:80px}div.DTE_Field.DTE_Field_Type_date img{vertical-align:middle;cursor:pointer;*cursor:hand}div.DTE_Field.DTE_Field_Type_date input.jqueryui{width:87%;margin-right:6px}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div{margin-bottom:0.25em}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div:last-child,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div:last-child{margin-bottom:0}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div label,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div label{margin-left:0.75em;vertical-align:middle}div.DTE_Field_Type_select div.DTE_Field_Input{padding-top:4px}div.DTE_Body{padding:50px 0}div.DTE_Body div.DTE_Body_Content{position:relative;overflow:auto}div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info{padding:1em 1em 0 1em;margin:0}div.DTE_Body div.DTE_Body_Content div.DTE_Field{position:relative;zoom:1;clear:both;padding:5px 20%;border:1px solid transparent}div.DTE_Body div.DTE_Body_Content div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover{background-color:#f9f9f9;border:1px solid #f3f3f3}div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:left;width:40%;padding-top:6px}div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:right;width:60%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 20%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:30%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:70%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{float:none;clear:both;width:100%}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:right}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:left}html[dir="rtl"] div.DTE div.DTE_Form_Buttons button{float:left}@media only screen and (max-width: 768px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:35.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:64.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}@media only screen and (max-width: 640px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:40%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:60%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}@media only screen and (max-width: 580px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{position:relative;zoom:1;clear:both;padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:none;width:auto;padding-top:0}div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:none;width:auto}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block{padding:5px 0}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label,div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>label,div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}table.dataTable tbody tr.highlight{background-color:#FFFBCC !important}table.dataTable tbody tr.highlight,table.dataTable tbody tr.noHighlight,table.dataTable tbody tr.highlight td,table.dataTable tbody tr.noHighlight td{-webkit-transition:background-color 500ms linear;-moz-transition:background-color 500ms linear;-ms-transition:background-color 500ms linear;-o-transition:background-color 500ms linear;transition:background-color 500ms linear}table.dataTable.stripe tbody tr.odd.highlight,table.dataTable.display tbody tr.odd.highlight{background-color:#f9f5c7}table.dataTable.hover tbody tr:hover.highlight,table.dataTable.hover tbody tr.odd:hover.highlight,table.dataTable.hover tbody tr.even:hover.highlight,table.dataTable.display tbody tr:hover.highlight,table.dataTable.display tbody tr.odd:hover.highlight,table.dataTable.display tbody tr.even:hover.highlight{background-color:#f6f2c5}table.dataTable.order-column tbody tr.highlight>.sorting_1,table.dataTable.order-column tbody tr.highlight>.sorting_2,table.dataTable.order-column tbody tr.highlight>.sorting_3,table.dataTable.display tbody tr.highlight>.sorting_1,table.dataTable.display tbody tr.highlight>.sorting_2,table.dataTable.display tbody tr.highlight>.sorting_3{background-color:#faf6c8}table.dataTable.display tbody tr.odd.highlight>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_1{background-color:#f1edc1}table.dataTable.display tbody tr.odd.highlight>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_2{background-color:#f3efc2}table.dataTable.display tbody tr.odd.highlight>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.highlight>.sorting_3{background-color:#f5f1c4}table.dataTable.display tbody tr.even.highlight>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_1{background-color:#faf6c8}table.dataTable.display tbody tr.even.highlight>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_2{background-color:#fcf8ca}table.dataTable.display tbody tr.even.highlight>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.highlight>.sorting_3{background-color:#fefacb}table.dataTable.display tbody tr:hover.highlight>.sorting_1,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_1,table.dataTable.display tbody tr.even:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_1,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_1{background-color:#eae6bb}table.dataTable.display tbody tr:hover.highlight>.sorting_2,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_2,table.dataTable.display tbody tr.even:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_2,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_2{background-color:#ece8bd}table.dataTable.display tbody tr:hover.highlight>.sorting_3,table.dataTable.display tbody tr.odd:hover.highlight>.sorting_3,table.dataTable.display tbody tr.even:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr.odd:hover.highlight>.sorting_3,table.dataTable.order-column.hover tbody tr.even:hover.highlight>.sorting_3{background-color:#efebbf}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#4E6CA3;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}div.DTE{font-size:0.91em}div.DTE div.DTE_Header{display:none}div.DTE div.DTE_Body{padding:0}div.DTE div.DTE_Body div.DTE_Body_Content{overflow:hidden}div.DTE div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 5%}div.DTE div.DTE_Footer{display:none}div.DTE div.DTE_Form_Error{padding-top:1em;color:red;display:none;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{top:12px;right:2px;font-size:0.8em} diff --git a/css/csstables/editor.semanticui.css b/css/csstables/editor.semanticui.css deleted file mode 100644 index c60ebf2..0000000 --- a/css/csstables/editor.semanticui.css +++ /dev/null @@ -1,680 +0,0 @@ -div.DTE div.DTE_Form_Error { - display: none; - color: #b11f1f; -} -div.DTE label { - padding-top: 9px !important; - align-self: flex-start; - justify-content: flex-end; -} -div.DTE div.eight.wide.field { - flex-direction: column; -} -div.DTE div.DTE_Field_InputControl { - width: 100%; - margin: 0 !important; -} -div.DTE div.ui.message:empty { - display: none; -} - -div.DTE_Field div.ui.message { - width: 100%; -} -div.DTE_Field div.multi-value, -div.DTE_Field div.multi-restore { - display: none; - cursor: pointer; - margin-top: 0; -} -div.DTE_Field div.multi-value span, -div.DTE_Field div.multi-restore span { - display: block; - color: #666; - font-size: 0.85em; - line-height: 1.35em; -} -div.DTE_Field div.multi-value:hover, -div.DTE_Field div.multi-restore:hover { - background-color: #f1f1f1; -} -div.DTE_Field div.multi-restore { - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; -} -div.DTE_Field:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; -} - -div.DTE_Inline { - position: relative; - display: table; - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field, -div.DTE_Inline div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field { - padding: 0; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label { - display: none; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input { - width: 100%; -} -div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button, -div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; -} -div.DTE_Inline div.DTE_Field input[type="color"], -div.DTE_Inline div.DTE_Field input[type="date"], -div.DTE_Inline div.DTE_Field input[type="datetime"], -div.DTE_Inline div.DTE_Field input[type="datetime-local"], -div.DTE_Inline div.DTE_Field input[type="email"], -div.DTE_Inline div.DTE_Field input[type="month"], -div.DTE_Inline div.DTE_Field input[type="number"], -div.DTE_Inline div.DTE_Field input[type="password"], -div.DTE_Inline div.DTE_Field input[type="search"], -div.DTE_Inline div.DTE_Field input[type="tel"], -div.DTE_Inline div.DTE_Field input[type="text"], -div.DTE_Inline div.DTE_Field input[type="time"], -div.DTE_Inline div.DTE_Field input[type="url"], -div.DTE_Inline div.DTE_Field input[type="week"] { - margin: -6px 0; -} -div.DTE_Inline div.DTE_Field_Error, -div.DTE_Inline div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; -} -div.DTE_Inline div.DTE_Field_Error:empty, -div.DTE_Inline div.DTE_Form_Error:empty { - margin-top: 0; -} - -span.dtr-data div.DTE_Inline { - display: inline-table; -} - -div.DTE.DTE_Inline.ui.form label { - display: none !important; -} -div.DTE.DTE_Inline.ui.form div.DTE_Field { - width: 100%; - margin: 0 !important; -} -div.DTE.DTE_Inline.ui.form div.DTE_Field div.DTE_Field_Input { - width: 100% !important; - box-sizing: border-box; -} -div.DTE.DTE_Inline.ui.form div.DTE_Field > div { - width: 100%; - padding: 0; -} -div.DTE.DTE_Inline.ui.form.DTE_Processing:after { - top: 5px; -} - -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table { - display: table; - width: 100%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form { - display: table-cell; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content { - padding: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field:last-child { - margin-bottom: 0; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Form_Info, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url("../images/ajax-loader-small.gif") no-repeat top left; -} -div.DTE_Bubble.below div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; -} -div.DTE_Bubble.below div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); -} - -div.DTE_Bubble_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.7); - /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7))); - /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); - /* W3C Markup, IE10 Release Preview */ - z-index: 10; -} -div.DTE_Bubble_Background > div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; -} -div.DTE_Bubble_Background > div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); -} - -div.DTE_Bubble { - z-index: 1001; -} -div.DTE_Bubble div.DTE_Bubble_Liner { - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - border-radius: 6px; - padding: 1em; - border: 1px solid rgba(0, 0, 0, 0.2); -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field { - flex-direction: column; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label, -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field > div { - justify-content: flex-start; - width: 100% !important; - float: none; - clear: both; - text-align: left; -} -div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_Field label { - padding-bottom: 4px; -} -div.DTE_Bubble div.DTE_Bubble_Triangle { - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-left: 1px solid rgba(0, 0, 0, 0.2); -} - -div.DTE div.editor_upload { - padding-top: 4px; -} -div.DTE div.editor_upload div.eu_table { - display: table; - width: 100%; -} -div.DTE div.editor_upload div.row { - display: table-row; -} -div.DTE div.editor_upload div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; -} -div.DTE div.editor_upload div.cell + div.cell { - padding-left: 10px; -} -div.DTE div.editor_upload div.row + div.row div.cell { - padding-top: 10px; -} -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; -} -div.DTE div.editor_upload input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; -} -div.DTE div.editor_upload div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; -} -div.DTE div.editor_upload div.drop.over { - border: 3px dashed #111; - color: #111; -} -div.DTE div.editor_upload div.drop span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; -} -div.DTE div.editor_upload div.rendered img { - max-width: 8em; - margin: 0 auto; -} -div.DTE div.editor_upload.noDrop div.drop { - display: none; -} -div.DTE div.editor_upload.noDrop div.row.second { - display: none; -} -div.DTE div.editor_upload.noDrop div.rendered { - margin-top: 10px; -} -div.DTE div.editor_upload.noClear div.clearValue button { - display: none; -} -div.DTE div.editor_upload.multi div.cell { - display: block; - width: 100%; -} -div.DTE div.editor_upload.multi div.cell div.drop { - min-height: 0; - padding-bottom: 5px; -} -div.DTE div.editor_upload.multi div.clearValue { - display: none; -} -div.DTE div.editor_upload.multi ul { - list-style-type: none; - margin: 0; - padding: 0; -} -div.DTE div.editor_upload.multi ul li { - position: relative; - margin-top: 0.5em; -} -div.DTE div.editor_upload.multi ul li:first-child { - margin-top: 0; -} -div.DTE div.editor_upload.multi ul li img { - vertical-align: middle; -} -div.DTE div.editor_upload.multi ul li button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; -} - -div.DTE div.editor_upload button.btn, -div.DTE div.editor_upload input[type=file] { - height: auto; -} -div.DTE div.editor_upload ul li button { - padding-bottom: 8px; -} - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); - padding-bottom: 5px; -} -div.editor-datetime div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; -} -div.editor-datetime table { - border-spacing: 0; - margin: 6px 13px; -} -div.editor-datetime table th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; -} -div.editor-datetime table td { - font-size: 0.9em; - color: #444; - padding: 0; -} -div.editor-datetime table td.day { - text-align: right; - background: #f5f5f5; -} -div.editor-datetime table td.day.disabled { - color: #aaa; - background: white; -} -div.editor-datetime table td.day.today { - background-color: #ddd; -} -div.editor-datetime table td.day.today button { - font-weight: bold; -} -div.editor-datetime table td.day.selected button { - background: #2185D0; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.day button:hover { - background: #ff8000; - color: white; - border-radius: 2px; -} -div.editor-datetime table td.editor-datetime-week { - font-size: 0.7em; -} -div.editor-datetime table button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; -} -div.editor-datetime table.weekNumber th { - width: 12.5%; -} -div.editor-datetime div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-label:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; -} -div.editor-datetime div.editor-datetime-label select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; -} -div.editor-datetime div.editor-datetime-time { - text-align: center; -} -div.editor-datetime div.editor-datetime-time > span { - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; -} -div.editor-datetime div.editor-datetime-iconLeft, -div.editor-datetime div.editor-datetime-iconRight, -div.editor-datetime div.editor-datetime-iconUp, -div.editor-datetime div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; -} -div.editor-datetime div.editor-datetime-iconLeft:hover, -div.editor-datetime div.editor-datetime-iconRight:hover, -div.editor-datetime div.editor-datetime-iconUp:hover, -div.editor-datetime div.editor-datetime-iconDown:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; -} -div.editor-datetime div.editor-datetime-iconLeft button, -div.editor-datetime div.editor-datetime-iconRight button, -div.editor-datetime div.editor-datetime-iconUp button, -div.editor-datetime div.editor-datetime-iconDown button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; -} -div.editor-datetime div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); -} -div.editor-datetime div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconUp { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII="); -} -div.editor-datetime div.editor-datetime-iconDown { - height: 20px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC"); -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} - -div.DTE div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); -} -div.DTE.processing div.DTE_Processing_Indicator { - display: block; -} -div.DTE.DTE_Inline div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; -} -div.DTE.DTE_Bubble div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; -} -div.DTE div.DTE_Processing_Indicator span, -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; -} -div.DTE div.DTE_Processing_Indicator:before, -div.DTE div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; -} -div.DTE div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; -} -div.DTE div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; -} -div.DTE div.DTE_Processing_Indicator:after { - left: 1em; -} -@-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -@keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } -} -div.DTE div.DTE_Processing_Indicator { - top: 22px; - right: 12px; -} diff --git a/css/csstables/editor.semanticui.min.css b/css/csstables/editor.semanticui.min.css deleted file mode 100644 index 5abb520..0000000 --- a/css/csstables/editor.semanticui.min.css +++ /dev/null @@ -1,5 +0,0 @@ -div.DTE div.DTE_Form_Error{display:none;color:#b11f1f}div.DTE label{padding-top:9px !important;align-self:flex-start;justify-content:flex-end}div.DTE div.eight.wide.field{flex-direction:column}div.DTE div.DTE_Field_InputControl{width:100%;margin:0 !important}div.DTE div.ui.message:empty{display:none}div.DTE_Field div.ui.message{width:100%}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer;margin-top:0}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666;font-size:0.85em;line-height:1.35em}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#f1f1f1}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline div.DTE_Field_Error,div.DTE_Inline div.DTE_Form_Error{font-size:11px;line-height:1.2em;padding:0;margin-top:10px}div.DTE_Inline div.DTE_Field_Error:empty,div.DTE_Inline div.DTE_Form_Error:empty{margin-top:0}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE.DTE_Inline.ui.form label{display:none !important}div.DTE.DTE_Inline.ui.form div.DTE_Field{width:100%;margin:0 !important}div.DTE.DTE_Inline.ui.form div.DTE_Field div.DTE_Field_Input{width:100% !important;box-sizing:border-box}div.DTE.DTE_Inline.ui.form div.DTE_Field>div{width:100%;padding:0}div.DTE.DTE_Inline.ui.form.DTE_Processing:after{top:5px}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{padding-top:42px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Form_Error{float:none;display:none;padding:0;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border:2px solid white;background-color:black;text-align:center;border-radius:15px;cursor:pointer;z-index:12;box-shadow:2px 2px 6px #111}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:after{content:'\00d7';color:white;font-weight:bold;font-size:18px;line-height:22px;font-family:'Courier New', Courier, monospace;padding-left:1px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Close:hover{background-color:#092079;box-shadow:2px 2px 9px #111}div.DTE_Bubble div.DTE_Bubble_Triangle{position:absolute;height:10px;width:10px;top:-6px;background-color:white;border:2px solid #444;border-top:none;border-right:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}div.DTE_Bubble.DTE_Processing div.DTE_Bubble_Liner:after{position:absolute;content:' ';display:block;top:12px;right:18px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}div.DTE_Bubble.below div.DTE_Bubble_Liner{top:10px;bottom:auto}div.DTE_Bubble.below div.DTE_Bubble_Triangle{top:4px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}div.DTE_Bubble_Background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:10}div.DTE_Bubble_Background>div{position:absolute;top:0;right:0;left:0;bottom:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"}div.DTE_Bubble_Background>div:not([dummy]){filter:progid:DXImageTransform.Microsoft.gradient(enabled='false')}div.DTE_Bubble{z-index:1001}div.DTE_Bubble div.DTE_Bubble_Liner{box-shadow:0 5px 10px rgba(0,0,0,0.2);border-radius:6px;padding:1em;border:1px solid rgba(0,0,0,0.2)}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{flex-direction:column}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field>div{justify-content:flex-start;width:100% !important;float:none;clear:both;text-align:left}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field label{padding-bottom:4px}div.DTE_Bubble div.DTE_Bubble_Triangle{border-bottom:1px solid rgba(0,0,0,0.2);border-left:1px solid rgba(0,0,0,0.2)}div.DTE div.editor_upload{padding-top:4px}div.DTE div.editor_upload div.eu_table{display:table;width:100%}div.DTE div.editor_upload div.row{display:table-row}div.DTE div.editor_upload div.cell{display:table-cell;position:relative;width:50%;vertical-align:top}div.DTE div.editor_upload div.cell+div.cell{padding-left:10px}div.DTE div.editor_upload div.row+div.row div.cell{padding-top:10px}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{width:100%;height:2.3em;font-size:0.8em;text-align:center;line-height:1em}div.DTE div.editor_upload input[type=file]{position:absolute;top:0;left:0;width:100%;opacity:0}div.DTE div.editor_upload div.drop{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px dashed #ccc;border-radius:6px;min-height:4em;color:#999;padding-top:3px;text-align:center}div.DTE div.editor_upload div.drop.over{border:3px dashed #111;color:#111}div.DTE div.editor_upload div.drop span{max-width:75%;font-size:0.85em;line-height:1em}div.DTE div.editor_upload div.rendered img{max-width:8em;margin:0 auto}div.DTE div.editor_upload.noDrop div.drop{display:none}div.DTE div.editor_upload.noDrop div.row.second{display:none}div.DTE div.editor_upload.noDrop div.rendered{margin-top:10px}div.DTE div.editor_upload.noClear div.clearValue button{display:none}div.DTE div.editor_upload.multi div.cell{display:block;width:100%}div.DTE div.editor_upload.multi div.cell div.drop{min-height:0;padding-bottom:5px}div.DTE div.editor_upload.multi div.clearValue{display:none}div.DTE div.editor_upload.multi ul{list-style-type:none;margin:0;padding:0}div.DTE div.editor_upload.multi ul li{position:relative;margin-top:0.5em}div.DTE div.editor_upload.multi ul li:first-child{margin-top:0}div.DTE div.editor_upload.multi ul li img{vertical-align:middle}div.DTE div.editor_upload.multi ul li button{position:absolute;width:40px;right:0;top:50%;margin-top:-1.5em}div.DTE div.editor_upload button.btn,div.DTE div.editor_upload input[type=file]{height:auto}div.DTE div.editor_upload ul li button{padding-bottom:8px}div.editor-datetime{position:absolute;background-color:white;z-index:2050;border:1px solid #ccc;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5);padding-bottom:5px}div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#2185D0;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.editor-datetime-error{padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:#b11f1f}div.DTE div.DTE_Processing_Indicator{position:absolute;top:17px;right:9px;height:2em;width:2em;z-index:20;font-size:12px;display:none;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}div.DTE.processing div.DTE_Processing_Indicator{display:block}div.DTE.DTE_Inline div.DTE_Processing_Indicator{top:5px;right:6px;font-size:6px}div.DTE.DTE_Bubble div.DTE_Processing_Indicator{top:10px;right:14px;font-size:8px}div.DTE div.DTE_Processing_Indicator span,div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{display:block;background:black;width:0.5em;height:1.5em;border:1px solid rgba(0,0,0,0.4);background-color:rgba(0,0,0,0.1);-webkit-animation:editorProcessing 0.9s infinite ease-in-out;animation:editorProcessing 0.9s infinite ease-in-out}div.DTE div.DTE_Processing_Indicator:before,div.DTE div.DTE_Processing_Indicator:after{position:absolute;top:0;content:''}div.DTE div.DTE_Processing_Indicator:before{left:-1em;-webkit-animation-delay:-0.3s;animation-delay:-0.3s}div.DTE div.DTE_Processing_Indicator span{-webkit-animation-delay:-0.15s;animation-delay:-0.15s}div.DTE div.DTE_Processing_Indicator:after{left:1em}@-webkit-keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}@keyframes editorProcessing{0%, - 80%, - 100%{transform:scale(1, 1)}40%{transform:scale(1, 1.5)}}div.DTE div.DTE_Processing_Indicator{top:22px;right:12px} diff --git a/css/csstables/jquery.dataTables.min.css b/css/csstables/jquery.dataTables.min.css deleted file mode 100644 index cee9549..0000000 --- a/css/csstables/jquery.dataTables.min.css +++ /dev/null @@ -1 +0,0 @@ -table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:700}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url(../images/sort_both.png)}table.dataTable thead .sorting_asc{background-image:url(../images/sort_asc.png)}table.dataTable thead .sorting_desc{background-image:url(../images/sort_desc.png)}table.dataTable thead .sorting_asc_disabled{background-image:url(../images/sort_asc_disabled.png)}table.dataTable thead .sorting_desc_disabled{background-image:url(../images/sort_desc_disabled.png)}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none!important;cursor:pointer;*cursor:hand;color:#333!important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333!important;border:1px solid #979797;background-color:#fff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(100%,#dcdcdc));background:-webkit-linear-gradient(top,#fff 0%,#dcdcdc 100%);background:-moz-linear-gradient(top,#fff 0%,#dcdcdc 100%);background:-ms-linear-gradient(top,#fff 0%,#dcdcdc 100%);background:-o-linear-gradient(top,#fff 0%,#dcdcdc 100%);background:linear-gradient(to bottom,#fff 0%,#dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666!important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#fff!important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#585858),color-stop(100%,#111));background:-webkit-linear-gradient(top,#585858 0%,#111 100%);background:-moz-linear-gradient(top,#585858 0%,#111 100%);background:-ms-linear-gradient(top,#585858 0%,#111 100%);background:-o-linear-gradient(top,#585858 0%,#111 100%);background:linear-gradient(to bottom,#585858 0%,#111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#2b2b2b),color-stop(100%,#0c0c0c));background:-webkit-linear-gradient(top,#2b2b2b 0%,#0c0c0c 100%);background:-moz-linear-gradient(top,#2b2b2b 0%,#0c0c0c 100%);background:-ms-linear-gradient(top,#2b2b2b 0%,#0c0c0c 100%);background:-o-linear-gradient(top,#2b2b2b 0%,#0c0c0c 100%);background:linear-gradient(to bottom,#2b2b2b 0%,#0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:#fff;background:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0)),color-stop(25%,rgba(255,255,255,0.9)),color-stop(75%,rgba(255,255,255,0.9)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0!important;padding:0!important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}} \ No newline at end of file diff --git a/css/csstables/responsive.dataTables.min.css b/css/csstables/responsive.dataTables.min.css deleted file mode 100644 index db2f7d9..0000000 --- a/css/csstables/responsive.dataTables.min.css +++ /dev/null @@ -1 +0,0 @@ -table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}} diff --git a/css/csstables/scss/_notes/dwsync.xml b/css/csstables/scss/_notes/dwsync.xml deleted file mode 100644 index b34acb2..0000000 --- a/css/csstables/scss/_notes/dwsync.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/css/csstables/scss/bubble.scss b/css/csstables/scss/bubble.scss deleted file mode 100644 index 5406720..0000000 --- a/css/csstables/scss/bubble.scss +++ /dev/null @@ -1,130 +0,0 @@ - -// Bubble form editing -// Very similar to the main form, but attached to a particular node and the -// form layout is slightly different with the fields container and buttons -// making up a table of a single row and two columns. This allows the buttons -// to be removed from the display and under this condition the fields will -// take up the full width available. -div.DTE_Bubble { - position: absolute; - z-index: 11; - margin-top: -6px; - opacity: 0; - - div.DTE_Bubble_Liner { - position: absolute; - bottom: 0; - border: 1px solid black; - width: 300px; - margin-left: -150px; - background-color: white; - box-shadow: 2px 2px 7px #555; - border-radius: 5px; - border: 2px solid #444; - padding: 1em; - @include box-sizing(border-box); - - div.DTE_Bubble_Table { - display: table; - width: 100%; - - > form { - display: table-cell; - - div.DTE_Form_Content { - padding: 0; - - div.DTE_Field { - position: relative; - zoom: 1; - margin-bottom: 0.5em; - - &:last-child { - margin-bottom: 0; - } - } - } - } - - div.DTE_Form_Buttons { - display: table-cell; - vertical-align: bottom; - padding: 0 0 0 0.75em; - width: 1%; // browser will resize to a min width - } - } - - div.DTE_Header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; - } - - div.DTE_Header + div.DTE_Form_Info, - div.DTE_Header + div.DTE_Bubble_Table { - padding-top: 42px; - } - - - div.DTE_Form_Error { - float: none; - display: none; - padding: 0; - margin-bottom: 0.5em; - } - - div.DTE_Bubble_Close { - @include close-icon(); - } - } - - div.DTE_Bubble_Triangle { - position: absolute; - height: 10px; - width: 10px; - top: -6px; - background-color: white; - border: 2px solid #444; - border-top: none; - border-right: none; - - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); - } - - &.DTE_Processing { - div.DTE_Bubble_Liner:after { - position: absolute; - content: ' '; - display: block; - top: 12px; - right: 18px; - height: 12px; - width: 17px; - background: url('../images/ajax-loader-small.gif') no-repeat top left; - } - } - - &.below { - div.DTE_Bubble_Liner { - top: 10px; - bottom: auto; - } - - div.DTE_Bubble_Triangle { - top: 4px; - -webkit-transform: rotate(135deg); - -moz-transform: rotate(135deg); - -ms-transform: rotate(135deg); - -o-transform: rotate(135deg); - transform: rotate(135deg); - } - } -} - -div.DTE_Bubble_Background { - @include overlay-background(); -} - diff --git a/css/csstables/scss/datatable.scss b/css/csstables/scss/datatable.scss deleted file mode 100644 index d5e44bb..0000000 --- a/css/csstables/scss/datatable.scss +++ /dev/null @@ -1,93 +0,0 @@ - -// Row highlighting on edit styles -// -// To change the colour of the highlight, simply modify the variable below and -// recompile the SCSS stylesheet (if you don't have SASS installed, you can use -// the online service at http://sassmeister.com/ . -// -// The DataTables styles below match the default DataTables stylesheet: -// http://next.datatables.net/manual/styling/classes so you can retain the full -// benefits of the DataTables styling options. - -$table-row-highlight: #FFFBCC; - -table.dataTable { - tbody { - tr.highlight { - background-color: $table-row-highlight !important; - } - - tr.highlight, - tr.noHighlight, - tr.highlight td, - tr.noHighlight td { - @include background-transision(); - } - } - - &.stripe tbody, - &.display tbody { - tr.odd { - &.highlight { - background-color: shade($table-row-highlight, 2.35%); - } - } - } - - // Hover classes - add "hover" class to the table to activate - &.hover tbody, - &.display tbody { - tr:hover, - tr.odd:hover, - tr.even:hover { - &.highlight { - background-color: shade($table-row-highlight, 3.6%); - } - } - } - - - // Sort column highlighting - add "hover" class to the table to activate - &.order-column, - &.display { - tbody { - tr.highlight>.sorting_1, - tr.highlight>.sorting_2, - tr.highlight>.sorting_3 { - background-color: shade($table-row-highlight, 2%); - } - } - } - - &.display tbody, - &.order-column.stripe tbody { - tr.odd { - &.highlight { - >.sorting_1 { background-color: shade($table-row-highlight, 5.4%);} - >.sorting_2 { background-color: shade($table-row-highlight, 4.7%);} - >.sorting_3 { background-color: shade($table-row-highlight, 3.9%);} - } - } - - tr.even { - &.highlight { - >.sorting_1 { background-color: shade($table-row-highlight, 2%); } - >.sorting_2 { background-color: shade($table-row-highlight, 1.2%); } - >.sorting_3 { background-color: shade($table-row-highlight, 0.4%); } - } - } - } - - &.display tbody, - &.order-column.hover tbody { - tr:hover, - tr.odd:hover, - tr.even:hover { - &.highlight { - >.sorting_1 { background-color: shade($table-row-highlight, 8.2%); } - >.sorting_2 { background-color: shade($table-row-highlight, 7.5%); } - >.sorting_3 { background-color: shade($table-row-highlight, 6.3%); } - } - } - } -} \ No newline at end of file diff --git a/css/csstables/scss/datetime.scss b/css/csstables/scss/datetime.scss deleted file mode 100644 index 148f1d8..0000000 --- a/css/csstables/scss/datetime.scss +++ /dev/null @@ -1,192 +0,0 @@ - -$editor-datetime-selected: #4E6CA3 !default; - -div.editor-datetime { - position: absolute; - background-color: white; - z-index: 2050; - border: 1px solid #ccc; - box-shadow: 0 5px 15px -5px rgba(0,0,0,.5); - padding-bottom: 5px; - - div.editor-datetime-title { - text-align: center; - padding: 5px 0px 3px; - } - - table { - border-spacing: 0; - margin: 6px 13px; - - th { - font-size: 0.8em; - color: #777; - font-weight: normal; - width: 14.285714286%; - padding: 0 0 4px 0; - text-align: center; - } - - td { - font-size: 0.9em; - color: #444; - padding: 0; - } - - td.day { - text-align: right; - background: #f5f5f5; - - &.disabled { - color: #aaa; - background: white; - } - - &.today { - background-color: #ddd; - - button { - font-weight: bold; - } - } - - &.selected button { - background: $editor-datetime-selected; - color: white; - border-radius: 2px; - } - - button:hover { - background: #ff8000; - color: white; - border-radius: 2px; - } - } - - td.editor-datetime-week { - font-size: 0.7em; - } - - button { - width: 100%; - box-sizing: border-box; - border: none; - background: transparent; - font-size: inherit; - color: inherit; - text-align: inherit; - padding: 5px 9px; - cursor: pointer; - margin: 0; - } - - &.weekNumber th { - width: 12.5%; - } - } - - div.editor-datetime-label { - position: relative; - display: inline-block; - height: 30px; - padding: 5px 6px; - border: 1px solid transparent; - box-sizing: border-box; - cursor: pointer; - - &:hover { - border: 1px solid #ddd; - border-radius: 2px; - background-color: #f5f5f5; - } - - span { - - } - - select { - position: absolute; - top: 6px; - left: 0; - cursor: pointer; - opacity: 0; - -ms-filter: "alpha(opacity=0)"; - } - } - - div.editor-datetime-time { - text-align: center; - - > span { - vertical-align: middle; - } - - div.editor-datetime-timeblock { - display: inline-block; - vertical-align: middle; - } - } - - - div.editor-datetime-iconLeft, - div.editor-datetime-iconRight, - div.editor-datetime-iconUp, - div.editor-datetime-iconDown { - width: 30px; - height: 30px; - background-position: center; - background-repeat: no-repeat; - opacity: 0.3; - overflow: hidden; - box-sizing: border-box; - - &:hover { - border: 1px solid #ccc; - border-radius: 2px; - background-color: #f0f0f0; - opacity: 0.6; - } - - button { - border: none; - background: transparent; - text-indent: 30px; - height: 100%; - width: 100%; - cursor: pointer; - } - } - - div.editor-datetime-iconLeft { - position: absolute; - top: 5px; - left: 5px; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=='); - } - - div.editor-datetime-iconRight { - position: absolute; - top: 5px; - right: 5px; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII='); - } - - div.editor-datetime-iconUp { - height: 20px; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII='); - } - - div.editor-datetime-iconDown { - height: 20px; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC'); - } -} - -div.editor-datetime-error { - padding: 0 1em; - max-width: 240px; - font-size: 11px; - line-height: 1.25em; - text-align: center; - color: #b11f1f; -} \ No newline at end of file diff --git a/css/csstables/scss/envelope.scss b/css/csstables/scss/envelope.scss deleted file mode 100644 index 692698d..0000000 --- a/css/csstables/scss/envelope.scss +++ /dev/null @@ -1,91 +0,0 @@ - -/* - * Namespace: DTED - DataTables Editor Display - Envelope - */ - -div.DTED_Envelope_Wrapper { - position: absolute; - top: 0; - bottom: 0; - left: 50%; - height: 100%; - z-index: 11; - display: none; - overflow: hidden; - - // Create a shadow display at the top of the evelope to make it look like it has - // come from under the element that it is attached to/ Left and right to give a - // slight fade and the two ends - div.DTED_Envelope_Shadow { - position: absolute; - top: -10px; - left: 10px; - right: 10px; - height: 10px; - z-index: 10; - box-shadow: 0 0 20px black; - } - - div.DTED_Envelope_Container { - position: absolute; - top: 0; - left: 5%; - width: 90%; - - border-left: 1px solid #777; - border-right: 1px solid #777; - border-bottom: 1px solid #777; - box-shadow: 3px 3px 10px #555; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - background-color: white; - - div.DTE_Processing_Indicator { - right: 36px; - } - - div.DTE_Footer { - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - } - - div.DTED_Envelope_Close { - position: absolute; - top: 16px; - right: 10px; - width: 18px; - height: 18px; - cursor: pointer; - *cursor: hand; - z-index: 12; - text-align: center; - font-size: 12px; - - background: #F8F8F8; - background: -webkit-gradient(linear, center bottom, center top, from(#CCC), to(white)); - background: -moz-linear-gradient(top, white, #CCC); - background: linear-gradient(to bottom, white, #CCC); - text-shadow: 0 1px 0 white; - border: 1px solid #999; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - box-shadow: 0px 0px 1px #999; - -moz-box-shadow: 0px 0px 1px #999; - -webkit-box-shadow: 0px 0px 1px #999; - } - } -} - - -div.DTED_Envelope_Background { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 10; - @include radial-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.4) ); -} - - diff --git a/css/csstables/scss/fields.scss b/css/csstables/scss/fields.scss deleted file mode 100644 index 9a467d3..0000000 --- a/css/csstables/scss/fields.scss +++ /dev/null @@ -1,159 +0,0 @@ - - -// Generic field styling -div.DTE_Field { - input, - textarea { - box-sizing: border-box; - background-color: white; - -webkit-transition: background-color ease-in-out .15s; - transition: background-color ease-in-out .15s; - } - - input:focus, - textarea:focus { - background-color: #ffffee; - } - - input[type="color"], - input[type="date"], - input[type="datetime"], - input[type="datetime-local"], - input[type="email"], - input[type="month"], - input[type="number"], - input[type="password"], - input[type="search"], - input[type="tel"], - input[type="text"], - input[type="time"], - input[type="url"], - input[type="week"] { - padding: 6px 4px; - width: 100%; - } - - label div.DTE_Label_Info { - font-size: 0.85em; - margin-top: 0.25em; - - &:empty { - margin-top: 0; - } - } - - div.DTE_Field_Info, - div.DTE_Field_Message, - div.DTE_Field_Error { - font-size: 11px; - line-height: 1em; - margin-top: 5px; - - &:empty { - margin-top: 0; - } - } - - div.DTE_Field_Error { - display: none; - color: #b11f1f; - } - - div.multi-value { - display: none; - border: 1px dotted #666; - border-radius: 3px; - padding: 5px; - background-color: #fafafa; - cursor: pointer; - - span { - font-size: 0.8em; - line-height: 1.25em; - display: block; - color: #666; - } - - &.multi-noEdit { - border: 1px solid #ccc; - cursor: auto; - background-color: #fcfcfc; - - &:hover { - background-color: #fcfcfc; - } - } - - &:hover { - background-color: #f1f1f1; - } - } - - &.disabled { - color: grey; - - div.multi-value { - cursor: default; - border: 1px dotted #aaa; - background-color: transparent; - } - } - - div.multi-restore { - display: none; - margin-top: 0.5em; - font-size: 0.8em; - line-height: 1.25em; - color: #3879d9; - - &:hover { - text-decoration: underline; - cursor: pointer; - } - } -} - -// Specific field type styling -div.DTE_Field_Type_textarea { - textarea { - padding: 3px; - width: 100%; - height: 80px; - } -} - -div.DTE_Field.DTE_Field_Type_date { - img { - vertical-align: middle; - cursor: pointer; - *cursor: hand; - } - - input.jqueryui { - width: 87%; - margin-right: 6px; - } -} - -div.DTE_Field_Type_checkbox, -div.DTE_Field_Type_radio { - div.DTE_Field_Input > div > div { - margin-bottom: 0.25em; - - &:last-child { - margin-bottom: 0; - } - - input { - } - - label { - margin-left: 0.75em; - vertical-align: middle; - } - } -} - -div.DTE_Field_Type_select div.DTE_Field_Input { - padding-top: 4px; -} diff --git a/css/csstables/scss/inline.scss b/css/csstables/scss/inline.scss deleted file mode 100644 index 8351177..0000000 --- a/css/csstables/scss/inline.scss +++ /dev/null @@ -1,66 +0,0 @@ - -// Inline form editing -// Hide the label and allow the field to take the full width -div.DTE_Inline { - position: relative; - display: table; - width: 100%; - - div.DTE_Inline_Field, - div.DTE_Inline_Buttons { - display: table-cell; - vertical-align: middle; - - div.DTE_Field { - padding: 0; - - >label { - display: none; - } - - input { - width: 100%; - } - } - - div.DTE_Form_Buttons button { - margin: -6px 0 -6px 4px; - padding: 5px; - } - } - - // Have the input types take up full space, taking into account the cell padding - div.DTE_Field input[type="color"], - div.DTE_Field input[type="date"], - div.DTE_Field input[type="datetime"], - div.DTE_Field input[type="datetime-local"], - div.DTE_Field input[type="email"], - div.DTE_Field input[type="month"], - div.DTE_Field input[type="number"], - div.DTE_Field input[type="password"], - div.DTE_Field input[type="search"], - div.DTE_Field input[type="tel"], - div.DTE_Field input[type="text"], - div.DTE_Field input[type="time"], - div.DTE_Field input[type="url"], - div.DTE_Field input[type="week"] { - margin: -6px 0; - } - - div.DTE_Field_Error, - div.DTE_Form_Error { - font-size: 11px; - line-height: 1.2em; - padding: 0; - margin-top: 10px; - - &:empty { - margin-top: 0; - } - } -} - -// Responsive integration -span.dtr-data div.DTE_Inline { - display: inline-table; -} \ No newline at end of file diff --git a/css/csstables/scss/lightbox.scss b/css/csstables/scss/lightbox.scss deleted file mode 100644 index cc2ec8b..0000000 --- a/css/csstables/scss/lightbox.scss +++ /dev/null @@ -1,147 +0,0 @@ - - -div.DTED_Lightbox_Wrapper { - position: fixed; - top: 0; - left: 50%; - margin-left: -390px; - width: 780px; - height: 100%; - z-index: 11; - - div.DTED_Lightbox_Container { - *position: absolute; /* IE6 */ - *top: 50%; - #position: absolute; /* IE7 */ - #top: 50%; - display: table; - height: 100%; - width: 100%; - - div.DTED_Lightbox_Content_Wrapper { - *position: relative; /* IE6 */ - #position: relative; /* IE7 */ - display: table-cell; - vertical-align: middle; - width: 100%; - - div.DTED_Lightbox_Content { - *top: -50%; /* IE6 */ - #top: -50%; /* IE7 */ - position: relative; - border: 7px solid rgba(220, 220, 220, 0.5); - box-shadow: 2px 2px 10px #555; - border-radius: 10px; - @include box-sizing(border-box); - - div.DTE { - background: white; - border-radius: 6px; - box-shadow: 0 0 5px #555; - border: 2px solid #444; - @include box-sizing(border-box); - - div.DTE_Header { - top: 2px; - left: 2px; - right: 2px; - width: auto; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - } - - div.DTE_Footer { - bottom: 2px; - left: 2px; - right: 2px; - width: auto; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - } - } - - div.DTED_Lightbox_Close { - @include close-icon(); - } - } - } - } -} - - -div.DTED_Lightbox_Background { - @include overlay-background(); -} - - -body.DTED_Lightbox_Mobile { - div.DTED_Lightbox_Background { - height: 0; - } - - div.DTED_Lightbox_Shown { - display: none; - } - - div.DTED_Lightbox_Wrapper { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - width: auto; - height: auto; - margin-left: 0; - -webkit-overflow-scrolling: touch; - - div.DTED_Lightbox_Container { - display: block; - - div.DTED_Lightbox_Content_Wrapper { - display: block; - - div.DTED_Lightbox_Content { - border: 4px solid rgba(220, 220, 220, 0.5); - border-radius: 0; - - div.DTE { - border-radius: 0; - box-shadow: 0 0 5px #555; - border: 2px solid #444; - - div.DTE_Header { - border-top-left-radius: 0; - border-top-right-radius: 0; - } - - div.DTE_Footer { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - } - } - - div.DTED_Lightbox_Close { - top: 11px; - right: 15px; - } - } - } - } - } -} - -@media only screen -and (max-width: 780px) { - div.DTED_Lightbox_Wrapper { - position: fixed; - top: 0; - left: 0; - width: 100%; - margin-left: 0; - } -} - - - - - diff --git a/css/csstables/scss/main.scss b/css/csstables/scss/main.scss deleted file mode 100644 index 02fc3dd..0000000 --- a/css/csstables/scss/main.scss +++ /dev/null @@ -1,188 +0,0 @@ - - -// The main form. -// Most of the styles for display of the main form come from the display -// controller (lightbox and envelope are the two built in options). -div.DTE_Body { - padding: 50px 0; // space for hte header and footer which are position: absolute - - div.DTE_Body_Content { - position: relative; - overflow: auto; - - div.DTE_Form_Info { - padding: 1em 1em 0 1em; - margin: 0; - } - - div.DTE_Field { - position: relative; - zoom: 1; - - clear: both; - padding: 5px 20%; - border: 1px solid transparent; - - &:after { - display: block; - content: "."; - height: 0; - line-height: 0; - clear: both; - visibility: hidden; - } - - &:hover { - background-color: #f9f9f9; - border: 1px solid #f3f3f3; - } - - >label { - float: left; - width: 40%; - padding-top: 6px; - } - - >div.DTE_Field_Input { - float: right; - width: 60%; - } - - // Field in error state - &.DTE_Field_StateError { } - - &.full { - padding: 5px 0 5px 20%; - - >label { - width: 30%; - } - - >div.DTE_Field_Input { - width: 70%; - } - } - - &.block { - >div.DTE_Field_Input { - float: none; - clear: both; - width: 100%; - } - } - } - } -} - -html[dir="rtl"] { - div.DTE_Body div.DTE_Body_Content div.DTE_Field { - > label { - float: right; - } - - >div.DTE_Field_Input { - float: left; - } - } - - div.DTE div.DTE_Form_Buttons button { - float: left; - } -} - -// iPad in portrait -@media only screen -and (max-width : 768px) { - div.DTE_Body { - div.DTE_Body_Content { - div.DTE_Field { - padding: 5px 10%; - - &.full { - padding: 5px 0 5px 10%; - - >label { - width: 35.5%; - } - - >div.DTE_Field_Input { - width: 64.5%; - } - } - - &.block { - >div.DTE_Field_Input { - width: 100%; - } - } - } - } - } -} - -@media only screen -and (max-width : 640px) { - div.DTE_Body { - div.DTE_Body_Content { - div.DTE_Field { - padding: 5px 0; - - &.full { - padding: 5px 0%; - - >label { - width: 40%; - } - - >div.DTE_Field_Input { - width: 60%; - } - } - - &.block { - >div.DTE_Field_Input { - width: 100%; - } - } - } - } - } -} - -// For devices with smaller screens, the fields should be shown stacked -@media only screen -and (max-width : 580px) { - div.DTE_Body { - div.DTE_Body_Content { - div.DTE_Field { - position: relative; - zoom: 1; - - clear: both; - padding: 5px 0; - - >label { - float: none; - width: auto; - padding-top: 0; - } - - >div.DTE_Field_Input { - float: none; - width: auto; - } - - &.full, - &.block { - padding: 5px 0; - - >label, - >div.DTE_Field_Input { - width: 100%; - } - } - } - } - } -} - diff --git a/css/csstables/scss/mixins.scss b/css/csstables/scss/mixins.scss deleted file mode 100644 index 60205cb..0000000 --- a/css/csstables/scss/mixins.scss +++ /dev/null @@ -1,176 +0,0 @@ - - -@function tint( $color, $percent ) { - @return mix(white, $color, $percent); -} - -@function shade( $color, $percent ) { - @return mix(black, $color, $percent); -} - - -@mixin border-radius ( $radius ) { - -webkit-border-radius: $radius; - -moz-border-radius: $radius; - -ms-border-radius: $radius; - -o-border-radius: $radius; - border-radius: $radius; -} - -@mixin box-sizing($box-model) { - -webkit-box-sizing: $box-model; // Safari <= 5 - -moz-box-sizing: $box-model; // Firefox <= 19 - box-sizing: $box-model; -} - -@mixin box-shadow($top, $left, $blur, $color, $inset: false) { - @if $inset { - -webkit-box-shadow:inset $top $left $blur $color; - -moz-box-shadow:inset $top $left $blur $color; - box-shadow:inset $top $left $blur $color; - } @else { - -webkit-box-shadow: $top $left $blur $color; - -moz-box-shadow: $top $left $blur $color; - box-shadow: $top $left $blur $color; - } -} - -@mixin three-stop-gradient($fromColor, $middleColor, $toColor) { - background-color: $toColor; /* Fallback */ - background-image: -webkit-linear-gradient(top, $fromColor, $middleColor, $toColor); /* Chrome 10+, Saf5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, $fromColor, $middleColor, $toColor); /* FF3.6 */ - background-image: -ms-linear-gradient(top, $fromColor, $middleColor, $toColor); /* IE10 */ - background-image: -o-linear-gradient(top, $fromColor, $middleColor, $toColor); /* Opera 11.10+ */ - background-image: linear-gradient(to bottom, $fromColor, $middleColor, $toColor); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#{nth( $fromColor, 1 )}', EndColorStr='#{nth( $toColor, 1 )}'); -} - -@mixin radial-gradient ($fromColor, $toColor ) { - background: $toColor; /* Fallback */ - background: -ms-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* IE10 Consumer Preview */ - background: -moz-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Firefox */ - background: -o-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Opera */ - background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, $fromColor), color-stop(1, $toColor)); /* Webkit (Safari/Chrome 10) */ - background: -webkit-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Webkit (Chrome 11+) */ - background: radial-gradient(ellipse farthest-corner at center, $fromColor 0%, $toColor 100%); /* W3C Markup, IE10 Release Preview */ -} - -@mixin keyframe ($animation_name) { - @-webkit-keyframes #{$animation_name} { - @content; - } - - @-moz-keyframes #{$animation_name} { - @content; - } - - @-o-keyframes #{$animation_name} { - @content; - } - - @keyframes #{$animation_name} { - @content; - } -} - -@mixin animation ($duration, $animation) { - -webkit-animation-duration: $duration; - -webkit-animation-name: $animation; - -webkit-animation-fill-mode: forwards; - -webkit-animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -webkit-animation-direction: alternate; - - -moz-animation-duration: $duration; - -moz-animation-name: $animation; - -moz-animation-fill-mode: forwards; - -moz-animation-iteration-count: infinite; - -moz-animation-timing-function: linear; - -moz-animation-direction: alternate; - - -o-animation-duration: $duration; - -o-animation-name: $animation; - -o-animation-fill-mode: forwards; - -o-animation-iteration-count: infinite; - -o-animation-timing-function: linear; - -o-animation-direction: alternate; - - animation-duration: $duration; - animation-name: $animation; - animation-fill-mode: forwards; - animation-iteration-count: infinite; - animation-timing-function: linear; - animation-direction: alternate; -} - -@mixin close-icon () { - position: absolute; - top: -11px; - right: -11px; - width: 22px; - height: 22px; - border: 2px solid white; - background-color: black; - text-align: center; - border-radius: 15px; - cursor: pointer; - z-index: 12; - box-shadow: 2px 2px 6px #111; - - &:after { - content: '\00d7'; - color: white; - font-weight: bold; - font-size: 18px; - line-height: 22px; - font-family: 'Courier New', Courier, monospace; - padding-left: 1px; - } - - &:hover { - background-color: #092079; - box-shadow: 2px 2px 9px #111; - } -} - -@mixin overlay-background () { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - - @include radial-gradient( rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7) ); - - z-index: 10; - - // IE8- doesn't support RGBA and jQuery uses `filter:` for the fade-in - // animation, so we need a child element that is used just for the display - >div { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - - // IE7- - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); - - // IE8 - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; - } - - // IE9 has both filter and rgba support, so we need a hack to disable the filter - >div:not([dummy]) { - filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); - } -} - -@mixin background-transision () { - -webkit-transition: background-color 500ms linear; - -moz-transition: background-color 500ms linear; - -ms-transition: background-color 500ms linear; - -o-transition: background-color 500ms linear; - transition: background-color 500ms linear; -} - diff --git a/css/csstables/scss/processing.scss b/css/csstables/scss/processing.scss deleted file mode 100644 index d49df92..0000000 --- a/css/csstables/scss/processing.scss +++ /dev/null @@ -1,96 +0,0 @@ - -div.DTE { - div.DTE_Processing_Indicator { - position: absolute; - top: 17px; - right: 9px; - height: 2em; - width: 2em; - z-index: 20; - font-size: 12px; - display: none; - - -webkit-transform: translateZ(0); - -ms-transform: translateZ(0); - transform: translateZ(0); - } - - &.processing { - div.DTE_Processing_Indicator { - display: block; - } - } - - &.DTE_Inline { - div.DTE_Processing_Indicator { - top: 5px; - right: 6px; - font-size: 6px; - } - } - - &.DTE_Bubble { - div.DTE_Processing_Indicator { - top: 10px; - right: 14px; - font-size: 8px; - } - } - - div.DTE_Processing_Indicator span, - div.DTE_Processing_Indicator:before, - div.DTE_Processing_Indicator:after { - display: block; - background: black; - width: 0.5em; - height: 1.5em; - border: 1px solid rgba( 0, 0, 0, 0.4 ); - background-color: rgba( 0, 0, 0, 0.1 ); - - -webkit-animation: editorProcessing 0.9s infinite ease-in-out; - animation: editorProcessing 0.9s infinite ease-in-out; - } - - div.DTE_Processing_Indicator:before, - div.DTE_Processing_Indicator:after { - position: absolute; - top: 0; - content: ''; - } - - div.DTE_Processing_Indicator:before { - left: -1em; - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; - } - - div.DTE_Processing_Indicator span { - -webkit-animation-delay: -0.15s; - animation-delay: -0.15s; - } - - div.DTE_Processing_Indicator:after { - left: 1em; - } - - @-webkit-keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } - } - @keyframes editorProcessing { - 0%, - 80%, - 100% { - transform: scale(1, 1); - } - 40% { - transform: scale(1, 1.5); - } - } -} diff --git a/css/csstables/scss/upload.scss b/css/csstables/scss/upload.scss deleted file mode 100644 index f3ba54d..0000000 --- a/css/csstables/scss/upload.scss +++ /dev/null @@ -1,142 +0,0 @@ - -div.DTE div.editor_upload { - padding-top: 4px; - - div.eu_table { - display: table; - width: 100%; - } - - div.row { - display: table-row; - } - - div.cell { - display: table-cell; - position: relative; - width: 50%; - vertical-align: top; - } - - div.cell + div.cell { - padding-left: 10px; - } - - div.row + div.row { - div.cell { - padding-top: 10px; - } - } - - button.btn, - input[type=file] { - width: 100%; - height: 2.3em; - font-size: 0.8em; - text-align: center; - line-height: 1em; - } - - input[type=file] { - position: absolute; - top: 0; - left: 0; - width: 100%; - opacity: 0; - } - - div.drop { - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - border: 3px dashed #ccc; - border-radius: 6px; - min-height: 4em; - color: #999; - padding-top: 3px; - text-align: center; - - &.over { - border: 3px dashed #111; - color: #111; - } - - span { - max-width: 75%; - font-size: 0.85em; - line-height: 1em; - } - } - - div.rendered { - img { - max-width: 8em; - margin: 0 auto; - } - } - - &.noDrop { - div.drop { - display: none; - } - - div.row.second { - display: none; - } - - div.rendered { - margin-top: 10px; - } - } - - &.noClear { - div.clearValue button { - display: none; - } - } - - &.multi { - div.cell { - display: block; - width: 100%; - - div.drop { - min-height: 0; - padding-bottom: 5px; - } - } - - div.clearValue { - display: none; - } - - ul { - list-style-type: none; - margin: 0; - padding: 0; - - li { - position: relative; - margin-top: 0.5em; - - &:first-child { - margin-top: 0; - } - - img { - vertical-align: middle; - } - - button { - position: absolute; - width: 40px; - right: 0; - top: 50%; - margin-top: -1.5em; - } - } - } - } -} - diff --git a/css/csstables/select.dataTables.min.css b/css/csstables/select.dataTables.min.css deleted file mode 100644 index 72b4a7a..0000000 --- a/css/csstables/select.dataTables.min.css +++ /dev/null @@ -1 +0,0 @@ -table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#B0BED9}table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected,table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected{background-color:#acbad4}table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover,table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover{background-color:#aab7d1}table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected,table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#a6b4cd}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}table.dataTable td.select-checkbox,table.dataTable th.select-checkbox{position:relative}table.dataTable td.select-checkbox:before,table.dataTable td.select-checkbox:after,table.dataTable th.select-checkbox:before,table.dataTable th.select-checkbox:after{display:block;position:absolute;top:1.2em;left:50%;width:12px;height:12px;box-sizing:border-box}table.dataTable td.select-checkbox:before,table.dataTable th.select-checkbox:before{content:' ';margin-top:-6px;margin-left:-6px;border:1px solid black;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after,table.dataTable tr.selected th.select-checkbox:after{content:'\2714';margin-top:-11px;margin-left:-4px;text-align:center;text-shadow:1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0.5em}@media screen and (max-width: 640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}} diff --git a/css/flat-icon/_notes/dwsync.xml b/css/flat-icon/_notes/dwsync.xml deleted file mode 100644 index 36270ff..0000000 --- a/css/flat-icon/_notes/dwsync.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/css/flat-icon/flaticon.css b/css/flat-icon/flaticon.css deleted file mode 100644 index fc1710d..0000000 --- a/css/flat-icon/flaticon.css +++ /dev/null @@ -1,44 +0,0 @@ -@font-face { - font-family: "Flaticon"; - src: url("flaticon.eot"); - src: url("flaticon.eot#iefix") format("embedded-opentype"), - url("flaticon.woff") format("woff"), - url("flaticon.ttf") format("truetype"), - url("flaticon.svg") format("svg"); - font-weight: normal; - font-style: normal; -} -[class^="flaticon-"]:before, [class*=" flaticon-"]:before, -[class^="flaticon-"]:after, [class*=" flaticon-"]:after { - font-family: Flaticon; - font-size: 25px; -font-style: normal; -margin-left: 15px; -padding-right:5px; -}.flaticon-add58:before { - content: "\e000"; -} -.flaticon-businessman22:before { - content: "\e001"; -} -.flaticon-businessman63:before { - content: "\e002"; -} -.flaticon-dashboard1:before { - content: "\e003"; -} -.flaticon-forms:before { - content: "\e004"; -} -.flaticon-incoming4:before { - content: "\e005"; -} -.flaticon-invoice1:before { - content: "\e006"; -} -.flaticon-mailbox10:before { - content: "\e007"; -} -.flaticon-profile4:before { - content: "\e008"; -} diff --git a/css/flat-icon/flaticon.eot b/css/flat-icon/flaticon.eot deleted file mode 100644 index ac66941e90cc5bcfa0065332b841a54df807dff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3924 zcmd@XYj0e|bh3K0I4WV6{#vz0!jsH`(e{FyK7?w z=pX3p&dhnu9+}7mOkP;?`kWwRcl;Scmk|RSTi<~bSk7T~6hnyjd z9GILuIDPy_=DRrWI#MIMcTG%^D~N>n3B+UjuN%$}zqI!sIOqn%4;@{uoH*BMy^J`H zfj!46^%Iva;Y>t7j(p|V(wz%0KKAkjLf9@sRC0X2GDjYK&qf}~lhSb{2s1Q;V?&51 zk1wy@;r%w;ium)0_b*kCR`fI4H*tI~;$6#?J5G?B$lJ&tK|HonS)L!g=bB#<;>P*m z!4uW`>a!;oKShP!ME(z&x}kojpPqg97Vq{?h}JrbKb$>yJ@QGbzjTfsfpdr|?W4k} z@PF>oIWk0#a5-$bm9`eONpX`m(RRG>iJ?imlA~CFx?r7%M1d(-Kzw(*|Acgsd$;-n z7xwX{T@EZv%#kZEkPAv{54g80k=5QoO9RB8X)byb;=Jy}I?i{CeS&N!J!D67I_`74 zM%v?dA;xEl5P@);O4v7D^n!vXhvfp{eXJ$L2?X%`H`E85e$z@#E*IDU{xAAD=%rKi z1y*AZvGam1oI$N6a?_J)!p(r?VQE4X|A~!%T77SF zLYzG~J$(zbcoW|hXJ2xqQm$kYY?Q?T(mtv2x`gdp;&fvT`e(&cZ%%*f6rTyXU!4_S z|3-?BKs{9ax;&^yow$jGL1P!W7K6#He2EJqYm2}p*-qO!7+ka*lFgD+Oxwmb5YtYv zRCbUPGQ$a54(H4EzbR7`M)m%?`z2srMe#8Pfd6i{pZBb&a|waz{iiMH_V_^nptL24 z;LAD_R2e52IDI4Ys;%Jy3i^=A_JB&qhX=}yKS6n5c$~g<`+z)j_mB)~fU!VCN+hJH z<^!)LNeKw}L1gTW$ObEy@cTicO!N6PQR?5Mr&PA(TtoAz4b; z5;srU&YPujw&)ZcNzRrM>0&7#4y6-PD4Z`9Wp3Dngx2IH%_D-RVdF3v&D$2SWm7_T zH4?~?)2#-5uT(b6cDpeOa>0;oxons7MRd%9U2wuC_l#!49X5n)QxYy;AJ4OpH*uG^ z0N+N~2wD7GO>}VF8%!seD6m1ZbF`Du$c_ko5z*uzdt{`yccgb9Z&`UO@6iLg#}k+d zm~NNABqq2X;A}h17;}4=$ITdZ%OZ#pNccxUc2mv*MG8@5oEV31U{g#EWoHGy`t-ah_w#c7zIJHM!mQNd*lWy zpG@XE6`$(ys6IsqsxFrrOluwJT|&orQ)cg$HMK39)?}f%XB;AWt@1g}RHL|OC*;L?~MQxATxj}w63!FPyEyd+3W(oIqr zp9V20aPVdyCs(0V`{H`_544TD?n;rrlk77o4pQwp3d4=9gRfsTb`qj5*8-KnL{?hnV*E(r`A9PdK z&*@XrBlKZujov4pq;+wT&dZ1Cb<%G76{$o^l;%!CXFwfHtMRly-n(7d-ifuN-5c0< zjVWVh8;4?JNoAQluJ))3S7{2po;99>2d-|c!rIhMmdv=lnZ#g59_X=^bXQWbB2i^q zXSdQ7F=eAGs01RQD_#m(9B=&u3B!5#I{Ff(D?y{+#}D1lFfPbu+=zd8@!|(>XeUo< zbBz};)mhXUuV^sS_u+Cs_2Y~!X6%2x_Ub#=?T0mw`k8Fw`v*Kf z4o#gg!baRM!uujTJL)ZkEZJylGt!()xFoo2&3hlIPIeElJlswWfH8D{Z%bTnP;3E}QHTv}MFtS%m{VwAY- z)ig7I?6#!}KA$F=Z>H5|U&D9RJc*Hf^ZgVfqX=LA0&7uo7*HLoc}$sdq=?g0S5_yh zwPW+K{7^PF8rxVH!Q7xTn9t@==<>P9h7`W6zW51uXueiotgggzL)rg1{Bs#PKcTG! z<0#sf0_BbaB1j;E0xGz~%G{hY;yH3#eQ{;JUSF=PsUJU5t<>gn;zG5y zTvr!Yj#if!SB@2x#g*Hui$~{k>T+dq=}7gCTvj@7Jn1F0l2j_Fo)xE?EEo diff --git a/css/flat-icon/flaticon.svg b/css/flat-icon/flaticon.svg deleted file mode 100644 index cfaa699..0000000 --- a/css/flat-icon/flaticon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/css/flat-icon/flaticon.ttf b/css/flat-icon/flaticon.ttf deleted file mode 100644 index 9f40c8a65729ecb430bd5950931bf03659196a85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3756 zcmdrP`)?e@dA^z5+1=Z_z31Ngan3#V?$(d9eeW}NoB)j-n#2ilLV`hpUSd0OYx}~T zAs`wOwb0a5l$469RH6tdtqQG5Rm2bcfYKI_Dj`*(2#|`>RFSGeC7@KGwm)3@&D}W| zD*6X>?!KAtIrDup-#nH8A;d$@5Js+_o<2Bp{QK71gc#?L8`-&IYMNX{IMOGOj_o@z znjd{(_umPD8<9SAbftRYe7F4~(r5#_j#V2cE?>r;h;ba{>apd!7N39Y#fyZn9fWA) z_(FA_Jot`-GSnyKuq(>4oc zp;Rc@@FTbdusqDCWceRh`De6url;h&gEKR?LR&WVEqU$*S1RR7Cc!~nG~j!A^Hq-Z z8}dwZ9R}y*Q?Ji_?Ud*VrC*$rU;Ro-SYR9)?k*3;(I9SOlPuXm_LBv28#zVpBP3XH zCP1+&Vbd;FoWd3;Y=cU^QXYb|li-%ktx(ttPGtxz#o=b5C?e+;w@?%R`La+((I$l} zY$xp)U<%brNU_SLV%jmcfSfKB%asyJLRL88DB*m?`4?rX%BV4T&mafpRaGBj0Qm29 z`$fx&hR~3hF?iaBUXLFn07~1Mh`wkrNmH~2J6i<2kSWZlL*z;F z4EYuL1Ljr)a$&1n2<6gFNZ|>Gi|I)_d8=H>7E8qvSF+_qx>(MKL+Jz$h4ba2A|^J$ zaW=)2=8?eFaL`P_>FuaEip4Qq%>+u6bi2abD_5+F)2YmYQZN-qsW_E<5fiiE6iQ)B zWJaqJ2^&JO#ih@VkLy{;Tj(VYAlwL>AzQ4gg$a(n!Az3L5*xO<$GaJgY>Uw6kxUM= zN5=a5$NGozww<^09wT6QJb~GO<#tJoGs*RU5IbqcnA^iVZpNrvkwNCb@sEh&ra}ZN z4^TZw0|2rLLXYW+OeIB@6^Y79^WS5R(-|gN@wgO~aZL{d-MXeqirW} z8HOYyG$0$JAaQ%#i!L~0H`@7RGT*KGG>=E~sZvmLxwK$f@51box+YsXyEl!gZ*p2! zq?XgZm`nD7tOF!`tpFrNZw1hbjp@DUWdGP)QcOocmbv6+pt&TkN0DSj_DJB;ncu)P z!nks={K4}y%3g2Ek^uB7l_lEXU4K}bab z14DZoYv=R8GBIrK1?%uYMzV(btbr|m`G9`F->2_ifepITzSp4Y4=hf* z(^@?3kN0m?w{|0Rby^eKo(Xlr>d;VZE^924$I%|u;2K?}H?Zc<;DKwKYp}j&J4+L5TbrMp+{iCBu+6I25cFjOxEJ&w12f`s7$d>L~IpDRJL;Kz;b zXLv3sR@{ugf9cYDujwaG>hsO#@Ts$;H(%0Ww)wXf3k@`Ul~8yI)~{q@6i+q>&$dxK z&Ej}0`9tACJYO#Pi)j`wUHQqKToiffAXo_S^X8Am4uhMp)|*emp)2s4S6==wCT3R~lNi%QOj#73A?td#L|%oniU zLanet%N#Y#c&S_|rxmX7J_z9iO#ncs`gNFdR`X**ayAZRr=WmQ$JGMY8TN#iEp>pT(x-_d~%PBB-8 zIyl4CzPp13U@IWmg!g963%_I7sc?ZDTBtXcYOAr_2onFp{J&o4VudyrJV$YUDNvC(AOi;l zRM5aBSLf$TW1b_oHVy)yDB7wQ7AnCok6OD-CUF^=NHnY4uo9 zU0S`PwsdqMr>#_%mXFl#%w^RR_1fan@&bm7BjT3@ZLPGpoVo<7MKjC*!0(WaFAETY N->uhjqTT$h_8(D_97+HH diff --git a/css/flat-icon/flaticon.woff b/css/flat-icon/flaticon.woff deleted file mode 100644 index d1486ab6079b2c9fc3e74e64baad0f0d19d909d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2736 zcmZuzc{o&k8$L6`U@Rl0Obm*$CR>}KrBPAJkK+Q!&2mSiU>B5Qb=$(HO% z$Tk@zk-TKzzSH-;-}l$|T-SZhb>H`Me$RRS`rTosSS$bmz(Q04oPXY2FaJFMUtzIU z#$exL&^rl2z$@d#q@Ip07SuvOE(AgtzyNSl%k%O80LcS6=mA&GHyZx!>PrX!04N8@ zbwSU7iV|t@Bm{#R!Uxn?|KRWtfO-1d^Z@%n9bOCoY(QOZ3*F0|;0Asp3--u>Py!Mc z#JoTe)bJojgAir1fJ%G$hJ=IKcaWb3A&HEK1p4^9f_+dckpKDTlUzjhNMAxYcs_&( zazPNnfITqkNAPtA=kbC33+N?YjK#eQ@DB#}V%q~XKM<)e!n`-aKfB`H@OWT$=WBA< z?6z-tsDZef|fimZa^Okx1zEE zgg{sfc<4VqozU=>+5Vwv0|HmCjY%Dvy(| zk(HH|tCUxuMguY3+)3ZE-qKfyUmz@u=tCC1-+V|}6(A0!83d%rvx8fLb6kiq)*Kv0 z92`StKFIbuBYnKw88|=O7Oo0lSYYt~%);Y6hGn9d(Nt>WmZ%oX~Ddg z5zslE#mW{spS`OxbNlJqR4|(ua%LNFioafDlI2GJ{Z1|@g_}=DQxrC{CNguK_-kDE zI&=IB?gHFp$=wd#%Bmhp#V>3Scft;F#cME5d{TL<&i`I0UtBWsJWYhy>baFwc7V1H z)IMC)8~s?$qO5d@dAF|C|G9l@Z^*^WP=3*+8>^{mHxmk@w5M>Pgeb$me(xr{a*nyZ z*j4{=^wNyJ9=BG=s%-ZcOel`B<)*PL@~r#js&3E&HBB6bA|*UIR<&;~-R8}jsG&yc za%3&)a?EX_q_UvGXuK&CU&PfhVQ(Jc_Tm}GNF_}G%anZ5*)a*ly1S}mY;?^tP0oTL z74o3V8?soO0_p2ziD5---*(TMfQ{2If&`&o?KwW2lF)lBUpDyQA+pxt$T7fRGudW8 zt^1fGooPyH-o|N0s6x1shz%78Y5e@Fvs*}bdE@E=zw`3Lj-E%*-#o6x7dO?W6%k3w zDw}y$Olei4i$YnHW|t!>?$~^MY2-m(YxN97ka{Vv0HOXOQHdS5n0=R8#eAAGD5)blTqLA$^TPX%UZY?=sLGzctQi|{%^YtdRx za8;%pb-#DI<_KR;xQdobJZr$@W7P5`^`*hjPxQ8bt;^+n8SHSJg)S%wOsoz!G~xm# z`F(0K%PN`cUpo+LqKZuJME7k#BQ^$?mh#7!2RH8>$a+$G9V%*UgQ`(+fhBG^Mt$;l zl6$apx;x1u4)HyZEObSOQgU`M{J}|gJE++OTwpJ^r1jl0L|obF?a@;bVm&ns2do!q z5&Jy*LWuE^aS}6go&t>Mo;xFJtgAa7P2*sW+wIvN5BaUFQltLTi&;H=m_5tllLG25 z0Y1xjGVa%IAcJQsE+jN5`LeqE565Ma?0^wq1rfnwc2^UL?=9{A-E99eB=?NNatj-fbAKeHO`+$bG69G!9oPxYs&8SKxa;{X8KX7e#n-n9iPMH z92`DyhJA<5rF$!QUz{XXEX6oG7WH_eZQ(>+z4O??k9GDF70z3R)fg|OT?GYfJUeq7MgZ_h>FD}5eGQbp$2Gm7WT1Cj@ErlN(rcZzz$ zg_zQ%@2h5HSakul98b^EX#vfNb_eGJe=5d(rKziqT2A`4J$-Vp7V%p>>dEw_B;-Wu z>J+-{_NH&bC9NB!3RY`7Pwcye257k{NTWin`T0Do!sWd4Yn}@Vk?EIC$$UVs%iVIy zE=I2GF6eD#kR==&S<_NlxWAX@jb*97L|5b)85{5yHx`sPq$-h8x^8^ppS?D)5b!F0 z$n^DG*UDVgoMB~C)Z^NS@yG%D?+^U6uW8nnZ?BgqIX?FuX_Q*JW-B#9`?z|HbUeRZ zgsYh|S6ha6a3IvC{gIPf2G8Az*Y@@PQ@1v6FlKcb)!hRGw4g!?Kiuc+ory)sBL5zO z)))AaplsEHOk)?nMOUTk1UpGPld+TJ!dY>A`FHv&lZK2{i-HF6mDIW21C=|EvEE-AjBZJf+(9e~Ia
  1. M)lZf1W9NFZ-fH4#e zbf^4m%_K};aEM!SJR_q9{F=mg0}qXYZg?15)^H|Xt9)Vp>zEp+?1;_yk|`VAvOLYC za6V&+i{KHA;j?}Z6sXKBNh|jSMN_^FqM==;riW{BOlEL7-+X}c}ax9 zlwrpqrR$}LXMX7%CTGNBjJ(cmmusz?d9J#Zrj>qvwJapXy%6d_5D4^ zXEGJyrfG-J)DgA&|Jkuilk2T8w}v@fH-D%J=bJE!LX7CYH)?C|WGsG2yL|JJ|I6)} z1$GiMyXshMEKGo=P3$N1GxoEc3>>Vaf@Th div, -.datepicker-dropdown::before, -.datepicker-dropdown::after { - display: none; } - -.datepicker-close { - position: absolute; - top: -30px; - right: 0; - width: 15px; - height: 30px; - padding: 0; - display: none; } - -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; } - -/*# sourceMappingURL=foundation-datepicker.css.map */ diff --git a/css/foundation-datepicker.min.css b/css/foundation-datepicker.min.css deleted file mode 100644 index 8c819e4..0000000 --- a/css/foundation-datepicker.min.css +++ /dev/null @@ -1 +0,0 @@ -.datepicker{display:none;position:absolute;padding:4px;margin-top:1px;direction:ltr}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;list-style:none;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;color:#333;font-size:13px;line-height:18px}.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:4px 5px}.datepicker table{border:0;margin:0;width:auto}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;border:0;font-size:12px;padding:4px 8px;cursor:pointer}.datepicker td{background:#fff}.datepicker td span.active,.datepicker td.active.day,.datepicker td.active.year{background:#2ba6cb}.datepicker td.new,.datepicker td.old{color:#999}.datepicker td span.month.disabled,.datepicker td span.year.disabled,.datepicker td.day.disabled{color:#eee}.datepicker th{background:#fff}.datepicker th span.active,.datepicker th.active.day,.datepicker th.active.year{background:#2ba6cb}.datepicker th.date-switch{width:145px}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker.days div.datepicker-days,.datepicker.months div.datepicker-months,.datepicker.years div.datepicker-years{display:block}.datepicker-dropdown:after,.datepicker-dropdown:before{content:'';display:inline-block;position:absolute}.datepicker thead tr:first-child th{cursor:pointer}.datepicker thead tr:first-child th.cw{cursor:default;background-color:transparent}.datepicker tfoot tr:first-child th{cursor:pointer}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:1px solid rgba(0,0,0,.2);top:-7px;left:6px}.datepicker-dropdown:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:7px}.datepicker-dropdown::after,.datepicker-dropdown::before,.datepicker>div{display:none}.datepicker-close{position:absolute;top:-30px;right:0;width:15px;height:30px;padding:0;display:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent} \ No newline at end of file diff --git a/css/foundation-icons/_notes/dwsync.xml b/css/foundation-icons/_notes/dwsync.xml deleted file mode 100644 index 6fb76f4..0000000 --- a/css/foundation-icons/_notes/dwsync.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/css/foundation-icons/foundation-icons-.eot b/css/foundation-icons/foundation-icons-.eot deleted file mode 100644 index 1746ad407fecf570ead54e216dc4bd7c79271206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54568 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 diff --git a/css/foundation-icons/foundation-icons.css b/css/foundation-icons/foundation-icons.css deleted file mode 100644 index c0dce09..0000000 --- a/css/foundation-icons/foundation-icons.css +++ /dev/null @@ -1,596 +0,0 @@ -/* - * Foundation Icons v 3.0 - * Made by ZURB 2013 http://zurb.com/playground/foundation-icon-fonts-3 - * MIT License - */ - -@font-face { - font-family: "foundation-icons"; - src: url("foundation-icons.eot"); - src: url("foundation-icons-.eot#iefix") format("embedded-opentype"), - url("foundation-icons.woff") format("woff"), - url("foundation-icons.ttf") format("truetype"), - url("foundation-icons.svg#fontcustom") format("svg"); - font-weight: normal; - font-style: normal; -} - -.fi-address-book:before, -.fi-alert:before, -.fi-align-center:before, -.fi-align-justify:before, -.fi-align-left:before, -.fi-align-right:before, -.fi-anchor:before, -.fi-annotate:before, -.fi-archive:before, -.fi-arrow-down:before, -.fi-arrow-left:before, -.fi-arrow-right:before, -.fi-arrow-up:before, -.fi-arrows-compress:before, -.fi-arrows-expand:before, -.fi-arrows-in:before, -.fi-arrows-out:before, -.fi-asl:before, -.fi-asterisk:before, -.fi-at-sign:before, -.fi-background-color:before, -.fi-battery-empty:before, -.fi-battery-full:before, -.fi-battery-half:before, -.fi-bitcoin-circle:before, -.fi-bitcoin:before, -.fi-blind:before, -.fi-bluetooth:before, -.fi-bold:before, -.fi-book-bookmark:before, -.fi-book:before, -.fi-bookmark:before, -.fi-braille:before, -.fi-burst-new:before, -.fi-burst-sale:before, -.fi-burst:before, -.fi-calendar:before, -.fi-camera:before, -.fi-check:before, -.fi-checkbox:before, -.fi-clipboard-notes:before, -.fi-clipboard-pencil:before, -.fi-clipboard:before, -.fi-clock:before, -.fi-closed-caption:before, -.fi-cloud:before, -.fi-comment-minus:before, -.fi-comment-quotes:before, -.fi-comment-video:before, -.fi-comment:before, -.fi-comments:before, -.fi-compass:before, -.fi-contrast:before, -.fi-credit-card:before, -.fi-crop:before, -.fi-crown:before, -.fi-css3:before, -.fi-database:before, -.fi-die-five:before, -.fi-die-four:before, -.fi-die-one:before, -.fi-die-six:before, -.fi-die-three:before, -.fi-die-two:before, -.fi-dislike:before, -.fi-dollar-bill:before, -.fi-dollar:before, -.fi-download:before, -.fi-eject:before, -.fi-elevator:before, -.fi-euro:before, -.fi-eye:before, -.fi-fast-forward:before, -.fi-female-symbol:before, -.fi-female:before, -.fi-filter:before, -.fi-first-aid:before, -.fi-flag:before, -.fi-folder-add:before, -.fi-folder-lock:before, -.fi-folder:before, -.fi-foot:before, -.fi-foundation:before, -.fi-graph-bar:before, -.fi-graph-horizontal:before, -.fi-graph-pie:before, -.fi-graph-trend:before, -.fi-guide-dog:before, -.fi-hearing-aid:before, -.fi-heart:before, -.fi-home:before, -.fi-html5:before, -.fi-indent-less:before, -.fi-indent-more:before, -.fi-info:before, -.fi-italic:before, -.fi-key:before, -.fi-laptop:before, -.fi-layout:before, -.fi-lightbulb:before, -.fi-like:before, -.fi-link:before, -.fi-list-bullet:before, -.fi-list-number:before, -.fi-list-thumbnails:before, -.fi-list:before, -.fi-lock:before, -.fi-loop:before, -.fi-magnifying-glass:before, -.fi-mail:before, -.fi-male-female:before, -.fi-male-symbol:before, -.fi-male:before, -.fi-map:before, -.fi-marker:before, -.fi-megaphone:before, -.fi-microphone:before, -.fi-minus-circle:before, -.fi-minus:before, -.fi-mobile-signal:before, -.fi-mobile:before, -.fi-monitor:before, -.fi-mountains:before, -.fi-music:before, -.fi-next:before, -.fi-no-dogs:before, -.fi-no-smoking:before, -.fi-page-add:before, -.fi-page-copy:before, -.fi-page-csv:before, -.fi-page-delete:before, -.fi-page-doc:before, -.fi-page-edit:before, -.fi-page-export-csv:before, -.fi-page-export-doc:before, -.fi-page-export-pdf:before, -.fi-page-export:before, -.fi-page-filled:before, -.fi-page-multiple:before, -.fi-page-pdf:before, -.fi-page-remove:before, -.fi-page-search:before, -.fi-page:before, -.fi-paint-bucket:before, -.fi-paperclip:before, -.fi-pause:before, -.fi-paw:before, -.fi-paypal:before, -.fi-pencil:before, -.fi-photo:before, -.fi-play-circle:before, -.fi-play-video:before, -.fi-play:before, -.fi-plus:before, -.fi-pound:before, -.fi-power:before, -.fi-previous:before, -.fi-price-tag:before, -.fi-pricetag-multiple:before, -.fi-print:before, -.fi-prohibited:before, -.fi-projection-screen:before, -.fi-puzzle:before, -.fi-quote:before, -.fi-record:before, -.fi-refresh:before, -.fi-results-demographics:before, -.fi-results:before, -.fi-rewind-ten:before, -.fi-rewind:before, -.fi-rss:before, -.fi-safety-cone:before, -.fi-save:before, -.fi-share:before, -.fi-sheriff-badge:before, -.fi-shield:before, -.fi-shopping-bag:before, -.fi-shopping-cart:before, -.fi-shuffle:before, -.fi-skull:before, -.fi-social-500px:before, -.fi-social-adobe:before, -.fi-social-amazon:before, -.fi-social-android:before, -.fi-social-apple:before, -.fi-social-behance:before, -.fi-social-bing:before, -.fi-social-blogger:before, -.fi-social-delicious:before, -.fi-social-designer-news:before, -.fi-social-deviant-art:before, -.fi-social-digg:before, -.fi-social-dribbble:before, -.fi-social-drive:before, -.fi-social-dropbox:before, -.fi-social-evernote:before, -.fi-social-facebook:before, -.fi-social-flickr:before, -.fi-social-forrst:before, -.fi-social-foursquare:before, -.fi-social-game-center:before, -.fi-social-github:before, -.fi-social-google-plus:before, -.fi-social-hacker-news:before, -.fi-social-hi5:before, -.fi-social-instagram:before, -.fi-social-joomla:before, -.fi-social-lastfm:before, -.fi-social-linkedin:before, -.fi-social-medium:before, -.fi-social-myspace:before, -.fi-social-orkut:before, -.fi-social-path:before, -.fi-social-picasa:before, -.fi-social-pinterest:before, -.fi-social-rdio:before, -.fi-social-reddit:before, -.fi-social-skillshare:before, -.fi-social-skype:before, -.fi-social-smashing-mag:before, -.fi-social-snapchat:before, -.fi-social-spotify:before, -.fi-social-squidoo:before, -.fi-social-stack-overflow:before, -.fi-social-steam:before, -.fi-social-stumbleupon:before, -.fi-social-treehouse:before, -.fi-social-tumblr:before, -.fi-social-twitter:before, -.fi-social-vimeo:before, -.fi-social-windows:before, -.fi-social-xbox:before, -.fi-social-yahoo:before, -.fi-social-yelp:before, -.fi-social-youtube:before, -.fi-social-zerply:before, -.fi-social-zurb:before, -.fi-sound:before, -.fi-star:before, -.fi-stop:before, -.fi-strikethrough:before, -.fi-subscript:before, -.fi-superscript:before, -.fi-tablet-landscape:before, -.fi-tablet-portrait:before, -.fi-target-two:before, -.fi-target:before, -.fi-telephone-accessible:before, -.fi-telephone:before, -.fi-text-color:before, -.fi-thumbnails:before, -.fi-ticket:before, -.fi-torso-business:before, -.fi-torso-female:before, -.fi-torso:before, -.fi-torsos-all-female:before, -.fi-torsos-all:before, -.fi-torsos-female-male:before, -.fi-torsos-male-female:before, -.fi-torsos:before, -.fi-trash:before, -.fi-trees:before, -.fi-trophy:before, -.fi-underline:before, -.fi-universal-access:before, -.fi-unlink:before, -.fi-unlock:before, -.fi-upload-cloud:before, -.fi-upload:before, -.fi-usb:before, -.fi-video:before, -.fi-volume-none:before, -.fi-volume-strike:before, -.fi-volume:before, -.fi-web:before, -.fi-wheelchair:before, -.fi-widget:before, -.fi-wrench:before, -.fi-x-circle:before, -.fi-x:before, -.fi-yen:before, -.fi-zoom-in:before, -.fi-zoom-out:before { - font-family: "foundation-icons"; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - display: inline-block; - text-decoration: inherit; -} - -.fi-address-book:before { content: "\f100"; } -.fi-alert:before { content: "\f101"; } -.fi-align-center:before { content: "\f102"; } -.fi-align-justify:before { content: "\f103"; } -.fi-align-left:before { content: "\f104"; } -.fi-align-right:before { content: "\f105"; } -.fi-anchor:before { content: "\f106"; } -.fi-annotate:before { content: "\f107"; } -.fi-archive:before { content: "\f108"; } -.fi-arrow-down:before { content: "\f109"; } -.fi-arrow-left:before { content: "\f10a"; } -.fi-arrow-right:before { content: "\f10b"; } -.fi-arrow-up:before { content: "\f10c"; } -.fi-arrows-compress:before { content: "\f10d"; } -.fi-arrows-expand:before { content: "\f10e"; } -.fi-arrows-in:before { content: "\f10f"; } -.fi-arrows-out:before { content: "\f110"; } -.fi-asl:before { content: "\f111"; } -.fi-asterisk:before { content: "\f112"; } -.fi-at-sign:before { content: "\f113"; } -.fi-background-color:before { content: "\f114"; } -.fi-battery-empty:before { content: "\f115"; } -.fi-battery-full:before { content: "\f116"; } -.fi-battery-half:before { content: "\f117"; } -.fi-bitcoin-circle:before { content: "\f118"; } -.fi-bitcoin:before { content: "\f119"; } -.fi-blind:before { content: "\f11a"; } -.fi-bluetooth:before { content: "\f11b"; } -.fi-bold:before { content: "\f11c"; } -.fi-book-bookmark:before { content: "\f11d"; } -.fi-book:before { content: "\f11e"; } -.fi-bookmark:before { content: "\f11f"; } -.fi-braille:before { content: "\f120"; } -.fi-burst-new:before { content: "\f121"; } -.fi-burst-sale:before { content: "\f122"; } -.fi-burst:before { content: "\f123"; } -.fi-calendar:before { content: "\f124"; } -.fi-camera:before { content: "\f125"; } -.fi-check:before { content: "\f126"; } -.fi-checkbox:before { content: "\f127"; } -.fi-clipboard-notes:before { content: "\f128"; } -.fi-clipboard-pencil:before { content: "\f129"; } -.fi-clipboard:before { content: "\f12a"; } -.fi-clock:before { content: "\f12b"; } -.fi-closed-caption:before { content: "\f12c"; } -.fi-cloud:before { content: "\f12d"; } -.fi-comment-minus:before { content: "\f12e"; } -.fi-comment-quotes:before { content: "\f12f"; } -.fi-comment-video:before { content: "\f130"; } -.fi-comment:before { content: "\f131"; } -.fi-comments:before { content: "\f132"; } -.fi-compass:before { content: "\f133"; } -.fi-contrast:before { content: "\f134"; } -.fi-credit-card:before { content: "\f135"; } -.fi-crop:before { content: "\f136"; } -.fi-crown:before { content: "\f137"; } -.fi-css3:before { content: "\f138"; } -.fi-database:before { content: "\f139"; } -.fi-die-five:before { content: "\f13a"; } -.fi-die-four:before { content: "\f13b"; } -.fi-die-one:before { content: "\f13c"; } -.fi-die-six:before { content: "\f13d"; } -.fi-die-three:before { content: "\f13e"; } -.fi-die-two:before { content: "\f13f"; } -.fi-dislike:before { content: "\f140"; } -.fi-dollar-bill:before { content: "\f141"; } -.fi-dollar:before { content: "\f142"; } -.fi-download:before { content: "\f143"; } -.fi-eject:before { content: "\f144"; } -.fi-elevator:before { content: "\f145"; } -.fi-euro:before { content: "\f146"; } -.fi-eye:before { content: "\f147"; } -.fi-fast-forward:before { content: "\f148"; } -.fi-female-symbol:before { content: "\f149"; } -.fi-female:before { content: "\f14a"; } -.fi-filter:before { content: "\f14b"; } -.fi-first-aid:before { content: "\f14c"; } -.fi-flag:before { content: "\f14d"; } -.fi-folder-add:before { content: "\f14e"; } -.fi-folder-lock:before { content: "\f14f"; } -.fi-folder:before { content: "\f150"; } -.fi-foot:before { content: "\f151"; } -.fi-foundation:before { content: "\f152"; } -.fi-graph-bar:before { content: "\f153"; } -.fi-graph-horizontal:before { content: "\f154"; } -.fi-graph-pie:before { content: "\f155"; } -.fi-graph-trend:before { content: "\f156"; } -.fi-guide-dog:before { content: "\f157"; } -.fi-hearing-aid:before { content: "\f158"; } -.fi-heart:before { content: "\f159"; } -.fi-home:before { content: "\f15a"; } -.fi-html5:before { content: "\f15b"; } -.fi-indent-less:before { content: "\f15c"; } -.fi-indent-more:before { content: "\f15d"; } -.fi-info:before { content: "\f15e"; } -.fi-italic:before { content: "\f15f"; } -.fi-key:before { content: "\f160"; } -.fi-laptop:before { content: "\f161"; } -.fi-layout:before { content: "\f162"; } -.fi-lightbulb:before { content: "\f163"; } -.fi-like:before { content: "\f164"; } -.fi-link:before { content: "\f165"; } -.fi-list-bullet:before { content: "\f166"; } -.fi-list-number:before { content: "\f167"; } -.fi-list-thumbnails:before { content: "\f168"; } -.fi-list:before { content: "\f169"; } -.fi-lock:before { content: "\f16a"; } -.fi-loop:before { content: "\f16b"; } -.fi-magnifying-glass:before { content: "\f16c"; } -.fi-mail:before { content: "\f16d"; } -.fi-male-female:before { content: "\f16e"; } -.fi-male-symbol:before { content: "\f16f"; } -.fi-male:before { content: "\f170"; } -.fi-map:before { content: "\f171"; } -.fi-marker:before { content: "\f172"; } -.fi-megaphone:before { content: "\f173"; } -.fi-microphone:before { content: "\f174"; } -.fi-minus-circle:before { content: "\f175"; } -.fi-minus:before { content: "\f176"; } -.fi-mobile-signal:before { content: "\f177"; } -.fi-mobile:before { content: "\f178"; } -.fi-monitor:before { content: "\f179"; } -.fi-mountains:before { content: "\f17a"; } -.fi-music:before { content: "\f17b"; } -.fi-next:before { content: "\f17c"; } -.fi-no-dogs:before { content: "\f17d"; } -.fi-no-smoking:before { content: "\f17e"; } -.fi-page-add:before { content: "\f17f"; } -.fi-page-copy:before { content: "\f180"; } -.fi-page-csv:before { content: "\f181"; } -.fi-page-delete:before { content: "\f182"; } -.fi-page-doc:before { content: "\f183"; } -.fi-page-edit:before { content: "\f184"; } -.fi-page-export-csv:before { content: "\f185"; } -.fi-page-export-doc:before { content: "\f186"; } -.fi-page-export-pdf:before { content: "\f187"; } -.fi-page-export:before { content: "\f188"; } -.fi-page-filled:before { content: "\f189"; } -.fi-page-multiple:before { content: "\f18a"; } -.fi-page-pdf:before { content: "\f18b"; } -.fi-page-remove:before { content: "\f18c"; } -.fi-page-search:before { content: "\f18d"; } -.fi-page:before { content: "\f18e"; } -.fi-paint-bucket:before { content: "\f18f"; } -.fi-paperclip:before { content: "\f190"; } -.fi-pause:before { content: "\f191"; } -.fi-paw:before { content: "\f192"; } -.fi-paypal:before { content: "\f193"; } -.fi-pencil:before { content: "\f194"; } -.fi-photo:before { content: "\f195"; } -.fi-play-circle:before { content: "\f196"; } -.fi-play-video:before { content: "\f197"; } -.fi-play:before { content: "\f198"; } -.fi-plus:before { content: "\f199"; } -.fi-pound:before { content: "\f19a"; } -.fi-power:before { content: "\f19b"; } -.fi-previous:before { content: "\f19c"; } -.fi-price-tag:before { content: "\f19d"; } -.fi-pricetag-multiple:before { content: "\f19e"; } -.fi-print:before { content: "\f19f"; } -.fi-prohibited:before { content: "\f1a0"; } -.fi-projection-screen:before { content: "\f1a1"; } -.fi-puzzle:before { content: "\f1a2"; } -.fi-quote:before { content: "\f1a3"; } -.fi-record:before { content: "\f1a4"; } -.fi-refresh:before { content: "\f1a5"; } -.fi-results-demographics:before { content: "\f1a6"; } -.fi-results:before { content: "\f1a7"; } -.fi-rewind-ten:before { content: "\f1a8"; } -.fi-rewind:before { content: "\f1a9"; } -.fi-rss:before { content: "\f1aa"; } -.fi-safety-cone:before { content: "\f1ab"; } -.fi-save:before { content: "\f1ac"; } -.fi-share:before { content: "\f1ad"; } -.fi-sheriff-badge:before { content: "\f1ae"; } -.fi-shield:before { content: "\f1af"; } -.fi-shopping-bag:before { content: "\f1b0"; } -.fi-shopping-cart:before { content: "\f1b1"; } -.fi-shuffle:before { content: "\f1b2"; } -.fi-skull:before { content: "\f1b3"; } -.fi-social-500px:before { content: "\f1b4"; } -.fi-social-adobe:before { content: "\f1b5"; } -.fi-social-amazon:before { content: "\f1b6"; } -.fi-social-android:before { content: "\f1b7"; } -.fi-social-apple:before { content: "\f1b8"; } -.fi-social-behance:before { content: "\f1b9"; } -.fi-social-bing:before { content: "\f1ba"; } -.fi-social-blogger:before { content: "\f1bb"; } -.fi-social-delicious:before { content: "\f1bc"; } -.fi-social-designer-news:before { content: "\f1bd"; } -.fi-social-deviant-art:before { content: "\f1be"; } -.fi-social-digg:before { content: "\f1bf"; } -.fi-social-dribbble:before { content: "\f1c0"; } -.fi-social-drive:before { content: "\f1c1"; } -.fi-social-dropbox:before { content: "\f1c2"; } -.fi-social-evernote:before { content: "\f1c3"; } -.fi-social-facebook:before { content: "\f1c4"; } -.fi-social-flickr:before { content: "\f1c5"; } -.fi-social-forrst:before { content: "\f1c6"; } -.fi-social-foursquare:before { content: "\f1c7"; } -.fi-social-game-center:before { content: "\f1c8"; } -.fi-social-github:before { content: "\f1c9"; } -.fi-social-google-plus:before { content: "\f1ca"; } -.fi-social-hacker-news:before { content: "\f1cb"; } -.fi-social-hi5:before { content: "\f1cc"; } -.fi-social-instagram:before { content: "\f1cd"; } -.fi-social-joomla:before { content: "\f1ce"; } -.fi-social-lastfm:before { content: "\f1cf"; } -.fi-social-linkedin:before { content: "\f1d0"; } -.fi-social-medium:before { content: "\f1d1"; } -.fi-social-myspace:before { content: "\f1d2"; } -.fi-social-orkut:before { content: "\f1d3"; } -.fi-social-path:before { content: "\f1d4"; } -.fi-social-picasa:before { content: "\f1d5"; } -.fi-social-pinterest:before { content: "\f1d6"; } -.fi-social-rdio:before { content: "\f1d7"; } -.fi-social-reddit:before { content: "\f1d8"; } -.fi-social-skillshare:before { content: "\f1d9"; } -.fi-social-skype:before { content: "\f1da"; } -.fi-social-smashing-mag:before { content: "\f1db"; } -.fi-social-snapchat:before { content: "\f1dc"; } -.fi-social-spotify:before { content: "\f1dd"; } -.fi-social-squidoo:before { content: "\f1de"; } -.fi-social-stack-overflow:before { content: "\f1df"; } -.fi-social-steam:before { content: "\f1e0"; } -.fi-social-stumbleupon:before { content: "\f1e1"; } -.fi-social-treehouse:before { content: "\f1e2"; } -.fi-social-tumblr:before { content: "\f1e3"; } -.fi-social-twitter:before { content: "\f1e4"; } -.fi-social-vimeo:before { content: "\f1e5"; } -.fi-social-windows:before { content: "\f1e6"; } -.fi-social-xbox:before { content: "\f1e7"; } -.fi-social-yahoo:before { content: "\f1e8"; } -.fi-social-yelp:before { content: "\f1e9"; } -.fi-social-youtube:before { content: "\f1ea"; } -.fi-social-zerply:before { content: "\f1eb"; } -.fi-social-zurb:before { content: "\f1ec"; } -.fi-sound:before { content: "\f1ed"; } -.fi-star:before { content: "\f1ee"; } -.fi-stop:before { content: "\f1ef"; } -.fi-strikethrough:before { content: "\f1f0"; } -.fi-subscript:before { content: "\f1f1"; } -.fi-superscript:before { content: "\f1f2"; } -.fi-tablet-landscape:before { content: "\f1f3"; } -.fi-tablet-portrait:before { content: "\f1f4"; } -.fi-target-two:before { content: "\f1f5"; } -.fi-target:before { content: "\f1f6"; } -.fi-telephone-accessible:before { content: "\f1f7"; } -.fi-telephone:before { content: "\f1f8"; } -.fi-text-color:before { content: "\f1f9"; } -.fi-thumbnails:before { content: "\f1fa"; } -.fi-ticket:before { content: "\f1fb"; } -.fi-torso-business:before { content: "\f1fc"; } -.fi-torso-female:before { content: "\f1fd"; } -.fi-torso:before { content: "\f1fe"; } -.fi-torsos-all-female:before { content: "\f1ff"; } -.fi-torsos-all:before { content: "\f200"; } -.fi-torsos-female-male:before { content: "\f201"; } -.fi-torsos-male-female:before { content: "\f202"; } -.fi-torsos:before { content: "\f203"; } -.fi-trash:before { content: "\f204"; } -.fi-trees:before { content: "\f205"; } -.fi-trophy:before { content: "\f206"; } -.fi-underline:before { content: "\f207"; } -.fi-universal-access:before { content: "\f208"; } -.fi-unlink:before { content: "\f209"; } -.fi-unlock:before { content: "\f20a"; } -.fi-upload-cloud:before { content: "\f20b"; } -.fi-upload:before { content: "\f20c"; } -.fi-usb:before { content: "\f20d"; } -.fi-video:before { content: "\f20e"; } -.fi-volume-none:before { content: "\f20f"; } -.fi-volume-strike:before { content: "\f210"; } -.fi-volume:before { content: "\f211"; } -.fi-web:before { content: "\f212"; } -.fi-wheelchair:before { content: "\f213"; } -.fi-widget:before { content: "\f214"; } -.fi-wrench:before { content: "\f215"; } -.fi-x-circle:before { content: "\f216"; } -.fi-x:before { content: "\f217"; } -.fi-yen:before { content: "\f218"; } -.fi-zoom-in:before { content: "\f219"; } -.fi-zoom-out:before { content: "\f21a"; } - -/* Localized */ \ No newline at end of file diff --git a/css/foundation-icons/foundation-icons.eot b/css/foundation-icons/foundation-icons.eot deleted file mode 100644 index 1746ad407fecf570ead54e216dc4bd7c79271206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54568 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 diff --git a/css/foundation-icons/foundation-icons.svg b/css/foundation-icons/foundation-icons.svg deleted file mode 100644 index 4e014ff..0000000 --- a/css/foundation-icons/foundation-icons.svg +++ /dev/null @@ -1,970 +0,0 @@ - - - - - -Created by FontForge 20120731 at Fri Aug 23 09:25:55 2013 - By Jordan Humphreys -Created by Jordan Humphreys with FontForge 2.0 (http://fontforge.sf.net) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/css/foundation-icons/foundation-icons.ttf b/css/foundation-icons/foundation-icons.ttf deleted file mode 100644 index 6cce217ddc2efe3411dc9fa34e294e48e4cdf4f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56976 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 diff --git a/css/foundation-icons/foundation-icons.woff b/css/foundation-icons/foundation-icons.woff deleted file mode 100644 index e2cfe25dd392203f910d5deadd19beebe7e99984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32020 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 .column, - .row.collapse > .columns { - padding-left: 0; - padding-right: 0; } - .row.collapse .row { - margin-left: 0; - margin-right: 0; } - .row .row { - width: auto; - margin-left: -0.9375rem; - margin-right: -0.9375rem; - margin-top: 0; - margin-bottom: 0; - max-width: none; - *zoom: 1; } - .row .row:before, .row .row:after { - content: " "; - display: table; } - .row .row:after { - clear: both; } - .row .row.collapse { - width: auto; - margin: 0; - max-width: none; - *zoom: 1; } - .row .row.collapse:before, .row .row.collapse:after { - content: " "; - display: table; } - .row .row.collapse:after { - clear: both; } - -.column, -.columns { - padding-left: 0.9375rem; - padding-right: 0.9375rem; - width: 100%; - float: left; } - -@media only screen { - .small-push-0 { - position: relative; - left: 0%; - right: auto; } - - .small-pull-0 { - position: relative; - right: 0%; - left: auto; } - - .small-push-1 { - position: relative; - left: 8.33333%; - right: auto; } - - .small-pull-1 { - position: relative; - right: 8.33333%; - left: auto; } - - .small-push-2 { - position: relative; - left: 16.66667%; - right: auto; } - - .small-pull-2 { - position: relative; - right: 16.66667%; - left: auto; } - - .small-push-3 { - position: relative; - left: 25%; - right: auto; } - - .small-pull-3 { - position: relative; - right: 25%; - left: auto; } - - .small-push-4 { - position: relative; - left: 33.33333%; - right: auto; } - - .small-pull-4 { - position: relative; - right: 33.33333%; - left: auto; } - - .small-push-5 { - position: relative; - left: 41.66667%; - right: auto; } - - .small-pull-5 { - position: relative; - right: 41.66667%; - left: auto; } - - .small-push-6 { - position: relative; - left: 50%; - right: auto; } - - .small-pull-6 { - position: relative; - right: 50%; - left: auto; } - - .small-push-7 { - position: relative; - left: 58.33333%; - right: auto; } - - .small-pull-7 { - position: relative; - right: 58.33333%; - left: auto; } - - .small-push-8 { - position: relative; - left: 66.66667%; - right: auto; } - - .small-pull-8 { - position: relative; - right: 66.66667%; - left: auto; } - - .small-push-9 { - position: relative; - left: 75%; - right: auto; } - - .small-pull-9 { - position: relative; - right: 75%; - left: auto; } - - .small-push-10 { - position: relative; - left: 83.33333%; - right: auto; } - - .small-pull-10 { - position: relative; - right: 83.33333%; - left: auto; } - - .small-push-11 { - position: relative; - left: 91.66667%; - right: auto; } - - .small-pull-11 { - position: relative; - right: 91.66667%; - left: auto; } - - .column, - .columns { - position: relative; - padding-left: 0.9375rem; - padding-right: 0.9375rem; - float: left; } - - .small-1 { - width: 8.33333%; } - - .small-2 { - width: 16.66667%; } - - .small-3 { - width: 25%; } - - .small-4 { - width: 33.33333%; } - - .small-5 { - width: 41.66667%; } - - .small-6 { - width: 50%; } - - .small-7 { - width: 58.33333%; } - - .small-8 { - width: 66.66667%; } - - .small-9 { - width: 75%; } - - .small-10 { - width: 83.33333%; } - - .small-11 { - width: 91.66667%; } - - .small-12 { - width: 100%; } - - [class*="column"] + [class*="column"]:last-child { - float: right; } - - [class*="column"] + [class*="column"].end { - float: left; } - - .small-offset-0 { - margin-left: 0% !important; } - - .small-offset-1 { - margin-left: 8.33333% !important; } - - .small-offset-2 { - margin-left: 16.66667% !important; } - - .small-offset-3 { - margin-left: 25% !important; } - - .small-offset-4 { - margin-left: 33.33333% !important; } - - .small-offset-5 { - margin-left: 41.66667% !important; } - - .small-offset-6 { - margin-left: 50% !important; } - - .small-offset-7 { - margin-left: 58.33333% !important; } - - .small-offset-8 { - margin-left: 66.66667% !important; } - - .small-offset-9 { - margin-left: 75% !important; } - - .small-offset-10 { - margin-left: 83.33333% !important; } - - .small-offset-11 { - margin-left: 91.66667% !important; } - - .small-reset-order, - .small-reset-order { - margin-left: 0; - margin-right: 0; - left: auto; - right: auto; - float: left; } - - .column.small-centered, - .columns.small-centered { - margin-left: auto; - margin-right: auto; - float: none; } - - .column.small-uncentered, - .columns.small-uncentered { - margin-left: 0; - margin-right: 0; - float: left !important; } - - .column.small-uncentered.opposite, - .columns.small-uncentered.opposite { - float: right; } } -@media only screen and (min-width: 40.063em) { - .medium-push-0 { - position: relative; - left: 0%; - right: auto; } - - .medium-pull-0 { - position: relative; - right: 0%; - left: auto; } - - .medium-push-1 { - position: relative; - left: 8.33333%; - right: auto; } - - .medium-pull-1 { - position: relative; - right: 8.33333%; - left: auto; } - - .medium-push-2 { - position: relative; - left: 16.66667%; - right: auto; } - - .medium-pull-2 { - position: relative; - right: 16.66667%; - left: auto; } - - .medium-push-3 { - position: relative; - left: 25%; - right: auto; } - - .medium-pull-3 { - position: relative; - right: 25%; - left: auto; } - - .medium-push-4 { - position: relative; - left: 33.33333%; - right: auto; } - - .medium-pull-4 { - position: relative; - right: 33.33333%; - left: auto; } - - .medium-push-5 { - position: relative; - left: 41.66667%; - right: auto; } - - .medium-pull-5 { - position: relative; - right: 41.66667%; - left: auto; } - - .medium-push-6 { - position: relative; - left: 50%; - right: auto; } - - .medium-pull-6 { - position: relative; - right: 50%; - left: auto; } - - .medium-push-7 { - position: relative; - left: 58.33333%; - right: auto; } - - .medium-pull-7 { - position: relative; - right: 58.33333%; - left: auto; } - - .medium-push-8 { - position: relative; - left: 66.66667%; - right: auto; } - - .medium-pull-8 { - position: relative; - right: 66.66667%; - left: auto; } - - .medium-push-9 { - position: relative; - left: 75%; - right: auto; } - - .medium-pull-9 { - position: relative; - right: 75%; - left: auto; } - - .medium-push-10 { - position: relative; - left: 83.33333%; - right: auto; } - - .medium-pull-10 { - position: relative; - right: 83.33333%; - left: auto; } - - .medium-push-11 { - position: relative; - left: 91.66667%; - right: auto; } - - .medium-pull-11 { - position: relative; - right: 91.66667%; - left: auto; } - - .column, - .columns { - position: relative; - padding-left: 0.9375rem; - padding-right: 0.9375rem; - float: left; } - - .medium-1 { - width: 8.33333%; } - - .medium-2 { - width: 16.66667%; } - - .medium-3 { - width: 25%; } - - .medium-4 { - width: 33.33333%; } - - .medium-5 { - width: 41.66667%; } - - .medium-6 { - width: 50%; } - - .medium-7 { - width: 58.33333%; } - - .medium-8 { - width: 66.66667%; } - - .medium-9 { - width: 75%; } - - .medium-10 { - width: 83.33333%; } - - .medium-11 { - width: 91.66667%; } - - .medium-12 { - width: 100%; } - - [class*="column"] + [class*="column"]:last-child { - float: right; } - - [class*="column"] + [class*="column"].end { - float: left; } - - .medium-offset-0 { - margin-left: 0% !important; } - - .medium-offset-1 { - margin-left: 8.33333% !important; } - - .medium-offset-2 { - margin-left: 16.66667% !important; } - - .medium-offset-3 { - margin-left: 25% !important; } - - .medium-offset-4 { - margin-left: 33.33333% !important; } - - .medium-offset-5 { - margin-left: 41.66667% !important; } - - .medium-offset-6 { - margin-left: 50% !important; } - - .medium-offset-7 { - margin-left: 58.33333% !important; } - - .medium-offset-8 { - margin-left: 66.66667% !important; } - - .medium-offset-9 { - margin-left: 75% !important; } - - .medium-offset-10 { - margin-left: 83.33333% !important; } - - .medium-offset-11 { - margin-left: 91.66667% !important; } - - .medium-reset-order, - .medium-reset-order { - margin-left: 0; - margin-right: 0; - left: auto; - right: auto; - float: left; } - - .column.medium-centered, - .columns.medium-centered { - margin-left: auto; - margin-right: auto; - float: none; } - - .column.medium-uncentered, - .columns.medium-uncentered { - margin-left: 0; - margin-right: 0; - float: left !important; } - - .column.medium-uncentered.opposite, - .columns.medium-uncentered.opposite { - float: right; } - - .push-0 { - position: relative; - left: 0%; - right: auto; } - - .pull-0 { - position: relative; - right: 0%; - left: auto; } - - .push-1 { - position: relative; - left: 8.33333%; - right: auto; } - - .pull-1 { - position: relative; - right: 8.33333%; - left: auto; } - - .push-2 { - position: relative; - left: 16.66667%; - right: auto; } - - .pull-2 { - position: relative; - right: 16.66667%; - left: auto; } - - .push-3 { - position: relative; - left: 25%; - right: auto; } - - .pull-3 { - position: relative; - right: 25%; - left: auto; } - - .push-4 { - position: relative; - left: 33.33333%; - right: auto; } - - .pull-4 { - position: relative; - right: 33.33333%; - left: auto; } - - .push-5 { - position: relative; - left: 41.66667%; - right: auto; } - - .pull-5 { - position: relative; - right: 41.66667%; - left: auto; } - - .push-6 { - position: relative; - left: 50%; - right: auto; } - - .pull-6 { - position: relative; - right: 50%; - left: auto; } - - .push-7 { - position: relative; - left: 58.33333%; - right: auto; } - - .pull-7 { - position: relative; - right: 58.33333%; - left: auto; } - - .push-8 { - position: relative; - left: 66.66667%; - right: auto; } - - .pull-8 { - position: relative; - right: 66.66667%; - left: auto; } - - .push-9 { - position: relative; - left: 75%; - right: auto; } - - .pull-9 { - position: relative; - right: 75%; - left: auto; } - - .push-10 { - position: relative; - left: 83.33333%; - right: auto; } - - .pull-10 { - position: relative; - right: 83.33333%; - left: auto; } - - .push-11 { - position: relative; - left: 91.66667%; - right: auto; } - - .pull-11 { - position: relative; - right: 91.66667%; - left: auto; } } -@media only screen and (min-width: 64.063em) { - .large-push-0 { - position: relative; - left: 0%; - right: auto; } - - .large-pull-0 { - position: relative; - right: 0%; - left: auto; } - - .large-push-1 { - position: relative; - left: 8.33333%; - right: auto; } - - .large-pull-1 { - position: relative; - right: 8.33333%; - left: auto; } - - .large-push-2 { - position: relative; - left: 16.66667%; - right: auto; } - - .large-pull-2 { - position: relative; - right: 16.66667%; - left: auto; } - - .large-push-3 { - position: relative; - left: 25%; - right: auto; } - - .large-pull-3 { - position: relative; - right: 25%; - left: auto; } - - .large-push-4 { - position: relative; - left: 33.33333%; - right: auto; } - - .large-pull-4 { - position: relative; - right: 33.33333%; - left: auto; } - - .large-push-5 { - position: relative; - left: 41.66667%; - right: auto; } - - .large-pull-5 { - position: relative; - right: 41.66667%; - left: auto; } - - .large-push-6 { - position: relative; - left: 50%; - right: auto; } - - .large-pull-6 { - position: relative; - right: 50%; - left: auto; } - - .large-push-7 { - position: relative; - left: 58.33333%; - right: auto; } - - .large-pull-7 { - position: relative; - right: 58.33333%; - left: auto; } - - .large-push-8 { - position: relative; - left: 66.66667%; - right: auto; } - - .large-pull-8 { - position: relative; - right: 66.66667%; - left: auto; } - - .large-push-9 { - position: relative; - left: 75%; - right: auto; } - - .large-pull-9 { - position: relative; - right: 75%; - left: auto; } - - .large-push-10 { - position: relative; - left: 83.33333%; - right: auto; } - - .large-pull-10 { - position: relative; - right: 83.33333%; - left: auto; } - - .large-push-11 { - position: relative; - left: 91.66667%; - right: auto; } - - .large-pull-11 { - position: relative; - right: 91.66667%; - left: auto; } - - .column, - .columns { - position: relative; - padding-left: 0.9375rem; - padding-right: 0.9375rem; - float: left; } - - .large-1 { - width: 8.33333%; } - - .large-2 { - width: 16.66667%; } - - .large-3 { - width: 25%; } - - .large-4 { - width: 33.33333%; } - - .large-5 { - width: 41.66667%; } - - .large-6 { - width: 50%; } - - .large-7 { - width: 58.33333%; } - - .large-8 { - width: 66.66667%; } - - .large-9 { - width: 75%; } - - .large-10 { - width: 83.33333%; } - - .large-11 { - width: 91.66667%; } - - .large-12 { - width: 100%; } - - [class*="column"] + [class*="column"]:last-child { - float: right; } - - [class*="column"] + [class*="column"].end { - float: left; } - - .large-offset-0 { - margin-left: 0% !important; } - - .large-offset-1 { - margin-left: 8.33333% !important; } - - .large-offset-2 { - margin-left: 16.66667% !important; } - - .large-offset-3 { - margin-left: 25% !important; } - - .large-offset-4 { - margin-left: 33.33333% !important; } - - .large-offset-5 { - margin-left: 41.66667% !important; } - - .large-offset-6 { - margin-left: 50% !important; } - - .large-offset-7 { - margin-left: 58.33333% !important; } - - .large-offset-8 { - margin-left: 66.66667% !important; } - - .large-offset-9 { - margin-left: 75% !important; } - - .large-offset-10 { - margin-left: 83.33333% !important; } - - .large-offset-11 { - margin-left: 91.66667% !important; } - - .large-reset-order, - .large-reset-order { - margin-left: 0; - margin-right: 0; - left: auto; - right: auto; - float: left; } - - .column.large-centered, - .columns.large-centered { - margin-left: auto; - margin-right: auto; - float: none; } - - .column.large-uncentered, - .columns.large-uncentered { - margin-left: 0; - margin-right: 0; - float: left !important; } - - .column.large-uncentered.opposite, - .columns.large-uncentered.opposite { - float: right; } - - .push-0 { - position: relative; - left: 0%; - right: auto; } - - .pull-0 { - position: relative; - right: 0%; - left: auto; } - - .push-1 { - position: relative; - left: 8.33333%; - right: auto; } - - .pull-1 { - position: relative; - right: 8.33333%; - left: auto; } - - .push-2 { - position: relative; - left: 16.66667%; - right: auto; } - - .pull-2 { - position: relative; - right: 16.66667%; - left: auto; } - - .push-3 { - position: relative; - left: 25%; - right: auto; } - - .pull-3 { - position: relative; - right: 25%; - left: auto; } - - .push-4 { - position: relative; - left: 33.33333%; - right: auto; } - - .pull-4 { - position: relative; - right: 33.33333%; - left: auto; } - - .push-5 { - position: relative; - left: 41.66667%; - right: auto; } - - .pull-5 { - position: relative; - right: 41.66667%; - left: auto; } - - .push-6 { - position: relative; - left: 50%; - right: auto; } - - .pull-6 { - position: relative; - right: 50%; - left: auto; } - - .push-7 { - position: relative; - left: 58.33333%; - right: auto; } - - .pull-7 { - position: relative; - right: 58.33333%; - left: auto; } - - .push-8 { - position: relative; - left: 66.66667%; - right: auto; } - - .pull-8 { - position: relative; - right: 66.66667%; - left: auto; } - - .push-9 { - position: relative; - left: 75%; - right: auto; } - - .pull-9 { - position: relative; - right: 75%; - left: auto; } - - .push-10 { - position: relative; - left: 83.33333%; - right: auto; } - - .pull-10 { - position: relative; - right: 83.33333%; - left: auto; } - - .push-11 { - position: relative; - left: 91.66667%; - right: auto; } - - .pull-11 { - position: relative; - right: 91.66667%; - left: auto; } } -button, .button { - border-style: solid; - border-width: 0px; - cursor: pointer; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-weight: normal; - line-height: normal; - margin: 0 0 1.25rem; - position: relative; - text-decoration: none; - text-align: center; - -webkit-appearance: none; - -webkit-border-radius: 0; - display: inline-block; - padding-top: 1rem; - padding-right: 2rem; - padding-bottom: 1.0625rem; - padding-left: 2rem; - font-size: 1rem; - background-color: #008cba; - border-color: #007095; - color: white; - transition: background-color 300ms ease-out; } - button:hover, button:focus, .button:hover, .button:focus { - background-color: #007095; } - button:hover, button:focus, .button:hover, .button:focus { - color: white; } - button.secondary, .button.secondary { - background-color: #e7e7e7; - border-color: #b9b9b9; - color: #333333; } - button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { - background-color: #b9b9b9; } - button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { - color: #333333; } - button.success, .button.success { - background-color: #43ac6a; - border-color: #368a55; - color: white; } - button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { - background-color: #368a55; } - button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { - color: white; } - button.alert, .button.alert { - background-color: #f04124; - border-color: #cf2a0e; - color: white; } - button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { - background-color: #cf2a0e; } - button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { - color: white; } - button.large, .button.large { - padding-top: 1.125rem; - padding-right: 2.25rem; - padding-bottom: 1.1875rem; - padding-left: 2.25rem; - font-size: 1.25rem; } - button.small, .button.small { - padding-top: 0.875rem; - padding-right: 1.75rem; - padding-bottom: 0.9375rem; - padding-left: 1.75rem; - font-size: 0.8125rem; } - button.tiny, .button.tiny { - padding-top: 0.625rem; - padding-right: 1.25rem; - padding-bottom: 0.6875rem; - padding-left: 1.25rem; - font-size: 0.6875rem; } - button.expand, .button.expand { - padding-right: 0; - padding-left: 0; - width: 100%; } - button.left-align, .button.left-align { - text-align: left; - text-indent: 0.75rem; } - button.right-align, .button.right-align { - text-align: right; - padding-right: 0.75rem; } - button.radius, .button.radius { - border-radius: 3px; } - button.round, .button.round { - border-radius: 1000px; } - button.disabled, button[disabled], .button.disabled, .button[disabled] { - background-color: #008cba; - border-color: #007095; - color: white; - cursor: default; - opacity: 0.7; - box-shadow: none; } - button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - background-color: #007095; } - button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - color: white; } - button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - background-color: #008cba; } - button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { - background-color: #e7e7e7; - border-color: #b9b9b9; - color: #333333; - cursor: default; - opacity: 0.7; - box-shadow: none; } - button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { - background-color: #b9b9b9; } - button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { - color: #333333; } - button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { - background-color: #e7e7e7; } - button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success { - background-color: #43ac6a; - border-color: #368a55; - color: white; - cursor: default; - opacity: 0.7; - box-shadow: none; } - button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { - background-color: #368a55; } - button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { - color: white; } - button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { - background-color: #43ac6a; } - button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert { - background-color: #f04124; - border-color: #cf2a0e; - color: white; - cursor: default; - opacity: 0.7; - box-shadow: none; } - button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { - background-color: #cf2a0e; } - button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { - color: white; } - button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { - background-color: #f04124; } - -@media only screen and (min-width: 40.063em) { - button, .button { - display: inline-block; } } -meta.foundation-mq-topbar { - font-family: "/only screen and (min-width:40.063em)/"; - width: 40.063em; } - -/* Wrapped around .top-bar to contain to grid width */ -.contain-to-grid { - width: 100%; - background: #333333; } - .contain-to-grid .top-bar { - margin-bottom: 0; } - -.fixed { - width: 100%; - left: 0; - position: fixed; - top: 0; - z-index: 99; } - .fixed.expanded:not(.top-bar) { - overflow-y: auto; - height: auto; - width: 100%; - max-height: 100%; } - .fixed.expanded:not(.top-bar) .title-area { - position: fixed; - width: 100%; - z-index: 99; } - .fixed.expanded:not(.top-bar) .top-bar-section { - z-index: 98; - margin-top: 45px; } - -.top-bar { - overflow: hidden; - height: 45px; - line-height: 45px; - position: relative; - background: #333333; - margin-bottom: 0; } - .top-bar ul { - margin-bottom: 0; - list-style: none; } - .top-bar .row { - max-width: none; } - .top-bar form, - .top-bar input { - margin-bottom: 0; } - .top-bar input { - height: auto; - padding-top: .35rem; - padding-bottom: .35rem; - font-size: 0.75rem; } - .top-bar .button, .top-bar button { - padding-top: .45rem; - padding-bottom: .35rem; - margin-bottom: 0; - font-size: 0.75rem; } - .top-bar .title-area { - position: relative; - margin: 0; } - .top-bar .name { - height: 45px; - margin: 0; - font-size: 16px; } - .top-bar .name h1 { - line-height: 45px; - font-size: 1.0625rem; - margin: 0; } - .top-bar .name h1 a { - font-weight: normal; - color: white; - width: 75%; - display: block; - padding: 0 15px; } - .top-bar .toggle-topbar { - position: absolute; - right: 0; - top: 0; } - .top-bar .toggle-topbar a { - color: white; - text-transform: uppercase; - font-size: 0.8125rem; - font-weight: bold; - position: relative; - display: block; - padding: 0 15px; - height: 45px; - line-height: 45px; } - .top-bar .toggle-topbar.menu-icon { - right: 15px; - top: 50%; - margin-top: -16px; - padding-left: 40px; } - .top-bar .toggle-topbar.menu-icon a { - height: 34px; - line-height: 33px; - padding: 0; - padding-right: 25px; - color: white; - position: relative; } - .top-bar .toggle-topbar.menu-icon a::after { - content: ""; - position: absolute; - right: 0; - display: block; - width: 16px; - top: 0; - height: 0; - box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; } - .top-bar.expanded { - height: auto; - background: transparent; } - .top-bar.expanded .title-area { - background: #333333; } - .top-bar.expanded .toggle-topbar a { - color: #888888; } - .top-bar.expanded .toggle-topbar a::after { - box-shadow: 0 10px 0 1px #888888, 0 16px 0 1px #888888, 0 22px 0 1px #888888; } - -.top-bar-section { - left: 0; - position: relative; - width: auto; - transition: left 300ms ease-out; } - .top-bar-section ul { - width: 100%; - height: auto; - display: block; - background: #333333; - font-size: 16px; - margin: 0; } - .top-bar-section .divider, - .top-bar-section [role="separator"] { - border-top: solid 1px #1a1a1a; - clear: both; - height: 1px; - width: 100%; } - .top-bar-section ul li > a { - display: block; - width: 100%; - color: white; - padding: 12px 0 12px 0; - padding-left: 15px; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-size: 0.8125rem; - font-weight: normal; - text-transform: none; - background: #333333; } - .top-bar-section ul li > a.button { - font-size: 0.8125rem; - padding-right: 15px; - padding-left: 15px; - background-color: #008cba; - border-color: #007095; - color: white; } - .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { - background-color: #007095; } - .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { - color: white; } - .top-bar-section ul li > a.button.secondary { - background-color: #e7e7e7; - border-color: #b9b9b9; - color: #333333; } - .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { - background-color: #b9b9b9; } - .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { - color: #333333; } - .top-bar-section ul li > a.button.success { - background-color: #43ac6a; - border-color: #368a55; - color: white; } - .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { - background-color: #368a55; } - .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { - color: white; } - .top-bar-section ul li > a.button.alert { - background-color: #f04124; - border-color: #cf2a0e; - color: white; } - .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { - background-color: #cf2a0e; } - .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { - color: white; } - .top-bar-section ul li > button { - font-size: 0.8125rem; - padding-right: 15px; - padding-left: 15px; - background-color: #008cba; - border-color: #007095; - color: white; } - .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { - background-color: #007095; } - .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { - color: white; } - .top-bar-section ul li > button.secondary { - background-color: #e7e7e7; - border-color: #b9b9b9; - color: #333333; } - .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { - background-color: #b9b9b9; } - .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { - color: #333333; } - .top-bar-section ul li > button.success { - background-color: #43ac6a; - border-color: #368a55; - color: white; } - .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { - background-color: #368a55; } - .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { - color: white; } - .top-bar-section ul li > button.alert { - background-color: #f04124; - border-color: #cf2a0e; - color: white; } - .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { - background-color: #cf2a0e; } - .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { - color: white; } - .top-bar-section ul li:hover:not(.has-form) > a { - background: #272727; - color: white; } - .top-bar-section ul li.active > a { - background: #008cba; - color: white; } - .top-bar-section ul li.active > a:hover { - background: #0078a0; - color: white; } - .top-bar-section .has-form { - padding: 15px; } - .top-bar-section .has-dropdown { - position: relative; } - .top-bar-section .has-dropdown > a:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 5px; - border-color: transparent transparent transparent rgba(255, 255, 255, 0.4); - border-left-style: solid; - margin-right: 15px; - margin-top: -4.5px; - position: absolute; - top: 50%; - right: 0; } - .top-bar-section .has-dropdown.moved { - position: static; } - .top-bar-section .has-dropdown.moved > .dropdown { - display: block; - position: static !important; - height: auto; - width: auto; - overflow: visible; - clip: auto; - position: absolute !important; - width: 100%; } - .top-bar-section .has-dropdown.moved > a:after { - display: none; } - .top-bar-section .dropdown { - position: absolute; - left: 100%; - top: 0; - z-index: 99; - display: block; - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px, 1px, 1px, 1px); } - .top-bar-section .dropdown li { - width: 100%; - height: auto; } - .top-bar-section .dropdown li a { - font-weight: normal; - padding: 8px 15px; } - .top-bar-section .dropdown li a.parent-link { - font-weight: normal; } - .top-bar-section .dropdown li.title h5 { - margin-bottom: 0; } - .top-bar-section .dropdown li.title h5 a { - color: white; - line-height: 22.5px; - display: block; } - .top-bar-section .dropdown li.has-form { - padding: 8px 15px; } - .top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { - top: auto; } - .top-bar-section .dropdown label { - padding: 8px 15px 2px; - margin-bottom: 0; - text-transform: uppercase; - color: #777777; - font-weight: bold; - font-size: 0.625rem; } - -.js-generated { - display: block; } - -@media only screen and (min-width: 40.063em) { - .top-bar { - background: #333333; - *zoom: 1; - overflow: visible; } - .top-bar:before, .top-bar:after { - content: " "; - display: table; } - .top-bar:after { - clear: both; } - .top-bar .toggle-topbar { - display: none; } - .top-bar .title-area { - float: left; } - .top-bar .name h1 a { - width: auto; } - .top-bar input, - .top-bar .button, - .top-bar button { - font-size: 0.875rem; - position: relative; - top: 7px; } - .top-bar.expanded { - background: #333333; } - - .contain-to-grid .top-bar { - max-width: 62.5rem; - margin: 0 auto; - margin-bottom: 0; } - - .top-bar-section { - transition: none 0 0; - left: 0 !important; } - .top-bar-section ul { - width: auto; - height: auto !important; - display: inline; } - .top-bar-section ul li { - float: left; } - .top-bar-section ul li .js-generated { - display: none; } - .top-bar-section li.hover > a:not(.button) { - background: #272727; - color: white; } - .top-bar-section li:not(.has-form) a:not(.button) { - padding: 0 15px; - line-height: 45px; - background: #333333; } - .top-bar-section li:not(.has-form) a:not(.button):hover { - background: #272727; } - .top-bar-section li.active:not(.has-form) a:not(.button) { - padding: 0 15px; - line-height: 45px; - color: white; - background: #008cba; } - .top-bar-section li.active:not(.has-form) a:not(.button):hover { - background: #0078a0; } - .top-bar-section .has-dropdown > a { - padding-right: 35px !important; } - .top-bar-section .has-dropdown > a:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 5px; - border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent; - border-top-style: solid; - margin-top: -2.5px; - top: 22.5px; } - .top-bar-section .has-dropdown.moved { - position: relative; } - .top-bar-section .has-dropdown.moved > .dropdown { - display: block; - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px, 1px, 1px, 1px); } - .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { - display: block; - position: static !important; - height: auto; - width: auto; - overflow: visible; - clip: auto; - position: absolute !important; } - .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { - border: none; - content: "\00bb"; - top: 1rem; - margin-top: -1px; - right: 5px; - line-height: 1.2; } - .top-bar-section .dropdown { - left: 0; - top: auto; - background: transparent; - min-width: 100%; } - .top-bar-section .dropdown li a { - color: white; - line-height: 1; - white-space: nowrap; - padding: 12px 15px; - background: #333333; } - .top-bar-section .dropdown li:not(.has-form) a:not(.button) { - color: white; - background: #333333; } - .top-bar-section .dropdown li:not(.has-form):hover > a:not(.button) { - color: white; - background: #272727; } - .top-bar-section .dropdown li label { - white-space: nowrap; - background: #333333; } - .top-bar-section .dropdown li .dropdown { - left: 100%; - top: 0; } - .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] { - border-bottom: none; - border-top: none; - border-right: solid 1px #4e4e4e; - clear: none; - height: 45px; - width: 0; } - .top-bar-section .has-form { - background: #333333; - padding: 0 15px; - height: 45px; } - .top-bar-section .right li .dropdown { - left: auto; - right: 0; } - .top-bar-section .right li .dropdown li .dropdown { - right: 100%; } - .top-bar-section .left li .dropdown { - right: auto; - left: 0; } - .top-bar-section .left li .dropdown li .dropdown { - left: 100%; } - - .no-js .top-bar-section ul li:hover > a { - background: #272727; - color: white; } - .no-js .top-bar-section ul li:active > a { - background: #008cba; - color: white; } - .no-js .top-bar-section .has-dropdown:hover > .dropdown { - display: block; - position: static !important; - height: auto; - width: auto; - overflow: visible; - clip: auto; - position: absolute !important; } } -.breadcrumbs { - display: block; - padding: 0.5625rem 0.875rem 0.5625rem; - overflow: hidden; - margin-left: 0; - list-style: none; - border-style: solid; - border-width: 1px; - background-color: #f4f4f4; - border-color: gainsboro; - border-radius: 3px; } - .breadcrumbs > * { - margin: 0; - float: left; - font-size: 0.6875rem; - line-height: 0.6875rem; - text-transform: uppercase; - color: #008cba; } - .breadcrumbs > *:hover a, .breadcrumbs > *:focus a { - text-decoration: underline; } - .breadcrumbs > * a { - color: #008cba; } - .breadcrumbs > *.current { - cursor: default; - color: #333333; } - .breadcrumbs > *.current a { - cursor: default; - color: #333333; } - .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a { - text-decoration: none; } - .breadcrumbs > *.unavailable { - color: #999999; } - .breadcrumbs > *.unavailable a { - color: #999999; } - .breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, - .breadcrumbs > *.unavailable a:focus { - text-decoration: none; - color: #999999; - cursor: default; } - .breadcrumbs > *:before { - content: "/"; - color: #aaaaaa; - margin: 0 0.75rem; - position: relative; - top: 1px; } - .breadcrumbs > *:first-child:before { - content: " "; - margin: 0; } - -.alert-box { - border-style: solid; - border-width: 1px; - display: block; - font-weight: normal; - margin-bottom: 1.25rem; - position: relative; - padding: 0.875rem 1.5rem 0.875rem 0.875rem; - font-size: 0.8125rem; - transition: opacity 300ms ease-out; - background-color: #008cba; - border-color: #0078a0; - color: white; } - .alert-box .close { - font-size: 1.375rem; - padding: 9px 6px 4px; - line-height: 0; - position: absolute; - top: 50%; - margin-top: -0.6875rem; - right: 0.25rem; - color: #333333; - opacity: 0.3; } - .alert-box .close:hover, .alert-box .close:focus { - opacity: 0.5; } - .alert-box.radius { - border-radius: 3px; } - .alert-box.round { - border-radius: 1000px; } - .alert-box.success { - background-color: #43ac6a; - border-color: #3a945b; - color: white; } - .alert-box.alert { - background-color: #f04124; - border-color: #de2d0f; - color: white; } - .alert-box.secondary { - background-color: #e7e7e7; - border-color: #c7c7c7; - color: #4f4f4f; } - .alert-box.warning { - background-color: #f08a24; - border-color: #de770f; - color: white; } - .alert-box.info { - background-color: #a0d3e8; - border-color: #74bfdd; - color: #4f4f4f; } - .alert-box.alert-close { - opacity: 0; } - -.inline-list { - margin: 0 auto 1.0625rem auto; - margin-left: -1.375rem; - margin-right: 0; - padding: 0; - list-style: none; - overflow: hidden; } - .inline-list > li { - list-style: none; - float: left; - margin-left: 1.375rem; - display: block; } - .inline-list > li > * { - display: block; } - -.button-group { - list-style: none; - margin: 0; - left: 0; - *zoom: 1; } - .button-group:before, .button-group:after { - content: " "; - display: table; } - .button-group:after { - clear: both; } - .button-group li { - margin: 0; - float: left; } - .button-group li > button, .button-group li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group li:first-child button, .button-group li:first-child .button { - border-left: 0; } - .button-group li:first-child { - margin-left: 0; } - .button-group.radius > * > button, .button-group.radius > * .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button { - border-left: 0; } - .button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } - .button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - .button-group.round > * > button, .button-group.round > * .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.round > *:first-child button, .button-group.round > *:first-child .button { - border-left: 0; } - .button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button { - border-bottom-left-radius: 1000px; - border-top-left-radius: 1000px; } - .button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button { - border-bottom-right-radius: 1000px; - border-top-right-radius: 1000px; } - .button-group.even-2 li { - width: 50%; } - .button-group.even-2 li > button, .button-group.even-2 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button { - border-left: 0; } - .button-group.even-2 li button, .button-group.even-2 li .button { - width: 100%; } - .button-group.even-3 li { - width: 33.33333%; } - .button-group.even-3 li > button, .button-group.even-3 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button { - border-left: 0; } - .button-group.even-3 li button, .button-group.even-3 li .button { - width: 100%; } - .button-group.even-4 li { - width: 25%; } - .button-group.even-4 li > button, .button-group.even-4 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button { - border-left: 0; } - .button-group.even-4 li button, .button-group.even-4 li .button { - width: 100%; } - .button-group.even-5 li { - width: 20%; } - .button-group.even-5 li > button, .button-group.even-5 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button { - border-left: 0; } - .button-group.even-5 li button, .button-group.even-5 li .button { - width: 100%; } - .button-group.even-6 li { - width: 16.66667%; } - .button-group.even-6 li > button, .button-group.even-6 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button { - border-left: 0; } - .button-group.even-6 li button, .button-group.even-6 li .button { - width: 100%; } - .button-group.even-7 li { - width: 14.28571%; } - .button-group.even-7 li > button, .button-group.even-7 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button { - border-left: 0; } - .button-group.even-7 li button, .button-group.even-7 li .button { - width: 100%; } - .button-group.even-8 li { - width: 12.5%; } - .button-group.even-8 li > button, .button-group.even-8 li .button { - border-left: 1px solid; - border-color: rgba(255, 255, 255, 0.5); } - .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button { - border-left: 0; } - .button-group.even-8 li button, .button-group.even-8 li .button { - width: 100%; } - -.button-bar { - *zoom: 1; } - .button-bar:before, .button-bar:after { - content: " "; - display: table; } - .button-bar:after { - clear: both; } - .button-bar .button-group { - float: left; - margin-right: 0.625rem; } - .button-bar .button-group div { - overflow: hidden; } - -/* Panels */ -.panel { - border-style: solid; - border-width: 1px; - border-color: #d8d8d8; - margin-bottom: 1.25rem; - padding: 1.25rem; - background: #f2f2f2; } - .panel > :first-child { - margin-top: 0; } - .panel > :last-child { - margin-bottom: 0; } - .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p { - color: #333333; } - .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 { - line-height: 1; - margin-bottom: 0.625rem; } - .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader { - line-height: 1.4; } - .panel.callout { - border-style: solid; - border-width: 1px; - border-color: #b6edff; - margin-bottom: 1.25rem; - padding: 1.25rem; - background: #ecfaff; } - .panel.callout > :first-child { - margin-top: 0; } - .panel.callout > :last-child { - margin-bottom: 0; } - .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p { - color: #333333; } - .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 { - line-height: 1; - margin-bottom: 0.625rem; } - .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader { - line-height: 1.4; } - .panel.callout a:not(.button) { - color: #008cba; } - .panel.radius { - border-radius: 3px; } - -.dropdown.button, button.dropdown { - position: relative; - padding-right: 3.5625rem; } - .dropdown.button:before, button.dropdown:before { - position: absolute; - content: ""; - width: 0; - height: 0; - display: block; - border-style: solid; - border-color: white transparent transparent transparent; - top: 50%; } - .dropdown.button:before, button.dropdown:before { - border-width: 0.375rem; - right: 1.40625rem; - margin-top: -0.15625rem; } - .dropdown.button:before, button.dropdown:before { - border-color: white transparent transparent transparent; } - .dropdown.button.tiny, button.dropdown.tiny { - padding-right: 2.625rem; } - .dropdown.button.tiny:before, button.dropdown.tiny:before { - border-width: 0.375rem; - right: 1.125rem; - margin-top: -0.125rem; } - .dropdown.button.tiny:before, button.dropdown.tiny:before { - border-color: white transparent transparent transparent; } - .dropdown.button.small, button.dropdown.small { - padding-right: 3.0625rem; } - .dropdown.button.small:before, button.dropdown.small:before { - border-width: 0.4375rem; - right: 1.3125rem; - margin-top: -0.15625rem; } - .dropdown.button.small:before, button.dropdown.small:before { - border-color: white transparent transparent transparent; } - .dropdown.button.large, button.dropdown.large { - padding-right: 3.625rem; } - .dropdown.button.large:before, button.dropdown.large:before { - border-width: 0.3125rem; - right: 1.71875rem; - margin-top: -0.15625rem; } - .dropdown.button.large:before, button.dropdown.large:before { - border-color: white transparent transparent transparent; } - .dropdown.button.secondary:before, button.dropdown.secondary:before { - border-color: #333333 transparent transparent transparent; } - -div.switch { - position: relative; - padding: 0; - display: block; - overflow: hidden; - border-style: solid; - border-width: 1px; - margin-bottom: 1.25rem; - height: 2.25rem; - background: white; - border-color: #cccccc; } - div.switch label { - position: relative; - left: 0; - z-index: 2; - float: left; - width: 50%; - height: 100%; - margin: 0; - font-weight: bold; - text-align: left; - transition: all 0.1s ease-out; } - div.switch input { - position: absolute; - z-index: 3; - opacity: 0; - width: 100%; - height: 100%; - -moz-appearance: none; } - div.switch input:hover, div.switch input:focus { - cursor: pointer; } - div.switch span:last-child { - position: absolute; - top: -1px; - left: -1px; - z-index: 1; - display: block; - padding: 0; - border-width: 1px; - border-style: solid; - transition: all 0.1s ease-out; } - div.switch input:not(:checked) + label { - opacity: 0; } - div.switch input:checked { - display: none !important; } - div.switch input { - left: 0; - display: block !important; } - div.switch input:first-of-type + label, - div.switch input:first-of-type + span + label { - left: -50%; } - div.switch input:first-of-type:checked + label, - div.switch input:first-of-type:checked + span + label { - left: 0%; } - div.switch input:last-of-type + label, - div.switch input:last-of-type + span + label { - right: -50%; - left: auto; - text-align: right; } - div.switch input:last-of-type:checked + label, - div.switch input:last-of-type:checked + span + label { - right: 0%; - left: auto; } - div.switch span.custom { - display: none !important; } - form.custom div.switch .hidden-field { - margin-left: auto; - position: absolute; - visibility: visible; } - div.switch label { - padding: 0; - line-height: 2.3rem; - font-size: 0.875rem; } - div.switch input:first-of-type:checked ~ span:last-child { - left: 100%; - margin-left: -2.1875rem; } - div.switch span:last-child { - width: 2.25rem; - height: 2.25rem; } - div.switch span:last-child { - border-color: #b3b3b3; - background: white; - background: linear-gradient(to bottom, white 0%, #f2f2f2 100%); - box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.07), 1000px 0 0 980px #f3faf6, -2px 0 10px 0 rgba(0, 0, 0, 0.07), -1000px 0 0 1000px whitesmoke; } - div.switch:hover span:last-child, div.switch:focus span:last-child { - background: white; - background: linear-gradient(to bottom, white 0%, #e6e6e6 100%); } - div.switch:active { - background: transparent; } - div.switch.large { - height: 2.75rem; } - div.switch.large label { - padding: 0; - line-height: 2.3rem; - font-size: 1.0625rem; } - div.switch.large input:first-of-type:checked ~ span:last-child { - left: 100%; - margin-left: -2.6875rem; } - div.switch.large span:last-child { - width: 2.75rem; - height: 2.75rem; } - div.switch.small { - height: 1.75rem; } - div.switch.small label { - padding: 0; - line-height: 2.1rem; - font-size: 0.75rem; } - div.switch.small input:first-of-type:checked ~ span:last-child { - left: 100%; - margin-left: -1.6875rem; } - div.switch.small span:last-child { - width: 1.75rem; - height: 1.75rem; } - div.switch.tiny { - height: 1.375rem; } - div.switch.tiny label { - padding: 0; - line-height: 1.9rem; - font-size: 0.6875rem; } - div.switch.tiny input:first-of-type:checked ~ span:last-child { - left: 100%; - margin-left: -1.3125rem; } - div.switch.tiny span:last-child { - width: 1.375rem; - height: 1.375rem; } - div.switch.radius { - border-radius: 4px; } - div.switch.radius span:last-child { - border-radius: 3px; } - div.switch.round { - border-radius: 1000px; } - div.switch.round span:last-child { - border-radius: 999px; } - div.switch.round label { - padding: 0 0.5625rem; } - -/* Image Thumbnails */ -.th { - line-height: 0; - display: inline-block; - border: solid 4px white; - max-width: 100%; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - transition: all 200ms ease-out; } - .th:hover, .th:focus { - box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); } - .th.radius { - border-radius: 3px; } - -/* Pricing Tables */ -.pricing-table { - border: solid 1px #dddddd; - margin-left: 0; - margin-bottom: 1.25rem; } - .pricing-table * { - list-style: none; - line-height: 1; } - .pricing-table .title { - background-color: #333333; - padding: 0.9375rem 1.25rem; - text-align: center; - color: #eeeeee; - font-weight: normal; - font-size: 1rem; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; } - .pricing-table .price { - background-color: #f6f6f6; - padding: 0.9375rem 1.25rem; - text-align: center; - color: #333333; - font-weight: normal; - font-size: 2rem; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; } - .pricing-table .description { - background-color: white; - padding: 0.9375rem; - text-align: center; - color: #777777; - font-size: 0.75rem; - font-weight: normal; - line-height: 1.4; - border-bottom: dotted 1px #dddddd; } - .pricing-table .bullet-item { - background-color: white; - padding: 0.9375rem; - text-align: center; - color: #333333; - font-size: 0.875rem; - font-weight: normal; - border-bottom: dotted 1px #dddddd; } - .pricing-table .cta-button { - background-color: white; - text-align: center; - padding: 1.25rem 1.25rem 0; } - -@keyframes rotate { - from { - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); } - - to { - -webkit-transform: rotate(360deg); - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -o-transform: rotate(360deg); - transform: rotate(360deg); } } - -/* Orbit Graceful Loading */ -.slideshow-wrapper { - position: relative; } - .slideshow-wrapper ul { - list-style-type: none; - margin: 0; } - .slideshow-wrapper ul li, - .slideshow-wrapper ul li .orbit-caption { - display: none; } - .slideshow-wrapper ul li:first-child { - display: block; } - .slideshow-wrapper .orbit-container { - background-color: transparent; } - .slideshow-wrapper .orbit-container li { - display: block; } - .slideshow-wrapper .orbit-container li .orbit-caption { - display: block; } - .slideshow-wrapper .preloader { - display: block; - width: 40px; - height: 40px; - position: absolute; - top: 50%; - left: 50%; - margin-top: -20px; - margin-left: -20px; - border: solid 3px; - border-color: #555555 white; - border-radius: 1000px; - animation-name: rotate; - animation-duration: 1.5s; - animation-iteration-count: infinite; - animation-timing-function: linear; } - -.orbit-container { - overflow: hidden; - width: 100%; - position: relative; - background: none; } - .orbit-container .orbit-slides-container { - list-style: none; - margin: 0; - padding: 0; - position: relative; - -webkit-transform: translateZ(0); } - .orbit-container .orbit-slides-container img { - display: block; - max-width: 100%; } - .orbit-container .orbit-slides-container.fade li { - opacity: 0; - transition: opacity 500ms ease-in-out; - -ms-transform: translate(0, 0); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - .orbit-container .orbit-slides-container.fade li.animate-in { - opacity: 1; - z-index: 20; - transition: opacity 500ms ease-in-out; } - .orbit-container .orbit-slides-container.fade li.animate-out { - z-index: 10; - transition: opacity 500ms ease-in-out; } - .orbit-container .orbit-slides-container.swipe-next li { - -ms-transform: translate(100%, 0); - -webkit-transform: translate3d(100%, 0, 0); - -moz-transform: translate3d(100%, 0, 0); - -o-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } - .orbit-container .orbit-slides-container.swipe-next li.animate-in { - -ms-transform: translate(0, 0); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - transition-duration: 500ms; } - .orbit-container .orbit-slides-container.swipe-next li.animate-out { - -ms-transform: translate(-100%, 0); - -webkit-transform: translate3d(-100%, 0, 0); - -moz-transform: translate3d(-100%, 0, 0); - -o-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - transition-duration: 500ms; } - .orbit-container .orbit-slides-container.swipe-prev li { - -ms-transform: translate(-100%, 0); - -webkit-transform: translate3d(-100%, 0, 0); - -moz-transform: translate3d(-100%, 0, 0); - -o-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); } - .orbit-container .orbit-slides-container.swipe-prev li.animate-in { - -ms-transform: translate(0, 0); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - transition-duration: 500ms; } - .orbit-container .orbit-slides-container.swipe-prev li.animate-out { - -ms-transform: translate(100%, 0); - -webkit-transform: translate3d(100%, 0, 0); - -moz-transform: translate3d(100%, 0, 0); - -o-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - transition-duration: 500ms; } - .orbit-container .orbit-slides-container li { - position: absolute; - top: 0; - left: 0; - width: 100%; - -ms-transform: translate(100%, 0); - -webkit-transform: translate3d(100%, 0, 0); - -moz-transform: translate3d(100%, 0, 0); - -o-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } - .orbit-container .orbit-slides-container li.active { - opacity: 1; - top: 0; - left: 0; - -ms-transform: translate(0, 0); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - .orbit-container .orbit-slides-container li .orbit-caption { - position: absolute; - bottom: 0; - background-color: rgba(51, 51, 51, 0.8); - color: white; - width: 100%; - padding: 0.625rem 0.875rem; - font-size: 0.875rem; } - .orbit-container .orbit-slide-number { - position: absolute; - top: 10px; - left: 10px; - font-size: 12px; - color: white; - background: rgba(0, 0, 0, 0); - z-index: 10; } - .orbit-container .orbit-slide-number span { - font-weight: 700; - padding: 0.3125rem; } - .orbit-container .orbit-timer { - position: absolute; - top: 12px; - right: 10px; - height: 6px; - width: 100px; - z-index: 10; } - .orbit-container .orbit-timer .orbit-progress { - height: 3px; - background-color: rgba(255, 255, 255, 0.3); - display: block; - width: 0%; - position: relative; - right: 20px; - top: 5px; } - .orbit-container .orbit-timer > span { - display: none; - position: absolute; - top: 0px; - right: 0; - width: 11px; - height: 14px; - border: solid 4px white; - border-top: none; - border-bottom: none; } - .orbit-container .orbit-timer.paused > span { - right: -4px; - top: 0px; - width: 11px; - height: 14px; - border: inset 8px; - border-left-style: solid; - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); - border-color: transparent white transparent transparent; } - .orbit-container .orbit-timer.paused > span.dark { - border-color: transparent #333333 transparent transparent; } - .orbit-container:hover .orbit-timer > span { - display: block; } - .orbit-container .orbit-prev, - .orbit-container .orbit-next { - position: absolute; - top: 45%; - margin-top: -25px; - width: 36px; - height: 60px; - line-height: 50px; - color: white; - background-color: transparent; - text-indent: -9999px !important; - z-index: 10; } - .orbit-container .orbit-prev:hover, - .orbit-container .orbit-next:hover { - background-color: rgba(0, 0, 0, 0.3); } - .orbit-container .orbit-prev > span, - .orbit-container .orbit-next > span { - position: absolute; - top: 50%; - margin-top: -10px; - display: block; - width: 0; - height: 0; - border: inset 10px; } - .orbit-container .orbit-prev { - left: 0; } - .orbit-container .orbit-prev > span { - border-right-style: solid; - border-color: transparent; - border-right-color: white; } - .orbit-container .orbit-prev:hover > span { - border-right-color: white; } - .orbit-container .orbit-next { - right: 0; } - .orbit-container .orbit-next > span { - border-color: transparent; - border-left-style: solid; - border-left-color: white; - left: 50%; - margin-left: -4px; } - .orbit-container .orbit-next:hover > span { - border-left-color: white; } - .orbit-container .orbit-bullets-container { - text-align: center; } - .orbit-container .orbit-bullets { - margin: 0 auto 30px auto; - overflow: hidden; - position: relative; - top: 10px; - float: none; - text-align: center; - display: block; } - .orbit-container .orbit-bullets li { - display: inline-block; - width: 0.5625rem; - height: 0.5625rem; - background: #cccccc; - float: none; - margin-right: 6px; - border-radius: 1000px; } - .orbit-container .orbit-bullets li.active { - background: #999999; } - .orbit-container .orbit-bullets li:last-child { - margin-right: 0; } - -.touch .orbit-container .orbit-prev, -.touch .orbit-container .orbit-next { - display: none; } -.touch .orbit-bullets { - display: none; } - -@media only screen and (min-width: 40.063em) { - .touch .orbit-container .orbit-prev, - .touch .orbit-container .orbit-next { - display: inherit; } - .touch .orbit-bullets { - display: block; } } -@media only screen and (max-width: 40em) { - .orbit-stack-on-small .orbit-slides-container { - height: auto !important; } - .orbit-stack-on-small .orbit-slides-container > * { - position: relative; - margin-left: 0% !important; - opacity: 1 !important; - -webkit-transform: none !important; - -moz-transform: none !important; - -ms-transform: none !important; - -o-transform: none !important; - transform: none !important; - transition: none !important; } - .orbit-stack-on-small .orbit-timer { - display: none; } - .orbit-stack-on-small .orbit-next, .orbit-stack-on-small .orbit-prev { - display: none; } - .orbit-stack-on-small .orbit-bullets { - display: none; } } -[data-magellan-expedition], [data-magellan-expedition-clone] { - background: white; - z-index: 50; - min-width: 100%; - padding: 10px; } - [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav { - margin-bottom: 0; } - [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd { - margin-bottom: 0; } - [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a { - line-height: 1.8em; } - -.tabs { - *zoom: 1; - margin-bottom: 0 !important; } - .tabs:before, .tabs:after { - content: " "; - display: table; } - .tabs:after { - clear: both; } - .tabs dd { - position: relative; - margin-bottom: 0 !important; - float: left; } - .tabs dd > a { - display: block; - background: #efefef; - color: #222222; - padding: 1rem 2rem; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-size: 1rem; } - .tabs dd > a:hover { - background: #e1e1e1; } - .tabs dd.active a { - background: white; } - .tabs.radius dd:first-child a { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } - .tabs.radius dd:last-child a { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - .tabs.vertical dd { - position: inherit; - float: none; - display: block; - top: auto; } - -.tabs-content { - *zoom: 1; - margin-bottom: 1.5rem; - width: 100%; } - .tabs-content:before, .tabs-content:after { - content: " "; - display: table; } - .tabs-content:after { - clear: both; } - .tabs-content > .content { - display: none; - float: left; - padding: 0.9375rem 0; - width: 100%; } - .tabs-content > .content.active { - display: block; - float: none; } - .tabs-content > .content.contained { - padding: 0.9375rem; } - .tabs-content.vertical { - display: block; } - .tabs-content.vertical > .content { - padding: 0 0.9375rem; } - -@media only screen and (min-width: 40.063em) { - .tabs.vertical { - width: 20%; - float: left; - margin-bottom: 1.25rem; } - - .tabs-content.vertical { - width: 80%; - float: left; - margin-left: -1px; } } -.no-js .tabs-content > .content { - display: block; - float: none; } - -ul.pagination { - display: block; - height: 1.5rem; - margin-left: -0.3125rem; } - ul.pagination li { - height: 1.5rem; - color: #222222; - font-size: 0.875rem; - margin-left: 0.3125rem; } - ul.pagination li a { - display: block; - padding: 0.0625rem 0.625rem 0.0625rem; - color: #999999; - border-radius: 3px; } - ul.pagination li:hover a, - ul.pagination li a:focus { - background: #e6e6e6; } - ul.pagination li.unavailable a { - cursor: default; - color: #999999; } - ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus { - background: transparent; } - ul.pagination li.current a { - background: #008cba; - color: white; - font-weight: bold; - cursor: default; } - ul.pagination li.current a:hover, ul.pagination li.current a:focus { - background: #008cba; } - ul.pagination li { - float: left; - display: block; } - -/* Pagination centred wrapper */ -.pagination-centered { - text-align: center; } - .pagination-centered ul.pagination li { - float: none; - display: inline-block; } - -.side-nav { - display: block; - margin: 0; - padding: 0.875rem 0; - list-style-type: none; - list-style-position: inside; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; } - .side-nav li { - margin: 0 0 0.4375rem 0; - font-size: 0.875rem; } - .side-nav li a:not(.button) { - display: block; - color: #008cba; } - .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { - color: #1cc7ff; } - .side-nav li.active > a:first-child:not(.button) { - color: #1cc7ff; - font-weight: normal; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; } - .side-nav li.divider { - border-top: 1px solid; - height: 0; - padding: 0; - list-style: none; - border-top-color: white; } - -.accordion { - *zoom: 1; - margin-bottom: 0; } - .accordion:before, .accordion:after { - content: " "; - display: table; } - .accordion:after { - clear: both; } - .accordion dd { - display: block; - margin-bottom: 0 !important; } - .accordion dd.active > a { - background: #e8e8e8; } - .accordion dd > a { - background: #efefef; - color: #222222; - padding: 1rem; - display: block; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-size: 1rem; } - .accordion dd > a:hover { - background: #e3e3e3; } - .accordion .content { - display: none; - padding: 0.9375rem; } - .accordion .content.active { - display: block; - background: white; } - -.text-left { - text-align: left !important; } - -.text-right { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -.text-justify { - text-align: justify !important; } - -@media only screen and (max-width: 40em) { - .small-only-text-left { - text-align: left !important; } - - .small-only-text-right { - text-align: right !important; } - - .small-only-text-center { - text-align: center !important; } - - .small-only-text-justify { - text-align: justify !important; } } -@media only screen { - .small-text-left { - text-align: left !important; } - - .small-text-right { - text-align: right !important; } - - .small-text-center { - text-align: center !important; } - - .small-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 40.063em) and (max-width: 64em) { - .medium-only-text-left { - text-align: left !important; } - - .medium-only-text-right { - text-align: right !important; } - - .medium-only-text-center { - text-align: center !important; } - - .medium-only-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 40.063em) { - .medium-text-left { - text-align: left !important; } - - .medium-text-right { - text-align: right !important; } - - .medium-text-center { - text-align: center !important; } - - .medium-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 64.063em) and (max-width: 90em) { - .large-only-text-left { - text-align: left !important; } - - .large-only-text-right { - text-align: right !important; } - - .large-only-text-center { - text-align: center !important; } - - .large-only-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 64.063em) { - .large-text-left { - text-align: left !important; } - - .large-text-right { - text-align: right !important; } - - .large-text-center { - text-align: center !important; } - - .large-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 90.063em) and (max-width: 120em) { - .xlarge-only-text-left { - text-align: left !important; } - - .xlarge-only-text-right { - text-align: right !important; } - - .xlarge-only-text-center { - text-align: center !important; } - - .xlarge-only-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 90.063em) { - .xlarge-text-left { - text-align: left !important; } - - .xlarge-text-right { - text-align: right !important; } - - .xlarge-text-center { - text-align: center !important; } - - .xlarge-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 120.063em) and (max-width: 99999999em) { - .xxlarge-only-text-left { - text-align: left !important; } - - .xxlarge-only-text-right { - text-align: right !important; } - - .xxlarge-only-text-center { - text-align: center !important; } - - .xxlarge-only-text-justify { - text-align: justify !important; } } -@media only screen and (min-width: 120.063em) { - .xxlarge-text-left { - text-align: left !important; } - - .xxlarge-text-right { - text-align: right !important; } - - .xxlarge-text-center { - text-align: center !important; } - - .xxlarge-text-justify { - text-align: justify !important; } } -/* Typography resets */ -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6, -pre, -form, -p, -blockquote, -th, -td { - margin: 0; - padding: 0; } - -/* Default Link Styles */ -a { - color: #008cba; - text-decoration: none; - line-height: inherit; } - a:hover, a:focus { - color: #0078a0; } - a img { - border: none; } - -/* Default paragraph styles */ -p { - font-family: inherit; - font-weight: normal; - font-size: 1rem; - line-height: 1.6; - margin-bottom: 1.25rem; - text-rendering: optimizeLegibility; } - p.lead { - font-size: 1.21875rem; - line-height: 1.6; } - p aside { - font-size: 0.875rem; - line-height: 1.35; - font-style: italic; } - -/* Default header styles */ -h1, h2, h3, h4, h5, h6 { - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-weight: normal; - font-style: normal; - color: #222222; - text-rendering: optimizeLegibility; - margin-top: 0.2rem; - margin-bottom: 0.5rem; - line-height: 1.4; } - h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { - font-size: 60%; - color: #6f6f6f; - line-height: 0; } - -h1 { - font-size: 2.125rem; } - -h2 { - font-size: 1.6875rem; } - -h3 { - font-size: 1.375rem; } - -h4 { - font-size: 1.125rem; } - -h5 { - font-size: 1.125rem; } - -h6 { - font-size: 1rem; } - -.subheader { - line-height: 1.4; - color: #6f6f6f; - font-weight: normal; - margin-top: 0.2rem; - margin-bottom: 0.5rem; } - -hr { - border: solid #dddddd; - border-width: 1px 0 0; - clear: both; - margin: 1.25rem 0 1.1875rem; - height: 0; } - -/* Helpful Typography Defaults */ -em, -i { - font-style: italic; - line-height: inherit; } - -strong, -b { - font-weight: bold; - line-height: inherit; } - -small { - font-size: 60%; - line-height: inherit; } - -code { - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: bold; - color: #bd260d; } - -/* Lists */ -ul, -ol, -dl { - font-size: 1rem; - line-height: 1.6; - margin-bottom: 1.25rem; - list-style-position: outside; - font-family: inherit; } - -ul { - margin-left: 1.1rem; } - ul.no-bullet { - margin-left: 0; } - ul.no-bullet li ul, - ul.no-bullet li ol { - margin-left: 1.25rem; - margin-bottom: 0; - list-style: none; } - -/* Unordered Lists */ -ul li ul, -ul li ol { - margin-left: 1.25rem; - margin-bottom: 0; } -ul.square li ul, ul.circle li ul, ul.disc li ul { - list-style: inherit; } -ul.square { - list-style-type: square; - margin-left: 1.1rem; } -ul.circle { - list-style-type: circle; - margin-left: 1.1rem; } -ul.disc { - list-style-type: disc; - margin-left: 1.1rem; } -ul.no-bullet { - list-style: none; } - -/* Ordered Lists */ -ol { - margin-left: 1.4rem; } - ol li ul, - ol li ol { - margin-left: 1.25rem; - margin-bottom: 0; } - -/* Definition Lists */ -dl dt { - margin-bottom: 0.3rem; - font-weight: bold; } -dl dd { - margin-bottom: 0.75rem; } - -/* Abbreviations */ -abbr, -acronym { - text-transform: uppercase; - font-size: 90%; - color: #222222; - border-bottom: 1px dotted #dddddd; - cursor: help; } - -abbr { - text-transform: none; } - -/* Blockquotes */ -blockquote { - margin: 0 0 1.25rem; - padding: 0.5625rem 1.25rem 0 1.1875rem; - border-left: 1px solid #dddddd; } - blockquote cite { - display: block; - font-size: 0.8125rem; - color: #555555; } - blockquote cite:before { - content: "\2014 \0020"; } - blockquote cite a, - blockquote cite a:visited { - color: #555555; } - -blockquote, -blockquote p { - line-height: 1.6; - color: #6f6f6f; } - -/* Microformats */ -.vcard { - display: inline-block; - margin: 0 0 1.25rem 0; - border: 1px solid #dddddd; - padding: 0.625rem 0.75rem; } - .vcard li { - margin: 0; - display: block; } - .vcard .fn { - font-weight: bold; - font-size: 0.9375rem; } - -.vevent .summary { - font-weight: bold; } -.vevent abbr { - cursor: default; - text-decoration: none; - font-weight: bold; - border: none; - padding: 0 0.0625rem; } - -@media only screen and (min-width: 40.063em) { - h1, h2, h3, h4, h5, h6 { - line-height: 1.4; } - - h1 { - font-size: 2.75rem; } - - h2 { - font-size: 2.3125rem; } - - h3 { - font-size: 1.6875rem; } - - h4 { - font-size: 1.4375rem; } } -/* - * Print styles. - * - * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ - * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) -*/ -.print-only { - display: none !important; } - -@media print { - * { - background: transparent !important; - color: black !important; - /* Black prints faster: h5bp.com/s */ - box-shadow: none !important; - text-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999999; - page-break-inside: avoid; } - - thead { - display: table-header-group; - /* h5bp.com/t */ } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } - - .hide-on-print { - display: none !important; } - - .print-only { - display: block !important; } - - .hide-for-print { - display: none !important; } - - .show-for-print { - display: inherit !important; } } -.split.button { - position: relative; - padding-right: 5.0625rem; } - .split.button span { - display: block; - height: 100%; - position: absolute; - right: 0; - top: 0; - border-left: solid 1px; } - .split.button span:before { - position: absolute; - content: ""; - width: 0; - height: 0; - display: block; - border-style: inset; - top: 50%; - left: 50%; } - .split.button span:active { - background-color: rgba(0, 0, 0, 0.1); } - .split.button span { - border-left-color: rgba(255, 255, 255, 0.5); } - .split.button span { - width: 3.09375rem; } - .split.button span:before { - border-top-style: solid; - border-width: 0.375rem; - top: 48%; - margin-left: -0.375rem; } - .split.button span:before { - border-color: white transparent transparent transparent; } - .split.button.secondary span { - border-left-color: rgba(255, 255, 255, 0.5); } - .split.button.secondary span:before { - border-color: white transparent transparent transparent; } - .split.button.alert span { - border-left-color: rgba(255, 255, 255, 0.5); } - .split.button.success span { - border-left-color: rgba(255, 255, 255, 0.5); } - .split.button.tiny { - padding-right: 3.75rem; } - .split.button.tiny span { - width: 2.25rem; } - .split.button.tiny span:before { - border-top-style: solid; - border-width: 0.375rem; - top: 48%; - margin-left: -0.375rem; } - .split.button.small { - padding-right: 4.375rem; } - .split.button.small span { - width: 2.625rem; } - .split.button.small span:before { - border-top-style: solid; - border-width: 0.4375rem; - top: 48%; - margin-left: -0.375rem; } - .split.button.large { - padding-right: 5.5rem; } - .split.button.large span { - width: 3.4375rem; } - .split.button.large span:before { - border-top-style: solid; - border-width: 0.3125rem; - top: 48%; - margin-left: -0.375rem; } - .split.button.expand { - padding-left: 2rem; } - .split.button.secondary span:before { - border-color: #333333 transparent transparent transparent; } - .split.button.radius span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - .split.button.round span { - border-bottom-right-radius: 1000px; - border-top-right-radius: 1000px; } - -.reveal-modal-bg { - position: fixed; - height: 100%; - width: 100%; - background: black; - background: rgba(0, 0, 0, 0.45); - z-index: 99; - display: none; - top: 0; - left: 0; } - -dialog, .reveal-modal { - visibility: hidden; - display: none; - position: absolute; - z-index: 100; - width: 100vw; - top: 0; - left: 0; - background-color: white; - padding: 1.25rem; - border: solid 1px #666666; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } - @media only screen and (max-width: 40em) { - dialog, .reveal-modal { - min-height: 100vh; } } - @media only screen and (min-width: 40.063em) { - dialog, .reveal-modal { - left: 50%; } } - dialog .column, - dialog .columns, .reveal-modal .column, - .reveal-modal .columns { - min-width: 0; } - dialog > :first-child, .reveal-modal > :first-child { - margin-top: 0; } - dialog > :last-child, .reveal-modal > :last-child { - margin-bottom: 0; } - @media only screen and (min-width: 40.063em) { - dialog, .reveal-modal { - margin-left: -40%; - width: 80%; } } - @media only screen and (min-width: 40.063em) { - dialog, .reveal-modal { - top: 6.25rem; } } - dialog .close-reveal-modal, .reveal-modal .close-reveal-modal { - font-size: 2.5rem; - line-height: 1; - position: absolute; - top: 0.5rem; - right: 0.6875rem; - color: #aaaaaa; - font-weight: bold; - cursor: pointer; } - -dialog[open] { - display: block; - visibility: visible; } - -@media only screen and (min-width: 40.063em) { - dialog, .reveal-modal { - padding: 1.875rem; } - dialog.radius, .reveal-modal.radius { - border-radius: 3px; } - dialog.round, .reveal-modal.round { - border-radius: 1000px; } - dialog.collapse, .reveal-modal.collapse { - padding: 0; } - dialog.full, .reveal-modal.full { - top: 0; - left: 0; - height: 100vh; - min-height: 100vh; - margin-left: 0 !important; } } - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.tiny, .reveal-modal.tiny { - margin-left: -15%; - width: 30%; } } - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.small, .reveal-modal.small { - margin-left: -20%; - width: 40%; } } - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.medium, .reveal-modal.medium { - margin-left: -30%; - width: 60%; } } - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.large, .reveal-modal.large { - margin-left: -35%; - width: 70%; } } - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.xlarge, .reveal-modal.xlarge { - margin-left: -47.5%; - width: 95%; } } - - @media only screen and (min-width: 40.063em) and (min-width: 40.063em) { - dialog.full, .reveal-modal.full { - margin-left: -50vw; - width: 100vw; } } - -@media print { - dialog, .reveal-modal { - background: white !important; } } -/* Tooltips */ -.has-tip { - border-bottom: dotted 1px #cccccc; - cursor: help; - font-weight: bold; - color: #333333; } - .has-tip:hover, .has-tip:focus { - border-bottom: dotted 1px #003f54; - color: #008cba; } - .has-tip.tip-left, .has-tip.tip-right { - float: none !important; } - -.tooltip { - display: none; - position: absolute; - z-index: 999; - font-weight: normal; - font-size: 0.875rem; - line-height: 1.3; - padding: 0.75rem; - max-width: 85%; - left: 50%; - width: 100%; - color: white; - background: #333333; } - .tooltip > .nub { - display: block; - left: 5px; - position: absolute; - width: 0; - height: 0; - border: solid 5px; - border-color: transparent transparent #333333 transparent; - top: -10px; } - .tooltip > .nub.rtl { - left: auto; - right: 5px; } - .tooltip.radius { - border-radius: 3px; } - .tooltip.round { - border-radius: 1000px; } - .tooltip.round > .nub { - left: 2rem; } - .tooltip.opened { - color: #008cba !important; - border-bottom: dotted 1px #003f54 !important; } - -.tap-to-close { - display: block; - font-size: 0.625rem; - color: #777777; - font-weight: normal; } - -@media only screen and (min-width: 40.063em) { - .tooltip > .nub { - border-color: transparent transparent #333333 transparent; - top: -10px; } - .tooltip.tip-top > .nub { - border-color: #333333 transparent transparent transparent; - top: auto; - bottom: -10px; } - .tooltip.tip-left, .tooltip.tip-right { - float: none !important; } - .tooltip.tip-left > .nub { - border-color: transparent transparent transparent #333333; - right: -10px; - left: auto; - top: 50%; - margin-top: -5px; } - .tooltip.tip-right > .nub { - border-color: transparent #333333 transparent transparent; - right: auto; - left: -10px; - top: 50%; - margin-top: -5px; } } -/* Clearing Styles */ -.clearing-thumbs, [data-clearing] { - *zoom: 1; - margin-bottom: 0; - margin-left: 0; - list-style: none; } - .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after { - content: " "; - display: table; } - .clearing-thumbs:after, [data-clearing]:after { - clear: both; } - .clearing-thumbs li, [data-clearing] li { - float: left; - margin-right: 10px; } - .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li { - margin-right: 0; } - -.clearing-blackout { - background: #333333; - position: fixed; - width: 100%; - height: 100%; - top: 0; - left: 0; - z-index: 998; } - .clearing-blackout .clearing-close { - display: block; } - -.clearing-container { - position: relative; - z-index: 998; - height: 100%; - overflow: hidden; - margin: 0; } - -.clearing-touch-label { - position: absolute; - top: 50%; - left: 50%; - color: #aaa; - font-size: 0.6em; } - -.visible-img { - height: 95%; - position: relative; } - .visible-img img { - position: absolute; - left: 50%; - top: 50%; - margin-left: -50%; - max-height: 100%; - max-width: 100%; } - -.clearing-caption { - color: #cccccc; - font-size: 0.875em; - line-height: 1.3; - margin-bottom: 0; - text-align: center; - bottom: 0; - background: #333333; - width: 100%; - padding: 10px 30px 20px; - position: absolute; - left: 0; } - -.clearing-close { - z-index: 999; - padding-left: 20px; - padding-top: 10px; - font-size: 30px; - line-height: 1; - color: #cccccc; - display: none; } - .clearing-close:hover, .clearing-close:focus { - color: #ccc; } - -.clearing-assembled .clearing-container { - height: 100%; } - .clearing-assembled .clearing-container .carousel > ul { - display: none; } - -.clearing-feature li { - display: none; } - .clearing-feature li.clearing-featured-img { - display: block; } - -@media only screen and (min-width: 40.063em) { - .clearing-main-prev, - .clearing-main-next { - position: absolute; - height: 100%; - width: 40px; - top: 0; } - .clearing-main-prev > span, - .clearing-main-next > span { - position: absolute; - top: 50%; - display: block; - width: 0; - height: 0; - border: solid 12px; } - .clearing-main-prev > span:hover, - .clearing-main-next > span:hover { - opacity: 0.8; } - - .clearing-main-prev { - left: 0; } - .clearing-main-prev > span { - left: 5px; - border-color: transparent; - border-right-color: #cccccc; } - - .clearing-main-next { - right: 0; } - .clearing-main-next > span { - border-color: transparent; - border-left-color: #cccccc; } - - .clearing-main-prev.disabled, - .clearing-main-next.disabled { - opacity: 0.3; } - - .clearing-assembled .clearing-container .carousel { - background: rgba(51, 51, 51, 0.8); - height: 120px; - margin-top: 10px; - text-align: center; } - .clearing-assembled .clearing-container .carousel > ul { - display: inline-block; - z-index: 999; - height: 100%; - position: relative; - float: none; } - .clearing-assembled .clearing-container .carousel > ul li { - display: block; - width: 120px; - min-height: inherit; - float: left; - overflow: hidden; - margin-right: 0; - padding: 0; - position: relative; - cursor: pointer; - opacity: 0.4; - clear: none; } - .clearing-assembled .clearing-container .carousel > ul li.fix-height img { - height: 100%; - max-width: none; } - .clearing-assembled .clearing-container .carousel > ul li a.th { - border: none; - box-shadow: none; - display: block; } - .clearing-assembled .clearing-container .carousel > ul li img { - cursor: pointer !important; - width: 100% !important; } - .clearing-assembled .clearing-container .carousel > ul li.visible { - opacity: 1; } - .clearing-assembled .clearing-container .carousel > ul li:hover { - opacity: 0.8; } - .clearing-assembled .clearing-container .visible-img { - background: #333333; - overflow: hidden; - height: 85%; } - - .clearing-close { - position: absolute; - top: 10px; - right: 20px; - padding-left: 0; - padding-top: 0; } } -/* Progress Bar */ -.progress { - background-color: #f6f6f6; - height: 1.5625rem; - border: 1px solid white; - padding: 0.125rem; - margin-bottom: 0.625rem; } - .progress .meter { - background: #008cba; - height: 100%; - display: block; } - .progress.secondary .meter { - background: #e7e7e7; - height: 100%; - display: block; } - .progress.success .meter { - background: #43ac6a; - height: 100%; - display: block; } - .progress.alert .meter { - background: #f04124; - height: 100%; - display: block; } - .progress.radius { - border-radius: 3px; } - .progress.radius .meter { - border-radius: 2px; } - .progress.round { - border-radius: 1000px; } - .progress.round .meter { - border-radius: 999px; } - -.sub-nav { - display: block; - width: auto; - overflow: hidden; - margin: -0.25rem 0 1.125rem; - padding-top: 0.25rem; - margin-right: 0; - margin-left: -0.75rem; } - .sub-nav dt { - text-transform: uppercase; } - .sub-nav dt, - .sub-nav dd, - .sub-nav li { - float: left; - display: inline; - margin-left: 1rem; - margin-bottom: 0.625rem; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 0.875rem; - color: #999999; } - .sub-nav dt a, - .sub-nav dd a, - .sub-nav li a { - text-decoration: none; - color: #999999; - padding: 0.1875rem 1rem; } - .sub-nav dt a:hover, - .sub-nav dd a:hover, - .sub-nav li a:hover { - color: #737373; } - .sub-nav dt.active a, - .sub-nav dd.active a, - .sub-nav li.active a { - border-radius: 3px; - font-weight: normal; - background: #008cba; - padding: 0.1875rem 1rem; - cursor: default; - color: white; } - .sub-nav dt.active a:hover, - .sub-nav dd.active a:hover, - .sub-nav li.active a:hover { - background: #0078a0; } - -/* Foundation Joyride */ -.joyride-list { - display: none; } - -/* Default styles for the container */ -.joyride-tip-guide { - display: none; - position: absolute; - background: #333333; - color: white; - z-index: 101; - top: 0; - left: 2.5%; - font-family: inherit; - font-weight: normal; - width: 95%; } - -.lt-ie9 .joyride-tip-guide { - max-width: 800px; - left: 50%; - margin-left: -400px; } - -.joyride-content-wrapper { - width: 100%; - padding: 1.125rem 1.25rem 1.5rem; } - .joyride-content-wrapper .button { - margin-bottom: 0 !important; } - -/* Add a little css triangle pip, older browser just miss out on the fanciness of it */ -.joyride-tip-guide .joyride-nub { - display: block; - position: absolute; - left: 22px; - width: 0; - height: 0; - border: 10px solid #333333; } - .joyride-tip-guide .joyride-nub.top { - border-top-style: solid; - border-color: #333333; - border-top-color: transparent !important; - border-left-color: transparent !important; - border-right-color: transparent !important; - top: -20px; } - .joyride-tip-guide .joyride-nub.bottom { - border-bottom-style: solid; - border-color: #333333 !important; - border-bottom-color: transparent !important; - border-left-color: transparent !important; - border-right-color: transparent !important; - bottom: -20px; } - .joyride-tip-guide .joyride-nub.right { - right: -20px; } - .joyride-tip-guide .joyride-nub.left { - left: -20px; } - -/* Typography */ -.joyride-tip-guide h1, -.joyride-tip-guide h2, -.joyride-tip-guide h3, -.joyride-tip-guide h4, -.joyride-tip-guide h5, -.joyride-tip-guide h6 { - line-height: 1.25; - margin: 0; - font-weight: bold; - color: white; } - -.joyride-tip-guide p { - margin: 0 0 1.125rem 0; - font-size: 0.875rem; - line-height: 1.3; } - -.joyride-timer-indicator-wrap { - width: 50px; - height: 3px; - border: solid 1px #555555; - position: absolute; - right: 1.0625rem; - bottom: 1rem; } - -.joyride-timer-indicator { - display: block; - width: 0; - height: inherit; - background: #666666; } - -.joyride-close-tip { - position: absolute; - right: 12px; - top: 10px; - color: #777777 !important; - text-decoration: none; - font-size: 24px; - font-weight: normal; - line-height: 0.5 !important; } - .joyride-close-tip:hover, .joyride-close-tip:focus { - color: #eeeeee !important; } - -.joyride-modal-bg { - position: fixed; - height: 100%; - width: 100%; - background: transparent; - background: rgba(0, 0, 0, 0.5); - z-index: 100; - display: none; - top: 0; - left: 0; - cursor: pointer; } - -.joyride-expose-wrapper { - background-color: #ffffff; - position: absolute; - border-radius: 3px; - z-index: 102; - box-shadow: 0 0 15px white; } - -.joyride-expose-cover { - background: transparent; - border-radius: 3px; - position: absolute; - z-index: 9999; - top: 0; - left: 0; } - -/* Styles for screens that are at least 768px; */ -@media only screen and (min-width: 40.063em) { - .joyride-tip-guide { - width: 300px; - left: inherit; } - .joyride-tip-guide .joyride-nub.bottom { - border-color: #333333 !important; - border-bottom-color: transparent !important; - border-left-color: transparent !important; - border-right-color: transparent !important; - bottom: -20px; } - .joyride-tip-guide .joyride-nub.right { - border-color: #333333 !important; - border-top-color: transparent !important; - border-right-color: transparent !important; - border-bottom-color: transparent !important; - top: 22px; - left: auto; - right: -20px; } - .joyride-tip-guide .joyride-nub.left { - border-color: #333333 !important; - border-top-color: transparent !important; - border-left-color: transparent !important; - border-bottom-color: transparent !important; - top: 22px; - left: -20px; - right: auto; } } -.label { - font-weight: normal; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; - text-align: center; - text-decoration: none; - line-height: 1; - white-space: nowrap; - display: inline-block; - position: relative; - margin-bottom: inherit; - padding: 0.25rem 0.5rem 0.375rem; - font-size: 0.6875rem; - background-color: #008cba; - color: white; } - .label.radius { - border-radius: 3px; } - .label.round { - border-radius: 1000px; } - .label.alert { - background-color: #f04124; - color: white; } - .label.success { - background-color: #43ac6a; - color: white; } - .label.secondary { - background-color: #e7e7e7; - color: #333333; } - -.off-canvas-wrap { - -webkit-backface-visibility: hidden; - position: relative; - width: 100%; - overflow: hidden; } - .off-canvas-wrap.move-right, .off-canvas-wrap.move-left { - min-height: 100%; - -webkit-overflow-scrolling: touch; } - -.inner-wrap { - -webkit-backface-visibility: hidden; - position: relative; - width: 100%; - *zoom: 1; - -webkit-transition: -webkit-transform 500ms ease; - -moz-transition: -moz-transform 500ms ease; - -ms-transition: -ms-transform 500ms ease; - -o-transition: -o-transform 500ms ease; - transition: transform 500ms ease; } - .inner-wrap:before, .inner-wrap:after { - content: " "; - display: table; } - .inner-wrap:after { - clear: both; } - -.tab-bar { - -webkit-backface-visibility: hidden; - background: #333333; - color: white; - height: 2.8125rem; - line-height: 2.8125rem; - position: relative; } - .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 { - color: white; - font-weight: bold; - line-height: 2.8125rem; - margin: 0; } - .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 { - font-size: 1.125rem; } - -.left-small { - width: 2.8125rem; - height: 2.8125rem; - position: absolute; - top: 0; - border-right: solid 1px #1a1a1a; - left: 0; } - -.right-small { - width: 2.8125rem; - height: 2.8125rem; - position: absolute; - top: 0; - border-left: solid 1px #1a1a1a; - right: 0; } - -.tab-bar-section { - padding: 0 0.625rem; - position: absolute; - text-align: center; - height: 2.8125rem; - top: 0; } - @media only screen and (min-width: 40.063em) { - .tab-bar-section { - text-align: left; } } - .tab-bar-section.left { - left: 0; - right: 2.8125rem; } - .tab-bar-section.right { - left: 2.8125rem; - right: 0; } - .tab-bar-section.middle { - left: 2.8125rem; - right: 2.8125rem; } - -.tab-bar .menu-icon { - text-indent: 2.1875rem; - width: 2.8125rem; - height: 2.8125rem; - display: block; - line-height: 2.0625rem; - padding: 0; - color: white; - position: relative; - -ms-transform: translate(0, 0); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - .tab-bar .menu-icon span { - position: absolute; - display: block; - height: 0; - width: 1rem; - line-height: 1; - top: 0.9375rem; - left: 0.90625rem; - box-shadow: 0 0px 0 1px white, 0 7px 0 1px white, 0 14px 0 1px white; } - .tab-bar .menu-icon:hover span { - box-shadow: 0 0px 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; } - -.left-off-canvas-menu { - -webkit-backface-visibility: hidden; - width: 15.625rem; - top: 0; - bottom: 0; - position: absolute; - overflow-y: auto; - background: #333333; - z-index: 1001; - box-sizing: content-box; - -webkit-overflow-scrolling: touch; - -ms-transform: translate(-100%, 0); - -webkit-transform: translate3d(-100%, 0, 0); - -moz-transform: translate3d(-100%, 0, 0); - -ms-transform: translate3d(-100%, 0, 0); - -o-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - left: 0; } - .left-off-canvas-menu * { - -webkit-backface-visibility: hidden; } - -.right-off-canvas-menu { - -webkit-backface-visibility: hidden; - width: 15.625rem; - top: 0; - bottom: 0; - position: absolute; - overflow-y: auto; - background: #333333; - z-index: 1001; - box-sizing: content-box; - -webkit-overflow-scrolling: touch; - -ms-transform: translate(100%, 0); - -webkit-transform: translate3d(100%, 0, 0); - -moz-transform: translate3d(100%, 0, 0); - -ms-transform: translate3d(100%, 0, 0); - -o-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - right: 0; } - .right-off-canvas-menu * { - -webkit-backface-visibility: hidden; } - -ul.off-canvas-list { - list-style-type: none; - padding: 0; - margin: 0; } - ul.off-canvas-list li label { - padding: 0.3rem 0.9375rem; - color: #999999; - text-transform: uppercase; - font-weight: bold; - background: #444444; - border-top: 1px solid #5e5e5e; - border-bottom: none; - margin: 0; } - ul.off-canvas-list li a { - display: block; - padding: 0.66667rem; - color: rgba(255, 255, 255, 0.7); - border-bottom: 1px solid #262626; - transition: background 300ms ease; } - ul.off-canvas-list li a:hover { - background: #242424; } - -.move-right > .inner-wrap { - -ms-transform: translate(15.625rem, 0); - -webkit-transform: translate3d(15.625rem, 0, 0); - -moz-transform: translate3d(15.625rem, 0, 0); - -ms-transform: translate3d(15.625rem, 0, 0); - -o-transform: translate3d(15.625rem, 0, 0); - transform: translate3d(15.625rem, 0, 0); } -.move-right .exit-off-canvas { - -webkit-backface-visibility: hidden; - transition: background 300ms ease; - cursor: pointer; - box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); - display: block; - position: absolute; - background: rgba(255, 255, 255, 0.2); - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 1002; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - @media only screen and (min-width: 40.063em) { - .move-right .exit-off-canvas:hover { - background: rgba(255, 255, 255, 0.05); } } - -.move-left > .inner-wrap { - -ms-transform: translate(-15.625rem, 0); - -webkit-transform: translate3d(-15.625rem, 0, 0); - -moz-transform: translate3d(-15.625rem, 0, 0); - -ms-transform: translate3d(-15.625rem, 0, 0); - -o-transform: translate3d(-15.625rem, 0, 0); - transform: translate3d(-15.625rem, 0, 0); } -.move-left .exit-off-canvas { - -webkit-backface-visibility: hidden; - transition: background 300ms ease; - cursor: pointer; - box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); - display: block; - position: absolute; - background: rgba(255, 255, 255, 0.2); - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 1002; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - @media only screen and (min-width: 40.063em) { - .move-left .exit-off-canvas:hover { - background: rgba(255, 255, 255, 0.05); } } - -.no-csstransforms .left-off-canvas-menu { - left: -15.625rem; } -.no-csstransforms .right-off-canvas-menu { - right: -15.625rem; } -.no-csstransforms .move-left > .inner-wrap { - right: 15.625rem; } -.no-csstransforms .move-right > .inner-wrap { - left: 15.625rem; } - -/* Foundation Dropdowns */ -.f-dropdown { - position: absolute; - left: -9999px; - list-style: none; - margin-left: 0; - width: 100%; - max-height: none; - height: auto; - background: white; - border: solid 1px #cccccc; - font-size: 0.875rem; - z-index: 99; - margin-top: 2px; - max-width: 200px; } - .f-dropdown > *:first-child { - margin-top: 0; } - .f-dropdown > *:last-child { - margin-bottom: 0; } - .f-dropdown:before { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 6px; - border-color: transparent transparent white transparent; - border-bottom-style: solid; - position: absolute; - top: -12px; - left: 10px; - z-index: 99; } - .f-dropdown:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 7px; - border-color: transparent transparent #cccccc transparent; - border-bottom-style: solid; - position: absolute; - top: -14px; - left: 9px; - z-index: 98; } - .f-dropdown.right:before { - left: auto; - right: 10px; } - .f-dropdown.right:after { - left: auto; - right: 9px; } - .f-dropdown.drop-right { - position: absolute; - left: -9999px; - list-style: none; - margin-left: 0; - width: 100%; - max-height: none; - height: auto; - background: white; - border: solid 1px #cccccc; - font-size: 0.875rem; - z-index: 99; - margin-top: 0; - margin-left: 2px; - max-width: 200px; } - .f-dropdown.drop-right > *:first-child { - margin-top: 0; } - .f-dropdown.drop-right > *:last-child { - margin-bottom: 0; } - .f-dropdown.drop-right:before { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 6px; - border-color: transparent white transparent transparent; - border-right-style: solid; - position: absolute; - top: 10px; - left: -12px; - z-index: 99; } - .f-dropdown.drop-right:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 7px; - border-color: transparent #cccccc transparent transparent; - border-right-style: solid; - position: absolute; - top: 9px; - left: -14px; - z-index: 98; } - .f-dropdown.drop-left { - position: absolute; - left: -9999px; - list-style: none; - margin-left: 0; - width: 100%; - max-height: none; - height: auto; - background: white; - border: solid 1px #cccccc; - font-size: 0.875rem; - z-index: 99; - margin-top: 0; - margin-left: -2px; - max-width: 200px; } - .f-dropdown.drop-left > *:first-child { - margin-top: 0; } - .f-dropdown.drop-left > *:last-child { - margin-bottom: 0; } - .f-dropdown.drop-left:before { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 6px; - border-color: transparent transparent transparent white; - border-left-style: solid; - position: absolute; - top: 10px; - right: -12px; - left: auto; - z-index: 99; } - .f-dropdown.drop-left:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 7px; - border-color: transparent transparent transparent #cccccc; - border-left-style: solid; - position: absolute; - top: 9px; - right: -14px; - left: auto; - z-index: 98; } - .f-dropdown.drop-top { - position: absolute; - left: -9999px; - list-style: none; - margin-left: 0; - width: 100%; - max-height: none; - height: auto; - background: white; - border: solid 1px #cccccc; - font-size: 0.875rem; - z-index: 99; - margin-top: -2px; - margin-left: 0; - max-width: 200px; } - .f-dropdown.drop-top > *:first-child { - margin-top: 0; } - .f-dropdown.drop-top > *:last-child { - margin-bottom: 0; } - .f-dropdown.drop-top:before { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 6px; - border-color: white transparent transparent transparent; - border-top-style: solid; - position: absolute; - top: auto; - bottom: -12px; - left: 10px; - right: auto; - z-index: 99; } - .f-dropdown.drop-top:after { - content: ""; - display: block; - width: 0; - height: 0; - border: inset 7px; - border-color: #cccccc transparent transparent transparent; - border-top-style: solid; - position: absolute; - top: auto; - bottom: -14px; - left: 9px; - right: auto; - z-index: 98; } - .f-dropdown li { - font-size: 0.875rem; - cursor: pointer; - line-height: 1.125rem; - margin: 0; } - .f-dropdown li:hover, .f-dropdown li:focus { - background: #eeeeee; } - .f-dropdown li a { - display: block; - padding: 0.5rem; - color: #555555; } - .f-dropdown.content { - position: absolute; - left: -9999px; - list-style: none; - margin-left: 0; - padding: 1.25rem; - width: 100%; - height: auto; - max-height: none; - background: white; - border: solid 1px #cccccc; - font-size: 0.875rem; - z-index: 99; - max-width: 200px; } - .f-dropdown.content > *:first-child { - margin-top: 0; } - .f-dropdown.content > *:last-child { - margin-bottom: 0; } - .f-dropdown.tiny { - max-width: 200px; } - .f-dropdown.small { - max-width: 300px; } - .f-dropdown.medium { - max-width: 500px; } - .f-dropdown.large { - max-width: 800px; } - -table { - background: white; - margin-bottom: 1.25rem; - border: solid 1px #dddddd; } - table thead, - table tfoot { - background: whitesmoke; } - table thead tr th, - table thead tr td, - table tfoot tr th, - table tfoot tr td { - padding: 0.5rem 0.625rem 0.625rem; - font-size: 0.875rem; - font-weight: bold; - color: #222222; - text-align: left; } - table tr th, - table tr td { - padding: 0.5625rem 0.625rem; - font-size: 0.875rem; - color: #222222; } - table tr.even, table tr.alt, table tr:nth-of-type(even) { - background: #f9f9f9; } - table thead tr th, - table tfoot tr th, - table tbody tr td, - table tr td, - table tfoot tr td { - display: table-cell; - line-height: 1.125rem; } - -/* Standard Forms */ -form { - margin: 0 0 1rem; } - -/* Using forms within rows, we need to set some defaults */ -form .row .row { - margin: 0 -0.5rem; } - form .row .row .column, - form .row .row .columns { - padding: 0 0.5rem; } - form .row .row.collapse { - margin: 0; } - form .row .row.collapse .column, - form .row .row.collapse .columns { - padding: 0; } - form .row .row.collapse input { - border-bottom-right-radius: 0; - border-top-right-radius: 0; } -form .row input.column, -form .row input.columns, -form .row textarea.column, -form .row textarea.columns { - padding-left: 0.5rem; } - -/* Label Styles */ -label { - font-size: 0.875rem; - color: #4d4d4d; - cursor: pointer; - display: block; - font-weight: normal; - line-height: 1.5; - margin-bottom: 0; - /* Styles for required inputs */ } - label.right { - float: none; - text-align: right; } - label.inline { - margin: 0 0 1rem 0; - padding: 0.5625rem 0; } - label small { - text-transform: capitalize; - color: #676767; } - -select::-ms-expand { - display: none; } - -@-moz-document url-prefix() { - select { - background: #fafafa; } - - select:hover { - background: #f3f3f3; } } - -/* Attach elements to the beginning or end of an input */ -.prefix, -.postfix { - display: block; - position: relative; - z-index: 2; - text-align: center; - width: 100%; - padding-top: 0; - padding-bottom: 0; - border-style: solid; - border-width: 1px; - overflow: hidden; - font-size: 0.875rem; - height: 2.3125rem; - line-height: 2.3125rem; } - -/* Adjust padding, alignment and radius if pre/post element is a button */ -.postfix.button { - padding-left: 0; - padding-right: 0; - padding-top: 0; - padding-bottom: 0; - text-align: center; - line-height: 2.125rem; - border: none; } - -.prefix.button { - padding-left: 0; - padding-right: 0; - padding-top: 0; - padding-bottom: 0; - text-align: center; - line-height: 2.125rem; - border: none; } - -.prefix.button.radius { - border-radius: 0; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } - -.postfix.button.radius { - border-radius: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - -.prefix.button.round { - border-radius: 0; - border-bottom-left-radius: 1000px; - border-top-left-radius: 1000px; } - -.postfix.button.round { - border-radius: 0; - border-bottom-right-radius: 1000px; - border-top-right-radius: 1000px; } - -/* Separate prefix and postfix styles when on span or label so buttons keep their own */ -span.prefix, label.prefix { - background: #f2f2f2; - border-right: none; - color: #333333; - border-color: #cccccc; } - span.prefix.radius, label.prefix.radius { - border-radius: 0; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } - -span.postfix, label.postfix { - background: #f2f2f2; - border-left: none; - color: #333333; - border-color: #cccccc; } - span.postfix.radius, label.postfix.radius { - border-radius: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - -/* We use this to get basic styling on all basic form elements */ -input[type="text"], -input[type="password"], -input[type="date"], -input[type="datetime"], -input[type="datetime-local"], -input[type="month"], -input[type="week"], -input[type="email"], -input[type="number"], -input[type="search"], -input[type="tel"], -input[type="time"], -input[type="url"], -textarea { - -webkit-appearance: none; - background-color: white; - font-family: inherit; - border: 1px solid #cccccc; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - color: rgba(0, 0, 0, 0.75); - display: block; - font-size: 0.875rem; - margin: 0 0 1rem 0; - padding: 0.5rem; - height: 2.3125rem; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - transition: box-shadow 0.45s, border-color 0.45s ease-in-out; } - input[type="text"]:focus, - input[type="password"]:focus, - input[type="date"]:focus, - input[type="datetime"]:focus, - input[type="datetime-local"]:focus, - input[type="month"]:focus, - input[type="week"]:focus, - input[type="email"]:focus, - input[type="number"]:focus, - input[type="search"]:focus, - input[type="tel"]:focus, - input[type="time"]:focus, - input[type="url"]:focus, - textarea:focus { - box-shadow: 0 0 5px #999999; - border-color: #999999; } - input[type="text"]:focus, - input[type="password"]:focus, - input[type="date"]:focus, - input[type="datetime"]:focus, - input[type="datetime-local"]:focus, - input[type="month"]:focus, - input[type="week"]:focus, - input[type="email"]:focus, - input[type="number"]:focus, - input[type="search"]:focus, - input[type="tel"]:focus, - input[type="time"]:focus, - input[type="url"]:focus, - textarea:focus { - background: #fafafa; - border-color: #999999; - outline: none; } - input[type="text"][disabled], fieldset[disabled] input[type="text"], - input[type="password"][disabled], fieldset[disabled] - input[type="password"], - input[type="date"][disabled], fieldset[disabled] - input[type="date"], - input[type="datetime"][disabled], fieldset[disabled] - input[type="datetime"], - input[type="datetime-local"][disabled], fieldset[disabled] - input[type="datetime-local"], - input[type="month"][disabled], fieldset[disabled] - input[type="month"], - input[type="week"][disabled], fieldset[disabled] - input[type="week"], - input[type="email"][disabled], fieldset[disabled] - input[type="email"], - input[type="number"][disabled], fieldset[disabled] - input[type="number"], - input[type="search"][disabled], fieldset[disabled] - input[type="search"], - input[type="tel"][disabled], fieldset[disabled] - input[type="tel"], - input[type="time"][disabled], fieldset[disabled] - input[type="time"], - input[type="url"][disabled], fieldset[disabled] - input[type="url"], - textarea[disabled], fieldset[disabled] - textarea { - background-color: #dddddd; } - input[type="text"].radius, - input[type="password"].radius, - input[type="date"].radius, - input[type="datetime"].radius, - input[type="datetime-local"].radius, - input[type="month"].radius, - input[type="week"].radius, - input[type="email"].radius, - input[type="number"].radius, - input[type="search"].radius, - input[type="tel"].radius, - input[type="time"].radius, - input[type="url"].radius, - textarea.radius { - border-radius: 3px; } - -input[type="submit"] { - -webkit-appearance: none; } - -/* Respect enforced amount of rows for textarea */ -textarea[rows] { - height: auto; } - -/* Add height value for select elements to match text input height */ -select { - -webkit-appearance: none !important; - background-color: #fafafa; - background-image: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg=="); - background-repeat: no-repeat; - background-position: 97% center; - border: 1px solid #cccccc; - padding: 0.5rem; - font-size: 0.875rem; - border-radius: 0; - height: 2.3125rem; } - select.radius { - border-radius: 3px; } - select:hover { - background-color: #f3f3f3; - border-color: #999999; } - -/* Adjust margin for form elements below */ -input[type="file"], -input[type="checkbox"], -input[type="radio"], -select { - margin: 0 0 1rem 0; } - -input[type="checkbox"] + label, -input[type="radio"] + label { - display: inline-block; - margin-left: 0.5rem; - margin-right: 1rem; - margin-bottom: 0; - vertical-align: baseline; } - -/* Normalize file input width */ -input[type="file"] { - width: 100%; } - -/* We add basic fieldset styling */ -fieldset { - border: 1px solid #dddddd; - padding: 1.25rem; - margin: 1.125rem 0; } - fieldset legend { - font-weight: bold; - background: white; - padding: 0 0.1875rem; - margin: 0; - margin-left: -0.1875rem; } - -/* Error Handling */ -[data-abide] .error small.error, [data-abide] span.error, [data-abide] small.error { - display: block; - padding: 0.375rem 0.5625rem 0.5625rem; - margin-top: -1px; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: normal; - font-style: italic; - background: #f04124; - color: white; } -[data-abide] span.error, [data-abide] small.error { - display: none; } - -span.error, small.error { - display: block; - padding: 0.375rem 0.5625rem 0.5625rem; - margin-top: -1px; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: normal; - font-style: italic; - background: #f04124; - color: white; } - -.error input, -.error textarea, -.error select { - margin-bottom: 0; } -.error input[type="checkbox"], -.error input[type="radio"] { - margin-bottom: 1rem; } -.error label, -.error label.error { - color: #f04124; } -.error small.error { - display: block; - padding: 0.375rem 0.5625rem 0.5625rem; - margin-top: -1px; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: normal; - font-style: italic; - background: #f04124; - color: white; } -.error > label > small { - color: #676767; - background: transparent; - padding: 0; - text-transform: capitalize; - font-style: normal; - font-size: 60%; - margin: 0; - display: inline; } -.error span.error-message { - display: block; } - -input.error, -textarea.error { - margin-bottom: 0; } - -label.error { - color: #f04124; } - -.range-slider { - display: block; - position: relative; - width: 100%; - height: 1rem; - border: 1px solid #dddddd; - margin: 1.25rem 0; - -ms-touch-action: none; - touch-action: none; - background: #fafafa; } - .range-slider.vertical-range { - display: block; - position: relative; - width: 100%; - height: 1rem; - border: 1px solid #dddddd; - margin: 1.25rem 0; - -ms-touch-action: none; - touch-action: none; - display: inline-block; - width: 1rem; - height: 12.5rem; } - .range-slider.vertical-range .range-slider-handle { - margin-top: 0; - margin-left: -0.5rem; - position: absolute; - bottom: -10.5rem; } - .range-slider.vertical-range .range-slider-active-segment { - width: 0.875rem; - height: auto; - bottom: 0; } - .range-slider.radius { - background: #fafafa; - border-radius: 3px; } - .range-slider.radius .range-slider-handle { - background: #008cba; - border-radius: 3px; } - .range-slider.radius .range-slider-handle:hover { - background: #007ba4; } - .range-slider.round { - background: #fafafa; - border-radius: 1000px; } - .range-slider.round .range-slider-handle { - background: #008cba; - border-radius: 1000px; } - .range-slider.round .range-slider-handle:hover { - background: #007ba4; } - -.range-slider-active-segment { - display: inline-block; - position: absolute; - height: 0.875rem; - background: #e5e5e5; } - -.range-slider-handle { - display: inline-block; - position: absolute; - z-index: 1; - top: -0.3125rem; - width: 2rem; - height: 1.375rem; - border: 1px solid none; - cursor: pointer; - background: #008cba; } - .range-slider-handle:hover { - background: #007ba4; } - -[class*="block-grid-"] { - display: block; - padding: 0; - margin: 0 -0.625rem; - *zoom: 1; } - [class*="block-grid-"]:before, [class*="block-grid-"]:after { - content: " "; - display: table; } - [class*="block-grid-"]:after { - clear: both; } - [class*="block-grid-"] > li { - display: block; - height: auto; - float: left; - padding: 0 0.625rem 1.25rem; } - -@media only screen { - .small-block-grid-1 > li { - width: 100%; - list-style: none; } - .small-block-grid-1 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-1 > li:nth-of-type(1n+1) { - clear: both; } - - .small-block-grid-2 > li { - width: 50%; - list-style: none; } - .small-block-grid-2 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-2 > li:nth-of-type(2n+1) { - clear: both; } - - .small-block-grid-3 > li { - width: 33.33333%; - list-style: none; } - .small-block-grid-3 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-3 > li:nth-of-type(3n+1) { - clear: both; } - - .small-block-grid-4 > li { - width: 25%; - list-style: none; } - .small-block-grid-4 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-4 > li:nth-of-type(4n+1) { - clear: both; } - - .small-block-grid-5 > li { - width: 20%; - list-style: none; } - .small-block-grid-5 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-5 > li:nth-of-type(5n+1) { - clear: both; } - - .small-block-grid-6 > li { - width: 16.66667%; - list-style: none; } - .small-block-grid-6 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-6 > li:nth-of-type(6n+1) { - clear: both; } - - .small-block-grid-7 > li { - width: 14.28571%; - list-style: none; } - .small-block-grid-7 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-7 > li:nth-of-type(7n+1) { - clear: both; } - - .small-block-grid-8 > li { - width: 12.5%; - list-style: none; } - .small-block-grid-8 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-8 > li:nth-of-type(8n+1) { - clear: both; } - - .small-block-grid-9 > li { - width: 11.11111%; - list-style: none; } - .small-block-grid-9 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-9 > li:nth-of-type(9n+1) { - clear: both; } - - .small-block-grid-10 > li { - width: 10%; - list-style: none; } - .small-block-grid-10 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-10 > li:nth-of-type(10n+1) { - clear: both; } - - .small-block-grid-11 > li { - width: 9.09091%; - list-style: none; } - .small-block-grid-11 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-11 > li:nth-of-type(11n+1) { - clear: both; } - - .small-block-grid-12 > li { - width: 8.33333%; - list-style: none; } - .small-block-grid-12 > li:nth-of-type(n) { - clear: none; } - .small-block-grid-12 > li:nth-of-type(12n+1) { - clear: both; } } -@media only screen and (min-width: 40.063em) { - .medium-block-grid-1 > li { - width: 100%; - list-style: none; } - .medium-block-grid-1 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-1 > li:nth-of-type(1n+1) { - clear: both; } - - .medium-block-grid-2 > li { - width: 50%; - list-style: none; } - .medium-block-grid-2 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-2 > li:nth-of-type(2n+1) { - clear: both; } - - .medium-block-grid-3 > li { - width: 33.33333%; - list-style: none; } - .medium-block-grid-3 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-3 > li:nth-of-type(3n+1) { - clear: both; } - - .medium-block-grid-4 > li { - width: 25%; - list-style: none; } - .medium-block-grid-4 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-4 > li:nth-of-type(4n+1) { - clear: both; } - - .medium-block-grid-5 > li { - width: 20%; - list-style: none; } - .medium-block-grid-5 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-5 > li:nth-of-type(5n+1) { - clear: both; } - - .medium-block-grid-6 > li { - width: 16.66667%; - list-style: none; } - .medium-block-grid-6 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-6 > li:nth-of-type(6n+1) { - clear: both; } - - .medium-block-grid-7 > li { - width: 14.28571%; - list-style: none; } - .medium-block-grid-7 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-7 > li:nth-of-type(7n+1) { - clear: both; } - - .medium-block-grid-8 > li { - width: 12.5%; - list-style: none; } - .medium-block-grid-8 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-8 > li:nth-of-type(8n+1) { - clear: both; } - - .medium-block-grid-9 > li { - width: 11.11111%; - list-style: none; } - .medium-block-grid-9 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-9 > li:nth-of-type(9n+1) { - clear: both; } - - .medium-block-grid-10 > li { - width: 10%; - list-style: none; } - .medium-block-grid-10 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-10 > li:nth-of-type(10n+1) { - clear: both; } - - .medium-block-grid-11 > li { - width: 9.09091%; - list-style: none; } - .medium-block-grid-11 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-11 > li:nth-of-type(11n+1) { - clear: both; } - - .medium-block-grid-12 > li { - width: 8.33333%; - list-style: none; } - .medium-block-grid-12 > li:nth-of-type(n) { - clear: none; } - .medium-block-grid-12 > li:nth-of-type(12n+1) { - clear: both; } } -@media only screen and (min-width: 64.063em) { - .large-block-grid-1 > li { - width: 100%; - list-style: none; } - .large-block-grid-1 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-1 > li:nth-of-type(1n+1) { - clear: both; } - - .large-block-grid-2 > li { - width: 50%; - list-style: none; } - .large-block-grid-2 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-2 > li:nth-of-type(2n+1) { - clear: both; } - - .large-block-grid-3 > li { - width: 33.33333%; - list-style: none; } - .large-block-grid-3 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-3 > li:nth-of-type(3n+1) { - clear: both; } - - .large-block-grid-4 > li { - width: 25%; - list-style: none; } - .large-block-grid-4 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-4 > li:nth-of-type(4n+1) { - clear: both; } - - .large-block-grid-5 > li { - width: 20%; - list-style: none; } - .large-block-grid-5 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-5 > li:nth-of-type(5n+1) { - clear: both; } - - .large-block-grid-6 > li { - width: 16.66667%; - list-style: none; } - .large-block-grid-6 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-6 > li:nth-of-type(6n+1) { - clear: both; } - - .large-block-grid-7 > li { - width: 14.28571%; - list-style: none; } - .large-block-grid-7 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-7 > li:nth-of-type(7n+1) { - clear: both; } - - .large-block-grid-8 > li { - width: 12.5%; - list-style: none; } - .large-block-grid-8 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-8 > li:nth-of-type(8n+1) { - clear: both; } - - .large-block-grid-9 > li { - width: 11.11111%; - list-style: none; } - .large-block-grid-9 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-9 > li:nth-of-type(9n+1) { - clear: both; } - - .large-block-grid-10 > li { - width: 10%; - list-style: none; } - .large-block-grid-10 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-10 > li:nth-of-type(10n+1) { - clear: both; } - - .large-block-grid-11 > li { - width: 9.09091%; - list-style: none; } - .large-block-grid-11 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-11 > li:nth-of-type(11n+1) { - clear: both; } - - .large-block-grid-12 > li { - width: 8.33333%; - list-style: none; } - .large-block-grid-12 > li:nth-of-type(n) { - clear: none; } - .large-block-grid-12 > li:nth-of-type(12n+1) { - clear: both; } } -.flex-video { - position: relative; - padding-top: 1.5625rem; - padding-bottom: 67.5%; - height: 0; - margin-bottom: 1rem; - overflow: hidden; } - .flex-video.widescreen { - padding-bottom: 56.34%; } - .flex-video.vimeo { - padding-top: 0; } - .flex-video iframe, - .flex-video object, - .flex-video embed, - .flex-video video { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.keystroke, -kbd { - background-color: #ededed; - border-color: #dddddd; - color: #222222; - border-style: solid; - border-width: 1px; - margin: 0; - font-family: "Consolas", "Menlo", "Courier", monospace; - font-size: inherit; - padding: 0.125rem 0.25rem 0; - border-radius: 3px; } - -/* small displays */ -@media only screen { - .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xxlarge-only, .hide-for-xxlarge-up { - display: inherit !important; } - - .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xxlarge-only, .show-for-xxlarge-up { - display: none !important; } - - table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up { - display: table; } - - thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up { - display: table-header-group !important; } - - tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up { - display: table-row-group !important; } - - tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up { - display: table-row !important; } - - th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up { - display: table-cell !important; } } -/* medium displays */ -@media only screen and (min-width: 40.063em) { - .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xxlarge-only, .hide-for-xxlarge-up { - display: inherit !important; } - - .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xxlarge-only, .show-for-xxlarge-up { - display: none !important; } - - table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up { - display: table; } - - thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up { - display: table-header-group !important; } - - tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up { - display: table-row-group !important; } - - tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up { - display: table-row !important; } - - th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up { - display: table-cell !important; } } -/* large displays */ -@media only screen and (min-width: 64.063em) { - .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xxlarge-only, .hide-for-xxlarge-up { - display: inherit !important; } - - .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xxlarge-only, .show-for-xxlarge-up { - display: none !important; } - - table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up { - display: table; } - - thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up { - display: table-header-group !important; } - - tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up { - display: table-row-group !important; } - - tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up { - display: table-row !important; } - - th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up { - display: table-cell !important; } } -/* xlarge displays */ -@media only screen and (min-width: 90.063em) { - .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .hide-for-xxlarge-only, .hide-for-xxlarge-up { - display: inherit !important; } - - .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .show-for-xxlarge-only, .show-for-xxlarge-up { - display: none !important; } - - table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up { - display: table; } - - thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up { - display: table-header-group !important; } - - tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up { - display: table-row-group !important; } - - tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up { - display: table-row !important; } - - th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up { - display: table-cell !important; } } -/* xxlarge displays */ -@media only screen and (min-width: 120.063em) { - .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .show-for-xxlarge-only, .show-for-xxlarge-up { - display: inherit !important; } - - .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xxlarge-only, .hide-for-xxlarge-up { - display: none !important; } - - table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xxlarge-only, table.show-for-xxlarge-up { - display: table; } - - thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up { - display: table-header-group !important; } - - tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up { - display: table-row-group !important; } - - tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up { - display: table-row !important; } - - th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up { - display: table-cell !important; } } -/* Orientation targeting */ -.show-for-landscape, -.hide-for-portrait { - display: inherit !important; } - -.hide-for-landscape, -.show-for-portrait { - display: none !important; } - -/* Specific visibility for tables */ -table.hide-for-landscape, table.show-for-portrait { - display: table; } - -thead.hide-for-landscape, thead.show-for-portrait { - display: table-header-group !important; } - -tbody.hide-for-landscape, tbody.show-for-portrait { - display: table-row-group !important; } - -tr.hide-for-landscape, tr.show-for-portrait { - display: table-row !important; } - -td.hide-for-landscape, td.show-for-portrait, -th.hide-for-landscape, -th.show-for-portrait { - display: table-cell !important; } - -@media only screen and (orientation: landscape) { - .show-for-landscape, - .hide-for-portrait { - display: inherit !important; } - - .hide-for-landscape, - .show-for-portrait { - display: none !important; } - - /* Specific visibility for tables */ - table.show-for-landscape, table.hide-for-portrait { - display: table; } - - thead.show-for-landscape, thead.hide-for-portrait { - display: table-header-group !important; } - - tbody.show-for-landscape, tbody.hide-for-portrait { - display: table-row-group !important; } - - tr.show-for-landscape, tr.hide-for-portrait { - display: table-row !important; } - - td.show-for-landscape, td.hide-for-portrait, - th.show-for-landscape, - th.hide-for-portrait { - display: table-cell !important; } } -@media only screen and (orientation: portrait) { - .show-for-portrait, - .hide-for-landscape { - display: inherit !important; } - - .hide-for-portrait, - .show-for-landscape { - display: none !important; } - - /* Specific visibility for tables */ - table.show-for-portrait, table.hide-for-landscape { - display: table; } - - thead.show-for-portrait, thead.hide-for-landscape { - display: table-header-group !important; } - - tbody.show-for-portrait, tbody.hide-for-landscape { - display: table-row-group !important; } - - tr.show-for-portrait, tr.hide-for-landscape { - display: table-row !important; } - - td.show-for-portrait, td.hide-for-landscape, - th.show-for-portrait, - th.hide-for-landscape { - display: table-cell !important; } } -/* Touch-enabled device targeting */ -.show-for-touch { - display: none !important; } - -.hide-for-touch { - display: inherit !important; } - -.touch .show-for-touch { - display: inherit !important; } - -.touch .hide-for-touch { - display: none !important; } - -/* Specific visibility for tables */ -table.hide-for-touch { - display: table; } - -.touch table.show-for-touch { - display: table; } - -thead.hide-for-touch { - display: table-header-group !important; } - -.touch thead.show-for-touch { - display: table-header-group !important; } - -tbody.hide-for-touch { - display: table-row-group !important; } - -.touch tbody.show-for-touch { - display: table-row-group !important; } - -tr.hide-for-touch { - display: table-row !important; } - -.touch tr.show-for-touch { - display: table-row !important; } - -td.hide-for-touch { - display: table-cell !important; } - -.touch td.show-for-touch { - display: table-cell !important; } - -th.hide-for-touch { - display: table-cell !important; } - -.touch th.show-for-touch { - display: table-cell !important; } diff --git a/css/foundation.min.css b/css/foundation.min.css deleted file mode 100644 index a9e0be2..0000000 --- a/css/foundation.min.css +++ /dev/null @@ -1 +0,0 @@ -meta.foundation-version{font-family:"/5.4.7/"}meta.foundation-mq-small{font-family:"/only screen/";width:0em}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1.5;position:relative;cursor:auto}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none !important;visibility:hidden}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5rem}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{width:auto;margin:0;max-width:none}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}[class*="column"]+[class*="column"]:last-child{float:right}[class*="column"]+[class*="column"].end{float:left}@media only screen{.small-push-0{position:relative;left:0%;right:auto}.small-pull-0{position:relative;right:0%;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0% !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{margin-left:0;margin-right:0;float:left}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}}@media only screen and (min-width: 40.063em){.medium-push-0{position:relative;left:0%;right:auto}.medium-pull-0{position:relative;right:0%;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0% !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{margin-left:0;margin-right:0;float:left}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.063em){.large-push-0{position:relative;left:0%;right:auto}.large-pull-0{position:relative;right:0%;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0% !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{margin-left:0;margin-right:0;float:left}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}button,.button{border-style:solid;border-width:0px;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-decoration:none;text-align:center;-webkit-appearance:none;-webkit-border-radius:0;display:inline-block;padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left:2rem;font-size:1rem;background-color:#008cba;border-color:#007095;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333}button.success,.button.success{background-color:#43ac6a;border-color:#368a55;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#fff}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding-top:1.125rem;padding-right:2.25rem;padding-bottom:1.1875rem;padding-left:2.25rem;font-size:1.25rem}button.small,.button.small{padding-top:0.875rem;padding-right:1.75rem;padding-bottom:0.9375rem;padding-left:1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding-top:0.625rem;padding-right:1.25rem;padding-bottom:0.6875rem;padding-left:1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-right:0;padding-left:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008cba;border-color:#007095;color:#fff;cursor:default;opacity:0.7;box-shadow:none}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008cba}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333;cursor:default;opacity:0.7;box-shadow:none}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43ac6a;border-color:#368a55;color:#fff;cursor:default;opacity:0.7;box-shadow:none}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43ac6a}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#fff;cursor:default;opacity:0.7;box-shadow:none}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff;cursor:default;opacity:0.7;box-shadow:none}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#fff}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333;cursor:default;opacity:0.7;box-shadow:none}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.063em){button,.button{display:inline-block}}form{margin:0 0 1rem}form .row .row{margin:0 -0.5rem}form .row .row .column,form .row .row .columns{padding:0 0.5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:0.5rem}label{font-size:0.875rem;color:#4d4d4d;cursor:pointer;display:block;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{display:block;position:relative;z-index:2;text-align:center;width:100%;padding-top:0;padding-bottom:0;border-style:solid;border-width:1px;overflow:hidden;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem}.postfix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;line-height:2.125rem;border:none}.prefix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;line-height:2.125rem;border:none}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333;border-color:#ccc}span.postfix,label.postfix{background:#f2f2f2;border-left:none;color:#333;border-color:#ccc}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-webkit-border-radius:0px;background-color:#fff;font-family:inherit;border-style:solid;border-width:1px;border-color:#ccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-size:0.875rem;margin:0 0 1rem 0;padding:0.5rem;height:2.3125rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:box-shadow 0.45s,border-color 0.45s ease-in-out}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{box-shadow:0 0 5px #999;border-color:#999}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-webkit-border-radius:0px}textarea[rows]{height:auto}textarea{max-width:100%}select{-webkit-appearance:none !important;-webkit-border-radius:0px;background-color:#fafafa;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ccc;padding:0.5rem;font-size:0.875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:rgba(0,0,0,0.75);line-height:normal;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999}select:disabled{background-color:#ddd;cursor:default}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;padding:1.25rem;margin:1.125rem 0}fieldset legend{font-weight:bold;background:#fff;padding:0 0.1875rem;margin:0;margin-left:-0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#fff}.error>label>small{color:#676767;background:transparent;padding:0;text-transform:capitalize;font-style:normal;font-size:60%;margin:0;display:inline}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{width:100%;left:0;position:fixed;top:0;z-index:99}.fixed.expanded:not(.top-bar){overflow-y:auto;height:auto;width:100%;max-height:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{z-index:98;margin-top:45px}.top-bar{overflow:hidden;height:45px;line-height:45px;position:relative;background:#333;margin-bottom:0}.top-bar ul{margin-bottom:0;list-style:none}.top-bar .row{max-width:none}.top-bar form,.top-bar input{margin-bottom:0}.top-bar input{height:1.8rem;padding-top:.35rem;padding-bottom:.35rem;font-size:0.75rem}.top-bar .button,.top-bar button{padding-top:0.4125rem;padding-bottom:0.4125rem;margin-bottom:0;font-size:0.75rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{position:relative;margin:0}.top-bar .name{height:45px;margin:0;font-size:16px}.top-bar .name h1{line-height:45px;font-size:1.0625rem;margin:0}.top-bar .name h1 a{font-weight:normal;color:#fff;width:75%;display:block;padding:0 15px}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;text-transform:uppercase;font-size:0.8125rem;font-weight:bold;position:relative;display:block;padding:0 15px;height:45px;line-height:45px}.top-bar .toggle-topbar.menu-icon{top:50%;margin-top:-16px}.top-bar .toggle-topbar.menu-icon a{height:34px;line-height:33px;padding:0 40px 0 15px;color:#fff;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-8px;right:15px;box-shadow:0 0px 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0px 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{height:auto;background:transparent}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0px 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{padding:0;width:100%;height:auto;display:block;font-size:16px;margin:0}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{display:block;width:100%;color:#fff;padding:12px 0 12px 0;padding-left:15px;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;text-transform:none}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-right:15px;padding-left:15px;background-color:#008cba;border-color:#007095;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333}.top-bar-section ul li>a.button.success{background-color:#43ac6a;border-color:#368a55;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#fff}.top-bar-section ul li>button{font-size:0.8125rem;padding-right:15px;padding-left:15px;background-color:#008cba;border-color:#007095;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#007095}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#333}.top-bar-section ul li>button.success{background-color:#43ac6a;border-color:#368a55;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;background:#272727;color:#fff}.top-bar-section ul li.active>a{background:#008cba;color:#fff}.top-bar-section ul li.active>a:hover{background:#0078a0;color:#fff}.top-bar-section .has-form{padding:15px}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:15px;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{padding:0;position:absolute;left:100%;top:0;z-index:99;display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .dropdown li{width:100%;height:auto}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 15px}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px 15px}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{padding:8px 15px 2px;margin-bottom:0;text-transform:uppercase;color:#777;font-weight:bold;font-size:0.625rem}.js-generated{display:block}@media only screen and (min-width: 40.063em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a{width:auto}.top-bar input,.top-bar .button,.top-bar button{font-size:0.875rem;position:relative;top:7px}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{max-width:62.5rem;margin:0 auto;margin-bottom:0}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{width:auto;height:auto !important;display:inline}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#272727;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){padding:0 15px;line-height:45px;background:#333}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#272727}.top-bar-section li.active:not(.has-form) a:not(.button){padding:0 15px;line-height:45px;color:#fff;background:#008cba}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#0078a0;color:#fff}.top-bar-section .has-dropdown>a{padding-right:35px !important}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:22.5px}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:1rem;margin-top:-1px;right:5px;line-height:1.2}.top-bar-section .dropdown{left:0;top:auto;background:transparent;min-width:100%}.top-bar-section .dropdown li a{color:#fff;line-height:45px;white-space:nowrap;padding:12px 15px;background:#333}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#fff;background:#333}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){color:#fff;background-color:#555;background:#272727}.top-bar-section .dropdown li label{white-space:nowrap;background:#333}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-bottom:none;border-top:none;border-right:solid 1px #4e4e4e;clear:none;height:45px;width:0}.top-bar-section .has-form{background:#333;padding:0 15px;height:45px}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#272727;color:#fff}.no-js .top-bar-section ul li:active>a{background:#008cba;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}}.breadcrumbs{display:block;padding:0.5625rem 0.875rem 0.5625rem;overflow:hidden;margin-left:0;list-style:none;border-style:solid;border-width:1px;background-color:#f4f4f4;border-color:#dcdcdc;border-radius:3px}.breadcrumbs>*{margin:0;float:left;font-size:0.6875rem;line-height:0.6875rem;text-transform:uppercase;color:#008cba}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#008cba}.breadcrumbs>*.current{cursor:default;color:#333}.breadcrumbs>*.current a{cursor:default;color:#333}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{text-decoration:none;color:#999;cursor:default}.breadcrumbs>*:before{content:"/";color:#aaa;margin:0 0.75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}.alert-box{border-style:solid;border-width:1px;display:block;font-weight:normal;margin-bottom:1.25rem;position:relative;padding:0.875rem 1.5rem 0.875rem 0.875rem;font-size:0.8125rem;transition:opacity 300ms ease-out;background-color:#008cba;border-color:#0078a0;color:#fff}.alert-box .close{font-size:1.375rem;padding:9px 6px 4px;line-height:0;position:absolute;top:50%;margin-top:-0.6875rem;right:0.25rem;color:#333;opacity:0.3;background:inherit}.alert-box .close:hover,.alert-box .close:focus{opacity:0.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43ac6a;border-color:#3a945b;color:#fff}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#fff}.alert-box.secondary{background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#fff}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f}.alert-box.alert-close{opacity:0}.inline-list{margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden}.inline-list>li{list-style:none;float:left;margin-left:1.375rem;display:block}.inline-list>li>*{display:block}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group>li{margin:0 -2px;display:inline-block}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{margin:0 -2px;display:inline-block;display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{margin:0 -2px;display:inline-block}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{margin:0 -2px;display:inline-block}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.063em){.button-group.radius.stack-for-small>*{margin:0 -2px;display:inline-block}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{margin:0 -2px;display:inline-block}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.063em){.button-group.round.stack-for-small>*{margin:0 -2px;display:inline-block}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0px;margin:0;display:block}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-group.even-2 li{margin:0 -2px;display:inline-block;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{margin:0 -2px;display:inline-block;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{margin:0 -2px;display:inline-block;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{margin:0 -2px;display:inline-block;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{margin:0 -2px;display:inline-block;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{margin:0 -2px;display:inline-block;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{margin:0 -2px;display:inline-block;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:0.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#b6edff;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:0.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#008cba}.panel.radius{border-radius:3px}.dropdown.button,button.dropdown{position:relative;outline:none;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{position:absolute;content:"";width:0;height:0;display:block;border-style:solid;border-color:#fff transparent transparent transparent;top:50%}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.th{line-height:0;display:inline-block;border:solid 4px #fff;max-width:100%;box-shadow:0 0 0 1px rgba(0,0,0,0.2);transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(0,140,186,0.5)}.th.radius{border-radius:3px}.toolbar{background:#333;width:100%;font-size:0;display:inline-block}.toolbar.label-bottom .tab .tab-content i,.toolbar.label-bottom .tab .tab-content img{margin-bottom:10px}.toolbar.label-right .tab .tab-content i,.toolbar.label-right .tab .tab-content img{margin-right:10px;display:inline-block}.toolbar.label-right .tab .tab-content label{display:inline-block}.toolbar.vertical.label-right .tab .tab-content{text-align:left}.toolbar.vertical{height:100%;width:auto}.toolbar.vertical .tab{width:auto;margin:auto;float:none}.toolbar .tab{text-align:center;width:25%;margin:0 auto;display:block;padding:20px;float:left}.toolbar .tab:hover{background:rgba(255,255,255,0.1)}.toolbar .tab-content{font-size:16px;text-align:center}.toolbar .tab-content label{color:#ccc}.toolbar .tab-content i{font-size:30px;display:block;margin:0 auto;color:#ccc;vertical-align:middle}.toolbar .tab-content img{width:30px;height:30px;display:block;margin:0 auto}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;padding:0.9375rem 1.25rem;text-align:center;color:#eee;font-weight:normal;font-size:1rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .price{background-color:#f6f6f6;padding:0.9375rem 1.25rem;text-align:center;color:#333;font-weight:normal;font-size:2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .description{background-color:#fff;padding:0.9375rem;text-align:center;color:#777;font-size:0.75rem;font-weight:normal;line-height:1.4;border-bottom:dotted 1px #ddd}.pricing-table .bullet-item{background-color:#fff;padding:0.9375rem;text-align:center;color:#333;font-size:0.875rem;font-weight:normal;border-bottom:dotted 1px #ddd}.pricing-table .cta-button{background-color:#fff;text-align:center;padding:1.25rem 1.25rem 0}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{display:block;width:40px;height:40px;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px;border:solid 3px;border-color:#555 #fff;border-radius:1000px;animation-name:rotate;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:linear}.orbit-container{overflow:hidden;width:100%;position:relative;background:none}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0%}.orbit-container .orbit-slides-container>* .orbit-caption{position:absolute;bottom:0;background-color:rgba(51,51,51,0.8);color:#fff;width:100%;padding:0.625rem 0.875rem;font-size:0.875rem}.orbit-container .orbit-slide-number{position:absolute;top:10px;left:10px;font-size:12px;color:#fff;background:rgba(0,0,0,0);z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0%;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{display:none;position:absolute;top:0px;right:0;width:11px;height:14px;border:solid 4px #fff;border-top:none;border-bottom:none}.orbit-container .orbit-timer.paused>span{right:-4px;top:0px;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{position:absolute;top:45%;margin-top:-25px;width:36px;height:60px;line-height:50px;color:white;background-color:transparent;text-indent:-9999px !important;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{position:absolute;top:50%;margin-top:-10px;display:block;width:0;height:0;border:inset 10px}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{margin:0 auto 30px auto;overflow:hidden;position:relative;top:10px;float:none;text-align:center;display:block}.orbit-bullets li{cursor:pointer;display:inline-block;width:0.5625rem;height:0.5625rem;background:#ccc;float:none;margin-right:6px;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.063em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{position:relative;margin:0% !important;opacity:1 !important}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;z-index:50;min-width:100%;padding:10px}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333}.icon-bar>*{text-align:center;font-size:1rem;width:25%;margin:0 auto;display:block;padding:1.25rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 .0625rem 0 0;display:inline-block}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{width:auto;margin:auto;float:none}@media only screen and (min-width: 40.063em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width: 64.063em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar>*:hover{background:#008cba}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.six-up.large-vertical .item{width:auto}}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{position:relative;margin-bottom:0 !important;list-style:none;float:left}.tabs dd>a,.tabs .tab-title>a{outline:none;display:block;background-color:#efefef;color:#222;padding:1rem 2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active a,.tabs .tab-title.active a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.9375rem}@media only screen and (min-width: 40.063em){.tabs.vertical{width:20%;max-width:20%;float:left;margin:0 0 1.25rem}.tabs-content.vertical{width:80%;max-width:80%;float:left;margin-left:-1px;padding-left:1rem}}.no-js .tabs-content>.content{display:block;float:none}ul.pagination{display:block;min-height:1.5rem;margin-left:-0.3125rem}ul.pagination li{height:1.5rem;color:#222;font-size:0.875rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{display:block;padding:0.0625rem 0.625rem 0.0625rem;color:#999;background:none;border-radius:3px;font-weight:normal;font-size:1em;line-height:inherit;transition:background-color 300ms ease-out}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008cba;color:#fff;font-weight:bold;cursor:default}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008cba}ul.pagination li{float:left;display:block}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{float:none;display:inline-block}.side-nav{display:block;margin:0;padding:0.875rem 0;list-style-type:none;list-style-position:outside;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li{margin:0 0 0.4375rem 0;font-size:0.875rem;font-weight:normal}.side-nav li a:not(.button){display:block;color:#008cba;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li.divider{border-top:1px solid;height:0;padding:0;list-style:none;border-top-color:#fff}.side-nav li.heading{color:#008cba;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#efefef;color:#222;padding:1rem;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{display:block;background:#fff}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em) and (max-width: 99999999em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008cba;text-decoration:none;line-height:inherit}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-weight:normal;font-size:1rem;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#333;background-color:#f8f8f8;border-width:1px;border-style:solid;border-color:#dfdfdf;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:0.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width: 40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.print-only{display:none !important}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;top:48%;margin-left:-0.375rem}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;top:48%;margin-left:-0.375rem}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.reveal-modal-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;background:rgba(0,0,0,0.45);z-index:1004;display:none;left:0}.reveal-modal,dialog{visibility:hidden;display:none;position:absolute;z-index:1005;width:100vw;top:0;border-radius:3px;left:0;background-color:#fff;padding:1.25rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4);padding:1.875rem}@media only screen and (max-width: 40em){.reveal-modal,dialog{min-height:100vh}}.reveal-modal .column,dialog .column,.reveal-modal .columns,dialog .columns{min-width:0}.reveal-modal>:first-child,dialog>:first-child{margin-top:0}.reveal-modal>:last-child,dialog>:last-child{margin-bottom:0}@media only screen and (min-width: 40.063em){.reveal-modal,dialog{width:80%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal,dialog{top:6.25rem}}.reveal-modal.radius,dialog.radius{border-radius:3px}.reveal-modal.round,dialog.round{border-radius:1000px}.reveal-modal.collapse,dialog.collapse{padding:0}@media only screen and (min-width: 40.063em){.reveal-modal.tiny,dialog.tiny{width:30%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.small,dialog.small{width:40%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.medium,dialog.medium{width:60%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.large,dialog.large{width:70%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.xlarge,dialog.xlarge{width:95%;max-width:62.5rem;left:0;right:0;margin:0 auto}}.reveal-modal.full,dialog.full{top:0;left:0;height:100%;height:100vh;min-height:100vh;max-width:none !important;margin-left:0 !important}@media only screen and (min-width: 40.063em){.reveal-modal.full,dialog.full{width:100vw;max-width:62.5rem;left:0;right:0;margin:0 auto}}.reveal-modal .close-reveal-modal,dialog .close-reveal-modal{font-size:2.5rem;line-height:1;position:absolute;top:0.5rem;right:0.6875rem;color:#aaa;font-weight:bold;cursor:pointer}dialog{display:none}dialog::backdrop,dialog+.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;background:rgba(0,0,0,0.45);z-index:auto;display:none;left:0}dialog[open]{display:block}@media print{dialog,.reveal-modal,dialog{display:none;background:#fff !important}}.has-tip{border-bottom:dotted 1px #ccc;cursor:help;font-weight:bold;color:#333}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #003f54;color:#008cba}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{display:none;position:absolute;z-index:1006;font-weight:normal;font-size:0.875rem;line-height:1.3;padding:0.75rem;max-width:300px;left:50%;width:100%;color:#fff;background:#333}.tooltip>.nub{display:block;left:5px;position:absolute;width:0;height:0;border:solid 5px;border-color:transparent transparent #333 transparent;top:-10px;pointer-events:none}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{color:#008cba !important;border-bottom:dotted 1px #003f54 !important}.tap-to-close{display:block;font-size:0.625rem;color:#777;font-weight:normal}@media only screen and (min-width: 40.063em){.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;top:auto;bottom:-10px}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;right:-10px;left:auto;top:50%;margin-top:-5px}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;right:auto;left:-10px;top:50%;margin-top:-5px}}.clearing-thumbs,[data-clearing]{margin-bottom:0;margin-left:0;list-style:none}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;position:fixed;width:100%;height:100%;top:0;left:0;z-index:998}.clearing-blackout .clearing-close{display:block}.clearing-container{position:relative;z-index:998;height:100%;overflow:hidden;margin:0}.clearing-touch-label{position:absolute;top:50%;left:50%;color:#aaa;font-size:0.6em}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;margin-left:-50%;max-height:100%;max-width:100%}.clearing-caption{color:#ccc;font-size:0.875em;line-height:1.3;margin-bottom:0;text-align:center;bottom:0;background:#333;width:100%;padding:10px 30px 20px;position:absolute;left:0}.clearing-close{z-index:999;padding-left:20px;padding-top:10px;font-size:30px;line-height:1;color:#ccc;display:none}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.063em){.clearing-main-prev,.clearing-main-next{position:absolute;height:100%;width:40px;top:0}.clearing-main-prev>span,.clearing-main-next>span{position:absolute;top:50%;display:block;width:0;height:0;border:solid 12px}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:0.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:0.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{display:block;width:120px;min-height:inherit;float:left;overflow:hidden;margin-right:0;padding:0;position:relative;cursor:pointer;opacity:0.4;clear:none}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:0.8}.clearing-assembled .clearing-container .visible-img{background:#333;overflow:hidden;height:85%}.clearing-close{position:absolute;top:10px;right:20px;padding-left:0;padding-top:0}}.progress{background-color:#f6f6f6;height:1.5625rem;border:1px solid #fff;padding:0.125rem;margin-bottom:0.625rem}.progress .meter{background:#008cba;height:100%;display:block}.progress.secondary .meter{background:#e7e7e7;height:100%;display:block}.progress.success .meter{background:#43ac6a;height:100%;display:block}.progress.alert .meter{background:#f04124;height:100%;display:block}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.sub-nav{display:block;width:auto;overflow:hidden;margin-bottom:-0.25rem 0 1.125rem;padding-top:0.25rem}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{float:left;display:inline;margin-left:1rem;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-size:0.875rem;color:#999}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{text-decoration:none;color:#999;padding:0.1875rem 1rem}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;font-weight:normal;background:#008cba;padding:0.1875rem 1rem;cursor:default;color:#fff}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.joyride-list{display:none}.joyride-tip-guide{display:none;position:absolute;background:#333;color:#fff;z-index:101;top:0;left:2.5%;font-family:inherit;font-weight:normal;width:95%}.lt-ie9 .joyride-tip-guide{max-width:800px;left:50%;margin-left:-400px}.joyride-content-wrapper{width:100%;padding:1.125rem 1.25rem 1.5rem}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{display:block;position:absolute;left:22px;width:0;height:0;border:10px solid #333}.joyride-tip-guide .joyride-nub.top{border-top-style:solid;border-color:#333;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-bottom-style:solid;border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{line-height:1.25;margin:0;font-weight:bold;color:#fff}.joyride-tip-guide p{margin:0 0 1.125rem 0;font-size:0.875rem;line-height:1.3}.joyride-timer-indicator-wrap{width:50px;height:3px;border:solid 1px #555;position:absolute;right:1.0625rem;bottom:1rem}.joyride-timer-indicator{display:block;width:0;height:inherit;background:#666}.joyride-close-tip{position:absolute;right:12px;top:10px;color:#777 !important;text-decoration:none;font-size:24px;font-weight:normal;line-height:.5 !important}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{position:fixed;height:100%;width:100%;background:transparent;background:rgba(0,0,0,0.5);z-index:100;display:none;top:0;left:0;cursor:pointer}.joyride-expose-wrapper{background-color:#fff;position:absolute;border-radius:3px;z-index:102;box-shadow:0 0 15px #fff}.joyride-expose-cover{background:transparent;border-radius:3px;position:absolute;z-index:9999;top:0;left:0}@media only screen and (min-width: 40.063em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:auto;right:-20px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-top-color:transparent !important;border-left-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:-20px;right:auto}}.label{font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:inherit;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008cba;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43ac6a;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.125rem}.left-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-right:solid 1px #1a1a1a;left:0}.right-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{padding:0 0.625rem;position:absolute;text-align:center;height:2.8125rem;top:0}@media only screen and (min-width: 40.063em){.tab-bar-section.left,.tab-bar-section.right{text-align:left}}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{text-indent:2.1875rem;width:2.8125rem;height:2.8125rem;display:block;padding:0;color:#fff;position:relative;transform:translate3d(0, 0, 0)}.tab-bar .menu-icon span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-0.5rem;left:0.90625rem;box-shadow:0 0px 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0px 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(-100.5%, 0);-webkit-transform:translate3d(-100.5%, 0, 0);-moz-transform:translate3d(-100.5%, 0, 0);-ms-transform:translate3d(-100.5%, 0, 0);-o-transform:translate3d(-100.5%, 0, 0);transform:translate3d(-100.5%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(100.5%, 0);-webkit-transform:translate3d(100.5%, 0, 0);-moz-transform:translate3d(100.5%, 0, 0);-ms-transform:translate3d(100.5%, 0, 0);-o-transform:translate3d(100.5%, 0, 0);transform:translate3d(100.5%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;padding:0;margin:0}ul.off-canvas-list li label{display:block;padding:0.3rem 0.9375rem;color:#999;text-transform:uppercase;font-size:0.75rem;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}ul.off-canvas-list li a{display:block;padding:0.66667rem;color:rgba(255,255,255,0.7);border-bottom:1px solid #262626;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}.move-right>.inner-wrap{-ms-transform:translate(15.625rem, 0);-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width: 40.063em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-ms-transform:translate(-15.625rem, 0);-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width: 40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width: 40.063em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width: 40.063em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width: 40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{padding:0.3rem 0.9375rem;color:#999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.left-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.left-submenu .back>a:before{content:"\AB";margin-right:0.5rem;display:inline}.left-submenu.move-right{-ms-transform:translate(0%, 0);-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{padding:0.3rem 0.9375rem;color:#999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.right-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.right-submenu .back>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-submenu.move-left{-ms-transform:translate(0%, 0);-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:0.5rem;display:inline}.f-dropdown{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#fff;border:solid 1px #ccc;font-size:0.875rem;z-index:89;margin-top:2px;max-width:200px}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#fff;border:solid 1px #ccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#fff;border:solid 1px #ccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#fff;border:solid 1px #ccc;font-size:0.875rem;z-index:89;margin-top:-2px;margin-left:0;max-width:200px}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:#fff transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-12px;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:#ccc transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-14px;left:9px;right:auto;z-index:88}.f-dropdown li{font-size:0.875rem;cursor:pointer;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555}.f-dropdown.content{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;padding:1.25rem;width:100%;height:auto;max-height:none;background:#fff;border:solid 1px #ccc;font-size:0.875rem;z-index:89;max-width:200px}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}table{background:#fff;margin-bottom:1.25rem;border:solid 1px #ddd;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#f5f5f5}table thead tr th,table thead tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222}table tfoot{background:#f5f5f5}table tfoot tr th,table tfoot tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222}table tr th,table tr td{padding:0.5625rem 0.625rem;font-size:0.875rem;color:#222;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f9f9f9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.range-slider{display:block;position:relative;width:100%;height:1rem;border:1px solid #ddd;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;background:#fafafa}.range-slider.vertical-range{display:block;position:relative;width:100%;height:1rem;border:1px solid #ddd;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;display:inline-block;width:1rem;height:12.5rem}.range-slider.vertical-range .range-slider-handle{margin-top:0;margin-left:-0.5rem;position:absolute;bottom:-10.5rem}.range-slider.vertical-range .range-slider-active-segment{width:0.875rem;height:auto;bottom:0}.range-slider.radius{background:#fafafa;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008cba;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#fafafa;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008cba;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#fafafa;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008cba;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{display:inline-block;position:absolute;height:0.875rem;background:#e5e5e5}.range-slider-handle{display:inline-block;position:absolute;z-index:1;top:-0.3125rem;width:2rem;height:1.375rem;border:1px solid none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background:#008cba}.range-slider-handle:hover{background:#007ba4}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;height:auto;float:left;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{width:100%;list-style:none}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{width:50%;list-style:none}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{width:33.33333%;list-style:none}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{width:25%;list-style:none}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{width:20%;list-style:none}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{width:16.66667%;list-style:none}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{width:14.28571%;list-style:none}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{width:12.5%;list-style:none}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{width:11.11111%;list-style:none}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{width:10%;list-style:none}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{width:9.09091%;list-style:none}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{width:8.33333%;list-style:none}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.063em){.medium-block-grid-1>li{width:100%;list-style:none}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{width:50%;list-style:none}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{width:33.33333%;list-style:none}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{width:25%;list-style:none}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{width:20%;list-style:none}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{width:16.66667%;list-style:none}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{width:14.28571%;list-style:none}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{width:12.5%;list-style:none}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{width:11.11111%;list-style:none}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{width:10%;list-style:none}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{width:9.09091%;list-style:none}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{width:8.33333%;list-style:none}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.063em){.large-block-grid-1>li{width:100%;list-style:none}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{width:50%;list-style:none}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{width:33.33333%;list-style:none}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{width:25%;list-style:none}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{width:20%;list-style:none}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{width:16.66667%;list-style:none}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{width:14.28571%;list-style:none}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{width:12.5%;list-style:none}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{width:11.11111%;list-style:none}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{width:10%;list-style:none}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{width:9.09091%;list-style:none}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{width:8.33333%;list-style:none}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.flex-video{position:relative;padding-top:1.5625rem;padding-bottom:67.5%;height:0;margin-bottom:1rem;overflow:hidden}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;padding:0.125rem 0.25rem 0;border-radius:3px}.switch{padding:0;border:none;position:relative;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch label{display:block;margin-bottom:1rem;position:relative;color:transparent;background:#ddd;text-indent:100%;width:4rem;height:2rem;cursor:pointer;transition:left 0.15s ease-out}.switch input{opacity:0;position:absolute;top:9px;left:10px;padding:0}.switch input+label{margin-left:0;margin-right:0}.switch label:after{content:"";display:block;background:#fff;position:absolute;top:.25rem;left:.25rem;width:1.5rem;height:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008cba}.switch input:checked+label:after{left:2.25rem}.switch label{width:4rem;height:2rem}.switch label:after{width:1.5rem;height:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#008cba}.switch.large label{width:5rem;height:2.5rem}.switch.large label:after{width:2rem;height:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{width:3.5rem;height:1.75rem}.switch.small label:after{width:1.25rem;height:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{width:3rem;height:1.5rem}.switch.tiny label:after{width:1rem;height:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xxlarge-only,.hide-for-xxlarge-up{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xxlarge-only,.show-for-xxlarge-up{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xxlarge-only,.visible-for-xxlarge-up{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up{display:table-row !important}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up{display:table-cell !important}}@media only screen and (min-width: 40.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xxlarge-only,.hide-for-xxlarge-up{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xxlarge-only,.show-for-xxlarge-up{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xxlarge-only,.visible-for-xxlarge-up{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up{display:table-row !important}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up{display:table-cell !important}}@media only screen and (min-width: 64.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xxlarge-only,.hide-for-xxlarge-up{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xxlarge-only,.show-for-xxlarge-up{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xxlarge-only,.visible-for-xxlarge-up{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up{display:table-row !important}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up{display:table-cell !important}}@media only screen and (min-width: 90.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.hide-for-xxlarge-only,.hide-for-xxlarge-up{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.show-for-xxlarge-only,.show-for-xxlarge-up{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xxlarge-only,.visible-for-xxlarge-up{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up{display:table-row !important}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up{display:table-cell !important}}@media only screen and (min-width: 120.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.show-for-xxlarge-only,.show-for-xxlarge-up{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xxlarge-only,.hide-for-xxlarge-up{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xxlarge-only,.visible-for-xxlarge-up{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xxlarge-only,table.show-for-xxlarge-up{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up{display:table-row !important}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}} diff --git a/css/images/_notes/dwsync.xml b/css/images/_notes/dwsync.xml deleted file mode 100644 index 9866ef3..0000000 --- a/css/images/_notes/dwsync.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/css/images/details_close.png b/css/images/details_close.png deleted file mode 100644 index 9c7d6982d9a1408f24278ed38458bcf4722f365f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686 zcmV;f0#W^mP)rc9KHq9BMrrU)X4H-ZEQYRE1Mf85oDS6+Hm_uUD?Zq_fw zn=!^pDk~VX)hyi>=S**$PUrUR`S!lB@UYy4U- zlEcGD4Gkgv=rJ;WKMI))DAuw^dT%HXWm=_w?8Z*(BJ3CQI%#--o7^rMEd#LBM)@B$J!$?OvK`BMr zRsP$^2&f}b(NMqg?(VM1WPEB0UtKPttw@_o;Zl6jYuxh?_E**)MMmZ=lj-GUY_zo4 zX(g@tS*_O65-5I9{ZVRcW0RMmjZRMDLvyp>RI5|PAGtc61d;J^<~u33U#`0zaEJU_|e`8Yr*V+r?U8t8q~5ysN3H=`#OLdQ`{tkJnH+Sb-{!Kx_E1b-CDbv<6zhT-G!; zHrm-k^-4++%<@a!5cN&=qHLfPW&NcnA1I0WN?Z#PQ?_Tq4T=XPJ+fmXr9Rgh3WX*Z zY#nYzQEw57`)ss=4Tg%vFE(OA%kWiDnx_5WNX2@ofwe7&7_56;heB6A3S0$9q(X_2 z`oVfov$L}iHK*xu4Qu;rVd=8M;tWJwyMNQvvP;;W?hU$~2rlvFo8-^N?*Lg_D zTe3=V`<3HIr6d4&egY9GOIM|W1%+nkgGI!)I?U}_s`qE~MPPaOgl(?}8>tURI zbq@QVWUtD}o>Q37XTTcP8e{XvVEg@k7er&fzT$lU1!T4DL)K$KEZM8pr+dy|-ehDF_X77(*?9ze9%f;;Q2ML_ci!DaFdSTY^)igBw_c9}Yfb<4e2tHf re}@wNRi3XkJ+L;i)(3W7{ssI7YL=IQ_s#k*00000NkvXXu0mjfLt|7w diff --git a/css/images/sort_asc.png b/css/images/sort_asc.png deleted file mode 100644 index e1ba61a8055fcb18273f2468d335572204667b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*bWaz@5R22v2@;zYta_*?F5u6Q zWR@in#&u+WgT?Hi<}D3B3}GOXuX|8Oj3tosHiJ3*4TN zC7>_x-r1O=t(?KoTC+`+>7&2GzdqLHBg&F)2Q?&EGZ+}|Rpsc~9`m>jw35No)z4*} HQ$iB}HK{Sd diff --git a/css/images/sort_asc_disabled.png b/css/images/sort_asc_disabled.png deleted file mode 100644 index fb11dfe24a6c564cb7ddf8bc96703ebb121df1e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRX(Vi}jAsXkC6BcOhI9!^3NY?Do zDX;f`c1`y6n0RgO@$!H7chZT&|Jn0dmaqO^XNm-CGtk!Ur<_=Jws3;%W$<+Mb6Mw<&;$T1GdZXL diff --git a/css/images/sort_both.png b/css/images/sort_both.png deleted file mode 100644 index af5bc7c5a10b9d6d57cb641aeec752428a07f0ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRX6FglULp08Bycxyy87-Q;~nRxO8@-UU*I^KVWyN+&SiMHu5xDOu|HNvwzODfTdXjhVyNu1 z#7^XbGKZ7LW3XeONb$RKLeE*WhqbYpIXPIqK@r4)v+qN8um%99%MPpS9d#7Ed7SL@Bp00i_>zopr0H-Zb Aj{pDw diff --git a/css/images/sort_desc.png b/css/images/sort_desc.png deleted file mode 100644 index 0e156deb5f61d18f9e2ec5da4f6a8c94a5b4fb41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*R8JSj5R22v2@yo z(czD9$NuDl3Ljm9c#_#4$vXUz=f1~&WY3aa=h!;z7fOEN>ySP9QA=6C-^Dmb&tuM= z4Z&=WZU;2WF>e%GI&mWJk^K!jrbro{W;-I>FeCfLGJl3}+Z^2)3Kw?+EoAU?^>bP0 Hl+XkKC^j|Q{b@g3TV7E(Grjn^aLC2o)_ptHrtUEoT$S@q)~)7U@V;W{6)!%@ u>N?4t-1qslpJw9!O?PJ&w0Cby li, -.tabcontrol ul > li -{ - display: block; - padding: 0; -} - -/* Accessibility */ -.wizard > .steps .current-info, -.tabcontrol > .steps .current-info -{ - position: absolute; - left: -999em; -} - -.wizard > .content > .title, -.tabcontrol > .content > .title -{ - position: absolute; - left: -999em; -} - - - -/* - Wizard -*/ - -.wizard > .steps -{ - position: relative; - display: block; - width: 100%; -} - -.wizard.vertical > .steps -{ - display: inline; - float: left; - width: 30%; -} - -.wizard > .steps .number -{ - font-size: 1.429em; -} - -.wizard > .steps > ul > li -{ - width: 25%; -} - -.wizard > .steps > ul > li, -.wizard > .actions > ul > li -{ - float: left; -} - -.wizard.vertical > .steps > ul > li -{ - float: none; - width: 100%; -} - -.wizard > .steps a, -.wizard > .steps a:hover, -.wizard > .steps a:active -{ - display: block; - width: auto; - margin: 0 0.5em 0.5em; - padding: 1em 1em; - text-decoration: none; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard > .steps .disabled a, -.wizard > .steps .disabled a:hover, -.wizard > .steps .disabled a:active -{ - background: #eee; - color: #aaa; - cursor: default; -} - -.wizard > .steps .current a, -.wizard > .steps .current a:hover, -.wizard > .steps .current a:active -{ - background: #f16c65; - color: #fff; - cursor: default; -} - -.wizard > .steps .done a, -.wizard > .steps .done a:hover, -.wizard > .steps .done a:active -{ - background: rgba(248, 168, 164, 1); - color: #fff; -} - -.wizard > .steps .error a, -.wizard > .steps .error a:hover, -.wizard > .steps .error a:active -{ - background: #f16c65; - color: #fff; -} - -.wizard > .content -{ - /*background: #eee;*/ - display: block; - margin: 0.5em; - min-height: 20em; - overflow: hidden; - position: relative; - width: auto; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard.vertical > .content -{ - display: inline; - float: left; - margin: 0 2.5% 0.5em 2.5%; - width: 65%; -} - -.wizard > .content > .body -{ - float: left; - position: absolute; - width: 95%; - height: 95%; - padding: 2.5%; - padding-left:0px; -} - -.wizard > .content > .body ul -{ - list-style: disc !important; -} - -.wizard > .content > .body ul > li -{ - display: list-item; -} - -.wizard > .content > .body > iframe -{ - border: 0 none; - width: 100%; - height: 100%; -} - -.wizard > .content > .body input -{ - display: block; - border: 1px solid #ccc; -} - -.wizard > .content > .body input[type="checkbox"] -{ - display: inline-block; -} - -.wizard > .content > .body input.error -{ - background: rgb(251, 227, 228); - border: 1px solid #fbc2c4; - color: #8a1f11; -} - -.wizard > .content > .body label -{ - display: inline-block; - margin-bottom: 0.5em; -} - -.wizard > .content > .body label.error -{ - color: #8a1f11; - display: inline-block; - margin-left: 1.5em; -} - -.wizard > .actions -{ - position: relative; - display: block; - text-align: right; - width: 100%; -} - -.wizard.vertical > .actions -{ - display: inline; - float: right; - margin: 0 2.5%; - width: 95%; -} - -.wizard > .actions > ul -{ - display: inline-block; - text-align: right; -} - -.wizard > .actions > ul > li -{ - margin: 0 0.5em; -} - -.wizard.vertical > .actions > ul > li -{ - margin: 0 0 0 1em; -} - -.wizard > .actions a, -.wizard > .actions a:hover, -.wizard > .actions a:active -{ - background: #f16c65; - color: #fff; - display: block; - padding: 0.5em 1em; - text-decoration: none; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard > .actions .disabled a, -.wizard > .actions .disabled a:hover, -.wizard > .actions .disabled a:active -{ - background: #eee; - color: #aaa; -} - -.wizard > .loading -{ -} - -.wizard > .loading .spinner -{ -} - - - -/* - Tabcontrol -*/ - -.tabcontrol > .steps -{ - position: relative; - display: block; - width: 100%; -} - -.tabcontrol > .steps > ul -{ - position: relative; - margin: 6px 0 0 0; - top: 1px; - z-index: 1; -} - -.tabcontrol > .steps > ul > li -{ - float: left; - margin: 5px 2px 0 0; - padding: 1px; - - -webkit-border-top-left-radius: 5px; - -webkit-border-top-right-radius: 5px; - -moz-border-radius-topleft: 5px; - -moz-border-radius-topright: 5px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.tabcontrol > .steps > ul > li:hover -{ - background: #edecec; - border: 1px solid #bbb; - padding: 0; -} - -.tabcontrol > .steps > ul > li.current -{ - background: #fff; - border: 1px solid #bbb; - border-bottom: 0 none; - padding: 0 0 1px 0; - margin-top: 0; -} - -.tabcontrol > .steps > ul > li > a -{ - color: #5f5f5f; - display: inline-block; - border: 0 none; - margin: 0; - padding: 10px 30px; - text-decoration: none; -} - -.tabcontrol > .steps > ul > li > a:hover -{ - text-decoration: none; -} - -.tabcontrol > .steps > ul > li.current > a -{ - padding: 15px 30px 10px 30px; -} - -.tabcontrol > .content -{ - position: relative; - display: inline-block; - width: 100%; - height: 35em; - overflow: hidden; - border-top: 1px solid #bbb; - padding-top: 20px; -} - -.tabcontrol > .content > .body -{ - float: left; - position: absolute; - width: 95%; - height: 95%; - padding: 2.5%; -} - -.tabcontrol > .content > .body ul -{ - list-style: disc !important; -} - -.tabcontrol > .content > .body ul > li -{ - display: list-item; -} \ No newline at end of file diff --git a/css/jquery.tagsinput.css b/css/jquery.tagsinput.css deleted file mode 100644 index e316ac4..0000000 --- a/css/jquery.tagsinput.css +++ /dev/null @@ -1,59 +0,0 @@ -div.tagsinput { - border: 1px solid #CCC; - background: #FFF; - padding: 5px; - width: 300px; - height: 100px; - overflow-y: auto; -} - - div.tagsinput span.tag { - border: 1px solid #f16c65; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - display: block; - float: left; - padding: 5px; - text-decoration: none; - background: #f16c65; - color: #fff; - margin-right: 5px; - margin-bottom: 5px; - font-size: 13px; - } - - div.tagsinput span.tag a { - font-weight: bold; - color: #fff; - text-decoration: none; - font-size: 11px; - } - - div.tagsinput input { - width: 80px; - margin: 0px; - font-size: 13px; - border: 1px solid transparent; - padding: 5px; - background: transparent; - color: #000; - outline: 0px; - margin-right: 5px; - margin-bottom: 5px; - } - - div.tagsinput div { - display: block; - float: left; - } - -.tags_clear { - clear: both; - width: 100%; - height: 0px; -} - -.not_valid { - background: #FBD8DB !important; - color: #90111A !important; -} diff --git a/css/plugins/morris/_notes/dwsync.xml b/css/plugins/morris/_notes/dwsync.xml deleted file mode 100644 index b497fbe..0000000 --- a/css/plugins/morris/_notes/dwsync.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/css/plugins/morris/morris-0.4.3.min.css b/css/plugins/morris/morris-0.4.3.min.css deleted file mode 100644 index 99a7134..0000000 --- a/css/plugins/morris/morris-0.4.3.min.css +++ /dev/null @@ -1,2 +0,0 @@ -.morris-hover{position:absolute;z-index:1000;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-family:sans-serif;font-size:12px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} -.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} \ No newline at end of file diff --git a/css/responsive-tables.css b/css/responsive-tables.css deleted file mode 100644 index f0a905c..0000000 --- a/css/responsive-tables.css +++ /dev/null @@ -1,38 +0,0 @@ -/* Foundation v2.1.4 http://foundation.zurb.com */ -/* Artfully masterminded by ZURB */ - -/* -------------------------------------------------- - Table of Contents ------------------------------------------------------ -:: Shared Styles -:: Page Name 1 -:: Page Name 2 -*/ - - -/* ----------------------------------------- - Shared Styles ------------------------------------------ */ - -table th { font-weight: bold; } -table td, table th { padding: 9px 10px; text-align: left; } - -/* Mobile */ -@media only screen and (max-width: 767px) { - - table.responsive { margin-bottom: 0; } - - .pinned { position: absolute; left: 0; top: 0; background: #fff; width: 35%; overflow: hidden; overflow-x: scroll; border-right: 1px solid #ccc; border-left: 1px solid #ccc; } - .pinned table { border-right: none; border-left: none; width: 100%; } - .pinned table th, .pinned table td { white-space: nowrap; } - .pinned td:last-child { border-bottom: 0; } - - div.table-wrapper { position: relative; margin-bottom: 20px; overflow: hidden; border-right: 1px solid #ccc; } - div.table-wrapper div.scrollable { margin-left: 35%; } - div.table-wrapper div.scrollable { overflow: scroll; overflow-y: hidden; } - - table.responsive td, table.responsive th { position: relative; white-space: nowrap; overflow: hidden; } - table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td { display: none; } - - -} diff --git a/css/style.css b/css/style.css deleted file mode 100644 index 64d3162..0000000 --- a/css/style.css +++ /dev/null @@ -1,742 +0,0 @@ -body { - font-family: 'Roboto', 'sans-serif'; - color: #84888a !important; - background-color: #f3f3f3; -} - -a { - color: #656C70; -} - -.border { - border: 1px solid #e1e1e1; -} - -a:hover, .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { - color: #f16c65; -} - -.tabs-content { - margin-bottom: 1.5rem; - width: 100%; - border: 1px solid #E2E2E2; - border-top: 0px; -} - -.error_message { - color: red; - font-size: 20px; -} - -.top-bar-picture { - height: 40px; - border-radius: 50%; - width: 40px; -} - -.side-nav { - border-right: 1px solid #E6E0E6; - padding-bottom: 0px; -} - - .side-nav > li > ul { - margin-left: 0px; - } - - - .side-nav .accordion dd > a { - background: #FFFFFF; - color: #656C70; - padding: 0px; - } - -.top-part-no-padding { - padding-left: 0px; - padding-right: 0px; -} - -.top-menu { - background-color: #2d2f3b; - min-height: 70px; - padding-top: 10px; -} - -.toggles { - font-size: 1.3rem; - color: #fff; - display: none; - margin-left: 5px; - position: relative; -} - - .toggles:hover { - cursor: pointer; - } - -@media all and (max-width:1025px) { - .toggles { - font-size: 1.3rem; - color: #fff; - display: inline !important; - } - - .side-nav { - display: none; - } -} - -@media all and (min-width:1026px) { - .side-nav { - display: block !important; - } -} - -.logo-bg { - background-color: #f16c65; - min-height: 70px; - padding-top: 10px; -} - -.power-off { - font-size: 2rem; - top: 7px; - position: relative; - border-left: 1px solid #746E6E; - padding-left: 18px; -} - - .power-off:hover { - color: #f16c65; - } - -@media all and (max-width:640px) { - .power-off { - padding-left: 0px; - border: 0px; - } - - .top-menu { - min-height: 126px; - } -} - -body, html { - position: relative; - min-height: 100%; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Roboto', 'sans-serif'; - font-weight: 300; - color: #656C70 !important; -} - -p, div { - font-size: .90rem; - font-weight: 300; -} - -div { - line-height: 1.2rem; -} - -table tr th, table tr td { - padding: 0.5625rem 0.625rem; - font-size: 0.875rem; - color: #656C70; -} - -.wrapper { -} - -.content-bg { - background: #f3f3f3; -} - -a { - font-weight: 300; - font-family: 'Roboto', 'sans-serif'; -} - -.side-nav { - background: #fff; -} - - .side-nav li { - list-style: none; - } - - .side-nav > li { - padding: 10px; - border-bottom: 1px solid #ebeaeb; - vertical-align: middle; - } - - .side-nav li a:not(.button) { - color: #444; - } - - .side-nav .active { - color: #f16c65; - } - - .side-nav li.active > a:first-child:not(.button) { - color: #f16c65; - font-weight: bold; - } - -.no-padding .columns { - padding: 0px; -} - -.row.full-width { - width: 100%; - max-width: 100%; -} - -.bar-menu { - background: #fff; - border: 1px solid #D8D8D8; - border-bottom: 2px solid #e1e1e1; - width: 97%; - margin: auto; - margin-top: 10px; - margin-bottom: 10px; - height: 50px; -} - -input[type="text"] { - box-shadow: none; -} - -.search-text { - -moz-border-radius: 20px; - border-radius: 20px; - background: #1E202B!important; - border: 1px solid #1E202B!important; - text-align: left; - margin-top: 7px !important; - color: #fff !important; -} -/*color*/ -.blue { - color: #2d2f3b !important; -} - -.blue-bg { - background: #2d2f3b; - color: #fff; -} - .blue-bg:hover { - background: #282A38; - } - -.white { - color: #fff !important; -} - -.white-bg { - background: #fff; -} - -.light-grey-bg { - background-color: #f3f3f3; -} - - - -.light-dark-bg { - background-color: rgba(215, 215, 215, 1); -} - -.light-grey-bg-pattern { - background-color: #f3f3f3; - padding-bottom: 20px; -} - -.coral { - color: #f16c65 !important; -} - -.coral-bg { - background: #f16c65; - color: #fff; -} - - .coral-bg:hover { - background: #FC5850; - } - -.white-bg-btn { - background: #fff; - color: #444; - border: 1px solid #e1e1e1; -} - - .white-bg-btn:hover { - border-color: #FC5850; - background: #fff; - color: #FC5850; - } - -.width-100 { - width: 100%; -} - -.width-95 { - width: 95%; -} - - -.fb-blue { - background: #013567; -} - -.google-plus { - background: #dd4c39; -} - -.dribbble { - background: #e14c86; -} -/*end color*/ - -/*top menu*/ -#top-menu { - min-height: 70px; - position: relative; - z-index: 9; -} - -.page-name { - margin-bottom: 10px; - margin-top: 24px; -} - - .page-name span { - margin-top: 17px; - margin-left: 10px; - } - -.sbar-menu { - color: #788288 !important; - background-color: #fcfcfd; - border: 1px solid #d2dae1; - border-bottom-color: #cbd5dd; - text-align: center; - padding: 5px; - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - border-radius: 20px; - font-size: 1rem; - -webkit-box-shadow: 0 1px 1px rgba(90,90,90,0.1); - box-shadow: 0 1px 1px rgba(90,90,90,0.1); -} -/*end top menu*/ - - -/*login*/ - -#login input[type="text"], #login input[type="password"] { - margin: 0px; - height: 50px; -} - -.border-radius-top { - -webkit-border-top-left-radius: 3px; - -webkit-border-top-right-radius: 3px; - -moz-border-radius-topleft: 3px; - -moz-border-radius-topright: 3px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom: 0px !important; -} - - -.border-radius-bottom { - -webkit-border-bottom-right-radius: 3px; - -webkit-border-bottom-left-radius: 3px; - -moz-border-radius-bottomright: 3px; - -moz-border-radius-bottomleft: 3px; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} - -.no-radius { - border-radius: 0px; - border-bottom: 0px !important; -} - -/*end login*/ - - - -/*pricing*/ -.pricing-table .title { - background-color: #fff; - padding: 0.9375rem 1.25rem; - text-align: center; - color: #444; - font-weight: 300; - font-size: 1.5rem; - font-family: 'Lato', 'sans-serif'; -} - -.custom-price { - width: 100px; - height: 100px; - border-radius: 50%; - background-color: #f16c65; - margin: auto; - color: #fff; - padding-top: 40px; - text-align: center; -} - -.pricing-table { - border: solid 1px #dddddd; - margin-left: 0; - margin-bottom: 1.25rem; - background-color: #fff; -} - - -.recommended { - background-color: #2d2f3b; - height: 470px; -} - -.not-recommended { - margin-top: 20px; -} - -.recommended .description, .recommended .bullet-item, .recommended .title, .recommended .cta-button { - background-color: #2d2f3b; - color: #fff; - border: 0px; -} - -#pricing { - padding: 1rem; - width: 100%; - margin: auto; -} - - #pricing .columns { - padding: 0px; - } -/*end pricing*/ - -/*staff*/ - -.btn-padding { - padding: 10px; -} - -.staff-detail { - background: #fff; - text-align: center; - border: 1px solid #e1e1e1; - border-bottom: 2px solid #e1e1e1; - margin-top: 5px; -} - - .staff-detail .button { - margin-bottom: .7rem; - } - -.staff-info { - padding: 10px 10px 0px 10px; - height: 110px; -} - .staff-info h5 { - margin-top:20px; - } - -.staff-social-info { - margin-top: -35px; - position: relative; -} - - .staff-social-info i { - font-size: 20px; - color: #fff; - padding: 5px 10px 5px 10px; - border-radius: 50%; - } -/*end staff*/ - -/*invoice*/ -.custom-table, .custom-table-border { - background: none; - margin-bottom: 1.25rem; - border: 0px; - border-collapse: collapse; - border-spacing: 0; -} - - .custom-table tr.even, .custom-table tr.alt, .custom-table-border tr:nth-of-type(2n) { - background: none repeat scroll 0% 0% #fff; - } - - .custom-table td { - padding: 1.563rem 3.625rem; - text-align: center; - } - - .custom-table-border tr.even, .custom-table-border tr.alt, .custom-table-border tr:nth-of-type(2n) { - background: none; - } - - .custom-table-border td { - border-bottom: 1px solid #e1e1e1; - } - - .custom-table tr td:nth-child(1) { - padding-left: 2px; - text-align: left; - } - -#payment-method i { - font-size: 44px; - margin-right: 25px; - text-align: right; -} -/*end invoice*/ - -/*form*/ -.custom-panel { - box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); - -webkit-border-top-left-radius: 3px; - -webkit-border-top-right-radius: 3px; - -moz-border-radius-topleft: 3px; - -moz-border-radius-topright: 3px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border: 1px solid #e1e1e1; - border-top: 0px; - margin-top: 15px; -} - -.custom-panel-heading { - padding: 10px; - background: rgba(90,90,90,0.1); -} - -.custom-panel-body { - background: #fff; - padding: 10px; -} - - - - -/*general*/ - -.check-radio label { - display: inline-block; - cursor: pointer; - position: relative; - padding-left: 25px; - margin-right: 15px; - font-size: 13px; -} - -.check-radio input[type=radio], .check-radio input[type=checkbox] { - display: none; -} - -.check-radio label:before { - content: ""; - display: inline-block; - width: 16px; - height: 16px; - margin-right: 10px; - position: absolute; - left: 0; - bottom: 1px; - background-color: #aaa; - box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8); -} - -.check-radio .radio label:before { - border-radius: 8px; -} - -.check-radio .checkbox label { - margin-bottom: 10px; -} - - .check-radio .checkbox label:before { - border-radius: 3px; - } - -.check-radio input[type=radio]:checked + label:before { - content: "\2022"; - color: #f3f3f3; - font-size: 30px; - text-align: center; - line-height: 18px; -} - -.check-radio input[type=checkbox]:checked + label:before { - content: "\2713"; - text-shadow: 1px 1px 1px rgba(0, 0, 0, .2); - font-size: 15px; - color: #f3f3f3; - text-align: center; - line-height: 15px; -} - -.range-slider-active-segment { - display: inline-block; - position: absolute; - height: 0.875rem; -} - -.range-orange { - background: none repeat scroll 0% 0% #d9450c; -} - -.range-green { - background: none repeat scroll 0% 0% #0a9d11; -} - -.range-purple { - background: none repeat scroll 0% 0% #8d0b8a; -} - - -.range-slider-handle { - display: inline-block; - position: absolute; - z-index: 1; - top: -0.425rem; - width: 2rem; - height: 1.375rem; - cursor: pointer; - width: 30px; - height: 30px; - background-color: #FFF; - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); - border: 1px solid rgba(0, 0, 0, 0.1); - border-radius: 50%; -} -/*end slider*/ -/*end form*/ -/*inbox*/ -#inbox i { - margin-right:5px; -} -/*end inbox*/ - -/*dashboard*/ -.stats { - background: #fff; - padding: 10px; - margin-top: 5px; -} - - .stats i { - padding: 10px; - color: #fff; - font-size: 2rem; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - } - -.orders { - background: #07a5bb; -} - -.sales { - background: #ee0c0c; -} - -.user { - background: #11ba77; -} - -.profit { - background: #ddd915; -} - -.notification span { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - padding: 1px 6px 1px 6px; - font-size: .6rem; - top: -10px; - position: relative; -} - -.notification i { - color: #fff; - font-size: 1.8rem; - top: 10px; - position: relative; - text-align: center; -} - -.mail { - background: #07a5bb; - color: #fff; -} - -.megaphone { - background: #0bba1a; - color: #fff; -} -/*end dashboard*/ - -/*profile item*/ -.profile-item { - padding: 10px; -} - -.profile-picture { - border-radius: 50%; - width: 150px; - height: 150px; -} - -.ongoing-task { - margin-top: 10px; - padding: 10px; -} - - .ongoing-task .yellow-progress { - background: #d4b70a; - } - - .ongoing-task .purple-progress { - background: #a00c98; - } - - - -.profile-info .content { - padding: 10px; -} - -.profile-info img { - width: 50px; - height: 50px; -} - -.profile-info dd a { - color: #656C70; -} - -@media all and (max-width:1024px) { - .profile-item { - text-align: center; - } - - .profile-item h4 { - margin-top: 5px; - } -} -/* end profile item*/ diff --git a/css/throbber.gif b/css/throbber.gif deleted file mode 100644 index 1b5b2fde42f8ea14e6981339196a9d62b681d79e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1720 zcmZ|OYfMvT7zgm4p2O+ea@rnBg#)OxTPX)YQxLES+gfgxVz~&+f}$;m6s%Hi3W%nq zP@z^qrV}=TNF%FL8K5q@MN>cp#S0pVI*qHSli{|&j8i`-D~lhy5AU}p`Tz2N-e*-( zqBu&8Q*g>F3T19?Zf0i2Y&JU_j>N>onwlC4g`!j{1p>jzlP51;yvXHpJ32ZL1c{7{ z)MzyPIro%=%#1i`T0+<|5ezw}`5%1a$_msK1)F#~iYhcbb+NiiTcX~ytZ3Wj5(@tv zLT5OqLY&VTiBl*@DK5jOqAQC<V}_H8&J8*d!6F|8^P+>r!@8gG==_FR|TOFO5N ztmi!uPli+Ln$x?H-gK%V=cf&)%tK3Ubl`;)j){YK#AZm_($yDbHN+iIVb4-MA(|Tn z%Y=0Su-m75IE?%N1|!SEl|tuKXsXZNj2Z=vp;+=jlJSZD2EODW0H`sM#)b0zgDU0)5!Grr5zO1 zNgN^!L7)EBFUC+Zhm%Mr7yC91@!CieHdPd#!o7Jn^!!TMrU0vgH)|h-!|2wozJKmj z`G&1Z^{+00Fi|SEx@=o?UTI)xo@>T@7i7MZAqTYCMc0JP{oZJEdWye2L~bM45otrq zk@}$q6%b*2<$_YGZVC^6PBqU&pG6rtOM!WN;+E;i3EB*=+K0j60WC&J{7x}V=Ak(w<1X>er- zV`_bHI~Y%5hQkS?_Lf?1C-Yh;suT(z!ZdS6NOH8>FGetNtnE-ngIxI9OKM9M!nq|ao z@ByV)WU%+EiuxlBZ=#rs_ZnY%+O^bXr2P8_g2l~7Z8221w?Uyx%!zc@?f!tWxz6{`xAWPUyeq1Vbvuj7m$3Dh(PTY04bw^_A zwRr|LuoC34N#A1;?zXdaId|wW$kzq2e~Uqdrq=@A0^DlGO4UM zzCO9@&t7@ohLX-t)ftJ| z)q;&?w?;l@^4Pc`;x3vPJ8(itFdKg3;$nap8V7O~;L775>pjUjnIyS=0%4f;&$i;^ q^<`2=x-x(uk2YUU2h;2jemskO_4rHker(f.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} \ No newline at end of file diff --git a/csv/_notes/dwsync.xml b/csv/_notes/dwsync.xml deleted file mode 100644 index 40088aa..0000000 --- a/csv/_notes/dwsync.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/csv/asdasd.txt b/csv/asdasd.txt deleted file mode 100644 index e69de29..0000000 diff --git a/csv/custom-2017_02_28_16_11_37.csv b/csv/custom-2017_02_28_16_11_37.csv deleted file mode 100644 index 1a87bfb..0000000 --- a/csv/custom-2017_02_28_16_11_37.csv +++ /dev/null @@ -1,33 +0,0 @@ -Advertiser;; -Art of Click;38;123,09 -AlliTapp;1;0 -Persona.ly;1;0 -BlackFox;1;0 -Epom Market;1;0 -Instal;1;0 -Seko Media;1;0 -Kwanko (Swelen);150;147 -Nanalab;111;766 -Ad3traffic;1;0 -Adooya Crossrider CPA;1;0 -Marvel Media;210;84 -MoBrain (Headway);130;57,62 -Buongiorno (taplinks);50;435,5 -IDB Group;2;0 -Image Perfect;1;0 -Maverick CPA;1;0 -Mobilogia;1;5,22 -Mobsai;37;127,65 -Adxperience;1;0 -JungleTap;13;9,1 -Laddez;1;0 -Trooperads;1;0 -MobChain;1;0 -Mobobeat CPI;3;5,4 -Adacts;1;0 -Glize;3;17,25 -Adstacks;1;0 -App Promoters;1;0 -Gold360;137;54,8 -Crowmobi;1;0 -Superads;1;0 diff --git a/csv/custom-2017_02_28_16_12_36.csv b/csv/custom-2017_02_28_16_12_36.csv deleted file mode 100644 index 3c3d6ba..0000000 --- a/csv/custom-2017_02_28_16_12_36.csv +++ /dev/null @@ -1,66 +0,0 @@ -Advertiser;conversions;revenue -Addictive Ads;1;0 -Digital Turbine;45;109,4 -Art of Click;76;121,95 -AlliTapp;55;86,95 -Avazu;33;29,2 -MiniMob;734;1345,06 -Persona.ly;12;13,92 -StartApp;473;637,85 -SmartLead;14;7,15 -Tracsion;122;111,03 -WinClap;217;235,77 -DCyphermedia;34;46,4 -Appave;57;68,4 -Instal;725;820,96 -Appcoach;210;162,66 -Adwool;1;0 -Eptonic;1;0 -Leadzinmarketing AFFTRACK;21;34,2 -Mobrider;15;18,88 -Layroute;2;0 -Miri Media;1;0 -Revenuemob;1;0 -Grand Oro LP;1;0 -AdsFast;2;5,55 -Applift;1494;3435,72 -MiskyAds;2;0 -Mobquid CPA;2724;3130,3 -Basebone;13;4,8 -Collectcent;189;521,6 -Click2commission CPA;20;18 -Mobipium;1;0 -Affimobiz;1;0 -CliqDigital;2;0 -Naranya CPA;9;0 -MoBrain (Headway);778;359,66 -Buongiorno (taplinks);15;168,7 -Digital Galaxy;254;1892,4 -Digital Virgo;133;146,3 -Image Perfect;12;9,6 -Neomobile;92;27,3 -Mobilogia;24;8,4 -Linkadia CPA;1;0 -Mobsai;195;669,3 -AddValue Media CPI;1;1,4 -Adxperience;463;1349,9 -Go-Rilla;17;11,4 -JungleTap;60;39,79 -Laddez;1;1,1 -MappStreet;52;45,3 -ReGaming;1;1,83 -Rekket;17;29,92 -Adstract;36;29,07 -DobleVia Latam;1;0 -Admitad;107;3834 -CPITraffic;1;1,95 -Sabia Media;1;1,82 -Zenna;12;19,7 -3DM;8;15,9 -Avazu CPA;10;240 -Ximobi;5;46,5 -Affle CPA;2;2,2 -Mobquid;11782;8594,1 -Superads;47;211,5 -Softerik;1;0 -Doozymob;1;0 diff --git a/csv/total-csv.csv b/csv/total-csv.csv deleted file mode 100644 index 2741fe3..0000000 --- a/csv/total-csv.csv +++ /dev/null @@ -1,84 +0,0 @@ -Mobquid;11782;8594,1 -Admitad;107;3834 -Applift;1494;3435,72 -Mobquid CPA;2724;3130,3 -Digital Galaxy;254;1892,4 -Adxperience;464;1349,9 -MiniMob;734;1345,06 -Instal;726;820,96 -Mobsai;232;796,95 -Nanalab;111;766 -StartApp;473;637,85 -Buongiorno (taplinks);65;604,2 -Collectcent;189;521,6 -MoBrain (Headway);908;417,28 -Art of Click;114;245,04 -Avazu CPA;10;240 -WinClap;217;235,77 -Superads;48;211,5 -Appcoach;210;162,66 -Kwanko (Swelen);150;147 -Digital Virgo;133;146,3 -Tracsion;122;111,03 -Digital Turbine;45;109,4 -AlliTapp;56;86,95 -Marvel Media;210;84 -Appave;57;68,4 -Gold360;137;54,8 -JungleTap;73;48,89 -Ximobi;5;46,5 -DCyphermedia;34;46,4 -MappStreet;52;45,3 -Leadzinmarketing AFFTRACK;21;34,2 -Rekket;17;29,92 -Avazu;33;29,2 -Adstract;36;29,07 -Neomobile;92;27,3 -Zenna;12;19,7 -Mobrider;15;18,88 -Click2commission CPA;20;18 -Glize;3;17,25 -3DM;8;15,9 -Persona.ly;13;13,92 -Mobilogia;25;13,62 -Go-Rilla;17;11,4 -Image Perfect;13;9,6 -SmartLead;14;7,15 -AdsFast;2;5,55 -Mobobeat CPI;3;5,4 -Basebone;13;4,8 -Affle CPA;2;2,2 -CPITraffic;1;1,95 -ReGaming;1;1,83 -Sabia Media;1;1,82 -AddValue Media CPI;1;1,4 -Laddez;2;1,1 -Ad3traffic;1;0 -Adacts;1;0 -Addictive Ads;1;0 -Adooya Crossrider CPA;1;0 -Adstacks;1;0 -Adwool;1;0 -Affimobiz;1;0 -App Promoters;1;0 -BlackFox;1;0 -CliqDigital;2;0 -Crowmobi;1;0 -DobleVia Latam;1;0 -Doozymob;1;0 -Epom Market;1;0 -Eptonic;1;0 -Grand Oro LP;1;0 -IDB Group;2;0 -Layroute;2;0 -Linkadia CPA;1;0 -Maverick CPA;1;0 -Miri Media;1;0 -MiskyAds;2;0 -MobChain;1;0 -Mobipium;1;0 -Naranya CPA;9;0 -Revenuemob;1;0 -Seko Media;1;0 -Softerik;1;0 -Trooperads;1;0 diff --git a/examples/advanced/REST.html b/examples/advanced/REST.html deleted file mode 100644 index 56c9716..0000000 --- a/examples/advanced/REST.html +++ /dev/null @@ -1,597 +0,0 @@ - - - - - - - Editor example - REST interface - - - - - - - - - - - - - - - - - - -

    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/_notes/dwsync.xml b/examples/advanced/_notes/dwsync.xml deleted file mode 100644 index c33d745..0000000 --- a/examples/advanced/_notes/dwsync.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/advanced/compoundKey.html b/examples/advanced/compoundKey.html deleted file mode 100644 index 7322119..0000000 --- a/examples/advanced/compoundKey.html +++ /dev/null @@ -1,544 +0,0 @@ - - - - - - - Editor example - Compound database primary key - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Compound database primary key

    -
    -

    Editor's PHP and .NET server-side libraries support the use of compound keys (as of v1.6). On the - client-side no special configuration is required, while on the server-side you simply need to use an array as the optional third parameter for the - Editor class constructor with the column names that make up the primary key.

    -

    It is important to note that when designing a form that uses a compound key, the data that makes up the primary key must either be included in the form, or - generated in the server-side script. It cannot currently use data generated by the database.

    -

    In this example the staff member id and the date make up the compound primary key for the users_vists database table.

    -
    -
    - - - - - - - - - - - - - - - -
    NameSiteVisit date
    NameSiteVisit date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/compoundKey.php', - table: '#example', - fields: [ { - label: 'Staff member:', - name: 'users_visits.user_id', - type: 'select' - }, { - label: 'Visiting site:', - name: 'users_visits.site_id', - type: 'select' - }, { - label: 'Date:', - name: 'users_visits.visit_date', - type: 'datetime' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: { - url: '../php/compoundKey.php', - type: 'POST' - }, - columns: [ - { data: null, render: function ( data, type, row ) { - return data.users.first_name+' '+data.users.last_name; - } }, - { data: 'sites.name' }, - { data: 'users_visits.visit_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/deepObjects.html b/examples/advanced/deepObjects.html deleted file mode 100644 index a955381..0000000 --- a/examples/advanced/deepObjects.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - Editor example - Complex (nested) JSON data source - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Complex (nested) JSON data source

    -
    -

    Like DataTables, Editor has the ability to work with virtually any JSON data source. In DataTables the columns.data option is used to specify - the property name for the row's data source object that should be used for a columns' data. In Editor the fields.name and fields.data options can be used (to - clarify the difference between fields.data and fields.name, the former is what is used to read the value from the DataTables row's data, while the latter is the name of - the field that is submitted to the server - typically they will be the same, with the data property taking the value of the name automatically unless otherwise - specified).

    -

    This example shows uses data from the server in the structure:

    -
    {
    -	"DT_RowId": "row_1",
    -	"users": {
    -		"first_name": "Quynn",
    -		"last_name": "Contreras",
    -		"phone": "1-971-977-4681",
    -		"site": "1"
    -	},
    -	"sites": {
    -		"name": "Edinburgh"
    -	}
    -}
    -
    -

    The columns.data, fields.data and fields.name options can be given as - Javascript dotted object notation strings, to be able to read the data required. For example, to get the first name parameter from the above data source object, - use users.first_name as is done in the Editor initialisation in this example.

    -

    This can be exceptionally useful when working with joined tables.

    -
    -
    - - - - - - - - - - - - - - - - - -
    First nameLast namePhone #Location
    First nameLast namePhone #Location
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/join.php", - table: "#example", - fields: [ { - label: "First name:", - name: "users.first_name" - }, { - label: "Last name:", - name: "users.last_name" - }, { - label: "Phone #:", - name: "users.phone" - }, { - label: "Site:", - name: "users.site", - type: "select" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: { - url: "../php/join.php", - type: 'POST' - }, - columns: [ - { data: "users.first_name" }, - { data: "users.last_name" }, - { data: "users.phone" }, - { data: "sites.name" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/formOnlyData.html b/examples/advanced/formOnlyData.html deleted file mode 100644 index 1f89bfc..0000000 --- a/examples/advanced/formOnlyData.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - Editor example - Data shown only in the form - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Data shown only in the form

    -
    -

    It can often be useful to have more information available in your form that you show in your table (the table for example would show a summary, while the form, - with more screen real estate available to it can show detailed information). This is readily done with DataTables and Editor through the fact that DataTables can - use objects as a data source, and the columns.data option is used to specify which object properties are required for each column. The data objects provide - all the information needed for both the form and table, but only a limited selection of the available properties are actually used in the table, while the form - makes full use of the whole object.

    -

    This example (which is of course grossly simplified) shows four fields only in the table, while the form provides editing abilities for eight different - fields.

    -
    -
    - - - - - - - - - -
    NamePositionOfficeSalary
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - "ajax": "../php/staff.php", - "table": "#example", - "fields": [ { - "label": "First name:", - "name": "first_name" - }, { - "label": "Last name:", - "name": "last_name" - }, { - "label": "Position:", - "name": "position" - }, { - "label": "Office:", - "name": "office" - }, { - "label": "Extension:", - "name": "extn" - }, { - "label": "Start date:", - "name": "start_date" - }, { - "label": "Salary:", - "name": "salary" - }, { - "label": "Age:", - "name": "age" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/staff.php", - columns: [ - { data: null, render: function ( data, type, row ) { - // Combine the first and last names into a single table field - return data.first_name+' '+data.last_name; - } }, - { data: "position" }, - { data: "office" }, - { data: "salary", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/htmlTable.html b/examples/advanced/htmlTable.html deleted file mode 100644 index a670fc3..0000000 --- a/examples/advanced/htmlTable.html +++ /dev/null @@ -1,955 +0,0 @@ - - - - - - - Editor example - DOM sourced table - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example DOM sourced table

    -
    -

    Although many of the Editor examples show the data for the table being loaded by Ajax (ajax) this is by no means mandatory. Editor will work with any data source that DataTables can use, with the - only additional requirement that each row has a unique ID (allowing the server to identify which rows to update, delete, etc).

    -

    This example shows Editor being applied to a plain HTML table (generated from the database, although it could come from absolutely anywhere). Ajax requests are - still used for create, edit and remove actions, but not for loading the initial data.

    -

    This example uses DataTables ability to use read DOM source tables into a JSON object data store, with the keys specified by columns.data. This makes working with the - data in the table very easy since it is named object parameters rather than arrays where indexes must be used. Please note that this feature requires DataTables 1.10.8 or newer.

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    First nameLast namePositionOfficeSalary
    TigerNixonSystem ArchitectEdinburgh$320,800
    GarrettWintersAccountantTokyo$170,750
    AshtonCoxJunior Technical AuthorSan Francisco$86,000
    CedricKellySenior Javascript DeveloperEdinburgh$433,060
    AiriSatouAccountantTokyo$162,700
    BrielleWilliamsonIntegration SpecialistNew York$372,000
    HerrodChandlerSales AssistantSan Francisco$137,500
    RhonaDavidsonIntegration SpecialistTokyo$327,900
    ColleenHurstJavascript DeveloperSan Francisco$205,500
    SonyaFrostSoftware EngineerEdinburgh$103,600
    JenaGainesOffice ManagerLondon$90,560
    QuinnFlynnSupport LeadEdinburgh$342,000
    ChardeMarshallRegional DirectorSan Francisco$470,600
    HaleyKennedySenior Marketing DesignerLondon$313,500
    TatyanaFitzpatrickRegional DirectorLondon$385,750
    MichaelSilvaMarketing DesignerLondon$198,500
    PaulByrdChief Financial Officer (CFO)New York$725,000
    GloriaLittleSystems AdministratorNew York$237,500
    BradleyGreerSoftware EngineerLondon$132,000
    DaiRiosPersonnel LeadEdinburgh$217,500
    JenetteCaldwellDevelopment LeadNew York$345,000
    YuriBerryChief Marketing Officer (CMO)New York$675,000
    CaesarVancePre-Sales SupportNew York$106,450
    DorisWilderSales AssistantSidney$85,600
    AngelicaRamosChief Executive Officer (CEO)London$1,200,000
    GavinJoyceDeveloperEdinburgh$92,575
    JenniferChangRegional DirectorSingapore$357,650
    BrendenWagnerSoftware EngineerSan Francisco$206,850
    FionaGreenChief Operating Officer (COO)San Francisco$850,000
    ShouItouRegional MarketingTokyo$163,000
    MichelleHouseIntegration SpecialistSidney$95,400
    SukiBurksDeveloperLondon$114,500
    PrescottBartlettTechnical AuthorLondon$145,000
    GavinCortezTeam LeaderSan Francisco$235,500
    MartenaMccrayPost-Sales supportEdinburgh$324,050
    UnityButlerMarketing DesignerSan Francisco$85,675
    HowardHatfieldOffice ManagerSan Francisco$164,500
    HopeFuentesSecretarySan Francisco$109,850
    VivianHarrellFinancial ControllerSan Francisco$452,500
    TimothyMooneyOffice ManagerLondon$136,200
    JacksonBradshawDirectorNew York$645,750
    OliviaLiangSupport EngineerSingapore$234,500
    BrunoNashSoftware EngineerLondon$163,500
    SakuraYamamotoSupport EngineerTokyo$139,575
    ThorWaltonDeveloperNew York$98,540
    FinnCamachoSupport EngineerSan Francisco$87,500
    SergeBaldwinData CoordinatorSingapore$138,575
    ZenaidaFrankSoftware EngineerNew York$125,250
    ZoritaSerranoSoftware EngineerSan Francisco$115,000
    JenniferAcostaJunior Javascript DeveloperEdinburgh$75,650
    CaraStevensSales AssistantNew York$145,600
    HermioneButlerRegional DirectorLondon$356,250
    LaelGreerSystems AdministratorLondon$103,500
    JonasAlexanderDeveloperSan Francisco$86,500
    ShadDeckerRegional DirectorEdinburgh$183,000
    MichaelBruceJavascript DeveloperSingapore$183,000
    DonnaSniderCustomer SupportNew York$112,000
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/staff-html.php', - table: '#example', - fields: [ { - label: "First name:", - name: "first_name" - }, { - label: "Last name:", - name: "last_name" - }, { - label: "Position:", - name: "position" - }, { - label: "Office:", - name: "office" - }, { - label: "Salary:", - name: "salary", - data: function (row, type, val) { - // Strip the formatting from the salary number - if ( type === 'set' ) { - row.salary = val; - } - return row.salary.replace(/[^0-9]/g, ''); - } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - columns: [ - { data: "first_name" }, - { data: "last_name" }, - { data: "position" }, - { data: "office" }, - { data: "salary" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/index.html b/examples/advanced/index.html deleted file mode 100644 index 557b016..0000000 --- a/examples/advanced/index.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - Editor examples - Editor advanced initialisation examples - - -
    -
    -

    Editor example Editor advanced initialisation examples

    -
    -

    The examples in this section show more advanced initialisation and configuration techniques than the simple examples. Examples here show - more complex join operations, using REST interfaces and how to show data in the table or form only, among others.

    -

    These examples, along with the API examples will help you get the most out of Editor.

    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/joinArray.html b/examples/advanced/joinArray.html deleted file mode 100644 index 123b4b1..0000000 --- a/examples/advanced/joinArray.html +++ /dev/null @@ -1,558 +0,0 @@ - - - - - - - Editor example - Join tables - one-to-many join - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Join tables - one-to-many join

    -
    -

    When using a joined database tables, there are times when you might wish to use a one-to-many relationship for your data, and display that as an editable - interface for your system's users.

    -

    On the client-side, Editor achieved this quite simply by making use of DataTables' powerful columns.data and columns.render options to display the - data and the fields.name option - in Editor. These options all provide the ability to use array based data through Javascript square bracket notation ([]) - see the DataTables columns.data documentation for detailed - information on the syntax that can be used for these options.

    -

    In this case each record in our users database table can have different access permissions granted. The one-to-many link is provided by a join - table on the database side.

    -

    For the editing interface Editor presents this as a checkbox list of options which the editor can use to select the options they want to assign to a particular - user.

    -

    On the server-side the Editor PHP and .NET libraries both provide a Join class that can be used to construct complex CRUD queries for one-to-many - data manipulation. For further information about using the PHP libraries to build an editable DataTable with JOINed tables, please see the join documentation - (PHP | .NET).

    -
    -
    - - - - - - - - - - - - - - - - - -
    First nameLast nameLocationPermissions
    First nameLast nameLocationPermissions
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/joinArray.php", - table: "#example", - fields: [ { - label: "First name:", - name: "users.first_name" - }, { - label: "Last name:", - name: "users.last_name" - }, { - label: "Site:", - name: "users.site", - type: "select" - }, { - "label": "Permissions:", - "name": "permission[].id", - "type": "checkbox" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: { - url: "../php/joinArray.php", - type: 'POST' - }, - columns: [ - { data: "users.first_name" }, - { data: "users.last_name" }, - { data: "sites.name" }, - { data: "permission", render: "[, ].name" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/joinLinkTable.html b/examples/advanced/joinLinkTable.html deleted file mode 100644 index fc90bc1..0000000 --- a/examples/advanced/joinLinkTable.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - Editor example - Join tables - link table - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Join tables - link table

    -
    -

    Data in relational databases is often stored over multiple tables, partitioned by the data type and then joined together using SQL JOIN queries. In one form of - joined table, a 'link' table is used linking records between two different types of data.

    -

    In this example, which extends the simple join example, the users and dept tables are linked by the - user_dept table. When the data is read, we read from all three tables (plus the sites table to show multiple joins working together). The - returned data structure for each row in this example is:

    -
    {
    -	"DT_RowId": "row_1",
    -	"users": {
    -		"first_name": "Quynn",
    -		"last_name": "Contreras",
    -		"site": "1"
    -	},
    -	"sites": {
    -		"name": "Edinburgh"
    -	},
    -	"user_dept": {
    -		"dept_id": "1"
    -	},
    -	"dept": {
    -		"name": "IT"
    -	}
    -}
    -
    -

    For editing we want to write to three users fields and the user_dept field. The Editor instance is configured with these four fields - using the fields.name option - and the Editor server-side libraries preform the required SQL operations for us on create, edit and delete.

    -

    See the join documentation (PHP | .NET) - for further information about joins with Editor's framework libraries.

    -
    -
    - - - - - - - - - - - - - - - - - -
    First nameLast nameLocationDepartment
    First nameLast nameLocationDepartment
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/joinLinkTable.php", - table: "#example", - fields: [ { - label: "First name:", - name: "users.first_name" - }, { - label: "Last name:", - name: "users.last_name" - }, { - label: "Site:", - name: "users.site", - type: "select" - }, { - label: "Department:", - name: "user_dept.dept_id", - type: "select" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: { - url: "../php/joinLinkTable.php", - type: 'POST' - }, - columns: [ - { data: "users.first_name" }, - { data: "users.last_name" }, - { data: "sites.name" }, - { data: "dept.name" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/joinSelf.html b/examples/advanced/joinSelf.html deleted file mode 100644 index d4d798f..0000000 --- a/examples/advanced/joinSelf.html +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - Editor example - Join tables - self referencing join - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Join tables - self referencing join

    -
    -

    Extending the simple join example, here we show how a self referencing SQL table can be used with Editor. Self referencing - tables can be very useful when there is a hierarchy of like objects in the database.

    -

    In this particular example each staff member has a manager, who is also a member of staff. Using a self referencing join we can display each staff member and - their manager in the table, while Editor allows these fields to be easily editable.

    -

    In SQL terms, the users table has a column manager which references the id column in its own table. In an SQL statement - we use the as keyword to alias the joined table, which is exactly how the Editor server-side libraries also operate.

    -

    The data structure returned by the server for each row in this table is:

    -
    {
    -	"DT_RowId": "row_1",
    -	"users": {
    -		"first_name": "Quynn",
    -		"last_name": "Contreras",
    -		"manager": "1"
    -	},
    -	"manager": {
    -		"first_name": "Quynn",
    -		"last_name": "Contreras"
    -	}
    -}
    -
    -

    The three fields we want to edit are in the users object, but we also use the manager properties for display in the table (through the - use of columns.data and columns.render).

    -

    See the join documentation (PHP | .NET) - for further information about joins with Editor's framework libraries.

    -
    -
    - - - - - - - - - - - - - - - -
    First nameLast nameManager
    First nameLast nameManager
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/joinSelf.php", - table: "#example", - fields: [ { - label: "First name:", - name: "users.first_name" - }, { - label: "Last name:", - name: "users.last_name" - }, { - label: "Manager:", - name: "users.manager", - type: "select" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/joinSelf.php", - columns: [ - { data: "users.first_name" }, - { data: "users.last_name" }, - { - data: "manager", - render: function ( val, type, row ) { - return val.first_name ? - val.first_name +' '+ val.last_name : - ''; - }, - defaultContent: "" - } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/jsonId.html b/examples/advanced/jsonId.html deleted file mode 100644 index fede392..0000000 --- a/examples/advanced/jsonId.html +++ /dev/null @@ -1,576 +0,0 @@ - - - - - - - Editor example - Row ID source specification - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Row ID source specification

    -
    -

    By default Editor will use the tr element's id attribute to identify the row to the server (more specifically this will typically - contain the database's primary key to uniquely identity the row). While this default method can be very useful, particularly if you use the DT_RowId - JSON option to set the id, you may wish to read the row's id from the JSON data source, rather than the DOM. This is easily done using the idSrc option.

    -

    The example below, with idSrc is - set to id is suitable for cases where the data source objects look like: { "id": 2, "first_name": "Fiona", ...}. Like other data source - options the idSrc option can be given - in dotted object notation to read nested objects.

    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    NamePositionOfficeExtn.Start dateSalary
    NamePositionOfficeExtn.Start dateSalary
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - "ajax": "../php/jsonId.php", - "table": "#example", - "idSrc": "id", - "fields": [ { - "label": "First name:", - "name": "first_name" - }, { - "label": "Last name:", - "name": "last_name" - }, { - "label": "Position:", - "name": "position" - }, { - "label": "Office:", - "name": "office" - }, { - "label": "Extension:", - "name": "extn" - }, { - "label": "Start date:", - "name": "start_date", - "type": "datetime" - }, { - "label": "Salary:", - "name": "salary" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/jsonId.php", - columns: [ - { data: null, render: function ( data, type, row ) { - // Combine the first and last names into a single table field - return data.first_name+' '+data.last_name; - } }, - { data: "position" }, - { data: "office" }, - { data: "extn" }, - { data: "start_date" }, - { data: "salary", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/localstorage.html b/examples/advanced/localstorage.html deleted file mode 100644 index e394096..0000000 --- a/examples/advanced/localstorage.html +++ /dev/null @@ -1,631 +0,0 @@ - - - - - - - Editor example - Ajax override - using localStorage for the data source - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Ajax override - using localStorage for the data source

    -
    -

    This example shows how the ajax - initialisation option can be used to replace the default Ajax call that Editor makes and instead use the browser's localStorage abilities to save the - state of the table locally on the browser. This means that the user effectively has persistent storage, but it is available only to them on their current - browser.

    -

    The code in this example shows the ajax option as a function that implements everything that is required by - Editor for data storage and retrieval. The 'create', 'edit' and 'remove' actions are each handled by storing the submitted data in a local variable, which is - then stored in local storage for data persistence.

    -

    Note that this example fully supports Editor's multi-row editing capability as it fully implements the client / - server data interchange format Editor uses.

    -

    Although this particular use case is fairly limited, it does show how Editor's ajax option can be used to intercept and manage the data requests that Editor makes. Expanding on this almost any - data storage system could be used from Firebase to WebSockets.

    -
    -
    - - - - - - - - - - - - - -
    ItemStatus
    ItemStatus
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - // Object that will contain the local state - var todo = {}; - - // Create or update the todo localStorage entry - if ( localStorage.getItem('todo') ) { - todo = JSON.parse( localStorage.getItem('todo') ); - } - - // Set up the editor - editor = new $.fn.dataTable.Editor( { - table: "#example", - fields: [ - { - label: "Item:", - name: "item" - }, { - label: "Status:", - name: "status", - type: "radio", - def: "To do", - options: [ 'To do', 'Done' ] - } - ], - ajax: function ( method, url, d, successCallback, errorCallback ) { - var output = { data: [] }; - - if ( d.action === 'create' ) { - // Create new row(s), using the current time and loop index as - // the row id - var dateKey = +new Date(); - - $.each( d.data, function (key, value) { - var id = dateKey+''+key; - - value.DT_RowId = id; - todo[ id ] = value; - output.data.push( value ); - } ); - } - else if ( d.action === 'edit' ) { - // Update each edited item with the data submitted - $.each( d.data, function (id, value) { - value.DT_RowId = id; - $.extend( todo[ id ], value ); - output.data.push( todo[ id ] ); - } ); - } - else if ( d.action === 'remove' ) { - // Remove items from the object - $.each( d.data, function (id) { - delete todo[ id ]; - } ); - } - - // Store the latest `todo` object for next reload - localStorage.setItem( 'todo', JSON.stringify(todo) ); - - // Show Editor what has changed - successCallback( output ); - } - } ); - - // Initialise the DataTable - $('#example').DataTable( { - dom: "Bfrtip", - data: $.map( todo, function (value, key) { - return value; - } ), - columns: [ - { data: "item" }, - { data: "status" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/multiItem.html b/examples/advanced/multiItem.html deleted file mode 100644 index 32b0d3b..0000000 --- a/examples/advanced/multiItem.html +++ /dev/null @@ -1,600 +0,0 @@ - - - - - - - Editor example - Multi-item editing (rows, columns, cells) - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Multi-item editing (rows, columns, cells)

    -
    -

    This example demonstrates Editor's multi-item editing capabilities, showing specifically that multi-item editing is not limited to just to rows, but also - columns and cells can be selected and edited with a single click. Furthermore, it is possible to combine the selection of rows, columns and cells to provide - complex data updates with ease.

    -

    The item selection in this (and all other examples) is provided by the Select extension for DataTables. It has - the ability to select the individual components of the table - which item type is selected can be controlled through the select.items() method, or the selectRows, selectColumns and selectCells buttons that Select provides.

    -

    These buttons are utilised in this example to allow the end user to easily change what items will be selected.

    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    NamePositionOfficeExtn.Start dateSalary
    NamePositionOfficeExtn.Start dateSalary
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/staff.php", - table: "#example", - fields: [ { - label: "First name:", - name: "first_name" - }, { - label: "Last name:", - name: "last_name" - }, { - label: "Position:", - name: "position" - }, { - label: "Office:", - name: "office" - }, { - label: "Extension:", - name: "extn" - }, { - label: "Start date:", - name: "start_date", - type: "datetime" - }, { - label: "Salary:", - name: "salary" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/staff.php", - columns: [ - { - data: null, - render: function ( data, type, row ) { - // Combine the first and last names into a single table field - return data.first_name+' '+data.last_name; - }, - editField: [ 'first_name', 'last_name' ] - }, - { data: "position" }, - { data: "office" }, - { data: "extn" }, - { data: "start_date" }, - { data: "salary", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor }, - "selectRows", - "selectColumns", - "selectCells", - "selectNone" - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    a.buttons-select-rows, - a.buttons-select-none { - margin-left: 1em; - } -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/tableOnlyData.html b/examples/advanced/tableOnlyData.html deleted file mode 100644 index bf239f0..0000000 --- a/examples/advanced/tableOnlyData.html +++ /dev/null @@ -1,521 +0,0 @@ - - - - - - - Editor example - Data shown in table only - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Data shown in table only

    -
    -

    This example shows how Editor can handle the case where data is shown in the table, but is not available in the form to be edited. This can be useful where the - server generates some of the data to be shown in the table, for example a timestamp showing the last edited time, or an auto incrementing sequence. This is the - inverse of the form only data example.

    -

    The way this works is that Editor simply returns the details for the row on each create and edit action, in the row return parameter. This - information is then used to populate the DataTable.

    -
    -
    - - - - - - - - - - - - - - - -
    First nameLast nameUpdated date
    First nameLast nameUpdated date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - "ajax": "../php/tableOnlyData.php", - "table": "#example", - "fields": [ { - "label": "First name:", - "name": "first_name" - }, { - "label": "Last name:", - "name": "last_name" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/tableOnlyData.php", - columns: [ - { data: "first_name" }, - { data: "last_name" }, - { data: "updated_date" } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/upload-many.html b/examples/advanced/upload-many.html deleted file mode 100644 index d2651b0..0000000 --- a/examples/advanced/upload-many.html +++ /dev/null @@ -1,577 +0,0 @@ - - - - - - - Editor example - File upload (many) - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example File upload (many)

    -
    -

    This example shows how the uploadMany - field type can be used to allow multiple images to be uploaded and associated with a single field in the form. Images can be added or removed from the collection - and this is designed to work with a one-to-many join in the backend database.

    -

    The upload options of Editor are extensively documented in the manual (Javascript, PHP and .NET) and details the various options - available.

    -
    -
    - - - - - - - - - - - - - - - - - - - -
    First nameLast namePhone #LocationImage
    First nameLast namePhone #LocationImage
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/upload-many.php", - table: "#example", - fields: [ { - label: "First name:", - name: "users.first_name" - }, { - label: "Last name:", - name: "users.last_name" - }, { - label: "Phone #:", - name: "users.phone" - }, { - label: "Site:", - name: "users.site", - type: "select" - }, { - label: "Images:", - name: "files[].id", - type: "uploadMany", - display: function ( fileId, counter ) { - return '<img src="'+editor.file( 'files', fileId ).web_path+'"/>'; - }, - noFileText: 'No images' - } - ] - } ); - - var table = $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/upload-many.php", - columns: [ - { data: "users.first_name" }, - { data: "users.last_name" }, - { data: "users.phone" }, - { data: "sites.name" }, - { - data: "files", - render: function ( d ) { - return d.length ? - d.length+' image(s)' : - 'No image'; - }, - title: "Image" - } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/advanced/upload.html b/examples/advanced/upload.html deleted file mode 100644 index 5294bad..0000000 --- a/examples/advanced/upload.html +++ /dev/null @@ -1,585 +0,0 @@ - - - - - - - Editor example - File upload - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example File upload

    -
    -

    This example shows Editor being used with the upload fields type to give end users the ability to upload a file in the form. The upload field type allows just a single file to be - uploaded, while its companion input type uploadMany provides the ability to have multiple files uploaded for a single field.

    -

    The upload options of Editor are extensively documented in the manual (Javascript, PHP and .NET) and details the various options - available.

    -

    In this example an image file can be uploaded, limited to 500KB using server-side validation. To display the image a simple img tag is used, with information about the file to be displayed retrieved using the file() method which Editor makes available and is - automatically populated based on the server-side configuration.

    -
    -
    - - - - - - - - - - - - - - - - - - - -
    First nameLast namePhone #CityImage
    First nameLast namePhone #CityImage
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: "../php/upload.php", - table: "#example", - fields: [ { - label: "First name:", - name: "first_name" - }, { - label: "Last name:", - name: "last_name" - }, { - label: "Phone #:", - name: "phone" - }, { - label: "City:", - name: "city" - }, { - label: "Image:", - name: "image", - type: "upload", - display: function ( file_id ) { - return '<img src="'+editor.file( 'files', file_id ).web_path+'"/>'; - }, - clearText: "Clear", - noImageText: 'No image' - } - ] - } ); - - var table = $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/upload.php", - columns: [ - { data: "first_name" }, - { data: "last_name" }, - { data: "phone" }, - { data: "city" }, - { - data: "image", - render: function ( file_id ) { - return file_id ? - '<img src="'+editor.file( 'files', file_id ).web_path+'"/>' : - null; - }, - defaultContent: "No image", - title: "Image" - } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/_notes/dwsync.xml b/examples/dates/_notes/dwsync.xml deleted file mode 100644 index 0e4be19..0000000 --- a/examples/dates/_notes/dwsync.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/dates/dates.html b/examples/dates/dates.html deleted file mode 100644 index 4db1f9b..0000000 --- a/examples/dates/dates.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - Editor example - Date picker - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Date picker

    -
    -

    Editor features a built in date time picker through the datetime field type. This control presents the end user with a graphical calender that can be used to easily enter dates.

    -

    By default only the ISO8601 format YYYY-MM-DD is supported by the datetime input control, but custom date formats can be used by include the momentjs library on - your page.

    -

    This example shows the simple ISO8601 case for two date fields.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'datetime', - def: function () { return new Date(); } - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - def: function () { return new Date(); } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/datetime.html b/examples/dates/datetime.html deleted file mode 100644 index cacbf2a..0000000 --- a/examples/dates/datetime.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - - - Editor example - Date and time input - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Date and time input

    -
    -

    Editor's built in datetime field type - provides a UI widget to assist with the user input of both dates and times - the components that are displayed in the input control are automatically determined - from the format string.

    -

    In this case we have two fields which contain both date and time components, shown in different formats to illustrate how the formatting options operate. The - Updated date field is shown in a US style date format with a 12 hour clock while the Reigstered date is shown with a more Euro style format and a - 24 hour clock.

    -

    The formats that can be used are defined by the momentjs library which must be included for the - datetime field type to operate with date time - formatted strings.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/datetime.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'datetime', - def: function () { return new Date(); }, - format: 'MM-DD-YYYY h:mm A', - fieldInfo: 'US style m-d-y date input with 12 hour clock' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - def: function () { return new Date(); }, - format: 'D MMM YYYY HH:mm', - fieldInfo: 'Euro style date with 24 hour clock' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/datetime.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/formatting.html b/examples/dates/formatting.html deleted file mode 100644 index 1d6be37..0000000 --- a/examples/dates/formatting.html +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - Editor example - Formatted dates - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Formatted dates

    -
    -

    Editor's datetime field type makes entering - date and time information simple, but to increase user friendliness you may wish to use a custom date format (rather than the default ISO8601 format) - this can be - done with the momentjs library and specifying a format option for the field.

    -

    This example shows two different date fields which are displayed using different formats - the first is in the US m/d/y format while the second is a - more verbose format. Using momentjs allows you to select whatever format you require.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php?format=custom', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'datetime', - def: function () { return new Date(); }, - format: 'M/D/YYYY', - fieldInfo: 'US style m/d/y format' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - def: function () { return new Date(); }, - format: 'dddd D MMMM YYYY', - fieldInfo: 'Verbose date format' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php?format=custom', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/html5.html b/examples/dates/html5.html deleted file mode 100644 index 157dbba..0000000 --- a/examples/dates/html5.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - Editor example - HTML5 date input - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example HTML5 date input

    -
    -

    The HTML5 specification calls for an input - element which supports date and time input types. While this would be an excellent solution rather than needing to rely upon a - Javascript library for the calender picker (such as Editor's built in datetime field type), only Chrome and Edge currently support these input options. IE, Firefox and Safari do not currently enjoy - support for these elements.

    -

    Fortunately, if we specify an input field has date type, if the browser doesn't support it, it will just - fall back to being a regular text input. User's won't see the calender when using a browser that doesn't support this input type, but they will still be able to - type the date in.

    -

    The date field type will automatically use an - HTML date input field - unless jQuery UI's date picker is available on the page, in which case that will be used.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'date' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'date' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/i18n.html b/examples/dates/i18n.html deleted file mode 100644 index c75db3e..0000000 --- a/examples/dates/i18n.html +++ /dev/null @@ -1,552 +0,0 @@ - - - - - - - Editor example - Internationalisation - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Internationalisation

    -
    -

    This example shows the datetime option being - used with translated text - in this case French. All of the text displayed by the datetime option can be modified (and therefore translated) through the i18n.datetime object.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'datetime', - def: function () { return new Date(); } - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - def: function () { return new Date(); } - } - ], - i18n: { - datetime: { - previous: 'Précédent', - next: 'Premier', - months: [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ], - weekdays: [ 'Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam' ] - } - } - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/index.html b/examples/dates/index.html deleted file mode 100644 index e651273..0000000 --- a/examples/dates/index.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - Editor examples - Date and time input examples - - -
    -
    -

    Editor example Date and time input examples

    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/jqueryui-formatting.html b/examples/dates/jqueryui-formatting.html deleted file mode 100644 index 2015c89..0000000 --- a/examples/dates/jqueryui-formatting.html +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - Editor example - jQuery UI DatePicker with custom formatting - - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example jQuery UI DatePicker with custom formatting

    -
    -

    Custom formats can be used with the jQuery UI DatePicker through the dateFormat option which can be specified for date field types. The formatting options are defined by jQuery UI's formatDate method.

    -

    This example shows two different date fields which are displayed using different formats - the first is in the US m/d/y format while the second is a - more verbose format.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php?format=custom', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'date', - def: function () { return new Date(); }, - dateFormat: 'm/d/yy' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'date', - def: function () { return new Date(); }, - dateFormat: 'DD d MM yy' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php?format=custom', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/jqueryui.html b/examples/dates/jqueryui.html deleted file mode 100644 index 3ce91b1..0000000 --- a/examples/dates/jqueryui.html +++ /dev/null @@ -1,552 +0,0 @@ - - - - - - - Editor example - jQuery UI DatePicker - - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example jQuery UI DatePicker

    -
    -

    The jQuery UI library provides a date picker component which gives a comprehensive calender picker - including - features that are not available in Editor's built in datetime calander input such as the ability to display multiple months at the same time.

    -

    jQuery UI's date picker can be used with Editor through the date field type which will automatically determine if the date picker is available on your page or not - if it is, it will be used - and if not the HTML5 date input type will be used.

    -

    This example simply shows the jQuery UI date picker being used with ISO8601 formatted dates.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Updated date:', - name: 'updated_date', - type: 'date', - def: function () { return new Date(); }, - dateFormat: $.datepicker.ISO_8601 - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'date', - def: function () { return new Date(); }, - dateFormat: $.datepicker.ISO_8601 - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/options-disable-days.html b/examples/dates/options-disable-days.html deleted file mode 100644 index 71b7c62..0000000 --- a/examples/dates/options-disable-days.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - - Editor example - Options - disable days - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Options - disable days

    -
    -

    It can sometimes be useful to not allow selection of particular days - the datetime field provides that ability through the disableDays option. It can be provided as an array of day numbers in - the week to disable (Sunday = 0, Monday = 1, etc) or as a function to provide more fine grained control.

    -

    This example shows the disableDays option being used to disable date selection on Saturdays and Sundays. Note that validation of this information - should also be performed at the server-side since it is possible for the end user to type in an invalid date, rather than using the calender picker.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - opts: { - disableDays: [ 0, 6 ] - } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/options-min-max.html b/examples/dates/options-min-max.html deleted file mode 100644 index c1f3a0b..0000000 --- a/examples/dates/options-min-max.html +++ /dev/null @@ -1,533 +0,0 @@ - - - - - - - Editor example - Options - min and max dates - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Options - min and max dates

    -
    -

    You may wish to limit the range in which an end user can select a date - this can be done using the minDate and maxDate options - (specified in the opts object for the field). The two properties, which can be set together or alone, accept a Javascript Date object, - which you can create using new Date() and pass in an ISO8601 formatted date string.

    -

    This example shows the date range limited to 2011 - 2020 dates only. It is important that server-side validation of this input be used as the end user can enter - dates outside of this range simply using the keyboard.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - opts: { - minDate: new Date('2011-01-01'), - maxDate: new Date('2020-12-31') - } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/options-week-numbers.html b/examples/dates/options-week-numbers.html deleted file mode 100644 index b4ca5a9..0000000 --- a/examples/dates/options-week-numbers.html +++ /dev/null @@ -1,530 +0,0 @@ - - - - - - - Editor example - Options - week numbers - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Options - week numbers

    -
    -

    It can often be useful to see at a glance what week of the year a week falls into - this option is provided in the datetime calender picker through the - showWeekNumber option which is specified as part of an opts (i.e. options) object.

    -

    This example shows the week number enabled for the date picker using a simple ISO8601 date format.

    -
    -
    - - - - - - - - - -
    First nameLast nameUpdated dateRegistered date
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/dates.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'Registered date:', - name: 'registered_date', - type: 'datetime', - opts: { - showWeekNumber: true - } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/dates.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'updated_date' }, - { data: 'registered_date' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/time-increment.html b/examples/dates/time-increment.html deleted file mode 100644 index 75a6a91..0000000 --- a/examples/dates/time-increment.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - Editor example - Time increment options - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Time increment options

    -
    -

    When using datetime's time picker options, - you may wish to limit the end user's ability to select particular times to certain intervals. This can be done using the minutesIncrement and - secondsIncrement options, as shown in this example.

    -

    In this case, the first field uses a ten minute increment, while the second uses a 15 minute and second increment.

    -
    -
    - - - - - - - - - - -
    First nameLast nameCityShift startShift end
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/time.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'City:', - name: 'city' - }, { - label: 'Shift start:', - name: 'shift_start', - type: 'datetime', - format: 'h:mm A', - fieldInfo: '12 hour clock format', - opts: { - minutesIncrement: 10 - } - }, { - label: 'Shift end:', - name: 'shift_end', - type: 'datetime', - format: 'HH:mm:ss', - fieldInfo: '24 hour clock format with seconds', - opts: { - minutesIncrement: 15, - secondsIncrement: 15 - } - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/time.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'city' }, - { data: 'shift_start' }, - { data: 'shift_end' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/dates/time.html b/examples/dates/time.html deleted file mode 100644 index 6632001..0000000 --- a/examples/dates/time.html +++ /dev/null @@ -1,558 +0,0 @@ - - - - - - - Editor example - Time inputs - - - - - - - - - - - - - - - - - - - -
    -
    -

    Editor example Time inputs

    -
    -

    Time fields can be augmented by the datetime - field type to add a GUI widget that can help users enter data. All that is required is that the format option be set to the format required and it - will automatically detect what elements it should display.

    -

    In this example the two time columns use different formats (you wouldn't do this normally, but it is useful for this example!) - the Shift start field - uses a 12 hour clock with an AM/PM selector, while the Shift end field uses a 24 hour with seconds. The formats are defined by momentjs which must be included for the datetime field type to operate with time formatted - strings.

    -
    -
    - - - - - - - - - - -
    First nameLast nameCityShift startShift end
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: '../php/time.php', - table: '#example', - fields: [ { - label: 'First name:', - name: 'first_name' - }, { - label: 'Last name:', - name: 'last_name' - }, { - label: 'City:', - name: 'city' - }, { - label: 'Shift start:', - name: 'shift_start', - type: 'datetime', - format: 'h:mm A', - fieldInfo: '12 hour clock format' - }, { - label: 'Shift end:', - name: 'shift_end', - type: 'datetime', - format: 'HH:mm:ss', - fieldInfo: '24 hour clock format with seconds' - } - ] - } ); - - $('#example').DataTable( { - dom: 'Bfrtip', - ajax: '../php/time.php', - columns: [ - { data: 'first_name' }, - { data: 'last_name' }, - { data: 'city' }, - { data: 'shift_start' }, - { data: 'shift_end' } - ], - select: true, - buttons: [ - { extend: 'create', editor: editor }, - { extend: 'edit', editor: editor }, - { extend: 'remove', editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    - -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/examples/php/README.txt b/examples/php/README.txt deleted file mode 100644 index 5922c15..0000000 --- a/examples/php/README.txt +++ /dev/null @@ -1,17 +0,0 @@ -# Editor PHP example scripts - -The files in this directory are the PHP server-side scripts that are used by the -Editor examples with a PHP back-end, making use of the provided PHP libraries in -the Editor package (see the `php` directory at the top level of the Editor -package). - -For full information on using the Editor PHP libraries, please refer to the -Editor manual online: - https://editor.datatables.net/manual/php - -If you are interested in using Editor with a server-side environment that does -not have PHP available, please refer to the client / server communication -protocol that Editor uses, for information on how to write server-script scripts -that will operate with Editor: - https://editor.datatables.net/manual/server - diff --git a/examples/php/_notes/dwsync.xml b/examples/php/_notes/dwsync.xml deleted file mode 100644 index d0628b0..0000000 --- a/examples/php/_notes/dwsync.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/php/checkbox.php b/examples/php/checkbox.php deleted file mode 100644 index 81c0240..0000000 --- a/examples/php/checkbox.php +++ /dev/null @@ -1,35 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'phone' ), - Field::inst( 'city' ), - Field::inst( 'zip' ), - Field::inst( 'active' ) - ->setFormatter( function ( $val, $data, $opts ) { - return ! $val ? 0 : 1; - } ) - ) - ->process( $_POST ) - ->json(); - diff --git a/examples/php/compoundKey.php b/examples/php/compoundKey.php deleted file mode 100644 index baebf68..0000000 --- a/examples/php/compoundKey.php +++ /dev/null @@ -1,73 +0,0 @@ -debug( true ) - ->field( - Field::inst( 'users_visits.user_id' ) - ->options( Options::inst() - ->table( 'users' ) - ->value( 'id' ) - ->label( array('first_name', 'last_name') ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'users_visits.site_id' ) - ->options( Options::inst() - ->table( 'sites' ) - ->value( 'id' ) - ->label( 'name' ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'users_visits.visit_date' ), - Field::inst( 'sites.name' ) - ->set( false ), - Field::inst( 'users.first_name' ) - ->set( false ), - Field::inst( 'users.last_name' ) - ->set( false ) - ) - ->leftJoin( 'sites', 'users_visits.site_id', '=', 'sites.id' ) - ->leftJoin( 'users', 'users_visits.user_id', '=', 'users.id' ) - ->validator( function ($editor, $action, $data) { - if ( $action == Editor::ACTION_EDIT ) { - // Detect duplicates - foreach ($data['data'] as $key => $values) { - // Get the row's primary key components - $pkey = $editor->pkeyToArray( $key ); - - // Discount the row being edited - if ( $pkey['users_visits']['user_id'] != $values['users_visits']['user_id'] || - $pkey['users_visits']['visit_date'] != $values['users_visits']['visit_date'] ) - { - // Are there any rows that conflict? - $any = $editor->db()->any( 'users_visits', function ($q) use ($pkey, $values) { - $q->where( 'user_id', $values['users_visits']['user_id']); - $q->where( 'visit_date', $values['users_visits']['visit_date'] ); - } ); - - // If there was a matching row, then report an error - if ( $any ) { - return 'This staff member is already busy that day.'; - } - } - } - } - } ) - ->process($_POST) - ->json(); diff --git a/examples/php/dates.php b/examples/php/dates.php deleted file mode 100644 index 82d488b..0000000 --- a/examples/php/dates.php +++ /dev/null @@ -1,52 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'updated_date' ) - ->validator( 'Validate::dateFormat', array( - 'empty' => false, - 'format' => $update - ) ) - ->getFormatter( 'Format::date_sql_to_format', $update ) - ->setFormatter( 'Format::date_format_to_sql', $update ), - Field::inst( 'registered_date' ) - ->validator( 'Validate::dateFormat', $registered ) - ->getFormatter( 'Format::date_sql_to_format', $registered ) - ->setFormatter( 'Format::date_format_to_sql', $registered ) - ) - ->process( $_POST ) - ->json(); diff --git a/examples/php/datetime.php b/examples/php/datetime.php deleted file mode 100644 index dbc8e84..0000000 --- a/examples/php/datetime.php +++ /dev/null @@ -1,53 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'updated_date' ) - ->validator( 'Validate::dateFormat', array( - 'empty' => false, - 'format' => 'm-d-Y g:i A' - ) ) - ->getFormatter( 'Format::datetime', array( - 'from' => 'Y-m-d H:i:s', - 'to' => 'm-d-Y g:i A' - ) ) - ->setFormatter( 'Format::datetime', array( - 'from' => 'm-d-Y g:i A', - 'to' => 'Y-m-d H:i:s' - ) ), - Field::inst( 'registered_date' ) - ->validator( 'Validate::dateFormat', array( - 'format' => 'j M Y H:i' - ) ) - ->getFormatter( 'Format::datetime', array( - 'from' => 'Y-m-d H:i:s', - 'to' => 'j M Y H:i' - ) ) - ->setFormatter( 'Format::datetime', array( - 'from' => 'j M Y H:i', - 'to' => 'Y-m-d H:i:s' - ) ) - ) - ->process( $_POST ) - ->json(); diff --git a/examples/php/join.php b/examples/php/join.php deleted file mode 100644 index 0297294..0000000 --- a/examples/php/join.php +++ /dev/null @@ -1,36 +0,0 @@ -field( - Field::inst( 'users.first_name' ), - Field::inst( 'users.last_name' ), - Field::inst( 'users.phone' ), - Field::inst( 'users.site' ) - ->options( Options::inst() - ->table( 'sites' ) - ->value( 'id' ) - ->label( 'name' ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'sites.name' ) - ) - ->leftJoin( 'sites', 'sites.id', '=', 'users.site' ) - ->process($_POST) - ->json(); diff --git a/examples/php/joinArray.php b/examples/php/joinArray.php deleted file mode 100644 index 5ef9e99..0000000 --- a/examples/php/joinArray.php +++ /dev/null @@ -1,50 +0,0 @@ -field( - Field::inst( 'users.first_name' ), - Field::inst( 'users.last_name' ), - Field::inst( 'users.site' ) - ->options( Options::inst() - ->table( 'sites' ) - ->value( 'id' ) - ->label( 'name' ) - ), - Field::inst( 'sites.name' ) - ) - ->leftJoin( 'sites', 'sites.id', '=', 'users.site' ) - ->join( - Mjoin::inst( 'permission' ) - ->link( 'users.id', 'user_permission.user_id' ) - ->link( 'permission.id', 'user_permission.permission_id' ) - ->order( 'name asc' ) - ->fields( - Field::inst( 'id' ) - ->validator( 'Validate::required' ) - ->options( Options::inst() - ->table( 'permission' ) - ->value( 'id' ) - ->label( 'name' ) - ), - Field::inst( 'name' ) - ) - ) - ->process($_POST) - ->json(); diff --git a/examples/php/joinLinkTable.php b/examples/php/joinLinkTable.php deleted file mode 100644 index 6601028..0000000 --- a/examples/php/joinLinkTable.php +++ /dev/null @@ -1,44 +0,0 @@ -field( - Field::inst( 'users.first_name' ), - Field::inst( 'users.last_name' ), - Field::inst( 'users.site' ) - ->options( Options::inst() - ->table( 'sites' ) - ->value( 'id' ) - ->label( 'name' ) - ), - Field::inst( 'sites.name' ), - Field::inst( 'user_dept.dept_id' ) - ->options( Options::inst() - ->table( 'dept' ) - ->value( 'id' ) - ->label( 'name' ) - ), - Field::inst( 'dept.name' ) - ) - ->leftJoin( 'sites', 'sites.id', '=', 'users.site' ) - ->leftJoin( 'user_dept', 'users.id', '=', 'user_dept.user_id' ) - ->leftJoin( 'dept', 'user_dept.dept_id', '=', 'dept.id' ) - ->process($_POST) - ->json(); diff --git a/examples/php/joinSelf.php b/examples/php/joinSelf.php deleted file mode 100644 index 54a2a11..0000000 --- a/examples/php/joinSelf.php +++ /dev/null @@ -1,40 +0,0 @@ -debug( true ) - ->field( - Field::inst( 'users.first_name' ), - Field::inst( 'users.last_name' ), - Field::inst( 'users.manager' ) - ->options( Options::inst() - ->table( 'users' ) - ->value( 'id' ) - ->label( array('first_name', 'last_name') ) - ), - Field::inst( 'manager.first_name' ), - Field::inst( 'manager.last_name' ) - ) - ->leftJoin( 'users as manager', 'users.manager', '=', 'manager.id' ) - ->process($_POST) - ->json(); diff --git a/examples/php/jsonId.php b/examples/php/jsonId.php deleted file mode 100644 index 6e65c37..0000000 --- a/examples/php/jsonId.php +++ /dev/null @@ -1,52 +0,0 @@ -fields( - Field::inst( 'id' )->set(false), // ID is automatically set by the database on create - Field::inst( 'first_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'last_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'position' ), - Field::inst( 'email' ), - Field::inst( 'office' ), - Field::inst( 'extn' )->validator( 'Validate::numeric' ), - Field::inst( 'age' )->validator( 'Validate::numeric' ), - Field::inst( 'salary' )->validator( 'Validate::numeric' ), - Field::inst( 'start_date' ) - ->validator( 'Validate::dateFormat', array( - "format" => Format::DATE_ISO_8601, - "message" => "Please enter a date in the format yyyy-mm-dd" - ) ) - ->getFormatter( 'Format::date_sql_to_format', Format::DATE_ISO_8601 ) - ->setFormatter( 'Format::date_format_to_sql', Format::DATE_ISO_8601 ) - ) - ->process( $_POST ) - ->data(); - -// On 'read' remove the DT_RowId property so we can see fully how the `idSrc` -// option works on the client-side. -if ( Editor::action( $_POST ) === Editor::ACTION_READ ) { - for ( $i=0, $ien=count($out['data']) ; $i<$ien ; $i++ ) { - unset( $out['data'][$i]['DT_RowId'] ); - } -} - -// Send it back to the client -echo json_encode( $out ); diff --git a/examples/php/rest/_notes/dwsync.xml b/examples/php/rest/_notes/dwsync.xml deleted file mode 100644 index fb8385b..0000000 --- a/examples/php/rest/_notes/dwsync.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/examples/php/rest/create.php b/examples/php/rest/create.php deleted file mode 100644 index 5a804db..0000000 --- a/examples/php/rest/create.php +++ /dev/null @@ -1,18 +0,0 @@ -process($_POST) - ->data(); - -// If there is an error, indicate it like a REST service would with a status code -if ( isset($data['fieldErrors']) && count($data['fieldErrors']) ) { - http_response_code( 400 ); -} - -echo json_encode( $data ); \ No newline at end of file diff --git a/examples/php/rest/edit.php b/examples/php/rest/edit.php deleted file mode 100644 index 2e9560e..0000000 --- a/examples/php/rest/edit.php +++ /dev/null @@ -1,22 +0,0 @@ -process($args) - ->data(); - -// If there is an error, indicate it like a REST service would with a status code -if ( isset($data['fieldErrors']) && count($data['fieldErrors']) ) { - http_response_code( 400 ); -} - -echo json_encode( $data ); diff --git a/examples/php/rest/get.php b/examples/php/rest/get.php deleted file mode 100644 index 070eb3c..0000000 --- a/examples/php/rest/get.php +++ /dev/null @@ -1,12 +0,0 @@ -process($_POST) - ->json(); - diff --git a/examples/php/rest/remove.php b/examples/php/rest/remove.php deleted file mode 100644 index 92f2e3d..0000000 --- a/examples/php/rest/remove.php +++ /dev/null @@ -1,12 +0,0 @@ -process( $_GET ) - ->json(); - diff --git a/examples/php/rest/staff-rest.php b/examples/php/rest/staff-rest.php deleted file mode 100644 index 42fd889..0000000 --- a/examples/php/rest/staff-rest.php +++ /dev/null @@ -1,38 +0,0 @@ -fields( - Field::inst( 'first_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'last_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'position' ), - Field::inst( 'email' ), - Field::inst( 'office' ), - Field::inst( 'extn' )->validator( 'Validate::numeric' ), - Field::inst( 'age' )->validator( 'Validate::numeric' ), - Field::inst( 'salary' )->validator( 'Validate::numeric' ), - Field::inst( 'start_date' ) - ->validator( 'Validate::dateFormat', array( - "format" => Format::DATE_ISO_8601, - "message" => "Please enter a date in the format yyyy-mm-dd" - ) ) - ->getFormatter( 'Format::date_sql_to_format', Format::DATE_ISO_8601 ) - ->setFormatter( 'Format::date_format_to_sql', Format::DATE_ISO_8601 ) - ); diff --git a/examples/php/sequence.php b/examples/php/sequence.php deleted file mode 100644 index 27621de..0000000 --- a/examples/php/sequence.php +++ /dev/null @@ -1,52 +0,0 @@ -debug( true ) - ->fields( - Field::inst( 'title' )->validator( 'Validate::notEmpty' ), - Field::inst( 'author' )->validator( 'Validate::notEmpty' ), - Field::inst( 'duration' )->validator( 'Validate::notEmpty' ), - Field::inst( 'readingOrder' )->validator( 'Validate::numeric' ) - ) - ->on( 'preCreate', function ( $editor, $values ) { - // On create update all the other records to make room for our new one - $editor->db() - ->query( 'update', 'audiobooks' ) - ->set( 'readingOrder', 'readingOrder+1', false ) - ->where( 'readingOrder', $values['readingOrder'], '>=' ) - ->exec(); - } ) - ->on( 'preRemove', function ( $editor, $id, $values ) { - // On remove, the sequence needs to be updated to decrement all rows - // beyond the deleted row. Get the current reading order by id (don't - // use the submitted value in case of a multi-row delete). - $order = $editor->db() - ->select( 'audiobooks', 'readingOrder', array('id' => $id) ) - ->fetch(); - - $editor->db() - ->query( 'update', 'audiobooks' ) - ->set( 'readingOrder', 'readingOrder-1', false ) - ->where( 'readingOrder', $order['readingOrder'], '>' ) - ->exec(); - } ) - ->process( $_POST ) - ->json(); diff --git a/examples/php/staff-html.php b/examples/php/staff-html.php deleted file mode 100644 index 6b3e3e2..0000000 --- a/examples/php/staff-html.php +++ /dev/null @@ -1,34 +0,0 @@ -fields( - Field::inst( 'first_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'last_name' )->validator( 'Validate::notEmpty' ), - Field::inst( 'position' ), - Field::inst( 'office' ), - Field::inst( 'salary' ) - ->validator( 'Validate::numeric' ) - ->getFormatter( function ( $val ) { - return '$'.number_format($val); - } ) - ->setFormatter( 'Format::ifEmpty', null ) - ) - ->process( $_POST ) - ->json(); diff --git a/examples/php/staff.php b/examples/php/staff.php deleted file mode 100644 index 5156e8f..0000000 --- a/examples/php/staff.php +++ /dev/null @@ -1,83 +0,0 @@ -fields( - Field::inst( 'incomes.advertiser' ) - ->options( Options::inst() - ->table( 'advertisers' ) - ->value( 'id' ) - ->label( 'nombre' ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'advertisers.nombre' ), - Field::inst( 'incomes.am' ) - ->options( Options::inst() - ->table( 'advertisers' ) - ->value( 'id' ) - ->label( 'id_am' ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'advertisers.id_am' ), - Field::inst( 'incomes.clicks' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.conversion' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.revenue' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.platform_revenue' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.difference' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.scrubs' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.hold' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.validated' ) - ->validator( 'Validate::numeric' ) - ->setFormatter( 'Format::ifEmpty', null ), - Field::inst( 'incomes.status' ) - ->options( Options::inst() - ->table( 'status' ) - ->value( 'id' ) - ->label( 'name' ) - ) - ->validator( 'Validate::dbValues' ), - Field::inst( 'status.name' ), - Field::inst( 'incomes.notas_am' ), - Field::inst( 'incomes.notas_finance' ), - Field::inst( 'incomes.date' ) - //->getFormatter( 'Format::date_sql_to_format', 'Ymd' ) - //->setFormatter( 'Format::date_format_to_sql', 'Ymd' ) - ) - //->leftJoin( 'advertisers', 'advertisers.id', '=', 'incomes.advertisers' ) - ->leftJoin( 'advertisers', 'advertisers.id', '=', 'incomes.advertiser' ) - ->leftJoin( 'status', 'status.id', '=', 'incomes.status' ) - ->process( $_POST ) - ->json(); - - diff --git a/examples/php/standalone.php b/examples/php/standalone.php deleted file mode 100644 index ee51151..0000000 --- a/examples/php/standalone.php +++ /dev/null @@ -1,14 +0,0 @@ - array( $_POST['data']['keyless'] ) -) ); - diff --git a/examples/php/tableOnlyData.php b/examples/php/tableOnlyData.php deleted file mode 100644 index 5684894..0000000 --- a/examples/php/tableOnlyData.php +++ /dev/null @@ -1,31 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'updated_date' ) - ->set( false ) - ->getFormatter( 'Format::date_sql_to_format', 'D, jS F Y' ) - ) - ->process( $_POST ) - ->json(); - diff --git a/examples/php/time.php b/examples/php/time.php deleted file mode 100644 index 4c99237..0000000 --- a/examples/php/time.php +++ /dev/null @@ -1,41 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'city' ), - Field::inst( 'shift_start' ) - ->validator( 'Validate::dateFormat', array( - 'empty' => false, - 'format' => 'g:i A' - ) ) - ->getFormatter( 'Format::datetime', array( 'from' => 'H:i:s', 'to' => 'g:i A' ) ) - ->setFormatter( 'Format::datetime', array( 'from' => 'g:i A', 'to' => 'H:i:s' ) ), - Field::inst( 'shift_end' ) - ->validator( 'Validate::dateFormat', array( - 'empty' => false, - 'format' => 'H:i:s' - ) ) - ) - ->process( $_POST ) - ->json(); - diff --git a/examples/php/todo.php b/examples/php/todo.php deleted file mode 100644 index 1b75894..0000000 --- a/examples/php/todo.php +++ /dev/null @@ -1,32 +0,0 @@ -fields( - Field::inst( 'item' ), - Field::inst( 'done' ), - Field::inst( 'priority' ) - ) - ->process( $_POST ) - ->json(); - diff --git a/examples/php/upload-many.php b/examples/php/upload-many.php deleted file mode 100644 index 96233b4..0000000 --- a/examples/php/upload-many.php +++ /dev/null @@ -1,58 +0,0 @@ -fields( - Field::inst( 'users.first_name' ), - Field::inst( 'users.last_name' ), - Field::inst( 'users.phone' ), - Field::inst( 'users.site' ) - ->options( Options::inst() - ->table( 'sites' ) - ->value( 'id' ) - ->label( 'name' ) - ), - Field::inst( 'sites.name' ) - ) - ->join( - Mjoin::inst( 'files' ) - ->link( 'users.id', 'users_files.user_id' ) - ->link( 'files.id', 'users_files.file_id' ) - ->fields( - Field::inst( 'id' ) - ->upload( Upload::inst( $_SERVER['DOCUMENT_ROOT'].'/upload/__ID__.__EXTN__' ) - ->db( 'files', 'id', array( - 'filename' => Upload::DB_FILE_NAME, - 'filesize' => Upload::DB_FILE_SIZE, - 'web_path' => Upload::DB_WEB_PATH, - 'system_path' => Upload::DB_SYSTEM_PATH - ) ) - ->validator( function ( $file ) { - return$file['size'] >= 500000 ? - "Files must be smaller than 500K" : - null; - } ) - ->allowedExtensions( array( 'png', 'jpg' ), "Please upload an image" ) - ) - ) - ) - ->leftJoin( 'sites', 'sites.id', '=', 'users.site' ) - ->process( $_POST ) - ->json(); diff --git a/examples/php/upload.php b/examples/php/upload.php deleted file mode 100644 index b823c06..0000000 --- a/examples/php/upload.php +++ /dev/null @@ -1,46 +0,0 @@ -fields( - Field::inst( 'first_name' ), - Field::inst( 'last_name' ), - Field::inst( 'phone' ), - Field::inst( 'city' ), - Field::inst( 'image' ) - ->setFormatter( 'Format::ifEmpty', null ) - ->upload( Upload::inst( $_SERVER['DOCUMENT_ROOT'].'/upload/__ID__.__EXTN__' ) - ->db( 'files', 'id', array( - 'filename' => Upload::DB_FILE_NAME, - 'filesize' => Upload::DB_FILE_SIZE, - 'web_path' => Upload::DB_WEB_PATH, - 'system_path' => Upload::DB_SYSTEM_PATH - ) ) - ->validator( function ( $file ) { - return$file['size'] >= 500000 ? - "Files must be smaller than 500K" : - null; - } ) - ->allowedExtensions( array( 'png', 'jpg', 'gif' ), "Please upload an image" ) - ) - ) - ->process( $_POST ) - ->json(); diff --git a/examples/resources/_notes/dwsync.xml b/examples/resources/_notes/dwsync.xml deleted file mode 100644 index 8dd42d0..0000000 --- a/examples/resources/_notes/dwsync.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/examples/resources/demo.css b/examples/resources/demo.css deleted file mode 100644 index 4e3746e..0000000 --- a/examples/resources/demo.css +++ /dev/null @@ -1,373 +0,0 @@ - -@import url(http://fonts.googleapis.com/css?family=Raleway:100); - -body { - margin: 0; - padding: 0; -} - -body.dt-example-bootstrap { - font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; - font-size: 14px; - line-height: 1.42857143; -} - -div.container { - max-width: 980px; - margin: 0 auto; -} - -h1 { - font-family: 'HelveticaNeue-UltraLight', 'Helvetica Neue UltraLight', 'Raleway', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 100; - letter-spacing: 1px; - font-size: 3em; - line-height: 1em; -} - -h1 span { - font-size: 0.5em; - line-height: 1em; -} - -a { - cursor: pointer; - color: #3174c7; - text-decoration: none; -} - -p > a:hover { - text-decoration: underline; -} - -div.toc ul { - color: #4E6CA3; - list-style-type: none; - padding-left: 0; -} - -div.toc li { - padding: 0.2em 1em; - border-left: 4px solid transparent; - border-bottom: 1px solid #e6e6e6; -} - -div.toc li.active { - border-left: 4px solid #458ae0; -} - - -div.toc li:first-child { - border-top: 1px solid #efefef; -} - -div.toc li:last-child { - border-bottom: 1px solid #efefef; -} - - -div.epilogue { - text-align: center; -} - -p.copyright { - font-size: 0.8em; - padding-bottom: 2em; - margin-bottom: 0; -} - -.clear { - clear: both; - height: 0; -} - - -div.info { - margin-bottom: 2em; - - -webkit-column-count: 2; - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; - - - -webkit-column-rule: 1px solid #F3F3F3; - -moz-column-rule: 1px solid #F3F3F3; - -ms-column-rule: 1px solid #F3F3F3; - -o-column-rule: 1px solid #F3F3F3; - column-rule: 1px solid #F3F3F3; -} - -div.info > * { - -webkit-column-break-inside: avoid; - break-inside: avoid; -} - -div.info li { - margin-top: 0.75em; -} - -div.info p:first-child { - margin-top: 0; -} - -div.footer { - position: relative; - margin-top: 3em; - border-top: 1px solid #999; - background-color: #eee; -} - -div.footer > div.liner { - max-width: 960px; - margin: 0 auto; -} - -div.footer > div.gradient { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 6px; - - background: -moz-linear-gradient(top, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.2)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */ -} - -div.toc { - -webkit-column-count: 2; - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; -} - -div.toc-group { - display: inline-block; - width: 100%; -} - -div.box { - overflow: auto; - height: 8em; - padding: 1em; - color: #444; - background-color: #fcfcfc; - border: 1px solid #e0e0e0; - margin-bottom: 2em; -} - - -code { - font-family: "Source Code Pro", Consolas, Menlo, Monaco, "Courier New", monospace; - padding: 1px 4px; - font-size: 0.8em; - - color: #444; - background-color: #fcfcfc; - - border: 1px solid #e0e0e0; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} - -code:after { - display: inline-block; - border-left: 1px solid rgba( 0, 0, 0, 0.2 ); - margin-left: 4px; - padding-left: 4px; - opacity: 0.5; -} - -a code { - text-decoration: underline; -} - -code.option { - color: #D14; /* red */ - background-color: #fcf6f8; - border: 1px solid #f7d6df; - white-space: nowrap; -} -code.option:after { content: 'Option'; } - -code.path { - color: #095c05; /* dark green */ - background-color: #eef7ed; - border: 1px solid #8ccb89; - white-space: nowrap; -} -code.path:after { content: 'Path'; } - -code.tag { - color: #c29f00; /* yellow */ - background-color: #fff9d7; - border: 1px solid #ffe700; - white-space: nowrap; -} -code.tag:after { content: 'Tag'; } - -code.api { - color: #0c199c; /* dark blue */ - background-color: #f4f5fc; - border: 1px solid #c6cbe9; - white-space: nowrap; -} -code.api:after { content: 'API'; } - -code.type { - color: #d119cf; /* pink */ - background-color: #faebfa; - border: 1px solid #f3aef2; - white-space: nowrap; -} -code.type:after { content: 'Type'; } - -code.event { - color: #2a839e; /* deep aqua */ - background-color: #f5fafb; - border: 1px solid #a8ddec; - white-space: nowrap; -} -code.event:after { content: 'Event'; } - -code.string { - color: #c05f1d; /* brown */ - background-color: #f5eee9; - border: 1px solid #dfc4b2; - white-space: nowrap; -} -code.string:after { content: 'String'; } - -code.field { - color: #ad1ee8; /* purple */ - background-color: #f9f1fc; - border: 1px solid #ebc9f7; - white-space: nowrap; -} -code.field:after { content: 'Field'; } - -code.button { - color: #464e50; /* grey */ - background-color: #f2f7f9; - border: 1px solid #b8c3c5; - white-space: nowrap; -} -code.button:after { content: 'Button'; } - -code.multiline { - display: inline-block; - width: 95%; -} - -div.syntaxhighlighter code:after { - display: none; -} - - -ul.tabs { - position: relative; - top: 1px; - height: 40px; - margin: 20px 20px 0 0; -} - - -ul.tabs li { - display: block; - float: left; - padding: 0 15px; - height: 40px; - font-size: 1.2em; - margin: 0 5px; - cursor: pointer; - line-height: 40px; - color: #121e32; - border: 1px solid white; - border-bottom: none; - margin-top: -1px; -} - -ul.tabs li.active { - border: 1px solid #ccc; - border-bottom: 1px solid white; - margin-top: 0; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -ul.tabs li:hover { - background-color: #fafafa; -} - -ul.tabs li.active:hover { - background-color: white; -} - -div.tabs { - clear: both; - margin-top: -1px; -} - -div.tabs>div { - padding: 15px; - border: 1px solid #ccc; - display: none; - border-radius: 5px; - box-shadow: 2px 2px 2px #bbb; -} - -div.tabs>div h1 { - border-bottom: none; - margin-top: 1em; -} - -div.tabs > div > p:first-child { - margin-top: 0; -} - -div.column_half { - float: left; - width: 49%; - padding-right: 1%; -} - - -@media only screen and (max-width : 979px) { - div.container, - div.footer { - padding: 0 1em; - } -} - -@media - screen and (max-width : 767px), - screen and (max-width : 768px) and (orientation: portrait) { - div.info { - -webkit-column-count: 1; - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; - } - - div.toc { - -webkit-column-count: 1; - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; - } - - h1 span { - display: block; - } -} - diff --git a/examples/resources/demo.js b/examples/resources/demo.js deleted file mode 100644 index 5217a4a..0000000 --- a/examples/resources/demo.js +++ /dev/null @@ -1,136 +0,0 @@ - -/*global SyntaxHighlighter*/ -SyntaxHighlighter.config.tagName = 'code'; - -if ( window.$ ) { - $(document).ready( function () { - if ( ! $.fn.dataTable ) { - return; - } - var dt110 = $.fn.dataTable.Api ? true : false; - - // Work around for WebKit bug 55740 - var info = $('div.info'); - - if ( info.height() < 115 ) { - info.css( 'min-height', '8em' ); - } - - var escapeHtml = function ( str ) { - return str.replace(/&/g, '&').replace(//g, '>'); - }; - - // css - var cssContainer = $('div.tabs div.css'); - if ( $.trim( cssContainer.find('code').text() ) === '' ) { - cssContainer.find('code, p:eq(0), div').css('display', 'none'); - } - - // init html - var table = $('

    ').append( $('table').clone() ).html(); - var demoHtml = $.trim( $('div.demo-html').html() ); - - if ( demoHtml ) { - demoHtml = demoHtml+'\n\n'; - } - - $('div.tabs div.table').append( - '\t\t\t'+ - escapeHtml( demoHtml + table )+ - '' - ); - //SyntaxHighlighter.highlight({}, $('#display-init-html')[0]); - - // Allow the demo code to run if DT 1.9 is used - if ( dt110 ) { - // json - var ajaxTab = $('ul.tabs li').eq(3).css('display', 'none'); - - $(document).on( 'init.dt', function ( e, settings ) { - if ( e.namespace !== 'dt' ) { - return; - } - - var api = new $.fn.dataTable.Api( settings ); - - var show = function ( str ) { - ajaxTab.css( 'display', 'block' ); - $('div.tabs div.ajax code').remove(); - $('div.tabs div.ajax div.syntaxhighlighter').remove(); - - // Old IE :-| - try { - str = JSON.stringify( str, null, 2 ); - } catch ( e ) {} - - $('div.tabs div.ajax').append( - $('').text( str ) - ); - - // This can be really slow for large builds - setTimeout( function () { - SyntaxHighlighter.highlight( {}, $('div.tabs div.ajax code')[0] ); - }, 500 ); - }; - - // First draw - var json = api.ajax.json(); - if ( json ) { - show( json ); - } - - // Subsequent draws - api.on( 'xhr.dt', function ( e, settings, json ) { - show( json ); - } ); - } ); - - // php - var phpTab = $('ul.tabs li').eq(4).css('display', 'none'); - - $(document).on( 'init.dt.demoSSP', function ( e, settings ) { - if ( e.namespace !== 'dt' ) { - return; - } - - if ( settings.oFeatures.bServerSide ) { - if ( $.isFunction( settings.ajax ) ) { - return; - } - $.ajax( { - url: '../resources/examples.php', - data: { - src: settings.sAjaxSource || settings.ajax.url || settings.ajax - }, - dataType: 'text', - type: 'post', - success: function ( txt ) { - phpTab.css( 'display', 'block' ); - $('div.tabs div.php').append( - ''+txt+'' - ); - SyntaxHighlighter.highlight( {}, $('div.tabs div.php code')[0] ); - } - } ); - } - } ); - } - else { - $('ul.tabs li').eq(3).css('display', 'none'); - $('ul.tabs li').eq(4).css('display', 'none'); - } - - // Tabs - $('ul.tabs').on( 'click', 'li', function () { - $('ul.tabs li.active').removeClass('active'); - $(this).addClass('active'); - - $('div.tabs>div') - .css('display', 'none') - .eq( $(this).index() ).css('display', 'block'); - } ); - $('ul.tabs li.active').click(); - } ); -} - - diff --git a/examples/resources/details_close.png b/examples/resources/details_close.png deleted file mode 100644 index 9c7d6982d9a1408f24278ed38458bcf4722f365f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686 zcmV;f0#W^mP)rc9KHq9BMrrU)X4H-ZEQYRE1Mf85oDS6+Hm_uUD?Zq_fw zn=!^pDk~VX)hyi>=S**$PUrUR`S!lB@UYy4U- zlEcGD4Gkgv=rJ;WKMI))DAuw^dT%HXWm=_w?8Z*(BJ3CQI%#--o7^rMEd#LBM)@B$J!$?OvK`BMr zRsP$^2&f}b(NMqg?(VM1WPEB0UtKPttw@_o;Zl6jYuxh?_E**)MMmZ=lj-GUY_zo4 zX(g@tS*_O65-5I9{ZVRcW0RMmjZRMDLvyp>RI5|PAGtc61d;J^<~u33U#`0zaEJU_|e`8Yr*V+r?U8t8q~5ysN3H=`#OLdQ`{tkJnH+Sb-{!Kx_E1b-CDbv<6zhT-G!; zHrm-k^-4++%<@a!5cN&=qHLfPW&NcnA1I0WN?Z#PQ?_Tq4T=XPJ+fmXr9Rgh3WX*Z zY#nYzQEw57`)ss=4Tg%vFE(OA%kWiDnx_5WNX2@ofwe7&7_56;heB6A3S0$9q(X_2 z`oVfov$L}iHK*xu4Qu;rVd=8M;tWJwyMNQvvP;;W?hU$~2rlvFo8-^N?*Lg_D zTe3=V`<3HIr6d4&egY9GOIM|W1%+nkgGI!)I?U}_s`qE~MPPaOgl(?}8>tURI zbq@QVWUtD}o>Q37XTTcP8e{XvVEg@k7er&fzT$lU1!T4DL)K$KEZM8pr+dy|-ehDF_X77(*?9ze9%f;;Q2ML_ci!DaFdSTY^)igBw_c9}Yfb<4e2tHf re}@wNRi3XkJ+L;i)(3W7{ssI7YL=IQ_s#k*00000NkvXXu0mjfLt|7w diff --git a/examples/resources/examples.php b/examples/resources/examples.php deleted file mode 100644 index 303d3bd..0000000 --- a/examples/resources/examples.php +++ /dev/null @@ -1,10 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/resources/syntax/shCore.css b/examples/resources/syntax/shCore.css deleted file mode 100644 index 0788210..0000000 --- a/examples/resources/syntax/shCore.css +++ /dev/null @@ -1,395 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -.syntaxhighlighter a, -.syntaxhighlighter div, -.syntaxhighlighter code, -.syntaxhighlighter table, -.syntaxhighlighter table td, -.syntaxhighlighter table tr, -.syntaxhighlighter table tbody, -.syntaxhighlighter table thead, -.syntaxhighlighter table caption, -.syntaxhighlighter textarea { - -moz-border-radius: 0 0 0 0 !important; - -webkit-border-radius: 0 0 0 0 !important; - background: none !important; - border: 0 !important; - bottom: auto !important; - float: none !important; - height: auto !important; - left: auto !important; - line-height: 1.1em !important; - margin: 0 !important; - outline: 0 !important; - overflow: visible !important; - padding: 0 !important; - position: static !important; - right: auto !important; - text-align: left !important; - top: auto !important; - vertical-align: baseline !important; - width: auto !important; - box-sizing: content-box !important; - font-family: "Source Code Pro","Consolas","Monaco","Bitstream Vera Sans Mono","Courier New",Courier,monospace !important; - font-weight: normal !important; - font-style: normal !important; - font-size: 1em !important; - min-height: inherit !important; - min-height: auto !important; - white-space: nowrap; -} - -.syntaxhighlighter { - width: 100% !important; - margin: 1em 0 1em 0 !important; - position: relative !important; - overflow: auto !important; - font-size: 1em !important; - clear: both; - - box-shadow: inset 0 0 3px #555; - padding: 5px 3px; - background: #f8f8f8 !important; - box-sizing: border-box; -} -.syntaxhighlighter.source { - overflow: hidden !important; -} -.syntaxhighlighter .bold { - font-weight: bold !important; -} -.syntaxhighlighter .italic { - font-style: italic !important; -} -.syntaxhighlighter .line { - white-space: nowrap !important; -} -.syntaxhighlighter table { - width: 100% !important; -} -.syntaxhighlighter table caption { - text-align: left !important; - padding: .5em 0 0.5em 1em !important; -} -.syntaxhighlighter table td.code { - width: 100% !important; -} -.syntaxhighlighter table td.code .container { - position: relative !important; -} -.syntaxhighlighter table td.code .container textarea { - box-sizing: border-box !important; - position: absolute !important; - left: 0 !important; - top: 0 !important; - width: 100% !important; - height: 100% !important; - border: none !important; - background: white !important; - padding-left: 1em !important; - overflow: hidden !important; - white-space: pre !important; -} -.syntaxhighlighter table td.gutter .line { - text-align: right !important; - padding: 2px 0.5em 2px 1em !important; -} -.syntaxhighlighter table td.code .line { - padding: 2px 1em !important; -} -.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { - padding-left: 0em !important; -} -.syntaxhighlighter.show { - display: block !important; -} -.syntaxhighlighter.collapsed table { - display: none !important; -} -.syntaxhighlighter.collapsed .toolbar { - padding: 0.1em 0.8em 0em 0.8em !important; - font-size: 1em !important; - position: static !important; - width: auto !important; - height: auto !important; -} -.syntaxhighlighter.collapsed .toolbar span { - display: inline !important; - margin-right: 1em !important; -} -.syntaxhighlighter.collapsed .toolbar span a { - padding: 0 !important; - display: none !important; -} -.syntaxhighlighter.collapsed .toolbar span a.expandSource { - display: inline !important; -} -.syntaxhighlighter .toolbar { - position: absolute !important; - right: 10px !important; - top: 0 !important; - font-size: 10px !important; - z-index: 7 !important; -} -.syntaxhighlighter .toolbar span.title { - display: inline !important; -} -.syntaxhighlighter .toolbar a { - display: block !important; - text-align: center !important; - text-decoration: none !important; - padding-top: 1px !important; -} -.syntaxhighlighter .toolbar a.expandSource { - display: none !important; -} -.syntaxhighlighter.ie { - font-size: .9em !important; - padding: 1px 0 1px 0 !important; -} -.syntaxhighlighter.ie .toolbar { - line-height: 8px !important; -} -.syntaxhighlighter.ie .toolbar a { - padding-top: 0px !important; -} -.syntaxhighlighter.printing .line.alt1 .content, -.syntaxhighlighter.printing .line.alt2 .content, -.syntaxhighlighter.printing .line.highlighted .number, -.syntaxhighlighter.printing .line.highlighted.alt1 .content, -.syntaxhighlighter.printing .line.highlighted.alt2 .content { - background: none !important; -} -.syntaxhighlighter.printing .line .number { - color: #bbbbbb !important; -} -.syntaxhighlighter.printing .line .content { - color: black !important; -} -.syntaxhighlighter.printing .toolbar { - display: none !important; -} -.syntaxhighlighter.printing a { - text-decoration: none !important; -} -.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { - color: black !important; -} -.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { - color: #008200 !important; -} -.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { - color: blue !important; -} -.syntaxhighlighter.printing .keyword { - color: #006699 !important; - font-weight: bold !important; -} -.syntaxhighlighter.printing .preprocessor { - color: gray !important; -} -.syntaxhighlighter.printing .variable { - color: #aa7700 !important; -} -.syntaxhighlighter.printing .value { - color: #009900 !important; -} -.syntaxhighlighter.printing .functions { - color: #ff1493 !important; -} -.syntaxhighlighter.printing .constants { - color: #0066cc !important; -} -.syntaxhighlighter.printing .script { - font-weight: bold !important; -} -.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { - color: gray !important; -} -.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { - color: #ff1493 !important; -} -.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { - color: red !important; -} -.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { - color: black !important; -} - - - -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -.syntaxhighlighter { - font-size: 13px !important; - overflow: visible !important; -} -.syntaxhighlighter .line.alt1 { - background-color: white !important; -} -.syntaxhighlighter .line.alt2 { - background-color: #F8F8F8 !important; -} -.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { - background-color: #e0e0e0 !important; -} -.syntaxhighlighter .line.highlighted.number { - color: black !important; -} -.syntaxhighlighter table caption { - color: black !important; -} -.syntaxhighlighter .gutter { -} -.syntaxhighlighter .gutter div { - color: #5C5C5C !important; -} -.syntaxhighlighter .gutter .line.alt1, .syntaxhighlighter .gutter .line.alt2 { - background-color: transparent !important; -} -.odd .syntaxhighlighter .gutter .line.alt1, .odd .syntaxhighlighter .gutter .line.alt2 { - background-color: #F2F2F2 !important; -} -.syntaxhighlighter .gutter .line { - border-right: 3px solid #4E6CA3 !important; -} -.syntaxhighlighter .gutter .line.highlighted { - background-color: #4E6CA3 !important; - color: white !important; -} -.syntaxhighlighter.printing .line .content { - border: none !important; -} -.syntaxhighlighter.collapsed { - overflow: visible !important; -} -.syntaxhighlighter.collapsed .toolbar { - color: blue !important; - background: white !important; - border: 1px solid #4E6CA3 !important; -} -.syntaxhighlighter.collapsed .toolbar a { - color: blue !important; -} -.syntaxhighlighter.collapsed .toolbar a:hover { - color: red !important; -} -.syntaxhighlighter .toolbar { - color: white !important; - border: none !important; -} -.syntaxhighlighter .toolbar a { - font: 100%/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif !important; - color: white !important; - background: #4E6CA3 !important; - float: right !important; - padding: 2px 5px !important; - clear: both; -} -.syntaxhighlighter .toolbar a:hover { - color: #b7c5df !important; - background: #39568b !important; -} -.syntaxhighlighter .plain, .syntaxhighlighter .plain a { - color: black !important; -} -.syntaxhighlighter .comments, .syntaxhighlighter .comments a { - color: #008200 !important; -} -.syntaxhighlighter .string, .syntaxhighlighter .string a { - color: blue !important; -} -.syntaxhighlighter .keyword { - color: #006699 !important; -} -.syntaxhighlighter .preprocessor { - color: gray !important; -} -.syntaxhighlighter .variable { - color: #aa7700 !important; -} -.syntaxhighlighter .value { - color: #009900 !important; -} -.syntaxhighlighter .functions { - color: #ff1493 !important; -} -.syntaxhighlighter .constants { - color: #0066cc !important; -} -.syntaxhighlighter .script { - font-weight: bold !important; - color: #006699 !important; - background-color: none !important; -} -.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { - color: gray !important; -} -.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { - color: #ff1493 !important; -} -.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { - color: red !important; -} - -.syntaxhighlighter .keyword { - font-weight: bold !important; -} - -.datatables_ref:hover { - text-decoration: underline; - cursor: pointer; - *cursor: hand; -} - -.syntaxhighlighter .dtapi { - color: #069; -} - -.syntaxhighlighter .dtapi:hover { - text-decoration: underline; - cursor: pointer; - *cursor: hand; -} - -.syntaxhighlighter table { - table-layout: fixed !important; -} - -.syntaxhighlighter table td.gutter { - width: 46px !important; /* enough for three digits */ -} - -.syntaxhighlighter table td.code { - width: auto !important; - overflow: auto !important; -} - diff --git a/examples/resources/syntax/shCore.js b/examples/resources/syntax/shCore.js deleted file mode 100644 index 16a37e8..0000000 --- a/examples/resources/syntax/shCore.js +++ /dev/null @@ -1,2138 +0,0 @@ -/*! - * XRegExp 2.0.0 MIT License - */ -var XRegExp;XRegExp=XRegExp||function(n){"use strict";function v(n,i,r){var u;for(u in t.prototype)t.prototype.hasOwnProperty(u)&&(n[u]=t.prototype[u]);return n.xregexp={captureNames:i,isNative:!!r},n}function g(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function o(n,r,u){if(!t.isRegExp(n))throw new TypeError("type RegExp expected");var f=i.replace.call(g(n)+(r||""),h,"");return u&&(f=i.replace.call(f,new RegExp("["+u+"]+","g"),"")),n=n.xregexp&&!n.xregexp.isNative?v(t(n.source,f),n.xregexp.captureNames?n.xregexp.captureNames.slice(0):null):v(new RegExp(n.source,f),null,!0)}function a(n,t){var i=n.length;if(Array.prototype.lastIndexOf)return n.lastIndexOf(t);while(i--)if(n[i]===t)return i;return-1}function s(n,t){return Object.prototype.toString.call(n).toLowerCase()==="[object "+t+"]"}function d(n){return n=n||{},n==="all"||n.all?n={natives:!0,extensibility:!0}:s(n,"string")&&(n=t.forEach(n,/[^\s,]+/,function(n){this[n]=!0},{})),n}function ut(n,t,i,u){var o=p.length,s=null,e,f;y=!0;try{while(o--)if(f=p[o],(f.scope==="all"||f.scope===i)&&(!f.trigger||f.trigger.call(u))&&(f.pattern.lastIndex=t,e=r.exec.call(f.pattern,n),e&&e.index===t)){s={output:f.handler.call(u,e,i),match:e};break}}catch(h){throw h;}finally{y=!1}return s}function b(n){t.addToken=c[n?"on":"off"],f.extensibility=n}function tt(n){RegExp.prototype.exec=(n?r:i).exec,RegExp.prototype.test=(n?r:i).test,String.prototype.match=(n?r:i).match,String.prototype.replace=(n?r:i).replace,String.prototype.split=(n?r:i).split,f.natives=n}var t,c,u,f={natives:!1,extensibility:!1},i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},k={},p=[],e="default",rt="class",it={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},et=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,h=/([\s\S])(?=[\s\S]*\1)/g,nt=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,ft=i.exec.call(/()??/,"")[1]===n,l=RegExp.prototype.sticky!==n,y=!1,w="gim"+(l?"y":"");return t=function(r,u){if(t.isRegExp(r)){if(u!==n)throw new TypeError("can't supply flags when constructing one RegExp from another");return o(r)}if(y)throw new Error("can't call the XRegExp constructor within token definition functions");var l=[],a=e,b={hasNamedCapture:!1,captureNames:[],hasFlag:function(n){return u.indexOf(n)>-1}},f=0,c,s,p;if(r=r===n?"":String(r),u=u===n?"":String(u),i.match.call(u,h))throw new SyntaxError("invalid duplicate regular expression flag");for(r=i.replace.call(r,/^\(\?([\w$]+)\)/,function(n,t){if(i.test.call(/[gy]/,t))throw new SyntaxError("can't use flag g or y in mode modifier");return u=i.replace.call(u+t,h,""),""}),t.forEach(u,/[\s\S]/,function(n){if(w.indexOf(n[0])<0)throw new SyntaxError("invalid regular expression flag "+n[0]);});f"}else if(i)return"\\"+(+i+f);return n},e=[],r,u;if(!(s(n,"array")&&n.length))throw new TypeError("patterns must be a nonempty array");for(u=0;u1&&a(r,"")>-1&&(e=new RegExp(this.source,i.replace.call(g(this),"g","")),i.replace.call(String(t).slice(r.index),e,function(){for(var t=1;tr.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=o),r},r.test=function(n){return!!r.exec.call(this,n)},r.match=function(n){if(t.isRegExp(n)){if(n.global){var u=i.match.apply(this,arguments);return n.lastIndex=0,u}}else n=new RegExp(n);return r.exec.call(n,this)},r.replace=function(n,r){var e=t.isRegExp(n),u,f,h,o;return e?(n.xregexp&&(u=n.xregexp.captureNames),n.global||(o=n.lastIndex)):n+="",s(r,"function")?f=i.replace.call(String(this),n,function(){var t=arguments,i;if(u)for(t[0]=new String(t[0]),i=0;in.length-3)throw new SyntaxError("backreference to undefined group "+t);return n[r]||""}throw new SyntaxError("invalid token "+t);})})),e&&(n.lastIndex=n.global?0:o),f},r.split=function(r,u){if(!t.isRegExp(r))return i.split.apply(this,arguments);var e=String(this),h=r.lastIndex,f=[],o=0,s;return u=(u===n?-1:u)>>>0,t.forEach(e,r,function(n){n.index+n[0].length>o&&(f.push(e.slice(o,n.index)),n.length>1&&n.indexu?f.slice(0,u):f},u=c.on,u(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(n,t){if(n[1]==="B"&&t===e)return n[0];throw new SyntaxError("invalid escape "+n[0]);},{scope:"all"}),u(/\[(\^?)]/,function(n){return n[1]?"[\\s\\S]":"\\b\\B"}),u(/(?:\(\?#[^)]*\))+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"}),u(/\\k<([\w$]+)>/,function(n){var t=isNaN(n[1])?a(this.captureNames,n[1])+1:+n[1],i=n.index+n[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+n[0]);return"\\"+t+(i===n.input.length||isNaN(n.input.charAt(i))?"":"(?:)")}),u(/(?:\s+|#.*)+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),u(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),u(/\(\?P?<([\w$]+)>/,function(n){if(!isNaN(n[1]))throw new SyntaxError("can't use integer as capture name "+n[0]);return this.captureNames.push(n[1]),this.hasNamedCapture=!0,"("}),u(/\\(\d+)/,function(n,t){if(!(t===e&&/^[1-9]/.test(n[1])&&+n[1]<=this.captureNames.length)&&n[1]!=="0")throw new SyntaxError("can't use octal escape or backreference to undefined group "+n[0]);return n[0]},{scope:"all"}),u(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),typeof exports!="undefined"&&(exports.XRegExp=t),t}() - - -/*! - * SyntaxHighlighter by Alex Gorbatchev - * https://github.com/alexgorbatchev/SyntaxHighlighter - MIT license - */ - -// -// Begin anonymous function. This is used to contain local scope variables without polutting global scope. -// -if (typeof(SyntaxHighlighter) == 'undefined') var SyntaxHighlighter = function() { - -// CommonJS -if (typeof(require) != 'undefined' && typeof(XRegExp) == 'undefined') -{ - XRegExp = require('xregexp').XRegExp; -} - -// Shortcut object which will be assigned to the SyntaxHighlighter variable. -// This is a shorthand for local reference in order to avoid long namespace -// references to SyntaxHighlighter.whatever... -var sh = { - defaults : { - /** Additional CSS class names to be added to highlighter elements. */ - 'class-name' : '', - - /** First line number. */ - 'first-line' : 1, - - /** - * Pads line numbers. Possible values are: - * - * false - don't pad line numbers. - * true - automaticaly pad numbers with minimum required number of leading zeroes. - * [int] - length up to which pad line numbers. - */ - 'pad-line-numbers' : false, - - /** Lines to highlight. */ - 'highlight' : null, - - /** Title to be displayed above the code block. */ - 'title' : null, - - /** Enables or disables smart tabs. */ - 'smart-tabs' : true, - - /** Gets or sets tab size. */ - 'tab-size' : 4, - - /** Enables or disables gutter. */ - 'gutter' : true, - - /** Enables or disables toolbar. */ - 'toolbar' : true, - - /** Enables quick code copy and paste from double click. */ - 'quick-code' : true, - - /** Forces code view to be collapsed. */ - 'collapse' : false, - - /** Enables or disables automatic links. */ - 'auto-links' : true, - - /** Gets or sets light mode. Equavalent to turning off gutter and toolbar. */ - 'light' : false, - - 'unindent' : true, - - 'html-script' : false - }, - - config : { - space : ' ', - - /** Enables use of - - - - - - -

    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - picture -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Components

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    General Items

    -
    -
    - - - Button - Button -
    -
    Radio Button
    -
    - - - - -
    - -
    Checkbox
    -
    - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -

    Slider

    -
    -
    - Orange -
    - - -
    - Green -
    - - -
    - Purple -
    - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Tags

    -
    -
    - - -
    -
    -
    -
    -
    -
    -

    Tree

    -
    -
    -
    - -
      -
    • Root node 1 -
        -
      • Child node 1
      • -
      • Child node 2 -
          -
        • Child node 1
        • -
        • Child node 2
        • -
        -
      • -
      -
    • -
    • Root node 2
    • -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - \ No newline at end of file diff --git a/home.php b/home.php deleted file mode 100644 index 6687280..0000000 --- a/home.php +++ /dev/null @@ -1,39 +0,0 @@ -updateUser(array( - "name" => $_POST['newName'] - )); -} -?> - - - -

    Welcome

    -

    You have been successfully logged in.

    -

    - Log Out -

    -

    - You registered on this website joinedSince(); ?> ago. -

    -

    - Here is the full data, the database stores on this user : -

    -
    getUser();
    -			print_r($details);
    -			?>
    -

    - Change the name of your account : -

    -
    - - -
    -

    - Change Password -

    - - diff --git a/img/23.jpg b/img/23.jpg deleted file mode 100644 index 096caf6d5edb5270bdcd9e979232f30b74235f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75681 zcmb4qWl$VV)b1`U?he5n7I$}dU4lCVCqR${cXxNUMS@#!cXxLJ2~My8xxC-^GN;(-!1@CQC2|~00aU7^6wYm-v&VHzux~P7#LWX{|E#N3j+%W zf`fwtfk1HZ2=H)l2=E{fJQ6$t;(r7OkA#ebi2PsYKPLY%_;1$xjrcz6e}?>jHUD}6 zScpJX;2kUw3jl)!gvA2>8w8L80Ph0*k92_lB{+Bx0xTjD3^EXa@;*Qo695B*fr9~o zVBtY8fW+#?_~zowOP z4f-H$;g=+X_}}}0e_sjye9hAFjqsvlG4BHXs zJ0AvX!BUMCMbo|nTlJ_uYJ8O?8sZ#C;y^Cqfju4TrD8$s;>~Xd3FK_1y^ zx-R5?5BP*3LyKtA$rRpO+8f90w0pRCqQbF#pkj>n%Rsj|CtRm^25_NF%^jhB-894C zS1w}GYUilzs!bG{uPhshZaX=0gzD_n+G|vSYjT7zZ-~9KRC87gX~N|9y_a}aCDsvA zY48*Yz_;+n$yLwaWc~q; z`d-CW@QuJp5Pvm`Kk%iRYAz1CUx9`+4kP7Q3HN0rJ8hT2_QTK!$i4IYqIaSy(gU#z zY=2t=l&d?165|_0tPGJKtUc{JPngj??&9~gxoxNdxs2-~RR!n~1$(!@8Zqz)&E}rN z)1Gt&wpzGEWT2J^P6pXbY}2(p#jQr+Ao&^AFRoT1wDLz$q&5-2?SvLb zBt-{NF&9XDD!$+~)xZVoOH`p?RzL6h}417I|3_ z4bZ~57H&F4q5yY9LBdJT`JuNMM$x)#q7T{Q9{{+4W&E4C4B4=IFo^>Pu?aM$ke;9+F z{{YI&W$Ykvt19PbJ9eQpCN~8=v!eBp2lIhdbAe4<%0Aqvl>8~uZe0XH4RKkjiNq8m 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

    {$msg[1]}

    "; - } - ?> - - - - - - - - - - - - \ No newline at end of file diff --git a/logout.php b/logout.php deleted file mode 100644 index 6f395b0..0000000 --- a/logout.php +++ /dev/null @@ -1,4 +0,0 @@ -logout(); -?> diff --git a/mysql/_notes/dwsync.xml b/mysql/_notes/dwsync.xml deleted file mode 100644 index f52e4a3..0000000 --- a/mysql/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/mysql/advance2.sql b/mysql/advance2.sql deleted file mode 100644 index fb0775e..0000000 --- a/mysql/advance2.sql +++ /dev/null @@ -1,360 +0,0 @@ --- phpMyAdmin SQL Dump --- version 4.5.1 --- http://www.phpmyadmin.net --- --- Servidor: 127.0.0.1 --- Tiempo de generación: 06-03-2017 a las 16:05:03 --- Versión del servidor: 10.1.16-MariaDB --- Versión de PHP: 7.0.9 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Base de datos: `db672472483` --- - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `accountmanager` --- - -CREATE TABLE `accountmanager` ( - `id` int(11) NOT NULL, - `nombre` varchar(30) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- --- Volcado de datos para la tabla `accountmanager` --- - -INSERT INTO `accountmanager` (`id`, `nombre`) VALUES -(1, 'Julia Carraro'), -(2, 'Kamila Krajnik'), -(3, 'Camilla Rolando'), -(4, 'Amparo Romero'); - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `advertisers` --- - -CREATE TABLE `advertisers` ( - `id` int(2) NOT NULL, - `nombre` varchar(30) NOT NULL, - `id_am` varchar(30) NOT NULL DEFAULT '3' -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- --- Volcado de datos para la tabla `advertisers` --- - -INSERT INTO `advertisers` (`id`, `nombre`, `id_am`) VALUES -(1, 'Neomobile', 'Julia Carraro'), -(2, 'Admitad', 'Kamila Krajnik'), -(3, 'Applift', 'Camilla Rolando'), -(4, 'Digital Galaxy', 'Julia Carraro'), -(5, 'Naranya CPA', 'Julia Carraro'), -(6, 'Wadogo', 'Amparo Romero'), -(7, 'Mobquid LTD', 'Camilla Rolando'), -(8, 'Click2commission CPI', 'Camilla Rolando'), -(9, 'Instal', 'Amparo Romero'), -(10, 'Avazu CPA', 'Julia Carraro'), -(11, 'Digital Virgo', 'Julia Carraro'), -(12, 'Go Wide', 'Camilla Rolando'), -(13, 'Ximobi', 'Julia Carraro'), -(14, '3DM', 'Julia Carraro'), -(15, 'Surikate', 'Julia Carraro'), -(16, 'MobVista CPI', 'Amparo Romero'), -(17, 'Adstract', 'Kamila Krajnik'), -(18, 'Mobipuff', 'Julia Carraro'), -(19, 'Appcoach', 'Amparo Romero'), -(20, 'Image Perfect', 'Julia Carraro'), -(21, 'InlabDigital', 'Camilla Rolando'), -(22, 'Appalgo', 'Kamila Krajnik'), -(23, 'Moblin', 'Camilla Rolando'), -(24, 'AddValue Media CPI', 'Kamila Krajnik'), -(25, 'Layroute', 'Amparo Romero'), -(26, 'AdsFast', 'Camilla Rolando'), -(27, 'Headway CPA', 'Julia Carraro'), -(28, 'MiniMob', 'Amparo Romero'), -(29, 'Naranya CPI', 'Camilla Rolando'), -(30, 'SekoMedia', 'Amparo Romero'), -(31, 'Rekket CPA', 'Julia Carraro'), -(32, 'MappStreet', 'Kamila Krajnik'), -(33, 'Sabia Media', 'Kamila Krajnik'), -(34, 'Stroer', 'Camilla Rolando'), -(35, 'Blackfox', 'Amparo Romero'), -(36, 'SmartLead', 'Amparo Romero'), -(37, 'ClicksMob', 'Kamila Krajnik'), -(38, 'InlabDigital CPA', 'Camilla Rolando'), -(39, 'Eptonic', 'Amparo Romero'), -(40, 'Avazu', 'Amparo Romero'), -(41, 'Digital Turbine', 'Amparo Romero'), -(42, 'Marvel Media', 'Julia Carraro'), -(43, 'Collectcent', 'Julia Carraro'), -(44, 'OnMobile CPA', 'Julia Carraro'), -(45, 'Billy Mobile CPA', 'Julia Carraro'), -(46, 'Mobisummer', 'Camilla Rolando'), -(47, 'Traffikey', 'Camilla Rolando'), -(48, 'KIMIA CPA', 'Julia Carraro'), -(49, 'Adooya Crossrider CPI', 'Camilla Rolando'), -(50, 'Art of Click', 'Amparo Romero'), -(51, 'Matomy Media Group', 'Camilla Rolando'), -(52, 'BravAds', 'Camilla Rolando'), -(53, 'Affle', 'Camilla Rolando'), -(54, 'Rekket', 'Kamila Krajnik'), -(55, 'Mobligo', 'Amparo Romero'), -(56, 'Spyke Media', 'Kamila Krajnik'), -(57, 'Adxperience', 'Kamila Krajnik'), -(58, 'Stingrad', 'Kamila Krajnik'), -(59, 'Grand Oro LP', 'Amparo Romero'), -(60, 'Click2Commission CPA', 'Julia Carraro'), -(61, 'WinClap', 'Amparo Romero'), -(62, 'Televida', 'Julia Carraro'), -(63, 'Crazy4Media CPA', 'Julia Carraro'), -(64, 'Linkadia', 'Kamila Krajnik'), -(65, 'Cliq Digital', 'Julia Carraro'), -(66, 'Headway Digital CPA', 'Julia Carraro'), -(67, 'Mobco Cake', 'Camilla Rolando'), -(68, 'Offerseven', 'Kamila Krajnik'), -(69, 'VIP Response CPA', 'Julia Carraro'), -(70, 'Telecoming', 'Julia Carraro'), -(71, 'Spiroox CPA', 'Julia Carraro'), -(72, 'UC Union', 'Amparo Romero'), -(73, 'Epom Market', 'Amparo Romero'), -(74, 'Rocket10', 'Kamila Krajnik'), -(75, 'Mobrider', 'Amparo Romero'), -(76, 'Aragon Advertising', 'Julia Carraro'), -(77, 'Adxmi', 'Amparo Romero'), -(78, 'Freenet Company', 'Julia Carraro'), -(79, 'Mobidea', 'Julia Carraro'), -(80, 'Gameloft', 'Julia Carraro'), -(81, 'Imagine ADS', 'Julia Carraro'), -(82, 'PSMOVILES', 'Julia Carraro'), -(83, 'Buongiorno (Taplinks)', 'Julia Carraro'), -(84, 'Msales', 'Julia Carraro'), -(85, 'Kimia', 'Julia Carraro'), -(128, 'Ad3traffic', 'Camilla Rolando'), -(129, 'Adacts', 'Julia Carraro'), -(130, 'Addictive Ads', 'Julia Carraro'), -(131, 'Adooya Crossrider CPA', 'Julia Carraro'), -(132, 'Adstacks', 'Julia Carraro'), -(133, 'Adwool', 'Julia Carraro'), -(134, 'Affimobiz', 'Julia Carraro'), -(135, 'Affle CPA', 'Julia Carraro'), -(136, 'AlliTapp', 'Julia Carraro'), -(137, 'App Promoters', 'Julia Carraro'), -(138, 'Appave', 'Julia Carraro'), -(139, 'Basebone', 'Julia Carraro'), -(140, 'CliqDigital', 'Julia Carraro'), -(141, 'CPITraffic', 'Julia Carraro'), -(142, 'Crowmobi', 'Julia Carraro'), -(143, 'DCyphermedia', 'Julia Carraro'), -(144, 'DobleVia Latam', 'Julia Carraro'), -(145, 'Doozymob', 'Julia Carraro'), -(146, 'Glize', 'Julia Carraro'), -(147, 'Gold360', 'Julia Carraro'), -(148, 'Go-Rilla', 'Julia Carraro'), -(149, 'IDB Group', 'Julia Carraro'), -(150, 'JungleTap', 'Julia Carraro'), -(151, 'Kwanko (Swelen)', 'Julia Carraro'), -(152, 'Laddez', 'Julia Carraro'), -(153, 'Leadzinmarketing AFFTRACK', 'Julia Carraro'), -(154, 'Linkadia CPA', 'Julia Carraro'), -(155, 'Maverick CPA', 'Julia Carraro'), -(156, 'Miri Media', 'Julia Carraro'), -(157, 'MiskyAds', 'Julia Carraro'), -(158, 'MobChain', 'Julia Carraro'), -(159, 'Mobilogia', 'Julia Carraro'), -(160, 'Mobipium', 'Julia Carraro'), -(161, 'Mobobeat CPI', 'Julia Carraro'), -(162, 'Mobquid', 'Julia Carraro'), -(163, 'Mobquid CPA', 'Julia Carraro'), -(164, 'MoBrain (Headway)', 'Julia Carraro'), -(165, 'Mobsai', 'Julia Carraro'), -(166, 'Nanalab', 'Julia Carraro'), -(167, 'Persona.ly', 'Julia Carraro'), -(168, 'ReGaming', 'Julia Carraro'), -(169, 'Revenuemob', 'Julia Carraro'), -(170, 'Seko Media', 'Julia Carraro'), -(171, 'Softerik', 'Julia Carraro'), -(172, 'StartApp', 'Julia Carraro'), -(173, 'Superads', 'Julia Carraro'), -(174, 'Tracsion', 'Julia Carraro'), -(175, 'Trooperads', 'Julia Carraro'), -(176, 'Zenna', 'Julia Carraro'); - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `incomes` --- - -CREATE TABLE `incomes` ( - `id` int(4) UNSIGNED ZEROFILL NOT NULL, - `advertiser` varchar(50) DEFAULT '0', - `am` varchar(50) DEFAULT '0', - `clicks` int(12) DEFAULT '0', - `conversion` int(12) DEFAULT '0', - `revenue` decimal(10,2) DEFAULT '0.00', - `platform_revenue` decimal(10,2) DEFAULT '0.00', - `difference` decimal(10,2) DEFAULT '0.00', - `scrubs` decimal(10,2) DEFAULT '0.00', - `hold` decimal(10,2) DEFAULT '0.00', - `validated` decimal(10,2) DEFAULT '0.00', - `status` varchar(50) DEFAULT '0', - `notas_am` varchar(200) DEFAULT 'Notes...', - `notas_finance` varchar(200) DEFAULT 'Notes...', - `date` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `status` --- - -CREATE TABLE `status` ( - `id` int(5) NOT NULL, - `name` varchar(50) DEFAULT NULL, - `code` varchar(25) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- --- Volcado de datos para la tabla `status` --- - -INSERT INTO `status` (`id`, `name`, `code`) VALUES -(1, 'facturas emitidas', 'verde'), -(2, 'pendiente validación', 'amarillo'), -(3, 'faltan datos fiscales', 'naranja'), -(4, 'facturado desde brasil', 'rojo'), -(5, 'emitido sin validar', 'morado'); - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `users` --- - -CREATE TABLE `users` ( - `id` int(11) NOT NULL, - `username` varchar(25) NOT NULL, - `email` tinytext NOT NULL, - `password` varchar(255) NOT NULL, - `name` varchar(30) NOT NULL, - `created` datetime NOT NULL, - `attempt` varchar(15) NOT NULL DEFAULT '0' -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `user_devices` --- - -CREATE TABLE `user_devices` ( - `id` int(11) NOT NULL, - `uid` int(11) NOT NULL COMMENT 'The user''s ID', - `token` varchar(15) NOT NULL COMMENT 'A unique token for the user''s device', - `last_access` varchar(20) NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `user_tokens` --- - -CREATE TABLE `user_tokens` ( - `token` varchar(40) NOT NULL COMMENT 'The generated unique token', - `uid` int(11) NOT NULL COMMENT 'The User ID', - `requested` varchar(20) NOT NULL COMMENT 'The date when token was created' -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- --- Índices para tablas volcadas --- - --- --- Indices de la tabla `accountmanager` --- -ALTER TABLE `accountmanager` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `advertisers` --- -ALTER TABLE `advertisers` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `incomes` --- -ALTER TABLE `incomes` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `status` --- -ALTER TABLE `status` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `users` --- -ALTER TABLE `users` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `user_devices` --- -ALTER TABLE `user_devices` - ADD PRIMARY KEY (`id`); - --- --- AUTO_INCREMENT de las tablas volcadas --- - --- --- AUTO_INCREMENT de la tabla `accountmanager` --- -ALTER TABLE `accountmanager` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; --- --- AUTO_INCREMENT de la tabla `advertisers` --- -ALTER TABLE `advertisers` - MODIFY `id` int(2) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=177; --- --- AUTO_INCREMENT de la tabla `incomes` --- -ALTER TABLE `incomes` - MODIFY `id` int(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT de la tabla `status` --- -ALTER TABLE `status` - MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; --- --- AUTO_INCREMENT de la tabla `users` --- -ALTER TABLE `users` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT de la tabla `user_devices` --- -ALTER TABLE `user_devices` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/mysql/mysql-users.sql b/mysql/mysql-users.sql deleted file mode 100644 index 4df4e59..0000000 --- a/mysql/mysql-users.sql +++ /dev/null @@ -1,39 +0,0 @@ -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET time_zone = "+00:00"; - --- --- Table structure for table `users` --- - -CREATE TABLE IF NOT EXISTS `users` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(10) NOT NULL, - `email` tinytext NOT NULL, - `password` varchar(255) NOT NULL, - `name` varchar(30) NOT NULL, - `created` datetime NOT NULL, - `attempt` varchar(15) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; - --- --- Table structure for table `user_tokens` --- - -CREATE TABLE IF NOT EXISTS `user_tokens` ( - `token` varchar(40) NOT NULL COMMENT 'The generated unique token', - `uid` int(11) NOT NULL COMMENT 'The User ID', - `requested` varchar(20) NOT NULL COMMENT 'The date when token was created' -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- --- Table structure for table `user_devices` --- - -CREATE TABLE IF NOT EXISTS `user_devices` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `uid` int(11) NOT NULL COMMENT 'The user''s ID', - `token` varchar(15) NOT NULL COMMENT 'A unique token for the user''s device', - `last_access` varchar(20) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..ce4e94a --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,7 @@ +/// +/// +import "./.next/types/routes.d.ts"; +import "./.next/types/root-params.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..cb651cd --- /dev/null +++ b/next.config.ts @@ -0,0 +1,5 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = {}; + +export default nextConfig; diff --git a/package.json b/package.json new file mode 100644 index 0000000..13627ea --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "openhiggsfield-ai", + "private": true, + "type": "module", + "scripts": { + "dev": "next dev --port 3000", + "build": "next build", + "start": "next start", + "brand": "node scripts/build-brand-assets.mjs" + }, + "dependencies": { + "@tanstack/react-virtual": "^3.14.10", + "@vercel/blob": "^2.8.0", + "next": "^16.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "zustand": "^5.0.15" + }, + "devDependencies": { + "@types/node": "^22.10.2", + "@types/react": "^19.2.0", + "@types/react-dom": "^19.2.0", + "typescript": "^5.9.2" + } +} diff --git a/php/Bootstrap.php b/php/Bootstrap.php deleted file mode 100644 index bc020b7..0000000 --- a/php/Bootstrap.php +++ /dev/null @@ -1,62 +0,0 @@ - "Editor PHP libraries required PHP 5.3 or newer. You are ". - "currently using ".PHP_VERSION.". PHP 5.3 and newer have a lot of ". - "great new features that the Editor libraries take advantage of to ". - "present an easy to use and flexible API." - ) ); - exit(0); -} - - -// -// Load the DataTables bootstrap core file and let it register the required -// handlers. -// -include( dirname(__FILE__).'/Bootstrap.php' ); - diff --git a/php/Database/Database.php b/php/Database/Database.php deleted file mode 100644 index bd05032..0000000 --- a/php/Database/Database.php +++ /dev/null @@ -1,432 +0,0 @@ - - * array( - * "user" => "", // User name - * "pass" => "", // Password - * "host" => "", // Host name - * "port" => "", // Port - * "db" => "", // Database name - * "type" => "" // Datable type: "Mysql", "Postgres" or "Sqlite" - * ) - *

    HF_wM1c&a-2=B(y3dI{#HdWgR!f7iKOF7Lr#4wj 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

    o7*>onbxVwnncg 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

    _{wm@Y_bZplGJw3v%sZU)*Xa`-@V*`56O`sT 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%0D5bT`c%u6 zx7mGf{{SAecn%j+wyMKO08f%j#@~>d}rHwn;n?eeg5L*=|hr zKKjnpYV1%)5NF_yUSOKvN)ncyTB?FJL_&Ffx)z>RoV=mP!@8QQij})ND^yd-L{7{J z!9Oh>`t3jXn;{+@41n(7B#g~0;-Afwl^ZW|bf%t*OOGkp$!!3NTUzQWql%0&KR3n+ z*Po?lKC8o014(k;p9H)ruj8uQb5_~v{JiqXG!b_9?V&TJNnylca~(^s#}F-Rvbr0< z-VAZIi;L;)m3E8U_+kpl$xfwOQV!wv&O84AuC(0AEJyZP@LY7AMi)k3gD0t7i|}r* zgs3gl_FfjDrm#`vOwqhttj*k(-V&ep&y~^s3YyTgG|{y5o?!sx zNZ(d*4&f_BrpQ)|2;O5?-0a1p0_WxkbSq+s>3Mp%YyfZy$} zWb%hVaH8!MZFmN@X=#@OoG8Fyu^9Zi>Kz~mjD+%5y?vpkptX2Y#Z{tFN(DKBoT$Sz z&G4@I+t)tc`txNuAs@g282dYTT~opy7I2jvT^%%6cBWZp8xCn34b0yCKTl0A9$P@8 zwjk~mr!N(87YbGyS!pDyqa?2}=m)o_{2d$?xp~bYPAuF}!q=)_yVOZc&e>*-xBk5~ zN3es1X0#DRFRnfxSuU`n+oqb-=i^BrY;vD{S-OV|6ceNsf}xIlQsCzeM_Wn6wt<|a zpW?9e8~nd5SeT!JD5`9gnFi5|e~p%}GCE7$4POsb6~`>eu|N5KTC4O#<+%!@Sy(t$ z1uqp_u5gzPPdo)a2T}+*>HS8NlSB>(Psgor$SOB|v!z5YH6sN0bBy=&)>fmX1NK(F zm#mO!%UJm883mR*iUAnFsK{$74|t!JHV%OG8P0;P$n%9maYU{R zoUTA5|N{|f;0yp9%xF)eK48Hq9`NdqMN=mh4iZ)oD~wbO}C$35G(&s`@%AKnT1 zPnAWXVqZAsJ$h@jc}h13k`@f3;W!yRv?@hwiB45c2_pdGLwm4_-f)~pklE|%bdh&- zV3%EpI}cq_z&4~35~>Kv9N9hds@NliU|g5T++YFznxQq6Pzk_Zb6}3WF}A8C2+_jp zwU7+>1Qi{37|8TD1JTdCHsxHn3>6X{&kLsUX%{i6sk=&DMzl~gdb()@d;;AN_VLkzjA5ZC_xuK%bG>qK( zRP;CNwAQM25hF+3vB@~@chKJ8G8UMGacQ;djbyh`!Y&4s;wJsjIcGodqQq-FAs7jF zm2v+7?LB#tZX%MT5>(`Y{HN1jKKfIBFfGdaxBfqX4L;Je;@q-S*Ao$0CMPA2;XrlI zPU>dX^1hR_H_Yx8{lXkEU0Eb)Lr*<@MgeEY3y)0e5=cVLJ)@!rDs*0p10! zrUO0@L#dJS|xEb%&bQI-QofQ>bZ~)FRpPrI-k*#gJDxX{2Xf1)Ya32p?{ODemIVR3I zxk2AZz6O-zbq)%~vvB>omNH_FK`N+Z17n>4>DtqTQK@r=Rk3Kh*DWLv$s@XKnIk*; zXH|Owwo02fHB?au5mroZpIt8I(lZ@rD+v<2k|i#SAsrNcx~pAiwcQSmrd64sl1T)B z;~kErLNyQGVFdH64t59ALvw+3^1P!L(G}*Ns?S#|Ei{p|Qv4v~5u&tJQVfplw1@2B zcc`;mJVW3pt#MJqYq~nX6pXZNd4mz#uYY|UwuJ<|I25;9)U#ZD%OXiT9%Qk}@|bp^#kViuW+YPke85w1bo)C~94Rm(u&tseVO)knm9PvOsm zur+GZT<$4RS@&>%c9G!Vk@fV>iZCfdoJq>x9u>FK+bwhylICbqB~&Et000dsCQ5Ob z!Y^{Q!&a&mo;sL1a*m^Hf2N=~gJBS`9F?uyapA4Tp0-QJ4pqxXQVEfOJ2(fXH0(No z!9bCiQJXJ|H_IIKmaFiVHB*AbV@y6E?1ToITP~s3c?IJLgKeG7S_) zy2&VA>XO%A1Jm8;>8ha5@vh@OhqkX6b4|3N%EmkG1yfzP0>0lvS9Rc9?9{U4Fr<}< zM?Rm^uAOAy;o%_dIT>M0t^O-qAXsgjWo@al*RBCza~tEneLvW0PLL6Cn@}}G9j@h0 zDk?2}M@V7@8rWr0d6|L0_BuvwC?cE_aB7Qau&#Xlr2HGZTCKIbL12bjsx=vsCEbUq z16+?)=rjxBU8hCsfRP-yTvqWG=;={bWF=8~vy+Tt+gx1DtS_qc=57L&QQ%}ozlbaD zZaKWki3Ie(I_9;0XRgXX1Yj8PF|g9I3OG*2%+l9RCY-xW$8dA?(Aq4ms2ZqlBq2!O zJL{NY6eQlN}v=RV^@0THht z*ja&w7*YT`A5BweMKa$Bz*akl$IP7wwy>q5$198rMFU1pCi&OuNi=K^s$ZOg&xTyR zYkfX5jkC~n(PQcHkd=0&-PSN#>3NX~f)0T`k&PHlX-@ZTDaB2mjv_Fm?VTs5h&sVe zY9j#QG&Z_L840#CrVg2^E0d`P~H1*$w*#P=(m%1CM-5VPc{ zKRry%94$>AGNrWk$Z6Z*?^{%Eu`jd6cLN+jFm-{UP&8zeIfqfvt#ql^wzGM#|L^ z4=|1SPk)}d$=+Bzz1L%^ZsWJIwuczq?NpJP83j6#%Y-Ct^wwm$2E6%-O@t1~oL(St zDT;cuxYffT_)jc^XG3pDg1{|AbnXOEP;c<>_4oQNW9de*>=ru()Gx9h1lagn zhivycDrn`dmDD@BjGXfS0J+!L=7p_o4j1RHr>>G&32|MM;oHqbJSj9WqM+pEQVIA^ zE_3;fWQf6WNJ7cG9dRQ9g5yJB|E@uk#v2lG} z#`i6Q-3Pm2eoZ#lQF0LoEuz__Y3h zSs|#9s)pt`INWGOF~Su~%{xDstISI)VL-TWuOZ zaatF`7TIh+YCb-urLU@Lda4DfkqiMtO?Y+=Ya#vh0A8XT1Syo=( zMQ$w&9J>bf&(M8;EiuXyU2CA0s@Wr?Cy^Wh@Ppe)7{@90j_Q49WO-rcj1bA31A(05 zK`QoxSH&Gf)1#;g&B}4}(H|Wu2W3%yCh%33AqP>k6Gd+Sy4f-I#$BZa><>3?in;jE}dR&)%&bUIGxqIh_; z4z1eW!J%SNw<>oUAqY#$?WWs%wWKxlaLTSQNgI!sro9`BO@uij4#8R#;*{5K1THQ( zR`XpwzM;8|H9_WB{ztC1wB$00h~cSM0SIl!Db7avM^&e5 zcuqqhC30*2q@E6Nw}+IE##|~Vw@qB6%}fCD@_LcqI{BB*KH{|^DRv<%AmM`$!1gQsz!XvUM7xJCB&=D zbDsL@dJ(BnCd(9Y1`vDy0DtSQyp)g$;*yM`B=$b~sW`N763R(qlbrsV6P%6(3r`}z zVgSYlmEKCR^iH{OnaL+}s#lp6pb(WHb-?ML@AA;gm4iS^ejSGARdb05;xWomR19_B z8eF)mfqbRabG}IVYL0Rs93_+mAmEd>sgkbP!8DXi7CUd9RoGU0XzdBYpc)qQR*2Yv S$ypqZgn{j^Zz{VozyH}m^l6w+Xm7c!D<-T)yLNrq`~Oy@9N`< zfjdDsCK!zXVQfPXjtWL1PJ!?k2y=O(eUKo$3&J!$2zVd>;E-VOK?oNQ5EcVr5|o9R zCI~A500D{nFR=43a1bH{)Dr+S{rp2wNOzAQD4z>IR9s$O4yuPZ<&6jm5;lRmc)?Mw zP)$D{f4FZb035X$!v#=bYzqaAEF&&2BO@#!0-FEF^OuD`sQwzj^z9MFrs-jyLFoE_ z;(qe}#QEg|fZRvWHpxG6&RGC(ClUY{p8v#g-2edcO90R~^h~3FIWDwHN7mD=#dp-O=Wcx)240trIL4dm8 z3qa#20#FRm0NC&P0UT;#0NWuCEP?#!H$y@z05kKf*_MySJqUy4hv{z#RuY)S3Pid? zF=$OQ3#bbk6^wzwIe|%V0V04LpaB?xV*n?>2M7ZafGnU0r~%r5K41)30JgwMzyF~;2!W0cm(tTPk?dY1uzRN0;|9}unp{k zeheQ%3ZaHDLf9bO5J89pL=K_?(S{g8%pkT9Cx|=57lMYIfn0>dK~f>vkeiTFNG+rp z@(|Jk8HPNA%t78jK0x-cu(3$6Xs}qZc(6pVW!;osV6G-GbeX zJ&HYx{TBNZ4jv9Q4irZiM-fL4#}dZ{CjjRhPCQOFP6wrYh%bn*jBkt&#}C4f!q395z<+>0g1?BrOF&G(Mj%0;LtsbXOAtYDm7t8E zm0*NmnP8ugf{>d~fzX)Hl`xbriLijMg>Z;)k#L`gl8Bc`naG03ljs6bCQ%hp7ts{a zCNVKF2eCY{DKU~boH&!XhWIh@9PuX-DiQ$_O%ewZG)W>!F-aTAGm=eGQc@mLHBvj$ zAkswAQqm66m!!L7)MO%LFfv!N^JF<>jbtNaYvhFF+~n%yC&|Oeuaei350Ss6Af(`- z(4>G~)PwD)Oe>9FZ|=wNi-bV+n| zbQ5%Y^sMyi^a%RP^i}jD^g9g93~CGrhFFGbhH-{HMku2;qZeZe;~mCnCLAUKCR3(U zOnFRQOmCTKm=&2_m}8min4hy?u?Vo3v7BbP#nR96k@Xm>E~`Il7HbFV+hcUc)Q))` zOFPzj>+CG-dhBTSo9u(^`y9L+mK+fr)g05D zM4WP*Zk%bH?VRgeY+OcMXSm9_o^um&%W->fXK;6O@9^;QSo1{l+~Il6%fJic4dX56 zo#G?qQ{@Zb%jX;8$K#jd_u{|C|3m;wKw7{kQ~u@~Z0;`-td;w|DIBm^W} zByuFiBuOQ8B+pAWNp469N+G23q@GGsOB+c?OSemZmXVb~$yCX_k>!$glFgN!l%tU| zk&BmmERQR%A%9-}p8O{T8HFH)I)(R&!irvsWs0wrc$E-J1xl}!Ih5hbH~VXgW6Qu zmfG3cFLgL{+;z%z)^(+IPwTen;p!RarRYto%u0cQh|E z-?q@ONV0fg$!CeSY_}q}aDWUk=e)%Pd(4;o;zN~Ud3Kty{)~g zeF%JX_wROXV}kNI5T%v{p`(ikaN!G+Rt;I zzjS^vTsOSr0?`Gp3j+~i5vdVd7p*V0Tw=Wxe(6=DZe)2BSrjU2GFmbEdJIksGG_3y z({m9F3gnT$bF+xjWZfuZ`rX zJjs4R74Fl2x z4TCa+jYG0SO;6;Xv;eKZCe>l;5lK0IML@pRH*a`vg~)7Q_upKUx3 ze!l-AdPwcF`7``8)w43Q_vf_c`sdB(U%Ya8wYm_vaIko3iFE1eGTUCXVe{T6=@MY?&&)2VC-yO3s@$d`s3-s{w zhf0cw0dg8JBb>vH0l>`yu>-J~xpi5vz%2xT#ex+CP#VEeUQm4zs5!zJ9vFm#`yO#{ zW400ig+d5TVQCHF#Y*w*P8G>hCos~mS1?5kP$kt6A8%+d0u>1Erj$9vMZ`Fu;8x4e z72IYib68sF2+MJ(st_r$YZ+@=*qUfV{k@TaK~NJ*4MUhFltWllRNdd-8zCyHWuXN% zF@%|0KtUOzqT0tfpd7z!R^b>b5f?un3}K+C3ChnOfeH#W1ceEM3?i;Ut{h-BN78>& z2gJG}U4m4I2$j4Lp(>yVkt1RLD5P(YhzZ;sq2q`0frFrto*xPs=I0v(_clWWDv4s~ zLAGz~f6gC-bn!w2iMXH;@E||bcOF8ez#ve(`!Cgb`Z*ubDv5q8BO?4uk;ou~k2(qk z5B(_=j>&>5fsEgk`a3fIakDT&K&8D^WF?eD4*`taztku&2p)vc@rJwq&P(K_o72iJW^q_3Nw{@<)4|LlVPmrna{S9C(9?`tE*4@@*So2p(i2z@5j>UB!3) zKkjwDt&xAWjQ?DP{;-Y{{#dlZ8h@aL#Xz#xPx25E+H3Ho;&`Tw&9Vmj)V`2^;^Z>|0~sQ;x6b?4r+)`6EBogoK>m01 zzt{)>O#uU!NAPR*-`X4h?a=0AP&M4~+C7M))V@P$ni?35;(7O>5TS`z_+ z03_fB{&y%HL;c(HON0wX0!GsB&o2Z&3cjg|$@`+cy}=($!||N`(7vvL#?GE#=-OfP zz#lW0AWZDm;RTolcqQiT=j#sU4ThOn0jUYdtqx_K?W?po20(tR2lucHL{ot;{$U2D^^0tLca$I6|2GsKc;V!Z^hNlheLx-(ZF7ut@R|U` zfq7CmI>=8K;fp|l_b#p=0sRfN&7_1|CBGAO-b5pnw9J zfH@$E5qMPN(cH!d2*3)!e_!Wl0&R>;05E#cH&6ub>gRlP9~%Pq7sXuJ0^n6J7|#b@ zhC-bY;P_SMcz^c+2Ndb5%wa8UBxdBViSR(`g`p7UVaF|8!n|DMUBR1Ss8WbRh>yPy zA_xuzZ<2ij6+)Cb4uva#Fa|Bk0X-xM@>1qd$J7c1wE!ddPzb1$h`6wen4}C;N=8IN zRz_ArObBWO2KDJ6oWU?psDzl9EL1{5L0nQnN)r0*;Q*^dxwq6dewYN zQp6ACE(*qp%8QCgh)PHZgA~Gnq2P67h_G)U=XVKOV0bJF>3-{fT~ClQ2dM60 zJA#mIKjr>rF-*y!$-a|jUOUR4Ke8X#kvAifm;88$= z+&AQ5JOntLP)HXTcwvnKDUNQJLDp|1zueA(fehb}=5QY{@F36xfigjcAiR}1B)<#v zhWo<7+XY`Yq&ph)&qv`8-wJIoX7WZKAtl8QA5n44&o=_we?;)J+|m~bj;ilU8o|8~ z${d<-Uq9b(qKv=`4p6T{6ja;T94f8#t>ieURWL#e>5d4*NRXBhl8}}KUperV7m|>X z5R#CU0$&g(CnY2;DF(jcAPnN=B!wj8WrQTf#Dyfq<-k{7NLm7XB_%){C`VQdd_h`S zOkNr+2VY4kNeM+Ac`6r^Poq@;w!WEC)`!jNi$UxY!3e~Q!y>{3^F5d5DaK9mdk zd~n_Q?pJ=s%xIcRLXF@q;K2kKLjwl1fRjr>8%(}^3n+7lNl1Vr~Qrk$3!_Fj;KTW!*OJzg#_ou(GWcv(m%^=eG#^dbATfN40aAffS&jtv1o_*`vsy=hZTV;W5(?FW*$fT zI3rNX9I_bf51Sm3gW)*tD7eqhMw)w|F}Eb<;BLj$3hs>t+b=CC3ikeCQ`EuJfgrG! zZzWRFKT5vWuYrUIek&Cd{cdTne-W6V8qA1S<^ZSrp)egk@Ou2a8<3O!L4Alf0cR=V zx7jEMj#F7t3E5w{52=2elH!swV&bx*Qc{0I_9qkbPz_D+&c)Bi4B_hv#+rkc{-cSG zl>XinYY*@)Py-HX_v_FwcLDc$ns9%NZ7|;Ur|qK{XmGNE7%&AfQgYH_hbcIjK^UCMUv1e1ciV0y?4x(_LFDXyQsVNUOiYU5m6yZt%FAJB6Pxflf;ZbaX;8Lb5_~U>q)J8gX$UaS0)DNg;75A<&6|MB=hSpvMEZ z5)z;v1l=I$A*DfQ3HmzFErQ-oQA0vgRtrqD#l!LNEPyaAWezkN>8cz(_kkR4BN=0XI;G>#qhf2(vC8t&rb#Rpy9*Z;&@q1#{N|?u$U^ zXv_7FQHS(LGDQEhj>D-2GdDhTEN0;P=Ib8#XH|oK?w87c75jH29JvyVEC1$IkcYEa z2ksq+_~rx55a7H7x3%AA_K`Kgh53jV?dx*1-v7?ysvU|rqCCQjg6e)7AD}Y}M!4#r z{CuE?`!5CLA3I)L=O1$ri7HdriO;h-x+EcHNZi0_!;uug6iHuKY9wY zFH`{C6Bxu9BK+;kibLgZ;za*w2Yk~ho7WjF92!2H=bDRQ?2fw}mPbD$87C#;=@b5)24-Pgq7B(&p zE-o$(4h}9JJ{~SEJ{}GZ9w8n+0p`KQBP1duAi`uYLNNRoF7O`#$aP5af0cY~11Jd~ zMvyIR2ql0;3Bjg>eC-7Px)uNx!UzY?O%ESDd|U!-96~Gz5dfC!Qvg^HEL<#H2rj4` zE;fV^f`yGk3E<*Uv5TwYQ*)TY0|;m&E~LYS-~3Zay5Q(U`;MG~1x%l0-!~(@ANjw%2`q4v=6UGEf4lK=+(m02#ah z6_)1Ty|%IQrYmWaVedtZ*w&@$XgO^)B#?=kd>fin*nZyZaOxJy6m%A5byCUW(V;8ycj+k(EW1JWGM!u4S!!7ZDz1 z%XhAPD3q8Z2jv$q$TAUQa^0|!-m~dK9i8b!XFxPOfE6-x{ggCqrkBtI zp;*`|Ps$Az-&pa7%7Bp0yifZ_)#v6oz@Cogy-X{*6OanD15ZA~uf zJ^dYi)!tW*N$Gp#T_^1K?d`n|mNNLVB_*`d+F{IaB05@Yn;1wg`&J~0-u>rayb`M& zDK@RjH{~|>As!Pi%U>r&^TTUw0(43B2*iC~x?aA5oO%@T(0!Cq8<#9YxQI`HPcV>? z!-gsJ+OkV<@Tt@ZoLW-^K!Rq(f@NuTjfqrf8{ujk!kVnwLNLdt~6Iq0=ESAQ~ zl@^tVIEKK|t6H77ZQj)osok$>q!++0QC<_ttzSMy+1L_E39~P$pUBP@xRr4=#S@Xr zf#qj!17kmyZZ(TiXO3N;s|gM z^QF7>u&kHrcQ`5?BfbJ2Q=5*9b!IEqWKX8AEBP}$*G_QB*1;bczV{$$^z_a5yV~y) zsyk*Ftjnevaz_g-ipQ5e%hONzEsGrmVg45 z3Do%EPGz4*32CU$pr~J<*g|xQ=$?8jn z&s-3Q5UdyA)OJ+RVjfv~nmx*4c|u41(!i+Q6j#8=Qci{k1ab1!GG&6qvn8D>1LO~4#57{P1`0^_-+#2ni;5{xTMh~ zlrR=S{#h)%%0InYs!l$>RNP1Q6#*6>PMb|}|AIlJ(EZj-6G}QJrmRhcJx_)nQO?K* z4eJU?y(9D2^;1G4pCl31g(+o-##F$TBUzgdHnO_pnx=h2RA?)`%ki~M6~kZJpLVXD z4YZ5((c(9=R7XRZBgg>lMVObXy1tK>fu`)s*8--98>R8x(1s3vx`oq;O}E=EIF3mZ zD|fEtdICsOxXk{Zs8{6G^lte>0YB74uyvSpt2B%=atamU8R z7USKAuObk(()utfI(M^Dsyia*R8#_Z@x#3geal0N83P#A9rA}(S2p`!R*RP-xwCDF znLnR)-mi7Bc~vc4kVdLN$EUudowPUs%mpr!V^aTHqDjP{^(*k^}CqNewzZ`vy?SWW;>c1 zD}K?c?(fN^(peRZuZ(&s&3J4I2s{)#|AALc#L;WjZUuwad`q*q}5;?K-ko5l4~PHN1Loo zVEjUpxYn}I-u_o$lu#qSpmQt-8d}U9=f`DVDwl~>T>{sz9D90B)bxvuK(tB0)w|V+ z2%;*|B;fQ;`yE?TfkI(zql79I(pq+1VN-H5m<;DuHIj#XR}-0vu2v_H`A&0A-B2Q)P2|(btyC!c3OLTc ziN=cZ=#5KlU9d^n+=yOUhd1krwuPnaglh{2U9Dgf1 zPTeJ1au@8dHy}HNJAzJ$I3T=$~AGg`RSt!?P<$0LhktwWEX)#C;TNKb@+MC=L==A8JBE-*EEZ(`5MXI4) zYJqxHc)*R(J1A%jO~8s{0wuqXTr2qGi8pJT@x{f)rk2%ea8TBEFD)uG;45%$o2tGl zdc1in*=%vc+QjTVd0ob+P-2K;@LIso*~PmjLYuCixT)L}>wWi9-i%AHqEqow-o8>u zVb0==e;>PoA0MjfdPqT`HWjtkvm%p)O@GZ(iV2Avx%T$wdm|3cDm_aW3f;$9=~3zZ zBBag~Io519d1uXLOabfO(hEy&7>%acGFR{A zd$3nL_C$HFQQ0w1npd{XrQB<_V=d}VGJ1%QRGMGK?Vd4uIJV+&`h#s1XWMHFB)NyM z!qd;4dwJu2A4tumPYAi2EXrTaDX07V(J;91>SviT)QwHAt9<7>?~AV}(Z9-;K7Z$O zu=$Xmaz;|Xg9~M&+`A|5hLWDS^YN{2P2PpXi5eM|Y25|C$(xV%u9<9P-60-YF%t^5 zwyCBqBhi;%9eqWHY+QZ365m8*kkX!Jo{F!rM^;4G&{j46( zOsj+iftnZRI!IAgIYkJ;I|V5lTWzrt97S0fP57ixnj6W*@KU0}sf1g3nQ$ja06X>) zEk{}560uj#^Jy_RyWW9Ld*7Iy~1dmclsv-;(p|7l-aeOso!nEac^&?0e+Y13V z#+r?uAW5y8MX`995ht*clDyr^38`f4TUot$rj-USCClx01wIqhG&t}r?*;BwhzEw>%xs%Rge>uyAq5jgyBG&HdZH|WWtX17^L ztoW9v-`xX2vIA#r5q`tWvv*Cz z9m(!j4(Khtoq1?(q&atnCoI-8*7)wYAWgHqM9tfC;;x<)P8AJy4h_f2>$l_M1S$r2 zJ~WPb+k6GcWu`=9eW7nkUUtDdaL1?nK1|rW+DcS=cY3~gZQASg>%vH`a5DXaV^5>z z(5@Yb-RkvMmOX|kg7VDXb>y!nzBFygC?i~n%VAem_MUPiyj~@Uk9)_n8hI8^VUc%* z;FHy~Tm8V|RmNjgmI8iG-eMDTOcZP<2Ad5la_pbD1(l?ZK})f{0-wwahU3v>qc@35 z?Q-X@QKO6)>1(;R7~T-F5S?7kF5=eJbH&}iQ}Y!t6k3be?$vY;U7jh+)P;(R0{eN( zWcWe!VmBw!7f9bdVPP%KCVqz3M>oMSG*h|0!12ti8SR>8UZ{odRr)Gky50QE(_SA$ zc79$Jw+@`;YGcRPS>+AdhqmTnDH&4HKK(a#I0=VGX?lv%BdgPjI8^h0XZt~9Kx4uHkgGzT}Hs)YeT^6#RZ@p2mVvRs^vA!ptO)T4p zEK+E^-kp1;KXZ}hVz(m;zZ9vAk9nG<)|J6vgNXjBM`&n+FDJ0JbY0*hr+TuNHM0#;H|NvTWjs9)zxbS~chV%x&3NMK|{ z#k@`Nu^Zygm_B`Bx64g3ea&QhH8C|$Sknf$FHB0@vve#RKiJ*tpjc&lneydwN+3ep zoanRBU0Bi$>~Wi^=*|SA)E<&F6_!!gpq_?QyOlCK+NSsWBUQrP%;W~!oeF8>Yur{} zvaj3@QNh{YTuQeZ0}Y&Qxr=BbbDFI#MF>II##ji)qMq;G#B0QfP-!jq%n&V9 z-${Rrh84-qsMuy{pJcO{J;hJecd|9a?kug4@+)X(E;1QT$cxnL8t~XP zsLfoLNWjtAIdJA-nYuVh#Xngx8o*hLRY)YQYm$80Z^eBjajUg8NjOh|r9Dof$A#1X zR<=b+d=&3EPA>%UKn=J*gfm5&(Q%%BvaOXN(0sc1okAGvgy_8E#WyaKScU)-aiop;K@N);a%sdo2eCK<5F7e%omcjRwCyBztQl{qYPVrw-i=>t_AKdKT z>_{GR?y65;nmykd&_is|MZ>3`^CD+1Ni6mWyKyLmHx8d{Ti<0J7oG9}Zf=DMZT34P zq8k@1atm;D0HVfhKl!56>^yv@DjHnn%;05O?qn{H1~~^~smUAtlo6K+;J&v?I+@Z= z5vvNEUs#FzZt=Z@S{bFf7rWvfVk}5OxWXg^u*VAfF@XKhcCRSlEfGDUb8N7Dv=HsZ{a};vvA8>z|XJ8IXAzTxGnYc>G0X| zK4)!FtV?%HU(6 zeK{72(=O)#+h^iIBfTHHj3h1zy;(C^pD|68tYa*YmN7S5?R|b*yr2u;AW<}mr7wX3 zZBsX3;HYc5{Lqv`ez|(S3n@XJ7dyk=us<_p%hdJX5B=2EK_FxB@@Dx*VPB_; z!h0pgiWcC9#~Go(7LzA6rh@&QsTySWz5+rDcyFpaGaQBS#+gIkKVr?%q8c<<&W=7s zq`uv;>79+#pSZfB$zG${x7lqp$E#J>!7l^UsE!iMv(x6&q*59FA$Av(D9 z3*(PG?5+*Hr&*(4Q^}meDVBO$Y+Gr}G##EEr+5DGef-t)i&3mF{RegVUXpfUCn`!G zZQ~@$k`En+2!=DFn;fg2Qt17J?$}Q+JE5xDQc&08S<;mTl3KnQcGC6zp{R^Lry9cW6xI|8% zILJYQqG-$9Owu`M{0mc9vBbhxAO(;9FZAxy z-4XOwl08c!3+EcVIC*>jl20Kz@vOPl?GbB>MVcgj?OV4jz}*B_^NE|Gwa*R2*UsL$ ze>bkga^0e%f@@Ru;B$mj;iO;keXZ>C?E|z`&$*CgMPTGefgsAx!%keDqwOlE#{;~l zv3BJBXw$ENcIL-2y3@}$cFbGOzq?pab|XsIUi;btZcIEZ&Agin3K`=nJHVQze}P@8 z)`^w!6(GA`giLn1zFw(wd4pGE{5Gli+*crOPgOR-XW4vd4@IX%H>fJ&xb7b>Q zr$3WX#c2~&{YeA6O{JKfUGu=*u6#5L$3-)9w=MZvP9MAeHxhv_wT&e`*6ic~dTzbu z4hJZ@^XACh#|r~mFETd77c}}bs~TR$Nq+^_zxbuD8b;-2)|1>4Pm~TBPh)*cp{y7| zP+xarmbpYpzThJC8SZYFG(gK_bNrHVhH8uI$QQ2Hq!u_de%3{S6CAc5!rmB~)XK2G zSxm_artWQBR-3fCs%q3bLOL|+H)l0pBaK|0VEGD&KTyQJNAqgt3m@V{jYD97Y79ej0Fzu?CtC>kQa(EJP#=&t=4;t`c!_|e7OD5m$ zs>wY;%w>05|Dh)JKus1Ey>Wl6M?D&ixASScL+?akJ4c+n_KRIzZ*mS91n<5N(HF&Y zA#`T3EUo9BLN1WQ6ED3}9CguMS@A4MjmmdTEHu7RZ^Jf3=`a;V7W*jDNsH&B%8imp z8KJi{XI^$}wtWTk3F~Tox!W}8$C+9(L<_R3rOFdHwYm6}YPa{C#$MxH6S?3>>s#ya zaq`pVO2ytS@yzScRL%$5jvu=kM5@F3txng&)REfE!5YHni%5=9gpJ}-EUxQP;z!c8 zO(9frWC*H=#*foponCLx)$*?R3S3~kCzUQuz2+#-rRlf)xz;+aIJ4XNcAEmxikt4W zhvvpc5_**^F;%4RV>yp&Rcm%wr*LYu-Rd7p)+A1O+;!Ft&+^f+dtPN}S0odzAb}Hl zO0!1!2pBr}0#W$q@&k?D5|`dOhC<^9S_4vzN_m7Q&C1G)Qg7G4X125~T* zDT8U0OubuIoJCA!xD(9h7)@|dUW#l}y8f|)IKo!2GfP?DLBFa|x!Xa$fSvY2-4cE4 z(nB?>oLtfJj9M%E9J?7g-46ztLR(qNhPef1Es3JOst!_O1%q^7fwy)sLzN82W*CCk zo9+q6lq_E8C>(yc8m+Lc`KFnpSN>QXS8)c13CqLE6P8 z_uGWCV~cv;Y!dY{^oJIh;wFe95_O&KX2wyeCld$k>amikoc)p?aLb;0`1V0Qe(2rS zWctPf()JF%XjRR?L78L4U1sFBk5!g4p4G;K-M%j<83z{Zr+# z1&gHGlhb?EC+42|u$qJ3>;oVYvdYTx+!{97C2V9{U9n|hK!BBBBQu@$B(H3w77r#z z$n+xBC(g>E|Lp!-J0)qSofqm`VCUQsD4RqQ^|;;)3vs3?e93StI`b8Gqf+6}Ja@{c zJ6b0jJ6F&^mbGvd$KL*h_h{u@Ljpsoz6&23gn^RELxnmdMpC56J zR>Ju#R->afRhGxk4k7E$lq;9_-`P` zoHWD7)n^(dEFN>4)$!L@u*_7;9fK1=&+?+lvOm2emT|w1*h^$^+91{+dotO~_7!01 zvru|8g_kFS^A+G~{j#G(f>TFsvddk3QL0CZmGi*(MZiM-tzpK-w2~WR&rex)1Lk4g zgRzCB+qGW-lFHjUQy&u5mE}7eW>+ch7I`h@yqMLvcMR`rg(Rt}nS>~vvmM(#TGHz# zyr~UJw8GX#aF$1%)32D5Y8w*Vc%${Q-CiNgzHRY*Gj!X{K4(~6^V)#c?Vzei7rV6Ll3oK@DznEAFFEDp;D6||+t{n6 zE0l#~;<6r4G>nV}-t&5@^W}c|jdRo?UjgGxv$pJV`HLo+!kzMEqf*k+1UIP0#XsB} zlb~adVNbuvoE$uZd*EXqJ^p$nek}1;z;i`i!Q*{BUlhMw8+|k?%}0`MU-WJ*PuGQR z%GQC%F4nWjxwJS{{>_5PAxM#*FV>$l`oSPKpb-m8Z%n-JHd>BpjApX$#Yl&7b`v`DISp61|+AB5Q1vOUtm6c>LHX4sPxsOQaAM z{ak0Byj7kgQ7<@O$5}&`{viXjFlen--N@Rkx3;2=?Ly=rMW4H6%crwv1eBf@s`ubV z)?8S<30vHtadODnk%LQ^AEWfNCPLfG%D#`HiyV|$xkkS+q#w9M?6}!ZSDXw>uD_-= z0W>!=ed1HI$H%z~H0ocHn62;& zzO*Px_uxKJv0#J!bTh{C2E|-mN>tX{6SPmVmfX|LyE5GTSdvBgdUwRHuZdeNoY>CfwM>zQ;g#&ZT{o>1YmbHGO){W<(|zz}hSu zH`1kVSp*D9U2BO3MrW$nC@ut)#a}TW=ku>>JM}*LHfitK20$I)|M~c z&^0pQOOsF)yOhwGK4cY5yj0KE%^NPK%`xCJ;P)n6`SDm+MV{Shjs(t_%*i2m^JVb< z=-A9C5SVsVY$a3N^dS?F67GGjn6y8E8Mn|Jh7;Sn!AX`Ik7ACNBFsj#Gs<$ji}FvXk)!=tV_9;Rge-zoNpq%7VpwaQUdRu` zd$)Ls(~rqJlYZ7=&VIuR6RGb{`0!ywi&!IcyOE%~#Ij`V2Hz_Cjfi@&^7+&}9{1YD zB_UesSAi6&&mK9>R|!qg(M$$E55AJ$vKttw$avWYZ_RH?dXG=(h1k_N!J<6pN{9Go zon6(pBeDD9>#^+soH&9EJQ&->MB@h#!wEXyd;qiO$D50TFE!g6-48+Gm zsL36q7Ai@8&6iTd+cEL@_!mXnVX+r0RW(K&X{34&V(Q|r>n=7MM?GqlQ`xaKFwPw9 zacb00M_$W3Ae}w6`e9O1z~IBRNv0~a4U?_bN`LyM(rA#>J7r}{8tLQuK2J}kNyV$b z3V3n;NiYLiVB}evzNSc{?8myq>m4lvCfO(jbn1B#N^SNRJsxkvQ_s;hZ!>W7_JkMI z&eaR_zdm0tY~P}8PB z%?cZd#Pg6qx-&UqJ(8Jgo~rI_BCF>g!Of_^lTQikZmxhB+bJQ-ai*#i|G5{RCI{$t z8Rw6kpKCB*q-lOf{HC-(;$5~hzpd9^$7^|#> zJ>M6|DA_t5nB3c7d(7SR`fvpu~osv{E_U$Gj|pG$|#NK0<}$&NWSFUQiveY zPCiFx>UJVS2A|nD;+)VqtOuIl0g2D^FQ;Ff|9pIS7K{{m5S|sEA3%d+;rev-xuVvt zqu8|L>xucV5LMHbZ3wv4_QB;XUs7_bng`w}0ruicj_csD3%BEzFIoNnJ+ zR`&B2u(~2^OVdyldhlSTRi5JBzyza9N)vE#;|0sLOkqNt$3lhC_AXbVos)tpWdXTk z+ugkQ8at#c@4;o9@_nLFKmDD)6PB^Uk6)9YK^eAHzkXd5gr&{CXU}q1W;Ix-cuY1? ze8i-0$0&(RN{Dg7ou+{ZSAjWCVJ<0DMt_)x=sqJisfr_x)K*P_DU{BVt`VPt-ENdZ zDDxA-p*ElWBd?lY?`JahdtT`V#pVdMa;}Q%Uia8UV-Afw8szMESesA@d+`{Qd3sk$6JMwcCoH}0sIP$eZic~SHv&d4-_t{Lt>xnnigV>gI#d~SZ6{b~ zdaiTfTVHFe9JXk=n(g{Q;6s`FOPe@CFM%E>)$M{ar}^HT3HicP(A=H1f4%MG!%H1R z#y*n!?!&j%&Wu=jHr0`2m@l2QD=m!8w|RwK@j*hD;ei`-(dsCorZ>9Mhqje9)s77O z#w(MZFXRe4Z(?G$1oQq-bZZU8!JH9P%%j;2U~@%$?q3U)yVD_~y+yQ2Y%WR210spzNBnCf9vXKTiuI;3Ny}kXLk;)JHy8HN=B$zo)Ej=K5KY( zV)rr5?I2n&+}W$K`kHrkx#EW6bI!lD#5rI09F2aj^Q5y_H_Gmqf+-D}LRUCWyk-3q zg;5LI>kAnAbEa)mqf-SYu#F@sBJxDs7B6RJ7xbD+oOz$?QG$ED>WOLk@vP$O{+Cc4 z=x2H)>Te#_dhgn&+=yqFhcMla`Vy%~G3tv(4_)`H>!P{3O{*pqF5CW#W%*1GI`&ow%a4^s_g`hiLG_%yqS1Xrg8w5wD?rl>uP6qYnx^Yxm8-_=b7&}l$gKa&7*R%zA{y;96(ucK|rwP0|_B` z;99EmsqCZ72}^4d9`ChmM}=Az+z*}vFP1Xf=H(MEg;Nnfd&r^bg=bAhKW;gi&(|b% zP+)&IBWn8UGb?h6+fmlJV~Fu|Vjf3FA@2Fp@3M0*x-fE9y*OsH2B^->}18ft4rh=+3h(459sdmEi|l12$Lc>##FMOrE|1w$TgO}AV= ze+hVa(r%L%+5uZibJV_9tB3oPnfP3YR&tG!L^Bt6O)9+*IZh*2X^m}kNpX~xQb)M`*6-L~jgz*<-0Zq@tw%Y40hh!YKHzHF{ zXlGSQ`W-{g27Owlo>~Qf{`hb*nr)k>vPzT8Ahh`}Q<5jQ!01Q*Jju8G> zXfRZRSdj%yW%_Oyq)}+VJd7irx{X*jPTYqmj;a*~+l{aF_ry1w!n31^omBkVTw9Uz z(+I~wlyhDb1!kB&uSf&l-3A^WBIqX)P!4UU*zO9XZr~2QV8PI%RK*#(W#~+(O-&s$ zgc2aIxa)^hct^rwKWR*PH0y01i+l0c5t{hAu<2A~MnJ=YpPB84hst59f-}sl#*ToP z<6E=Z_aJl0>-l@z0mfq4LW}EEvswu~zB_21H7NMtDass>JuT7hc2#2 zvwZU~O+7~>WHE>|fh2Wa0rJDiA-^7wFUCGt;(S7;Clcz_1<5`Vbnw%_a$itz9vsRP zfMDuVZ1=#ooDVX${^=DDg!yJyO*15EL6y<~{yb(OqF4 zT;lV&cd9^Y+Lx}BNP@K&aplRc@a zaFtXu(lrG_5B+FBMP=uU`ErYYnlbQk2Nvl7h1Hk~NZ;S`oOC);t1N>%%4$#ErJ&E| zc$_b$dTG?`l|keKuzZ3@JcEIaG3cJ!D4BGSoYG01lIKwAN_v>Q$>~vpowh0JTaLW*exH}=fVs+DH{KN}@q@w=l}nms z`FwSiGDcEbazFZ!__hw)w%n=i!{-&4s$`h~Xn1x$22x;bd3*Gg&TU(!WXRt&f)|ox zmoV=J~u<8Gqi zON2h3#w-e8f}2hBOvT_D_Ld!a{XzRrj)fmoN2PV^R;F2BE>)-W2IF-}!R#wt1% zU893y9k^4@7F@?ev{eH=ARI)sXyou(PrKE|4rfT)RU|+J@d82J&5tc^I3e4uz{HM_ zY=c~0Mu+Hq`fa~&zwq_Xblql8nfOm8WjF2EBm4GU6-Lr(sDl$_kN{nx5(xcQV1Wh5 zQEy%To$Y==YYx`lpsz&`g zp=niU*N7H)MZP;6IASFY^oSBvVbgJgV1ORncfmhUQwUNN`U+aL48dZI^tk@mX~h6j zn};QB$>FgIe5qn~w?ZwB7|v^s6pa)I{2cJkVVWR}2qxnPW+qTNA}mzw8geMqC{f3@ zIMpXqRC$Dvh?0$9nGpuZP4!TLlj zoY%;x5C95~%N%MXEK(6ruHV69-w0|ZmU2?iQAN2oFXzzXjYG0riq7cVu8xx-pz={e zNIb_s;w0Pq3_+yw;^&=J#TsBVLN;8w7q}5)k>0kQers>&~r6C}#y7mVRa#^}I%d-h-_OxsffW5{7 z=7OHbk#t`Usi{@lD#a(s>-yj(iP<0Z1}?Q~v*S9IF)V$6-ND1y!V)^Hp?Rkg$Q+eo zPf{>Y5DSW!$}8lcnmJ)@j1O-3=#+rMa%GyLma-*T5-}yY_`n>}tZCwmU2n@*4B%|? zg4*}?!a^gfNU~G-kzAA-V>4PNMa*X@PYF}%xh0s7phNoO1^q(D8h9>=rZbQ{1e55t z{{R4C1Mz~PA0Q{h*m{-6y?vSGxrd0Gsa-}{r)nwkY9~@G)$H5qHM;3RtRSdU}Zfz0?YYOMrTS zSO6{9TNT*L*QoyC^ty?{+v=|)H9>ZSN89Xyyk>$;L#A??jJ&Etm1Yv<(vvY@l=3;225TM_e8y74@R-Ry zmN>Db=y?Ns{!=(-Ro!i4>OK3E!0ng~yEg9+QG=y!yc866~O{X|??kDk94>5D8d z>c~*4yHG-UWK=SUL7juf5Cbn#AK&!sf9Z=hzI9btkO{IfN_sgFwpG)#x4WLaTc=(+ zdtjZ)92tcr4p~ToHA$kC7@OMGBGZB3C)QaqyC} zFpi@-$>`N{Rh62eoEv$KZN-<_k34i?W7Hf};;Cj5HCsLviw){L+ALQ*>&0f3&1v(> zNJ~pd;U|UH{{X0`zu_SN021r?z;++ z(l&BzdLuaP!J5}+Xi=O1HoSd6`;GadDD`%uqNZofX(7*6n)eeij%8)IWD>6+lr3xD z)GXJw1Q;d)itIHqKyOxl`}^AJ=y*rs9cEdZMv&6g)#B=o$4L0$4gojyixl;!AUKP>n$f8oO6h zs%)c#`KOD&MZ?2fQWx3~6-8TANb<_Xq+@b;=Lc&xN#^vmU*5i`FLfqAbb&t6mdny3Wtl~rkis#$XlKsXE9XJoU&O0)WA)Y^(*i` zFte59Y*Jxr0@yl)*M#l?SS|kmug^GFg*}xP;fvGmdk**>Qi-3Euih`}2qIWAI%!d) zCv^7y6Yc)~aW0s$rpHy18WnqK?Q>uT3knEdKJrNcZEIfVzB&_0AYBz{tiSfPa9Igj zbOGFsq+fyj@G6J)^Gn-<&)%nggo4RRx$-MW#WF@a{q~LjyfoThE zQw z=UI&ir+n6yIOy`_mHjg2bsm@#j(sBYzxiRe@ngb2sC-YQ#bss1JAdqMe5^Z%YWKhC z#|g_sbico>?qQA7&hgsr#mr2{FUu(P9+%Vf@<(4qm%MRLyz=i8iE1Zv(7Vm)KO#={ zx1S1OtqeZS>(^UZ?`!KD6Fx*kKX#VbD~$kzT@PsHB$sadWw? ze#&uCROSwMH-G%3!{PcTfOawUA#;B%tw?-N)me30grlv=GU|m_0D~e*QJ8y^xS>BI z5-JbuhYn?JLwb#kK||Hqu4R#Uqn>DLi6TlY@`@+R4)<4NHE~j=^Lmw?Fa4(uzn8Zv~jHWo z=MAV%sx~dg4D0Kf6WUFIT>lHn0N6fnJ@?{Olx3b8ep+5M5Ob?Yn#Df9NynFhD z#mVxzoVrS^q##MDs@grHpDYkc+ucYge=vKTXfQ3zz(O192N2+!+GdQzvr|+`uQJLU zm0k#cP_gIThd$W1!w#_u6?*VxHRz^|W7!EP!sBw>C>;qsuZv1z45-d@_bJL+g^7#K zBSkLWVh&A!>u&b^@b-&c1kT!{idTi`jH=P@j>PT*)~DEe^V5tOj1kFKJ?Ay|Qwu{C zWHUs87>glYzOL6J->vxPsl!=HNfLni*;3a~WGM5yQ^w5W(Cz@*I6XdX{XMWcxPD4~ z3i8<5R{d$CAgn~52T14Hw#Y8KK_S3i`P{+lHT+RDH_)QdbQsWg*?y=9+VTm3p_Yn>Pt8dS{Vxzy|pS(u&^g^CovS_49V^!XfBM!FbbveHv z+hzKT0vk@b1q!I$+K+x~#Wqb}Q8i2xP)%Kt&lruQMiMd>8+}X-+k!UB(AWmET;S%Y zJz=VgQW`8^kABCJXLw6Np5&DhP#Q_3o|To1@s07w6al?hTofU#asDIH#0Nb7;Ho&O zrtx!Q_xrBfeS>^ZuFCTY%@dea`PpSdBU9ah*>c7k`;r8alh*2<`1F72_Z4$$96R)P zvG2Kj_x)GkVa#qRpD@?&_A9YjHCi&3MhA|!$F7@|;S|a%j;`TPQPTEW0DhO6e^=y=_B-mxvUBJ!QgX1&_zQd0zAUyi27meqT}-$Bz`%>Lu`<_rDauJM3psCwDk;bS&k(E z77Dz|f-@6)eNG7jQiUYwzQ+Ehx|?<9987MU(X6I!hp1J0#knp}8(-MqU;^av$uj)Y z%JuKp;}0juFW08MKR7|x6k3qAZEsm7GrLy-8nAnS7z7;{MP87T_ zDi(mSD8oVzedyi?9{Z~{`(>H0jP>(VeKT67or^97H6qoyj}Ked>D zk@_xhh5~ih&g-4}-k&jTM@v^rERd9^tji^oUyafwL<~nk#8ZLCQEW)0?xAke{4J#r z03EP?$J8QiXQx|V}wqyJvSXh8~1jN3=>xHeBX&!b$ zr2dWWrgT1^@6}i>2_;OjQ)-_vXeyaib7*AYWFwEfA7b|P9-;XkixTNmxM|a63lJJ5 zn)3WBk*4aS&*^5V$X+^#DwFTDv#{C(g|t!?f8q6T?AhEixrBG=JM? zK| zF)mZT@zH`=C5%<8o4S)BLDJlH;B(K<>Z1@^Wk)z!vK!UDH)UF1Ae%GKD$O(m0W^&v zA&)21Z^TbqTd}yZ0eXsNQF8>B z54O#-aRgf6LaBscIZcko-u_DJfu&WMNw&o9IUdoXFv+|?)AhxlH_IzDtxGvyzAR;^ z>WTb8wyE;k-B)hX4?r;x;ao1$DmEhy;b23DEyv|pO%dZqhq^y?HCLCK$ssI$=T9?2 z`;O*fLTq49B~*ZI&AQ@79gb;|7H5cX+Oola#M^9AIie#DW z^sM$M#2bbpP+rTx9XjIIgJOCtOw;i9-msq)U<A=V=Ay;r z5L47$S9urub;3$`cQv}z@YAoYn*D{koFu1a8ljxtsjCP0R@@90n7!0$&X9noip)cc z^K48Gl?a6kRSm-){{YOKD&Q1&iudGS`r$!>x)km~S^GCLqO2!!q=28M1Bhm3kP#@q zD}h%>EvbsKmX@jp4HKv!j&WSqOID_tuptstxY|0A(}96Go2gAZuXVMtP}9^_PC`c- zl1Z=_MzwWUhPN@5k#EUg-cu&KIugtC9SN3nv!kjHl1ZBwo0072Tuf;W5VXM%vpVPW7Y`DTyYwxjV zhFPUOOsSI7I<@ZGY|2UNd|UAEi=6iWY*iN-{+iRKGdE7f#_zQ6+21hmH$9@3oXuCI z>w)qmVRI9XsK?*i8~i3QxQaa^EJmSuUl8H7Fm<{bw+7& z1+G4N;K0q*ZZ4EuA_{O?F<`?CeyRv;pg*+yRkV7Noy>8+qtePaY-c!jHKES3^t^u# zIhA3g&t?Z{i4W_GbB$?L-=Kv#7NK-d#v3=+9s0H;7$UZ#)WKK+0SD)%9r~80zXIu7 zfAJhjSo6~gF%2oF2IY+EXgVJ-Uz-7fwyREvZ^Jlhq^NV+YKcMyWhdBm$7czjrF5hE zEYB`Q3LQgRlWcH!=A7I+p-!e{Mr=IvCfzaFg6@IDtW#CdxMC%UH`g5JLPt|89W278 zK@<***10>Z6nm4{f4-y)4b_^_C2*kU9HB&Oy+K8jX>8J>p(d)ysZr#aM<00FjN5)Z z$5`S3b7>TJIP-6hv1OPt_x}KsbnY&X06g8;y&w8}fa!6~ro#k-e-PR6B%bD~6XMtH zn*7Hl(lxIgUSu9s28RUToa)|^94Osi#)N`(sE06~s>b;Hw zjsfkMzu6(eWjTqs)iPnuDJv4AESjboY8=uwsH7mJ$N5j=H9k|!I zLaf}qXqeZzC$sGT07JV|$yus0dODl6JH;z3h)SK3A@tdKetG^O#x6*43C*VSpenFu zJ{{#LEpz2i(bdt%E2^3*ox4T(^zs#~!;Xa8j4kyF?+uCs4AwoViQ!(X{{V+7+bfCc z>C2P?Ddawo2GMVBKi^C-hVqGuqni4zig;9(|rP5WcCl=me0@7qUXGcRE*^Xn9>8gFIffma0{0?_H_v_9a(-#Yz z=hZL)av)C?G)6+o7d@znS8ds;DlRV87rJ+D0PoGZ91v&uu9^BLyY~G@8tAn4u<~lMy4fdOroB~EO_$W}{n&HBVywkObdos%zdS^$;`ZhPymx!D(D0{_ zT}WSX+B-ejRQ#U1F{Q6{GSkVL(!R-Qs)6$BVZE%bK>>jR#=u{O0^x)gwYzA3it4>K zxs$Q_6w{%|wBD(bk22F$S&mJpV3kcyRzTc^i-Pe(UsW;4Y#4ucM%JtfZ{_xoX?zNc4}YekD-aY|23E&H2Wx6^e6VY0Felo0}=(=MM;Z zlzg?FM*f)WwoP-E70e|=!vlUWOo(LiTZx=V0O&38h6WViytRAE+nw2%^}Za|T`-$S zUrj=gp_}>OfI=IMK>#UNLJj<>IsFbHR>8^4!v#&lW1UP!p)(W4swmJi zWRsaag#MrDfc~1Uk`&>^gjuO=tvpW6wIV$fYPo)1dGe6{FR8?;IDEHplAvPo?yGH* zpYInf>I0jMOcp8(FL5-JvZ5UiuANI)b>nzqD4D0Gzm{sbiDVn;O?aXe5{C-!*seB=gJu_N#cp$F^`1^-6;hypH zQy`B!ug{K6;m*9(5PA77l+J7E$Ns9qLVW=}ak3SgF*jaXUugnVm1l(d?<7wLc$Y)h8{HfZ_U8{3-^nnB!j7Lr<{*|>WdrGgex=AotSWa- z=$yrw*u@}jYzXHZF>XX{HgiSkq_YV2vm}GJOfTySAfnTv+y4NEE6A{o*nFwNjByK{ zg$G5iE}gDPEg)qc!;*inA6#(9osj47^O z8!vXtn}f~N2UQE=Jn5$N{+bz+uic(@&1xbkxJex-SA}iKv7Ex>cThp?k2?6ri4s{& z=FFEK*K6wo&yw_ig1C46+Ke4%Lq}jTJo4u8h0NV+siLJho^hTuwGk{|v@=ce5a~}N zGQ~_BbLUi&@rxU*UwMA(k1hn0JD+mB!wrRyDKgs+4Nr4p&nQ*zGu*MJA(dU$ULelY4 zwy!qJ{3ooHl&{}EVbq<4PneLburLFQg_dF0pD2trlw^N$k;CbRRC7mo`}^%pe+8%# zr!3Wa(YOB5r=n0#9=fBr?p3!0fEaf>$o>K`W5bvw?{>jP;|3j0h|r&>zeIUWtl`Kh z76{{6s3u#OM4Jtmo2tJ>bYeo2!M%;a!<~j}#r|QsifEEae)q_Kc0Es-k?buPaQL1wc_a@7; zI5Su&A~g}#($`Zu&alp`8+Zq%?@(nnS*ak6dGAF;t)@@hoMG;2$WGPX@)cD4e8$ zp^5L&X|OJ(UXf#N;U+sLP2b1&D^TcP; zmS$?H!SN678b?LgKeDD>1$LFn>Rqi^hzMZ3jyUJvpKKQZPl}}CZI_-&@8gD?nxjZ( zl@UQBRmTBjEVsLWdHJ>_;z4$*y9)5axeKjyO@4^e66)O2wvL8@zzZ~p(mc~P;t?WH zOS!T1fxrauVsHwygDe%#53kcZBwxeSs_~;dDDe};df2l~J*w#Rg*2@joX8}3hHpGA zcKzDjqNZzcvc#?IY;JLP!FW@u!^w}S{yUUkivA;~!&+#*o@3h~liFfjJ9pa2NA}n7 zpE2+p>4os?#P77OZLH?X>GKJyYb&=3*_L;K_L!t!Eh3N0U_@lIOy7VF&3DE4Wjs9= zIfeO*^5zF%7P_VQ6XK!7>OHu&QVa$oEJdeTGd;1PwuJNROKM*ba_vW#!JFoJo?%Nh zOjM67-my?)*j5&DM)d_&=uNj9Ve%0*wVL;O9DTr?_UJIhWC&feJM}=9= zWuBbJFO*ZpwbG@YVX>|xa5&tD)VAku9l#m7@(6o1_4mzH@aGye!y9>+{yXwt;dRiG0`|0dI0}iacEI$>Sy|^VZL4&fX#`Q^I(OvHebY`9L600=G(9z`@ z`dV1?JuR6tDhlZ%+rE*H;kZR050zni5sQ2V0-i5D18RgzJ4oBfU^vehuYeTsBdtUj zs6WIV96U|@mq)(M8kVYNq7>C9E6gk-XeYdB6!-NZk}|SIa!V;2(A;_s6XD1I0C+SQ zcYJTm5J%J#vd;WvL<(e)nVRV~?lKQTuReohLww8aGZn zx`iEM00G;t7$cns^w}utizttBnHfW3IjmI1VaBUtKgj5-@>Ol@5ny}*2ko9EEBpwMT1w2d`XOJ*lD}>YuuC> zMHX901W?jZ(o)k#0-`Kn3u91e1`MqWGe($=6y;V$l;+g(Q`b^cO9KlZNaq7(cQ)Zj ztAnRd7Pu-e;%C{?IdxrKMng=HJsa7Z7975)e*4|l_!Am#@ z--z@$MEONYMG!oxVf5%Qj%==#xA!PG0T*w++&3Ua=?Du1nPnqJ#iFNPY;G{e019Dw z&>^b4n=g{1FNo74hp7d&*jy^J+w&-+^TZ5oK*mpRrT)rx2d?uxyo@(O}FD=n6j}w79|{#E#n^$;yOy?gYwAoH$E<(0d@2z!JIs@ zi(26l1JC}$syrJJ&Q~hDW3QJrr^&Px1zk>aNmEd2GZumD*^Xr(v&m608)@MSvM_Jv zTI#9l#2hnCox1dF2o23y){Q#=zgJxOK=F?RsqvC}jE^^@TG>@6o}PT- zvOT}Mf!br_piXSWD@t#0H}S=>7L@=UWuf8Kx=KV1pieto{k#;c)imivq;d?_mFh)a zX_iX_jN88NR0B zdXBcmn<$u)s3~z)wbwHiNi9d<^$wYw=Hn-P%TP2TGgi0Ur~v_^llUITX?3w-!Ni8t zYg$1P6xL!NT!0-72j72+g45={m@77fZFl7d995U+|7`5~En=#(`M6 zgG;kT`KLag%W7(%mnF<#qpFOO@s>j(l^=*NBE&A!W6*tZUqYj>^-Vdk)44>&VJTGp z?0>##*Q0zZ${MsLsnR-sH=$@e`gEzL7ga5^kPwCEfNookxYOa;nbQ3Tl~0Yv8f^an zr*UbRFqxUANhWO_23Hg@MVC{zmrVkVs}l4U><71AxQzG&wVEiHYG!l4<~pmD_H?N^ z43K5A%V>xIfG!t{0sZgK<%u{uISYvOg_XY52@P&TT?ER{vKA^x^pJmw-oue|&p5NH z!4j&P(-No$iP|bm<13|%(oU#eE3#2-@BcF+Q3_m0XH4NCa$(9KSk9zg-T``VHj&avq;Ny z_Hj)_>c4rTmX>JTpDJ}Aix58x18XdCDdxCSF#Job0U8y-%{iZHF9-Fur_$9` zHB=dNd7QMBl&-tuMg);BmVG3FW5?nH@ zapieKG=P~65^eKUhc6K~3QfrjEY~C+4>a`O7g@|+12*P6cJEea!PT2G{g+N;Q(F;S z!z-y)Wom~9cFU>UJjFum&DFT-F=d8sXMiub?;9*<8h=C_PKM6jJ7Yoy{KtCehJk=J zeLkd|6GmK+Ww5a~EDgXth!z-|MTey6scPRp6_3VZ2S@s9)(-LpHqzcI z;O2U}QEB=bN{quMh8iXtjFG>YXXJ9%0`@n*92=Z_H^W>>n232GKX5w%ziBhzyf5M| z8_>-*Np7H?(j<2XLRB6vPqn6oPc|TJZQO(Y{+~>3nN_7?U4d{YeE82Ga=*O4>w|QR zNO*I#m6&+Y6aezN_P!j~F*E)>+OI>#xU4TwKqICdm6|4;3(CyCGgCPK0P2nX&IlO9 z-}w5AF!6q!!C$_C@J=2W-B*5r>-oGp zzC1=(9-5T3uW^pZIV2bdDEglf7%vqPF!;wn2&0GdP!)b9>`VF2$3I*lcuyQKsP^${ zDEVrJ!*hhs_@^Bg*t}t;HYTVJ+?*z6>JZNjc+qSh7pT~UHA2_vy9=GEhlW&Eqr)E) zD05tvn5|l~r=@^ynCvkZ0XSeBHC7KQ*HnN2)d)!W!<|M{hT+@_JEYf?+f*#OkHr!=pV(N9kp+6x|=iReCYI|=ajL?$EE zR%8Ax#8omxriX_*?=;qVE?ubg1!$(-Zw}&c<>k3}i=c&eVq?Z@FRY)n9T%dXymJ9-x zW7mvHB{A&?<1blc3gp`2;2v<;D}(e1uAeNDrc_wSx&BygLYF!-r=n<(DNvveEryVu zF1OZ|TsR=~!hyL-X;~wsj4);vTkvnw2m(VZX{2a1;7M)#wEB=1hvBRU#9~`Wm<}Kl$ZAjj0H`H!_r{FYOrI;yvUsY~FwF9%k1D9F z3?v4%_scABw@V;uiCKr@W*q@H@Vbp~Jsa*pgWos$>UUpM@QQ7yMNlEG>jBwd3Gc8R zf~YwTMWbj8vFVM zX~pqC#ub7|)-{e@ld0r8?`34Crphbwy;YxNmG#+-%?x=KK<-{vYuW{r^eT+o-H-gq zWOhAZ}8gBBhuoQ(XIdKsKPG5}^b2FJ6QC86{JQW#kTc0ctn9Ym=n=6h# zLk>ybAzK^u#5(QD*ycT4o5ShI1Zqdzu7mxa@(jB(rWuu87wt;9Aqz(UQoQfoB-_7) zZ*$LEw@xjK9vw!0VJBstN{Z9Y0I*yW>Pam6{7kn)Q+?ct@j%BdYUdDW!Zp&niTeS^iMD970&ynxu`!ns~tj zr%PVeJy!j2m1&2!DYq{4_u@lHEHlrv6w%A+qsglBoWC(esF@&|jp`yLmPK%~AR_*P zHW9Yg;E;GW4J=E+Yag|xIrvt&rQ@*2b-Y#>CZt-10l=ze18L`hdvVjRx5g|OCqxRS zHPKif1~SR2<$|hdpdmlz@Jj)H2kLr@`(kw(a!_kHMV0QP%4+Lq-4v{fNEauI{{Ugs zdt%F?kqQwl0_wbHnG)nV(?KG#!d$8rON-vcSRZQ-afr_Z6e7?LU5bgX@SiTsX8Z0@ zO$-t;2QVq%4ySGU8H)9NhFa{{Vlc1681#1dT8| z5w$Oev^0Udx=<_%mD_N(>N)BO#4|?rP6WaO*4i;DC@K`fw%Klm!u*as`2PU5BfgqF zDw$X1)9vx$;^_YX8nZ0UnwY7~XratmcI{V^8AMNU@~s#+jx6Bam#zFSj1_R*89yoY zzvWjg1)SGX=JXjvaiwiIZP14dZ5u7ZkSUI_g9$OO>+zV`}{7P zcqfu&)uNX$GS)#s5;93o0NlIDSF*~0fa>YFP1LDoxZnd4kt@x3?Lr9#54hj?1$2kO z@lBe^nA9+!F;sbKzyN~m0lP0^ZDZ`rI~(Ii!SP|WT~*NsUdi9{-n_r!93kkNNwXqi zdp4fyg>5v&D$zkEm()hROW_K{fslXBlI(RdjU_$T+bF1ZNR5WG7R#)KT!>u@9y> z3HG)MIEmdbG;CMXpzD+mONQx!H;EO^X7aU0hs=wpRFQ%2Y!q=wx_?HeQ$=P9fCZTC z7QZ-C#d}g3Jk%~{rE_4c6VD$@^~7iKBeF22m$|l@)B#)|s3iR0FXApbBeks-ON_@N z)aV;;-Z0U`9V%NXvMz_@$~8g)NSkjz!-f9M zJEmucek1B_6I?|_ER_@vM&K`X`5(^@ZxVA{9Msofsk?P?bnlD#O?+|Awdn&J60U4P z#jP$n#|V9t7vP!>sLsE~jWdx^y+ql~IVz^)J&)yyP2$vu)d=8$(^W(~WBX2Kn(D0N z`8rg=lB06mgE7DK!zyuRn>R$X_&Fyt(hhB9Td?l)z_7wMiZtqoctR1c*ELkmWDPFc z+@iwNO327QFif<8|k5tSBxa9T!0AmgR0F!DPxH%>OOpJ@fZ!r~o;7IBZI3UM_ z)54C(j;~!Tkp}a?;{O0#JYzm&F<^!zE0TS>yZ6Kk~);t_4o0Z9>DkJ{FnLUp$jIX$r=PB+X%ctA24N zt6LIPjW#+_;I5W9?&%^eu6HQ|5m`;7z*5N|T~N;#{?>YHL2F9AF+yO>zV8zG(klxr zgqx^0=EC2d@uQ(am~ZzD)>j$CDhh?Pv&Eeei`M!6e0Qp-uZ?9N-d#>H_c0t?`Zy*(56c_JGcz zr;kl!Q)VM9q!kio)sg{o5I(N(3--19ap!*3usLxW$+lhM}qBL04^1D>z;K;IC>Kw2ap`@ppYOzl*3bMS?>_aIEBUVVb z0EH@m;cM2Z7my0D!*J(LS-I5d?)|6>#EpBXwEYRr>fnnq@e5Hf%JQmZELSI`Dpq+H zoy|KdG->`2(n-`SV3-;p_$jQz(|PE@hBoB$BToUT?gOzPD>FQ=B+Y4Zyq;K_Q3{rd zM^{NDqB2B%5z06cT~rt4w-r4|wYa4NGt{Q^l?Gxur|Se>Iej%p`kPf#Wg518hMlQY zSL&Md@{s=k^wGyQ-fwevB}pF^=Mfu)&I^vi&dB&C9*jGX3#)z$X0$ZAdn%-)j$bos zy!Jam2Y`h8TKBg$zrPj~Og156_@HsBT<-;MGFg81keY{zD2!m3&;Z+LRzbH(csq&~*KmsK#>H@&9zqe7=_xZx~FsEm8jrB}ysq)#!mrqX!dy9@P3FvLo z-y`(L3Ui_v4%FzeXF7J5Fj-!jn84ryB-#f1d}|cSj4vNtRAcfgBDoV^0vmGZLZWxLrn&8YB(n3FrPKz75g`LVYDq41X(qco-P2*O*W%VI0^Ar=zPp>NpE9c}Cm$WS>>Ook9Gu)WHfh zYFnmc1sF>r?lSN%eh*LjVeV0K3n<*nHG&u!gg}tDwaH?A{=6QzVT498Cv{eAllhFu zSU*wRTwH%q`eHNMCc#R3MoE?V-2VW?<#NUGPs0qppn~;zZe%5~02uEYu|Gmpy}bwW ztjDqjZeIQOt)Ib9CAE7a?zz8Dl2lPgN18z-*?wbA4J?&0k_-~9!b@x3#ahSu@G(;A zz{ocXZ2FQ*O~F@}?BAQx&6#Di8Mb9pr}Jp021FJod2v1NsA z7f)X+fwbG$URA{FRcQgt%+fF3twx`%lBuG}wFMnT9$^^RT}AxC{v}>_D82YQha;YG zdxplEZii|)U(1+T3~m9n8=0H)wDulFH1fLY%$?&4P-&XiibOl3aC;CzRzfUoW7i&l z#?!39TAjw@?iZg`H7QgypRV1#=#wwX^6gbtzk18z%d2DI<%D`A_BQrEpy(~r6X?}- zAucl28}!1fp|&ZlMW*Peqga(vQU@%ZF!PKryL47GxNvQqs*)Kr4!(`QMjd`IgA!)w z)i5XalpCrvttM$hH9U}@nR$(^%AfSa&;jcWRYoSAh*hquCyEKBh2XQRaxKu}Q&=1% zDp%EWOf6xP#XZ8)#8i9$G0tK})G-Q9n@z$_;{`jL^cd`cJXL(DDRliJf~`n_enqg} zj3V^$Vxg+E)diS}biaIeN6jbdIU$cLyR)Wf%i7*4(kTBB1 zh}=(Y)KuOaWb8JYc)-8-df_q@_Tq>z3W=!jwJqX z{W{@#GD3Ii0L4H$zxz;qcZF2QWig_!ew_vz(aLx0Ep)QZJSbX+WH+}#&rA?84ZKA2 zTG03(OsIiiLO|q!)Zt4^DRlUa?pDP92SFk*6x~hwU}AMr8^lODpxp1kNal%`?%uA0 z(}e({JBbo5Qo3IQJgEwK0NB`BaHBF~c$t_c%3g=T`KfG+3lq}#czcD^rg0guTh$&E zRv1l@?mjzXg=Z%Iy`-W)5BxXGX+LRFA&^LRvVb~{{{Y(yM!TByI=GfPEV@JXQSg^h z=USGQc@0byP>^hlN0@!Sm`c^$^OP7}NVL8HUEI-HZ!pVfV1kl>IaLGqQP>}w^*F7^ z;u)iz9p!8Iei+A9vW)Xwk2|iQlAfxPst6nq*IR-=F^HT$iBhLfIj)kXV=y%y$a_c~ z%b4CS{fTs@qt=y~yjeX>H=7!k6w+-+YoAu$$Ne$tI36!br7+?z;uoCbejhEUa%g+L z>y6a)g`)vZ-feS?yG$8b__8R=U|AU)dYJRh4I^X+osql|NS4`U1a!v~HjZe6Es9ok z4Yzk+rUInK>8V1j(I|iUmglwbi9ic^X`~>QMgVud7+w?lB5oF|#>K2#YJ+Znt{c(~ z()2D^WQ_{}Vp7%y_)$<1bQ5h(3*X-ZaS2)_dx3!qwS~`fjt<#4u~ILzbxl=l z-XT;WV6f?msyJk2B@ooqsy7||5U{t-JagjgL3T0mvrp84=oh?v1BYv9QEA=a{{Z^5 zk@a`cbI-+0t1lU*q@K2dT-K(eG&D36F(8_1riCM?NKkO94#s9Kcu>Ts9Gtagw>dMX z@%*n#;kb&1n^?<0l6grallJD36?&)cy3VUc>D8c0T&E_RIL&3DhBcC|K&q;dkfY0v z@0jk#W(t5p;^CPPeWV?`E* zMplw#Ad*x99SLL41&JdLqWPsdW-7ynxuXtTH6;Bb)_gWpuPmNPwegywe}fRQr>C>GYb zGL&l`qW0txY%@kor^N$@fzbwT1Rs8jt^Nh-G^^8jE^eecJW+$T<7wIj{+0&;VT%=v z;!HWqc`Kum=LV=iv56y%SZv*57<43_Nj*E9SW~*A(J}JMl%|+0ph+MXYqfzRx%WM+ zI$>W>c%zMVvTo!#!I`5H&IFPYfF1z29Y5Xw0Jxe)>zqK-K#$|hB9R0xK?D@#IARU? z7VB>KI~yiY$T2AkPcTdMTF;1ACh!`vWBx-{_lC8iz7i1WGnE1RM< zzNem_$)e0^BxMBJN3a0)x%v-$EjV@MLaRb-;i{YP!&7~r>2=IQRn%!2DeIqYB_32} zX=%>#7B^-j$Xd$VtUBMP1FL3ZhFi)VY(5atB!UZfFaqwTi>axi$th{;rAX^O?2RY{ zdY;_#>_6YWE@?@LUTIK*db%UH^Vs7uqB_MZ*%1%%anyG|h+4-7d!Q)BoPbmYZ=FpP z9#Miq!HI8C<-gxtMl}JjMyA0s5|=*CQ7F{Eq!GHoEJ!xD<@5E!T_7%YrWfW{{{Rzh zXEty4l7fu^I6miE_8%0qL>lX?WmA?&O$;h$V!;S_r*qSAdF`~b%NSTeGj?aGeRyRv! zlVww-W=#ZhQ0*-Q62^SE*zVej{9FzQ0NUdAz978Ls+zrA!z=aoE2qC_-AAfwa+)g2 zeLYz_fT;CGVDJ{O1q^{r`y1P>x`S~$2|~MudTo)-dAGz4!m^>J=iiq7o34n{<+A2^ zZ|%Yh;fqIlS@M^EKyxi^|4 z6`@yiI>r)I2dH%&efJJNn4gNq2@H2vu>FqcygLNujNs<&-^6UP(^M3n%ibMN7d%*t zcKQ%_$6=~NvXwryIT?Z=f=#vr-xJ)UwAp;j{G$_1$QB{3iMTqDVOH@9GuH~R>b8LA zbsKGCVr}o=7MOEl7DEy`$_z^x04~sUjv;YzTjI0Lh{nt}bh*Hu z-NIRs3t!7-zXIo*;AxuZv}J?T&1OFsd2OXSETg5SxW3RnxKhXo%{!H$Bp|uC3)cSt zOfnZRm9+*{=7f1}h#lx_Srz zdMM^S$v{p206a=&9lN5M02?L#sqj-IuYyT3_!bJ0$SS)@{Ww2N71SFL5FbS96>*y+ zlPs*BimEUqMj-r;dS3??=f9>(JT0Lv9F24!CdS`eORqH^lG zqdGxMppJ!l99>~}qu9){R(l!38t3L{h4{aMf>14PesSs$cV9X+@)15*RwfD-#2)xo zy2(pPx<92=c-5qBqp`!>R|csXDv0UjKfG=a7>-^6gj}hOlvE_>t`6V@zdSV5yTa)!8?75rbwqX{K$n*U2l8f&(W}?1zX_SYT%$i03 z{{V#vXu(_E#ev$qHeKXN?_Qn5sXDXT!eY%9+5r0ccdAMDD#^1QTbcOjsPn@;Ze^HM zWVu~L#@CWctiUvYac|*4Zo=GqPsV^L$mRK3pNPw8K8+@5B=`aRl;itAQPfSVd~DUD z%vYB%dTL_LxGE;*xaZ-me#7aC%sYX~5cpvMtfoE6=bc15^?hAh!4!XYf=KS5fYGfp zTH~eK!smVeL+1XE78pqvcW8HO3+IwXq|*gs>K;iq!!`9 z2HYEfF+GeC+K}Ocj%MvTYPxIoPSg?SS|%7gs3~eGr7;70*l+7=0o?Q-rXx5*h* zLk<8Peg6PVD}jXY$kRl}$#Z#{bOGDW-F4WzLMXp}NEZhEI}Z2&ElS{<**#;*kxbGE z?H$=~=pUW_pU>L_rByhHY#o->T^xCgawS`;#>9FrV#L@Fr_-+(l+sB;gB?(-*1qsp zM&`MyW))c$Qq|!>6L|<^B=gjces6pZyGEs1aO%zt%QiupSHS$9I@;)0ETI(grR>Yh zi`;R?PCy?X_=@%!vY%fZ9Kk;OQC^ksH%+(SsVVX-xXzN?iEK$6gR_BdE!W!x=u3LA z61x`rImE;(3*m2qx+hI$OPbSZ(3zSR+dPE3AmaOXT!4MYJx6>Ql*X{C_?9N6POIG^ zS;;b(W~UW2<`|iFu)2-c_#HnZhrBtemYbl#LA6z}#Zpn2q-ex48}fP{dk#lF->3_! zld6-Kl8Vmr1@ci*%;9d9D{y~4n?djHaDm2CDKr9;`i8wiRK(K7C6szW9C6aa=MHm- z39lj0SLJK%ot>_886UUlRPauPatL@JlRBIu{|#Bk|(JeRHfJxeDKq~6K% zGMRc0N1apQW?ALZQ&r}a@x@a|>A9T86Nw|Yc4*^}TcIk0zB72IMOQ)&BM>Q9x$2u9 z#c;mQ`A$z=Q5IKI1PhjCH*B_~%EmaVKl^*h1S^6qbLnt81I#AW8>$XB(gBzow_efw zeOFR`&v_i0UoXz`6^-XcsPobnUZCz)R~`QV5ng%pi}b!X9}HEBZ(zOW=>~h(hkRx; z)@@mfN8CrgYT4wDDWO^d?K;3nLU?VY4W!?v3<2k={V}b<14;c1$PpdJ*(k1VE}FOpeA zCdE;#@&5qr_a7hj#7-lDEg#z%ns)qtJe9u*$2G$%&Q}fp06&yrE@MNROeFH?;jP@P z9ZtlU5J#wg19tW%--i@5>tuNV%SFdHT8B~0*)}KDZ^~pxHob>q!C$Dxj5{!$RS|4h zp}kY6Aj)#NOoSIk#+Rk%@qQ5fXw!t((A<4A3A!<*sM;Mp>w>;C}Qb5=(loP4@T zEg+KIo^CNsio=5U0<_!%5tPE}o>5o1Rrigjk&V(3MR^$ZPjX9RIeINB_IR=LF` zRxLdmf-IpkJyS(TRA6eDRDpj}3-|fOrW1rzdouv3v7BkFeo#XEYf~V$)xD2Do;^r~ z^OZ0Zoh>L1rIB2ohTZTY!lX{fx|$X-2+hNE;9$G6&eZ&!rOvJ4T!G; zRAw8ax(zd%QADdG4vIa&7#?7s(H+9vnwDtENmYUO!pd_3@eL@x;KXszj+jEgjnV>O zDTtL-JxqY|FrY<{TxV6KFoxhQf|JG;RB|A#DSccf)5z`fhPgSg3R7x~rRy@#@~SX4 zP)OmJua?A~e}oR-(;iET!{)D;pO~Ll4?w+Z1&YZ|2kisweM;nyi@6;2nrgcytYsA` zLth<=?Xi4#ViQe0&Ezj{gASeLvcBc=rTURNBf^r}HTWe5OxN z4Y~&gHXIvzP0jiiw@gH!MWsdIlHxWo_xIwt<(_45rg2#{FWw}kmF0;XDz@ctBiqAu zTQEPU;EY~j-d31AF}J7S$BC^!Z;QW)F4h$r&ITK0H6)fXD1Y5@J$P;%K($Z*D@l=?-Rf~TRkza-&W zU@U|0WW&koW=B&j(QrZ#I5HcJ#1d?KU*6a$4vV4o0Gk;r79vzsX_>uSO_==tTwo7! z;8Sxesbq{a;Ow=L4gI+`?b7(+5{H-|kTEoKkk%8zB-Gb6e`vT{QD(Fo4;ik*;Wrs3t%CJl5BHzMI`fv~DZlezk zZp$sjcs?qOxQTBx&i??5De~I$6;z%>Sc?&2{9g9_u^zLd=2_O6YKPD2sB;vOwE_f^ zSk^w-e@{kwf(^YCZ{ac;pT9-4FOI2G_J!{{yOCv~Z zKCOgc5oPVPzzky>pa6LR_+26UKYjL34gUc06M1>93Vr4h2;Q>7BAG?Lkkk&`G4{q^ z8$BuQS?(^@^oKTw@9Zm2rZQ~4o~5g@N{_l^6|5>27}m{}%y|zI^eArNuke*+{3UkQ z)&v>ZRvP8wB~O@d%yKKI9s}x0Gb!SRy{Qg*s8e}67OZpz?fhPw1JM2xW*pyqImCr3 zvh59*mHcJF%c;u&R*q_uNi3B}l1Wvtpo4Fz$gu?b07Z@ZZv(i;q147SWq9uMxbi-$ z%Grc2%}m>WvGX2_+C?mJ#~jX$CeV$x-B0~(`Cs1`7&2yDt1&=NS9C?C^%VIPOn?@W zE(0SQ?nCd}-}4x_V?hOnZ$hihM=`zz3#^_mJB$#6a+v9Xx8SDJ=fo@N9^BB5G=yd#M30+l%4Z0zmO7iaFFO6+J;bbQlwa z7*ZN#c{2mFTc7WQL|{YNy|%Lkw;bWO*&~`ZQJFD{^$JPzI5zme+w)lr3wEjaBpzz; z0KK~7p4%f+PrW};9bFYPipjhvxcXqYXLWM&QsEXM3+XM_xZ~#%Q-QtKom(g@z=A;b z#|6$JRYLKfJWR_lS{Q7}04P{nmhXp)eNUzzd}UJ7}3f&=v9=Mlk`)*38zH10zS zH@8lhc2bbIC<)LikV=N_he_0=wt;FO1&zh;@9%~g30ei#&6Epqdta|?cDGyr-D|}n zq^_i%PfwgZu7Z)x5Ul6f-^CcTPNWodwJl9SQa}@XZvI3eIqH6sOIBbQ{f zzl!yXM+Av9lfb|gc+TZ-ka}V*P8mk9%pk3n6N*$|u}2kNE!K)hc_f)(0_@Tdh@;$` zMrXs+T0sp~599SqZf)MV`Qn$`H&5jHx~natt8Cd~MOT&+xi{S01M$W*n0z%lZObsQ z*zP#@R3(=j*Bhx_0RXPRc@{Vc3p~e2u|*V$l2|Q;x*nKBSyqd}Ukrw7k>IYw`#bcaFlC&+L*4PCbS3yl8?J)um z9^n4CNR+Ms>Xh2EPeVt(Sff!H=Z@p)hf{XNR$?iEaFf#$8?sr69C6zQl>;;t^&4<1 zSp4B~mBrzCnl;)5i9gig2qGmOY{O31qx3JcGNmMdINim~yOWB_MnoP*(Qj)97gHzy0Fe3=_wl-( z4D5Kflf@cH^1&u$2HOJ9PR(*XzjreqYhMwlp122^jl+&s)2XK3f6C^@bxS2KNkLa~ zR!WaGfFFrSvar8!TKDbSvBl00QWm+xGssH65Mzx~CC*UUDUKt0{{ZXjn#}x)|?uBi`H()AMUg0V@xSr3XtC)uXIumNKR|6pQZ)NN`UjdYjyTKg>vD ztbx(Uz0)?AHCjmFK5K;r*A^E8ptpW|@NfL%I_5$PK?+`{#A{IM*V*gPf;9`*2jazh8fViRlK5T{H}F}B_%(G zKWNw~?^UOAtlA)07DtnEARPw==H}m@e$D9IH3!LAvG{TS0Bzq;Jyc#(p?=WA%Nb6Z z6J~8j#e}L|14RM{4NUU;hAQ&mP#x(TdNfY;>1WnwXp{hB2_od z*J;#S-@O&K(v|s_huW7RqLr#MER!;;6tr^^K!R3{&y@E!D14%-z=p9v*S86WrJ2C9 zQ*ZXO+(M&jQg(mZB=dlE9nuW1ZPBo~P{zPLk0Wpm^}Vs9 zz*efsrBiK;`|g$Jd_xaS#65<`LK6;Hma3LI%4(FXr#n>a3PO*5c?TYW!uX3Si5kV$ z2Z?a^(lC4>XzpccF5xzt^T7*Y*ZCZ2=@A*WR25p{OGc_HvoLA1niv+P)z&F$HXyS- z)f1C$IdT4+Vz#q-Oj}$2AfKQLeG`)k=W`%>lD$bRhC)zY-jHwCj9vzisf(vo7bNUl zs|8Py*9uvf-E(S@qR$jUVyXE8~k^B*c&hcwZiLN8JE zI4ep0swP)Fri@+Y5+-&mI^W;>VdTntETk5ska`d2d?Gk;8YnE*r3$ld-NzjD$0Q{S zQrAsQP_l!;Jc4?RM=50)($%EwB#o8t)L;7Jrf!JGfn>zUb9$V+n8_$@=_bP*EMy}w z*19*JUeQxVT6AwV*0q7emeo9xz2I(uwGW7`Ei{o(2UcNX=eN*%;GH6h`m!J-9c?pa zb$gsMvvPUsfYdS&TG&MNIRr}=sRMUETsfcwOokRL&mnuvM&WDmfH@Rt3;ImL+mtv4-uP=<$t=lHl2kcj$j0FCeXvq5 z382|zIqSls%u*P1JuvX%ESTshza{b4Tj}Hw%fy{WPW0KPwa@A(pN5U9TWb%Id_A;)G8aCncg#}Rvk>fAo!FlD#}^T@MuE*{ zjv|2Amj2iwDgY3PG}?-c+J>G-C0bQh`V)sSydq zPnSa1U?>LD2$EF~ut^&DYIP^-3EWmYp8 zTvo9M)6&=H66re1ncA$-%%B5%pL5>?O5d_C)RIOQcO_R5oNI|dl?}^IUoYYn9Q#)3 zLH9a0r={|qDBRLk1NbD0IVMP0_7*aMeyVodY_Z3DQGw{5DebZBxsS*CUYGC>66qRh zINZP^z5zZqC${^Q%k1`=n>ffdR%c4a7O1144G|~zb1hU-I)nT+Wh7gVNImhF!!~Zc zW#qD>Sav7Sk3`1JbExWdPM6e+8W?Kw+DeHPh_P2zNfn21Ly&%-7>4?AN^TaIG)+EI zKMJ9EucDVo$u3m_JefD1B%^B^`3)}$K>j4U1MUU?0E-q>DjATkFc_Ye3Hh`to$6Yl zHkG8MuZ%_adh0VW3!g*L8*{Y$jzJ#> zxWp=MBE@8}xJV=)f9+cgn>vcJDC;7tCNMYv_9Ku_V}3CtzmlbUNH9@%{76*Bi6p5p z8(4A|r#2s_>G6gHJd1jgcr#NRax+AB-|&sDJ8*4#kZ|SzP0-%bG*NnkAz10rsi>l= zk`>z<$bgg`?b^ow0In>>Osx@gTqYsSd>aI(O+i(sYN{R@8pz=>+?eCKu^j;erLFp3 zzBtus>{{$E5ov5@6DY?Z`$tpKypiU~X}w6!Bnz}y@-9WW>&3p9C+b_exNRK31|t}L z(3(6v5{H(ma@UZFMWtc4gZTvv5eOHlxM5v^I z2_%5z1@|58hYUzIYNz5@npA|n-&^@B2cszI>9*GA2@BLRw!mKd6#fxz_T+weLs*`w z!SM`Rs*bLUC1pRCnTq;VSR?aXB6DuNEN^dnkINOcTLnd+!6)u7vLTU z`u#0~QxT#Qu2&BK0P#TajvU)M(q0hdRcTPPcg}Ndhk+>@AdLKgBzu3DVCLm)eiXo6 z)ri^$sa%|+9%Wq^Yi$!H`QQ!0{{Y_{`GU68n=u-$to@GYW~<9Hn(0lQ^US)I`)}(s z^%Afa9DmLOZeak0)HHQLe3ocj zkKuLmSN{N&?ZyB>GP88=O`x7$8sE`guLk*xewa)TQQ~x;y36smI2RGPAdd_EV1;ipT&7CNBB`d?M_&tqhiC6Q60d(r zTLLUWA2{|bM-6TzfQvY2ckb;Si^H(IOyS%?yH2BS{{Gb?l2$A+2UJQLt()XkCu@Rk zSPpD1ZaumjR^ag2DrI1x!(w?cA`=I`R^?^F1f z_UTi@oj}Zc-JtLh=B5iVKndDy*7xHVq$(93Fk(0?UfmCDDFj_8f|;HjWM;0U*HuPa zZ{Sng=Gb@y>W3MPv{t(%r;a6!N_q!jhSYY-#gwd=^if7a?Y8T2h*c^nETt>Mp}Fe(#`4sjxAwt{kn*YAhL_EhF~0-88eC-( zn*q5@YI;$y1pqJ8`rwGo1!K&z?eMjMV}~`+k<_gLAT@kV4Lw|LFJbM?@KbQ0WrGU5 z&s};_D`1mb}rDt6}a> z^TU}XG2kGnvdLkXf^59>Jq{gx&~gd3i#k%dLd217IKbxcixF1Y$riRcI0vhE-N5>tLx{Z$}Ib`-~_g8BPP5>UW2_l9y3wyso~L)U!k` zIN`wcE-P`Y%J~`|Q@wz=;2z2J_dhs`l+-z$qL}9jeO79)R#HP8)OD)O zy=@GJ{ZWXq`h))f{Tx*BoIYBVu`M4VgZ}`Ft@JQerwOl`om@N5%p`ZV{{T@wNn_*2 zl7~=uahwR^YMPjDQW1D&RWY$pdh(^m)Q;B}%zR@@F?4JPs@Z%ESktJ^(nr(TTwtlw zA9TyLY(U9!^zgfqHU|b-1E~K1Fe+`>wYy`^aHJBw>a}8A&R6>cw9WGck0;W!ZmeZW z7@}misWz)fPw44y)3yUyvI*^0m{AWgy#0cR)XN^B$-d=Ul+wpK3F)RjkraZ#l(%b< z!R>K~^lCzs8`0Fv-MtkV@ef7SW$^0CAY00os-G}`g}89V<6^8hKBBk9_8zs{Jcw7g zOh|NikGNHZyD{SZN3r^1)G4Jtd>HXQO(#^jE@x3Bc|*B)WWB!Z=cxEnY<>?t&H+}D z`J1YZiNbV^k*etCkJjR+Y?0IpNEAwn-;bv!+TeA-1J+X$g@ojy&%W_IQzb^$k*-Nw z8~5Xz@qz&=21slaaYr>>Ovf~oZl|e=MgZ?u?s@0q2F&hDn^~h>6uwj7Hl)qKW~HWHZVf?G z`tV4{3J-PDox~}!1Ad8@m3@`90f0SS9-c`;2SS5k7HfZp5B(#zg&o{wyGl39ye8Bc z6-;rh48dbts|VbGo;!cO_;*0yqdy$i3!}`dPi7E0N14dpP;W{Ohn@$|PvmhHNV#27 zpd+cO*RP-%e2S|mjhk}?1Jk$Q4%~k{3CqK!xfoY&8 z_qCI-At8)+EPM7BJ+SIx>Rt~B>aNJZzc2dFSm&M~>di;3wJk}j&oergs;Fy{6tUqJ z{S`%&4`4AcFHXWyZ8l_XfO{)LBA{%?H>09Y#O_7UMHaRGoZ>zu`Dv0=+D+?uuEhP8 zDJXKCAw!zGN{LaN)Mh(a^jpOOAJ%e~_e);m8H_-e2A;)+_=2e+Y~oz`WIr(rV+Jg0D> ztC%nXn8`}>tc(vEcS0^d_VodEhpa_64LAC&+2)yGdJ0c3_Jn}Ok`)%GAN}L+VblCgVbb>OOWZ)g(lGPC z__zGK;=`G~#U>t`T7OwoO9UAI04INso!oXEq%1IHH1ssEQql$#sDT%8yD%Ne_v?S0 zU14ynrol~u8Z;fsmlKM8N`>_dlXK#=DxxTZf*0HlxRCn-1Qbj#g!;>%8vzQ#zt<4!7*_Ozqgo(QM{YgwUs2Lw zO{UeJzP1=?i^{=34ZgZGPm}(q!VFma#sL! zQZ)A;jhgm1IOOLrZoN$9hvFoHc*i6MWeViR zWcJb={Yk`P@l%AaxVhP{Ep3Ox$$r0mUB?Kel6+RYIl_?p^$-K7En*;Yy`0Ak@)7tm2uVnBUWl^hKe20QHJ1qj2fOC zjVmvdi*+KRxB zZ=8AXmN*`3+OYV5=y=-7f%v&p)bYt%3^Kvw&kkT0rr$v!7<+kTc=xw_5`zJ09M-D< z+kg(y@5M@K6{OX91yvjcssf~p0=V_KjaUT-f@FomTe*n-Rfd^si%OA+s8~bY-Szt) zRF%{jV6396$TLF^-%Jz7M_BB7t)v1*>(vw0?Plyjn}@0_N%x|d)0F0Bn}tC&Mpr&h zpXV8EL=R0YbFtXM#Z|pPalsaG$l#8gV@XZ&0avVkW(Nfe18i}7{NSjRodrC!4~Y5Z zmy((`mU@i24U}&6#6QY=kAr|!q%{k%ygijhU@otJhkh(k=V?xYx+IW`S=cBh-3|W$ z3Ayiqwbz2N*zO)#HdjAI<}{guK@`kGGVX9Bu?L=mw>SMTR*AC8VgYT{q0^dwF07?O z+X}D@z?-ukm*b)1{+P6(hk+`pwj|AyYa_|>%2@!AL@vck6}cpf`}7=j?}Ow6L;&X$ z@zYefG_fRMqK-uygKifd>IZ)0;zJtKs%x7D>5mYUT-M^M0*CHgN zhM9$3HBPHXsgp0tsouLY5f&(bSyXYkkMN*9{mq5R0~L=TZmp(+w^ws`({!x(=hmpA3A+ zTR5YjhO0SMVd#=2l3k^M?^9D)q(8FaJAR7WW%V-0L!D5?96_sSqo;{efgG(x zF3y&-a5?xF?};?)5lzwWs(tt@eR?6)7*57dc3`@d;ofOmS)#IUBl3(JVXUltU$HeZ^I`$G*pq;@1F@ zKpYZDxZ@fMFRc8nXzh|dpl{;>R(h*xHeB=IHSs%rN{4!J9bD71w9>tVj^meMdsuW( zEm%rOPT2$0%*M4}Xjm)a5HG zs(GvRESarr^(@S>{uBqYj7zD=XcZxOd#`ep z)6~f{pkC(u@qwugq#D^M=T2$5oXExy8y@?4!;7s5ZDBiVoHQOENRg+RKHH9*{{TB- z?50X7qE-y+N7Yip=0JSpQ*&-@`tygnjin|+-B56qLU{uIcs{F+n2wzDA#2XoQr9;g z!wU(4_mvAYru%FGC;4F#7S4&M;p{=*Y3zF8wCT&PjZN0l6`0A?Buip%{V^!E3YNoY zL`LExWf%9yN_$|7Xq4LPD~h_7N0Ah;7aV(GTxGDL)@PcgTDE~H>*WZ$Zf-}m25uA* z03;#LC`U|Wf5Jt<>w$*c&WnNBXx3J&bjcKV-PfmFNn`Ao0Vc>JF|1S!ca7fo;z{mL zfgPwmqPP+b$-VxVa3wQc7txw+LKLaJtS!knZc(aqo=ZG+M6JrJT=l*h07YbxWWv<4 zk4Xd*d*W?I^_4p|2qrmL$>|;JIlz?IQqapFvAI$@8{uIf5T`QssHl+=B{G)i7n6U> z2!vV!Vo~UQPg1EO<&|w21lDLyZ8BEux^p$4P-^IEVnN2@rr)j_F)cO)5K4_clF6u1^-nm~pc;YC-C_pE0l2{%h1Y6LQn0POXo; zems{sd|s!gsLZ2!nn|I{q^prC;lHk-2;3o%kKwv{ly$wj8{^M$4uj+TuUz3K8vx0V zu9M!m>*L-}JUV;!vxwHBzjY`Dg^Lmk8xD9-2gdA5!jS=LI8(u?lx=laydTfz6*anj zT~eXa7NIuvnWEhB06OpV%^3GD7~}xU9E29eWQy&w=KvWHjDnh*NgMZnpkJcEzHz zm?BZ`SxgCycwl>j{Ej%b(p1O4s+xHOCne z3p3PI)1kKQ$8ryEr^XVULJgG;FNRaAF=c%GFZ)MjmEb9;jw#5oQr6sU{c&xE#x&Vv zG29L8Hqk!mykPy}h$U8y@72dnq+EC7>w_AqB`g#fN7)C9MhSNol0^VqZt35rQ~v;b zI1{KueF*`fGa&JLmEoq1>k<^Vq=qDee!kw{rW2+CC+OX->P~+ZX#VXS?ObCvBXb+> zog&K`3_C^M_GO?fnVE|+zNlrT!1z^O6D2UU;!ZZ19te{59Ot|SCw zh76ZIFsU>?TazsgMV289S=Y7YJl-_h3i>1shF(#2iEI3#hoetXDDq+CB|w ze-yLK_H9Q{nMFQV6m<0U+lQG?DFp37VqCFx^Z<8o0KKsqjw#fi)zfvY;Z>bYqbQPB z67~N8g4+K8!@Sig^G!LaCd%f2{FP&6bHFOr{C?@za<{?!iN)nSQys0AqJ?I=tO&Ov z3?|oy`eK8^igP9Lxbd{Q_%#@6K zi1k)E>KiY0&0*gpC@7!QZ@H0Jb@$q=KBEa%rcg-ts?Oo*2e>r$`mULHdl}7WV0PSc zidJagUI3KrRWe(!Hed%^U;JGAhr{d@DTe{o8g|%!KFaya;wp}%P`CFTe94c0WYrb6 zt}qrYu|PIGg4}+5sQmGG(-k9<&&0BKD|M~|@9KF!7_(sARMd6A8!dNWtGtqbxx>>G zQ6!fwxkp?pMb|8CAyxPG=L9WH%XKqDpNPPUtO0I!uRo~%_r8dw{uBWgIgyezX=Hoz$+*K! zLAqblyL2sAQfd~>a4&2P&IBUTrv#O)mQyWOVGI_yC*Q6HQEM5F)o=8!K$&$MOb{6v zLEv;4EhbwsdqO&fE7%@Z*m@<_tz|G^$k!xaoDe-UG$anGpGi`<+~X;aq4Nc$nL`_bMjq1z5sn~St1*+- zERn>~va*{HMkKg`Bqh8_fWoNJ^tSU_e%}?amO8h}J$VwIR)!q}*7M+YOmW@aBX=7H&2V z#(s@#aZjf5MUm!ppCr{Ho-!B@o~IM4IalH7lh#_0Nxe@3-Fd(ixwIp_AExtNTbokl z8C5&aQ6m5ax(}a>6^-2pxXxCKu9o;;_Hf9w#T*rx=vvItfMPo#_86naaWK=Bms)-s z@bPfZRXQp(Zb-2CX#+=YoN_Wz*3)r(29OE^Q_=bxbTEi!Jzt?4`;ol9`c@KDidE5P= zywZ+(Y?-qB##%(Lrv`S6Oc{&rW;P<=T>k(GB;Laq993s@LY+YbUt5#9-!}*t{*k6Z zw_sFP#aysvwe!?Q$XY03bwvX2wnbgQn*(4^9Y^KPGZ4~TNn3suh|1Q2J;bU%_MORK zsM0X`4;&TLbmniv>AbR(JdRC*9)0?B!KgaIR;PkL`=p%@*h=O7N>yonS3P!LFOw;# zW~Y%DSsXgc8;@`bqjA#Mwr~$*6})K`DFA)!u78KQ%_gO%s>>236uFHv=5%NP9#K~U zrkQ(gjNO18e75auP}QPX=?goGVQ#v%--GX(UigWmYI5x7F3co`I994Zy1c3h6!XSO zhE?aSf?KV_H?hRr88Al4X=0k@$0b0urc9Z3V+~y#3kF|Q8bFA)SZ6{Oc!0kFT z5+*bhMA=_btV=+4qtkDE!B{euU{==I*93X$t7f}1M5hKu1H_5AU$Oc6Vg*H6T=j}G zYGl|PguTB`Fb6u&6h@n^5GSCJ)YDBYGLCm4Bb+fyZ(FMCqa3ru{Z*DKL+6Ufl!Ins zr}<#wvw+nOrwgR(gmsqq=cr?vC_dp|RXZ?Hh~bNS04>fG;@t{2{3A6A+IVz)QPk9t zRc18DNm0mmMfa88Q7^Ib!5c@*So~v#CDA6zn-(ZA!+OW*=B##6p_SyOT;nsY&ub)Q zREl3rDSP^iXgLFu$s?Q%^-k)w^`deJR|7!hS!PR@tVt3<1VC-{01$ih{OxODfPiII z*Dg#*YqIQ`hdkAp%bIMy2xP0OoyDV$7}T-3zu`a+=YU1aigN@I!Qi=!*;@F&o=dCs z7GEuFW_fEe>KSBc){lDw=g2oLrXs_08zO)QC9e&PE_A}y^urF!fWh4J>`_|FPT(i&W^gw#5+*i(%Zi^ukoA2?59MfkuTw31d%d9HwHeB3E3Hl`pOl_)K9_2ZtL_7R5qSU^yE@US3^fK8-jxV!H^^)#+jf$I#U<5)#QvHe&S%;bh_`euL*0-zLiZYtf9>T0a z_r3_zWP?j4u2HKhDC1Aw{B`8~Vc?>+paDr$_>EE{aAqn8TVc{ux=m6GT58&y%-BlI zfZwlNG35YDj35-wV7Xae%aHSOc)+t5f)jc;S{bc$42v2_q+b63iv$q3gAx*-IIOgi zuxoQ+&j$_#HNprGmHE8)+*OUbjB+&w=5(ORCO2yqYaAmUO0g{DveQm?k!B>?{`h<- zIF{KJ!5}e5tPe}0GO0{Sy;Tyyc@OcbBySy=gm{Do@!NUBcyF1rT&)slq;Rke$l6bqIzjvDrs&N_;6k@>L1yz zR3Bmq?}(V84w5wp_&3CXt55K#AB;kJ*sF4ygC&h1fr}em(U|w|@y93M5Gax?R_}*E zA>+U3xvSzQ@{rmCSp{%tHXOD%=ne6XAj!_c?)zvYXp9Z8v6JRLx45LVBJ8U0>K zrE;wPo>>6HKs>)Z>I~5Db=Bwj>dk*;iN&7->7EtMhC*cK#CAOJ#Y_ zh!u&YvI&(k+oVFJNO#n)v4o%-w*;L%@W&j<5L z2%^>X+19A3Dg&0SF+_On96?nFYYqV87WDWl1>GfPD*Q`aI%$9hbp1+`)t~rt{h##( z9MQw3YAFdGnS{P+9~WRr_r4$h02aY^k~~t-_`?>{^8?_hAB_J1_+Dn2Dz3{T34!!>Hn@x{X^+ySaVQ?o%{U(!FF%jRf+vkushnh!Uv7;DLYpW8JtmE}kb0 zE7Q@}ACCp$Tx$zg4~aN;>f0Y#Ql@6I?z0j*bm@zla}ubWKsH*^%G?9M`e2T4B-WLv zXZ3Oy+SpLoP6c^tl^eSr*m6~c<~;W&rU#G(!0c4D4oO>HyOmfV`00i@;8`A(ClMiS zwvMe4w2Qc(VlFU*-561D2u8M!s)k=KSoV?L-EjJ0M1EjktvZ_vZneAMrkNthbm~T` zIw=g3#E1u5+#Co~IwI6~%igUohx)c8f;vj608!AB)Bc!wVQEjJRD7j7VycdG-y0*Z zx||n1l-#$ngU%+EDcr8rxV6dt_;7I8AU#*@NibHM%yQ0oJm67iRG=pR09+6}Alg)Yc6mIJ z+s$hcbIu)^D5gpbtjzAtrTTTlQ`usK>vIL#PU1)%2fh|8noh`Wdgd%!f253X39fM2 z4`vl=>cag;H@6(&z#-+G3I)txaBy#Ky!XS7sFVyFp(=@rl9wOrgpNwrJhoQN8Ryh? z^ZMbyK~m_{FJ+}IB6GL!bqRGC8E)q`lb|?Ju#cSCy>TF3@E73QZ}HAEVX$i zrpOg0%`%GW2=`dCp|$X8b=XV;b=4dQf+2Nt?0>ANb8ih>D@hbq(9V3szdKJufbq(C znN9mdc&opL>H(Ub`m2n&iKv9EBo_k4-F~>lRAy5P&}h^SZ*uvXxXEA?&$wn&#u{&U zB4Kc&<$(nM0G7kP8AX}hI|Rz_fdf>&%<}~hNW_qU8~rVddM#8~n+vK1;|8##GfkF7 zEG5hDZ%*T3>^=GnU4mRd3m=Gh%tBviNh`Cg!a78TSBacQ9Xw**bfjEH552ua_5gI?!Mne>p?#^xYKS!kNm)88hK?vFL%2H?Xi%{|0B=zQ zani@80f_$qwh7fW)N)oW9MwGW`zMwR^DL4lXxdoTVCVR*SxWRFxiPRkdf%YMKo^C* z;T3v@6(8|8PsjfN4(OU^f=JRzS?J^G_<{!q--eFg{INF*_>xur9;aQz9WVAu-v#mp z)H+L2WfH8g#|;|QLI>gvxR)UIKY_2_*Z9SacSS(q%~;`wGTnI<9>^9!s21 z#<8l%usSgGZ}leDAK_xMDflDX5#K{r@>TUH2aKn1lpZ-~ys>k9>r-Va=SpW(lV((E ztu!T2leaW1Zk{jbVMIw!w}6rpO>XLjDeS$bdTh%XAi8YT+5I$th`#|nsp0qVF1 z)9`V@i!+LFX-`a=j4TMxy~fkui}b(K9C<3*j&!1|v?yT?@D}@SPfma9gd@!X;G3p4 zRSauSc9BB{v0`s;uf7^a>4DdXMhf6M!w3yArGji_DO(U?Di6;*;$0UKs4LP935Q>#D{`S6 z@KY9o-2f-A<%uHts;ASuf}#^Erm9k`72+U@PaDV9N2YZ+ z%62`i*q(9Ebs*JpfT68mEstGcvhoM(E5V(}BXbgM*91e$b%IHlfnq_&Clk8VdWHt< zPqsNIDrZljuB}vJSONg&z8L)xDT#C^ojfZ~3Pg)#1GXYa1zNN~fVS2`yc5N_!%BE* zK>E&_159dG%H44$iJmHxT8tE{Bs z!sJ7?7;dKcYr$L z4B~<*sx-}G6{v}i@ZXjCj@WBRhhgg6A7J-{3RN9R;;S_arv4rH#o_*{r%dlF&uJPY zUCmD;gmWdmD8Tl=C*T}VW4KfPQE;``J~>E?(+9OmX4=~>c`B>x^Li;IVq}rbi*_f! zTtaRGFJviC;>{vS9%`TXz4n*MC?KfGG|cN=UT%*f{uTVjCgJde>8CYAjpBv`y{^SoX!uI$?qqdZuZ*xSwY#BubC?mTmGy3mQsJcxf13R~PO* zD}P~%Tzzx$&Z|?vFhY7lH1=1Iw5&R=hcJ&?WQa3zw9(PE16Q;$pblJ0qQol_xnJJNlIvl6N0eyP^Fl_t*h-f5N3_ef({Ba*mBMMSqI%LzM~ zh)@Y&SdKVeF`TSlRQ1k^`Ph0i;87PRmC;Xz+FG4*ohMgDV6JNE8#|t8QG{tsvOHAV z0}GH@XLYdT>>!>mTKqh9j>@-*S2>)+wZA`Phx=ITDr)7Zp~|M7jVSXP_^yZ~ikcXf z2ms*Rr~!$v{8F9`!Nf{Ufu+sWp9Y{>={KN}?5X$cs!FKIV{Qa!%lUrl z{XPB8C3+o3F6kn={VeWg|27< ztH40tXa4}XQ)(B>B>|G7{{Sgszr!RFqMv@EJ~;eC7S$e0d$09UvEbwm8-7BQtEE=T zbE+B6$s){)1tQxSnH(*?b~U~CwhH6co?$tJf(YgODEyZ?%QI;6{SB)m@-m95K{`&t z=89s5KQs=uH)UWtfC%Jatd@ZGr($sKX%%T|5AvyQtJ3+tkk!9+%#_j31gZ&E-R4BZ z6?I|3M;3K)!wV6Mw#7!s(Oc50%8kr4KK)ace7;P&N-WNZZiYkzGLEOIHn(4KZ=6Cc z*+8QCX=}AsJH!0?8u1a{f_rS`wv%qx_v_aP9I7#NcUE&PEGgmvyuudtVgWpUm|0YA z17)=Yu4?ZhlyE=_4fyIU@zeR?lV#tw*GxJJmZYSTrmAp-Sf5J{y~X|THxM;LB1i!Y z>TeKND$D9?VQ47mLY6MfcS-P1QUU4pwec18CruRU7bDLEgPVk{EZf+UKr3l{X=jU`TCA*kl zHlC_aRqhYCQUQy=Q^Zp=-k*fx6>zl$LATX&r#jOa{{V-y*%pG;v`GeimgY2+>cEnd z#rL?`9axW2umpqk2as`{0;M3_B~dPE5!wj{*VSBC6zf*0jG}t41fIi`kD{`*k)~eR zZhT0UXzJFWv!6@H_#_9|G-dDZRZcEA-V7Rf+ul10#PCc>59r^xgWPse`P_7rwN)_0 zrPMolcVp^K-1p=47RRG}ImF$G!?vUM9{!wu7e2^{?4l^JPLC{zt~)B2vG zIgmQAa7Fm-#vr&sg>gy^*QpqVVjAn;2#YCusw#}CwENd>?ZaQ76&=73U zZ&APuMkR&;s(?vRPf8S$0UZ9g;AX`pWxEWf5Ce`ahbDlxe`_Q?8AZLjaRJb<37wAV^ECPunTqt^pTcyp2zh2nl(1sjk zM9A!T&_M49<4rLXONG0Cgu)h}QVJ-S~UlsKsBs71DmU%k#8 zKuBCvOq6OxtQ7wMOmrm9PO3Q5?DU%!CfCOn*(P#LmYqc+$@r9xo$&7Dgp@Z^moJzs zfRp_`aJd3NO`}!g_Hv@!@IRkiCQ&GcsUR&@0U4D`01s~3hrRk6U={W}kE*PzP6R4- z`&PDrB94-_qMgYyHpe5LgQu{+>xMbdQMx9U#4WL?bBdUjDvaMTlpEYM?ayz2<%SXt ztBnTEizE_*akzBvg^p=UVGvR}fU?|xqjiVt{jg`)N{s&im<7>YA0|_wygtdK%<5r; z$3iEWh&M-n-ZlRKTYuXbO4R{*aW-529fojYX}48hwJ(j(=4{hvF__oPCXOOFSpNWr zf&63(lZcfujdk5+u*2Y-(UfVrLT9;k4~aR;>1>{=oaUL?rpqa$uq_#uC0N}@b`3at z9^?+^8HYSOq;c2qw3P833mW%m+x}Ig)j95)@V`svdW$ZlbjvbqvLD&;FX9l>?xM=0 zkegh|Ig+V~u-O3X&MI-QXlSRYDuVF&8I`*q$+0TA*l`FF~a0Y^doRfcNzCR!hPh-k(oq`cFvZ6Hh%X zaMseKlE<*rP9l;~A&;LbG7#-jOIVM4nzmFgaXTnHMufD~cCruDdB*C>Yy6t4G}HRN zx|)#;bLEeiBX9sFDU=dVx0s*H5d#Z|Jk)Fv%HY}1{ntJvr0;amqzd;Fsj8|pf$nUUvQpmGz`-qt9n8jLHF#16{<5Vt2oN? zypLE4kGmoi%PXQm=20+z-c#Ph`FANIDY}6vTUdrm95t@h8MNNlm(ka8&ynxc9(?U~ zUYygF6}mndDJy9+jJ`Ow3FBTt;=$0}k+{D%9B|AzEO412SJlJ;S_p!6D;Az6g02uz zqm@&0s|#^*FZ_lC;EwlCaTP|RQ+R*j z?piA|W`#d%W(^+tJhC?-itsNahQtIHEJs^zI6EmCj>^XGzd#HUVAD9pTPV zlssaJl|dp{_m3!ewfd@d%csBLPDZ=^Iy$!=9JtoDITk z6Cw@5HKGzqBY!o~*}4$7J^lIUa6oS;Zh>TDO_v!XEgsct`dZxo0I59><}oFTB}oPs z&)AhRkfo5!No}jf>vgw&mcg20XiAd6EpNXMVi+B-`fOml@hB$1I;U? zibkFZS~)=mL{VbHxFhN9i0*M|Oce7r=_})&n@x41Cd?@5gX;{GirN-a>Zy$wG>~7Z z+@Xr!qk-;mABa;mDN8ZMM<{CO`xK*Zr$F&rT z`Ii8T{-@`j*nK`E%uXD*2%lenjh24D4t^678}1O+l+`inyrQP0Ocr=0FuD8&rO>2n~SC_f4 zVNYfGEY)fm{{VLp?nfsMP88==Fm$~u02)b@+prjaM0Eu}q6#X%AgIfbR6<0N1Jrd> zf#xHs;V_0JbGHxk7;F<}$K|R|MQ&+xuXJyFx$;)~Fj;u(-oZqRB`rN=6_XgKl~6 zhX+oHA}ph4K>UJl+vg3w zH$8dh3g;$(7H2A|LohZr#{!h7dVmO4UYGX%`03elhODVjjsq?4#reJzm?<3)g6gv+ zj(1(;9`+<*;3k+ih58t-hS#>xaT%*#^C%}drIn#@pawkPjnx6+QvU$71kIP^^(n`l zC#6UCI1VA;xG*Z((V<-Vnn^s@B_E}SKi?ejx_dNPqB0PK7G5qeH2B;pC}f#O7dAX$ z!sQ|^$^6OYq>X^H%8`A?Qjz+!5W3@>Hjm|z?nLQv>W1pGts<1(t7A(oFO(=bi}XVlf%zDt(YW|L+=b!CK=h*QG$ zCAKt8Fq3l|x0fFmTvS)X7FH#h!9 z8O==#Zu2SW!udITXK4f!r;Xn1!p3GGb~ISL&3SlkoQjvhC~T!`uBX&YP2U3Ak?Q=H34 z(&g}m5mjZ?IbWxNV-Wy*+xJG_PW^DuGMF5~qr=pP=H#gdiE@fh4d@~BnWmdEsZnOR zTeA{CJ!~0|Kj9dSKpvQdvciFyc?HScdzby^I;_sR#}DL(k6q~aUgN~yxW9$0oW zi|KBl?9^Wczp z@7DO3@0`M?hS8@)$s(2|;{k7eZbhs)2c^2;6$Q|6uP$sTC^gM2 zG0MMslt!pW;Q;>tE}v0=x!WTe6S89H9ZQz1NnKw$M+2SZq#J`M=q=Xd*l~z%B5tB$ z=)9O{UOYkZSZ1j;9#|x#q}#N)7BANAVbbKDI}9?VSvE((aNMUe?w9@+_*<$xW7j!$ zlgJc`iAbKRu2K8Ex|k3Q(t+4;p+_vlDC>gZaK@p^)h~!~7GbG$kMQk0zdVBP--2ES zX&(u+)gGJD*?DOc2dbW18S5o(vPj?JYjQZ?0nh=B6)Fv;GPQZmBNbB3Z>yA`U* z@?#F!UPXAo8vrCP)B67aEH01 zx#c$IjyRYd)*h=8ds_Dg{r+4;n*`_K%t<#=!#;uqHgseSz1)tR+rMv-@rMUq3W)qU zCPIU&)-;H(8$3a_-AQj-TaRJKH@*A&V~toThX_hb=ULnjnLLT;G986Q$2Ruw^}za2 zN zup-Q$5T-c=fdp~Xb;V9HiNm~NDVradcJm$|bhvl75FLl8I?cOJG066V_Cg*T>3WQU zw_Zld<`vA_YBvoV5q4G`4FK5VrpPzmg+;g#DVXH1}+yC za$cmPN#l5(14hEe_;aDc6AMzJwt&;sPXXs?u)ll-j*)d0&4Q!lrclRtBwp6PTs<=? zl!7)Yr)7X1*x>!8Iu_5Islg)u0Lu#tiCWT3Sdn`UyxW{Pqnbl25=w==e1rVHaMwo5 zg4~Lp9k;MQo)HiMxL9PSgi1>VDh2V&gF(K^627_^P{xI}{G3UIGT>78G^{SKc4ogf z_Qx)OG(mID%n0OLs0X$=ELer8jvD;%FN8}Vg@#lP_pl?qyWy@ETqAXsI&y7bZPSjw zo*O$Z)YvVyk7xl)7wgI3;km4wSO$tBrf20>k??w8f^|V5LCbRcjmPDOCYCQRCzft* zMX;qS#q?jsMssC0xb5E@mCfv0RVbP-M%NRXXjwMDTCZ36$tlXw-`x z5b950E(af`0_MV!w_~Uza~hSu>4jjrLJ_8)keb>pflCQhh5Hb1gv1!8&C*_#o4fKLqPC!$=VHOeGfh@j5up-kpQdj!hqhn;YWel0kb<*Nn!!#t{ zxZN#)H|h^l!=4((0;-BD8Y`Jbi^le0-=hI$I~BEIjz9u2P|WM$Q!9^tb;2BkhLJZ}%Kl$A#x`d+Hpm3!iz;WYrm_+8Ju8saWmU#=(vH@yI>Cn21c>Y^hNVZN<~4BWY5G z1!s_ewgdZO1x;0ZfX&{rLzhpO)Q2(6Ie8Tzg)9v0Z*F@p3`w^@Pi!MvNq~szfup-p zyQ}sa@J5eF=y%K>mMQfHXR@}sQiKw}`cZ?_A}bT`cW&n!ZWV$Q>048(@=u8Pr%i~B z8Z19PD)XpVXKHqZwlFtFZN0kNupEoui{aInMYLUna4iHPoWC)Hb?&QTO9dyd`yWgM zQj4jtB=t&?TENQQRMRUc+}nWk9!WRg4z~JV4RZs8B&W=xEV@T{Vv=bcWZF)^NU^=S zJuWS8%M6Rkdz>@~iiUTLx0*pB`#>BHFUPRs4M}cy7Dh?j7O-_ zpGN2iw31Y`l1NI}9k;TJ0mwbQ{l2*7(}O5jkTSs45v@wSAf}X+Dg$xYAA#+Iy4tEr z%qC%04;O2yvbl2yia6(ze6D7TaUe@H45wo-_l`yNTz(tkw~JRTX>Ot5j}iPJ;4p#J z8&Y7k!h4->QT0Wd7OI<2X&kb;S_x=#DXF0qA>;kwU7*I&5!HZSF8=`j%wq50%C2a2 zCx|VB;6lv&b3i%GsKYHXJ0yFb74aH6T*e^ACRJjkmBu|Y3jp`8E2(fNWN{393)qiw ziG}5GU{VO6bl`Tw*zRc_-b-fb5;T$(RRZUnJUT8=U&$*g=Sr&jiPFY4Yw~+w6xu=y z#Fe*ANeY29v8z3BrGl~-D;ljp z9+n-?&IINGqUW$`m-5syvm=AKPv~%f!WL1w_Y9!g{EvI#CR2kpQY$B>z=Chj$Ng}U zh}Ou3t30IocOI9*W?Wbz5SC{l193M!FznEWlE@;yV!){&{NEigkI~454wOblHy|(c z7*O-NW2x@8rpV_Iy+k*3QFG61J28a78!(~P34=1Y@#l3223Ne{n+viZV<_XQ@Ea|oGN}>fb?Y^_*yWL|er#736r3_ji;Afg z2}T|@YMAo8vK+50NSigD@jy0$83PtB$EAxipZ+%Mj4vC-7raw%KjB(%Tp@Wi9Jpup zoIWGbYC#DSrb#q|_w?~3n?M(3V`4#K2R@Y+0PqPjxPB3|*e6o9*d|kT&e|lGh&3?f zS`RGM9#l0oZI($4LQY2HsE~yWd%LpS4%>%uX!zzi?G$N_wEqCL4vjKvIj2ecB~RF% zk5$p@4-@mO_G&uHxHRxd40BvKnxZQyzeWul);|}&Y!1B_(g5YLOYsn4Wj3(>@3H)a z(ya-ZsMC7KF5Ty}b?TC_ZbLM#NdWd%oktz921A-+>pNWk0CleH`+o|S{iHK^;M6~| z>ZFM&<2CX6+U1#~h58O{Ya91B9WmHjG?UrrwY)KsGY-$XpnAtPeD<(qQ~<>6f+urx zwL6kWUrB58z+aoB;Bd^PPc1P4DQKw;MsrE(AvcFVHW$C^fxPu$Sv|lq3Vdae?nok$PQl9? z*pq94arET-ez=6zOOqDz^Z1Bocm>_cye_(Gpy# zxSev^c}Hn0^b_C?VNI4n_jzJysf=3`_8f2k=JxAuI(&1j!8*{qkBG8vHBC(BuAM}Z z(VgI}%PbsAY2(^bIF6hO)gFb{A@`rEMJd~!I$ zas-VgB^T2;fP`>VEr`1Wx0Ayf}WLTyL+RJizq%jD2k#2oT!tvjb4Z89h zf$jMLy|9(91>BJJO=XpXBCKn5`8*DKcDT3A@CP~+wz5!;aTyV{Ldz;6DO+wfy@0*> z`h0VU?rriHbvD{|Q(%m2@&5q+!>_X( zSYf!ZbviiFw^iN8@Ned_mH1Pd>i83>yL-nj@oyzPCRs^cEVIkzq{puS9p67V^*S`+ zq7IA8p1~xQF$L+NUB#z~M_YP;`S-+v==qaHhhp*n01#ynDGys3sOxcq)7DU`RszKe z=eoWsg*2IaA20Zu-yCF^QJq%SQ8{8YLkD73Fn?2y>DL5Ag^Fr$ zs9G)$QVtb3u|-QT7r7VynBq|T(*FQ9bTyLOo`>@|V}zzU+bHPjf*Tgw#t;E1-K%Hs z!q)_TM;z;>l6G2?*MOmz^yK%)W!NXQpzOlArgsZ==bvmeyv>mtPjaJDj#=LJu_TgZ z771IL=4f|qaejIppBQO$2`Xg_F()xW5>&|UN{|QZh!t@%Y^_B;VRgSoYFbR&E`n&~ zR&Ag#zeE23TxiLgtmPL-gnZIQ+}H!(10#|@YL2LqFfK?%_rS^KxPX5BiO$1v9RfJ zxD)*bAmbY?j{g8eP82~uN<0SfSs9#iVr-IyYN-b*{pZ8zSM33=e zk1xzvs%LM4$1Zvq*qfq;j0JC^y9WON%Ed(jSz*27K-P5ndO1U2?oAzk(;GSZNiN(-*w)6i0 zw2s{^fMHwKDi056%rk6~`d&cVp$Xc_z!bVFU<Itr2>Axsbr-{cR9M<_!_6;fsTVJ*&a!$|V)GvK>xaBuKoh)-cVH4r6*!iZwh)*j@s&^H+ zKI}L*`r6~%9D0Ytc&9%I*1zU&RQP`j%zh-nhGN|2{H})&ALVXGOX&jOTc7&lK-#K^ z(MipBlZqOXSppPBU>FXVH6yaF#4{;C)Uq$)Vr)3$j7(8o8|avnvnr%&w%VWpZi5`r zWbxXk;HnOwUjG2k3ZBrmyz_1ah4IP32Im#=(@P=)Vbl(`800q*DREU&7kRI3X?S;%!gC^_EE!>jE znE5KNrBJ zvAu$qPYT^s_G#gbPD_{1T}L3VhBap>skQ6}Vc+t{HSPu+Jd@o(G!oTHbqzzym{!jy z9&0-@0xfQFG`emTV_Jgh8a<(j1LF8@P@V~x3KF%6Ld$jcKHu+*aC&)QC~Bf@po;^~ zz85v&H=_`T>Z(0nt10)k9FRAf9IUO`a9n}MQH21M$H3hT)@GJQ+H5XKzkj9{!@V{n z#o;dVeA%Q7sLW42u#cz)s>2V1yp#)7E49nD&Hn&QKzqxzR_tg30*Prhn^^Sswg!oq zuDDY8YX+ZC*$!z{Pcn;zsJ7Sok<%J3g0lxy=K6Uoi(^0`d7D$_xm2x5m{PQJF9-gZ z8*9&caLu7wQRf-Xsmv*|jI|x7l!XC$j0&sFT^X$=!*ynK$ATGkEi_W+C9A4f0>Iy3 zKi?J3c_&pqo(v0}RF-ex-khkXWsfd`C$|Mb7;9QKC(RVm5UNjzUK`J)>e^6-N+NhW zd0&Hr)2QLqDz6nnI>7{G;3LNCU_%BUP(}$+y254@!@)eqs*0sCj(j)n#c3Eq`z~j6uL*%NQDT z{I6B0X@(5Ch=gmQv+q=zi+A>kTt#<@ZOkXYG+@*)3eKho)@y zohOX7nW2(l45$A9@l7YNmVI?Iu( zVk$4@m=)=#PB0OLuecT>9h>%_y~mOJst1@$6!iH{Wm4?u zk^S0m5B`(3$0ypv1|JvtU=19W$-0mb{VZT<>Ka+3FD)HI)4hodB4W_)1p5h>>9^++ zDW16~)h_PzJ**sBpITDxO3Ih}wS0CqhO{TDLOXeiyTg0$0@lTr6~KRN?WcF}yAIsL zqdFpN%QIZVPF03=^C>E6>!WLv=$2WB=VlR`f1KcrrGvu`&XQ zgRc0WBp!;40x0M;&iExH+qmaT=>R@+M%9Y7=J{{VE2aqKa~?3&@HWz^11 znai8~ru-eCr)$$>^%U~T7x2dNT(GyeK?uLQ{M!aLb5uI)%fss*^7rd2u(=LxBuc6z z+a~aY18Z~J`TqdZ7NN_{iv-;re&1mliFP#nsud*I8;jeq%Q!uo@#Y^P+ zsgcC7KG;)`PZk#Aj>P-?^MMz6sg9y1Ii@CGshrZqE5`g2(QZ^Q;FUJ(#~fjW(V}pr z)`WjWod;NEN!QL`Hb_m6JPWYxbI^4siVHNV;J@GtDz>;@c)ov|r zYz_GU{Z0dzqPe0}v8;}ze95FKG98=}Za$sO#sc>Vx{U6rfS@xPsR&Ri0!q>nfRDs% zdXx3&Fvgir5y?W<))Wf}Qh{&ySE=Wpfyckkd*SXf)n8ZxE?DSlgph&m4(7f2_P6@= z!&>Mnrx4i-O1`J|Ua876wpB4zQLgn>{6-)_A6s9JyyBOSw6e1+w|`M|ZWKCPGpIXb z{C)n3!xbrl!V-?kPSB#;)bnr;&>yEb-TXU>8R|}k9p~&XKI7PFr%di8zES+IZD4mN zPL}Qu&Nj4af;Cw>^oS{G;!N-^R^^#XmQcUuIG;&V;)RknI-kSHxEyndLBuF!i0>}0 zS?SUDdVt#B2Lx$OEK?EHfw+R$M>-S0UZl+Yv}ZDHRTn(;!e`lbOG;SgxzMVfNlOAf zhqgGq2O%X3)mQEXSFb;o8XQp?!J$x6*IR}ldsy|t4N(jznX6li5`LI-r8G{9Ei~-% zS;#iHx3(CI1`(!N4*3urw>_|gz?3Hdu6Kr+6j^Rj1xrM&G@v_i*Zd>;;w=W|adGZb zDKZ2nwFN@NIYWN3Qii=LVKx_sK1Z;S{#c$T*{UWKf+Kq#IOht{b;J{*6RVLIcdv_H z*mhAexvnTazOW*(1x`6N&H({td7j2R`iJwv%35@D2thUZu{Qz3e0IQ}Tn!bS3?yiU zXQ~WIuqW$?ZhYLS!kj3Iij+K)#t=CWGj$a6g2abp80^c4h28p?0*2klBdP6;Xmr@D zu0+1oxolPWY@v{S?iDW+b+{ar`eF_$n2wNYmhy}~%~=&CZFXgxOazn1XyYH@zg$*V zFxgfZ8gltNE3_%22%$i=heO677ptL8$||ixyLBewX_%adsmvA2W3zeN)Tr4XNm=vbC?vsv?$Ad<6O8lj66B)gWlr{{Z~}kMQLZ9oDg*w5n>mWJiHnof1a%t6blMVtu*k@q<&R z4u!XVFRPepp|r-cmV-Cf(xfJNso|!LQ9t#Hhi5+L(qsPs@xZY|HBi=xEfd}sHL}Jv z#si7)&@IR_So2qwdRmDZ1~y(v1K|4+iwq@TM1;&;65Eil>Iw+zbc8UgBW}(S&gI}Y zl!E8t*B0-J{Bwb-4`KC8!jhp0i-+5VZ*y1-Qi%vM=MoNr&gBL*nP{OE*txN+Y2&tkw1 zS2#Qv1@y@O07rj6MOXEXT}4Zq=h=2yzN;yd&3aATfg9bCTEy}$RM`Ij3AP&G1FTku z30S(2F0tJV(bP+sL@J});<6Dfo2}38dHtbxwpP8DN!YZF0DkNOu45npvY6XPD@b)I-Z4D>uDs)jFfY) zNy0KZk~=pKaoC@x2+Em&JI%rcYJyth&gfr8%@WqTGO>)P>)yiG1L{xfi8Uoy;zw4+ zH?s7l%(X^Wl+P@YQ#6~NNX5t>pS`~@tv5(0sNbmn(7wWd?|`5gZ41oR7zjBRuIUf-@GomBUjYRmR|XU;X&Z{jUQ z!K}|9rJ_A863-cCA0C*O{{V@^fnuX^_-z3|Yz+6u@>g7`sun3(S+)@DK|T34x6}Gt z6DAj#Qg!sQoqW@5F@g(7E}??*eb2wP6ujuH=(bF)thX>}#7VuvtNM2Jy}kbcF8=^H z0jYI8pz4@ePGrg>fXC>u?rm~!V{4z(o}WxG)Ra(0p)m5C+BAqns}zjtQ9`}K_28)L zK6&F04mt!UHcaS<6FH}76(LgucVO1J9Y-oYFK#{WYz)=pj3_!(^i}N~Q0(5&sj%}& zEz}#_9-M*+Ha0jDji4eh65~3ll&@g4(?uWxHKQzUaE>=C_*FJJ;Mn?LFf zBJrkX!v}wj{Ey)Wg*Z05nf_Mu374mHT6y&C37p60z>13O3o5d+M{;;ONKxO5;J*sh zs9YOO&|}UIE!9`V)aig-R7jsG9QOBREjD8eNh3<)mJ+**Gw)RIZQL7s9&hiBZmfr1_P35&r=6Xe}PoaQ^`2zs@xHJbNk*s>x$; zuVbab0V}fF`-Qr3iz!eR^ckGgj9wNhZE_EB^Y4xlx*Hn+wUIBvKJ(P%x(U!XqN zX@3FKF)Pj_{)~flg_qPWJwH$P#v7cc2CqT01wdh!v`hBmO}N}&nC=IP<@6Soin4|30CJQ;En?J=e7vahTsIk4zJC&qn+Z` zIPAf7EID?mf0*VCGs(4xPp%_Xt*}=#C}k2*yz;Rmf^iU)HL4a_h`GK006w@vQ2?6- z6D>hEAdlAw3VT`($}(!-E%uw=t~j^_-557r{j88MVPI|uze8+nR#EH-HoWin8{5-}^EER)rN;9`-(H8|WWJR5^uI~9JCx*6e(<7mq_ zAP%^%D&}@j)pY@jSdg~92*8H&tJjP<Nqb7SivNFQ5u?Til*9Udjbb3aw=JPx?4 zhNV1*(Fto^VVEa`UK>-(KbnCQNZ>fvLAxK;lylJzIkl`195M5z>! z*3!GkAw6Eq%Q6pe!;$n;^;ZcdclHrv0~;XE7O0p(mgY35ua?asymIdRA;#cH9_`2H zY*_Hhny~7paQA@X7XF3QlI8C~MOP$`Ln&pE86P;PpF6yWfuBN|^V(0X}xtd#Rod87gA zl*k>={{WF}6uYY`n~GM>UhS^BIMXSfo<%9LOAyED{{UP~&1Hb4Pf%9HRY;6^(}B9z z0lJgaUf=Jg0ae9XVSzRaTQAL|^9lglfwu5%Zua@V#|IIKD%`N;2>P2gXN?346l|&M zw;P)M{m0Ye413e*Qv>Ejxo&4XH9|LZcvWo1_>GV=5~~QmsiTO zz^yb%Jb;p->_P3vOY?3o&p2Qx2AqR!5uH6*c=o{U7Z$MM#`YYMz~tWxnKg{d^C?bKBpH6gVi(f^xYJRZ7T=9TLo{7m~zv?|c5g7$J7bEkX^}S_Uf| z!pcR(tUF)%;T3gDsrRQfITmY8V)3-`0ta<0s((dm{#YxS(o-xu{q6TqDZeFf;G;53 z;Q}eO`Nm^{nxK`-@+OQZ7H=&OKj-ab{vb&8&Z=J_^MhVUO`# zb8K-)S_)}s4;5=Pbz^WU^7$+!g^vUd;PxX7ErJ{@Q(AJKsi+<=E|tpi+5Z4y*0oJ*DOGSRQ2zjxdAa`pG2mc~rWe5>h>Z zw!_Li28nksDa zou`#WgoJMBE^qOurQ(KKKvxK6WzqE!|QjGMFPq;1Y?Q8pV!hW3Sl;c5Fms@y; znChz8C#aON8`uttFm^Bj0YR-$xXD1{GP;GZZryO;qdCE8)JYXv($dW4KQ?&bQXBA= zU;}f00U-WgmN7pOHY@kS^xuU^ehh!{pU>SEeW~&ck5N-(v1wY^O%7W#!%AQvEkse% zq#H^8FGxa3=e_Zt<8&D6m1(p5T0DUZTkysq^ySYQ{miN!z9Qy1H4JiQbn`nH)=1q{ z*}+?> zA?HFqqdwRzoA6!#cZ$(+8=@(Jka=5<-a)HOUTm28V z15outIaz7i1L%{qCN8q1in>}|TabuCW+8;p19f>v20h(~AQdP0SbJlr37TbAQgLX? zc0e^jBVjmY2`=aKh8|p;18_hf^fo^}_}~aIRN!P;YE@E2s3>dnw2^sPf&(Nmp6oqb zb>jZVu)(RjBZJ3^MpZ32wn)^Gvgs5`9-d?crj3P+Pq>1o=teF|wjE_O^=Iy{JQIbK zT)G3uw&By~j5(laq*8`bbNm&x({%0oUn`jqyTtx;T=gTT^B6Pi(6YGG3?rJl zbkzwZ6+EiHyWUUG9!K>UmrQ~dRjeW1t363s(UBU*ZwAMw*SFW+*aOIwVL-*yOjR;R zBdf^8Ltexi4muv3_x}L4BR$ZrDG2}sOP0+f6(M3fL0!$m5ZrNLftQU`(AjD}ps98- z&ops;)NZ@KJlu3pEpEJzjyvFPsk$Iw`C3uVT~Q~dSEoi+V5@XHN%-tXP7ggW;ULLF zb4GxpiYeu35#xCt7Ce@6!B^VHrG>@EOmm(kMzI$~FtCnD!nk6299*rB^yGBouY5Jt zG=wq<22|Oo^5RcD{Xv5Zk;h+-56?VdL!c-nv!cNzNS&1Kji3VCK-_LeTOX;n`r%|7 zlmfy#){C&7Q$OB4DmVjyYj!@|eD%0EI|{6>2(So;DyQ_39__a1I2{lB{V?@kSUYH=+=gC^w*3ve8;o1iXrokAXUggD zJNc?=>^13@o4KHPjl8r(6e`e3JcRBM#LO-4x7+mnaj&ab)u&Co+&-GDV`z#`sChK~ zbVE|gP@B1H+V}l&u54|h$vLE%QIpRYB>wl41RFSMut-Z!rw#Nb! zlpOWyHv0a&^}@+qRCT;iboPpz~Q%F>`&)-F^7S0+6p0R$X{&{c!BdhiO9< zxtc@@+?Mv^j4Y;?LSN>Y!6lVQ7U|y{p2{WnC@QZoGRR3SZ)@KHby1*Jba0>qKT}b( z@W$U53!Y8Xwo|f-sh&m-H!sb);5{HjYhe*+{Q<3fK&lkFVw&fs@@3+u_d^y6aM7h6o2IHD`g;n)7oYcBQ zFq1FT*(Pa{)v311h|1sSdK@!3Ds?K&f67pt(}q$7i0N!`c|{R4{xqDmGO>_OA6Xf1__mOG}qk=9Q`nNqzyOlHiaTG*9JsCdj2C)&jcnx%&6YaX9mNX&<)V#3vG{IU4M zrZq!z?`4&0K(Q^)QSpv0~+IpI}U83r;wrW`GXyKALe84w6MVZunHnqPmrXt{8GP<84eMwhN4rNBvZt?W8 z5t{f`F&(%ctnv* zWx495T#@v|E+tNB5H%lbrn=+mfaI2^O=eQlu`g8&jREaxV`5YR^J{$w_r-S*Yid&! z2Y;Tb%MQ%IgP}+-6Eaw7Dk$|$3`M9Z+{Z8n{{TWp^CNGnhGah}^~EcmX6r+MtC^;o zwJS%%{Kkfo2hf@MRHm$rL@vW;-Re{jq@VDfLHIZAi8zWx9KkL!n~(Qdx1#>d^4T)# zn!L8EIbo@X)acx{%h`qcGbt$xxe(^ZC3^;3hSm4xy zshp0{7LFt^mW>j&saq_jmT&{^QyrCq755Hp!2k}v{{R@BO@OO5xIBT$X2|80)n%hp ziuYy!+>w67_WEJ&7fFa97;<~*$(e*|rFk47{=6R84(hU_cT+wNQ_r5~TE|>UyQ$}? zG<1ZX8W^~^2c^g-j6H_vTutG$+ej;8mQWfurx#H(Bv&W+OCfMSAV>4TEAm+?^#iA} zRf^DAqUM0*1i(m*I!}C00j+n9}gLb2uYM7yxB$b!QCuO;|(mGiG0Kd}=E{%6w z86rY1p{}E6WJ#D60^qkI_u$xC-}}CK!$YP*YnntD)e}(ENY3&^q*Cs=UOSs#uN{Ax z=MHPRsJMpgbyH@gU0x#TGTzL0HyyY?-}#Q~n((4_tVUB0n4Vfj`?p%ai*{f+=i{Ht z1tJu8U1fq%B!EUP4ZjJvAouBi<<2BhCv{nfrvV-1(SmNOp0ZZpa6kjN?R(-&6-7a0 z$fu4|O$2d743bt=Z*TfEe*@hTrVs6O zd+_yCm~7?58y5Tb-kWkYOfjS$bu^p6UGgao!{)-rw>Z)8Of!p{7Y!4B+j>gOahkM? zUSlb7i)do|>D-5^;fARBZxZfM0V~?r+f!gR3lUMfrN(xTm(-Y>aZ)a%cf(3yCq)q* zaZpbH;au2U(Iu20FtM@m#JQ&h#8 z#BRShcngVIUwhg~-|G19Y#{|NdcgUMDBK#&)9HlBnrx$LbN59)qQ6WoK$Wsih&s19 z+{e~S0&&@Z)kf|p|RPr0{1e@YLO1zbYDsVJVa?U{_!}P#Qgu;=PMawfY9mdA^ zW1cib04DE(J``5?x2tLLy|PD=Ldw-r0r-XZLGpW?7KRU8}jMOvodL_>2gb-%xGa1(^1R?!Gpj60fhHGXG2Zt$YJ z!kuSblsZcJG>l}Tl-|u9`d{31#%GA|$5MY+MQ6jY-6+cMn0-<`x|VrWl5P^I{Z4EMpT;CIyRb0dF7;z;9Z#;pVJyF4-qaPKh0)1 zj|%`7H$~4+v=)Vmvni;|RWZWboOs@J@IPyWpH@kRg%QgT-?kY$0;0J6Ix_l zS5#~pY@-&bw;LWmmIzz|V^~VsTC&SxN&f&`Et9%9H(ONE9LZ;++8DZk2VVSJ8IOsh zqG|2>E$_iqa@D9i2e0yiHH4afHqjZbjMNS(#I+O8O5|AYP>;bqz(d9|62niUcRx}5 zFGHrvjl>G{^#M|yLzd^+1JX&CR|=rup9Yos_t z6jhh_ges-Usk3BNo{5?V-Yi--8&6+rAsv&vT~9cw!&AAW z{WeoDj_An(=j@ihv}v^s7Il=#V+?@Nyu1|?mL(gn7j5F-=05nQ#Ihf4inyc;2zQDO z&NRhptP*WRks()*adZK;t^51`0I`eebmkm6DGkK5>AE4MtAkKI6)i~*pFo>7yK`Gk z6ovzyT~uG(sP|rLu@rhYTSX9p(s>lPsG*(;yw6J3vKBhYh_C@`}gF zzNkYtuBe@ss-6n3RAuB?R_ATb=3nzE;Gy`pv6W4r*~s*278p7y9Wy;0Ni93aGbt;& zn0annuRp`=c)7<^Y!y1I%ym;kFrKc1PiAvvHGbc72D5Rq@fdfMZq`L+jXx{E{t z@E@YHz8+~L$#k|?r)i-v7%0li$39@?kJPot=Yvyi)ejNHW~g5_n^}2O z3FvMPg&*)Hp>9C3I^oe@6SI!%k#vlX7H)8B{(v6A9Pg;sQp-V zza1~}#w9eWs)KZ(*U*YRZ>IC`w-CVb%m+J^xE4PLdHn_}xXU`CulUETD{dT1>AH;S zkvT_@D;q9Yf~_pmK)X*(jbU-_11RlqJ}^31%+wmuvK>q=TF!ql>ZY?g_50VC8@9y) z$7Qz<)bYjm_s6IFJ46aOx&5rXyN_1QTQ4uVj*_$%dsrLajA`kJS<1HvPgkI*%f9je z5=MWPI;(dGZ8y48n%$%ZCg0Nl-cjDk7Die}QZ7@N#WajfJ9=Dv9CK`CG)S_rBE1Yr zEHW&SFa=nD5X90!5|yWAk#lg1ecgxG0!A7yCq0hk+Eh{Rdki=}G)g8C3tno!+m(Vi zW!*;z+aEkJ?%$pRR;JUU97)WRwY8+15(S5B2oO`iJE5A2j!N)*9B@G`Gcuwls45QI zj=izco*Q)sSD7+hcomLe3bN~_*Y?G_`v%A6%EhOkEzVug=&0AUaeF=^v&pxTPTKE%Qj6E@aceNHg-Fzj)X7P5{m zTXp-(%hDQbx}KU4vBr^w0CX0{BNvo>bfu^8LZdUVFFom|vco$)$ZTteecZ3gO@idZh=ZaMui zZAsQtRRp1_qp@N+@AHF5)FCjzg{qRO61;}~_#5B4m>P*R+BEeQl0_hmk}faJ$!~Ah zp4?)C;un8o#C_JQ;Y0rbQbF7wP=j?=n4->T8j~`PCxp9Mi|u&Wf;UEcFb&juo8P7| z?>4gaDpdk-898*Rkt>)NpVzr&GechpBM1^!9&SL0J)Y zH7K`ak$T(M{{X+|h|C5cDY%w`BSmF$jQb(f^es?ItwR-!*<7Pq#^BqV@!x@lKTg#R zjB_276}erN)I~!qGSpPe7_OL%TKf{i89&Uu{l5+@1%!^7?rdi?* zbrU4)Y?Ycqxf>^YjTy$rG(Ct!m;^; zf=jA`Y zd`%R~qyZsM4{t#S_)-hO9c@sV&oc^j zq}17UK!R=Nma-j#%G?I!1YeaPn;r=GwkH}!GM@ze!{sTPr8TBosOs|S8IqMNWUZ%; zNcwq58+F&+ZogZedg3GL@=kN$63rm4glQ_d>GJye&s)7jdsly`fFuNveeN*&QqV|Q zTvR#Yc2gNJq|P%uuO-cMSIcSZs?gO|1T0{u4dzKO7B?UQ1?)F60!8o~RY2C}C^aMk z<_UqPZh(0Gl(i0}pFaCqWV(wg%VX1?8Q1A-%O=x#V)TNEBw5v)rQ~;jvmT_I@p}W( zHe-&27#)ZGC)D90p9^!{dV%1$_UYxz$y$dci)}2-Hr+w|KR4~~`5SxTwOkby5x$6T zGgdCb7GWyh#2znmZ_4-g?TF=EVO&AF`9)VGYVkRCwY@grk;SZfbhab7fK`K9Wv8RKZaDh;o(2%Wx)nzf;5J0`)6FBZNaDp!?gJM1Bj@SI zTp@IXCx(FyTkwf$2-&y|yz_e##|Pr)kS=ff5vP&`LIRPeibs*MnjUF{+yraSC!8vrQ!$Z3w<#VmSJf^MbTR%BZL$ znM};HFfa{|D3O%`+{9gp9~K?QYhrU4VOP`{goG2WCN-6Czz?sWZSt6(sOQTN^OirDRYWpN2;tmNNKvL&ChQz;NQ%xcA_) zO;<->Tv3g>d8WDOn{Va zAs~XJoI{l=7Pzfw4Z{*K#ldr_&CwkWz09(hgfUI#Q-g6E^1t-K8uAikI<2PhPP$T5 z(Nn2C2zJL8rG=?kt8*;gAq3l+Xl_`cqsPI|07G@`>Ck-Q#CT*6K>_y1B+qMSj7EWQ=Mb9ZWJBZ`18i=#x zB@TC%E0bd|?StW?IF%C`PefsKhwSO%MLvtpqo>SdF;LFnmtpuC{l~U7uvqNDXUwkN z_;0InO#Y6VY6|LiETMvj99(ui#t(>+*$UeORk|nUUp#1=ywn4^xIJ-0S%j5-$QMbE z8$3(P@*I|03Tmj*zC|jE4xc1tRz`{+xZM4R-Dm0b-JfA$_dYA0b(J7a;1F%@F_kU~ z`i&!(Rr{mJ^Xfd)EuqY4>K3MorX`vwLE+VaBG|?8JQL|vbvFng!Cr&HxPxCzJ+}o& z%_wAJeZBb@uU6)(NYx8w)wI;`$u#mrktihG;$|M3oIn9o+sp~eSGdi_eEf<@~U!-TE%;JI?_yLAQCdG}#m@x+T4S$R}lS^z$uCCzf znVN<4PFoFrfy^t}NSdoRt8|ogk7;vodV<#+^y&1*X1k%lcb}@Zs^Z#!Mt~!q5A<$h zOO?wzLY3K3-6KNc+nk#Q2a7N^wXON$?*&6MFQR@fyImU|X=z`U<<)*CWOb;U>u9Rf z%?|@=Mx}!R{6Le)9Q5pQFap7mOs7!fBVw&4x1-Co&Yq&qXyJ(}YGQ1wFaVAx8=ff- zu{UJ--N#H#b9zPxZasxZNSaSH-=OOb?Z@46<2=r5GJMZ4(mKU{_Z>8*5jz4IKUX|RriRQ7>1DmE(Zsb)bW3jieo|a zot=tXsgMR?WSP|3EA~AFe6VIBN)rSwCtykvvK3pAeZGeS=nnv5*9(gk3=stgYLzh; zqD6G$fk6MW~^o zh9;xT4LdKJoj`UoMhO;yS>s!>-0kAT^M_X9*mtx0fb~tF>Ny|c=`eMxzN-Z=Al~~K zH|?>}S6y+RW!Zn)AHb}$ETW~$X;zyvf(m$n3mi#HC6o)_*k9)r_3D!Lor2io@S&VG zvjLx${wmq4B!W5PvyUr>-MDQ(9q(cM?cW2b8inT+$rdPfvO?-2+yMgMgK^jC&Le>lBJhp6#$h45pMT4A0FQS09*pGRT z=ZNfa3H2Ct_7P<)%+2RX=_Gy@@7lwU>)#4qoG#epiSqim+GN^7y0-65+ps+a{l2&p zgjlBKF)5iugc#*Tib)iO-VZx%a2Sj6>i75e$12K|HEC1PA!$}5;fTK?{MhyFe`|I5 z!P%k%ofp|p(#JF3gp{)Z~x`}d4WK(`7n*N>(QZwjuPNs=^744*X*6+0}aX*VGIbo~Cf zvT3j(MSOxnh1HshEUPuiBxw>^{&)l3b=1aTWSxB5F3obh!j_`7 zA%7kDxr;{OxlfBSdI9a z0&LMpdyU|O?R6ue#>?m#}=R|RV;1&>XSLvYbI-0^)jy5z}ky{!Z9wb zNwCpZv_`58pOa?e6kL^C0O;SI0h@GDPD;Yg zOA*N@`Qf?kD~gStSitB(=q!6-U&#tv6?4ZWjWMPQ%^ck=PI^%oq+Ry%!j@Gy5m{H@vW#bxb>E28-{f=eHEJ0 zUMg!1A0%fg&MRqpMEa=we{AwHPm$3gV9pUxgJGgWOeV)Y(T{E;tW#}+NDw9RcZ-#ijd}-s(P1^ z_em_QNi0uW{NpcQ90}_gD(;60i@6BRSuBzlEy?Gl@m~C4n=5AFz!1Cn_D%a@_>-ni zPoVQ?X?0ecNP<9>GP214>FIkOJ~6a@4wn$MVGjf58u;^Gd4c0qu%Gts(tcB?c;vdY zJY|-AxK<2+##uvc`{6yW*Jd+yz8Px|&GcHfd{*+z**>bAc*XXB)mg1oR-U4#k0_%a zmSmK(Fg$gzwmS{O*_stbJB!q*Goq|Byp;joS7vKam#9d#eE2!&oeBM~zC*K-O1gJmDW6smii`xXQ za+zh6dbAr*7Qc1bUkz*j0OHRNG~T&1@#S?Hg%ural+hB%j?Buy6VBVIweCQ$B--Y} zo3qgs4`TEB!zFW1VLp<0g=w^=Ikju5z zhddD0I3bp{M(QRV+205Dn<_8%qRS}d)G}%ap-Ot`B7x=FIFvanX8IM}5BZ4pvedJ! zzuWSsaK|2tCnZNBi6+*WT99M3h|RFua4xDx<{09e7Ij({z9^pME2U}Dmm$>IeOpUk zm(%8NLLz4%6l#iifd`$tM6N}<+YZFA9JPg=602Q^aIMjHet!t>?DO`2)4nWt`B|W~ z9%)?$mdmoLtp2ttbqOwG6+Y5wmP`KUe((%{5}+FkkVS*fQ!& ze=GEbqhO%$??A3krn0QFE`ps>g;ofBxRwP_5hIL#1yNuH&lmT_g*j_T9m^0{D_58I zrRRuwte41>bUaI8vbfEh#pKu2!WfkVfr@-V zxKl81mI9%kL+UmiFc~UHaaye-0&T#(u!+UHsCt=Pw8j!3j;mB#LU zvCD#isHvG)?2(qos676-XGlhf&0veIkNDeHQ7XYpsPlMX1BDY32kVJ+__iT}1Cu}E z=s3x3(AICMbL`ZsW?8j$X&etSLT$zwUy9eLGP%gqFces2tq4YG;F||84+Cz)Gr005mi-fXcrI@D~M;|8MmF2pt^* z{XfFQz(B{q!o(RRjS1FVcV7{!J^A0?__j5llREOe{1U ztbg49ti-@%BIC!B)xmzwY>DF*lJrl()CIW!E{ohI#cN%wOZOKq<@G`fr-9bVb@jb} zmjQ$r|0_lccmt@GD5qJ!i;7I>q)lN@GX%fNQ zfhkb9@WcbTT?yoy>IS|wHBXkK)SY$GY=&u!cgjZJtq3avJaUg-#B`& z%k&cRD7TFVcHOl|b}3ziBjU@_1PwP0n6UXnkjK(;iw!P%35`5cN@aqT;8=Ggon|X4 zCXbV#uC`<|wV~aR2^pyh)EiTBUwyMUb9zJ-e!Lt=mgTib@;bUe=8DX1>~(%xgXuOw z7J2xHS5stPag3k#NcpAbka@==p4gLdZ&!<}JweH4Q}C}CA1)0IU`OH=Wz^u?x0>Ii z?+1%Cs;O3;A*`k7PTu5jbUj)Z1?8<>`mW#K8>>((T+F9ul(>VD3nC3`+sPyYB}kPh zmNIBx)0^Ld)_(!fbLOmCWMb@#k|XWB1ZN|5#YOth$XhVPo_xjQ=PygXP!xE$oMhHi|hmgf>ppxa1|%yI0K}Edl&?x}P%6tQS96b2YaN9fo2smahHwAj=Bl&g}lf zzM!+BO4jJ?0FX;)Pd?QOzT#P23Wv4}qMR|wCVZZo}`FK2$fs|eLlR*)~$ z;4qC12@ZN#FnD*$Gi*9Ar|RxdRF~SQU(G#Gw?@$Y_)5d_>u4LS;wp>wk?(R!mrlZ;P4*b`yZ(TB5ZA zO6ydtj1a$eFy6d$7R}fPjUqRlkgLfJF_^Is&)#he8KiGHoCnh>p-Lor7bXQxTFG0_ zD}EJQxt!{sJR&u)!=bW+d4D?&duEa-%$a%`wF4KX8x>1ZbvL=UZ#a%GJ8z=x^{X^E z%$1c~>FR`WxoAO+=Ht|s9iCtl8LIb3^2WLZDm$NfQm z$GYDiP_TRUIZ2g2bEB?d^WW7nzgL!^G@2_T!2_|cRy)!rV=(RFh{v|t&by_4s%mS9 z)e_Tr6e9kZ0nOR0V-;b_{|-2>;0}U(&qL0~><>kRXY5H9ArKyqje$x0Ae+Nenqdll ze<#hLyej^~>LtT&#>4=USg?; zaux6sUNtGfto6w)3vEf)&pa=6n~V$)T}2+jnmX3LXHna}bF_Bi2;E{rxO*HczE4W$ zvPh<`)APK{d7&Q*S!<0AIUJVlKUwC6#%5knv3IpTq)%iWyq|tX@*MVaARWuBGrsI+ zC`HqZF&`>Fvlya z(hNm(%S=tY6Co+(jonIqIUP?b7!zN41SQ-Tmy$ z92asY`F2nS>XT6$QP(P3+R`l;j}MNZ8%i^SXI?f%5=MYx3o2SZ-qoJp#EDNq>W&mB z-nQ%xkgT!&i_&$a;657q&8*5e$Zsmc2#!CSP+2>kDQ$vV<@n@$|NW=S&m`a z9SDd!n7FEaE$Ctt9C6`rWGN`mfW%wm3~2e&dX6`NbljXGh6vKausH6zwn}YD2gMuZ zQWBLY_ZO(U+nYUiVgAym#q!>o;g)tKWME(E=OcJ$LU47T4W2@O0bSkdvHFfVIf1Ea zS?NBiiO1XW5nJmO2~HtvB(w_^rc@i1l87G2yu_^;F#KlHp>qb$GTa1;HeG2Fk&cR; zoX#jslZ*wZFq|J(d$;j;V$B2=i@(hakpa zs5u#RUHzLhRm^>(6}cTjdt*uQ)Hblr6gTV)!*XGg!StB-^XRyj$vL8ggY)pfermD5 zyr53y=WqYUN!L4JeW6=JvaHkL7Pe4T&S{bNOYwXkAD(%}dE#=VRY6jrHrGcLl80r* zA%5Lv=7%;uQ3r^CKw-s~Tb~;c@8&FA&3vtPZgy!uvk#lVE zU+Y>)*!%_Dmd#7exXOLXPS3SXN2^U)^qez}@MxwK(|~)PQ4%)aAE9p$f{5J-Q|zd? zajBbChwPJ5eKj}D^Y{z_t)f4rf@X{x+!6L9>1oE_+9vQuF=h}=)q-F%y}C@=S8H!z z4lefO0PF^P?$L7hN(ReI0o;N}rLtYA*C|zC7~fY%-JR#hFDW_nh0tqix)A4ZGgjti z5lT**xNQpFzLuWZR~1u+CCUPYO~1Fax!$Dn_e@mRojJl=?VSoVFV`r98p+zhD~K(+ z0HW5TbKpK~YO;`;FSGoier#8bVF9XnG@~r254s9`VXHH{je5M9RgAH?3W1o~xLE!e zy~1fK41ZL_G_HnbqIe?k`OmcOvFAc|3XxmU4#!HAoKoUPxy~B}r2twt=uAC5*=v>+aYratlV};9~CkNtiyRHBj zhjnXtcf5UDC$v+>YY*fWwxEiOylhea!@4ig2B$33$GJZexl&W8c#fJcN## z&o!Kiu>ZuVA&j!>-qg~9&KaCFB7;ppJgcWukjnb;oD1d4A;8h9AII;!u)~zY>asq9 zANHi8>bI~aE#Y@Qvk);Uh=p?A2C?R^!7uXxb7GWcba5&pRQ82%R-NG^z;8#M`RbMG z$lM*mGBju9$OvmOeVtea`GmK54Llqzgq501?sy96hQ42N1Uw`-F`61~EIlH>@WLt2 z=f$$h4Gbd*XaPd{C6YYt#(03>v6Nb3XG&j>jKy8sMn4|7=*2qUrpS-^+p;Zkx^*8MY!~*4ao(sS|inYpPRGE(1({nR+`|9ccGJXW3@@r($kJu-CigRl^~h`;{&? zi1MoT$n9D>Yo*S=pL;>r7Mxv0`{J{P@@lO4hg2nHuL-T&IYi4C$7qMNeSGW6QKo+e z&T3x{?9FEelnJfyj6SN8>!FGD>toIM4>A@B~Co4v0Q2%U0 zeJxQ?*lsmVyzAAl`%#O=fheA`Lq~q=OpFaqrmvRy;&~;Ae3)czQhd8yNBJ!)xKG_o zjusJZm*{o-4)2Y^StPVkXSg?7-|(0aWUe zy1Gl1H7Zd_O!kx>*f%W4rCI)=H2smg_G42NMj`OmqhX~lHVthLB&SQ0zZ8DAG4}}p zq)dL1{tI}Oe|%m(VdIqNG6?Y-V`Z`e?bv*@rt6s{epfYP0?VmNm0UU5q>?#2eR^uM zD8bk9PAxBP%d%<#dJTy)D3*X_8_wGB9-!Xr`OP%?woUE>|VMwgQ0DgCd3cHQ7JjXR={9l0dxBh^} zMwhGN_h1KyI@irG2GfUQaAxW$tHehwH&qoqvW-wFm{-ym2dIIzOsc8*&(r{Q0Q-*pQo_P`kB_kTRfFQsVt;U1~Rux=W&tO=~;4Bag^G=Nm#*l-TZ|S zo!In9q=Fp3K_eIZt|C%!w6Gd&Feqd0s~G3O4gy{oyHd5|_t7C&zsCfUAz0p7vBiT0 z=4s2^PONy&5|%hkpDQhYkr4EG-7GR{DdJLXG)gV?}d!+21Z8YGv=I<`z(nhZm6arSj!s4oq4;x8VYs?F9Ni2p2ta5 zVc1fbw35V!=`^s8aKhUX(mr8fFy=6;Rthg843a5_{{m2p#{%u*JQY^xWbMWg7R;;! zliL^&d+m{#k2`D&-b;BLv`TN`%6$nM4l^Zl)(e%sOzC$Q z1y6*GI@jFAFP_NIWKEgQE^hC`W8_H`255IQmQw#s6HB9-LU9Te*JOgTQz&lm*PMOy z&*xr4?^KnujARZ*=kQKrrh+XP*WUP9E3T(Ayn}U|* z2;4_^H?wPW{o*|J?@Ad#TCF@i%BZ?>kZ@K~!7n_ltB>2F3}Z)RkFTa7)kxYUja#C1 zMAvG8L!#B^eB5B~-$5GQ{-jA*qoLbEKf{0NU928Duh~HU0y?j$?mERJ`$~)+1d0UUEOsM}9-=Lme z0Q^|6NA{P!X%G$4;|9-gJDYBAx#SXm#b|1OqUbZ-EHB({L68okNkB~L>knjLL=gI_Lw`+c^=dmDd_6_SwqUyZK!yUsx++- z7~=vJ@O6^CdSc2~@Sq&Vfk9K(wTHXa%p$gRS6jUXpd%H*9o9=;NY2)8_Ny~L3KH;T zuN_Xm>JMs-E_K|+$qsSz=PH3@gZYo~_1^W=KQXL=!Muz{H4^5i4yM|Lrv9>URgG3| zIC*=_Fi^&_SSW4y9Vd07ykt^&*};I{A?*cD6zT8X=0>^W4~LE+Qo?WO9uHM1^6=Y? z396b(S7BeuqS;EzBNfv?Q5m*2@rtZQG*hXG0YurlNjng-y9_RohLtT<%1RaV4SK!F z`#|I3dzaj~Hk(v4*6P#uz9liDC0}-)OF9uTo+nHBiW4Smo-dMcr6s}L;)!}z(aTy^ zbWfcl^hL82ZQS*?pg`+|i{y`w5_aWOOWe=lxoWFLqc3AE_AmYd*7fi-Ed@TabeJ)x zr2L51`Vn-FEEhZn`6#)q98<|8r83+ry+#Oy3Y1XfkPyK8Da{ywNi*#7i%e!khPksY zYXVrw*7;F4)J4#*`njMCo$0>-{Mrl>{)MjkV<(8gvqXHmYR?e)7t+7(9Z4T5W8$J! z9Kv_^a58d*!=l}hXe(ccCHffpa$Tkcaztb|+a_o;jm!d#4y(ig*Se%ryxaz@)X=?@ zn%0~7FmUvE??A2L zF=zTkU&mZr*k)V_@bv9`zw)S1KbKh>T>fh(UXEewscph%tioyh@LS75#2!X-t$6j$ zmBnu$Yrtf`^z#Mr@KEEXHuYWK*7k#J1>{Jz*UjDG z%xezp5DnM`?&~k_KGTU-r~AzeNwuZ-8o4h2VX~T`8nEX1-35 z=E{!Ip;2bb)}R?^{q|ZwEJy`y@Sop^ZxOG1lfu>ha&y2oHWWN&!m>K$~lXmWH#FikDep5K&Rq@ zx0-UbPk3&+j{brpbHMM|71cG-c}MbArMPL@)sxSWkEAN$Q6@MngfM;xe#;jA0Zt(V(+3OmJ(L`iBV zgY#@N>NuRXrG$puB11CFyouc?S;?I=%6^tNW?Jih+Pb=&`L{wp=XpBm>_FF1WRRyt z{eCqIvWVbHYb2fQ_qNZ*3NH1aS{qvIV&h_Hn+Cmfbqo0cz7MFulEPq7=qEovk!qZkMnt&B7ZQ{x#Pd5B z(eW6SFwhgL-{P3Qp?BkfFJFLNJtHWZ;J~lY64P=`TBP22Ue<0U=aG-E8LTI=H=E{# zf*Om8$rzGufpT}4YN6)B0kBc?daIggc&FKnED!ad)X|_{hxeMCUU$2NjNud2Pex+B z1+!;QIEpeXgED}z-3KtnC7hvr79HbE?a%v7hJep{{o^U%x5%q z>pthMb!AoKAGPQ#ZFFVyQ$VK#3Umx>pQaFKJMl*S?uvr5E{r?Y*IN|^%|xX9C!ASZ zZxj6DzL_byTqJe>==-=;HN7CT9z`R4twT#=7jXi5f%i&;ApA{x2;tbDAL^yzLn-Id zrtVyyk~XWTvn;!65`SOe3+uXxJM6@Lxw`(77rp#tGk;l4#|hc`fq|+6tm0To9q8;IELaP8%)lSsK4%*7(ABxW^6z+GzbaLJ2aY+z9H3%u;9mKBhvENsQH< zDB1r|bW$nS5booDVZ9M}a2_lTlC(W1l32deqVs3I6p4J0+tmY-dzW#%k9e_6@?3%& zE_nMK&mzg%NA_^+tUwi42A-Nh?Jtx6VW=3nvBgwOEPBuNv6X{FvNF$vZ|GU<-5u57 zk!M7qEg`l*mc)QVA0Lb{(G_Mko|_t%{5h!qeL05c;D^%SEwV_;Oa*VAo(USuaS1zd zg0`}QhI7u;m2@p>BWdYR)i8{xl`3(Ye$278qd~#W=rhfFUffVQn6A}x4OrQ5BH!rF zasJ2F%8^nL72`67%(mG3eN`DXxPUDi*AbQM5Wv4}+l;PWSCIL&eorgpcB0_C%1>R( z4V*0{U&Ccrqq)Ce5ax@_bIlRwYWRxKbr0}Z(9bA?$gjJqB&iI<%lw>ej|DBJLYkL= zDePO)Pxn>YSYDq)C1bWuPeousd7Q-7P%`f<1?lY4l>Z)stkacl-PR*Z#1|R zFbBn-XV+)pN52Dd@eOLonDF+-ek(LlrgewB7IX}D7q@RCLKGVc&fz}Q1Xc3aDo|~bc;N(A_sR{}FQFw(gd;5i-OSo0tWvk3XyFhCo zCFSWUD=iyJ9Y6ABlTNMct|@HtnlzWS&jNEcUXpj=C?L>J@vsNakh*# zF6M3J>bvSODdFDOP&O(8&ztko5e-=})Q8Zy*r*vQcO{wKX>`44HOG96a*bsB98Fs( zYy(Yu$?2ossxz?@<5Ag)Ys@dV$0#kwPypOeBBsumYuAR&NJj4nW|f%>Pt)1!GAWA< znh^UQ^de7k)+H6R-T~ThEi+=?ZZeTC3u}Syj7Sx4<$jM*VlK1szX9Gd{G9eyA?CDp z+79q^fgVv3>-{*qoq0y_$`?&#-N3-QfUS|;FC}q1(HYY* zIsMrP;2k?{1@c`CO@QueX>7dH%A>TE-X>Iad9ROJzsbPy*+2hPxMw{Jrz1YRou#HN zh4rjzwqvQ!Obq~2Or5swWeCCc|dpDm<=djR@=Z`*}|kh3{XK-n`3-O<3~{x7nUqv~K!JBRiV| zFd^(B#`e}{X*kSMlN(l}M(*|;F8Vhv8Eel@8oY7y#w=~S1t0qO%IEmz%9$1i14o{>5cHmlaBUhJ5e^F*+O#^pOJU426%@t8WxG`#HW2$OJOjvNRbi zf9x*jV2UrY{os30HX^I@R`AAsRz~hGVC-=7N(SUbRNtd!)p0sX! zQeZV_2Ff72^(gS~JFla{B9zJSj~)Dv%k9xMq+X`|P{xC+8nr^#gtV<~iJ9R# z%tw~)gCb}USjF-QZ3S?1@N*l12HSdZ@~&Bj_cN?$o-V(cN?nM~Ohd9F@Xxq!DSujA zzoMFy1bxdd5VU-+jK*exJZ#ftv%z)2*(IwVh0^=%Z@xvLw*E6Q>E>nW+WXQ7Ox^w*aW*!mk6ElG=E(8M)TNGxB{xNi@oQd z0(;EDplGY#NNwa4%EPFf#-_zMOsDzsPWwD;Bes)1WxSMJI`Z@W{pUt%Wl|h@-0~r2 ze5DfGV^UZ~x(Esqjc~{oFI{%-{VfV(VK0SYn36|em_!pyQ$KkLR!9+ zeJMzuJ{)8HdcLuObu=IExnG9T7ls)#p?b1Ua*WOOkm0dh14cU&auk}nn4jz0F&h`$YcL-%xUq4#^f9JZUx(bt| z#0I2kW@sjA1lm7sBcb#$>9CyLzY2SnBzxpACM8imFk_|<6KwBU$XPzp+`Ee7f%wh{ z%OT&ybdjf9p}pJ<-I4ulA@9K(wm-(mfsU-acK(=#ScY5&L__ts3WbCH=cNN zJ^8P6)opmZA97$2dUfAjmrC5(ft=Yfq$xyaOZC0|o*^XJ@A+}*i;fP!v z3coT)a#|F|Z)ar#;Ls(wq4a1xH~Qu%buW5{Tn9+I3@HzhafC(fnplWWFF3>u71MT) zXPUy~^uB~U2P~TeatSF5T3}Ir7vI;i#f)`h)%*5Yqr}F6AhtF*9)mt(coxPfU!vJJ z>;eCF*e@}C6x@X2d7PJdjzkjLz88unFfpxV3GQR`yLVXO;H4X8W?#Y1r3`(2eq6ya zZ0mrV>HYkrWECHKjcm!;ezMGOiGrXl;a`>!yBM?E--g~h3pyO63P1K6&`t|W8w>6| zCz#%f{I|=*^c2r%uuy^N$s;x*R?j8svSMey!4CZPAr)T%#l(AUW*4=69Mvz5ts7+f z0EXL5<#ici_<`5>D6f6IGX1fRhNQZXBk^3rvs9%58n$eI*EP5eTsMbZ?xW}ItLEI< zsut-v!!<^3UF}H2Dfrw)%l*%JjnghBhvm1jnmA~u&^>%8X)~j?>pt@IUk;SNPnJwS zMYKLkMn9$Q;GGF2H?E86_SL^&y)+4*`j0~EFph6yc)Mg6@mRlmvw8rrv#fELEtgLS zGdk1|kr!GXhpDxf20**0ebnT?9t!|CgciXoCMC)rW#LGb_ z;omW-JiX<42tEx}^Tb5B;N=er$qF`H0`3gbVH#`Mv9qB`sn0w$LO4;SIJPHdeZ6NK zC?8v#7svKq180heFBN$&O<=N?5eQ`PRhIj|d`jg;ysBi!70EH8L+CUEb$!9s&{{Ji zs+Rk^ZzQg)>!){;hMq}-;&@)(v0VrO_n~nyt23<~Ha-#odB+bY8lbeb;X;PN1eN|I z?EM93q}IuIq)JvSKBT<=V7C9E8bRQRnrpgEh9a(veL$?FeN3NHJt|((4iCp(6MBl} zkn9mfKo}bbhuMBb)GmDbDWQI$H>%n!LNE;azL6R}K$FnU#7^`=)sQe5%njC3hnK2_ z)Abt1PP)}<1}Nd8Z<#?oEP`oMJ-I4|2o4b?kEa5!QqJVVc~4y$w#9Q7OU5*eN$G;(W=S2~7%) zE3^TkrAJm(CtAQA;?4?zc=|#;ygY8ipC*^QMex{H4M3)|!!4o)UNy<8Tn7tz_8{RE zI0M0~ueqDbMpEnmFb3?7>E5N*;~343`f04e!}7sy$>gbfTY7!lfJk_O)T?SO?Wb+^ zA%)xv1AXPI9M$LkIulfc$#QCxtC}7&pe@a#t_*i|vtwYgLo+KB5|S#p7Azg`Iw|C8 zVxQnU9%#i~BiDHhm>dftvXa>w$F4|glv5UnFg)7MD%!Rfjz!BgsN9lU-Pm{;T1-r2 zoXOkB_f`9PT3kVDk!10a{3&a{Msu*hJiE`nXGD0VjJi*omhg5+x^2RDr{Sy&9f+)G z(|;vUvJx*t%r9L;7sT_S76Er^jVO_$A zQ1_lU8^9_6Un-pr_xU0FqknS3l>&Lq?4XULUHVlLMRQ7>+YLwW`yzwu_R(q|VOhq; z7XK>k@}brhW$$8?_lZw$X2J#q2cr~-1rvp#C>WgP z>uDlNR!W2V3JVi{Lw`Tg-h8$imo`u`4{);*!M*{$$ZI z9wha))D>w!%E69%r0y@*{Jq~j@@Cc>c-T9>xNG*3*kM$6#xhv)%agG_VU?qSPs&9j z8HH|TXQOd@!DL%G(M2ri)kWsO2!SG9>pLX0TW7tiT}~`w`v)15$!S9WyOkJ}hNerR zhc!D7YPSRi6HVP)65Y4S;i?+XO<&|YM1IqrhDPeS;kk%jTNOvuRz-RK1&AJ&Jjxv9 z*t7lg@<~ALt?E&>DRg7xNW+B0yEmb1gdpEb*})^OEK|nPN=kP}Ng}Xm2cDH~6Djym3l!9hFqbDbnnp&rmD$;6V|2#|nJ!qkFuitjYvCCr9SL zgJkMc5aAv0mk3=%>ac3n;F{tJnasx=dc;le>rf{xdCYzL`g`ZzQQ)k=6HpARMT5<4 z)>sooF2w6C#T?&6#7Ki=#Q8L2<0&C?Cze==&Kxkaf8$P#H6y>|7p?& z=jGi;KOmy_%HQ;Jd%|CqgM$P}j4fk7G2Y(n;@ms(-b9bIJK<^l1>kw@wuMF}<+ZIH z=rJO)lf}LC6+gVSkoH6NvDi9I#SQ80J9mPXt;xMc!}rsvq>Z-`<65UEW614cFqtBW z`+5G7kT>cE0;SMZtQFCiRZaJE!$ zeeechmTmZtsP<1F8$ z*tW>OKfL(}9gOrg6is(R>I(|$OQf$BmWEGIM<2V?${n!dkEz>yF>nV$ zCI2r2%J0=C{W}rV?l`0AM-In*)6j)~qS$;7YxILle zd8MNC3an8(Nd`sq`k3g;o(>I^G=aYGX#MQfmJydbsnO3UYKLsr@gC2X)2#astq@Ud z>!Eibn#IY4Yi#`Ui z&0K!>b|4ZaMsF^JYpo`8kiV9zkQ?LW^@-HSD6s7`?%RMR#f*dV2%2ds%)NP4aVa)- zf|6_mVJ8ukbo8{Q7%he>{3r zw|3-Y&8d$8|BAyRI^I>5n@@($^f>aY$e9=y4&?qLh0@0dnbj({$j?(hcP&ibm{wHQ zj`+PzphLo)Q|US}W@NU6d(;{|7r*~dk$U>QM~dd%qkZMW-T1fV7ZaZ4q0}^M>(#0z zcV7(l5s9)x=n!_#BydMe2t{kGto#3?{@&Luuk#xR*ME>s@K@uCmPF^ z^0C4(bfP*YV1m-pJy~O){>GKpfRPC%z#Hi?Czbqwn+)qH&-5u<5?Dy7lkrrWN-E{c2 z(H48z`DkgwCrYE{9Dyp@Bo?HG*Ul2T&`t7{9*YO(VBc|ZmBSRZiWc}-c1egsBa_6iq|Txu(;Zz#z}>(T}v$Ib3a zi90G*m1b}zQ%1w5)Uxk50kAlyN~0URo0(zC}OYX5z4x<>xI&V6#oxeVkMQIkVs>pW+qW%a*2` z&iEDQgf00>m@gnmO1w%#gWlou5|-&85l5|-rjkncpIgi9il(Ced@}x!h;bqP{hz$m z%br*RX$xCx8_OK|ZoFrmFQ3gE!B)j{YG`fca*VaeKVI5Jy-Z1^U$a9rRdlVKgZx|s zip@tZ`MZudf43Hoqx}VBz|!?Uhpc)E$C6@kcr!$w{#I4`!H}5{B%%fm8(tMZ{knuN zwkB!p_6(TCM%Ys)J_0LKn*4s8Sq3>$KV6T`PVh`i+m|WsyIjkmAxr@Dhybsc=%&yEd zcyA4ob^Q>NG}}lgpl%bWUGnkj?#b*nZ?uIeMp+N2s$W#!Oqw=G9ZgH5lS8ykeQ>(U zWCvL(ez&)Z`uIWDv^u-=QqiWNvbLACEVWQ_T7+BsdlC0lD<+81&dDF7nV}{-LP@JG z0#l+&|B)SioXMpAuRFIgt2or|v|>S{+yk2{(1m#)ySv6mEC zo2w1M;*U7cnTvb6^=nh$&Ec`>ja!1pxnKD`YCv6t$=lF6%b{h{K|g{ZUiSwvh;(dK zymlC46GOB9OZVcRUn6R$=42HyjrsYl^%oxm8}uJ{J72+2qDr%=6K*?I_|FkQdp;Pz zmOMVJS=%kUbU9m~2WO>B_^M(|bi~ZHKD3MVkJkCCi}A6=f7iihiZdPj-ai9Uj$`}) zT4L(#|1!V~35nlIC)s{6KbBQJe3x%w(DDJZyL6n`4Y>cxU}uudBJhX z;C-rC)ASUp99l3$aED@Cpb}S*`g;4_DUAS)WImyqm35~%g8s`dw^=6l;<%QO@YB9E*5@dXJ zR-l|rObO_DI;$GS#TWTtacjuH%N-$en1lbU==P@u8H>ufds}A)YLl->Hcx-0m z`I(CHa(d0+s8oM2P`7$ylwFQ{vRG#B&8zYnH&cl|N_DLBz_%j1CpwKIUE^O>baCyu zbz0sVV9L|ZDASa08Zaxd$vek*#74{j*BN_4O`u8 zkW9DqgkAo=LOOSV(u;hnPSNvrHNTT~-am`!64D3D>EbG9FP2BBUV#0U#mEIDHN^!s zk`^#Y+$kc3W+DZJeR-7%UKgJgE|4|tc9lJ|A&FO}(u@E082{zZb+zN?Wx-h9PoXO> z+Q_ZSin5ZC-^1{U<>R+awVN*~*7RzkWkk>_O+1TViccY21c!`7nj=M2Pb-wJq8X|^ za*jTV6XaAuGBtm+Pl4GGpR4 zME7z15+GnEa&bn+cghIw$j?rFib@9e4&{)xTtjQUZFoi8dZ0S*+$~X~umQ;$dVf%# zcj!^#v(<+dtX0eY7-u70-}p+a@oO`- zli7%yBg%xzG>|q(WR7^plJPOD5_Iw@@x^1O5lOZ~8CZ*4 z1-+0oN>_zM^a9@~j-GVh_zgUUma)A{-LK71;mnj^?UTXOB4Y;NRPrf#x<1wvu^@YXqSV(UvO z*jp*IpioKz-tF{cadR_cWNeIY>&IqA(R6VIUyjV)lp-f8GM=r=cELov1LIMKMV=lW zA}eOn!H4f9v7=323F1vA3az(R3}hV`D!y=FhEif4y*#O!_UZxW(V+|{sj~4~x^MPG zZ{}G?$9j)`eN=Z)rWr{}UT5K>98^D2vs2YIkL3vQck%nVKitD&;wfzEY$e2#T9RW& zc?0m$Il<1#SNqAX_d(Y;swxZx^qRvVZ9^3UNBCQ{uYJF8oF11r7PD6VkQGR8b0aTN z`4uvEq`6oLD#Yh%W&;&4DT&pWRO{+d=^;W5t#Fw4GaSjjotY^Xg>w-!0$okWSRoWx z$|737tx?CwFK4+rD@k-hucV&hh0rjhU2*&|5@xE)SIDq+mz7FhHO2obTXtpg@tsos z?SXuMvgbuT#T}ZUi z*H-p+hE1K7eA)754IcbCQqjHKc-%9tuWR~8pwA`ckr_jkgm5V%zt~hjT`Y{Y+y64x zLui#~cCtn|b_nioBH?G)^o^KT0^#BEIRN2oQbu3h)@9$y97?V`wqMq}!H_Rsoi|>< zV^rM)45pCs`LR8}5zyZ1Q_;4+nlvSA$SuKTr7bwCX5dy?szdk^6nr_#qdqm_;J~O1 ziOdqUOv(R&gqE2)`m4jF0Bh2ZUOSB$Q>t}S>{|w6%}=D*+e$$%w%;@~q%|sW2(WD$W77^(OIHzL&a`0s%&&>DS@xl0>_(jvV zj@Z1ETl1pD@gafwH+rs;uS4d=;7cOtq71datgRZIJJTCZ9{dKisIfxxNC<8)ct5r? z7+9%F-FBlsN!_oe%+`RbsWjS*89DXa{icjB8z3=L@o{6pn*mBvjrE!tKyJUrDElk5 z(ZKbux;2?})mS+3iy5^-RXkhUmP0#c5zg+P=L>C-pj%f5vF;G{b{H4!*r? zv1{-q>Q()O{o0%NtBj5EdMx#P<_4fYopOBgll1S7f^+!kl=w9|Z(m)lMu;Kgx@cFb zo&R|LGWrYXJ6?JDk!>Bh_%WG6i2PcX>^H?!r1lW7w?5HVQPr68hmG~Zz0oZ4=}Bk*D;)V?SNTr#e1JGX@SiybNDHX}NlGQ0#5*b>(A z8Y^F!e{gPhn_T5ZU0X@u@-{V<8&nnparSL<;Jgq*T4W*@#)vAH=9hO>ywqk3$sIqe z`)8O`ethkCwbC9FIjrZ`;?!jzBq($vX0~-CdQf5baF_j z)I8A9j{hhZoFjWuYtG_3IyhfI#8Mf7@!gKujsF9SKy<&P97$b3s6$~P z_bhPJLnJcC&V&JsYgx4Pw+o-*7Y9;9P~WV!hA}I`tXrVS{+e?f(S@8U{{T{cHVq9f zkq%6uJ%3DDd0k<^tZ<2|%808NCutg*n+BJzym+fR`R(vek` zb&UCuj8rc|5Ah9Ct51>HbX+%x5d?nVilVpD*E7X9YFQKkhF*u;2U$XJ8F7J@_nOG{I3!1rxZV4J@$LRKWwhtCQQm$m)e!VLp|{lB&mw zR2QqI-KrtB*77EKaTz$*Jz1@jsdP4%Z6hT!cSwpONi8)+G|ERfbt*^l)?SwE7O=c& z=A^dv6QnP9|xUdSmEyUG;gWs?vcf1o)QTcGR~ByyRl?tYBxZ zGuQcNShrO}orO?4NF`P#!QR(8t|HJ+R*=<+WoZMjA@IjIC)dAo*XO8eTC_A4s7Dca zFmkSMgmN2&6)cRPWix@;Yew9_%DHM}$x<9!(5jw6)MvJs^Oe@nXbl-$7l<>>g)Q|R z_1~8nULx2lZMuyORC3FnKtaInPq5W`rw|p|RN%^%ygm4+!ERjgj9_#F+gO)BxpkHU z!nbdr4Fisx+@~iWEiJKvo5TzZC}(!2V{nz3IaeoL1rh*UZD9_Qv!g(vdJr_%Y*e%p z!?h7v7X^<&+orRt8C!OuKuaq4V}hP(3NCqb*RNeAFs;{M+$i6@$LYS+E;q}wqvSmNq6y)G>@|_)V%p0dp$KP1>fhP-~wmukE8Mi4_>@_vBI|8!D z5)5aZ*fTay$yfDZro><*dE~TPQ4Z&|6OZ}0$G=0Y`@h;%n^WRaQfg?Lg%n_nbCMoLK@h9BbciB@l`1C#XDZR>ieTKp#yf>Kx4?<+#bJx7zw z204xZ$o(~eaM>!u9${RL@ng8Hd^zE@)|RU0wAvXj*P3XK4a1V6o|1};zo3$OsU^p9 zX#ng_x2?oe5xM*+jB$xnZT7zJz0XGJ${>7A@_XTwHx#?EK^0ocit!5UPTkXy5CsQct*Rt~QOYRap~OJg#H?uORs0 zr-m-(D3>!coGRm(4DxF3wub@+M&4e2wFsu-JXz3PFx~uj8lBVI7&bqm6CJoB(&%#Ft?A$8h*304DvKo1* ztyHnn8IeHy%<2c3G5NC>Z_i&jHnZ#0b;VEI@=xchW%UgjEulrUo3lU)(ROt$Byb`+ zq{_q+%zA_0BVA3MF%Y?~Ay~wx3Z4{>qnrWduxw+l0r_En^ z6PY;zjB|AdueZxqT+T|jnOUk+WI2glNyY#z*XNGE%T6tTqiczA8zSoI=?Z)XIFKBC zJqi7BgVR*%4ywyRM0YDxb+pea#wC?URp%-t{LiS!BR@ZV4x`~kI;L<{Mtz`O8@B%d z6Zmz0wAR9H@l{jJ95W#x(bNPcIdVQED#Ude%9a@Dq-8r*3WBo^N8wuJw!ITg{KPIQ zJVJ1`^wja*YH8!9zT20}t*MEE%OtS=?n0!3923gLN|S~Fj>P&m3A+=dY<{cC_}!5{ zA~F~HeriNFD(l@KYH~ySXa(P=Eq>+}u=H0ks!0_++$#eF# z8b}UP;COnrr3d~XZ5_o`xpwLyhwoJILdG-$FZam7Ss6m|b25iuFvluY^@;l9`yM0n zlHE3K9wwPalzb!HcS?~{w>PjAUv(3ewN<@baL104OAZ!j%9aB>hxosGKNh5QMn{RV zJpTY7rV38ghb8vd;?EPdw3G1v0Ejf!DX$cBL04z2x>=x*t$a%$YByz6Zdqd{qMBu3 z=^>s4e=cI0saAzIcSEyXnZ-%D)vCpTsm!1{Z_#on*$m2C$`Q289 zq1${?S_^$W;>bvdQ$&k@x08L3~A_S@5 zU8yIzwr$FIou;CxL4(w;2DVrWhLE|=AyvDmk-GM?({2hg6F)yTO83r(S~^55lX2mN zJh%n71}NU9K#Xtz131>rwITw`ty5C5>sH!p`+IqHAFmS6XC&WI&EV zImjA~)d7_w3Lv4PlvDs%u;#$jENqo1QUhwlut1qPZ2p>_2FOdNkTj@Sx&e;5LyeHO z&qGI0fU_ojy^fmM=75OTZqmH2>XGNZNz=tJr0*nU72WJKazM$-yu;f-0AMBWCv?@^ zVusfYxWi=Q2e{Nu5Kv6yD6_w}GJWLJq(z&s0Qb_irc)f_u}uxrZCv*iD?CCtLkxUb zIn>T!BWX=80XG*P5BHC{O)EuDDdi*)p1;dbRia}pQZnNzBJX|)Ug{;RgwV+6ILHU4 zubIJ6sXbOsXOoY=3<=(%dnq?{yiJ{qXuZswCvCi5VjqCA*K7 zt~V})p>I$RS})#?i+7$HRaA?UJrB=R+`}X;rq;VnF{tH4J~3Q(2Hdxb`(0W`6CPIP zT;o5Uvac;jaFc?Twc}g}Rh`8Pt@m(4Q(17Td0Hfq$DlY;03VwTQgyIl!pC)7LS#67 zX`B3WWg!Vr_|Ba3g-yiH758|0+OpKzXiG+0nKE;$HsV6qwX6WjoOFCTSEhxGB%F2W zs|J8Ot*U%L#uw*w)as}eMm_b~RKoJgM=N!{i<+u2%0Tz_)mn!OMu?X}lN<8Ze4c zLFlJg)kK+HHI^EccY6|CXc||3{Z~4YfHIqO$puEe!L{O!S-=Fc=cw(iW*ExmYO-8q zHlKBBdWVUZ1Rq^UT_H7rJ9|DJc8vxBIO=^mYd*1svuDXF@Ay=Bz#oK?2AN66nx4FY z3OMcn8nMX-qia%`!sjkOaweoqRz=eqSDYqNY?)JMf`gVw#xhPlJ9XAgL*iT1Miq_Q zAd~z*X{D!$-1$vcCI?K&M<_o&NTWaew9@p~Bz$vENx7|FY)=~b#C7%PeRV?Yf+0_6 z=x~)J+h_q z$7Cn6WlMhzJ3h8;$7`z;Pb^FO#w@u2dz|#g*QT+=IngTMfEA>*P^aUz%edd}$xmUl zS?pIH1NJjDBDi|T= z9J%Vl-#VMVCnZ8?G+`Y-Elk{(6)30wAaj2{=X7bw;XFC!9%K4Cm*K zQL6Gxt90qW$V1lS9C3)`WkRcf7>s~_wxy?BLab>L>};VYiFu}~+qY$Jyrnr_PcAxu zrLuZ*GxQ7zBxk+|?VV-u8k&Tatz$<7E+srqT6ZN4R`jHQ?-@@}hZW~_Y6d&PHdCv^R~)ML<(8Xqo0VJ^S!uTahqPQkwb5=Xb&kzLUsXhF z?6=DlUQ8E0bAcq(fH}w^`KoC-azGQnLYbF7+PS85ow z&_>w9Q>hzj-U^4 zJ@fpvYM%?F-GZWT%p$GL!)h9vWk8aSC(4o3YW*uljKZZ>sdh@LE<5o3cD?R9l{_l3 zbCJ+=8kEw2sZ^>!N*)95lxw9VRW1Yw<3B#Sb4Mise5;Pwmn&4XbfiTCt0?pY<5t4~ z3dspscA>Y)myS4jPhPTAW13kj&SwsaSfR%K%NvVnmqag=u zX(1ZIJz5%$P)vVLnjs)~Uc3@UnJMvOuT3g+qN%D3K4Izxkd!2K%ILwJ5s3%CUfPIf zB?+zEpv@GE)GGtq(CG=uPHyTk-YqD#%{4$rMLmelqb`Ff?rfn}V-00gP$2>?U=Fk` zoC%d((r}~%R(d(;5}gtwA1(-QU0-;@39#H74$ml_MS&FH^~Q6os+5M|JOrP& z?Au**0*V#!S&Goft-r-X` zNEZu$Mymdn46R#kCg!jLpvQFoBhIwPd9B#M!ML_^`$o;paMt9}1W^3!$$Kds;WOP!)}T2px5; zY|jdW*V186x-F=NnlFI%{{SwpwvIBS7pJQH!Ph;qH&^*fL>9Z)xBoGA$0sFVh zRbR5!w-6yYmOHVD5mdH)zqYCxa#o!h&>=hUUE`><`6|oisP#Q_r&Ff|Pg<)>Q%`*e zuQNYI?oK=O)#frlT=iD~NlcvZM^Rl-F!&I*bdC@dbe$&&&Dt?`BMPG+pHr;r>vGgV zMwi05mj^6YpwdyyDeg##3P0ad6%rB9clv8mk;3M#e{v?HjQ#2&MhQAfg(VQCmjmhM zuei`#p#K2%6%xlznDl0B59_Ro?t-_ej4OWHJ8~i*rfTYHXkG>`$}^u&uAgenSyt=U zYg(7P>%uE;t*>5aVtDQ!cYi6>dp9ZQap-k<^av6b4c*}(MLrw&L%CB_8SZr9>JW0C zbjbvJYU4avD=Mu*b}8E3oDvqhVTjT~*j!`F0|)ffl|TT(WiQ?VthWZHq}|ua1!B`vi4jX1Wh~Pt zp6QcO%+V)5!jesKR8EHedc6KiYRb&hY`b&vR4K(>@3r_*6~|}oI*Q%Ty(i4I^>q;% zd6n1|H5C!2e(xh9tWeUc7J>-Xau~Cn3u-QW7hryE*Ua-OrPXG#Lvl|40G}bzK`N`2 zUB>5KbiK(Gu*Vbm@soR=jr|RziB#FEn_BAkL1L$MiY&|QhT{02$2LMEIG4+pkU`8KDwCfq9QVmk~Rs>CQNt0J$rf$AZm@yLLj7h zMo{Oj0Z>T&f8KQ0QZ7SlfKYpm*SpRO!mrA`Lh|Dy>*<5(sA}6jaGWlfcTq!(+ji%5 zps1yKBRr9Y06qv~jB+qx@hKU>9YN|n^^G;CG0)LNlQJO zanijVAbh`(Fpf#6>SG{$A~%krmEt52v!ERjK-28?$$d6Czq*-|>W~~gq8tyAmCyE$ z*fHcdcwQshm_GR)(5OzxHx)(V^Giz<*GWKTsiDD`s9bzyQ1b=oJA6Z-0OJSS4xKW* zJ<}v}Pp1kluWYWo*dUFoESIWoSn1wmP%746-SaZ{Q_n0yRRMBTvZe~^t;=Kw6OgW2 zItgzgtf#@>7cG`6wcmx?>K4B2n$Y#FX^^!&+TQG+ysov(07+!!{pXTM4)L%KACa|> zeMp#i_wx3Izr$)rfRs_<%Y!%DKH#<3HyvdSO(o7*YPOE|pp->v-Ovacq(NN)1!AiR ztgV8)uOM)uIiy&iw5_G3%-C)>Bg`IS{x<F2J}EdEuuTwhr3gTtB~B zH@@Dlq)FhoTa~`=PzW5Xs{a5KT-|dVm}Fq+ekj-t(?Ej<^V`qY&2iOexsEJ&f)dYs z?8u^{mNchDPzc659Vl!lh*ZPlHpvyX!F8=nD2Z9}2VykWR1M0bSV79CZwvk*>9@}L zxb4tdib`67tVT$YGtq{#?XF&Gmc|CfR{+ZBhlJJf)Y<7)D~Xa&pnH8*3wbEabViMCAu-4^ zk8K(X1BeibE9r+J=8Sztkbw#1sIH%8)cBA9-!+xY|P+zb;QV%T0LZo(2D4#z<0GvVK4l{Q=cC2oScY(JpCS0eECsmeoV}MpaMcjci-G zOsvbQFswSUDaeYd2WQ0}xN~9=*MF1A@@E zd?P9eWP|aNs(PQ6J+%_L9nl@Zx#Xk`%gn2cbsCkb3bhE?Bk%i?TFiwkRP-cv)`b>h z3m&tHFo~!Knn}nf>8LIhi)fVS?W%d1BZ@W45PwZ&R^C?asmzppblcVPBe#}tSE$l4 z+Z6im2O&r8#X}`MV=TafoM&28mIZMo5>dnd022_-4soYch)rMuAy3~7_N9k#+w0j_ zx&|=dbn{A;Q}V|*H~#<;tUH!;NLT&CO_4`F*osPcP@X~49lCZpmW?1rRZ6v> zz(~E#w`pyAir*}u3oO06fIai9?k3VHkey25Pu>pfT5G_!ynLxfVpkWb2Ww zTU9^~%J`=$#A(cTD|Fm6w@Xz=M8mSckV7SWD8Gm* zL}}?10HQc1n?N$;GbmgbCGtrV8?&TDE6lT3=(5vqa84tn$ln;$Wrx{{V%Dk`QMq$~db z`yF>@9JW^ocMWd^cyG5iO?7?FS!!-K3ZRA%oS;P%XQMyDNhi0UJ#pq;vZF=U!POo? z4H%D#^*+SZtlKR#+6W|>CORty;$PZ<;sbzJ)qXR0Tily&!mPC7;D&Jw-AU&a0U97j z`F~-r)b-Dw`C-5f<^k7~sO{6=Q1KoQaca$EOL~pRu}{M|^}WlxuweP~S7EZanM1j4 zk=8+4lg8_nZ1x!W>o$#jSqpBh2suc;D)@-7@UGiib=((98+EdlHkw&#rxB!H!!7Q5 z40Y@@=F}v>Nl}drlA(s^`(gYq?3t78aV@P% zHrFo@+GafPu`Au%G--3hq$EFYKLg>er?zcPo4+>&;zCv`SSezfSqMFZYUS`h&5lq< zQ>_|SR}B*20P`y@t>wF&p{_1IK&jutpS34%?yCsDZw?yo&8=xzT6qOklA{S9p;0XQl_ z9;4Wub9`0JBMWziHNpdx5PhW{7^C9`(|yad=xOBNw%LWkflCE7Os^XhIp{+KDnaVX zN$S7@&hYLcEiQGt_B#jF)ok%gKh;pv9wE20@6BA7L+o=QdSWUERL(ne75FZpp1^%y5_)ws8fDqDOF3ms_HLP+gAN@T1nQZ)LU*7 zH(p?G-XO)n5O z{rkcf8|S*iw{9|_+gCckDQ+8b^&7E{nd-Bcl4oa*8QHT>G=WKy3FJeKc|%C==|(-o zesA|(6`jC&?yB?mrYDLVE8JWf-VoZjp!2rMxl+1P?l>ayMRgB2j#&al(mI$qhnRqs zSA&}w0o`rtwxed4@eW>pW6Rc|xwdsT>8X%;`F+#h;ERczRNzO6ULI`?xo+XV5-xUY z-GA&V8?>sjMQod5mR2Gy+heA9 z-Pj~xe$b$RD^y0Z%8|!cNi-96c9hy%-9ZPJ{{R!y$m~5?T;*3jvF@topxE{Q0BJn@ zkFzT2>-djh-aBs9f7?5n(YkCGIyh@>*BgC6sH3^j$sas5G?S?-JQ67muB7KDu>=OW z%QHf!e;co)SC(BL;AM*13tRSNh&;T+bj&wJbuhmKh*9b!NK z0I!=M9YexFEE=~_Hi!ZjMEoJIx!Wz2i{(cv1sN^xt;$8)CGM2=;GV|Z{8PQiC9H>J;q9eU2!LDKbFwKEdb+8xOlTnAEn_8POGEdKQDojx4wSht)K zUas#fHbs!f8pe5ErH61E(MCWg)b#Y#DvmEYSa#;L=rRVQ%{ljO3UJ=-PVk#F^b(PQ zJQWYl55L4ppUi5tOA>!;$UgDz{^43>P&WYnc_<~to)X-+d3uc`ab0Ps1*vL+a`S=R zSb8w&k@E-XMvZp|nl*6o?jxxD!S*Y4E!tV$Q`?`B{MjKXtr5I=WgSOM>h7gePzg1D z+X*tW@?_)NwtyuoNGdgNZGzQ4aY#rwJ%?>aQIZlgle&kSzlN8@d0G%&Jdy!jK>9{7 zq+k;%fv?)Tipeau2;`ocMbE&w!5P&*(>!>kX;7-pXcY$#x0NMGj-sNmY1DuK8T_>f zuKCK;G-2lH(;-sYFbr%zHK~t-5N8NgJQI&Y`Np z0fi3ESnS(P(%--K+>^y3#)46hJC?%d{{ZK#ON#M_Z-v+J%5zFezP}B(c%Zk@MbCm1 zYj)7cS@+a>D-EEzL}_9^VgZkRY&TIDT-8PpSLP`lG?K857nqZPJ^uh*Ydm34U?mwx zM4$2yESc!f{%?@^YPk}xvt{i~8d88=Lb>cT(8Y6D8A%JAvB%ECuR=Qe>GZ^yO?^-S zaY$O%00j&Q<^*S2O~S-_HnL_}5q%Dzud=a4;#8^Og@9aVk1+Eq0n=HPTR2+uD?o)J zE}IQjm`JduG1LLyO=yJo)r_b~#l5sGl~NG6>ygvbRv1=ALQ^4ch#J~8ai@ znAgS?rub;FEVUM?Q9%MkJ++xxk`>n0AVR-B98o1c-%gyV$Uml^Nw6VTd-9lWDOVy~ zq(pI$r?-ibl z*=k7hTUOwlfym!>Ku>q&Tyl+XP6kn&EM{#M0VmnO;b{ zimAEzQX<_B7>=i}!mp0n*3@7Dy5|E#$=Pe-)rz*qbAp1pV_9*Mo+g$+2gdIjO*3@& zl2Sf^eKh-L$iijYbe}b9{up@0#E%WW6*dm&+I7aBn!H`>m01f%&Mp(jl6wUL4*aay z#s<94k5FaT6n#Ez(mnwFSFCns{ZM3E0GF~|sIX8?0ICI}kO?0u|7Q}I7Pu!WF&cXC}6T0cC$3Sj2F z-m5oFp=j;5D?boxV~+1ZXu4Tqwbxwf*mK1_1kjTONOj99VG9iMGh}6M_-}Df#DAC8 zNg3)6N3KZqDQq~iZlB=;yy*ZEM?x@9k&kNWZ|uME0ea%@!;*@5YvsJ#rW94eK+Ixr zFcgAG2LNuMM$exKjnAa^hfm&(J9e z!N0UaWcYiy(^2e>9B`VV+Rx1;(%oXZTat7Eu_Cjil1Q0G!xdk`eY#j3jkv1r_N_u) z(2#yu9`!~2wzQ%eu;CD1cxKF};xfA3_o>H}Ve`&042xAEj^ZcK5s|WD=#NHp> zHzQrRS2Ycu!*`U`RntTzSZ0;7O+uzZ0^Ip#KsmdRPhD}hS9+hN*oxcAm&)vlo`#l2iX=D3IZQn-5--{U35^%XTVa!KWxl}9SD zMG=rf;{;&`%}V=uo5PH;*gH`G#c<6ThHnF^IC6ipdZWXo;|U|YlX7WVYzN8?zbAKY1S%xiT&!; z(MF@6%}oCQ&WQwE$)CWoGMq#;POZ4qbo1rre*XYJTE9Z+z<9E)b82p#zr~wHzT3NQ zRNI$^d#0XGzQZZ=pKfj*MKadYH{)t|R!L+~M4}3i4?o@2$1M70n}}{4--zYy_)o4E zTS@J#(K!d^pr07HdA>Lmxox*gg-y~}ww~eTjQ+&nuv%Hm>&#VGyFXo)7+9mrb0u7?g`GHYR51twJAo*+V)*VijImu zHbahH#CAH-rC0?DwciUBwyF4QaGKX7Qc7-&vk)*wAx>QWMZcb^aN5m%dfi5!bRVp( z3(!S6eIx7t018C;&Q(FtX-R}+~=(;NG((OL4kWQpELHm+DzPh@iO#c9g zN;*o;96YrFM6lMv(6^{#kU;#i`fC%4unM$ZHc8g$tsgQBJHg zoO+J>x3GVK76AOOeg}Ihb_+W(Rp5X9-Q~t7YN@sWX1}SSlbNe{?dG_g~tkU5HO53x#V$X+q2DNQ8@w!HmOr&|?tkie9dchQm=<1^*pahbCpw~Hh zX!7YRrs3CtwDhUF!O>f0N>Brgbk?1#NNO&w8sJKs_Px3#-kbhM0Y#HT<+brfH03jI%QB)Eo zMxW0Pd`ylwsSRArtr!7hPsNUdOr-D(6>v60g>bwy-IHA?spO_E+Lsy8U0saxnq~or$?WjU?39ofzw~;|gN=;WUPDpW#g3Zc1e=O^kx3!1M%GsdO?CcTl#I{>_ zH?;VZ;x~${ZX8A2!EE+wDrX$+MH_PpdO%OYk2xwj<<^yCW6d+;r35vF-r$*0hO5IF zhJ{XkJNC}+w{1Ia;^JLobo@u%H#zPi)zCc!8pq2LFz?NR*Z|>GPky*(4ts@i)5ve@ zPr7qWEiB|=R3`e{@X=81Ydmn%OIs|Te4HWpWR_{dDv~>_aq}n0$oTFx(Nlg&ShZ=0 zfRWsH^J_SfUv9yud10h@3ILfVBz~ZJkWWGCSKCtCJHtM;TKD(D>65`%WZ+Qts9EeE!0=b z?ath2Qd@O* z4%4uKC$FEmTd&z2;YMwtU&RgUd%8`!Dr%~ztpejwZWL2qT8<|VS1bja_r%mBO(7@D zFqbDStm{zfo+#1;z?q3Vdb!6bSMPMNX>Li}^^feIZyuf+to%ydn`)DA(XCd}fnIu= zS5xJ?r^Kqje+kE5rnC5^2etZ|V5|Hluze^wRMAD?D{SqaEyuoZ`y*{}i)T^p8E%%n ztM}|=6+n3j~kv9CgbN4cIOp%L$^53!=1+VDqX93v(IO%j*7aP0{&Xl)!QUx zXrv4lNMuw(V@C{}%%`e<7S`FO{RRlw9r?lLIThx#yB_*8PNQ1!szH(<{NXh8KVrRa z6gIyNthHMr!NB?}Boa$qd3u8`;oP-yRJ6||$rFltWQeg4B6+Te0<_K7PpjHTuolzt zVl%eh^FG1krMK*T5#p+IzBzi8x$qOf%kavgkzV^X(U2f~(j*av1E~?G!nr+29W$>r zxv?&OqP-9GlF$YrO#RJflG|&VhDB(j5uS(FrUpMQqdE(8oT+IL?6q;x_RQ_nrr&nR zGxDeWZM+A zbjt9}aTP4Uu)-o9VUfy9WaACjr%|s_t8`j&ysF=ak|Z3d6~k@a1-_tcz3ohDtQQPH z_o8_WQi2&IIRtYnWaRb3x1l^$!egIL`H}icLv*1e*J9ngLSK;7^#E-_z{8?R!}*CNYknTF(=&aN7Qy* zQ*Ikpi6Blk>N(@6-8{c%j^*&LzC1Zt_(kF>@4COkbeI1Cyq-zm<0xP{7^j}+P(;m`vdj`{M1W54*t zv-st=@16)Pej%(rC-)Uq`)gKk<9|@xp{%)FEy;MKtE@M`yp0v!(G|9`X=iAnddOy{ zbx$$n=bEESyeAG5?GRv&PaGm3sBak|{bKqp|7^tka`_<&9aoDmV|$iCMHZO}^X73ezB9dUWfnLpUloIGxk$ zOSZq@UP#U`Gt*CHBf5dXDmX3Tc7G3>x}uYCQdeDeCBURt7+@KeoT)ss#0kM=%L2I^ z%EV+G5zlc-H#91X+d-+|Lz+x$Z$Neq8?>BEw7@boZJ$o1KhxGQ23mR_K5%))M(WP2 z-YEP#?n`Q2E&OWXjCJ+vMLb_8hHh5}<%9X^A?Xi>G=^Lk(trA0PM|)arLJqg z^tr(DDlhPRgZl=d)DTC{9?%pM@rmOXYi^yJUBd1TUXyV{UP9h45UVT(6=1@ioUjG? znL&5J7*L};#OiT#Ux?OYnA1+(hgXPcbKE~~gypPh@pyo9ou>c{sirNMbr5P15HqA5 zcs4e9amkyxvlGy||P8z*?jvI3N!KS4OhFlw$G0*{UZtrV=@icgW z642>z9UVFixTYE$1xDjI1azK6dEkQ*3@cT(aifG)cICa&@mq%#Hi8QY()Uil{{Zpk z=FiI+)RcW9@H&IRbkgti__fbX8g);UCOd*&0|uG*W8b&MMm{O=^3BBSwI15p^T}1U zXyo%6tf^65HZjbg_43pb0XWGd;~3T3TF<+xE?m;qj5HAkJGhQS;s)Sv1dtt3f`bh( zL2=$T^-n)D))tC*<1~=~y)mt*6ALZbGK*${7AN5c<)k7vO+|A;igAK6e@!+}fk-1g z3Xg8uczPugTrJd5-$3F)_~;n0pwVN4x!{#@fxnrU?qgs#M;co`O(4UVIe zOe{;Rq@~k^6s#4Jm<9)%sOoxZyRGMvotGt|5c?j~OJk@ogai5LWdIHnpLj@w=Tk)> zi9({4^z_v2Xd8t9bB>v zN6(&vRjw)qiCPx4q=-_Rg&rPdz0*l?sHQFvd9qhN+VYOkc9XlP8q&R2v)l+hx}23e z`+?9~?bQslV4zdjV2w9~@%?WGRo*Yaz-fT1Yj|2x&3<}ds*+@aeMryp*Q{9A*1+ZC zyhe_ix>M`HYS9f`F(CMhj$`gKojS6r#XD}brL9qn)%t+ z^(yb(MEiKXuca~ZdwO&SaYs^e)`X1>&9c+V@sDi9D^To^cAf*&pyu{{USz+R<%>Mq=}#<3B(C^-kg1SW3FX zh0?!=J+(acTWc6zM=H6_ty?xiuT|WYjqTl{riY$*)guE8*v1dk^dBtr&a_!bLSTFu zQFD)VmMa-+Q>>RO%N}Sg)QlRYQayQpg>ZV3aqLfRXI?Ny0@JgT;y4PXc*S$1*p}(H z-ubarRL4@yOK+v5Xv>1x1d(h9ev2ne%u%B=qc%jyoB`LBP6#MjlqeQdbI(txQNH6-K=V}1 zy{V$MTei061~^tK%Y-InVaUpq=_Gyo1Du2Z08d|iX|>WzeM$!iZlxPHTvJ`I`;J<| ze`-S|IR!^4RQsGo6n4W7y+^LD(}2;_`>dM8ml@ytF6w^D3Y!%E4SX)zD^fDi?AvR| zS%@Y{V-hz{erXu}N!N;TkR5$gyZvtYub{g*MZ<^E)BcwHmAA{movnC|JB>xM)n717 z^UFv9BRxF^eKeHVLtqti1=&rm^|M;GT^&Sr$|?`MNUIDm#Tu%sG4)?l>y1TG;1JK5vJFig)a@Mp|J_Cy>K?ge6`a@b+l1e#;b^19I_w-(oTe9<*1oK(S*ZX zYB7S5ls*-0vPm1mRkv1W70ao>9tA%cs{+RBte)qU^$g9BAB7K~Gj+NT|#e$&Nm5wqQ4kt%6sBP~orkitB50hBj4xBwk& zb}p;w*L6-ubs^mXOSfOL^hRErY((rn%eMk-`*$bKDv|mn?xv)KRo>=-L zy{)+_w+7j?!+o!o+bzbHDtRiwURY}Bm|ebd4`^@Fb_Z$K#z`?3J*f6+Li1C zhYkAtLafS;Y_#q9Deu}_x}wh%b-Q+Ys!CUoRY4<@_lg>{=&c)^j^N-NANh(#4i0VA zvtQwU{{S$xtnLdArtS4zB7Ko{yLWr=Q+;k83T`dEw7f{{3$60}wwt+(*sr!Km|(ce zY^&x~o|-9Mmigq=MIwkKnHE6GTpL_5)WFkMBnUoZudHBs?yK=ei4Kngk1j{c=bt^H zIvhaTye<1f{Bm$_ab7LEmt<_^*cI_ysA%pc*>bf#!_1P^MO|A8#WP-oB?Zdj@y-K6 zmA2|*21|*qHiQyegXQJ_03d(D$)#2FshvB1a#J(G<-3j>0`taS4!mRCdy9)U4ZBp= zy^p=GD<9wQwn^?4l=4AVV?+jMCxJ*LWTfEq1Vs&&olFJ791I^kNI#zLwC}1l(NJ!8 zQwl>B4D0a)e1VQ$nig<*gy&mol+XlUiAs*^scE~Ca6FS$x;CoarfwI@&xrduUeFaZr{RWB5k37TBc8f6fPCvk>8pVLh+P7w&2S$h09AnDNqCVO+OsemTOPhqAQ=$BJ^ zug<=onWa&ly13&3MwN6dR$6dz+;%#IoFZc?QtWF~6)#54yxh*dn#kfVBAFp=@WbN( ztCHZJ&Y_29iN5Tp%%Jrc=ElBj?JJz>#PnZ5_IijEf@}EgPi(Z=E_EU_4iJoIJvAq1 zT=!HBQgOG2(4oc^K9LZic*e_166c;vr@{4ytupHkHchLIrJ5v(sSntvSocKgv(G zuK)^*Tx^&QBJlqJW$mgu)UnuY^ba#;X@UbJ#Gbs&d-u*ee!8u3O|Yc>L*z+SjmBOZ z@auj_Rbbq9#;3Q+O35`DM3yoBaLfn{FbH9S2=DKTSkUkl`WICi{AD#98}QvxMO#I% zIA^)%ZWpZ1ZkOAtDEsj&Pb$m`uQ@o!GO#2Z4xKdU+X05FRj$NpaLP=0@bLct!G0L{ zdg2#|Yu4DHqp@(iZ(lA}DvN;`xn3%%C8UqZ!41+%fWQJ6xJJiNH9M>ufO-D_%Be=X zobV5=a>L>;!*3L}X9u>A12=ZhrrW$j+Z%E%_q*>Oc>Ca^wO%Rd-Y>kzPLeW3O96SE z`FZ1M=2ig40j$<(sj4Pcg-3_cE(Ztjs_eSb)Js))j^we@+yoHEC}0_>Cx$gyQ{m|8 z*C34aB(8dcFmV`Fh?6Js7hK}%$h$l@X1X)uwZq@aS%S9 zn(_WT%^XUoJk0yRKUMFYld5WP$~sO%W86skE{yE^`jM?*`HEsxJy)q*ch9lZA;D=1 z5M=J5HOGon+qcDD(%Cgr(nqxIbW+~yq%sWDOk6=p2QRs1ns1~BJ@rY18mFN7t%lo^ zNHdxFE0x$Avcm;6H{B$THbnrUP0PwUWcBDf{+j7&Q=G0^{)?crqD~`TVBHnbLAS2- zl(iTj&CSpNKZttw#-Xc7JmE)f(@nlHDj)3+5p{GtLf#xIzcsdP!)%p2nuT6i>SJ~0 zMVR^OiHRf=(>T`4JWUd?E<;1kiPOq=M>h-HBPJTsQIwVBIOad>YByV*!ByE; zk!p_|K;EV(CynY`n5RI;x%K(ySr;$T30pR_gN^{9KwiHUQt|hEODfdUQ%mQ@OMli!uI@ZQn8s&1RFXxKJ=)}l(gw&$v4R#?O<6i_3Axn5NZ)ZuwC zgUzfP8e+5B152DD8a?OYwQm5X!s0+2$;2*fJXdi>&BYz;Z2Uc1xcEzHs4!U6#K>+k zkQM5PBP1LUq>sW`kKzMgK=yNny55$${{ZH@e<9I)_1c~)%bMNYAM%^Gnd|mj_)jbs zZI8GuvcoN4v{g^bO@QV|#BJuH`i6KGQUK`BPJ_A5v~EN^JDL3XsupgVWOV%bB2CM5 zOU#DgU8-*MkOEv_i;PN(8XTV zO6eXeeRPr_NT!qHMRMdT2EuZO>6QbbY=|z|jYE>LW^)Qn@W*iPZUFDc;*Q9Q-(J=$ zlufyI^=R`FdOy76#_$u(Q%NIJw4Fv7d615E)n`5&_AXpJp&WPecd z^7)8eHFy`}_W^ds+~O~ao-A=5n(@N^BDLPDiWi;DDpW(aH@H)Cxz*207$IT2(Ne`n zLr(~23u~r@S?8U#xx?>GMwt-d80L9nsgpk6BDuaP!yQgLtn&~#ZSd#s*-Y;XmOdm` zFA;dv#w#A`*<0grP}%MKdu(1RJlf5jv!OM0R_lFxvho4$050zgDg5?(C<^R{r{d#aB=M+PMkoVlDtAVE&qW zOeITNdMN7h%My@1PJ`yAZbI1&k~2D)DaS+COo&qC2}`OP3OM6c6zaJ4_0zQ;Y9~1w zidro6iAnmMER_&(8!VcRiQ_T7Ixzb6(;P|4o}14glhf^pWRScuE>Fv@p>s-{6mLUn zYD_aP<&8?lk%eBWQKejgKu^QlQ}=2FB`W9b$WELDb3zs*m4OGj?li43B?vW1Dl*Cs zsnRu&WeBE6L6MLTr^`+vP=P)e1sn+jgZrGDxW2NFVI-NZ}oF`t?L0Ds?5_sv!s(vUYk3(dN(w9r&i zMrrwnHb;G9@qQvG(j+dAvwR!%Hw^?~PRC=~)i5Mi~x8y&m*FnKJmZ%cA-q-d>1`^Pd(d}2V zg|*EQ9#UXqu_yhFdZh>JXkRto+8R|04Mx263GA)q9hLBO8^^pNT#)Zh1GA9?shLc&zGbqZM^bi!UH2u|___ARK~v zoPn-A_k>j@a4@#)t;Uk#tRsSZ+hgs0kxx~5y3$lzsiJDShN`Fu1ZoE}$s;iUj^wex z`3-cI*I+hhDwTFQ&VZ_~#8(wJciKzhV}KkJwA!k6KZ8p>J>qrm1%Kvz29{^s0tLzj$D5sII?ipV@>wB(ptY@(NyreaP585 zvaU2?9!hJuwA(GzQ!QhXUU1bjPaC^+lgcT~OPn|s`@ZQNREuy%;d7(*sQ4A#-U@ij z6jp@1+;|0gr!TW^lTOpMzMsl=OI1vb@rH>xJf?ApAw=alibYwgHJ`n_`E>rtTTnf^ zfkQsbzBk`?UfSKXK6L3%Xx!pwjRECKddQW}!=J(>hF10k&Nb%!v$GxZDh9*VHX=>#yDvod*{394A^!aC88*T`8mFke!i3&P+ z(Bby;tJ#(ONa4NyuWNA%+cZ}SS?QYr{F2S(zB{S&4uAI%*yB@ExMN;5iD}>S$yJJ= zm(p}NZT9sZY7Fh)wo{BYjk8m>_r}?{*>}A?DW{fb7=@^nMh8+bpyQz@rh9Z6+o{6b z?9zO<~y#ULA1$r)u0`a`(Ecom8zxG0{w1 zfJ(=<11RWnMyWcJ0W76Zmk%NHnO2>8D**e7L8F(8=^s^RR9qgc;q|Jgi1qVaZd=Z> zb93AmI>+ap;~`a6cTw=hs;Y>wpj3?!LXMqXQq;AgR&8D(s;sp>`+JLZ6cljA@-(!v zVdIe)9)x=P{Jk{B+-W*WA8Km&hU?4M9KPifm7R+A1QK(Oy?%OHx42KE!}SjmVmFr& z=G?K$VW@Xf3v&iMxzBIutecv}%R=7QMigS+Haho)daBGxn8{XQj1%dPrn&mfaWYl+ zG8(zW@!@t@_YM1N(_bXpuq;U>bwo2Xau~yM#{#nT%#YKjQWqU^b?7~opkc1lsPY^8 zeT&XJQF1^n4$=na>Frfzzc|=TBE8)z>+}vCQ{qDP2%lcB=tXbrl#g) zWjxvVl>p{A1pL6y#p$g>NHw_Tx$$37B=S#>hr8SsJ|^xBw{WPYf{yz%)Ue4Z_)@kh z46u{zIn|W^0Mg7obyo73EDjvLT-E*^QYsdne}M?!c8PX2`?y=480hR*8d+oZ|# zl*s8V9J%e~u$mSJqVfjlFhmsL?Ve+Qy0cc9YsfntzN^k0Qqb1XO}B5f(oII;>4sPb zreJajC-5;+r#-TrG6>S#ypI!7TYyHApFN{_t!v_4Zrg%NnQ0nYdi1*nq?T$~aU7C~ zBV&%Je9lvXxo%vl<1*om)1(X?qd6OXeHOL7M^2*czDj6tdh>SSb;jvUL3Z4GcAsxu z>31&Hrnp+ik#)V>YJT-kLvS%aE0pr8+LmcVk-;>sM~9krH;C35w{FhZ-Xk|%b>inRs!29AO)OTLghW4esj8EfmH`Y;3WaG) zup#hFnLRZN#=W7zdG+rKbtma@Xdb=&o2MSvYTbAG$ZM{fcGtD32n?|r@4i&G$=Wm# zFVB^q*dJY71eKWPv|t%eWt!M&qlz^heNHtvXH>-KT8EJs$sEMzu9)rMCkH}PQ_IZ2 z6z1$PjUe4Syh=)NO8y?7A*EqVncWO>iVwmur-vBI0tD5Hl7KJ{aobUsN>KdBN(w1F z)z2z})3>IWTPkw$Q0Ju#7?J7g>!&DQX8{$pDycZsttXml5fo|xJ@Kc)MZAKfj)eU* zs6Z+k;K3w!>+PWkqDE8S1bp-%YeZH(6cT#&(1ax+=EwIM5VA1*Bn)=YgjZD`LJAK5 z0H%pTCozoY9H;4_3(|^L9YD|!i)yLSvz~|MJLw}RMAA|qZjOWMG^t^JbkT5%@?#$i zx%9yG)dP4XSObzZqTuD=NfBWw_=ZRw^w-^|cV$d&7Hvx1xb{fpX$+V%ka}mBfIt2y zKm4_U#hhPE#>;bpxH6z6Pn&-Gm|H&Lu4EVko8SJ!(_T+~W_2%Jvb`F2Ob;2PtlU;v zD54@l!1Mz>PPO|rWLZ;GVPJNm{63z6x{9_w3|2)VG}P&V^2UEXdRwl{VR^4`M(O?8 z+&TM<>6&#`2e}=!8L2rcR@x@j=D{1aKJVQWtzzaJ8@+E zLscRdp!Ox}oj5hp2zT!E^AQp1y$mvE1v5bwc;JZzXlyGSGK&QYM#wZ(k6T z#k1|Qv|KTQRCkKHTv68)U{-3SLJX(~=@G)8QH^a{NWnQwx~EN&KvtW<1=?EzUXZb-s(9AJtQd7$s9;N7@-Lp;TIhu1n1Xfv_o6r-E)@?)?kQD?*n%&&f(*a z!)z7xHS%t&UkarDxbrNs_m)F*dVDM!&W7vnCtSuNl}BkBb27! z?Z&6LUVJ)MZOAC+yVlmVwz}Vy=li5q!&`E!kQD@kT1Y3$U;t$yfCWf<>BEQTm&~Xw z*`EsMPwelS)duU{7RYO7to^lWGS5#_3B)xNbp$t-dl=dZ{%{HA4HSbIP){M-T23?> zP=87JkGNg`0AMSI+&-WBhsgbk=$pe1=8ni(g1ShRl$zfWIJ=dUBYtEJ$M zYufCc;YfZveX9Hd+0}cehxWazxj31*XsYG5R?;GQ5k)E>GBabD-3CTEM_e%^0j=9k z176{Q_zfats;%Pol!~R_?z&byKHxg&MSCa;=PKJ30j`6?PZ{vYIy27 zmk`V20b+`rKw;p!RkRDbsrPq z_LV>u_f3J+5I(;pHZT7GYDa;c+p}&J+f$D_9$C^CV{E&mmimX~Q_P%_s0`TYfu6kw zT^F7HoG_Koe}uk~mll!Lt_Snnqj!ey5*#h#wU2UMxJP-Vy6pI?@`rj zd8_O&Wgl2}Y}Wd2YVjlGflxphZk>L*Ygl=eWz`yDH%;#prdm1*=aK2-g(6~0b>+au zN9KP{+Ktq?qN}7XF8o{W`km*-9pSm^`KF?+TD7pn%y}hvSt+BKfq+p=)iML$DUYwQ z_FBY>O`}X?Mz3y2`7a>jHZ|`ryP85vfzmlhfhWjGGs+Y%U6CXR^3_$d+oDy;RR_+H z4`2d?80bH)Gp|K9E^N8`DgOZOqNTfCUgZA(DT8sDK3xFwgX>Kb#%-03e5d<^IR#Hp zz=8-qy+QpzK7&<=mE%{I{nbMQ3Ei)PNpDeZOD#(%FZbqUZ;m-6LGgV50C^(z&*`dc zAPp{0eIgtj)halrSqB)nSGG8ZYKbM?5Y`b}62CjGXpa-ek3k}#l~3^)oMe|8%%VH0 zhMC*x%k#}`+yPdQsNMenB}MIvUt32deNUWXp%Fz=u6rg+4xYf|bnV>Zrmt6EAOfZC8wpVs)U!e)Mhy#s-%`bjWgv&6g*=gN-H>N zBaf55euWi*dk;P^Fax zxU&JM$vc#wN?cJ}5qWu+^TwEWQwD$$`J_mbJf%jL%|`Y{Q6*!l^N?^l>PHg^q~Rsm znWYR)PcYNt5Rj$ypOuwC_>O(`3UgeQ7{U?&Ju}p3gb;b8?NwAL%%|Zw_U)-!QXuPJ z02mLE{WT&*k*$c1uYvynw?YwpML=`#xF4Q`BDXA0FbaD6=t9aiU{|ovggz-k;F6yD z5QZ%Ao`m)EIuL?S6l}*0-#`dO%}SX#Vb??j)$&D8Z=p9!yFahd9jd6zLa$O@WLO!SAT>$dYD4{G!3xEe);D1r43aV3T z4<&}-+O(8YNi8KjNg9xf6n_eiQT%|@YQvgARw+`_;R!Vz!YWF6B9RKs^2WKkygWJb zx2azcB2e2cwkx$lwND{VY~cEhXPlDl@!fDsfR`sW(5+KQoPL}gEB zx5tk!%jWKS0gX?na!`;)7Ru947!jkO1GjA~$xR@Dk=5p?VW62o&!N_T6KE_ly1vUf z-R2XevNz5C%M5W-lK#E_0N>AFH}=lg`GmBuxV;`+MG+x8Q12_P?WJd#De)g)hyV%o z>;C#`$78_*#8!uH9@jQnk`>X{-6|RjdQDY~g8rKNBZ9Umh4D{qu3Boi1Jx{c)fL8q zSYxZFmImksM}MK$OHQC(PW-w;m>fK5xnay~M@;1R)rL7iQJjjD){2rKTvM?)>8XRH zC>jY6LdxrOsfwCaRdqP%Jv7HYHb7vN0Q^8a_X};pol<9Vq^~1kv)>^4AD*!|i;J2- z-EHvJK~!DDizeyZFJJy8jw)JOO2&$MP`stsE<=^>1E~imxXwCt)@_{(hb_Cioh;JC zp0w{9HrI_NpJ;4ax`;?<<(`Z8yu+tPUtWW+Pp-DxtTsV~fclObl;GdIWz|<~i^kKM z3nesnG>+Lk5HTO{EXVIyP{ie+633i>AAFrm`p;|-?|@b5)03UTZn!1m2KBc%=fuu3 z-YyntH$~brZhtmGA5$roPE|j^9!HD;*AXT=4Mx^EtN=Lsr8>Tl0}`{uuZWH5;zH@U zcI>ruFwj-d({Rqv=o&Q@w|a<;##Jmp0-k~_H=$YO2e{E}@Z+eGXFkT~;(kg00H)9Z z0u?&#oyQM{UN&!vOOne%yI*w+^%5Xr)wU|OdTQ7aLBUmmc;C>4EHXiGOu4{ZW*9ci^6e`Ob;7X^|V>t{Cew}sU zTuO;(CN^I|SX_rh92BYJmw+x6*{b%36n0Zdw>YnJmaZu8EfjMkEmKX%Owl>zl~m<| zu>(0Cy)}409IhyLRSu?O9;3^m=(ty6taz1ovY^uVFyXi-9^X+`8N&V1;-hVBo5ddJ z@Lj@wD%q|z3pAH4qrBj^K|CC>DUw5zjX1+}Y4TQ~8mg>u4LxNFk}F9I-J^DI08Y4^Ryoy~(Col^1 z?VM^*XatDPPb~Ru=Ny*(PRChLq26B9byor)4+~F0&Bix5Y{0}wP6p2KX|TL5?+KHI zw&*s#%9}G)ru7aDPGgMJKQ(Q8hAOQjPV7-fR~ppeTrKtLh!O|K z%i6Vgy}NB~4aH-moDX02`wnZDi~ZKSdS9(untOG12HUqo`#y%80%WJRb}Fbp6xsdz zpW<@BcN+QwgYXC0+xLwU`PAdoo#WIn75g5jApto79WjMv{t!4-#QK`Mo%en*F)}_qe27~W?fbF?Be>h` z_TR~B;RhdgjaL2PmeAe1akl3g+N!dTV{a<}YFmcq<|096^W!8*QYUld8C8PF@xsHB zMp)6drGr(ujXu&npPbW0<7BqrNI1^X?dCcBrCm=0JYmLn-HPeNh@qg~8^&1{qH1ew zlu>ae8aS3Wx<^FaE&HN~Ej2xLygB>TJHpA%QjCtG$B63i)WQ7tdp-+_;~Wq)6GZq& zDckPT$c>Kt)vw#DXs%TB751vQYweW~$5&5N1foc)VUYvJDljAzb!BBe$Y5{=wi-Y( zxbh&uOPdU7JwZXrPH~*)PO4!^OC}SgM@Is#8HPu&)kSEum5s$#7+a|2J&vSnrA1Ms z11Y|&P~pHMCqBBB$01fIhs(nrX28#FN_I$>mS%}S%dgW=6rd$bRl*Y)U_P25FD#@r z+IWL8QV7z9Ny=hLee5gXF&dn>Clo#^$utS*}pzXdXnaK0x@7q1KICD8F&PJ5`ut-=&?ati+ z_0#o)!r4c3DRjBAM-Y{P>DT`Ntx7H$qIk-3?A$-OOj2rw3w$+oVp$udB{>|Il6Z~hgTfQT=U&K zCo^VjPrABC<>Uk38j_szQMmO|TFJAcF()tzJ9Qek)^jQeLhl<+*tF6K92^fprO*<| zl@55Lwk&087}LW1x$pf>sn({!m{#dLjg=F4*S6Gc`TqdNcF2)!@G8+=)pOQ}zr!)d ztS;RD0Q(w2?W%f)zhBS$tqOGj1*KG<6l*the|fjk*(xWK;$CHe*arELfsdKhjcq*E zeZ$G{rY?P}y)Bz|Hkul$JDo`pM;uZ7VY-q>$CdbT)aL{EazN8vS-Pi^wMyK!p3qL| zLAExo_uGQpgKSzVE9aC`Tjr4-Nlb-HVlg9fhX5CL3Gns72N{N|+D7I*-`{*D(h%)s zxCy}8oHXAzO1phkEmG9e($rNL>LfBwv(&jMJh5ltz{A8DvKX02<{YeNrBs4+jlLdA zE4Mmyb4L7b@SVjTBsH^n?b}r?PV=A$(CC-(kfduI;f6=@M#fro_8?Ju+k#a{>QmpzD_Hn(qk zJj&GKPrSW80me_nGCOu8kC__jt=z)G8&U!CU9B%kRG#L(^2oZQd9~0z#3^IJ4;elw zc(YeSwyzs19jj@GuQI(sk+5(9Sd$5p^J2I^hg9zG%`v5ql>4sOTh?=`(6rFw&BPP% z3gY$**IH{KNg`OQXHe3x9NuZ~*FACa>H2Fi)!gj6b;Dm)b!wXG8HC>P4m$gUsWhsp zBj!b9JzVFeeLH-;PO@%8oMlUH&dW_<}f%#ClnrO6s|bD6ZoyKcWRAZx^c#im9*R8$-0{n{asEF_DYrDJ7$Ku@>YSwSrX-kg zz-UsM+u^Ev^l?~jR?2#d)Q}!Uf>1u{*&P{x&Opf_a&zuR53Re0TRNBXMn5)RaaQav z46kSzdcb)|kVj1F)QPfE`+LSIsPgMe#lbMSj zEAbV{Bd^8hH+Ge{b#nU0E&RE!i#ti#>(0ROTD3bY*WcQ@U0U1+7u&iu zYwszvwVJ>3+|cp~hQt)n-#9y6#eKB zALc=yH~>K8LC9Ndb2T*$5vN%U5=3xavcmv{ib3ecG;j}QF`Q(n))U4|uNbCaVJ)`R z6(yqWS#h~65^d?Il4?4Gk~y7O3`CBf4j3Hv>FJGDsw6;HsR(f=WaW5z;zsk>dz{p5 z`r7Lxa>dBi4@k9CH6eyq&4lwS^#C3~B~VW(1wj;eg(f&j&(HJVv^ZtWRzJhHyenO( z`$W7&a02m1y=B<-)ti9P)2;4`t~n+bnkf*dSnA{+WbjEFF+nh?5ud{|A(A~{+i=!A zX=C6Y%<}g{^p(@q<4>mF<}za>eMjfDINmHb7Y?|uz{_`wPY?0cP;4uWb-wFfDVG&{ zI`b5(8q}bCsbJ?mX;%lY0q<`+$xY#Md6NB8UH%gE((uP+ZYgSAA!<^l5N-bOaTR>R=-;Zb|wZpOTSi zr%Q!ZJ+5bx-AQqgeA?qcu1SWDqInHeRQWzwo=kFv3O8-vr~*GaE;{*|YL=hQig9g< zfgFrM!3r_*>(@zBqKby)Ih2w{(3|}=D3!$P~Iw}Uoxs?U*gB0_t%>ma=P7HLRCGYu6z`pr4SBP z1a=?y@284A6qDwTtkw#FBxx-3uswU9_0(^pD#bnbPi3!Z)6EbCr1|9MRNZcRt!9iR z5^&z#TBRi}aqaK==w$~C%CB6AN((0gZ1oZbFt8c!M@?L1yN<-c*to(S4uoOR3QS6#8u4j|pfAjB9 z6H;WUUtrnP(^H|282RuHF|SItqTtw_m(SPLL#h%I&Yx#T0v2eHwmJ-I*r$a_)e+UR zZd1||G?A}<+LE0(%7nUhM)g-HsUrY#t~w65)a0N9&u;DS1tfBZs7wLab;hecsD&e1 zp?48C^#xMYL~7we;Hu=~KQFGSKBrY>tZ>XK?&77Ai*_Y-w&4%oZS$kWJb22>8z~OC z?bIB8damY!l{;8=Rl%`1V{p9J?v5DTEj8D@@3iaVv^;aDBCd_o&7iJwP6A0xP-OJ; zB9IQFqn}e}0he^^vG}X(p-rAQos+?J@YA+76{aoSzoo3X-KyjibTl+jmZ`Z_Fk-ZH zYmi<-5t*2jL;%SnBxuYfrE1_M#vxa!Q@wNzk(Ug7BiuLmUBJ|o_M1g~WAArMT|qF4 zLfICpEWiUaN0fc$@Azh5R-2dwnjy5F=SbzZm!GaZ!>QgYi-6w?KjZuSl=a!(8>}0A z(9m1#l+ZFpiwr3ego-o)R0YNrQ~(A5zyN%;Xj;I9O|R3G@!R}9S!WZ&HK@$9nO6X0 z&itWC>DL)%>DTy2pwQcLIVV)E4i`IqJ$y57+aHL37hWJZX~iw2Y~jY*vDjC3RzpY| z?t75OPHFb^4#55Ds#aP#rAWU5R7Vq@V&F_^Yj1M)NGGo&&)3u5u2?dmt_>3o#D017 z+{hf%v->vq$+bA8W4C_Wj-Hb8vAqRl8_UdTY7ho71L_K#ss1I$s5tT7)$m7J+!|+N zkbgca=w1a?`U5JBFB^q?yL*9rDZW$F*Vfu>m5|6ph2AwB$2|z;>N}kJYZl(sr_{O! z*L!&>JF++j!x}8sQd%t((5mM#55nKeInUQx?6Id37Dav|Q(=VeT_`r@*SGm1N;Gvq zk${1D2j$n-P+ik&Hc-(odCG(weB&m|*>v@?RNN^9>b%c^k`Jd(Zo`XY zt6jh_E_3`}{il|Fu~A*KxPFy8k9$5+8+{r70FX~(GcJ6w^6JOXdXDR}osF$_L5Oc( zw_lR#F8Hmd3UIcj!(Q#%Q*4vvI50hgo77c&Wz<*{ZHZi&4@{>l{|} zKN(Pt!DH!`C6A%YGhl1#F3I*5jhh3i2=d&YGarF{N9cd}b-cK_r`j&qALh0VIx&i1 z?I3gi0B%UZbeM|?+59=T*(}v(Y{#~&_L^AUXWW&-IS`_$GERlMM*{TB@{YjrjE#CL z>N1=M2p{Pf_xbyMYwcFDox3CUQ)ncCfgH<;_mWI=CIUFJ*!Le9C@Hqa#G384I5N?) z)ov2c1#ag|oTa$1FHJ_-$*OfSFd#%eE@7Qk;JoXY2blVQ^6C43)VYecwRo}DLFS#Y z-Qq*uI#M{$)3L5{NBJN~svfy^KMpuuvtg!6UA4BhH5^RJ8f2xSi80mP8~2XPL1OX{ zT#t#4PLiEa29^i|;q939m8(tG{65@U+W|(6Auuo-xg?*9oZ?(gT;g)6!;E*x?wg-* z@9qa}s?E2sq%Ti;ySMHw_dJk`oM4`HUfuJIo>z+4xIgtaM?<477zf$U%)Zlqy86--t8tX-h^K_TLBAH{Pk~+m>EOLX7Y@ z2M)a4-9f<_A%=8aQy>=&)w?Re$3agP&EUrQj!1ho}wva@~P=(SlYcZd6i?6 z5y>a<`Cy00a2FtJF1Hb-`)Y{#e`T#lhE@kvCr_95P9(fny`8gn;RhD1YqYJ@%TXl- z`hq96U3R@(g-JCK#Of!Ykgq(kh}+{naww5x=Rs)M6&Pp8J$sMrr9@g79Ji$Ez6kdS#Hc4lpmXcy}@RCV{f0eQaQI5XH zr>3SY#H_{`GMrd1wBRcO%6?-}X)4&L5IXzOsLG~7dy$OlMukK;|JSGl`}#zo}=LbRe{H+u8}do6iHCh9%2=`AMKz@ zjxd5p2$UXWe|-;@E z^reLaEYczXcruWpsbZ8dA$$Dvtmu?2B_$aJ z06$$wg`!SyasvLk5Q|*MUAum|KnfQvdsl$>6pl5S7&BnMuTMe!{{T&Jtz-GFtW<8n zJQQ3E#Aq56<{s;*jkC9ez2M}G2L@dw1XIRvdJw%e6YU8KM%+f}MMuM_DYF=*XY|Ni zWAxQW+c*_#8?3 zNNhsZ;gVdF5L_zbm@IKQ>z;#Lh1C~5_zTi(c!OBXl>BVE>C{AIQaTR)n&08nTmY5K zamAxS$Gd*&ps+0!hxy*60#xmai+HrB_ zkuv+EdCM4+_oY{;KIc$92BwmucHrIZT|BWOyzSV4bAzZfx!VNxxTgB2X$`~9wO06+ zCOPUl{dF@eiT%n?)H$bhgnSaQ$Qf1#hC|hvSd4$aZCP!bM#)X-jnjL%ydGID+s@6z zZHv0@yfWX^_U5xzRzX7z!j}7PE@WD2>PfJ&c~Ub;6sXAYmvNR?E2pyDG!QwY{bA>n zsIho1;jDY1x90w?+`M1jen^5Tw-rEZeH1|F%cZr#5|T8?1cpfq5DOL{VaAw0xkT%y zy8{79Q?+R#%*7U>p}H!b?s0%K=rQZ)G@aPw6hY@?WlOhc?Y?Bt$xLhC;+^IPmO=+W zxa=3O9-aH0JTy#%(&^m^t)jR!H8RoF#ct$L5lU#JFEc+tf#mQ5@X=0}eBqO~=bHOB(XXSw@a_;eo$G&}R7eD6tv|QaPW-nxz?ypDe~3Ndz)mF7 z?oFRlJJK*jxKb*bG@M9bgx)xzY($N{f{-{y{PRgsBux; zWuphr&*uxL{{RYqYJU#*b&8Q|@6_~FBmq2f$`VRhGnVI#h$>0W2*^H!>%};iXKt-r zMwuT4-tfLXLg|{=@9paxkL0PNS@xc6O}8Ac{w9hFVBF&qASC>NW9{5)KAo-4^n$hp zDsDOXC`;lC?Wfz67TTIy74n@cSTd`ug}VHaekMO9AE$k4+4frIySzdIuCU%aqND%tVFe!sp5dAOO75HgGZ5Ua#3- zM!<9Cxc6%>Kf-$}L%OH^Ra_u}u{^^^NYwMQK*76_YUf26G26TnCmazUQ(jF2P;d~nwStdUGjC1 z+E1u;RQG-Q`mzD)a=hx-gI#f#ez%V^MG)zyZb%~s54eeKN{4Ys7g3}C0NkoIhIhmV z+5xqAaZ+}V3n`}F8^jMJd9XZj+vZl~$HX!S3;0tBoOM04%bT`RbUVc3$bDBm+wV-) z94@!%C<9*U+cZx90PZpL&N7(Yp~4<9@v^aazv5=<)~$sbnxv(<)Cy`y`W6mjJdrjs z2xdKc01i&9F^+eN?kVmGtV%gvG+P^x*TxxC?P(B$rMa8T3*6{7X9xm;DwO@VR96sEe!-w>L zwr2kT&SX1&-z~>%)XMI{38sP@U34ctO32beamw+gE2scmDV>kIJiWMDM(8`l?fI^L zJVbDgkAR*ax2DtDw`$wg##)csyKb^*S_+DbT|)Vgec~hWLsJlxLo98ESz>Y91n9D+ zwh7%<6w4lCW%mp?`+3?mvrksit;r(z>mbZiupFb!B{_V?UaUde&8!_gxqGlitELe{{Urd|2Dtvxj^zw$$BgTZsEhcu-VBUtM{wk;c-fN}5`` zL@-SuhE#^GqL!u+9BNS~sSZLR)Rzq)J+5vDFmbrZ^Gv4gPGg$xc?q)c{lyM3ZT-Qt zc0ZH;C);+UTb;NqERsFGHbtrP%SZdz+%z1`Bx{gS^UM?|FYVart53q>e?5MsC5_90 z?yA9W(5}7w1$e#M99H3e&*AR*w*LTyHzYNUX}3dF3RGL}#KvWKAgNwxor5h?3TZi8 z%gz;*b*aN{3+cnR8~x#P9DjzIb$jYxwCC0N)mX0Fk8oLQ=d@GP)3(fwLA9AC%}p8{ zf5Nh!@W+fs+{JBInskF zH|&5Vf5dvGd+Efek?kFGGbqYq<)kUiIZEnEwg3?4N(z|>p0$B2u119$-O&JhpP7(k z>+PP}Nl_tG)c^t>Rs+7Dr=nCd?-BR&0UtdfX+rz&Q4@}SnD^4@C|ES{9%5S~MuLc1 zS>Pw32iNJRwXQ@jx#9K6{WT}83kH%t`5^vU5Q4kJM^DR0N?1VL$J61@$mvobvPlw* zm0cl}BHD_Id@#ZjkJC*6ozRG8sDwG|f$fbw3cL3A1!5SIrUK2JfsgB~14lSohT?Wk zjW-4&k|px#RxyuM(|fbXry8#6v6F(-u#bwH%qQG*(cBZw9rKcYw}s}NiX}90gO)hdeLL!3(zzk5yqeu{kN*Hnk&i*& zN&06f^@KrF9mgeF1_LB<;FSgo zsW{Z#(qX7VD!AWgl^d2qGoIZv-s~g1DY3dzRoz{q%LvIiIns(Cqy`p>9iLB4-W6hf zPNr)B*)Fp(l`z?rKu{xzap*ef%@eYWI7%NKwkYw-fWElxr)eokLROj;IX}o~3@L%= zPb7Hd3Cummrk6odO7&@jNVB4jbMF!QlwLcU0RF7q|EN%qUuocZ!Ql6z>k&+~S>eHDAScY|YHxB(x zXd}Wm`VVi&FMs|WJs6(Raj(=|vsJacIm7*LKjqW*k*VM92dd&%i`TP4)lE@R5vn+6 znQ|w(o14HS>O z^0pL?!F@6MAIn^GX_CGQu;JBj9_xZ6xcoVObWfK7YOT9}jQb{r=M6OU)rNa?%OZk5 zdkY2Vf9g~N>#QEr(s$^d8@Pk+IruHRdwOKSZIhwL* z0F}-;AYWc)Bn%H;y?cA(*0@Ikbw_t?$s3jFK92ne*W)}vmKLK`LVRbFM>6Bk4f1F9 zgOWwq_;v8-NwRHry2#=b*CP?-1r*6Nj(L6~>CNhM(0~VFuU53SrEgC~G3{TjUXOhq zaQ@D4_E}le0l-U~K-A;Ro%ewvU_=Z6rKb?L-wFIT?7ME@-*Q#G(tq7r?R3zq-8T(u zKg0J}LWjt1Rbs~q6cdxvRjzNe_?&&;AUUmG*ml~-f?A8a`j8xSv8@`aRB^zkO@l9a z^20`4S_G#1ZeP}xq;boS_lrfRd#wxB+N?3l{{RE9=!|4Cp<|hDZk*n2K}<#ojw}Xt z)GTAaeN0Cw!26#u>KNacuw`)n0P&vC7SnqHET^hjZrI5#zcH0Xx6Q>s?q zh@TvrtBA5)EPOw@)!DW(;wi4uNhEUJNEzi=&sM?wC!hdig#?XcUGb37{H!!{`UUdO zr7z-FT`Gr!yi&Ag4QEKyWA@W*OOHY^%)n4jZ*ez%ZECqLJ3i@6vo3C1n&n9tn&TlO z2mT^Z-dQ>S0Mk`JJ#p1I-B^l1HhJz(y?hyS{7G@EGUjj{Htu)sss_5w>*J^nk>u95 z+>5s^uF%Y7tb1~Z<6rn76`R;!ARC)R$8$U9f*507!j zm+`CGw+Ex%=MVn?8PYw;6>_;nM@@-bB7ubpxeQ3aRUhnh)oGjs#vCM^_UnantyOkm zLV2T$lOyx_=}y>9K5G3w%dZrcJW3y|+hI zB`wCTkgwh?9F?+37nWIhUD67Vg+>E3BcBn51&=t;@A<}lN%Y%3HuU=8TF-`krv}oO ziTod#p388d+W!E3a{+b^C@ajAS9)o?txYnqm0WjJl>sWFHZ9$y`nmpK`4w9D>SJ6w z{P`}1ct^VG_m>NH4(_g=wH3NbulHtm59|z=hAoZ%_%?ziz^8WzpAD>)l z0RcR0kD$JCjEQ6i8Y{MvM;5tI}5vSgDZ{I{!D zw3>X7wk`2GVadnOPtp>F@x3AJa2iow1EPAr{MWkNm{w zLIWkjG7bsPzJwr8R)w-xI!Q|jOG&k;X+rWqr{+gpWY1N79h+n*gz|-4YCzzGpRA{+ zQsIdHU3B5WagO-L(Ss2@3j2=)U+B2ZSfTXNjg>Gbx}IE0#^W|rCjei)ZI_R|YmpWhHSShco~ zxQKpQG_)k|N!+Z(BnkLoz&Z>li`SA<0zJRBqXW$}K2T+(jlUBTJ+r0J33U~|Dmr+M zKx5ZVXdKgn`mE#;A<0}1uAex5E zhq=a+QopgLm(bpcqcgPkM=(;YTMbgH^jYTvb~COfAZ z9`)fIN3a}gh<1gx+&YncO0OCtZl+K4hJZ_nz!FNC`{AoNkGbvkn{gG=0R2D$zcj*v zHb%ltARS{z^hG2Wewig#>Ak>vHAc#awxQxD_aF5iu>8vVj?2-d3O(Nj;lItOU8V06 z6)FMZYY!?^{{X1sNozMQBE$SNaALv3`*3^IbW&U@>LQJ*$_L8fvZ}9yWhF|6$>af! z4o*D^+S#-jrJM6#ZhAKKeQ&@ljT%h`qrY>um>2{7t>hpnC&rFE?B5PsPM34l!f%_d z;-qb@wG74|+V9a!l^9-hri7@>jscUGl|4wQcX^?(M3e9L{Le31m(n++Yi`fkwe=g` zSEyp0F^5!e+ye(oK+D~;M$+N}f&4YE+!sy3eDOEM>iVtMypbAHbf{qsHL45}w3f)^ z{o1G6GPqeZOo)H3t#1EAEa6g#$CZGOzt+Ua+gY2&m>a-aH{SwWB?AVam;dY+g!I9<3Z;`a?$br z-v#jxr;p+;mlCQdWZJZn7%(akuq0%#b2tv%1BAg<*GX9M$x_jzQKuv^fK_5o@`d{M zKEAr;Yu9y0OSvzHJ5SoX&M#b6yLKCfv|+3r8a`y@$0V%Rm10>&3FY-U{J*ZNk(n!* z1ZvEro1B!S zdTHxSal;w&8wFE2&rX>hng04|d=&ofMpu$iR9fbtuYzf4>tS@7HjZy5dU+MOmE&MR z45dQ`7%D&`usUd|J16&LbOqu2?MtZQXA8EM1i0ls+1ZoRnTF-x)wGW!b(B%Yj~uX3 z(?u-JbEsHkrFBT2Hj-H9V5%A!GHcV)4xPCVKW{F3`FX2U>64X57i$fK@FBWa|R^8k^RP^U5zl6sDkiiEypT{M7XBYqlis^P!yX|Qb#RFTbY zkkecqmBk`W8+r22E=EN+FT>4|_*D9ZFa+{^`4Yw?3rgQ+R^2 z?7hjiwzm%H-s{6%w2x}6j<=Og>xGClm6KyUvOBW6bv&q}zbG1_?i%WhFR6#SB0r`! zA4BG}sc}%p3Uul%Rofb=t|=ztwp{k+L1>hUTG?JFRpvft zG*sYWSx6{OdJSgMtl~zYku&cQwmX)FlEZ@$@mA|!xHoN9?x*665u27JYN4>O7Mh)c`w^G$%MY(n(JQLf*T&HTYHEr_V@^ z@GM(*qZ9GT^XsE2u5ck~ZQ7$CbNBbtgr?zP{w`HNg@@GXa*+y67%TA^IA2dDMY7M@58AyXLW#F8`DPHRZr zEUdo#0LWv|d+A(KIIK;;V>#=eeK0(xHR};qp64S*rz9qFyfvt&0N`h@T_JOl0=5d+ z$-yN4V@s%@6erJD>!mLoktih93m#4gIL?r`osbGFdxN7BkMz<@w?wa&=*JmQ2h*m2 z=R!=aQe33T9cM!@Nj zoM{N1!bS3`F#wp@WE>R-NEzgijH4qQYON>TRfy^WpvxcWpu3t?5PWsNHjO1oV5Xi4qIqlOjJIztiYd@H@U-!s>@~N*Ej!DW&-CZ*@%b;Le}z85 zjyc;J9qTnxwjJ}l+|oO-?Rf|P07+a|_=MsF0WbF|H~Xz9r!wm<45o_IMayR!Idw^{bhp5eUj z^?P@SvY6_Hws4VC(o+-+kg4HjX_D5rNP;yI4~@|}PLLV7)hStG;O6<>7jw2OHadosJSinYa!nI7kIIP?#^q<3 z$-+X6S-DvB3e3AMpihOkUav#Z*A~64{vSe#W+l%sS{pe!n&KRKHKdaVUN;8V6R1K)@`LNJ|busj1qvo(g-OeBN z{`8w>m7yC-hnZp#D@3&;m>-5b^2ZoC{2(-)If=(iJ~76mnsm13=DvOYA-{=JdiQXC z97Cx$axffcnB>rT037TG7z#VoPc*W~vX@di1W*7`f!KB)pFMKUaVAdd;l3xuYu;5g zt{hzB&&!YlUq=!G%9I6PuuK*Fr{#Da=WdmH_}@$S?^}{DJ)Y1C1eSkOXZU@ufffx1OYo zGnOP0d;NXAwGn4slD4dR&^Fps_n>5w7^$HdBt(E0$v7w9)4qoY!gzd)q|L&D{kH2P zg4bPerH#iRCZa$AJvmP)JrB#KqjffsB}q=Bfqd@!d9C9X%~%_lmh%IBOuN zl?6EiCCrSfii!gHh#1RB)w~Fv@r9om+1brcZY4 zPSdxr?6cp(YJuJij(vJ$DI>w|G+lN(ZA9Hs33kD#g3nVqTqJcgb1T4RQZl)YVGwKs zfWYMR)mqk|xR!6fzki68cGm2MhQDKvcl@rbcyD3h-yZm>;n#KW`sZxA?bzumxPyME zrKk>uwrj0TTy%8^NiozS(_2x~IsNa%GltcRLf1PShtKe=>-v=`Q*eJg4^p)|jm1_+ zT%>`19&GpNtwKz$Q5GfC=L;HR<)t!(n^%UYk&!p*V{-65V3NRNFq5ouB1pj^^9cn2T=yAMZpr(-{W9f zT8SNxQgfY1*i3hlC~MU@ZigiQ0Mpw}gsm$d+R(^OAE#eUG=n>*lDEfmh!6{}<}^u2 zP?;_pG{3&hP}{lCgiO?C1?Kt zX?u3ta^CXJzzWp^M76{~q}?z#a4sN;En%KTIhXCJb>CMSDm#77*)!M3d8;ZUD+>&B zJklJHss>$$;vI%gb*FN|L^XTAY&#`$#hS)iy{;8;InsHPg8*|Qaj=*rSkDXg-J8Sj z32L_`il#~nyma4o+tStY8KSJIQjK3XQc|eLAdzr?brSL`0=YBOrYX}6Ubn$}GiAUy zOE_(&THKdAE_2WIIQ!sCHKRy?6n5an9lF17?;bAKuia`d)fly`@djFJEDhwqq>>1C z2xes@f-%j2p|s04{{Z5h&%QZ+eU~Zdy0N;UU$pgvI_=-f2X@e>;HAQkTq6L7|YPGP`;el1oi_M$Ksq#t)~Fw{5r3SeLMPn zv>Yw=_SHO9u_G9mbnbTLJDrHyBUbK;zuE6@qjrv%s1kCXt&c?TrFZz4wn^?rPi8jEumiq7pQ+H1 zDJY7kD)R+BlrLa0(;7selyT>fd3oe_W7GmL-&5a20-PPyA5u=LM>~>E0Ko0^8UhHD zgnvy|p}Em8!G0h*f}`I}fz3NtB&mXhw+fn9dOCJs2Rx_n4E86u{#~_RtALd?5KEvX z5BU1ovG%=w#o^5jP?GG1EyuXs$g8+O4u0oLgZqj+jJK@EtDaR=87{MRT7s=pf%``x z=6buQPF+_0JLb}+X;bI>k2B;tH?LlJMw@1PB_y`#jP}jHRZ_wQs;raEw%5c|DTcBh zq8R@G>jU8+H$pjudzw$oi5^>zS6^2>l=ih)b})Vi*U?E0xwI}^9NgAD&q-&v?H#=< z8k+d3iK~K=jmgQ1U_7dtM=S788NgztnMrKm)Tqn07KaBB(-|E`;ErIz>229k(c#ep z&ms>)u^k9fpM32;7;(dGLwDizqKj&78{`i4br4Z3t#_CnUn-`Q3_Arek1>8XRRy_< zYdX%QduQmW;%N8}BlO#%+TvFBw{-j3BTJ6>-1H;rIV%S65y3tc@2#zV-n<{<-xNG6 z@#ca`dqu+EXr3FTrlOcr!c|`1SgvNJnpj>=Lf^X}pi}^3t+Qw%TyyUEb6$VND>;zD z(B?w7J|EeB2sGMLy`)T zao`f1^)Sc+*n^#iZAqlm&|r;?3d_=IBySUwGs^S{R2uTnQok7xq z6SPVP4*Cq-jUobi_tS%iM1TZ74c6@J-+5kM_y@L-!72I=M0-iNmR1aAf7d`tS|bR? zZNxz3LQl`%Pu0yw2mss;7?Y9w^o8XJ?vm*&ti0|*_UJUy& zT(`*f)0*S5R2oMJ2tN|e^*wuOr7oCMnf9mn z{{Y!spH{7ht9Vt%!R_t3HYF|heo@ZwSKMla zLq_Y(9LEl!9ZyC;lCUb-7-R3O-Wu}OID?aSC8ggzg!uEzLxSZ z)}4vlDo$)ZDc^ULmrc{X_VvEg2%0->3(=vBO$=Z>&E&=vRX^p&%sPBe@Qh^W+TJJS&zzKi`QaUL{lUvXPz(5A;|rr=MA0WT$>U;_hG#F8PPNiy*j#z`(*Ahud9^Cdl7 z(bm+?(MlW6c~R2<zIQZ)*dmNgDnlQ0*O)X|&tc%S@D%amOoDNMM>mBUB3~I~?^cae<$QAcLJ*H3J)-Na8)Z zx8U3+oeE{TX)%p}bde2fVQc{WzMo{oM+fCp!%E!P-74h_0l%NmMG`=|pW9QnF%P;fdzu{2=u> z2R`^GT)W;}WUq&~=NPMfaBI~$J9z|Tu|mX>uBncI=O?BHfA6NOVoLSkiKIqo!++8N z0FRzNo&9tq+^q%(VN*PzRuvg1u=)4v>7f(JBW`y#xyrQEp^}rL<2dKX^dBt=5v3w5 zG~zhP!1V*a&q7cTq@7E32Lxc?_tG7cwGK$u3dqYhQn}~|>;{acl8oY%1`M)b9_&Vf z5&}Xtj_o8}BV2VK5j{?bN?n;k+Wg*3@I20~DzI`o8@ZY;p7wrZeLXs69#gcPC8l)S{sZM({6>+oOlOS9k4; zMb`Otj;?AC+538LDr;PdY8Y0usNk}(fr6ljuf)vENEkR=Q-V>f@loyZ4tpOg^Uqb$ zaIVo@P;Yd@Ej*4#=a^P4;ePjMjy@6b9`m)M*?T(k#Pn-A)>lSX&7@iyE0jKAD#92A z!h%E%$VhiMZeF<6tlrWCj;uj3=ORMip?yuk+6I%ndm{y24L^e|oqybxz30RJA#Q#Z z+^cP2ZWQ+88G8D-<@mx0V-Mvzw32i3liLRw){VWe<+A7Q_@lusaFt~iYg|?)+E#07?QNpYPp5x%|$8(v#M-$0c%-0U5`0 zq|#H`4(P@SE66{*U#5_-rxOTCre2nIZ#UYa2YYEldWBN+N=Ktdk{Dv|h9 zetK{nQ449KOk}T4{q*fAR+%7G^atv6@DeS4LXbdFpRRxqv@|&+nAh{tp;9DVMXZ>p z0%FJ4Klavfu1dO0oFmF@(Op(KL&%=FCqStw&|`FQPg`<#AHT>wNaoX%3rcWpH8o?D zODQaS_3fljj3+|XB<`wtizxZ`(J77`lAbtfAFB;c*-dj{Z;q9`#W-g9Y5EFmCC#dt zR1SQx&(lmxIE1{nQbYi9nL0uNM5SdgR3iX>T0+?g5%hA#6q48)W|D=xRm3tHKs2S^ zNM9Q2br>!NoE(sqt*#Wvrw*U4ohbVz*e1L3JM8bfqS()`>50 zE>ybyZQDX(Pgia@7ykfSG5P7xlqBSvi6wqjo-F?W?iyhU+RBT5E&OZn-@)GvYPV+P zucW+jBD#)t+Iw;(^QXAZgO~49Mxd0Ug@|X7h8(YyoXp3S151nz)QmHdxc;}@=Hq7; z_MqH%o5lXsU%b=rbpizyH`|R(V3ww?Sf|UDmzGInmQcYLmNIe3y3w?ws-tO+WG>s$ z?`Ovt?FEktJ6Ekqht%h^9p{v(9rl6UDrdCGHAF2f&g#M>1rW16MCM*>pa6or<$3}$ z%hUjM=sZyW04TI`U$@`IE!${zPNlsj_^Uazm;mPI2=_InBY9D8a`58H`!>Tz2ISk8 z1*WlGt`t=l3xZP8+-s?;BBn8Uho(SpIL5hV5rtfr16kJu28M%y`SV^S+wRC%Q{guJ zI^MlHea$NGW1jHFKBX#*qXotUPmRrNxQ2$bc%dh6Tb_mr8-0@71!_~<>CHVPk5W{x zDk{i%c?Ua4%FM(vkBNa$btbp~Ov0tr}Dp3HcUj+Oh;A6PXPhUcP^;-VwX=(Ca3F#lU553_}q!0cc(-Vn| zZaInNcXh(&6mdc3KbemzHS5iuzz+HA-|MW4?j-7-8D1sn6VfevnmTE_1a0N> z+noH+dkux{RLxgg8^B{Q=;^E`|&0Rt!N=rp@1 zTu}_yn`fS4f+=d`9nUZTA9IiO>!3<$gkN&pv~-}yN)~eGJg6`S)w`d|K%Qx`koDI} z%Zrtj%EO$5QH2^*Av7@sUp2rP=sITu*Fq7rl>i3iAcNaJpG^rtg`~(q<_v!`{PZMS z(x@t7n?AY{t)}At0EK1vJv1a+7Udxel_Y%5bD;=Cb)Ii73k(l_+7g6yNi!DDnC&R) zNj*W(l__Z&0r**1kBsNGbrzC$PZ$_VYi%Ev-+HyxNd&nJ${UpDzCiDdA?Q(MoJHX!%rgG~$6e>Q{nF!Zkt7a}9Hx@nDUac7d9o=U zR#!Ieh-^9}Y<_D_+U$=I<-grskA?pL4fakY@V|%LTHoAe@fXBR@pQ6?FLXDp&o#aq zRl+%2@ARK^w|&(?O2FloK+H%^eu@-9PLLiE0zAI+$ujck?R*jW)l5yX!y6XSin`Tc zxbHeTNttD3lKWFu0Lkd4c6LxsNg3;@#uj_-3yhTKQN{OYVx~n23M!%~^iVKAkkY1? z!a1jmwljh>q+(MGiAJ%K6@bQl{q#y!wRrIvv6bk1kDiuF03uOURSN^m20inj8BRF} zt*O}nBof{9rx{2ISVjQJBb%@5q|}@y5XdDAaKI1GN*tO=2-P#n8A6r%X|6p}Lx{o< zDit|NIXLU-r$I_y7AB+?_)7fx>BJNg5V)kyGt)W~3Nwx{RAGr9EjmzysuDYZG`ett z5U7<%>dK^POGrZA#wAnHd5=!|a3)fcR*4ER7{ECFbl?v(i{*qd?h5<#(~!JsKyily zri3b0qv4%GxNjwo(REL`Z#8Acc1rp_98|6YK={wLmq;4~In$KkS@?4+tXY7rG!~@} zoq}7^aO$y86pkQ1dWHB>k2I&C+O^c!AG<^J@1}=@js-0!>=Kkx(v152In}0~X_{IQ zq&7uI%QF%5)3p@DdkwW!l%{j@(rOV23Nu*hPz6Q{j)Mb8NT z^;_{!Kt6l_0Ir*;BTt$R@y^ErR|ER#WI_uwC@WFa9-^hm{Pexy=$i!tl9Hpbor(6x zZ8X&KNuaEwq?MNjq?7d1g;b%130riGPHGN*ns<6ppsZ!HyX5`mLG$GrLsaaI1t#nE z>i#yWoF1dF(cU>Gf}&50PB~kADDW41ak8q$H=TXHYAb!R(Ir8rioU+8VH7JYsyUJ+ z_~d?EF<9ADg20C`ml#iNB4qSje{oZZ{6z5u#GTE=J|OOBFWchy!mj6B=oT6pL>Ne8 zL?vnI;!qMeS2$H2$zo&yN+)FN_+DxO#~qm!nj3^xTQ$1A`Q^sAmVYjlz^IyTfqA5o zAj8lyAQ>6f#{^{Dw3YOi@QK0=-=tm^0Fh13sAK(<-embnA1-Os@exfo68QbXori5| zYSPzgo3w%?DyBFhQe9LNggl@Qy_ELPPO9zNss@GnNR)=!I zo*7ZPvNtwnT>S%?EVq}!PboZvi4zZ1G`jjIdlypRAQ zA`6S0P8!C5=Tvbaj9@NwG!!nT)nnQ(G*s7Wd(~WFqZMkc$j3N7S1<%c-;|Ne>J5MhDkIR2a_O#PtK|oDB&Uu6AZ-56PaH$888$hd6LDN7Jr^ zArZ`13UQqKXhJrEpb$v_eopD(X25Pe)N1=1G-@ zP{D$qW7HmmjaRDJ5UktP4R9-=e+)lr)u(6PE4TNEZW8a_AKLhhJ6!(&Y0%Q4vD~j{ z%@uWhw8?~2np88?LK`VFzrlqKta>1{xv~s<$FK8ct#Lw~W`R!xbyv&7J~(jCinM>V z_HOI4ZYU&FEY!78IEZz}FjhFuN%}DN8k(I}xntL}eLvh2txa*Kt$Kq_Qb=QAA2>M< z_{#zG%8#ynwPOmll847ur1E)r9XjJd@=gurP{^u*I4TtWx{XLNfQQF1>C4+4v7%BC zA{Ls4EtB83Z3M|kBw-Uyk~*AxBOS4&K1o1?RMeFu@~&8oETD`)M-)~ol)*}r$4-Rx z(`7ZFqw%(H1#*RPj+#Pwr=Z{A8{3|)gnfHy1BpQa7}IRK)&XXO4&RHmr4A__C}`Su z7}yq)ERUJdsHPT@hsC$6&Odnx{LY=JCX$8z#H>(q@eB`hr3D&F3fB6BId)tF=yavh zAt3}HqK>LV%Av?7+qQt@hs|yKg-m2+80Y7wwx?2+3674dukNJ&T7IyRZu^Z_q5fk{ z??MzEj@1qb7+;_rG{Qv6m?LUCJW6@8Pq5|E9n+yKEmpuA2%jUk1k0i54X!nprK-AL4%Y(JvIs!vr>cAKV1+|gSAw7IVetuLenK$4$P!y zPYpr^C2E6~V~*YQnnD%}T#19shu2C#Lf!jnG1-&cXdoed`(a=3y8gOs1R{#NhcfkW zet6Q7IU!g70NPWssknvUH^luDn1yw!#|G)5cVMd(O$BTds}qCMkW2{m40SEJhkDfX zAj^7#_xdh8uCh|l&mPyLs-S`2;t>Y|YLn4JvJR)>&q0+@>PaM76Z?X%Dc$g?Ja5Ok zx`<_@3rDxFGCnxzFf6 zYxUKZVuxv}_KLsxc9w60fF;#65!Q53B1{bROeV;-t$%>s(FI&pCgUZ-zU#~wf@F@e z8E|sgBMm6PUgJ5)>t5Zbx`MuP>~9FEb?9EdeI@#qK1$DBL zDJx-~LV}zF`^L!tsPt~1)N7Qjf=8PCkmJ|YEjX2W4e?WPGSh*~Pmvss@r2|-xac+p z(yrTfl@V@xkpBSBD_EJFtF;eWGl)+%&w@o2_MGRNeRyFi!FFXP8Y-4TKkXl z-bf|P23tj)Daa11&Z~m~0gQ*US1Y`?35&}llahV;NBZhT=dN)kN+>eB9$tz)fY6a{ z5XBG;QttAeq9puZ{F}0mkjeUKy1F4?s;UX-KRr1MFbN}}$G(IiNO?!%D~$+SOtLbc zjO6#~dgwtb0?bY_#eTiCAT3QH<-(}>eRLsX&79){7{^~t2wp4Yk6hsALKe{E{3HNJ zsL+HqIUAf3>^(7_`Vfp&xk*36p$O{Pa*~R1kQsV?G$jQd-z{)nXpMchkk=+z<4onT z-`up_{{Tty zJdY)>Z%nzMw82(c!N0Tnfc#ds+Bk{fTf}DJ{{Y;NIP2Ch^5R-R`+jmxuWURwr2Dc~Nl39& z9JT{V%Ybu{@p|Jv;7G=}6-ukv?12SKs%oNU*#|xsr%gLdAsSO#(6GQjK6(Ttj!6A2s1)RV4wOo0MKyFWDF>rzT6(2K{i$lIXELmnMhg+Gg@%NvC`;06I?nk zJhoCsI(;-2kWv<}f-&j<&fRHfo!8`H}I4zZH{+7r>mHD4nFu|K~} zAt?z*k==Pg1_lGaT>&Pps~5P2BnVh(z$YN4<%|-fXWL3xQ79YT!je0D^k^sx0e1jr zCA0<p6;@7qr-DW%2{bep2DClSY=uA(gJncfs%ChM;_07s8cmYv-t)KN^k zs^iXZRekZDJG)3+RtdW9rGOlu{(5h6kdm`Imh&zEbRUt@_b8H}&)RFnxcGbEOO6yZ z^)$l!yHby4*`adEv((QzRLoefP?6J7RY>0;qq_iQrpR=jN^5ZhpD&60E1vz~;xB{s z+y<`j`QgiK->bG7?x;6)=X35GRSXsPda7%ArlpRZl|#yKK@4NJoZA_T&DO@+!d$Qm^_Rq0TPCZ*&WO!`6 z?YJj;o4)M5)HA|VBRw56`4sOOD`Y3ZQsl58nE=O7M@4c4DmqEajQa)x{crTSZ&AIR zy`fAOKELwX2Ti1B_U>~a>_n8*S|zq@Zwb`2)%6q!`$2BTS*H=M0cJphKN)Pw-wEl^ zoad&fzPnpUIP*Ux!Lsj%_Gi(hN}N)tWi1u87h+99;2ImbaW2vuxigW^04+M4o~+*Z*EdjVaVKKG2>VCIn|pNX>>5We@6+S!DX^MZ zYGlivW9R_&(yn!UASyE>1Rle_gfB@52!(vJ?t7gGUL-_ikFUOjE!?W32N@kSA!X~- zuggLfT*Q--IemV55V0pG;?91$5Web0Fu3kMS`e^of`kK({{W_hELua?8ALKl(e zn;9K+Aqe(i_0Wa1W1%d>_4VuZIuM3KFu_7dBw!Pv2*nvl^as9#BkN^sl=5>Uv~As3 ze-Hiigi26hDyufN9_vM#jHS15a+dgTvDF_y!}wVL0GqaS(qknk5}$tt+mng5Za?t$ z(XeWzvGIP2u4UWCX#$6<5K88bP~93Tg+_p(IBzgu6M%ELwKkeAbA~zkr+;St@U-}K zZ8bwrKhKWe70~B^{v^?Ce-nFdO`}OyZQ$1wHe|b*>@j>W?Ono^20M%prhj)BlAKIX zejmI6(36asFM|#~CY>kDM}+?XeTL3QLMHY_v|R*S1D-I(mBRROe;R zG?0%V5jXj>pFyRZA}3^h3P!`Z&YKBGL@36fWD-Z$N&!Q$lpatra1MPm0Gz{xicG2S zh{^Q&=>X`L)P}=xXh;ST%kuTnr393+wQds;063mXv zN*bHMM$4LaKAxH~gXE5>w|S@^1WtN(&WSq|rgtkNgsp zJkc=x^q@H;@F=dWtsKR= z5xGwDx-s!Bjesj1UB82M;I+YC{X0;n1gx!(J2cg)ugG4LaWF_|8M&9o{v3&dFR zy=BI>NP}{z&O{c-hH;P_^5>Z9MjR^uLjdb1>GxE-S64?vWS-u>Sa!g}43Ikvbi()Q zKfhfgfs`c=hWeS)#AgVhqL!H}nzo@LX%U74JX7&@1DM=NWN%aau9MGx648o z+>Gt`i5}o+LKLut0~jYCT?kvSyuEowge(X=z-I$G5WeI99%G>k#sDzrLC}SPa52=M zri3je+~i~*Z3tdBG0Fa9=Ry~Oeeiyo5VOe#Bd&xks@YI*Pta&W&08P<0CyiwHI}&SnZAz;#WuZoxN(|hm4LR zNwX~CO{YV|C^wGTe6WUF9q30jVCK)@U%f!ep7EbubHHV%sL!k|lTf~tyO{W^(I~W% zNXzCDPr!0;6SxXKnEC5W2v|-i^50sn01TvzWD%uKAf;V2!=T1LJt-2J+!SC~Fv#!I zrZmY?IEX>zTzo|L)8$9Vp#E52Ko72oDZ|NVc{vF<#yxYTB`E~u9a}2{5D6gZgib^r$qIAUNxfZoTx5AR#ENbtp&~0G%-PLO-5WXpb{4Jq~oFfTSdxLPFeG zRhfhJ^vAZIqMW3iT=+fyx+a2707z?pVLndC{gwq6Ckl2^!F*kI)%_GfXC^m^<^wA?O6n4 z83cjfPHT*$1r|+qOqE6~M`MjNnJ5NOWvvcB76;c-1_ZLTy+JroLH5(ovxUY<$mPy7 z*A#^r1{qV989fd==|F^mu!G3Ka&iy*_tK>S1(LWR$4q+YQOp!oEnsFKs+Gospvge| z{(j5Mx)Vvt%phP&s3Ss2TLm{iH#aX`2@pB$U@H<1aixSLtx7abKnv6B-$+d12#Q*z zjzYY^pMUkxg{dwfC01urgRi!br3;m>wR?8a?mr!zO{J!0mP;M0Zf&;Z$1j@=wmGF9 zy;bW9lhA?))XW|cKbcluAT)V=^YvASd#sfRiJDjC%9HUPzJsrzCm8o0x=_$IOqBU} zF1Jl^@eOa>>h%!CwrtlM)4B|lkjM8}n;`cRRik6S!bY@saEhAxNndCG00CW@H@=W* zUmx3NO08q-)7>}!0CiA(i3Q?&iOqA}m%X)Wo}ePkKK{m5W_gGHn-hY;2p@|iu*vPJ zPkD2-6+iK#>4Dr+k5=FoFFnNv0aqp;Rln2b+E^KxsV*>D6hbUqjN~5u^QNzemd;Vj z&}3*r%p*6pbRljSObie{xX^|6NjT*LLKmUfoQ}lkLfA;oa5M7Ig{-y?IY9LK=t9)& zNx%#Knh>?Fa6Z1e5=!#}C)4|AO16vI(1qyc1bz^GK6((c3_uv| z-|L|Zepvqim9!ydtU>1G9N)`A5u8;qx{y?(6W={FAr55)VsvH6ILDwLUu_6RG&f@f zLdNWjgz~ZLhRNzqeGY$30P{``&R1l<2Boy|$HC`@t>If7GHwXyMV{?aTbfx?hIWUQ z*yW2d!hn|R@wcJYE9nN*a2YAe@o&(#c5X!V^Vs0INqQT=g12?nOKZOUetANf;dAh#hnn5L4FK>aYW2 z1a;}@q$LY&CE3w|42pYq(gJ`{+g{#C!enP2`g8=cc1i1n!N4Su+v}%?0+Ax?Zdu4? z81>KxMBUPL?r5ZraDDXTY0RwBxmbeCaij!|ly2P!YPC=Z1e|;6Wc5f_sc=+19fNvf zOC=&QOS6RlNHjo637)68l1T?a5*2_U9@E#lvgLtZ`6oyWWh&KGQd^v$<_A5_o?JIV zCuU;BeSW%dc!VPe1B_)r{PenlL^!Enuh1Udv=h-P7OYW9o?PewAt-UEK#P?){+d*d zMe|HqTa@Rgr%ehlw_2nK=b-oh08KEVHE_)c*iz z^(!@j4v!)73J}#*mYP!}tRIw-@n8d-I^Ou?&C zukyi64h18?Ig0uOFWKxmL&Hil5_LZKwlYLTvV%3)oQr8 z&Lomdl1@n^4vz}i;@1;zvFJxnL7^i1pP;}b9{KN`30I+j$1&^Mr*Ec&Eue-0fhXyq z2tu(82qPn}QQJZh^$f`PN$?{lsUxn0Eblh9r>9ElV$DyHoDRq4bcGPQX8RC$i&=E= z`NYkSJxsGLlXrdY6k-UDI?7dIJ9PNqkoP&xvu@q|;T*vD7(h9Nc+_>zD@I0o{(3=> zf>VcTo=hs7hCf{Z;R$6F@(9ZFHaq9vOa&6XTEorCGD!L8PlPG^3BMi7EaqcaxHG~qCvx(OW2l9SAObscoXu$H!Zw_sbK9=$a9kdO#R z^GfA@5<=tCN*a|X9;$IU10ZMg(J_Pol+-C#I;Tb_)SX7+B`5^!vbfOHtYw_!V@_%0 zkvG-R$_sk_U9~1sB-*U+DOOUTXaO=z!ooLj>=nR2Eh$R)=C^s$5OU|69dn^arVt4$ zBu6~I5$WrpA`+GI5!aLD^3fmSv2%JLGE!hAd zWMfJlh)9X*E~N9iF#vb#q(Vy7-WYRrZf{I=(iuWW+%B2t=5C|d=}?>Noy2oUd*`-< zB+$6jPbxtYmzCTik5a_o56qlt51I<(8^%`Sx8HnR_^7;Eu5ny#Ra`;7G!-D062>bX zGN%ib%3yqe@845X{h?W?e1Dw+iB)w3$tx*tQ|bmXI`zQy)75fvlg8^+1+w93idITm znwV#mM`tmsgwN2*=SW&6R+TO-TAiEhSYn+=HSQft1A~3q-S0&B3_$90rCEqb3m65? zTkG3G7CglD^~bM$2wnlyoM7le_y7-Fd-u?Vm~3a2SHFLK2w!E6Il6ys2ww#Y{{U?W zUt}+~bRl?L1`E?Z+7P~OToc#dLJ)Q=dyog|p$lM;4(*`}a9~D+FPL=hMuaUu;NTIG zM_)||7Fq3_u|B#ItZ;f`KKSpUAX$bh>PYq@LRGaGXBhQ<74OO*9E zYQzW79-Z@yyMr~z=m*4~vS`6qscAqMbGR+1Mq5#r@6PoA`2UFJ>{6w5rJh-S~P zw@oIHl@z^O0^x%M{`ypima1c(VVw0kLSYFVTT)4GTyuBO5SyFDX$?CuDx*0*-|re! zCTofORfB_^CE~Xk>g0(ZZ0-8Xof=5M2Cd}s=+h)0iRxvhUdOr9Tsd`8Q{Gn^W;xbr z;;X57s<}%}*)Gz`MqRmy>y{+v=hId|O#)_8c5>lm^A&@I!OugbO-Z>Q9S9iEg|RXe z5(hErGwGoVHBwG-`shON^!z6yu*a^1kiNn6>HPF1Sp`125V1MP9J%`FLiYe?9rPh$ zazN?)^dWuRbr>LHIuO1rtJM1YcRCQXyPO=5J%_G@AmNC?Inaf?5I`fgG$CfL2YmjW zv>|Q`7<=eK@UBXqLF_x|NWB1)>5U0icplmiv1R7ZW1$PhAy^zPbRi0f`3J&#=t5CZ zM%4kMLP>SWAZL_lN&@L)>_p-XedB_hVd1^X;Wb4z-Q6_z3K$rc`>a*8YI`rn_{Y zBX}dFY!^Qf>)*DTPb2_`h)|3vL+zvuDaT|R$U!p}V9V1Unna)pN0jRvg8{jS9gnW0 z4GG1l$tjZ%AT z%S<655RR<#j$jD&#-VtHZh@R7EU_7vl&HZTowXB52X#5q5Sz=jA&uP|2ixVVO?2f@ zdkah?4P`egk^lo!?i5aJq?L3a$iS6sXu@(Lk`-gg-H*>YazGJt(L)oTG!Sq)=utRA z_(GtO$QBE@+pd-ogOqBjy#eeyYEZ$= z1WMYB0l*ENI0TKt6(1=XA()*6rH*K7MtMQN7}RcdRBv(_7sA*9K_kAG11SO>&C03| zDP!N|r-LaFSz|dMssMWQI%}|VSk>6zET)pEifz?laH>RoE^yosf7_q8PJi* zGgO7xl~Pa3LTV|giHvM{UpP3&Z3s!(x<%I{F`2^(HMCmete(?Sz{b)sp*#(9(+ zpRdUxKUvv_Wml4M?nS{q~{b_9B+0k5h~R^zEc2AxVItotwIYpRdSi zP_sPPC2^C0GxN}enUkGVfB?rpJ+vWWdJsJa&%T6^vQ-1Hz|fUvoM=MUTy-M{8W6GS zbDU=#v>|)g5uU$I2wKbF{3K&N^dV|2OLfjPA!;2+IVbC(3nBr~g@NdM;AlekpA13C zJ@g?7LxOp*GBhCw{6j()z;ce5(1oR+1cFD@jR;u@2c~~L2wtAOat4Gg$U(ru79OA9 zLJ`Faupx&qZ+!IphJuCCkJz1TH2fOz1-coeKYiX7${yn%xVN*Dj`{xpiW&jI3O@D4 zxifG_MvsX_-clflLlj3l*YV3pYE_!3GjY!grDJ$Mgd2ST; zz|p9bph7iT$4;*x2j3^Al!Uy| z?VoKn5=0E3?2N2J1;^7(aFhVxnUty|fS(Y~q)vB4IVU|>4!R*Qf&v{B!1AaWY!)jbtSueHBOpkmDY`bQYPJ zNKks2Oo~Fj2h&eNCK+Pkxk&ZT_R|_qG$Q(_j4H<@uW^o}PeMl4luVq42Rdmykdc=u zyrM#$-LgCACm2FVR7o2W@&*KV82;K&P`QWuUHHOx?~01f9njQ=uxtxd8)7jT1s>w( z?{)A00Ju#$!QcM?@rIvBVo@bj`bZK)aJhi97Jki>7fg3XDfsFzo*ke5V+4l(Bt1i7Q!>32s^G0 zK{)wnLe_JYz|Z&4g|;?5iS^Khu}L1kmV_fJdBR~|m?-O>`VhK)`x7qI7jF%mW!p5X z5?yWE?mGFKIcZ|3x5BZL*U-~A?T^=3*9{-2GtHymPu(amRnA)|YCO~CK1dz0-%bG{ zQ+>)rD#kYlI)AkY_Kpb|)VDAmnh6mJM(I~g5m!?fe{AQbl!FNo`tzY?ZeG7FFogCx zFtu~}?y96@_v@gx5GoX=qo-6%f)w}fq$)spt@1gJFkOKp^y{50q%yFim6}kI0zLH7 zLSsY};Mo+h9LE5A9Vr-6N?j?9lc*=q{Pc;%$U1U~gDEOO_WpWEkp%$4U0W++c#)ie zfz*3yrAB~Oy|rCUgdXgXOB3TH5vanF;A(89cIinsG?)bU)#`4Lv7XG~BC4nv$vIM> zW2w}j#_6P@=;Dt0+61|d~vX$louWaKdP1F-h7J~vHP(rs%bAXoV6L8B$0mBw*+%WeSbc zBq-_i)a`aMoE_BgOi^I(CI+dy<77QZm& z=0TsYaj8R)fU|QFNk1X&rW2ec3tu?|<$ylgV0lQjOfxT2~@qY$} zl1dR>UDy!Hqv7>F+B3OANmopa2+Dzj)agtVsS#Y@D=QHoC#fBDInjWlafDHCNCnP< zTEc>YInrs&pM*k;8S;I(RkQNY_rORVP8SOM>vvo@m&6U@z3#OD-7lA_>%By>F~O3i zq2(;Z`esh&`)bI;RHY!80hI)LCr^;-e_cHy1v4JG>!Ao_F)>wD9YDwD{Xab+au!ql z+8F?4im0jTp^qUs?U91tP)GODWceWtyWLv(bhzGsXWFd>rgxj}v=rhRdVHV36k|N7 zJqDwpOG5)BnC5bQsQ`e000sf}>+{sfR#_O%G$DDMgPz`+5VW=d$UeCGXhPJ-Am9>C zge^r1oS*g3g@^;cLywk(FAhLGN9mypB`4b&5U`XGGBc5(3+(fO*n8+n3+xgPY#&_- zR@m1V>JLu35QM45GEO@I-$EAf-=2gl9YcEqp$Itc2TbTf%?3_LJ$j7@TTf$*=f8hl z2tp7RP}n5;{Inrn&)7e_{^Q2ZJMiXSR)X)d;kzg-2k&UB5Of{S!B+nOO=RDQsZHHv zd&K<`5W0Aw{oPRroV`7Cl9eiiV5o0|oc7VD5`<+*ODnptjH-`u&}r=`O3Fy1NP&_y z9euRIWT6T3VPa6mQyoborZmz=H6seZ7;p?ssBzSl8bbI(L@!a#tfa4RO(UNPz$2PF zbd@1W$XIs(>CHUK3!xvyW{?m{CVhvll{7f=N~>f~3x4nfA3Zd<1mQf=g{nYOLoSZ+ zB}MfWf;h|al0I5%U&y89gf7{3VBCtudw0}To6So~p#>}a^^yQbGv}tOt!9~GLEVwn zn67e3^wp{^|G1!T0Z_d5odwlG#sPEKPycat1T08s!-X+Bw*}HZjvW zdJ&Wk7=l-+I6ZXIQpORKKrEc2@buDZ#H2$ZVa~uP9Y&UO2u2FrhX5YGKc1AJlsqWP zbv^UnN`zHh1ZprjvVC-u2@xTal}HK*BiBxniOe8@`QYc}0lI#AM5vyjz#PGPoR0cL z*+r8`?;bgra{T+~J0OHnHcB}xNFJJuKPisFO}lhraz|Chbu)5PK}5Ams!Cyq!9Dbo z%`1FaN!#i2EIXP+F0u(>RpvjQlpzC+eCeW#Jb{QBM;H=?x_OT`lNjVe*gbMs`=9jfpblt2O&rCei_|lP)2jjT|l4z0AsA4An)?$ss8}=KXgW6bsbG{ zoK*r&Nj>wZ^~8>#n@@id?o;$?YR&9I(%n6w6lc$ zdz7H51wkCd`e=KhIgXSTIi$jTM;*K94g^dkC_yZFl(QUyd+Hr?$vFh53}Xmg$US@M z>^VXWZ)aK84o_`4=faX;r!L&ZqGe)E27Bs}S`4WH5MDCHz-C_EbKgqS36%_)P2E>s zbZn3{U_9=i?)jw5%6ZFk9P*u5 - - - - - - - - \ No newline at end of file diff --git a/img/destroy.png b/img/destroy.png deleted file mode 100644 index 56d763702ec215857c180108fc28be9b833ef8a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmV+`0@VG9P)4ZcKoCu05&8#0uLT7` zl!Su*LO~D&!Gqu__d*MTN4*s6M|cwgg3zCk1idH<#he7cp%BtHWh|RzcaxYE`rsWp zn|ZsNnaryj$FZZp26zmfg4^Ie$6vuuFan>zOipYm#7N*C>?ziK<~jHbUhoDhcv8Xu ze9?%>=<%}yo!}U}1KUn@v^i%i3!Z^P=kFM@#!_&TcWH_n((<^H9n}-Q?^lX3x}-&d zeUq3dpo&T8yXeCYZk5WXNs>e-n9>QibgQaFgBYRXId(B8!5`gf&7u&#NiZoBqic#+ zHHao8I5oXLQAib&Fr_L}W5019H9-pQ&pFAY({UO#lFTB>(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ?B1uF+RCwC#T)l4NMi3raf)O00pucO0_cz@pn!C_hOSe|U6M}f z(n?Lz9Uwh|1vo%j=@Cq)NO6^ENIoF2DQ}9KO~!k>{1HX{<@Mo!!~_*@Zl% z6afHW#}QNj05A{$fPnx23} z0AL`SLx5oe4kpAZi~ITfyy1CYic4<`KI(Ie_jD|LB1(2d4xhirJKUd*=xgUZ$Pv-E zis*aY3VM_g5nXYc5>b24j3Z*Xx9yn+LXTRP(Te=4JX^##rbN^`XbCYwf!bv6-tBwlE`{Mp$dc@rWU64C6S4aD=juSo8p zJUo0xjYb(3A+LO2h--Zw@Q8@cG4~6t#v`6^edFGcjpl+^>s``k{~&S@Mf9`d*6o@G z*XAY8MH~&}hj&TFgo}yjjE$(jBYDz6CF#FgufBZwH{IP;k3&(#LaD{ABuNg8GO&g{kD)t^BG#a!BEH)GTki4DBF}@KKBi; ztos}Z1F`Apf`5-iKBM2IX=4lDyfK>cnEN8+3WYpUN0YtGL5S$DC*j!faZ1Z&SsopB z{}-$*trR&?0#;s+l{GZ-n23|pmOB(%9C80+QH9b*8H&(p-N|gg`i?oAopFEK+_$zt8}NiqgpPD^V9I@%7<_GG zbY_|CfuSQA2FmY)(S~)5go+^WRFEoQ?}Z-l3w=JKxAcVTXp$(&Afa|=~7pqifoDn8(etm z+GDD7ELY;ai5%olTT{o!skLZ8^xmL#bvDTfJz7+6ZC+MxvJ5#avATtp>v`Uz>j*pQ z>~~(D+H@eNu4^}tMw)(OYu>YG@2xKF=;#MYmlKbMImzU(<`tJzfNhy!?cW6V0_AHB(-qaiknL?JQ zLk9w{>c58M{i})IFtmhTC(CB@Qa;;A)01VR@hf@We;(xd^P>NZ5@aOLMb8QqJ>TP^ zv&rDEm@L|4mWg~)p`YvQvr8s@ttx+4A0_`HdR^)4)*+R7<26*Al8SWk8Y?q#MscEQ zKiAo3mrTi;_`CX87ytEo5CAx2;9pGu00sg8Fc1KMfdBvu1OQ+l0009402l}Wz(4>1 m1_A&83?pig^g^xquery($sqlInfo); - if(mysqli_num_rows($result) > 0 ) - { - while($row = $result->fetch_assoc()) - { - echo "--------------existe el advertiser: " .$emapData[0] ." con ID: ".$row["id"]."-----------------
    "; - $sqlIncomes = "INSERT INTO incomes(id,advertiser,conversion,revenue,date) VALUES ('','".$row['id']."','$emapData[1]','$emapData[2]','$emapData[3]')"; - $insertIncome = $con->query($sqlIncomes); - echo $sqlIncomes."
    "; - - } - } - else - { - echo "-----------------NO existe el advertiser: " .$emapData[0] ."-----------------------
    "; - $queryNewAdv = "INSERT INTO advertisers VALUES ('', '$emapData[0]', '')"; - $insertAdv = $con->query($queryNewAdv); - $NewID = $con->insert_id; - echo "Advertiser inserted with the new id: ". $NewID ."
    "; - echo "insertando...
    "; - $sqlIncomes = "INSERT INTO incomes(id,advertiser,conversion,revenue,date) VALUES ('','$NewID','$emapData[1]','$emapData[2]','$emapData[3]')"; - $insertIncome = $con->query($sqlIncomes); - } - - } - fclose($file); - echo "CSV File has been successfully Imported."; - } - else { - echo "Error: Please Upload only CSV File"; - } - - $con->close(); -} -?> \ No newline at end of file diff --git a/inbox.html b/inbox.html deleted file mode 100644 index 53b5b78..0000000 --- a/inbox.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - Inbox - - - - - - - - - -

    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - picture -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Inbox

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - Inbox -
    -
    - Important -
    -
    - Sent -
    -
    - Draft -
    -
    - Trash -
    -
    -
    -
    -
    -
    -
    - Compose Mail - - - - - - - - - - - - - - - - - - - - - - - - - -
    Wonderful theme - 10/20/204 - - - Tom -
    Wonderful theme - 10/20/204 - - - Jon -
    Wonderful theme - 10/20/204 - - - Jon -
    Wonderful theme - 10/20/204 - - - Jon -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/incomes.php b/incomes.php deleted file mode 100644 index cf1339b..0000000 --- a/incomes.php +++ /dev/null @@ -1,675 +0,0 @@ -updateUser(array( - "name" => $_POST['newName'] - )); -} -?> - - - - - - - INCOMES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - - Hi - getUser(); - echo $details['username'] ,"!"; - ?> -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    INCOMES

    -
    -
    -
    - -
    - -
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    AdvertAMclicksConvRevenuePlatf.AdvDiffScrubsHoldValidatedStatusdateNotas(AM)Notas(Finance)
    Total:
    AdvertAMclicksConvRevenuePlatf.AdvDiffScrubsHoldValidated
    -
    - -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/index.php b/index.php deleted file mode 100644 index 6d2aa2d..0000000 --- a/index.php +++ /dev/null @@ -1,244 +0,0 @@ -updateUser(array( - "name" => $_POST['newName'] - )); -} -?> - - - - - - - Welcome to Smarter Admin - - - - - - - - - -
    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - - Hi - getUser(); - echo $details['username'] ,"!"; - ?> -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Dashboard

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - Sales -

    $97334001

    -
    - -
    -
    -
    -
    -
    -
    - Orders -

    400

    -
    - -
    -
    -
    -
    -
    -
    - Profit -

    $600

    -
    - -
    -
    -
    -
    -
    -
    - Users -

    100

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Charts

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Charts

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Quick Message

    -
    -
    - - - - - - - Send -
    -
    -
    -
    -
    -
    -
    -

    To Do

    -
    -
    - -
      - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - \ No newline at end of file diff --git a/invoice.html b/invoice.html deleted file mode 100644 index 39d44cf..0000000 --- a/invoice.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - Invoice - - - - - - - - -
    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - picture -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    John Smith

    -
    27 Borrow Street
    -
    New York
    -
    Bay Street
    -
    -
    -
    Invoice #: 90797
    -
    Due Date: 10/10/2014
    -
    -
    Grand Total
    -
    $40.00
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Description - Unit Price - Quantity - Price -
    -
    Name
    - sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam -
    $8.00 - 1 - $20.00 -
    -
    Name
    - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam -
    $8.00 - 1 - $20.00 -
    -
    Name
    - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam -
    $8.00 - 8 - $20.00 -
    -
    Name
    - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam -
    $8.00 - 1 - $20.00 -
    -
    -

    - Subtotal : $120.00 -

    -

    - Tax : $20.00 -

    -

    - Discount : 5% -

    -
    Grand toal :$400.00
    -
    - -
    -
    -
    -

    Company name

    -
    -
    -
    We Accept
    - - - -
    -
    -
    -
    Please note : Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/js/_notes/dwsync.xml b/js/_notes/dwsync.xml deleted file mode 100644 index 7b42b48..0000000 --- a/js/_notes/dwsync.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/js/ckeditor/_notes/dwsync.xml b/js/ckeditor/_notes/dwsync.xml deleted file mode 100644 index a4377e8..0000000 --- a/js/ckeditor/_notes/dwsync.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/js/ckeditor/ckeditor.js b/js/ckeditor/ckeditor.js deleted file mode 100644 index d35e8bc..0000000 --- a/js/ckeditor/ckeditor.js +++ /dev/null @@ -1,1013 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,e={timestamp:"E8PB",version:"4.4.5",revision:"25cdcad",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var f=window.CKEDITOR_BASEPATH||"";if(!f)for(var d=document.getElementsByTagName("script"),c=0;c=0;t--)if(p[t].priority<=e){p.splice(t+1,0,m);return{removeListener:j}}p.unshift(m)}return{removeListener:j}}, -once:function(){var a=Array.prototype.slice.call(arguments),f=a[1];a[1]=function(a){a.removeListener();return f.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,f=function(){a=1},d=0,b=function(){d=1};return function(h,m,j){var p=e(this)[h],h=a,u=d;a=d=0;if(p){var t=p.listeners;if(t.length)for(var t=t.slice(0),y,n=0;n=0&&d.listeners.splice(b,1)}},removeAllListeners:function(){var a=e(this),f;for(f in a)delete a[f]},hasListeners:function(a){return(a=e(this)[a])&&a.listeners.length> -0}}}());CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,e,this)},CKEDITOR.editor.prototype.fireOnce=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,e,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)); -CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),e={ie:a.indexOf("trident/")>-1,webkit:a.indexOf(" applewebkit/")>-1,air:a.indexOf(" adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,d=window.location.hostname;return a!=d&&a!="["+d+"]"},secure:location.protocol== -"https:"};e.gecko=navigator.product=="Gecko"&&!e.webkit&&!e.ie;if(e.webkit)a.indexOf("chrome")>-1?e.chrome=true:e.safari=true;var b=0;if(e.ie){b=e.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode;e.ie9Compat=b==9;e.ie8Compat=b==8;e.ie7Compat=b==7;e.ie6Compat=b<7||e.quirks}if(e.gecko){var c=a.match(/rv:([\d\.]+)/);if(c){c=c[1].split(".");b=c[0]*1E4+(c[1]||0)*100+(c[2]||0)*1}}e.air&&(b=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));e.webkit&&(b=parseFloat(a.match(/ applewebkit\/(\d+)/)[1])); -e.version=b;e.isCompatible=e.iOS&&b>=534||!e.mobile&&(e.ie&&b>6||e.gecko&&b>=2E4||e.air&&b>=1||e.webkit&&b>=522||false);e.hidpi=window.devicePixelRatio>=2;e.needsBrFiller=e.gecko||e.webkit||e.ie&&b>10;e.needsNbspFiller=e.ie&&b<11;e.cssClass="cke_browser_"+(e.ie?"ie":e.gecko?"gecko":e.webkit?"webkit":"unknown");if(e.quirks)e.cssClass=e.cssClass+" cke_browser_quirks";if(e.ie)e.cssClass=e.cssClass+(" cke_browser_ie"+(e.quirks?"6 cke_browser_iequirks":e.version));if(e.air)e.cssClass=e.cssClass+" cke_browser_air"; -if(e.iOS)e.cssClass=e.cssClass+" cke_browser_ios";if(e.hidpi)e.cssClass=e.cssClass+" cke_hidpi";return e}()); -"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a= -CKEDITOR.loadFullCore,e=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status="basic_ready";a&&a._load?a():e&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},e*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={}; -(function(){var a=[],e=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,f=/"+f+""):d.push('');return d.join("")}, -htmlEncode:function(a){return(""+a).replace(b,"&").replace(c,">").replace(f,"<")},htmlDecode:function(a){return a.replace(g,"&").replace(h,">").replace(m,"<")},htmlEncodeAttr:function(a){return a.replace(d,""").replace(f,"<").replace(c,">")},htmlDecodeAttr:function(a){return a.replace(j,'"').replace(m,"<").replace(h,">")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,f){var d=f(a);d.prototype= -a.prototype;return d},setTimeout:function(a,f,d,b,c){c||(c=window);d||(d=c);return c.setTimeout(function(){b?a.apply(d,[].concat(b)):a.apply(d)},f||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(f){return f.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(f){return f.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(f){return f.replace(a,"")}}(),indexOf:function(a,f){if(typeof f=="function")for(var d=0,b=a.length;d=0?a[d]:null},bind:function(a,f){return function(){return a.apply(f,arguments)}},createClass:function(a){var f=a.$,d=a.base,b=a.privates||a._,c=a.proto,a=a.statics;!f&&(f=function(){d&&this.base.apply(this,arguments)});if(b)var e=f,f=function(){var a=this._||(this._={}),f;for(f in b){var d=b[f];a[f]=typeof d=="function"?CKEDITOR.tools.bind(d,this):d}e.apply(this,arguments)};if(d){f.prototype= -this.prototypedCopy(d.prototype);f.prototype.constructor=f;f.base=d;f.baseProto=d.prototype;f.prototype.base=function(){this.base=d.prototype.base;d.apply(this,arguments);this.base=arguments.callee}}c&&this.extend(f.prototype,c,true);a&&this.extend(f,a,true);return f},addFunction:function(f,d){return a.push(function(){return f.apply(d||this,arguments)})-1},removeFunction:function(f){a[f]=null},callFunction:function(f){var d=a[f];return d&&d.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a= -/^-?\d+\.?\d*px$/,f;return function(d){f=CKEDITOR.tools.trim(d+"")+"px";return a.test(f)?f:d||""}}(),convertToPx:function(){var a;return function(f){if(!a){a=CKEDITOR.dom.element.createFromHtml('
    ',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(f)){a.setStyle("width",f);return a.$.clientWidth}return f}}(),repeat:function(a,f){return Array(f+1).join(a)},tryThese:function(){for(var a, -f=0,d=arguments.length;f]*?>)|^/i,'$&\n - - - - -
    -
    -
    -
    - logo - -
    - - - - - -
    - -

    Don't have an account ? - Register -

    - - -

    Forgot Your Password ? - Reset Password -

    - - {$msg[0]}

    - */ - function __construct( $opts ) - { - $types = array( 'Mysql', 'Oracle', 'Postgres', 'Sqlite', 'Sqlserver' ); - - if ( ! in_array( $opts['type'], $types ) ) { - throw new \Exception( - "Unknown database driver type. Must be one of ".implode(', ', $types), - 1 - ); - } - - $this->query_driver = "DataTables\\Database\\Driver".$opts['type'].'Query'; - $this->_dbResource = isset( $opts['pdo'] ) ? - $opts['pdo'] : - call_user_func($this->query_driver.'::connect', $opts ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - /** @var resource */ - private $_dbResource = null; - - /** @var boolean */ - private $_debug = false; - - /** @var array */ - private $_debugInfo = array(); - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Determine if there is any data in the table that matches the query - * condition - * - * @param string|string[] $table Table name(s) to act upon. - * @param array $where Where condition for what to select - see {@link - * Query::where}. - * @return [boolean] Boolean flag - true if there were rows - */ - public function any( $table, $where=null ) - { - $res = $this->query( 'select' ) - ->table( $table ) - ->get( '*' ) - ->where( $where ) - ->exec(); - - return $res->count() > 0; - } - - - /** - * Commit a database transaction. - * - * Use with {@link transaction} and {@link rollback}. - * @return self - */ - public function commit () - { - call_user_func($this->query_driver.'::commit', $this->_dbResource ); - return $this; - } - - - /** - * Get / set debug mode. - * - * @param boolean $_ Debug mode state. If not given, then used as a getter. - * @return boolean|self Debug mode state if no parameter is given, or - * self if used as a setter. - */ - public function debug ( $set=null ) - { - if ( $set === null ) { - return $this->_debug; - } - - $this->_debug = $set; - - return $this; - } - - - /** - * Get debug query information. Please note that the setter version of this - * method is for _internal use only_. - * - * @return array Information about the queries used. When this method is - * called it will reset the query cache. - */ - public function debugInfo ( $query=null, $bindings=null ) - { - if ( $query === null ) { - // Clear - $debugInfo = $this->_debugInfo; - $this->_debugInfo = array(); - - return $debugInfo; - } - - if ( $this->_debug ) { - $this->_debugInfo[] = array( - "query" => $query, - "bindings" => $bindings - ); - } - - return $this; - } - - - /** - * Perform a delete query on a table. - * - * This is a short cut method that creates an update query and then uses - * the query('delete'), table, where and exec methods of the query. - * @param string|string[] $table Table name(s) to act upon. - * @param array $where Where condition for what to delete - see {@link - * Query::where}. - * @return Result - */ - public function delete ( $table, $where=null ) - { - return $this->query( 'delete' ) - ->table( $table ) - ->where( $where ) - ->exec(); - } - - - /** - * Insert data into a table. - * - * This is a short cut method that creates an update query and then uses - * the query('insert'), table, set and exec methods of the query. - * @param string|string[] $table Table name(s) to act upon. - * @param array $set Field names and values to set - see {@link - * Query::set}. - * @param array $pkey Primary key column names (this is an array for - * forwards compt, although only the first item in the array is actually - * used). This doesn't need to be set, but it must be if you want to use - * the `Result->insertId()` method. - * @return Result - */ - public function insert ( $table, $set, $pkey='' ) - { - return $this->query( 'insert' ) - ->pkey( $pkey ) - ->table( $table ) - ->set( $set ) - ->exec(); - } - - - /** - * Update or Insert data. When doing an insert, the where condition is - * added as a set field - * @param string|string[] $table Table name(s) to act upon. - * @param array $set Field names and values to set - see {@link - * Query::set}. - * @param array $where Where condition for what to update - see {@link - * Query::where}. - * @param array $pkey Primary key column names (this is an array for - * forwards compt, although only the first item in the array is actually - * used). This doesn't need to be set, but it must be if you want to use - * the `Result->insertId()` method. Only used if an insert is performed. - * @return Result - */ - public function push ( $table, $set, $where=null, $pkey='' ) - { - // Update or insert - if ( $this->select( $table, "*", $where )->count() > 0 ) { - return $this->update( $table, $set, $where ); - } - - // Add the where condition to the values to set - foreach ($where as $key => $value) { - if ( ! isset( $set[ $key ] ) ) { - $set[ $key ] = $value; - } - } - - return $this->insert( $table, $set, $pkey ); - } - - - /** - * Create a query object to build a database query. - * @param string $type Query type - select, insert, update or delete. - * @param string|string[] $table Table name(s) to act upon. - * @return Query - */ - public function query ( $type, $table=null ) - { - return new $this->query_driver( $this, $type, $table ); - } - - - /** - * Quote a string for a quote. Note you should generally use a bind! - * @param string $val Value to quote - * @param string $type Value type - * @return string - */ - public function quote ( $val, $type=\PDO::PARAM_STR ) - { - return $this->_dbResource->quote( $val, $type ); - } - - - /** - * Create a `Query` object that will execute a custom SQL query. This is - * similar to the `sql` method, but in this case you must call the `exec()` - * method of the returned `Query` object manually. This can be useful if you - * wish to bind parameters using the query `bind` method to ensure data is - * properly escaped. - * - * @return Result - * - * @example - * Safely escape user input - * - * $db - * ->raw() - * ->bind( ':date', $_POST['date'] ) - * ->exec( 'SELECT * FROM staff where date < :date' ); - * - */ - public function raw () - { - return $this->query( 'raw' ); - } - - - /** - * Get the database resource connector. This is typically a PDO object. - * @return resource PDO connection resource (driver dependent) - */ - public function resource () - { - return $this->_dbResource; - } - - - /** - * Rollback the database state to the start of the transaction. - * - * Use with {@link transaction} and {@link commit}. - * @return self - */ - public function rollback () - { - call_user_func($this->query_driver.'::rollback', $this->_dbResource ); - return $this; - } - - - /** - * Select data from a table. - * - * This is a short cut method that creates an update query and then uses - * the query('select'), table, get, where and exec methods of the query. - * @param string|string[] $table Table name(s) to act upon. - * @param array $field Fields to get from the table(s) - see {@link - * Query::get}. - * @param array $where Where condition for what to select - see {@link - * Query::where}. - * @param array $orderBy Order condition - see {@link - * Query::order}. - * @return Result - */ - public function select ( $table, $field="*", $where=null, $orderBy=null ) - { - return $this->query( 'select' ) - ->table( $table ) - ->get( $field ) - ->where( $where ) - ->order( $orderBy ) - ->exec(); - } - - - /** - * Select distinct data from a table. - * - * This is a short cut method that creates an update query and then uses the - * query('select'), distinct ,table, get, where and exec methods of the - * query. - * @param string|string[] $table Table name(s) to act upon. - * @param array $field Fields to get from the table(s) - see {@link - * Query::get}. - * @param array $where Where condition for what to select - see {@link - * Query::where}. - * @param array $orderBy Order condition - see {@link - * Query::order}. - * @return Result - */ - public function selectDistinct ( $table, $field="*", $where=null, $orderBy=null ) - { - return $this->query( 'select' ) - ->table( $table ) - ->distinct( true ) - ->get( $field ) - ->where( $where ) - ->order( $orderBy ) - ->exec(); - } - - - /** - * Execute an raw SQL query - i.e. give the method your own SQL, rather - * than having the Database classes building it for you. - * - * This method will execute the given SQL immediately. Use the `raw()` - * method if you need the ability to add bound parameters. - * @param string $sql SQL string to execute (only if _type is 'raw'). - * @return Result - * - * @example - * Basic select - * - * $result = $db->sql( 'SELECT * FROM myTable;' ); - * - * - * @example - * Set the character set of the connection - * - * $db->sql("SET character_set_client=utf8"); - * $db->sql("SET character_set_connection=utf8"); - * $db->sql("SET character_set_results=utf8"); - * - */ - public function sql ( $sql ) - { - return $this->query( 'raw' ) - ->exec( $sql ); - } - - - /** - * Start a new database transaction. - * - * Use with {@link commit} and {@link rollback}. - * @return self - */ - public function transaction () - { - call_user_func($this->query_driver.'::transaction', $this->_dbResource ); - return $this; - } - - - /** - * Update data. - * - * This is a short cut method that creates an update query and then uses - * the query('update'), table, set, where and exec methods of the query. - * @param string|string[] $table Table name(s) to act upon. - * @param array $set Field names and values to set - see {@link - * Query::set}. - * @param array $where Where condition for what to update - see {@link - * Query::where}. - * @return Result - */ - public function update ( $table, $set=null, $where=null ) - { - return $this->query( 'update' ) - ->table( $table ) - ->set( $set ) - ->where( $where ) - ->exec(); - } -}; - diff --git a/php/Database/Driver/Mysql/Query.php b/php/Database/Driver/Mysql/Query.php deleted file mode 100644 index caa35b7..0000000 --- a/php/Database/Driver/Mysql/Query.php +++ /dev/null @@ -1,116 +0,0 @@ - PDO::ERRMODE_EXCEPTION - ) - ); - } catch (\PDOException $e) { - // If we can't establish a DB connection then we return a DataTables - // error. - echo json_encode( array( - "sError" => "An error occurred while connecting to the database ". - "'{$db}'. The error reported by the server was: ".$e->getMessage() - ) ); - exit(0); - } - - return $pdo; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - protected function _prepare( $sql ) - { - $resource = $this->database()->resource(); - $this->_stmt = $resource->prepare( $sql ); - - // bind values - for ( $i=0 ; $i_bindings) ; $i++ ) { - $binding = $this->_bindings[$i]; - - $this->_stmt->bindValue( - $binding['name'], - $binding['value'], - $binding['type'] ? $binding['type'] : \PDO::PARAM_STR - ); - } - - $this->database()->debugInfo( $sql, $this->_bindings ); - } - - - protected function _exec() - { - try { - $this->_stmt->execute(); - } - catch (PDOException $e) { - echo "An SQL error occurred: ".$e->getMessage(); - error_log( "An SQL error occurred: ".$e->getMessage() ); - return false; - } - - $resource = $this->database()->resource(); - return new DriverMysqlResult( $resource, $this->_stmt ); - } -} - diff --git a/php/Database/Driver/Mysql/Result.php b/php/Database/Driver/Mysql/Result.php deleted file mode 100644 index e5ba6b0..0000000 --- a/php/Database/Driver/Mysql/Result.php +++ /dev/null @@ -1,73 +0,0 @@ -_dbh = $dbh; - $this->_stmt = $stmt; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - private $_stmt; - private $_dbh; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - public function count () - { - return count($this->fetchAll()); - } - - - public function fetch () - { - return $this->_stmt->fetch( \PDO::FETCH_ASSOC ); - } - - - public function fetchAll () - { - return $this->_stmt->fetchAll( \PDO::FETCH_ASSOC ); - } - - - public function insertId () - { - return $this->_dbh->lastInsertId(); - } -} - diff --git a/php/Database/Driver/Mysql/_notes/dwsync.xml b/php/Database/Driver/Mysql/_notes/dwsync.xml deleted file mode 100644 index 44d8680..0000000 --- a/php/Database/Driver/Mysql/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/php/Database/Driver/Oracle/Query.php b/php/Database/Driver/Oracle/Query.php deleted file mode 100644 index 2d7823d..0000000 --- a/php/Database/Driver/Oracle/Query.php +++ /dev/null @@ -1,183 +0,0 @@ - "oci methods are not available in this PHP install to connect to Oracle" - ) ); - exit(0); - } - - $conn = @oci_connect($user, $pass, $host.$port.'/'.$db); - - if ( ! $conn ) { - // If we can't establish a DB connection then we return a DataTables - // error. - $e = oci_error(); - - echo json_encode( array( - "error" => "An error occurred while connecting to the database ". - "'{$db}'. The error reported by the server was: ".$e['message'] - ) ); - exit(0); - } - - // Use ISO date and time styles - $stmt = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'" ); - $res = oci_execute( $stmt ); - - $stmt = oci_parse($conn, "ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS'" ); - $res = oci_execute( $stmt ); - - return $conn; - } - - - public static function transaction ( $conn ) - { - // no op - } - - public static function commit ( $conn ) - { - oci_commit( $conn ); - } - - public static function rollback ( $conn ) - { - oci_rollback( $conn ); - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - protected function _prepare( $sql ) - { - $resource = $this->database()->resource(); - $pkey = $this->pkey(); - - // If insert, add the pkey column - if ( $this->_type === 'insert' && $pkey ) { - $sql .= ' RETURNING '.$pkey[0].' INTO :editor_pkey_value'; - } - - $this->_stmt = oci_parse( $resource, $sql ); - - // If insert, add a binding for the returned id - if ( $this->_type === 'insert' && $pkey ) { - oci_bind_by_name( - $this->_stmt, - ':editor_pkey_value', - $this->_editor_pkey_value, - 36 - ); - } - - // Bind values - for ( $i=0 ; $i_bindings) ; $i++ ) { - $binding = $this->_bindings[$i]; - - oci_bind_by_name( - $this->_stmt, - $binding['name'], - $binding['value'] - ); - } - - $this->database()->debugInfo( $sql, $this->_bindings ); - } - - - protected function _exec() - { - $res = @oci_execute( $this->_stmt, OCI_NO_AUTO_COMMIT ); - - if ( ! $res ) { - $e = oci_error( $this->_stmt ); - // $e['message'] - - return false; - } - - $resource = $this->database()->resource(); - return new DriverOracleResult( $resource, $this->_stmt, $this->_editor_pkey_value ); - } - - - protected function _build_table() - { - $out = array(); - - for ( $i=0, $ien=count($this->_table) ; $i<$ien ; $i++ ) { - $t = $this->_table[$i]; - - if ( strpos($t, ' as ') ) { - $a = explode( ' as ', $t ); - $out[] = $a[0].' '.$a[1]; - } - else { - $out[] = $t; - } - } - - return ' '.implode(', ', $out).' '; - } -} diff --git a/php/Database/Driver/Oracle/Result.php b/php/Database/Driver/Oracle/Result.php deleted file mode 100644 index f818155..0000000 --- a/php/Database/Driver/Oracle/Result.php +++ /dev/null @@ -1,82 +0,0 @@ -_dbh = $dbh; - $this->_stmt = $stmt; - $this->_pkey_val = $pkey_val; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - private $_stmt; // Result from oci_parse - private $_dbh; // Result from oci_connect - private $_rows = null; - private $_pkey_val; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - public function count () - { - return count($this->fetchAll()); - } - - - public function fetch () - { - return oci_fetch_assoc( $this->_stmt ); - } - - - public function fetchAll () - { - if ( ! $this->_rows ) { - $out = array(); - - oci_fetch_all( $this->_stmt, $out, 0, -1, OCI_FETCHSTATEMENT_BY_ROW + OCI_ASSOC ); - - $this->_rows = $out; - } - - return $this->_rows; - } - - - public function insertId () - { - return $this->_pkey_val; - } -} - diff --git a/php/Database/Driver/Oracle/_notes/dwsync.xml b/php/Database/Driver/Oracle/_notes/dwsync.xml deleted file mode 100644 index 44d8680..0000000 --- a/php/Database/Driver/Oracle/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/php/Database/Driver/Postgres/Query.php b/php/Database/Driver/Postgres/Query.php deleted file mode 100644 index 198c11b..0000000 --- a/php/Database/Driver/Postgres/Query.php +++ /dev/null @@ -1,143 +0,0 @@ - PDO::ERRMODE_EXCEPTION - ) - ); - } catch (\PDOException $e) { - // If we can't establish a DB connection then we return a DataTables - // error. - echo json_encode( array( - "sError" => "An error occurred while connecting to the database ". - "'{$db}'. The error reported by the server was: ".$e->getMessage() - ) ); - exit(0); - } - - return $pdo; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - protected function _prepare( $sql ) - { - $resource = $this->database()->resource(); - - // Add a RETURNING command to postgres insert queries so we can get the - // pkey value from the query reliably - if ( $this->_type === 'insert' ) { - $table = explode( ' as ', $this->_table[0] ); - - // Get the pkey field name - $pkRes = $resource->prepare( - "SELECT - pg_attribute.attname, - format_type(pg_attribute.atttypid, pg_attribute.atttypmod) - FROM pg_index, pg_class, pg_attribute - WHERE - pg_class.oid = '{$table[0]}'::regclass AND - indrelid = pg_class.oid AND - pg_attribute.attrelid = pg_class.oid AND - pg_attribute.attnum = any(pg_index.indkey) - AND indisprimary" - ); - $pkRes->execute(); - $row = $pkRes->fetch(); - - $sql .= ' RETURNING '.$row['attname'].' as dt_pkey'; - } - - $this->_stmt = $resource->prepare( $sql ); - - // bind values - for ( $i=0 ; $i_bindings) ; $i++ ) { - $binding = $this->_bindings[$i]; - - $this->_stmt->bindValue( - $binding['name'], - $binding['value'], - $binding['type'] ? $binding['type'] : \PDO::PARAM_STR - ); - } - - $this->database()->debugInfo( $sql, $this->_bindings ); - } - - - protected function _exec() - { - try { - $this->_stmt->execute(); - } - catch (PDOException $e) { - echo "An SQL error occurred: ".$e->getMessage(); - error_log( "An SQL error occurred: ".$e->getMessage() ); - return false; - } - - $resource = $this->database()->resource(); - return new DriverPostgresResult( $resource, $this->_stmt ); - } -} - diff --git a/php/Database/Driver/Postgres/Result.php b/php/Database/Driver/Postgres/Result.php deleted file mode 100644 index 64ef063..0000000 --- a/php/Database/Driver/Postgres/Result.php +++ /dev/null @@ -1,75 +0,0 @@ -_dbh = $dbh; - $this->_stmt = $stmt; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - private $_stmt; - private $_dbh; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - public function count () - { - return count($this->fetchAll()); - } - - - public function fetch () - { - return $this->_stmt->fetch( \PDO::FETCH_ASSOC ); - } - - - public function fetchAll () - { - return $this->_stmt->fetchAll( \PDO::FETCH_ASSOC ); - } - - - public function insertId () - { - // Only useful after an insert of course... - $rows = $this->_stmt->fetchAll(); - return $rows[0]['dt_pkey']; - } -} - diff --git a/php/Database/Driver/Postgres/_notes/dwsync.xml b/php/Database/Driver/Postgres/_notes/dwsync.xml deleted file mode 100644 index 44d8680..0000000 --- a/php/Database/Driver/Postgres/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/php/Database/Driver/Sqlite/Query.php b/php/Database/Driver/Sqlite/Query.php deleted file mode 100644 index 8ab61ff..0000000 --- a/php/Database/Driver/Sqlite/Query.php +++ /dev/null @@ -1,111 +0,0 @@ - PDO::ERRMODE_EXCEPTION - ) - ); - } catch (\PDOException $e) { - // If we can't establish a DB connection then we return a DataTables - // error. - echo json_encode( array( - "sError" => "An error occurred while connecting to the database ". - "'{$db}'. The error reported by the server was: ".$e->getMessage() - ) ); - exit(0); - } - - return $pdo; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - protected function _prepare( $sql ) - { - $resource = $this->database()->resource(); - $this->_stmt = $resource->prepare( $sql ); - - // bind values - for ( $i=0 ; $i_bindings) ; $i++ ) { - $binding = $this->_bindings[$i]; - - $this->_stmt->bindValue( - $binding['name'], - $binding['value'], - $binding['type'] ? $binding['type'] : \PDO::PARAM_STR - ); - } - - $this->database()->debugInfo( $sql, $this->_bindings ); - } - - - protected function _exec() - { - try { - $this->_stmt->execute(); - } - catch (PDOException $e) { - echo "An SQL error occurred: ".$e->getMessage(); - error_log( "An SQL error occurred: ".$e->getMessage() ); - return false; - } - - $resource = $this->database()->resource(); - return new DriverSqliteResult( $resource, $this->_stmt ); - } -} - diff --git a/php/Database/Driver/Sqlite/Result.php b/php/Database/Driver/Sqlite/Result.php deleted file mode 100644 index e2ac26c..0000000 --- a/php/Database/Driver/Sqlite/Result.php +++ /dev/null @@ -1,73 +0,0 @@ -_dbh = $dbh; - $this->_stmt = $stmt; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - private $_stmt; - private $_dbh; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - public function count () - { - return count($this->fetchAll()); - } - - - public function fetch () - { - return $this->_stmt->fetch( \PDO::FETCH_ASSOC ); - } - - - public function fetchAll () - { - return $this->_stmt->fetchAll( \PDO::FETCH_ASSOC ); - } - - - public function insertId () - { - return $this->_dbh->lastInsertId(); - } -} - diff --git a/php/Database/Driver/Sqlite/_notes/dwsync.xml b/php/Database/Driver/Sqlite/_notes/dwsync.xml deleted file mode 100644 index 44d8680..0000000 --- a/php/Database/Driver/Sqlite/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/php/Database/Driver/Sqlserver/Query.php b/php/Database/Driver/Sqlserver/Query.php deleted file mode 100644 index 5dc660b..0000000 --- a/php/Database/Driver/Sqlserver/Query.php +++ /dev/null @@ -1,135 +0,0 @@ - PDO::ERRMODE_EXCEPTION - ) - ); - } catch (\PDOException $e) { - // If we can't establish a DB connection then we return a DataTables - // error. - echo json_encode( array( - "sError" => "An error occurred while connecting to the database ". - "'{$db}'. The error reported by the server was: ".$e->getMessage() - ) ); - exit(0); - } - - return $pdo; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - protected function _prepare( $sql ) - { - $resource = $this->database()->resource(); - $this->_stmt = $resource->prepare( $sql ); - - // bind values - for ( $i=0 ; $i_bindings) ; $i++ ) { - $binding = $this->_bindings[$i]; - - $this->_stmt->bindValue( - $binding['name'], - $binding['value'], - $binding['type'] ? $binding['type'] : \PDO::PARAM_STR - ); - } - - $this->database()->debugInfo( $sql, $this->_bindings ); - } - - - protected function _exec() - { - try { - $this->_stmt->execute(); - } - catch (PDOException $e) { - echo "An SQL error occurred: ".$e->getMessage(); - error_log( "An SQL error occurred: ".$e->getMessage() ); - return false; - } - - $resource = $this->database()->resource(); - return new DriverSqlserverResult( $resource, $this->_stmt ); - } - - - // SQL Server 2012+ only - protected function _build_limit() - { - $out = ''; - - if ( $this->_offset ) { - $out .= ' OFFSET '.$this->_offset.' ROWS'; - } - - if ( $this->_limit ) { - if ( ! $this->_offset ) { - $out .= ' OFFSET 0 ROWS'; - } - $out .= ' FETCH NEXT '.$this->_limit. ' ROWS ONLY'; - } - - return $out; - } -} - diff --git a/php/Database/Driver/Sqlserver/Result.php b/php/Database/Driver/Sqlserver/Result.php deleted file mode 100644 index 781131c..0000000 --- a/php/Database/Driver/Sqlserver/Result.php +++ /dev/null @@ -1,71 +0,0 @@ -_dbh = $dbh; - $this->_stmt = $stmt; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - private $_stmt; - private $_dbh; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - public function count () - { - return count($this->fetchAll()); - } - - - public function fetch () - { - return $this->_stmt->fetch( \PDO::FETCH_ASSOC ); - } - - - public function fetchAll () - { - return $this->_stmt->fetchAll( \PDO::FETCH_ASSOC ); - } - - - public function insertId () - { - return $this->_dbh->lastInsertId(); - } -} - diff --git a/php/Database/Driver/Sqlserver/_notes/dwsync.xml b/php/Database/Driver/Sqlserver/_notes/dwsync.xml deleted file mode 100644 index 44d8680..0000000 --- a/php/Database/Driver/Sqlserver/_notes/dwsync.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/php/Database/Query.php b/php/Database/Query.php deleted file mode 100644 index 2ee4b86..0000000 --- a/php/Database/Query.php +++ /dev/null @@ -1,1076 +0,0 @@ -_dbHost = $dbHost; - $this->_type = $type; - $this->table( $table ); - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - /** - * @var string Driver to use - * @internal - */ - protected $_type = ""; - - /** - * @var array - * @internal - */ - protected $_table = array(); - - /** - * @var array - * @internal - */ - protected $_field = array(); - - /** - * @var array - * @internal - */ - protected $_bindings = array(); - - /** - * @var array - * @internal - */ - protected $_where = array(); - - /** - * @var array - * @internal - */ - protected $_join = array(); - - /** - * @var array - * @internal - */ - protected $_order = array(); - - /** - * @var array - * @internal - */ - protected $_noBind = array(); - - /** - * @var int - * @internal - */ - protected $_limit = null; - - /** - * @var int - * @internal - */ - protected $_offset = null; - - /** - * @var string - * @internal - */ - protected $_distinct = false; - - /** - * @var string - * @internal - */ - protected $_identifier_limiter = array( '`', '`' ); - - /** - * @var string - * @internal - */ - protected $_field_quote = '\''; - - /** - * @var array - * @internal - */ - protected $_pkey = null; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Static methods - */ - - /** - * Commit a transaction. - * @param \PDO $dbh The Database handle (typically a PDO object, but not always). - */ - public static function commit ( $dbh ) - { - $dbh->commit(); - } - - /** - * Database connection - override by the database driver. - * @param string|array $user User name or all parameters in an array - * @param string $pass Password - * @param string $host Host name - * @param string $db Database name - * @return Query - */ - public static function connect ( $user, $pass='', $host='', $port='', $db='', $dsn='' ) - { - return false; - } - - - /** - * Start a database transaction - * @param \PDO $dbh The Database handle (typically a PDO object, but not always). - */ - public static function transaction ( $dbh ) - { - $dbh->beginTransaction(); - } - - - /** - * Rollback the database state to the start of the transaction. - * @param \PDO $dbh The Database handle (typically a PDO object, but not always). - */ - public static function rollback ( $dbh ) - { - $dbh->rollBack(); - } - - - /** - * Common helper for the drivers to handle a PDO DSN postfix - * @param string $dsn DSN postfix to use - * @return Query - * @internal - */ - static function dsnPostfix ( $dsn ) - { - if ( ! $dsn ) { - return ''; - } - - // Add a DSN field separator if not given - if ( strpos( $dsn, ';' ) !== 0 ) { - return ';'.$dsn; - } - - return $dsn; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Safely bind an input value to a parameter. This is evaluated when the - * query is executed. This allows user input to be safely executed without - * risk of an SQL injection attack. - * - * @param [type] $name Parameter name. This should include a leading colon - * @param [type] $value Value to bind - * @param [type] $type Data type. See the PHP PDO documentation: - * http://php.net/manual/en/pdo.constants.php - * @return Query - */ - public function bind ( $name, $value, $type=null ) - { - $this->_bindings[] = array( - "name" => $this->_safe_bind( $name ), - "value" => $value, - "type" => $type - ); - - return $this; - } - - - /** - * Get the Database host for this query instance - * @return DataTable Database class instance - */ - public function database () - { - return $this->_dbHost; - } - - - /** - * Set a distinct flag for a `select` query. Note that this has no effect on - * any of the other query types. - * @param boolean $dis Optional - * @return Query - */ - public function distinct ( $dis ) - { - $this->_distinct = $dis; - return $this; - } - - - /** - * Execute the query. - * @param string $sql SQL string to execute (only if _type is 'raw'). - * @return Result - */ - public function exec ( $sql=null ) - { - $type = strtolower( $this->_type ); - - if ( $type === 'select' ) { - return $this->_select(); - } - else if ( $type === 'insert' ) { - return $this->_insert(); - } - else if ( $type === 'update' ) { - return $this->_update(); - } - else if ( $type === 'delete' ) { - return $this->_delete(); - } - else if ( $type === 'raw' ) { - return $this->_raw( $sql ); - } - - throw new \Exception("Unknown database command or not supported: ".$type, 1); - } - - - /** - * Get fields. - * @param string|string[] $get,... Fields to get - can be specified as - * individual fields, an array of fields, a string of comma separated - * fields or any combination of those. - * @return self - */ - public function get ( $get ) - { - if ( $get === null ) { - return $this; - } - - $args = func_get_args(); - - for ( $i=0 ; $iget( $args[$i][$j] ); - } - } - else { - // String argument so split into pieces and add - // TODO - This limits the ability to use functions. Need to - // parse the string so it will split when not in a function - $fields = explode(",", $args[$i]); - - for ( $j=0 ; $j_field[] = trim( $fields[$j] ); - } - } - } - - return $this; - } - - - /** - * Perform a JOIN operation - * @param string $table Table name to do the JOIN on - * @param string $condition JOIN condition - * @param string $type JOIN type - * @return self - */ - public function join ( $table, $condition, $type='' ) - { - // Tidy and check we know what the join type is - if ($type !== '') { - $type = strtoupper(trim($type)); - - if ( ! in_array($type, array('LEFT', 'RIGHT', 'INNER', 'OUTER', 'LEFT OUTER', 'RIGHT OUTER'))) { - $type = ''; - } - } - - // Protect the identifiers - if (preg_match('/([\w\.]+)([\W\s]+)(.+)/', $condition, $match)) - { - $match[1] = $this->_protect_identifiers( $match[1] ); - $match[3] = $this->_protect_identifiers( $match[3] ); - - $condition = $match[1].$match[2].$match[3]; - } - - $this->_join[] = $type .' JOIN '. $this->_protect_identifiers($table) .' ON '. $condition .' '; - - return $this; - } - - - /** - * Limit the result set to a certain size. - * @param int $lim The number of records to limit the result to. - * @return self - */ - public function limit ( $lim ) - { - $this->_limit = $lim; - - return $this; - } - - - /** - * Get / set the primary key column name(s) so they can be easily returned - * after an insert. - * @param string[] $pkey Primary keys - * @return Query|string[] - */ - public function pkey ( $pkey=null ) - { - if ( $pkey === null ) { - return $this->_pkey; - } - - $this->_pkey = $pkey; - - return $this; - } - - - /** - * Set table(s) to perform the query on. - * @param string|string[] $table,... Table(s) to use - can be specified as - * individual names, an array of names, a string of comma separated - * names or any combination of those. - * @return self - */ - public function table ( $table ) - { - if ( $table === null ) { - return $this; - } - - if ( is_array($table) ) { - // Array so loop internally - for ( $i=0 ; $itable( $table[$i] ); - } - } - else { - // String based, explode for multiple tables - $tables = explode(",", $table); - - for ( $i=0 ; $i_table[] = $this->_protect_identifiers( trim($tables[$i]) ); - } - } - - return $this; - } - - - /** - * Offset the return set by a given number of records (useful for paging). - * @param int $off The number of records to offset the result by. - * @return self - */ - public function offset ( $off ) - { - $this->_offset = $off; - - return $this; - } - - - /** - * Order by - * @param string|string[] $order Columns and direction to order by - can - * be specified as individual names, an array of names, a string of comma - * separated names or any combination of those. - * @return self - */ - public function order ( $order ) - { - if ( $order === null ) { - return $this; - } - - if ( !is_array($order) ) { - $order = explode(",", $order); - } - - for ( $i=0 ; $i_order[] = $this->_protect_identifiers( $identifier ).' '.$direction; - } - - return $this; - } - - - /** - * Set fields to a given value. - * - * Can be used in two different ways, as set( field, value ) or as an array of - * fields to set: set( array( 'fieldName' => 'value', ...) ); - * @param string|string[] $set Can be given as a single string, when then $val - * must be set, or as an array of key/value pairs to be set. - * @param string $val When $set is given as a simple string, $set is the field - * name and this is the field's value. - * @param boolean $bind Should the value be bound or not - * @return self - */ - public function set ( $set, $val=null, $bind=true ) - { - if ( $set === null ) { - return $this; - } - - if ( !is_array($set) ) { - $set = array( $set => $val ); - } - - foreach ($set as $key => $value) { - $this->_field[] = $key; - - if ( $bind ) { - $this->bind( ':'.$key, $value ); - } - else { - $this->_noBind[$key] = $value; - } - } - - return $this; - } - - - /** - * Where query - multiple conditions are bound as ANDs. - * - * Can be used in two different ways, as where( field, value ) or as an array of - * conditions to use: where( array('fieldName', ...), array('value', ...) ); - * @param string|string[]|callable $key Single field name, or an array of field names. - * If given as a function (i.e. a closure), the function is called, passing the - * query itself in as the only parameter, so the function can add extra conditions - * with parentheses around the additional parameters. - * @param string|string[] $value Single field value, or an array of - * values. Can be null to search for `IS NULL` or `IS NOT NULL` (depending - * on the value of `$op` which should be `=` or `!=`. - * @param string $op Condition operator: <, >, = etc - * @param boolean $bind Escape the value (true, default) or not (false). - * @return self - * - * @example - * The following will produce - * `'WHERE name='allan' AND ( location='Scotland' OR location='Canada' )`: - * - * - * $query - * ->where( 'name', 'allan' ) - * ->where( function ($q) { - * $q->where( 'location', 'Scotland' ); - * $q->where( 'location', 'Canada' ); - * } ); - * - */ - public function where ( $key, $value=null, $op="=", $bind=true ) - { - if ( $key === null ) { - return $this; - } - else if ( is_callable($key) && is_object($key) ) { // is a closure - $this->_where_group( true, 'AND' ); - $key( $this ); - $this->_where_group( false, 'OR' ); - } - else if ( !is_array($key) && is_array($value) ) { - for ( $i=0 ; $iwhere( $key, $value[$i], $op, $bind ); - } - } - else { - $this->_where( $key, $value, 'AND ', $op, $bind ); - } - - return $this; - } - - - /** - * Add addition where conditions to the query with an AND operator. An alias - * of `where` for naming consistency. - * - * Can be used in two different ways, as where( field, value ) or as an array of - * conditions to use: where( array('fieldName', ...), array('value', ...) ); - * @param string|string[]|callable $key Single field name, or an array of field names. - * If given as a function (i.e. a closure), the function is called, passing the - * query itself in as the only parameter, so the function can add extra conditions - * with parentheses around the additional parameters. - * @param string|string[] $value Single field value, or an array of - * values. Can be null to search for `IS NULL` or `IS NOT NULL` (depending - * on the value of `$op` which should be `=` or `!=`. - * @param string $op Condition operator: <, >, = etc - * @param boolean $bind Escape the value (true, default) or not (false). - * @return self - */ - public function and_where ( $key, $value=null, $op="=", $bind=true ) - { - return $this->where( $key, $value, $op, $bind ); - } - - - /** - * Add addition where conditions to the query with an OR operator. - * - * Can be used in two different ways, as where( field, value ) or as an array of - * conditions to use: where( array('fieldName', ...), array('value', ...) ); - * @param string|string[]|callable $key Single field name, or an array of field names. - * If given as a function (i.e. a closure), the function is called, passing the - * query itself in as the only parameter, so the function can add extra conditions - * with parentheses around the additional parameters. - * @param string|string[] $value Single field value, or an array of - * values. Can be null to search for `IS NULL` or `IS NOT NULL` (depending - * on the value of `$op` which should be `=` or `!=`. - * @param string $op Condition operator: <, >, = etc - * @param boolean $bind Escape the value (true, default) or not (false). - * @return self - */ - public function or_where ( $key, $value=null, $op="=", $bind=true ) - { - if ( $key === null ) { - return $this; - } - else if ( is_callable($key) ) { - $this->_where_group( true, 'OR' ); - $key( $this ); - $this->_where_group( false, 'OR' ); - } - else { - if ( !is_array($key) && is_array($value) ) { - for ( $i=0 ; $ior_where( $key, $value[$i], $op, $bind ); - } - return $this; - } - - $this->_where( $key, $value, 'OR ', $op, $bind ); - } - - return $this; - } - - - /** - * Provide grouping for WHERE conditions. Use it with a callback function to - * automatically group any conditions applied inside the method. - * - * For legacy reasons this method also provides the ability to explicitly - * define if a grouping bracket should be opened or closed in the query. - * This method is not prefer. - * - * @param boolean|callable $inOut If callable it will create the group - * automatically and pass the query into the called function. For - * legacy operations use `true` to open brackets, `false` to close. - * @param string $op Conditional operator to use to join to the - * preceding condition. Default `AND`. - * @return self - * - * @example - * - * $query->where_group( function ($q) { - * $q->where( 'location', 'Edinburgh' ); - * $q->where( 'position', 'Manager' ); - * } ); - * - */ - public function where_group ( $inOut, $op='AND' ) - { - if ( is_callable($inOut) ) { - $this->_where_group( true, $op ); - $inOut( $this ); - $this->_where_group( false, $op ); - } - else { - $this->_where_group( $inOut, $op ); - } - - return $this; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Protected methods - */ - - /** - * Create a comma separated field list - * @param bool $addAlias Flag to add an alias - * @return string - * @internal - */ - protected function _build_field( $addAlias=false ) - { - $a = array(); - - for ( $i=0 ; $i_field) ; $i++ ) { - $field = $this->_field[$i]; - - // Keep the name when referring to a table - if ( $addAlias && strpos($field, ' as ') !== false && $field !== '*' ) { - $split = explode(' as ', $field); - $a[] = $this->_protect_identifiers( $split[0] ).' as '. - $this->_field_quote. $split[1] .$this->_field_quote; - } - else if ( $addAlias && strpos($field, ' as ') === false && $field !== '*' ) { - $a[] = $this->_protect_identifiers( $field ).' as '. - $this->_field_quote. $field .$this->_field_quote; - } - else { - $a[] = $this->_protect_identifiers( $field ); - } - } - - return ' '.implode(', ', $a).' '; - } - - /** - * Create a JOIN statement list - * @return string - * @internal - */ - protected function _build_join() - { - return implode(' ', $this->_join); - } - - /** - * Create the LIMIT / OFFSET string - * - * MySQL and Postgres stylee - anything else can have the driver override - * @return string - * @internal - */ - protected function _build_limit() - { - $out = ''; - - if ( $this->_limit ) { - $out .= ' LIMIT '.$this->_limit; - } - - if ( $this->_offset ) { - $out .= ' OFFSET '.$this->_offset; - } - - return $out; - } - - /** - * Create the ORDER BY string - * @return string - * @internal - */ - protected function _build_order() - { - if ( count( $this->_order ) > 0 ) { - return ' ORDER BY '.implode(', ', $this->_order).' '; - } - return ''; - } - - /** - * Create a set list - * @return string - * @internal - */ - protected function _build_set() - { - $a = array(); - - for ( $i=0 ; $i_field) ; $i++ ) { - $field = $this->_field[$i]; - - if ( isset( $this->_noBind[ $field ] ) ) { - $a[] = $this->_protect_identifiers( $field ) .' = '. $this->_noBind[ $field ]; - } - else { - $a[] = $this->_protect_identifiers( $field ) .' = :'. $this->_safe_bind( $field ); - } - } - - return ' '.implode(', ', $a).' '; - } - - /** - * Create the TABLE list - * @return string - * @internal - */ - protected function _build_table() - { - return ' '.implode(', ', $this->_table).' '; - } - - /** - * Create a bind field value list - * @return string - * @internal - */ - protected function _build_value() - { - $a = array(); - - for ( $i=0, $ien=count($this->_field) ; $i<$ien ; $i++ ) { - $a[] = ' :'.$this->_safe_bind( $this->_field[$i] ); - } - - return ' '.implode(', ', $a).' '; - } - - /** - * Create the WHERE statement - * @return string - * @internal - */ - protected function _build_where() - { - if ( count($this->_where) === 0 ) { - return ""; - } - - $condition = "WHERE "; - - for ( $i=0 ; $i_where) ; $i++ ) { - if ( $i === 0 ) { - // Nothing (simplifies the logic!) - } - else if ( $this->_where[$i]['group'] === ')' ) { - // If a group has been used but no conditions were added inside - // of, we don't want to end up with `()` in the SQL as that is - // invalid, so add a 1. - if ( $this->_where[$i-1]['group'] === '(' ) { - $condition .= '1=1'; - } - // else nothing - } - else if ( $this->_where[$i-1]['group'] === '(' ) { - // Nothing - } - else { - $condition .= $this->_where[$i]['operator']; - } - - if ( $this->_where[$i]['group'] !== null ) { - $condition .= $this->_where[$i]['group']; - } - else { - $condition .= $this->_where[$i]['query'] .' '; - } - } - - return $condition; - } - - /** - * Create a DELETE statement - * @return Result - * @internal - */ - protected function _delete() - { - $this->_prepare( - 'DELETE FROM ' - .$this->_build_table() - .$this->_build_where() - ); - - return $this->_exec(); - } - - /** - * Execute the query. Provided by the driver - * @return Result - * @internal - */ - protected function _exec() - {} - - /** - * Create an INSERT statement - * @return Result - * @internal - */ - protected function _insert() - { - $this->_prepare( - 'INSERT INTO ' - .$this->_build_table().' (' - .$this->_build_field() - .') ' - .'VALUES (' - .$this->_build_value() - .')' - ); - - return $this->_exec(); - } - - /** - * Prepare the SQL query by populating the bound variables. - * Provided by the driver - * @return void - * @internal - */ - protected function _prepare( $sql ) - {} - - /** - * Protect field names - * @param string $identifier String to be protected - * @return string - * @internal - */ - protected function _protect_identifiers( $identifier ) - { - $idl = $this->_identifier_limiter; - - // No escaping character - if ( ! $idl ) { - return $identifier; - } - - $left = $idl[0]; - $right = $idl[1]; - - // Dealing with a function or other expression? Just return immediately - if (strpos($identifier, '(') !== FALSE || strpos($identifier, '*') !== FALSE || strpos($identifier, ' ') !== FALSE) - { - return $identifier; - } - - // Going to be operating on the spaces in strings, to simplify the white-space - $identifier = preg_replace('/[\t ]+/', ' ', $identifier); - - // Find if our identifier has an alias, so we don't escape that - if ( strpos($identifier, ' as ') !== false ) { - $alias = strstr($identifier, ' as '); - $identifier = substr($identifier, 0, - strlen($alias)); - } - else { - $alias = ''; - } - - $a = explode('.', $identifier); - return $left . implode($right.'.'.$left, $a) . $right . $alias; - } - - /** - * Passed in SQL statement - * @return Result - * @internal - */ - protected function _raw( $sql ) - { - $this->_prepare( $sql ); - - return $this->_exec(); - } - - /** - * The characters that can be used for the PDO bindValue name are quite - * limited (`[a-zA-Z0-9_]+`). We need to abstract this out to allow slightly - * more complex expressions including dots for easy aliasing - * @param string $name Field name - * @return string - * @internal - */ - protected function _safe_bind ( $name ) - { - $name = str_replace('.', '_1_', $name); - $name = str_replace('-', '_2_', $name); - - return $name; - } - - /** - * Create a SELECT statement - * @return Result - * @internal - */ - protected function _select() - { - $this->_prepare( - 'SELECT '.($this->_distinct ? 'DISTINCT ' : '') - .$this->_build_field( true ) - .'FROM '.$this->_build_table() - .$this->_build_join() - .$this->_build_where() - .$this->_build_order() - .$this->_build_limit() - ); - - return $this->_exec(); - } - - /** - * Create an UPDATE statement - * @return Result - * @internal - */ - protected function _update() - { - $this->_prepare( - 'UPDATE ' - .$this->_build_table() - .'SET '.$this->_build_set() - .$this->_build_where() - ); - - return $this->_exec(); - } - - /** - * Add an individual where condition to the query. - * @internal - * @param $where - * @param null $value - * @param string $type - * @param string $op - * @param bool $bind - */ - protected function _where ( $where, $value=null, $type='AND ', $op="=", $bind=true ) - { - if ( $where === null ) { - return; - } - else if ( !is_array($where) ) { - $where = array( $where => $value ); - } - - foreach ($where as $key => $value) { - $i = count( $this->_where ); - - if ( $value === null ) { - // Null query - $this->_where[] = array( - 'operator' => $type, - 'group' => null, - 'field' => $this->_protect_identifiers($key), - 'query' => $this->_protect_identifiers($key) .( $op === '=' ? - ' IS NULL' : - ' IS NOT NULL') - ); - } - else if ( $bind ) { - // Binding condition (i.e. escape data) - $this->_where[] = array( - 'operator' => $type, - 'group' => null, - 'field' => $this->_protect_identifiers($key), - 'query' => $this->_protect_identifiers($key) .' '.$op.' '.$this->_safe_bind(':where_'.$i) - ); - $this->bind( ':where_'.$i, $value ); - } - else { - // Non-binding condition - $this->_where[] = array( - 'operator' => $type, - 'group' => null, - 'field' => null, - 'query' => $this->_protect_identifiers($key) .' '. $op .' '. $this->_protect_identifiers($value) - ); - } - } - } - - /** - * Add parentheses to a where condition - * @return string - * @internal - */ - protected function _where_group ( $inOut, $op ) - { - $this->_where[] = array( - "group" => $inOut ? '(' : ')', - "operator" => $op - ); - } -}; - - diff --git a/php/Database/Result.php b/php/Database/Result.php deleted file mode 100644 index af5d55b..0000000 --- a/php/Database/Result.php +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/php/Editor/Editor.php b/php/Editor/Editor.php deleted file mode 100644 index 05e61b9..0000000 --- a/php/Editor/Editor.php +++ /dev/null @@ -1,2000 +0,0 @@ - - * Editor::inst( $db, 'browsers' ) - * ->fields( - * Field::inst( 'first_name' )->validator( 'Validate::required' ), - * Field::inst( 'last_name' )->validator( 'Validate::required' ), - * Field::inst( 'country' ), - * Field::inst( 'details' ) - * ) - * ->process( $_POST ) - * ->json(); - * - */ -class Editor extends Ext { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Statics - */ - - /** Request type - read */ - const ACTION_READ = 'read'; - - /** Request type - create */ - const ACTION_CREATE = 'create'; - - /** Request type - edit */ - const ACTION_EDIT = 'edit'; - - /** Request type - delete */ - const ACTION_DELETE = 'delete'; - - /** Request type - upload */ - const ACTION_UPLOAD = 'upload'; - - - /** - * Determine the request type from an HTTP request. - * - * @param array $http Typically $_POST, but can be any array used to carry - * an Editor payload - * @return string `Editor::ACTION_READ`, `Editor::ACTION_CREATE`, - * `Editor::ACTION_EDIT` or `Editor::ACTION_DELETE` indicating the request - * type. - */ - static public function action ( $http ) - { - if ( ! isset( $http['action'] ) ) { - return self::ACTION_READ; - } - - switch ( $http['action'] ) { - case 'create': - return self::ACTION_CREATE; - - case 'edit': - return self::ACTION_EDIT; - - case 'remove': - return self::ACTION_DELETE; - - case 'upload': - return self::ACTION_UPLOAD; - - default: - throw new \Exception("Unknown Editor action: ".$http['action']); - } - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Constructor - */ - - /** - * Constructor. - * @param Database $db An instance of the DataTables Database class that we can - * use for the DB connection. Can be given here or with the 'db' method. - * - * 456 - * - * @param string|array $table The table name in the database to read and write - * information from and to. Can be given here or with the 'table' method. - * @param string|array $pkey Primary key column name in the table given in - the $table parameter. Can be given here or with the 'pkey' method. - */ - function __construct( $db=null, $table=null, $pkey=null ) - { - // Set constructor parameters using the API - note that the get/set will - // ignore null values if they are used (i.e. not passed in) - $this->db( $db ); - $this->table( $table ); - $this->pkey( $pkey ); - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public properties - */ - - /** @var string */ - public $version = '1.6.1'; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - /** @var DataTables\Database */ - private $_db = null; - - /** @var DataTables\Editor\Field[] */ - private $_fields = array(); - - /** @var array */ - private $_formData; - - /** @var array */ - private $_processData; - - /** @var string */ - private $_idPrefix = 'row_'; - - /** @var DataTables\Editor\Join[] */ - private $_join = array(); - - /** @var array */ - private $_pkey = array('id'); - - /** @var string[] */ - private $_table = array(); - - /** @var boolean */ - private $_transaction = true; - - /** @var array */ - private $_where = array(); - - /** @var array */ - private $_leftJoin = array(); - - /** @var boolean - deprecated */ - private $_whereSet = false; - - /** @var array */ - private $_out = array( - "fieldErrors" => array(), - "error" => "", - "data" => array(), - "ipOpts" => array(), - "cancelled" => array() - ); - - /** @var array */ - private $_events = array(); - - /** @var boolean */ - private $_debug = false; - - /** @var callback */ - private $_validator = null; - - /** @var boolean Enable true / catch when processing */ - private $_tryCatch = true; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Get the data constructed in this instance. - * - * This will get the PHP array of data that has been constructed for the - * command that has been processed by this instance. Therefore only useful after - * process has been called. - * @return array Processed data array. - */ - public function data () - { - return $this->_out; - } - - - /** - * Get / set the DB connection instance - * @param Database $_ DataTable's Database class instance to use for database - * connectivity. If not given, then used as a getter. - * @return Database|self The Database connection instance if no parameter - * is given, or self if used as a setter. - */ - public function db ( $_=null ) - { - return $this->_getSet( $this->_db, $_ ); - } - - - /** - * Get / set debug mode. - * - * It can be useful to see the SQL statements that Editor is using. This - * method enables that ability. Information about the queries used is - * automatically added to the output data array / JSON under the property - * name `debugSql`. - * - * @param boolean $_ Debug mode state. If not given, then used as a getter. - * @return boolean|self Debug mode state if no parameter is given, or - * self if used as a setter. - */ - public function debug ( $_=null ) - { - return $this->_getSet( $this->_debug, $_ ); - } - - - /** - * Get / set field instance. - * - * The list of fields designates which columns in the table that Editor will work - * with (both get and set). - * @param Field|string $_... This parameter effects the return value of the - * function: - * - * * `null` - Get an array of all fields assigned to the instance - * * `string` - Get a specific field instance whose 'name' matches the - * field passed in - * * {@link Field} - Add a field to the instance's list of fields. This - * can be as many fields as required (i.e. multiple arguments) - * * `array` - An array of {@link Field} instances to add to the list - * of fields. - * @return Field|Field[]|Editor The selected field, an array of fields, or - * the Editor instance for chaining, depending on the input parameter. - * @throws \Exception Unkown field error - * @see {@link Field} for field documentation. - */ - public function field ( $_=null ) - { - if ( is_string( $_ ) ) { - for ( $i=0, $ien=count($this->_fields) ; $i<$ien ; $i++ ) { - if ( $this->_fields[$i]->name() === $_ ) { - return $this->_fields[$i]; - } - } - - throw new \Exception('Unknown field: '.$_); - } - - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_fields, $_, true ); - } - - - /** - * Get / set field instances. - * - * An alias of {@link field}, for convenience. - * @param Field $_... Instances of the {@link Field} class, given as a single - * instance of {@link Field}, an array of {@link Field} instances, or multiple - * {@link Field} instance parameters for the function. - * @return Field[]|self Array of fields, or self if used as a setter. - * @see {@link Field} for field documentation. - */ - public function fields ( $_=null ) - { - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_fields, $_, true ); - } - - - /** - * Get / set the DOM prefix. - * - * Typically primary keys are numeric and this is not a valid ID value in an - * HTML document - is also increases the likelihood of an ID clash if multiple - * tables are used on a single page. As such, a prefix is assigned to the - * primary key value for each row, and this is used as the DOM ID, so Editor - * can track individual rows. - * @param string $_ Primary key's name. If not given, then used as a getter. - * @return string|self Primary key value if no parameter is given, or - * self if used as a setter. - */ - public function idPrefix ( $_=null ) - { - return $this->_getSet( $this->_idPrefix, $_ ); - } - - - /** - * Get the data that is being processed by the Editor instance. This is only - * useful once the `process()` method has been called, and is available for - * use in validation and formatter methods. - * - * @return array Data given to `process()`. - */ - public function inData () - { - return $this->_processData; - } - - - /** - * Get / set join instances. Note that for the majority of use cases you - * will want to use the `leftJoin()` method. It is significantly easier - * to use if you are just doing a simple left join! - * - * The list of Join instances that Editor will join the parent table to - * (i.e. the one that the {@link table} and {@link fields} methods refer to - * in this class instance). - * - * @param Join $_,... Instances of the {@link Join} class, given as a - * single instance of {@link Join}, an array of {@link Join} instances, - * or multiple {@link Join} instance parameters for the function. - * @return Join[]|self Array of joins, or self if used as a setter. - * @see {@link Join} for joining documentation. - */ - public function join ( $_=null ) - { - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_join, $_, true ); - } - - - /** - * Get the JSON for the data constructed in this instance. - * - * Basically the same as the {@link data} method, but in this case we echo, or - * return the JSON string of the data. - * @param boolean $print Echo the JSON string out (true, default) or return it - * (false). - * @return string|self self if printing the JSON, or JSON representation of - * the processed data if false is given as the first parameter. - */ - public function json ( $print=true ) - { - if ( $print ) { - echo json_encode( $this->_out ); - return $this; - } - return json_encode( $this->_out ); - } - - - /** - * Echo out JSONP for the data constructed and processed in this instance. - * This is basically the same as {@link json} but wraps the return in a - * JSONP callback. - * - * @param string $callback The callback function name to use. If not given - * or `null`, then `$_GET['callback']` is used (the jQuery default). - * @return self Self for chaining. - * @throws \Exception JSONP function name validation - */ - public function jsonp ( $callback=null ) - { - if ( ! $callback ) { - $callback = $_GET['callback']; - } - - if ( preg_match('/[^a-zA-Z0-9_]/', $callback) ) { - throw new \Exception("Invalid JSONP callback function name"); - } - - echo $callback.'('.json_encode( $this->_out ).');'; - return $this; - } - - - /** - * Add a left join condition to the Editor instance, allowing it to operate - * over multiple tables. Multiple `leftJoin()` calls can be made for a - * single Editor instance to join multiple tables. - * - * A left join is the most common type of join that is used with Editor - * so this method is provided to make its use very easy to configure. Its - * parameters are basically the same as writing an SQL left join statement, - * but in this case Editor will handle the create, update and remove - * requirements of the join for you: - * - * * Create - On create Editor will insert the data into the primary table - * and then into the joined tables - selecting the required data for each - * table. - * * Edit - On edit Editor will update the main table, and then either - * update the existing rows in the joined table that match the join and - * edit conditions, or insert a new row into the joined table if required. - * * Remove - On delete Editor will remove the main row and then loop over - * each of the joined tables and remove the joined data matching the join - * link from the main table. - * - * Please note that when using join tables, Editor requires that you fully - * qualify each field with the field's table name. SQL can result table - * names for ambiguous field names, but for Editor to provide its full CRUD - * options, the table name must also be given. For example the field - * `first_name` in the table `users` would be given as `users.first_name`. - * - * @param string $table Table name to do a join onto - * @param string $field1 Field from the parent table to use as the join link - * @param string $operator Join condition (`=`, '<`, etc) - * @param string $field2 Field from the child table to use as the join link - * @return self Self for chaining. - * - * @example - * Simple join: - * - * ->field( - * Field::inst( 'users.first_name as myField' ), - * Field::inst( 'users.last_name' ), - * Field::inst( 'users.dept_id' ), - * Field::inst( 'dept.name' ) - * ) - * ->leftJoin( 'dept', 'users.dept_id', '=', 'dept.id' ) - * ->process($_POST) - * ->json(); - * - * - * This is basically the same as the following SQL statement: - * - * - * SELECT users.first_name, users.last_name, user.dept_id, dept.name - * FROM users - * LEFT JOIN dept ON users.dept_id = dept.id - * - */ - public function leftJoin ( $table, $field1, $operator, $field2 ) - { - $this->_leftJoin[] = array( - "table" => $table, - "field1" => $field1, - "field2" => $field2, - "operator" => $operator - ); - - return $this; - } - - - /** - * Add an event listener. The `Editor` class will trigger an number of - * events that some action can be taken on. - * - * @param [type] $name Event name - * @param [type] $callback Callback function to execute when the event - * occurs - * @return self Self for chaining. - */ - public function on ( $name, $callback ) - { - if ( ! isset( $this->_events[ $name ] ) ) { - $this->_events[ $name ] = array(); - } - - $this->_events[ $name ][] = $callback; - - return $this; - } - - - /** - * Get / set the table name. - * - * The table name designated which DB table Editor will use as its data - * source for working with the database. Table names can be given with an - * alias, which can be used to simplify larger table names. The field - * names would also need to reflect the alias, just like an SQL query. For - * example: `users as a`. - * - * @param string|array $_,... Table names given as a single string, an array of - * strings or multiple string parameters for the function. - * @return string[]|self Array of tables names, or self if used as a setter. - */ - public function table ( $_=null ) - { - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_table, $_, true ); - } - - - /** - * Get / set transaction support. - * - * When enabled (which it is by default) Editor will use an SQL transaction - * to ensure data integrity while it is performing operations on the table. - * This can be optionally disabled using this method, if required by your - * database configuration. - * - * @param boolean $_ Enable (`true`) or disabled (`false`) transactions. - * If not given, then used as a getter. - * @return boolean|self Transactions enabled flag, or self if used as a - * setter. - */ - public function transaction ( $_=null ) - { - return $this->_getSet( $this->_transaction, $_ ); - } - - - /** - * Get / set the primary key. - * - * The primary key must be known to Editor so it will know which rows are being - * edited / deleted upon those actions. The default value is ['id']. - * - * @param string|array $_ Primary key's name. If not given, then used as a - * getter. An array of column names can be given to allow composite keys to - * be used. - * @return string|self Primary key value if no parameter is given, or - * self if used as a setter. - */ - public function pkey ( $_=null ) - { - if ( is_string( $_ ) ) { - $this->_pkey = array( $_ ); - return $this; - } - return $this->_getSet( $this->_pkey, $_ ); - } - - - /** - * Convert a primary key array of field values to a combined value. - * - * @param string $row The row of data that the primary key value should - * be extracted from. - * @param boolean $flat Flag to indicate if the given array is flat - * (useful for `where` conditions) or nested for join tables. - * @return string The created primary key value. - * @throws \Exception If one of the values that the primary key is made up - * of cannot be found in the data set given, an Exception will be thrown. - */ - public function pkeyToValue ( $row, $flat=false ) - { - $pkey = $this->_pkey; - $id = array(); - - for ( $i=0, $ien=count($pkey) ; $i<$ien ; $i++ ) { - $column = $pkey[ $i ]; - - if ( $flat ) { - $val = isset( $row[ $column ] ) ? - $row[ $column ] : - null; - } - else { - $val = $this->_readProp( $column, $row ); - } - - if ( $val === null ) { - throw new \Exception("Primary key element is not available in data set.", 1); - } - - $id[] = $val; - } - - return implode( $this->_pkey_separator(), $id ); - } - - - /** - * Convert a primary key combined value to an array of field values. - * - * @param string $value The id that should be split apart - * @param boolean $flat Flag to indicate if the returned array should be - * flat (useful for `where` conditions) or nested for join tables. - * @return array Array of field values that the id was made up of. - * @throws \Exception If the primary key value does not match the expected - * length based on the primary key configuration, an exception will be - * thrown. - */ - public function pkeyToArray ( $value, $flat=false ) - { - $arr = array(); - $value = str_replace( $this->idPrefix(), '', $value ); - $idParts = explode( $this->_pkey_separator(), $value ); - - if ( count($this->_pkey) !== count($idParts) ) { - throw new \Exception("Primary key data doesn't match submitted data", 1); - } - - for ( $i=0, $ien=count($idParts) ; $i<$ien ; $i++ ) { - if ( $flat ) { - $arr[ $this->_pkey[$i] ] = $idParts[$i]; - } - else { - $this->_writeProp( $arr, $this->_pkey[$i], $idParts[$i] ); - } - } - - return $arr; - } - - - /** - * Process a request from the Editor client-side to get / set data. - * - * @param array $data Typically $_POST or $_GET as required by what is sent - by Editor - * @return self - */ - public function process ( $data ) - { - if ( $this->_debug ) { - $debugVal = $this->_db->debug(); - $this->_db->debug( true ); - } - - if ( $this->_tryCatch ) { - try { - $this->_process( $data ); - } - catch (\Exception $e) { - // Error feedback - $this->_out['error'] = $e->getMessage(); - - if ( $this->_transaction ) { - $this->_db->rollback(); - } - } - } - else { - $this->_process( $data ); - } - - if ( $this->_debug ) { - $this->_out['debugSql'] = $this->_db->debugInfo(); - $this->_db->debug( $debugVal ); - } - - return $this; - } - - - /** - * Enable / try catch when `process()` is called. Disabling this can be - * useful for debugging, but is not recommended for production. - * - * @param boolean $_ `true` to enable (default), otherwise false to disable - * @return boolean|Editor Value if used as a getter, otherwise `$this` when - * used as a setter. - */ - public function tryCatch ( $_=null ) - { - return $this->_getSet( $this->_tryCatch, $_ ); - } - - - /** - * Perform validation on a data set. - * - * Note that validation is performed on data only when the action is - * `create` or `edit`. Additionally, validation is performed on the _wire - * data_ - i.e. that which is submitted from the client, without formatting. - * Any formatting required by `setFormatter` is performed after the data - * from the client has been validated. - * - * @param &array $errors Output array to which field error information will - * be written. Each element in the array represents a field in an error - * condition. These elements are themselves arrays with two properties - * set; `name` and `status`. - * @param array $data The format data to check - * @return boolean `true` if the data is valid, `false` if not. - */ - public function validate ( &$errors, $data ) - { - // Validation is only performed on create and edit - if ( $data['action'] != "create" && $data['action'] != "edit" ) { - return true; - } - - foreach( $data['data'] as $id => $values ) { - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - $validation = $field->validate( $values, $this, - str_replace( $this->idPrefix(), '', $id ) - ); - - if ( $validation !== true ) { - $errors[] = array( - "name" => $field->name(), - "status" => $validation - ); - } - } - - // MJoin validation - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_join[$i]->validate( $errors, $this, $values ); - } - } - - return count( $errors ) > 0 ? false : true; - } - - - /** - * Get / set a global validator that will be triggered for the create, edit - * and remove actions performed from the client-side. - * - * @param [type] $_ Function to execute when validating the input data. - * It is passed three parameters: 1. The editor instance, 2. The action - * and 3. The values. - * @return [Editor|callback] Editor instance if called as a setter, or the - * validator function if not. - */ - public function validator ( $_=null ) - { - return $this->_getSet( $this->_validator, $_ ); - } - - - /** - * Where condition to add to the query used to get data from the database. - * - * Can be used in two different ways: - * - * * Simple case: `where( field, value, operator )` - * * Complex: `where( fn )` - * - * The simple case is fairly self explanatory, a condition is applied to the - * data that looks like `field operator value` (e.g. `name = 'Allan'`). The - * complex case allows full control over the query conditions by providing a - * closure function that has access to the database Query that Editor is - * using, so you can use the `where()`, `or_where()`, `and_where()` and - * `where_group()` methods as you require. - * - * Please be very careful when using this method! If an edit made by a user - * using Editor removes the row from the where condition, the result is - * undefined (since Editor expects the row to still be available, but the - * condition removes it from the result set). - * - * @param string|callable $key Single field name or a closure function - * @param string $value Single field value. - * @param string $op Condition operator: <, >, = etc - * @return string[]|self Where condition array, or self if used as a setter. - */ - public function where ( $key=null, $value=null, $op='=' ) - { - if ( $key === null ) { - return $this->_where; - } - - if ( is_callable($key) && is_object($key) ) { - $this->_where[] = $key; - } - else { - $this->_where[] = array( - "key" => $key, - "value" => $value, - "op" => $op - ); - } - - return $this; - } - - - /** - * Get / set if the WHERE conditions should be included in the create and - * edit actions. - * - * @param boolean $_ Include (`true`), or not (`false`) - * @return boolean Current value - * @deprecated Note that `whereSet` is now deprecated and replaced with the - * ability to set values for columns on create and edit. The C# libraries - * do not support this option at all. - */ - public function whereSet ( $_=null ) - { - return $this->_getSet( $this->_whereSet, $_ ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private methods - */ - - /** - * Process a request from the Editor client-side to get / set data. - * - * @param array $data Data to process - * @private - */ - private function _process( $data ) - { - $this->_processData = $data; - $this->_formData = isset($data['data']) ? $data['data'] : null; - $validator = $this->_validator; - - if ( $this->_transaction ) { - $this->_db->transaction(); - } - - $this->_prepJoin(); - - if ( $validator ) { - $ret = $validator( $this, !isset($data['action']) ? self::ACTION_READ : $data['action'], $data ); - - if ( $ret ) { - $this->_out['error'] = $ret; - } - } - - if ( ! $this->_out['error'] ) { - if ( ! isset($data['action']) ) { - /* Get data */ - $this->_out = array_merge( $this->_out, $this->_get( null, $data ) ); - } - else if ( $data['action'] == "upload" ) { - /* File upload */ - $this->_upload( $data ); - } - else if ( $data['action'] == "remove" ) { - /* Remove rows */ - $this->_remove( $data ); - $this->_fileClean(); - } - else { - /* Create or edit row */ - // Pre events so they can occur before the validation - foreach ($data['data'] as $idSrc => $values) { - $cancel = null; - - if ( $data['action'] == 'create' ) { - $cancel = $this->_trigger( 'preCreate', $values ); - } - else { - $id = str_replace( $this->_idPrefix, '', $idSrc ); - $cancel = $this->_trigger( 'preEdit', $id, $values ); - } - - // One of the event handlers returned false - don't continue - if ( $cancel === false ) { - // Remove the data from the data set so it won't be processed - unset( $data['data'][$idSrc] ); - - // Tell the client-side we aren't updating this row - $this->_out['cancelled'][] = $idSrc; - } - } - - // Field validation - $valid = $this->validate( $this->_out['fieldErrors'], $data ); - - if ( $valid ) { - foreach ($data['data'] as $id => $values) { - $d = $data['action'] == "create" ? - $this->_insert( $values ) : - $this->_update( $id, $values ); - - if ( $d !== null ) { - $this->_out['data'][] = $d; - } - } - } - - $this->_fileClean(); - } - } - - if ( $this->_transaction ) { - $this->_db->commit(); - } - - // Tidy up the reply - if ( count( $this->_out['fieldErrors'] ) === 0 ) { - unset( $this->_out['fieldErrors'] ); - } - - if ( $this->_out['error'] === '' ) { - unset( $this->_out['error'] ); - } - - if ( count( $this->_out['ipOpts'] ) === 0 ) { - unset( $this->_out['ipOpts'] ); - } - - if ( count( $this->_out['cancelled'] ) === 0 ) { - unset( $this->_out['cancelled'] ); - } - } - - - /** - * Get an array of objects from the database to be given to DataTables as a - * result of an sAjaxSource request, such that DataTables can display the information - * from the DB in the table. - * - * @param integer|string $id Primary key value to get an individual row - (after create or update operations). Gets the full set if not given. - If a compound key is being used, this should be the string - representation of it (i.e. joined together) rather than an array form. - * @param array $http HTTP parameters from GET or POST request (so we can service - * server-side processing requests from DataTables). - * @return array DataTables get information - * @throws \Exception Error on SQL execution - * @private - */ - private function _get( $id=null, $http=null ) - { - - $cancel = $this->_trigger( 'preGet', $id ); - if ( $cancel === false ) { - return array(); - } - - $query = $this->_db - ->query('select') - ->table( $this->_table ) - ->get( $this->_pkey ); - - // Add all fields that we need to get from the database - foreach ($this->_fields as $field) { - // Don't reselect a pkey column if it was already added - if ( in_array( $field->dbField(), $this->_pkey ) ) { - continue; - } - - if ( $field->apply('get') && $field->getValue() === null ) { - $query->get( $field->dbField() ); - } - } - - $this->_get_where( $query ); - $this->_perform_left_join( $query ); - $ssp = $this->_ssp_query( $query, $http ); - - if ( $id !== null ) { - $query->where( $this->pkeyToArray( $id, true ) ); - } - - $res = $query->exec(); - if ( ! $res ) { - throw new \Exception('Error executing SQL for data get. Enable SQL debug using `->debug(true)`'); - } - - $out = array(); - while ( $row=$res->fetch() ) { - $inner = array(); - $inner['DT_RowId'] = $this->_idPrefix . $this->pkeyToValue( $row, true ); - - foreach ($this->_fields as $field) { - if ( $field->apply('get') ) { - $field->write( $inner, $row ); - } - } - - $out[] = $inner; - } - - // Field options - $options = array(); - - foreach ($this->_fields as $field) { - $opts = $field->optionsExec( $this->_db ); - - if ( $opts !== false ) { - $options[ $field->name() ] = $opts; - } - } - - // Row based "joins" - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_join[$i]->data( $this, $out, $options ); - } - - $this->_trigger( 'postGet', $out, $id ); - - return array_merge( - array( - 'data' => $out, - 'options' => $options, - 'files' => $this->_fileData() - ), - $ssp - ); - } - - - /** - * Insert a new row in the database - * @private - */ - private function _insert( $values ) - { - // Only allow a composite insert if the values for the key are - // submitted. This is required because there is no reliable way in MySQL - // to return the newly inserted row, so we can't know any newly - // generated values. - $this->_pkey_validate_insert( $values ); - - // Insert the new row - $id = $this->_insert_or_update( null, $values ); - - // Was the primary key altered as part of the edit, if so use the - // submitted values - $id = count( $this->_pkey ) > 1 ? - $this->pkeyToValue( $values ) : - $this->_pkey_submit_merge( $id, $values ); - - // Join tables - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_join[$i]->create( $this, $id, $values ); - } - - // Full data set for the created row - $row = $this->_get( $id ); - $row = count( $row['data'] ) > 0 ? - $row['data'][0] : - null; - - $this->_trigger( 'postCreate', $id, $values, $row ); - - return $row; - } - - - /** - * Update a row in the database - * @param string $id The DOM ID for the row that is being edited. - * @return array Row's data - * @private - */ - private function _update( $id, $values ) - { - $id = str_replace( $this->_idPrefix, '', $id ); - - // Update or insert the rows for the parent table and the left joined - // tables - $this->_insert_or_update( $id, $values ); - - // And the join tables - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_join[$i]->update( $this, $id, $values ); - } - - // Was the primary key altered as part of the edit, if so use the - // submitted values - $getId = $this->_pkey_submit_merge( $id, $values ); - - // Full data set for the modified row - $row = $this->_get( $getId ); - $row = count( $row['data'] ) > 0 ? - $row['data'][0] : - null; - - $this->_trigger( 'postEdit', $id, $values, $row ); - - return $row; - } - - - /** - * Delete one or more rows from the database - * @private - */ - private function _remove( $data ) - { - $ids = array(); - - // Get the ids to delete from the data source - foreach ($data['data'] as $idSrc => $rowData) { - // Strip the ID prefix that the client-side sends back - $id = str_replace( $this->_idPrefix, "", $idSrc ); - - $res = $this->_trigger( 'preRemove', $id, $rowData ); - - // Allow the event to be cancelled and inform the client-side - if ( $res === false ) { - $this->_out['cancelled'][] = $idSrc; - } - else { - $ids[] = $id; - } - } - - if ( count( $ids ) === 0 ) { - return; - } - - // Row based joins - remove first as the host row will be removed which - // is a dependency - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_join[$i]->remove( $this, $ids ); - } - - // Remove from the left join tables - for ( $i=0, $ien=count($this->_leftJoin) ; $i<$ien ; $i++ ) { - $join = $this->_leftJoin[$i]; - $table = $this->_alias( $join['table'], 'orig' ); - - // which side of the join refers to the parent table? - if ( strpos( $join['field1'], $join['table'] ) === 0 ) { - $parentLink = $join['field2']; - $childLink = $join['field1']; - } - else { - $parentLink = $join['field1']; - $childLink = $join['field2']; - } - - // Only delete on the primary key, since that is what the ids refer - // to - otherwise we'd be deleting random data! Note that this - // won't work with compound keys since the parent link would be - // over multiple fields. - if ( $parentLink === $this->_pkey[0] && count($this->_pkey) === 1 ) { - $this->_remove_table( $join['table'], $ids, array($childLink) ); - } - } - - // Remove from the primary tables - for ( $i=0, $ien=count($this->_table) ; $i<$ien ; $i++ ) { - $this->_remove_table( $this->_table[$i], $ids ); - } - - foreach ($data['data'] as $idSrc => $rowData) { - $id = str_replace( $this->_idPrefix, "", $idSrc ); - - $this->_trigger( 'postRemove', $id, $rowData ); - } - } - - - /** - * File upload - * @param array $data Upload data - * @throws \Exception File upload name error - * @private - */ - private function _upload( $data ) - { - // Search for upload field in local fields - $field = $this->_find_field( $data['uploadField'], 'name' ); - $fieldName = ''; - - if ( ! $field ) { - // Perhaps it is in a join instance - for ( $i=0 ; $i_join) ; $i++ ) { - $join = $this->_join[$i]; - $fields = $join->fields(); - - for ( $j=0, $jen=count($fields) ; $j<$jen ; $j++ ) { - $joinField = $fields[ $j ]; - $name = $join->name().'[].'.$joinField->name(); - - if ( $name === $data['uploadField'] ) { - $field = $joinField; - $fieldName = $name; - } - } - } - } - else { - $fieldName = $field->name(); - } - - if ( ! $field ) { - throw new \Exception("Unknown upload field name submitted"); - } - - $upload = $field->upload(); - if ( ! $upload ) { - throw new \Exception("File uploaded to a field that does not have upload options configured"); - } - - $res = $upload->exec( $this ); - - if ( $res === false ) { - $this->_out['fieldErrors'][] = array( - "name" => $fieldName, // field name can be just the field's - "status" => $upload->error() // name or a join combination - ); - } - else { - $files = $this->_fileData( $upload->table(), $res ); - - $this->_out['files'] = $files; - $this->_out['upload']['id'] = $res; - } - } - - - /** - * Get information about the files that are detailed in the database for - * the fields which have an upload method defined on them. - * - * @param string [$limitTable=null] Limit the data gathering to a single - * table only - * @param number [$id=null] Limit to a specific id - * @return array File information - * @private - */ - private function _fileData ( $limitTable=null, $id=null ) - { - $files = array(); - - // The fields in this instance - $this->_fileDataFields( $files, $this->_fields, $limitTable, $id ); - - // From joined tables - for ( $i=0 ; $i_join) ; $i++ ) { - $this->_fileDataFields( $files, $this->_join[$i]->fields(), $limitTable, $id ); - } - - return $files; - } - - - /** - * Common file get method for any array of fields - * @param array &$files File output array - * @param Field[] $fields Fields to get file information about - * @param string $limitTable Limit the data gathering to a single table - * only - * @private - */ - private function _fileDataFields ( &$files, $fields, $limitTable, $id=null ) - { - foreach ($fields as $field) { - $upload = $field->upload(); - - if ( $upload ) { - $table = $upload->table(); - - if ( ! $table ) { - continue; - } - - if ( $limitTable !== null && $table !== $limitTable ) { - continue; - } - - if ( isset( $files[ $table ] ) ) { - continue; - } - - $fileData = $upload->data( $this->_db, $id ); - - if ( $fileData !== null ) { - $files[ $table ] = $fileData; - } - } - } - } - - /** - * Run the file clean up - * - * @private - */ - private function _fileClean () - { - foreach ( $this->_fields as $field ) { - $upload = $field->upload(); - - if ( $upload ) { - $upload->dbCleanExec( $this, $field ); - } - } - - for ( $i=0 ; $i_join) ; $i++ ) { - foreach ( $this->_join[$i]->fields() as $field ) { - $upload = $field->upload(); - - if ( $upload ) { - $upload->dbCleanExec( $this, $field ); - } - } - } - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Server-side processing methods - */ - - /** - * When server-side processing is being used, modify the query with // the - * required extra conditions - * - * @param \DataTables\Database\Query $query Query instance to apply the SSP commands to - * @param array $http Parameters from HTTP request - * @return array Server-side processing information array - * @private - */ - private function _ssp_query ( $query, $http ) - { - if ( ! isset( $http['draw'] ) ) { - return array(); - } - - // Add the server-side processing conditions - $this->_ssp_limit( $query, $http ); - $this->_ssp_sort( $query, $http ); - $this->_ssp_filter( $query, $http ); - - // Get the number of rows in the result set - $ssp_set_count = $this->_db - ->query('select') - ->table( $this->_table ) - ->get( 'COUNT('.$this->_pkey[0].') as cnt' ); - $this->_get_where( $ssp_set_count ); - $this->_ssp_filter( $ssp_set_count, $http ); - $this->_perform_left_join( $ssp_set_count ); - $ssp_set_count = $ssp_set_count->exec()->fetch(); - - // Get the number of rows in the full set - $ssp_full_count = $this->_db - ->query('select') - ->table( $this->_table ) - ->get( 'COUNT('.$this->_pkey[0].') as cnt' ); - $this->_get_where( $ssp_full_count ); - if ( count( $this->_where ) ) { // only needed if there is a where condition - $this->_perform_left_join( $ssp_full_count ); - } - $ssp_full_count = $ssp_full_count->exec()->fetch(); - - return array( - "draw" => intval( $http['draw'] ), - "recordsTotal" => $ssp_full_count['cnt'], - "recordsFiltered" => $ssp_set_count['cnt'] - ); - } - - - /** - * Convert a column index to a database field name - used for server-side - * processing requests. - * @param array $http HTTP variables (i.e. GET or POST) - * @param int $index Index in the DataTables' submitted data - * @returns string DB field name - * @throws \Exception Unknown fields - * @private - */ - private function _ssp_field( $http, $index ) - { - $name = $http['columns'][$index]['data']; - $field = $this->_find_field( $name, 'name' ); - - if ( ! $field ) { - // Is it the primary key? - if ( $name === 'DT_RowId' ) { - return $this->_pkey[0]; - } - - throw new \Exception('Unknown field: '.$name .' (index '.$index.')'); - } - - return $field->dbField(); - } - - - /** - * Sorting requirements to a server-side processing query. - * @param \DataTables\Database\Query $query Query instance to apply sorting to - * @param array $http HTTP variables (i.e. GET or POST) - * @private - */ - private function _ssp_sort ( $query, $http ) - { - for ( $i=0 ; $iorder( - $this->_ssp_field( $http, $order['column'] ) .' '. - ($order['dir']==='asc' ? 'asc' : 'desc') - ); - } - } - - - /** - * Add DataTables' 'where' condition to a server-side processing query. This - * works for both global and individual column filtering. - * @param \DataTables\Database\Query $query Query instance to apply the WHERE conditions to - * @param array $http HTTP variables (i.e. GET or POST) - * @private - */ - private function _ssp_filter ( $query, $http ) - { - $that = $this; - - // Global filter - $fields = $this->_fields; - - // Global search, add a ( ... or ... ) set of filters for each column - // in the table (not the fields, just the columns submitted) - if ( $http['search']['value'] ) { - $query->where( function ($q) use (&$that, &$fields, $http) { - for ( $i=0 ; $i_ssp_field( $http, $i ); - - if ( $field ) { - $q->or_where( $field, '%'.$http['search']['value'].'%', 'like' ); - } - } - } - } ); - } - - // if ( $http['search']['value'] ) { - // $words = explode(" ", $http['search']['value']); - - // $query->where( function ($q) use (&$that, &$fields, $http, $words) { - // for ( $j=0, $jen=count($words) ; $j<$jen ; $j++ ) { - // if ( $words[$j] ) { - // $q->where_group( true ); - - // for ( $i=0, $ien=count($http['columns']) ; $i<$ien ; $i++ ) { - // if ( $http['columns'][$i]['searchable'] == 'true' ) { - // $field = $that->_ssp_field( $http, $i ); - - // $q->or_where( $field, $words[$j].'%', 'like' ); - // $q->or_where( $field, '% '.$words[$j].'%', 'like' ); - // } - // } - - // $q->where_group( false ); - // } - // } - // } ); - // } - - // Column filters - for ( $i=0, $ien=count($http['columns']) ; $i<$ien ; $i++ ) { - $column = $http['columns'][$i]; - $search = $column['search']['value']; - - if ( $search !== '' && $column['searchable'] == 'true' ) { - $query->where( $this->_ssp_field( $http, $i ), '%'.$search.'%', 'like' ); - } - } - } - - - /** - * Add a limit / offset to a server-side processing query - * @param \DataTables\Database\Query $query Query instance to apply the offset / limit to - * @param array $http HTTP variables (i.e. GET or POST) - * @private - */ - private function _ssp_limit ( $query, $http ) - { - if ( $http['length'] != -1 ) { // -1 is 'show all' in DataTables - $query - ->offset( $http['start'] ) - ->limit( $http['length'] ); - } - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Internal helper methods - */ - - /** - * Add left join commands for the instance to a query. - * - * @param \DataTables\Database\Query $query Query instance to apply the joins to - * @private - */ - private function _perform_left_join ( $query ) - { - if ( count($this->_leftJoin) ) { - for ( $i=0, $ien=count($this->_leftJoin) ; $i<$ien ; $i++ ) { - $join = $this->_leftJoin[$i]; - - $query->join( $join['table'], $join['field1'].' '.$join['operator'].' '.$join['field2'], 'LEFT' ); - } - } - } - - - /** - * Add local WHERE condition to query - * @param \DataTables\Database\Query $query Query instance to apply the WHERE conditions to - * @private - */ - private function _get_where ( $query ) - { - for ( $i=0 ; $i_where) ; $i++ ) { - if ( is_callable( $this->_where[$i] ) ) { - $this->_where[$i]( $query ); - } - else { - $query->where( - $this->_where[$i]['key'], - $this->_where[$i]['value'], - $this->_where[$i]['op'] - ); - } - } - } - - - /** - * Get a field instance from a known field name - * - * @param string $name Field name - * @param string $type Matching name type - * @return Field Field instance - * @private - */ - private function _find_field ( $name, $type ) - { - for ( $i=0, $ien=count($this->_fields) ; $i<$ien ; $i++ ) { - $field = $this->_fields[ $i ]; - - if ( $type === 'name' && $field->name() === $name ) { - return $field; - } - else if ( $type === 'db' && $field->dbField() === $name ) { - return $field; - } - } - - return null; - } - - - /** - * Insert or update a row for all main tables and left joined tables. - * - * @param int|string $id ID to use to condition the update. If null is - * given, the first query performed is an insert and the inserted id - * used as the value should there be any subsequent tables to operate - * on. Mote that for compound keys, this should be the "joined" value - * (i.e. a single string rather than an array). - * @return \DataTables\Database\Result Result from the query or null if no - * query performed. - * @private - */ - private function _insert_or_update ( $id, $values ) - { - // Loop over all tables in _table, doing the insert or update as needed - for ( $i=0, $ien=count( $this->_table ) ; $i<$ien ; $i++ ) { - $res = $this->_insert_or_update_table( - $this->_table[$i], - $values, - $id !== null ? - $this->pkeyToArray( $id, true ) : - null - ); - - // If we don't have an id yet, then the first insert will return - // the id we want - if ( $id === null ) { - $id = $res->insertId(); - } - } - - // And for the left join tables as well - for ( $i=0, $ien=count( $this->_leftJoin ) ; $i<$ien ; $i++ ) { - $join = $this->_leftJoin[$i]; - - // which side of the join refers to the parent table? - $joinTable = $this->_alias( $join['table'], 'alias' ); - $tablePart = $this->_part( $join['field1'] ); - - if ( $this->_part( $join['field1'], 'db' ) ) { - $tablePart = $this->_part( $join['field1'], 'db' ).'.'.$tablePart; - } - - if ( $tablePart === $joinTable ) { - $parentLink = $join['field2']; - $childLink = $join['field1']; - } - else { - $parentLink = $join['field1']; - $childLink = $join['field2']; - } - - if ( $parentLink === $this->_pkey[0] && count($this->_pkey) === 1 ) { - $whereVal = $id; - } - else { - // We need submitted information about the joined data to be - // submitted as well as the new value. We first check if the - // host field was submitted - $field = $this->_find_field( $parentLink, 'db' ); - - if ( ! $field || ! $field->apply( 'set', $values ) ) { - // If not, then check if the child id was submitted - $field = $this->_find_field( $childLink, 'db' ); - - // No data available, so we can't do anything - if ( ! $field || ! $field->apply( 'set', $values ) ) { - continue; - } - } - - $whereVal = $field->val('set', $values); - } - - $whereName = $this->_part( $childLink, 'field' ); - - $this->_insert_or_update_table( - $join['table'], - $values, - array( $whereName => $whereVal ) - ); - } - - return $id; - } - - - /** - * Insert or update a row in a single database table, based on the data - * given and the fields configured for the instance. - * - * The function will find the fields which are required for this specific - * table, based on the names of fields and use only the appropriate data for - * this table. Therefore the full submitted data set can be passed in. - * - * @param string $table Database table name to use (can include an alias) - * @param array $where Update condition - * @return \DataTables\Database\Result Result from the query or null if no query - * performed. - * @throws \Exception Where set error - * @private - */ - private function _insert_or_update_table ( $table, $values, $where=null ) - { - $set = array(); - $action = ($where === null) ? 'create' : 'edit'; - $tableAlias = $this->_alias( $table, 'alias' ); - - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - $tablePart = $this->_part( $field->dbField() ); - - if ( $this->_part( $field->dbField(), 'db' ) ) { - $tablePart = $this->_part( $field->dbField(), 'db' ).'.'.$tablePart; - } - - // Does this field apply to this table (only check when a join is - // being used) - if ( count($this->_leftJoin) && $tablePart !== $tableAlias ) { - continue; - } - - // Check if this field should be set, based on options and - // submitted data - if ( ! $field->apply( $action, $values ) ) { - continue; - } - - // Some db's (specifically postgres) don't like having the table - // name prefixing the column name. Todo: it might be nicer to have - // the db layer abstract this out? - $fieldPart = $this->_part( $field->dbField(), 'field' ); - $set[ $fieldPart ] = $field->val( 'set', $values ); - } - - // Add where fields if setting where values and required for this - // table - // Note that `whereSet` is now deprecated - if ( $this->_whereSet ) { - for ( $j=0, $jen=count($this->_where) ; $j<$jen ; $j++ ) { - $cond = $this->_where[$j]; - - if ( ! is_callable( $cond ) ) { - // Make sure the value wasn't in the submitted data set, - // otherwise we would be overwriting it - if ( ! isset( $set[ $cond['key'] ] ) ) - { - $whereTablePart = $this->_part( $cond['key'], 'table' ); - - // No table part on the where condition to match against - // or table operating on matches table part from cond. - if ( ! $whereTablePart || $tableAlias == $whereTablePart ) { - $set[ $cond['key'] ] = $cond['value']; - } - } - else { - throw new \Exception( 'Where condition used as a setter, '. - 'but value submitted for field: '.$cond['key'] - ); - } - } - } - } - - // If nothing to do, then do nothing! - if ( ! count( $set ) ) { - return null; - } - - // Insert or update - if ( $action === 'create' ) { - return $this->_db->insert( $table, $set, $this->_pkey ); - } - else { - return $this->_db->push( $table, $set, $where, $this->_pkey ); - } - } - - - /** - * Delete one or more rows from the database for an individual table - * - * @param string $table Database table name to use - * @param array $ids Array of ids to remove - * @param string $pkey Database column name to match the ids on for the - * delete condition. If not given the instance's base primary key is - * used. - * @private - */ - private function _remove_table ( $table, $ids, $pkey=null ) - { - if ( $pkey === null ) { - $pkey = $this->_pkey; - } - - // Check there is a field which has a set option for this table - $count = 0; - - foreach ($this->_fields as $field) { - if ( strpos( $field->dbField(), '.') === false || ( - $this->_part( $field->dbField(), 'table' ) === $table && - $field->set() !== Field::SET_NONE - ) - ) { - $count++; - } - } - - if ( $count > 0 ) { - $q = $this->_db - ->query( 'delete' ) - ->table( $table ); - - for ( $i=0, $ien=count($ids) ; $i<$ien ; $i++ ) { - $cond = $this->pkeyToArray( $ids[$i], true ); - - $q->or_where( function ($q2) use ($cond) { - $q2->where( $cond ); - } ); - } - - $q->exec(); - } - } - - - /** - * Check the validity of the set options if we are doing a join, since - * there are some conditions for this state. Will throw an error if not - * valid. - * - * @private - */ - private function _prepJoin () - { - if ( count( $this->_leftJoin ) === 0 ) { - return; - } - - // Check if the primary key has a table identifier - if not - add one - for ( $i=0, $ien=count($this->_pkey) ; $i<$ien ; $i++ ) { - $val = $this->_pkey[$i]; - - if ( strpos( $val, '.' ) === false ) { - $this->_pkey[$i] = $this->_alias( $this->_table[0], 'alias' ).'.'.$val; - } - } - - // Check that all fields have a table selector, otherwise, we'd need to - // know the structure of the tables, to know which fields belong in - // which. This extra requirement on the fields removes that - for ( $i=0, $ien=count($this->_fields) ; $i<$ien ; $i++ ) { - $field = $this->_fields[$i]; - $name = $field->dbField(); - - if ( strpos( $name, '.' ) === false ) { - throw new \Exception( 'Table part of the field "'.$name.'" was not found. '. - 'In Editor instances that use a join, all fields must have the '. - 'database table set explicitly.' - ); - } - } - } - - - /** - * Get one side or the other of an aliased SQL field name. - * - * @param string $name SQL field - * @param string $type Which part to get: `alias` (default) or `orig`. - * @returns string Alias - * @private - */ - private function _alias ( $name, $type='alias' ) - { - if ( stripos( $name, ' as ' ) !== false ) { - $a = preg_split( '/ as /i', $name ); - return $type === 'alias' ? - $a[1] : - $a[0]; - } - - return $name; - } - - - /** - * Get part of an SQL field definition regardless of how deeply defined it - * is - * - * @param string $name SQL field - * @param string $type Which part to get: `table` (default) or `db` or - * `column` - * @return string Part name - * @private - */ - private function _part ( $name, $type='table' ) - { - $db = null; - $table = null; - $column = null; - - if ( strpos( $name, '.' ) !== false ) { - $a = explode( '.', $name ); - - if ( count($a) === 3 ) { - $db = $a[0]; - $table = $a[1]; - $column = $a[2]; - } - else if ( count($a) === 2 ) { - $table = $a[0]; - $column = $a[1]; - } - } - else { - $column = $name; - } - - if ( $type === 'db' ) { - return $db; - } - else if ( $type === 'table' ) { - return $table; - } - return $column; - } - - - /** - * Trigger an event - * - * @private - */ - private function _trigger () - { - $out = null; - $args = func_get_args(); - $eventName = array_shift( $args ); - array_unshift( $args, $this ); - - if ( ! isset( $this->_events[ $eventName ] ) ) { - return; - } - - $events = $this->_events[ $eventName ]; - - for ( $i=0, $ien=count($events) ; $i<$ien ; $i++ ) { - $res = call_user_func_array( $events[$i], $args ); - - if ( $res !== null ) { - $out = $res; - } - } - - return $out; - } - - - /** - * Merge a primary key value with an updated data source. - * - * @param string $pkeyVal Old primary key value to merge into - * @param array $row Data source for update - * @return string Merged value - */ - private function _pkey_submit_merge ( $pkeyVal, $row ) - { - $pkey = $this->_pkey; - $arr = $this->pkeyToArray( $pkeyVal, true ); - - for ( $i=0, $ien=count($pkey) ; $i<$ien ; $i++ ) { - $column = $pkey[ $i ]; - $field = $this->_find_field( $column, 'db' ); - - if ( $field && $field->apply( 'edit', $row ) ) { - $arr[ $column ] = $field->val( 'set', $row ); - } - } - - return $this->pkeyToValue( $arr, true ); - } - - - /** - * Validate that all primary key fields have values for create. - * - * @param array $row Row's data - * @return boolean `true` if valid, `false` otherwise - */ - private function _pkey_validate_insert ( $row ) - { - $pkey = $this->_pkey; - - if ( count( $pkey ) === 1 ) { - return true; - } - - for ( $i=0, $ien=count($pkey) ; $i<$ien ; $i++ ) { - $column = $pkey[ $i ]; - $field = $this->_find_field( $column, 'db' ); - - if ( ! $field || ! $field->apply("set", $row) ) { - throw new Exception( "When inserting into a compound key table, ". - "all fields that are part of the compound key must be ". - "submitted with a specific value.", 1 - ); - } - } - - return true; - } - - - /** - * Create the separator value for a compound primary key. - * - * @return string Calculated separator - */ - private function _pkey_separator () - { - $str = implode(',', $this->_pkey); - - return hash( 'crc32', $str ); - } -} - diff --git a/php/Editor/Field.php b/php/Editor/Field.php deleted file mode 100644 index e3578d3..0000000 --- a/php/Editor/Field.php +++ /dev/null @@ -1,813 +0,0 @@ - - * Field::inst( 'city' ) - * - * - * @example - * Get a column with the name "first_name" - when edited a value must - * be given due to the "required" validation from the {@link Validate} class. - * - * Field::inst( 'first_name' )->validator( 'Validate::required' ) - * - * - * @example - * Working with a date field, which is validated, and also has *get* and - * *set* formatters. - * - * Field::inst( 'registered_date' ) - * ->validator( 'Validate::dateFormat', 'D, d M y' ) - * ->getFormatter( 'Format::date_sql_to_format', 'D, d M y' ) - * ->setFormatter( 'Format::date_format_to_sql', 'D, d M y' ) - * - * - * @example - * Using an alias in the first parameter - * - * Field::inst( 'name.first as first_name' ) - * - */ -class Field extends DataTables\Ext { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Statics - */ - - /** Set option flag (`set()`) - do not set data */ - const SET_NONE = 'none'; - - /** Set option flag (`set()`) - write to database on both create and edit */ - const SET_BOTH = 'both'; - - /** Set option flag (`set()`) - write to database only on create */ - const SET_CREATE = 'create'; - - /** Set option flag (`set()`) - write to database only on edit */ - const SET_EDIT = 'edit'; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Constructor - */ - - /** - * Field instance constructor. - * @param string $dbField Name of the database column - * @param string $name Name to use in the JSON output from Editor and the - * HTTP submit from the client-side when editing. If not given then the - * $dbField name is used. - */ - function __construct( $dbField=null, $name=null ) - { - if ( $dbField !== null && $name === null ) { - // Allow just a single parameter to be passed - each can be - // overridden if needed later using the API. - $this->name( $dbField ); - $this->dbField( $dbField ); - } - else { - $this->name( $name ); - $this->dbField( $dbField ); - } - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private parameters - */ - - /** @var string */ - private $_dbField = null; - - /** @var boolean */ - private $_get = true; - - /** @var mixed */ - private $_getFormatter = null; - - /** @var mixed */ - private $_getFormatterOpts = null; - - /** @var mixed */ - private $_getValue = null; - - /** @var Options */ - private $_opts = null; - - /** @var callable */ - private $_optsFn = null; - - /** @var string */ - private $_name = null; - - /** @var string */ - private $_set = Field::SET_BOTH; - - /** @var mixed */ - private $_setFormatter = null; - - /** @var mixed */ - private $_setFormatterOpts = null; - - /** @var mixed */ - private $_setValue = null; - - /** @var mixed */ - private $_validator = array(); - - /** @var Upload */ - private $_upload = null; - - /** @var callable */ - private $_xss = null; - - /** @var boolean */ - private $_xssFormat = true; - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - - /** - * Get / set the DB field name. - * - * Note that when used as a setter, an alias can be given for the field - * using the SQL `as` keyword - for example: `firstName as name`. In this - * situation the dbField is set to the field name before the `as`, and the - * field's name (`name()`) is set to the name after the ` as `. - * - * As a result of this, the following constructs have identical - * functionality: - * - * Field::inst( 'firstName as name' ); - * Field::inst( 'firstName', 'name' ); - * - * @param string $_ Value to set if using as a setter. - * @return string|self The name of the db field if no parameter is given, - * or self if used as a setter. - */ - public function dbField ( $_=null ) - { - if ( $_ === null ) { - return $this->_dbField; - } - - if ( stripos( $_, ' as ' ) ) { - $a = preg_split( '/ as /i', $_ ); - $this->_dbField = trim( $a[0] ); - $this->_name = trim( $a[1] ); - } - else { - $this->_dbField = $_; - } - - return $this; - } - - - /** - * Get / set the 'get' property of the field. - * - * A field can be marked as write only when setting the get property to false - * here. - * @param boolean $_ Value to set if using as a setter. - * @return boolean|self The get property if no parameter is given, or self - * if used as a setter. - */ - public function get ( $_=null ) - { - return $this->_getSet( $this->_get, $_ ); - } - - - /** - * Get formatter for the field's data. - * - * When the data has been retrieved from the server, it can be passed through - * a formatter here, which will manipulate (format) the data as required. This - * can be useful when, for example, working with dates and a particular format - * is required on the client-side. - * - * Editor has a number of formatters available with the {@link Format} class - * which can be used directly with this method. - * @param callable|string $_ Value to set if using as a setter. Can be given as - * a closure function or a string with a reference to a function that will - * be called with call_user_func(). - * @param mixed $opts Variable that is passed through to the get formatting - * function - can be useful for passing through extra information such as - * date formatting string, or a required flag. The actual options available - * depend upon the formatter used. - * @return callable|string|self The get formatter if no parameter is given, or - * self if used as a setter. - */ - public function getFormatter ( $_=null, $opts=null ) - { - if ( $opts !== null ) { - $this->_getFormatterOpts = $opts; - } - return $this->_getSet( $this->_getFormatter, $_ ); - } - - - /** - * Get / set a get value. If given, then this value is used to send to the - * client-side, regardless of what value is held by the database. - * - * @param callable|string|number $_ Value to set, or no value to use as a - * getter - * @return callable|string|self Value if used as a getter, or self if used - * as a setter. - */ - public function getValue ( $_=null ) - { - return $this->_getSet( $this->_getValue, $_ ); - } - - - /** - * Get / set the 'name' property of the field. - * - * The name is typically the same as the dbField name, since it makes things - * less confusing(!), but it is possible to set a different name for the data - * which is used in the JSON returned to DataTables in a 'get' operation and - * the field name used in a 'set' operation. - * @param string $_ Value to set if using as a setter. - * @return string|self The name property if no parameter is given, or self - * if used as a setter. - */ - public function name ( $_=null ) - { - return $this->_getSet( $this->_name, $_ ); - } - - - /** - * Get a list of values that can be used for the options list in radio, - * select and checkbox inputs from the database for this field. - * - * Note that this is for simple 'label / value' pairs only. For more complex - * data, including pairs that require joins and where conditions, use a - * closure to provide a query - * - * @param string|callable $table Database table name to use to get the - * paired data from, or a closure function if providing a method - * @param string $value Table column name that contains the pair's - * value. Not used if the first parameter is given as a closure - * @param string $label Table column name that contains the pair's - * label. Not used if the first parameter is given as a closure - * @param callable $condition Function that will add `where` - * conditions to the query - * @param callable $format Function will render each label - * @param string $order SQL ordering - * @return Field Self for chaining - */ - public function options ( $table=null, $value=null, $label=null, $condition=null, $format=null, $order=null ) - { - if ( $table === null ) { - return $this->_opts; - } - - // Overloads for backwards compatibility - if ( is_a( $table, '\DataTables\Editor\Options' ) ) { - // Options class - $this->_optsFn = null; - $this->_opts = $table; - } - else if ( is_callable($table) && is_object($table) ) { - // Function - $this->_opts = null; - $this->_optsFn = $table; - } - else { - $this->_optsFn = null; - $this->_opts = Options::inst() - ->table( $table ) - ->value( $value ) - ->label( $label ); - - if ( $condition ) { - $this->_opts->where( $condition ); - } - - if ( $format ) { - $this->_opts->render( $format ); - } - - if ( $order ) { - $this->_opts->order( $order ); - } - } - - return $this; - } - - - /** - * Get / set the 'set' property of the field. - * - * A field can be marked as read only using this option, to be set only - * during an create or edit action or to be set during both actions. This - * provides the ability to have fields that are only set when a new row is - * created (for example a "created" time stamp). - * @param string|boolean $_ Value to set when the method is being used as a - * setter (leave as undefined to use as a getter). This can take the - * value of: - * - * * `true` - Same as `Field::SET_BOTH` - * * `false` - Same as `Field::SET_NONE` - * * `Field::SET_BOTH` - Set the database value on both create and edit commands - * * `Field::SET_NONE` - Never set the database value - * * `Field::SET_CREATE` - Set the database value only on create - * * `Field::SET_EDIT` - Set the database value only on edit - * @return string|self The set property if no parameter is given, or self - * if used as a setter. - */ - public function set ( $_=null ) - { - if ( $_ === true ) { - $_ = Field::SET_BOTH; - } - else if ( $_ === false ) { - $_ = Field::SET_NONE; - } - - return $this->_getSet( $this->_set, $_ ); - } - - - /** - * Set formatter for the field's data. - * - * When the data has been retrieved from the server, it can be passed through - * a formatter here, which will manipulate (format) the data as required. This - * can be useful when, for example, working with dates and a particular format - * is required on the client-side. - * - * Editor has a number of formatters available with the {@link Format} class - * which can be used directly with this method. - * @param callable|string $_ Value to set if using as a setter. Can be given as - * a closure function or a string with a reference to a function that will - * be called with call_user_func(). - * @param mixed $opts Variable that is passed through to the get formatting - * function - can be useful for passing through extra information such as - * date formatting string, or a required flag. The actual options available - * depend upon the formatter used. - * @return callable|string|self The set formatter if no parameter is given, or - * self if used as a setter. - */ - public function setFormatter ( $_=null, $opts=null ) - { - if ( $opts !== null ) { - $this->_setFormatterOpts = $opts; - } - return $this->_getSet( $this->_setFormatter, $_ ); - } - - - /** - * Get / set a set value. If given, then this value is used to write to the - * database regardless of what data is sent from the client-side. - * - * @param callable|string|number $_ Value to set, or no value to use as a - * getter - * @return callable|string|self Value if used as a getter, or self if used - * as a setter. - */ - public function setValue ( $_=null ) - { - return $this->_getSet( $this->_setValue, $_ ); - } - - - /** - * Get / set the upload class for this field. - * @param Upload $_ Upload class if used as a setter - * @return Upload|self Value if used as a getter, or self if used - * as a setter. - */ - public function upload ( $_=null ) - { - return $this->_getSet( $this->_upload, $_ ); - } - - - /** - * Get / set the 'validator' of the field. - * - * The validator can be used to check if any abstract piece of data is valid - * or not according to the given rules of the validation function used. - * - * Multiple validation options can be applied to a field instance by calling - * this method multiple times. For example, it would be possible to have a - * 'required' validation and a 'maxLength' validation with multiple calls. - * - * Editor has a number of validation available with the {@link Validate} class - * which can be used directly with this method. - * @param callable|string $_ Value to set if using as the validation method. - * Can be given as a closure function or a string with a reference to a - * function that will be called with call_user_func(). - * @param mixed $opts Variable that is passed through to the validation - * function - can be useful for passing through extra information such as - * date formatting string, or a required flag. The actual options available - * depend upon the validation function used. - * @return callable|string|self The validation method if no parameter is given, - * or self if used as a setter. - */ - public function validator ( $_=null, $opts=null ) - { - if ( $_ === null ) { - return $this->_validator; - } - else { - $this->_validator[] = array( - "func" => $_, - "opts" => $opts - ); - } - - return $this; - } - - - /** - * Set a formatting method that will be used for XSS checking / removal. - * This should be a function that takes a single argument (the value to be - * cleaned) and returns the cleaned value. - * - * Editor will use HtmLawed by default for this operation, which is built - * into the software and no additional configuration is required, but a - * custom function can be used if you wish to use a different formatter such - * as HTMLPurifier. - * - * If you wish to disable this option (which you would only do if you are - * absolutely confident that your validation will pick up on any XSS inputs) - * simply provide a closure function that returns the value given to the - * function. This is _not_ recommended. - * - * @param callable|false $xssFormatter XSS cleaner function, use `false` or - * `null` to disable XSS cleaning. - * @return Field Self for chaining. - */ - public function xss ( $xssFormatter ) - { - if ( $xssFormatter === true || $xssFormatter === false || $xssFormatter === null ) { - $this->_xssFormat = $xssFormatter; - } - else { - $this->_xss = $xssFormatter; - } - - return $this; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Internal methods - * Used by the Editor class and not generally for public use - */ - - /** - * Check to see if a field should be used for a particular action (get or set). - * - * Called by the Editor / Join class instances - not expected for general - * consumption - internal. - * @param string $action Direction that the data is travelling - 'get' is - * reading DB data, `create` and `edit` for writing to the DB - * @param array $data Data submitted from the client-side when setting. - * @return boolean true if the field should be used in the get / set. - * @internal - */ - public function apply ( $action, $data=null ) - { - if ( $action === 'get' ) { - // Get action - can we get this field - return $this->_get; - } - else { - // Note that validation must be done on input data before we get here - - // Create or edit action, are we configured to use this field - if ( $action === 'create' && - ($this->_set === Field::SET_NONE || $this->_set === Field::SET_EDIT) - ) { - return false; - } - else if ( $action === 'edit' && - ($this->_set === Field::SET_NONE || $this->_set === Field::SET_CREATE) - ) { - return false; - } - - // Check it was in the submitted data. If not, then not required - // (validation would have failed if it was) and therefore we don't - // set it. Check for a value as well, as it can format data from - // some other source - if ( $this->_setValue === null && ! $this->_inData( $this->name(), $data ) ) { - return false; - } - - // In the data set, so use it - return true; - } - } - - - /** - * Execute the ipOpts to get the list of options to return to the client- - * side - * - * @param \DataTables\Database $db Database instance - * @return Array Array of value / label options for the list - * @internal - */ - public function optionsExec ( $db ) - { - if ( $this->_optsFn ) { - $fn = $this->_optsFn; - return $fn(); - } - else if ( $this->_opts ) { - return $this->_opts->exec( $db ); - } - - return false; - } - - - /** - * Get the value of the field, taking into account if it is coming from the - * DB or from a POST. If formatting has been specified for this field, it - * will be applied here. - * - * Called by the Editor / Join class instances - not expected for general - * consumption - internal. - * @param string $direction Direction that the data is travelling - 'get' is - * reading data, and 'set' is writing it to the DB. - * @param array $data Data submitted from the client-side when setting or the - * data for the row when getting data from the DB. - * @return string Value for the field - * @internal - */ - public function val ( $direction, $data ) - { - if ( $direction === 'get' ) { - if ( $this->_getValue !== null ) { - $val = $this->_getAssignedValue( $this->_getValue ); - } - else { - // Getting data, so the db field name - $val = isset( $data[ $this->_dbField ] ) ? - $data[ $this->_dbField ] : - null; - } - - return $this->_format( - $val, $data, $this->_getFormatter, $this->_getFormatterOpts - ); - } - else { - // Setting data, so using from the payload (POST usually) and thus - // use the 'name' - $val = $this->_setValue !== null ? - $this->_getAssignedValue( $this->_setValue ) : - $this->_readProp( $this->name(), $data ); - - // XSS removal / checker - if ( $this->_xssFormat ) { - $val = $this->xssSafety( $val ); - } - - return $this->_format( - $val, $data, $this->_setFormatter, $this->_setFormatterOpts - ); - } - } - - - /** - * Check the validity of the field based on the data submitted. Note that - * this validation is performed on the wire data - i.e. that which is - * submitted, before any setFormatter is run - * - * Called by the Editor / Join class instances - not expected for general - * consumption - internal. - * - * @param array $data Data submitted from the client-side - * @param Editor $editor Editor instance - * @param * $id Row id that is being validated - * @return boolean|string `true` if valid, string with error message if not - * @internal - */ - public function validate ( $data, $editor, $id=null ) - { - // Three cases for the validator - closure, string or null - if ( ! count( $this->_validator ) ) { - return true; - } - - $val = $this->_readProp( $this->name(), $data ); - - for ( $i=0, $ien=count( $this->_validator ) ; $i<$ien ; $i++ ) { - $validator = $this->_validator[$i]; - $processData = $editor->inData(); - $instances = array( - 'action' => $processData['action'], - 'id' => $id, - 'field' => $this, - 'editor' => $editor, - 'db' => $editor->db() - ); - - if ( is_string( $validator['func'] ) ) { - // Don't require the Editor namespace if DataTables validator is given as a string - if ( strpos($validator['func'], "Validate::") === 0 ) { - $res = call_user_func( "\\DataTables\\Editor\\".$validator['func'], $val, $data, $validator['opts'], $instances ); - } - else { - $res = call_user_func( $validator['func'], $val, $data, $validator['opts'], $instances ); - } - } - else { - $func = $validator['func']; - $res = $func( $val, $data, $this, $instances ); - } - - // Check if there was a validation error and if so, return it - if ( $res !== true ) { - return $res; - } - } - - // Validation methods all run, must be valid - return true; - } - - - /** - * Write the value for this field to the output array for a read operation - * - * @param array $out Row output data (to the JSON) - * @param mixed $srcData Row input data (raw, from the database) - * @internal - */ - public function write( &$out, $srcData ) - { - $this->_writeProp( $out, $this->name(), $this->val('get', $srcData) ); - } - - - /** - * Perform XSS prevention on an input. - * - * @param * $val Value to be escaped - * @return string Safe value - */ - public function xssSafety ( $val ) { - $xss = $this->_xss; - - if ( is_array( $val ) ) { - $res = array(); - - foreach ( $val as $individual ) { - $res[] = $xss ? - $xss( $individual ) : - DataTables\Vendor\Htmlaw::filter( $individual ); - } - - return $res; - } - - return $xss ? - $xss( $val ) : - DataTables\Vendor\Htmlaw::filter( $val ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private methods - */ - - /** - * Apply a formatter to data. The caller will decide what formatter to apply - * (get or set) - * - * @param mixed $val Value to be formatted - * @param mixed $data Full row data - * @param callable $formatter Formatting function to be called - * @param array $opts Array of options to be passed to the formatter - * @return mixed Formatted value - */ - private function _format( $val, $data, $formatter, $opts ) - { - // Three cases for the formatter - closure, string or null - if ( $formatter ) { - if ( is_string( $formatter ) ) { - // Don't require the Editor namespace if DataTables validator is given as a string - if ( strpos($formatter, "Format::") === 0 ) { - // Editor formatter - return call_user_func( - "\\DataTables\\Editor\\".$formatter, - $val, - $data, - $opts - ); - } - - // User function (string identifier) - return call_user_func( $formatter, $val, $data, $opts ); - } - - // Closure - return $formatter( $val, $data, $opts ); - } - return $val; - } - - /** - * Get the value from `_[gs]etValue` - taking into account if it is callable - * function or not - * - * @param mixed $val Value to be evaluated - * @return mixed Value assigned, or returned from the function - */ - private function _getAssignedValue ( $val ) - { - return is_callable($val) && is_object($val) ? - $val() : - $val; - } - - /** - * Check is a parameter is in the submitted data set. This is functionally - * the same as the `_readProp()` method, but in this case a binary value - * is required to indicate if the value is present or not. - * - * @param string $name Javascript dotted object name to write to - * @param array $data Data source array to read from - * @return boolean `true` if present, `false` otherwise - * @private - */ - private function _inData ( $name, $data ) - { - if ( strpos($name, '.') === false ) { - return isset( $data[ $name ] ) ? - true : - false; - } - - $names = explode( '.', $name ); - $inner = $data; - - for ( $i=0 ; $i - * Join::inst( 'access', 'array' ) - * ->link( 'users.id', 'user_access.user_id' ) - * ->link( 'access.id', 'user_access.access_id' ) - * ->field( - * Field::inst( 'id' )->validator( 'Validate::required' ), - * Field::inst( 'name' ) - * ) - * - * - * @example - * Single row join - here we join the parent table with a single row in - * the child table, without an intermediate link table. In this case the - * child table is called *extra* and the two fields give the columns that - * Editor will read from that table. - * - * Join::inst( 'extra', 'object' ) - * ->link( 'user.id', 'extra.user_id' ) - * ->field( - * Field::inst( 'comments' ), - * Field::inst( 'review' ) - * ) - * - */ -class Join extends DataTables\Ext { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Constructor - */ - - /** - * Join instance constructor. - * @param string $table Table name to get the joined data from. - * @param string $type Work with a single result ('object') or an array of - * results ('array') for the join. - */ - function __construct( $table=null, $type='object' ) - { - $this->table( $table ); - $this->type( $type ); - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private properties - */ - - /** @var DataTables\Editor\Field[] */ - private $_fields = array(); - - /** @var array */ - private $_join = array( - "parent" => null, - "child" => null, - "table" => null - ); - - /** @var string */ - private $_table = null; - - /** @var string */ - private $_type = null; - - /** @var string */ - private $_name = null; - - /** @var boolean */ - private $_get = true; - - /** @var boolean */ - private $_set = true; - - /** @var string */ - private $_aliasParentTable = null; - - /** @var array */ - private $_where = array(); - - /** @var boolean */ - private $_whereSet = false; - - /** @var array */ - private $_links = array(); - - /** @var string */ - private $_customOrder = null; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Get / set parent table alias. - * - * When working with a self referencing table (i.e. a column in the table contains - * a primary key value from its own table) it can be useful to set an alias on the - * parent table's name, allowing a self referencing Join. For example: - * - * SELECT p2.publisher - * FROM publisher as p2 - * JOIN publisher on (publisher.idPublisher = p2.idPublisher) - * - * Where, in this case, `publisher` is the table that is used by the Editor instance, - * and you want to use `Join` to link back to the table (resolving a name for example). - * This method allows that alias to be set. Fields can then use standard SQL notation - * to select a field, for example `p2.publisher` or `publisher.publisher`. - * @param string $_ Table alias to use - * @return string|self Table alias set (which is null by default), or self if used as - * a setter. - */ - public function aliasParentTable ( $_=null ) - { - return $this->_getSet( $this->_aliasParentTable, $_ ); - } - - - /** - * Get / set field instances. - * - * The list of fields designates which columns in the table that will be read - * from the joined table. - * @param Field $_... Instances of the {@link Field} class, given as a single - * instance of {@link Field}, an array of {@link Field} instances, or multiple - * {@link Field} instance parameters for the function. - * @return Field[]|self Array of fields, or self if used as a setter. - * @see {@link Field} for field documentation. - */ - public function field ( $_=null ) - { - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_fields, $_, true ); - } - - - /** - * Get / set field instances. - * - * An alias of {@link field}, for convenience. - * @param Field $_... Instances of the {@link Field} class, given as a single - * instance of {@link Field}, an array of {@link Field} instances, or multiple - * {@link Field} instance parameters for the function. - * @return Field[]|self Array of fields, or self if used as a setter. - * @see {@link Field} for field documentation. - */ - public function fields ( $_=null ) - { - if ( $_ !== null && !is_array($_) ) { - $_ = func_get_args(); - } - return $this->_getSet( $this->_fields, $_, true ); - } - - - /** - * Get / set get attribute. - * - * When set to false no read operations will occur on the join tables. - * @param boolean $_ Value - * @return boolean|self Name - */ - public function get ( $_=null ) - { - return $this->_getSet( $this->_get, $_ ); - } - - - /** - * Get / set join properties. - * - * Define how the SQL will be performed, on what columns. There are - * basically two types of join that are supported by Editor here, a direct - * foreign key reference in the join table to the parent table's primary - * key, or a link table that contains just primary keys for the parent and - * child tables (this approach is usually used with a {@link type} of - * 'array' since you can often have multiple links between the two tables, - * while a direct foreign key reference will typically use a type of - * 'object' (i.e. a single entry). - * - * @param string|string[] $parent Parent table's primary key names. If used - * with a link table (i.e. third parameter to this method is given, then - * an array should be used, with the first element being the pkey's name - * in the parent table, and the second element being the key's name in - * the link table. - * @param string|string[] $child Child table's primary key names. If used - * with a link table (i.e. third parameter to this method is given, then - * an array should be used, with the first element being the pkey's name - * in the child table, and the second element being the key's name in the - * link table. - * @param string $table Join table name, if using a link table - * @returns Join This for chaining - * @deprecated 1.5 Please use the {@link link} method rather than this - * method now. - */ - public function join ( $parent=null, $child=null, $table=null ) - { - if ( $parent === null && $child === null ) { - return $this->_join; - } - - $this->_join['parent'] = $parent; - $this->_join['child'] = $child; - $this->_join['table'] = $table; - return $this; - } - - - /** - * Create a join link between two tables. The order of the fields does not - * matter, but each field must contain the table name as well as the field - * name. - * - * This method can be called a maximum of two times for an Mjoin instance: - * - * * First time, creates a link between the Editor host table and a join - * table - * * Second time creates the links required for a link table. - * - * Please refer to the Editor Mjoin documentation for further details: - * https://editor.datatables.net/manual/php - * - * @param string $field1 Table and field name - * @param string $field2 Table and field name - * @return Join Self for chaining - * @throws \Exception Link limitations - */ - public function link ( $field1, $field2 ) - { - if ( strpos($field1, '.') === false || strpos($field2, '.') === false ) { - throw new \Exception("Link fields must contain both the table name and the column name"); - } - - if ( count( $this->_links ) >= 4 ) { - throw new \Exception("Link method cannot be called more than twice for a single instance"); - } - - $this->_links[] = $field1; - $this->_links[] = $field2; - - return $this; - } - - - /** - * Specify the property that the data will be sorted by. - * - * @param string $order SQL column name to order the data by - * @return Join Self for chaining - */ - public function order ( $_=null ) - { - // How this works is by setting the SQL order by clause, and since the - // join that is done in PHP is always done sequentially, the order is - // retained. - return $this->_getSet( $this->_customOrder, $_ ); - } - - - /** - * Get / set name. - * - * The `name` of the Join is the JSON property key that is used when - * 'getting' the data, and the HTTP property key (in a JSON style) when - * 'setting' data. Typically the name of the db table will be used here, - * but this method allows that to be overridden. - * @param string $_ Field name - * @return String|self Name - */ - public function name ( $_=null ) - { - return $this->_getSet( $this->_name, $_ ); - } - - - /** - * Get / set set attribute. - * - * When set to false no write operations will occur on the join tables. - * This can be useful when you want to display information which is joined, - * but want to only perform write operations on the parent table. - * @param boolean $_ Value - * @return boolean|self Name - */ - public function set ( $_=null ) - { - return $this->_getSet( $this->_set, $_ ); - } - - - /** - * Get / set join table name. - * - * Please note that this will also set the {@link name} used by the Join - * as well. This is for convenience as the JSON output / HTTP input will - * typically use the same name as the database name. If you want to set a - * custom name, the {@link name} method must be called ***after*** this one. - * @param string $_ Name of the table to read the join data from - * @return String|self Name of the join table, or self if used as a setter. - */ - public function table ( $_=null ) - { - if ( $_ !== null ) { - $this->_name = $_; - } - return $this->_getSet( $this->_table, $_ ); - } - - - /** - * Get / set the join type. - * - * The join type allows the data that is returned from the join to be given - * as an array (i.e. working with multiple possibly results for each record from - * the parent table), or as an object (i.e. working which one and only one result - * for each record form the parent table). - * @param string $_ Join type ('object') or an array of - * results ('array') for the join. - * @return String|self Join type, or self if used as a setter. - */ - public function type ( $_=null ) - { - return $this->_getSet( $this->_type, $_ ); - } - - - /** - * Where condition to add to the query used to get data from the database. - * Note that this is applied to the child table. - * - * Can be used in two different ways: - * - * * Simple case: `where( field, value, operator )` - * * Complex: `where( fn )` - * - * @param string|callable $key Single field name or a closure function - * @param string|string[] $value Single field value, or an array of values. - * @param string $op Condition operator: <, >, = etc - * @return string[]|self Where condition array, or self if used as a setter. - */ - public function where ( $key=null, $value=null, $op='=' ) - { - if ( $key === null ) { - return $this->_where; - } - - if ( is_callable($key) && is_object($key) ) { - $this->_where[] = $key; - } - else { - $this->_where[] = array( - "key" => $key, - "value" => $value, - "op" => $op - ); - } - - return $this; - } - - - /** - * Get / set if the WHERE conditions should be included in the create and - * edit actions. - * - * This means that the fields which have been used as part of the 'get' - * WHERE condition (using the `where()` method) will be set as the values - * given. - * - * This is default false (i.e. they are not included). - * - * @param boolean $_ Include (`true`), or not (`false`) - * @return boolean Current value - */ - public function whereSet ( $_=null ) - { - return $this->_getSet( $this->_whereSet, $_ ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Internal methods - */ - - /** - * Get data - * @param Editor $editor Host Editor instance - * @param string[] $data Data from the parent table's get and were we need - * to add out output. - * @param array $options options array for fields - * @internal - */ - public function data( $editor, &$data, &$options ) - { - if ( ! $this->_get ) { - return; - } - - $this->_prep( $editor ); - $db = $editor->db(); - $dteTable = $editor->table(); - $pkey = $editor->pkey(); - $idPrefix = $editor->idPrefix(); - - $dteTable = $dteTable[0]; - $dteTableLocal = $this->_aliasParentTable ? // Can be aliased to allow a self join - $this->_aliasParentTable : - $dteTable; - $joinField = isset($this->_join['table']) ? - $this->_join['parent'][0] : - $this->_join['parent']; - - // This is something that will likely come in a future version, but it - // is a relatively low use feature. Please get in touch if this is - // something you require. - if ( count( $pkey ) > 1 ) { - throw new \Exception("MJoin is not currently supported with a compound primary key for the main table", 1); - } - - $pkey = $pkey[0]; - $pkeyIsJoin = $pkey === $joinField || $pkey === $dteTable.'.'.$joinField; - - // Sanity check that table selector fields are read only, and have an name without - // a dot (for DataTables mData to be able to read it) - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - - if ( strpos( $field->dbField() , "." ) !== false ) { - if ( $field->set() !== Field::SET_NONE && $this->_set ) { - echo json_encode( array( - "sError" => "Table selected fields (i.e. '{table}.{column}') in `Join` ". - "must be read only. Use `set(false)` for the field to disable writing." - ) ); - exit(0); - } - - if ( strpos( $field->name() , "." ) !== false ) { - echo json_encode( array( - "sError" => "Table selected fields (i.e. '{table}.{column}') in `Join` ". - "must have a name alias which does not contain a period ('.'). Use ". - "name('---') to set a name for the field" - ) ); - exit(0); - } - } - } - - // Set up the JOIN query - $stmt = $db - ->query( 'select' ) - ->distinct( true ) - ->get( $dteTableLocal.'.'.$joinField.' as dteditor_pkey' ) - ->get( $this->_fields('get') ) - ->table( $dteTable .' as '. $dteTableLocal ); - - if ( $this->order() ) { - $stmt->order( $this->order() ); - } - - $this->_apply_where( $stmt ); - - if ( isset($this->_join['table']) ) { - // Working with a link table - $stmt - ->join( - $this->_join['table'], - $dteTableLocal.'.'.$this->_join['parent'][0] .' = '. $this->_join['table'].'.'.$this->_join['parent'][1] - ) - ->join( - $this->_table, - $this->_table.'.'.$this->_join['child'][0] .' = '. $this->_join['table'].'.'.$this->_join['child'][1] - ); - } - else { - // No link table in the middle - $stmt - ->join( - $this->_table, - $this->_table.'.'.$this->_join['child'] .' = '. $dteTableLocal.'.'.$this->_join['parent'] - ); - } - - $res = $stmt->exec(); - if ( ! $res ) { - return; - } - - // Map to primary key for fast lookup - $join = array(); - while ( $row=$res->fetch() ) { - $inner = array(); - - for ( $j=0 ; $j_fields) ; $j++ ) { - $field = $this->_fields[$j]; - if ( $field->apply('get') ) { - $inner[ $field->name() ] = $field->val('get', $row); - } - } - - if ( $this->_type === 'object' ) { - $join[ $row['dteditor_pkey'] ] = $inner; - } - else { - if ( !isset( $join[ $row['dteditor_pkey'] ] ) ) { - $join[ $row['dteditor_pkey'] ] = array(); - } - $join[ $row['dteditor_pkey'] ][] = $inner; - } - } - - if ( count($data) > 0 ) { - // Check that the joining field is available. The joining key can - // come from the Editor instance's primary key, or any other field, - // including a nested value (from a left join). If the instance's - // pkey, then we've got that in the DT_RowId parameter, so we can - // use that. Otherwise, the key must be in the field list. - if ( $this->_propExists( $dteTable.'.'.$joinField, $data[0] ) ) { - $readField = $dteTable.'.'.$joinField; - } - else if ( $this->_propExists( $joinField, $data[0] ) ) { - $readField = $joinField; - } - else if ( ! $pkeyIsJoin ) { - echo json_encode( array( - "sError" => "Join was performed on the field '{$joinField}' which was not " - ."included in the Editor field list. The join field must be included " - ."as a regular field in the Editor instance." - ) ); - exit(0); - } - - // Loop over the data and do a join based on the data available - for ( $i=0 ; $i_readProp( $readField, $data[$i] ); - - if ( isset( $join[$rowPKey] ) ) { - $data[$i][ $this->_name ] = $join[$rowPKey]; - } - else { - $data[$i][ $this->_name ] = ($this->_type === 'object') ? - (object)array() : array(); - } - } - } - - // Field options - foreach ($this->_fields as $field) { - $opts = $field->optionsExec( $db ); - - if ( $opts !== false ) { - $name = $this->name(). - ($this->_type === 'object' ? '.' : '[].'). - $field->name(); - $options[ $name ] = $opts; - } - } - } - - - /** - * Create a row. - * @param Editor $editor Host Editor instance - * @param int $parentId Parent row's primary key value - * @param string[] $data Data to be set for the join - * @internal - */ - public function create ( $editor, $parentId, $data ) - { - // If not settable, or the many count for the join was not submitted - // there we do nothing - if ( - ! $this->_set || - ! isset($data[$this->_name]) || - ! isset($data[$this->_name.'-many-count']) - ) { - return; - } - - $this->_prep( $editor ); - $db = $editor->db(); - - if ( $this->_type === 'object' ) { - $this->_insert( $db, $parentId, $data[$this->_name] ); - } - else { - for ( $i=0 ; $i_name]) ; $i++ ) { - $this->_insert( $db, $parentId, $data[$this->_name][$i] ); - } - } - } - - - /** - * Update a row. - * @param Editor $editor Host Editor instance - * @param int $parentId Parent row's primary key value - * @param string[] $data Data to be set for the join - * @internal - */ - public function update ( $editor, $parentId, $data ) - { - // If not settable, or the many count for the join was not submitted - // there we do nothing - if ( ! $this->_set || ! isset($data[$this->_name.'-many-count']) ) { - return; - } - - $this->_prep( $editor ); - $db = $editor->db(); - - if ( $this->_type === 'object' ) { - // update or insert - $this->_update_row( $db, $parentId, $data[$this->_name] ); - } - else { - // WARNING - this will remove rows and then readd them. Any - // data not in the field list WILL BE LOST - // todo - is there a better way of doing this? - $this->remove( $editor, array($parentId) ); - $this->create( $editor, $parentId, $data ); - } - } - - - /** - * Delete rows - * @param Editor $editor Host Editor instance - * @param int[] $ids Parent row IDs to delete - * @internal - */ - public function remove ( $editor, $ids ) - { - if ( ! $this->_set ) { - return; - } - - $that = $this; - $this->_prep( $editor ); - $db = $editor->db(); - - if ( isset($this->_join['table']) ) { - $stmt = $db - ->query( 'delete' ) - ->table( $this->_join['table'] ) - ->or_where( $this->_join['parent'][1], $ids ) - ->exec(); - } - else { - $stmt = $db - ->query( 'delete' ) - ->table( $this->_table ) - ->where_group( function ( $q ) use ( $that ) { - $q->or_where( $that->_join['child'], $ids ); - } ); - - $this->_apply_where( $stmt ); - - $stmt->exec(); - } - } - - - /** - * Validate input data - * - * @param &array $errors Errors array - * @param Editor $editor Editor instance - * @param string[] $data Data to validate - * @internal - */ - public function validate ( &$errors, $editor, $data ) - { - if ( ! $this->_set || ! isset($data[$this->_name]) ) { - return; - } - - $this->_prep( $editor ); - - $joinData = $data[$this->_name]; - - if ( $this->_type === 'object' ) { - $this->_validateFields( $errors, $editor, $joinData, $this->_name.'.' ); - } - else { - for ( $i=0 ; $i_validateFields( $errors, $editor, $joinData[$i], $this->_name.'[].' ); - } - } - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private methods - */ - - /** - * Add local WHERE condition to query - * @param \DataTables\Database\Query $query Query instance to apply the WHERE conditions to - * @private - */ - private function _apply_where ( $query ) - { - for ( $i=0 ; $i_where) ; $i++ ) { - if ( is_callable( $this->_where[$i] ) ) { - $this->_where[$i]( $query ); - } - else { - $query->where( - $this->_where[$i]['key'], - $this->_where[$i]['value'], - $this->_where[$i]['op'] - ); - } - } - } - - - /** - * Create a row. - * @param \DataTables\Database $db Database reference to use - * @param int $parentId Parent row's primary key value - * @param string[] $data Data to be set for the join - * @private - */ - private function _insert( $db, $parentId, $data ) - { - if ( isset($this->_join['table']) ) { - // Insert keys into the join table - $stmt = $db - ->query('insert') - ->table( $this->_join['table'] ) - ->set( $this->_join['parent'][1], $parentId ) - ->set( $this->_join['child'][1], $data[$this->_join['child'][0]] ) - ->exec(); - } - else { - // Insert values into the target table - $stmt = $db - ->query('insert') - ->table( $this->_table ) - ->set( $this->_join['child'], $parentId ); - - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - - if ( $field->apply( 'set', $data ) ) { - $stmt->set( $field->dbField(), $field->val('set', $data) ); - } - } - - // If the where condition variables should also be added to the database - // Note that `whereSet` is now deprecated - if ( $this->_whereSet ) { - for ( $i=0, $ien=count($this->_where) ; $i<$ien ; $i++ ) { - if ( ! is_callable( $this->_where[$i] ) ) { - $stmt->set( $this->_where[$i]['key'], $this->_where[$i]['value'] ); - } - } - } - - $stmt->exec(); - } - } - - - /** - * Prepare the instance to be run. - * - * @param Editor $editor Editor instance - * @private - */ - private function _prep ( $editor ) - { - $links = $this->_links; - - // Were links used to configure this instance - if so, we need to - // back them onto the join array - if ( $this->_join['parent'] === null && count($links) ) { - $editorTable = $editor->table(); - $editorTable = $editorTable[0]; - $joinTable = $this->table(); - - if ( $this->_aliasParentTable ) { - $editorTable = $this->_aliasParentTable; - } - - if ( count( $links ) === 2 ) { - // No link table - $f1 = explode( '.', $links[0] ); - $f2 = explode( '.', $links[1] ); - - if ( $f1[0] === $editorTable ) { - $this->_join['parent'] = $f1[1]; - $this->_join['child'] = $f2[1]; - } - else { - $this->_join['parent'] = $f2[1]; - $this->_join['child'] = $f1[1]; - } - } - else { - // Link table - $f1 = explode( '.', $links[0] ); - $f2 = explode( '.', $links[1] ); - $f3 = explode( '.', $links[2] ); - $f4 = explode( '.', $links[3] ); - - // Discover the name of the link table - if ( $f1[0] !== $editorTable && $f1[0] !== $joinTable ) { - $this->_join['table'] = $f1[0]; - } - else if ( $f2[0] !== $editorTable && $f2[0] !== $joinTable ) { - $this->_join['table'] = $f2[0]; - } - else if ( $f3[0] !== $editorTable && $f3[0] !== $joinTable ) { - $this->_join['table'] = $f3[0]; - } - else { - $this->_join['table'] = $f2[0]; - } - - $this->_join['parent'] = array( $f1[1], $f2[1] ); - $this->_join['child'] = array( $f3[1], $f4[1] ); - } - } - } - - - /** - * Update a row. - * @param \DataTables\Database $db Database reference to use - * @param int $parentId Parent row's primary key value - * @param string[] $data Data to be set for the join - * @private - */ - private function _update_row ( $db, $parentId, $data ) - { - if ( isset($this->_join['table']) ) { - // Got a link table, just insert the pkey references - $db->push( - $this->_join['table'], - array( - $this->_join['parent'][1] => $parentId, - $this->_join['child'][1] => $data[$this->_join['child'][0]] - ), - array( - $this->_join['parent'][1] => $parentId - ) - ); - } - else { - // No link table, just a direct reference - $set = array( - $this->_join['child'] => $parentId - ); - - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - - if ( $field->apply( 'set', $data ) ) { - $set[ $field->dbField() ] = $field->val('set', $data); - } - } - - // Add WHERE conditions - $where = array($this->_join['child'] => $parentId); - for ( $i=0, $ien=count($this->_where) ; $i<$ien ; $i++ ) { - $where[ $this->_where[$i]['key'] ] = $this->_where[$i]['value']; - - // Is there any point in this? Is there any harm? - // Note that `whereSet` is now deprecated - if ( $this->_whereSet ) { - if ( ! is_callable( $this->_where[$i] ) ) { - $set[ $this->_where[$i]['key'] ] = $this->_where[$i]['value']; - } - } - } - - $db->push( $this->_table, $set, $where ); - } - } - - - /** - * Create an SQL string from the fields that this instance knows about for - * using in queries - * @param string $direction Direction: 'get' or 'set'. - * @returns array Fields to include - * @private - */ - private function _fields ( $direction ) - { - $fields = array(); - - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - - if ( $field->apply( $direction, null ) ) { - if ( strpos( $field->dbField() , "." ) === false ) { - $fields[] = $this->_table.'.'.$field->dbField() ." as ".$field->dbField();; - } - else { - $fields[] = $field->dbField();// ." as ".$field->dbField(); - } - } - } - - return $fields; - } - - - /** - * Validate input data - * - * @param &array $errors Errors array - * @param Editor $editor Editor instance - * @param string[] $data Data to validate - * @param string $prefix Field error prefix for client-side to show the - * error message on the appropriate field - * @internal - */ - private function _validateFields ( &$errors, $editor, $data, $prefix ) - { - for ( $i=0 ; $i_fields) ; $i++ ) { - $field = $this->_fields[$i]; - $validation = $field->validate( $data, $editor ); - - if ( $validation !== true ) { - $errors[] = array( - "name" => $prefix.$field->name(), - "status" => $validation - ); - } - } - } -} - diff --git a/php/Editor/Mjoin.php b/php/Editor/Mjoin.php deleted file mode 100644 index 3f7b34d..0000000 --- a/php/Editor/Mjoin.php +++ /dev/null @@ -1,33 +0,0 @@ -leftJoin()` method. The API API is otherwise - * identical. - * - * This class is recommended over the `Join` class. - */ -class MJoin extends Join -{ - function __construct( $table=null ) - { - parent::__construct( $table, 'array' ); - } -} diff --git a/php/Editor/Options.php b/php/Editor/Options.php deleted file mode 100644 index c5c3a24..0000000 --- a/php/Editor/Options.php +++ /dev/null @@ -1,269 +0,0 @@ - - * Field::inst( 'users.site' ) - * ->options( Options::inst() - * ->table( 'sites' ) - * ->value( 'id' ) - * ->label( 'name' ) - * ) - * - * - * @example - * Get a list of options with custom ordering - * - * Field::inst( 'users.site' ) - * ->options( Options::inst() - * ->table( 'sites' ) - * ->value( 'id' ) - * ->label( 'name' ) - * ->order( 'name DESC' ) - * ) - * - * - * @example - * Get a list of options showing the id and name in the label - * - * Field::inst( 'users.site' ) - * ->options( Options::inst() - * ->table( 'sites' ) - * ->value( 'id' ) - * ->label( [ 'name', 'id' ] ) - * ->render( function ( $row ) { - * return $row['name'].' ('.$row['id'].')'; - * } ) - * ) - * - */ -class Options extends DataTables\Ext { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private parameters - */ - - /** @var string Table to get the information from */ - private $_table = null; - - /** @var string Column name containing the value */ - private $_value = null; - - /** @var string[] Column names for the label(s) */ - private $_label = array(); - - /** @var integer Row limit */ - private $_limit = null; - - /** @var callable Callback function to do rendering of labels */ - private $_renderer = null; - - /** @var callback Callback function to add where conditions */ - private $_where = null; - - /** @var string ORDERY BY clause */ - private $_order = null; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Get / set the column(s) to use as the label value of the options - * - * @param null|string|string[] $_ null to get the current value, string or - * array to get. - * @return Options|string[] Self if setting for chaining, array of values if - * getting. - */ - public function label ( $_=null ) - { - if ( $_ === null ) { - return $this; - } - else if ( is_string($_) ) { - $this->_label = array( $_ ); - } - else { - $this->_label = $_; - } - - return $this; - } - - /** - * Get / set the LIMIT clause to limit the number of records returned. - * - * @param [type] $_ null|number Number of rows to limit the result to - * @return Options|string[] Self if setting for chaining, limit if getting. - */ - public function limit ( $_=null ) - { - return $this->_getSet( $this->_limit, $_ ); - } - - /** - * Get / set the ORDER BY clause to use in the SQL. If this option is not - * provided the ordering will be based on the rendered output, either - * numerically or alphabetically based on the data returned by the renderer. - * - * @param null|string $_ String to set, null to get current value - * @return Options|string Self if setting for chaining, string if getting. - */ - public function order ( $_=null ) - { - return $this->_getSet( $this->_order, $_ ); - } - - /** - * Get / set the label renderer. The renderer can be used to combine - * multiple database columns into a single string that is shown as the label - * to the end user in the list of options. - * - * @param null|callable $_ Function to set, null to get current value - * @return Options|callable Self if setting for chaining, callable if - * getting. - */ - public function render ( $_=null ) - { - return $this->_getSet( $this->_renderer, $_ ); - } - - /** - * Get / set the database table from which to gather the options for the - * list. - * - * @param null|string $_ String to set, null to get current value - * @return Options|string Self if setting for chaining, string if getting. - */ - public function table ( $_=null ) - { - return $this->_getSet( $this->_table, $_ ); - } - - /** - * Get / set the column name to use for the value in the options list. This - * would normally be the primary key for the table. - * - * @param null|string $_ String to set, null to get current value - * @return Options|string Self if setting for chaining, string if getting. - */ - public function value ( $_=null ) - { - return $this->_getSet( $this->_value, $_ ); - } - - /** - * Get / set the method to use for a WHERE condition if it is to be - * applied to the query to get the options. - * - * @param null|callable $_ Function to set, null to get current value - * @return Options|callable Self if setting for chaining, callable if - * getting. - */ - public function where ( $_=null ) - { - return $this->_getSet( $this->_where, $_ ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Internal methods - */ - - /** - * Execute the options (i.e. get them) - * - * @param Database $db Database connection - * @return array List of options - * @internal - */ - public function exec ( $db ) - { - $label = $this->_label; - $value = $this->_value; - $formatter = $this->_renderer; - - // Create a list of the fields that we need to get from the db - $fields = array(); - $fields[] = $value; - $fields = array_merge( $fields, $label ); - - // We need a default formatter if one isn't provided - if ( ! $formatter ) { - $formatter = function ( $row ) use ( $label ) { - $a = array(); - - for ( $i=0, $ien=count($label) ; $i<$ien ; $i++ ) { - $a[] = $row[ $label[$i] ]; - } - - return implode(' ', $a); - }; - } - - // Get the data - $q = $db - ->query('select') - ->table( $this->_table ) - ->distinct( true ) - ->get( $fields ) - ->where( $this->_where ) - ->order( $this->_order ); - - if ( $this->_limit !== null ) { - $q->limit( $this->_limit ); - } - - $rows = $q - ->exec() - ->fetchAll(); - - // Create the output array - $out = array(); - - for ( $i=0, $ien=count($rows) ; $i<$ien ; $i++ ) { - $out[] = array( - "label" => $formatter( $rows[$i] ), - "value" => $rows[$i][$value] - ); - } - - // Only sort if there was no SQL order field - if ( ! $this->_order ) { - usort( $out, function ( $a, $b ) { - return is_numeric($a['label']) && is_numeric($b['label']) ? - ($a['label']*1) - ($b['label']*1) : - strcmp( $a['label'], $b['label'] ); - } ); - } - - return $out; - } -} - \ No newline at end of file diff --git a/php/Editor/Upload.php b/php/Editor/Upload.php deleted file mode 100644 index 23ca79b..0000000 --- a/php/Editor/Upload.php +++ /dev/null @@ -1,664 +0,0 @@ - - * Field::inst( 'imageId' ) - * ->upload( - * Upload::inst( $_SERVER['DOCUMENT_ROOT'].'/uploads/__ID__.__EXTN__' ) - * ->db( 'files', 'id', array( - * 'webPath' => Upload::DB_WEB_PATH, - * 'fileName' => Upload::DB_FILE_NAME, - * 'fileSize' => Upload::DB_FILE_SIZE, - * 'systemPath' => Upload::DB_SYSTEM_PATH - * ) ) - * ->allowedExtensions( [ 'png', 'jpg' ], "Please upload an image file" ) - * ) - * - * - * @example - * As above, but with PHP 5.4 (which allows chaining from new instances of a - * class) - * - * newField( 'imageId' ) - * ->upload( - * new Upload( $_SERVER['DOCUMENT_ROOT'].'/uploads/__ID__.__EXTN__' ) - * ->db( 'files', 'id', array( - * 'webPath' => Upload::DB_WEB_PATH, - * 'fileName' => Upload::DB_FILE_NAME, - * 'fileSize' => Upload::DB_FILE_SIZE, - * 'systemPath' => Upload::DB_SYSTEM_PATH - * ) ) - * ->allowedExtensions( [ 'png', 'jpg' ], "Please upload an image file" ) - * ) - * - */ -class Upload extends DataTables\Ext { - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Constants - */ - - /** Database value option (`Db()`) - File content. This should be written to - * a blob. Typically this should be avoided and the file saved on the file - * system, but there are cases where it can be useful to store the file in - * the database. - */ - const DB_CONTENT = 'editor-content'; - - /** Database value option (`Db()`) - Content type */ - const DB_CONTENT_TYPE = 'editor-contentType'; - - /** Database value option (`Db()`) - File extension */ - const DB_EXTN = 'editor-extn'; - - /** Database value option (`Db()`) - File name (with extension) */ - const DB_FILE_NAME = 'editor-fileName'; - - /** Database value option (`Db()`) - File size (bytes) */ - const DB_FILE_SIZE = 'editor-fileSize'; - - /** Database value option (`Db()`) - MIME type */ - const DB_MIME_TYPE = 'editor-mimeType'; - - /** Database value option (`Db()`) - Full system path to the file */ - const DB_SYSTEM_PATH = 'editor-systemPath'; - - /** Database value option (`Db()`) - HTTP path to the file. This is derived - * from the system path by removing `$_SERVER['DOCUMENT_ROOT']`. If your - * images live outside of the document root a custom value would be to be - * used. - */ - const DB_WEB_PATH = 'editor-webPath'; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Private parameters - */ - - private $_action = null; - private $_dbCleanCallback = null; - private $_dbCleanTableField = null; - private $_dbTable = null; - private $_dbPKey = null; - private $_dbFields = null; - private $_extns = null; - private $_extnError = null; - private $_error = null; - private $_validators = array(); - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Constructor - */ - - /** - * Upload instance constructor - * @param string|callable $action Action to take on upload - this is applied - * directly to {@link action}. - */ - function __construct( $action=null ) - { - if ( $action ) { - $this->action( $action ); - } - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - */ - - /** - * Set the action to take when a file is uploaded. This can be either of: - * - * * A string - the value given is the full system path to where the - * uploaded file is written to. The value given can include three "macros" - * which are replaced by the script dependent on the uploaded file: - * * `__EXTN__` - the file extension - * * `__NAME__` - the uploaded file's name (including the extension) - * * `__ID__` - Database primary key value if the {@link db} method is - * used. - * * A closure - if a function is given the responsibility of what to do - * with the uploaded file is transferred to this function. That will - * typically involve writing it to the file system so it can be used - * later. - * - * @param string|callable $action Action to take - see description above. - * @return self Current instance, used for chaining - */ - public function action ( $action ) - { - $this->_action = $action; - - return $this; - } - - - /** - * An array of valid file extensions that can be uploaded. This is for - * simple validation that the file is of the expected type - for example you - * might use `[ 'png', 'jpg', 'jpeg', 'gif' ]` for images. The check is - * case-insensitive. If no extensions are given, no validation is performed - * on the file extension. - * - * @param string[] $extn List of file extensions that are allowable for - * the upload - * @param string $error Error message if a file is uploaded that doesn't - * match the valid list of extensions. - * @return self Current instance, used for chaining - */ - public function allowedExtensions ( $extn, $error="This file type cannot be uploaded" ) - { - $this->_extns = $extn; - $this->_extnError = $error; - - return $this; - } - - - /** - * Database configuration method. When used, this method will tell Editor - * what information you want written to a database on file upload, should - * you wish to store relational information about your file on the database - * (this is generally recommended). - * - * @param string $table The name of the table where the file information - * should be stored - * @param string $pkey Primary key column name. The `Upload` class - * requires that the database table have a single primary key so each - * row can be uniquely identified. - * @param array $fields A list of the fields to be written to on upload. - * The property names are the database columns and the values can be - * defined by the constants of this class. The value can also be a - * string or a closure function if you wish to send custom information - * to the database. - * @return self Current instance, used for chaining - */ - public function db ( $table, $pkey, $fields ) - { - $this->_dbTable = $table; - $this->_dbPKey = $pkey; - $this->_dbFields = $fields; - - return $this; - } - - - /** - * Set a callback function that is used to remove files which no longer have - * a reference in a source table. - * - * @param callable $callback Function that will be executed on clean. It is - * given an array of information from the database about the orphaned - * rows, and can return true to indicate that the rows should be - * removed from the database. Any other return value (including none) - * will result in the records being retained. - * @return self Current instance, used for chaining - */ - public function dbClean( $tableField, $callback=null ) - { - // Argument swapping - if ( $callback === null ) { - $callback = $tableField; - $tableField = null; - } - - $this->_dbCleanCallback = $callback; - $this->_dbCleanTableField = $tableField; - - return $this; - } - - - /** - * Add a validation method to check file uploads. Multiple validators can be - * added by calling this method multiple times - they will be executed in - * sequence when a file has been uploaded. - * - * @param callable $fn Validation function. A PHP `$_FILES` parameter is - * passed in for the uploaded file and the return is either a string - * (validation failed and error message), or `null` (validation passed). - * @return self Current instance, used for chaining - */ - public function validator ( $fn ) - { - $this->_validators[] = $fn; - - return $this; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Internal methods - */ - - /** - * Get database information data from the table - * - * @param \DataTables\Database $db Database - * @param number [$id=null] Limit to a specific id - * @return array Database information - * @internal - */ - public function data ( $db, $id=null ) - { - if ( ! $this->_dbTable ) { - return null; - } - - // Select the details requested, for the columns requested - $q = $db - ->query( 'select' ) - ->table( $this->_dbTable ) - ->get( $this->_dbPKey ); - - foreach ( $this->_dbFields as $column => $prop ) { - if ( $prop !== self::DB_CONTENT ) { - $q->get( $column ); - } - } - - if ( $id !== null ) { - $q->where( $this->_dbPKey, $id ); - } - - $result = $q->exec()->fetchAll(); - $out = array(); - - for ( $i=0, $ien=count($result) ; $i<$ien ; $i++ ) { - $out[ $result[$i][ $this->_dbPKey ] ] = $result[$i]; - } - - return $out; - } - - - /** - * Clean the database - * @param \DataTables\Editor $editor Calling Editor instance - * @param Field $field Host field - * @internal - */ - public function dbCleanExec ( $editor, $field ) - { - // Database and file system clean up BEFORE adding the new file to - // the db, otherwise it will be removed immediately - $tables = $editor->table(); - $this->_dbClean( $editor->db(), $tables[0], $field->dbField() ); - } - - - /** - * Get the set error message - * - * @return string Class error - * @internal - */ - public function error () - { - return $this->_error; - } - - - /** - * Execute an upload - * - * @param \DataTables\Editor $editor Calling Editor instance - * @return int Primary key value - * @internal - */ - public function exec ( $editor ) - { - $id = null; - $upload = $_FILES['upload']; - - // Validation - PHP standard validation - if ( $upload['error'] !== UPLOAD_ERR_OK ) { - if ( $upload['error'] === UPLOAD_ERR_INI_SIZE ) { - $this->_error = "File exceeds maximum file upload size"; - } - else { - $this->_error = "There was an error uploading the file (".$upload['error'].")"; - } - return false; - } - - // Validation - acceptable file extensions - if ( is_array( $this->_extns ) ) { - $extn = pathinfo($upload['name'], PATHINFO_EXTENSION); - - if ( in_array( strtolower($extn), array_map( 'strtolower', $this->_extns ) ) === false ) { - $this->_error = $this->_extnError; - return false; - } - } - - // Validation - custom callback - for ( $i=0, $ien=count($this->_validators) ; $i<$ien ; $i++ ) { - $res = $this->_validators[$i]( $upload ); - - if ( is_string( $res ) ) { - $this->_error = $res; - return false; - } - } - - // Database - if ( $this->_dbTable ) { - foreach ( $this->_dbFields as $column => $prop ) { - // We can't know what the path is, if it has moved into place - // by an external function - throw an error if this does happen - if ( ! is_string( $this->_action ) && - ($prop === self::DB_SYSTEM_PATH || $prop === self::DB_WEB_PATH ) - ) { - $this->_error = "Cannot set path information in database ". - "if a custom method is used to save the file."; - - return false; - } - } - - // Commit to the database - $id = $this->_dbExec( $editor->db() ); - } - - // Perform file system actions - return $this->_actionExec( $id ); - } - - - /** - * Get the primary key column for the table - * - * @return string Primary key column name - * @internal - */ - public function pkey () - { - return $this->_dbPKey; - } - - - /** - * Get the db table name - * - * @return string DB table name - * @internal - */ - public function table () - { - return $this->_dbTable; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * - * Private methods - */ - - /** - * Execute the configured action for the upload - * - * @param int $id Primary key value - * @return int File identifier - typically the primary key - */ - private function _actionExec ( $id ) - { - $upload = $_FILES['upload']; - - if ( ! is_string( $this->_action ) ) { - // Custom function - $action = $this->_action; - return $action( $upload, $id ); - } - - // Default action - move the file to the location specified by the - // action string - $to = $this->_path( $upload['name'], $id ); - $res = move_uploaded_file( $upload['tmp_name'], $to ); - - if ( $res === false ) { - $this->_error = "An error occurred while moving the uploaded file."; - return false; - } - - return $id !== null ? - $id : - $to; - } - - /** - * Perform the database clean by first getting the information about the - * orphaned rows and then calling the callback function. The callback can - * then instruct the rows to be removed through the return value. - * - * @param \DataTables\Database $db Database instance - * @param string $editorTable Editor Editor instance table name - * @param string $fieldName Host field's name - */ - private function _dbClean ( $db, $editorTable, $fieldName ) - { - $callback = $this->_dbCleanCallback; - - if ( ! $this->_dbTable || ! $callback ) { - return; - } - - // If there is a table / field that we should use to check if the value - // is in use, then use that. Otherwise we'll try to use the information - // from the Editor / Field instance. - if ( $this->_dbCleanTableField ) { - $fieldName = $this->_dbCleanTableField; - } - - $a = explode('.', $fieldName); - if ( count($a) === 1 ) { - $table = $editorTable; - $field = $a[0]; - } - else if ( count($a) === 2 ) { - $table = $a[0]; - $field = $a[1]; - } - else { - $table = $a[1]; - $field = $a[2]; - } - - // Select the details requested, for the columns requested - $q = $db - ->query( 'select' ) - ->table( $this->_dbTable ) - ->get( $this->_dbPKey ); - - foreach ( $this->_dbFields as $column => $prop ) { - if ( $prop !== self::DB_CONTENT ) { - $q->get( $column ); - } - } - - $q->where( $this->_dbPKey, '(SELECT '.$field.' FROM '.$table.' WHERE '.$field.' IS NOT NULL)', 'NOT IN', false ); - - $data = $q->exec()->fetchAll(); - - if ( count( $data ) === 0 ) { - return; - } - - $result = $callback( $data ); - - // Delete the selected rows, iff the developer says to do so with the - // returned value (i.e. acknowledge that the files have be removed from - // the file system) - if ( $result === true ) { - $qDelete = $db - ->query( 'delete' ) - ->table( $this->_dbTable ); - - for ( $i=0, $ien=count( $data ) ; $i<$ien ; $i++ ) { - $qDelete->or_where( $this->_dbPKey, $data[$i][ $this->_dbPKey ] ); - } - - $qDelete->exec(); - } - } - - /** - * Add a record to the database for a newly uploaded file - * - * @param \DataTables\Database $db Database instance - * @return int Primary key value for the newly uploaded file - */ - private function _dbExec ( $db ) - { - $upload = $_FILES['upload']; - $pathFields = array(); - - // Insert the details requested, for the columns requested - $q = $db - ->query( 'insert' ) - ->table( $this->_dbTable ); - - foreach ( $this->_dbFields as $column => $prop ) { - switch ( $prop ) { - case self::DB_CONTENT: - $q->set( $column, file_get_contents($upload['tmp_name']) ); - break; - - case self::DB_CONTENT_TYPE: - case self::DB_MIME_TYPE: - $finfo = finfo_open(FILEINFO_MIME); - $mime = finfo_file($finfo, $upload['tmp_name']); - finfo_close($finfo); - - $q->set( $column, $mime ); - break; - - case self::DB_EXTN: - $extn = pathinfo($upload['name'], PATHINFO_EXTENSION); - $q->set( $column, $extn ); - break; - - case self::DB_FILE_NAME: - $q->set( $column, $upload['name'] ); - break; - - case self::DB_FILE_SIZE: - $q->set( $column, $upload['size'] ); - break; - - case self::DB_SYSTEM_PATH: - $pathFields[ $column ] = self::DB_SYSTEM_PATH; - $q->set( $column, '-' ); // Use a temporary value to avoid cases - break; // where the db will reject empty values - - case self::DB_WEB_PATH: - $pathFields[ $column ] = self::DB_WEB_PATH; - $q->set( $column, '-' ); // Use a temporary value (as above) - break; - - default: - if ( is_callable($prop) && is_object($prop) ) { // is a closure - $q->set( $column, $prop( $db, $upload ) ); - } - else { - $q->set( $column, $prop ); - } - - break; - } - } - - $res = $q->exec(); - $id = $res->insertId(); - - // Update the newly inserted row with the path information. We have to - // use a second statement here as we don't know in advance what the - // database schema is and don't want to prescribe that certain triggers - // etc be created. It makes it a bit less efficient but much more - // compatible - if ( count( $pathFields ) ) { - // For this to operate the action must be a string, which is - // validated in the `exec` method - $path = $this->_path( $upload['name'], $id ); - $webPath = str_replace($_SERVER['DOCUMENT_ROOT'], '', $path); - $q = $db - ->query( 'update' ) - ->table( $this->_dbTable ) - ->where( $this->_dbPKey, $id ); - - foreach ( $pathFields as $column => $type ) { - $q->set( $column, $type === self::DB_WEB_PATH ? $webPath : $path ); - } - - $q->exec(); - } - - return $id; - } - - - /** - * Apply macros to a user specified path - * - * @param string $name File path - * @param int $id Primary key value for the file - * @return string Resolved path - */ - private function _path ( $name, $id ) - { - $extn = pathinfo( $name, PATHINFO_EXTENSION ); - - $to = $this->_action; - $to = str_replace( "__NAME__", $name, $to ); - $to = str_replace( "__ID__", $id, $to ); - $to = str_replace( "__EXTN__", $extn, $to ); - - return $to; - } -} - diff --git a/php/Editor/Validate.php b/php/Editor/Validate.php deleted file mode 100644 index 9cea44c..0000000 --- a/php/Editor/Validate.php +++ /dev/null @@ -1,961 +0,0 @@ - - * // Ensure that a non-empty value is given for a field - * Field::inst( 'engine' )->validator( 'Validate::required' ) - * - * - * @example - * - * // Don't require a field to be submitted, but if it is submitted, it - * // must be non-empty - * Field::inst( 'reg_date' )->validator( 'Validate::notEmpty' ) - * - * // or (this is identical in functionality to the line above): - * Field::inst( 'reg_date' )->validator( 'Validate::basic', array('empty'=>true) ) - * - * - * @example - * - * // Date validation - * Field::inst( 'reg_date' )->validator( 'Validate::date_format', 'D, d M y' ) - * - * - * @example - * - * // Date validation with a custom error message - * Field::inst( 'reg_date' )->validator( 'Validate::date_format', array( - * 'format' => 'D, d M y', - * 'message' => "Invalid date" - * ) ) - * - * - * @example - * - * // Require a non-empty e-mail address - * Field::inst( 'reg_date' )->validator( 'Validate::email', array('required'=>true) ) - * - * // or (this is identical in functionality to the line above): - * Field::inst( 'reg_date' )->validator( 'Validate::email', array( - * 'empty' => false, - * 'optional' => false - * ) ) - * - * - * @example - * - * // Custom validation - closure - * Field::inst( 'engine' )->validator( function($val, $data, $opts) { - * if ( ! preg_match( '/^1/', $val ) ) { - * return "Value must start with a 1"; - * } - * return true; - * } ) - * - */ -class Validate { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Internal functions - */ - - /** - * "Magic" method to automatically apply the required check to any of the - * static methods simply by adding '_required' or '_empty' to the end of the - * method's name, depending on if you need the field to be submitted or not. - * - * This is retained for backwards compatibility, but the validation options - * are now the recommended way of indicating that a field is required. - * - * @internal - * @param string $name Function name - * @param array $arguments Function arguments - * @return mixed|string - */ - public static function __callStatic( $name, $arguments ) { - if ( preg_match( '/_required$/', $name ) ) { - if ( $arguments[0] === null || $arguments[0] === '' ) { - return 'This field is required'; - } - - return call_user_func_array( - __NAMESPACE__.'\Validate::'.str_replace( '_required', '', $name ), - $arguments - ); - } - } - - - /** - * Extend the options from the user function and the validation function - * with core defaults. - * - * @internal - */ - public static function _extend( $userOpts, $prop, $fnOpts ) { - $cfg = array( - 'message' => 'Input not valid', - 'required' => false, - 'empty' => true, - 'optional' => true - ); - - if ( ! is_array( $userOpts ) ) { - if ( $prop ) { - $cfg[ $prop ] = $userOpts; - } - - // Not an array, but the non-array case has been handled above, so - // just an empty array - $userOpts = array(); - } - - // Merge into a single array - first array gets priority if there is a - // key clash, so user first, then function commands and finally the - // global options - $cfg = $userOpts + $fnOpts + $cfg; - - return $cfg; - } - - - /** - * Perform common validation using the configuration parameters - * - * @internal - */ - public static function _common( $val, $cfg ) { - // `required` is a shortcut for optional==false && empty==false - $optional = $cfg['required'] ? false : $cfg['optional']; - $empty = $cfg['required'] ? false : $cfg['empty']; - - // Error state tests - if ( ! $optional && $val === null ) { - // Value must be given - return $cfg['message']; - } - else if ( $empty === false && $val === '' ) { - // Value must not be empty - return $cfg['message']; - } - - // Validation passed states - if ( $optional && $val === null ) { - return true; - } - else if ( $empty === true && $val === '' ) { - return true; - } - - // Have the specific validation function perform its tests - return null; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Basic validation - */ - - /** - * No validation - all inputs are valid. - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @return true - */ - public static function none( $val, $data, $opts, $host ) { - return true; - } - - - /** - * Basic validation - this is used to perform the validation provided by the - * validation options only. If the validation options pass (e.g. `required`, - * `empty` and `optional`) then the validation will pass regardless of the - * actual value. - * - * Note that there are two helper short-cut methods that provide the same - * function as this method, but are slightly shorter: - * - * ``` - * // Required: - * Validate::required() - * - * // is the same as - * Validate::basic( $val, $data, array( - * "required" => true - * ); - * ``` - * - * ``` - * // Optional, but not empty if given: - * Validate::notEmpty() - * - * // is the same as - * Validate::basic( $val, $data, array( - * "empty" => false - * ); - * ``` - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - static function basic( $val, $data, $opts, $host ) { - // Common validation with user override option - $cfg = Validate::_extend( $opts, null, array() ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return true; - } - - - /** - * Required field - there must be a value and it must be a non-empty value - * - * This is a helper short-cut method which is the same as: - * - * ``` - * Validate::basic( $val, $data, array( - * "required" => true - * ); - * ``` - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - static function required( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "This field is required", - 'required' => true - ) ); - - $common = Validate::_common( $val, $cfg ); - return $common !== null ? - $common : - true; - } - - - /** - * Optional field, but if given there must be a non-empty value - * - * This is a helper short-cut method which is the same as: - * - * ``` - * Validate::basic( $val, $data, array( - * "empty" => false - * ); - * ``` - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - static function notEmpty( $val, $data, $opts, $host ) { - // Supplying this field is optional, but if given, then it must be - // non-empty (user can override by passing in `empty=true` in opts - // at which point there is basically no validation - $cfg = Validate::_extend( $opts, null, array( - 'message' => "This field is required", - 'empty' => false - ) ); - - $common = Validate::_common( $val, $cfg ); - return $common !== null ? - $common : - true; - } - - - /** - * Validate an input as a boolean value. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function boolean( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "Please enter true or false" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - if ( filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) === false ) { - return $cfg['message']; - } - return true; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Number validation methods - */ - - /** - * Check that any input is numeric. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. Additional options: - * * `decimal`: is available to indicate what character should be used - * as the decimal - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function numeric ( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "This input must be given as a number", - 'decimal' => '.' - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - if ( $cfg['decimal'] !== '.' ) { - $val = str_replace( $cfg['decimal'], '.', $val ); - } - - return ! is_numeric( $val ) ? - $cfg['message'] : - true; - } - - /** - * Check for a numeric input and that it is greater than a given value. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. Additional options: - * * `min`: indicate the minimum value. If only the default validation - * options are required, this parameter can be given as an integer - * value, which will be used as the minimum value. - * * `decimal`: is available to indicate what character should be used - * as the decimal - * separator (default '.'). - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function minNum ( $val, $data, $opts, $host ) { - // `numeric` will do the common validation for us - $numeric = Validate::numeric( $val, $data, $opts, $host ); - if ( $numeric !== true ) { - return $numeric; - } - - $min = is_array($opts) ? $opts['min'] : $opts; - $cfg = Validate::_extend( $opts, 'min', array( - 'message' => "Number is too small, must be ".$min." or larger" - ) ); - - if ( $cfg['decimal'] !== '.' ) { - $val = str_replace( $cfg['decimal'], '.', $val ); - } - - return $val < $min ? - $cfg['message'] : - true; - } - - /** - * Check for a numeric input and that it is less than a given value. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. - * * `max`: indicate the maximum value. If only the default validation - * options are required, this parameter can be given as an integer - * value, which will be used as the maximum value. - * * `decimal`: is available to indicate what character should be used - * as the decimal - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function maxNum ( $val, $data, $opts, $host ) { - // `numeric` will do the common validation for us - $numeric = Validate::numeric( $val, $data, $opts, $host ); - if ( $numeric !== true ) { - return $numeric; - } - - $max = is_array($opts) ? $opts['max'] : $opts; - $cfg = Validate::_extend( $opts, 'min', array( - 'message' => "Number is too large, must be ".$max." or smaller" - ) ); - - if ( $cfg['decimal'] !== '.' ) { - $val = str_replace( $cfg['decimal'], '.', $val ); - } - - return $val > $max ? - $cfg['message'] : - true; - } - - - /** - * Check for a numeric input and that it is both greater and smaller than - * given numbers. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. Additional options: - * * `min`: indicate the minimum value. - * * `max`: indicate the maximum value. - * * `decimal`: is available to indicate what character should be used - * as the decimal - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function minMaxNum ( $val, $data, $opts, $host ) { - $numeric = Validate::numeric( $val, $data, $opts, $host ); - if ( $numeric !== true ) { - return $numeric; - } - - $min = Validate::minNum( $val, $data, $opts, $host ); - if ( $min !== true ) { - return $min; - } - - return Validate::maxNum( $val, $data, $opts, $host ); - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * String validation methods - */ - - /** - * Validate an input as an e-mail address. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function email( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "Please enter a valid e-mail address" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return filter_var($val, FILTER_VALIDATE_EMAIL) !== false ? - true : - $cfg['message']; - } - - - /** - * Validate a string has a minimum length. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional option of - * `min` is available for this method to indicate the minimum string - * length. If only the default validation options are required, this - * parameter can be given as an integer value, which will be used as the - * minimum string length. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function minLen( $val, $data, $opts, $host ) { - $min = is_array($opts) ? $opts['min'] : $opts; - $cfg = Validate::_extend( $opts, null, array( - 'message' => "The input is too short. ".$min." characters required (".($min-strlen($val))." more required)" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return strlen( $val ) < $min ? - $cfg['message'] : - true; - } - - - /** - * Validate a string does not exceed a maximum length. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional option of - * `max` is available for this method to indicate the maximum string - * length. If only the default validation options are required, this - * parameter can be given as an integer value, which will be used as the - * maximum string length. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function maxLen( $val, $data, $opts, $host ) { - $max = is_array($opts) ? $opts['max'] : $opts; - $cfg = Validate::_extend( $opts, null, array( - 'message' => "The input is ".(strlen($val)-$max)." characters too long" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return strlen( $val ) > $max ? - $cfg['message'] : - true; - } - - /** - * Require a string with a certain minimum or maximum number of characters. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `min` and `max` are available for this method to indicate the minimum - * and maximum string lengths, respectively. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function minMaxLen( $val, $data, $opts, $host ) { - $min = Validate::minLen( $val, $data, $opts, $host ); - if ( $min !== true ) { - return $min; - } - - return Validate::maxLen( $val, $data, $opts, $host ); - } - - - /** - * Validate as an IP address. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function ip( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "Please enter a valid IP address" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return filter_var($val, FILTER_VALIDATE_IP) === false ? - $cfg['message'] : - true; - } - - - /** - * Validate as an URL address. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array $opts Validation options. No additional options are - * available or required for this validation method. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function url( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => "Please enter a valid URL" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return filter_var($val, FILTER_VALIDATE_URL) === false ? - $cfg['message'] : - true; - } - - - /** - * Check if string could contain an XSS attack string - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `db` - database connection object, `table` - database table to use and - * `column` - the column to check this value against as value, are also - * available. These options are not required and if not given are - * automatically derived from the Editor and Field instances. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function xss ( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => 'This field contains potentially unsafe data', - 'db' => null, - 'table' => null, - 'field' => null - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - $editor = $host['editor']; - $field = $host['field']; - - return $field->xssSafety( $val ) != $val ? - $cfg['message'] : - true; - } - - - /** - * Confirm that the value submitted is in a list of allowable values - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `db` - database connection object, `table` - database table to use and - * `column` - the column to check this value against as value, are also - * available. These options are not required and if not given are - * automatically derived from the Editor and Field instances. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function values( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'empty' => null, - 'message' => 'This value is not valid', - 'db' => null, - 'table' => null, - 'field' => null, - 'valid' => array() - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - // Allow local values to be defined - for example null - return in_array($val, $cfg['valid']) ? - true : - $cfg['message']; - } - - - /** - * Check if there are any tags in the submitted value - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `db` - database connection object, `table` - database table to use and - * `column` - the column to check this value against as value, are also - * available. These options are not required and if not given are - * automatically derived from the Editor and Field instances. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function noTags ( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => 'This field may not contain HTML', - 'db' => null, - 'table' => null, - 'field' => null - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - return strip_tags( $val ) != $val ? - $cfg['message'] : - true; - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Date validation methods - */ - - /** - * Check that a valid date input is given - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param array|string $opts If given as a string, then $opts is the date - * format to check the validity of. If given as an array, then the - * date format is in the 'format' parameter, and the return error - * message in the 'message' parameter. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function dateFormat( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, 'format', array( - 'message' => "Date is not in the expected format" - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - $date = \DateTime::createFromFormat( $cfg['format'], $val) ; - - return $date && $date->format( $cfg['format'] ) == $val ? - true : - $cfg['message']; - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Database validation methods - */ - - /** - * Check that the given value is unique in the database - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `db` - database connection object, `table` - database table to use and - * `column` - the column to check this value against as value, are also - * available. These options are not required and if not given are - * automatically derived from the Editor and Field instances. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function unique( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'message' => 'This field must have a unique value', - 'db' => null, - 'table' => null, - 'field' => null - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - $editor = $host['editor']; - $field = $host['field']; - - $db = $cfg['db'] ? - $cfg['db'] : - $host['db']; - - $table = $cfg['table'] ? - $cfg['table'] : - $editor->table(); // Returns an array, but `select` will take an array - - $column = $cfg['field'] ? - $cfg['field'] : - $field->dbField(); - - $query = $db - ->query( 'select', $table ) - ->get( $column ) - ->where( $column, $val ); - - // If doing an edit, then we need to also discount the current row, - // since it is of course already validly unique - if ( $host['action'] === 'edit' ) { - $cond = $editor->pkeyToArray( $host['id'], true ); - $query->where( $cond, null, '!=' ); - } - - $res = $query->exec(); - - return $res->count() === 0 ? - true : - $cfg['message']; - } - - /** - * Check that the given value is a value that is available in a database - - * i.e. a join primary key. This will attempt to automatically use the table - * name and value column from the field's `options` method (under the - * assumption that it will typically be used with a joined field), but the - * table and field can also be specified via the options. - * - * @param string $val The value to check for validity - * @param string[] $data The full data set submitted - * @param int|array $opts Validation options. The additional options of - * `db` - database connection object, `table` - database table to use and - * `column` - the column to check this value against as value, are also - * available. These options are not required and if not given are - * automatically derived from the Editor and Field instances. - * @param array $host Host information - * @return string|true true if the value is valid, a string with an error - * message otherwise. - */ - public static function dbValues( $val, $data, $opts, $host ) { - $cfg = Validate::_extend( $opts, null, array( - 'empty' => null, - 'message' => 'This value is not valid', - 'db' => null, - 'table' => null, - 'field' => null, - 'valid' => array() - ) ); - - $common = Validate::_common( $val, $cfg ); - if ( $common !== null ) { - return $common; - } - - // Allow local values to be defined - for example null - if ( in_array($val, $cfg['valid']) ) { - return true; - } - - $editor = $host['editor']; - $field = $host['field']; - $options = $field->options(); - - $db = $cfg['db'] ? $cfg['db'] : $host['db']; - $table = $cfg['table'] ? $cfg['table'] : $options->table(); - $column = $cfg['field'] ? $cfg['field'] : $options->value(); - - if ( ! $table ) { - throw new \Exception('Table for database value check is not defined for field '.$field->name()); - } - - if ( ! $column ) { - throw new \Exception('Value column for database value check is not defined for field '.$field->name()); - } - - // Try / catch in case the submitted value can't be represented as the - // database type (e.g. an empty string as an integer) - try { - $count = $db - ->query( 'select', $table ) - ->get( $column ) - ->where( $column, $val ) - ->exec() - ->count(); - - return $count === 0 ? - $cfg['message'] : - true; - } - catch (\Exception $e) { - return $cfg['message']; - } - } -} - diff --git a/php/Editor/_notes/dwsync.xml b/php/Editor/_notes/dwsync.xml deleted file mode 100644 index 383b0a8..0000000 --- a/php/Editor/_notes/dwsync.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/php/Ext/Ext.php b/php/Ext/Ext.php deleted file mode 100644 index 256e8be..0000000 --- a/php/Ext/Ext.php +++ /dev/null @@ -1,214 +0,0 @@ -newInstanceArgs( func_get_args() ); - } - - /** - * Static method to instantiate a new instance of a class (shorthand of - * 'instantiate'). - * - * This method performs exactly the same actions as the 'instantiate' - * static method, but is simply shorter and easier to type! - * @return \DataTables\Editor|\DataTables\Editor\Field|\DataTables\Editor\Join|\DataTables\Editor\Upload class - * @static - */ - public static function inst () - { - $rc = new \ReflectionClass( get_called_class() ); - return $rc->newInstanceArgs( func_get_args() ); - } - - /** - * Common getter / setter function for DataTables classes. - * - * This getter / setter method makes building getter / setting methods - * easier, by abstracting everything to a single function call. - * @param mixed &$prop The property to set - * @param mixed $val The value to set - if given as null, then we assume - * that the function is being used as a getter. - * @param boolean $array Treat the target property as an array or not - * (default false). If used as an array, then values passed in are added - * to the $prop array. - * @return self|* Class instance if setting (allowing chaining), or - * the value requested if getting. - */ - protected function _getSet( &$prop, $val, $array=false ) - { - // Get - if ( $val === null ) { - return $prop; - } - - // Set - if ( $array ) { - // Property is an array, merge or add to array - is_array( $val ) ? - $prop = array_merge( $prop, $val ) : - $prop[] = $val; - } - else { - // Property is just a value - $prop = $val; - } - - return $this; - } - - /** - * Determine if a property is available in a data set (allowing `null` to be - * a valid value) - * @param string $name Javascript dotted object name to write to - * @param array $data Data source array to read from - * @return boolean true if present, false otherwise - * @private - */ - protected function _propExists ( $name, $data ) - { - if ( strpos($name, '.') === false ) { - return isset( $data[ $name ] ); - } - - $names = explode( '.', $name ); - $inner = $data; - - for ( $i=0 ; $i - - - \ No newline at end of file diff --git a/php/Vendor/Htmlaw.php b/php/Vendor/Htmlaw.php deleted file mode 100644 index e1cc74e..0000000 --- a/php/Vendor/Htmlaw.php +++ /dev/null @@ -1,114 +0,0 @@ -xss()` method. The Vanilla forums wrapper is used - * to provide sensible defaults and a clean interface for HtmLawed. - * - * Changes: - * - * * Add `DataTables/Vendor` namespace to this and htmLawed - this is to ensure - * that if htmLawed is included by any other aspect of the site it will not - * result in a conflict. - * * Use the OOP version of htmLawed (required a single updated to call it) to - * make the namespacing relatively easy. - * * Change the name of the Vanilla class so it don't conflict with the - * htmLawed OOP class - * * Update all `htmLawed::` references to `\DataTables\Vendor\htmLawed::` in - * the htmLawed file (to allow callbacks to operate correctly) - * * Updated Vanilla wrapper to operate on PHP 5.3 - * - * HtmLawed: - * http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/ - * Copyright: Santosh Patnaik - * License: Dual licensed with LGPL 3 and GPL 2+ - * - * Vanilla wrapper for HtmLawed: - * https://github.com/vanilla/htmlawed/ - * Author: Todd Burry - * Copyright: 2009-2014 Vanilla Forums Inc. - * License: LGPL-3.0 - */ - -namespace DataTables\Vendor; - -/** - * A class wrapper for the htmLawed library. - */ -class Htmlaw { - /// Methods /// - - public static $defaultConfig = array( - 'anti_link_spam' => array('`.`', ''), - 'comment' => 1, - 'cdata' => 3, - 'css_expression' => 1, - 'deny_attribute' => 'on*', - 'unique_ids' => 0, - 'elements' => '*-applet-form-input-textarea-iframe-script-style-embed-object', - 'keep_bad' => 1, - 'schemes' => 'classid:clsid; href: aim, feed, file, ftp, gopher, http, https, irc, mailto, news, nntp, sftp, ssh, telnet; style: nil; *:file, http, https', // clsid allowed in class - 'valid_xhtml' => 0, - 'direct_list_nest' => 1, - 'balance' => 1 - ); - - public static $defaultSpec = array( - 'object=-classid-type, -codebase', - 'embed=type(oneof=application/x-shockwave-flash)' - ); - - /** - * Filters a string of html with the htmLawed library. - * - * @param string $html The text to filter. - * @param array|null $config Config settings for the array. - * @param string|array|null $spec A specification to further limit the allowed attribute values in the html. - * @return string Returns the filtered html. - * @see http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/htmLawed_README.htm - */ - public static function filter($html, array $config = null, $spec = null) { - require_once __DIR__.'/htmLawed/htmLawed.php'; - - if ($config === null) { - $config = self::$defaultConfig; - } - - if (isset($config['spec']) && !$spec) { - $spec = $config['spec']; - } - - if ($spec === null) { - $spec = static::$defaultSpec; - } - - return htmLawed::hl($html, $config, $spec); - } - - - /** - * Filter a string of html so that it can be put into an rss feed. - * - * @param $html The html text to fitlter. - * @return string Returns the filtered html. - * @see Htmlawed::filter(). - */ - public static function filterRSS($html) { - $config = array( - 'anti_link_spam' => array('`.`', ''), - 'comment' => 1, - 'cdata' => 3, - 'css_expression' => 1, - 'deny_attribute' => 'on*,style,class', - 'elements' => '*-applet-form-input-textarea-iframe-script-style-object-embed-comment-link-listing-meta-noscript-plaintext-xmp', - 'keep_bad' => 0, - 'schemes' => 'classid:clsid; href: aim, feed, file, ftp, gopher, http, https, irc, mailto, news, nntp, sftp, ssh, telnet; style: nil; *:file, http, https', // clsid allowed in class - 'valid_xml' => 2, - 'balance' => 1 - ); - $spec = static::$defaultSpec; - - $result = static::filter($html, $config, $spec); - - return $result; - } -} diff --git a/php/Vendor/_notes/dwsync.xml b/php/Vendor/_notes/dwsync.xml deleted file mode 100644 index 6e2528c..0000000 --- a/php/Vendor/_notes/dwsync.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/php/Vendor/htmLawed/_notes/dwsync.xml b/php/Vendor/htmLawed/_notes/dwsync.xml deleted file mode 100644 index 16e715f..0000000 --- a/php/Vendor/htmLawed/_notes/dwsync.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/php/Vendor/htmLawed/htmLawed.php b/php/Vendor/htmLawed/htmLawed.php deleted file mode 100644 index 0fd57ed..0000000 --- a/php/Vendor/htmLawed/htmLawed.php +++ /dev/null @@ -1,737 +0,0 @@ -1, 'abbr'=>1, 'acronym'=>1, 'address'=>1, 'applet'=>1, 'area'=>1, 'b'=>1, 'bdo'=>1, 'big'=>1, 'blockquote'=>1, 'br'=>1, 'button'=>1, 'caption'=>1, 'center'=>1, 'cite'=>1, 'code'=>1, 'col'=>1, 'colgroup'=>1, 'dd'=>1, 'del'=>1, 'dfn'=>1, 'dir'=>1, 'div'=>1, 'dl'=>1, 'dt'=>1, 'em'=>1, 'embed'=>1, 'fieldset'=>1, 'font'=>1, 'form'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'hr'=>1, 'i'=>1, 'iframe'=>1, 'img'=>1, 'input'=>1, 'ins'=>1, 'isindex'=>1, 'kbd'=>1, 'label'=>1, 'legend'=>1, 'li'=>1, 'map'=>1, 'menu'=>1, 'noscript'=>1, 'object'=>1, 'ol'=>1, 'optgroup'=>1, 'option'=>1, 'p'=>1, 'param'=>1, 'pre'=>1, 'q'=>1, 'rb'=>1, 'rbc'=>1, 'rp'=>1, 'rt'=>1, 'rtc'=>1, 'ruby'=>1, 's'=>1, 'samp'=>1, 'script'=>1, 'select'=>1, 'small'=>1, 'span'=>1, 'strike'=>1, 'strong'=>1, 'sub'=>1, 'sup'=>1, 'table'=>1, 'tbody'=>1, 'td'=>1, 'textarea'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1, 'tt'=>1, 'u'=>1, 'ul'=>1, 'var'=>1); // 86/deprecated+embed+ruby -if(!empty($C['safe'])){ - unset($e['applet'], $e['embed'], $e['iframe'], $e['object'], $e['script']); -} -$x = !empty($C['elements']) ? str_replace(array("\n", "\r", "\t", ' '), '', $C['elements']) : '*'; -if($x == '-*'){$e = array();} -elseif(strpos($x, '*') === false){$e = array_flip(explode(',', $x));} -else{ - if(isset($x[1])){ - preg_match_all('`(?:^|-|\+)[^\-+]+?(?=-|\+|$)`', $x, $m, PREG_SET_ORDER); - for($i=count($m); --$i>=0;){$m[$i] = $m[$i][0];} - foreach($m as $v){ - if($v[0] == '+'){$e[substr($v, 1)] = 1;} - if($v[0] == '-' && isset($e[($v = substr($v, 1))]) && !in_array('+'. $v, $m)){unset($e[$v]);} - } - } -} -$C['elements'] =& $e; -// config attrs -$x = !empty($C['deny_attribute']) ? str_replace(array("\n", "\r", "\t", ' '), '', $C['deny_attribute']) : ''; -$x = array_flip((isset($x[0]) && $x[0] == '*') ? explode('-', $x) : explode(',', $x. (!empty($C['safe']) ? ',on*' : ''))); -if(isset($x['on*'])){ - unset($x['on*']); - $x += array('onblur'=>1, 'onchange'=>1, 'onclick'=>1, 'ondblclick'=>1, 'onfocus'=>1, 'onkeydown'=>1, 'onkeypress'=>1, 'onkeyup'=>1, 'onmousedown'=>1, 'onmousemove'=>1, 'onmouseout'=>1, 'onmouseover'=>1, 'onmouseup'=>1, 'onreset'=>1, 'onselect'=>1, 'onsubmit'=>1); -} -$C['deny_attribute'] = $x; -// config URL -$x = (isset($C['schemes'][2]) && strpos($C['schemes'], ':')) ? strtolower($C['schemes']) : 'href: aim, feed, file, ftp, gopher, http, https, irc, mailto, news, nntp, sftp, ssh, telnet; *:file, http, https'; -$C['schemes'] = array(); -foreach(explode(';', str_replace(array(' ', "\t", "\r", "\n"), '', $x)) as $v){ - $x = $x2 = null; list($x, $x2) = explode(':', $v, 2); - if($x2){$C['schemes'][$x] = array_flip(explode(',', $x2));} -} -if(!isset($C['schemes']['*'])){$C['schemes']['*'] = array('file'=>1, 'http'=>1, 'https'=>1,);} -if(!empty($C['safe']) && empty($C['schemes']['style'])){$C['schemes']['style'] = array('!'=>1);} -$C['abs_url'] = isset($C['abs_url']) ? $C['abs_url'] : 0; -if(!isset($C['base_url']) or !preg_match('`^[a-zA-Z\d.+\-]+://[^/]+/(.+?/)?$`', $C['base_url'])){ - $C['base_url'] = $C['abs_url'] = 0; -} -// config rest -$C['and_mark'] = empty($C['and_mark']) ? 0 : 1; -$C['anti_link_spam'] = (isset($C['anti_link_spam']) && is_array($C['anti_link_spam']) && count($C['anti_link_spam']) == 2 && (empty($C['anti_link_spam'][0]) or \DataTables\Vendor\htmLawed::hl_regex($C['anti_link_spam'][0])) && (empty($C['anti_link_spam'][1]) or \DataTables\Vendor\htmLawed::hl_regex($C['anti_link_spam'][1]))) ? $C['anti_link_spam'] : 0; -$C['anti_mail_spam'] = isset($C['anti_mail_spam']) ? $C['anti_mail_spam'] : 0; -$C['balance'] = isset($C['balance']) ? (bool)$C['balance'] : 1; -$C['cdata'] = isset($C['cdata']) ? $C['cdata'] : (empty($C['safe']) ? 3 : 0); -$C['clean_ms_char'] = empty($C['clean_ms_char']) ? 0 : $C['clean_ms_char']; -$C['comment'] = isset($C['comment']) ? $C['comment'] : (empty($C['safe']) ? 3 : 0); -$C['css_expression'] = empty($C['css_expression']) ? 0 : 1; -$C['direct_list_nest'] = empty($C['direct_list_nest']) ? 0 : 1; -$C['hexdec_entity'] = isset($C['hexdec_entity']) ? $C['hexdec_entity'] : 1; -$C['hook'] = (!empty($C['hook']) && function_exists($C['hook'])) ? $C['hook'] : 0; -$C['hook_tag'] = (!empty($C['hook_tag']) && function_exists($C['hook_tag'])) ? $C['hook_tag'] : 0; -$C['keep_bad'] = isset($C['keep_bad']) ? $C['keep_bad'] : 6; -$C['lc_std_val'] = isset($C['lc_std_val']) ? (bool)$C['lc_std_val'] : 1; -$C['make_tag_strict'] = isset($C['make_tag_strict']) ? $C['make_tag_strict'] : 1; -$C['named_entity'] = isset($C['named_entity']) ? (bool)$C['named_entity'] : 1; -$C['no_deprecated_attr'] = isset($C['no_deprecated_attr']) ? $C['no_deprecated_attr'] : 1; -$C['parent'] = isset($C['parent'][0]) ? strtolower($C['parent']) : 'body'; -$C['show_setting'] = !empty($C['show_setting']) ? $C['show_setting'] : 0; -$C['style_pass'] = empty($C['style_pass']) ? 0 : 1; -$C['tidy'] = empty($C['tidy']) ? 0 : $C['tidy']; -$C['unique_ids'] = isset($C['unique_ids']) ? $C['unique_ids'] : 1; -$C['xml:lang'] = isset($C['xml:lang']) ? $C['xml:lang'] : 0; - -if(isset($GLOBALS['C'])){$reC = $GLOBALS['C'];} -$GLOBALS['C'] = $C; -$S = is_array($S) ? $S : \DataTables\Vendor\htmLawed::hl_spec($S); -if(isset($GLOBALS['S'])){$reS = $GLOBALS['S'];} -$GLOBALS['S'] = $S; - -$t = preg_replace('`[\x00-\x08\x0b-\x0c\x0e-\x1f]`', '', $t); -if($C['clean_ms_char']){ - $x = array("\x7f"=>'', "\x80"=>'€', "\x81"=>'', "\x83"=>'ƒ', "\x85"=>'…', "\x86"=>'†', "\x87"=>'‡', "\x88"=>'ˆ', "\x89"=>'‰', "\x8a"=>'Š', "\x8b"=>'‹', "\x8c"=>'Œ', "\x8d"=>'', "\x8e"=>'Ž', "\x8f"=>'', "\x90"=>'', "\x95"=>'•', "\x96"=>'–', "\x97"=>'—', "\x98"=>'˜', "\x99"=>'™', "\x9a"=>'š', "\x9b"=>'›', "\x9c"=>'œ', "\x9d"=>'', "\x9e"=>'ž', "\x9f"=>'Ÿ'); - $x = $x + ($C['clean_ms_char'] == 1 ? array("\x82"=>'‚', "\x84"=>'„', "\x91"=>'‘', "\x92"=>'’', "\x93"=>'“', "\x94"=>'”') : array("\x82"=>'\'', "\x84"=>'"', "\x91"=>'\'', "\x92"=>'\'', "\x93"=>'"', "\x94"=>'"')); - $t = strtr($t, $x); -} -if($C['cdata'] or $C['comment']){$t = preg_replace_callback('``sm', '\DataTables\Vendor\htmLawed::hl_cmtcd', $t);} -$t = preg_replace_callback('`&([A-Za-z][A-Za-z0-9]{1,30}|#(?:[0-9]{1,8}|[Xx][0-9A-Fa-f]{1,7}));`', '\DataTables\Vendor\htmLawed::hl_ent', str_replace('&', '&', $t)); -if($C['unique_ids'] && !isset($GLOBALS['hl_Ids'])){$GLOBALS['hl_Ids'] = array();} -if($C['hook']){$t = $C['hook']($t, $C, $S);} -if($C['show_setting'] && preg_match('`^[a-z][a-z0-9_]*$`i', $C['show_setting'])){ - $GLOBALS[$C['show_setting']] = array('config'=>$C, 'spec'=>$S, 'time'=>microtime()); -} -// main -$t = preg_replace_callback('`<(?:(?:\s|$)|(?:[^>]*(?:>|$)))|>`m', '\DataTables\Vendor\htmLawed::hl_tag', $t); -$t = $C['balance'] ? \DataTables\Vendor\htmLawed::hl_bal($t, $C['keep_bad'], $C['parent']) : $t; -$t = (($C['cdata'] or $C['comment']) && strpos($t, "\x01") !== false) ? str_replace(array("\x01", "\x02", "\x03", "\x04", "\x05"), array('', '', '&', '<', '>'), $t) : $t; -$t = $C['tidy'] ? \DataTables\Vendor\htmLawed::hl_tidy($t, $C['tidy'], $C['parent']) : $t; -unset($C, $e); -if(isset($reC)){$GLOBALS['C'] = $reC;} -if(isset($reS)){$GLOBALS['S'] = $reS;} -return $t; -// eof -} - -public static function hl_attrval($a, $t, $p){ -// check attr val against $S -static $ma = array('accesskey', 'class', 'rel'); -$s = in_array($a, $ma) ? ' ' : ''; -$r = array(); -$t = !empty($s) ? explode($s, $t) : array($t); -foreach($t as $tk=>$tv){ - $o = 1; $l = strlen($tv); - foreach($p as $k=>$v){ - switch($k){ - case 'maxlen': if($l > $v){$o = 0;} - break; case 'minlen': if($l < $v){$o = 0;} - break; case 'maxval': if((float)($tv) > $v){$o = 0;} - break; case 'minval': if((float)($tv) < $v){$o = 0;} - break; case 'match': if(!preg_match($v, $tv)){$o = 0;} - break; case 'nomatch': if(preg_match($v, $tv)){$o = 0;} - break; case 'oneof': - $m = 0; - foreach(explode('|', $v) as $n){if($tv == $n){$m = 1; break;}} - $o = $m; - break; case 'noneof': - $m = 1; - foreach(explode('|', $v) as $n){if($tv == $n){$m = 0; break;}} - $o = $m; - break; default: - break; - } - if(!$o){break;} - } - if($o){$r[] = $tv;} -} -$r = implode($s, $r); -return (isset($r[0]) ? $r : (isset($p['default']) ? $p['default'] : 0)); -// eof -} - -public static function hl_bal($t, $do=1, $in='div'){ -// balance tags -// by content -$cB = array('blockquote'=>1, 'form'=>1, 'map'=>1, 'noscript'=>1); // Block -$cE = array('area'=>1, 'br'=>1, 'col'=>1, 'embed'=>1, 'hr'=>1, 'img'=>1, 'input'=>1, 'isindex'=>1, 'param'=>1); // Empty -$cF = array('button'=>1, 'del'=>1, 'div'=>1, 'dd'=>1, 'fieldset'=>1, 'iframe'=>1, 'ins'=>1, 'li'=>1, 'noscript'=>1, 'object'=>1, 'td'=>1, 'th'=>1); // Flow; later context-wise dynamic move of ins & del to $cI -$cI = array('a'=>1, 'abbr'=>1, 'acronym'=>1, 'address'=>1, 'b'=>1, 'bdo'=>1, 'big'=>1, 'caption'=>1, 'cite'=>1, 'code'=>1, 'dfn'=>1, 'dt'=>1, 'em'=>1, 'font'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'i'=>1, 'kbd'=>1, 'label'=>1, 'legend'=>1, 'p'=>1, 'pre'=>1, 'q'=>1, 'rb'=>1, 'rt'=>1, 's'=>1, 'samp'=>1, 'small'=>1, 'span'=>1, 'strike'=>1, 'strong'=>1, 'sub'=>1, 'sup'=>1, 'tt'=>1, 'u'=>1, 'var'=>1); // Inline -$cN = array('a'=>array('a'=>1), 'button'=>array('a'=>1, 'button'=>1, 'fieldset'=>1, 'form'=>1, 'iframe'=>1, 'input'=>1, 'label'=>1, 'select'=>1, 'textarea'=>1), 'fieldset'=>array('fieldset'=>1), 'form'=>array('form'=>1), 'label'=>array('label'=>1), 'noscript'=>array('script'=>1), 'pre'=>array('big'=>1, 'font'=>1, 'img'=>1, 'object'=>1, 'script'=>1, 'small'=>1, 'sub'=>1, 'sup'=>1), 'rb'=>array('ruby'=>1), 'rt'=>array('ruby'=>1)); // Illegal -$cN2 = array_keys($cN); -$cR = array('blockquote'=>1, 'dir'=>1, 'dl'=>1, 'form'=>1, 'map'=>1, 'menu'=>1, 'noscript'=>1, 'ol'=>1, 'optgroup'=>1, 'rbc'=>1, 'rtc'=>1, 'ruby'=>1, 'select'=>1, 'table'=>1, 'tbody'=>1, 'tfoot'=>1, 'thead'=>1, 'tr'=>1, 'ul'=>1); -$cS = array('colgroup'=>array('col'=>1), 'dir'=>array('li'=>1), 'dl'=>array('dd'=>1, 'dt'=>1), 'menu'=>array('li'=>1), 'ol'=>array('li'=>1), 'optgroup'=>array('option'=>1), 'option'=>array('#pcdata'=>1), 'rbc'=>array('rb'=>1), 'rp'=>array('#pcdata'=>1), 'rtc'=>array('rt'=>1), 'ruby'=>array('rb'=>1, 'rbc'=>1, 'rp'=>1, 'rt'=>1, 'rtc'=>1), 'select'=>array('optgroup'=>1, 'option'=>1), 'script'=>array('#pcdata'=>1), 'table'=>array('caption'=>1, 'col'=>1, 'colgroup'=>1, 'tfoot'=>1, 'tbody'=>1, 'tr'=>1, 'thead'=>1), 'tbody'=>array('tr'=>1), 'tfoot'=>array('tr'=>1), 'textarea'=>array('#pcdata'=>1), 'thead'=>array('tr'=>1), 'tr'=>array('td'=>1, 'th'=>1), 'ul'=>array('li'=>1)); // Specific - immediate parent-child -if($GLOBALS['C']['direct_list_nest']){$cS['ol'] = $cS['ul'] += array('ol'=>1, 'ul'=>1);} -$cO = array('address'=>array('p'=>1), 'applet'=>array('param'=>1), 'blockquote'=>array('script'=>1), 'fieldset'=>array('legend'=>1, '#pcdata'=>1), 'form'=>array('script'=>1), 'map'=>array('area'=>1), 'object'=>array('param'=>1, 'embed'=>1)); // Other -$cT = array('colgroup'=>1, 'dd'=>1, 'dt'=>1, 'li'=>1, 'option'=>1, 'p'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1); // Omitable closing -// block/inline type; ins & del both type; #pcdata: text -$eB = array('address'=>1, 'blockquote'=>1, 'center'=>1, 'del'=>1, 'dir'=>1, 'dl'=>1, 'div'=>1, 'fieldset'=>1, 'form'=>1, 'ins'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'hr'=>1, 'isindex'=>1, 'menu'=>1, 'noscript'=>1, 'ol'=>1, 'p'=>1, 'pre'=>1, 'table'=>1, 'ul'=>1); -$eI = array('#pcdata'=>1, 'a'=>1, 'abbr'=>1, 'acronym'=>1, 'applet'=>1, 'b'=>1, 'bdo'=>1, 'big'=>1, 'br'=>1, 'button'=>1, 'cite'=>1, 'code'=>1, 'del'=>1, 'dfn'=>1, 'em'=>1, 'embed'=>1, 'font'=>1, 'i'=>1, 'iframe'=>1, 'img'=>1, 'input'=>1, 'ins'=>1, 'kbd'=>1, 'label'=>1, 'map'=>1, 'object'=>1, 'q'=>1, 'ruby'=>1, 's'=>1, 'samp'=>1, 'select'=>1, 'script'=>1, 'small'=>1, 'span'=>1, 'strike'=>1, 'strong'=>1, 'sub'=>1, 'sup'=>1, 'textarea'=>1, 'tt'=>1, 'u'=>1, 'var'=>1); -$eN = array('a'=>1, 'big'=>1, 'button'=>1, 'fieldset'=>1, 'font'=>1, 'form'=>1, 'iframe'=>1, 'img'=>1, 'input'=>1, 'label'=>1, 'object'=>1, 'ruby'=>1, 'script'=>1, 'select'=>1, 'small'=>1, 'sub'=>1, 'sup'=>1, 'textarea'=>1); // Exclude from specific ele; $cN values -$eO = array('area'=>1, 'caption'=>1, 'col'=>1, 'colgroup'=>1, 'dd'=>1, 'dt'=>1, 'legend'=>1, 'li'=>1, 'optgroup'=>1, 'option'=>1, 'param'=>1, 'rb'=>1, 'rbc'=>1, 'rp'=>1, 'rt'=>1, 'rtc'=>1, 'script'=>1, 'tbody'=>1, 'td'=>1, 'tfoot'=>1, 'thead'=>1, 'th'=>1, 'tr'=>1); // Missing in $eB & $eI -$eF = $eB + $eI; - -// $in sets allowed child -$in = ((isset($eF[$in]) && $in != '#pcdata') or isset($eO[$in])) ? $in : 'div'; -if(isset($cE[$in])){ - return (!$do ? '' : str_replace(array('<', '>'), array('<', '>'), $t)); -} -if(isset($cS[$in])){$inOk = $cS[$in];} -elseif(isset($cI[$in])){$inOk = $eI; $cI['del'] = 1; $cI['ins'] = 1;} -elseif(isset($cF[$in])){$inOk = $eF; unset($cI['del'], $cI['ins']);} -elseif(isset($cB[$in])){$inOk = $eB; unset($cI['del'], $cI['ins']);} -if(isset($cO[$in])){$inOk = $inOk + $cO[$in];} -if(isset($cN[$in])){$inOk = array_diff_assoc($inOk, $cN[$in]);} - -$t = explode('<', $t); -$ok = $q = array(); // $q seq list of open non-empty ele -ob_start(); - -for($i=-1, $ci=count($t); ++$i<$ci;){ - // allowed $ok in parent $p - if($ql = count($q)){ - $p = array_pop($q); - $q[] = $p; - if(isset($cS[$p])){$ok = $cS[$p];} - elseif(isset($cI[$p])){$ok = $eI; $cI['del'] = 1; $cI['ins'] = 1;} - elseif(isset($cF[$p])){$ok = $eF; unset($cI['del'], $cI['ins']);} - elseif(isset($cB[$p])){$ok = $eB; unset($cI['del'], $cI['ins']);} - if(isset($cO[$p])){$ok = $ok + $cO[$p];} - if(isset($cN[$p])){$ok = array_diff_assoc($ok, $cN[$p]);} - }else{$ok = $inOk; unset($cI['del'], $cI['ins']);} - // bad tags, & ele content - if(isset($e) && ($do == 1 or (isset($ok['#pcdata']) && ($do == 3 or $do == 5)))){ - echo '<', $s, $e, $a, '>'; - } - if(isset($x[0])){ - if(strlen(trim($x)) && (($ql && isset($cB[$p])) or (isset($cB[$in]) && !$ql))){ - echo '
    ', $x, '
    '; - } - elseif($do < 3 or isset($ok['#pcdata'])){echo $x;} - elseif(strpos($x, "\x02\x04")){ - foreach(preg_split('`(\x01\x02[^\x01\x02]+\x02\x01)`', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $v){ - echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); - } - }elseif($do > 4){echo preg_replace('`\S`', '', $x);} - } - // get markup - if(!preg_match('`^(/?)([a-z1-6]+)([^>]*)>(.*)`sm', $t[$i], $r)){$x = $t[$i]; continue;} - $s = null; $e = null; $a = null; $x = null; list($all, $s, $e, $a, $x) = $r; - // close tag - if($s){ - if(isset($cE[$e]) or !in_array($e, $q)){continue;} // Empty/unopen - if($p == $e){array_pop($q); echo ''; unset($e); continue;} // Last open - $add = ''; // Nesting - close open tags that need to be - for($j=-1, $cj=count($q); ++$j<$cj;){ - if(($d = array_pop($q)) == $e){break;} - else{$add .= "";} - } - echo $add, ''; unset($e); continue; - } - // open tag - // $cB ele needs $eB ele as child - if(isset($cB[$e]) && strlen(trim($x))){ - $t[$i] = "{$e}{$a}>"; - array_splice($t, $i+1, 0, 'div>'. $x); unset($e, $x); ++$ci; --$i; continue; - } - if((($ql && isset($cB[$p])) or (isset($cB[$in]) && !$ql)) && !isset($eB[$e]) && !isset($ok[$e])){ - array_splice($t, $i, 0, 'div>'); unset($e, $x); ++$ci; --$i; continue; - } - // if no open ele, $in = parent; mostly immediate parent-child relation should hold - if(!$ql or !isset($eN[$e]) or !array_intersect($q, $cN2)){ - if(!isset($ok[$e])){ - if($ql && isset($cT[$p])){echo ''; unset($e, $x); --$i;} - continue; - } - if(!isset($cE[$e])){$q[] = $e;} - echo '<', $e, $a, '>'; unset($e); continue; - } - // specific parent-child - if(isset($cS[$p][$e])){ - if(!isset($cE[$e])){$q[] = $e;} - echo '<', $e, $a, '>'; unset($e); continue; - } - // nesting - $add = ''; - $q2 = array(); - for($k=-1, $kc=count($q); ++$k<$kc;){ - $d = $q[$k]; - $ok2 = array(); - if(isset($cS[$d])){$q2[] = $d; continue;} - $ok2 = isset($cI[$d]) ? $eI : $eF; - if(isset($cO[$d])){$ok2 = $ok2 + $cO[$d];} - if(isset($cN[$d])){$ok2 = array_diff_assoc($ok2, $cN[$d]);} - if(!isset($ok2[$e])){ - if(!$k && !isset($inOk[$e])){continue 2;} - $add = ""; - for(;++$k<$kc;){$add = "{$add}";} - break; - } - else{$q2[] = $d;} - } - $q = $q2; - if(!isset($cE[$e])){$q[] = $e;} - echo $add, '<', $e, $a, '>'; unset($e); continue; -} - -// end -if($ql = count($q)){ - $p = array_pop($q); - $q[] = $p; - if(isset($cS[$p])){$ok = $cS[$p];} - elseif(isset($cI[$p])){$ok = $eI; $cI['del'] = 1; $cI['ins'] = 1;} - elseif(isset($cF[$p])){$ok = $eF; unset($cI['del'], $cI['ins']);} - elseif(isset($cB[$p])){$ok = $eB; unset($cI['del'], $cI['ins']);} - if(isset($cO[$p])){$ok = $ok + $cO[$p];} - if(isset($cN[$p])){$ok = array_diff_assoc($ok, $cN[$p]);} -}else{$ok = $inOk; unset($cI['del'], $cI['ins']);} -if(isset($e) && ($do == 1 or (isset($ok['#pcdata']) && ($do == 3 or $do == 5)))){ - echo '<', $s, $e, $a, '>'; -} -if(isset($x[0])){ - if(strlen(trim($x)) && (($ql && isset($cB[$p])) or (isset($cB[$in]) && !$ql))){ - echo '
    ', $x, '
    '; - } - elseif($do < 3 or isset($ok['#pcdata'])){echo $x;} - elseif(strpos($x, "\x02\x04")){ - foreach(preg_split('`(\x01\x02[^\x01\x02]+\x02\x01)`', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $v){ - echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); - } - }elseif($do > 4){echo preg_replace('`\S`', '', $x);} -} -while(!empty($q) && ($e = array_pop($q))){echo '';} -$o = ob_get_contents(); -ob_end_clean(); -return $o; -// eof -} - -public static function hl_cmtcd($t){ -// comment/CDATA sec handler -$t = $t[0]; -global $C; -if(!($v = $C[$n = $t[3] == '-' ? 'comment' : 'cdata'])){return $t;} -if($v == 1){return '';} -if($n == 'comment'){ - if(substr(($t = preg_replace('`--+`', '-', substr($t, 4, -3))), -1) != ' '){$t .= ' ';} -} -else{$t = substr($t, 1, -1);} -$t = $v == 2 ? str_replace(array('&', '<', '>'), array('&', '<', '>'), $t) : $t; -return str_replace(array('&', '<', '>'), array("\x03", "\x04", "\x05"), ($n == 'comment' ? "\x01\x02\x04!--$t--\x05\x02\x01" : "\x01\x01\x04$t\x05\x01\x01")); -// eof -} - -public static function hl_ent($t){ -// entitity handler -global $C; -$t = $t[1]; -static $U = array('quot'=>1,'amp'=>1,'lt'=>1,'gt'=>1); -static $N = array('fnof'=>'402', 'Alpha'=>'913', 'Beta'=>'914', 'Gamma'=>'915', 'Delta'=>'916', 'Epsilon'=>'917', 'Zeta'=>'918', 'Eta'=>'919', 'Theta'=>'920', 'Iota'=>'921', 'Kappa'=>'922', 'Lambda'=>'923', 'Mu'=>'924', 'Nu'=>'925', 'Xi'=>'926', 'Omicron'=>'927', 'Pi'=>'928', 'Rho'=>'929', 'Sigma'=>'931', 'Tau'=>'932', 'Upsilon'=>'933', 'Phi'=>'934', 'Chi'=>'935', 'Psi'=>'936', 'Omega'=>'937', 'alpha'=>'945', 'beta'=>'946', 'gamma'=>'947', 'delta'=>'948', 'epsilon'=>'949', 'zeta'=>'950', 'eta'=>'951', 'theta'=>'952', 'iota'=>'953', 'kappa'=>'954', 'lambda'=>'955', 'mu'=>'956', 'nu'=>'957', 'xi'=>'958', 'omicron'=>'959', 'pi'=>'960', 'rho'=>'961', 'sigmaf'=>'962', 'sigma'=>'963', 'tau'=>'964', 'upsilon'=>'965', 'phi'=>'966', 'chi'=>'967', 'psi'=>'968', 'omega'=>'969', 'thetasym'=>'977', 'upsih'=>'978', 'piv'=>'982', 'bull'=>'8226', 'hellip'=>'8230', 'prime'=>'8242', 'Prime'=>'8243', 'oline'=>'8254', 'frasl'=>'8260', 'weierp'=>'8472', 'image'=>'8465', 'real'=>'8476', 'trade'=>'8482', 'alefsym'=>'8501', 'larr'=>'8592', 'uarr'=>'8593', 'rarr'=>'8594', 'darr'=>'8595', 'harr'=>'8596', 'crarr'=>'8629', 'lArr'=>'8656', 'uArr'=>'8657', 'rArr'=>'8658', 'dArr'=>'8659', 'hArr'=>'8660', 'forall'=>'8704', 'part'=>'8706', 'exist'=>'8707', 'empty'=>'8709', 'nabla'=>'8711', 'isin'=>'8712', 'notin'=>'8713', 'ni'=>'8715', 'prod'=>'8719', 'sum'=>'8721', 'minus'=>'8722', 'lowast'=>'8727', 'radic'=>'8730', 'prop'=>'8733', 'infin'=>'8734', 'ang'=>'8736', 'and'=>'8743', 'or'=>'8744', 'cap'=>'8745', 'cup'=>'8746', 'int'=>'8747', 'there4'=>'8756', 'sim'=>'8764', 'cong'=>'8773', 'asymp'=>'8776', 'ne'=>'8800', 'equiv'=>'8801', 'le'=>'8804', 'ge'=>'8805', 'sub'=>'8834', 'sup'=>'8835', 'nsub'=>'8836', 'sube'=>'8838', 'supe'=>'8839', 'oplus'=>'8853', 'otimes'=>'8855', 'perp'=>'8869', 'sdot'=>'8901', 'lceil'=>'8968', 'rceil'=>'8969', 'lfloor'=>'8970', 'rfloor'=>'8971', 'lang'=>'9001', 'rang'=>'9002', 'loz'=>'9674', 'spades'=>'9824', 'clubs'=>'9827', 'hearts'=>'9829', 'diams'=>'9830', 'apos'=>'39', 'OElig'=>'338', 'oelig'=>'339', 'Scaron'=>'352', 'scaron'=>'353', 'Yuml'=>'376', 'circ'=>'710', 'tilde'=>'732', 'ensp'=>'8194', 'emsp'=>'8195', 'thinsp'=>'8201', 'zwnj'=>'8204', 'zwj'=>'8205', 'lrm'=>'8206', 'rlm'=>'8207', 'ndash'=>'8211', 'mdash'=>'8212', 'lsquo'=>'8216', 'rsquo'=>'8217', 'sbquo'=>'8218', 'ldquo'=>'8220', 'rdquo'=>'8221', 'bdquo'=>'8222', 'dagger'=>'8224', 'Dagger'=>'8225', 'permil'=>'8240', 'lsaquo'=>'8249', 'rsaquo'=>'8250', 'euro'=>'8364', 'nbsp'=>'160', 'iexcl'=>'161', 'cent'=>'162', 'pound'=>'163', 'curren'=>'164', 'yen'=>'165', 'brvbar'=>'166', 'sect'=>'167', 'uml'=>'168', 'copy'=>'169', 'ordf'=>'170', 'laquo'=>'171', 'not'=>'172', 'shy'=>'173', 'reg'=>'174', 'macr'=>'175', 'deg'=>'176', 'plusmn'=>'177', 'sup2'=>'178', 'sup3'=>'179', 'acute'=>'180', 'micro'=>'181', 'para'=>'182', 'middot'=>'183', 'cedil'=>'184', 'sup1'=>'185', 'ordm'=>'186', 'raquo'=>'187', 'frac14'=>'188', 'frac12'=>'189', 'frac34'=>'190', 'iquest'=>'191', 'Agrave'=>'192', 'Aacute'=>'193', 'Acirc'=>'194', 'Atilde'=>'195', 'Auml'=>'196', 'Aring'=>'197', 'AElig'=>'198', 'Ccedil'=>'199', 'Egrave'=>'200', 'Eacute'=>'201', 'Ecirc'=>'202', 'Euml'=>'203', 'Igrave'=>'204', 'Iacute'=>'205', 'Icirc'=>'206', 'Iuml'=>'207', 'ETH'=>'208', 'Ntilde'=>'209', 'Ograve'=>'210', 'Oacute'=>'211', 'Ocirc'=>'212', 'Otilde'=>'213', 'Ouml'=>'214', 'times'=>'215', 'Oslash'=>'216', 'Ugrave'=>'217', 'Uacute'=>'218', 'Ucirc'=>'219', 'Uuml'=>'220', 'Yacute'=>'221', 'THORN'=>'222', 'szlig'=>'223', 'agrave'=>'224', 'aacute'=>'225', 'acirc'=>'226', 'atilde'=>'227', 'auml'=>'228', 'aring'=>'229', 'aelig'=>'230', 'ccedil'=>'231', 'egrave'=>'232', 'eacute'=>'233', 'ecirc'=>'234', 'euml'=>'235', 'igrave'=>'236', 'iacute'=>'237', 'icirc'=>'238', 'iuml'=>'239', 'eth'=>'240', 'ntilde'=>'241', 'ograve'=>'242', 'oacute'=>'243', 'ocirc'=>'244', 'otilde'=>'245', 'ouml'=>'246', 'divide'=>'247', 'oslash'=>'248', 'ugrave'=>'249', 'uacute'=>'250', 'ucirc'=>'251', 'uuml'=>'252', 'yacute'=>'253', 'thorn'=>'254', 'yuml'=>'255'); -if($t[0] != '#'){ - return ($C['and_mark'] ? "\x06" : '&'). (isset($U[$t]) ? $t : (isset($N[$t]) ? (!$C['named_entity'] ? '#'. ($C['hexdec_entity'] > 1 ? 'x'. dechex($N[$t]) : $N[$t]) : $t) : 'amp;'. $t)). ';'; -} -if(($n = ctype_digit($t = substr($t, 1)) ? intval($t) : hexdec(substr($t, 1))) < 9 or ($n > 13 && $n < 32) or $n == 11 or $n == 12 or ($n > 126 && $n < 160 && $n != 133) or ($n > 55295 && ($n < 57344 or ($n > 64975 && $n < 64992) or $n == 65534 or $n == 65535 or $n > 1114111))){ - return ($C['and_mark'] ? "\x06" : '&'). "amp;#{$t};"; -} -return ($C['and_mark'] ? "\x06" : '&'). '#'. (((ctype_digit($t) && $C['hexdec_entity'] < 2) or !$C['hexdec_entity']) ? $n : 'x'. dechex($n)). ';'; -// eof -} - -public static function hl_prot($p, $c=null){ -// check URL scheme -global $C; -$b = $a = ''; -if($c == null){$c = 'style'; $b = $p[1]; $a = $p[3]; $p = trim($p[2]);} -$c = isset($C['schemes'][$c]) ? $C['schemes'][$c] : $C['schemes']['*']; -static $d = 'denied:'; -if(isset($c['!']) && substr($p, 0, 7) != $d){$p = "$d$p";} -if(isset($c['*']) or !strcspn($p, '#?;') or (substr($p, 0, 7) == $d)){return "{$b}{$p}{$a}";} // All ok, frag, query, param -if(preg_match('`^([^:?[@!$()*,=/\'\]]+?)(:|&#(58|x3a);|%3a|\\\\0{0,4}3a).`i', $p, $m) && !isset($c[strtolower($m[1])])){ // Denied prot - return "{$b}{$d}{$p}{$a}"; -} -if($C['abs_url']){ - if($C['abs_url'] == -1 && strpos($p, $C['base_url']) === 0){ // Make url rel - $p = substr($p, strlen($C['base_url'])); - }elseif(empty($m[1])){ // Make URL abs - if(substr($p, 0, 2) == '//'){$p = substr($C['base_url'], 0, strpos($C['base_url'], ':')+1). $p;} - elseif($p[0] == '/'){$p = preg_replace('`(^.+?://[^/]+)(.*)`', '$1', $C['base_url']). $p;} - elseif(strcspn($p, './')){$p = $C['base_url']. $p;} - else{ - preg_match('`^([a-zA-Z\d\-+.]+://[^/]+)(.*)`', $C['base_url'], $m); - $p = preg_replace('`(?<=/)\./`', '', $m[2]. $p); - while(preg_match('`(?<=/)([^/]{3,}|[^/.]+?|\.[^/.]|[^/.]\.)/\.\./`', $p)){ - $p = preg_replace('`(?<=/)([^/]{3,}|[^/.]+?|\.[^/.]|[^/.]\.)/\.\./`', '', $p); - } - $p = $m[1]. $p; - } - } -} -return "{$b}{$p}{$a}"; -// eof -} - -public static function hl_regex($p){ -// ?regex -if(empty($p)){return 0;} -if($t = ini_get('track_errors')){$o = isset($php_errormsg) ? $php_errormsg : null;} -else{ini_set('track_errors', 1);} -unset($php_errormsg); -if(($d = ini_get('display_errors'))){ini_set('display_errors', 0);} -preg_match($p, ''); -if($d){ini_set('display_errors', 1);} -$r = isset($php_errormsg) ? 0 : 1; -if($t){$php_errormsg = isset($o) ? $o : null;} -else{ini_set('track_errors', 0);} -return $r; -// eof -} - -public static function hl_spec($t){ -// final $spec -$s = array(); -$t = str_replace(array("\t", "\r", "\n", ' '), '', preg_replace_callback('/"(?>(`.|[^"])*)"/sm', create_function('$m', 'return substr(str_replace(array(";", "|", "~", " ", ",", "/", "(", ")", \'`"\'), array("\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\""), $m[0]), 1, -1);'), trim($t))); -for($i = count(($t = explode(';', $t))); --$i>=0;){ - $w = $t[$i]; - if(empty($w) or ($e = strpos($w, '=')) === false or !strlen(($a = substr($w, $e+1)))){continue;} - $y = $n = array(); - foreach(explode(',', $a) as $v){ - if(!preg_match('`^([a-z:\-\*]+)(?:\((.*?)\))?`i', $v, $m)){continue;} - if(($x = strtolower($m[1])) == '-*'){$n['*'] = 1; continue;} - if($x[0] == '-'){$n[substr($x, 1)] = 1; continue;} - if(!isset($m[2])){$y[$x] = 1; continue;} - foreach(explode('/', $m[2]) as $m){ - if(empty($m) or ($p = strpos($m, '=')) == 0 or $p < 5){$y[$x] = 1; continue;} - $y[$x][strtolower(substr($m, 0, $p))] = str_replace(array("\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08"), array(";", "|", "~", " ", ",", "/", "(", ")"), substr($m, $p+1)); - } - if(isset($y[$x]['match']) && !\DataTables\Vendor\htmLawed::hl_regex($y[$x]['match'])){unset($y[$x]['match']);} - if(isset($y[$x]['nomatch']) && !\DataTables\Vendor\htmLawed::hl_regex($y[$x]['nomatch'])){unset($y[$x]['nomatch']);} - } - if(!count($y) && !count($n)){continue;} - foreach(explode(',', substr($w, 0, $e)) as $v){ - if(!strlen(($v = strtolower($v)))){continue;} - if(count($y)){$s[$v] = $y;} - if(count($n)){$s[$v]['n'] = $n;} - } -} -return $s; -// eof -} - -public static function hl_tag($t){ -// tag/attribute handler -global $C; -$t = $t[0]; -// invalid < > -if($t == '< '){return '< ';} -if($t == '>'){return '>';} -if(!preg_match('`^<(/?)([a-zA-Z][a-zA-Z1-6]*)([^>]*?)\s?>$`m', $t, $m)){ - return str_replace(array('<', '>'), array('<', '>'), $t); -}elseif(!isset($C['elements'][($e = strtolower($m[2]))])){ - return (($C['keep_bad']%2) ? str_replace(array('<', '>'), array('<', '>'), $t) : ''); -} -// attr string -$a = str_replace(array("\n", "\r", "\t"), ' ', trim($m[3])); -// tag transform -static $eD = array('applet'=>1, 'center'=>1, 'dir'=>1, 'embed'=>1, 'font'=>1, 'isindex'=>1, 'menu'=>1, 's'=>1, 'strike'=>1, 'u'=>1); // Deprecated -if($C['make_tag_strict'] && isset($eD[$e])){ - $trt = \DataTables\Vendor\htmLawed::hl_tag2($e, $a, $C['make_tag_strict']); - if(!$e){return (($C['keep_bad']%2) ? str_replace(array('<', '>'), array('<', '>'), $t) : '');} -} -// close tag -static $eE = array('area'=>1, 'br'=>1, 'col'=>1, 'embed'=>1, 'hr'=>1, 'img'=>1, 'input'=>1, 'isindex'=>1, 'param'=>1); // Empty ele -if(!empty($m[1])){ - return (!isset($eE[$e]) ? (empty($C['hook_tag']) ? "" : $C['hook_tag']($e)) : (($C['keep_bad'])%2 ? str_replace(array('<', '>'), array('<', '>'), $t) : '')); -} - -// open tag & attr -static $aN = array('abbr'=>array('td'=>1, 'th'=>1), 'accept-charset'=>array('form'=>1), 'accept'=>array('form'=>1, 'input'=>1), 'accesskey'=>array('a'=>1, 'area'=>1, 'button'=>1, 'input'=>1, 'label'=>1, 'legend'=>1, 'textarea'=>1), 'action'=>array('form'=>1), 'align'=>array('caption'=>1, 'embed'=>1, 'applet'=>1, 'iframe'=>1, 'img'=>1, 'input'=>1, 'object'=>1, 'legend'=>1, 'table'=>1, 'hr'=>1, 'div'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'p'=>1, 'col'=>1, 'colgroup'=>1, 'tbody'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1), 'allowfullscreen'=>array('iframe'=>1), 'alt'=>array('applet'=>1, 'area'=>1, 'img'=>1, 'input'=>1), 'archive'=>array('applet'=>1, 'object'=>1), 'axis'=>array('td'=>1, 'th'=>1), 'bgcolor'=>array('embed'=>1, 'table'=>1, 'tr'=>1, 'td'=>1, 'th'=>1), 'border'=>array('table'=>1, 'img'=>1, 'object'=>1), 'bordercolor'=>array('table'=>1, 'td'=>1, 'tr'=>1), 'cellpadding'=>array('table'=>1), 'cellspacing'=>array('table'=>1), 'char'=>array('col'=>1, 'colgroup'=>1, 'tbody'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1), 'charoff'=>array('col'=>1, 'colgroup'=>1, 'tbody'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1), 'charset'=>array('a'=>1, 'script'=>1), 'checked'=>array('input'=>1), 'cite'=>array('blockquote'=>1, 'q'=>1, 'del'=>1, 'ins'=>1), 'classid'=>array('object'=>1), 'clear'=>array('br'=>1), 'code'=>array('applet'=>1), 'codebase'=>array('object'=>1, 'applet'=>1), 'codetype'=>array('object'=>1), 'color'=>array('font'=>1), 'cols'=>array('textarea'=>1), 'colspan'=>array('td'=>1, 'th'=>1), 'compact'=>array('dir'=>1, 'dl'=>1, 'menu'=>1, 'ol'=>1, 'ul'=>1), 'coords'=>array('area'=>1, 'a'=>1), 'data'=>array('object'=>1), 'datetime'=>array('del'=>1, 'ins'=>1), 'declare'=>array('object'=>1), 'defer'=>array('script'=>1), 'dir'=>array('bdo'=>1), 'disabled'=>array('button'=>1, 'input'=>1, 'optgroup'=>1, 'option'=>1, 'select'=>1, 'textarea'=>1), 'enctype'=>array('form'=>1), 'face'=>array('font'=>1), 'for'=>array('label'=>1), 'frame'=>array('table'=>1), 'frameborder'=>array('iframe'=>1), 'headers'=>array('td'=>1, 'th'=>1), 'height'=>array('embed'=>1, 'iframe'=>1, 'td'=>1, 'th'=>1, 'img'=>1, 'object'=>1, 'applet'=>1), 'href'=>array('a'=>1, 'area'=>1), 'hreflang'=>array('a'=>1), 'hspace'=>array('applet'=>1, 'img'=>1, 'object'=>1), 'ismap'=>array('img'=>1, 'input'=>1), 'label'=>array('option'=>1, 'optgroup'=>1), 'language'=>array('script'=>1), 'longdesc'=>array('img'=>1, 'iframe'=>1), 'marginheight'=>array('iframe'=>1), 'marginwidth'=>array('iframe'=>1), 'maxlength'=>array('input'=>1), 'method'=>array('form'=>1), 'model'=>array('embed'=>1), 'multiple'=>array('select'=>1), 'name'=>array('button'=>1, 'embed'=>1, 'textarea'=>1, 'applet'=>1, 'select'=>1, 'form'=>1, 'iframe'=>1, 'img'=>1, 'a'=>1, 'input'=>1, 'object'=>1, 'map'=>1, 'param'=>1), 'nohref'=>array('area'=>1), 'noshade'=>array('hr'=>1), 'nowrap'=>array('td'=>1, 'th'=>1), 'object'=>array('applet'=>1), 'onblur'=>array('a'=>1, 'area'=>1, 'button'=>1, 'input'=>1, 'label'=>1, 'select'=>1, 'textarea'=>1), 'onchange'=>array('input'=>1, 'select'=>1, 'textarea'=>1), 'onfocus'=>array('a'=>1, 'area'=>1, 'button'=>1, 'input'=>1, 'label'=>1, 'select'=>1, 'textarea'=>1), 'onreset'=>array('form'=>1), 'onselect'=>array('input'=>1, 'textarea'=>1), 'onsubmit'=>array('form'=>1), 'pluginspage'=>array('embed'=>1), 'pluginurl'=>array('embed'=>1), 'prompt'=>array('isindex'=>1), 'readonly'=>array('textarea'=>1, 'input'=>1), 'rel'=>array('a'=>1), 'rev'=>array('a'=>1), 'rows'=>array('textarea'=>1), 'rowspan'=>array('td'=>1, 'th'=>1), 'rules'=>array('table'=>1), 'scope'=>array('td'=>1, 'th'=>1), 'scrolling'=>array('iframe'=>1), 'selected'=>array('option'=>1), 'shape'=>array('area'=>1, 'a'=>1), 'size'=>array('hr'=>1, 'font'=>1, 'input'=>1, 'select'=>1), 'span'=>array('col'=>1, 'colgroup'=>1), 'src'=>array('embed'=>1, 'script'=>1, 'input'=>1, 'iframe'=>1, 'img'=>1), 'standby'=>array('object'=>1), 'start'=>array('ol'=>1), 'summary'=>array('table'=>1), 'tabindex'=>array('a'=>1, 'area'=>1, 'button'=>1, 'input'=>1, 'object'=>1, 'select'=>1, 'textarea'=>1), 'target'=>array('a'=>1, 'area'=>1, 'form'=>1), 'type'=>array('a'=>1, 'embed'=>1, 'object'=>1, 'param'=>1, 'script'=>1, 'input'=>1, 'li'=>1, 'ol'=>1, 'ul'=>1, 'button'=>1), 'usemap'=>array('img'=>1, 'input'=>1, 'object'=>1), 'valign'=>array('col'=>1, 'colgroup'=>1, 'tbody'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1), 'value'=>array('input'=>1, 'option'=>1, 'param'=>1, 'button'=>1, 'li'=>1), 'valuetype'=>array('param'=>1), 'vspace'=>array('applet'=>1, 'img'=>1, 'object'=>1), 'width'=>array('embed'=>1, 'hr'=>1, 'iframe'=>1, 'img'=>1, 'object'=>1, 'table'=>1, 'td'=>1, 'th'=>1, 'applet'=>1, 'col'=>1, 'colgroup'=>1, 'pre'=>1), 'wmode'=>array('embed'=>1), 'xml:space'=>array('pre'=>1, 'script'=>1, 'style'=>1)); // Ele-specific -static $aNE = array('checked'=>1, 'compact'=>1, 'declare'=>1, 'defer'=>1, 'disabled'=>1, 'ismap'=>1, 'multiple'=>1, 'nohref'=>1, 'noresize'=>1, 'noshade'=>1, 'nowrap'=>1, 'readonly'=>1, 'selected'=>1); // Empty -static $aNP = array('action'=>1, 'cite'=>1, 'classid'=>1, 'codebase'=>1, 'data'=>1, 'href'=>1, 'longdesc'=>1, 'model'=>1, 'pluginspage'=>1, 'pluginurl'=>1, 'usemap'=>1); // Need scheme check; excludes style, on* & src -static $aNU = array('class'=>array('param'=>1, 'script'=>1), 'dir'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'iframe'=>1, 'param'=>1, 'script'=>1), 'id'=>array('script'=>1), 'lang'=>array('applet'=>1, 'br'=>1, 'iframe'=>1, 'param'=>1, 'script'=>1), 'xml:lang'=>array('applet'=>1, 'br'=>1, 'iframe'=>1, 'param'=>1, 'script'=>1), 'onclick'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'ondblclick'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onkeydown'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onkeypress'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onkeyup'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onmousedown'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onmousemove'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onmouseout'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onmouseover'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'onmouseup'=>array('applet'=>1, 'bdo'=>1, 'br'=>1, 'font'=>1, 'iframe'=>1, 'isindex'=>1, 'param'=>1, 'script'=>1), 'style'=>array('param'=>1, 'script'=>1), 'title'=>array('param'=>1, 'script'=>1)); // Univ & exceptions - -if($C['lc_std_val']){ - // predef attr vals for $eAL & $aNE ele - static $aNL = array('all'=>1, 'baseline'=>1, 'bottom'=>1, 'button'=>1, 'center'=>1, 'char'=>1, 'checkbox'=>1, 'circle'=>1, 'col'=>1, 'colgroup'=>1, 'cols'=>1, 'data'=>1, 'default'=>1, 'file'=>1, 'get'=>1, 'groups'=>1, 'hidden'=>1, 'image'=>1, 'justify'=>1, 'left'=>1, 'ltr'=>1, 'middle'=>1, 'none'=>1, 'object'=>1, 'password'=>1, 'poly'=>1, 'post'=>1, 'preserve'=>1, 'radio'=>1, 'rect'=>1, 'ref'=>1, 'reset'=>1, 'right'=>1, 'row'=>1, 'rowgroup'=>1, 'rows'=>1, 'rtl'=>1, 'submit'=>1, 'text'=>1, 'top'=>1); - static $eAL = array('a'=>1, 'area'=>1, 'bdo'=>1, 'button'=>1, 'col'=>1, 'form'=>1, 'img'=>1, 'input'=>1, 'object'=>1, 'optgroup'=>1, 'option'=>1, 'param'=>1, 'script'=>1, 'select'=>1, 'table'=>1, 'td'=>1, 'tfoot'=>1, 'th'=>1, 'thead'=>1, 'tr'=>1, 'xml:space'=>1); - $lcase = isset($eAL[$e]) ? 1 : 0; -} - -$depTr = 0; -if($C['no_deprecated_attr']){ - // dep attr:applicable ele - static $aND = array('align'=>array('caption'=>1, 'div'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'hr'=>1, 'img'=>1, 'input'=>1, 'legend'=>1, 'object'=>1, 'p'=>1, 'table'=>1), 'bgcolor'=>array('table'=>1, 'td'=>1, 'th'=>1, 'tr'=>1), 'border'=>array('img'=>1, 'object'=>1), 'bordercolor'=>array('table'=>1, 'td'=>1, 'tr'=>1), 'clear'=>array('br'=>1), 'compact'=>array('dl'=>1, 'ol'=>1, 'ul'=>1), 'height'=>array('td'=>1, 'th'=>1), 'hspace'=>array('img'=>1, 'object'=>1), 'language'=>array('script'=>1), 'name'=>array('a'=>1, 'form'=>1, 'iframe'=>1, 'img'=>1, 'map'=>1), 'noshade'=>array('hr'=>1), 'nowrap'=>array('td'=>1, 'th'=>1), 'size'=>array('hr'=>1), 'start'=>array('ol'=>1), 'type'=>array('li'=>1, 'ol'=>1, 'ul'=>1), 'value'=>array('li'=>1), 'vspace'=>array('img'=>1, 'object'=>1), 'width'=>array('hr'=>1, 'pre'=>1, 'td'=>1, 'th'=>1)); - static $eAD = array('a'=>1, 'br'=>1, 'caption'=>1, 'div'=>1, 'dl'=>1, 'form'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'hr'=>1, 'iframe'=>1, 'img'=>1, 'input'=>1, 'legend'=>1, 'li'=>1, 'map'=>1, 'object'=>1, 'ol'=>1, 'p'=>1, 'pre'=>1, 'script'=>1, 'table'=>1, 'td'=>1, 'th'=>1, 'tr'=>1, 'ul'=>1); - $depTr = isset($eAD[$e]) ? 1 : 0; -} - -// attr name-vals -if(strpos($a, "\x01") !== false){$a = preg_replace('`\x01[^\x01]*\x01`', '', $a);} // No comment/CDATA sec -$mode = 0; $a = trim($a, ' /'); $aA = array(); -while(strlen($a)){ - $w = 0; - switch($mode){ - case 0: // Name - if(preg_match('`^[a-zA-Z][\-a-zA-Z:]+`', $a, $m)){ - $nm = strtolower($m[0]); - $w = $mode = 1; $a = ltrim(substr_replace($a, '', 0, strlen($m[0]))); - } - break; case 1: - if($a[0] == '='){ // = - $w = 1; $mode = 2; $a = ltrim($a, '= '); - }else{ // No val - $w = 1; $mode = 0; $a = ltrim($a); - $aA[$nm] = ''; - } - break; case 2: // Val - if(preg_match('`^((?:"[^"]*")|(?:\'[^\']*\')|(?:\s*[^\s"\']+))(.*)`', $a, $m)){ - $a = ltrim($m[2]); $m = $m[1]; $w = 1; $mode = 0; - $aA[$nm] = trim(str_replace('<', '<', ($m[0] == '"' or $m[0] == '\'') ? substr($m, 1, -1) : $m)); - } - break; - } - if($w == 0){ // Parse errs, deal with space, " & ' - $a = preg_replace('`^(?:"[^"]*("|$)|\'[^\']*(\'|$)|\S)*\s*`', '', $a); - $mode = 0; - } -} -if($mode == 1){$aA[$nm] = '';} - -// clean attrs -global $S; -$rl = isset($S[$e]) ? $S[$e] : array(); -$a = array(); $nfr = 0; -foreach($aA as $k=>$v){ - if(((isset($C['deny_attribute']['*']) ? isset($C['deny_attribute'][$k]) : !isset($C['deny_attribute'][$k])) && (isset($aN[$k][$e]) or (isset($aNU[$k]) && !isset($aNU[$k][$e]))) && !isset($rl['n'][$k]) && !isset($rl['n']['*'])) or isset($rl[$k])){ - if(isset($aNE[$k])){$v = $k;} - elseif(!empty($lcase) && (($e != 'button' or $e != 'input') or $k == 'type')){ // Rather loose but ?not cause issues - $v = (isset($aNL[($v2 = strtolower($v))])) ? $v2 : $v; - } - if($k == 'style' && !$C['style_pass']){ - if(false !== strpos($v, '&#')){ - static $sC = array(' '=>' ', ' '=>' ', 'E'=>'e', 'E'=>'e', 'e'=>'e', 'e'=>'e', 'X'=>'x', 'X'=>'x', 'x'=>'x', 'x'=>'x', 'P'=>'p', 'P'=>'p', 'p'=>'p', 'p'=>'p', 'S'=>'s', 'S'=>'s', 's'=>'s', 's'=>'s', 'I'=>'i', 'I'=>'i', 'i'=>'i', 'i'=>'i', 'O'=>'o', 'O'=>'o', 'o'=>'o', 'o'=>'o', 'N'=>'n', 'N'=>'n', 'n'=>'n', 'n'=>'n', 'U'=>'u', 'U'=>'u', 'u'=>'u', 'u'=>'u', 'R'=>'r', 'R'=>'r', 'r'=>'r', 'r'=>'r', 'L'=>'l', 'L'=>'l', 'l'=>'l', 'l'=>'l', '('=>'(', '('=>'(', ')'=>')', ')'=>')', ' '=>':', ' '=>':', '"'=>'"', '"'=>'"', '''=>"'", '''=>"'", '/'=>'/', '/'=>'/', '*'=>'*', '*'=>'*', '\'=>'\\', '\'=>'\\'); - $v = strtr($v, $sC); - } - $v = preg_replace_callback('`(url(?:\()(?: )*(?:\'|"|&(?:quot|apos);)?)(.+?)((?:\'|"|&(?:quot|apos);)?(?: )*(?:\)))`iS', '\DataTables\Vendor\htmLawed::hl_prot', $v); - $v = !$C['css_expression'] ? preg_replace('`expression`i', ' ', preg_replace('`\\\\\S|(/|(%2f))(\*|(%2a))`i', ' ', $v)) : $v; - }elseif(isset($aNP[$k]) or strpos($k, 'src') !== false or $k[0] == 'o'){ - $v = str_replace("­", ' ', (strpos($v, '&') !== false ? str_replace(array('­', '­', '­'), ' ', $v) : $v)); # double-quoted char is soft-hyphen; appears here as "­" or hyphen or something else depending on viewing software - $v = \DataTables\Vendor\htmLawed::hl_prot($v, $k); - if($k == 'href'){ // X-spam - if($C['anti_mail_spam'] && strpos($v, 'mailto:') === 0){ - $v = str_replace('@', htmlspecialchars($C['anti_mail_spam']), $v); - }elseif($C['anti_link_spam']){ - $r1 = $C['anti_link_spam'][1]; - if(!empty($r1) && preg_match($r1, $v)){continue;} - $r0 = $C['anti_link_spam'][0]; - if(!empty($r0) && preg_match($r0, $v)){ - if(isset($a['rel'])){ - if(!preg_match('`\bnofollow\b`i', $a['rel'])){$a['rel'] .= ' nofollow';} - }elseif(isset($aA['rel'])){ - if(!preg_match('`\bnofollow\b`i', $aA['rel'])){$nfr = 1;} - }else{$a['rel'] = 'nofollow';} - } - } - } - } - if(isset($rl[$k]) && is_array($rl[$k]) && ($v = \DataTables\Vendor\htmLawed::hl_attrval($k, $v, $rl[$k])) === 0){continue;} - $a[$k] = str_replace('"', '"', $v); - } -} -if($nfr){$a['rel'] = isset($a['rel']) ? $a['rel']. ' nofollow' : 'nofollow';} - -// rqd attr -static $eAR = array('area'=>array('alt'=>'area'), 'bdo'=>array('dir'=>'ltr'), 'form'=>array('action'=>''), 'img'=>array('src'=>'', 'alt'=>'image'), 'map'=>array('name'=>''), 'optgroup'=>array('label'=>''), 'param'=>array('name'=>''), 'script'=>array('type'=>'text/javascript'), 'textarea'=>array('rows'=>'10', 'cols'=>'50')); -if(isset($eAR[$e])){ - foreach($eAR[$e] as $k=>$v){ - if(!isset($a[$k])){$a[$k] = isset($v[0]) ? $v : $k;} - } -} - -// depr attrs -if($depTr){ - $c = array(); - foreach($a as $k=>$v){ - if($k == 'style' or !isset($aND[$k][$e])){continue;} - if($k == 'align'){ - unset($a['align']); - if($e == 'img' && ($v == 'left' or $v == 'right')){$c[] = 'float: '. $v;} - elseif(($e == 'div' or $e == 'table') && $v == 'center'){$c[] = 'margin: auto';} - else{$c[] = 'text-align: '. $v;} - }elseif($k == 'bgcolor'){ - unset($a['bgcolor']); - $c[] = 'background-color: '. $v; - }elseif($k == 'border'){ - unset($a['border']); $c[] = "border: {$v}px"; - }elseif($k == 'bordercolor'){ - unset($a['bordercolor']); $c[] = 'border-color: '. $v; - }elseif($k == 'clear'){ - unset($a['clear']); $c[] = 'clear: '. ($v != 'all' ? $v : 'both'); - }elseif($k == 'compact'){ - unset($a['compact']); $c[] = 'font-size: 85%'; - }elseif($k == 'height' or $k == 'width'){ - unset($a[$k]); $c[] = $k. ': '. ($v[0] != '*' ? $v. (ctype_digit($v) ? 'px' : '') : 'auto'); - }elseif($k == 'hspace'){ - unset($a['hspace']); $c[] = "margin-left: {$v}px; margin-right: {$v}px"; - }elseif($k == 'language' && !isset($a['type'])){ - unset($a['language']); - $a['type'] = 'text/'. strtolower($v); - }elseif($k == 'name'){ - if($C['no_deprecated_attr'] == 2 or ($e != 'a' && $e != 'map')){unset($a['name']);} - if(!isset($a['id']) && preg_match('`[a-zA-Z][a-zA-Z\d.:_\-]*`', $v)){$a['id'] = $v;} - }elseif($k == 'noshade'){ - unset($a['noshade']); $c[] = 'border-style: none; border: 0; background-color: gray; color: gray'; - }elseif($k == 'nowrap'){ - unset($a['nowrap']); $c[] = 'white-space: nowrap'; - }elseif($k == 'size'){ - unset($a['size']); $c[] = 'size: '. $v. 'px'; - }elseif($k == 'start' or $k == 'value'){ - unset($a[$k]); - }elseif($k == 'type'){ - unset($a['type']); - static $ol_type = array('i'=>'lower-roman', 'I'=>'upper-roman', 'a'=>'lower-latin', 'A'=>'upper-latin', '1'=>'decimal'); - $c[] = 'list-style-type: '. (isset($ol_type[$v]) ? $ol_type[$v] : 'decimal'); - }elseif($k == 'vspace'){ - unset($a['vspace']); $c[] = "margin-top: {$v}px; margin-bottom: {$v}px"; - } - } - if(count($c)){ - $c = implode('; ', $c); - $a['style'] = isset($a['style']) ? rtrim($a['style'], ' ;'). '; '. $c. ';': $c. ';'; - } -} -// unique ID -if($C['unique_ids'] && isset($a['id'])){ - if(!preg_match('`^[A-Za-z][A-Za-z0-9_\-.:]*$`', ($id = $a['id'])) or (isset($GLOBALS['hl_Ids'][$id]) && $C['unique_ids'] == 1)){unset($a['id']); - }else{ - while(isset($GLOBALS['hl_Ids'][$id])){$id = $C['unique_ids']. $id;} - $GLOBALS['hl_Ids'][($a['id'] = $id)] = 1; - } -} -// xml:lang -if($C['xml:lang'] && isset($a['lang'])){ - $a['xml:lang'] = isset($a['xml:lang']) ? $a['xml:lang'] : $a['lang']; - if($C['xml:lang'] == 2){unset($a['lang']);} -} -// for transformed tag -if(!empty($trt)){ - $a['style'] = isset($a['style']) ? rtrim($a['style'], ' ;'). '; '. $trt : $trt; -} -// return with empty ele / -if(empty($C['hook_tag'])){ - $aA = ''; - foreach($a as $k=>$v){$aA .= " {$k}=\"{$v}\"";} - return "<{$e}{$aA}". (isset($eE[$e]) ? ' /' : ''). '>'; -} -else{return $C['hook_tag']($e, $a);} -// eof -} - -public static function hl_tag2(&$e, &$a, $t=1){ -// transform tag -if($e == 'center'){$e = 'div'; return 'text-align: center;';} -if($e == 'dir' or $e == 'menu'){$e = 'ul'; return '';} -if($e == 's' or $e == 'strike'){$e = 'span'; return 'text-decoration: line-through;';} -if($e == 'u'){$e = 'span'; return 'text-decoration: underline;';} -static $fs = array('0'=>'xx-small', '1'=>'xx-small', '2'=>'small', '3'=>'medium', '4'=>'large', '5'=>'x-large', '6'=>'xx-large', '7'=>'300%', '-1'=>'smaller', '-2'=>'60%', '+1'=>'larger', '+2'=>'150%', '+3'=>'200%', '+4'=>'300%'); -if($e == 'font'){ - $a2 = ''; - while(preg_match('`(^|\s)(color|size)\s*=\s*(\'|")?(.+?)(\\3|\s|$)`i', $a, $m)){ - $a = str_replace($m[0], ' ', $a); - $a2 .= strtolower($m[2]) == 'color' ? (' color: '. str_replace('"', '\'', trim($m[4])). ';') : (isset($fs[($m = trim($m[4]))]) ? ($a2 .= ' font-size: '. str_replace('"', '\'', $fs[$m]). ';') : ''); - } - while(preg_match('`(^|\s)face\s*=\s*(\'|")?([^=]+?)\\2`i', $a, $m) or preg_match('`(^|\s)face\s*=(\s*)(\S+)`i', $a, $m)){ - $a = str_replace($m[0], ' ', $a); - $a2 .= ' font-family: '. str_replace('"', '\'', trim($m[3])). ';'; - } - $e = 'span'; return ltrim(str_replace('<', '', $a2)); -} -if($t == 2){$e = 0; return 0;} -return ''; -// eof -} - -public static function hl_tidy($t, $w, $p){ -// Tidy/compact HTM -if(strpos(' pre,script,textarea', "$p,")){return $t;} -$t = preg_replace('`\s+`', ' ', preg_replace_callback(array('`(<(!\[CDATA\[))(.+?)(\]\]>)`sm', '`(<(!--))(.+?)(-->)`sm', '`(<(pre|script|textarea)[^>]*?>)(.+?)()`sm'), create_function('$m', 'return $m[1]. str_replace(array("<", ">", "\n", "\r", "\t", " "), array("\x01", "\x02", "\x03", "\x04", "\x05", "\x07"), $m[3]). $m[4];'), $t)); -if(($w = strtolower($w)) == -1){ - return str_replace(array("\x01", "\x02", "\x03", "\x04", "\x05", "\x07"), array('<', '>', "\n", "\r", "\t", ' '), $t); -} -$s = strpos(" $w", 't') ? "\t" : ' '; -$s = preg_match('`\d`', $w, $m) ? str_repeat($s, $m[0]) : str_repeat($s, ($s == "\t" ? 1 : 2)); -$N = preg_match('`[ts]([1-9])`', $w, $m) ? $m[1] : 0; -$a = array('br'=>1); -$b = array('button'=>1, 'input'=>1, 'option'=>1, 'param'=>1); -$c = array('caption'=>1, 'dd'=>1, 'dt'=>1, 'h1'=>1, 'h2'=>1, 'h3'=>1, 'h4'=>1, 'h5'=>1, 'h6'=>1, 'isindex'=>1, 'label'=>1, 'legend'=>1, 'li'=>1, 'object'=>1, 'p'=>1, 'pre'=>1, 'td'=>1, 'textarea'=>1, 'th'=>1); -$d = array('address'=>1, 'blockquote'=>1, 'center'=>1, 'colgroup'=>1, 'dir'=>1, 'div'=>1, 'dl'=>1, 'fieldset'=>1, 'form'=>1, 'hr'=>1, 'iframe'=>1, 'map'=>1, 'menu'=>1, 'noscript'=>1, 'ol'=>1, 'optgroup'=>1, 'rbc'=>1, 'rtc'=>1, 'ruby'=>1, 'script'=>1, 'select'=>1, 'table'=>1, 'tbody'=>1, 'tfoot'=>1, 'thead'=>1, 'tr'=>1, 'ul'=>1); -$T = explode('<', $t); -$X = 1; -while($X){ - $n = $N; - $t = $T; - ob_start(); - if(isset($d[$p])){echo str_repeat($s, ++$n);} - echo ltrim(array_shift($t)); - for($i=-1, $j=count($t); ++$i<$j;){ - $r = ''; list($e, $r) = explode('>', $t[$i]); - $x = $e[0] == '/' ? 0 : (substr($e, -1) == '/' ? 1 : ($e[0] != '!' ? 2 : -1)); - $y = !$x ? ltrim($e, '/') : ($x > 0 ? substr($e, 0, strcspn($e, ' ')) : 0); - $e = "<$e>"; - if(isset($d[$y])){ - if(!$x){ - if($n){echo "\n", str_repeat($s, --$n), "$e\n", str_repeat($s, $n);} - else{++$N; ob_end_clean(); continue 2;} - } - else{echo "\n", str_repeat($s, $n), "$e\n", str_repeat($s, ($x != 1 ? ++$n : $n));} - echo $r; continue; - } - $f = "\n". str_repeat($s, $n); - if(isset($c[$y])){ - if(!$x){echo $e, $f, $r;} - else{echo $f, $e, $r;} - }elseif(isset($b[$y])){echo $f, $e, $r; - }elseif(isset($a[$y])){echo $e, $f, $r; - }elseif(!$y){echo $f, $e, $f, $r; - }else{echo $e, $r;} - } - $X = 0; -} -$t = str_replace(array("\n ", " \n"), "\n", preg_replace('`[\n]\s*?[\n]+`', "\n", ob_get_contents())); -ob_end_clean(); -if(($l = strpos(" $w", 'r') ? (strpos(" $w", 'n') ? "\r\n" : "\r") : 0)){ - $t = str_replace("\n", $l, $t); -} -return str_replace(array("\x01", "\x02", "\x03", "\x04", "\x05", "\x07"), array('<', '>', "\n", "\r", "\t", ' '), $t); -// eof -} - -public static function hl_version(){ -// rel -return '1.1.22'; -// eof -} - -public static function kses($t, $h, $p=array('http', 'https', 'ftp', 'news', 'nntp', 'telnet', 'gopher', 'mailto')){ -// kses compat -foreach($h as $k=>$v){ - $h[$k]['n']['*'] = 1; -} -$C['cdata'] = $C['comment'] = $C['make_tag_strict'] = $C['no_deprecated_attr'] = $C['unique_ids'] = 0; -$C['keep_bad'] = 1; -$C['elements'] = count($h) ? strtolower(implode(',', array_keys($h))) : '-*'; -$C['hook'] = '\DataTables\Vendor\htmLawed::kses_hook'; -$C['schemes'] = '*:'. implode(',', $p); -return \DataTables\Vendor\htmLawed::hl($t, $C, $h); -// eof -} - -public static function kses_hook($t, &$C, &$S){ -// kses compat -return $t; -// eof -} -// end class -} diff --git a/php/_notes/dwsync.xml b/php/_notes/dwsync.xml deleted file mode 100644 index cb12058..0000000 --- a/php/_notes/dwsync.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/php/diff_update.php b/php/diff_update.php deleted file mode 100644 index 6a00d59..0000000 --- a/php/diff_update.php +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..5906f78 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,907 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tanstack/react-virtual': + specifier: ^3.14.10 + version: 3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@vercel/blob': + specifier: ^2.8.0 + version: 2.8.0 + next: + specifier: ^16.0.0 + version: 16.3.3(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: + specifier: ^19.2.0 + version: 19.2.8 + react-dom: + specifier: ^19.2.0 + version: 19.2.8(react@19.2.8) + zustand: + specifier: ^5.0.15 + version: 5.0.15(@types/react@19.2.18)(react@19.2.8) + devDependencies: + '@types/node': + specifier: ^22.10.2 + version: 22.20.1 + '@types/react': + specifier: ^19.2.0 + version: 19.2.18 + '@types/react-dom': + specifier: ^19.2.0 + version: 19.2.5(@types/react@19.2.18) + typescript: + specifier: ^5.9.2 + version: 5.9.3 + +packages: + + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} + + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.35.3': + resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.35.3': + resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-freebsd-wasm32@0.35.3': + resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} + engines: {node: '>=20.9.0'} + os: [freebsd] + + '@img/sharp-libvips-darwin-arm64@1.3.2': + resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.3.2': + resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.3.2': + resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.3.2': + resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.3.2': + resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.3.2': + resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.3.2': + resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.3.2': + resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.35.3': + resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.35.3': + resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.35.3': + resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.35.3': + resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.35.3': + resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.35.3': + resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.35.3': + resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.35.3': + resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.35.3': + resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.3': + resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.35.3': + resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.35.3': + resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.35.3': + resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + + '@next/env@16.3.3': + resolution: {integrity: sha512-U2eYQRwXj+dsqxV79zFqExDdatnNY/ZWc2nsJU1p/OgT7fd3dXwlF6OjYaFQCfMoeTA19PWq+wVmYgimVA+V+g==} + + '@next/swc-darwin-arm64@16.3.3': + resolution: {integrity: sha512-8Hiv32QJPwdV6KYJ8meR9SBA061tQqnIKTJDocvOXlEQqib0xMFpzArosuffFUUc0sslbh7QQ8a3Yey1QV8EIw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.3.3': + resolution: {integrity: sha512-A1lgKgwVchRYmSe467zdwhxT9040dd8lH+o65sL5Jet8fjB4kegw/rDyPIpYVRb6jAqwXFOJpjIXJLxQKLiE3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.3.3': + resolution: {integrity: sha512-bf0FIssMFueU2dm7vQEWWxk0c8UjKTdW0yzuh0sQsD8pf1+KCLDdaqhYZNMYGmXwEOiHAUzgBKudovIlcvvBjg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-arm64-musl@16.3.3': + resolution: {integrity: sha512-W7viwCk9JY/cAkdz/A273rd5bb3RgT/IHwR7Upv90tunjBWNtAAhGhoecHh+teRNRSinuAFmE+l7fwZ4YKkrXg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@next/swc-linux-x64-gnu@16.3.3': + resolution: {integrity: sha512-0W46zw1N3ODpI6n0GeivHvvob1pooozgZVqy65k0mh4/7vr+FbY9+WpHzNVXjHipJf/A3FDheBG19H1s5A25rA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-x64-musl@16.3.3': + resolution: {integrity: sha512-H4mBso8ZTMBPtdT0PN0pBx2ayTvQuTuvS6qT13d77yVFJXAPCxkyIhLTmdMaGTJs0krQYI/qpzdHijCeihXhbg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@next/swc-win32-arm64-msvc@16.3.3': + resolution: {integrity: sha512-cTMUJpcEGmeywofCUfhR+rSsoE33+rVPnPEYNTNdLNlsOeEg/vktOsKUSTb28vUGqD2jkm4Zaskcwn7OCI6FQg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.3.3': + resolution: {integrity: sha512-2VR4cTBzHXaBjnGsuH6GyJjENzQOmHeAh11uY1iUhjm3j5dEUrVJuUj+VL78jaGi/Dik8xS76zEj18BsFhlVZQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@tanstack/react-virtual@3.14.10': + resolution: {integrity: sha512-SRyoUbdFMRHuYXMijV5H4ZarQWpXkj3iANq8OFre+pybeVap8ZJjZ3Nz9bVjx4d8PfobVUQUdKyyyHYk3E+djw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/virtual-core@3.17.8': + resolution: {integrity: sha512-BfEvehNpOT75r5Ksc5xW6NZuXujTfb7nlSEyVu4XHG3gdxNg1KqXruWbDewXOUaUYIo4oRbSfkjIajz4MAT8tA==} + + '@types/node@22.20.1': + resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} + + '@types/react-dom@19.2.5': + resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} + + '@vercel/blob@2.8.0': + resolution: {integrity: sha512-Nu+HWKpkgovCh/ezlG7wCVwF7RErTzLzZMbGKFBdGBCbTKyK+s5VXPLl+0+TpNEQPH8AVaGzOpIsXUOtkqylCQ==} + engines: {node: '>=20.0.0'} + + '@vercel/cli-config@0.2.4': + resolution: {integrity: sha512-kZ5SojbrV06GHoU6QIWGwDXLov+s9rWZ7QqdqKfJfBGCNUieGfgaCjeeenNy8Y+QC0bwC0dZ2B4l5Hvdmrgpdw==} + + '@vercel/cli-exec@1.0.1': + resolution: {integrity: sha512-g9XerViJ/paZujufXYcu5XYI2vU2rtB4sgdpjUHde5RnOkdmpu0ngH46LCFGHoPXO/C+qDPSczIHIRN+8Q2YKQ==} + engines: {node: '>= 18'} + + '@vercel/oidc@3.8.5': + resolution: {integrity: sha512-RwXYtnt6za+5UO4IaLywN/6B95AlLqynPRUWRJxeJ/qufwkcLUbZNUxYtzT0uMpuraWhlNcGqPNGkTnZr4BGBw==} + engines: {node: '>= 20'} + + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + baseline-browser-mapping@2.11.19: + resolution: {integrity: sha512-Grytf1xOxOEMTGRwx6rLGKkTabd4vMg3VrKdj/7joCmV0qgh4QwMMO6xh34YEXQqirAuUdgQGa5orJQQ+69RBw==} + engines: {node: '>=6.0.0'} + hasBin: true + + caniuse-lite@1.0.30001810: + resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jose@5.10.0: + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + next@16.3.3: + resolution: {integrity: sha512-tuRTx1nQ/yVw83cwJBo9F+njGUgMn3UHQycreWHB8XsStvvAh1AthbI8/4IpKnFaF58F+iSiHejYOlMQ/eq83g==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} + engines: {node: ^10 || ^12 || >=14} + + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} + peerDependencies: + react: ^19.2.8 + + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + engines: {node: '>=0.10.0'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.35.3: + resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} + engines: {node: '>=18.17'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + xdg-app-paths@5.5.1: + resolution: {integrity: sha512-hI3flOB4PLZIy5prbtTpirobtPE2ZtZ52szO+2mM9Efp6ErM398La+C1lIpNWDfNoQk+6Lsi6nMcCwVB7pxeMQ==} + engines: {node: '>= 6.0'} + + xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + + zod@4.1.11: + resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} + + zustand@5.0.15: + resolution: {integrity: sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + +snapshots: + + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@img/colour@1.1.0': + optional: true + + '@img/sharp-darwin-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.2 + optional: true + + '@img/sharp-darwin-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.2 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.3.2': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.3.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.3.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.3.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + optional: true + + '@img/sharp-linux-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.2 + optional: true + + '@img/sharp-linux-arm@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.2 + optional: true + + '@img/sharp-linux-ppc64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.2 + optional: true + + '@img/sharp-linux-riscv64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.2 + optional: true + + '@img/sharp-linux-s390x@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.2 + optional: true + + '@img/sharp-linux-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + optional: true + + '@img/sharp-wasm32@0.35.3': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true + + '@img/sharp-webcontainers-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 + optional: true + + '@img/sharp-win32-arm64@0.35.3': + optional: true + + '@img/sharp-win32-ia32@0.35.3': + optional: true + + '@img/sharp-win32-x64@0.35.3': + optional: true + + '@next/env@16.3.3': {} + + '@next/swc-darwin-arm64@16.3.3': + optional: true + + '@next/swc-darwin-x64@16.3.3': + optional: true + + '@next/swc-linux-arm64-gnu@16.3.3': + optional: true + + '@next/swc-linux-arm64-musl@16.3.3': + optional: true + + '@next/swc-linux-x64-gnu@16.3.3': + optional: true + + '@next/swc-linux-x64-musl@16.3.3': + optional: true + + '@next/swc-win32-arm64-msvc@16.3.3': + optional: true + + '@next/swc-win32-x64-msvc@16.3.3': + optional: true + + '@swc/helpers@0.5.23': + dependencies: + tslib: 2.8.1 + + '@tanstack/react-virtual@3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@tanstack/virtual-core': 3.17.8 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + + '@tanstack/virtual-core@3.17.8': {} + + '@types/node@22.20.1': + dependencies: + undici-types: 6.21.0 + + '@types/react-dom@19.2.5(@types/react@19.2.18)': + dependencies: + '@types/react': 19.2.18 + + '@types/react@19.2.18': + dependencies: + csstype: 3.2.3 + + '@vercel/blob@2.8.0': + dependencies: + '@vercel/oidc': 3.8.5 + async-retry: 1.3.3 + is-buffer: 2.0.5 + is-node-process: 1.2.0 + throttleit: 2.1.0 + undici: 6.28.0 + + '@vercel/cli-config@0.2.4': + dependencies: + xdg-app-paths: 5.5.1 + zod: 4.1.11 + + '@vercel/cli-exec@1.0.1': + dependencies: + execa: 5.1.1 + + '@vercel/oidc@3.8.5': + dependencies: + '@vercel/cli-config': 0.2.4 + '@vercel/cli-exec': 1.0.1 + jose: 5.10.0 + + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + + baseline-browser-mapping@2.11.19: {} + + caniuse-lite@1.0.30001810: {} + + client-only@0.0.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.2.3: {} + + detect-libc@2.1.2: + optional: true + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + get-stream@6.0.1: {} + + human-signals@2.1.0: {} + + is-buffer@2.0.5: {} + + is-node-process@1.2.0: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + jose@5.10.0: {} + + merge-stream@2.0.0: {} + + mimic-fn@2.1.0: {} + + nanoid@3.3.18: {} + + next@16.3.3(@types/node@22.20.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + dependencies: + '@next/env': 16.3.3 + '@swc/helpers': 0.5.23 + baseline-browser-mapping: 2.11.19 + caniuse-lite: 1.0.30001810 + postcss: 8.5.23 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + styled-jsx: 5.1.6(react@19.2.8) + optionalDependencies: + '@next/swc-darwin-arm64': 16.3.3 + '@next/swc-darwin-x64': 16.3.3 + '@next/swc-linux-arm64-gnu': 16.3.3 + '@next/swc-linux-arm64-musl': 16.3.3 + '@next/swc-linux-x64-gnu': 16.3.3 + '@next/swc-linux-x64-musl': 16.3.3 + '@next/swc-win32-arm64-msvc': 16.3.3 + '@next/swc-win32-x64-msvc': 16.3.3 + sharp: 0.35.3(@types/node@22.20.1) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - babel-plugin-macros + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + os-paths@4.4.0: {} + + path-key@3.1.1: {} + + picocolors@1.1.1: {} + + postcss@8.5.23: + dependencies: + nanoid: 3.3.18 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + react-dom@19.2.8(react@19.2.8): + dependencies: + react: 19.2.8 + scheduler: 0.27.0 + + react@19.2.8: {} + + retry@0.13.1: {} + + scheduler@0.27.0: {} + + semver@7.8.5: + optional: true + + sharp@0.35.3(@types/node@22.20.1): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 22.20.1 + optional: true + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + source-map-js@1.2.1: {} + + strip-final-newline@2.0.0: {} + + styled-jsx@5.1.6(react@19.2.8): + dependencies: + client-only: 0.0.1 + react: 19.2.8 + + throttleit@2.1.0: {} + + tslib@2.8.1: {} + + typescript@5.9.3: {} + + undici-types@6.21.0: {} + + undici@6.28.0: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + xdg-app-paths@5.5.1: + dependencies: + os-paths: 4.4.0 + xdg-portable: 7.3.0 + + xdg-portable@7.3.0: + dependencies: + os-paths: 4.4.0 + + zod@4.1.11: {} + + zustand@5.0.15(@types/react@19.2.18)(react@19.2.8): + optionalDependencies: + '@types/react': 19.2.18 + react: 19.2.8 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..20efd30 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,13 @@ +allowBuilds: + esbuild: true + lightningcss: true +onlyBuiltDependencies: + - esbuild + - sharp +# The committed lockfile pins these official packages at versions published +# hours before pnpm's minimum-release-age cutoff; exempt just those names. +minimumReleaseAgeExclude: + - "@rollup/*" + - rollup + - next + - "@next/*" diff --git a/pricing.html b/pricing.html deleted file mode 100644 index 571ccc8..0000000 --- a/pricing.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - Pricing - - - - - - - -
    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - picture -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Pricing

    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - \ No newline at end of file diff --git a/profile.html b/profile.html deleted file mode 100644 index fecf14b..0000000 --- a/profile.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - Profile - - - - - - - - -
    -
    -
    -
    -
    -
    - logo - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - 4 -
    -
    -
    -
    - - 5 -
    -
    -
    - picture -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Profile

    -
    -
    -
    -
    -
    -
    -
    -
    -

    Ruth Baby

    -
    -
    -
    - # -
    -
    -

    ruth@gmail.com

    -

    989-983-7397

    -

    27 Browns Bay New York

    -

    Developer

    -
    -
    -
    - -
    -

    Ongoing Task

    -
    - Someting -
    - -
    - Someting -
    - -
    - Someting -
    - -
    - Someting -
    - -
    -
    -
    -
    -
    -
    - -
    -
    -

    Enter your basic information

    -
    - - Upload photo
    - -
    - - - - - Save -
    -
    -

    Use here to set up your account

    -
    - - - - Save -
    -
    -

    Change your current password

    -
    - - - - Save -
    -
    -

    Your security and Privacy settings

    -
    -
    -
    - Security -
    -
    -
    - - -
    - - - -
    -
    -
    -
    -
    - Privacy -
    - - Do not show my email address -
    - - Send me newsletter -
    - Do not display my contact information -
    -
    - -
    -
    - Save -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/public/icon-192.png b/public/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..63b0de331bb9ef8c2d53a47120cc660182d1b97c GIT binary patch literal 4491 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 L7;9H)IwAfCunw1K literal 0 HcmV?d00001 diff --git a/public/icon-512.png b/public/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..8643e0822b1adcb994f28b65275fe46e4c420bad GIT binary patch literal 13954 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 K9rSgFi2noO&QDGN literal 0 HcmV?d00001 diff --git a/public/icon-maskable-512.png b/public/icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..65ee0813c5b1d903000a0681eb991871e9950af7 GIT binary patch literal 4836 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 diff --git a/public/model-icons/grok.svg b/public/model-icons/grok.svg new file mode 100644 index 0000000..0ad47ed --- /dev/null +++ b/public/model-icons/grok.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/happy-horse.svg b/public/model-icons/happy-horse.svg new file mode 100644 index 0000000..1092fa7 --- /dev/null +++ b/public/model-icons/happy-horse.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/higgsfield.svg b/public/model-icons/higgsfield.svg new file mode 100644 index 0000000..59515d4 --- /dev/null +++ b/public/model-icons/higgsfield.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/ideogram.svg b/public/model-icons/ideogram.svg new file mode 100644 index 0000000..40c86bf --- /dev/null +++ b/public/model-icons/ideogram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/model-icons/kling.svg b/public/model-icons/kling.svg new file mode 100644 index 0000000..ca8f93b --- /dev/null +++ b/public/model-icons/kling.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/ltx.svg b/public/model-icons/ltx.svg new file mode 100644 index 0000000..42b3897 --- /dev/null +++ b/public/model-icons/ltx.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/model-icons/minimax.svg b/public/model-icons/minimax.svg new file mode 100644 index 0000000..869cc40 --- /dev/null +++ b/public/model-icons/minimax.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/pixverse.svg b/public/model-icons/pixverse.svg new file mode 100644 index 0000000..8b08c42 --- /dev/null +++ b/public/model-icons/pixverse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/model-icons/qwen.svg b/public/model-icons/qwen.svg new file mode 100644 index 0000000..b3e57b0 --- /dev/null +++ b/public/model-icons/qwen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/model-icons/recraft.svg b/public/model-icons/recraft.svg new file mode 100644 index 0000000..1fa2a94 --- /dev/null +++ b/public/model-icons/recraft.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/wan.svg b/public/model-icons/wan.svg new file mode 100644 index 0000000..587e4c8 --- /dev/null +++ b/public/model-icons/wan.svg @@ -0,0 +1 @@ + diff --git a/public/model-icons/z-image.svg b/public/model-icons/z-image.svg new file mode 100644 index 0000000..59fda8c --- /dev/null +++ b/public/model-icons/z-image.svg @@ -0,0 +1 @@ + diff --git a/public/og.png b/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..61bd7aa3ac7cc39ec5cf747ae8591dfd5eeb4db0 GIT binary patch literal 326648 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 w#6XeI;dUth^%COJJ9-ap574?5 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�L*)+iu5k)fw~7)X=+*pi0*(q6=6 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ⓈuW;~#{qF*mb}AEPDIv9Q~y6ij>Jqgj&~Lnl(LP^G^{KJ;%_1F38{60>ymRvZnR zva=bmx>2l`8Lfm>SCgA#@ri9KF8GbHyqAqK^n{a<-i<3~RS3?=$D6I$K{U)a$t<#C zyWbRVj4J8n_(5(?B1_6t1j+Sqn{@Q>6XHoyMv&WRmuh25H%Hj8m~7I!vS2^`OWt_u zo7k|7>}n$Yry*#Ib(eEh9@=%ZDs=VM-DKF#W%@nL?@tr+1I`}#qFWwCp9iml+8~ym zoq^tTM&s`GplXC+B~|Th+vDOpoE>=Gj>q$rfkwGJ1G$wXr714o-K2}^hoj~jJpYJQ)t0+Je za7gR3bMqvgW1gDL#$g+)^lP6A#n0pr4?z08*84yUsFbw)oUqYVm!Z}jxA6Q!Az|%N z7IYU>dyEYR1VQa!bZ_=2m_R?vQIH%qo<9NI)QSLli1WAN2!@H*BTz+t~LBX?!Ph=qyDw zhrN}A4Myj^`la=VzESK9dpg9$LLI{}fq4x76NP81fh6l2a=67}OI6-<&UOh5g%Bif z(4uxwQTD25oH$74<;Aq{hzT}J`LyOjW0DDjn8~5}DP>uz_W~IoR-HFU;8~U^GO1SM_I_Iow_R*o zf8QLewUf!1!;m4jgngi{Yv1OxrSP=vuyd<*U~N}n10hAD`^;TOL_AJAHY3Zwz3RQV)&sp3eRvf|Qa=Ce%LBD#E2Uq@ zaOIi|N{A;^qG^6bWMfmY{(~X8!zO5bPf|v5xn0@k5~W-*#FWr;)GW;Lq?sl2qcVmR zy0n;c?u2}{(|R_ZggJ|FeCHEf2k$_Jcn9m^ z;QJUtJM+`_7n!}|x8t`Q zbU=fC)*@^&HnpSH8sZ=VJ!m_iAMoybg!g6o?Foq2{Wg&5kCPX|rRR&u;6h6Ec-;AD z1?U2f0dKRH^o_NV#eJMIk`VDF78PO|Db-gqa|W|F)WwO~wv zSv7~fpqVo=u!x3XEayN|agic@T`YRwr(b!>@XxR_SE=yPWRSB?plCzDR5il9IX*zh zi7uHddR~T9q2c02;v*ERB~}q10dyko>WZ3@)C9i^ z-2SRFK3_7(W0X3ihf8N8EXzfbLLLw>9)(D_F3zN#Gw(;OeXnQ6PW0zFA$#333tufl ziPP$1aXBXsP(9N*lbx+NjI0jn=*3Wenb1=`Z=Lm)x)C#%F4Vlo&B`0zPO&+)cq{D{ z-`1CaN++v|;WTj=Rs>8$a{UmvW!n-}x6|%DGUUeLx-Lq;q+ry-LsyqcrfSP7=k-`l zeZQftw{%MzulKEZb>CCHY;}HboyYo`b!YCR9U%4Yr88`fN3jyZxt8F~tj})7d7B!{ zZHh_eUQlGwj4r2M{K$|Yr6JZG#WzV+T|;dS$0HrkeqR7g#9GR|q2-X#Jp3?5 zS6{9FRIP@vpRxdWC+pLL&$w1E-!|Dni1VvhVB?)u|eEJB1 zaAv$cyb={C9_pUQa5Kf#lN2aB14F}tD!xkSkk(t6`_`3gKxLMbhwc_&T&1{wL9spR zRCzF<|Iz^)M7XGY#vylZ!}gj4x79pYc2@zF`1>#lZrYCRbuxmWk?Q*jbw2rqvBx*i zzR23_uI30$PEQIJ9);i^^2#b!6UUN#1cV5IN>8AF+<$rY+L!lr_;kBngBSLZJhTD^HQ$WVzxkCOWhi8l8pXUAZ#Fv#btH^Hmb98owm=UlLLvZ<-KdX7SPimsv@zc@Db;Pp2HLtD2b`wr0hcpq!fm)PIuf{-greE~T z4>Qg?NPHXAsEXzKC?Ov!391-!_@j}8aBST;>~z7Fd25%~cX7>o2sAy;aP(q3c-jR? z1OsfXB-(#x?p=JxQwYa%d_WSzsDj_(<$^@fouEcO;)dB(i}^ZaQP}g7$`3A%&jvN$i`+Z> zf3dgWv_j})b^|AgY+O?vs}L>RFAHdiJUothedj5Cb(P$txdvaP1J0^jFIAmEiqjXd zMigA#&$D!#XKP)>IS)ees~`%Vbh}{Z&9cV4U~MviC&w`tPnZ_(M;|UEaYn zVu4ug6yS#T=VX5ed;=bR-_X9@z8<|`zKq1p*P7?{s&!fXY^s)jIZe9Ft)VRsa^Oh~ zs8Y}(FbWuCD=Os$^}%3}Z^nYhohT;}#TFyK5PM=KOfwc+!3pevm!_>jbh zf2dg2QZc7*h$XTZoNIIC;}7E}K(!_ zFxntUW`mumU}iW9A+{jK*jCC6%|CKpJ`;vA2W=L+Ny1R~Nhez6zC3Kp1~Sg$xtc!I z_B`moVF~mZ!A36SNnJULU~TC?fb3oa3-vXmvGQ&Cak6U@Sm+}R3d-8jq+`gD1}J=> zM))_M`o74q@>)`vF&}+JdVjzSM_uJfB-nlCsOkHBTkhVdUGpJ!?2n4El-6M-b$oTn z#RYzstCmT7SNa&Ohir_bg4CnK#^k|Gk-Si~cM+UNys6e1fQi zIUM3Z<=D#w=MmzhG|IP6rgbWAmfj#zj|2CA|NZkrXIdSy=Q0zl5gT!xnHskoN{9a~ zXArUqkF#kpMP6v;MrYYWE@pq&Nmn)m^m zTnXqTvpIWTb5mPlvy8xtdD&ZtvgRWhY-NDssAPxkn6&}F909t@5F`OuRKb@<951Rf_S|~n!#S`^rqUMz~&zZbJ)w<>$MK36;zwanCKl!IU(r*8~_Ewx( z6||B@9N?9t1_J_G8i#SNcGgzoUsLFFq^{cKBI1diz zTdF2AgnV`$}y+12ni9tinmns;8%Dc0Fua&G>;& zimJj-SP+`OnO~B896MdpYgVM&aRs@Ln#Y4VSK%WzAu;w`$DV*Mh1q2*7a(aom+F4c z%e@7M&aodqR^krQoDcVKz|Nq)9b^o~y|Cg0@baBr;~n%1 zK3yu5=JBJr$@v(=yUAqiHubbXAo8d8lR|rqR>^p*ASkRrIQHq;AiZD(7xaecLEnAK zNhO0i&$_MT3us4Ji1KA8J+s|-z5#1VNme+fT1lYI+Ka31pSGbBc za1rOj zZ-Xu?n_90MVR_>zQ{E%{NxMT+DS7kt&UveZo0b1jKnkyKy%X79A_KV(XEA~hQubH_ zJ7xZtsL2{R0sc{KG&Q72-{De zXWRliOz*?a5Nw3E?Yo^XXoT(z$#SP&;8me3TI2$I-!7rP#jb*N{~xB_u{+an3)W3K zwr$(V8{1aLw%xI9r(-+m*tTukwz+fGSZnX|51#Ri`C;BQtFA)blGGhwFI+@%>*7qP z^xcsd-pBS#=00bI>U*k2+=R1%pI+KYt2-pKJ(+D!z-G4<%cjC{${D+~=0W-eVXFNa zVzG2%M^K-GVwt-(DT1$No8HWRCK}3;5q&HWagQcivW*JP_3WgdD+rWQ&6BB>as~%{ z%%N)B{X$v01KAJI7s{wQRF-Gyykur)H#j?@!V=VaypulelB z?|uIJ>F)=EkI+25T8dG_-Vhk8tn_Zc)I>IgfQjO&%%7Uye^&m@@a8Wfxlz6vQ~l%8 zo>KbCc~PY+&ACI3=E_!2qSNWL->|b2Z{yFy-+5gkQTaxg)X}n)RG+dVRFIT?Aq<{o z_GKCcGJGyWohl?tNBL?Wkeh%5xh#a%8sc(~EbbXrC#ad;TKEo|- z@>zo|P-)G0OIITSE?v{WDy*QXx&~jeVHUKa+Yk&tmw6so5D#p(tWt}FnKdm$0+F(7PYM>Oe{2ZM#sU=D)K#&(lVLX%wFZ83M z*qI~sS?n9`YA5LLHSfYjwO4U$MB3KgTZM@|X-wmqt(Ni^E;>~$HKM2nfypgMEawo; z#_`r9pw$YawOz(#WNiysR2@5t)^0-qhBG0Q=uf+nYK1HIM;V3_yP6K#_V;2q*~YU& zAX&ba4@##p-?8O=uqCiq%hDqom~^>==Q-={KL1U=^Mz?!#NhsN9!io z?>xKwTc>Gm(ycyY0JiovUrRP}^amMV3x26Sv;*78xI;^e{%3DIUm5Wd$DQT}>sPzY z*`cFx5Tljr{Jdw#s^KkuYp;cRTn6X3KDt0yt)a(HpQG-bG40D5!5{7l9A<7)$8b{V zHOHmLCqFQ8oW}3}NG}^=m%d*yh0z3BSe@YqkYmsBxSA?-tO%<`E0r!0p=)2m$ixq$M7mo0Hle_=*mcsE~@g(AULXu>;3G@*2r6B$jZd}qz$ zIOG=LV$UZWEZh0MNp2sNeNl|oXi2BI!SoO9NP*sZK*c@qy|%4(8GOy8F9>1KDc+#; zFlPw5Nf|?BS|9qIt7<|7L*am%Y=TR9{t%Umbr+FhP^b=jjHjM(;Xza=m_zx_=u zY{`qLn0$dNg`Rrwv_D>MjaY^Wd8*g=U2=SEU#7x4;eF!g_qvzx7QxU!NxWGO8&bLm ze46w)zC?-cLZZ_co6c5Q4mB=grCzc_vmsnpvH2uPi2U_Z z702&chw>A$D>kAZn(rc+86yNRHNs?===PDw=WQ@m#i8I1INxvJw7cKNei7w1i(g-D z=@v<}u0_>wHTY)|IG7il@Fq;!klPdvfE<$#GR?9>Tju-(OL>Xip%!8wKf=Ji^Ex}{_Hd{ZsJzJfo<5 z^@zDOJXP>M$mA;PlqF)&2WgN#3#kS^f|D^UN>6CSd$RvUjBmc$c-nFXI2MOwY$(KC6 zx{^D8e0&~1>&md&ef2RlZ(J++?K3#pp#nlh82RLP2t_OHrL^2OoaU%n#yNDxg~Fhf zKb3^}!cdhnYW>XiEUX>B6ch-K&d%!ONxRjP=o>>ZiFO`+sdtSCe@G6pDl76#7{-XEWamPCfxH+f?E26Pymwl?3HT1lMlJhq7hfgTBdrOx)vRCY z+YQ5T6VBVD9WMVqePi>XAvL`2U^^&;5eHgFosdK&87&2Izauf(cf9Knh zI{p~A${oaU$050 z@P#E5Tj*NUap832GA<13d7VsUE2N>Lmmzr1X!3rG>{URYKYtZ2vZn+)GP@_vg1p%rhlc-MoOxJCXL@m2pB-TJJ|qWCyX1llk8g= zJnmzn(;4kEJ;cJyO_E($B-M;9Gu=VSjxwISiwJW4DRvv(36C&?Mw(J5c%emgw_q~m z^Cq}EcTAo&gzIq=1?NI%@0n{h60g-on$x;f+tAS$bHp4~!=GLFlZmUw!REp}!Em9L z^~deSEu6(R%}lD#m*TXU_-a^LG>HI3$vSwi!zefBUb!@9G$ziy7xxkGCVj;u;4cnq zTGqt1eo>CQ@3?ixP#W{~f&|Wq+0r7LoHvK}lehdx<`y2S1lbU>QXnm&jAuuX3 zuZZW}Rx+|aTXYB7-*Nm#O!FWYMm#H2i-c6b!m+<7HZ&dIcpN-%ZXMaYPz{bxksz%9 zK5%)S4nn~N@nKkdh;nBSk7WLQdxNp!L0;DHH{&O0CQzbiPJ|bt^9=KHphIY8I-0?z9Ezklr_)X4@^d^ zWzzIQP~D1=j?31+ft1Sa#JdFM)OMSkqu82Grx-1{x%*|ii1~d+0;XH?>)?xl*G06x zvMVW{h1P}a*Zw)FLW`P89-Daz7nMpCHoPts0JH~I{|+hyNmoxxTV&@&CiErX<)~HY zH-V~@yzAH77sW9Q;y~N!ggbF~VFt^XdNt1p3R6FBcqsljf;y)x^g`4Fj!R0C3A!TN zzlQR!k4z}P*`@yd__5FF$c`R2tY1a{#esgn7FArJ=3JV+olwr}qlM0G<g>fk%V^ClQ zTggfX=(0a0W=|kmCVUkwHu%f%qq@U-2dACmbWa)r26Gd&`ZTO7jfGP26I9L(oIF6k|Wvg4AZ%-C9BOH#Dk~zE`i)#78L)mE!#2OUl(Y7xu?@Pb?z6_m@+m=j8C*k z{MrO3*E5GOF}+9EU%h=ywNi6Y3fIA9v+FFls61o_xQI#AGMKPcNUt|~ z(5;5N`_Zp?v}O(e`fO&XGgZpAe)xB>{80AcwZ}9v8g>pdIpmYg!COLJQj&SlTyNWH zr8nIZvEsVn)cbjt36ifwDa4%56%L&c;SoAlR2hchG|$x}(qq=e9+b8eRx0?s0O6_| z;QDe5#e-iG;0}6>oJ5&c_++nnH97P?i}vfhTp&O`t2K~4(}dJT-ix}bZLkL}`+r&h z6VkrVHou8`6f5EDs_dZwM5`SBx3xvw1f{(7N&;wDGk<6(xGAKrS0>$GlfWtBeRWi2 zX|MsQbB_@p{3NDy5lL9oLX{TB#s@MMq+>+>lvQ9DbXM7!c%;J%Eude~Khg6V4}a5$ zCczaTgNC|Igg#3=IJv|XrKr^eqsHtX*W>Ak%iE^Cv*T-iWSR9Xg~tYG1T$!I+Gz1R z+c(UQYo)h9F;pUa#VKfYOFbUSCJ{h+kP1+0xRqH=J9VA?sa>wWZlK^?`dsAb^z|gy z%r4T}FXgN?z~gBE)?6(h7QMwzHVE71J$$23+i`OvuOH0MZJY8VssN7AP_$%aGB zedTB?zi^vdRVRePgm?%e6E&%-$uJV6PRv|PQ4ZW#<>xrVSuYvZ_Li}A=jA_VYzrmh z#?8_l3-~viN^5?!uzbLvckmvmRX=9`ySeMJX1R`WN-^aXy%x^?2V@qs`pr3!X|{oL zkR^O&YV^nS9Zk9l?tdU$VH~58pC=kds*z-Y94p>IG^R^;*iCg5*la+~M9Tp~9xjJw zzn)o0k3t`^Me#P;+}}64nDz`HIx%yIwH)tK?>qSlt?zY&`Wkt$jKRz_!Kg&88|7}i z22;?e>%c9CNRF4Ncmd!N4i88ieZBr?3mDWv!MOx}l9&tZd^X|e^{iK#^2x(2Ez8{o zRff1j+x)CtA_1d@r+n^F8wC?D6nES|EIJs>8wT!l#W}SOjWCYG^1wEpjObohWUEbMok8s3v|Um`cB{^O)&~Y1&8b8a^I<6M!5?k zh;0Z#Z(mqI@+_O@t|$ccZ=!2di%#&&W>KdmT0(Z?VdGthCV*98aR$w~gGLEzcAr^l z?hLRQ2@L;cyhrJ+n!GQlmmHvEOTUD6cX`@Qv$|O=vx^VY;G+Ee7onHAHx_~Dk zIrXYdZz@%~hOSET)Dw6_7`7#oPf#U$|Gi46t5b>GjP_7RZ*#1@9_;&bgcY>*h@CDP z%c5%25Gdt{z+iPSp7d1w4nlw@fRkQ&p@KMK!@|US{P!C22U*>C8){I_&PEBBGOucR zCTeF2|Mw2cOm0#!}UzI1V13v_P`|`#B);@b@{;4K~}>- z^fzIumz_-vYgH}}E{iLM@wvyEc(U9EI*$ z8V!dp+dF^z83k|ue^T53NyYHXeD>V5es2k)1$PZwhR%4N?!YWt_QRb*a>!8h)< zi|OAwH9#-y#=g}#Y_$_PLBcgPQWEF?5poH_cK&}4ly{M-?Pc! z(+WXsH6Xi^M89HZywZtxMVm=AE)2gB0yxbEA#=nt%Q~OY-GTz#kuSJXOjcAqF)5ba zTEvDy7H5MJt?Q;3sbj?X;L z8v&&}cT%yvEwLsKojcyC~sLL;%SH9POBm=lNz zN+rp-14TK~wTAkW6kmSRJFl>+AS0C{hR$*=1pcI`xBafG{}&(Kv$ zIisS(9(dWv{(ZHDV5R{fLunlrQ8(pRz>$I{BI~oj1xz z4O=&!^{&id!tuu?#l2HT)$01X=0;|h+kyXkR7FUOF3iX;h!>`Wjm+(>64vhbj_JAo z+5!=5Hn>i03=Z*MycB>Gd^G zytB?TjP+SG|qE$Pen>Z0s%qKCb)DgA1!| zlWL#vyF8~wyb9c!p1B87gjvg@#8Qz)6JEO7PXm)yoOe{DU$h4Ccv6qmWrsU z7?!8rbsml(1m)NNi3Tn4{(dn!6C~mg9EG!K|FaG$a*t zf3ioXWRJ(`B8+b6qL-9 z1MVuX#PeJ0q6Bcl3HT@(@K5`xk5ny&l|i zZ4Xazo4Kha?b$&KgS!yg5i>C}3^A-l2r1eaLy~3tpbk(*)W~YvhO*s}W>KCF43Wjl zKSvlxgcj10Ug!O?Y&uh9el0O>%(zUKBH+yM^=?6sR$V2N591_M= z#`>UmZwJ^*W%RqeD`?#L*<}!QVAfaw3Y*Q5P^pD31=ql>P7(wP!q6rV!OLf`A1j_7 zjS9(b!ubrA;BZtl_}$~Qqs;TU_aK+0!ZCNKLY{vZI=T+pd5%C`x1?H64f2e?L7rsy z!g5|GnBL&|!0jt5Jg0Qs+e}IBkDUjHZTUkD+p32A-M9Hmgl^Ky^3NQ3+zq?glqdLx zIc7Hw+x8r_TRxuuze#q$8TrqO(M@FY;l@kdKHnSg;_tgOHXW3?Z^unb-ejNLaY5(| zJkQb?(qW;u7j)O_<^4>}L@^t1^3R-0;|>E(f6@aBCh6Nx0AyKmCCIBJ50}bjzJ6DQ zo>v?ESCHY<7;YkFafc7Rmjc5+Vs>8oSC=K#X7-T>ohWg23_dXri6{bUJYU znUScMfrlB!1(v5QUr}(rUmo4a>nh3A{2h-Gn<5cn1~Tf zUkrL`3XcFVs}hv;%-p~A;E(3&kT_AO5kB>?XsgT$xR;scTrlIJUvHt4cP0%=V2ZYm znn8DkfKfH#)l*qP&M`ABAVCadHBG4lzS!KAv@D+%C8_yba#)K>{2jn>Ss^+cKMor> zXVYAR!WOU%W8#68t>R@aoxdCMB1u=Vv)vKKXMRz&uXnAm6k;c+9-ikSzDTFwA*9I$ z;k{*u^pV5$pGleHS?Am7M5N}i^Qnpacl*u>WiJX@987ig8Wr^X-;n{5%Ibl`S4=Ov zySRyV1B%5OY|Vc~0dOEAw(FWB$FcN;td>U%bSjgRE+d6DiS#$-b<;`1#2Dpq%}p(7 zsVrM(uldI%e+y;HsvpaxuH}d2d{1dHyDhWRh70!D$`g^UTCvt8qj6dUtF80+#scUb z4mCic=?po9OK$LAjav4W%S!^Cwpi}4m=3_EPi0!ac*G{;@!VW*Cvv1a{uI9~1_F>P zR<1h@djmN>WPHqeQ^Usa!g9h%(!+-N9h3#s`qE2sZbSZU{DvMJT7*?n6R!^UIDXWw zTkVv=4`z1~fz>Xpp7YM`kG<}>vYNi_yJ6Fmo9}} z&eg=w9%tVHq~vBZ|C{{B@>dVR3rP3-^GCMtMfZo^8^qTR0V$dkEA@j}g{!Q_b_1l9 znO*APN|QcWY(MPPdEVo2=LCJwN#3q86~2MLB4CVD`86$GU!RZbE*T`^j4 z1`Uenx0(WXoj#%E+r=0hRY>z`9S~CC4i0V;q2O4sxH&Obm3@vw;0&Ao8b|^uGps{x z;9q?-rju^BjEkP#6F~_FZOOA!fsT=^#Dv>~WJ>amqIl^{J{dT-z!fCZFGe7#@`Q8d ztk`D#_sd21Gp;`qMX@|9p}WRPh5i8@zekqpy}mQ47}ne_Ij}LEix0MFdw=&K@X;z! z_XUO5100L<)|iT&W4*9vQ{is!6~95sa7(-#2l39~_|puq(=p{S>jrpI2jnPN!~HW2PmYGBLyrts z;68eSn8^@1^>p@~&J#S(hi$oD+{Gr)Kc?4N#c;(Fu*p+8^bf;mbTcnWvx8~m>71h|H}>w1$^C^??cF!;ojPPl4zqiK}FhVXxcNHW}m_IKrxV&=Ki4u z6ksIZy5abkD^c(JAhMFM=_y-!7SLHWvfq05!&dQ*^9TRaxi5|443{1OKyvdcOZUlW z=nmgCU&06O1qAQ7m_LQ0?!E#;?l5h0KqF|$A}54J;lSp0eSO(`JmE2~_RbY$kVgZn)(|2ke0G3DaL_QVwZ?y-)2UVpwvTgV za0rSr*tBKa{W8+WWc))l&HYQLyD$tuJ7Ci>=%|MYym=Q+5gjDT2y}#c@jRzV0;xN&7W-6jiR+kZL9g|h#+-)N z>S$QfpWZ98W5`jS!-<0P07EOyCu?BZ#&h<={@jI5hFYbOw|#ra1i_=xYoRN-!~8G#y_B4Rf0G~Yi@=}Z30_{1NtMH9A`41u=<^a zRKve(31<6?hp+XiKQc(#?U{ewXrF8GwT5E+>bmT%RL+3 zIaodS#`X?LYD7TUD?GL-N9%9#|~>0K8Q{cEopqrHVhH=%K1mt=LUei6>pvTmWPz{OH}~Moo!xqV3x0O zMzqXA`Ob^9G93&D`y!t~w!WCUv8yl@aven4(6B0S(aourUsUjs?Wsg$X4zP?cLvYx zY1?n$r~lT=!TKbGSd zv3?o$<=qDCH#QP+XHc4T`L?gOI`<;ydm%SKM5rclC#i~TQN5mn-^nn-GqylOk--Sv zuc0H*q`NGizmmtS!Oz3^!1Syu2IKKBc|_>)=o`j40(geKf0Vmmy$_gmJapQ=+a9+t zj=xG+K7(0s)k1?10W9|P0yn&Bblkxks8o_?sNr#+HB`Tz1Zw<{u)^pWItUOL4a)a{ z+<)hRxtv{I|H~SbdKmShCS9G%(410wzk?cx>&_nTv+lBIm>VK@Zj?9rZl>hK^~}Xg zl+vIb4JF#v|A~ZV)zo_fB1;}q<)^-DiZTGY)2`h=?LCwWj#Wr>uR&;VMD|a#MU#vy znc(aqTEx8zZGpD}84eslA`f(VF?DE!gZNm66NmxXMK_T?ap1;BhhW}tZs|LGg@Oue zs-Kt>GjnMH`xl}(cu0wR)+cGN$7AvS7TVm(CyAp&GX@?Xh6Ags4z*N>JIx-kJumQD zwwF&HlOMYuEZMYs z{=dK=#6y}4b>)KooV7#M8*+$u1}3=s>dbRa6dU?wtR}Vv^kK(Iv&XtFSyNZ}VIGHt z@(`>*gk+i?H;O-h-LLXi&T7ERGizqx-KkMoYl%i;qPd^!RXoqeLuBV zNZplO@CLXr*#nea*&nARB(w%t_Cv9?C``+v7*dp{jT5L(N(2eX(YeI9>sL`J_i_lt z9)_=e&n(UIX!q`XnbmB-+a~o(pl=?WvF`XVC4M_;TM9!?+h+3u(v>FiSihY#**HhV zf%lVot<-Cu736p>6K7g*Cz1bI?5L2m$?N(SZ*pM~SgRElz6tP=ihRQ9{i3^r*{(j_ zf%o?PdBx&x-k0PMpO~tqhn6N>-lj@08fhsCY(Z9FK@QMb5oNn?&RVir%%rc`1$98f zQ}^gS9QWS=?OYk91-#b3zp2Z+=l5kRCp{(PVyCu*r4reqACPGV0gcRu+{9@2Jpnn~ z|Bdd>X}R}Mtf$^_3j+@mkdMA6dwl$a(C2arMHKEf4*Zl+B(0JMQ~)rL-MM>xY~X)? zOCCT*;u3uh(NMu~%-kEJ43^q&);6+E#8a@4M_&*j0f&8%iDF1^*d2oG0V&$XPaCy0 zpY^TFFR_8dUWltImK^Cme~RKfaNCS&e9){>YEmbXOK;?TV1&UI%AShi$m?R5gGdW2 z(|@ZC?_m_IQ-zAfTZ97|5R8cnH)0C@@mG+xx=Nl!DxqscIWa+Fm~aO06_pT@@9+Dk1Ne-B?szq4~!bWzh9L`WWy z0JF4QxIt^ZmQGafdUg#oHgO*~6BcQ#6Un|L;KJ>J9lH)r+d+teQWbXmZ&s;TZg3sk z+JVeycYKx%_+dNVlhed_w$cU_2q9#ndoqKGfGGcM)!ao2$m>$uLu+a~8K_Qtq!IF! zMqZNeHDTmJ*pyqR6KZOEkQ<{kTfRQiJ!#e#QxTP6WnlQHOgLMTV=a)5ff}&%q53vk z)91cam?ww4XZCXX{WQJNnMVi=@5UXM?wCLzk=FiUvR+qKR?q#Tm&6%2lB^pyOVh4t=dtD{nX8< z6!nFqo%$@LmCJ>*M?-z^TGS(L5Qlcf1zZqHqlxzJ%k9NryrS{n;CF&9PpQj~vBL;c z^Wy;zetMJ#VKzCE!S(@XN`MAb7)?N#zjQ?$s5C=L{>iLP(LXBC;Rre@b(uAxGR&%2 zNIsjfUBj%6=}Gpvw1{T(V5KUJ-`B(Vim~v~B#60C?}A+mByk;~^+i3bLVwTovWIL) zWEa6Q+uKhTv%}NOI=D((o6&xU&EDyr3+`0Imb;z&uESF*RU_in$4xb)Xr z%U{&RKk8Yenv}p<(>)^6;uwVJM z@Ulh4m}YnQS=c&qUB2m&?ptZ;@yO7iGIYJ4+yVL30d?KYRvZtzKwW$k*dFzlR(_ku zTAzZtoc9 zB0h8L{0S@vfTwaV%rHZG2eHa}?r4H4;l?q(T0{v@`PKV4G9G1tRg9t{ENvU{KkfonG6~atthnBYgafgmQ(zY#z8rvWst5)9#jz z;YUTKC)!JAs-GwMZc$j}2^y@e`Y?pjnlGCio+{J#WWuDvn*0z;e(;FCcX3ZKDG0`L z<>;Q2x}|Os>f({bwONFQ;UXBts;Cv*bNS;@3)o!?8|50u4v6?fkSp6x%d}SW=+@oo$JDv!F~7AicXug%KT&95lmta+ND|9p3;iO!-}?158H3bzE9sz z-Jjc^@88$H&)aYF-(%em{GZzsSVr45q{~miz)tS6| zYs+CiZ&3EsM^#JC1>?eGiEpwh@9F(cA1>lyCmAw^3cGx(@XX-vjO|R7@0}CB_>Uki z4|1LL_gIpLtQeKm9b$$jM4lGF8j6jXVGhph_ZzUJ2+$=Xz`g=2Uh2Y@_;ibfqDR;Q zPI8rtxGp${u!2TVJ3u_43AD;8@=AXLt_oLwyEgcn-O4#;VfP`(U+1>s6H^Am-NYng zJ>65dfar5N<4u?*IEk2T84*Km@0R6l8$OJ=8R+EnxQyDFIYgIy66^1IQWd-Z(o*(5VC=rYo1XhDK`z zpArPGoS76$W%XNOvvfu`GG<^O9kPSrv7eBCD7w6Ve3Hb$_JDF9rHZVS3)+x-&<41C z<%Sr3RVa(0K>}xEJc^V-46~fdJ@r~AV$b$8D>EUVA%lA8g?EO~#$J65F?3 z&GGy+`z`|P!4D?W$#pPY2(*z0yGKiTZ3yKRg z=$k|PkmCom+6?F(MCro!wpUJ3+x}sTy!?SQXv8glW&(46Z_PWOlgdIy`}v}el;2{^aD0_h4>G(m8Z)gGm4P75%Fk+ZT)!OYler8>*asPP3RAU_D4hFP(=3j=>G?m@sta`hURJL()bxm@ZcrvbN^%16F{v*RMD3bS*b zFQRmJc3OejX=t`-=#Q5Lq$!%Uhd=DqUaZ3jx&{G|&ne$3i(fO0d6!qe{%h|*!Vbcb zR&pFq>7*{9ykxi4Pw9a%q2Eiy)|NXY2I-B+AFPitseI6T-hh_~ER5ZcA?g4(zIO($ zN6jBs_zE+A<1w?fpV-;ReQoq(y(yg_G9Sf@3Ihpge0G-3zJg$8Nm0Q`w!++21VR#Y zb;#1pM=nQb+m%hi2oiJ|gSzy-RdSoE?DvC8oRT3!r!dIjoq1G$E-hM|2Obk-8gP8j z=M{QRxA}f}b^!qIWe{2&3?;fCpU^3~>&u7tHHh6}ROL~{GwvM;j8Wgfmg<2?F21?X*HmXovtfwUvvlO0wVzr2=e|uu_gf7KZr(R*=_#94fO0tEG&tPuF z#0>2}F`xfbzEnfl&_Wk~4vzXmd3hz1-U@knwn1(yO7mR_iok09#4Lsco=>6=Wf0=4 zXTs0%<+!yZr=VhX4`RkAaFs&T@IV}?^Sofc|5s^mB^N~+T!-NKf&y3{?j#&)ebn@ zFeOqOw;%OW`o#tn)$J<9J(6HKU?S#eBa#MWvf|s~;B!&-T(F2J7eN*;+ETW^9Y;hU z%oQ)*=@b(uXT}{c{tb0r6)3@w2fn!VBEd_+-PA8vFAIszEW_w(xS-%D82J^@fN%%$ zq`&?g>~gi4NSJ79gF~p$AS)_|Ix{_?RV0#wGTGp0SiV_@?; zmUZ0lT`8X^OPM+rk!yW(aXT_yBZ{6Z!_P?HgO)$Kx34G0gIPo(sG1Ykv1AaW|d|ouS zL{g8Cxyt@&P=qA-OZMI^Q4q(Cimqcm48IICvpbfcWiyNsWKN<_Duc7>F3YFzvTKN6 zTysxd()4XQ2Ld=?N4vMj@-@PxZ|>&gy9Ecf+5zDQJTAG5MmT)Ju5p}R>_JDJ!KukM zH(-|*iM=Rj_sVwlCUM+2#8%S_AnFL+OxPfQoM{a&T#gT1#j^-kk9X`XbmT6wMBCm2 zimcqSqM^EZLgcEfW)_?^|9?YEVngT`@Y7qGsS)PiTZm zLP|Saxjp%`eG7Hg2BCUPcx63BB$HZQ2|Cc>-FeG~j<>;BmCyA?r&~PxYeYZy4SL-0 zDD9fL0^8MdE*Ih8J_=1YUzMh|n!Pf*(9LQ{pl;swuvHsTos#yzIHXat*%-}3%cY>D zQ7I^vuWA?vwDT`wYrZ9V4F~gAcg188X7YL}x9!L8T1}7%46h>V@VYP2pQlat-$IZm zi1S!p$X~Ems&i}SmId^EP8QP!widsWClFa5{NpTOI|d>0X&^)XUZjh{DPlQ(KKUr-;2rbt6p>Hs^}X6a%YchOlwcpxW{ET9X$x|46p4sPLcs+JZjR0u%Y zfzE~;2o6F-0J2AkPwlrwza+z&h&0Yw``jrPwN(NseP_jI&~2>cS_hq1p=$Sl31)Rq zFydjeD>sQmS2*iNm6W7lwf9%{msGEEl4e`Y7k$@cF;2ZP$;SpgqZiuX5#_t5(7;3s z=)$B#f352~(}iBD_a=y$!fmaCIzm@ToCPW-xeCm-5L6&4k8EqLn7&BP09KX{txob< z%Ft+#!KzyA0afN=Mzlwge_F)4btoZe>62ITJ$P z@3)FN>P~(LKT}4kcE>ZCOFcNva#iuF9!(cH3q3gOCr#B@-?l8dAXimv(+0jb15+-R zL9ml~-tV_|6s#9liysqgk6J?F#{b<6Un#UHUAzH zH8$a=(#pMO3a-c*C@q%@yg9DW?mb6D_}{b`9;BAV(-dLH>t{cYFrnyn7Fwyn&)A0< zSxb0&hRkFd158|2wOCvwNFNH{ry{@@#edgCL%%lojsGlxq8C1%3W@C)u#_vWqLJYWx1_NuJ2snund_lrGY9e$` zJ5Mnp(*32&G;Wk6jN&wvMb{7?9{uPF1S!lSdi9AE$8LifZWup9tig~>UYq<`|1vOG z$xE9yeKppyDp$qT>&T$ zK{H{aNSse#H~KqO${XeQT2w9Y;&<3Hh#*zGq;WQ3!*3Zv5e0i3Nc>!}I2U_xn5Pp< zNm_~Kq1PRR28c7CF?Hy4&`O(8xY<_wbldpTpjTyckRX{Bv~cKm79L!DRwb6RC@w!P zMPpf2RFsoa{vjPkd;L>?{7^>lA4aS3#0jMHsu5fdjQU zpDs1O0&$(Dz@u^JrE;gK87FScs6Uly+wL!r8X=qjr9@*i;i5b_f=pc#WkOn+MoFHsXgmT zgr7z$&$OS!h1%OR7+#(7z+SYs4>Cew!Er_a&@bMsPK9#nET{d&&eClTMh&5@t?QlBXE|dn=n#?I zbM;nAOxdFshD@8TN(q^{A|%1#4v=MLIjDU-@d2-|X?yYzBrV_onVv`%7D^Tt#mxu1 zk2d(+r5_AX5f|wd>*n;{_>Nv0K0odzPBXQs(UcT=*aQ1}Hpl5!tO6$`#*a<>H~iAmsB# z0>x@)@CGK+F4*-L1nwtilJspr9@E1^Rs@r=&xmoxmX_tyi0PxLD}p>{c;3J#Q>&vS zAQk2*xLAm(>&z_2X)M>ti!-(>HJ`AM8J}}MOJeUJ>u~FWTZw!)?nhwSc>IaN zt@uiSV-Bm2{&4&!Hh`(i`_ey-Q{Vli?~Z_MtsJ|=on(^Y*rh{>O5pN`s&N*lLX@^i z-Per=#I0J#4(}tPRFGd+%_7+K@w}O1M-u+D$6g-o-sV3Av;VmwenjWP?f*B_K3$aN(Iz;{O|MC{Y~WOa1bTMH< zL2~u!%NN}zSLsw(C8my!CRHqVKL5E?d&uoM{FTd7$!-4u37Yu#!As?_2g=yGd{f{( z6q|a>LhIVHNc#*Dc*M%A^FY6Lm4OZ@I1+MuyqZr-k7z4Mb}$DTN;J!O%`h%a`gCjy zfpgC+-!MMwRGf5@@L>PhSC0|)l_>Qxzr&JxzK9pj>b#EJ)LG!L-TrX5-;V{mPhKm_ zM3Tj4BNCo05mi$F%d+-kCs%9I4&i6Mcz-R;3_$dgbu6VIrjxY0pz`6FU}!RE?4~@H zA#&G@=sBx#%%tUGwVAaTgn@t|WLU~iZB}}k5*VaKn8J0hA?U+qP}nwrx8T z+qNgRZQHhOJDGTM@4mPD4}BWd1)98mn&fbF)ARyWWohilCW3RU!KLkoo0U+$(Ux>z z3#Z&9rDEJjV#qUS8QlOBBPxHTG0^t|usDKdJWl{~S|t@5DmBYKKfYEx`H2pOrBG4& zEzXpK>G?B^?yTKP(pH{l;53@O+w4-QfQ`y5X{*t-8j{a z{6+U^#|QjuDJiBC`Za1i`&KS}^g<#kIZA3mQL;M@7IADe9L~?-z5C0S9qkC0ULoUo zL}6A@9>5&NC9hi=BvCCkSeav77fmKbFw$OOqwEV7Az3`q^rfe=A-s}r8x+q$?H;B2 zL;+xgA}Tl3uN&z^N=Z*p-^zH#q}FoQ2+@n@SIb$%X5-+Sq1jJ$7GwYWL%QG_9`#|F zndX91>(=rzI}srx`ToXn3+9AxI*K($Z82m7Mn+Q6w)mDYrM2HGRM;a$Ofj9*%1nc~ z79Rfw)cZ2^r)zsUCrB8?F&wSIpCgFjCQ={hAcPgK=x&P*9T%yf;4T09QhnXv=DOHo zcEtN-=kMnl@)bZC?)yr-40i;R9FWDr4#6zYDzgSfE&DSE3tYT=Z>8^X=-Zj(Ht>v! zfeZytEHtV{W^&lk?}9whgY#$4?&Bz?+`AHs2QF6NjHJ}$#?A$<4Vq<)Aq^YX$r6Fd z$QdH%B9WDH`73%)$c4;g@4RQt{f8$rk94$ou^VCaFK1ldDyH3$2@CpzhbGf84eA7n zu>$32Iw!or5?GB9J#J&>kI73dc{_K|SB%`d3jotlrtp`Clrjjqzp~5(wpR^CZg^9n z6V|nP$TH}t%2V-6+^?6T+TFc5lv`^1k47#sfFAA+fggOcDDRLu|G>1hwFJ+{a!TS& zs{iJVm@Hu*jj+vvgqgTzl|Y${28=il83!qb-32fV#acfA^Y{->?87yMHI4-1S|z zbdud^D7i5_40XfgVe38;^<&1WA~sFStlV7`{I!kzPW7WGG(?v@4X9S6Uz%aVU8VL6 zt50)2C9Wa6uEYVZfZKuz#vLk;9*87}cC}AURFXrVFjj@@@o`fP&Z{#klw7}A?U{fq zhq*xb)YX+H-orvCq~0Az=}1{TD5aAIc#8Sa(~G(QyCDzBg4Mxj0Bni(-omWct0zo= z5+{O|CbB2w0&Hz9_=B6z_d*>gq=-FAmGKGYiVapNX-mECJC^H_oWR0sv;U{Z;!=q3dGyuVyNKf zt2-*To8eF(cH)DXH#84oun}ql2z;`4k>HGnZG*WD&T_&%dKRm zLzZ8Q^8C0X^l-O^8DXQSbX#|eLnhzmJ%Byy2Cx=P7D2hZaAZ08gM?HgrzK}oS3WOMQuLO1v_46wO0OhIJq7_EA?Fm?VBpd^)SkP)zaFC zg7@1O-v57{fGv$Vb~{vI>zQqgtaM(?9ja=(m0@r;AdQ+%l|DVcY@4BM!$ytmmzR8f zS@u5665RX7*Z|@yigJk&-cEz)NK!7l5HS>s)9U5Dokq0y@Wx9KTb(?}#!}XqqG-g> zT#aef`M!YlVv_7qe0LEYh-wvQumtX~XtzkQf7tRe>Uy46=)EMcgOl=I~cz2M% z2Hmea6#hkkqf;-94JVW(Xo6mo8$X?RA8?M7zP|pcuN=QI0jZ6@!txhMO4r_6-fk;l z8o?d?+c*-#I|8i^+-?l4X>Nf8NE@NyEzOWsqNkIH#J!=3hH&&wy|HiZu9P%4YZY)k zXNBat4o}MQ^o4=AHo-#>Tss;`h+UC8wP{zk`0qo@`8pWHwX&2}Xx5cgK$BBr-uNXP z86RonA=x)%#>-{vApFbnOj5aqz=(u1(iBlec>fs|(wa=wJiBp_B(@4f9x2SOB7WBB zPJ4Qd(jwux+yVgz{)TA12Bl_|7>j{X(AdR`#zVE8E}^=&2r!+)vBgH7_s50lCE6QF zYQ-3PWcB!_a*<;VwcN0lg#Z5c{btCAPSF%cPM7!&xE}>$*szGH>YQPKE(Hn3ivSas z7SK7zqN+TNkXmljB>8~nBi7&1Mc>JrI?J8jUpq&$QB7s#(i>t>S;h(B>6z6CHY>J| zoxs@xkMx;zrglu9scB&k)Z|YQK zgjbR}YbD*9W|!JU01)1wy6yy(@kRrtF#n9<@QPr#ynM(19Q1Qfoaw!{|MV~*+o;7G z_0#$q!bL-E?&5uQerSdN(H*pBPFnsHV)XsWbe7d*(PGct2HK(XYZubv6NTx?@mNWv$isf_0LR zE-g=t_GZeEgwQ0Fz7L>8-`$=F_)hJ~>wesG=^|3mms46$%PE3*=ei*`dCn_}gu>5E zHoLH3G8-Y-l2=P{w@hmxF)6y13BMVZ{Ts%nr7^9LID@mn@ZlVYs~BkwcL(z(P0kI3 z2L8TBop)bf`icBEMA^_NqG;w>xzj1(l*Lv;dVyMfE`_HU|D3#>Sb7D^QdaX)2h9R_ zX)!3EE6j#5ox!GylpozDH?fJYR=63wvUs#vDW}*I$;qLX@5Y(B6}0V@uSogbZ49g} zjpy?oJu_M}wnplSS7>^A;nF{Pvb>g=&_~0@$EvT*XJDAV9rgki8g3(85c?Elow&=q zIw;`Ne`UX*2G{)HZK_pXhf%xC(RCH|aoTMemF)c*@7a5*FzPn`GJTnOa8Keuy)>zn ze4BkYHbAe7t`Ym$3^*gZ{Qm8K+~|L;Ts51npRgwW7Yn%mH(cwh`aqJEo$i)p>*Qlz zp0(uAd5B(12>bqh+5KQsHP1bn!QMMMXJ4t_*Xt7G(fX`wQuJ$Ze53#2pbdZ=?<4*d z&E39{m^2vl1jA2h^h`0LG=}jg{=M(_ulH^D+y3ij_p9@3=V$rn;6GNb1NsoWy{J`f z4_Cn{gTUGb9pvU^L{weZt2oUorVYSJ=#Bn#CqN;m=47IjuSKz=G;?`8*IjgsMQ*ha z`wTK^gLo2iVXhtaJ3Oj*x?qjfc$R##$qyq&U}M;EhoaH486H|3zHX(y?7`)8B!e6R ziN%Tm!W)ri#zU*pkPmCo2*MzUj<$0^ahAbd8Ca#Tnocp)veK53X5zZ108EAzdwLru zI_Nv9e|)tWszO#xBXBrxa_X(ch@kK=XUHi#1_m8=NV`#Of-Gz;RV&jmN!lw$jWh5P z(R2vyY|VD->oD%dx0+}Scgc9ki+%hV$RzEr?ucyrc%nLg!%oj15=}|+DU@A+e167K z4>HagLM!oD8Q7PsCTes9kw`4a4(V`r2)>Kt{@>pEn19;53IWBQe8Ge6)8T|8C zASqae=-F5#7qWrJ!aWKXxHSI`ur?}Na(L@YRH;4yJ?sxN)Rn1yO8!72YMI_V4N4

    @qgqg=@x6Z>#ga98O`o`3Efj7GvFJzkCPY2}?Li$*DLd zOPm4an7gev$Zru%XSbdC)f>ZGs|NQY1)qgEnXmut;jWzX@~@rwxO27p_3>ruzXBEC zpa1fKdL^3@dQWdZxs@~6P7Pc~0avtVOFrwu;)w9p)WHv4^>t6vnr8w8U&6&Yn_G5- z4D5Xv6lci0<&x%J!)piC8K;`#UoU<`7FpDZ(a>gp4$^u*Z+}Ta+do(M--EsH%e6*4 z_`U6My9cwm-)Y}ZKYMXsjIS5PUcPxV+V|HlvQSd!tjWmPwM?g7(|XgIU%sZY@FFk2 z>UEJ>3{kE^m_}mfuEUtrpme-1{ux@u#NglF#l@n_@9Ey6;C_-dNQkjGSR0M=J zW;sRvN8F@)(x;L{Q)>g|L@`h$L+-GhUjdYJCK^3^G^lfR-(XHKW;5K)uh+4+t#K64 zQ!WiCFfBe(?8;va)cPu~i}F3L*4K9$O-CfaCj>c0Edhs`zkwZwRHq7w*~zw`4=p?n zyRN)tl#86|LPY^z$DAf z`6XfxF?FX8_G9c8JKxfGF-BeW;!+bNh*4x2%qI{PC{l!)DI|;#wzH@5oEHNAc(Jj4 zQlX4*Nb~CD?ZeR`Id7}A-wWP{b71Xi-H$Q-UcJ_Yro4PPxgS`_7#se(o?#_M(Smpy z`nBi#LQ^;`^jMX>Bj!-)L!_BPJ^7Vw0O8@6n!aBDa2c!iQCRFx6mmbVz?Y8&I2pI% z&7fO}4_7w22wvTVojgMR*a_02qj`Rt98~058_I1o3%;-)JXCH1J8$lsn76R)s;d9v zP+x!iB@eGwVYE74TVqB1=YRWu!K_`T|3(^r4)|!TrgNQ8w88NO3@k2)&W|==vsWO0 z58{YU!DLM!MfHTp}loL};U6OMAg177Hg|FhJS6@UfQ=SauKoo-p@;a_W7UXzlMANp;y{O z<(a60$2_xElL^@i@d$NCCnaQ1W`h!HHBc>UwwSA&^O426Lzh|DJ?B-287yTDxF?NO z!HHv}LTDO`1vSu>%scC(ON4_61EliLIsn97S$$D!F8;f44cuN;wF`U?MD3?jJJOpd$cyuNi_Fq-unR_zU9ilpXj(?`t z4Cdw7eT0j+TXwLBiM%&(_ppMHD z&cqAD-#SlW0`;tueOppC(7GF&rxL-_?~iw*xP%HsNc3CgwI-_b{*7EN>W|Nw%1)%a zQI}rUu_1rLqde`kMN7eg0hKg;2mKmL)M*<@bp}^rn`LbPHzu$J;vGuhEG&!za>qgF zs_jk;3K_|RMSMbB1$GRS}m+t^(u=>*|2K~%zqO$}z&Ykzyo=3Dh z%%$4;(dx=Fvlt=MtN9Ref0e(D^}d1i$n-Jgdy~Xc z>&Lz0wfx`&Si-_#diFR%$iD^Q*+uHNyZiBBr~Kz9`6n8ccNY)8wifK?^yl;EYWAz0 zAKWqt6*2rh%nAh02dZj9^xSUgi93}$ki}S8L1{PSwpbSjeba;Y@ocS5fpB6({x3M; zRdaHwp!4VytdPA&9mnZDY~dpo29q`s>aSBKo19$sWpq>?qF6NwO<8N3!*D^SPn*NMDuv#tYPCgUh@bRCkb!tb!)?y z4HSRKa~Mu+ohOa#l#IN-L{6=e{=S=FftBq`_po$zW4nevEeezb36h7rB55af8f2Kc z@(==Im{3bm(EVW8taILS0QcOeW3}|C&A-1nSd!GdHSku8!uF}}<)H3+wz2i?e%>^$ zWCSTjbZ)v{tZW1FE;D`J{#;k1l>yyt1)Viq*dNXC1U&1L09?e!&bj~rW}X4d$0w$GH$}4t58Gas(g-n}m&P;O(edoQ_X|v^e}A~Hz}fM(+#L@4V|GEe z+TpuunKM~OAQN~2*O#brCwklf6Duj}x8m~7y{3z&hdv_e$zQ>jn z!!f1kB>lO$jSKShX)1+b_V7IWmuAb5=9F!`2<53aOf^-(ymP{Rrq)K)ve@E}x(wv& z`c>KcwfuAZ^Wt}17K{oJ#JAcIT(aUjJx;sa`xDjs&+k`ehyPRibML3aU?>Z!W~|?~ zVD-0{IGZeQB{jUI+q#<9L+4&Tto7ikluZ1ntw(4^V6DyE@Qd^eWzC(iTAItSLmQ!C@S`p=i^;PD^W_~xl_ zO0y~~tDb0MY1%RdP}@?pX{Pjna$^HoG4CROd=?^bjmNxF(L`;M8|W!EJ~}3Vh54B; zB?n-UJjjCfkn%Nix`Q#Sn-_uW0=c4#zypG*Vm&9of&YYS3d?8x0Lb-$xGhi%+IVn) zgIB(ZHv&eMqw3g9W`MIMdl@QT!cu*F~j zn>UDlo^pAu4J!B~Oo^t1)_@lRMyR*zXuz9wg4%&7eC++D3au;C7iOzn{J;|Fh+Hw4 zGSnrnCnBJKhry#+S*7*;M*AFWu^EdLFT|D}Oi7&JwGsI=E-wiMWd#esGN#aGeF36* zte|cal8-VnO&@N@y>>KCM`MkptF)Vvy{TF|mb`Z%l)yL@epOF1Plcd*~d0Iv1D zt%jfaf@rQ$9e5bgf8pn?W8}}#x~9nnU+jRzrTin^15+j398_sH68XJnno%LD@piZh z$u1tIVLn3_wVBD=cE2|ggbi=^d2=ZCeX#q9O|LPVu9O&P;(;BWeD*!$R;2}zkNj>| zJyNPAGR=1SCjPUWlhG{yutR=>e|vz@%5KCXyfUAsb5uO+7WXT#lYcMk0{i*;x#Q1b z4Cenyl0EwH^7D%f{8{|@@O%IHoc(c*K)&+Y>p|-YQcyJV8)Hfj9&B;G!(O?W0{JJH z<9vZ%AFT*31;s%eoA6Z!(6ob&XNj;G-& zsyF{wM{7(=G9X<@*CvQbk1hl_r@M2qIds7}H-~5Re6QG%)apRynPv&;HIyfgSuNjs znoOgrHlD;qor=lUc1(?%#7WD;E2Z473Rh$+qpb=6zU*Y<1#;$7@J>#~0f!L$eK@#g z2Vvj)SLWH}{?**R0NcUpYjiHAXzd=h1F_OhWOO$E$9(i6cC+X9tU>1MJyt0LZT7P6 z=gmSf%9DyXRc5pTY|!&no}GRt0riB!y}$}j(46S(1v{UO-RpRK!WP1?IQ7^iDQ z#MmCCw%7JpeKR=28uYUfJXMX4+S?hFy%8Q|3HAc}j8>7vHpg%~2i*GMhlcm;SVfvN z`i|$sdVIs5Wai_A2*2yRP6rGR=!9;=)#uXI!fV@}=fxd(2eZqTUN;KxuQey;D&!xg zvF|bI`kOS!ozhfVsYkwPoA>p#_T?P{Y~giq2hF_0&3n05Lme=`up>~5UejVac)tHz zEx#pm%V2jz|9$nF86-|T32CM-~cl9=0{{vy*yL{|1>15Ou<$8**POyJ5V=h z&rq+(*;H4LXz1^sWY~5iGa-FPA2dAw-OM4>ebJOU#~x~ob5?P>45|SeV^q?}4nj=# z@p&g95o1o}l3@$DQD27Fwh3skUB#}Utz!m#(Hk=VRKa!LlFSg5O#TU}rY5$kH&{_$cSdY|BeOkJdLx zsf93dlHidSIgSHU4Efi|ydm@yVo#t2C891L0&}V(DlDU3y`IW9{dtb5+jGp{K*Bdn zc!~E1*!Tw>mDNyusKF}8;x>Nd6zXzRR?+$q>%mH2YW$dPHg!SAzT=4cioSx{Li<(8 zScuHd7uz|O4UDSEzQypY2x2MIA+E2m*gbFbIahz{mDDvDQ=GSc2qv!+oJPZ7z5sh5 zwqfqR4{-h<+DHrw#|wIZ`}l`{-ch`^(w?>RYW;(+n|P2PiTwqK({1Mbwg_A6qc_T~ zZZn0tEl0%gKWngHoQ; z^G-C=%E2?d;%~IK)6*1{$dBGw#w2`uvH=l;w1zsI7(mWHAMY~0Bg`T967~6=;^Y{} z+*KA7kbwXKYwC;JED{Ccz;&9Y>oYT0X0jf{^=Q)E?|6Ix`XR^s77}LEZjDL6|4@{H zIfXjb6EK7_jPu<6Hzde#s!o{PX}_c$(C@Ic(jykii)frjo-#n#@#|@PMV=tl_s0o+ z@janbfk6DS9t=^s0mcc2Azv+76txiNW3n75kejI7F~sU1@Lu2hy{XQpz}_Xm>i-DCPRLYjIq*Fvl9xvC^i=0#%UKU?i@xea zW($Q&)FM8{O2N?>B4&prr7q0lXw_L)z5hCKL}QCc+}Lp(bK!2~HD^GpHT($sB3sc+ zNN$8Iimwtzy>vOtK-Pt0AA*)672?*`&!HqNTS3xpakZeLb7}qIJJSd)h~3mgPJHv( zxi-I;SR-L85NyugGJZUPCD!QGIMT|s$;!YIX@Mg8I%M{N?YxKbIP80`?7R?ftIr|Y zc4tn%Vt45Z$GbJS!VzsMWW(xRP#7e)b!{^>Ms^8u<63oZ3WiN1K}&=5bRW&h-3Gn{ zcI98^t9K@Yw;TG;l;ml<{|Lgaz3utoBWhTMffxym8OEAfUGkhZ+qKH*q)+MOlB)uw zq@oY@%TgLtjJs7JJsYX6VXS&t@8?yq&8T=~KTL>LnOKe(Rm6$rXjOmfoOSB~`1Dat z>VyfCxi1&p;jtc%#|s)Y{#TL+B>YZ##^Y1Mw*P!qhuSKEE)s+MspdcjE!yYurUm0y za+L7~R*l}pI|x6MU@;L)$Q36`1%`eGc*(bmYW;+8+2%0M!>?X|smo2~5P^8cY5ID3 zEga!s(q?_4L&&y+`mZ#7kYLL^C(aVPe`o=(NQ=qH-V-cq)WrLg!5mxCzini8sZV8o zhP29ci@+<^D%f9@6toLfKAM4FU^pN!iU(ASX%^Nmuv-O5cWx&IiEwaj^cUYI`V=aS zPG-m=*oW#bV|o>n9lr*9^XUGBJ3+E?L;guFr!XDgXQ?K&?2JIdz4FblH6M@bTOCl6 z)RwFmIARw%kB=r_f)IxfZTS%>DuYQu@RXVW*xWdB+mk|cxC=60ET^q+5RK!)2GuhigO_`qOT8WD2MQX^#=rP_{N zSuY3dKhRWcExvuSS@j^ut70DJ+o@s`3=F%Jc~A6L3x0NMm+24yJ#ip<=)(*i>~t1w zf0WTHFQ9Con{@N5`^o5J`uP5G1@M7M(-&pGm=S`7e0zDmKq+)v9zOZ*U|Z^lzFUyT zcWv&&W+rW>T#Z;mte?^T<+AHIemrSDX}aZ*up|9VYrd={fL+^Mt+~SQe7vg;`)`9} zM$+eLLxi`xBEBE)#j@-2ecyJ|g=H9_3durO-_u#G^VIC!p>;_UYy($s{ZSAcpA>pW z+`j!#RNF0ilwsa!GA7wFHc4IJlZ1P`GA(n%Kh*^@&`SlAQigaT z66u8^POz&5djG#@d_d8OaZe}%F$bxmY*HJ)5m~I#(`t)R@HtsH3n?N+9IkJ!7wTL0 zjgnq@clq-Qi(v>(2KbCMRpXUo5L((k&@-qnZp|V@gHaQuXXw~c-xF(Wl3CvJshNpSS%RV8Fik6kTdpn+CSplcRIV6Ki;u+5~m@}+JA(bX8sr-H2_{j*A=^s z#uz3MD{}7Uwyi!ci$}nvxp4jKmsWqCd5pAJf#W_{_@=9T@o}{>YAVoZ$9>xT<76)AFmE&Cc>cyzv^9;m9_Z?{+O~_CZDF%gpLTa~*H!1(etzOX z*sZZ+xG~Hw1?~9vV-s=^&1KboE z%pPo8JQB_VoqRQZ1o)*cDcG@7_MVEI_Lf#}ha(|6%%w$|>^rX=DNQZJ2HO3C^Oo!C z8g;=F?B0h*C5wCiB%e@BKxjRc)A;E8LGoNmFsZhsQD{m5&)=ZYf>FDO^(nN~V0ZE; z5OAn+@i8O^Uq}noiE+egB!i7pWySImhIZ&|=9k*9NWiHBs0{-5NE5|3q1NLbg_sH^ zydCV%AV=e{I>RxXd{Ak1cO?`R7C~q#*5Y^NNQun!hTA_kwX;6z+BR!3b_6@{e+E%m z!xRd$cE>u9JxGgeLPgVO6K@Cs-FN%3!|5_j!|k%#81=S~_k(4k(zNmNX}u8>@hZl- z`R=^EGxmtJvIYx=Q6v^3tPZxR{D9djB;AI_W4ia5=}_D(ps$61B+JA zu0ehgtl$L?ySXc)socafs}j~W0ul{&HC6$t;?r4++`?~C=lPXrPkcC83K^?bDK}rx z%1)9b9iHew^dO80A0!yfXmK11Y~3~%L4t=k?dZ_ul4I-RT3Ugr=K(|z{aUF{xy+@oF+^Xgli@`{8WE2dD>zOiVu{6 zfQ;c;V}TIKcP!#^_O{%}094{8QO5=PVu?cmYpAgaaAw?_p^J)C4KTHME6z~y%V|2& zudy52#GC@FQR+qD=<7#m+J>T5{W}sJw2G_SBEND({%Fw=fB?7r`R=RVsea7E8d!aO zfP3G++sn)olVx~$>H~GdGI= zBYpD}IZXeZ@{DLApo7|jlKeiYto~Efuqlj%!{*BxBOEaMZy?}=F)e_q46~^<);VvO zWE=m46Bhc)YK_z%5LPV6x3E-!bzp0;QJ(`aHPwGm*J6ORa73^)z8(r$T&F&D-@&fT z++)JN8%Zmmb7~uaYB6y-N8o{W1Sj!@fU`htJPp_*BW=urVr`aH~&uATI`O?MxbY%4C#X z+`}(r_=d`FJ*eYt{5;wYOU!|woWMf-u;Ne=;sY1}3|R7;$)7gkXlVyXJfV|ob9h;0 zyB|(;I5GNqCiNm0K-^6gKr|c})|*%&^P!d)Kr{M%;Iqx7CouyS}cjSc501A#RfKdb?QMnReRf z2_;j0^Q7(_r$zKesHh~0^eL|MI5$#o2QWXv(3A^;{VNhUSk z`m2$ZO*9)z69K*p3Q5zm@BHe~Ovj(ZxkQj1*_eFtH~L`d%0SSR8bYy!!L>P=>OAD? z@V7PB@C3_UZqPT5!YZWTI!gZCX}@LE8Ep7;5fJ7ed&CRR6Vo>zltfzYxv*EviG8jdkWv% zZS8Zut1Zm(nJt|hBDi?ZczI9gYb$T_u(!?o-O|*D7Ac~i2BfF@XVS@Se}A zemrgU@)y5YviN_nAeaPL0=$yn{zRf&8qps z<}qawr1CK54iO6M9-3Tdl(x|Bc}{33OpBGq2Q}Vga$x9?kXBQsaY!=?9jJvuVRsS$ ztK&D^<9(87@>rNZe|Dug35BmXjzEqSZRD%9_R%!RnLP~tQm4=Kj2bV0Vbh{2Y2nL% zcgD{mceh{&4ex=Lp;o+*u8H1VGOtFZ@2VU`q6t%YfrXqJ%wTwg1Q3Gg+PuzVyC196 zWrG|DYhl*p*Z&10a=aro5F3n{lgpqtloG3AEGjQhrf#`eH#56So9lo88R@I9K>G~O z6ej4&)*(3qv)B)AL!`|?Q09&|cd@ODcnoKESL_|TAqpj>9oj$Dv>sEnf46dP5cY+B8VF8!#y~8N{X4UiBUWFJVQ5MkXSX+p{^!O*Y~M){W~`7c;sAzIz&?z6BK7(x1j>_VA7} z1ry@lTu4e5{&FsJ4a(#@zr9K2%GWH<&t~@2A9K~`@t?;AIJ!w?{daqq*Q2)b6&j(Yc4!k+hU5Yl%^KhQ}p>_wEvax=zZ^Jr-lu*wy8DVS<+$? zScBE6cQBb`;n)plYdgU>LmtyN4X*?P9RM+AMp7RQ(t(OTlV_bO>$$7n-^I#LeYtCa z)LMXQ7?AMlmUGTkU`rcL~IDLiN zY2$!qsT#kbxOCntcN~@a3S>H-`!HG;4E7`_fcU|VLbQDn5~5&03VY-LXOJ^TKX)w} zFI*asbNq#eCoU=8;^u#*&kNwIZlKThz&#uBN5_$ zl~JUsipX2$Sno2#66f9E*TLQ`+%NUBD8d=WRrn_jM2HDmHEiQn8T7q#T^CI|LkGek z@a_|8Hztv#@|lC+XrqaQUD;6$MjO3Ls~e0Om+Hv5;6^|J_28Gc?WRg22$C?G3B*ce z0Upf#U|dQpc>u)fg3-WeqPR#QsA0SgFpE*nq6FLtu{8KXD;51Y6#`d|GAIIeo6d0{ zK7#Vx`LvH}0BbXG_G{4)!sek(Np(2|&E%4>WpG)yYFV_dPZGn=5q804>xuE|nI2)H zVI5qNX5*|5Ns)iVbQa!0V5$vmliwxGtEWWoePXsV6L&jc6##Gct!e7yfPRUriy|iL zCP7+A!)P<+ao1;&-?Cd0%m`p#QLz5D2b-=6H3QmuiR90z4w?$Sd}hlO1@5#%|InEeBkqul3VJ?m_dK zdiXVYO<4XTPNVcpLt3Br^xHf(iAqOx;r4&;IJX3<Wo%ZQ0bgLGO{V`;Zi0#bEjbls$XW+;fuxiS3U1yXO zEIur(Qy&|XOBHQ?U-f9O)j{yGc9BB(2>&W1Zu7a1M_{B}fl>)Y^tKcn~$76s61(5!e3wg;z{qpVkUE zUNwn;@Gzw&Y9X5>QZpsf`^;ZABtfNd7O|-&xkj0Yrl2lwJ~xX;zXJvEaiq`Ze7^8xUPn%G1vjWSAsSlm{B?ZZH&53mrB^z>ZqHy)b9YN%j+KvK?;c6!H z#Fmm%z#G+WN$5Pt$vy2r3LEZB<|_RIXWnxV4Pg{SNh9U2C|3vx!WgMMHu1HWr!g`^ z)gc2#=@#mC8h2V(ShsMlL*A;ww18J|3Ds498~UUfhUZHkw2wX;bBm_gwlOCq$^qCt zc{1aG2}Hq}h#IqthIJly8boW6d&OPiFgx~|hyxkK`w|9~E z$YUxZyQMTdg??L{#0%JGO_&d<5TyenKxRX}S^fx=6aAAySyy5ra8$zSR}ofJ1-Ae? zON%Mlq^YPktRaMD+YFV8Dq>4=DsTdHRvHWIpO69mYk3@)gn_b%S& zAzzHunD#fdph?JV?nlF!lR%8!JnTvON-X?Tdyd9ebE%;NQ2N2B5&WW}8$O$YZ47j> z5sA(9lC9>YuNYjZw^-Cik!V1oJ5d<(kz)0=VA(^#d_>C`?oy6|*WfwG;F?`E=(w}7XI@Vn5Amn2 ze&|&C3iH4Tu5LC*u3PMkT(E4Dl^K`MG*GRYK*N2#cTDf)Y#+%8AkQEN1_RexK!|nH zo83X%V%Q*>yr_TUvr+no%B!^*P>dZ>C& z8{SXNbZ>4YB!j?b%!*H#q{-TknjA95isb0D0c^TkXv<)w`pM15SI5wEyVg549Fd*1 zJ{nd_yw~~9kTCak))&eMsfJh!wO=Cz;G8^ECV?;qBT44CQpHt);YbL_xt1K21C2fw zhIFpKZ^1=MoT3S1$=*N1EN50yE1>1Ej|(rO>`7*wR?`Bo-UluiE?S~y3HM+d!@If)BM0v((UG%fps z4q525ikiVsS1(~L$tvKo-sYtIFLFE`!laf2K`18LgVdplMn(V*tj3zrkg$<)mAUdn zl@=Xg`=YDPaETphn5Dx$MKSCU0JRlcv;k)`$qmez-W~3o@ zs%(G%7ocT(<(;6Ls%=RVN@*`&ro}4SfYBjX;&X-SLJIQ)Qov7~-rDgf3PY@0WTk{B zBZ3?_57Kmo;Mj3r5@&p}m+gIh`caRc8C~$`%uy}MeKBKwu1A&@9nkr>>q&QC?pzeb z*OxCB%4ScCoBAhNajLFU;Edeo{^$BrG4Wi0*#+lw=K!nj!~J(0FFAgG_kbdCC&Qoy zN6T1SHjEC+yxFn2&E00em;Wq?zgIOl`$qJ)g5%+$&_5rURr;)BhpTuda*|*wp_yxyzLjg+UBySA5JeqkrVmphbSIT6J;KZ zdKu)W4!G~})1W7~m{536EMpi`M~?VbOloU~ME zdJZXrx)-i29&1g!0c(mt)X@lM9yPW!?xXOE1ks-w^|FL|QZ{2OD8!-Rgdr4v#>uY( z0dncIRk#*q*R#DOg$-o_5Ysyoqv-%#%0m#CM~*!$f)5mvl}!KL$OzOwuN`S@B1$Zy z@cI;Rb_+6`hsd6_j=L00J~{uMniFH6?QeAy|GJ>Ud)KVpIFvf{iK3sQcNG$%bFw{j z0Sl%`tCM0kG9OP#d-@xHG9Lf9qRH;{_ONU*eCbOS%-=5RXijQ#she2#J@U1UYIKdt z2iVPd`Tb>*%#u*wd%hklPfcJsf}x^KeElo`r!tBDase$o*HN0BLCdJsLPzK%Wi=w3 z{(RNfGXAg2md2>-jd>*hH6L#|n^b`$u2+Uxw`2bCadA8Nh03C&emcflA2$dezkZK* z`%_j-{<$)9co*GkwiDp+7v*hX&D)4F{mDDgrJBfjM}U#iZ}I&P35%a;i=#1m#@M~j zNz`7so3OdSB#*gxB`$xaQcYr~y~&w}?>XCW_A3c~4#OP%aVuv}Hwx=WB;jXbA{wQsbN-<8pc#%+~#e`)Y5S4({v@7L~*o+3xg6prCssd4CqARES<6)0Fps^ zeLbVS#KYX#W{z%v6aQ0Q;&QW(ga-uYaB@dsZk&U~2ZCxst@;X3vqf!*M4jiJI&2qx zXMQ7=%K6`j*Wgkoh};(tlL{3IjKZZS8c-^`>ZD3BTS)_h@g=o-rlI6!N+h2&^xX+> z?DmS~!=0%-?nAt1x+}>Zp$}$b)ycf&HP7&81z_=TJoR(hs<;=8pursw@dV%qH&6(%oj7 zpkK1jz;2~IyrY=ttrBdsYXv?{SJSFv2tZ{GpFB2lv=KHzqJX{w7pzU(UD}X(^Nukl zFHjODlUQ6OrI!ZRVPz{~M{P2-^UAiY$LKvSM+j^pG*^*lE(Ifr65!OTKtPZajQ6AU z;eFI%<8lp-3o$^)3B2)zlG@JQhN8xlzVMr0XPQ>)w5fw{b!;N_fs(j@rEKAKm39@+ z{RCGdn0$nr27|C>s52!V=%pPqGBwG%JPl-K+nOOZr&r22d}F}f&N?y70;QQ~V~9kpu}jwX z=CV?hT^XJsC84Jnpk`C9ozhieO(l@z`Sp2qA2vEqx`a}p!nRZvK&`8#v4wM3kM*Hm zg$!W;q|^jo@%#DAv9<4{qSV`ng<~6{=L`|s7&oV0RCX5e9DWh)gx>wBE1(rvNSpPa zBLu=MhhS)RV_BJhu1y~*Tp(=@sCYw-C%uT&rQ6R?PD$~LSw_^u(;awb6KVFA6?Fnj z;8Uo;idLQB>D(K58MmY(fb1P$5cDBoglghB!F_>^sQ$dKaLW0f*J$s?1}(cINPp&Y zfTtUIcxa~1u7^1^ZWuOhf-98!+-Bk;w@>`aYpCC7b_}JzNz$MdOEp0tuy7YNjZN2E-Wblmpk@P*fJLedtn%(yK)7xKX~$y%MsN(cG8vFQS5 zf6Q9yq7^O<0XRiDo*;6|xd`e|tMvL}xiP}3uFDtIOV3?-KAbsIKHj!d`ZqqP4~{q6 z6z^}IuI;bjt=#twRTjN71MW7l`wjUm*0;-^^jfYvPN%M~Um5qXx}WnsxxN>Hd;AA- zH&j1_Z)Du+qOp4ezQNz>z0m(;?&dc@e|BW>{U}Z z6xE`Ym|~Meg5Y3~Qv4-jKqx=PSu0(9#Wj^rA41DGxZ*lnV=0YQlgJexZlN}* zVo?fjGPhspW}plB*~~Fi6LATiSUc!wRI4PhsWR)qo)To7f;H=|Hu0>GV(L<5L<5}% zmw=2pIOh!+nFQS^z>SHq1qmbO{cilnr!`ikyg|zCdjAb~Bid|7(AQ=Vm+&eQPEKoJ z6)O?KMV{>NE{*y z)UH<0U2)fS5X6wCbS4OU6caBBve69HxrU*OGzh!(XHoH)#&0=gOO0ylSx@p(>1>y?)^-Wy) zQi?2oQ{f`Rb?U`wF1Ka+AshZzGAFz^(L%!P-CN zFmPrlCaXsTtK6{M8>5H?28OL7ooLwn7_$wrvWA(@L5FdF+Rgz4$UQ6dD989O=d0%) z`|>*SZ!Q8-qa)61fy8)zi_OAxP@9pw+y{oS5VH7Z=fd)Z=2z#5>LqG5A_ZI$=W+!v zex)g4B7cQH_3r5eIbq&#P+d#-`pjXCs0j|Y@tF^8Ha6io=o!vDQ5f02b81EqeOLW;#DUU{0jS;A_w=B0QC@)Q3`5m`2JQk&wSteh+_% zSq1-|p0Pb~a6)8}=t0!JqPF}S6Cdt|#UKK(28{iw2#;u(gXvwONAdE`G*9Ous3@Vp z#$D5Pertk3qGZT-7?IbkbkXn6GlN>#z9roq3pzZ;{iR3?xrrOZ_eO)!m^`_s#a&F> z;0aIO6B{iapkM+w!mVY!{tC33P@jbjYoqe$R8Vh#PuIRIidQrnlBl_~@S~!z2v1te zNx&hnqpQjy9hck?viC>@(%XkR@>T2d7jw5`>qEm_*H5M$0y~?L8HYW@jR=pq?H0Z> z95G`QuZBs^##d8a490r#Ab{~>sWwu(3%wpjF{AF!?!B^A4~_sA{&!O=sPC7VJ)L)3 z_v>MQ4p!h1te2wo^QX|@)C2R=iiPKq z^un_83h#*qq+_dgC(-MO08|+_Cg0Rsy3f_V#w`0wZL_S{h_wR;N_957A|(MgLV0YU z%WoL*;rodN*RF0zWNF~0PW?HGP;Fig?@^Q1n-77*`B?H6DVb*LJRJA@ON%3eQX;Pgr3FhyC<> z2n0;$MU||SjYl^zXir#)Gf=&v`!!SM5ahfv?zSq;u4!Q_8xhNQ`CiqU_*>*rs8d?G z0`pHx7$YsB=XbSA5#+`iYa{bnv#ADis6nPcHA%t7-SLh#s7K*M3SgF=rhQSVqgZ4L zP$JE-09z1&Qk-$|vQm!9CDbR#oJt{5Wi7}iNQjY=azdIiKkZFh!j7%OWW zzTUs-4<@!08?|qM%_3@LZBtmqGa_imn*`mXEx@r{{4}*f5JU<)b;;E2#{e6i(@81M z9I11kU29^I*@fcc%9a5}9V^;B;`{aTyW47WtoI%;cdI>}^TSM!2*p$IiqZI%ss5Ts zy?x6w=+)boM<4fSa`7%P;0pFyHg$*nuliL5@^bc_Ya24Dn_pvm{v&I~ma2Ka(+XAd zLzptOWV3?3o9CB}_sd@`9Q_r^7UcXJ>4@Vt;&Nh~XYsOjj#Z ztyRSyDv)>qc``- z*QF)Nei#5^F#ebTkd|f+dcXaMVU*hr8J!8Z!A2(!{n9PQeiL4_+0OsLj^Uy#3hMnU@ca1FtL3;n@3Xn_>T}e8FYU!u8}1 zlkY>AEuz)O0=4td{x4de^G!E?MXZMG8`k0Y?e&hRmda&2YAWga3{c=m;{MH|U&*Ff zm9wg~Y@&(m9&V2kU1(2GF(U2{pa0l)Ub+8LU0|K%?W|t zj)`wq+bQ6xgMa9|^q*L!fAj$sFOAl^H&e2n|BL zipb=4*rYRlC_q0wtlaGSYiS=iW2lW4;L5XUX2u&yCFCTH`FT7Hl zh6uBk#Mi%|EQ?bbB@6&1LoT_`2p34Kv<_Bz`Xp2tbSO?3cj86u&*sNt=7Y-^R2BX| zEr3rfU1c6jm!-qLAUD?LN_>-oO0*Jr z5_x|+VA(IzX(iUL{y5SK_!F_I0+_(VRIlV_Ft3?u-?(Xcov9V4HBB986;xCQlb+DE zgo|{n$_cY)8SL(7%JEreRBr-KmW z;Gr2r3~~x|9kfs^A1&ub;e|WeAL@&CsvZ?E@aqp{O*D2a`f7aXeNU<6t)KI`|EIV> zb9Tq#m4?d{LksIgD>%p@S zPjdu*@Yv-Kw7SyNu4`M4e>%=ZOz-DJj0zyHKRaPA_=jZmBYxq^Pcz-SX|s_tI&9XZ=CJOF70wvt6EIbi$zEs(Sld>}L>t*FD&_ zir%1lb`_Rrw>%4heLjNC8!WhI-zH#BZ>$XRO5G&lWRU9`uzU@CmwmgtS_F!KM>>4N z#Vzo%>wY70@BJ=^b`ea1?w*#H2>Rik{x!p-8My@HFS!2=sr?J4UO5U5akzRqbhwcQ*lU3Db4-7+FD=gM%jncLcul%AnzZ z>u8;drHXFFhN!$@Gmc^-8J^iHTkO)LDvgU~MOfZO&Q{@TDgLH zYa@j6FO`@fK=FA2io6hPw_=@Plt(9#lC^##p^P% zUzNJs3e})dTP%ded8HCu1Ra&58Yz&*|PSp)>cmQ+Z&S9?pl;sbb*JO!logQE@VA@X!MUsZ_G z5q;%#3tbn80sn9aGwr9}fP&Kh;#Sa1Rr|q5*rFdlP!W%9VdChiD`D`8g0UL1TElF= zU0WVg0zydnBn_lI5bg%0C29Uv`Xn+Azs~z7z<)L7xSaAWV}((tWABk2Vbdz8MnhGGxdz2rod+F${q0pl89LV=A2SR`sIVz=T?YVo8hL18cg@5(k1<+fUkkti1 zKhNyCR}{1q$a8;aYMDv@O6BHMkt`QBsZdyL1a$J4=U30FBXvPaHbYNZJ_@V*L>|SN z7Q-+`5dIaXZ!N8uc;>VTChse^Me8)3>!A9St|F&-$d#gXtN{G1`r9vygS;kRrAwTc z5#%FGyf%%%aXhM?|0G1pXY1a;S$Fp1;(24WVKLXt^Wkqj5#2TTEEnRTK?*FV+B2Po zZvtY%ielC#M}6jrvRgj)FICyRSN}rl??O~ua$Ui6+Ra26(UkpAkJ#0Qc&Zq3s~zfN zmXMw$a|M%ba%}+*>%8Q`G91rLaSL*=?USIDupWhE{D`Bm(EzB9T@@5yc3N^#MC>ib za=g$WbMic8({cg2Oo0x#hzcRXcS>h0+28A6Jq<$91)vbh8coKCpa%u+IQ+p>yD|z9 z)+hy9pD=U@)ANQyzT~Hs@A&=nNwree$FcrTE-tjzoG`ePJsu_a0jraFKQey}+V_ut zaM*3Rmd&Ik_26-KesXr*^TaUv4ozC6v7fjXWUm`^{w;{E=icUvpIx}O=Es|qY~}3O@O#uY0TCawA}!JH*9;$~1OQka%3(k;poG;*!rTf( zJ?0c~MWmiFo=(F8?lPl6E{-hG^?J!7FC()Y7~gS({E3MJH__(HDHfg_++l0bTk*mg ziu~~1*!h;+h`fTV(MYJB^X51T#}iiZhxO_>7BRCGFThczk?JT?b)5L|_?r^RXp0?1;pt7b66 zGCJ^q;Aej2+IdxdeOa6&48O`-4ocB#7W@zdFnmr!dB?rkXd|SBiu+d9#0ZOEV@c%z zj_Fmb28PJ9`Hq*kk}hpYWX_KsP;EGYz#CPqlfj3oaINNm&~hJidV?aoq1fl-XliB| zS2@e+R+M>*ZcMuvjbFwDvkq}M9JW6YUg*D5m%-Ra6E(jXKGS2SiBAW!}jTX3G3sZm-<496ZdEJ4sEyPc0G^3COTei)-i7XFRQjaB>0U} z9zMTS^oH$^D26k_WsyXN@MfLuw;OTdU;D{H6dFffF53o3PVTcAq%{=9j4Ll;EETym z!gRan0f0BfC>t_k;SX?HDh|dGoTG#yENzqhOesg#XbBVVkBoEA$z2mOB-L@5y+?x* zG#ER_@}492z+n8+(4#*+fYU2aH){rJ%KjDbyf5k#kD!e))~YM|t$MNGkz?s`+ArSB zMDs!Xro#t<1>E($34y|LAA9WO+sHdt2Cto{h3N*_5zo5^&^_c>xDE^|VL(?tZyJyL zqJgthG?2zw1kcbZSa&H6cYvAel^$8aZe|pww5ZQHtNtlAXWtCWw9`VS@y}_JNeQ}9 z?<4{<8yEORU1R`nF8=d)D67QosvTQd=-d?M0kiitqDGixxsY_7e|`*a!W|ip+&Zg5 z4OQPX2hvN(P|~OSEx|-^Y=Hb5gJEO=|AsCmw0BbGuLY0rfgyei`t-I;;AX;Bg)bcuQ z8XjpnSTosd0~CMJ_m=_%wu0>Ufj>){O%U|R;4fA^4-|RAZPntHXxIWWW~^J`{NJEa zjKLZtVC%KNzl$8r9x6_AQR`P(3!hqabmz6{X#T*Jf5*KKU`k=Ed2%{H*d2;)8wmMo z>FHTzIS{ixQ~4W(*RlIdVE1F)BQfr_?iMFi!V4_GZ&{yVT&68NsbF=2M{s7#^y3^g z6!q$<2-vXV5&BSiE!aH>4#~Ohy7)0aA$ICVkZm^}Ufc6BGHmB|Y*VH`-_gXe{~xvE zU$)+#%`OYGe_b~+=*V3u#Or#0G6Hb#-82>9wvlV=uH7u#lsg{X$qzpSqeXBqE`iFw|4E*dZo|Y3JAZ9aZ0*`x)a;eCmn_x?MsNrRPmoA`3A6VTAP8TGR&L)j0Dw9(1Bs zNz8pX$>l!m--=|JUX2PHa+~lrflWwfOIDuWF=!>DiI!yU(60c;2WQ5W*2Bw!iHIAZ zZ|2+dyWmoU6$ISNpGjR^g>sTX>iT0*GY!l;GkX@GF*_WlzXAJfN($CK$|V}TNpPX_ zlLZLIVxl&b2~_po>NdoiEWbS`ht{vGRckDA>r?Dyx%KbCMMs#mtG+|HZZ~hUhBVJ) zLxzP^E+6otE?0DsGxslbPX%G}&`_nJRbJ3ep5fWmHuA4=Jziyvr!wm20b#TtZ=K$@ zR)XGJ<+LRBHuB4OP0h&h6b!_7CVgTy9w|s(ELZ(+4E+TIoXu6dG=_%WQ|}A1PheTu zR#bsAPf5UN20BTiwNTDe@NR^fmMXku=RLArun-`gvH8;5sdvkV4QX8FG<`ymu>?`Ig-hMimdX9sI57ld z$D!s#a>R!{_rP#oq-cog9OM1_@_c{a{G^{g%lN`FclrR?k=#K5iojpJ+WQ9$*?i&A zPBd>0`Q?`oWJQ(f`tVmV8F{ISP;tQ+G3}=Yb6whElPY(|>k{7>1tc6$1jOxKT5by# z?^|fI9kddV)!QY(f=JB&X#u9JWNe!4!Kh$Ieyc(u;F$Jc!j9F9V9bCXut@$6xDk#z zVj~-B{=>mHrRwgPhXvHBZE3n3?ADySxZ5I%d8flPU*B}UhFcsn)L9YeE@s&3nH$Y9 zs5CHAwApSLrXV>pq;YY~p6Bz@kheY_D%fH1mS?WC@=wS}-~9H7@pEh~9MIaOI}ARg z;w`!sX}*kh`R=i#pR-u1hxG~D88?1>x@us8T3ngEA#(P+Gi*}jPT;tI%+$nyIbwbY zqO=jzUO}MT>is8U)#y&0$&%uUn$(opGOSNSg|eIh1f%GT`R|v4QkZM+qRK0tN5x$T zd~`Cta{fC%+W=X2pj0nWIdYsc%N^b%6F-oaUxL0Nt+bZPn{4K$VE+|2XxF131NCO_ zh3z0&hgJ?aHczfWdo@R?GUS`5r+q3j;w9@l&EPU+Wuyydm9vhf$ zW=bPIqD=uPy-(tm$ zX<-VkJ?mxWA&szx4*FL;65Ol5jMM)MyP5aLF1hRXfQu>y3ZWcvrMnLqv5;0T{Oyd{ z)@t{SPwyk3mCTuKy6W7{cSt^Yx9Hf~)z8>KUdJXIb^M)D+QNiqm27=YZ9rkXFlPN$ z=JnTuBojQj6|I{<5l$1;=BI87>Onruj99lJ&}Pp(drPpfl{h-<*{jL&#-m{`f8x%J z-mxo*UVTVX4^K9ks$%^!YrehN6!zM0U0yeg+iw!71Yz9bIeN>1z`E_+`$ni)fWnoC zqYOq0TXUzViOJnCXKq{$6r~xHV~8J@GHbP1%Pl60J|$2+X=gP`Mz7&**2Z`2!ZR)< zdGHZMG(x}c47qevBu?uUXVUUoYmC0WO!2f3(6?0l64(rFcO9thOCCfLB~fefDpNO4 zOgSLW77j45mduaRWj?~fJZ=yxHHP=7!%1^$*du-QynPK&lv zWh36|NUyKWZx|B+=rq5Bd3qer=R-tnR@p~sKgJfMQHyz>W9*4PH%1_Gj=4foa&+tA z*=2#_c$ugQq8cc*aMqhyxWnpp2>b|sI?r#m`XxWJem)w(W&3O<#s%WBG89i7b!07M z5<|T9UDs_+x1T4C{~@zMG5DyYGsd1)k(Y32GWv<`icj&JXLYkwslYz`!{9PYS{ig6 zuZREewgA!^aXfH=SI*&UX;zluw%r-~F`C!m&ise2XJW@MWqrsu(>p)ju$Id56z%gu zP|Yh5I|iT&(bPXk=X&Yi|K@20@&9@FUy(CF#(z*7Y97UwvA*H{^~!jYi_nTcAv`1; z_s%EBQsQW|E6+s0Gc7GS)pK;Yoa0tnWcREYytq&J%{|JTtZ_Sw`tI=t1e5`qp$WZ1 z^e(T%4;dl#VJQRh3n1D;D*C?Bmku@|a{GN(k&P2n0h{X7my+sDD_S*z=dOK_IKyPo zV!fTg9MDjS%T`PeHvdq#PK4(!q4F4MWd`Lq0sFvB_M=Vvacxr^!)Kkd&`8mi|CEmv z8M*IQDv9=zg1{F6ZzVIXkF1}0Qko~G^d&6uD!6%~3bD7?7O`~Hd}q{r^Z0oX(ul4+ z=t*k~eHaf(^}_*W)3iouWMLKtADR@TVIk!2ymY#O)e3AZp7HH{Y?7x#@1jKI_q-Z^ zj`Y};dt{fJTHF-4iJj&v^; zmd>-Wu~{b>TWPMOKI{4Kq+@pNePYNpi=lRG*)p#f-nX5CifZ|_U zFJ{pd&k^y0{!A*e;T4e6hV^VYtutb|ShmE5_*UTZ?J zzb@hP*1A=9hN717_r`97HBOb)6`(-@!JD7!`8tT1i|5zR;(qDpWk>j?`R54>;p1WA zBlS`2s6zwrX(N8&`H_&pdS=+|X!&2TQd{uff0JKLO|1U`(<%M`1m;i*$RCI3N_D^mbJ{6RfcI*@c?iuL;=XB~a&Jh65>U{s#;H=<&C+=NUdiShRq z2wKtosCyo#shyMLm-J@7EKwDXufpts8fF60So3Be0W^K=!+o|b#ov|9*};KYCt`?o zX4EweJnT=W;PXY~VF-EEkPU_B3)bTZ<3x1|1F`f)GVk~#MlwEi%tbmBai8QxH|{guq9?wGO06A4sn>wy+8(gv2j<^wzKLMt2<91-p(ddA}nC zNdnlxGiWW&OBQ|-ALWc%<|ho>7yP;pLLo;3uWIoZJ-L+?N2oVz^+GQ_87YhQ+IDWL=*-d2V=}D-SRGjNIA3p-NKVsBENG9ITc3R%!W|#!D zw&gGVQxkfjq`X%VLT+R3-HQ!)TJwQ%G8Hc`-OBrP$-}ZBPPAE_oM#9er-fc6fR{~! zWX@DDOY&DeTC-QM=uk_{&&9)zxLG8%V6+>Sg*{;{m=^r}jadwM$~6_|F2HbSqiN)L z`WMF#{HSp9KdTsK-sZ}k8` zsd8AIAO@Y)7dske?1Fh^26{2AwxK)}lnOAOb1N7~Fb7+lOIS+(%y^wiqaPvTIN^^0 z@wZ<;e%GDy&h2>o;2(*;Y(r%6-dkPh?K%h@jC@z2ZQL81Sbz2G(zC_3H<*ohZoOrz z8wT7BJGVfsL$8$jT`Hu76P$pkH-4|LPI12Gfthc+Uz$u}ca)esZR{ z3M+*Mp5LdAqtGXuVU$d2-3Lzv3Dz)g49_^2ZwwoXU&jG+EY0Q`nV_#ltK(A!hcUs; zO=iBZ=~yi1DlNnFN}K{U=6<1Ahjx1SuD40{M`a?{-qwxL!1emiJsli)a0IqhN#tu0 zLBhz_(rl*v(6lPjN9Ia(+33Kh6WH+XvLE$*P6SeVx9p(uHcx37!f&(zE6khk=-`l! zpZJ7TIAsY)i(mEriRlJ(3|*AVI)^M`NF7HDQO9fAxb(*U%~JWIws6X^O+U*lG_K}} z*PsCObpZ9qn~NjdzKp;(Dk-CO7U>xp^7OwBIlj|cgZHlMy}nw$w#c$NDEereBf)2a zqge+6fm`1%s{{je`SI8{AxX23KGiJOf=9IES?Z@BjmyrwplkQm50GTWl?#8$l9(Uc$w<^9U7jgpi zRoO&?E=-W+Fze!>m10gtjD^40A0NM@i6h)4gw@Wxx}Nd`&F-yw9qHD8Lz=I^E@s~- zO4~fukvE_N^h>Cr#M4NW!@)lT+1zC)AgJ?Ib#JC{x9}iAxe5-PKKDfD$5=_7LL zZTY^__{r4d+N@ZM2k+xbd&$-f*p0*%(>U+oKps#zP$RKILhGhlroPF}0lFZiV+cXW zKYv9PI#2x~CBB;ZgoBLIFGkYbJ}!RtE@3CL?2(@rCXV84zUg^4B@Ru@bS}guBT=C zXopb1XUf*ooH(v@3=)LCzV1L77~TIz_tr+&E<2_k;#uS`$GT36iYiNm9PV5D0I7c(hKc3H9wX3K19%49)Zf;SkY zAdaw`-l28C8@z6wE(9>TvH8w1p`M7-EmMW z4hw-C5V6}2#8PsksJyWO6_!aGCkDMmL6kg&Yj`dut>*Ki6w7Ib07GgGzITUlU}IbN~AVxz{Ki4_J1=jV0RvnNyCny=8!i^X_X z`>SJ|*RIN#Wvw)$|Ncf&klW{gLb01e{x(WhN2ST*RY$E&nX*an+m=W zJA!hWh}YZeaMp2n8#I)Pi6-EW^?KHxin6OrJl74E7h|=6UZapqSbGC<&bZo+01TXM z^{e(kR}QN-g<6l7PP{}zZX$J~>)rK&{Z8kDPr9fkQ{*XfIw@5}HwhRFnIzev-(Bdm zGIY4rn*hs1SRcWQz@4t%&23O#N)e(divm?*;@>s_XBrXWv_tkF6`joxFi!?n%S)r3 z0&1vvVjw{UaUA6M!Nu#5REOvo1MDNNP;B0LGp|2rmNlf*$p66otW*k4C<@2mbUoBF z56O8bL3s(niv@84mDF*47;m#D##t8r0c%%4JRFs8i3C1&qes2ioM8gfW;ca`JF%PE zMy0<>NF{~b3T-=b*OdyAJL4wN`trNZPP*Z1$vEla#nqRyBey&sxoA)G-k9;|^PsgI zKOM`}=91FU9%n|%Vgp&ErA?o6wyTSTQ|{DtSwP*`ob+_)c)#VDUcaUG@BLY88@E{W z=n4I+)Yg_qdfu?x)dNfUDrHtI^-26)E?W*Q*_CyOS?fDMuw$IzzX_9nG^$p_SA8%} z1LA$Q;R@ogYjr&6aCRv0(Zf8I_z7S66Z|xC|e(Yd5^@-DVxcy_Qpsu457U zH&o?_&fVtJDzzJ1mCxjL0fFN=-au}41>&=U3f?klJkLwz??zk<$=80Yw?z=;Mqxu3 zNg66VU|~ED$Q zGa;7Lc-E^Hfu%#=US9lwq%^$PoF3@zaJ5}1`TfB|vcMY8Lp$zSN;KA12P7fVB?PkS zN$Vm8h1E=bbZP|wN+>KjJI&krQh5%ZDn4_w(+IK`d-tnn>7lhc2{BL4SuwB9f_=NMwi8M&WZ~?6YpG?P8)wwn6{F{ukjTh?P6Yh z4EqUn9kW!>RcXT%0~xOP86+g%28O68Ly&}Vq&6{9?G%(&*=88k>j!tcp{awzAA{YE zgs~q$P&n$EPsX{!k!oH!cwZc2V7#*1iB@p*%ooRCo5MeqViejHtdI@A@AJaF9nR6> z4#!I|9%p50o7a%`c*MTvwLw@gc{a{}TUV9$n;f#DVUh0?!if@}TsO)TIpiq2%HfHZ zd|>)zxQ7z{Ey=yiR{f~KYX~6pl?JP5{-G#Yn^F=d7E0-4!g$4+SfI2SsZ>f|sRnNX z#0XE9@dG;Gd2o=}IZXR;EiJY27kY*OIH7GLbF|sdjHo0An}(h;rPXV`Lk~ zXzl^8*me>gcHcbqId~17jHKYyB}jvbS07pI((HVgIwFzdaiA^MxzZ9_?`7c<>d}Tw zO*~8SL^soVzXGn;F!M55`Q60iyWQkn`5yfRnQRr~E$a=4f_3A=RV06`0#WxuxpzcS zz%Rm~&7xZS>S$=?-SQQ^nyJGsn3!t18W_w?E}{JezZTS-Jjrbe$MBG6{G--9xBO4} zb)UfTk7#AAcq3;7ORo4mPWCT!E(=eg9lBMjw{YSF;QcStZ5Z*D*-RU}mwO`rcC5C( zTrY9AS;)BUkkw!N8$XhF2;%XQ-fWA17066|(e$rn|0?MpY7Tq%@5oy%Vq*Fs8Kmn5 zd6{Jn2-gQV59tV|F}k|7CGm{P$V?HWZ<2`3vnZ|KM@fjUE9Bx7v5AmHUsue&d4(kvHy?{<`Gxx#0 z-sQZ>RgLi(N_r++e3I`Yzz7nIZu)9z{vJ5}pTK`vC z=wc>=5u5=N5q4;Jj7NLyRqUBBGevE%k8*K?Ag~nl`aXEDW!E9a=pSPFH196SrUc zEqWTqI0jh-wqqyh=a@+16xwMev64pt9u;aB3AQ~T!eYEmoM(;bc32v zg!^)ienUq8%Itxnfd=1*6!aj&sthmNBq+zd(DBmHqso}Jqc6s$5~Sb9SI)O%9HdL= zo0nEpjI_iq^)gNNL8#>TlhC8+U3L=GiOj%_F_}($-3(8x-7id$mMrIdyMpfVP6=V0 zaa8svo9D|g8xoYH#W0%yQ(#V;4NUvUt!1AFtc*&p6Jlh->y`l|`fD~}<4Ji-#Di*W zi`Jw40TMZ^1&8N2h#G_KFfbk7Wd*^uLC)09#m7MT6sQPC)m2uJZ17`w*?}~@2l~W) z7dU`ONtQkp1c6mu&bv&-{dibg)>sBJs!0F)TQlTAoo<_`?LmcwV+w_IJ#Dq05SqN@ z+r1cgA5!*S`UrxKY0{YGk-2&_6y4fq>1~W9?IjyOEmV3?*quO9ahnP{B6c-s+3R0O zg5QWdzVviINxoJ`>JLG1eyrr6ZcE79ZdrSJe!r#cq*UE2&BYWDbkReS%QM02%wjH% zLK#78m=xi6<$k)|VBQkEzG!IB*G-E7USk?TihR2ieBNUve-Q0rEO0p59NmQtL&f$8 z5rsu?yMGpw$n@NUbuwo6XfOQaMHs$8-}bp3S_pM+=a?LK74SlSyl=0P?==45mPfC7 zzv~yQl@)PD;a{Jm%l!Tvdot%b7{v#egLK-R;p=b~@&@LwPJi&cq#Mrib3jv)?cAalx-DyNN2F z)gpf(Kl@U*PMsG$JUaiSNWA76FLVvWi9+fn^Wf;<3kvh_UJyL zuQ>QNSpZ6@gUdb?Git2nJ_-4(krWU#7@rfB%zwPJGz(C-c{WZ;8n>Wm`pX`gW%k7n zg*&0QPBHfnM5P0(QYYGVnodDqKKiqYYT=$HC8#9-tg+(PSwb(GY3q^|jKr_MN>#))l$)}(U@?NQU zOpIZXlACoW=W|bq`>OAKuO85@Zh0Z=vEnIOmn<3PPMLa*&Owso7qS$z43oKmfu*v` z@v})uRI7b&YmR@Ahc4zuyI;#I>Cdh!y!)x@ zqyOFVa*&9%GS&=k>%epM=q8Xo$CnDXB2w5Ghja%FDo)&=Xm8xzU4eKykpBPIw_lBe zG0gY#iLKu`*d7GK?AcZQfmPQSghjOTVhx!S?ud;NQ_}fZF_QC~ggEr|@>?rwEhvY5 zs(%lzv248}U!^jae^Bo)4=hObKsGRuF&~nEw;vubTPz;vUsr33uMIYfWc4io0cwLPhLHJ0g3)*TlR2qTk`J9DVo6 zoT;j>@)Y*)*MyZMY)g2p`^+q&iBOgD_+N&jm2KsTt^AA==JwEC3Cb0@h;m|h_YnF9 zro896HDaiX`3F*nrJoIwiyJ)s`TNr; zIA*`q(>rQC1U>NUwmNNd-^8Ez#${S4e-ohs$+`s}V(?@%F(GvjDOu-<$ltx8zR(QI z3W9(K_8NqyOEMeU=xmiuCnV`B*B~D@n($*c;V=lHB!jmR{3xQToHOOY2X~OQekMLe zs3ahtDtPnk-ZnVg7vrgQN5UPRa-8ZzxJV@xN>yLaGi$Sg4U05(XghZoir&ia;<;8a z2~#$%9g?yp{V8hE#uc8!IG;8?L2t}EIv&^+l)*o67ZAYXuK<&~fOIYn1M(dut`RXo zk}FFtxinS*OLmfGDB4*@(A#I^VAB5wFIXYLRC|NnrhejtskSW_uY|>Xtl$Wq%#4KQ zg=&P`_~Xv=l7RNsiT!nGQ$twr7B(;Mfx>0hO7W*X`$%?^h(_uUuvWnb#b3O6cFv>T zz}I!6^<((EZE^e0ZE^iPXil$JXwDa~ccLIXbAVEeKF;^P5Zh)(rn{I-6p1_+B&?J_ z>IVpUN7Lz#H>Vqw1-FJiGR)+{q6RZ;OZ{!us2mCZ_+u!~ zk6HytEpZYtg99_c&;s@;ldmi#g%fXbF=dk9WZ7!EZvrSy`lR*;Y6f3R>i20Ss6wJ) z|0dF!*&|MCF{38YgraMi(I&qeX;U06Cu6a-;fus2TvP*KWhv-DjGFSv|L%=bW#*SY zohOSfvZKT*7o?&(r?Ia9YRWmujNSsUg^rDf^2Hd4`jZ6RVC!Q3pobaz?rB}_KeOAl zDxpS-wkB4*GZm+X;vte12>15NX6TSI?t}kn2)1TB#aw5=gG8tx>`(NY5m}xSNgki9 zOXTRqWLs)8_t=6NkBW2oNia9USumRQ8fozPwJcs$|HqJ|vMY6}i=#v9)jF!GzMjDf zla|JH5}JiPZgiXhNbHHZzgJ>oPgFS=#@cHd9fd z%(X{pIFRX`N|TTO;4H5xaZN}fJT?J>0U6Eh>H|kyt&I2ECrD4edpZ6g3~#vjIu37v zJD`=oyUE(wTBC`A9bO=^CE2l#=q+_;&~Nd9bEw0GT)XhKjXRyfm zS5%1Yr`QJGW1z1!oG+hm`m{g0{8>Fi>WRLc-sa8kmH)r0@=srU1fDs9;Vhj_v&sqp zV@xnzri7#ewQ|zQ#q&=(hC}IEx3m@m4mDP3-yZ-KI3=!5h&i5+@rjAmBpAR=Ok!)VVsWKSM6{)MQ^Go*? z|Lt6*yEWvZZ#=$p zV`)d)8a>^Reue{<-cya3R;quBuoMJsxxOMcyqHeeX^Xj@Ft2UT6p^vqkn21 zJ!BeZ6JDk!@dlFrs&b0^@US!cC+ROe(ThA-Vl)vI<mxb$`_uY8!Uk6b@E773&RMp|WV>AcgHCOJiA7k$3n^XO`+UYE)IR&6G-0*8{| zV6LFjZ;okdd>!P8g(4l*a24jWHZaXRUWJ6`WO>|syYS4y6XrCKxOh4FkQBrnzQhd~ zB%tJ{MT)ec08<<2tF<>lY^;j~+9V%BToq^6?Wk{u+-=OhC+rQDub|FSc>? zMYu$(69xPX^*NneVWG|p9Y?{BzY1@CFg2g+5b@OS%nQ-kAM5YWZL2?WqOOj2YsTye z_dAp<#ahk>srU3}(u-EI^kejpjxmRWWgNQc3lMUod)u^BmllKvN$n&*+WJE=NMqKc zNe{$foP5J1wkCdKjjy06HS8jg;wtP%EzBT@@O|v4T_1l!U6YTbz+%Xq(hPK4#>k!h zUgasnptd0xs|z6#sYANfWCZ369HaU}_wzOiOEWr@+wf1`+Q2Nk1*3K80IDt3G$viF zN=&a?FF_P(re2{*f0nVhYW{%1H2!ClL`i~>%#)Zm+tSW@JV|tRMyWSU*hckoPx{fX z%EcU>p5zGGhO{5O?`6I#gj|&>F`>9>TcbzM$RtMi#bi28y@LK_zZAV8+XDUDpZRD(yplTDQ)7xg zb_L4G2FKsz{vT6c6%|*sZAs7s2?_2_aCZs{4;I`Vf?MJ4F2RC(;Uu`byKC^m-Q6i@ z?tT4w^ym3LbL_p>TvOoDMoa|~u(iaqWY$mrWXzB$|JwnKzpIP3CU135a9u%{;1tA; zvtnrQePvirc|&i&p09_p0f1Yy2`mUdjyM}+ z>D=QV+P)gTYZm^i(7a|UY0;HiAE+4|zK@dAhTj_J$=`{~$`m0!%U2Cmh_A6OQZw{u(T(U;n!8w(@ zGS+yv_VCi{`15)=n}(NNMf2p^!~vHCm8h~F1~G^E&tQhiZx#JLC14S;-`h{9)Sh@F zuP|rhws9QSCy4JWPO7-Xx~~J__c1AQYt5UDyN{NZX|D+#Km zTy$a2*>B8Gi2;ZY1G-ss#A7$lS^Nm7a!vFWX^)=oy>v zg48&bzqn_9#BvTEd=!SYX}s<3Sine_LH7XNs;R7XnYet>sWliwfpwzQHd+n&J4F9j zod{e#!yS5R4fj{$!>kGce8XMKHhRodmZS@z84Nb{Ti>h8gAhbl)RzpVf?d(YgXk4+FLi9$hBVW%& z^SZU<^PR74wq{@{R^8*7eD$+3#7^(_1xXOV>~X%b$0~R#pDnNW(~>yGIiAx6<5cbWZ)hS&0AD zo%jj=H>DFuHEA;-D$D#0vSXB1+pt)xT5@t^UNPjKH6t6alTSC4m-%LrZ<$|e ztZpQA3wO!Pgpfv<;itQH=eu+|V0F)fQVm#`KtpXdkjB=s z>tmd;4SlH53Yl=gnlc$xD5)ti(l>pakGv)gd?x5W+_{-c*&PF5@<)2$D<@mU@y6YL z$EMMlFaC@AoWHM?6)W2^stsD3u8=#Yc#<5}F4-v>|Gd>$)<-)wun4Vsc6oOf zl$g!#3`8wkVf-|o%BCZh;a|4@jsjr%($G4nS3nq6EHY~J3vnlRYul;{6g~VNtZmU$ zotO^{Xreu>I;3%EsI3J{TkeqEmOc~ujSI={=;A=hgO|ac)h;Q35(>VBzno_0Q zn*m}0lfRo0Ty)L!8kUf=ahvAkJ`l-qtm1CHu6+*n#?`rEn%Fp%xitrbGoz}L&iqFT z@*m)QN0R-|M`!Fic%E*bVOZ3&F_)y=rJjJP1Pd`@&8LpKL|Ry?P4dYS!c8($1H47( z*w2~jsfNuv!$KmO!pt%fw{hotZ;yIkqq{`M`@Wrsz$1PupI zc#8!Xo@u621Wb9`F>>sg9gATP4nL@LW&QbJc_DSC-w-Bm5?VS9t>2B1Ycr+8NL1dzL{pAqO$) zh-Vcj-kD_mpn&$W|HK#PBJyRUbKX}A@F?rmK*&w+18g-g1<19v^R7<&M|nP`bq3VP zZ-(X|0sa_#dvN84M&Ca>7|ZdOdD{K|jwjL&?{A*BC3KSco!UVJ{_F?=IIc6)Sh55* z<2r|kPSWx8%-)8Oq`8Y6CeW%zAHhR87u$tI-5#ACT2roXmVUA391ARlB~!8nx1h;2 zl7(2H*_KP`Bm{@I&k}(mMt_XAhi~S!iYhu@lG=MQ>Ywfc*-m|41Y4PRM(A62i}&`J z?%O5KMA;CHcv@}pV=Lqko92JH06cni0Kalu?hWp{9lER6genFUSZ8LeQEvkVW007L ztQs@`S1wg4Uk}tsZMu7rRsSLj+`_V~JcX7dW4_LDi|uI78e2CDQA-S&wBdqi_h~l2 zXRM7y)F@IKt9<)}Dawxa+NBRiK$2(n1z0dUDz=bmlBShmAX`*g`A$nAs zVrYO2Y97gROwbS%g4OalQmw39gc#`~$YESfer)QCdpITbsdE z71K#l)BMGN-B@T_1To*sAq;M{&+T9U|V<8qSeNVs%ny0lyJ{y>j5*(g}}!0vOYK7qu=s^O@mC8P^lY61bT6Mx-{oVjnqpYu0$wl<0Y%I*tIRI?s>STM4qs zp%gsTFt8Q&p!$!TyniNxE5EmQhAzwg5jo|poSjlC{LRTx0^G>}Kuh~x zbx#6wiQjQYX4WZ0;rPAOexebMq(cr06c1(G&UX|P^esp_;2^wjp+@|;GI)HOqfeKY zM($6Y71@erSxO~?iysxcdi>Nu-jX~YT~{AdiU>7R0IR7e_W_ZC{!U?ps%ZPrI8R}` zutbgJvfZkI@0$9a2jD=$3^$qH=xKDJx|8MgZFQy+rfcj;0I+ps)CjWfQi1^lZn>gn zcwI<|5N&}|KtzMK`gUf})CDwLRtzZrO>zXl^46yCTF|C^rtKL7XxzPoLe z(Lp!hEjL1*tNqT0{(V(*J(lC;lUh_%ZNJczJ;m=4moS%F@?=;sX^U)1$$0SYcpS^w8)YI3@lvDSx z(rdJ3o{u{H509?|3Hd`^2eYm+UWR5Z3XS*Blp4jnaUn{OVoSodghM_c?~n3Qw~Yy9-qvPmA=Jm&Jf_-R3TuqBuShJ>npasT@yINon!lKx=0CcsUz>f zLIDTg8hyOW{%9CY8%soiQGJ*TeDszndp*V zZj82@b(C)*w?VRMN2J4;&vT8uL9-wVbzMinec1SNK%>IFs%i)MyQ>r8VE0)5YgsG6 z_xn!8@(JNAnxlq^evDwHrDXQA)Y=3^qb|bA4GXl-_iU~86uxhpG;*yCwWD)PVB8(I z`8Q8A*DDc&8_2_MZLn?qZ#V;tvH3?-wceNR=!dY4frsIg%LH&+N7Uu+sJqYECW|@D zK*~Zf=$l5MKi{k_8*!<5ywhr0-9Br6V3sw5%mOVJWGHJgBK(x8R#2l8qWfZjR|JIrfMr;k{UDJ#mQy9xJKWfGnmS9}v_c%!%7KrOe3m zaHuA1`wZDvtH5Jtr|H`ClmJz8#7G*^)8~n^!egAf#4`H}+XVwSmf~d@%7>_qLKK?u zg-c*UbvcR)H%&wsT}>!UF~`GX9wu?@(eY-wSsYa;e}@b|X}hu9Zny#gvVo@x$6B{6 zDt@(`Xem4Q_zmQ}!ET5B_TXMe3lvVuZk+AlY^_K2ZosqU`R49mrt|kp|8x+%Z0M=H zn#&GI={I~`LZ@&8r_4A;79WMx2;$A+2p{BSlW>} z;%A&?Pal3r!&#VQ?vI2;)+-{3K)SXOj3Jq#oPOG6u;>z7p;TQZy=t@+IiflU68${l z0RJRh=Vhoo#VyG%;!IS)f9 zk=SWb(_1FIZ6RR;(I{@WcU{-hgkN#nQwcRW$5AqF&$i#UQJn7$&WH+A>)59-*D(iz z|DttHiSPd6zd235*DxM=_b-Z3{S;z6Cie68($Fnh>b{LXDp@~gdfqlhCqA^=_!Y!w8Upt?6-Gttj6#VXb6*}HtM;FfZg`mR^ zS5Gg4*FqKR{Fyu(hC~8UPwB3ZsdZifWQ^ZMaVE6?<`7P>x*Bwyk3e*t>>8<_9k@r_ ziGOO=fyE6uDWeIZll0Z)xJ)}97#5H?|g)r;Qal}Cz>lM`GoP6SspZ&hkgCQV(=kmf?x z^4=VN5k?f=Y8Kn9a^^r2TR7jZ=db)*F2bwkN<7Jhu_c|yGjj;M^&C8l2)HM=I#ZiO zuBn)3l!tbm2f4@R-82#_pYOR&yH4ufeT$>}f}p6&S)s>G6|9%x$qqjsqg?r^uyTfR zut~A4=823(xM?rFw5OA#-`SF`%^pDnS1Q`4=V_6TW8h1bi+@E`gIex^#(3d$odw}l z-?>1=R<30dVK-JwMK4T-+CextEvX7I*Oh9?CoR;g8g*!z(e2+%0s|qYt4@+aX|(fI zVjDd$pLg9BgU80+t~y^TJ6}gTJrBMMIB&;p{P6I(UtO@jdsBcgAx+;k$wGP7lVx~$(PBxF+F8s|+HH>FjFC;By@qy0X6Sngg|dy-=94Lw zs0~fQ^zcCGLgc3?-M4z=FKWlQqu4GH=&B}$MYf;QwADmi84k%O#T@zJ_$2~7OIb$J zZ3ygf`yQg>4ccDTIt%Rn%$26F;FB*Bu7wbRAPm#S#z(u{>O6+Q5R8C;IKjB@qX=Hq zr5~20>9hE9N$}kxFn$ook}rfAF`Y`{Nil~r7o~aP0{n-(-d9Vomn>n{W5M}0gTO_Z<@T|nR7JLjqd?an zTifsi=8gI>!z+UceGc_U8c)E-Xbwv2M#{;jD7T5XC3$f$KF&sTOG@&6Bc#(<=z@Pw zNAmc6k>Ez!RXF+HtsbBUF>~Cfd9enY2{jAGw^id#YnsGzxSf%^*-9X#3#~Oc0Ge5# z1~BgVgoM_PLaQvlZp#sU=FvfI-O=HsuP-S=&qC10V&R9~V};);t6(cTs`1Tc9G@ggI*mUOqs6vLJr%MA>MUWKV!4Gc{AF$Ty(Ss)5rssM@ zIwYp#vwrtJG_Or@6A;8w|Gt}!^0B@+ogp!^RtNO`T=&eB1&91~Ry3AbCmo(i)3NIc z2ESZD?Ou=UV*Xlq9efAhit)T&Oe8M2t^2Lk0<)`4YQ8Zk^fb37Q&FA|_5vmw7~@bq z-G7Gf4%`qhSW*gp5{&YPTuF8N4BRW;czt_P_M#35T^30*wZ}Tz+Uuw) zMKEruBj;x8E2)v;Q!Ghy6{)@QxXS8X^w0C^J9GuVPJXbSBe?Ni?|apz`L@#{T%keo z$Aq{hE5(9iB}2V~)y-L5E-4(HiYN~;s5amZO5|%9mdA6X9v)H0Ol4hZy-M=l;<)mq6v5av{4qZ2aUAO%kyb?p? zMbI1qZbKWiO>mW?@!4Y=dus(Xcrw1R*o<)R_R`nJKz~|L(@_KUUEt+-eTC1X@yE9q zguDPG(fbFrj~<{f;ZS#0?`;zWPgf(2Kb;Z}-P1`L*D|}kqZYEk9`ExV9i$70u-hKk z2faR-`#sUToprt@!hbn?b#;~XpfNL>HYU0e;FmsF{B)>o*1?k$cv-kI4AA$A8x9Gie`nM&Eb<`D>%Y+kiRKVx?-Wa3FApz_pb`4f)4Oj}i zNZQa2C=(^VIj@np5WF^P;4)(d8I08=ijmYPY!TiNH8gu^MWM27i-3w+Y#bLgjhcUK zfz?5Od>DT;lZ)fy()W~Oy*&hKP0p4m?smc7-}%g1BFfg$wLmJ|I-RoC{3$uKVDp*s zuXx)6Jb67-Bh@DHa|(mCAA60m;4h>Og97HN%N(d`I};JGHm0wqVPUN$j;sBA#2mWv z&COQO2_@7LVAxI6m_#(f#)8>H)B=4wupO-R-=^f zc|@B64Dz#5)kgnl8VU9g`CCYu#`p@QmsgfiDxN83F3cjS!7B5klHoNe=nI!*6yWVX z1t=nIEb+C%eh8pp(y;aAdo#DFrIE{0CH-R8j`m|BerWj%lk$vqpJ*2{;zruz18>;i z)=9(j*L3zim&QMVBM^S2^6|kmT<4E~Q7o3k1VqkJtg&M(JPbvbqKdRxJ`okkQXY<6 zudyEz0HZ}b0?N5vfmX=nAqEc=#C_*1M2~atUT1>?RINd%G*E0Ljhn^?F+97qOcR@V z@25^kHy?9#a?Juu)|^OZeCffp#}%W8edIhYET8g;rmgqk2Drf8hdOK6b@#&qge^)? zy)4j2o;PymcSGjNKVJaITi^RXkHyz3h3iq2f8(EFEg}AY6mi&OP{(8nkO;8TD1y-Z zJHW%W4C8ub-EqP=Ar)UfA=7kxp4+z64fx%ZugLYv;+*pfBf|YI1D6{Mx`;}lvT2qB z#~3endgrbA`9SA(5et}3>fs&|5CQBlp$#JfI#gX?pZ8ruw-ZalW9d;8_uk4dX&$?G{6 zi#r6b^$~{Iyj$J|EnH^f;c9ZgW*~{QlZWg3XsuDL^_aTv z-PN0nY|6vrsaLckO*!v5%G5Hf-Ji(mr4A=lyHd$^&%Kh}jIcZb$*vrqPl127-E!5&CYYVf z)D&cn)-gEp(NSEpi=wDUUek-yQ2cS>+um>Qd+J6J%NxTQaTD3gH_-c-_O z#B^n%a$?fIJ0i8vyjjEiohn=zFQGv0T=B8J(&JH)%u%Isr<|DQ3Qmbod9!$~{*NmD!*C+kDoC)w?u zfA3X69f!FwID+eg_72mRu1!;aUhk@DL=Q0A#`cgs)b7 z-kCKa0-lcN$4TG2^VgSaK>C~c1dSY29H(GC4Hr>065hq-h%%hF%U{+wZ=hn`VnK@$(9+4I7&MQ+v{^I{Z4fP`^h!Ap-M+ z1Dk%iXiaVgy2Y7WwqIQ0Nne)L25GIM=@$#V$H1P@PzbyvA_~0;I&ZVjdQT(@mA#MQ zz34(H*Hk538h0;=@Qbzv7Iudf({Re^B$6rPvorCj97T&o3#Pf(9Re6Ue6{WOTbB6o zeLuC2lCc(^(3gY+_hyq3N{0-K6sKYA(DoZ4Pk-sQ9R!RLQgUVBur@=#a(iVx>w3KD z3}rCkM^4B*&sWq7EF399rpK0Pg9i3-Yxbh1V+#w(2|2#ahKf*bX}RTc_YZh@Qlk?J zfo=#UuKCi;2vLn^*B$Dz$pq=|349JdboSINOiq*}oz_MU&%W45Vnl87)-5q7!Q{s_ zDs^eYM8DZC}1?BRKeazc*e+{9r|h9i~cyBs)J7X>Nn@?X^z_mOp)i zE?uNN)?piR9%MW5Y|!ztle(OyseEAXs7jW=05@%X@2ZLcAPWRMT1g37801PT~*a^b_ruFja8O2lo+0GYH zc$CqFu#Ed5@=Y!FQ(u;p?8(HYJ42gBixH@>t@n1k+s z_n{Dh*i^1F?X9kFP+El@ZGoM$G1>`iW23*P{r2l4z+t=g7x=C5?JmskTDG6Rw0Chg zQ@(yVtf%+RQdEiY8}=)PqHHwL{Ux)u!jffAi56CGX)US#u|}p3MkbDrb?p$M@>EMm zn!vqu{`{Tg1RyoMm#nmq|HPkZoS)iM0x*&H=}$U?0;M<0oi?0T&>P0TSRYA)gHP`j^PqQ%0 zYpQ?I?n>sQ@Jbx#U4@;u)lEM8JXcm*MB}K$$(D1YRS)`vL0l7br|ltvodo}p8bOPX z!_=j(HtpAj^;pgDftHht`$EbBZZCa)h>F6@i6<7d&N>3nA8ws!XN3cgGT5Aa6EEB1 z@o`O5=vw1@$XuDt-S*%pHbVN`=h0y74{yX+s%CV`i}};O^I3pW*qmsGZB`K0Ni;sy z8;W~y>BOpx`B5GbOts%ql1j4m9hvSoGW zoDozuHwu6!u}7b%zvSND^wt!=xY&f0vJZ9M|05U*;ac95iXM)`BBx(E{H)qYW*#=_ ziA_~GH`$zSpj!^g+sfU3#N_eSo%+{&2)H9ofWkBI%XvFa z)^&&7C9gedcerU>_s8PZ8fP(uu$xDvtpDO1rJh`ebi9W|+|Q!4UPsD5OgAb>9K{QZ zB|ndx(+IsB%=lkol76R>g6h8TAIYCSY75=l#Vh{E`aC78Z*?s7XU=x@CUEJql2R_n zp?tI&E845{E^TO7CgL*2WhmonM&Z`ouX^zn(=A&+@2IHQr=}@n_&ariA{sor(8nx)o`Kz zfcL!(n1R|j{TFg#kQ34Je%8YNuR;{K4LkEej^6mG1aWqF8FdEk6A?@kY@T%{& zi1>x^_c04~;l@iu^|IK;)9Exa`3Ic$2x_meKQWz+Ugq19Up>n_-S(x8{g-b6XD^xD z%`oBQJ7iYH>nP^{6b*rrYuB=ciC>c{wXQA6R(mUgE7)LV8veA%1>yWcgYanNev;=D zjPlE}HMbG>ZwRXmQP0W6aTzbM*P(SNBENPq?M+yFzb=oTR6T=MJG938`_qf^- zkT&Q6=2ksb-a(>X$AjmZ;FPH9Frt}m`g?w;B5Rrs3$~rsj05VP;`k}iRho#&sO!X| z;RMuJSGUa=u;X2ax8m&^CAjso&i&rA*qoS&PejPq6-&>;r!HO&Qsf2n_Z7X*7Tg1F zG-Y`-8Wp7Zzl0*cFu|~7t$(2YC~oKXcEi=8{Q1^Tt88?U8Kn{Zsyo_`9u)P?3(mfs ztwVQO&quD*7{5|?F^vPn%A^h$OU-mfPxz#~L7O)bfY6;h=3mIau?pbv72&$91rlXm>ddL6uy^g_Z9m!Lb@l?yMUk&NafiIxlO6 z-SpBCP8P@n+WuUDrpMyQ*H^7Lujj%RIZbF{cRFPuVvfGo3x3zz>o4^G?|fwhJmS={=;8Zh}FcIDh z`}nMJbrltT1Jar=6CT6)ld>dBZP)eR#cBqr>U$`Cy`lv$I+XNq3Ti?K+s@0#L#e)- z&S!`?u(u??+ek{7<5-)-0_8j+C)oa+y*L(bPFpso2-0j4I(B8v_fV>7k!&a3{INpP zZqLhxWkb9fF6g5CJJui~Z__b`nBDQboP~9{>*H=Sf$kGpO|78rR?ImqF-i#(C!Xhgm4DeKgesW3$7ZK>&=4`xMb(~arfN)|D^be2&&#R{#mh!?pP`KJ`c?&|J>}1( zYh!p(F0>VgCOXDfA7|LDaRl!9rv_%6&J&%6>qv~gkX4fz6D<;=WD^yn_MSPgsmd3Eq$`+vEB&mEX0St6r4 zjS+I~m|*_e(KbYivnfP72cbU&gFx)wP`TKl#=o)Xb$qI=b{z~C6!l>EpNz6OeuC>) zd2+Z>SumthLB3mr2 zBW*XWob;YpJ3_&TgU#&|XZm{sizdo54=RT+gmq=I*0@eAxz+Ma=RpXy6SngkX5>%f zYoPYilKf8yiK^lIz4I~JVr{5Ux4y#+r~s73$5z1*6!Po$nIeGT5)W&20?h~+-x32b z84=EL3p`)o>G}M!Fyt!$*R75B^&b+K%VwXS+T2BcVig#o7oeV=3xcK=?uZfIE*-4w zLperJ2QVvmyAH+99=fI#}p`$!6cVp6*e4a%NwLzg+Jo!u%pm`O+XUC3~-bO6JKJTQH@imN{O2~zr?hzrFfIhdRP%OEBxu}nyzNGi_ek5EU z6T!?rX42g<9xN@Uy7~K^O`%%Q7@pc&7HDuslGwd_D#bxd|S{inPUlb|2Bn%Wyp6R+K_N0 ztm*^vyw1Ita#$>?Dnwo~Zuk3V!EXqKH3bTx?e{G6m4MQKLSYy&yo~ zN)?ggz?TWlkt(8vPg=oZdBl8lUO5ZtHp7WWVKEPAgo3D|IBbY_OUzpdeiBH@pYoUP z1GVzW7$`EZj(;yZYF=&rt91xJPjips9=xQJz_2P-cv^F+;MOzLeuTPBq1`sPIzMVV z_hxL8{QEtvoas_-0YxF)@YDIi*Uo!()@39{(9->!@7|b_NA1iNw(xUy zn*%De`&DURV=Qa#z(?Qny3JAOTd4zf5y_g?lKk=K>ggVVnny;xy%mM=(Tf+U`?t%g z^L9NL$AIA=!q*p+%>necTQKxu-*3Pi5F}x*z!^77=2Ep1d62{ZHbHG1kyD-(BWC_u z;8cs2eH9yi_l@|n#nm;AeeC8tE3^z?JffsLCz~qX2Sj1#uGBdA(fzlZqy1AHB~PUQ zO5ek^B0|esSy5fAoO=YicD`|Sp)I>p8!U^JVzCiO5 zva<2JJ%0;&FJKVk$>!KazkgpIL0_N0a2yuqF_l_;kX6C2QF|o6PET`$vWwtTQE-m@ z7(naPD0^~`rAGq?krzceD+FdpAW`)FcO zhaGQdp-}ohMYUNFXW=9*wLIv98k5>FuP{tHQolO8voPf9$gqiELU;urk_|~I`xp(R zSFeKsn$+ciYbX~aw@+7FI`lT=R1mS!1A|*E2g7C5i12({Zb~V62y0~Vf(S-lb|Guh zUu#S{(n-zOA889EI3{f^;;%gcede+1NJVxW=V1;JZFXmeMuV#H<;IWm>}D)Xx0}nh zRMhdv!3@H25A=D0bjr0jznmzQ20pE8tagf?eT(G|d6ZbfIOc-o7L)PsVqQic9E0Zw zeesmJY!6}KtvN56aCI)hX2NJGCVUL zjt;g@-xbZkc&2W`6l5)oGithFgx4EN(^R1o-ia51#9=F4aPFrhif%?T3dN;SCaRiV zQrBTB10i(oG=m+i{pack-F8{b%?vUul09n?8XF}GWqMZQP@*GA%fBQ8D~&g{D=b!p z1})isDFZaCicbO040*)9#JQf^?!Ekszkvj;`38+D*XNQvAbbFb{~TZgHGI2n^ncGY z@Kb_3EOkO_&wVeQ;YYx1z~J%-0~JsGj>}hYA9pKdq{Z~ckKU2YkaGk zOf;J0*KDa7`XT3g`GQ&P@yWGKlulzYijRiDMnzPpj0`vOSPZ?UQ)D7ABpthoRjt(6EVyuHWiEC3n@@%&VE2L7xFz*~A zq=(+MmN89#K5Y3_mKmIyjD^%>#3y8t$W&CAr6~N0x5S~w!K##ylYA!p6rQshi(xzi zhl9=T%nBwvF{YQPHp08zUrohA8(A+|>t^DvU)<1Tt1!h0`zy}9UxGmPGVs;BM9*j!UI_8-s@?TZgq3_;s3pVEY;6_f$2 z?NpTe4L=F=;$Y@oU2A!Fi?-F1W!G zsBkK^Z4l-jW_;X(nVY?l!y>7yG)h%$$Z|pgbYQKQYIA~RB z;jSPSj^`UWNka>Rlfv;*-$Lq!Lh%WRRlC5K<|(U#@PfKLm*t6VedQV6@eL|InQ_Lw zY^f?|=ZQaO`h7ZP(R)zmMlvRO!;4nG6KtQBfl=IBHA%qKdxkYpGnau9S|O#+;V z-3H-mo|b+g20otEbvR=Hz&9HMowOitX#b?&)wR&4v}JLcC9{*Z6ae{UggqM`WUL9< zQZKLfK2R-u&yXU4yxZ8D*qg!~B((ti(al}QMl>Ahe3H(IpZgkk9zzp4hgN9(_oNr@ z^KUQa#@47R2!saD3M(g!A%-87_Qwjaq23qvc5QLLC49C8Q0N@1`(p$lf2_@7s5?Q4 z5hXG-2sF0F4|+L$mu+;uyg{GCKrg>%qhIp*ROC^N;=8v%6Ya`G?oVQ7q$^GFQHs(i zz+yJ7PHYE_yY$o`ym3QLbwss3+Q@#rYlkhlnZ$@s#RAtD^0VLbET|nzJjlSkSXLISq7st&qN@JStH&4{zGSqRy@S+wZoa z)opdwPuA^Dn_k?XA|ADjgFE#hpqeg2He7Nk_x+nrr0Aqg5F!15ol&xMzc-N(l?9|A zEFzhsgI#Y5yWUd#_c(Tndu(JdU?0+aU>QQt5 zMOdq*G)f7{K_s_ei8Y+eRc+Z&BKsh^=K#d>xMez+ASv^Z{i;|^@+z!Fp>AilzSttn; zWhW$`S^-v;KrOglR)j7W!3UOzj}O6OP?(SnL&fqvFuGm<{v=AqGlLLGVTLKFc-@@~ zo{uQqJM^D)_1dQ-iJ~v5#KU6M;R~M3Wy2McJ#@4eJAgRiw{( z3+;t0IOJLCNuA0xJ0u8#9ETJ))I-gh25Ws}R4VD{h~teuJLu^y|7jYgZ(`OKQ1_ZF z>|8j%B4V4kW&Zv{Z{=BU%q*=JnwbPGLeUE=UvXPR44UeL$OEWq8xrZhDSWs`-wvLS znb|P4*)Hoe|6E_yLQY}dY`_@9Q&+U_m1JL57gU?t7}}SZ#t~;)*G`!*EP%){tEq03 z;joABc(9gg1fM!Yt;>Rvx5>zuUSnORQ=v20#e{XZjNf8i`q23EPPa97CY@&7ZD}U8 zy?x!?vNB6+NH*Vvh(z(Xv+`A;)GnPgKhbjc8RiehV}5EgH*dk zE^uu*YLG*y0xDq*zDMA4ANePx_-Z+11Y`J?0cE)McxUN z$mokt)Kdm3fOyCDqU39#kZYyLcZFXDbGY zKWzxDIIcHQWHI|5UEv5VK8CLQV(IDooUaq#Db2}^pM>y&T*97tpBK+mS`BX4o}FkJ zPF5@%(wI+t0jaM?&oF1gt*E!B;P*XICk!ZxrBVob{+gl6RuTTK;B>ZCarI<>e8MhE z(68Z@D*s(jIp*i8PrBY0P4=5+_)J)3|MGLnPlK99Ocn{?!spCafw!`%7uOGzh*;@f zk%H)ON8HdQnxy4asY%=Iw26GGhKCdY=nG~^Se}V)uo&HxTT@belYVmjBvjz*XYt$0 z4YGSoM_QrnFuoff}8RpRBy$p0W4+E^+LgVJB=ITMWeQqwvL>HxLf4pOt*&za?W z^)^8;lI-o`{W3Q;y!Lf9d(C04;+a!0CNHEiUsvq@mkW5dv~4-99!=A`J9E5>hoc5d z2Jh-a&TEc?A^tCizBb1}zjp+x{l!`#F&twjTx^yx0XZ4lRLO8W1nT&cZ4Au3#L*^S zcwAe8p4U$6Gc$U{t#H3KMpH2gO(E|wO73m~9fH(5ZhUs{`urJm?o#MuSxW@EwJkMx z+w!kb*ON7x*^Sk#cj9L|`pCQNuHldtAq0ccAV-C7qdGO8+M&Ke^xio06K;2MKDrE>H3_osnGvjBUQ@3) zExA5*(HEq$JUI6A9mtfoA@6zfYk4eSLg%8sgm(Yx*k&iycjw4C49I(8Gvy81`FyqN z_S*p*qePXC#ddK2wR%(|=UM3WiAU)5cK!8;&7Z+fx}rXlpVIcO}Gey$cgw@0;K zxx0ZRf|G5R(9#;?!L-LJ)*v|!%j_LrpNBPSo=KHjgrryUP5-v}$57kE4_0y=-64wa z$(+Pm#oSzla#9O;pLQmvy%kkDvS!5`hf9AtTbiRhw{A%;MCN3iw8VbBy|PYBOGxf= zOpD7YWIu52vGzBfT4lD_?q{$3x-6f%^`=3BB`dRR3gZ}D-2sweiJbl1f@FFZO7o5d43`_x(i1yG-rNbo4O(GX-kI;*+b+*x5mz-B? z>|ZowMNf{LBiW7?)yCYzO-t|U>T$tTqaYh=V#TqFjwX(AtQg~R=wKNC5Dr0^@03QC zt;pp(su6o8!w;k@rW^;TnVh6lEO}sozc1kBeJfT+s*%N649wp}=GYt^ zu-WMaVY<%igOWg2B8z>uG%WcodX`wGZ_S9L@BsJl< zcPk9jXPsVa&RvVDcPPUrmi;E%4--5huQxY>hs)z%M`f=ac&4=z5d@Uh&!*H_4es(hB2=*10JT zMaun@lz%!w;@zh++4wDJOb2l^jaAI%&mh}L@tw8o_D#1NzJUXL!0GTI`@Q0KDMt}W zpSu^=x@Ee*MbT?WHa-U`f;m3g>HY2kC6Cs^fgz3vcfx(hJ>2!DP2s0r3xMDqKbgaU z{KM+Z9QoRM#J^`}3s?M9%mNEmhAZPV!0M{d2Au!+DG1b%+dxK|s|hmEqHWhz zv{G1{Q^+DDkmQW&)P3HF(3^H&DwzJ9vG%r-oI4e`SUlqjk>}ArKNuK5YV%M!qZx<( z8+JqfH>z;|RbMv=*wdvNmt0T`?Y-(#PX$h8$U_QY7jAH!Ez zbTO$AnETXb1<)^CeXPePC4c;0^5?}rC|*XyJuc-VzBo}L^fJOgnmc|tAqtZtaj(Ce zGnA@eS&{@;M#oBob91izTUEwv|E0woNVkr~vATGg{l^wFpibe_{{i$s3%`@>nTv|+ zp2a(t+6+xdWCt@Oap(sv$^Sch*8!+Sajnnn1wjM_rPxrgMZvDI7qFppu*GOZO{__* zv77Q@?+W%Fdtz5C5v5~`MzO~NcBEUV!rgiE&zU)UrtJQEx%Xnb^YX6C{CHuXLMfAq1|##HP_{D;AhM`ez!W|MKOL1}+F>yAf2c-ZZzy zGr)q)W6Q^ADxQBMvK6G#)C&~fqs`3rnO2!fJ5^x76knSlpHGrA^ zz?=!*7-6{$(ufALE|iIB!)T@kJUI?lI|_D_p(pqGw~4#M8(e+Hg}ax>d+AL^f~(gl zbHcVyfH?yxBVI6&K#oTDO7_}C*@P=N__7v)6;Fa$44hgokI_CZC0vtH^7LPVaeqq{ zEn%Wo)2||?(M2}mzzVUfyQB3sVdDpg4fW7^l@8f_Hy8^mp#x4tR*`A7z(dFF+<7g! zf-};E-!)<5r-Ti!kDy6zG-2askByp^Etkz=Uf2@LXdY7o;P=j%IAP_P?d7A096kdu zZW_M}=obS=TndK0$nxuRL=$=@U)1_SX1Q7x??Nxs)|J+#HV8MCGWT}hH;#;@fU;KEg;GmD`aTUwYMgBec{Q34nPrOe9VfUwR62Mx=E zq|@#)gAXaQ%aL%sC$LZ0IJavKeU$LHGrklSY#Ggv?b)j=zd^fQXD}X}#VfF~!4@US z5u$-wV`Fh9hu!Iib?MV3&5k~{O4B-3mIJ`zc$5d@ei-WmniLSg<9>E#L0b!&>%x?Y z4l}yq7@fwihyy-!*{*oda4J3omw=sU5u!2mO(Sf5~T2^VmrgS-yp1&}sXqsM; zG&kYi%q}gX6YGfyVd8r=Nj9_vWFml^F3Cb?68K&4xg@s~O%18k}y-#5$x*`b)YcQrKhh?EQgQn&}r!mR<6S*Akj0(>i-f zp2QS^t`dRL67Ezh13U;-5q`y_fy{1aPBm)e{4rRD_D%Gn!?PPR`kl@t{uA6ekO zGD&3$8}Soh@3GBR)go83dn0hq9)62lOeKb8vS=RKuR;e*%pK*<>ck9u7;USqU5sop z>^1Icg?Dl@>-DAPjy{7^!7dUNX5V0qW)6B>_*LaZN_w{U{*gd zgmGE1A?A!0bn<~s#@KkEdR(mc@k(S7AVf28fJK#H;6PZ4>FX z5zPdNFb6dOKBL^xngl0hu&2y3NH#TO^Hc_l?nk>D8DqsJW{CZsn1$d*uGyOaWrhKJ z11ffd-CdkOFiFWpXX@@0f?wPQRs zQc;wjcL(Kf!p4sd8|uHyv~6wVgUeE2dP@iaj722Q7k)eUo6n}2Ij1IUuwQ=y*nlRv z(S!~5RTDNaLuJV*NY0?FOUP5x`L&~L-3NieAYm+BVeMenuqvK~Nfu+zy@F4TvD!*nyDk1H$ixRgd8G~MvXZtD1LSzZ8fR)k& z9K11;m@_{#4YcIX-418TGcOaneak2%@8`3&D+2#pp=R|v7#FiizI=Eu;Ctd@yc%OfnEQqrPj z3I=9n(V-<4&9x8U}A>&27eVvcK4Kilh`f9lH!4MUMONp0%1d% z8wm9ZWRdj*#`iLSBEc!U2E#B>nsvE2LnL`90B_?ABs-ti%tRN{p!A7!*JC(xgKg>d zzRHmssar4cES|iTA%bZ;su2Qx>Cu_8bJe)q5GG)reZq5kT3NVC4q{4IFg4GKN!UgR zdL!I zM;Cte?feK#l~z_{**$O8OU*2LWQeef{Y+h27z=v}hOr)#gx6)?ThD-%X^7SI;QixN4st{< zA=8{+})-Kw(i?F_s*#?RE1@$o5_E`uwF_9>CPkPqrS$;Ibu`Xm0 zQVW^CTKQu!C-E75FeVf-j$xUpbj}y0_S$5=k05@tcvy-Qhr;Yi5yDn zT(CDZ%peN^lBZ#vCXr1nWx{~I1w@Bg8&J+RxTydD5CBO;K~&kBs&A*1!k&03+3A;P zm;eX@fIy#6^9XN%pf|Q3fKFjyUYv6~Jnq@EF+H$fVE{Z4_WVz`p9SVM;Fo4mtGOF6 zyG+tB1-~)9We&>$vlyI2d=^%B?*qhJ8QCGo0-U%m0MMDAR&3biCALo!yE7BGA~AQ{ zNWuI=a1&P;z|;?Qy$CcAm)BOcIC_F)x1}zd{SmIFh&HPzkLw;()1~kcyoYaI3Xu?KL`r%_kA75eO zU04^|Qjk64!5EpDF4$f;6EUmYey-1-r1wBpGML?Z$PNA;Z^pBE$fnK8;k030UYYca z?ID__HAFE#(N8o}nN*IK$FNW8s2Z3+9P(B&_rU&_M}GM=DS`nsA*i`_DaR0XIg(8y z$M`n9G@CzL_eiDbBSy_RifL+`A0cR~nl9OTgZM0H^JEs66Oj3z(z@=tUi*xBfZTtP zm7`0pcv2R5DZPhmWumZkWxF4dDmuf4<(C*$vyPMYLXD>l_7FK~iv)VMI{>Bo%-T#j zS!uRj8RS6^1bfOXgG|jmeny<&voOO_U(;v8vnp~}Yu9#yG>uM{fzZ%@=_qulya}TGK z+3>;z6{%f2YF{&p(27X!+2nHvDjVbGpF+6xu`*M3mysO~l4l?hPi3aDJ3NIuM+iBI z$qgyp*-!}7WY`u=`c55FQOYh#qM~>cymoPABbh=CdCMElxglNa!DFDy;fzJX)xoKI zC>&do`=}O4u|0O=Ca;~WTrg%Q zzA>x#z?^%jyS8Er;@UsVobVbk@+Qq)IIt=fC@$?ebUW|GP zx+PBtI?>+L!rP1V5D&2g`c@hP+wp?1FX&erBNoINdp-(CI=z#5Q{-jY+vcR(cBe;> zI_6WD_a=g*`?NM)oLFoSKfRM(sP9xcW-#kWvf*bXYj&x(MI;>uY~El@Pq5nptp?Ac zdH4qR1WMgcI@XlhyXiGmy28ZX_MQ!R@*yj45{z}*5hCnW6B3`L*>h;ue2eT^@61e^ zHLL6}G!Z|65z#FAhrFmUk$REs57bVM?ja2`Rg`U;daj|}ER1f+{JmOxp9F#fJw3sO zO=3@x!8`qQU3jyf@eFByphhqqQEOI(*5XP|jQ(kCfQ>W?09G(4#+oW-yZ+5DO0vNg?4QFG)ef2M^Q1zI_;78xjSS26fG zg{zzS#sHB`^a6DRpHQUFYio_>n2H=3ojK zyqA=XrbSsVm_wMUmXg?DnSt1XI;j5GSbg=?H{58Wl{@}xcTASH|67{%8;!*U$k)H+^I7Xb~66b$3~OfXp$SygpDR_d@tBo zeucJ{P+&)2fX98|nD0Kvsoa!Z_AQzBER9i~3fFU$c6l2WLfHhne8a0z*!c$RDr$d7 zr?5dFk6;cU>cX&6p3`fu$8itJXyeKpEQa0S^CaQn#O$95JMdRJ(+nmah@KBNh2GoR zO&-C#I2zKH1WDd3der1Yx}G!l;mIX&${{e5Z;Ycz+WP?cx7JMp{%z&GFwPRb*S=q^ z?IvlwN3#YEhMRq6Dq;BBOm6L&9) zx9n#r=@fUfenaaNXP&iA*jR0~)%x}C*ROwn<;X!!q7u{$%e(LX@5L8icy`2yQKLq4 zY;@|>>AdsL>$T^e;U_oWbkoHbT|9sO{GT&6YL;!W{A!&fGkPdlA!gQ&nk$j@d*zdV z^T`y*4g&*NirDZl;I+3&Zv33(1~g%#2^&iV8=}n$D}X(918n?FN}Bu6Vq*B$yGKs@ z6)CXOKD;QI-CtyU4Dux~QUT2RH=c&w|3)R7U+vzeEGO1tmj8iQJJLzzNEQd96^|^c zX>4@v=Wu!;TeWCP13^9Jv_iG3hUH0IK42c?ZS&^M+AP2Pa?35Z=(|PVeDn4E`3vkl zY}mRA1v=1Vc6?cyjnz%j6;p3*E$-9Pt;k}77B>LyzCP>2Nfw2p6F7m#{m7G~@+m)g zm{=N{4zbZ8Jolesadtl|pZ>vL3FV2s>(5dcNRZ0uEH$1`@NiE9-W$@qcBGJ|m-v`W z+&z8>8I12?k-8QnP|&k2%{V~Wn86NE=9=~f$=C8cH_Vfrwvt74m4{ZtR(@I+NFPyS z&Qvw-E6}qor;;1%CHKkh0~Gvr3X1g!ks+|cEB)T^O5-ri;(ithnnM024OXc09w*N0 zU(>9v02?H8&9nNowl=E0JkbfRlH>ASJ+yD%{-K8-T5IjKA<&eVbKbmpM;?B-vcmJU z6csD%;WSZtD1|!Dt1-=@o!ML?gNE>aqKY`qiB7r;*i+SnnTqe*TwVWSBfKLl*(2%)iBH5I8j;gazV zt$)Z)dPvDLammGvc@PjG$#izv0eoj2W1nd|XBqwo;Gobl#aUZN%w;&kPssMpJT7k5 z+f}kz9z$(*EWg7OyD}3k*IK*-O`EVl-{P82<@I&z-o4uf>v!+Iq58j7R#~NW>(;GW zwceenMKZ@u;Qn{U1O_FHd#{P8DbH7W!{EILIz4^}8}Gb#gzw5vl+nRMHX zc4ZA>0YB9LM9&b9a%LxgniE`b2-yDgqKKFWV|pa#%rpUHAvNRm;h@m(4UhnYb#ZNf zXxSu0^JSJ%UK4kQg`VB0rMUppxnjBa8}v#AjzQy=O6@~xDzY`h_C|Qy%V1?3 z&KEensY?-Htv7(SZQH6*BkXz=8PiON`I$3kE?BSt+(db9zw^#rcInBLK`2;f&X}?L zZo5sLIt~AsC#GdE6-r6CbD5-U_#8wyeTd2Pgh?s#Vm+_TngxJ>^C2Hd7lyi-tH3C4`G-W0bd4KVrw9ntuvZ#5Iz@6~m`;gc zrWhOQ?-55HdGaYIw_0}Dxb}`E-kVnqyXu1T&&T)eR$Ot!Gb2`Bd1a^7cJNYq;rZwH z+jqazo=*Pb#fDOyYSc%W11`gr156|>zsAaH!WDBEb&lBZZX=0S_s$vWAq!kzWZ+Bv}x0SuySMh<(F^WdO2n=_!Nf2LH(UNb!zHvyJ}c$G;iKq z=_bgL+dTi=xpTk%`s-+!KYY2-q*I_tr!0MJs2~-_*;s5Ui}iW&K=LTe5<7RTAh7r$ z_6zwN6gRW0{`_@`(p^ai+4?{~N{PSH8&!U-UdX49=~oZVI!54UV+QdSDlTPF~57;k^&x6^-*q7FdUvGzl9Of|b6-*d|7ea330> z6Jml%YEOf5dV`7&Gq4+i6Bf^mF&yFNN2ut%rZ6FJM%P}lvsld9OO>Y?dPFii|C4`3 z&)joEl+%0qTRDHlp8k@Wdm1njn6lGffR@GDlU``N+69)z!!#}~@ydFqfTw_NxBd3_ z-G3jHNVnW_>tD_~tMRa5JQh<$BS6%hS zn{M1}^Ua|!g&;A{diefozx~IJ8;AAYaN`Y1r$C8x;RP2A8#?UAj*Y$d*=Ojmp->`i zveCvfX3S9ECd)K$vw9~igjR&2fTjH@juopn1J|ir=(LF6&nfq`e4sHk@^He^6}_iIGwd}g#*UHM7I9ZFh>_C60-vn zcVT9EXw_(HZUav-kIc?l!RTUE8r%Ptc|J1pKdsMc0-6GUzu0x0RLk=18&-?Cs<-f0-bKbdKyLPcuaeo28y-nV>s1o1NOtxoo=)hTG zR)?BXDl5O*Jc;Q)q$Slic_8%7I?|dXt6lZHNUQ(=5CBO;K~%E>>r)rRFr39DMRCQu^ zx2HOB8Yn+~LZl|_`00={UX8qs+zt?Cv`YRf<)P~6pY#*YK;=_Qjkd7A@((#NUUPWu zz;ME8@P48ui$G_4`WW+il3B7z3f3=HgXUmEMYsNO#~oF@L2&!Rc?MXxaN)}@zl>G1 zXwjnAo_mT|387Bu+pju=3$aE$3>rMBv9WGIsT;~~p)l7m=xzmEiHap=^CB44)VE>)mdxNvNd%K>IJgsi zTMXD$qkwZjICF+;-Z2Jk3cnBi3$*agyOLpQ01e=tls_6}WmBjX*@qf~^Wmps^n199J zcsv&@ikoIjP{7mE)O=|bcH$m98#38tY#MD5C%X(bT>9goX$Y`E-%?%DopAM#PZ}qR z4VA9G=IZXkg9{ccKx}mD-o3JsyPQs0fBj#yY}qo)@FT|t{ggL&2^-B@ zw@Pp-n$an&(8iAinU7kvE&TdhUJle78+kN~z>MY?{z1u&K7IN$Yt~FMS?9M4;%SdP z_Mi=}jf4$Tibqcj8$UX^0ZlrkNvC{&*g!X0%3zP2&SYbT39ZjGc|2ijJI2X_<>0qA z))y(?HYwW&h@Ea*4%V&~cEu*(?E>V%a(c)E#7GR4Ngg2P62bWy_#XEVCT8~jHOMtCqQNGr7U?b~+*smr7X^%1oZy~CP5nMYK!FWg%J?ifw9kE{29S-?L!K69z!ig^GqC4lW!=|&x!U= z67(l^g@z?=+%L5gkb)w3=-2>xQ}*;1?)$Mlei`P>n$iTlLG8aecm2t%mMnglnlp*? z-4d0R%;3GpOaI6KlxX7MnK3nX<+Jf-Q+!6|n$4MDw$I=QOz{R0<8SNj<4`?WxY};B zawOHRVQTgb8Wzi#F6WbNBqh1{<3cbL>jFw8`cRGK&TFi(th;xYXA7%XXWezdormLj zxJCgcSf$KW7@-bh8c}c>D4UVgOx)80pX8(WiMysnvQ;jLbE;TIDrXUW6=l0yf{^*v z125TAjhqQCOC#D8>VgekxUI^NEeh?+#IBtduCdMu2nmCHY@B)4S$p*A1$9Z%iW*Ma zgz@7E8_LIn(mF+r;c@^FSWI)-C?giC9}fV z9+6V1m?CNBy|w8D=Epvv_u9t>p2w^M)P!jeBe6J3k!Y$AbtYzLL7{ib*_fd;@bM{JbqUsv-mT697)7-C>AiKo z%^pI$@d{XMkj?^yjFOao#dsiSH{0A92$G&F5ouieq}}ftTnkb8y_RBt2wa1+O5C!> z^eZxsGGGK)yVH1N4tmJAZxHM!7$@`uSw4)>Kd=0TgsIw%)n!Jm?m;Gcz@3c)CUXUw z|4ZE?F+^YrNH$C;4=>Oqyz^LInlaD{~@)wu((MKQu1hB#Tv7o(}t)@kD)7@5`3#<3dViFpm#vham=ghNfQ5q5( z9&M20!^j_`+*p0})wkGkOUO?$04h%d2MvbC#)d1dqimNyHn{;!I;Bace6QF@1lzD> zqj_3X;$Qts!uFnliTRknlm~5lq$e>aZ~~S?JI(Mb!!K<@nlg3mCXcPlZmP=a6#`d! zn2065M@etq*jkdroJ)!H2u8DHWja*pXKE=KpTP3)(vW8Lcc-0p969pY0sZ@n*dzf2 z=By}XWLN)brIl8?<(8W-yX?|7ZCZmQ3M(VhwxY5+G%-5{ab2kSYdTz--FoPNfQ{M- z+cX9ZXU|@kAES1{?gqralt;TWL|cU_u)6^f8hS_o?HDvAn~4yKJN+cprE!azUi&j9 zkf=GJ{VSQB>|#7O0J>r@+{GuQxt|@q#Dtv?BY;Qqvh|`Q{CFNL4fptAX?hK+iQ{Si zu!hwu=vTq^``H^K@cbC_SDIaa3EmZfvIlcYF#a&c`Vgz;8Qo@G9mW7rLVzAem3v?G ztrFVnmgWpn^h*P=EAow6Jq8mTDV6+Y%E%~Vu;LP!Oyt=17MyUw%BLzlVnog`;R2VW zlYTIiEL^zoop;{lUr|va@FdlniLXrrSAXy!=?QVH$Q!esilUUVHT{Au=od^qhlNPC za76@aKuYP&9lD?U^mv6+O5I)ZycW)i@N;i!Q)X)iAg?-4U-CS4#fA)Yt=Bv5l&z1A z7>6@PCBcphfK12pwx~4Z&_kkd0yptDBIZ4Q`|Y=Hy#6{>{pOo*O4nq`D_Ldx@PiNL z%$f7kz=q7xgQj*q@GINdQLEr!1XL%q04Wo0MhuI^^A2$ri%{54~36G|9&LrB+335r;vwDP$u;E|M2Z=U10F{q-GC+{rx_~^dj&nG$o3@3eial^ z)Os|7M#7+xWPA1m)rc`hyaNh-c!9S*NOMVpp#k4lVwL7wA+vpk+B-_Hf6W;!*sUP4 z!)=ieRPEBn0Kxiirl<9<_VRh{(7LC;064d_+x>pH)E4mOKzq5p8B$){uO^{$ezH6m z1H}D-c9WwW^m->Donez&JYl_nb3cG9JoRYOwa{u+VJ#qx?@@lB)3LB2y7MaK*VbYT z5Z~jS4|>;M%Ksud2^-UGJt&3ij(NkCNudX zcg#;*922>K4j7*cBz?ElnCY&d0SF@j5WBb*UcGG{0)u`uG%@n`P`~>R{mr;g*!pZ z>EiX`WI1aiM6uDTRjYmW*+=FKA`zNRR!oKI#TQ<%XVX6@gr^cWG0`Dil-=2t zJ@fa%MDS>LYQ>Dl_re@9neA<>*rN%pu+!#vjTXfz#pQIhxH?Yf$8Yhyi9Z+v9SM|Z zeoCDm+h<f01MxqqENf=La$YCbOuZ ztla!gH%|!aS^zl}92J)+r)35RRs4 zL_qL{lO4+aVMB+${`%`dc4v61GjAAJH48i0N}`d zaMcMGj)~X;O!@=cW{|KA7*RzPc0{N+@d0ZLwG=OqCux_Oa3*t_`7#w~WNg%!MeH(c z6cs4l`RNcF^isIO9RI0&GyX{)Hk3Emx^<0ZZ~6cL5CBO;K~!tVN#W;80!*4bdDN)U zx7~KzRl~0O=e_?N`RvF~KmAk{HE!H^aIta1@h7OTAym^T@4ox)B^O`(lfec62#7ON zx+bF_n@QljW98QxorN$%0NSzAn*trK&8b&6i zom5EeEh5?xNT>r@pV{lhwY|=I4)Y*`aP6Flmjc);Ep+@1V{XlxH^1!i%Lm)zl_93) z!5XRIPuPv&Poi*g)O0^~u$!%8r%v}j_~5|@4|(O~mvt`y*rOt)na>dVoDco1+hV~4 zCVvH*_EtJW4LI14$YCiG$c&III&b28H3l0MD+g~r5$5uX3QVMSNR*GN8L2%w-E6D^ z?`fzJCLTy@HSs-qRy8&TnA$!Q`b|w1uQRwYw=78G(Ph4wH21%QW~kt$;d@)urZ!PhoBd1bjAF)!%Z7Ls3D2KAuG{ z=BK4kh=+vTov3flq}{gIJ+8f&AxEGzKs*Q=4o&QeacsQ@JmAKeaAvtu_mWdrY-Rc; zv1c{W6d?Tsb{jLPAF7CEu+revEU=k?30%oWmI&q}RUzMf_uVl^AM@Do$J(`P$D5PU ztUo{N%rhr__#rS|DDk)*TfWG^FIhu?|0>uNrgXI_37jxVcgj-+DhGn~E&8X*02l6T zu87UZdc6ZobJ#q%=vXB7xN6=&{*`n&Pj6^G5&~nfk+5O)NT#_G_dZO?)F-jm!v^mi zuh)nGUPTle0|pL&{3Ki<|Hd0{p7N)YUVr@!uP*i9&YjnoGk31{`6r)za`H)ky6T#% zn>B03-*cU!JjUN2eaymz3*pC)4dRu|=O;Z^kV9dRRGQg2U4+CP1hx&rYDutG2Q)M` z@_M|0e)+?Y8v_OoghG2G+6tLjiIwU$-DH!s)?QnQ&<4i_y~&>QsY>lBDL;I!LiE^8i|ELtR1WQAGvOos9&?%~D8@N8AMCf1 z?}$VGTyxFU+#3uN?=9XddHJR59~R^^zXloFwQYOPJ$G-m*``P*ats)s!F^+T%Fc_h zKGHk=1Wu4>Y)DB+z<8i32mKZ>d-tW;zlYw7Sq~}D>kwvNpY_n#-aMH_>a6FM#p~!E z2opnNZ$O&;e)xAW(rM0jF*o~xjU1X4r{L@%G$KlCJlZ!{adB}T!e~OXuTM{xAf3kZ zq`iXZ6-t?%CTgO2_}+M%NlHE@dXczu4=~WD`^>^oq601TI$PYei#zo6*LDd!(B41L zr7f;qj3nb6c}k*_-3KTw!tD8<0{>z*dLx)(AjpXTs8ONJMKds=$px`DQwXjQ>@|>6#aiuXCdx(}pv5GqSqYPM1fLStC4*O2Shc75=qH>BPT69c zrGpL5jnv&J!rxTIM#3(7;`F!+dt?DN)>v~*D3>05@WDQN?S}+04(zm$Y zLt6>y;{nf{{#BskY+`toC?(#}r@qiWsfmH3 zuO$R+1FDo(d2eT!K-&1BKEXwgiweT+vnIc?IAO7x?~oGD0kUyFgH>T>D1^*z7c{$J zair+YGIpW7Wt|cIGK>6!wM#fSQyjT68zW#R@InzILPN)uu(TvYulq*yW}j0GAFPz* z6Mm#Z@I%Upg{N$10)N2j`M^O+P$DI4g^6I(lhdcqIQ(~q@3QMIJNM|(ZG#QgS$DlD zUwr=d+wV-AIPu?$Gf*eKlj@(dU?HA2|MqL#L7hD(#n)o~g` z2pa?&GSJcZ0c3`dkb!U$KLEM0@g|#e?b@}By}^550%x$PW$@mEFT3>8#=u5F^04t^ zksG2(r!){YetJ4(X=0<9jpS-COGk<-D>Jo+klG*)t{&9Cn)qH8MMUYU*Me$sXPiJV zCr_HSm%>=I*zqQ!Nc-`KQ5a0oK8YX;pCW{d7u6=_214vDY+vR7bT^>O4p_cEt)v!j z+XF%O)B&Dug5TozIzQ5xnlmshdrjM<0jK)+9=-NF;lvZbP12p%5U#;(+HBM8*|XKu z@5di~{OPBkeDcYspMCmitJba8Tyu>zI(J^9@*nlz&bS=Nx)|9Efhiy2JEqjHtE{rh z^*3C<-@g0l+YwS@-Orq(JL`MVRl&ZKZOs9PpY5cV8tQYdZc)ZRc#w-Fh9!mv1wl3`tE|QBYt41qpP_r{a z@x&O+V^1-{<8wrIr##|PyS|C}LS(&$?ZVZbdgUsK2jltKy|O~m_WIPs3GsYa9UH7T z)z%Bey?@&OG{!+viSN}SbCQId1ygkP7}3f>(Tx|-CHtS z;)+1hUSh&lM{x8qspQCg8B-fLeL&evkTsKfGAgsc3S|=9Tt<7^0s`aD{OS$_PBs^g z-mfV4Mm{@o)W}gOTZ}5$DkEMLm=Qsc6yE6bM6;)8Jq779Ij%CP31+S>ko!!g3n??< zZf4vV+5CYsBxG#jF3t7+N#6>0@{)Bl2;pBZxsq|0R8=c!AVE}Lz> z`F~$|rNOaLoOnO}SmcIm(kV?kn)*n6Bk9s3?j{9Ls5%sR%OQ46#Z3nhV%+aY|%RFu6yN`SLpC&CYFRdF9M-%)_)f+ zT=>v~58ZIX_5b_dd-N5~(|AU<@&?t^+Tn*E(XHDC5EFkk)2MT^Z?#gRJ(mR%>+s+%KHMKzIqg%_R3e8Mqtlh( zy?+&dG!eKT5!ZPp)>|`jvvLQZUFT_Ide-1GKCtagGlB(orRc6dJ5Y7>yVm-LV6p9B zzg7w-Ut*^RBi=-@$%8B>L z;Jn3uapv$wCFTwuhZ{0bw7?VqwFUEYO~YvhwrYi!mbmM1L~O<}ED(E#bQ@!lG~%7< zdV5#4Qw}`^V|HqL5m%IYO9m~^r!#5`#)*<24>#H zbP>{^o)<4#^sj&ZtJfa8|N2)4j2$~REVF7Fa>yY)di2C~o2F#5zuq~o1)q)YZg$@p z9}<|?2WBUpu>P27GkRjw=2|)hlsrJdTiO$h_+eef!_;5l8!S_wG?U%tCo7A2Qlb;R zH9T|)<8Q!r@!=hVc8{Ok^(V92{P4!VTD)0A=hUT1T_g**rlZo%y_k z|H_pIFD+#Yy1e`zwVnzQOnGp%%~Kg{P{(=Aq4J3Tu+*`EOQCqbr0je)$x>rrqhp5- z5LoT6;{Gsc4eu`u2-$KLejL?t)gMELES;0i_DbtZP_1) z+}M8m?Nx|dRI@iGjGyq_gb88Oyrf?B@83k>-IM?T5CBO;K~%qa^X83#4bG@&lG2=8 zK{;p^jc87J5A`*LGY>f(zoo;Gbd9u1u?BS>(t;0>nAzp3{7pWv~mS@tvghe3F!{$t2H>Ktb_0 zK@0OJJ7%6_G+bnSa$rM-8;yF4g)~KgX%vM(; ztE9<8K(9&6y?`lNr}F(Q*&3+U+igVBJ&lF;=UJQp(2Di;Ypfn zR`72ILa=H8r2vmcYGGuAtRIbJFgAtQe|qAW@{?5M!i&^ElC21k-mhLo9>Tp^I1Q3H zfvnMn7(^c*7q*a0vGIyL`cu0MgV^G&FcHDzT-Y35MG`wJ)m47dWxnKvM8D;qNLR1Z z%Otj`3F?Opu1zVwCzp8srGO1is?3=dC1Rj)u%V=`S65#8L|-h?gbgUf27Vlp$5|&_ zo5rtN|33)-#vYZl=McZe zLmf@CD_?7y+dK=FUw@uEeGjz8|W%Pzfa;erK#@i7y% z$viQv0$DC>N2#1h26}OCzy0>$L4#g;@kLNimK6L5Q<(OlR0pMqQ8lMnDlE_l2 zSBlcF06=#zNXX9il+wiFWVW)@R4;Xu{JOg+X2^V0b8aV~ zKUK+zezU;SKJl8q8uDO4&^a!ZB6WT%A%vk8+li;VP|g(NhF~If3C22CD@^o{;j8 zR#j7%C6Qg}m6h`x67|OhF3U#(Lc$S4_2F*4>7cxmw7dqYEGBm3)8>tRFwc;tp?(kV?k<%fU`X?-~%j3s?^Iwdh}gF&3@gW$)|`-edW-wYuZ2ABcH`?LzA*CG?DrOl{`-nS(=l zex%>4OMpEq)p%IsFrqJNJs*2}xiH5oTHnc*ub$8R^Pk(cZ3_j7VMV1mbLJd!@Q?={ zc#yD+^wTmwYd%<>YxdLnObn2kIGzx*zxwLe2mG2&$@f5<1bF8+c(UB~F-(qhe`bBMp|5d3~J(JG&YK8y*wFBw2|3yutGd?TVEujf-Ip_+C-05==kysf_S&Bcsw=NLellqGU%h8nydiUY{v;>8N&-dyN2!5a~$<`e!DLz zCd%qF%e8oMYH?m$cNkPS`EaxP_dOAqMF1)at!C%0v$NLounqd-*lBnyDjTPd$cd`5 z2`j0;9qBM?S;*GRmTMd=xSgqf#u&a1$>mRzuq^x|um35DDgPWAgiLe4c^Xb87ZU4d z%#vayg#}tCpK18S{Z1oeMRLAO^33*%gpCT4=VUd=qhcFxve8jsIz;!Yvka~lF!g&H zB}KtT19eMA&SL$Febn6xc6}qDk3r?INxy>BbAK{ny@ID}>YD>PYCIly07Y!)QEIp| zM8s|!FKaPFxxvns7W-B4N}@a~=~Kpq1r0 zej9J+u3rw(Hv11T=(LO5dmc7?vyLUNaAafGd~D9MnORQ$qI92Ij;ZQPR@caTRax=? z5_$5kj#Z!>8wwFfIkf(Gf1BiZxtJ}Isj|}@YP@WOE{XmkDEIw@=zB_Y`j*^ib?gkT zpUVY-VZdvXq^4_zGpEaOvEs`;E^yH;=Dazn>Usy7hJ~^joc7zllsZ!k$5#9C4$s=m>(@|g9Y!5WxX}3HUV$o2kR_|mw3t3({!!Xb_^9ZCiH@(GpNr2z2=uWwx zCh^ckuP;|<~uVq!HQ)#SPq<60)L-_Hb z<`hz}Iao{-QFy$`u)9C>V*H=hbAA*c>cRu5NHN4eN)K)qq{xpE&!R9$wOl~L8}a9nAG zyQU^#4YOQzN-UI73O`+Q{RlZ=!_*HbzRSme0#hV`+UEhK550c{*ph_c;MK6Oc7~#c z%mxBscZMF89py%t#=t**{4@s?0&aqoXazYdI|K}U$YTn2KX+tvLA#~%k+KV&qRahm zL@k?3LyGXr()CIPQLI zgyxT0iQ3BK;f@3lK93mRE&xd^B?o`AdMP8QQ~6<3?rv}%B0tr@CYu=b=|qT3RRz5A zEwE)x@J90pnsoA~H`5ka}QigPXOay zz4bJ~tdrrKP2c(23;ZFUez)Jen%)}!zrFA8N~!Sl9k<&7h&->Sp~xGwn)wmExE`VK zjsf_GyycIT_uVU_o>2%pQUTJ#AeNblbb|1U&uW9q2IcA9oo~1N{evcsOEDO??X(1I&+J&@QltDk!Vi@qF$3?)b3gis)GK;Bo6!At=!nW9EoQ&*i89arMLRdqR3OW;&9P8}z%V3=6^1Uz=77 zzzf8|)7$X$bID6qS(9G80A$lH5Q{r=WHB^G-}Ze(m+3#thu2^0#-kP~xx|H+0s7qH z%eb`S{~Ra(X&*Cy&?>Bnq0J2Op-3N%!&)mcmNbo^XfeUMcx#FLyCl$J_0isOfAWsW z^RV?p@1yngnwm+0CJ?TX!k~8#x<9)N5Bm0`YBi^A>EL2cKvQ z|0Lmkx8}M*xdoghaT%z}P!exSau(s-R)HiUyU_3kWxy<*n2IiRD?u5Og>sfMS$T>T znN!U$0{CZ^tMcRj%&7l1d$`W)jm$h<#aSr39!AJB-F9QevV7m&Nywb#){uT1=ycZ< zul}Pa?!)2B-RizNQXvUAVuo>oJ7~Fv&Vv{QiQ%_DWIBX}RWs%dQG_tiGZz3oBMAwe zAW>Ty8b-F-aJZV!_u5fRoFbYx*jBDEuFr-1MG3K>8RsAUamNV-(NWdJN&H314eWp& z;vdZY;M7;pM7M|VAP|UdeJpxV?IyuXHbdxc3=1RQtS7s1$?O+g>^PcOX7?iDYH!PmScVstSnE76#xWt7Tt_KRs5TMZo=}`)l z!unE$?;X2$8@nSw1ECGB9D%tZpkFm!ur_v_<#+#cv7&fx<25fUqq+-G@w!P7+5QyY z#cKq83piVtlPQHj{D;adB8b!K-T%ogSkmM|drx};3S}<2B#j#}>W31x@tC%nc1^~9 z=2IyO`ds(2+fEc+`=cSZ?>yEFUf%6S;&N5J+Qs^@uVwK2`^z~#r&DoSCHpLGp`hl_ zuV5x{P71i7H<;XtMqzvn0r5suCjGQyiWdO8s%p^)O@l?-6g85%RxPRTx=>}g?ax&=HOuxtY1>@5e6X$N(~$j3yH8X>}uJd;3Oz*cdOyPvWAdo5pv z*L8MJz_s15NxbE?s+MiV`-89V$4dYruiGN7D*#Hg*`)5HmVIKH!Ut=*pp6GiRnYZ3X&OY}rx~%%awKL9~_5RQ`#d%W>x30dp*+*4YE|@Up zh3NjYr}ha`ryXfsEMG0O;8#`Mq=YYLiCUGedprW31mO~s9q@P(#`hTN#sbi#JU#Sx zoYgA5jkCrLybCD**Io3=*L9wUWvMqg9_o<$tcP{awT8usEIvJ`a1MjyUlld`X|#|b z3~*9^eBV(R>*C6@Bc$+7r%uk$#e9MvTk;>N@gR0ESc=HydRca zH@uscT(tBdap0EP#+k+_Mq2jheM`FeY}eagF4``R%PLi;ZL82X)qO-90+c}Wlz6kN z^SM7=$q$VTn)X28Urz<*ytmbT2t23qX%mrTL_&AV0$=f8{{|qw?*cAguLX@M-kWkv z=q)SyL1-w4fJdW0ZH}bXFl2thoda@fR1g^uzwIw7FwrZe_#2{q&pCAWe{@7uQ?a2X zJwIIdo>Vk>6yKCmN5enE!JWZdJV>ISBvg+OLh^8I9-(E@%GtQ#lAly6b<$h$>+Fik zlkszS=H*lqV$ZEVwix7Xzog!1Ite3C6JEd!p<>8$@E4Jlj7%aM)JUHcDahVBR^vDp zMj+k4Hzmlb_h>%CJ9~X4e#+fEcb~;1gtM(8zIm?o{*@Ynl_2U z`Wj_P6wrO3P)w8_f^YvActD2Z`g%3iXek0Zo`Ey9BsDDYACx3PauVC2<83FHIh`dY zm;QkB&_C?fCzbu_cF~hJ^rr=&YN(*$;{?VHCeW-zziPu$+zO@zgnY;PSPhh->!?3j z{w0NV{=h6Ydp&bWuh&Nq7-RF*ok%pz(Hs}AGz8MeyL)&#Z%(gXfXC8ZsJ83bAP8Oc z=j}fsG47Y~lA;VzljS(-K5R7}1)Z?9f6{S(9_8D-SIoz(s#`J(1*|6HKEgJyy3Gthabew;Yi=C?dhqDXisMc*bp5DSfflX9Ty z?hwE(G0_~2&HP-w@y=#YlpaJ(VL!!x6MFE>Dom#LD#TMT-1!(M1(;k4q}hqMsGi-X zW~9(tJY43)NwjJ^?zVOry$`pt;&o6!Txa#ON^;T7$H!&LXO_zaBy0pfPN^u(_+{GK zA7>)O@SM@uvJjy>?jK<}93ZpuVqHSvsWVX?im&AJJiW&HpdDbRAf=tIq4n|D=K3}} z9#ngkdemX3PSuh-RQ>}BsnIe^)9G~D6r=Fi!uNt<%7tR{l%zQ@Xyz2XZ!`L%w!L6> z`gjArQp0@!!;;N@X+c=IrLfR{RwlT@|9BjlU)0U()x*i1Va<~=?2B(Tp1+*6UPH6UD;i8e&ra}$v3Fk*aa>pjQVCvQZqNKDgKEUqc+ZaF2>Sl4{tdZr~gO;g`T zf7ELrfm<;@HCbp(gn+AQu$=3Q=K^VU9g9k;mUTm7_|&i$SHQ>ZFmd!B5c{8G*z?r% zISiyF1ZjqZye#bq7V%c)?(>+u*dk}Vbf4#=2u%9@1f=2b?O-|YmpfLR?zX#A-j2w! znU-;x{-{K&rW~rGGdODQ+e;xaTxT>oy-6bk{BWXw?4uSOPYLn(pm*@{uPS2ai^C7n zp9`ex#LjZGKZES7xei&oKA3;)2|52o;l zYw>sWRH789L`Hn*ALJ_CuO&rUst8_DYucL9c>UP9g@o@u_Zun~WvR}?7L*5O>Ik+a zFy%AV_cClt>alMpkiHqsK(;^+O?NOH@MYRIUqOqo*>j!3Ob%A>#(~vc*PLwucXQiC zN0C+&d?`X@JBhaQH_peK_fIDR%FL>kUn-P{{)Jw&tIeDIHoa}a{&ERekyRsTXm$%ehU z{-|Lv>-gJBr=b2}+QN5mRgkWMJkgXqp|&}_`oPPd!yV;~$B#x; z)SkimOe!@)J)U7NRRm_<6Ss)zK+!)6icCW%@wNFl@sN@H4+Ni%(k2v)Z`DWI0UnR1 z-Jb}r0EeyKAm5Lb4X47up@)2(M9YNO{`q_j9ep0565sK|CQ^Mpq={^v5Z4X&hf1!C zZGE_}Bn3cRNuxffwQLE?GqLniRmLmkH%XOqY) zTUGZ!1D=aVpz=Y=aP# z7=_v}NzQavNf?5zN{CB?QeJ;#?BWw;T9bY{p<@5^`p8^VN5#f~xVY`UlxzGCylZ=1 zol}0lCC8l;Xr_|UyCPEZ2~_$T;N$pDD4M&s=^!x{B%ea06FtDhVY+N6&QuOI?u)`} zKKql=xK^1xPQjM@G!J$M7}P}#SDnaWv;>KdKNu?H8G@oYA@H$Ab~n2kfo}NT^DI{l zi=9vVplS!m5&$xfC9Pp}yCkqeYIb41bHHAOM;Z_vLHn~*EE~(g))Z+$otmc<2$~5S zh2K`saDpqi_y$TJzUB-X>K_Gz*nGWf2thzWgJno8(A7OSbcvI!Y`egui_^Kd{w?#u zpPKu(&p^sw7KP5a7dUAsln$;)oHS-rifvq&8wA+4=s~6)~HC%N` z3;ZY;e@s9A`D34vyTYUPL4;`amz)(e zAdEth{SM2q&7J_D0__AOH4G#I2qOgy)bX!Bx`RP3zS||_u4~q6lN8v;-QR!0&3dwm zTKJ8MMqs0Gj)GRLn{)^ntSOs9;4(jcU~p*52G4C6AWmN@`j?(-h+0o2KLlRO{X7pR2g zKdSOpKZU-W4S3aU$h-$aP(y>9!KCj!s)G&&}PQ6^5fNLNV{!vy7gExCoCCA_? zq&wBKo!QMdLi<52#|C3E>|Iwg)N1EQSip(m za7>~a@i*16?5*G8h8HOl{0zE@BgMuE#EPKS4#rSvpzBdp6pNa(d=bHZC=SGPlruWX zDaq}PEHG@@0%uWK#B7HyKhs6~eu8+3ji}?T_cNVb=psA5A?#Q^Qg<-Ed`NrI)R2B! z6A%@E5f-pyTOyhtzCK1XSwbA;R_E_CTO%|C zm~6*Vcw>Hl{kSL+BS^N($~rZ|r(S=pC#^qnNfyrEM@d%A|E>`zL1Z6r5bU89>J#};q$HG(<=VNOVB5e+q6qp4%@#w~ ze%R~%u!6YrTX8l_rRbRn#VdZfPUsAz6N(`n&akJ_Xtku6RGkjT6v|K+@f#3b-*@g; z5IJt;k;iZKGw04}_fZ0w+_L0#Se9H)?T5}=Pw3jUm_2^1$%E?WdKGw=rU)9Jo*p4viuAi;i6jCYVW~my?b6 zaN~m!c#2CNIN%hv-RSdq(Hef3xK?Cj^KpILGRtywN$@it?GqK~;O=s`u4=i**2VSi zf^z74Y52}&JYEvuRp|kap>gk=QPGlUu{k?<7B z#Yh^0MM&$$)kLvlMB}GN2?G(Bj-~ambRDKBaK^A1MCDUAZ-#lLtDn@0{377j>*Oca z#aF%Ws`J5{^~e*oKL4ZTzz&8oNPdYqv+FZM^^HfnLM5yElV7l(37s*OE-lm~|4FuB z+jDgRK1KwaGB{YaO!t?ijYsxFO4cz7I(zqS$*_`+Z2?d7QTY3h2W^H;&c|Y~s2jcfP+d3}fscA+9d4t2xeMT0!+5V3-S2Q?-a;S{`Y!HfL zlnKp6veR$l%u{XwF_5u*52s6c+bW9VG8fH#AF!A~OpP)8Ki~#rxz7I+!JdCqm|}&d zKqdd)mq$$2bve3Uu_ZqXBK_GW=zF!mTkZLUTDbt-QswcX@UJcBJ=lnFXfik*jhrT% z!P4^M?X>Hm9;PQ(#46qaozN9yc`E9iDGECPq`^o5EyKEQW4F&Z$6q0 z>(VL_+N|&IWhL$!)Z-$^nd6hE_1N+<+vhkq`qS6cqj=D{%^y`-Fc3 z*>gW&NnPbN|0TIzvr#2sF0$7F3^V(O>%17sN?o6k4Xo@vI8(|=+7GSuDD6)u<|_|&Cm#oxJl8Hzm4w+m$_JU_Bt%*S?^SRT@G z<=7`mbc!uY66o?g&FlanSJ405pjJriY3f}V#-;Fzbh|9;_z>U|J+hf>z{ux&b4_7%f!1uqYuhcEx@L$86*CDzJ-h0;{LnCxIa z$wfXuAX^{Tmyj`yxCODKczZ;u&3KeHaNe6}nRk-D6K7ecBRvc+*|IWc;a$~-pdcCt zRyzYO;g*Gp--GC2n7<4~wFa;fvEJ!G!|QbQW)fa3BJy}nKgP{nxSa0Ggn^n~hvG{j z)zF>gly;hs)~S3=w%k(MHL4t^Mb&yo9@Hl#boU*q=*)aO%(myd(qEMdb(x#td}~px z+P$KD4=H4KxP`}CK=9iQ29#+Z_?PZD`|vxgj}#-NZ9E(5aaZ@}oeI~u@mtDnQE`50 z^|3(QnSrqbTXThQA1s&+%S4YUVUgp?O!_eRN|C@5e8s#4U9*gxXg)l{lG4=}ce>v% z@k~ooTpwP%q2V65@vU`;y;YZNyZmA9LfMMHq7rWqd(m3Hi8rfvmNkX{%ZV^+ z21?_(XAd;mXq33?Q1zCxMokAH6mX_9%y0Z}ZTh6v(k^)T($F(_co`{1Yk&#@)knoY zO1oEQoh^$~UYSC04;3^f`9{=!J}F&w&)zusFk$g$x#Fi$l5}h&sdhM(<=?yuzUaA! zp5El;y4B~Ps6=}kHT6&5{axtb*-(LLj;fci=4uf1@s8Mqcyd=OGK5n7C6H;q0iy_ARecNSV_M7>%Ai=aTtS)W zZgVRLxo*7O>-fIijd@X|Mw1wFD(*9AyJKQ%yAdK&u39i-rR1cmQdkKN^RK4MjA(Ig z^TfbFwkge7{NZv(HnAOMWQ&i9r8kt?%w3(NPM28OtsSGYwn3CHNfQnuwc}>yv8~xl zB2Rbgy&j{-M?ob!5@j&P=>1}NQIM=#E6v|HUgxLd3_)1$P+bG)weGL5L#RvB!VW^} z7H7x-tM7d^L)%!1DkX{INUuQ7qOR9g&{ur7&C#){=JVwfJbd0)U}wtWFbbCQ%~@5q zY1yl6z7GF>@Y!8ntOZ#{!OE@yw==pBsd!!Ly}|*SX)7#i7Y(m~R;ydj)vDfl9d>n|{^K3K>iuKkp&3;>Fj$|b-ca<*h>bYYU8Z}z8|06(<9ukzlYi?*;uvkN*Sz{>&S3y!o zF0*n@Ik0eB0d3j@dUh{?P1&y4)?eRw=k(Geg#T;2W8}sKF_SG-x;k$YDcD9XKTBLr zPiejSU8|@N@>kS}?Q)PaZ0rE}m9Tty^7_f6R#32Ws?cE+&MyAl)2tj{RNIfwr*s05 zRjP)(iCqwC=Er*W!+ELZ>kKnh;;jh!&J-4l>mhuZ%(r>9 zUzIJU|Md}_js%~1i3i`c2Ioi?8cuB5&RZ6B<#?V*B%pYs1^a~FtfzB>YUgV^w5+Ul z3;y$!#)jZOP5J6R-^K$S`0{JtQ87hizj-dT_bT8dIB(wh^JVo?QmGCaQ_taQS`1eP z)e3FsVZkzFBtE!8llG-3UT(j6I}Ukc{4cvLVAdb~QqV?W*MIZ6RhP`RVHi>QtAf>i zh9rMMizTi}m>CgtTP9__hd7Dg?jMO~*TqVo<)BDUembgIqT zfcK*4vDE5C4+vL)E(OD0>4>EZRsZQe@I=dH-V(-j9G8~4oGk~%<2F9$^Szbu+k8qf zkDUCjU1o1p95W{H+)qi70J`M{%)u}3cU4+8Eh?#{x>^herhjcKVNN7M#MRIj+T}Or-Hg#oKrYTCZ?{_ zR;(C~hKh|JBf7CV*--)wUlRRgA$8qz;YpfK@To7qO3P;hGuRsa9{*_Nv~uD7T?|?+ zfTwh>sMO)Cs)1gIi;p#cy-6yAi7hku&8W?!h0`GVTlT867u#-_q(=jr2-^15YqR?| z5~x4OD$#(DXB^-wey&;_qn(sD8B?n6!Y37!K_iO+TQPfO~P65@>)Ws zoWgiFP^7Y3!Bx!_2>I^+GH8`nw1SsJ&mr|vW9*q5+Mr@RlM;Jhy9!ZPf(|B9m}RNC zOY7CX_|B1J*}>C%-EO?Znl)>`x#vnG+tlDL9Ul!V{IOEs_BCivC%^2v-c&b>HK0 z-3X|W%$ah{VeA@A`-SHUNFS$daxw$aQQEVo67Z#0|CR5i{V>{jf>1I1IgI~>Kvn@w zMFZG$!RJK);`KhjbzS$Gl?gZ1Z7bdD06KmEYB2wI#iq>~kn%W>Q;eQ(kNTpO_YHfA zJ8ips7PYlxs8lgv}1_&XNys#`(A%INiEl6%jT+F!>L zwFRLHgOj1^SS6O^IRGm454;~vms+#QHN+Dim+QILu|*Mv5%KP>8u0r2?iM#(PORPh zxL_5bTwd93W9jDBJTi#nw(3Xw`nkNIE%Y^rU zR7?ruVe+7Vi*rRD52mU8;1X~$Ys+d1S`ji+)X}*NvnBVDO(x?AWY8jGHmyOMakS&0Fa>v zI|ZN^@w4X|v`8oR>ljoVAOy{c-~Vb`9rF~SCfnXrv+r=Xw5t}l%pTY7|)@-kalc z-gJo5+>k091nK;E4%>BWa0+j|q>EkKm+{2aqFx$a7n*!E6S>ED3HN zU4DE%vBhzmoBl8He4=T6rq%gZ@jmwN^$^EH!Vm{t`@*o|&tk&M!8aM?DL24!dK%06 zc=h)T1|=1qRxdhZd+hxKbfJex=1KF7oB${I{?N2~@Zm<+2YRwzk4ci4qkX)4uq-Z@ z4dD4=QSL(&F=g4|50U>2C%<7o;wNjNevliu%72O|0@hIA$z-+==6Y6u^n!ETeXC^NS=|4RmL zFELeicdT1&B^W8F4mu&r2b;kzM#z{qH`9F|%S%WAS}s^FC~sqNWu6{(T>Fu!@;o>FPn* zf78r4P24p|{;nOcGKxx}YIEo1rTwa!SJ_P&n3-3k5`<~YLK$kQI?a++*Xe#Gy;&dp zRFG;?)1)}FptVBZds!X4ZnW#NKaNFcjYQlAEe zOf)^(ZTAI3zP&wce4H6{@w`PczXNDJ|DO!BPENPso>9Wv>!SPpQ~*xZb2l+5%PAUk ztCD!x-;m>R9-khfm|gfq081c??89r&8wly++@0aNR$@5t*`gC~**ls?SsOVZ5U(ve zO^3qBCGOetg6ARAeGqFjVlzLO16@dY63BPI`ondRt?@k`|1}=(lJ7V=ZC>?vEI@v( z_?ciKy*sRN z)Sch*MCZf5{u?k9jV~8-!@Gq@<^R^y^)4eL{V$w1`qO$~dv3ER;e5gHx<%1wZYR*A zH^z4v&e<7^G79?P9gt-wQ91m6q6g@u_mj|l5^o|f!=R3e{1Qge4n;^fKQ&2 zo{!5vZ4ahIjZ8xVD; zKzup3oMA=~P3*0LKFfG8V2N^jwkW8c(bq!eiRUQB!}GZ8IUtMl1=>~}61#CfE@_y{ z#s7ZxDNw2Dfw$Sh{^O5TJD2_r`TQc%0yTR806R4FF&_i@WI;obcxz31eD4)v414%2 zZvXP4dEruXY*FZP;+U9ud03C(e>1^umBULDuA0M=p?o3Ch@oeP3&t}Lf*voYVz=8< zLuq65qBJ6=V$bCqpl0ZYoC{uxS@}CW^CLvXfQcSq@T3mmalxCJRx`jW#9xA?fM8 zudG-FC4;!`LC7Ko3^LI%F)5h{XwY9-skdkE`n@5MKt-3jrW?J1g3oj=;F5)B`z249 zpo!yaplR|EW?8=V6N=PdUTg zACy{>$?V>JGYVC>RFTjFkSS>pg zx=FzcD^_)Y^y+AN^H@Ij2HcDfVKKHL!zPL{pV^CqcgrFH1XaF{J98DubPV;Gpwy2jk615gL z_))YLy-1xm({4v$;6&y$EP>UHnkc$L!co3CykdGFAOZhj$D|%sK)K;Msg1$TjqZIM zi@BztAC(IJglIJW^q%_+D_1Cb_WKfPluJP+hp?9Z2#OULBcpZhA0LniyMFb>f}^8D ztQnQi!VXDkK0keg5J*irn_nc@_ykuIip2L;Ka1~qt6-MD^g7+@@v#2w$2LbOB8M?d z)gL_W4|x&VN$$7rxD+mvFG()v5V2X!YMuY8l?nfyRJCO`Q3w|MRPDDcHoP!CiU;HT zEzBMhjl$-+9nI0+m1tD<EU|`s2+^R|IHEwV>NNbo>Afy z#~tqmr(NM`=;#v-Lk0dQ{NJ9ElM=vvz_T(4ZE3g%WWF^&75@Ftp19_+bccCTx!9%W zOWKx+#h6>V3bT?J0#E79RYJm+&4A1Xw>t>j(TM_%5GRqm05@zaO6Gp#CoPyMjYxQu zOchi(xpe`gW(<|RVEu2o-2n?|OAAZ%Ed-C(|gi(`rH zr+nvw%RV{lwG~4V4GL{7*(_|v99s3TAO$Ps%GUT9;jPPVSq6Kmo^4NpFw56GVjpgw zg6otY*$MfT4HtSj&4n6u{Wuk{2_dTK+n$L!M|m76-^rK5nubs{(+HtmwsT8 zK`cN%@Lgsl>&7t#4P8;`ILo>Lrk=X}$&A0=DLeEA%VkYVT!AM(_VvZSHnk%F(^B)L zY7G@`uDC1x&TRFC#6;f!hIq}=S`TT7#7Ws%P0u-zDYBMvaQLQr+A&#&0HhPn?sglVQATGyA=)}0Mq1fBT34J!Rq#W_OIS=`N*hP0E8~ifP$?dG$Q{M z-z-mW+rAb2u;EFMCg9Ej39`ol$+sAF=#3@Oj_E_*5;3A{hTvEsp;^$yC%|>K91Vi_ z+&;XEzp)XB*_1adEOP_TR5c?2?gF>`B&$l!1Q3zZE-%|8&&%mApjrDMhF`aXz*X6` zP7jTUUET})C)W>vuQ1}fSFvc_3G><$8fUiC}+eTp#y*V{p67E?y;2?BO{Fng*OlXj|9|tegVb5J}Sif18fm zEag;h1yk7C`u&RdUn9+N0KCQ|hIOwf8VFV=EqT-V<~dIitGO1Vt3Jf>*gVl9{!hNi z)MydfVV4?_KAC99p5MJM6_yezX`d}6UZ``wMm_m5?72-TJWl8lv$*j`0%vh_j&;mKD*JE_V2;yvN{g6eCNJHYi-@|p9 zR=pymv@5yQ8l?^|GOq8BvxKroAmm$5lBA`%=fH4glIq&kPJk&>zJFV5NY{d4Ij zIV%n#(T~6E**`!`WXV@rTdaKKB0dvCq5=wWG7{HJ+$zWzdy;2XMt&htxUS13*_OHq zz2GkgSr;aDHCwlxi@4bX10t9@ObEVVAIDTl zahwBj8n@MMj3zD!DIUb#wP+`2bK3Utj&$3m#-zRlYxS(n;8;q+ChwLM3!>o8pFf85Ex;2za#kr=PkQ`Awwp@oiv1q(cElS*hQJ&|WTCEs}uulMEV9F)5K3aE!QPbp7p zU}9WA;=x2cPv5j`b%VZ4b7A%;F`KswaJuFAfB}Q%XPtxiJ=oHntV^IT^4MOx=BiWBAozx?egEY*A z>&VXj^PJmmvm^ng8B)jBpD*UGj(AsgRMm&HNx?y$t6wp&9@K@b^P5{dmU2y`-djRM zcz;~>Qp>tvFKHe(ced+sG8M$VmTN6SRj3 zbZh`Opw7fntuZ)-=hp&|>4ac&%1eKDG`rF_i2bX4xWY#ZCq=^{nEzN|J)wOwaQc`p(DPOmGUfJ5%#&sG-nr1NV+_ zb>Bn@#`jN=`d&aRDOo3hKmx;l`^@ktK)B~R&=@GR#6G|>Jkg!W;jyuS^#krt0cPC< zkCY02)>Gg&`kp~v{%Z49>q!v9i;;=6;SHN`P0vUnv>*Z-+ERH83|mauZ8Ccl@jbNb zHw_gl;l06fjk?exT@GE&y*VYH9QvSu3%R1|M&%x820}g71Oevpge25Im@$Mj34~O~j#lP*wlt;;*8*Gi;~i{Qh0{@l zmJ3b+EUOXaRV6xPMOu&90s+7wA8Of1ks$7`almJ(g_cCbCj4eK4PiB>Vgu+)J7#-D zKlBbPa^gGp*M3KnR}cn<5v3tIiC z6{>^=KLU;O4UZGr<68>0{4xZd?wEggd_L{p(LiVh#6;}tfP4s}`L)JJnVE@w!y_Us z0T}NlxgLP7!>mrRP0}_E&AiY^1Y~~q>0vm zi)|<2M~32K;`i}}NU5|qYu^_11gWXxvisxcC;&A34`7#_^*5_hc*51uYauke9|S1q z^+Fj?JZgBHcUD#P5&UaT*;k-=_!zRH0IpAbs+Y8!%ZX8jv$Nf_N$7OZRc z^^+}jmQ+mK4v0IlQOjN=l(fq7p8)f7m{~;URWS8o*%RP!tZIL)b*0wVRn$JrcIA>^ zR+J;*f;R}w%{OfZrsU+E@rG0IQd)ORu+3!5N;;?}xWoFsIgBRX4GjV=#ca*q+~r0c z0fq{GJ_WK58D6$9h&Byq2S|U!zSjh9E2pzo41Sld-+`xnFbdZ! zE2C~YuxmNLbrl$xH3&3jGR(yGN&mo$G!{1sd>0(RP2BMohKl@l3&3UNjFN(o(g zc=rjbVKjJ!GC*w>hpFjV0)GR z{xxQcJ2;O55PzOSz+M;_G(+_kbBzSz`>f?;VJNgPg+V(A%@Qd4ThQut^)&%{NOaqo z_MWr~k1Lo>3>GxCC$lZAG=!8WC`?29CoUmKRjB+j`06_>mjk)Mfs7FcEEf^%Mt)DQ z=t#d(+5&{oF;Mw&z{^6eJpl1QO{C=IBmTpe9zjhJ>o*KeC{~yfYj4fz&J$^@zW`t} zIZNsP(R7w!QFd(?1}Q~KQXHfkBxUGOLZnkrq#K4Bq`ONR38fL~mhNs41R1)!yW!hB z-|_y(1Dv_+)d8k9lcX)-t1!|quz*%jjYIq7g^tmXYyhv-sRbIXjr$EsM-E{c-hUl#FF`uu}Sk@>s6rF z8ARmZK{|`LXS@d}bFbbf(fVZ?$t?!JQCdDWL7;d9o=f^!vI#s-kB+AfU$~kRj|SV` z{CjWx6(R^d;Y|1DX9K6YkQXv^W9bcJOCTM-)|(LY7d%EcHFm~j(KNhc$2E4#>1+?+ zn&yMiFvYv;c`t#>6?xv-IMq3X03AD!4}_FGBW6J%mYo=*>6_3owYn>KhyN|lpMgVA zisSgvRz&#wSo#3908kGMgN-#iFDfrD+Jh8Ow*Iu;9Hun(5IpOAe;e4=<-eX9hRWi>l@?UvtLkujk$1u(x ztfpabI!&U7Z=Eon_~Bqz&J7H&>kAi3c_i;Clck^a@o_|ljs>!hPOE=+UC)4M@y%h> zqN7+>%}+Q4)fUyC;@6H|rvFPmmO|d0Rv?|LZP!2wo9kE+aiU=O;G*tQlcKy!velSBQ4o zLRT9#|ES1#0A-k7Ry>&oI%pWs_O*ApzSg)izkdd0i2T{`Gud9G>R99%%m>x$eswHQ z$p+@mX^i=S0?tE8LqiWDL^SLO_1Z0&D8?dS+03mYOA5*hXi&JALROCXLlU|$XeIf+_VDI-_@&3dNVEx8#E5+`c-a?`)LOeP>J}*eI3_$xQIc)h+7exN){Kehsl8@4Ix@IEV_fYSMZ+A zSb`V$q^yy%w)Ls9R~k@GeFiDg# z6SWE(F@SYQ3`PzUYg-_qPAeq)^~9n63QQs4X?|&=3kb6{qPWt|4s%-rR^^uIt_(5l zJ@xm5%Uk+GkL2>)Xq5}A$=Hy7TxaP1MLesnioz`6*S`^0;3npB+7n_-m@29}bb9H-x_~rYbYpbSo3JuXpg;=FZ)MJ}ou6^-p*_)a`7?=H!t7j~K%F zeD?lu4~I(DMhz0e@KVsRMgE8SU!e9zM?*K`*>~z4#k88n>@FVU`AK~r2Op}Qhby$< z>x+M?$vObki=4Nw=-aSMT^_45CNbgXoB0QJ&YlBwgY6|at(dhMI{@4u#eY4ghG zyD7N8wdoYU*)OnZIP3y@rKi|As$0zJ@kkJn?vrjI$f3_~{`kl?)lw#oxrzoHI-vrb zveG)=8)c@I-k>Viyr-yI#?E~OVqAM?-bAT_l>$o9}xQubJb4a|gII1-fea z4!N@Bu^D-V+-L-KU(@sQL3Qqiy?$*yk-6hHUh^Z=?1)`Y@$x)g8)UIbOv2zy z0U8FqWHX%UAC_Tjwmk0r-B}kSQ<*In^SKD`D^SyyHcDw&{%;n5jGdvH-m7T-8uohm zEbU9emTP;6%%a^e2gub)KwA+|jUtR>HlSu?q44cER$@ggCj`+de0@iC@1K>Vc~~S; zS0R`An5uFJI{$ozS}AEXh5zxB7SXwj#X?HrqTecRj3+1oL~*)+@t&jfVO-tSI@0N~l zf=ZbKBorBWosSza6p%R9j$uWX!X&Cy@~l6Deq!Q& zBDMkIoVbu0t;pv(-q`sGd&rr-E^ekn$*tx?B2L>xY?C*1P4~_B*VmxG!({N2=?ic8 zxrFa_x>s};lmtr1T>xy!dp;t|-UK)q4X#^pjKa#bt>e^jT~eC9=O5}myhwlm?JaZ1 zSGet}zItuzw920YaHogbHcE`k5z)S$*jlTpne)@CiYqp-vJsX`Wspfwk)jR?FO@h8 zeDMy<558#s3j79XS!pO&cSPvB>F@xbyjlBcrbNtyQ7|V#@AXwdNmm4EJ<#sOw|40? zo(lke5eaMJelK>CP1sv=a0qrN-o*u&l}bfONv1%Xxzsj-a`)jV%%Wc_ja;^3h|>m{~FTO0SE>AUxR&hZ6rn zEG%95)Ro|9R zj~W$^7(eEDxV53{WIu)_N{X^Ea(`D{^OCl~=QaJwc&jmJAC?Gb7FR(r5U)EHZwM_l zztJH5!E`R_RPUD88y@R9t_%|2!zio{=l0`T(`Hx@#*rUbuZ8^kH&oww7&~@fK za`f?i`dUrZ9l(54*m_-GJUTp$p)4%Nh-2buL|ZKFKwju%MRQEK-k*zw-uA8_3U}Kb ziu<1H;{2JO_CP(N+yEvdh&({`Mdtf7B8CYj^!a}ZKrT!{mr|eu z)$RxhlvCZde}ny$II-p1B6*JFs2C(!$$E3B>Ji^}11ahDKIqBqH{T;uz|`^>e;4H9 z86yJJflBD6oW4W{$KbR&YgRmWw7lrkqWGHw`LS6YbX2Ie)vZ|wnwgR~QIR@Bxk#FgfvNgt*V9~DWvC?eE47lo?DQ7hITv3&^)*K~ z#oC69L`+}kj9IhFb!oUVEQ-s5(ao=$-?&L(QO>*NqZM8)RZ=6T?VpyYuZ$Y%Ydrrx ztKPEry;ey5vaE37dA4&=)}jmpfuS3R-7F(LF;%%=&J!LNfTBQsK(`Ab8n&t+~Y3me7uJ4@mX`Dlb=by7E$UZuxy}zgCtYp z=W}^ZJuR_)-91Xgasmf56_AIxfKUcay z72hhxC-xc47{w9XLw$1;+<`%KjOB)00rs+6(#B9is4cbypE+$}e|X4{9kBFkg?$dD z7OhHmRA5-Cms(^XzrB#xw5fNrGB@`>r;3xt4gf~jm4G4?s7~@T%<=cwPt0Jo${ggv zZI~-kI=fWpLbYW(<^58khZ{kCsC}$=Ql*z~Bd|;Q0WhJQ>zlY{OACko6Xw#*k))vT z$qExplecehpd0e!viz>mumO6^AX9bN1G)_m#0~*5!IDkafjh2S%5L|8@&3_E#IlD< zoK5K7H;BSB(MwY*N9isf?)O^51tz8+ffH}>lZYaZ|jvO@06cnAI z6PR;keSWBqCzgDkFR8okH=eh^KN06=&z^5|+QIAnfAvBhELs zs)O}5z*Mf3n0xY`!V?KAh!mJk7pa1HW zGZV@tWdUh4nFe`gCPEq^v)6DWo`EDHyB!dI^d7bDO&ummK9F}DcZ4(Z3c=!F8fw;R zo#>4WwHfDi5+YB^MhudSHyF$nYv|dOOUB<@vsTDG4Z5?y{`pC${Ao;R%=?1s&@w9R zqTZ&XY|iLcUubTbNkLk>;Xq=UhwC{hkHu@XSO}eJ>deMW?XmjAXW^Z#0^8Q2!YqY6 zX5I}C?XqZ%XmQbgDRq`bCi|~30@)42#tUa+848Eo+do=`YLOi>n6-9)%`+~1>*!jV z`ZSq-)&KGYax=xn{6dmmB{PpIjV6~kMAz9kh)@`?bVnlrJt+&|P7 zv?KbH`M4z=XG7Z^-HCidJhQn#4LsT4V$Ueo(Sj>-5k=BDxo!OG%mg7HL!#-o{=i^0dR{t@{SQwEj_ZJ;PY>2yCq?#PNJC65(ZGl__k`Z|4qhCq6bAQ{cyF*MEKPsfa-=@Qi znieczKADuG6+q_6m3y=3`>F+iA%UGT z@T@Qymn!k59U318v6}jQXyRoQA%S0(G?Bz@Dm6_MgWXz4wX&h-F2ie2Y2mYR_b7xNTLXOdJOWA#W*p(;q`b(XLz#iTbLwIFZoS%mwvHNM(a z?iqizsq2Zfqmb~a0r(2&*D#~woTQez+{OQ)R4j1f#&bIkB#zBiExt*Mt$tUc1GcR8 zh%6mbw^9^c0l`7!K+n_EDPNnoq-<*cWDc8LBw0hLNMt8%K2#9BFiH`tl7t-=UbXw- z%f*u+6BM0F_~Seu`}Kj-#{||bDWhP(Ny4frHp?tyRv0sh*`)5ZK9HxW-C-fJ;4<-p z7%e~vT~h@XO!k+fBT&*!awP!a-NOAfXJ65pkTwQIxpwi%8}CfFcMS?jP!B19i8A8J zl2J_O(;D4OGDPup@OFWtVCYGOm{2D$kPnhWf64zCDzRCVUq-aF&>Nk-A%jT#{DS>1 zrlrH`gri-N>k%HoP?&(8;mrl`EX$cyFNMlHe=zU}?$osB7ZhXCsibNK8yIGVLmS{5 z-`Y%(GcNWr?|Y0A`eM$2@u5c{SS8eg=hui-A{j6zh*_{NTsZ*(C2 zm@1psWqg)TQfKsxUBzPft&zC&=>>Z}5nJ$nx~GQp%(YzpjjC3LIqQdl7U#lqA^nY# z{C_L^Qr@52{5>tUzAfKh@R=nDvX@@s z7+Mfbmhn!Y%)q0o=ieTj6@TS<(VSRaoI4X5U3W9c+GzR8i63pg$6Jg;@U}3#VpPsT zokpu4gifm|d??jR2%zr)nj3!M%`A`9-KHNyJ0oP=BtWmMZ0= zrwQ{dh+6=0Gz`>A_{=d8i1hJiSdd>TdI;|UJC%Dm7xKqyA_+9Ff3+oZ>5>K+8a*j} zQ+obIRl&$ief zuUL`Rj#zgRHNKE6)Nx(b_iNjsH^qTYRavgXnS2eGr#t>P3&7soqE*1p)9U*N?dA&P zJ2dDm<#hX3_+SLgz@PvCkxy>Buc~JZjt6E4snh%ir8v{;5WnIbl3a}8d)%Lqe@t5h|5#Fc^}RHl`VSM6;GY-`5(AXNpeP33x3#oh zQB`JH2JOp!n$&LMpPYIuo2HWkN0>mtysS@?0e7(!CiYiFyI`?KR-7E7d)A|?V4#z! z2utU-M5+vT+imFT(5`1qJXhp}X)fR=xSLDjji4I+p}5?UR?vULQZ?x~4ZL%3;={f5 zZz|+-(WvwyTa@bqp9gAzs?)%)qM84FXQ7V!p=5MPYF5ZS^Y6g0Ig_dm#72XwX^9jm zqpW)(r-y(h%>8O|UGgW_(Fcq9Cgrl$O}UvGFY;JPy@5ATFHj*kyqM!vw%A-bx$fU6 ztfWy4P~a=*!!$`AG;mrupBctjR_vBCPLHYI4R0^p#=F9KCsAee#QBaVYvEaL=hpfj z`i+TiVT|Q3*;e&Xdg&V^%cv5sqU9Ff1o{;6Ggq0g5Gt#PKQg-g()SYxQbC@i&}p3N zIl`*?bmF=b=u7Q^%Hmq|SYY8l*udcZIvh*QtG>1k;@jcAQ>o~S%~-TdUd{0xNw(3JZoi$}-xnL{1V1bhQS; z_}tndr}OnQQKH}?01oF+98+29eSBQJwsEP^K)aAH?7;)729X>~>@Fz&+Y`P|brbkW z#V>y&bNW_zyX~&HxVe9gvo3hf4>t;a!j3EQ;5*;3A6^|?53r|q{;jOc!}GC6v$S>7 z0rl?p_&=?Ez@&6h^AY@%`h!D%BvUfkW-*afK?OHo_wFbGJ2>3xc=+9^s}WFgtA$~r z4dAeG#BpLzX0 zFm#cJ&?NcUgnYt<{5?I9NaS{(%<3L8E`9Ua_ib(2Uj@O--;&tCd=0)#7s)vOpYH1^ zPD@$d$MSW@C5a5lq^knP-7lR^ELf4$!88G=iiN>)aYEZ|_E```S*OX5dwAHZNP(pu zuiIl?Zij}~%)D(9V=QUz^}AIC%)ESmsk6&Qs!>8|8Ra_MBHn{gFU}MGF%XM?lEm zdh)?hJjp#}Pz>4+657gjC}bzHyP6wF0=BPmTKR)cRGdOjbo%t(`Z_VNtIFv1DV5z| z+gP;WERK*4RJ*8B>QVPklC^+A?)AlTB>y?Tcngsj(0Oc3l;}Qw_IL;$=h!7lAf?cZ z)gMWn4nCxHU0abjg-GG6MB5@fT#S*Dw)5%zQk0zLRK!CT3)swb4JC5=IsL<+aL40% zR})t-mLVP_)hPw_FZ@YqGO9rpR3M;v+JPR8y^7DESQGSu#H;hZc5DUxNO8@~V?RU8 z+F$qm2cDW2L+ydzSdBb1tUL`I^=T zb3dzWTZ>Ji2`4WUBXN`cs1Cz_0$p_ym;1#5fg+#&ayXQnPcI!45(sanLH`WfDc>$u zV&t8PUo}8^q=hO2DgjzU`f{Df6@qmCoG;jwX8hnVZrmT&^nwMCo}t$msIKsF$8lG7 z4-Q|sI)2)<)n>JtJ^crWL4M%qH4J*`Na$Jr`YwBcSJ7Wwxrm zbp$YOQYUg+8(B8-(Sx4)fX3>PB%&KgN#=hSRF{rk)U_A`D=xlhKu z)7O)xX#w9{j|lz}1J~~iy#EaqlvWlEZn!KDUBsBwz(i)GZ*T8fPxHdLlv|dc0~!}X zAbM*>dr_LcW*4ci`=rV3j$I54i}h< zsZCJq$iFA-l{j>wGmI91`6L7H#j3c=m;9gpIdo6FPoL&gr6LyQiF?8gIzlxGn7ynb z0eoOWIR*b0z{cTFY}wd2+ozymYZ|1ecw_Ht5#4mis;2wTF#fDy>=mYasrCCF-;8Wo)S=$jNH^b%lUziQkyERb_hY!~fHfP(txB%`!#5*N_Yx zH|6VTvXFVRdd&HXs$#3X3BRUG51)~Fu)~l54(qqLKSF@&lJQwZclIvQYa!*xb*+7~ zzN2xgLzepSYpdTQQa6PorBthB&#;}GS=)Z@*m(BkUR}@MH$8GMoWd2p0&v5L_*Ys` zW@x5g62cdE&i`}L?+!%p5f%GkNFyF369J5V%PO%Do$aGw!qy!mzy#pPJ5Ho8)LBG4 z7c?0FHD&yzOuw`N3j32$LvHp@-QW}^60zXpZJ z>EmztV)wiU;6wQGHw~RY{4N1Z#asPdUthoa~1}eN+Ks91~i{wem&UAPwKJpS69&KdHf0=ZEoEU`YEXHh;GU! zjwyn*7xuiWWTw9YsgN@VXbInW>4YS&W3%waKZnS6&oPEz>#?pHejb~hdn|I3y4p27 zsA$dzd!5CGi~NS@=`TGAR#d8)vh`c$$p+tPuLV1d3c5YCxKV6m@de~**NXG}A8kWf zL-7N7G!cIx#KT2K*MKGT0BCE+5o9gEN!Rj@56a#kWSkJ^PPI4{PHZA zXcEkn%K)a}XHfV^mXtWp@H>y7~!5 zWUtUjU~qB{qwE`h4vqgcv+(FA64G2y>I|dwC{N-~Hzzb=F0lMjrg?WZWj`E+G=zHN zw)CDs_@V{n3!0fu`|RG?suXD1aml%8S*ZTGZ^~f^AiB7kFV}v6zk;d!Qo{wIWHj$J z@A0sqi-)AT|MOBcSO(b-A}dkiZEce2Jz3^?n}o(aAQm}-toK?-TkSJb)N_Y!p2dcN9_qk46+YyU6F zG@rEE02cQijnW3MwhR;t*=9CiwznPva6^m6%fY^&O$|;`#z}i-Dd=qlLP=B!(kVwDb-alA<&`+14 zM4NY4v%OdEdbZQ*vZ}mVsi48|T#L-zk4J7iZWo((u5@~@KH%Hh#{*oEg9VKW)8o*IOw{SWI)Kshb;_?Db$3ucj)L`6C@`4nM zEZ%&;Iq*87)vo7|ll8{7y;vjsu~tG!)Ve~UPotozz%MHg))B;v`qa*Fnk#jkNQtrx z6L+Hs2ZO#c?9D$Jx61D*w7s$K2uRF6TPNGCk-qx$yC*9-cHQ`(G^6KCWS~8e`Z^ID zObs&&2FYsIn{1OVW3F^@-GT4{FdXg&IFp)nHsK6U0m<6;7E6&j#D*yBoIuFG!h`n+ z2HG9)^-JRv9Q3Tg#XD`Kor!UOfMo?-g7a{RrIM}%eXMgX%I6R%V35S@l{xEIGG3@d zwbNQJcJ@RBU~Wai6}~c>+9bPg<&mp5P-G!A!6P7L?X9yYXIWLy7Y1o;31^>SoxfSH5vweB^@?2;Ob?JA{zc*4A(leBjm!@<%u}y`t(8Cj16I86#gyO zso6n|+`Nk7F>hV*fMCvBdd2TwrmdwSjVjUuDJkcOb#S3=6> z&)@0fd0c~dh%^gd-IeDoRJZ_lGAhf4Of2}TOC?+AN|(NJ|IeaR(0#E8Lg~%WvLYX{ z!J2drB8l51SF>P(?c0Vx)Y5OT;0NVH(VNn;J=bmF%l#a-ngickugZINV7s>sVzbF2 z(rLNxg*@5&OqgTTTk0c@1pjRarkSYj2c@mkXyc>c#!!F{!#(d`U<*fAZ zx7OYGXc#){JNk44G6BrnF1V3Z`-TC8# zcQ{xr!ozv~wXEmPEL6H}yQl&A@E``(bG-7`eXlJPI3F@n$FfW#=kFKKC$zn05q5_6 z=XY+AB4-;eB*|W9{OgaMEV7CPBo}u9ttSTy4WTs59E^I2@P1oB_!%a~Q~RtF4C4SN zFLkD8PX#V}fT`AI4^Rl{P?_`BzYMq&Aol;81*EiDYTT=}9Un5J@$KIn$0?|_#R3VM zwOBfnQK}`Cv81)x+cJYw_!&TPU3E#Y>+0|ak-6q#8jW|)DPg`~XB*;M_&{ZVk6`&J zf;iX-e{<$O!UZ?HIOwL*&G`wtB;z0git9*`BQs6{=NCfGO5*zBTm|Pj`e9H?Xesd| z-kFp~sWK(6Pzv>ro4BrSDek9FD>z8Jo@!slU8W~L8&&t`DlPEet~^fAG1=VGj<#7= zx%1ba_xWmI5#feN>WlL!CmA|HDsMBdxpLd=OgPyW6_ZaEPonjQyRkJdg@Vh~W#gN; zBy5SQuW^iR_&}@{%xCj*mq9Y?Q_g6T+Z^Wga#?oO778Kmi_Jcgg`8Jpuo0~cBe$E+h*CD*--1Z-!vNgwwR21Ovs`5>nLF7FB(L7t`Zy$`j+q){N*6nTR(eo9l+il z=26b~tB0Gw!s~r7b{huAziFIJ zTC#ggNtlSZQUHB|T{lHg8^L_+LGr~^hlZ}3{9rY44>lv&=ChHE5M{4#FWxyVPL>%~ zA&e@xvY8rEY?nfEQe3~QQWoSQ=FH|AE9 z`_q9*kakZ}DuTejp%-Nd%@jkE?5T!;^FsV6Q?E$U@Hb}x;Cv<_f}OD+%4~C zS0$KE#@EY~LDXXOny5CcF&;d>JLp1yHIY=whP{QPmo5u#}5?k>a2{PNC@e1k5|hU!>w#9DOVRO zSKj}|1GTUK6$V6B)!Lctm~kc9pR9Iq^+~LeiU=;mVyOOT7!-)Qc}ml_xFUamvj46? zuTQa5f|PLU&f)&{}$(qPTkGq+%Dn{hKvC}ASeq{S7zqP1;#$l?#{swC=qkBDR9 zqwcIAr>O7U{P%57)uc<`MW*yZzV=}^!t{F`WTqW=!8V#EdY?x5K}R08Ds?uDj|gtc z3k^RgV5|h9fEeOb{Uj<+@KfTelp~^-w#E6Xx$XfNbV8RUj6%4gOTh)jwXSXU1aq$I zR&+w&iaVwk0pdQ%NaUUG;NlJk{6@3nM}x`HImYc8Z?oWyt+JDwxbSCwSnl^~MoRXA z{^+1JhTfg<22Um$-r%=9NtwSKz*MU{NK{H9G*RKOWi8|+AMsqo-T8vZhVoXmcGc~4 zu0S&9BAatY;88s!wz8_R^_hM?V zrMZzK&Utmqd$w0!(kGU^&68qa=GJ$Tugg%sACs`r=dAhl18>gfEolXL&Hddvy_`2? z@7pJp_a&aEZL;h*FQIBo8lec4n*?g<9(34a{D-tU6kGw@0R$%~Fe!it59_c4=zPCi zCYdIa;z+tX((7vfepCB<^Vg3#&+c94KvNeOtm<-&cjim%cd5bUA3jwcCCLXMKww>e zxk}4=?VCveD&74dLiB8V!X~6_1ZYIGtQ!N`1q%V~tqMG|e?j}r2_%7SRjfsI&O-p^ z*0gkN)Rv+ZYTzeIq9?ur3Dfyx0dKdFOiya45|^`f=8=LB<6z=KhJ}vhR&PQU#Gh60 zW#b%)UL1&D?^WA?3}Yc!Y1elQqGaX3P0{;PMWHd?5~If+6W*S<5E`kkiP?%{g`wDT zeNqhNz-(3YLcDzZ&)umH#@zL=n|Z>^xCO-vmRt2QrcTqx-^rRL!8GUme*Dhhy@O1N zj$3eI5$ULa`Djol9A*BebF4<8Lo)1I{Z~eT0Zm^hqsIHb0QmAh@IUvXzRMW84-&o0 z@VfVG0Bg9M1x4_I)_{6Hrfu43s?sv3&3WmUv!?SN5-)edL9mWdi#IYCM=<|wBCxAXLSzH64ZbrImz=UN@sdyEl=Ql% zEY)JP$*Y$g9<)b_nWu1p?lR0lrf0f=3Q1H_>-QZZH};i`F%%z~>weXnmDcwl^e-!W z^HKHO8@abi^w7jlP*E(cpG-Ni)S&<^&JM9yQ9jc$?vgARYs zQgx`%#=y1CEx4nWO{N47`xuNFcEPMuQTX;`_I$1a)PK2`$|aG}Di#-@h4E|)VQ4r> zO8`~VTcYPHk|AXF1fMNUz`d#qlCZ~8hasNZJ}oXE2Rl1|pF*c+zVyFxPGSeWrpjes zg*rhzwOK%qG8V4r$pP3D9hDyLRM4nH3Wzgf%8g6v7q9*f^Z7|LM`DkYIL$aXy@O;g ze)aWM#udK!!|EZOG9jRB*6p14972Ame{9Uhzi!|ctMV0F#}gT9r1ukAHPiC~e*i6T zIAiAE$qy1Gt(#`J`I<`9fu9 zd)IP11;Y+eKelo7vK6VrI8$Ge(E5x$m5i0x`t^SEuqAF;t5;DVc6liEW85-jsTluu zC^N5=h#*%T?{sfoQkMTZ4{+VBeKe)pOWI$o{+y$y;$ufABv{k{Cr!!pUk8oNJ75-* ze&QQ?P(&B~f%xlp^JAGsMXcc_UuL+thv%koLLMop-e^tB+=I(#xOw3Qq_K!07@u)q zJc1D-AfTmTwnF21m$yH#q8m`yeli3)^7}crg=hO*X}GSW^@yV95CUDdUC_gS*ZvBphcc=#O!|BXajCXJjkH;OK-nI zxyfvbj+ZxF4!9(1qVI_t2T`I*RUb9D3E`EBaCiQK@o*1|t<)-beMtOGK;H8*RlfXX zd>;SDxgfrMA~`VGazzOXDF zsXcz7{qM8k=}?LmYXw#ZVe{j!SiNhP8>`$jskIwzPd5ps>-@WD_n&^h?9qIY^|@mQ zvbr4ZwO9MYrtY%Nvg8(+?2k(yK%Oa{Ye@hd8N2y`L*^65IcuSG*#`JUL1e?IhE#o` z6o)(9&ga#@GB91|F{vM)-Tjho7G9@@%T$>>!GjHm_cb3BBT}U2HZz(nb{rSD~}glUO}L#!}^E zLt0*P*Nu!u*ZuJal8Qb#G*^YEQ;8pAb;dr9Bk!?yqzE7hOo6bd(c0s!lnG74adi!O z%yuR`Rg)8xnwJ=yU?p%qW2s16j|9=7E(a%1nBwmRW^qSCAGBS}GEUdA+*V_NG)ChkW#`3)0T0Xh=;Uu{0I{WO%1a( zsR;;vNw&}PPp|6^r4+-#S;;`wfp2dQW1j+1zkjt|40;R7__418835sQ=dv!!ZQwsp z#yh6A?}PF33jm%kECoFxp|QdP!v%es5; z8z*^fOrpzs_NlZ;aYtS^JZ2TJQ@lJzgf1+6j&0rX#rp887r{eMRbZ4pCy{OtOY8GI zg8xv0I|FLWxksB39=AY*GqBu!!!C5+@ZCV8N;y|5T}j~y{WVzR=>SUiAa9U`g74Qn z5ZK5ee|69UlrdHXwo@_rfq3c0pvOuQvuUGf}C;{X%5k7*(T=s~n zDQx<$r$KnFXM~+*Zvh(4HHZ!m`l;Hw5zI;`JO(&t>#Xpyqhv7*_K$~!&jGXcspBC_ zIL$|SpAa#2xR9UVPOAe##WA<;>nn~0vM8VWx5MPnhN-8eRE5F10&o;cuDq{j6zqeR zS-A$^-#Mc>N)?G&gG3%u0JnUV!UIScLHM_Ytf}J;DvNmr^fXXl_RKLbzP&nc{{s@? z0x`YGU<+=Muw428My7JX?VmktcX$OqxJ`#*6@@0Nb#OtOcJ$i36w?@0Ld_acclRY`dfso;r{EhPICcm1YV~rfk#Ln zGJ=;d709jeQy=`8sWaZmw2#vI4pe`I{=nBN!nIWzyPNMMnen(C)Omsi7taP=_kESu z%voPQdnARZ{^(EKZx%mZo2&E_zxwydvZ&b7K^;>8SqppdQH;Cqv37?L=q!S<&9M)C z{LqOsI&`tUV9sR<$R>a6`CNo0DZ6>eq2z8S&sOokTT~7g+0x?~Asc6+o=;!zaK=Rw zSbb*^))r#`Bo`lJyM|_pnR#D4fvEZFRg^*fp7nMJJO~C~K))ZF{M?avw*?t0r`1AO z2!wDady{v z^lrv|-sW5!Asg7?Z`dRYRh>8Xp}h#~r8ax+^C>Vr=<_vp3%y#s9GJ!55$_ z38#XhR>U5y1lp=Yf>cRUR493C4hH@*EkwLw6B5;cR~+5zde33x((?;1G8JqR%Jr>l zfW#&1g8?*w&K7z+9K;##yo*-n6Wl4&W`o*i#Pyx=TKV_<$$9j=Yad1%B3|Cwf6FwK z1FP6Af9#ta-%IE;jNk)MtMA|Ldr`O_AZxaliCO`jWmNTyrD){vQBCOB53WN&BxE+tJj@7D z(t*DEG^BA>_`i%p96f8{VqwnxVZK|eRTMIZlMy3Ym(!z6IUg`@$W%0H`iO4*;W2t? zxdzDPLY7&8|B*e%(hYWCi<71BIvKI+Cg;5g>9$jIdmUs$$>H6GwWi^2Ljf|Nou~40 zl-bofyL!C@TtIMCk6?_>r$_!;mF4W!H>>Qz`KW}ij-q{T-{3MUT>{Ptrjw3*U94CG z(3S_5YWZBM7tQ@y?Wf{9#9J;>tvtcLinC%0M1mL-#FqZ)f&1P6Rl^*jx=vodqN3(4 zf1Asg;E?f}JqmK~xy8ieQU(Mft}E&;xnVO(`sdrljclyR)h}k^g0Kzto71kUsok1y z&$HfA{b^#uK<#kWj8fxU4cxW~_ElYB)EhM-g8;gbYFQym5YDT3NU~mr6O7z>p(G2z z_}3o~qVd@iO-JNop(?fHYJd1^hlqydlXs#yk{^t}gz_?H!BGNC0cPL}xkBgN*<`tylHE1n(zA@I6$#k>=Fazy0n*#t_3FJ(n zO(2s?Y3N~R#GDW4vOHU9Wubft2ZINTks9Mnw7d-ouk~c7AV5;`cy2(MK97>h+Vij! z*`bWr^Qg*9yUd6D5kr0InG~1;eqw+8`O@$6>Qi}P;$HB~fNk+shuhe;^eurVch^a{ z-jm~;TGKJ#gg52p=*+PR@pavp*=N5$iW~(r-bCyC+WA91XG)fLwewrfV&PKsiQr}T z@{24|=ZXAgQxH(`bVzi*BJi@Bi$m8aquj3L9quaYS0HxgOV{<{8DBTX8{i`@?nPt! znMvfb2@dpTfQM>e8_JR=oJxp3KU)L=m*0iVRa{^IiK3ds)7e1eTGQ`t+Dl21E<;u3 zC1QJj>ojM_&>hJ5I||I}{E|wR(de5orI+}Ii&(njL&0KB_M!8oQE|W_1?)R&4#o~C z_1cUb(J6ldPjbcV)h^$Fr(WP`1-F`v{h2D5$^p6m%1`QR5aydbqi^2O0v)o4F3qsdTMZ^q23h_qr|7X$FG;l^=WGLx&nBm&mcWSHI_rFOa=;@Z|m@CGXEl z?~mDE!vjtLEf;juSAXAo`6enb#Y2>EVFxD*D7cJ^;HM-8mTN5Prqt%o!T^ z0on)_Hl8%pG)RwOse9y>MFt%x@k7UDwy|01Ee30WN7p*>RlMYG zJDer)zOSX{l_(5orb3q2`06p+$iijC0!k@b}T7gG>j8FDx~uTlElQvnu5YyUJt zLl72|$ZInPbT=9F6{=1d-~W<*cyU*O#jN&V%X;v}krpn8tF^930cWy?AXwIJkS{%27H_ffDy44+I zlqG#wG}Wy)_H5(oH2iW+FvNLkGbHx%a*};N75<#z2oV3KrVc#mA=ND;J>d;t#D zSpaZPaJO>-5f`nkw(8uR^L^vFT8=n>$|&e9imK)Wj1*pfYYn{EoXP~B$N*(D?7gG# zF1FcYm{>%a#Lcq@*_|Pcy^DEjix#q+RTQy+Zwet{SG4gT`;{sD4;Re(`ttfmn*@$C zcy$wBJ(8whX}2J2DT|l5lrd>R!`ZXtTUg-&QXgu9e&f?6H`MPnROqIO+*f4q8`=J= zETw&4r$@v;DsQX`?fU~VaJTC1 zyH{;kPV)}u`a$G@ZeH7=*gS)U4NFX_zx;_pS}X{y$&o#|ss1^V*1QKCm`T%vxxUf} z1C&I)Oq=o;ssv>|86kQkNC;Ukc}hdF+2WkI2$Y%?lVE*VB?^*Mv8DX{w_3S)Z_77G z^3fK8@fC0J3+PU%IPNVdPbvE>q#*YU3{#d7g{+cy+l}WlvdM&WgD+4IN0RN?RZwbYOwG`+>NMNWK8Uk3YP5DPqS3)%UgQW0bh z8&TrYOP~P)0@^?JA8RvI$4Pz6Sb)l-W_zgqjJ%;5|A8d0A?pG=NK%I_;}ht*4y^mrZzzax>dvZ^alFo$_}gI908?|o=NEkZ)_FuD z&;Bw*m6ZZTCzgNN!t&NnY-Y$_VNDGeIC0l>8qYdtV#+%1P4|V7UNPn0+^gQs(bC6~ z!f|4vu|i`2MdgXZU_r6|pbK`hy3@q{3+VRNcOq02>RvG^RKh5}4ytZs`t`9>(dvTj zlk?=Q>$U78mjSgfo4s8vZHKL7#gt-Ib?w>DPb_wZ7h@pI4$U+oAl8=b(XE&6Whj=m z+jAer)2@2o1nbd0&8ozo6nOZ@E%)z4k4BUjJ0be_+tS(=C*dVtx62gQ&tF)k!)A^q znp1DeWAEJCv45ri<|_#}oXtM6BIiiH*>h?-{>9s5H`m}YmVymyry_~9nbKq?`NyXu zbM+V1ii5~mERb?RR6mQY{%+#)FY&(0HQpBn4mo{Jd2u4*BBX}fKfFr`qlY50@7esqs@!8vmBmssz-_L#=PdZx=1ZJRjz!i}lY1hCRt|O;Luu)~DxjhAKoo{jQh-C(;TcOg0-I zKPyY8xW7q`^jNIu*C>3B3HjhXL@aafF<0WL-uC_X-Ha;w)cl5Dc+??_&d9uX6npJO zX4sXB;``e`3N^3gwx?`_;iQevZx8JHm~#9ROrK|+#D;=@b>lilqWub@oVb?C#d;gQ zXy8Y=@FwMFz*)DA1SdS13ke!JHee!@E`1h6chD?Vp-DI9Y3XgvmE+8kKpi!bndH2S zY4&9L$az+=6A188CkpBzsmj4Um5cjFtNqO&MkYC7x36i?S5YBa&SwVUJl`?>P~y6@2MpJs*7=^WM( zM+6|!m$&IIJfotOJG;bV(6UT)sz_;T>D?6#w<3xAh9AXE8_AvSOiv9vbgE(tfJ6_e z%*PSmJF4s0QtPJI1-vXo>&lUtw-_LnV>TC63gRACS}(6Rd9U;g(>)ElZqF&4cI+r_ zS}^Whj|UTDuAESz&PV=Q=Pv6h2}>gs%~ZPAdVas>o%OoDE=LN^1<%S0UB3MuPI(5N zSj&RNs=)ZG@QWOFs5AYs&D=qk{V+dC3B0#xR)@tG&!H%ec)!*(?RFqXWY9iGHh~SY zA>3(_8fU%nsc61sZMjsZpgsqy$ENhyeXv0H_;%mJrqa_8WUZV)$h5sK#3`=2@6RKR zkEjbjG(Yp#vU*zXnN^|ro8XxvJWQ+Kf1n_3<6PtO*GdT0GZ*kF>XZEE58@89e+T*~f0Q6uFCja}^vf0e zf-P5Nn9h(xzU)#r3JJi4gR)W1?w%c~o3|fuRe4^6fKVM#gQEmO)akpqPB_flkeBDx zm*)vFwC%7Szz?W6)hi{!jWv;|jBY`LW9-;Yql5$cUT?}?12B?W=U;hoJ%PlwBsMZx z7csY-D{^G}KG@j#94?q=+Q8v6f*CX`pL%z@&N^?~Z-K3xA_u3DvvoKVa;fjO(piY` z(|T+O$@y>nC&!P_dX3eL(ydYs=`SFvvjPRsaBO@^m|eLp3ACQuuOvtFzq^2?Pj|p8 zqcio}@&L`;(#5xLu7n>Pa0V6-a9*hz<3HYJ0TO06#~=0;@tAci)C^^k12~@kS>Dez zwI|XjnvJCRzr|Sgogz}{n&bv+$=_QJ$5F{$Te1kt_ba@opqXI(oo?IC7V7i*e7i}7 zXsE4kEPFr#Uhd}2Gf?z;cKM^6_g>YR0embIYU%)f-FfxC+{^#|G8yelSyh?mzpPq< zqCNV7U&E%sH$UjL;LB#)vZ@M!#vyleXZGvzZosAU-)9L1sS4=YZsDXyu%M=#?9mRl z_iW90LMw?S>_<0IJn;@hf@fqLu~OI-WGY!!Vx zRYb{X=YrO;;K0n!3Ot`l4TuU^lz=VbGstN+XW{Ixh9=cR0a399!7s9!V@Ek2gHCPLsjybv#%}TBd{9vg%Yx^ET z!;14>tVWJ9dKKYM5ud{xM+MjTgvOdr&M3aS|2@=m17I7uEP+%`m;@rre3|&a4nvuE zdS~f%zMgZ-2QJ6(%Q7k7lfGq%%g(A^Gnb$taWG{(_>h8=^B4K%Z-zk&~^axLF~@vq-`3Z|h)v@{((BL=5UL_^ee-ZY zu*O?wF3fE`Cx$NMz7GUpx$c_+0SFSjD9H|UOkK}rAzwxc8ScFwgwi^F{G$7g_D)@_=s>$*?EY+3_)+R2(KvsxwB z@>^IFY5LQ-(-88(bzV~VX0i`WczMR50b2j7&U>L2h#a|leN3*h=i#jP3J)6c29f+~ z+&=&NBtbITVh4dg;J&*Xwexivrb_-X=TTJI`I52KZghW9H_mt1^>Wyi?Rh}QefA>p zdP=7ky$NebOR9IBe1O7VRdAY-em)^q+__Odt>-#LBXlo4*rv{u!r}ST{vR_X`(>-R zSHe2jUqifMM>ydnIQF<+Gs7&rsIfH=9Z%OC1{4D#bo2`t*LUxM%YI%q*A+gA^d1Ht z3t@+ie(?xgGOz?b_Ehyc_gbe#S=3e5MsR7D{|-=}B{+Nl+3_LwCtA;}Av$)9HM@NmuBHY@#7cI`KJAZ8eKsofzjL8QB?cWU)GaJ zXuqH5*#4fy&0H8bG?{>zpq=ORY6d_hIcoO7kDcvKc>wf<6ub~|IKVuXi= zCdLEdIKupo=DS%=CjgDhWonqF!d;-gI2P=5{gqFHzTq2oz3UTv(tJ1ql}$Dl zq+eO>?YEbO+OuyH z)WCywF+y^`ULHYZbDyhsImhBP+){9Rw(2gQHo5$sfL-A&;7rz73v>|cj}D5MFd6eD zqLrS()t%G4WdXB;q3RL>#vU(KfD~Y|&dfHA}`Ek=;grvG^7GL1A*B$)3R=hd5 zm(+%D%5VQAExcWjP`DjPw^GrBc%MWZv=-lD%Op`x89ajHmXzjMagJOSKWA?wV4Q{t zMH%T{dwvY`Ps@rp5O5khYN8svoOni=G(gli7eM}u$L9M43mbvm#`R_IR4HA8qJRWk zXfm!^ylEyz#|pNhyK|&yrYIcdQYjw#Q>Odxe6Hdg;ossBiwfHjBfhvjsg^p{psRWkD*K;wdr)K zP`0i67%AAMpc7u`38{Q%A0mDYA-;CNJJAqPZ{$M z)mIcd3^`l^B1C}Xb0=_H)2y+4*m?{=I)I!9Y}X#PD+XBIBM`Z-2|XUw?PhtM)%<2| zlS}1mAdU^6HR1KB%;$JKU;Y84*c=16e#>>z7n8>ft|530nCbWnLKie1kZhkM8dLMptm|b!-dx%IbaAF}waX8- zUbH)EdIgqRZKuF0sT25}fz0E|_+mM>Y3w6`1*h6q)UiuIl4`a~z(-q;`#jixT#O^w z5T~nKNRKL)b%~0EJC@M^eG$csJJk_5ZhwVAIBHt$T!OY81GZ4qa(m7(fcZE7VasmT z`sRZ9tMhR~vX1v~h7~7AUCqwZV0GR4r65&Z&G&f=Cc?6{DO!aoyfb)F%&$g2Xb(ky zdpaq7e88kIVfx`8j~QM$^WTF&EPB;_%kjyEKIq0b~RXg z8mpQ&S8e^>FWkkC&HdQPbFrgulkR zgiZ)eKC;A>TB#=Sw!c`Bo}hyrvRZ3;rHqZwHwFwZQSs0TrJ-uWb5vjn{{oNhss+0r zmJn*itjNinHKU{6p(nUYFVAqyUib)`{2l|O%&hk#>B4sM)ippY-r3$_u#@6ve%}DW zU4UAZRdIs@CIZ)+J;A>oWg6x4k)=N*z;rpz(j!~Ttgjc&wf@j)$@?jYiW2Y|FD-L93w9F$1#jDLvY6O)zo1e( zhumOT=KP7@^tG#6zoF2Y0o;Of#McuMo%aSWh*( zBQrk5r39349${>*?f2wW@1s2bl0+9n(lRRDRhYh{wo*!qXma|&3}M}+rPnX)t4e(j5&!k#YUowpK@R= zBOVst>(C?3I;d!5IND5TggI4zTWVZZ)0(C`Bc2*{oe5I)aqcX7NCj!fL;nFvGp_hO zJeKYfZh_SfK>AeS=Y~*u?3>XzeGc$~9cr�&4EednSMr?>hwyKBLSL}#%{mom-# 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Ð*EhoD&jNJ+`*d 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

    4=qOmv>McubPx`U~Kr5(gqVZ??)*eNBNmHF`9# zVbvc^nEVMsJv8@PL=VIi;x0PvpWGvd9!?f30nInTjqjGDyJ05l8#vkSU4x7@M_0cA zEX{h-|1{qiOX?@1DzTprcc0uf;enlvkif)?IRoOTNV%*T;VYQj+^{XO z8KZ)rSWdc2@A34TmR|b^Gz`ar`cF5~{x5Z$rM}>n;~z6GGL)&c_T}D{O@)_!@ty}2 zBgeb{{D^4|)_>Z$xdkSPJ3|NwVFDTh=Y?i>+DqcELKyu5ajq@yD7Lv>MO+cdcb3$m zXSmkr2WWU9{a{Ndc?^i)bpF@}PS^&HK8o{!xC!TbmK*RR) z(tm_`o;W5_iuI4@%>%h{a*ra)MV;3zMQV5u%sbiBEaSm7l`dIk48R?rwRS8y{~S?@ zl{DheLyKt^a7q5gE&4v4sI1R$2l`_-!$gYVG}2$;%{OnDZaH9gdAnGA>R!lYaT*W! zI;iVn**v{#+WRy{3AI@?&zZiR%=)o5_ja1{7R{jjaN%YLa+m_Q+Bk#oDvxO2aOQ_92!#>)Vem(&d?*R! zaWBLRL|tHZMw~|K!)KG8Kb}>>uwU|Ou6fYL|TF;`F?iWJhb&{^{O!s=Bfr= zD)GE&(Lp@R(^E$qCgx|?mEPc-L{FhRFWiA2t$@?z-v$z^(-TgC*54YGE3FQ$7^n~zm8$wDq-nImss zvIDZIZ1!=o{e{9=t;Vthfm;I5)lun1Ydw80tZ)OOw$}$Vu;33|lolZEN8cP;oj8L9F2Hgn zT{9MHBA-{GiZ$R`jY{&wtO)C{N z)TX$}6iAxg@=9V&W@AI_A#!np-fQ8ga|?J^zONk+S5ROcu|cuH@-b7drkLrXKwFpb zR|=>3;Bt`mzTUdVZ8#Mbi};&foA)@953oaK5wt?wc2)h4yMgJv#)J|eG54aLg;+1s zA@OJ%!5oc`x2W!4+f0=L=GK3a_3cN#9=DkeQ`I#tH736WZ$Ai!%=A!^d6yVVEt_gIYYx(M;E6keAEx$E^$;geYh0Jf}$nl66R^+P447kYh zL$q&!jI(4IK7-GJT3BjK)uMMH|Lc{r$Op1S#nr*^<;-kbs5JA8OR=Kwfeno5bh#K| zJyriv(`39uW{%I5TD}7*NCmYdYn2I$HFMQBXCOE56%Wq!@4ko*xiqksMgCvRHfO z!vid=WZXsRaAU74VO;Ql=7rp#F9Y|0S1WKOSYkV4ZL?Yx{VA%?Wpf|N3pQ~N8KpL zDie_4Czva(T|!VovhIJ!CydURlRGd)m5x|PFgJpW(usa46l3&Sk6_P%@O)l(P;@+J zg)QZ&T0$qcFa(Qv+)-G2g~`B#Sv_@ruzH*6_kSnf^vqKTGc|HwF!uP8rh&&p%-i8Fr(!)zt*@{c9$Kef?((VyQN{r__B; zyMor0Igl1ey_*dLPjA@uprJlAVj>*ve3W|JO z7Uax0UgQ2|f)Ha5)54%73D`gqleh2z+9sZ7auOp=Gmck2%Rbth>!uF~iEx)~z?q); z#hzK9>|8Vi~DsDB3$Trv#*GeiK2CJG2T2a0G}$g8Dy-9G$jRav;` zV|<$43EM;f{-Y)Vn`2)ZCb5NkFYDvxQts@f-d&PTcjA&)1^xnz{lKXV?KC_M9ZIDm_GCK`BnWi~N zxn@Z|A@ZF?OaALO!p6|D{xD&2E`_A6ee^eR^rvQZ8(>g^e%9FDm@R;mkOl#zp0={3Hg4 z?O6>Hy^stfNJc@S6Z<5*Cmar+;+WpSR3ltvYC!$)+d6MlXRYkN&a%>f2F7K5U^kWzRT^&3Pov_}O2on7 z?>naY9J$X}EXiEP-BJv-aka%1;N}ok1n4SeAOu*eGQyTn>pMhs6N;oObSYW8^`>~D=g65Khkw9=8KAz6-CN@TE}*ej?03i37M zha%J0`2sP6e+_@Ne?I_muLB@Na0JIHHFH-uy6}RRjsT(&(d>*-rG%cUD6PH%Vt}z! z(}TM1R1Nz>A<*tO+YJZN>jL-bLNXQ83VzZM;KDk>%` z@a#9_$({pz8z6P64xA{Z6Gc5_M$Wx&NmpF1{Ja?L-f={Sj`=gs&#NHQH$zY2K1T(c z0%Np$XuAAMqE>Im@5J}*{}jE&!+g$Evfrw8aX(d-VlhmJflSpYOn*OXU}S7|DAePy zxEV73&=@i_hyX35$=|MbC~)RYXNkL;8vk~wuRFK!h;?s;rhA(g_p~(gqHI=Y>5oSD_D%djuh(HY7 z9}A1atNs_`$B&A>O>B&_Dq9s}h}96vy1>b)RBrN?Rp^)IGakHighR~S)`L6F+{)Wt z!8I%W4C^&?JyPs$F5eK4%B>-UDR_|M`vw%dP2>`c_aq2*xmqrc4f;K~r<`5KT$FIk zY<>-@8{~6tcvVV3FHyUD{o@WUDtBdU$=m)W&D$p-ivF)CMr1*UZ`Z7=h};JALf-0MgEW5Z!MI>2 znwlDY%Jd!h-0DS=UgN`D#)`EHYX{Xe$h=IUM$Tv~=M3!hq3A;`=^yY-oxIB7koa93C|`SN#HZ zyj_Bb=OI#mxZbO3r{hi##y9>YI1cYq6NL(VKUVEs6SxtJGee!z@lCQ;bG7U3Zx9h7 z));)n*>I$VQ}C7>#RbjT1z#1XIR*YpL`6cQc&hy6!x_x@w7w{kW$jc1i006R^)w(N zj-x??e@$t-o^oLF_YeAh-RX#~egW^;YG_O6jVVO>lMjseZPrRE2#>jziu-&SEAz`Q zw%o;&$;w3Gg3GVQ)PuIL9!)D4u1w3D?DwU<2`|A8s1^RfR2Xd+RfXH`=@RvPZrA&N^}f?N5&@aP0fe{iPP2FeKgDuV4!t`oS|rZyk_SBOIzk6Nild zV&~{{j8y_V%cBsf1w4X95Wgm5Garwm2Cj1b)#<%^Pr6~M961bPENFkYOx^Frdih5c zDpdZi2QlOmPA6gThm#n5f=&#+vaJd1mBq%LHAQKMf>S>~!qd<%@653O%*;G(=LUFw z&^leFN`@ji_UY%`Vx=N5LqQ(zuP%hE@esK_V?7k8YHMUjv#tSF)WF;-D<6JijfQw2gHSWm zkOVS`C)I+ipc%E)@ZLpT9pY&_^ZuRkK(jG+yrK3qcC;N|1hO(_*)tNT-m{wn3CPb(P&usnV&PFGq7c5&qzCytTkD%6hQ(}AvMo&V zV@eD%f1rSrNc063QShziPeD0*Ze5puuz2-K9%3?lB1~_mQX%B~6|Sy&UZ2q4y75wq zp?!zMo$CF>tw#d#1D{@6A7Ugn<;dK{|zO4)+XOjWNz-AVr4viX#M;^b^qyK7Ym zxJD-RH1m-PljQrYBII8)LS!-T+3tATogBOVnjS)RWhfz=0ttV+npbu{Hi+1HE;(dX z|KWw))4~?TuLZ$!o|d%2p$r`SK z5nSaLTl!?7Wv+utZOruMJGLlWNlS-Bo#r{DA_Tlj{{8D;S#c&4f2+Mv>Jo5H>Gn9} zqe~0luPm7IT7G@l+)#t)Fb(D#$K!xhBVLcXghYexRbbLj=7n`M8L4(z-m}(DhV`p5 zZL$ZXknlJ%_MZW8klf)x4=dBpXb?Ksa9;p7Xjsdy2y?Yre1>Q{PGE(#b;=Jm(y$;or9@oK9bsr3o^n7C~%|xal&QT1)c-U>4dRHrBF0 z&n`cK9&NY%rMi@iZ@k@qTl$+7$~2$u8@jRAj>kri;+0f~ZHN%;G&{VmSX*>3KED^e z`nEnNmf4TwtkUhU+8`8qHcV~hPrL8-{qxm*SQNFYpD_62$2}rQk-(~9`w5U_!y45w zlJ-{aZ%?*Y#=*s++!YUUln4@BL;#O?Q*mHecmCW`qT7v#1mYCUfBNy|YpSMAXla<2 z?h(YLQ+p~$lhSaVCR`)Cr}o80caUuqshfKbGgbUvKyQ^ z(Lfk{+QUlEOllo!(Y;}X)E>9unMr-` zVq;ktNLG>{86dDmgE5tRtw&6rWb%Hq!?Gb%(?~DpA|oJK7|hO86{+Gv9f|E$$az?@ z=HZKe(#4f;m1RJ2$`;IoaFQH=RK~q9hnbF~>%)xyxBMPMVb$^QEvxrAh{*Ar%+~{F zBC;(82;I~>rG=l1+zrA{?6456ha*=;{o$56d54Ht9fK3X^3T65*aPP`tzhyW@?fhp z;4Hs8y7pf!pS8u|mKii?xs@|mKN|1Gls71mYdl8YPUp1RQhkW_jRR~FP#crZJ^x^$ z)GuSY&t}Ap@x54EFvCk70#qNutkaQFDfGxTKYI0f$`|-|kKKv)I=t?S6!PJ1H;H?Y zOq*yllUb9pDg5v(fD7Mo% zo6vb)!H53a+om2mDn`@_VsS{OmOKqz25tpz7U|c`P2w!g^H=;k?Tz$?4?ttFGoA(9~M-P7_p!JNSdNZnpuM%N169I7x!}CjzuIJoc zw}gYsK#~ufmlOu@{&y@w$1-Rv^n#dmCX>H0yeT*7=3@!Vji%HfS zY@NAdjY|2MqKywH;8fL6(JQc{+$C6UWCN=4L6?!b;{~Fl1y;SXx`zT&z7HF4+=4a^ zj(NqzEDDFDsxobTCx<_3wBCU@?}BAYDs%{wW^pRi7(Rhs7R(JXg5)br~P7_yQ1|tfIt)Ga^ceA(668 z!EgC42n&eBPj#;9u6&Djyf~3P=pyhPrG1!?Z^Nm2?L2!53phs+^v4J`u%wL?K5og< zpWD`ZKEL*Ei=d=reI__^8pE}h>Ze%n{ifsIaausvWYfG~$tdiZVI ze{KYLG@L*w)+-xv53W6NuWH8%4DM|i(`#L3i?6r7Ar{c=#rvt)U~m z8X&mQ7oykQbSULR55X-a*(#P(I!ya9)5lqwjNI=S4rR*I#br%v7qt z`iu6KbK@v|u0C@3pf^`*8yZ_;3?&Yd2~4Utnmy}-K`hbA?r(`>8TVG&$0jlO$TMLOg!LtEKit%UER`?frPW z8{dsj4uyqn0$cxih@HFdfi3Q2q0Yps-KdAaVZ#GPK%ZU@8>5$@e|VNAZ+WA^{GJ+(^&14EWAlvzhd>=ExR!Gms<}zZy#`21ifNc zGW$V;KSQ}fQmB-lD{VtMH~Tn``?(uVs0KMNcaj0G761Ba z2K&GJ!M{Qb*yympY*LwR3Z_aeG1%b2ig)c}bj?o(v=d3jN41@Lk93d`Lm+iC!L?8J zY5sJ0Pl#NlT*7vSE;H*v_Ke*MX1?n!(#9OQ((hor#l)8OYHMgHmW{)&qK~cPz|2Ea zCCRPATtz9_F%+j(NOWg>dyQwBUH`K5R=xsK9gC!8QB5sjV<(>5~xR!7|3^ zllMNgFL;|SGE%BL6#h_{Hr-A#SFJ_!jP3Jz8-6E<+cw`kbZ zxTvEg3J!v_WDC(2L*dWn?RugybZnfOmgi#BhMAih^Zwh}C2oCJ2(L@3D(iF(oCw*f z-F;NfOeTg}CuW?zs!Bpu4@L}4NFXW_DC?+sDO9vZBL2cx$2WrrCpsuPt>%RZGF?=u zjHv`O7a`e~pUYNo48nkaHP?U3+WTb~-#l-3WuT5bu@ehhs=94XK<#4E->bFWly)RA z?(mk;66UrENru~B+MVKUktU@jR;Jsg#kG~wo9oHo#66EouypdFRgy-Sa^X%YUq+V_ zu?^>yA>Bqdu&<--ziJP(b`(Dc%ZZHN!TmPM50We~P{s?11bo+j1(f7a!dbw3VZBi%>z^fTVD%}^>2tg*QW5qmGIYkd*F!P027UZm-uS!)YPLdy*f&q~WL zn zvA^DACJhD-gDV3;zl4>WyRcY$Sfc;4djH)F?)4Enek?QEthAj@x!j%|veR`v#4n;+ zhr_H-)2i`4lk5#=zPuK@(pnKa^A?FEE}n%i{`4J@eIA|bZ`Iy8&$~;cKW8{+ox?J< za2Nl8=dYBX{uA<*6>NGkZj3^5A2z3}K0?0LkW7 z?~ou;c6BIhJJPn#OvL_DI(x0+&yF39ute)2H1>AKupLj_FCIQ1k25V7Ym)%1eIUK% znbKiQr9<)TJW=ftTI&^&9ucHf?*g1(KoxL*(l0OY_Ua5J^?~rzqIs-(zY%encdGVX z0YwErg-$WdW23VCK2NPzFX@h-QyJq0Vy8Gak+z0lPx_Re1Ke9rqwK$N8GWop0y zg^~$XPKVt~r@sH+!tL#A2kylc+ZpiG@iq!FkGge#98OJLe0_&e6wX>CE->+EkAr0} zAU7L1jgn(6iHs`l={fLKre<`F1m(Wcae{;H2-~Td$!|c|D}5~X)Lc39r!B1D(azd$ z0>2_Uk4RXFn?+_aLqRY071~XJi==G~eI%CabrSIKe2(Rj&D@4PGdCytxohSHx$BfT&QLDw@waz+8k~bQAzY2 zOt-daQ{a~}!)&G|>yW4W8R~mYe6uMo#X?|M+6*tbE*3SVQ|I{o+j`LdVl2xmfw9q` zPQ&JaNs6{WM?s#4XuhKB6DHRloqZVgCSERF!gwpY7xQ0QAh8(THk2n;BL^Y)-7-O4LzOpwnipx$};ny>0|GUO6hIG1qP{1j zZqE1ys9_^MN>;~RgNC;wOmk1x+e~7pO!;0E8acHulgXRDiYk_{K$@a%;vv?YI~M6M zVRVbym{&A>JrgkMa6blfWo_@xZka379yjB_`!n$}O{~7v5RA}*SutW?g&Z#pYvwy+z|6iA5Fh{Ux zL5iRB0Hck)t4{uibtsqEd_yOGlVm*D9PjaNE}|oDZdHoSl)Y4wHQq|)I#v@aF&piXqS?^v*HHvCxJFbQbE_UQVt+^n^Cp&g5Xx%q$t zi7MdXB5i#Bg{xN#MNpiu(uSb?2;P=_2 zICc2?d@jb@-!`T_PqAVdgfKd7UQKWYYOhtTg~n%Xl1stmv__HW4tvAc|8u}=dj$X;$VXz;uM;_ZXs=~@}A%|K|6^RDL0C?^3%o^PFD_aTz2$)Lin9G6N+ zWh{BI^gA+X{9y|@WciUrVSd}(-Y_2vl-W7!{<~*-@6?qzZnFNb7a&1?z?+qIIw|ge zGp?}~D|-68VdMRP$zaPH2PIiJ2RUE><4mTmk+t>Gqh(`{Q?KC`C?fRX#)z^d?K-4I zf}D+|W)osDOI+75m~bQ}6a3LQ1UJj%!V|H*=BHA$swFA)kdy_r-6F;Gb6l#TTgRW7 zT5v$V(ER6Ng4iJbD3JGe)CU;Jk3>!IHR&k$*jMm4C0wxNXD(IY(#O7Q3&^5)5~%KK zuKMKEew>$@J-5NQxtJ8$Vd3PFBiS8Xvd8yLeB{qaAK5qA&8z=M)Kxe%*>-&t1tcT{ z1xH9JoiZAv21s{FHw;Ed!vK+HlrRAarMp`?MuYT5cZYPtx954k_xt{Z>%OmZo%5@6 zg1pRM+!~S3XsTS!(YZyCkF>`F-yDT$b5mm1HSr74o{Xc~ilAAG%MNwtQH$k%XC}Lw zAP^!s^T_K^=ShVm&f+Fp6d88t;H+mE)tLkJx{z;2kWh};rHos|rovt?{J|R-y#^BT zV=MEoIdHhYvbNv%YaQ+PebWn(Jhf9wE@prty;!A=S z3K{{84p4D<;{3-Wu#u>)Pe&ogTY~EGXWdGuJ0%8C@cXLejBc!j6Mz=fqLns_;mH1s z0R&y;5RoJ#ZKsl%q@<`gADLDIKvG03QGX53YhQxU*Jp+sB&-kfh&EI6$c2(!vzE(XwSWB6+ z;!nEFhJhJD?xe@$5`!!;+U^x9YVeE@k^FicEjFO^-oNLEKE=bXkkpT_9O9Ds#<#>G z*$qimH(#!Q(AR!yJ9fns$qQtF`r-jV?C;<(I&9WCH@D1tp*u>Qtf!6f%$)42yg;Y1 zyPNvO{FG;?;!D_6^o64PB(8W9jn@4!LhhM{70dJFlGDoEMn|@?_#W1*pJZ3f(iKe@fIiESO zEeP0bv?~M+Xceps+q2gVE|4Wz+P^CjHP8dtUhVs$b3-^QkBD2j({~7| z?`~}mOGnpqwP#E#Y5Tf_gP(TO)$k8A`oUqToR+I|kbwOG=;|Xt<}F>T8?gv%iL$DU zowEdN>6TAcW^@;V^P)WuEd4SU?34u5vwirOrVbmPmTC>$ve%jqku&Z`#6Fta-Hqf4 zGZ?aR8t9XM1gY*3J{XvNI}3i>P<*BHI2gu7P&O=ZPDFP|Qvx!BFt!&rtxDoEUnep& zMG2Lkiq694J;p@|eZ+ijn`c(jxn+5jaz1vmREel}cva~6M3#Bu#!h_s*}f4*`yg|A z#{7zZiH;0`XTbyHaM3Gy`XODW6#NeiwKm5NEJQDPW&@(p+2769D_h&ni)G?9>nAeX zhjGm5nWO{;juCx#i%A3+%x)ZS47~1g$9+jvYAX6xhPFv~xNNHK+(=@4p@}dl!tlC|w@YN$WC z@s~;Ki1}pNc|N_P|KL9TVW-={+k10i8n?Aw)IaqGR_QUVDw4Q%!3{7YC4JWkK4r{$ z>wV}PzCdp@5@hjHogLc%1^%2o)R~ZA7K>gf_2J0#*5bvx-A+%VZ=E(z-gJI9cYo9H z%(-ArLwvw3SeH%T{9vv78Fp_Tp_0UQYz=A&mJsn%6%i}VK7jkE_~>VTV^FC zc9Pb(8foBzep^pW=xf56G0axBrYlC3tKaKcQMAwa_EldPWl*;D%KL2N|0E>>e8U#3O{LTY&9g>tR)X?VEX4%n6Kt;$uk)_X{i?fN4B;h*ezcN&8Z~=8sCssa zvoTod+hx2>%K-5(R^nG!JGCF70^2Rt)f;Qj9+c@29d~UtQ{yO$KNOf}soh`8_`PEK zfStyIRHee;6b0P9*V=HB*!AtI09l&klv}n3Q1BPCM#HROhcs_(ox$;4W|;q_t((F4 zHG5_PHJWA?Li#Lz__|hL@aNm6Y6ab*^jX~_k1P!unyN>>PXYV5fU)6KQ3&bf`Nchu zD-3u&Ep+m>7dA%)H0ui@&|V6&Gh1f{C_7wxp#JK0PM2Q6K#+|O2gyPD$!v)uSUL!9L|n5s&qi<5&g1fv?%`Czf>4= z&s#^O?7d3KzRCP}A>6Nvp+O7A;Yuoh6fka=$Wf{xav^1x_QeMpzJ3Lk(y zCa){c zT{*Th1LV*>z)pt$Ju{K38Qkk}BKBIp$(;OKexWn6hRR<;tCuq=r5KNtJSrp9X5I@z zqEECV*M(F}BBUAfm@ugYC>}2-*(2;5#SG{;?PT?~TwcvqLEiz3J~It>TvLkuoNOO-`gN%$%;`h38R zol&sDoL5MqR$6260m$b^fM%Z$=N41yZ0ctR(gVLIzRY5KgmCeT;^o|lRV;Uf1TJtb z>*rC@=6!_!I9E2r^cjInaBV^{%PNlG>qgE|LF(_ILFSH1!**iDwTb+!${y@4tryg@ z;t<}zQenBxLmvy_V`e?ibb{!s`>PfU&55BG2`)V$QWmmYd=A-a#bH}%9+P!VuM6Yb zbJy7_0$1%(C|eQ-Uzww9?S6N16`S(Px9Pi>0|%VC$yR~urhj~Hm4jN$UiG!iC1?)2 zSig4@(>nWKRErJxSGb}b!8e~3&k*$zGhc~fo^U~;f7{3$bEN7Quo;16WZns${!l$8 zIb!x(;`s*{^ePcW^px(q1gmIUOu6YQ+xQFMpx6lH4aCY-=vgP*(AV;OtxFp^A5^d> z0#vh21`K$G!m&*g63JNOCjuiqSDQA;W*njnDi#h}bE%`pJCvhVz!S};z$Ayt89eaM za?=YIOJg3pvI%DD3lYMWr7w$@>Ok;b1m(!V26T!4qcc!Zs87snH<~H==OwJV67$N= zYvY6!Wpl%vMflm8w-t3P@C})Crp1d%N!b7V2~@;h#Q9u6EzjJwBw>>>#yrY7VwOan zfs9B+O<%g4*fb*ODG_F5VG#pmK&XBLhAuN)E14}Io4j0G@D*T^F0&DRcmJ)D9_7wa zhm||o6bupZ**@lB!^RDF%V)}?ZO1o^Quvoo!Q`=Qk*+{*cY~B#Tjl~q4e%<%> zX}tIjPXM&8Hc=5qGkysuWX6xmcCH>{lCdP%>mb8(z#U+bH2Lr~GI20xupm)zgRc6| zB;89RIS^y2P|@ROeH$GhU%!5c>MghM=Wa-<)yK-e@R|&9{|&iwsLA1r5EJus)f=Ss z``7Gy-_>Z9l@pjzbz@~jCUknl0VhVI-krY;c9eFZhaLF!WN6;`jyQ3#=G*t?@GUV$3O;w#|cttx8_z-tO%EtwSzEW1N zTNX@Wq^57)6&PV*d|+uEu#jwn8>`vna{5%LFFH{poCeffUGJ=U4^7q-;{@Sfbr~#Z z0#V2ihLk&3b(u*LYrSgy1Wb-AIkM$7T=OFioIZtz*UH8g2H)9Eo{braxET*qhddK z+FJPY0nXy1mbxG&{wj^7QjQmRJ&}hV4qbgrw=BOg* zY8DuIe;ziqcw3Pp>f;me7f@1DpiFn{{kS#`vtjzFL5u5J^!fS@fL=5PseL$fRWksU za`~FP*+9jD=|J*-()3ViZzrEN=9!o>beZSWXefY}I{M9KUVX<1& z`~SokteT~vO|OQJXG7Dhic&$5f(%upk7pgwTZE9Y^!zO;1b~urqPNF@O%^St z|6&2cm2)vKX?HU|etoJ5CLVy5(B8g`WUsr0emS(j}L@$6CWT|H_v)W)&C{a}i!)Z-4EI;+xI+vN8rj-H{FSQK=i zRofAAO%Oe#e2Xv#V*K9XPqHvk7oks_{l#;XBSzEk*lQ3f6U=fn^Ou;NQ2x3;wq!uQ zoYAhv0yV1hq7q`(9N;VM*Khk?8NYMPn_>+Url_*7Ca%d{SRJ3A=E=G?=2+#NKol;j zAUE7!J=YOS`mZ!HM5G2yrmXs)Y%FiSq(VQFvNYxtwrNU-7g)YD+%@_|+Azzib$vW42xT z^X#~0lp;j=rpz0w&SgS&EkB1F=al9yoBifB;O_c!D|Z%?H`TB*J!#AO_*=n4+P>O5 z^Y@4S`a1>kdgcyXp5O~zGI=nitF*CBUKmthx*f}a;vH1VjND^x%aXhU^ok*Dr$~zX z8Vr{WD~_VFXbrpx=UiCq@68#RfaI^`JYl4IET2&f1OAAIB`=HFA3Au-M6S&Bwc`N0>=k)qE}Y?!N?bbL}?`jZh<{w;|jbCxIP&ga@| z2e6k#-1t_FVtk09#iC^h8sBq@I1~FgE*+uzX$bfm0tY+4B@Iq z=+1}${quoa(rkIEdWb(_Em~&9Peo74$}&u&oF3GHjgB#Ip}GxanrnP8Fy5b}<`^-> zro@&A78Jyiqr5G5}_z9>NKla(4^>mz0uV^=vu#(b@!?PXZ zrLLr%O0EplyC96YMYIeOj-bl{7sRn@l&!jY0##{tFsR$9Yj4+G@nZJCYwO)Lw7D#J zj~^G{jzIL@k2bf5?vmalE%shNlXsUfUEwFHt>0`87Bg3?8x13W^fz~Q<1>ktE{n@X zb@>+^ZF*y^4YWfR!BF01((n?8;)7-RHNmjSX8VQGeaYw>$R$DaPLKb?#Y2zU``6S& z&qdB0+r_)BDV%+Y)K{WzjCKg)B+?6A`q$I3G{4TPGFCZSCfHnmH>@2g6pbBNHJ+`Q zxcTENGTHMQZ#@R&o=m1Kw=Olo^!nUaK$p$f=>LQ@A&q}oktP`Rh6X2N#|NBMhTqtS z66epc5qAQC{GPHQOW=*?Pzj$B2Y_Loqyle7!SptrjziHr{BbKmJ?^tAT#w(*w%>1&BE-V z<~-Prs4~PNv}#-AL3}>9WU%GqGRY%`n_myM)Qlv<^To=7EBxa^GRJNW$|(7Ap3jU8 zoeEHTk_!=yS8kaJ*UTeoaay!h5Nx$jXCDops3f>&u2%4)vkr>3FTc(yDyRSuKT{s$Son80M&FhVo& z=WzZHDoLvh0vbtzcz?u3cV5TNb04Eq;Vc@vB#&8n>YC!S#RhVdHzHx=mS9%S-=F^F zxc;H2Thd_L6zhCk?=Bz~QiFbJ1Oxkp)UBKDwdLGv)%SFj4^q(1`FACDxT|+ENN2T! zbKvK6TIZ(zklSkoYxM(*7r0>cZ2_TiDUmfiX&66relhSX<`X{fp5ns)5g`4B zP;58T_s3#A0>QpS0Wg;zXyK@)lSsBRzqQ$I<<+58q}(K|Akdo8!=tF_P30tu%>8pI0IGa7aj_QxSxU zGe?!_NTn(KQx6`x5eeiDBWmg{V;>Tb=>a9Ue{PJ@X0H^JP!5?KKIYf|@tWo7(ZgfF z-E`g#Y0F-pkY#_9Jt2)Xxa*^#e0T3AQtjMhUK@ohqig+4jFte3U}Q8juJg}$7*48h zR1N>ojV-bADsUh*{j;5Qk@0pnGjb7`3!XC)UN$!bPYPTAwCX%=nGA#!Dl^O`N-D_A zWIdnRVmM_ZYf>Dif3=Z9XLTS|*~f;6C0s0fZNVsw!GZWxCw~M-A_ui`OP>7wb{#Y{ zLRr;J2aU5Rtmwvi38=FF_e6aO0nQFrIS#2$C`P^RX**_H@-J0&e4}4d_q@&RI_yP^ z%Ex|FLpsIL)ul`90|6SK)#?xiP(Ds_gsntT?(z*9*PbO+xr8-S%7m(BCpHCm3z!K* zvppy*&ZuSw3SQ{)b*iCBL<$qWN5&+yn-lqSmaTD9EUx-y&Raf@tFb%!mQRpjH#*3_ zV-QltuttWqAR)$TYxEF!SkX>=-Z7I?e|X{g0nglbzCXO)K#*CpSn)`}X@|dyG6)vF zSiZuIv>4~<-MA3|`0{4%kA={f0QU}CALht2_r?zKzGwP5i0>@v@ucoCtoS=m#t$?q8Eg`8`RH*8OFTKP)hT9WJMSR7%K7S`rVz=AS z+J?1Nu-F0VdTee*PeS0*wAWF>xT3U)rtOMdC6ue=DtyfUTjn95f^xLFlN58v8aKE@jLb_%&O)-5?vRfey`}_;XNEO86=QV$- zjMw=c%hGUEu#dferD;Ex-M|mH⪻Csiy%tDqU!0B|LG*6@fncQqcGe7`2tZ5uM0d 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

    M|(UlAC?;h2NiRT)K}{jHrqMqD#W( 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

    JGFl8T-pOqcj`%m7ZL^VbI8C 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 literal 0 HcmV?d00001 diff --git a/recursos/Simple-Notification-system-php-master.zip b/recursos/Simple-Notification-system-php-master.zip deleted file mode 100644 index 2f8a678b922d1703ac29319fa7f086f50a61b68d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3056 zcmbW3cT`i^7REy_B7#ztDn$b#5C{-MkqD6%YNTXT2n0+hAp%kbg{Wv~0#c*|gfJ9| zBT_R62*N-ds$&#}&ZBqf#lU0An^`*Z)^pyu>)w0*`o49)yZ1gnYjZYsUcfI)R{?JJ z>*n`|B7g^Ahw~wLyQ^6G2H-q!Zs-7eTsQ91{wtlLYkQ@LOVc&E| z>)*w=e-#^Z`_L=F0s!!^0syLCEoN(MXoN66>x212HT)sM>$Mu+y`^p8s4E}V*aCsE zlJF;W^KU`DxZoZT@rjmne%cyTG%+3JaK2Io6tF! zgJhIJh}w?4A+bl}`C4c4880ePcGINvo{>T$TheOU=m|a|ilRc|sq zXf+7FQL{4VVlJ;~XXx5Z`z$q&x;feGf*Vk~d& z6pYL)2nTY*YcwO_0ps5*@pnz%i~_SK#(!81>7?1~&D^@_V+ZYmdj~@s&IL86EiFvp zX+;q%pC=wyTItbxkT#0*pCpdMW88z!9{kTg5>G+eSPiK0Md-`#5g%B3#w<>c2!=)r zEVs)qy2Fazfa}3|2pQArL4o~n%Va5GHXoCe%dH#NTAk;|K9xn>Vb(G0a0Mx-if?w` zwY}YUo3MR9P13HcitkA8`T5X}#9PC_s)keAIO#OKsc1*W@m}})MmD7#N!gNZWztlntDu%k5Da5rJ!XS8!icPK(Dtf-7Q();H4Ja)ZtHF9QdQd7bJhfs^5tzRbg-wntbx_0_f-Gx0(L zd4B8!bz6hTu^NY!3DWpJ!x|hYdc{e1&(ESy)%UxZsq(~A`u@_PD`Y~U#|p)4W`Lr8%-iikX{B3sj5HWJFch@!*&%Pg0R>Av zgFfCdW1EFyGHQ)Tbq>->qXW0d(FX`^*);&2*) zFy#BXh6AUvv%bysd2<}=hIa@ZG)D&;008>xapWIx1LKYlQ2(qyeC+7>el-ETr|0+4 zX50@k&GtX#tMo-{Mw5@q)C(EPbiX})(kxLcjUD#zmZ~W2dJpUny(e>_!>$s_-`bUv zRFMLE_b-Z77C0h-O6N&anIOKqcUe%Oz;g5B(e4qgoz1Pn zl%F2f`QuMJ!|yNa zrB?Ru1g%f(4tDHKF;)0H#ygQrr^G-!Lg_VME43<{9UL|LV@a$cm(n%ljfaCm-E{#n zKOa{#MsUYsIr|vndy8nRS8_?D2l?RKj^;AOlpG0ma;HC`<+VsX?4wAmX_kpH4e539 zs74LMgz*G*2sl8lY9Obq&ZcU>(bYVq3iPm8zFHL)4aqAopCfV_?Cg@Nma31w30l+L zC@rY}J@h@<*~avuK_=mXY*dyx_J1a z{z(4qcT!MKwG#Rqh-|>VO{i^n7f;OZIn!G^Nr!ZPuT#N|HB!0-- zms~PU8z@cD8Yi6wGRN@5PHXQhho&9fU=iO5)_y}) z+JpMuOI(!-na10T*W19bR<%>qikED%hufXnJUdBdrYWNOgqKNc;)s9cmO|>3iXyS& zoopiA%8;h@_3CBet6WI#<2IW1TPEH@ zJ@m=I_xV$0*HqRgTHnA{&UD$AJ-=j+(RUQjPzkS&Y^9KRb*mdI;K_w?OS|eZPA>{i zRtce>9gBZhIICMMg@9@zf#+J#A!`yKzvq`N-!`3h7C2o>SGtt&cu6S?C8+vNnlqie zfV^K0@zhyik>;Rm^x6<@5LeSaev)mA?q?QA%voI9CshO<&Fw0!RzZ>{)#eRx_o&G{OK~l{L7JDSB$Hx4#>?NjCKdPx`DN|A)tQ) D1r-V6 diff --git a/recursos/Simple-Notification-system-php-master/README.md b/recursos/Simple-Notification-system-php-master/README.md deleted file mode 100644 index f997013..0000000 --- a/recursos/Simple-Notification-system-php-master/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Simple-Notification-system-php -There are to files student1.php and student2.php -the index.php has a simple form , and there are options to make announcement for diffrect class students. -Here initially student1 and student 2 are two diffrenct classes as CSE101 and CSE102. -You can make announcement for diffrent class and the notification will show to the student. -ex: If you make announcement to student1 then it will show on student1.php. -Thats it Thanks. -for video : https://www.youtube.com/watch?v=ddki5_HVI10 diff --git a/recursos/Simple-Notification-system-php-master/index.php b/recursos/Simple-Notification-system-php-master/index.php deleted file mode 100644 index d517839..0000000 --- a/recursos/Simple-Notification-system-php-master/index.php +++ /dev/null @@ -1,59 +0,0 @@ -";*/} -else die("could not connect".mysqli_error()); - - date_default_timezone_set('Asia/Dhaka'); - $dat = date("d-m-y h:i:sa"); - echo "Time is : ".$dat; - -?> - - - - - do it - - - -

    -
    - - Announcement - Task
    - - CSE101 - CSE102
    - - - - - - - \ No newline at end of file diff --git a/recursos/Simple-Notification-system-php-master/student1.php b/recursos/Simple-Notification-system-php-master/student1.php deleted file mode 100644 index 3fca989..0000000 --- a/recursos/Simple-Notification-system-php-master/student1.php +++ /dev/null @@ -1,52 +0,0 @@ -";*/} - else die("could not connect".mysqli_error()); - - - - $get_noti_qwr = "select * from 112_noti where seen_unseen = 'u'"; - $qry = mysqli_query($conn,$get_noti_qwr); - $count=mysqli_num_rows($qry); - - - -?> - - - - - sudo rm rf/ - - -
    - " type="submit" name="submit" value="notification"/> -
    - - It is:".$r['ann']."

    "; - } - - - $update_query = "update 112_noti SET seen_unseen='s' where seen_unseen='u';"; - mysqli_query($conn,$update_query); - - - } - - ?> - - \ No newline at end of file diff --git a/recursos/Simple-Notification-system-php-master/student2.php b/recursos/Simple-Notification-system-php-master/student2.php deleted file mode 100644 index 824d965..0000000 --- a/recursos/Simple-Notification-system-php-master/student2.php +++ /dev/null @@ -1,52 +0,0 @@ -";*/} - else die("could not connect".mysqli_error()); - - - - $get_noti_qwr = "select * from 113_noti where seen_unseen = 'u'"; - $qry = mysqli_query($conn,$get_noti_qwr); - $count=mysqli_num_rows($qry); - - - -?> - - - - - sudo rm rf/ - - -
    - " type="submit" name="submit" value="notification"/> -
    - - It is:".$r['ann']."

    "; - } - - - $update_query = "update 113_noti SET seen_unseen='s' where seen_unseen='u';"; - mysqli_query($conn,$update_query); - - - } - - ?> - - \ No newline at end of file diff --git a/register.php b/register.php deleted file mode 100644 index adefa9f..0000000 --- a/register.php +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - Register - - - - - - -
    -
    -

    Editor example REST interface

    -
    -

    REST interfaces are popular in CRUD applications as it provides a clean and well defined interface between the client and server. Editor can be fully integrated - with a REST environment through its ability to specify different URLs for the create, edit and remove actions of Editor. This is done by giving ajax as an object with the - create, edit and remove properties specified with the URL to use for each action, as shown in this example.

    -

    In addition to being able to specify a unique URL for each action, you can also specify full jQuery Ajax options for each action by giving the Ajax properties - as an object. In this example the type option is used to specify the HTTP method to be used for each action, as REST interfaces typically require. - Note also that the server returns a 400 Bad request response to invalid data, which is correctly handled by Editor.

    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    NamePositionOfficeExtn.Start dateSalary
    NamePositionOfficeExtn.Start dateSalary
    -
      -
    • Javascript
    • -
    • HTML
    • -
    • CSS
    • -
    • Ajax
    • -
    • Server-side script
    • -
    -
    -
    -

    The Javascript shown below is used to initialise the table shown in this example:

    var editor; // use a global for the submit and return data rendering in the examples - -$(document).ready(function() { - editor = new $.fn.dataTable.Editor( { - ajax: { - create: { - type: 'POST', - url: '../php/rest/create.php' - }, - edit: { - type: 'PUT', - url: '../php/rest/edit.php?id=_id_' - }, - remove: { - type: 'DELETE', - url: '../php/rest/remove.php?id=_id_' - } - }, - table: "#example", - fields: [ { - label: "First name:", - name: "first_name" - }, { - label: "Last name:", - name: "last_name" - }, { - label: "Position:", - name: "position" - }, { - label: "Office:", - name: "office" - }, { - label: "Extension:", - name: "extn" - }, { - label: "Start date:", - name: "start_date" - }, { - label: "Salary:", - name: "salary" - } - ] - } ); - - $('#example').DataTable( { - dom: "Bfrtip", - ajax: "../php/rest/get.php", - columns: [ - { data: null, render: function ( data, type, row ) { - // Combine the first and last names into a single table field - return data.first_name+' '+data.last_name; - } }, - { data: "position" }, - { data: "office" }, - { data: "extn" }, - { data: "start_date" }, - { data: "salary", render: $.fn.dataTable.render.number( ',', '.', 0, '$' ) } - ], - select: true, - buttons: [ - { extend: "create", editor: editor }, - { extend: "edit", editor: editor }, - { extend: "remove", editor: editor } - ] - } ); -} ); -

    In addition to the above code, the following Javascript library files are loaded for use in this example:

    -
    -
    -
    -

    The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

    -
    -
    -
    -

    This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The - additional CSS used is shown below:

    -
    -

    The following CSS library files are loaded for use in this example to provide the styling of the table:

    - -
    -
    -

    This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is - loaded.

    -
    -
    -

    The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side - processing scripts can be written in any language, using the protocol described in the DataTables - documentation.

    -
    -
    -
    -
  2. +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�Gd(GZv&)ozz_LSWAO^ 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