diff --git a/.gitignore b/.gitignore index 3ada7ae9c..0e7b63b78 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,5 @@ package-lock.json /test-results/ /playwright-report/ .env.e2e -/template_ai/ \ No newline at end of file +/template_ai/ +AGENTS.md diff --git a/QWEN.md b/QWEN.md new file mode 100644 index 000000000..5a507b947 --- /dev/null +++ b/QWEN.md @@ -0,0 +1,334 @@ +# OpenKab - Project Context + +## Project Overview + +**OpenKab** is a Laravel-based web application designed for county governments (Kabupaten) across Indonesia. It integrates with OpenSID to display public statistics including population, health, education, and other demographic data. The application promotes transparency and public information disclosure. + +- **Repository**: https://github.com/OpenSID/OpenKab +- **Demo**: https://devopenkab.opendesa.id +- **Framework**: Laravel 10.x +- **PHP Version**: ^8.1 +- **Architecture**: MVC (Model-View-Controller) with Laravel + +## Tech Stack + +### Backend +- **Framework**: Laravel 10.48 +- **Language**: PHP 8.1+ +- **Database**: MySQL (dual database setup - main app + OpenSID combined data) +- **Authentication**: Laravel Sanctum +- **Key Packages**: + - `spatie/laravel-permission` - Role & permission management + - `spatie/laravel-activitylog` - Activity logging + - `yajra/laravel-datatables` - DataTables integration + - `bensampo/laravel-enum` - Enum support + - `intervention/image` - Image manipulation + - `jeroennoten/laravel-adminlte` - AdminLTE integration + - `kalnoy/nestedset` - Nested set model for hierarchies + +### Frontend +- **Build Tool**: Vite 4.x +- **CSS Framework**: Bootstrap 4.6.2, AdminLTE 3.2.0 +- **JavaScript**: jQuery, Alpine.js +- **UI Components**: + - Select2, Bootstrap Datepicker, Bootstrap Colorpicker + - SweetAlert2, TinyMCE, OWL Carousel + - FontAwesome 6, Bootstrap Icons + +### Testing +- **Unit/Feature Tests**: PHPUnit 10.x +- **E2E Tests**: Playwright (TypeScript) +- **Linting**: Laravel Pint, PHP CS Fixer + +## Project Structure + +``` +OpenKab/ +├── app/ # Application logic +│ ├── Console/ # Artisan commands +│ ├── Enums/ # PHP enums +│ ├── Http/ # Controllers, Middleware, Requests +│ ├── Models/ # Eloquent models +│ ├── Policies/ # Authorization policies +│ ├── Services/ # Business logic services +│ └── View/ # View composers +├── bootstrap/ # Application bootstrap files +├── config/ # Configuration files +├── database/ +│ ├── factories/ # Model factories for testing +│ ├── migrations/ # Database migrations +│ ├── seeders/ # Database seeders +│ └── maxmind/ # GeoIP database +├── docs/ # Documentation (currently empty) +├── lang/ # Localization files +├── public/ # Public assets (entry point) +├── resources/ +│ ├── js/ # JavaScript source files +│ ├── sass/ # SCSS source files +│ └── views/ # Blade templates +├── routes/ +│ ├── web.php # Web routes +│ ├── api.php # API routes +│ ├── apiv1.php # API v1 routes +│ ├── console.php # Console routes +│ └── breadcrumbs.php # Breadcrumb definitions +├── storage/ # Logs, cache, uploads +├── tests/ +│ ├── Unit/ # Unit tests +│ ├── Feature/ # Feature tests +│ ├── e2e/ # Playwright E2E tests +│ └── global-setup.js # E2E test global setup +└── artisan # Laravel CLI +``` + +## Building and Running + +### Prerequisites +- PHP 8.1+ with required extensions +- Composer +- Node.js 18+ +- MySQL 5.7+ or MariaDB +- Redis (optional) + +### Installation + +```bash +# 1. Install PHP dependencies +composer install + +# 2. Install Node.js dependencies +npm install + +# 3. Copy environment file +cp .env.example .env + +# 4. Generate application key +php artisan key:generate + +# 5. Configure database in .env file +# Edit DB_DATABASE, DB_USERNAME, DB_PASSWORD + +# 6. Run migrations +php artisan migrate + +# 7. Seed database (optional) +php artisan db:seed + +# 8. Build frontend assets +npm run build + +# 9. Start development server +php artisan serve +``` + +### Development Commands + +```bash +# Start Vite dev server (hot module replacement) +npm run dev + +# Build production assets +npm run build + +# Build for web (with config replacement) +npm run build-web + +# Run PHPUnit tests +php artisan test + +# Run E2E tests +npm run test:e2e + +# Run E2E tests with UI +npm run test:e2e:ui + +# Run E2E tests in headed mode +npm run test:e2e:headed + +# Show E2E test report +npm run test:e2e:report + +# Code style fixer +./vendor/bin/php-cs-fixer fix + +# Laravel Pint (alternative linter) +./vendor/bin/pint +``` + +### Artisan Commands + +```bash +# Standard Laravel commands available: +php artisan migrate # Run migrations +php artisan migrate:fresh # Fresh migrate +php artisan db:seed # Seed database +php artisan make:model # Generate model +php artisan make:controller # Generate controller +php artisan make:request # Generate form request +php artisan route:list # List all routes +php artisan config:cache # Cache configuration +php artisan view:clear # Clear compiled views +``` + +## Configuration + +### Environment Variables (from .env.example) + +Key configuration options: + +```ini +# Application +APP_NAME=OpenKab +APP_ENV=development +APP_DEBUG=false +APP_URL=http://devopenkab.opendesa.id/ + +# Main Database +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=testing_db +DB_USERNAME=root +DB_PASSWORD=secret + +# OpenSID Combined Database (secondary) +OPENKAB_DB_HOST=127.0.0.1 +OPENKAB_DB_PORT=3 Playwright configuration +OPENKAB_DB_DATABASE=testing_gabungan_db +OPENKAB_DB_USERNAME=root +OPENKAB_DB_PASSWORD=secret + +# Map Configuration +LATTITUDE_MAP=-8.459556 +LONGITUDE_MAP=115.046600 + +# CSP (Content Security Policy) +CSP_ENABLED=true + +# FTP Configuration (for data sync) +FTP_1_HOST= +FTP_1_URL= +FTP_1_USERNAME= +FTP_1_PASSWORD= +``` + +### Dual Database Setup + +The application uses two database connections: +1. **Default (mysql)**: Main application data +2. **opensid (OPENKAB_*)**: Combined OpenSID data for statistics + +## Testing + +### Unit/Feature Tests +- Located in `tests/Unit` and `tests/Feature` +- Run with `php artisan test` or `./vendor/bin/phpunit` +- Uses in-memory SQLite or test MySQL database + +### E2E Tests (Playwright) +- Located in `tests/e2e` +- Configuration in `playwright.config.js` +- Requires running application server +- Uses authentication state from `test-results/storage-state/auth.json` +- Global setup in `tests/global-setup.js` + +### Test Credentials (Demo) +- **Email**: admin@gmail.com +- **Password**: Admin100% + +## Development Conventions + +### Code Style +- **PHP CS Fixer**: Configured in `.php-cs-fixer.php` + - PSR-12 based with Laravel conventions + - Short array syntax + - Single quotes preferred + - Blank lines between class methods/properties +- **Laravel Pint**: Alternative PHP linter + +### File Organization +- Models in `app/Models/` +- Controllers in `app/Http/Controllers/` +- Form Requests in `app/Http/Requests/` +- Services in `app/Services/` +- Policies in `app/Policies/` + +### Naming Conventions +- Models: PascalCase (e.g., `User`, `Penduduk`) +- Controllers: PascalCase with `Controller` suffix +- Migrations: `YYYY_MM_DD_HHMMSS_create_table_name.php` +- Routes: kebab-case for URL segments + +### Database +- Migrations stored in `database/migrations/` +- Seeders in `database/seeders/` +- Factories in `database/factories/` +- Uses `eloquent-sluggable` for URL-friendly slugs +- Uses `nestedset` for hierarchical data + +### Validation +- **All form validation MUST use Form Request classes** (located in `app/Http/Requests/`) +- Never validate directly in controllers using `$request->validate()` +- Create dedicated Form Request classes using `php artisan make:request Request` +- Form requests centralize validation rules and authorization logic + +### Testing +- **DO NOT use `RefreshDatabase` trait** - it truncates tables and can cause issues with foreign key constraints +- **Use `DatabaseTransactions` trait instead** - wraps tests in database transactions +- Follow existing test patterns in `tests/Feature/` and `tests/Unit/` +- Use model factories for creating test data +- Test both success and failure scenarios +- **CORS Security Tests**: Located in `tests/Feature/CorsSecurityTest.php` + - Tests verify CORS configuration is secure + - Validates allowed origins are restricted (no wildcard with credentials) + - Tests preflight requests from allowed/non-allowed origins + - Run with: `php artisan test --filter CorsSecurityTest` + +### Security +- Content Security Policy (CSP) enabled via `spatie/laravel-csp` +- Laravel Sanctum for API authentication +- Spatie Permission for role-based access control +- Activity logging via `spatie/laravel-activitylog` +- **CORS (Cross-Origin Resource Sharing)**: + - Configured in `config/cors.php` + - `allowed_origins` restricted to trusted domains only (via `CORS_ALLOWED_ORIGINS` env variable) + - Never use wildcard (`*`) with `supports_credentials=true` + - Default allowed origins: production domain + localhost for development + - `allowed_headers` limited to: `Content-Type`, `Authorization`, `X-Requested-With`, `X-XSRF-TOKEN` + +## API + +### API Versions +- **v1**: Routes defined in `routes/apiv1.php` +- **Current**: Routes defined in `routes/api.php` + +### Authentication +- Sanctum token-based authentication +- Stateful domains configured via `SANCTUM_STATEFUL_DOMAINS` + +## Key Features + +1. **Statistics Dashboard**: Population, health, education statistics +2. **Data Integration**: Sync with OpenSID databases +3. **User Management**: Role-based permissions +4. **Activity Logging**: Track user actions +5. **File Manager**: Integrated file management +6. **Breadcrumbs**: Navigation breadcrumbs +7. **Visitor Tracking**: Track page visits +8. **Location Services**: GeoIP-based location detection +9. **OTP System**: Two-factor authentication support +10. **Telegram Bot**: Notification integration + +## Known Issues / Technical Notes + +- N+1 query problems addressed in user management (Issue #943) +- Year filter added for statistics boards (Issues #946, #948) +- FTP integration for remote data synchronization +- Rate limiting configurable for OTP and general API + +## Useful Links + +- **Demo**: https://devopenkab.opendesa.id +- **GitHub**: https://github.com/OpenSID/OpenKab +- **Laravel Docs**: https://laravel.com/docs +- **AdminLTE**: https://adminlte.io/ diff --git a/app/Helpers/general.php b/app/Helpers/general.php index d4493d052..bf0d30f5f 100644 --- a/app/Helpers/general.php +++ b/app/Helpers/general.php @@ -32,7 +32,7 @@ */ function openkab_versi() { - return 'v2604.0.2'; + return 'v2605.0.1'; } } diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 86c0e6475..e531ca189 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -52,6 +52,10 @@ protected function kirimTrack() return; } + if(app()->environment('testing')){ + return; + } + if (cache()->get('track') != null && cache()->get('track') == date('Y m d')) { return; } diff --git a/app/Http/Controllers/DataPresisiAktivitasKeagamaanController.php b/app/Http/Controllers/DataPresisiAktivitasKeagamaanController.php new file mode 100644 index 000000000..bd610f649 --- /dev/null +++ b/app/Http/Controllers/DataPresisiAktivitasKeagamaanController.php @@ -0,0 +1,27 @@ +input('judul', ''); + $title = htmlspecialchars(strip_tags($judul)); + + $filter = $request->input('filter', []); + $colomn = ''; + + if ($request->filled('filter.tipe') && $request->filled('filter.nilai')) { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } + + return view('data_pokok.data_presisi.aktivitas_keagamaan.detail_data', [ + 'title' => $title, + 'colomn' => $colomn + ]); + } +} diff --git a/app/Http/Controllers/DataPresisiJaminanSosialController.php b/app/Http/Controllers/DataPresisiJaminanSosialController.php new file mode 100644 index 000000000..c042c817e --- /dev/null +++ b/app/Http/Controllers/DataPresisiJaminanSosialController.php @@ -0,0 +1,25 @@ +filled('judul') ? htmlspecialchars(strip_tags($request->input('judul'))) : ''; + $colomn = ''; + + $filter = $request->input('filter'); + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] !== '' && $filter['nilai'] !== '') { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } + + return view('data_pokok.data_presisi.jaminan_sosial.detail_data', [ + 'title' => $title, + 'colomn' => $colomn, + ]); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/DataPresisiKesehatanController.php b/app/Http/Controllers/DataPresisiKesehatanController.php index b3f2b9a15..575bc6aa1 100644 --- a/app/Http/Controllers/DataPresisiKesehatanController.php +++ b/app/Http/Controllers/DataPresisiKesehatanController.php @@ -2,7 +2,9 @@ namespace App\Http\Controllers; +use App\Http\Requests\DetailDataKesehatanRequest; use Illuminate\Http\Request; +use Illuminate\View\View; class DataPresisiKesehatanController extends Controller { @@ -24,4 +26,26 @@ public function cetak(Request $request) { return view('data_pokok.data_presisi.kesehatan.cetak', ['filter' => $request->getQueryString()]); } + + public function detailData(DetailDataKesehatanRequest $request): View + { + $title = $request->filled('judul') ? htmlspecialchars(strip_tags($request->input('judul'))) : ''; + + $colomn = ''; + + $filter = $request->input('filter'); + $tipe = $request->input('tipe'); + $nilai = $request->input('filter.nilai'); + + if (is_array($filter) && isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] !== '' && $filter['nilai'] !== '') { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } elseif ($tipe && $nilai) { + $colomn = $tipe . ':' . $nilai; + } + + return view('data_pokok.data_presisi.kesehatan.detail_data', [ + 'title' => $title, + 'colomn' => $colomn, + ]); + } } diff --git a/app/Http/Controllers/DataPresisiKetenagakerjaanController.php b/app/Http/Controllers/DataPresisiKetenagakerjaanController.php index d954719ad..b4fab1732 100644 --- a/app/Http/Controllers/DataPresisiKetenagakerjaanController.php +++ b/app/Http/Controllers/DataPresisiKetenagakerjaanController.php @@ -2,26 +2,75 @@ namespace App\Http\Controllers; +use App\Http\Requests\DetailDataPresisiKetenagakerjaanRequest; use Illuminate\Http\Request; +use Illuminate\View\View; +/** + * Controller untuk mengelola data presisi ketenagakerjaan. + * + * Menangani tampilan index, detail, cetak, dan detail data + * presisi ketenagakerjaan. + */ class DataPresisiKetenagakerjaanController extends Controller { - public function index() + /** + * Menampilkan halaman index data presisi ketenagakerjaan. + * + * @return View halaman index data presisi ketenagakerjaan + */ + public function index(): View { $title = 'Data Presisi Ketenagakerjaan'; return view('data_pokok.data_presisi.ketenagakerjaan.index', compact('title')); } - public function detail(Request $request) + /** + * Menampilkan halaman detail data presisi ketenagakerjaan. + * + * @param Request $request HTTP request yang berisi data JSON pada field `data` + * @return View halaman detail data presisi ketenagakerjaan + */ + public function detail(Request $request): View { $data = json_decode($request->data); + if ($data === null) { + $data = (object) []; + } + return view('data_pokok.data_presisi.ketenagakerjaan.detail', ['data' => $data]); } - public function cetak(Request $request) + /** + * Menampilkan halaman cetak data presisi ketenagakerjaan. + * + * @param Request $request HTTP request yang berisi parameter query string sebagai filter + * @return View halaman cetak data presisi ketenagakerjaan + */ + public function cetak(Request $request): View { return view('data_pokok.data_presisi.ketenagakerjaan.cetak', ['filter' => $request->getQueryString()]); } + + /** + * Display detail data presisi ketenagakerjaan with optional filter. + * + * @param DetailDataPresisiKetenagakerjaanRequest $request HTTP request instance yang berisi filter dan judul + * @return View halaman detail data presisi ketenagakerjaan dengan filter + */ + public function detailData(DetailDataPresisiKetenagakerjaanRequest $request): View + { + $colomn = ''; + $title = 'Data Presisi Ketenagakerjaan - ' . $request->input('judul', ''); + $title = htmlspecialchars(strip_tags($title), ENT_QUOTES, 'UTF-8'); + $filter = $request->input('filter'); + + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] && $filter['nilai']) { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } + + return view('data_pokok.data_presisi.ketenagakerjaan.detail_data', compact('title', 'colomn')); + } } diff --git a/app/Http/Controllers/DataPresisiPanganController.php b/app/Http/Controllers/DataPresisiPanganController.php index 0f4f10b7f..34abf54ac 100644 --- a/app/Http/Controllers/DataPresisiPanganController.php +++ b/app/Http/Controllers/DataPresisiPanganController.php @@ -16,10 +16,13 @@ public function index() public function detailData() { $colomn = ''; - $title = 'Data Presisi Pangan '.request('judul'); + $title = 'Data Presisi Pangan - ' . request('judul'); $filter = request('filter'); - if($filter['tipe'] && $filter['nilai']){ - $colomn = $filter['tipe'].':'.$filter['nilai']; + + if (isset($filter['tipe']) && isset($filter['nilai'])) { + if ($filter['tipe'] && $filter['nilai']) { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } } return view('data_pokok.data_presisi.pangan.detail_data', compact('title', 'colomn')); } diff --git a/app/Http/Controllers/DataPresisiPapanController.php b/app/Http/Controllers/DataPresisiPapanController.php new file mode 100644 index 000000000..3f4450e45 --- /dev/null +++ b/app/Http/Controllers/DataPresisiPapanController.php @@ -0,0 +1,29 @@ +input('judul'); + $title = htmlspecialchars(strip_tags($title), ENT_QUOTES, 'UTF-8'); + $filter = $request->input('filter'); + + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] && $filter['nilai']) { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } + + return view('data_pokok.data_presisi.papan.detail_data', compact('title', 'colomn')); + } +} diff --git a/app/Http/Controllers/DataPresisiPendidikanController.php b/app/Http/Controllers/DataPresisiPendidikanController.php index 247b9ce8b..1e6ce82cb 100644 --- a/app/Http/Controllers/DataPresisiPendidikanController.php +++ b/app/Http/Controllers/DataPresisiPendidikanController.php @@ -2,25 +2,64 @@ namespace App\Http\Controllers; +use App\Http\Requests\DetailDataPresisiPendidikanRequest; use Illuminate\Http\Request; +use Illuminate\View\View; class DataPresisiPendidikanController extends Controller { - public function index() + /** + * Show the data presisi pendidikan index page. + * + * @return \Illuminate\View\View + */ + public function index(): View { $title = 'Data Presisi Pendidikan'; return view('data_pokok.data_presisi.pendidikan.index', compact('title')); } - public function detail(Request $request) + /** + * Display detail data presisi pendidikan. + * + * @param Request $request HTTP request instance + * @return View + */ + public function detail(Request $request): View { $data = json_decode($request->data); return view('data_pokok.data_presisi.pendidikan.detail', ['data' => $data]); } - public function cetak(Request $request) + /** + * Display detail data presisi pendidikan with optional filter. + * + * @param DetailDataPresisiPendidikanRequest $request HTTP request instance + * @return View + */ + public function detailData(DetailDataPresisiPendidikanRequest $request): View + { + $colomn = ''; + $title = 'Data Presisi Pendidikan - ' . $request->input('judul', ''); + $title = htmlspecialchars(strip_tags($title), ENT_QUOTES, 'UTF-8'); + $filter = $request->input('filter'); + + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] && $filter['nilai']) { + $colomn = $filter['tipe'] . ':' . $filter['nilai']; + } + + return view('data_pokok.data_presisi.pendidikan.detail_data', compact('title', 'colomn')); + } + + /** + * Display print view for data presisi pendidikan. + * + * @param Request $request HTTP request instance + * @return View + */ + public function cetak(Request $request): View { return view('data_pokok.data_presisi.pendidikan.cetak', ['filter' => $request->getQueryString()]); } diff --git a/app/Http/Controllers/DataPresisiSandangController.php b/app/Http/Controllers/DataPresisiSandangController.php new file mode 100644 index 000000000..aa60e050f --- /dev/null +++ b/app/Http/Controllers/DataPresisiSandangController.php @@ -0,0 +1,23 @@ +input('judul'); + $title = htmlspecialchars(strip_tags($title), ENT_QUOTES, 'UTF-8'); + $filter = $request->input('filter'); + + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] && $filter['nilai']) { + $colomn = $filter['tipe'].':'.$filter['nilai']; + } + + return view('data_pokok.data_presisi.sandang.detail_data', compact('title', 'colomn')); + } +} diff --git a/app/Http/Controllers/DataPresisiSeniBudayaController.php b/app/Http/Controllers/DataPresisiSeniBudayaController.php index 16516f38c..b1e7701a6 100644 --- a/app/Http/Controllers/DataPresisiSeniBudayaController.php +++ b/app/Http/Controllers/DataPresisiSeniBudayaController.php @@ -2,25 +2,65 @@ namespace App\Http\Controllers; +use App\Http\Requests\DetailDataPresisiSeniBudayaRequest; use Illuminate\Http\Request; +use Illuminate\View\View; +/** + * Controller untuk Data Presisi Seni Budaya + * + * Menangani operasi CRUD dan display untuk data seni budaya + */ class DataPresisiSeniBudayaController extends Controller { - public function index() + /** + * Menampilkan halaman utama data seni budaya + */ + public function index(): View { $title = 'Data Presisi Seni Budaya'; return view('data_pokok.data_presisi.seni_budaya.index', compact('title')); } - public function detail(Request $request) + /** + * Menampilkan detail data seni budaya berdasarkan data yang dipilih + */ + public function detail(Request $request): View { $data = json_decode($request->data); return view('data_pokok.data_presisi.seni_budaya.detail', ['data' => $data]); } - public function cetak(Request $request) + /** + * Menampilkan halaman detail data statistik seni budaya + * dengan filter berdasarkan kategori dan nilai + */ + public function detailData(DetailDataPresisiSeniBudayaRequest $request): View + { + $title = 'Seni Budaya - '.($request->filled('judul') ? htmlspecialchars(strip_tags($request->input('judul'))) : ''); + + $colomn = ''; + + $filter = $request->input('filter'); + if (isset($filter['tipe'], $filter['nilai']) && $filter['tipe'] !== '' && $filter['nilai'] !== '') { + if ($filter['tipe'] === 'jenis_seni_yang_dikuasai') { + $filter['tipe'] = $filter['tipe'].'.sub_jenis_seni'; + } + $colomn = $filter['tipe'].':'.$filter['nilai']; + } + + return view('data_pokok.data_presisi.seni_budaya.detail_data', [ + 'title' => $title, + 'colomn' => $colomn, + ]); + } + + /** + * Menampilkan halaman cetak data seni budaya + */ + public function cetak(Request $request): View { return view('data_pokok.data_presisi.seni_budaya.cetak', ['filter' => $request->getQueryString()]); } diff --git a/app/Http/Controllers/ImageProxyController.php b/app/Http/Controllers/ImageProxyController.php new file mode 100644 index 000000000..a6f881bb8 --- /dev/null +++ b/app/Http/Controllers/ImageProxyController.php @@ -0,0 +1,82 @@ +get('url'); + + if (!$url || !filter_var($url, FILTER_VALIDATE_URL)) { + Log::warning('ImageProxyController: Invalid URL provided', ['url' => $url]); + abort(400, 'Invalid URL'); + } + + $parsed = parse_url($url); + $host = $parsed['host'] ?? null; + + if (!$host) { + Log::warning('ImageProxyController: Invalid host', ['url' => $url]); + abort(400, 'Invalid host'); + } + + $cacheKey = 'image_proxy_' . md5($url); + + $cachedImage = Cache::get($cacheKey); + if ($cachedImage) { + Log::info('ImageProxyController: Serving cached image', ['url' => $url]); + return response($cachedImage['content'])->header('Content-Type', $cachedImage['content_type']); + } + + $timeout = config('image_proxy.default_timeout', 10); + try { + $response = Http::timeout($timeout)->get($url); + } catch (\Exception $e) { + Log::warning('ImageProxyController: External image request failed', [ + 'url' => $url, + 'error' => $e->getMessage() + ]); + abort(404, 'Image not found'); + } + + if (!$response->successful()) { + Log::warning('ImageProxyController: External image request failed', [ + 'url' => $url, + 'status' => $response->status() + ]); + abort(404, 'Image not found'); + } + + $content = $response->body(); + $contentType = $response->header('Content-Type') ?? ''; + + if (!str_starts_with($contentType, 'image/')) { + Log::warning('ImageProxyController: URL does not point to an image', [ + 'url' => $url, + 'content_type' => $contentType + ]); + abort(400, 'URL does not point to an image'); + } + + $maxCacheBytes = config('image_proxy.max_cache_bytes', self::MAX_CACHE_BYTES); + $bytes = strlen($content); + + if ($bytes <= $maxCacheBytes) { + Cache::put($cacheKey, ['content' => $content, 'content_type' => $contentType], config('image_proxy.cache_ttl', 3600)); + Log::info('ImageProxyController: Image cached and served', ['url' => $url, 'content_type' => $contentType, 'bytes' => $bytes]); + } else { + Log::warning('ImageProxyController: Skipping cache, payload too large', ['url' => $url, 'bytes' => $bytes, 'max' => $maxCacheBytes]); + } + + return response($content)->header('Content-Type', $contentType); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Master/ArtikelKabupatenController.php b/app/Http/Controllers/Master/ArtikelKabupatenController.php index eca384075..2b4fd257b 100644 --- a/app/Http/Controllers/Master/ArtikelKabupatenController.php +++ b/app/Http/Controllers/Master/ArtikelKabupatenController.php @@ -32,7 +32,9 @@ public function index(Request $request): View */ public function create(): View { - return view('master.artikel.create'); + $listPermission = $this->generateListPermission(); + + return view('master.artikel.create')->with($listPermission); } /** diff --git a/app/Http/Controllers/StatistikAktivitasKeagamaanController.php b/app/Http/Controllers/StatistikAktivitasKeagamaanController.php index 40016e56a..85ce8f9c9 100644 --- a/app/Http/Controllers/StatistikAktivitasKeagamaanController.php +++ b/app/Http/Controllers/StatistikAktivitasKeagamaanController.php @@ -2,13 +2,15 @@ namespace App\Http\Controllers; +use Illuminate\View\View; + class StatistikAktivitasKeagamaanController extends Controller { - public function index() + public function index(): View { return view('presisi.statistik.aktivitas-keagamaan', [ - 'detailLink' => url(''), - 'judul' => 'Aktivitas Keagamaan' + 'detailLink' => url('data-presisi/aktivitas-keagamaan/detail_data'), + 'judul' => 'Aktivitas Keagamaan' ]); } } diff --git a/app/Http/Controllers/StatistikJaminanSosialController.php b/app/Http/Controllers/StatistikJaminanSosialController.php index 02534e856..877ac2245 100644 --- a/app/Http/Controllers/StatistikJaminanSosialController.php +++ b/app/Http/Controllers/StatistikJaminanSosialController.php @@ -2,12 +2,14 @@ namespace App\Http\Controllers; +use Illuminate\View\View; + class StatistikJaminanSosialController extends Controller { - public function index() + public function index(): View { return view('presisi.statistik.jaminan-sosial', [ - 'detailLink' => url(''), + 'detailLink' => url('data-presisi/jaminan-sosial/detail_data'), 'judul' => 'Jaminan Sosial' ]); } diff --git a/app/Http/Controllers/StatistikKesehatanController.php b/app/Http/Controllers/StatistikKesehatanController.php index 28509045f..70496b123 100644 --- a/app/Http/Controllers/StatistikKesehatanController.php +++ b/app/Http/Controllers/StatistikKesehatanController.php @@ -4,11 +4,11 @@ class StatistikKesehatanController extends Controller { - public function index() + public function index(): \Illuminate\View\View { return view('presisi.statistik.kesehatan', [ - 'detailLink' => url(''), - 'judul' => 'Kesehatan' + 'detailLink' => url('data-presisi/kesehatan/detail_data'), + 'judul' => 'Kesehatan' ]); } } diff --git a/app/Http/Controllers/StatistikKetenagakerjaanController.php b/app/Http/Controllers/StatistikKetenagakerjaanController.php index 46503b292..3f1054b82 100644 --- a/app/Http/Controllers/StatistikKetenagakerjaanController.php +++ b/app/Http/Controllers/StatistikKetenagakerjaanController.php @@ -7,7 +7,7 @@ class StatistikKetenagakerjaanController extends Controller public function index() { return view('presisi.statistik.ketenagakerjaan', [ - 'detailLink' => url(''), + 'detailLink' => url('data-presisi/ketenagakerjaan/detail_data'), 'judul' => 'Ketenagakerjaan' ]); } diff --git a/app/Http/Controllers/StatistikPapanController.php b/app/Http/Controllers/StatistikPapanController.php index cab69a9f3..2dc5bf786 100644 --- a/app/Http/Controllers/StatistikPapanController.php +++ b/app/Http/Controllers/StatistikPapanController.php @@ -7,7 +7,7 @@ class StatistikPapanController extends Controller public function index() { return view('presisi.statistik.papan', [ - 'detailLink' => url(''), + 'detailLink' => url('data-presisi/papan/detail_data'), 'judul' => 'Papan' ]); } diff --git a/app/Http/Controllers/StatistikPendidikanController.php b/app/Http/Controllers/StatistikPendidikanController.php index eca9df10f..3e5c88faa 100644 --- a/app/Http/Controllers/StatistikPendidikanController.php +++ b/app/Http/Controllers/StatistikPendidikanController.php @@ -2,13 +2,20 @@ namespace App\Http\Controllers; +use Illuminate\View\View; + class StatistikPendidikanController extends Controller { - public function index() + /** + * Display the statistics pendidikan page. + * + * @return View + */ + public function index(): View { return view('presisi.statistik.pendidikan', [ - 'detailLink' => url(''), - 'judul' => 'Pendidikan' + 'detailLink' => url('data-presisi/pendidikan/detail_data'), + 'judul' => 'Pendidikan', ]); - } + } } diff --git a/app/Http/Controllers/StatistikSandangController.php b/app/Http/Controllers/StatistikSandangController.php index 81a04524e..c57ab8fa6 100644 --- a/app/Http/Controllers/StatistikSandangController.php +++ b/app/Http/Controllers/StatistikSandangController.php @@ -7,8 +7,8 @@ class StatistikSandangController extends Controller public function index() { return view('presisi.statistik.sandang', [ - 'detailLink' => url(''), - 'judul' => 'Sandang' + 'detailLink' => url('data-presisi/sandang/detail_data'), + 'judul' => 'Sandang', ]); - } + } } diff --git a/app/Http/Controllers/StatistikSenibudayaController.php b/app/Http/Controllers/StatistikSenibudayaController.php index 1235024db..27fe77546 100644 --- a/app/Http/Controllers/StatistikSenibudayaController.php +++ b/app/Http/Controllers/StatistikSenibudayaController.php @@ -2,13 +2,23 @@ namespace App\Http\Controllers; +use Illuminate\View\View; + +/** + * Controller untuk Statistik Seni Budaya + * + * Menampilkan data statistik seni budaya dengan link ke detail data + */ class StatistikSenibudayaController extends Controller { - public function index() + /** + * Menampilkan halaman statistik seni budaya + */ + public function index(): View { return view('presisi.statistik.senibudaya', [ - 'detailLink' => url(''), - 'judul' => 'seni budaya' + 'detailLink' => url('data-presisi/seni-budaya/detail_data'), + 'judul' => 'seni budaya', ]); - } + } } diff --git a/app/Http/Requests/DetailDataJaminanSosialRequest.php b/app/Http/Requests/DetailDataJaminanSosialRequest.php new file mode 100644 index 000000000..860223e6c --- /dev/null +++ b/app/Http/Requests/DetailDataJaminanSosialRequest.php @@ -0,0 +1,23 @@ + 'nullable|string', + 'filter' => 'nullable|array', + 'filter.tipe' => 'nullable|string', + 'filter.nilai' => 'nullable|string', + ]; + } +} \ No newline at end of file diff --git a/app/Http/Requests/DetailDataKesehatanRequest.php b/app/Http/Requests/DetailDataKesehatanRequest.php new file mode 100644 index 000000000..9b32c3036 --- /dev/null +++ b/app/Http/Requests/DetailDataKesehatanRequest.php @@ -0,0 +1,24 @@ + 'nullable|string', + 'filter' => 'nullable|array', + 'filter.tipe' => 'nullable|string', + 'filter.nilai' => 'nullable|string', + 'tipe' => 'nullable|string', + ]; + } +} \ No newline at end of file diff --git a/app/Http/Requests/DetailDataPresisiAktivitasKeagamaanRequest.php b/app/Http/Requests/DetailDataPresisiAktivitasKeagamaanRequest.php new file mode 100644 index 000000000..5acdb7974 --- /dev/null +++ b/app/Http/Requests/DetailDataPresisiAktivitasKeagamaanRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules(): array + { + return [ + 'judul' => 'nullable|string|max:255', + 'filter' => 'nullable|array', + 'filter.tipe' => 'required_with:filter|string|in:agama_id,frekwensi_mengikuti_kegiatan_setahun', + 'filter.nilai' => 'required_with:filter|string', + ]; + } +} diff --git a/app/Http/Requests/DetailDataPresisiKetenagakerjaanRequest.php b/app/Http/Requests/DetailDataPresisiKetenagakerjaanRequest.php new file mode 100644 index 000000000..8a0b2b411 --- /dev/null +++ b/app/Http/Requests/DetailDataPresisiKetenagakerjaanRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules(): array + { + return [ + 'judul' => 'nullable|string|max:255', + 'filter' => 'nullable|array', + 'filter.tipe' => 'nullable|string', + 'filter.nilai' => 'nullable|string', + ]; + } +} diff --git a/app/Http/Requests/DetailDataPresisiPendidikanRequest.php b/app/Http/Requests/DetailDataPresisiPendidikanRequest.php new file mode 100644 index 000000000..a7215c1bf --- /dev/null +++ b/app/Http/Requests/DetailDataPresisiPendidikanRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules(): array + { + return [ + 'judul' => 'nullable|string|max:255', + 'filter' => 'nullable|array', + 'filter.tipe' => 'required_with:filter|string', + 'filter.nilai' => 'required_with:filter|string', + ]; + } +} diff --git a/app/Http/Requests/DetailDataPresisiSeniBudayaRequest.php b/app/Http/Requests/DetailDataPresisiSeniBudayaRequest.php new file mode 100644 index 000000000..0e3862521 --- /dev/null +++ b/app/Http/Requests/DetailDataPresisiSeniBudayaRequest.php @@ -0,0 +1,37 @@ +|string> + */ + public function rules(): array + { + return [ + 'judul' => 'nullable|string', + 'filter' => 'nullable|array', + 'filter.tipe' => 'nullable|string', + 'filter.nilai' => 'nullable|string', + ]; + } +} diff --git a/app/Policies/CustomCSPPolicy.php b/app/Policies/CustomCSPPolicy.php index 3ae84611f..2408ef287 100644 --- a/app/Policies/CustomCSPPolicy.php +++ b/app/Policies/CustomCSPPolicy.php @@ -24,7 +24,7 @@ public function configure() $this->addDirective(Directive::IMG, ['blob:']) ->addDirective(Directive::STYLE, ['unsafe-inline']); } - $this->addDirective(Directive::IMG, ['data:', 'https://tile.openstreetmap.org/']) + $this->addDirective(Directive::IMG, [Keyword::SELF, 'data:', 'https://tile.openstreetmap.org/']) ->addDirective(Directive::STYLE, [ // 'unsafe-inline', 'https://fonts.googleapis.com/', @@ -58,6 +58,10 @@ public function configure() Keyword::NONE, ])->addDirective(Directive::BASE, [ Keyword::SELF, + ])->addDirective(Directive::FRAME, [ + 'self', + 'https://www.youtube.com', + 'http://www.youtube.com' ]); } diff --git a/catatan_rilis.md b/catatan_rilis.md index 1a4fbd502..62ce8c611 100644 --- a/catatan_rilis.md +++ b/catatan_rilis.md @@ -1,33 +1,32 @@ -Di rilis ini, versi 2604.0.1 berisi penambahan dan perbaikan yang diminta pengguna. +Di rilis ini, versi 2605.0.1 berisi penambahan dan perbaikan yang diminta pengguna. #### Penambahan Fitur -1. [#946](https://github.com/OpenSID/OpenKab/issues/946) Penambahan filter tahun pada statistik papan & sandang data presisi. -2. [#948](https://github.com/OpenSID/OpenKab/issues/948) Penambahan filter tahun pada statistik seni budaya & pendidikan data presisi. -3. [#952](https://github.com/OpenSID/OpenKab/issues/952) Penambahan filter tahun pada statistik Aktivitas Keagamaan, ketenagakerjaan dan adat data presisi. -4. [#942](https://github.com/OpenSID/OpenKab/issues/942) Penambahan fitur menampilkan artikel OpenSID di halaman publik. -5. [#372](https://github.com/OpenSID/API-Database-Gabungan/issues/372) Penambahan judul dan kategori ketika hapus artikel. -6. [#988](https://github.com/OpenSID/OpenKab/issues/988) Sesuaikan sort di datapresisi pangan. -7. [#995](https://github.com/OpenSID/OpenKab/issues/995) Penambahan fitur untuk laporan keaktifan desa melalui beberapa acuan. -1. [#372](https://github.com/OpenSID/API-Database-Gabungan/issues/372) Penambahan judul dan kategori ketika hapus artikel. +1. [#997](https://github.com/OpenSID/OpenKab/issues/997) Buat Halaman Detail Pangan di Statistik Presisi +2. [#1003](https://github.com/OpenSID/OpenKab/issues/1003) Buat Halaman Detail Sandang di Statistik Presisi +3. [#1004](https://github.com/OpenSID/OpenKab/issues/1004) Buat Halaman Detail Papan di Statistik Presisi +4. [#1002](https://github.com/OpenSID/OpenKab/issues/1002) Buat Halaman Detail Pendidikan di Statistik Presisi +5. [#1001](https://github.com/OpenSID/OpenKab/issues/1001) Buat Halaman Detail Ketenagakerjaan di Statistik Presisi +6. [#1000](https://github.com/OpenSID/OpenKab/issues/1000) Buat Halaman Detail Keagamaan di Statistik Presisi +7. [#999](https://github.com/OpenSID/OpenKab/issues/999) Buat Halaman Detail Jaminan Sosial di Statistik Presisi +8. [#998](https://github.com/OpenSID/OpenKab/issues/998) Buat Halaman Detail Kesehatan di Statistik Presisi +9. [#1005](https://github.com/OpenSID/OpenKab/issues/1005) Buat Halaman Detail Seni di Statistik Presisi +10. [#1021](https://github.com/OpenSID/OpenKab/issues/1021) Ubah field isi artikel menjadi rich editor +11. [#1025](https://github.com/OpenSID/OpenKab/issues/1025) Arahkan/Infokan pembuatan kategori artikel ketika kategori kosong saat membuat artikel opensid +12. [#1031](https://github.com/OpenSID/OpenKab/issues/1031) Arahkan/Infokan pembuatan kategori artikel ketika kategori kosong saat membuat artikel di pengaturan web -> artikel +13. [#1041](https://github.com/OpenSID/OpenKab/issues/1041) Tambahkan fungsi global untuk debounce search datatable -#### Perbaikan BUG -1. [#954](https://github.com/OpenSID/OpenKab/issues/954) Perbaikan list menu tidak tampil. -2. [#369](https://github.com/OpenSID/API-Database-Gabungan/issues/369) Perbaikan cache artikel tidak dihapus setelah operasi hapus. -3. [#1015](https://github.com/OpenSID/OpenKab/issues/1015) Batasi opsi kabupaten berdasarkan pengaturan yang ada di API satu data. +#### Perbaikan BUG +1. [#1023](https://github.com/OpenSID/OpenKab/issues/1023) Percobaan login gagal terkadang error 500 +2. [#1026](https://github.com/OpenSID/OpenKab/issues/1026) Perbaikan fungsi insert media dan gambar pada tinymce artikel +3. [#1032](https://github.com/OpenSID/OpenKab/issues/1032) Perbaikan Tombol enter refresh halaman di kategori artikel opensid +4. [#1037](https://github.com/OpenSID/OpenKab/issues/1037) Perbaikan Gambar desa aktif pada halaman website openkab masih statis +5. [#1039](https://github.com/OpenSID/OpenKab/issues/1039) Perbaikan Tampilan halaman web ketika belum ditambahkan gambar slider tidak tampil dengan baik #### Perubahan Teknis -1. [#943](https://github.com/OpenSID/OpenKab/issues/943) N+1 Query problem pada manajemen user. -2. [#969](https://github.com/OpenSID/OpenKab/issues/969) Terapkan CAPTCHA pada Login & Endpoint Auth untuk Batasi Bot/Bruteforce. -3. [#962](https://github.com/OpenSID/OpenKab/issues/962) Pencegahan Kerentanan XSS (Cross-Site Scripting). -4. [#966](https://github.com/OpenSID/OpenKab/issues/966) Prevent IDOR (Insecure Direct Object Reference) pada Endpoint Berbasis ID. -5. [#968](https://github.com/OpenSID/OpenKab/issues/968) Jadikan Content Security Policy (CSP) Selalu Aktif, Tidak Boleh Auto-Disable Walau di Debug/Dev. -6. [#963](https://github.com/OpenSID/OpenKab/issues/963) Enforce Strong Password Policy di Seluruh Fitur (Change/Reset/Registration). -7. [#996](https://github.com/OpenSID/OpenKab/issues/996) Perbaikan parameter identitas OpenKab agar API hanya mengembalikan data sesuai dengan Kabupaten yang bersangkutan -1. [#369](https://github.com/OpenSID/API-Database-Gabungan/issues/369) Perbaikan cache artikel tidak dihapus setelah operasi hapus. #### Perubahan Teknis diff --git a/composer.json b/composer.json index ce932c50c..2f1303c6a 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,7 @@ "laravel/tinker": "^2.8", "laravel/ui": "^4.2", "league/flysystem-ftp": "^3.10", + "mews/captcha": "^3.3", "mews/purifier": "^3.4", "openspout/openspout": "^4.24", "proengsoft/laravel-jsvalidation": "^4.8", diff --git a/composer.lock b/composer.lock index 57f53cc7c..b94addd3d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e6c80fb59e61ffc48245d30a50a22485", + "content-hash": "e57d82cdf838e45b87bad3ade52b1f6c", "packages": [ { "name": "akaunting/laravel-apexcharts", @@ -3816,6 +3816,79 @@ }, "time": "2024-11-14T23:14:52+00:00" }, + { + "name": "mews/captcha", + "version": "3.3.3", + "source": { + "type": "git", + "url": "https://github.com/mewebstudio/captcha.git", + "reference": "e996a9a5638296de3e9dac41782dbdcf3d14ce11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mewebstudio/captcha/zipball/e996a9a5638296de3e9dac41782dbdcf3d14ce11", + "reference": "e996a9a5638296de3e9dac41782dbdcf3d14ce11", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "illuminate/config": "~5|^6|^7|^8|^9|^10|^11", + "illuminate/filesystem": "~5|^6|^7|^8|^9|^10|^11", + "illuminate/hashing": "~5|^6|^7|^8|^9|^10|^11", + "illuminate/session": "~5|^6|^7|^8|^9|^10|^11", + "illuminate/support": "~5|^6|^7|^8|^9|^10|^11", + "intervention/image": "~2.5", + "php": "^7.2|^8.1|^8.2|^8.3" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^8.5|^9.5.10|^10.5" + }, + "type": "package", + "extra": { + "laravel": { + "aliases": { + "Captcha": "Mews\\Captcha\\Facades\\Captcha" + }, + "providers": [ + "Mews\\Captcha\\CaptchaServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Mews\\Captcha\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Muharrem ERİN", + "email": "me@mewebstudio.com", + "homepage": "https://github.com/mewebstudio", + "role": "Developer" + } + ], + "description": "Laravel 5/6/7/8/9/10/11 Captcha Package", + "homepage": "https://github.com/mewebstudio/captcha", + "keywords": [ + "captcha", + "laravel5 Security", + "laravel6 Captcha", + "laravel6 Security" + ], + "support": { + "issues": "https://github.com/mewebstudio/captcha/issues", + "source": "https://github.com/mewebstudio/captcha/tree/3.3.3" + }, + "time": "2024-03-20T16:15:48+00:00" + }, { "name": "mews/purifier", "version": "3.4.3", @@ -12493,12 +12566,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.1" }, - "platform-dev": [], - "plugin-api-version": "2.6.0" + "platform-dev": {}, + "plugin-api-version": "2.9.0" } diff --git a/config/file-manager.php b/config/file-manager.php index 66e7919d3..882715ec9 100644 --- a/config/file-manager.php +++ b/config/file-manager.php @@ -83,14 +83,14 @@ * * null - no restrictions */ - 'maxUploadFileSize' => 1024, + 'maxUploadFileSize' => 5120, // 5 MB /** * File upload - Allow these file types * * [] - no restrictions */ - 'allowFileTypes' => ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp'], + 'allowFileTypes' => ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp','mp4','mkv','mov'], /** * Show / Hide system files and folders diff --git a/config/image_proxy.php b/config/image_proxy.php new file mode 100644 index 000000000..5f58bd569 --- /dev/null +++ b/config/image_proxy.php @@ -0,0 +1,12 @@ + 1024 * 1024 * 5, // 5MB + + 'default_timeout' => 10, + + 'cache_ttl' => 3600, + + 'enabled' => env('IMAGE_PROXY_ENABLED', true), +]; \ No newline at end of file diff --git a/config/purifier.php b/config/purifier.php new file mode 100644 index 000000000..08c1861e1 --- /dev/null +++ b/config/purifier.php @@ -0,0 +1,108 @@ +set('Core.Encoding', $this->config->get('purifier.encoding')); + * $config->set('Cache.SerializerPath', $this->config->get('purifier.cachePath')); + * if ( ! $this->config->get('purifier.finalize')) { + * $config->autoFinalize = false; + * } + * $config->loadArray($this->getConfig()); + * + * You must NOT delete the default settings + * anything in settings should be compacted with params that needed to instance HTMLPurifier_Config. + * + * @link http://htmlpurifier.org/live/configdoc/plain.html + */ + +return [ + 'encoding' => 'UTF-8', + 'finalize' => true, + 'ignoreNonStrings' => false, + 'cachePath' => storage_path('app/purifier'), + 'cacheFileMode' => 0755, + 'settings' => [ + 'default' => [ + 'HTML.Doctype' => 'HTML 4.01 Transitional', + 'HTML.Allowed' => 'div,b,strong,i,em,u,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src],video[src|type|width|height|poster|preload|controls],source[src|type],iframe[src|width|height|frameborder|allowfullscreen]', + 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', + 'AutoFormat.AutoParagraph' => true, + 'AutoFormat.RemoveEmpty' => false, + 'HTML.SafeIframe' => 'true', + 'URI.SafeIframeRegexp' => '%^(http://|https://|//)(www.youtube.com/embed/|www.youtube.com/watch|vimeo.com/|player.vimeo.com/video/|youtu.be/|www.facebook.com/plugins/video/|www.instagram.com/p/|platform.twitter.com/embed/)%', + ], + 'test' => [ + 'Attr.EnableID' => 'true', + ], + "youtube" => [ + "HTML.SafeIframe" => 'true', + "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/)%", + ], + 'custom_definition' => [ + 'id' => 'html5-definitions', + 'rev' => 1, + 'debug' => false, + 'elements' => [ + // http://developers.whatwg.org/sections.html + ['section', 'Block', 'Flow', 'Common'], + ['nav', 'Block', 'Flow', 'Common'], + ['article', 'Block', 'Flow', 'Common'], + ['aside', 'Block', 'Flow', 'Common'], + ['header', 'Block', 'Flow', 'Common'], + ['footer', 'Block', 'Flow', 'Common'], + + // Content model actually excludes several tags, not modelled here + ['address', 'Block', 'Flow', 'Common'], + ['hgroup', 'Block', 'Required: h1 | h2 | h3 | h4 | h5 | h6', 'Common'], + + // http://developers.whatwg.org/grouping-content.html + ['figure', 'Block', 'Optional: (figcaption, Flow) | (Flow, figcaption) | Flow', 'Common'], + ['figcaption', 'Inline', 'Flow', 'Common'], + + // http://developers.whatwg.org/the-video-element.html#the-video-element + ['video', 'Block', 'Optional: (source, Flow) | (Flow, source) | Flow', 'Common', [ + 'src' => 'URI', + 'type' => 'Text', + 'width' => 'Length', + 'height' => 'Length', + 'poster' => 'URI', + 'preload' => 'Enum#auto,metadata,none', + 'controls' => 'Bool', + ]], + ['source', 'Block', 'Empty', 'Common', [ + 'src' => 'URI', + 'type' => 'Text', + ]], + + // http://developers.whatwg.org/text-level-semantics.html + ['s', 'Inline', 'Inline', 'Common'], + ['var', 'Inline', 'Inline', 'Common'], + ['sub', 'Inline', 'Inline', 'Common'], + ['sup', 'Inline', 'Inline', 'Common'], + ['mark', 'Inline', 'Inline', 'Common'], + ['wbr', 'Inline', 'Empty', 'Core'], + + // http://developers.whatwg.org/edits.html + ['ins', 'Block', 'Flow', 'Common', ['cite' => 'URI', 'datetime' => 'CDATA']], + ['del', 'Block', 'Flow', 'Common', ['cite' => 'URI', 'datetime' => 'CDATA']], + ], + 'attributes' => [ + ['iframe', 'allowfullscreen', 'Bool'], + ['table', 'height', 'Text'], + ['td', 'border', 'Text'], + ['th', 'border', 'Text'], + ['tr', 'width', 'Text'], + ['tr', 'height', 'Text'], + ['tr', 'border', 'Text'], + ], + ], + 'custom_attributes' => [ + ['a', 'target', 'Enum#_blank,_self,_target,_top'], + ], + 'custom_elements' => [ + ['u', 'Inline', 'Inline', 'Common'], + ], + ], + +]; diff --git a/package-lock.json b/package-lock.json index 4b96b736e..c23cf6378 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "select2": "^4.1.0-rc.0", "select2-bootstrap4-theme": "^1.0.0", "sweetalert2": "^11.7.27", - "tinymce": "^6.7.0" + "tinymce": "^8.5.0" }, "devDependencies": { "@playwright/test": "^1.54.1", @@ -4212,10 +4212,10 @@ "dev": true }, "node_modules/tinymce": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.8.6.tgz", - "integrity": "sha512-++XYEs8lKWvZxDCjrr8Baiw7KiikraZ5JkLMg6EdnUVNKJui0IsrAADj5MsyUeFkcEryfn2jd3p09H7REvewyg==", - "license": "MIT" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-8.5.0.tgz", + "integrity": "sha512-DnKEfPNQnOJc8Ca1roZBs/GSbkAZyIIbC4p8eHZyZQi85OSAXtiVNYMaRxo4mzsGKpa0sA4/Us4KXQkX8q7w2A==", + "license": "SEE LICENSE IN license.md" }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -7735,9 +7735,9 @@ "dev": true }, "tinymce": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-6.8.6.tgz", - "integrity": "sha512-++XYEs8lKWvZxDCjrr8Baiw7KiikraZ5JkLMg6EdnUVNKJui0IsrAADj5MsyUeFkcEryfn2jd3p09H7REvewyg==" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-8.5.0.tgz", + "integrity": "sha512-DnKEfPNQnOJc8Ca1roZBs/GSbkAZyIIbC4p8eHZyZQi85OSAXtiVNYMaRxo4mzsGKpa0sA4/Us4KXQkX8q7w2A==" }, "to-regex-range": { "version": "5.0.1", diff --git a/package.json b/package.json index a6db148d2..f6c2b4985 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,6 @@ "select2": "^4.1.0-rc.0", "select2-bootstrap4-theme": "^1.0.0", "sweetalert2": "^11.7.27", - "tinymce": "^6.7.0" + "tinymce": "^8.5.0" } } diff --git a/public/build/assets/tinymce-049ecb70.css b/public/build/assets/tinymce-049ecb70.css new file mode 100644 index 000000000..caefbc3eb --- /dev/null +++ b/public/build/assets/tinymce-049ecb70.css @@ -0,0 +1 @@ +.tox{box-shadow:none;box-sizing:content-box;cursor:auto;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}@keyframes tox-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tox-bouncing-dots{0%,to,80%{transform:scale(0)}40%{transform:scale(1)}}.tox{color:var(--tox-private-color-black,#222f3e);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);font-size:var(--tox-private-font-size-base, 16px)}.tox-tinymce{border:2px solid #eee;border-radius:10px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#fff;border:2px solid #eee;border-radius:10px;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);z-index:var(--tox-private-z-index-sink,1300)}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#fff;border-bottom:none;box-shadow:0 2px 2px -2px #222f3e1a,0 8px 8px -4px #222f3e12;padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #e3e3e3;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#fff;box-shadow:0 2px 2px -2px #222f3e33,0 8px 8px -4px #222f3e26;padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 2px 2px -2px #222f3e33,0 8px 8px -4px #222f3e26}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox #accessibility-issue__subheader{font-size:16px;color:#222f3e}.tox .accessbility-sr-only{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.tox .accessibility-issue__description{align-items:stretch;border-radius:6px;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox #accessibility-issue__contentID{margin-top:8px;margin-bottom:8px}.tox #accessibility-issue__contentID span:first-child{font-weight:700}.tox #accessibility-issue__document{padding-bottom:8px}.tox .accessibility-issue__repair{margin-top:8px}.tox .accessibility-issue__repair .tox-form__group .tox-form__group--error{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#e6f0fd;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{font-size:14px;color:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon.accessibility-issue__icon svg{fill:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#006ce7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#0060ce}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#0054b4}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#fffae6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{font-size:14px;color:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon.accessibility-issue__icon svg{fill:#7a6e25}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#fae6e6;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{font-size:14px;color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon.accessibility-issue__icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:#78ab461a;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#527530}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon.accessibility-issue__icon svg{fill:#527530}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .mce-codemirror{background:#fff;bottom:0;font-size:13px;left:0;position:absolute;right:0;top:0;z-index:1}.tox .mce-codemirror.tox-inline-codemirror{margin:8px;position:absolute}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#eee;border-radius:10px;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-accordion{display:flex;flex-direction:column;gap:var(--tox-private-pad-sm,8px)}.tox .tox-accordion__item{background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e);border-radius:var(--tox-private-control-border-radius,6px);position:relative}.tox .tox-accordion__item.tox-accordion__item--expanded{background-color:var(--tox-private-background-secondary,#f0f0f0)}.tox .tox-accordion__item.tox-accordion__item--expanded .tox-accordion__content--expanded .tox-accordion__content-inner{padding-top:0}.tox .tox-accordion__item:after{border-radius:var(--tox-private-control-border-radius,6px);box-shadow:0 0 0 var(--tox-private-keyboard-focus-outline-width,2px) var(--tox-private-keyboard-focus-outline-color,#006ce7);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute}@media (forced-colors:active){.tox .tox-accordion__item:after{border:2px solid highlight}}.tox .tox-accordion__item:focus{outline:0;z-index:1}.tox .tox-accordion__item:focus:after{opacity:1}.tox .tox-accordion__heading{margin:0;width:100%}.tox .tox-accordion__heading:focus{outline:0}.tox .tox-accordion__header{align-items:center;border:none;border-radius:var(--tox-private-control-border-radius,6px);box-sizing:border-box;color:var(--tox-private-text-color,#222f3e);cursor:pointer;display:flex;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);font-size:var(--tox-private-font-size-md, 16px);font-weight:var(--tox-private-font-weight-bold,bold);line-height:var(--tox-private-line-height-base, 1.3);outline:0;padding:calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px));text-align:left;width:100%}.tox .tox-accordion__header:after{border-radius:var(--tox-private-control-border-radius,6px);bottom:0;box-shadow:0 0 0 var(--tox-private-keyboard-focus-outline-width,2px) var(--tox-private-keyboard-focus-outline-color,#006ce7);content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-accordion__header:after{border:2px solid highlight}}.tox .tox-accordion__header:hover:not(.tox-accordion__header--disabled){background-color:var(--tox-private-background-secondary,#f0f0f0)}.tox .tox-accordion__header:focus:not(.tox-accordion__header--disabled){position:relative;z-index:1}.tox .tox-accordion__header:focus:not(.tox-accordion__header--disabled):after{opacity:1}.tox .tox-accordion__header.tox-accordion__header--disabled{cursor:not-allowed;opacity:.5}.tox .tox-accordion__header.tox-accordion__header--icon-end{padding-right:calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px))}.tox .tox-accordion__header-icon{align-items:center;color:var(--tox-private-text-color,#222f3e);display:flex;flex-shrink:0;height:calc(var(--tox-private-base-value,16px) * 1.5);justify-content:center;width:calc(var(--tox-private-base-value,16px) * 1.5)}.tox .tox-accordion__header-icon svg{display:block;fill:currentColor;height:100%;width:100%;max-height:calc(var(--tox-private-base-value,16px) * 1.5);max-width:calc(var(--tox-private-base-value,16px) * 1.5)}.tox .tox-accordion__header:not(.tox-accordion__header--icon-end) .tox-accordion__header-icon{margin-right:var(--tox-private-pad-sm,8px);margin-left:0}.tox .tox-accordion__header--icon-end .tox-accordion__header-icon{margin-left:auto}.tox .tox-accordion__header-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-accordion__header--icon-end .tox-accordion__header-text{flex:0 1 auto;margin-right:var(--tox-private-pad-sm,8px)}.tox .tox-accordion__content{border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-accordion__content.tox-accordion__content--collapsed{display:none}.tox .tox-accordion__content.tox-accordion__content--expanded{display:block}.tox .tox-accordion__content-inner{padding:var(--tox-private-pad-sm,8px) calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px)) calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px))}.tox .tox-accordion__content-inner .tox-form__group:last-child{margin-bottom:0}.tox .tox-accordion__content-inner .tox-form__group>:not(:first-child){margin-top:calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px))}.tox .tox-accordion__content-inner .tox-form__group>.tox-dropdown-content{margin-top:0}.tox .tox-accordion__content-inner .tox-button-group{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-accordion__content-inner .tox-accordion__model-button{border-radius:var(--tox-private-control-border-radius,6px);align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:var(--tox-private-pad-xs,4px);margin:0;outline:0;padding:6px calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px));position:relative}.tox .tox-accordion__content-inner .tox-accordion__model-button:after{border-radius:var(--tox-private-control-border-radius,6px);bottom:0;box-shadow:0 0 0 var(--tox-private-keyboard-focus-outline-width,2px) var(--tox-private-keyboard-focus-outline-color,#006ce7);content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-accordion__content-inner .tox-accordion__model-button:after{border:2px solid highlight}}.tox .tox-accordion__content-inner .tox-accordion__model-button:focus{z-index:1}.tox .tox-accordion__content-inner .tox-accordion__model-button:focus:after{opacity:1}.tox .tox-accordion .tox-selectfield{align-items:center;background-color:var(--tox-private-background-color,#fff);border:1px solid var(--tox-private-border-color,#eee);border-radius:var(--tox-private-control-border-radius,6px);box-sizing:border-box;display:flex;height:34px;padding:0 6px;position:relative;width:100%}.tox .tox-accordion .tox-selectfield:focus-within{box-shadow:0 0 0 var(--tox-private-keyboard-focus-outline-width,2px) var(--tox-private-keyboard-focus-outline-color,#006ce7);z-index:1}@media (forced-colors:active){.tox .tox-accordion .tox-selectfield:focus-within{border-color:highlight;box-shadow:0 0 0 2px highlight}}.tox .tox-accordion .tox-selectfield button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;color:inherit;cursor:pointer;flex:1;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;outline:0;padding:5px 0;text-align:left}.tox .tox-accordion .tox-selectfield .tox-icon{display:flex;flex-shrink:0;padding:9px 0;pointer-events:none}.tox .tox-accordion .tox-selectfield .tox-icon svg{height:var(--tox-private-base-value,16px);width:var(--tox-private-base-value,16px)}.tox[dir=rtl] .tox-accordion__header{text-align:right}.tox[dir=rtl] .tox-accordion__header:not(.tox-accordion__header--icon-end) .tox-accordion__header-icon{margin-left:var(--tox-private-pad-sm,8px);margin-right:0}.tox[dir=rtl] .tox-accordion__header--icon-end .tox-accordion__header-icon{margin-right:auto;margin-left:0}.tox[dir=rtl] .tox-accordion__header--icon-end .tox-accordion__header-text{margin-left:var(--tox-private-pad-sm,8px);margin-right:0}.tox .tox-alert{align-items:flex-start;align-self:stretch;border-radius:var(--tox-private-panel-border-radius,6px);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--tox-private-text-color,#222f3e);display:flex;font-size:var(--tox-private-font-size-sm, 14px);font-weight:var(--tox-private-font-weight-normal,normal);gap:var(--tox-private-pad-xs,4px);line-height:var(--tox-private-line-height-base, 1.3);padding:var(--tox-private-pad-xs,4px) var(--tox-private-pad-sm,8px);width:100%}.tox .tox-alert--error{background:linear-gradient(0deg,rgba(from var(--tox-private-background-color,#fff) r g b / .8) 0,rgba(from var(--tox-private-background-color,#fff) r g b / .8) 100%),var(--tox-private-color-error,#c00);border-color:var(--tox-private-color-error,#c00)}.tox .tox-alert--warning{background:linear-gradient(0deg,rgba(from var(--tox-private-background-color,#fff) r g b / .8) 0,rgba(from var(--tox-private-background-color,#fff) r g b / .8) 100%),var(--tox-private-color-warning,#fc0);border-color:var(--tox-private-color-warning,#fc0)}.tox .tox-alert__body{display:flex;flex:1 0 0;flex-direction:column;min-width:0}.tox .tox-alert__content{align-items:center;display:flex;flex:1 0 0;gap:var(--tox-private-pad-sm,8px);padding:var(--tox-private-pad-sm,8px) 0}.tox .tox-alert__message{margin:0;text-align:left}.tox .tox-alert__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--tox-private-pad-xs,4px);justify-content:flex-start}.tox .tox-anchorbar,.tox .tox-bottom-anchorbar,.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{border-width:var(--tox-private-button-border-width,1px);border-style:var(--tox-private-button-border-style,solid);border-radius:var(--tox-private-control-border-radius,6px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);font-size:var(--tox-private-button-font-size, 14px);font-style:var(--tox-private-button-font-style,normal);font-weight:var(--tox-private-button-font-weight,bold);line-height:var(--tox-private-control-line-height, 24px);padding:var(--tox-private-button-padding-y,4px) var(--tox-private-button-padding-x,16px);text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;box-sizing:border-box;cursor:pointer;outline:0;position:relative;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:var(--tox-private-pad-xs,4px)}.tox .tox-button:before{border-radius:var(--tox-private-control-border-radius,6px);bottom:calc(-1 * var(--tox-private-button-border-width,1px));box-shadow:var(--tox-private-button-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #006ce7);content:"";left:calc(-1 * var(--tox-private-button-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-button-border-width,1px));top:calc(-1 * var(--tox-private-button-border-width,1px))}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-focus-background-color,#0060ce);background-image:none;border-color:var(--tox-private-button-focus-border-color,#0060ce);box-shadow:var(--tox-private-button-focus-box-shadow,none);color:var(--tox-private-button-focus-text-color,#fff)}.tox .tox-button:focus:not(:disabled):before{opacity:1}.tox .tox-button.tox-button--icon,.tox .tox-button:has(.tox-icon:only-child){padding:4px}.tox .tox-button .tox-icon svg{display:block;fill:currentColor}.tox .tox-button .tox-icon.tox-icon--success svg{fill:var(--tox-private-color-success,#78AB46)}.tox .tox-button .tox-icon.tox-icon--error svg{fill:var(--tox-private-color-error,#c00)}.tox .tox-button--stretch{width:100%}.tox-context-form__group .tox-button--icon,.tox-context-form__group .tox-button.tox-button--icon{margin:6px 1px 5px 0;padding:0}.tox .tox-button{background-color:var(--tox-private-button-primary-background-color,#006ce7);background-image:none;background-position:0 0;background-repeat:repeat;color:var(--tox-private-button-primary-text-color,#fff);border-color:var(--tox-private-button-primary-border-color,#006ce7)}.tox .tox-button[disabled]{background-color:var(--tox-private-button-primary-disabled-background-color,#006ce7);background-image:none;border-color:var(--tox-private-button-primary-disabled-border-color,#006ce7);color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:var(--tox-private-button-primary-focus-background-color,#0060ce);border-color:var(--tox-private-button-primary-focus-border-color,#0060ce);color:var(--tox-private-button-primary-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:hover:not(:disabled){background-color:var(--tox-private-button-primary-hover-background-color,#0060ce);border-color:var(--tox-private-button-primary-hover-border-color,#0060ce);color:var(--tox-private-button-primary-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button:active:not(:disabled){background-color:var(--tox-private-button-primary-active-background-color,#0054b4);border-color:var(--tox-private-button-primary-active-border-color,#0054b4);color:var(--tox-private-button-primary-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled{background-color:var(--tox-private-button-primary-enabled-background-color,#0054b4);border-color:var(--tox-private-button-primary-enabled-border-color,#0054b4);color:var(--tox-private-button-primary-enabled-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled[disabled]{color:var(--tox-private-button-primary-disabled-text-color,rgba(255,255,255,.5));cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-primary-enabled-focus-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-focus-border-color,#00489b);color:var(--tox-private-button-primary-enabled-focus-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-primary-enabled-hover-background-color,#00489b);border-color:var(--tox-private-button-primary-enabled-hover-border-color,#00489b);color:var(--tox-private-button-primary-enabled-hover-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-primary-enabled-active-background-color,#003c81);border-color:var(--tox-private-button-primary-enabled-active-border-color,#003c81);color:var(--tox-private-button-primary-enabled-active-text-color,#fff);background-image:none;box-shadow:none}.tox .tox-button--secondary{background-color:var(--tox-private-button-secondary-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-border-color,#f0f0f0);color:var(--tox-private-button-secondary-text-color,#222f3e);border-style:solid;border-width:1px;background-image:none;background-position:0 0;background-repeat:repeat;border-radius:6px;box-shadow:none;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;-webkit-text-decoration:none;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:var(--tox-private-button-secondary-disabled-background-color,#f0f0f0);background-image:none;border-color:var(--tox-private-button-secondary-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary:focus:not(:disabled){background-color:var(--tox-private-button-secondary-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:hover:not(:disabled){background-color:var(--tox-private-button-secondary-hover-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary:active:not(:disabled){background-color:var(--tox-private-button-secondary-active-background-color,#d6d6d6);border-color:var(--tox-private-button-secondary-active-border-color,#d6d6d6);color:var(--tox-private-button-secondary-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled{background-color:var(--tox-private-button-secondary-enabled-background-color,#a6ccf7);border-color:var(--tox-private-button-secondary-enabled-border-color,#a6ccf7);color:var(--tox-private-button-secondary-enabled-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled[disabled]{color:var(--tox-private-button-secondary-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-focus-background-color,#8ebef4);border-color:var(--tox-private-button-secondary-enabled-focus-border-color,#8ebef4);color:var(--tox-private-button-secondary-enabled-focus-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-hover-background-color,#8ebef4);border-color:var(--tox-private-button-secondary-enabled-hover-border-color,#8ebef4);color:var(--tox-private-button-secondary-enabled-hover-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-secondary-enabled-active-background-color,#77b1f2);border-color:var(--tox-private-button-secondary-enabled-active-border-color,#77b1f2);color:var(--tox-private-button-secondary-enabled-active-text-color,#222f3e);background-image:none;box-shadow:none}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:var(--tox-private-button-naked-text-color,#222f3e)}.tox .tox-button--naked[disabled]{background-color:transparent;border-color:transparent;color:var(--tox-private-button-naked-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--naked:focus:not(:disabled){background-color:var(--tox-private-button-naked-focus-background-color,rgba(34,47,62,.12));border-color:var(--tox-private-button-naked-focus-border-color,transparent);color:var(--tox-private-button-naked-focus-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked:hover:not(:disabled){background-color:var(--tox-private-button-naked-hover-background-color,rgba(34,47,62,.12));border-color:var(--tox-private-button-naked-hover-background-color,transparent);color:var(--tox-private-button-naked-hover-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked:active:not(:disabled){background-color:var(--tox-private-button-naked-active-background-color,rgba(34,47,62,.18));border-color:var(--tox-private-button-naked-active-border-color,transparent);color:var(--tox-private-button-naked-active-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked.tox-button--enabled{background-color:var(--tox-private-button-naked-enabled-background-color,#a8c8ed);border-color:var(--tox-private-button-naked-enabled-border-color,#a8c8ed);color:var(--tox-private-button-naked-enabled-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked.tox-button--enabled[disabled]{color:var(--tox-private-button-naked-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-button--naked.tox-button--enabled:focus:not(:disabled){background-color:var(--tox-private-button-naked-enabled-focus-background-color,#93bbe9);border-color:var(--tox-private-button-naked-enabled-focus-border-color,#93bbe9);color:var(--tox-private-button-naked-enabled-focus-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked.tox-button--enabled:hover:not(:disabled){background-color:var(--tox-private-button-naked-enabled-hover-background-color,#93bbe9);border-color:var(--tox-private-button-naked-enabled-hover-border-color,#93bbe9);color:var(--tox-private-button-naked-enabled-hover-text-color,#222f3e);box-shadow:unset}.tox .tox-button--naked.tox-button--enabled:active:not(:disabled){background-color:var(--tox-private-button-naked-enabled-active-background-color,#7daee4);border-color:var(--tox-private-button-naked-enabled-active-border-color,#7daee4);color:var(--tox-private-button-naked-enabled-active-text-color,#222f3e);box-shadow:unset}.tox .tox-button--secondary--outline{background-color:transparent;border-color:var(--tox-private-button-secondary-outline-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-text-color,#222f3e)}.tox .tox-button--secondary--outline:focus:not(:disabled){background-color:var(--tox-private-button-secondary-outline-focus-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-focus-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-focus-text-color,#222f3e)}.tox .tox-button--secondary--outline:hover:not(:disabled){background-color:var(--tox-private-button-secondary-outline-hover-background-color,#f0f0f0);border-color:var(--tox-private-button-secondary-outline-hover-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-hover-text-color,#222f3e)}.tox .tox-button--secondary--outline:active:not(:disabled){background-color:var(--tox-private-button-secondary-outline-active-background-color,#e3e3e3);border-color:var(--tox-private-button-secondary-outline-active-border-color,#e3e3e3);color:var(--tox-private-button-secondary-outline-active-text-color,#222f3e)}.tox .tox-button--secondary--outline[disabled]{background-color:var(--tox-private-button-secondary-outline-disabled-background-color,transparent);border-color:var(--tox-private-button-secondary-outline-disabled-border-color,#f0f0f0);color:var(--tox-private-button-secondary-outline-disabled-text-color,rgba(34,47,62,.5))}.tox .tox-checkbox{align-items:center;border-radius:var(--tox-private-checkbox-border-radius,6px);cursor:pointer;display:flex;height:var(--tox-private-control-height,36px);min-width:var(--tox-private-control-height,36px)}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{display:flex;align-items:center;justify-content:center;box-sizing:content-box;padding:var(--tox-private-pad-xs,3px);border-radius:var(--tox-private-checkbox-border-radius,6px);box-shadow:0 0 0 2px transparent;height:var(--tox-private-control-line-height,24px);aspect-ratio:1}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:var(--tox-private-checkbox-unselected-color,rgba(34,47,62,.3))}@media (forced-colors:active){.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:currentColor!important}}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:var(--tox-private-checkbox-indeterminate-color,#006ce7)}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:var(--tox-private-checkbox-selected-color,#006ce7)}.tox .tox-checkbox--disabled{color:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5));cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5))}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:var(--tox-private-checkbox-disabled-text-color,rgba(34,47,62,.5))}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{box-shadow:var(--tox-private-checkbox-focus-box-shadow,inset 0 0 0 1px #006ce7)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:var(--tox-private-pad-xs,4px)}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__label{margin-right:var(--tox-private-pad-xs,4px)}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:var(--tox-private-pad-xs,4px)}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#e3e3e3;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0;display:flex;flex-direction:column}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#fcfcfc;color:#222f3eb3;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#222f3e;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-image-selector-menu .tox-collection__item,.tox .tox-image-selector-menu .tox-collection__item-image-selector{flex-direction:column}.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item .tox-collection__item-image,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-checkmark,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-icon,.tox .tox-image-selector-menu .tox-collection__item-image-selector .tox-collection__item-image{flex-grow:1}.tox .tox-image-selector-menu .tox-collection__item label,.tox .tox-image-selector-menu .tox-collection__item-image-selector label{width:48px;white-space:nowrap;overflow:hidden;font-size:12px;color:#222f3e;text-align:center;align-self:flex-end}.tox .tox-image-selector-menu .tox-collection__item-checkmark{height:24px;width:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tox .tox-image-selector-menu .tox-collection__item-checkmark svg path{fill:#006ce7;stroke:#006ce7}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#fff}.tox .tox-image-selector-menu .tox-image-selector__row .tox-collection__item-image-selector.tox-collection__item--enabled:not(.tox-collection__item--state-disabled){z-index:2;background-color:#fff;opacity:.8;background-clip:content-box}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item,.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#006ce7;color:#fff}@media (forced-colors:active){.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){border:solid 1px}}.tox .tox-collection--grid .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#f0f0f0;color:#222f3e;position:relative;z-index:1}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7 inset;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus:after{border:2px solid highlight}}.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){background-color:#a6ccf7;color:#222f3e}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--enabled:not(.tox-collection__item--state-disabled){border-radius:3px;outline:solid 1px}}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e;background-color:#fff;position:relative}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{background-color:#f0f0f0;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus{background-color:#f0f0f0;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):focus:after{border:2px solid highlight}}@media (forced-colors:active){.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled):hover{border-radius:3px;outline:solid 1px}}.tox .tox-collection__item-image{border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;justify-content:center;margin-bottom:4px;position:relative}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:currentColor;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret:after{content:"";font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:currentColor}.tox .tox-collection__item--state-disabled{background-color:transparent;color:#222f3e80;cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:#222f3e80}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #e3e3e3;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:28px;margin:6px 1px 5px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid transparent}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid transparent}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}@media (forced-colors:active){.tox .tox-hue-slider,.tox .tox-rgb-form .tox-rgba-preview{background-color:currentColor!important;border:1px solid highlight!important;forced-color-adjust:none}}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{min-width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important;box-shadow:0 0 0 1px red}.tox .tox-rgb-container{position:relative}.tox .tox-rgb-form .tox-invalid-icon{align-content:center;align-items:center;display:none;height:100%;position:absolute;right:0;top:0}.tox .tox-rgb-form .tox-invalid-icon .tox-control-wrap__status-icon-invalid{margin:0}.tox .tox-rgb-warning-note{background-color:#f5cccc;border:1px solid #f0b3b3;border-radius:3px;color:#77181f;padding:3px}.tox input.tox-invalid+.tox-invalid-icon{display:flex}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette,.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:5px 0 6px 11px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px}.tox .tox-swatches__row{display:flex}@media (forced-colors:active){.tox .tox-swatches__row{forced-color-adjust:none}}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px #7f7f7f4d inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#f0f0f0}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#222f3e;height:24px;margin:3px;width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment{background:#fff;border:1px solid #fff;border-radius:6px;padding:8px 8px 16px;position:relative}.tox .tox-comment:hover{box-shadow:0 4px 8px #222f3e1a}.tox .tox-comment.tox-comment--selected{background-color:#fff2c9;border:1px solid #ffcf30;box-shadow:0 4px 8px #222f3e1a}.tox .tox-comment.tox-comment--selected:focus{border:2px solid #006ce7;margin:-1px}.tox .tox-comment.tox-comment--selected:focus:not(:first-child){margin-top:7px}.tox .tox-comment.tox-comment--selected .tox-comment__single{margin-bottom:12px}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus{position:relative}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:after{top:-9px;pointer-events:none;position:absolute;content:"";display:block;bottom:-9px;left:-9px;right:-9px;border-radius:6px;border:2px solid #006ce7}.tox .tox-comment.tox-comment--selected .tox-comment__single:focus:last-of-type:has(textarea):after{bottom:-29px}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#222f3e;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial;transition:max-height .5s cubic-bezier(0,1,0,1);white-space:pre-wrap}.tox .tox-comment__body.tox-comment__body--expanded{max-height:100em;transition:max-height 1s ease-in-out}.tox .tox-comment__body.tox-comment__body--pending{transition:max-height 0s}.tox .tox-comment__body p{margin:0}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%;font-size:16px}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:#222f3eb3;font-size:14px;font-style:normal}.tox .tox-comment__expander p:focus{font-weight:700}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-tbtn.tox-comment__mention-btn{display:flex;width:34px;height:34px;padding:5px;justify-content:center;align-items:center;margin:0;background-color:transparent}.tox .tox-comment-thread{background:#fff;position:relative;border-radius:6px;background-color:transparent}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment-thread__overlay:after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__gradient:after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto;padding:12px;scroll-behavior:smooth}.tox .tox-comment__scroll:has(textarea:focus){scroll-behavior:auto}.tox .tox-comment--disappearing{transition:opacity .5s ease}.tox .tox-comment[data-transitioning-destination=deleting]{opacity:0}.tox .tox-ring-loader{width:10px;height:10px;border:1px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:tox-rotation 1s linear infinite}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:#222f3eb3}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#222f3e;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:#ffffffbf;bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#eee;border-radius:10px;border-style:solid;border-width:0;box-shadow:0 16px 16px -10px #222f3e26,0 0 40px 1px #222f3e26;display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 16px);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:#222f3eb3;display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;-webkit-text-decoration:none;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:#006ce71a}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #144782;color:#144782}@media (forced-colors:active){.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid highlight;color:highlight}}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#144782;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#071729;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #144782;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:none;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:#ffffffbf;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #626262}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered:before{border:1px solid #eee;border-radius:6px;content:"";top:0;right:0;bottom:0;left:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered iframe{border-radius:6px}.tox .tox-navobj-bordered-focus.tox-navobj-bordered:before{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}.tox .tox-dropdown-content{box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;position:fixed;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;overflow:auto;height:fit-content;width:fit-content;border-radius:var(--tox-private-panel-border-radius,6px);background-color:var(--tox-private-background-color,#fff);max-height:50vh}.tox .tox-dropdown-content .tox-menu{width:100%;box-shadow:none}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #eee;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:#222f3eb3;margin:0 0 16px}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area:before{border:2px solid #006ce7;border-radius:4px;content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}@media (forced-colors:active){.tox .tox-edit-area:before{border:2px solid highlight}}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area:before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #eee}.tox .tox-expandable-box{border-radius:6px;border:1px solid var(--tox-private-border-color,#eee);display:flex;flex-direction:column;justify-content:stretch;gap:var(--tox-private-pad-sm,8px);padding:var(--tox-private-pad-sm,8px) var(--tox-private-pad-md,16px)}.tox .tox-expandable-box__content{overflow:auto}.tox .tox-expandable-box__content--overflowing{position:relative;overflow:hidden}.tox .tox-expandable-box__content--overflowing:after{content:"";position:absolute;bottom:0;left:0;right:0;height:min(100px,100%);pointer-events:none;background:linear-gradient(to bottom,transparent 50%,var(--tox-private-background-color,#fff))}.tox .tox-expandable-box__content--expanded{max-height:fit-content}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-custom-preview{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;flex:1;padding:8px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:#222f08;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}@media (forced-colors:active){.tox .tox-color-input span{border-color:currentColor;border-width:2px!important;forced-color-adjust:none}}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#006ce7;cursor:pointer}.tox .tox-color-input span:before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:6px;box-sizing:border-box;content:"";height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}@media (forced-colors:active){.tox .tox-color-input span:before{border:none}}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:#222f3eb3;display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - 4px)}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - 4px)}.tox .tox-form__controls-h-stack,.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-context-form__group .tox-button--icon.tox-lock-context-form-size-input{margin-left:8px;margin-right:8px}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled],.tox .tox-toolbar-textfield[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-focusable-wrapper:focus,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus,.tox .tox-toolbar-textfield:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-toolbar-textfield{max-width:250px;min-height:unset;height:28px;margin:5px 0 6px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#006ce7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox .tox-textfield-size{width:80px}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}@media (forced-colors:active){.tox .tox-listbox__select-chevron svg{fill:currentColor!important}}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 1px #006ce7;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-selectfield select option:checked{background-color:revert;color:revert}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-image-selector-loading-spinner-wrapper{display:flex;justify-content:center;align-items:center}.tox .tox-image-selector-loading-spinner{position:absolute;width:min(24px,30%);aspect-ratio:1;border-radius:50%;border:3px solid #006ce7;border-bottom-color:transparent;animation:tox-rotation 1s linear infinite}.tox .tox-toolbar .tox-image-selector,.tox .tox-toolbar__overflow .tox-image-selector,.tox .tox-toolbar__primary .tox-image-selector{margin:5px 0 6px 11px}.tox .tox-image-selector-menu{border:0;border-radius:3px;margin:-4px;padding:4px}.tox .tox-image-selector-menu .tox-collection--list .tox-collection__group{border:0;padding:0;margin:-4px}.tox .tox-image-selector-menu .tox-collection__item{max-width:48px}.tox .tox-image-selector-menu .tox-collection__item-icon{border:1px solid #eee;border-radius:3px;margin-bottom:4px;width:100%}.tox .tox-image-selector-menu .tox-collection__item-icon svg path{stroke:#c00}.tox .tox-image-selector__row{display:flex}.tox .tox-image-selector--remove{align-items:center;display:flex;justify-content:center}.tox .tox-image-selector--remove svg path{stroke:#c00}.tox .tox-image-selector-image-wrapper{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.tox .tox-image-selector-image-img{max-width:100%;max-height:100%}.tox .tox-image-selector__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-image-selector__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-image-selector__picker-btn:hover{background:#f0f0f0}.tox .tox-context-toolbar{position:absolute;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;z-index:1150;background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e);border:1px solid #e3e3e3;border-radius:6px;box-shadow:0 2px 8px #00000014;padding:8px}.tox .tox-context-toolbar[popover]{inset:auto;margin:0}.tox .tox-context-toolbar .tox-toolbar{display:flex;flex-wrap:nowrap;gap:8px}.tox .tox-context-toolbar .tox-toolbar__group{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:8px;align-items:center;padding:0}.tox .tox-insert-table-picker{background-color:#fff;display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#eee;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:#006ce7;border-color:#eee}@media (forced-colors:active){.tox .tox-insert-table-picker .tox-insert-table-picker__selected{border-color:Highlight;filter:contrast(50%)}}.tox .tox-insert-table-picker__label{color:#222f3eb3;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox-mentions__card-common{z-index:1200}.tox.tox-mentions__card{background:#fff;border:1px solid #eee;display:flex;padding:4px 8px}.tox.tox-mentions__card .tox-mentions__container{display:flex;flex-direction:column;align-self:center;margin:0 4px}.tox .tox-mentions__avatar{width:42px;height:42px;border-radius:50%;margin-right:4px}.tox .tox-mentions__username{font-size:14px;line-height:21px;color:#222f3e}.tox .tox-mentions__description{font-size:12px;line-height:21px;color:#222f3eb3}.tox .tox-collection__item--active .tox-mentions__description,.tox .tox-collection__item--active .tox-mentions__username{color:inherit}.tox .tox-menu{background-color:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 4px}.tox .tox-menu.tox-collection.tox-collection--toolbar,.tox .tox-menu.tox-collection.tox-collection--grid{padding:8px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 11px 0 12px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:5px 1px 6px 0;outline:0;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:#fff;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#fff;border:0;box-shadow:none;color:#222f3e;position:relative;z-index:1}.tox .tox-mbtn:focus:not(:disabled):after{pointer-events:none;border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-mbtn:focus:not(:disabled):after{border:2px solid highlight}}.tox .tox-mbtn--active,.tox .tox-mbtn:not(:disabled).tox-mbtn--active:focus{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-left:auto;margin-right:auto;margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity .15s ease-in;width:max-content}.tox .tox-notification a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification:focus{border-color:#006ce7;box-shadow:0 0 0 1px #006ce7}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#517342}.tox .tox-notification--success a:focus,.tox .tox-notification--success a:hover{color:#24321d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success a:focus-visible{border-radius:1px;outline:2px solid #517342;outline-offset:2px}.tox .tox-notification--success a:active{color:#0d120a;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f5cccc;border-color:#f0b3b3;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#77181f}.tox .tox-notification--error a:focus,.tox .tox-notification--error a:hover{color:#220709;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error a:focus-visible{border-radius:1px;outline:2px solid #77181f;outline-offset:2px}.tox .tox-notification--error a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fff5cc;border-color:#fff0b3;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#7a6e25}.tox .tox-notification--warn a:focus,.tox .tox-notification--warn a:hover,.tox .tox-notification--warning a:focus,.tox .tox-notification--warning a:hover{color:#2c280d;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn a:focus-visible,.tox .tox-notification--warning a:focus-visible{border-radius:1px;outline:2px solid #7a6e25;outline-offset:2px}.tox .tox-notification--warn a:active,.tox .tox-notification--warning a:active{color:#050502;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d6e7fb;border-color:#c1dbf9;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#2a64a6}.tox .tox-notification--info a:focus,.tox .tox-notification--info a:hover{color:#163355;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info a:focus-visible{border-radius:1px;outline:2px solid #2a64a6;outline-offset:2px}.tox .tox-notification--info a:active{color:#0b1a2c;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{align-self:center;color:#222f3e;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-notification-container-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-notification-container-dock-fadein{opacity:1;visibility:visible}.tox .tox-notification-container-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-notification-container-dock-transition.tox-notification-container-dock-fadein{transition-delay:0s}.tox .tox-onboarding-overlay{height:100%;background-color:#f0f0f0;position:absolute;top:0;left:0;right:0;z-index:1302;overflow:auto;display:grid;justify-content:center;align-items:center}.tox .tox-onboarding-dialog{max-width:512px;background-color:#fff;display:flex;flex-direction:column;box-shadow:0 16px 16px -10px #222f3e26,0 0 40px 1px #222f3e26;border-radius:12px;margin:8px}.tox .tox-onboarding-dialog .tox-onboarding-header{color:#222f3e;display:flex;justify-content:center;align-items:center;font-size:20px;margin:24px 0 8px}.tox .tox-onboarding-dialog .tox-onboarding-step{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center;margin:0 24px}.tox .tox-onboarding-dialog .tox-onboarding-step:not(:last-child){border-bottom:1px solid #e3e3e3}.tox .tox-onboarding-dialog .tox-onboarding-step--number{width:24px;aspect-ratio:1;border-radius:50%;border:1px solid #00ad0e;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;color:#00ad0e}.tox .tox-onboarding-dialog .tox-onboarding-step--body{padding:24px 0 24px 16px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-onboarding-dialog .tox-onboarding-step--body-details{color:#222f3eb3;font-size:14px}.tox .tox-onboarding-dialog .tox-onboarding-step--action{padding-left:24px}.tox .tox-onboarding-dialog .tox-onboarding-footer{background-color:#f0f0f0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.tox .tox-onboarding-dialog .tox-onboarding-footer p{display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;color:#222f3eb3}.tox .tox-onboarding-dialog svg{width:24px;fill:#222f3eb3}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin{display:grid;align-items:center;grid-template-columns:min-content 1fr min-content;border-bottom:1px solid #e3e3e3;padding:24px 0;margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body{margin:0 16px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-header{color:#222f3e;font-size:14px;font-weight:700;margin-bottom:4px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--body .tox-promotion-dialog-plugin-details{color:#222f3eb3;font-size:14px}.tox .tox-promotion-dialog .tox-promotion-dialog-plugin--icon{display:grid;place-content:center;width:56px;height:56px;line-height:24px;font-size:24px;border-radius:12px;background:linear-gradient(180deg,#fff 24%,#f0f0f0 100%);box-shadow:0 1px 1px #222f3e12,0 3px 6px #222f3e06;color:#006ce7}.tox .tox-promotion-dialog--subtitle{margin:16px;color:#222f3eb3;font-size:14px}.tox .tox-promotion-dialog--explore{text-align:center;margin:16px;color:#222f3eb3;font-size:14px}.tox .tox-promotion-dialog--explore a{color:#006ce7}.tox .tox-promotion-dialog--footer{background-color:#f0f0f0;color:#222f3eb3;font-size:12px;text-align:center;padding:16px}.tox .tox-promotion-button{display:flex;align-items:center;height:26.6px;line-height:26.6px;font-size:14px;font-weight:700;background-color:#f1ebf9;color:#851aff;padding:8px 16px;cursor:pointer;white-space:nowrap;border-radius:5px}.tox .tox-promotion-button:focus{outline:1px solid #851AFF}.tox .tox-onboarding-dialog a,.tox .tox-promotion-dialog--footer a{color:#222f3eb3;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus,.tox .tox-onboarding-dialog a:hover,.tox .tox-promotion-dialog--footer a:focus,.tox .tox-promotion-dialog--footer a:hover{color:#071729;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-onboarding-dialog a:focus-visible,.tox .tox-promotion-dialog--footer a:focus-visible{border-radius:1px;outline:2px solid #144782;outline-offset:2px}.tox .tox-onboarding-dialog a:active,.tox .tox-promotion-dialog--footer a:active{color:#000;-webkit-text-decoration:underline;text-decoration:underline}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition:after,.tox .tox-pop--transition:before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop:after,.tox .tox-pop:before{border-style:solid;content:"";display:block;height:0;opacity:1;position:absolute;width:0}@media (forced-colors:active){.tox .tox-pop:after,.tox .tox-pop:before{content:none}}.tox .tox-pop.tox-pop--inset:after,.tox .tox-pop.tox-pop--inset:before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom:after,.tox .tox-pop.tox-pop--bottom:before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom:after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom:before{border-color:#eee transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top:after,.tox .tox-pop.tox-pop--top:before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top:after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top:before{border-color:transparent transparent #eee transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left:after,.tox .tox-pop.tox-pop--left:before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left:after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left:before{border-color:transparent #eee transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right:after,.tox .tox-pop.tox-pop--right:before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right:after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right:before{border-color:transparent transparent transparent #eee;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left:after,.tox .tox-pop.tox-pop--align-left:before{left:20px}.tox .tox-pop.tox-pop--align-right:after,.tox .tox-pop.tox-pop--align-right:before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:var(--tox-private-sidebar-background-color,#f0f0f0);display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container,.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-sidebar-content{display:flex;flex-direction:column;position:relative;height:100%;min-width:300px;max-width:300px;width:300px;border-left:1px solid var(--tox-private-separator-color,#e3e3e3)}.tox .tox-sidebar-content--wide{min-width:440px;max-width:440px;width:440px}.tox .tox-sidebar-content__header{align-items:center;display:flex;justify-content:space-between;border-bottom:var(--tox-private-tinymceai-border-width,1px) solid var(--tox-private-neutral-20,#e3e3e3);padding:var(--tox-private-pad-sm,8px) 12px;background:var(--tox-private-background-color,#fff);z-index:1}.tox .tox-sidebar-content__header .tox-sidebar-content__header-close-button{margin-left:auto}.tox .tox-sidebar-content__title{font-size:var(--tox-private-font-size-lg, 20px);font-weight:var(--tox-private-font-weight-normal,normal);padding:var(--tox-private-pad-sm,8px) 0 var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);line-height:28px}.tox .tox-floating-sidebar{--tox-private-floating-sidebar-width:min(380px, 90vw);--tox-private-floating-sidebar-height:80vh;position:fixed;z-index:var(--tox-private-z-index-floatingsidebar,1050);box-shadow:var(--tox-private-floating-sidebar-box-shadow,0 0 40px 1px rgba(34,47,62,.15),0 16px 16px -10px rgba(34,47,62,.15));width:var(--tox-private-floating-sidebar-width);height:var(--tox-private-floating-sidebar-height);background-color:var(--tox-private-floating-sidebar-background-color,#f0f0f0);border-radius:var(--tox-private-panel-border-radius,6px);overflow:hidden}.tox .tox-floating-sidebar:not(.tox .tox-floating-sidebar--open){display:none}.tox .tox-floating-sidebar--open{display:block}.tox .tox-floating-sidebar__content-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.tox .tox-floating-sidebar__header{position:relative}.tox .tox-floating-sidebar .tox-ai__scroll:has(.tox-card-list){background-color:inherit}.tox .tox-ai .tox-expandable-box{padding:var(--tox-private-pad-sm,8px) calc(var(--tox-private-pad-md,16px) * .75)}.tox .tox-ai .tox-expandable-box:focus-visible:not(:disabled){outline:2px solid var(--tox-private-color-tint,#006ce7);outline-offset:var(--tox-private-tinymceai-border-width,1px);box-shadow:0 0 0 1px var(--tox-private-color-white,#fff);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-sidebar-content__header{border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-background-color,#fff);padding:calc(var(--tox-private-pad-sm,8px) - var(--tox-private-tinymceai-focus-border-width,2px)) calc(12px - var(--tox-private-tinymceai-focus-border-width,2px));border-bottom:1px solid var(--tox-private-separator-color,#e3e3e3)}.tox .tox-ai .tox-sidebar-content__header:focus-visible:not(:disabled){border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-color-tint,#006ce7);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-sidebar-content__loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%;z-index:1000}.tox .tox-ai .tox-sidebar-content__title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-right:auto}.tox .tox-ai .tox-sidebar-content__title:focus-visible:not(:disabled){outline:2px solid var(--tox-private-color-tint,#006ce7);outline-offset:var(--tox-private-tinymceai-border-width,1px);box-shadow:0 0 0 1px var(--tox-private-color-white,#fff);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-sidebar-content__actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-sidebar-content__actions .tox-ai__complete-review{display:flex;align-items:center;gap:6px;padding-top:var(--tox-private-pad-xs,4px);padding-bottom:var(--tox-private-pad-xs,4px);padding-left:var(--tox-private-pad-md,16px);padding-right:var(--tox-private-pad-md,16px)}.tox .tox-ai .tox-sidebar-content__actions .tox-ai__review-menu-separator{border-bottom:1px solid #e3e3e3;height:0;margin:4px 0}.tox .tox-ai .tox-ai__user-prompt{display:flex;flex-direction:column;margin-left:auto;gap:inherit;width:100%}.tox .tox-ai .tox-ai__user-prompt__context{margin-left:auto;display:flex;flex-direction:column;gap:inherit;align-items:end;width:100%}.tox .tox-ai .tox-ai__user-prompt__context .tox-tag{max-width:100%}.tox .tox-ai .tox-ai__user-prompt__text{background-color:var(--tox-private-background-secondary,#f0f0f0);padding:var(--tox-private-pad-sm,8px) calc(var(--tox-private-pad-md,16px) * .75);border-radius:var(--tox-private-control-border-radius,6px);max-width:80%;align-self:flex-end;color:var(--tox-private-text-color,#222f3e)}.tox .tox-ai .tox-ai__user-prompt__text:focus-visible:not(:disabled){outline:2px solid var(--tox-private-color-tint,#006ce7);outline-offset:var(--tox-private-tinymceai-border-width,1px);box-shadow:0 0 0 1px var(--tox-private-color-white,#fff);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-ai__scroll{overflow-y:auto;overflow-x:hidden;background-color:var(--tox-private-background-color,#fff);display:flex;padding:calc(12px - var(--tox-private-tinymceai-focus-border-width,2px));flex-direction:column;align-items:flex-start;gap:12px;flex:1 0 0;align-self:stretch;border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-background-color,#fff)}.tox .tox-ai .tox-ai__scroll:focus-visible:not(:disabled){border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-color-tint,#006ce7);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-ai__scroll--review{border:none}.tox .tox-ai .tox-ai__scroll--review:not(:has(.tox-sidebar-content__message-text)){background-color:var(--tox-private-background-secondary,#f0f0f0)}.tox .tox-ai .tox-ai__spinner svg{fill:var(--tox-private-color-tint,#006ce7)}.tox .tox-ai .tox-ai__response{width:100%;min-width:100%;max-width:100%}.tox .tox-ai .tox-ai__response__header{display:flex;align-items:center;gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai__response__header .tox-icon svg{fill:var(--tox-private-color-tint,#006ce7)}.tox .tox-ai .tox-ai__response-status{display:flex;color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));font-size:var(--tox-private-font-size-sm, 14px);gap:var(--tox-private-pad-xs,4px);line-height:var(--tox-private-tinymceai-response-status-icon-height, max(24px, 18px));padding-top:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai__response-status svg{fill:var(--tox-private-text-color-muted,rgba(34,47,62,.7))}.tox .tox-ai .tox-ai__response-status-icon{border-radius:999px;border:1px solid var(--tox-private-neutral-20,#e3e3e3);background-color:var(--tox-private-background-color,#fff);height:var(--tox-private-tinymceai-response-status-icon-height,max(24px,18px));flex:0 0 24px;display:flex;align-items:center;justify-content:center}.tox .tox-ai .tox-ai__response-status-icon .tox-icon{display:contents}.tox .tox-ai :nth-child(2of.tox-ai__response-status-icon){margin-left:calc((var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px)) * -1)}.tox .tox-ai .tox-ai__icon{display:flex;align-items:center;justify-content:center}.tox .tox-ai .tox-ai__response-sources{display:flex;flex-direction:column;gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai__response-sources-header{display:block}.tox .tox-ai .tox-ai__response-sources-list{display:flex;align-items:center;gap:var(--tox-private-pad-sm,8px);align-self:stretch;flex-wrap:wrap}.tox .tox-ai .tox-ai__response-sources-list .tox-tag{border:1px solid var(--tox-private-separator-color,#e3e3e3);background-color:transparent;max-width:32%;max-height:24px;cursor:pointer}.tox .tox-ai .tox-ai__response-sources-list .tox-tag img,.tox .tox-ai .tox-ai__response-sources-list .tox-tag svg{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px}.tox .tox-ai .tox-ai__response-content{padding:var(--tox-private-pad-sm,8px) 0;color:var(--tox-private-text-color,#222f3e);font-feature-settings:"liga" off,"clig" off;font-size:var(--tox-private-font-size-sm, 14px);font-style:normal;font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-line-height, 18px)}.tox .tox-ai .tox-ai__response.tox-ai__response-streaming{position:relative}.tox .tox-ai .tox-ai__response.tox-ai__response-streaming .tox-ai__response-status{color:var(--tox-private-text-color,#222f3e);font-size:var(--tox-private-font-size-md, 16px);line-height:calc(var(--tox-private-font-size-md, 16px) + 4px)}.tox .tox-ai .tox-ai__response.tox-ai__response-streaming:after{content:"";position:absolute;bottom:0;left:0;right:0;height:min(100px,100%);pointer-events:none;background:linear-gradient(to bottom,transparent 60px,transparent 60px,var(--tox-private-background-color,#fff))}.tox .tox-ai .tox-ai-error{border-radius:var(--tox-private-panel-border-radius,6px);border:1px solid var(--tox-private-color-error,#c00);background:linear-gradient(0deg,rgba(from var(--tox-private-background-color,#fff) r g b / .9) 0,rgba(from var(--tox-private-background-color,#fff) r g b / .9) 100%),var(--tox-private-color-error,#c00);padding:var(--tox-private-pad-sm,8px);width:100%;display:flex;gap:var(--tox-private-pad-sm,8px);align-items:center}.tox .tox-ai .tox-ai-error__message{flex:1 0 0}.tox .tox-ai .tox-ai-error__icon{flex:0 0 auto;align-self:flex-start}.tox .tox-ai .tox-ai__footer{padding:calc(12px - var(--tox-private-tinymceai-focus-border-width,2px));gap:var(--tox-private-pad-sm,8px);background-color:var(--tox-private-background-color,#fff);display:flex;flex-direction:column;border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-background-color,#fff);border-top:1px solid var(--tox-private-separator-color,#e3e3e3)}.tox .tox-ai .tox-ai__footer:focus-visible:not(:disabled){border:var(--tox-private-tinymceai-focus-border-width,2px) solid var(--tox-private-color-tint,#006ce7);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai .tox-ai__context{display:flex;gap:var(--tox-private-pad-sm,8px);flex-wrap:wrap;max-height:calc((2 * (2 * var(--tox-private-pad-xs,4px) + var(--tox-private-base-value,16px))) + var(--tox-private-pad-sm,8px))}.tox .tox-ai .tox-ai__context .tox-tag{max-width:calc((100% - var(--tox-private-pad-sm,8px))/ 2)}.tox .tox-ai .tox-ai__context-more{display:flex;flex-direction:column;gap:var(--tox-private-pad-sm,8px);padding:var(--tox-private-pad-sm,8px);overflow:auto;max-width:var(--tox-private-tinymceai-context-more-max-width,320px)}.tox .tox-ai .tox-ai__context-more .tox-tag{max-width:100%}.tox .tox-ai .tox-ai__stop-generating{display:flex;align-items:center;gap:6px}.tox .tox-ai .tox-ai__footer-actions{display:flex;gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai-model-selection-button{display:flex;gap:var(--tox-private-pad-xs,4px)}.tox .tox-ai .tox-ai__footer-note{align-items:center;color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));display:flex;font-size:var(--tox-private-font-size-xs, 12px);height:24px;justify-content:center;letter-spacing:0;padding-top:var(--tox-private-pad-sm,8px);width:100%}.tox .tox-ai .tox-ai__models-menu{max-width:350px}.tox .tox-ai .tox-ai__models-menu .tox-menu{max-height:inherit;overflow:auto;padding:var(--tox-private-pad-xs,4px)}.tox .tox-ai .tox-ai__models-menu__item__description{display:flex;flex-direction:column;align-items:start}.tox .tox-ai .tox-ai__models-menu__item__description__title{font-weight:var(--tox-private-font-weight-bold,bold);font-size:var(--tox-private-font-size-sm, 14px);line-height:calc(var(--tox-private-font-size-sm, 14px) * 1.28572);padding-bottom:4px}.tox .tox-ai .tox-ai__models-menu__item__description__content{color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));font-size:var(--tox-private-font-size-xs, 12px);line-height:calc(var(--tox-private-font-size-xs, 12px) * 1.33333)}.tox .tox-ai .tox-collection__item--active:not(.tox-collection__item--state-disabled) .tox-ai__models-menu__item__description__content{color:inherit}.tox .tox-ai .tox-collection__item--active:not(.tox-collection__item--state-disabled) .tox-ai__models-menu__item__description__content .tox-ai__models-menu__item__description__ability{color:var(--tox-private-color-white,#fff)}.tox .tox-ai .tox-collection__item--active:not(.tox-collection__item--state-disabled) .tox-ai__models-menu__item__description__content .tox-ai__models-menu__item__description__content_body{color:rgba(from var(--tox-private-color-white,#fff) r g b / .7)}.tox .tox-ai .tox-ai__models-menu__item__description__ability{color:var(--tox-private-text-color,#222f3e);padding-bottom:4px}.tox .tox-ai .tox-ai__models-menu__item__description__ability__enabled{font-weight:var(--tox-private-font-weight-bold,bold)}.tox .tox-ai .tox-ai-chat-history-list{display:flex;flex-direction:column;gap:var(--tox-private-pad-sm,8px);padding-top:var(--tox-private-pad-xs,4px);width:100%}.tox .tox-ai .tox-ai-chat-history-list .tox-collection__group{gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai-chat-history-list__title{color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));font-size:var(--tox-private-font-size-sm, 14px);font-weight:var(--tox-private-font-weight-bold,bold);line-height:18px;letter-spacing:1px}.tox .tox-ai .tox-ai-chat-history-list__item{display:flex;padding:12px;gap:var(--tox-private-pad-sm,8px);border-radius:var(--tox-private-control-border-radius,6px);cursor:pointer}.tox .tox-ai .tox-ai-chat-history-list__item.tox-ai-chat-history-list__item--active{background-color:var(--tox-private-background-secondary,#f0f0f0)}.tox .tox-ai .tox-ai-chat-history-list__item:focus,.tox .tox-ai .tox-ai-chat-history-list__item:focus-visible{background-color:var(--tox-private-background-secondary,#f0f0f0)}.tox .tox-ai .tox-ai-chat-history-list__item.tox-ai-chat-history-list__item-edit-title{background-color:var(--tox-private-background-secondary,#f0f0f0);flex-direction:column}.tox .tox-ai .tox-ai-chat-history-list__item-edit-actions{display:flex;justify-content:flex-end;width:100%;gap:var(--tox-private-pad-sm,8px)}.tox .tox-ai .tox-ai-chat-history-list__item-edit-actions .tox-ai__spinner svg{fill:rgba(from var(--tox-private-color-white,#fff) r g b / .5)}.tox .tox-ai .tox-ai-chat-history-list__item-content{display:flex;flex-direction:column;margin-right:auto;overflow:hidden}.tox .tox-ai .tox-ai-chat-history-list__item-actions{display:flex;align-items:center;min-width:calc(24px + (var(--tox-private-pad-xs,4px) + 1px)*2)}.tox .tox-ai .tox-ai-chat-history-list__item-content-title{color:var(--tox-private-text-color,#222f3e);font-size:var(--tox-private-font-size-base, 16px);font-weight:var(--tox-private-font-weight-bold,bold);line-height:var(--tox-private-font-size-lg, 20px);overflow:hidden;text-overflow:ellipsis}.tox .tox-ai .tox-ai-chat-history-list__item-content-date{color:var(--tox-private-text-color,#222f3e);font-size:var(--tox-private-font-size-xs, 12px);line-height:var(--tox-private-line-height-base, 1.3)}.tox .tox-ai .tox-sidebar-content__message{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;gap:var(--tox-private-pad-md,16px);width:100%}.tox .tox-ai .tox-sidebar-content__message-text{text-align:center;color:var(--tox-private-text-color,#222f3e);font-size:var(--tox-private-font-size-md, 16px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:20px}.tox .tox-ai .tox-sidebar-content__message-action{display:flex;justify-content:center;align-items:center;align-self:stretch}.tox .tox-ai-removed-content{font-style:italic;font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));line-height:var(--tox-private-line-height-base, 1.3);margin:0 1em}.tox .tox-ai-removed-content:before{content:"⊘ ";font-style:normal;font-size:calc(var(--tox-private-line-height-base, 1.3) * 1em)}.tox .tox-ai-html-content{font-size:var(--tox-private-font-size-md, 16px);font-family:var(--tox-private-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e);line-height:var(--tox-private-line-height-base, 1.3);overflow-x:auto}.tox .tox-ai-html-content:focus-visible:not(:disabled){outline:2px solid var(--tox-private-color-tint,#006ce7);outline-offset:var(--tox-private-tinymceai-html-content-border-width,1px);box-shadow:0 0 0 1px var(--tox-private-color-white,#fff);border-radius:var(--tox-private-control-border-radius,6px)}.tox .tox-ai-html-content h1{font-size:1.6em;font-weight:var(--tox-private-font-weight-bold,bold);margin:.67em 0}.tox .tox-ai-html-content h2{font-size:1.4em;font-weight:var(--tox-private-font-weight-bold,bold);margin:.83em 0}.tox .tox-ai-html-content h3{font-size:1.2em;font-weight:var(--tox-private-font-weight-bold,bold);margin:1em 0}.tox .tox-ai-html-content h4,.tox .tox-ai-html-content h5,.tox .tox-ai-html-content h6{font-size:1em;font-weight:var(--tox-private-font-weight-bold,bold);margin:.33em 0}.tox .tox-ai-html-content p{margin:var(--tox-private-pad-sm,8px) 0}.tox .tox-ai-html-content ol,.tox .tox-ai-html-content ul{padding-left:2em;margin:1em 0}.tox .tox-ai-html-content li:has(input:first-child){list-style-type:none}.tox .tox-ai-html-content a{color:var(--tox-private-color-tint,#006ce7);-webkit-text-decoration:underline;text-decoration:underline;cursor:pointer}.tox .tox-ai-html-content a:link:active,.tox .tox-ai-html-content a:visited:active{color:#8864ad}.tox .tox-ai-html-content blockquote{border-left:2px solid var(--tox-private-separator-color,#e3e3e3);margin-left:1.5rem;padding-left:1rem;font-style:italic}.tox .tox-ai-html-content code{font-family:ui-monospace,monospace;background:var(--tox-private-separator-color,#e3e3e3);padding:.1em .2em;border-radius:4px}.tox .tox-ai-html-content pre code{display:block;font-family:ui-monospace,monospace;background:var(--tox-private-separator-color,#e3e3e3);border-radius:4px;white-space:pre-wrap;margin:1em 0;overflow-wrap:break-word}.tox .tox-ai-html-content hr{border:none;border-top:1px solid var(--tox-private-border-color,#eee)}.tox .tox-ai-html-content table{width:100%;border-collapse:collapse;margin:.5em 0;font-size:.95em;line-height:1.45}.tox .tox-ai-html-content table:not([cellpadding]) td,.tox .tox-ai-html-content table:not([cellpadding]) th{padding:.4rem}.tox .tox-ai-html-content td,.tox .tox-ai-html-content th{border:1px solid var(--tox-private-border-color,#eee)}.tox .tox-ai-html-content th{font-weight:var(--tox-private-font-weight-bold,bold);text-align:left;white-space:nowrap}.tox .tox-ai-html-content b,.tox .tox-ai-html-content strong{font-weight:var(--tox-private-font-weight-bold,bold)}.tox .tox-ai-html-content em,.tox .tox-ai-html-content i{font-style:italic}.tox .tox-ai-html-content del{-webkit-text-decoration:line-through;text-decoration:line-through}.tox .tox-ai-html-content sub,.tox .tox-ai-html-content sup{font-size:.75em;line-height:0;vertical-align:baseline}.tox .tox-ai-html-content sup{vertical-align:super}.tox .tox-ai-html-content sub{vertical-align:sub}.tox .tox-ai-html-content mark{background:hsl(from var(--tox-private-color-active,#ffcf30) h s l / 30%);padding:.05em .2em;border-radius:2px}.tox .tox-ai-html-content small{font-size:.85em}.tox .tox-ai-html-content kbd{font-family:ui-monospace,monospace;font-size:.85em;padding:.15em .4em;border-radius:4px;border:1px solid var(--tox-private-border-color,#eee);background:var(--tox-private-separator-color,#e3e3e3);box-shadow:inset 0 -1px 0 var(--tox-private-border-color,#eee)}.tox .tox-ai-html-content img{max-width:100%;height:auto;vertical-align:middle;border-radius:4px}.tox .tox-expandable-box__content .tox-ai-html-content+.tox-ai-html-content:before,.tox .tox-expandable-box__content .tox-ai-html-content:has(+.tox-ai-removed-content):after,.tox .tox-expandable-box__content .tox-ai-removed-content+.tox-ai-html-content:before{content:"〰〰";color:var(--tox-private-text-color-muted,rgba(34,47,62,.7));text-align:center;width:100%;display:block}.tox .tox-ai__preview-host{width:100%;height:100%;position:relative}.tox .tox-ai__preview-host .tox-ai__preview-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.tox .tox-ai__preview-host .tox-ai__preview-frame-wrap{position:relative;flex:1 1 auto;min-height:0}.tox .tox-ai__preview-host .tox-ai__preview-frame-wrap .tox-ai__iframe{background-color:#fff;border:0;width:100%;height:100%;min-height:0;position:relative}.tox .tox-ai__preview-host .tox-ai__preview-footer{flex:0 0 auto;background:var(--tox-private-background-color,#fff);border-top:1px solid #e3e3e3}.tox .tox-ai__preview-host .tox-ai__preview-footer .tox-ai__preview-footer-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px}.tox .tox-ai__preview-host:empty{pointer-events:none}.tox .tox-ai__preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tox .tox-ai__preview-overlay--hidden{visibility:hidden}.tox .tox-ai__preview-overlay--pass-through{pointer-events:none}.tox .tox-ai__preview-overlay--dim{background:rgba(34,47,62,.2)}.tox .tox-ai__preview-overlay--centered{display:flex;align-items:center;justify-content:center}.tox .tox-ai__preview-overlay--clipped{overflow:clip}.tox .tox-tinymceai-previewloader{display:flex;align-items:center;gap:var(--tox-private-pad-md,16px);padding:var(--tox-private-pad-sm,8px);border-radius:var(--tox-private-panel-border-radius,6px);box-shadow:var(--tox-private-ai-preview-loader-box-shadow,0 0 40px 1px rgba(34,47,62,.15),0 16px 16px -10px rgba(34,47,62,.15));background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e);pointer-events:auto}.tox .tox-tinymceai-previewloader__content{display:flex;align-items:center;justify-content:center;padding:0 var(--tox-private-pad-xs,4px);gap:var(--tox-private-pad-sm,8px)}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-skeleton .tox-skeleton__line{height:16px;width:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}.tox .tox-skeleton .tox-skeleton__circle{height:36px;width:36px;margin-right:8px;border-radius:100%;background:linear-gradient(to right,rgba(240,240,240,.5) 8%,rgba(240,240,240,.7) 18%,rgba(240,240,240,.5) 33%);animation:wave 2s infinite ease-out}@keyframes wave{0%{background-position:-268px 0}to{background-position:268px 0}}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #eee;border-radius:6px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#006ce7;border:2px solid #0054b4;border-radius:6px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-toolbar-slider{align-items:center;display:inline-flex;height:16px}.tox .tox-toolbar-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eee;border-radius:16px;width:130px;height:2px}.tox .tox-toolbar-slider__input::-webkit-slider-runnable-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-moz-range-track{background-color:transparent;height:16px}.tox .tox-toolbar-slider__input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#006ce7;border-radius:16px;border:none;height:16px;width:16px}.tox .tox-toolbar-slider__input:focus-visible{outline:0}.tox .tox-toolbar-slider__input:focus::-webkit-slider-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:focus::-moz-range-thumb{background-color:#0060ce;box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #006ce7}.tox .tox-toolbar-slider__input:hover::-webkit-slider-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:hover::-moz-range-thumb{background-color:#0060ce}.tox .tox-toolbar-slider__input:active::-webkit-slider-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input:active::-moz-range-thumb{background-color:#0054b4}.tox .tox-toolbar-slider__input[disabled]::-webkit-slider-thumb{background-color:#ffffff80}.tox .tox-toolbar-slider__input[disabled]::-moz-range-thumb{background-color:#ffffff80}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:#222f3eb3;border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:first-child{animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,to,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-ai__spinner{--tox-private-spinner-color:var(--tox-private-color-tint, #006ce7);--tox-private-spinner-size:24px;--tox-private-spinner-circle-width:3px;--tox-private-spinner-dot-size:6px;width:var(--tox-private-spinner-size);aspect-ratio:1}.tox .tox-ai__spinner--small{--tox-private-spinner-size:16px;--tox-private-spinner-circle-width:2px;--tox-private-spinner-dot-size:4px}.tox .tox-ai__spinner--circle{animation:tox-rotation 1s linear infinite;border-radius:50%;background:conic-gradient(var(--tox-private-spinner-color) 0 330deg,transparent 330deg 100%);mask:radial-gradient(calc((var(--tox-private-spinner-size) - var(--tox-private-spinner-circle-width) * 2)/ 2),#0000 98%,#000)}.tox .tox-ai__spinner--dots{display:flex;align-items:center;justify-content:center;gap:1px}.tox .tox-ai__spinner--dots>div{animation:tox-bouncing-dots 1.5s ease-in-out 0s infinite both;aspect-ratio:1;width:var(--tox-private-spinner-dot-size);background-color:var(--tox-private-spinner-color);border-radius:100%}.tox .tox-ai__spinner--dots>div:first-child{animation-delay:-.32s}.tox .tox-ai__spinner--dots>div:nth-child(2){animation-delay:-.16s}.tox .tox-tinymceai__annotation--added,.tox .tox-tinymceai__annotation--modified,.tox .tox-tinymceai__annotation--removed{padding-block:calc((1lh - 1.1em)/2);-webkit-text-decoration:none;text-decoration:none;background-repeat:no-repeat;text-decoration-thickness:max(1px,.07em)}.tox .tox-tinymceai__annotation--added__highlight{background-position:bottom;background-image:linear-gradient(rgba(120,171,70,.2) calc(100% - 2px),#78ab46 calc(100% - 2px))}.tox .tox-tinymceai__annotation--added__selected{background-image:none;background-color:#78ab4633;box-shadow:0 2px #006ce7,0 -2px #006ce7}.tox .tox-tinymceai__annotation--modified__highlight{background-position:bottom;background-image:linear-gradient(rgba(0,108,231,.2) calc(100% - 2px),#006ce7 calc(100% - 2px))}.tox .tox-tinymceai__annotation--modified__selected{background-image:none;background-color:#006ce733;box-shadow:0 2px #006ce7,0 -2px #006ce7}.tox .tox-tinymceai__annotation--removed__highlight{-webkit-text-decoration:line-through;text-decoration:line-through;background-position:bottom;background-image:linear-gradient(rgba(204,0,0,.2) calc(100% - 2px),#c00 calc(100% - 2px))}.tox .tox-tinymceai__annotation--removed__selected{-webkit-text-decoration:line-through;text-decoration:line-through;background-image:none;background-color:#c003;box-shadow:0 2px #006ce7,0 -2px #006ce7}.tox del.tox-tinymceai__annotation--added__selected,.tox ins.tox-tinymceai__annotation--added__selected{background-color:transparent;box-shadow:none;background-position:center;background-size:100% calc(1lh + 3px);background-image:linear-gradient(#006ce7 3px,rgba(120,171,70,.2) 3px,rgba(120,171,70,.2) calc(100% - 3px),#006ce7 calc(100% - 3px))}.tox del.tox-tinymceai__annotation--modified__selected,.tox ins.tox-tinymceai__annotation--modified__selected{background-color:transparent;box-shadow:none;background-position:center;background-size:100% calc(1lh + 3px);background-image:linear-gradient(#006ce7 3px,rgba(0,108,231,.2) 3px,rgba(0,108,231,.2) calc(100% - 3px),#006ce7 calc(100% - 3px))}.tox del.tox-tinymceai__annotation--removed__selected,.tox ins.tox-tinymceai__annotation--removed__selected{background-color:transparent;box-shadow:none;background-position:center;background-size:100% calc(1lh + 3px);background-image:linear-gradient(#006ce7 3px,rgba(204,0,0,.2) 3px,rgba(204,0,0,.2) calc(100% - 3px),#006ce7 calc(100% - 3px))}.tox .tox-tinymceai__annotation--added.tox-tinymceai__annotation--added__hidden,.tox .tox-tinymceai__annotation--modified.tox-tinymceai__annotation--modified__hidden,.tox .tox-tinymceai__annotation--removed.tox-tinymceai__annotation--removed__hidden{display:none;-webkit-text-decoration:none;text-decoration:none}.tox :has(>div>iframe).tox-tinymceai__annotation--added,.tox :has(>div>iframe).tox-tinymceai__annotation--modified,.tox :has(>div>iframe).tox-tinymceai__annotation--removed{padding:7px;margin:5px}.tox iframe.tox-tinymceai__annotation--added__highlight,.tox img.tox-tinymceai__annotation--added__highlight,.tox video.tox-tinymceai__annotation--added__highlight{outline:.25em solid rgba(120,171,70,.2);padding:.25em;background-image:none}.tox iframe.tox-tinymceai__annotation--added__selected,.tox img.tox-tinymceai__annotation--added__selected,.tox video.tox-tinymceai__annotation--added__selected{border:.25em solid rgba(120,171,70,.2);outline:.125em solid #006ce7;padding:0;background-image:none}.tox iframe.tox-tinymceai__annotation--modified__highlight,.tox img.tox-tinymceai__annotation--modified__highlight,.tox video.tox-tinymceai__annotation--modified__highlight{outline:.25em solid rgba(0,108,231,.2);padding:.25em;background-image:none}.tox iframe.tox-tinymceai__annotation--modified__selected,.tox img.tox-tinymceai__annotation--modified__selected,.tox video.tox-tinymceai__annotation--modified__selected{border:.25em solid rgba(0,108,231,.2);outline:.125em solid #006ce7;padding:0;background-image:none}.tox iframe.tox-tinymceai__annotation--removed__highlight,.tox img.tox-tinymceai__annotation--removed__highlight,.tox video.tox-tinymceai__annotation--removed__highlight{outline:.25em solid rgba(204,0,0,.2);padding:.25em;background-image:none}.tox iframe.tox-tinymceai__annotation--removed__selected,.tox img.tox-tinymceai__annotation--removed__selected,.tox video.tox-tinymceai__annotation--removed__selected{border:.25em solid rgba(204,0,0,.2);outline:.125em solid #006ce7;padding:0;background-image:none}.tox div.tox-tinymceai__annotation:has(>hr){background-size:auto;padding:.25em}.tox div.tox-tinymceai__annotation--removed__highlight>hr{border-color:#0003}.tox div.tox-tinymceai__annotation--added__highlight>hr{border-color:#0003}.tox .mce-pagebreak.tox-tinymceai__annotation--added__selected,.tox .mce-pagebreak.tox-tinymceai__annotation--modified__selected,.tox .mce-pagebreak.tox-tinymceai__annotation--removed__selected{border:1px dashed #aaa;box-shadow:none;background-image:none}.tox .mce-pagebreak.tox-tinymceai__annotation--added__highlight,.tox .mce-pagebreak.tox-tinymceai__annotation--modified__highlight,.tox .mce-pagebreak.tox-tinymceai__annotation--removed__highlight{padding:0}.tox .tox-ai__scroll .tox-ai__review-sidebar-container{scrollbar-gutter:stable;width:100%;height:100%;display:flex;flex-direction:column;gap:12px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-card-list{gap:8px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-initializing{padding:var(--tox-private-pad-md,16px)}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-description{padding-bottom:calc(var(--tox-private-pad-sm,8px) + var(--tox-private-pad-xs,4px));font-size:var(--tox-private-font-size-sm, 14px)}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-choose-container{padding-bottom:12px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-custom-input{margin-bottom:12px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-custom-actions{display:flex;gap:8px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-input-container{margin-bottom:12px}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-input-container button.tox-ai__review-input-button{width:100%;background-color:var(--tox-private-background-color,#fff);display:flex;justify-content:space-between;align-items:center;border:1px solid #eee;border-radius:6px;box-sizing:border-box}.tox .tox-ai__scroll .tox-ai__review-sidebar-container .tox-ai__review-input-container .tox-ai__review-dropdown-content{width:anchor-size(width)}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #e3e3e3;color:#222f3eb3;display:flex;flex:0 0 auto;font-size:14px;font-weight:400;height:25px;overflow:hidden;padding:0 8px;position:relative;text-transform:none}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{align-items:flex-start;display:flex;flex:1 1 auto;height:16px;justify-content:space-between}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#222f3eb3;position:relative;-webkit-text-decoration:none;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e;cursor:pointer}.tox .tox-statusbar a:focus-visible:after,.tox .tox-statusbar__path-item:focus-visible:after,.tox .tox-statusbar__wordcount:focus-visible:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar a:focus-visible:after,.tox .tox-statusbar__path-item:focus-visible:after,.tox .tox-statusbar__wordcount:focus-visible:after{border:2px solid highlight}}.tox .tox-statusbar__branding svg{fill:#222f3ecc;height:1em;margin-left:.3em;width:auto}@media (forced-colors:active){.tox .tox-statusbar__branding svg{fill:currentColor}}.tox .tox-statusbar__branding a{align-items:center;display:inline-flex}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox .tox-statusbar__resize-cursor-default{cursor:ns-resize}.tox .tox-statusbar__resize-cursor-both{cursor:nwse-resize}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;display:flex;flex:0 0 auto;justify-content:flex-end;margin:3px -5px 3px 4px;padding-bottom:0;padding-left:0;padding-right:0;position:relative}.tox .tox-statusbar__resize-handle svg{display:block;fill:#222f3e80}.tox .tox-statusbar__resize-handle:focus svg,.tox .tox-statusbar__resize-handle:hover svg{fill:#222f3e}.tox .tox-statusbar__resize-handle:focus-visible{background-color:transparent;border-radius:1px 1px 5px;box-shadow:0 0 0 2px transparent}.tox .tox-statusbar__resize-handle:focus-visible:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-statusbar__resize-handle:focus-visible:after{border:2px solid highlight}}.tox .tox-statusbar__resize-handle:only-child{margin-left:auto}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox[dir=rtl] .tox-statusbar__branding svg{margin-left:0;margin-right:.3em}.tox a.tox-tag{cursor:pointer}.tox .tox-tag{width:fit-content;box-sizing:border-box;display:flex;padding:var(--tox-private-pad-xs,4px) 6px;position:relative;align-items:center;gap:var(--tox-private-pad-xs,4px);border-radius:3px;background:hsl(from var(--tox-private-color-tint,#006ce7) h s l / 10%);line-height:var(--tox-private-base-value, 16px);font-size:var(--tox-private-font-size-xs, 12px)}.tox .tox-tag:before{border-radius:var(--tox-private-control-border-radius,6px);bottom:calc(-1 * var(--tox-private-tag-border-width,1px));box-shadow:var(--tox-private-tag-focus-outline,inset 0 0 0 1px #fff,0 0 0 2px #006ce7);content:"";left:calc(-1 * var(--tox-private-tag-border-width,1px));opacity:0;pointer-events:none;position:absolute;right:calc(-1 * var(--tox-private-tag-border-width,1px));top:calc(-1 * var(--tox-private-tag-border-width,1px))}.tox .tox-tag:focus:not(:disabled):before{opacity:1}.tox .tox-tag>*{flex-shrink:0}.tox .tox-tag .tox-icon{height:var(--tox-private-base-value,16px);fill:var(--tox-private-text-color,#222f3e)}.tox .tox-tag .tox-tag__label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex-shrink:1;color:var(--tox-private-text-color,#222f3e)}.tox .tox-tag .tox-tag__close{height:var(--tox-private-base-value,16px)}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon{border:0;padding:0;color:var(--tox-private-text-color-muted,rgba(34,47,62,.7))}.tox .tox-tag .tox-tag__close .tox-button.tox-button--icon:before{box-shadow:none}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:#fff9;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-segmented-control{display:inline-flex;position:relative;border:none;border-radius:var(--tox-private-control-border-radius,6px);box-shadow:inset 0 0 0 1px var(--tox-private-segmented-control-border-color,#e3e3e3);overflow:hidden;padding:var(--tox-private-pad-xs,4px);background-color:var(--tox-private-background-color,#fff)}.tox .tox-segmented-control__segment{flex:1;padding:var(--tox-private-pad-xs,4px) var(--tox-private-pad-sm,8px);cursor:pointer;background:0 0;font-size:var(--tox-private-font-size-sm, 14px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:16px;border:1px solid transparent;border-radius:calc(var(--tox-private-control-border-radius,6px) - 1px);text-align:center;white-space:nowrap;display:inline-block;vertical-align:middle;color:var(--tox-private-segmented-control-text-color,#222f3e)}.tox .tox-segmented-control__segment--active{border-color:var(--tox-private-segmented-control-active-border-color,#006ce7);color:var(--tox-private-segmented-control-active-text-color,#006ce7);background-color:var(--tox-private-segmented-control-active-bg-color,rgba(0,108,231,.1))}.tox .tox-segmented-control:not(.tox-segmented-control--disabled) .tox-segmented-control__segment{transition:all .2s}.tox .tox-segmented-control.tox-segmented-control--disabled .tox-segmented-control__segment{opacity:.5;cursor:not-allowed;pointer-events:none}.tox .tox-segmented-control__segment:focus{outline:2px solid var(--tox-private-color-tint,#006ce7);outline-offset:2px}.tox .tox-segmented-control__segment:focus:not(:focus-visible){outline:0}.tox .tox-toggle{display:flex;align-items:center;gap:var(--tox-private-pad-xs,4px);padding:var(--tox-private-pad-xs,4px);font-weight:var(--tox-private-font-weight-normal,normal);line-height:var(--tox-private-control-line-height, 24px);white-space:nowrap;background-color:var(--tox-private-background-color,#fff);color:var(--tox-private-text-color,#222f3e)}.tox .tox-toggle input{position:absolute;opacity:0;width:0;height:0}.tox .tox-toggle__slider{position:relative;cursor:pointer;box-sizing:border-box;transition:.4s;border-radius:34px;width:28px;height:16px;background-color:var(--tox-private-slider-background-color,#fff);border:1px solid var(--tox-private-slider-border-color,#e3e3e3)}.tox .tox-toggle__slider:before{position:absolute;content:"";height:12px;width:12px;left:1px;bottom:1px;transition:.4s;border-radius:50%;background-color:var(--tox-private-slider-handle-background-color,#222f3e)}.tox input:checked+.tox-toggle__slider{background-color:var(--tox-private-slider-checked-background-color,#006ce7);border:1px solid var(--tox-private-slider-checked-border-color,#006ce7)}.tox input:focus+.tox-toggle__slider{box-shadow:0 0 0 1px var(--tox-private-color-white,#fff),0 0 0 2px var(--tox-private-color-tint,#006ce7)}.tox input:checked+.tox-toggle__slider:before{transform:translate(12px);background-color:var(--tox-private-slider-checked-handle-background-color,#fff)}.tox input:disabled+.tox-toggle__slider:before{opacity:50%}.tox .tox-tbtn{align-items:center;background:#fff;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:6px 1px 5px 0;outline:0;padding:0;text-transform:none;width:34px}.tox .tox-tbtn .tox-tbtn__icon-wrap{pointer-events:none}@media (forced-colors:active){.tox .tox-tbtn.tox-tbtn:hover,.tox .tox-tbtn:hover{outline:1px dashed currentColor}.tox .tox-tbtn.tox-tbtn--active,.tox .tox-tbtn.tox-tbtn--enabled,.tox .tox-tbtn.tox-tbtn--enabled:focus,.tox .tox-tbtn.tox-tbtn--enabled:hover,.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){outline:1px solid currentColor;position:relative}}.tox .tox-tbtn svg{display:block;fill:#222f3e}@media (forced-colors:active){.tox .tox-tbtn svg{fill:currentColor!important}.tox .tox-tbtn svg.tox-tbtn--enabled,.tox .tox-tbtn svg:focus:not(.tox-tbtn--disabled){fill:currentColor!important}.tox .tox-tbtn svg .tox-tbtn:disabled,.tox .tox-tbtn svg .tox-tbtn:disabled:hover,.tox .tox-tbtn svg.tox-tbtn--disabled,.tox .tox-tbtn svg.tox-tbtn--disabled:hover{filter:contrast(0%)}}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#fff;border:0;box-shadow:none;position:relative;z-index:1}.tox .tox-tbtn:focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn:focus:after{border:2px solid highlight}}.tox .tox-tbtn:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:#222f3e80}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:#fff;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:#222f3e80}.tox .tox-tbtn--active,.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:focus,.tox .tox-tbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e;position:relative}.tox .tox-tbtn--active>*,.tox .tox-tbtn--enabled:focus>*,.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--active svg,.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:focus svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn--active.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:focus.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:#222f3e80}.tox .tox-tbtn--enabled:focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-tbtn--enabled:focus:after{border:2px solid highlight}}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:42px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:56px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-label--context-toolbar{margin:6px 1px 5px 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tox .tox-number-input{background:#f7f7f7;border-radius:3px;display:flex;margin:6px 1px 5px 0;position:relative;width:auto}.tox .tox-number-input:focus{background:#f7f7f7}.tox .tox-number-input:focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input:focus:after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper{display:flex;pointer-events:none;position:relative;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background-color:#f7f7f7;z-index:1}.tox .tox-number-input .tox-input-wrapper:focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:focus:after{border:2px solid highlight}}.tox .tox-number-input .tox-input-wrapper:has(input:focus):after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input .tox-input-wrapper:has(input:focus):after{border:2px solid highlight}}.tox .tox-number-input input{border-radius:3px;color:#222f3e;font-size:14px;margin:2px 0;pointer-events:all;position:relative;width:60px}.tox .tox-number-input input:hover{background:#f0f0f0;color:#222f3e}.tox .tox-number-input input:focus{background-color:#f7f7f7}.tox .tox-number-input input:disabled{background:#fff;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-number-input button{color:#222f3e;height:28px;position:relative;text-align:center;width:24px}@media (forced-colors:active){.tox .tox-number-input button:active,.tox .tox-number-input button:focus,.tox .tox-number-input button:hover{outline:1px solid currentColor!important}}.tox .tox-number-input button svg{display:block;fill:#222f3e;margin:0 auto;transform:scale(.67)}@media (forced-colors:active){.tox .tox-number-input button svg,.tox .tox-number-input button svg:active,.tox .tox-number-input button svg:hover{fill:currentColor!important}.tox .tox-number-input button svg:disabled{filter:contrast(0)}}.tox .tox-number-input button:focus{background:#f7f7f7;z-index:1}.tox .tox-number-input button:focus:after{border-radius:3px;bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0}@media (forced-colors:active){.tox .tox-number-input button:focus:after{border:2px solid highlight}}.tox .tox-number-input button:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:hover svg{fill:#222f3e}.tox .tox-number-input button:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:active svg{fill:#222f3e}.tox .tox-number-input button:disabled{background:#fff;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:#222f3e80}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#f7f7f7}.tox .tox-tbtn--select{margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-tbtn--bordered,.tox .tox-tbtn--bordered:focus,.tox .tox-tbtn--bordered:hover{border:1px solid #eee}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:#222f3e80}@media (forced-colors:active){.tox .tox-tbtn__select-chevron svg{fill:currentColor}}.tox .tox-tbtn--bespoke{background:#f7f7f7}.tox .tox-tbtn--bespoke:focus{background:#f7f7f7}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:4px}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button__main{border-radius:3px 0 0 3px;margin-right:0}.tox .tox-split-button__main:focus{border:0;box-shadow:none;background:#fff;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__main:focus:after{bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0;border-radius:3px 0 0 3px}@media (forced-colors:active){.tox .tox-split-button__main:focus:after{border:2px solid highlight}}.tox .tox-split-button__chevron{width:16px;border-radius:0 3px 3px 0;margin-left:0}.tox .tox-split-button__chevron:focus{border:0;box-shadow:none;background:#fff;color:#222f3e;position:relative;z-index:1}.tox .tox-split-button__chevron:focus:after{bottom:0;box-shadow:0 0 0 2px #006ce7;content:"";left:0;position:absolute;right:0;top:0;border-radius:0 3px 3px 0}@media (forced-colors:active){.tox .tox-split-button__chevron:focus:after{border:2px solid highlight}}.tox .tox-split-button__chevron svg{fill:#222f3e80}@media (forced-colors:active){.tox .tox-split-button__chevron svg{fill:currentColor}}.tox.tox-platform-touch .tox-split-button__main{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button__chevron.tox-tbtn--disabled,.tox .tox-split-button__main.tox-tbtn--disabled,.tox .tox-split-button__chevron.tox-tbtn--disabled:hover,.tox .tox-split-button__main.tox-tbtn--disabled:hover{background:#fff;box-shadow:none;color:#222f3e80}.tox .tox-split-button__chevron.tox-tbtn--disabled:focus,.tox .tox-split-button__main.tox-tbtn--disabled:focus{background:#fff;box-shadow:none;color:#222f3e80}.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-highlight-bg-color__color,.tox .tox-split-button__main.tox-tbtn--disabled svg .tox-icon-text-color__color{opacity:.3}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#fff;background-image:repeating-linear-gradient(#e3e3e3 0 1px,transparent 1px 39px);background-position:center top 40px;background-repeat:no-repeat;background-size:calc(100% - 22px) calc(100% - 41px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 22px) calc(100% + -0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid transparent;margin-top:-1px;padding-bottom:1px;padding-top:1px}@media (forced-colors:active){.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{outline:1px solid currentColor}}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox .tox-focusable-wrapper{border:1px solid transparent;margin-right:2px;pointer-events:none}.tox .tox-focusable-wrapper .tox-textfield-size{pointer-events:all}.tox .tox-focusable-wrapper:focus{background-color:#f7f7f7;border-radius:6px;border-style:solid;border-width:1px}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;background-position:center top 43px;background-size:calc(100% - 16px) calc(100% - 51px);border:none;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;overscroll-behavior:none;padding:4px 0}@media (forced-colors:active){.tox.tox-tinymce-aux .tox-toolbar__overflow{border:solid}}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 22px) calc(100% - 51px);padding:4px 0}.tox-context-form__group{display:flex;align-items:center}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0;padding:0 11px 0 12px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid transparent}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid transparent}.tox .tox-toolbar-input-form{display:flex;align-items:center;background-color:var(--tox-private-background-color,#fff);padding:0 var(--tox-private-pad-sm,8px)}.tox .tox-tooltip{display:inline-block;max-width:min(80%,15em);padding:8px 0 0;position:relative;width:max-content;z-index:1150}.tox .tox-tooltip.tox-tooltip--anchor{display:none;padding:var(--tox-private-pad-xs,4px) 0 0;position:fixed;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;height:fit-content}.tox .tox-tooltip.tox-tooltip--anchor.tox-tooltip--up{position-area:block-end}.tox .tox-tooltip.tox-tooltip--anchor.tox-tooltip--down{position-area:block-start}.tox .tox-tooltip.tox-tooltip--anchor.tox-tooltip--left{position-area:inline-start}.tox .tox-tooltip.tox-tooltip--anchor.tox-tooltip--right{position-area:inline-end}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:6px;box-shadow:none;color:#fff;font-size:12px;font-style:normal;font-weight:600;overflow-wrap:break-word;padding:4px 6px;text-transform:none}@media (forced-colors:active){.tox .tox-tooltip__body{outline:outset 1px}}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translate(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translate(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0 0 0 8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#222f3e}.tox .tox-tree .tox-trbtn:focus{background:#f0f0f0;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#f0f0f0;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:active svg{fill:#222f3e}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:#222f3e80}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-icon-custom-state{flex-grow:1;display:flex;justify-content:flex-end}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}[data-mce-name=uploadcare-enhance-filter] .color-swatch-remove-color path{fill:#c00;stroke:#c00}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#fff;display:flex;flex:1;flex-direction:column;height:100%}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background-color:#fff}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:10px;position:relative}.tox .tox-view__label{color:#222f3e;font-weight:700;line-height:24px;padding:4px 16px;text-align:center;white-space:nowrap}.tox .tox-view__label--normal{font-size:16px}.tox .tox-view__label--large{font-size:20px}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__align-right{margin-left:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;overflow-x:auto;padding:10px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;position:relative;width:100%}.tox .tox-view__pane_panel{border:1px solid #eee;border-radius:6px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #eee;border-radius:6px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #eee;border-radius:6px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-view .tox-revisionhistory__pane{padding:0}.tox .tox-revisionhistory__container{display:flex;flex-direction:column;height:100%}.tox .tox-revisionhistory{background-color:#fff;border-top:1px solid #f0f0f0;display:flex;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.tox .tox-revisionhistory__iframe{flex:1}.tox .tox-revisionhistory__sidebar{display:flex;flex-direction:column;height:100%;min-width:248px;width:316px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__sidebar-title{background-color:#fff;box-shadow:0 4px 8px #222f3e1a;color:#222f3e;font-size:20px;font-weight:400;line-height:28px;padding:12px;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions{background-color:#f0f0f0;display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:10px 12px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus{height:100%;position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus:after{box-shadow:0 0 0 2px #006ce7;content:"";position:absolute;border-radius:6px;bottom:1px;left:1px;right:1px;top:1px}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions:focus:after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card{background-color:#fff;border:1px solid #f0f0f0;border-radius:6px;color:#222f3e;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:12px;width:100%}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:hover{box-shadow:0 4px 8px #222f3e1a}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus{position:relative;z-index:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus:after{bottom:0;box-shadow:0 0 0 2px #006ce7 #006ce7;content:"";left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #006ce7;box-shadow:0 0 0 2px #006ce7!important}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card:focus:after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected{background-color:#fff5cc;box-shadow:0 4px 8px #222f3e1a;position:relative}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected:after{bottom:0;box-shadow:0 0 0 2px #006ce7 #e3b82a;content:"";left:0;position:absolute;right:0;top:0;border-radius:6px;box-shadow:0 0 0 2px #e3b82a}@media (forced-colors:active){.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card.tox-revisionhistory__card--selected:after{border:2px solid highlight}}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-label{display:block;width:min-content;padding:4px 8px;margin-bottom:8px;font-size:12px;font-weight:700;border-radius:4px;background:#d3d5d8}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-content{display:flex;flex-direction:row;gap:8px;align-items:center}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-info{display:flex;flex-direction:column;flex:1}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-date-label{font-size:14px;font-weight:700;line-height:18px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__avatar{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__norevision{color:#222f3eb3;font-size:16px;line-height:24px;padding:5px 5.5px}.tox .tox-revisionhistory__sidebar .tox-revisionhistory__revisions .tox-revisionhistory__card-check-icon{color:#222f3e;height:24px}.tox .tox-card{background-color:#fff;border-radius:6px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:box-shadow .15s ease-in-out,border .15s ease-in-out;border:2px solid transparent}.tox .tox-card:hover{box-shadow:0 4px 8px #222f3e1a}.tox .tox-card--selected{border-color:#006ce7}.tox .tox-card:focus-visible{outline:0;box-shadow:0 0 0 2px #006ce7;border-color:transparent}.tox .tox-card--has-decision{background-color:#f0f0f0}.tox .tox-card--has-decision:not(.tox-card--selected){border-width:1px;border-color:#222f3eb3}.tox .tox-card--has-decision .tox-card__header{font-size:12px}.tox .tox-card--has-decision .tox-card__body{color:#222f3eb3}.tox .tox-card--has-decision .tox-card__actions .tox-button--secondary--outline{border-color:#e0e0e0}.tox .tox-card--has-decision .tox-card__actions .tox-button--secondary--outline:focus:not(:disabled),.tox .tox-card--has-decision .tox-card__actions .tox-button--secondary--outline:hover:not(:disabled){background-color:#e0e0e0;border-color:#d1d1d1}.tox .tox-card--has-decision .tox-card__actions .tox-button--secondary--outline:active:not(:disabled){background-color:#d1d1d1;border-color:#d1d1d1}.tox .tox-card__header{padding:12px 12px 0;color:#222f3e;font-size:16px;font-weight:700;text-transform:uppercase;display:flex;flex-direction:column;gap:12px}.tox .tox-card__header-label{font-size:12px;font-weight:700;text-transform:uppercase;color:#222f3e}.tox .tox-card__body{padding:12px 12px 0;color:#222f3e;font-size:16px}.tox .tox-card__body .tox-expandable-box{border:none;padding:0;gap:12px}.tox .tox-card--has-decision .tox .tox-card__body{padding:0 12px}.tox .tox-card__highlight{padding:4px 6px;border-bottom:2px solid #006ce7}.tox .tox-card__highlight--added{background-color:#e4eeda}.tox .tox-card__highlight--deleted{background-color:#f5cccc}.tox .tox-card__highlight--modified{background-color:#cce2fa}.tox .tox-card__actions{display:flex;gap:8px;padding:0 12px 12px}.tox .tox-card__actions--space-between{justify-content:space-between}.tox .tox-card__actions--flex-start{justify-content:flex-start}.tox .tox-card__actions .tox-button,.tox .tox-card__actions .tox-button--icon,.tox .tox-card__actions .tox-button:has(.tox-icon:only-child){padding:4px 16px}.tox .tox-card.tox-skeleton{cursor:default;pointer-events:none;box-shadow:none}.tox .tox-card.tox-skeleton:hover{box-shadow:none}.tox .tox-card.tox-skeleton .tox-skeleton__line{border-radius:6px;margin:0}.tox .tox-card.tox-skeleton .tox-card__body{display:flex;flex-direction:column;gap:4px}.tox .tox-card-list{display:flex;flex-direction:column;gap:12px}.tox .tox-card-list:focus{outline:0}.tox [data-mce-name=suggestededits] .tox-icon .tox-icon--badge{fill:#006ce7}.tox .tox-view .tox-suggestededits__pane{padding:0}.tox .tox-suggestededits__sink{position:relative;z-index:1000}.tox .tox-suggestededits__sink .tox-tiered-menu .tox-collection--list{position:absolute}.tox .tox-suggestededits__container{height:100%;display:flex;flex-direction:column}.tox .tox-suggestededits__container .tox-suggestededits{background-color:#fff;border-top:1px solid #eee;display:flex;flex:1;height:inherit;overflow-x:auto;overflow-y:hidden;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__content{flex:1}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model{height:100%;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__model .tox-suggestededits__iframe{height:100%;width:100%;overflow:scroll;background-color:#fff}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar{background-color:#f0f0f0;display:flex;flex-direction:column;flex:0 1 auto;min-width:248px;width:316px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-header{padding:4px 12px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content{display:flex;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:6px 12px 12px;position:relative}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card{background-color:#fff;border-radius:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--divider{background-color:#f0f0f0;height:1px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--editor,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--single{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header{display:flex;flex:auto;justify-content:space-between;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar .tox-skeleton__circle,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--avatar img{height:24px;width:24px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user{display:flex;align-items:center;flex:1 0 0;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--avatar{height:36px;width:36px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--name{color:#222f3e;font-size:14px;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__card--feedback-user .tox-suggestededits__card--details .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution{align-items:center;border:0;border-radius:20px;height:20px;width:20px;display:flex;flex:0 0 auto;justify-content:center;text-align:center}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--accepted .tox-icon svg{fill:#78ab46}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--header .tox-suggestededits__resolution.tox-suggestededits__resolution--rejected .tox-icon svg{fill:#c00}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content{display:flex;flex-direction:column;align-self:stretch;flex:auto;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations{display:flex;gap:8px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar{align-items:center;border-radius:6px;display:flex;flex-direction:column;font-size:12px;justify-content:space-between;width:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--insert{background-color:#78ab46;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--modify{background-color:#006ce7;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-bar--remove{background-color:#c00;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__operations .tox-suggestededits__operations-text{color:#222f3e;font-weight:700}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--feedback{color:#222f3e;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea{border:2px solid #eee;border-radius:6px;color:#222f3e;gap:8px;padding:5px 6px;resize:none;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--content .tox-suggestededits__card--textarea:focus{border:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer{display:flex;flex-direction:column;gap:6px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--footer .tox-suggestededits__card--timestamp .tox-icon svg{fill:#222f3e80;transform:translateY(8px);margin-top:-10px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons{display:flex;align-items:center;gap:8px;width:100%}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--review-buttons{justify-content:space-between;padding:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card .tox-suggestededits__card--buttons.tox-suggestededits__card--feedback-buttons{justify-content:flex-end}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--hidden{opacity:.5}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--resolved{background-color:#d3d5d8}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single{border-radius:6px}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus,.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card.tox-suggestededits__card--active .tox-suggestededits__card--single:focus-visible{outline:2px solid #006ce7}.tox .tox-suggestededits__container .tox-suggestededits .tox-suggestededits__sidebar-content .tox-suggestededits__card:hover{box-shadow:0 4px 8px #d3d5d8}.tox .tox-dialog-loading:before{background-color:#00000080;content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js,.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) th,table:not([cellpadding]) td{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) th,table[border]:not([border="0"]):not([style*=border-width]) td{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) th,table[border]:not([border="0"]):not([style*=border-style]) td{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) th,table[border]:not([border="0"]):not([style*=border-color]) td{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/build/assets/tinymce-4bed85b8.js b/public/build/assets/tinymce-4bed85b8.js new file mode 100644 index 000000000..6bf67ede4 --- /dev/null +++ b/public/build/assets/tinymce-4bed85b8.js @@ -0,0 +1,84 @@ +var BX=Object.defineProperty;var NX=(cm,Si,im)=>Si in cm?BX(cm,Si,{enumerable:!0,configurable:!0,writable:!0,value:im}):cm[Si]=im;var Re=(cm,Si,im)=>(NX(cm,typeof Si!="symbol"?Si+"":Si,im),im);var PX={exports:{}};(function(cm){(function(){var Si=function(e){if(e===null)return"null";if(e===void 0)return"undefined";var t=typeof e;return t==="object"&&(Array.prototype.isPrototypeOf(e)||e.constructor&&e.constructor.name==="Array")?"array":t==="object"&&(String.prototype.isPrototypeOf(e)||e.constructor&&e.constructor.name==="String")?"string":t},im=function(e){return["undefined","boolean","number","string","function","xml","null"].indexOf(e)!==-1},Ug=function(e,t){var o=Array.prototype.slice.call(e);return o.sort(t)},Zg=function(e,t){return lm(function(o,r){return e.eq(t(o),t(r))})},lm=function(e){return{eq:e}},Wg=lm(function(e,t){return e===t}),kn=Wg,Ic=function(e){return lm(function(t,o){if(t.length!==o.length)return!1;for(var r=t.length,c=0;c{var r;return o(e,t.prototype)?!0:((r=e.constructor)==null?void 0:r.name)===t.name},ju=e=>{const t=typeof e;return e===null?"null":t==="object"&&Array.isArray(e)?"array":t==="object"&&ma(e,String,(o,r)=>r.isPrototypeOf(o))?"string":t},Uo=e=>t=>ju(t)===e,Dt=e=>t=>typeof t===e,wi=e=>t=>e===t,Yl=(e,t)=>fn(e)&&ma(e,t,(o,r)=>Kl(o)===r),q=Uo("string"),fn=Uo("object"),Sf=e=>Yl(e,Object),gn=Uo("array"),te=wi(null),Qt=Dt("boolean"),ls=wi(void 0),on=e=>e==null,pe=e=>!on(e),J=Dt("function"),Kr=Dt("number"),Fn=(e,t)=>{if(gn(e)){for(let o=0,r=e.length;o{},T=(e,t)=>(...o)=>e(t.apply(null,o)),Zo=(e,t)=>o=>e(t(o)),Me=e=>()=>e,$o=e=>e,zt=(e,t)=>e===t;function Ae(e,...t){return(...o)=>{const r=t.concat(o);return e.apply(null,r)}}const go=e=>t=>!e(t),Br=e=>()=>{throw new Error(e)},Wo=e=>e(),Yr=e=>{e()},Ee=Me(!1),Qe=Me(!0),Cs=class Cs{constructor(t,o){Re(this,"tag");Re(this,"value");this.tag=t,this.value=o}static some(t){return new Cs(!0,t)}static none(){return Cs.singletonNone}fold(t,o){return this.tag?o(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?Cs.some(t(this.value)):Cs.none()}bind(t){return this.tag?t(this.value):Cs.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:Cs.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(t??"Called getOrDie on None")}static from(t){return pe(t)?Cs.some(t):Cs.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}};Re(Cs,"singletonNone",new Cs(!1));let B=Cs;const um=Array.prototype.slice,oo=Array.prototype.indexOf,us=Array.prototype.push,ho=(e,t)=>oo.call(e,t),wT=(e,t)=>{const o=ho(e,t);return o===-1?B.none():B.some(o)},Bt=(e,t)=>ho(e,t)>-1,qn=(e,t)=>{for(let o=0,r=e.length;o{const o=e.length,r=new Array(o);for(let c=0;c{for(let o=0,r=e.length;o{for(let o=e.length-1;o>=0;o--){const r=e[o];t(r,o)}},Nr=(e,t)=>{const o=[],r=[];for(let c=0,u=e.length;c{const o=[];for(let r=0,c=e.length;r{if(e.length===0)return[];{let o=t(e[0]);const r=[];let c=[];for(let u=0,f=e.length;u(Gu(e,(r,c)=>{o=t(o,r,c)}),o),os=(e,t,o)=>(ie(e,(r,c)=>{o=t(o,r,c)}),o),dm=(e,t,o)=>{for(let r=0,c=e.length;rdm(e,t,Ee),mm=(e,t)=>{for(let o=0,r=e.length;o{for(let o=e.length-1;o>=0;o--)if(t(e[o],o))return B.some(o);return B.none()},Ka=e=>{const t=[];for(let o=0,r=e.length;oKa(Ot(e,t)),Xl=(e,t)=>{for(let o=0,r=e.length;o{const t=um.call(e,0);return t.reverse(),t},jo=(e,t)=>ft(e,o=>!Bt(t,o)),jg=(e,t)=>{const o={};for(let r=0,c=e.length;r{const o=um.call(e,0);return o.sort(t),o},Lc=(e,t)=>t>=0&&tLc(e,0),$r=e=>Lc(e,e.length-1),Fr=J(Array.from)?Array.from:e=>um.call(e),ml=(e,t)=>{for(let o=0;o{const o=[],r=J(t)?c=>qn(o,u=>t(u,c)):c=>Bt(o,c);for(let c=0,u=e.length;c{const o=mt(e);for(let r=0,c=o.length;rHc(e,(o,r)=>({k:r,v:t(o,r)})),Hc=(e,t)=>{const o={};return hn(e,(r,c)=>{const u=t(r,c);o[u.k]=u.v}),o},ct=e=>(t,o)=>{e[o]=t},Gg=(e,t,o,r)=>{hn(e,(c,u)=>{(t(c,u)?o:r)(c,u)})},ET=(e,t)=>{const o={},r={};return Gg(e,t,ct(o),ct(r)),{t:o,f:r}},qg=(e,t)=>{const o={};return Gg(e,t,ct(o),Tt),o},Yu=(e,t)=>{const o=[];return hn(e,(r,c)=>{o.push(t(r,c))}),o},Jl=e=>Yu(e,$o),po=(e,t)=>Ut(e,t)?B.from(e[t]):B.none(),Ut=(e,t)=>In.call(e,t),Io=(e,t)=>Ut(e,t)&&e[t]!==void 0&&e[t]!==null,SS=(e,t,o=Wu)=>dl(o).eq(e,t),Ql={generate:e=>{if(!gn(e))throw new Error("cases must be an array");if(e.length===0)throw new Error("there must be at least one case");const t=[],o={};return ie(e,(r,c)=>{const u=mt(r);if(u.length!==1)throw new Error("one and only one name per case");const f=u[0],p=r[f];if(o[f]!==void 0)throw new Error("duplicate key detected:"+f);if(f==="cata")throw new Error("cannot have a case named cata (sorry)");if(!gn(p))throw new Error("case arguments must be an array");t.push(f),o[f]=(...v)=>{const w=v.length;if(w!==p.length)throw new Error("Wrong number of arguments to case "+f+". Expected "+p.length+" ("+p+"), got "+w);return{fold:(...O)=>{if(O.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+O.length);return O[c].apply(null,v)},match:O=>{const R=mt(O);if(t.length!==R.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+` +Actual: `+R.join(","));if(!Xl(t,z=>Bt(R,z)))throw new Error("Not all branches were specified when using match. Specified: "+R.join(", ")+` +Required: `+t.join(", "));return O[f].apply(null,v)},log:O=>{console.log(O,{constructors:t,constructor:f,params:v})}}}}),o}},kt=e=>{let t=e;return{get:()=>t,set:c=>{t=c}}},Ya=e=>{const t=u=>u(e),o=Me(e),r=()=>c,c={tag:!0,inner:e,fold:(u,f)=>f(e),isValue:Qe,isError:Ee,map:u=>Xr.value(u(e)),mapError:r,bind:t,exists:t,forall:t,getOr:o,or:r,getOrThunk:o,orThunk:r,getOrDie:o,each:u=>{u(e)},toOptional:()=>B.some(e)};return c},wf=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(r,c)=>r(e),isValue:Ee,isError:Qe,map:t,mapError:r=>Xr.error(r(e)),bind:t,exists:Ee,forall:Qe,getOr:$o,or:$o,getOrThunk:Wo,orThunk:Wo,getOrDie:Br(String(e)),each:Tt,toOptional:B.none};return o},Xr={value:Ya,error:wf,fromOption:(e,t)=>e.fold(()=>wf(t),Ya)},cR=typeof window<"u"?window:Function("return this;")(),Xa=()=>{const e=window.crypto.getRandomValues(new Uint8Array(16));return e[6]=e[6]&15|64,e[8]=e[8]&63|128,e},dv=()=>{const e=Xa(),t=(o,r)=>{let c="";for(let u=o;u<=r;++u){const f=e[u].toString(16).padStart(2,"0");c+=f}return c};return`${t(0,3)}-${t(4,5)}-${t(6,7)}-${t(8,9)}-${t(10,15)}`},s1=(e,t,o)=>Math.min(Math.max(e,t),o),kT=()=>window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295;let fm=0;const Jr=e=>{const o=new Date().getTime(),r=Math.floor(kT()*1e9);return fm++,e+"_"+r+fm+String(o)},wS=()=>window.isSecureContext?window.crypto.randomUUID():dv(),xS=(e,t)=>t,Ge=(e,t)=>Sf(e)&&Sf(t)?r1(e,t):t,ES=e=>(...t)=>{if(t.length===0)throw new Error("Can't merge zero objects");const o={};for(let r=0;re.exists(r=>o(r,t)),a1=(e,t,o=zt)=>xs(e,t,o).getOr(e.isNone()&&t.isNone()),zc=e=>{const t=[],o=r=>{t.push(r)};for(let r=0;re.isSome()&&t.isSome()?B.some(o(e.getOrDie(),t.getOrDie())):B.none(),gm=(e,t,o,r)=>e.isSome()&&t.isSome()&&o.isSome()?B.some(r(e.getOrDie(),t.getOrDie(),o.getOrDie())):B.none(),fv=e=>e.bind($o),xi=(e,t)=>e?B.some(t):B.none(),fa=(e,t)=>{let o=t??cR;for(let r=0;r{const o=e.split(".");return fa(o,t)};Ql.generate([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const Ja=e=>{const t=[],o=[];return ie(e,r=>{r.fold(c=>{t.push(c)},c=>{o.push(c)})}),{errors:t,values:o}},AT=e=>{const t=kt(B.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(B.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:p=>{o(),t.set(B.some(p))}}},_T=e=>{const t=kt(B.none()),o=()=>t.get().each(p=>clearInterval(p));return{clear:()=>{o(),t.set(B.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:p=>{o(),t.set(B.some(setInterval(p,e)))}}},Vc=()=>{const e=AT(Tt);return{...e,on:o=>e.get().each(o)}},TS=(e,t)=>e.substring(t),Xu=(e,t,o)=>t===""||e.length>=t.length&&e.substr(o,o+t.length)===t,gv=(e,t)=>Ht(e,t)?TS(e,t.length):e,ds=(e,t,o=0,r)=>{const c=e.indexOf(t,o);return c!==-1?ls(r)?!0:c+t.length<=r:!1},Ht=(e,t)=>Xu(e,t,0),Qr=(e,t)=>Xu(e,t,e.length-t.length),_a=e=>t=>t.replace(e,""),Mo=_a(/^\s+|\s+$/g),hv=_a(/^\s+/g),kS=_a(/\s+$/g),Lo=e=>e.length>0,Kg=e=>!Lo(e),tu=(e,t)=>t<=0?"":new Array(t+1).join(e),AS=(e,t=10)=>{const o=parseInt(e,t);return isNaN(o)?B.none():B.some(o)},qe=(e,t)=>{let o=null;return{cancel:()=>{te(o)||(clearTimeout(o),o=null)},throttle:(...u)=>{te(o)&&(o=setTimeout(()=>{o=null,e.apply(null,u)},t))}}},xf=(e,t)=>{let o=null;const r=()=>{te(o)||(clearTimeout(o),o=null)};return{cancel:r,throttle:(...u)=>{r(),o=setTimeout(()=>{o=null,e.apply(null,u)},t)}}},Qa=e=>{let t=!1,o;return(...r)=>(t||(t=!0,o=e.apply(null,r)),o)},Yg="\uFEFF",Es=" ",OT="…",nu=e=>e===Yg,fl=e=>e.replace(/\uFEFF/g,""),_S=e=>{const t={};return ie(e,o=>{t[o]={}}),mt(t)},OS=e=>e.length!==void 0,hm=Array.isArray,DS=e=>{if(hm(e))return e;{const t=[];for(let o=0,r=e.length;o{if(!e)return!1;if(o=o||e,OS(e)){for(let r=0,c=e.length;r{const o=[];return c1(e,(r,c)=>{o.push(t(r,c,e))}),o},Xg=(e,t)=>{const o=[];return c1(e,(r,c)=>{(!t||t(r,c,e))&&o.push(r)}),o},Le=(e,t)=>{if(e){for(let o=0,r=e.length;o{let c=ls(o)?e[0]:o;for(let u=0;u{for(let r=0,c=e.length;re[e.length-1],l1=(e,t,o,r)=>{const c=e.isiOS()&&/ipad/i.test(o)===!0,u=e.isiOS()&&!c,f=e.isiOS()||e.isAndroid(),p=f||r("(pointer:coarse)"),v=c||!u&&f&&r("(min-device-width:768px)"),w=u||f&&!v,_=t.isSafari()&&e.isiOS()&&/safari/i.test(o)===!1,O=!w&&!v&&!_;return{isiPad:Me(c),isiPhone:Me(u),isTablet:Me(v),isPhone:Me(w),isTouch:Me(p),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:Me(_),isDesktop:Me(O)}},RS=(e,t)=>{for(let o=0;o{const o=RS(e,t);if(!o)return{major:0,minor:0};const r=c=>Number(t.replace(o,"$"+c));return Jg(r(1),r(2))},MS=(e,t)=>{const o=String(t).toLowerCase();return e.length===0?Ef():ec(e,o)},Ef=()=>Jg(0,0),Jg=(e,t)=>({major:e,minor:t}),to={nu:Jg,detect:MS,unknown:Ef},bv=(e,t)=>ml(t.brands,o=>{const r=o.brand.toLowerCase();return Qn(e,c=>{var u;return r===((u=c.brand)==null?void 0:u.toLowerCase())}).map(c=>({current:c.name,version:to.nu(parseInt(o.version,10),0)}))}),BS=(e,t)=>{const o=String(t).toLowerCase();return Qn(e,r=>r.search(o))},NS=(e,t)=>BS(e,t).map(o=>{const r=to.detect(o.versionRegexes,t);return{current:o.name,version:r}}),PS=(e,t)=>BS(e,t).map(o=>{const r=to.detect(o.versionRegexes,t);return{current:o.name,version:r}}),u1=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Ei=e=>t=>ds(t,e),$S=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>ds(e,"edge/")&&ds(e,"chrome")&&ds(e,"safari")&&ds(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,u1],search:e=>ds(e,"chrome")&&!ds(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>ds(e,"msie")||ds(e,"trident")},{name:"Opera",versionRegexes:[u1,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Ei("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Ei("firefox")},{name:"Safari",versionRegexes:[u1,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(ds(e,"safari")||ds(e,"mobile/"))&&ds(e,"applewebkit")}],Ju=[{name:"Windows",search:Ei("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>ds(e,"iphone")||ds(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Ei("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:Ei("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Ei("linux"),versionRegexes:[]},{name:"Solaris",search:Ei("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Ei("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:Ei("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],bm={browsers:Me($S),oses:Me(Ju)},FS="Edge",d1="Chromium",Vn="IE",Qg="Opera",m1="Firefox",gl="Safari",DT=()=>IS({current:void 0,version:to.unknown()}),IS=e=>{const t=e.current,o=e.version,r=c=>()=>t===c;return{current:t,version:o,isEdge:r(FS),isChromium:r(d1),isIE:r(Vn),isOpera:r(Qg),isFirefox:r(m1),isSafari:r(gl)}},f1={unknown:DT,nu:IS,edge:Me(FS),chromium:Me(d1),ie:Me(Vn),opera:Me(Qg),firefox:Me(m1),safari:Me(gl)},eh="Windows",vm="iOS",vv="Android",g1="Linux",yv="macOS",Cv="Solaris",h1="FreeBSD",Ti="ChromeOS",LS=()=>Sv({current:void 0,version:to.unknown()}),Sv=e=>{const t=e.current,o=e.version,r=c=>()=>t===c;return{current:t,version:o,isWindows:r(eh),isiOS:r(vm),isAndroid:r(vv),isMacOS:r(yv),isLinux:r(g1),isSolaris:r(Cv),isFreeBSD:r(h1),isChromeOS:r(Ti)}},p1={unknown:LS,nu:Sv,windows:Me(eh),ios:Me(vm),android:Me(vv),linux:Me(g1),macos:Me(yv),solaris:Me(Cv),freebsd:Me(h1),chromeos:Me(Ti)},wv={detect:(e,t,o)=>{const r=bm.browsers(),c=bm.oses(),u=t.bind(v=>bv(r,v)).orThunk(()=>NS(r,e)).fold(f1.unknown,f1.nu),f=PS(c,e).fold(p1.unknown,p1.nu),p=l1(f,u,e,o);return{browser:u,os:f,deviceType:p}}},xv=e=>window.matchMedia(e).matches;let Ev=Qa(()=>wv.detect(window.navigator.userAgent,B.from(window.navigator.userAgentData),xv));const Uc=()=>Ev(),Tv=(e,t)=>eu(e,t),RT=(e,t)=>{const o=Tv(e,t);if(o==null)throw new Error(e+" not available on this browser");return o},kv=Object.getPrototypeOf,Av=e=>RT("HTMLElement",e),MT=e=>{const t=eu("ownerDocument.defaultView",e);return fn(e)&&(Av(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(kv(e).constructor.name))},zS=window.navigator.userAgent,b1=Uc(),ki=b1.browser,Zc=b1.os,Qu=b1.deviceType,VS=zS.indexOf("Windows Phone")!==-1,dn={transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",documentMode:ki.isIE()?document.documentMode||7:10,cacheSuffix:null,container:null,canHaveCSP:!ki.isIE(),windowsPhone:VS,browser:{current:ki.current,version:ki.version,isChromium:ki.isChromium,isEdge:ki.isEdge,isFirefox:ki.isFirefox,isIE:ki.isIE,isOpera:ki.isOpera,isSafari:ki.isSafari},os:{current:Zc.current,version:Zc.version,isAndroid:Zc.isAndroid,isChromeOS:Zc.isChromeOS,isFreeBSD:Zc.isFreeBSD,isiOS:Zc.isiOS,isLinux:Zc.isLinux,isMacOS:Zc.isMacOS,isSolaris:Zc.isSolaris,isWindows:Zc.isWindows},deviceType:{isDesktop:Qu.isDesktop,isiPad:Qu.isiPad,isiPhone:Qu.isiPhone,isPhone:Qu.isPhone,isTablet:Qu.isTablet,isTouch:Qu.isTouch,isWebView:Qu.isWebView}},BT=/^\s*|\s*$/g,_v=e=>on(e)?"":(""+e).replace(BT,""),Bo=(e,t)=>t?t==="array"&&hm(e)?!0:typeof e===t:e!==void 0,NT=(e,t,o={})=>{const r=q(e)?e.split(t||","):e||[];let c=r.length;for(;c--;)o[r[c]]={};return o},v1=Ut,PT=(e,...t)=>{for(let o=0;ot.call(r,c,u,o)===!1?!1:(Ov(c,t,o,r),!0)))},Oe={trim:_v,isArray:hm,is:Bo,toArray:DS,makeMap:NT,each:c1,map:pm,grep:Xg,inArray:Le,hasOwn:v1,extend:PT,walk:Ov,resolve:(e,t=window)=>{const o=e.split(".");for(let r=0,c=o.length;rgn(e)?e:e===""?[]:pm(e.split(t||","),_v),_addCacheSuffix:e=>{const t=dn.cacheSuffix;return t&&(e+=(e.indexOf("?")===-1?"?":"&")+t),e}},Oa=(e,t)=>{const r=(t||document).createElement("div");if(r.innerHTML=e,!r.hasChildNodes()||r.childNodes.length>1){const c="HTML does not have a single root node";throw console.error(c,e),new Error(c)}return th(r.childNodes[0])},y1=(e,t)=>{const r=(t||document).createElement(e);return th(r)},Wc=(e,t)=>{const r=(t||document).createTextNode(e);return th(r)},th=e=>{if(e==null)throw new Error("Node cannot be null or undefined");return{dom:e}},U={fromHtml:Oa,fromTag:y1,fromText:Wc,fromDom:th,fromPoint:(e,t,o)=>B.from(e.dom.elementFromPoint(t,o)).map(th)},ga=(e,t)=>{t.fold(o=>{e.setStartBefore(o.dom)},(o,r)=>{e.setStart(o.dom,r)},o=>{e.setStartAfter(o.dom)})},ed=(e,t)=>{t.fold(o=>{e.setEndBefore(o.dom)},(o,r)=>{e.setEnd(o.dom,r)},o=>{e.setEndAfter(o.dom)})},Rv=(e,t,o)=>{const r=e.document.createRange();return ga(r,t),ed(r,o),r},kf=(e,t,o,r,c)=>{const u=e.document.createRange();return u.setStart(t.dom,o),u.setEnd(r.dom,c),u},yr=Ql.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),ha=(e,t,o)=>t(U.fromDom(o.startContainer),o.startOffset,U.fromDom(o.endContainer),o.endOffset),Mv=(e,t)=>t.match({domRange:o=>({ltr:Me(o),rtl:B.none}),relative:(o,r)=>({ltr:Qa(()=>Rv(e,o,r)),rtl:Qa(()=>B.some(Rv(e,r,o)))}),exact:(o,r,c,u)=>({ltr:Qa(()=>kf(e,o,r,c,u)),rtl:Qa(()=>B.some(kf(e,c,u,o,r)))})}),Bv=(e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter(c=>c.collapsed===!1).map(c=>yr.rtl(U.fromDom(c.endContainer),c.endOffset,U.fromDom(c.startContainer),c.startOffset)).getOrThunk(()=>ha(e,yr.ltr,o)):ha(e,yr.ltr,o)},nh=(e,t)=>{const o=Mv(e,t);return Bv(e,o)};yr.ltr,yr.rtl;const ea=8,Nv=9,hl=11,oh=1,Pv=3,Da=(e,t)=>{const o=e.dom;if(o.nodeType!==oh)return!1;{const r=o;if(r.matches!==void 0)return r.matches(t);if(r.msMatchesSelector!==void 0)return r.msMatchesSelector(t);if(r.webkitMatchesSelector!==void 0)return r.webkitMatchesSelector(t);if(r.mozMatchesSelector!==void 0)return r.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},$v=e=>e.nodeType!==oh&&e.nodeType!==Nv&&e.nodeType!==hl||e.childElementCount===0,Ai=(e,t)=>{const o=t===void 0?document:t.dom;return $v(o)?[]:Ot(o.querySelectorAll(e),U.fromDom)},td=(e,t)=>{const o=t===void 0?document:t.dom;return $v(o)?B.none():B.from(o.querySelector(e)).map(U.fromDom)},sn=(e,t)=>e.dom===t.dom,tc=(e,t)=>{const o=e.dom,r=t.dom;return o===r?!1:o.contains(r)},C1=Da,US=(e,t)=>{const o=[],r=u=>(o.push(u),t(u));let c=t(e);do c=c.bind(r);while(c.isSome());return o},Wt=e=>e.dom.nodeName.toLowerCase(),su=e=>e.dom.nodeType,ss=e=>t=>su(t)===e,_i=e=>su(e)===ea||Wt(e)==="#comment",Oi=e=>bo(e)&&MT(e.dom),bo=ss(oh),An=ss(Pv),FT=ss(Nv),IT=ss(hl),pl=e=>t=>bo(t)&&Wt(t)===e,jc=e=>U.fromDom(e.dom.ownerDocument),Di=e=>FT(e)?e:jc(e),ms=e=>U.fromDom(Di(e).dom.documentElement),ru=e=>U.fromDom(Di(e).dom.defaultView),Ra=e=>B.from(e.dom.parentNode).map(U.fromDom),Gc=e=>B.from(e.dom.parentElement).map(U.fromDom),nc=(e,t)=>{const o=J(t)?t:Ee;let r=e.dom;const c=[];for(;r.parentNode!==null&&r.parentNode!==void 0;){const u=r.parentNode,f=U.fromDom(u);if(c.push(f),o(f)===!0)break;r=u}return c},On=e=>{const t=o=>ft(o,r=>!sn(e,r));return Ra(e).map(Do).map(t).getOr([])},oc=e=>B.from(e.dom.previousSibling).map(U.fromDom),Ri=e=>B.from(e.dom.nextSibling).map(U.fromDom),Cr=e=>Fo(US(e,oc)),Ps=e=>US(e,Ri),Do=e=>Ot(e.dom.childNodes,U.fromDom),qc=(e,t)=>{const o=e.dom.childNodes;return B.from(o[t]).map(U.fromDom)},$s=e=>qc(e,0),rs=e=>qc(e,e.dom.childNodes.length-1),ym=e=>e.dom.childNodes.length,ZS=e=>{const t=e.dom.head;if(t==null)throw new Error("Head is not available yet");return U.fromDom(t)},Fv=e=>IT(e)&&pe(e.dom.host),Ws=e=>U.fromDom(e.dom.getRootNode()),Iv=e=>Fv(e)?e:ZS(Di(e)),WS=e=>Fv(e)?e:U.fromDom(Di(e).dom.body),Cm=e=>{const t=Ws(e);return Fv(t)?B.some(t):B.none()},wt=e=>U.fromDom(e.dom.host),Lv=e=>{if(pe(e.target)){const t=U.fromDom(e.target);if(bo(t)&&Ts(t)&&e.composed&&e.composedPath){const o=e.composedPath();if(o)return ws(o)}}return B.from(e.target)},Ts=e=>pe(e.dom.shadowRoot),js=(e,t,o,r,c,u,f)=>({target:e,x:t,y:o,stop:r,prevent:c,kill:u,raw:f}),Gs=e=>{const t=U.fromDom(Lv(e).getOr(e.target)),o=()=>e.stopPropagation(),r=()=>e.preventDefault(),c=T(r,o);return js(t,e.clientX,e.clientY,o,r,c,e)},io=(e,t)=>o=>{e(o)&&t(Gs(o))},Sm=(e,t,o,r,c)=>{const u=io(o,r);return e.dom.addEventListener(t,u,c),{unbind:Ae(Kc,e,t,u,c)}},S1=(e,t,o,r)=>Sm(e,t,o,r,!1),Kc=(e,t,o,r)=>{e.dom.removeEventListener(t,o,r)},Mi=Qe,Hv=(e,t,o)=>S1(e,t,Mi,o),w1=()=>U.fromDom(document),x1=(e,t=!1)=>e.dom.focus({preventScroll:t}),au=e=>{const t=Ws(e).dom;return e.dom===t.activeElement},Bi=(e=w1())=>B.from(e.dom.activeElement).map(U.fromDom),LT=e=>Bi(Ws(e)).filter(t=>e.dom.contains(t.dom)),ar=(e,t)=>{Ra(e).each(r=>{r.dom.insertBefore(t.dom,e.dom)})},Ni=(e,t)=>{Ri(e).fold(()=>{Ra(e).each(c=>{pn(c,t)})},r=>{ar(r,t)})},bl=(e,t)=>{$s(e).fold(()=>{pn(e,t)},r=>{e.dom.insertBefore(t.dom,r.dom)})},pn=(e,t)=>{e.dom.appendChild(t.dom)},Ma=(e,t)=>{ar(e,t),pn(t,e)},jS=(e,t)=>{ie(t,o=>{ar(e,o)})},E1=(e,t)=>{ie(t,(o,r)=>{const c=r===0?e:t[r-1];Ni(c,o)})},sc=(e,t)=>{ie(t,o=>{pn(e,o)})},Rt=(e,t,o)=>{if(q(o)||Qt(o)||Kr(o))e.setAttribute(t,o+"");else throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple")},So=(e,t,o)=>{Rt(e.dom,t,o)},qs=(e,t)=>{const o=e.dom;hn(t,(r,c)=>{Rt(o,c,r)})},lo=(e,t)=>{const o=e.dom.getAttribute(t);return o===null?void 0:o},rc=(e,t)=>B.from(lo(e,t)),vo=(e,t)=>{const o=e.dom;return o&&o.hasAttribute?o.hasAttribute(t):!1},Go=(e,t)=>{e.dom.removeAttribute(t)},Af=e=>{const t=e.dom.attributes;return t==null||t.length===0},Xt=e=>os(e.dom.attributes,(t,o)=>(t[o.name]=o.value,t),{}),ac=e=>{e.dom.textContent="",ie(Do(e),t=>{no(t)})},no=e=>{const t=e.dom;t.parentNode!==null&&t.parentNode.removeChild(t)},cc=e=>{const t=Do(e);t.length>0&&E1(e,t),no(e)},ks=(e,t)=>U.fromDom(e.dom.cloneNode(t)),Sr=e=>ks(e,!1),sh=e=>ks(e,!0),GS=(e,t)=>{const o=U.fromTag(t),r=Xt(e);return qs(o,r),o},rh=(e,t)=>{const o=GS(e,t);Ni(e,o);const r=Do(e);return sc(o,r),no(e),o},ah=(e,t)=>{const r=(t||document).createElement("div");return r.innerHTML=e,Do(U.fromDom(r))},wm=e=>Ot(e,U.fromDom),wr=e=>e.dom.innerHTML,cu=(e,t)=>{const r=jc(e).dom,c=U.fromDom(r.createDocumentFragment()),u=ah(t,r);sc(c,u),ac(e),pn(e,c)},HT=e=>{const t=U.fromTag("div"),o=U.fromDom(e.dom.cloneNode(!0));return pn(t,o),wr(t)},xm=e=>e.style!==void 0&&J(e.style.getPropertyValue),Ln=e=>{const t=An(e)?e.dom.parentNode:e.dom;if(t==null||t.ownerDocument===null)return!1;const o=t.ownerDocument;return Cm(U.fromDom(t)).fold(()=>o.body.contains(t),Zo(Ln,wt))},T1=(e,t,o)=>{if(!q(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);xm(e)&&e.style.setProperty(t,o)},k1=(e,t)=>{xm(e)&&e.style.removeProperty(t)},pa=(e,t,o)=>{const r=e.dom;T1(r,t,o)},ic=(e,t)=>{const o=e.dom;hn(t,(r,c)=>{T1(o,c,r)})},No=(e,t)=>{const o=e.dom,c=window.getComputedStyle(o).getPropertyValue(t);return c===""&&!Ln(e)?nd(o,t):c},nd=(e,t)=>xm(e)?e.style.getPropertyValue(t):"",fs=(e,t)=>{const o=e.dom,r=nd(o,t);return B.from(r).filter(c=>c.length>0)},_f=e=>{const t={},o=e.dom;if(xm(o))for(let r=0;r{const o=e.dom;k1(o,t),so(rc(e,"style").map(Mo),"")&&Go(e,"style")},zv=e=>e.dom.offsetWidth,Pi=((e,t)=>{const o=(p,v)=>{if(!Kr(v)&&!v.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+v);const w=p.dom;xm(w)&&(w.style[e]=v+"px")},r=p=>{const v=t(p);if(v<=0||v===null){const w=No(p,e);return parseFloat(w)||0}return v},c=r,u=(p,v)=>os(v,(w,_)=>{const O=No(p,_),R=O===void 0?0:parseInt(O,10);return isNaN(R)?w:w+R},0);return{set:o,get:r,getOuter:c,aggregate:u,max:(p,v,w)=>{const _=u(p,w);return v>_?v-_:0}}})("height",e=>{const t=e.dom;return Ln(e)?t.getBoundingClientRect().height:t.offsetHeight}),zT=e=>Pi.get(e),qS=(e,t)=>({left:e,top:t,translate:(r,c)=>qS(e+r,t+c)}),$i=qS,KS=e=>{const t=e.getBoundingClientRect();return $i(t.left,t.top)},Of=(e,t)=>e!==void 0?e:t!==void 0?t:0,ch=e=>{const t=e.dom.ownerDocument,o=t.body,r=t.defaultView,c=t.documentElement;if(o===e.dom)return $i(o.offsetLeft,o.offsetTop);const u=Of(r==null?void 0:r.pageYOffset,c.scrollTop),f=Of(r==null?void 0:r.pageXOffset,c.scrollLeft),p=Of(c.clientTop,o.clientTop),v=Of(c.clientLeft,o.clientLeft);return ih(e).translate(f-v,u-p)},ih=e=>{const t=e.dom,r=t.ownerDocument.body;return r===t?$i(r.offsetLeft,r.offsetTop):Ln(e)?KS(t):$i(0,0)},Vv=e=>{const t=e!==void 0?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop;return $i(o,r)},YS=(e,t,o)=>{const c=(o!==void 0?o.dom:document).defaultView;c&&c.scrollTo(e,t)},Yc=(e,t)=>{Uc().browser.isSafari()&&J(e.dom.scrollIntoViewIfNeeded)?e.dom.scrollIntoViewIfNeeded(!1):e.dom.scrollIntoView(t)},VT=(e,t)=>{const o=u=>{if(!e(u))throw new Error("Can only get "+t+" value of a "+t+" node");return r(u).getOr("")},r=u=>e(u)?B.from(u.dom.nodeValue):B.none();return{get:o,getOption:r,set:(u,f)=>{if(!e(u))throw new Error("Can only set raw "+t+" value of a "+t+" node");u.dom.nodeValue=f}}},od=(e,t)=>{const r=(t||document).createDocumentFragment();return ie(e,c=>{r.appendChild(c.dom)}),U.fromDom(r)},Nn=VT(An,"text"),xr=e=>Nn.get(e),vl=e=>Nn.getOption(e),Uv=(e,t)=>Nn.set(e,t),sd=(e,t)=>{const o=lo(e,t);return o===void 0||o===""?[]:o.split(" ")},Zv=(e,t,o)=>{const c=sd(e,t).concat([o]);return So(e,t,c.join(" ")),!0},XS=(e,t,o)=>{const r=ft(sd(e,t),c=>c!==o);return r.length>0?So(e,t,r.join(" ")):Go(e,t),!1};var yl=(e,t,o,r,c)=>e(o,r)?B.some(o):J(c)&&c(o)?B.none():t(o,r,c);const Cl=(e,t,o)=>{let r=e.dom;const c=J(o)?o:Ee;for(;r.parentNode;){r=r.parentNode;const u=U.fromDom(r);if(t(u))return B.some(u);if(c(u))break}return B.none()},Un=(e,t,o)=>yl((c,u)=>u(c),Cl,e,t,o),JS=(e,t)=>{const o=e.dom;return o.parentNode?wo(U.fromDom(o.parentNode),r=>!sn(e,r)&&t(r)):B.none()},wo=(e,t)=>{const o=c=>t(U.fromDom(c));return Qn(e.dom.childNodes,o).map(U.fromDom)},lh=(e,t)=>{const o=r=>{for(let c=0;cCl(e,r=>Da(r,t),o),Sl=(e,t)=>td(t,e),cr=(e,t,o)=>yl((c,u)=>Da(c,u),qo,e,t,o),iu=e=>e.dom.classList!==void 0,_1=e=>sd(e,"class"),QS=(e,t)=>Zv(e,"class",t),Wv=(e,t)=>XS(e,"class",t),UT=(e,t)=>Bt(_1(e),t)?Wv(e,t):QS(e,t),Ba=(e,t)=>{iu(e)?e.dom.classList.add(t):QS(e,t)},rd=e=>{(iu(e)?e.dom.classList:_1(e)).length===0&&Go(e,"class")},As=(e,t)=>{iu(e)?e.dom.classList.remove(t):Wv(e,t),rd(e)},Ks=(e,t)=>{const o=iu(e)?e.dom.classList.toggle(t):UT(e,t);return rd(e),o},O1=(e,t)=>iu(e)&&e.dom.classList.contains(t),uh=(e,t)=>{ie(t,o=>{Ba(e,o)})},ew=(e,t)=>{ie(t,o=>{As(e,o)})},tw=e=>cr(e,"[contenteditable]"),Xc=(e,t=!1)=>Ln(e)?e.dom.isContentEditable:tw(e).fold(Me(t),o=>lR(o)==="true"),lR=e=>e.dom.contentEditable,Em=(e,t)=>{e.dom.contentEditable=t?"true":"false"},ad=e=>e.dom.textContent,ZT=(e,t)=>{e.dom.textContent=t},nw=(e,t,o)=>ft(nc(e,o),t),WT=(e,t)=>ft(Do(e),t),D1=(e,t)=>{let o=[];return ie(Do(e),r=>{t(r)&&(o=o.concat([r])),o=o.concat(D1(r,t))}),o},R1=(e,t,o)=>nw(e,r=>Da(r,t),o),Ys=(e,t)=>Ai(t,e),Df=(e,t,o)=>Cl(e,t,o).isSome(),M1=(e,t)=>JS(e,t).isSome(),B1=(e,t)=>lh(e,t).isSome(),jv=(e,t)=>Df(e,Ae(sn,t)),jT=(e,t,o)=>qo(e,t,o).isSome(),ow=(e,t,o)=>cr(e,t,o).isSome(),Gv=e=>J(e)?e:Ee,sw=(e,t,o)=>{let r=e.dom;const c=Gv(o);for(;r.parentNode;){r=r.parentNode;const u=U.fromDom(r),f=t(u);if(f.isSome())return f;if(c(u))break}return B.none()},cd=(e,t,o)=>{const r=t(e),c=Gv(o);return r.orThunk(()=>c(e)?B.none():sw(e,t,c))},GT=e=>vl(e).filter(t=>t.trim().length!==0||t.indexOf(Es)>-1).isSome(),qv=e=>Oi(e)&&lo(e,"contenteditable")==="false",qT=["img","br"],rw=e=>GT(e)||Bt(qT,Wt(e))||qv(e),aw=e=>lh(e,rw),cw={create:(e,t,o,r)=>({start:e,soffset:t,finish:o,foffset:r})},Kv=Ql.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),KT=(e,t,o,r)=>e.fold(t,o,r),N1=e=>e.fold($o,$o,$o),YT=Kv.before,P1=Kv.on,Yv=Kv.after,Jc={before:YT,on:P1,after:Yv,cata:KT,getStart:N1},id=Ql.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),XT=e=>id.exact(e.start,e.soffset,e.finish,e.foffset),JT=e=>e.match({domRange:t=>U.fromDom(t.startContainer),relative:(t,o)=>Jc.getStart(t),exact:(t,o,r,c)=>t}),iw=id.domRange,lu=id.relative,dh=id.exact,Xv=e=>{const t=JT(e);return ru(t)},QT=cw.create,_o={domRange:iw,relative:lu,exact:dh,exactFromRange:XT,getWin:Xv,range:QT},Ko=(e,t,o)=>{var r;return B.from((r=e.caretPositionFromPoint)==null?void 0:r.call(e,t,o)).bind(c=>{if(c.offsetNode===null)return B.none();const u=e.createRange();return u.setStart(c.offsetNode,c.offset),u.collapse(),B.some(u)})},ld=(e,t,o)=>{var r;return B.from((r=e.caretRangeFromPoint)==null?void 0:r.call(e,t,o))},Rf=(e,t,o)=>e.caretPositionFromPoint?Ko(e,t,o):e.caretRangeFromPoint?ld(e,t,o):B.none(),Jv=(e,t,o)=>{const r=e.document;return Rf(r,t,o).map(c=>cw.create(U.fromDom(c.startContainer),c.startOffset,U.fromDom(c.endContainer),c.endOffset))},Fs=(e,t)=>{const o=Wt(e);return o==="input"?Jc.after(e):Bt(["br","img"],o)?t===0?Jc.before(e):Jc.after(e):Jc.on(e,t)},Qv=(e,t)=>{const o=e.fold(Jc.before,Fs,Jc.after),r=t.fold(Jc.before,Fs,Jc.after);return _o.relative(o,r)},uu=(e,t,o,r)=>{const c=Fs(e,t),u=Fs(o,r);return _o.relative(c,u)},$1=e=>e.match({domRange:t=>{const o=U.fromDom(t.startContainer),r=U.fromDom(t.endContainer);return uu(o,t.startOffset,r,t.endOffset)},relative:Qv,exact:uu}),ta=e=>{const t=_o.getWin(e).dom,o=(c,u,f,p)=>kf(t,c,u,f,p),r=$1(e);return nh(t,r).match({ltr:o,rtl:o})},lw=(e,t,o)=>Jv(e,t,o),Na=e=>{const t=e===void 0?window:e;return Uc().browser.isFirefox()?B.none():B.from(t.visualViewport)},Tm=(e,t,o,r)=>({x:e,y:t,width:o,height:r,right:e+o,bottom:t+r}),mh=e=>{const t=e===void 0?window:e,o=t.document,r=Vv(U.fromDom(o));return Na(t).fold(()=>{const c=t.document.documentElement,u=c.clientWidth,f=c.clientHeight;return Tm(r.left,r.top,u,f)},c=>Tm(Math.max(c.pageLeft,r.left),Math.max(c.pageTop,r.top),c.width,c.height))};class gs{constructor(t,o){Re(this,"rootNode");Re(this,"node");this.node=t,this.rootNode=o,this.current=this.current.bind(this),this.next=this.next.bind(this),this.prev=this.prev.bind(this),this.prev2=this.prev2.bind(this)}current(){return this.node}next(t){return this.node=this.findSibling(this.node,"firstChild","nextSibling",t),this.node}prev(t){return this.node=this.findSibling(this.node,"lastChild","previousSibling",t),this.node}prev2(t){return this.node=this.findPreviousNode(this.node,t),this.node}findSibling(t,o,r,c){if(t){if(!c&&t[o])return t[o];if(t!==this.rootNode){let u=t[r];if(u)return u;for(let f=t.parentNode;f&&f!==this.rootNode;f=f.parentNode)if(u=f[r],u)return u}}}findPreviousNode(t,o){if(t){const r=t.previousSibling;if(this.rootNode&&r===this.rootNode)return;if(r){if(!o){for(let u=r.lastChild;u;u=u.lastChild)if(!u.lastChild)return u}return r}const c=t.parentNode;if(c&&c!==this.rootNode)return c}}}const uw=/^[ \t\r\n]*$/,ud=e=>uw.test(e),ek=e=>{for(const t of e)if(!nu(t))return!1;return!0},dw=e=>" \f \v".indexOf(e)!==-1,F1=e=>e===` +`||e==="\r",dR=(e,t)=>t=0?F1(e[t]):!1,mw=(e,t=4,o=!0,r=!0)=>{const c=tu(" ",t),u=e.replace(/\t/g,c);return os(u,(p,v)=>dw(v)||v===Es?p.pcIsSpace||p.str===""&&o||p.str.length===u.length-1&&r||dR(u,p.str.length+1)?{pcIsSpace:!1,str:p.str+Es}:{pcIsSpace:!0,str:p.str+" "}:{pcIsSpace:F1(v),str:p.str+v},{pcIsSpace:!1,str:""}).str},xo=e=>t=>!!t&&t.nodeType===e,du=e=>!!e&&!Object.getPrototypeOf(e),ot=xo(1),Is=e=>ot(e)&&Oi(U.fromDom(e)),e2=e=>ot(e)&&e.namespaceURI==="http://www.w3.org/2000/svg",dd=e=>{const t=e.toLowerCase();return o=>pe(o)&&o.nodeName.toLowerCase()===t},Fi=e=>{const t=e.map(o=>o.toLowerCase());return o=>{if(o&&o.nodeName){const r=o.nodeName.toLowerCase();return Bt(t,r)}return!1}},fh=(e,t)=>{const o=t.toLowerCase().split(" ");return r=>{if(ot(r)){const c=r.ownerDocument.defaultView;if(c)for(let u=0;ut=>ot(t)&&t.hasAttribute(e),lc=e=>ot(e)&&e.hasAttribute("data-mce-bogus"),nk=e=>ot(e)&&e.getAttribute("data-mce-bogus")==="all",Xs=e=>ot(e)&&e.tagName==="TABLE",I1=e=>t=>!!(Is(t)&&(t.contentEditable===e||t.getAttribute("data-mce-contenteditable")===e)),gh=Fi(["textarea","input"]),Se=xo(3),en=xo(4),hh=xo(7),Ii=xo(8),Mf=xo(9),Pa=xo(11),uo=dd("br"),L1=dd("img"),fw=dd("a"),ir=I1("true"),ro=I1("false"),ph=e=>Is(e)&&e.isContentEditable&&pe(e.parentElement)&&!e.parentElement.isContentEditable,bh=Fi(["td","th"]),t2=Fi(["td","th","caption"]),n2=dd("template"),uc=Fi(["video","audio","object","embed"]),H1=dd("li"),o2=dd("details"),s2=dd("summary"),z1="uc-video",Bf=dd(z1),gw={skipBogus:!0,includeZwsp:!1,checkRootAsContent:!1},ok=(e,t,o)=>{const r=U.fromDom(t),c=U.fromDom(e),u=o.getWhitespaceElements();return Df(c,p=>Ut(u,Wt(p)),Ae(sn,r))},r2=e=>ot(e)&&e.nodeName==="A"&&!e.hasAttribute("href")&&(e.hasAttribute("name")||e.hasAttribute("id")),sk=(e,t)=>ot(e)&&Ut(t.getNonEmptyElements(),e.nodeName),vh=tk("data-mce-bookmark"),mR=e=>Gc(U.fromDom(e)).exists(t=>!Xc(t)),dc=(e,t,o)=>ud(e.data)&&!ok(e,t,o),Et=(e,t,o,r)=>Se(e)&&!dc(e,t,o)&&(!r.includeZwsp||!ek(e.data)),mc=(e,t,o,r)=>J(r.isContent)&&r.isContent(t)||sk(t,e)||vh(t)||r2(t)||Et(t,o,e,r)||ro(t)||ir(t)&&mR(t),fc=(e,t,o)=>{const r={...gw,...o};if(r.checkRootAsContent&&mc(e,t,t,r))return!1;let c=t.firstChild,u=0;if(!c)return!0;const f=new gs(c,t);do{if(r.skipBogus&&ot(c)){const p=c.getAttribute("data-mce-bogus");if(p){c=f.next(p==="all");continue}}if(Ii(c)){c=f.next(!0);continue}if(uo(c)){u++,c=f.next();continue}if(mc(e,c,t,r))return!1;c=f.next()}while(c);return u<=1},Er=(e,t,o)=>fc(e,t.dom,{checkRootAsContent:!0,...o}),hw=(e,t,o)=>mc(e,t,t,{includeZwsp:gw.includeZwsp,...o}),yh=e=>{const t=e.toLowerCase();return t==="svg"?"svg":t==="math"?"math":"html"},md=e=>yh(e)!=="html",mu=e=>md(e.nodeName),a2=e=>yh(e.nodeName),km=["svg","math"],pw=()=>{const e=Vc(),t=()=>e.get().map(a2).getOr("html");return{track:c=>(mu(c)?e.set(c):e.get().exists(u=>!u.contains(c))&&e.clear(),t()),current:t,reset:()=>{e.clear()}}},V1="data-mce-block",Eo=e=>ft(mt(e),t=>!/[A-Z]/.test(t)),$a=e=>Ot(Eo(e),t=>{const o=CSS.escape(t);return`${o}:`+Ot(km,r=>`not(${r} ${o})`).join(":")}).join(","),Ir=(e,t)=>pe(t.querySelector(e))?(t.setAttribute(V1,"true"),t.getAttribute("data-mce-selected")==="inline-boundary"&&t.removeAttribute("data-mce-selected"),!0):(t.removeAttribute(V1),!1),Am=(e,t)=>{const o=$a(e.getTransparentElements()),r=$a(e.getBlockElements());return ft(t.querySelectorAll(o),c=>Ir(r,c))},Tr=(e,t,o)=>{var c;const r=o?"lastChild":"firstChild";for(let u=t[r];u;u=u[r])if(fc(e,u,{checkRootAsContent:!0})){(c=u.parentNode)==null||c.removeChild(u);return}},_m=(e,t,o)=>{const r=document.createRange(),c=t.parentNode;if(c){r.setStartBefore(t),r.setEndBefore(o);const u=r.extractContents();Tr(e,u,!0),r.setStartAfter(o),r.setEndAfter(t);const f=r.extractContents();Tr(e,f,!1),fc(e,u,{checkRootAsContent:!0})||c.insertBefore(u,t),fc(e,o,{checkRootAsContent:!0})||c.insertBefore(o,t),fc(e,f,{checkRootAsContent:!0})||c.insertBefore(f,t),c.removeChild(t)}},Js=(e,t,o)=>{const r=e.getBlockElements(),c=U.fromDom(t),u=p=>Wt(p)in r,f=p=>sn(p,c);ie(wm(o),p=>{Cl(p,u,f).each(v=>{const w=WT(p,_=>u(_)&&!e.isValidChild(Wt(v),Wt(_)));if(w.length>0){const _=Gc(v);ie(w,O=>{Cl(O,u,f).each(R=>{_m(e,R.dom,O.dom)})}),_.each(O=>Am(e,O.dom))}})})},Lr=(e,t,o)=>{ie([...o,...lr(e,t)?[t]:[]],r=>ie(Ys(U.fromDom(r),r.nodeName.toLowerCase()),c=>{rk(e,c.dom)&&cc(c)}))},Nf=(e,t)=>{const o=Am(e,t);Js(e,t,o),Lr(e,t,o)},Te=(e,t)=>{if(Ia(e,t)){const o=$a(e.getBlockElements());Ir(o,t)}},Fa=(e,t,o)=>{const r=u=>sn(u,U.fromDom(t)),c=nc(U.fromDom(o),r);Lc(c,c.length-2).filter(bo).fold(()=>Nf(e,t),u=>Nf(e,u.dom))},Ch=e=>e.hasAttribute(V1),Yo=(e,t)=>Ut(e.getTransparentElements(),t),Ia=(e,t)=>ot(t)&&Yo(e,t.nodeName),lr=(e,t)=>Ia(e,t)&&Ch(t),rk=(e,t)=>Ia(e,t)&&!Ch(t),Li=(e,t)=>t.type===1&&Yo(e,t.name)&&q(t.attr(V1)),bw=Uc().browser,na=e=>Qn(e,bo),Dn=e=>bw.isFirefox()&&Wt(e)==="table"?na(Do(e)).filter(t=>Wt(t)==="caption").bind(t=>na(Ps(t)).map(o=>{const r=o.dom.offsetTop,c=t.dom.offsetTop,u=t.dom.offsetHeight;return r<=c?-u:0})).getOr(0):0,Qc=(e,t)=>e.children&&Bt(e.children,t),Sh=(e,t,o)=>{let r=0,c=0;const u=e.ownerDocument;if(o=o||e,t){if(o===e&&t.getBoundingClientRect&&No(U.fromDom(e),"position")==="static"){const p=t.getBoundingClientRect();return r=p.left+(u.documentElement.scrollLeft||e.scrollLeft)-u.documentElement.clientLeft,c=p.top+(u.documentElement.scrollTop||e.scrollTop)-u.documentElement.clientTop,{x:r,y:c}}let f=t;for(;f&&f!==o&&f.nodeType&&!Qc(f,o);){const p=f;r+=p.offsetLeft||0,c+=p.offsetTop||0,f=p.offsetParent}for(f=t.parentNode;f&&f!==o&&f.nodeType&&!Qc(f,o);)r-=f.scrollLeft||0,c-=f.scrollTop||0,f=f.parentNode;c+=Dn(U.fromDom(t))}return{x:r,y:c}},To=(e,t)=>{const o=t.crossOrigin;return t.contentCssCors?"anonymous":J(o)?o(e):void 0},c2=(e,t={})=>{let o=0;const r={},c=U.fromDom(e),u=Di(c),f=X=>{t.referrerPolicy=X},p=X=>{t.contentCssCors=X},v=X=>{t.crossOrigin=X},w=X=>{pn(Iv(c),X)},_=X=>{const ee=Iv(c);Sl(ee,"#"+X).each(no)},O=X=>po(r,X).getOrThunk(()=>({id:"mce-u"+o++,passed:[],failed:[],count:0})),R=X=>new Promise((ee,fe)=>{let we;const xt=Oe._addCacheSuffix(X),at=O(xt);r[xt]=at,at.count++;const oe=(it,Jt)=>{ie(it,Yr),at.status=Jt,at.passed=[],at.failed=[],we&&(we.onload=null,we.onerror=null,we=null)},ge=()=>oe(at.passed,2),_e=()=>oe(at.failed,3);if(ee&&at.passed.push(ee),fe&&at.failed.push(fe),at.status===1)return;if(at.status===2){ge();return}if(at.status===3){_e();return}at.status=1;const Pe=U.fromTag("link",u.dom);qs(Pe,{rel:"stylesheet",type:"text/css",id:at.id});const Ue=To(X,t);Ue!==void 0&&So(Pe,"crossOrigin",Ue),t.referrerPolicy&&So(Pe,"referrerpolicy",t.referrerPolicy),we=Pe.dom,we.onload=ge,we.onerror=_e,w(Pe),So(Pe,"href",xt)}),P=(X,ee)=>{const fe=O(X);r[X]=fe,fe.count++;const we=U.fromTag("style",u.dom);qs(we,{rel:"stylesheet",type:"text/css",id:fe.id,"data-mce-key":X}),we.dom.innerHTML=ee,w(we)},z=X=>Promise.allSettled(Ot(X,fe=>R(fe).then(Me(fe)))).then(fe=>{const we=Nr(fe,xt=>xt.status==="fulfilled");return we.fail.length>0?Promise.reject(Ot(we.fail,xt=>xt.reason)):Ot(we.pass,xt=>xt.value)}),I=X=>{const ee=Oe._addCacheSuffix(X);po(r,ee).each(fe=>{--fe.count===0&&(delete r[ee],_(fe.id))})};return{load:R,loadRawCss:P,loadAll:z,unload:I,unloadRawCss:X=>{po(r,X).each(ee=>{--ee.count===0&&(delete r[X],_(ee.id))})},unloadAll:X=>{ie(X,ee=>{I(ee)})},_setReferrerPolicy:f,_setContentCssCors:p,_setCrossOrigin:v}},ei=(()=>{const e=new WeakMap;return{forElement:(o,r)=>{const u=Ws(o).dom;return B.from(e.get(u)).getOrThunk(()=>{const f=c2(u,r);return e.set(u,f),f})}}})(),U1=e=>e.nodeName.toLowerCase()==="span",oa=(e,t)=>pe(e)&&(hw(t,e)||t.isInline(e.nodeName.toLowerCase())),ak=(e,t,o)=>{const r=new gs(e,t).prev(!1),c=new gs(e,t).next(!1),u=ls(r)||oa(r,o),f=ls(c)||oa(c,o);return u&&f},ae=e=>U1(e)&&e.getAttribute("data-mce-type")==="bookmark",La=(e,t,o)=>Se(e)&&e.data.length>0&&ak(e,t,o),i2=e=>ot(e)?e.childNodes.length>0:!1,ko=e=>Pa(e)||Mf(e),Hr=(e,t,o,r)=>{var f;const c=r||t;if(ot(t)&&ae(t))return t;const u=t.childNodes;for(let p=u.length-1;p>=0;p--)Hr(e,u[p],o,c);if(ot(t)){const p=t.childNodes;p.length===1&&ae(p[0])&&((f=t.parentNode)==null||f.insertBefore(p[0],t))}return!ko(t)&&!hw(o,t)&&!i2(t)&&!La(t,c,o)&&e.remove(t),t},Qs=Oe.makeMap,Pn=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,wh=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,fd=/[<>&\"\']/g,yw=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,Pf={128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},Hi={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},Cw={"<":"<",">":">","&":"&",""":'"',"'":"'"},ck=e=>{const t=U.fromTag("div").dom;return t.innerHTML=e,t.textContent||t.innerText||e},gd=(e,t)=>{const o={};if(e){const r=e.split(",");t=t||10;for(let c=0;ce.replace(t?Pn:wh,o=>Hi[o]||o),ik=e=>(""+e).replace(fd,t=>Hi[t]||t),l2=(e,t)=>e.replace(t?Pn:wh,o=>o.length>1?"&#"+((o.charCodeAt(0)-55296)*1024+(o.charCodeAt(1)-56320)+65536)+";":Hi[o]||"&#"+o.charCodeAt(0)+";"),_s=(e,t,o)=>{const r=o||hd;return e.replace(t?Pn:wh,c=>Hi[c]||r[c]||c)},gc={encodeRaw:Sw,encodeAllRaw:ik,encodeNumeric:l2,encodeNamed:_s,getEncodeFunc:(e,t)=>{const o=gd(t)||hd,r=(f,p)=>f.replace(p?Pn:wh,v=>Hi[v]!==void 0?Hi[v]:o[v]!==void 0?o[v]:v.length>1?"&#"+((v.charCodeAt(0)-55296)*1024+(v.charCodeAt(1)-56320)+65536)+";":"&#"+v.charCodeAt(0)+";"),c=(f,p)=>_s(f,p,o),u=Qs(e.replace(/\+/g,","));return u.named&&u.numeric?r:u.named?t?c:_s:u.numeric?l2:Sw},decode:e=>e.replace(yw,(t,o)=>o?(o.charAt(0).toLowerCase()==="x"?o=parseInt(o.substr(1),16):o=parseInt(o,10),o>65535?(o-=65536,String.fromCharCode(55296+(o>>10),56320+(o&1023))):Pf[o]||String.fromCharCode(o)):Cw[t]||hd[t]||ck(t))},hs=(e,t)=>(e=Oe.trim(e),e?e.split(t||" "):[]),zr=e=>new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$"),$f=e=>fn(e)&&e.source&&Object.prototype.toString.call(e)==="[object RegExp]",ps=e=>{const t=o=>gn(o)?Ot(o,t):$f(o)?new RegExp(o.source,o.flags):fn(o)?lv(o,t):o;return t(e)},u2=e=>{const t=/^(~)?(.+)$/;return Bn(hs(e,","),o=>{const r=t.exec(o);if(r){const u=r[1]==="~"?"span":"div",f=r[2];return[{cloneName:u,name:f}]}else return[]})},hc=e=>Object.freeze(["id","accesskey","class","dir","lang","style","tabindex","title","role",...e!=="html4"?["contenteditable","contextmenu","draggable","dropzone","hidden","spellcheck","translate","itemprop","itemscope","itemtype"]:[],...e!=="html5-strict"?["xml:lang"]:[]]),pc=e=>{let t,o;t="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",o="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment",e!=="html4"&&(t+=" article aside details dialog figure main header footer hgroup section nav "+"a ins del canvas map",o+=" audio canvas command data datalist mark meter output picture progress template time wbr video ruby bdi keygen svg"),e!=="html5-strict"&&(o=[o,"acronym applet basefont big font strike tt"].join(" "),t=[t,"center dir isindex noframes"].join(" "));const r=[t,o].join(" ");return{blockContent:t,phrasingContent:o,flowContent:r}},Z1=e=>{const{blockContent:t,phrasingContent:o,flowContent:r}=pc(e),c=u=>Object.freeze(u.split(" "));return Object.freeze({blockContent:c(t),phrasingContent:c(o),flowContent:c(r)})},Os={html4:Qa(()=>Z1("html4")),html5:Qa(()=>Z1("html5")),"html5-strict":Qa(()=>Z1("html5-strict"))},Om=(e,t)=>{const{blockContent:o,phrasingContent:r,flowContent:c}=Os[e]();return t==="blocks"?B.some(o):t==="phrasing"?B.some(r):t==="flow"?B.some(c):B.none()},fu=e=>{const t=hc(e),{phrasingContent:o,flowContent:r}=pc(e),c={},u=(v,w,_)=>{c[v]={attributes:jg(w,Me({})),attributesOrder:w,children:jg(_,Me({}))}},f=(v,w="",_="")=>{const O=hs(_),R=hs(v);let P=R.length;const z=[...t,...hs(w)];for(;P--;)u(R[P],z.slice(),O)},p=(v,w)=>{const _=hs(v),O=hs(w);let R=_.length;for(;R--;){const P=c[_[R]];for(let z=0,I=O.length;z{f(_,"",o)}),ie(hs("center dir isindex noframes"),_=>{f(_,"",r)})),f("html","manifest","head body"),f("head","","base command link meta noscript script style title"),f("title hr noscript br"),f("base","href target"),f("link","href rel media hreflang type sizes hreflang"),f("meta","name http-equiv content charset property"),f("style","media type scoped"),f("script","src async defer type charset"),f("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",r),f("dd div","",r),f("address dt caption","",e==="html4"?o:r),f("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",o),f("blockquote","cite",r),f("ol","reversed start type","li"),f("ul","","li"),f("li","value",r),f("dl","","dt dd"),f("a","href target rel media hreflang type",e==="html4"?o:r),f("q","cite",o),f("ins del","cite datetime",r),f("img","src sizes srcset alt usemap ismap width height"),f("iframe","src name width height",r),f("embed","src type width height"),f("object","data type typemustmatch name usemap form width height",[r,"param"].join(" ")),f("param","name value"),f("map","name",[r,"area"].join(" ")),f("area","alt coords shape href target rel media hreflang type"),f("table","border","caption colgroup thead tfoot tbody tr"+(e==="html4"?" col":"")),f("colgroup","span","col"),f("col","span"),f("tbody thead tfoot","","tr"),f("tr","","td th"),f("td","colspan rowspan headers",r),f("th","colspan rowspan headers scope abbr",r),f("form","accept-charset action autocomplete enctype method name novalidate target",r),f("fieldset","disabled form name",[r,"legend"].join(" ")),f("label","form for",o),f("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),f("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value",e==="html4"?r:o),f("select","disabled form multiple name required size","option optgroup"),f("optgroup","disabled label","option"),f("option","disabled label selected value"),f("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),f("menu","type label",[r,"li"].join(" ")),f("noscript","",r),e!=="html4"&&(f("wbr"),f("ruby","",[o,"rt rp"].join(" ")),f("figcaption","",r),f("mark rt rp bdi","",o),f("summary","",[o,"h1 h2 h3 h4 h5 h6"].join(" ")),f("canvas","width height",r),f("data","value",o),f("video","src crossorigin poster preload autoplay mediagroup loop controlslist disablepictureinpicture disableremoteplayback playsinline muted controls width height buffered",[r,"track source"].join(" ")),f("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[r,"track source"].join(" ")),f("picture","","img source"),f("source","src srcset type media sizes"),f("track","kind src srclang label default"),f("datalist","",[o,"option"].join(" ")),f("article section nav aside main header footer","",r),f("hgroup","","h1 h2 h3 h4 h5 h6"),f("figure","",[r,"figcaption"].join(" ")),f("time","datetime",o),f("dialog","open",r),f("command","type label icon disabled checked radiogroup command"),f("output","for form name",o),f("progress","value max",o),f("meter","value min max low high optimum",o),f("details","open",[r,"summary"].join(" ")),f("keygen","autofocus challenge disabled form keytype name"),u("svg","id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform".split(" "),[])),e!=="html5-strict"&&(p("script","language xml:space"),p("style","xml:space"),p("object","declare classid code codebase codetype archive standby align border hspace vspace"),p("embed","align name hspace vspace"),p("param","valuetype type"),p("a","charset name rev shape coords"),p("br","clear"),p("applet","codebase archive code object alt name width height align hspace vspace"),p("img","name longdesc align border hspace vspace"),p("iframe","longdesc frameborder marginwidth marginheight scrolling align"),p("font basefont","size color face"),p("input","usemap align"),p("select"),p("textarea"),p("h1 h2 h3 h4 h5 h6 div p legend caption","align"),p("ul","type compact"),p("li","type"),p("ol dl menu dir","compact"),p("pre","width xml:space"),p("hr","align noshade size width"),p("isindex","prompt"),p("table","summary width frame rules cellspacing cellpadding align bgcolor"),p("col","width align char charoff valign"),p("colgroup","width align char charoff valign"),p("thead","align char charoff valign"),p("tr","align char charoff valign bgcolor"),p("th","axis align char charoff valign nowrap bgcolor width height"),p("form","accept"),p("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),p("tfoot","align char charoff valign"),p("tbody","align char charoff valign"),p("area","nohref"),p("body","background bgcolor text link vlink alink")),e!=="html4"&&(p("input button select textarea","autofocus"),p("input textarea","placeholder"),p("a","download"),p("link script img","crossorigin"),p("img","loading"),p("iframe","sandbox seamless allow allowfullscreen loading referrerpolicy")),e!=="html4"&&ie([c.video,c.audio],v=>{delete v.children.audio,delete v.children.video}),ie(hs("a form meter progress dfn"),v=>{c[v]&&delete c[v].children[v]}),delete c.caption.children.table,delete c.script,c},Dm=e=>e==="-"?"remove":"add",gu=e=>{const t=/^(@?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)$/;return B.from(t.exec(e)).map(o=>({preset:o[1]==="@",name:o[2]}))},lk=e=>{const t=/^([+\-]?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)\[([^\]]+)]$/;return Bn(hs(e,","),o=>{const r=t.exec(o);if(r){const c=r[1],u=c?Dm(c):"replace",f=r[2],p=Bn(hs(r[3],"|"),v=>gu(v).toArray());return[{operation:u,name:f,validChildren:p}]}else return[]})},W1=(e,t)=>{const o=/^([!\-])?(\w+[\\:]:\w+|[^=~<]+)?(?:([=~<])(.*))?$/,r=/[*?+]/,{attributes:c,attributesOrder:u}=t;return ie(hs(e,"|"),f=>{const p=o.exec(f);if(p){const v={},w=p[1],_=p[2].replace(/[\\:]:/g,":"),O=p[3],R=p[4];if(w==="!"&&(t.attributesRequired=t.attributesRequired||[],t.attributesRequired.push(_),v.required=!0),w==="-"){delete c[_],u.splice(Oe.inArray(u,_),1);return}if(O&&(O==="="?(t.attributesDefault=t.attributesDefault||[],t.attributesDefault.push({name:_,value:R}),v.defaultValue=R):O==="~"?(t.attributesForced=t.attributesForced||[],t.attributesForced.push({name:_,value:R}),v.forcedValue=R):O==="<"&&(v.validValues=Oe.makeMap(R,"?"))),r.test(_)){const P=v;t.attributePatterns=t.attributePatterns||[],P.pattern=zr(_),t.attributePatterns.push(P)}else c[_]||u.push(_),c[_]=v}})},Ff=(e,t)=>{hn(e.attributes,(o,r)=>{t.attributes[r]=o}),t.attributesOrder.push(...e.attributesOrder)},uk=(e,t)=>{const o=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)])?$/;return Bn(hs(t,","),r=>{const c=o.exec(r);if(c){const u=c[1],f=c[2],p=c[3],v=c[4],w=c[5],_={attributes:{},attributesOrder:[]};if(e.each(O=>Ff(O,_)),u==="#"?_.paddEmpty=!0:u==="-"&&(_.removeEmpty=!0),v==="!"&&(_.removeEmptyAttrs=!0),w&&W1(w,_),p&&(_.outputName=f),f==="@")if(e.isNone())e=B.some(_);else return[];return[p?{name:f,element:_,aliasName:p}:{name:f,element:_}]}else return[]})},Oo={},xh=Oe.makeMap,kr=Oe.each,If=Oe.extend,j1=Oe.explode,vd=(e,t={})=>{const o=xh(e," ",xh(e.toUpperCase()," "));return If(o,t)},Ha=e=>vd("td th li dt dd figcaption caption details summary",e.getTextBlockElements()),hu=(e,t)=>{if(e){const o={};return q(e)&&(e={"*":e}),kr(e,(r,c)=>{o[c]=o[c.toUpperCase()]=t==="map"?xh(r,/[, ]/):j1(r,/[, ]/)}),o}else return},bc=(e={})=>{const t={},o={};let r=[];const c={},u={},f={},p=(_t,cn,Ss)=>{const Co=e[_t];if(Co)return xh(Co,/[, ]/,xh(Co.toUpperCase(),/[, ]/));{let Jn=Oo[_t];return Jn||(Jn=vd(cn,Ss),Oo[_t]=Jn),Jn}},v=e.schema??"html5",w=fu(v);e.verify_html===!1&&(e.valid_elements="*[*]");const _=hu(e.valid_styles),O=hu(e.invalid_styles,"map"),R=hu(e.valid_classes,"map"),P=p("whitespace_elements","pre script noscript style textarea video audio iframe object code"),z=p("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),I=p("void_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),Z=p("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls allowfullscreen"),Y="td th iframe video audio object script code",X=p("non_empty_elements",Y+" pre svg textarea summary",I),ee=p("move_caret_before_on_enter_elements",Y+" table",I),fe="h1 h2 h3 h4 h5 h6",we=p("text_block_elements",fe+" p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"),xt=p("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary html body multicol listing colgroup col",we),at=p("text_inline_elements","span strong b em i font s strike u var cite dfn code mark q sup sub samp"),oe=p("transparent_elements","a ins del canvas map"),ge=p("wrap_block_elements","pre "+fe);kr("script noscript iframe noframes noembed title style textarea xmp plaintext".split(" "),_t=>{u[_t]=new RegExp("]*>","gi")});const _e=_t=>{const cn=B.from(t["@"]),Ss=/[*?+]/;ie(uk(cn,_t??""),({name:Co,element:Jn,aliasName:Vo})=>{if(Vo&&(t[Vo]=Jn),Ss.test(Co)){const Zs=Jn;Zs.pattern=zr(Co),r.push(Zs)}else t[Co]=Jn})},Pe=_t=>{r=[],ie(mt(t),cn=>{delete t[cn]}),_e(_t)},Ue=(_t,cn)=>{delete Oo.text_block_elements,delete Oo.block_elements;const Ss=cn.extends?!la(cn.extends):!1,Co=cn.extends;if(o[_t]=Co?o[Co]:{},c[_t]=Co??_t,X[_t.toUpperCase()]={},X[_t]={},Ss||(xt[_t.toUpperCase()]={},xt[_t]={}),Co&&!t[_t]&&t[Co]){const Jn=ps(t[Co]);delete Jn.removeEmptyAttrs,delete Jn.removeEmpty,t[_t]=Jn}else t[_t]={attributesOrder:[],attributes:{}};if(gn(cn.attributes)){const Jn=Zs=>{Vo.attributesOrder.push(Zs),Vo.attributes[Zs]={}},Vo=t[_t]??{};delete Vo.attributesDefault,delete Vo.attributesForced,delete Vo.attributePatterns,delete Vo.attributesRequired,Vo.attributesOrder=[],Vo.attributes={},ie(cn.attributes,Zs=>{const ua=hc(v);gu(Zs).each(({preset:ul,name:zg})=>{ul?zg==="global"&&ie(ua,Jn):Jn(zg)})}),t[_t]=Vo}if(Qt(cn.padEmpty)){const Jn=t[_t]??{};Jn.paddEmpty=cn.padEmpty,t[_t]=Jn}if(gn(cn.children)){const Jn={},Vo=ua=>{Jn[ua]={}},Zs=ua=>{Om(v,ua).each(ul=>{ie(ul,Vo)})};ie(cn.children,ua=>{gu(ua).each(({preset:ul,name:zg})=>{ul?Zs(zg):Vo(zg)})}),o[_t]=Jn}Co&&hn(o,(Jn,Vo)=>{Jn[Co]&&(o[Vo]=Jn=If({},o[Vo]),Jn[_t]=Jn[Co])})},it=_t=>{ie(u2(_t??""),({name:cn,cloneName:Ss})=>{Ue(cn,{extends:Ss})})},Jt=(_t,cn)=>{f[_t]=cn},yn=_t=>{fn(_t)?hn(_t,(cn,Ss)=>{const Co=cn.componentUrl;q(Co)&&Jt(Ss,Co),Ue(Ss,cn)}):q(_t)&&it(_t)},Gn=_t=>{ie(lk(_t??""),({operation:cn,name:Ss,validChildren:Co})=>{const Jn=cn==="replace"?{"#comment":{}}:o[Ss],Vo=ua=>{cn==="remove"?delete Jn[ua]:Jn[ua]={}},Zs=ua=>{Om(v,ua).each(ul=>{ie(ul,Vo)})};ie(Co,({preset:ua,name:ul})=>{ua?Zs(ul):Vo(ul)}),o[Ss]=Jn})},co=_t=>{const cn=t[_t];if(cn)return cn;let Ss=r.length;for(;Ss--;){const Co=r[Ss];if(Co.pattern.test(_t))return Co}},Ns=()=>{e.valid_elements?(Pe(e.valid_elements),kr(w,(_t,cn)=>{o[cn]=_t.children})):(kr(w,(_t,cn)=>{t[cn]={attributes:_t.attributes,attributesOrder:_t.attributesOrder},o[cn]=_t.children}),kr(hs("strong/b em/i"),_t=>{const cn=hs(_t,"/");t[cn[1]].outputName=cn[0]}),kr(at,(_t,cn)=>{t[cn]&&(e.padd_empty_block_inline_children&&(t[cn].paddInEmptyBlock=!0),t[cn].removeEmpty=!0)}),kr(hs("ol ul blockquote a table tbody"),_t=>{t[_t]&&(t[_t].removeEmpty=!0)}),kr(hs("p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary"),_t=>{t[_t]&&(t[_t].paddEmpty=!0)}),kr(hs("span"),_t=>{t[_t].removeEmptyAttrs=!0})),delete t.svg,yn(e.custom_elements),Gn(e.valid_children),_e(e.extended_valid_elements),Gn("+ol[ul|ol],+ul[ul|ol]"),kr({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},(_t,cn)=>{t[cn]&&(t[cn].parentsRequired=hs(_t))}),e.invalid_elements&&kr(j1(e.invalid_elements),_t=>{t[_t]&&delete t[_t]}),co("span")||_e("span[!data-mce-type|*]")},Pc=Me(_),Ve=Me(O),vt=Me(R),Tn=Me(Z),Sn=Me(xt),vr=Me(we),ye=Me(at),$e=Me(Object.seal(I)),Xe=Me(z),Zt=Me(X),Vt=Me(ee),$n=Me(P),cl=Me(oe),il=Me(ge),$c=Me(Object.seal(u)),Uu=(_t,cn)=>{const Ss=o[_t.toLowerCase()];return!!(Ss&&Ss[cn.toLowerCase()])},Gl=(_t,cn)=>{const Ss=co(_t);if(Ss)if(cn){if(Ss.attributes[cn])return!0;const Co=Ss.attributePatterns;if(Co){let Jn=Co.length;for(;Jn--;)if(Co[Jn].pattern.test(cn))return!0}}else return!0;return!1},la=_t=>Ut(Sn(),_t),ll=_t=>!Ht(_t,"#")&&Gl(_t)&&!la(_t),Zu=_t=>Ut(il(),_t)||ll(_t),rv=Me(c),av=Me(f);return Ns(),{type:v,children:o,elements:t,getValidStyles:Pc,getValidClasses:vt,getBlockElements:Sn,getInvalidStyles:Ve,getVoidElements:$e,getTextBlockElements:vr,getTextInlineElements:ye,getBoolAttrs:Tn,getElementRule:co,getSelfClosingElements:Xe,getNonEmptyElements:Zt,getMoveCaretBeforeOnEnterElements:Vt,getWhitespaceElements:$n,getTransparentElements:cl,getSpecialElements:$c,getComponentUrls:av,isValidChild:Uu,isValid:Gl,isBlock:la,isInline:ll,isWrapper:Zu,getCustomElements:rv,addValidElements:_e,setValidElements:Pe,addCustomElements:yn,addValidChildren:Gn}},ww=e=>({value:G1(e)}),G1=e=>gv(e,"#").toUpperCase(),Eh=e=>{const t=e.toString(16);return(t.length===1?"0"+t:t).toUpperCase()},q1=e=>{const t=Eh(e.red)+Eh(e.green)+Eh(e.blue);return ww(t)},d2=/^\s*rgb\s*\(\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*(\d+)\s*\)\s*$/i,m2=/^\s*rgba\s*\(\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*((?:\d?\.\d+|\d+)%?)\s*\)\s*$/i,f2=(e,t,o,r)=>({red:e,green:t,blue:o,alpha:r}),Lf=(e,t,o,r)=>{const c=parseInt(e,10),u=parseInt(t,10),f=parseInt(o,10),p=parseFloat(r);return f2(c,u,f,p)},zi=e=>d2.test(e)?"rgb":m2.test(e)?"rgba":"other",wl=e=>{const t=d2.exec(e);if(t!==null)return B.some(Lf(t[1],t[2],t[3],"1"));const o=m2.exec(e);return o!==null?B.some(Lf(o[1],o[2],o[3],o[4])):B.none()},Rm=e=>`rgba(${e.red},${e.green},${e.blue},${e.alpha})`,Hf=e=>wl(e).map(q1).map(t=>"#"+t.value).getOr(e),zf=(e={},t)=>{const o=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,r=/\s*([^:]+):\s*([^;]+);?/g,c=/\s+$/,u={};let f,p;const v=Yg;t&&(f=t.getValidStyles(),p=t.getInvalidStyles());const w=(`\\" \\' \\; \\: ; : `+v).split(" ");for(let O=0;O{const R={};let P=!1;const z=e.url_converter,I=e.url_converter_scope||_,Z=(oe,ge,_e)=>{const Pe=R[oe+"-top"+ge];if(!Pe)return;const Ue=R[oe+"-right"+ge];if(!Ue)return;const it=R[oe+"-bottom"+ge];if(!it)return;const Jt=R[oe+"-left"+ge];if(!Jt)return;const yn=[Pe,Ue,it,Jt];let Gn=yn.length-1;for(;Gn--&&yn[Gn]===yn[Gn+1];);Gn>-1&&_e||(R[oe+ge]=Gn===-1?yn[0]:yn.join(" "),delete R[oe+"-top"+ge],delete R[oe+"-right"+ge],delete R[oe+"-bottom"+ge],delete R[oe+"-left"+ge])},Y=oe=>{const ge=R[oe];if(!ge)return;const _e=ge.indexOf(",")>-1?[ge]:ge.split(" ");let Pe=_e.length;for(;Pe--;)if(_e[Pe]!==_e[0])return!1;return R[oe]=_e[0],!0},X=(oe,ge,_e,Pe)=>{Y(ge)&&Y(_e)&&Y(Pe)&&(R[oe]=R[ge]+" "+R[_e]+" "+R[Pe],delete R[ge],delete R[_e],delete R[Pe])},ee=oe=>(P=!0,u[oe]),fe=(oe,ge)=>(P&&(oe=oe.replace(/\uFEFF[0-9]/g,_e=>u[_e])),ge||(oe=oe.replace(/\\([\'\";:])/g,"$1")),oe),we=oe=>String.fromCharCode(parseInt(oe.slice(1),16)),xt=oe=>oe.replace(/\\[0-9a-f]+/gi,we),at=(oe,ge,_e,Pe,Ue,it)=>{if(Ue=Ue||it,Ue)return Ue=fe(Ue),"'"+Ue.replace(/\'/g,"\\'")+"'";if(ge=fe(ge||_e||Pe||""),!e.allow_script_urls){const Jt=ge.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(Jt)||!e.allow_svg_data_urls&&/^data:image\/svg/i.test(Jt))return""}return z&&(ge=z.call(I,ge,"style")),"url('"+ge.replace(/\'/g,"\\'")+"')"};if(O){O=O.replace(/[\u0000-\u001F]/g,""),O=O.replace(/\\[\"\';:\uFEFF]/g,ee).replace(/\"[^\"]+\"|\'[^\']+\'/g,ge=>ge.replace(/[;:]/g,ee));let oe;for(;oe=r.exec(O);){r.lastIndex=oe.index+oe[0].length;let ge=oe[1].replace(c,"").toLowerCase(),_e=oe[2].replace(c,"");if(ge&&_e){if(ge=xt(ge),_e=xt(_e),ge.indexOf(v)!==-1||ge.indexOf('"')!==-1||!e.allow_script_urls&&(ge==="behavior"||/expression\s*\(|\/\*|\*\//.test(_e)))continue;ge==="font-weight"&&_e==="700"?_e="bold":(ge==="color"||ge==="background-color")&&(_e=_e.toLowerCase()),zi(_e)==="rgb"&&wl(_e).each(Pe=>{_e=Hf(Rm(Pe)).toLowerCase()}),_e=_e.replace(o,at),R[ge]=P?fe(_e,!0):_e}}Z("border","",!0),Z("border","-width"),Z("border","-color"),Z("border","-style"),Z("padding",""),Z("margin",""),/(#.* rgb(a?)\(.*)|(rgb(a?)\(.*\) )/.test(R["border-color"])||X("border","border-width","border-style","border-color"),R.border==="medium none"&&delete R.border,R["border-image"]==="none"&&delete R["border-image"]}return R},serialize:(O,R)=>{let P="";const z=(Z,Y)=>{const X=Y[Z];if(X)for(let ee=0,fe=X.length;ee0?" ":"")+we+": "+xt+";")}},I=(Z,Y)=>{if(!p||!Y)return!0;let X=p["*"];return X&&X[Z]?!1:(X=p[Y],!(X&&X[Z]))};return R&&f?(z("*",f),z(R,f)):hn(O,(Z,Y)=>{Z&&I(Y,R)&&(P+=(P.length>0?" ":"")+Y+": "+Z+";")}),P}};return _},g2={keyLocation:!0,layerX:!0,layerY:!0,returnValue:!0,webkitMovementX:!0,webkitMovementY:!0,keyIdentifier:!0,mozPressure:!0,mozInputSource:!0},xw=e=>e instanceof Event||J(e.initEvent),Ew=e=>e.isDefaultPrevented===Qe||e.isDefaultPrevented===Ee,Tw=e=>on(e.preventDefault)||xw(e),Th=(e,t)=>{const o=t??{};for(const r in e)Ut(g2,r)||(o[r]=e[r]);return pe(e.composedPath)&&(o.composedPath=()=>e.composedPath()),pe(e.getModifierState)&&(o.getModifierState=r=>e.getModifierState(r)),pe(e.getTargetRanges)&&(o.getTargetRanges=()=>e.getTargetRanges()),o},Vf=(e,t,o,r)=>{const c=Th(t,r);return c.type=e,on(c.target)&&(c.target=c.srcElement??o),Tw(t)&&(c.preventDefault=()=>{c.defaultPrevented=!0,c.isDefaultPrevented=Qe,J(t.preventDefault)&&t.preventDefault()},c.stopPropagation=()=>{c.cancelBubble=!0,c.isPropagationStopped=Qe,J(t.stopPropagation)&&t.stopPropagation()},c.stopImmediatePropagation=()=>{c.isImmediatePropagationStopped=Qe,c.stopPropagation()},Ew(c)||(c.isDefaultPrevented=c.defaultPrevented===!0?Qe:Ee,c.isPropagationStopped=c.cancelBubble===!0?Qe:Ee,c.isImmediatePropagationStopped=Ee)),c},pu="mce-data-",kw=/^(?:mouse|contextmenu)|click/,yd=(e,t,o,r)=>{e.addEventListener(t,o,r||!1)},Uf=(e,t,o,r)=>{e.removeEventListener(t,o,r||!1)},Aw=e=>pe(e)&&kw.test(e.type),K1=(e,t)=>{const o=Vf(e.type,e,document,t);if(Aw(e)&&ls(e.pageX)&&!ls(e.clientX)){const r=o.target.ownerDocument||document,c=r.documentElement,u=r.body,f=o;f.pageX=e.clientX+(c&&c.scrollLeft||u&&u.scrollLeft||0)-(c&&c.clientLeft||u&&u.clientLeft||0),f.pageY=e.clientY+(c&&c.scrollTop||u&&u.scrollTop||0)-(c&&c.clientTop||u&&u.clientTop||0)}return o},ba=(e,t,o)=>{const r=e.document,c={type:"ready"};if(o.domLoaded){t(c);return}const u=()=>r.readyState==="complete"||r.readyState==="interactive"&&r.body,f=()=>{Uf(e,"DOMContentLoaded",f),Uf(e,"load",f),o.domLoaded||(o.domLoaded=!0,t(c)),e=null};u()?f():yd(e,"DOMContentLoaded",f),o.domLoaded||yd(e,"load",f)},jl=class jl{constructor(){Re(this,"domLoaded",!1);Re(this,"events",{});Re(this,"expando");Re(this,"hasFocusIn");Re(this,"count",1);this.expando=pu+(+new Date).toString(32),this.hasFocusIn="onfocusin"in document.documentElement,this.count=1}bind(t,o,r,c){const u=this;let f;const p=window,v=R=>{u.executeHandlers(K1(R||p.event),w)};if(!t||Se(t)||Ii(t))return r;let w;t[u.expando]?w=t[u.expando]:(w=u.count++,t[u.expando]=w,u.events[w]={}),c=c||t;const _=o.split(" ");let O=_.length;for(;O--;){let R=_[O],P=v,z=!1,I=!1;if(R==="DOMContentLoaded"&&(R="ready"),u.domLoaded&&R==="ready"&&t.readyState==="complete"){r.call(c,K1({type:R}));continue}!u.hasFocusIn&&(R==="focusin"||R==="focusout")&&(z=!0,I=R==="focusin"?"focus":"blur",P=Z=>{const Y=K1(Z||p.event);Y.type=Y.type==="focus"?"focusin":"focusout",u.executeHandlers(Y,w)}),f=u.events[w][R],f?R==="ready"&&u.domLoaded?r(K1({type:R})):f.push({func:r,scope:c}):(u.events[w][R]=f=[{func:r,scope:c}],f.fakeName=I,f.capture=z,f.nativeHandler=P,R==="ready"?ba(t,P,u):yd(t,I||R,P,z))}return t=f=null,r}unbind(t,o,r){if(!t||Se(t)||Ii(t))return this;const c=t[this.expando];if(c){let u=this.events[c];if(o){const f=o.split(" ");let p=f.length;for(;p--;){const v=f[p],w=u[v];if(w){if(r){let _=w.length;for(;_--;)if(w[_].func===r){const O=w.nativeHandler,R=w.fakeName,P=w.capture,z=w.slice(0,_).concat(w.slice(_+1));z.nativeHandler=O,z.fakeName=R,z.capture=P,u[v]=z}}(!r||w.length===0)&&(delete u[v],Uf(t,w.fakeName||v,w.nativeHandler,w.capture))}}}else hn(u,(f,p)=>{Uf(t,f.fakeName||p,f.nativeHandler,f.capture)}),u={};for(const f in u)if(Ut(u,f))return this;delete this.events[c];try{delete t[this.expando]}catch{t[this.expando]=null}}return this}fire(t,o,r){return this.dispatch(t,o,r)}dispatch(t,o,r){if(!t||Se(t)||Ii(t))return this;const c=K1({type:o,target:t},r);do{const u=t[this.expando];u&&this.executeHandlers(c,u),t=t.parentNode||t.ownerDocument||t.defaultView||t.parentWindow}while(t&&!c.isPropagationStopped());return this}clean(t){if(!t||Se(t)||Ii(t))return this;if(t[this.expando]&&this.unbind(t),t.getElementsByTagName||(t=t.document),t&&t.getElementsByTagName){this.unbind(t);const o=t.getElementsByTagName("*");let r=o.length;for(;r--;)t=o[r],t[this.expando]&&this.unbind(t)}return this}destroy(){this.events={}}cancel(t){return t&&(t.preventDefault(),t.stopImmediatePropagation()),!1}executeHandlers(t,o){const r=this.events[o],c=r&&r[t.type];if(c)for(let u=0,f=c.length;u{on(o)||o===""?Go(e,t):So(e,t,o)},Ow=e=>e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()),xl=(e,t)=>{let o=0;if(e)for(let r=e.nodeType,c=e.previousSibling;c;c=c.previousSibling){const u=c.nodeType;t&&Se(c)&&(u===r||!c.data.length)||(o++,r=u)}return o},b2=(e,t)=>{const o=lo(t,"style"),r=e.serialize(e.parse(o),Wt(t));Zf(t,_w,r)},Dw=(e,t)=>Kr(e)?Ut(dk,t)?e+"":e+"px":e,za=(e,t,o)=>{const r=Ow(t);on(o)||o===""?A1(e,r):pa(e,r,Dw(o,r))},Y1=(e,t,o)=>{const r=t.keep_values,c={set:(f,p,v)=>{const w=U.fromDom(f);J(t.url_converter)&&pe(p)&&(p=t.url_converter.call(t.url_converter_scope||o(),String(p),v,f));const _="data-mce-"+v;Zf(w,_,p),Zf(w,v,p)},get:(f,p)=>{const v=U.fromDom(f);return lo(v,"data-mce-"+p)||lo(v,p)}},u={style:{set:(f,p)=>{const v=U.fromDom(f);r&&Zf(v,_w,p),Go(v,"style"),q(p)&&ic(v,e.parse(p))},get:f=>{const p=U.fromDom(f),v=lo(p,_w)||lo(p,"style");return e.serialize(e.parse(v),Wt(p))}}};return r&&(u.href=u.src=c),u},yt=(e,t={})=>{const o={},r=window,c={};let u=0;const f=!0,p=!0,v=ei.forElement(U.fromDom(e),{contentCssCors:t.contentCssCors,referrerPolicy:t.referrerPolicy,crossOrigin:de=>{const re=t.crossOrigin;if(J(re))return re(de,"stylesheet")}}),w=[],_=t.schema?t.schema:bc({}),O=zf({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),R=t.ownEvents?new Mm:Mm.Event,P=_.getBlockElements(),z=de=>q(de)?Ut(P,de):ot(de)&&(Ut(P,de.nodeName)||lr(_,de)),I=de=>de&&e&&q(de)?e.getElementById(de):de,Z=de=>{const re=I(de);return pe(re)?U.fromDom(re):null},Y=(de,re,He="")=>{let Ie;const It=Z(de);if(pe(It)&&bo(It)){const Cn=wL[re];Cn&&Cn.get?Ie=Cn.get(It.dom,re):Ie=lo(It,re)}return pe(Ie)?Ie:He},X=de=>{const re=I(de);return on(re)?[]:re.attributes},ee=(de,re,He)=>{vt(de,Ie=>{if(ot(Ie)){const It=U.fromDom(Ie),Cn=He===""?null:He,ns=lo(It,re),am=wL[re];am&&am.set?am.set(It.dom,Cn,re):Zf(It,re,Cn),ns!==Cn&&t.onSetAttrib&&t.onSetAttrib({attrElm:It.dom,attrName:re,attrValue:Cn})}})},fe=(de,re)=>de.cloneNode(re),we=()=>t.root_element||e.body,xt=de=>{const re=mh(de);return{x:re.x,y:re.y,w:re.width,h:re.height}},at=(de,re)=>Sh(e.body,I(de),re),oe=(de,re,He)=>{vt(de,Ie=>{const It=U.fromDom(Ie);za(It,re,He),t.update_styles&&b2(O,It)})},ge=(de,re)=>{vt(de,He=>{const Ie=U.fromDom(He);hn(re,(It,Cn)=>{za(Ie,Cn,It)}),t.update_styles&&b2(O,Ie)})},_e=(de,re,He)=>{const Ie=I(de);if(!(on(Ie)||!Is(Ie)&&!e2(Ie)))return He?No(U.fromDom(Ie),Ow(re)):(re=re.replace(/-(\D)/g,(It,Cn)=>Cn.toUpperCase()),re==="float"&&(re="cssFloat"),Ie.style?Ie.style[re]:void 0)},Pe=de=>{const re=I(de);if(!re)return{w:0,h:0};let He=_e(re,"width"),Ie=_e(re,"height");return(!He||He.indexOf("px")===-1)&&(He="0"),(!Ie||Ie.indexOf("px")===-1)&&(Ie="0"),{w:parseInt(He,10)||re.offsetWidth||re.clientWidth,h:parseInt(Ie,10)||re.offsetHeight||re.clientHeight}},Ue=de=>{const re=I(de),He=at(re),Ie=Pe(re);return{x:He.x,y:He.y,w:Ie.w,h:Ie.h}},it=(de,re)=>{if(!de)return!1;const He=gn(de)?de:[de];return qn(He,Ie=>Da(U.fromDom(Ie),re))},Jt=(de,re,He,Ie)=>{const It=[];let Cn=I(de);Ie=Ie===void 0;const ns=He||(we().nodeName!=="BODY"?we().parentNode:null);if(q(re))if(re==="*")re=ot;else{const am=re;re=EY=>it(EY,am)}for(;Cn&&!(Cn===ns||on(Cn.nodeType)||Mf(Cn)||Pa(Cn));){if(!re||re(Cn))if(Ie)It.push(Cn);else return[Cn];Cn=Cn.parentNode}return Ie?It:null},yn=(de,re,He)=>{const Ie=Jt(de,re,He,!1);return Ie&&Ie.length>0?Ie[0]:null},Gn=(de,re,He)=>{let Ie=re;if(de){q(re)&&(Ie=It=>it(It,re));for(let It=de[He];It;It=It[He])if(J(Ie)&&Ie(It))return It}return null},co=(de,re)=>Gn(de,re,"nextSibling"),Ns=(de,re)=>Gn(de,re,"previousSibling"),Pc=de=>J(de.querySelectorAll),Ve=(de,re)=>{const He=I(re)??t.root_element??e;return Pc(He)?Fr(He.querySelectorAll(de)):[]},vt=function(de,re,He){const Ie=He??this;if(gn(de)){const It=[];return h2(de,(Cn,ns)=>{const am=I(Cn);am&&It.push(re.call(Ie,am,ns))}),It}else{const It=I(de);return It?re.call(Ie,It):!1}},Tn=(de,re)=>{vt(de,He=>{hn(re,(Ie,It)=>{ee(He,It,Ie)})})},Sn=(de,re)=>{vt(de,He=>{const Ie=U.fromDom(He);cu(Ie,re)})},vr=(de,re,He,Ie,It)=>vt(de,Cn=>{const ns=q(re)?e.createElement(re):re;return pe(He)&&Tn(ns,He),Ie&&(!q(Ie)&&Ie.nodeType?ns.appendChild(Ie):q(Ie)&&Sn(ns,Ie)),It?ns:Cn.appendChild(ns)}),ye=(de,re,He)=>vr(e.createElement(de),de,re,He,!0),$e=gc.decode,Xe=gc.encodeAllRaw,Zt=(de,re,He="")=>{let Ie="<"+de;for(const It in re)Io(re,It)&&(Ie+=" "+It+'="'+Xe(re[It])+'"');return Kg(He)&&Ut(_.getVoidElements(),de)?Ie+" />":Ie+">"+He+""},Vt=de=>{const re=e.createElement("div"),He=e.createDocumentFragment();He.appendChild(re),de&&(re.innerHTML=de);let Ie;for(;Ie=re.firstChild;)He.appendChild(Ie);return He.removeChild(re),He},$n=(de,re)=>vt(de,He=>{const Ie=U.fromDom(He);return re&&ie(Do(Ie),It=>{An(It)&&It.dom.length===0?no(It):ar(Ie,It)}),no(Ie),Ie.dom}),cl=de=>vt(de,re=>{const He=re.attributes;for(let Ie=He.length-1;Ie>=0;Ie--)re.removeAttributeNode(He.item(Ie))}),il=de=>O.parse(de),$c=(de,re)=>O.serialize(de,re),Uu=de=>{if(rm!==yt.DOM&&e===document){if(o[de])return;o[de]=!0}let re=e.getElementById("mceDefaultStyles");if(!re){re=e.createElement("style"),re.id="mceDefaultStyles",re.type="text/css";const He=e.head;He.firstChild?He.insertBefore(re,He.firstChild):He.appendChild(re)}re.styleSheet?re.styleSheet.cssText+=de:re.appendChild(e.createTextNode(de))},Gl=de=>{de||(de=""),ie(de.split(","),re=>{c[re]=!0,v.load(re).catch(Tt)})},la=(de,re,He)=>{vt(de,Ie=>{if(ot(Ie)){const It=U.fromDom(Ie),Cn=re.split(" ");ie(Cn,ns=>{pe(He)?(He?Ba:As)(It,ns):Ks(It,ns)})}})},ll=(de,re)=>{la(de,re,!0)},Zu=(de,re)=>{la(de,re,!1)},rv=(de,re)=>{const He=Z(de),Ie=re.split(" ");return pe(He)&&Xl(Ie,It=>O1(He,It))},av=de=>{vt(de,re=>A1(U.fromDom(re),"display"))},_t=de=>{vt(de,re=>pa(U.fromDom(re),"display","none"))},cn=de=>{const re=Z(de);return pe(re)&&so(fs(re,"display"),"none")},Ss=de=>(de||"mce_")+u++,Co=de=>{const re=Z(de);return pe(re)?ot(re.dom)?re.dom.outerHTML:HT(re):""},Jn=(de,re)=>{vt(de,He=>{ot(He)&&(He.outerHTML=re)})},Vo=(de,re)=>{const He=I(re);return vt(de,Ie=>{const It=He==null?void 0:He.parentNode,Cn=He==null?void 0:He.nextSibling;return It&&(Cn?It.insertBefore(Ie,Cn):It.appendChild(Ie)),Ie})},Zs=(de,re,He)=>vt(re,Ie=>{var Cn;const It=gn(re)?de.cloneNode(!0):de;return He&&h2(p2(Ie.childNodes),ns=>{It.appendChild(ns)}),(Cn=Ie.parentNode)==null||Cn.replaceChild(It,Ie),Ie}),ua=(de,re)=>{if(de.nodeName!==re.toUpperCase()){const He=ye(re);return h2(X(de),Ie=>{ee(He,Ie.nodeName,Y(de,Ie.nodeName))}),Zs(He,de,!0),He}else return de},ul=(de,re)=>{let He=de;for(;He;){let Ie=re;for(;Ie&&He!==Ie;)Ie=Ie.parentNode;if(He===Ie)break;He=He.parentNode}return!He&&de.ownerDocument?de.ownerDocument.documentElement:He},zg=(de,re,He)=>Sf(re)?fc(_,de,{...He,isContent:It=>{const Cn=It.nodeName.toLowerCase();return!!re[Cn]}}):fc(_,de,He),pS=()=>e.createRange(),CL=(de,re,He)=>{let Ie=pS(),It,Cn;if(de&&re&&de.parentNode&&re.parentNode){const ns=de.parentNode;return Ie.setStart(ns,xl(de)),Ie.setEnd(re.parentNode,xl(re)),It=Ie.extractContents(),Ie=pS(),Ie.setStart(re.parentNode,xl(re)+1),Ie.setEnd(ns,xl(de)+1),Cn=Ie.extractContents(),ns.insertBefore(Hr(rm,It,_),de),He?ns.insertBefore(He,de):ns.insertBefore(re,de),ns.insertBefore(Hr(rm,Cn,_),de),$n(de),He||re}else return},bS=(de,re,He,Ie)=>{if(gn(de)){let It=de.length;const Cn=[];for(;It--;)Cn[It]=bS(de[It],re,He,Ie);return Cn}else return t.collect&&(de===e||de===r)&&w.push([de,re,He,Ie]),R.bind(de,re,He,Ie||rm)},vS=(de,re,He)=>{if(gn(de)){let Ie=de.length;const It=[];for(;Ie--;)It[Ie]=vS(de[Ie],re,He);return It}else{if(w.length>0&&(de===e||de===r)){let Ie=w.length;for(;Ie--;){const[It,Cn,ns]=w[Ie];de===It&&(!re||re===Cn)&&(!He||He===ns)&&R.unbind(It,Cn,ns)}}return R.unbind(de,re,He)}},Cf=(de,re,He)=>R.dispatch(de,re,He),cv=(de,re,He)=>R.dispatch(de,re,He),CT=de=>{if(de&&Is(de)){const re=de.getAttribute("data-mce-contenteditable");return re&&re!=="inherit"?re:de.contentEditable!=="inherit"?de.contentEditable:null}else return null},rm={doc:e,settings:t,win:r,files:c,stdMode:f,boxModel:p,styleSheetLoader:v,boundEvents:w,styles:O,schema:_,events:R,isBlock:z,root:null,clone:fe,getRoot:we,getViewPort:xt,getRect:Ue,getSize:Pe,getParent:yn,getParents:Jt,get:I,getNext:co,getPrev:Ns,select:Ve,is:it,add:vr,create:ye,createHTML:Zt,createFragment:Vt,remove:$n,setStyle:oe,getStyle:_e,setStyles:ge,removeAllAttribs:cl,setAttrib:ee,setAttribs:Tn,getAttrib:Y,getPos:at,parseStyle:il,serializeStyle:$c,addStyle:Uu,loadCSS:Gl,addClass:ll,removeClass:Zu,hasClass:rv,toggleClass:la,show:av,hide:_t,isHidden:cn,uniqueId:Ss,setHTML:Sn,getOuterHTML:Co,setOuterHTML:Jn,decode:$e,encode:Xe,insertAfter:Vo,replace:Zs,rename:ua,findCommonAncestor:ul,run:vt,getAttribs:X,isEmpty:zg,createRng:pS,nodeIndex:xl,split:CL,bind:bS,unbind:vS,fire:cv,dispatch:Cf,getContentEditable:CT,getContentEditableParent:de=>{const re=we();let He=null;for(let Ie=de;Ie&&Ie!==re&&(He=CT(Ie),He===null);Ie=Ie.parentNode);return He},isEditable:de=>{if(pe(de)){const re=ot(de)?de:de.parentElement;return pe(re)&&Is(re)&&Xc(U.fromDom(re))}else return!1},destroy:()=>{if(w.length>0){let de=w.length;for(;de--;){const[re,He,Ie]=w[de];R.unbind(re,He,Ie)}}hn(c,(de,re)=>{v.unload(re),delete c[re]})},isChildOf:(de,re)=>de===re||re.contains(de),dumpRng:de=>"startContainer: "+de.startContainer.nodeName+", startOffset: "+de.startOffset+", endContainer: "+de.endContainer.nodeName+", endOffset: "+de.endOffset},wL=Y1(O,t,Me(rm));return rm};yt.DOM=yt(document),yt.nodeIndex=xl;const va=yt.DOM,kh=0,X1=1,Kn=2,v2=3,yf=class yf{constructor(t={}){Re(this,"settings");Re(this,"states",{});Re(this,"queue",[]);Re(this,"scriptLoadedCallbacks",{});Re(this,"queueLoadedCallbacks",[]);Re(this,"loading",!1);this.settings=t}_setReferrerPolicy(t){this.settings.referrerPolicy=t}_setCrossOrigin(t){this.settings.crossOrigin=t}loadScript(t){return new Promise((o,r)=>{const c=va,u=document;let f;const p=()=>{c.remove(_),f&&(f.onerror=f.onload=f=null)},v=()=>{p(),o()},w=()=>{p(),r("Failed to load script: "+t)},_=c.uniqueId();f=u.createElement("script"),f.id=_,f.type="text/javascript",f.src=Oe._addCacheSuffix(t),this.settings.referrerPolicy&&c.setAttrib(f,"referrerpolicy",this.settings.referrerPolicy);const O=this.settings.crossOrigin;if(J(O)){const R=O(t);R!==void 0&&c.setAttrib(f,"crossorigin",R)}f.onload=v,f.onerror=w,(u.head||u.body).appendChild(f)})}isDone(t){return this.states[t]===Kn}markDone(t){this.states[t]=Kn}add(t){const o=this;return o.queue.push(t),o.states[t]===void 0&&(o.states[t]=kh),new Promise((c,u)=>{o.scriptLoadedCallbacks[t]||(o.scriptLoadedCallbacks[t]=[]),o.scriptLoadedCallbacks[t].push({resolve:c,reject:u})})}load(t){return this.add(t)}remove(t){delete this.states[t],delete this.scriptLoadedCallbacks[t]}loadQueue(){const t=this.queue;return this.queue=[],this.loadScripts(t)}loadScripts(t){const o=this,r=(v,w)=>{po(o.scriptLoadedCallbacks,w).each(_=>{ie(_,O=>O[v](w))}),delete o.scriptLoadedCallbacks[w]},c=v=>{const w=ft(v,_=>_.status==="rejected");return w.length>0?Promise.reject(Bn(w,({reason:_})=>gn(_)?_:[_])):Promise.resolve()},u=v=>Promise.allSettled(Ot(v,w=>o.states[w]===Kn?(r("resolve",w),Promise.resolve()):o.states[w]===v2?(r("reject",w),Promise.reject(w)):(o.states[w]=X1,o.loadScript(w).then(()=>{o.states[w]=Kn,r("resolve",w);const _=o.queue;return _.length>0?(o.queue=[],u(_).then(c)):Promise.resolve()},()=>(o.states[w]=v2,r("reject",w),Promise.reject(w)))))),f=v=>(o.loading=!0,u(v).then(w=>{o.loading=!1;const _=o.queueLoadedCallbacks.shift();return B.from(_).each(Yr),c(w)})),p=_S(t);return o.loading?new Promise((v,w)=>{o.queueLoadedCallbacks.push(()=>{f(p).then(v,w)})}):f(p)}getScriptAttributes(t){const o={};this.settings.referrerPolicy&&(o.referrerpolicy=this.settings.referrerPolicy);const r=this.settings.crossOrigin;if(J(r)){const c=r(t);q(c)&&(o.crossorigin=c)}return o}};Re(yf,"ScriptLoader",new yf);let ti=yf;const mk=(e,t)=>{const o=e.indexOf(t);return o!==-1&&e.indexOf(t,o+1)>o},y2=e=>fn(e)&&Ut(e,"raw"),C2=e=>gn(e)&&e.length>1,Ah={},J1=kt("en"),S2=()=>po(Ah,J1.get()),Va={getData:()=>lv(Ah,e=>({...e})),setCode:e=>{e&&J1.set(e)},getCode:()=>J1.get(),add:(e,t)=>{let o=Ah[e];o||(Ah[e]=o={});const r=Ot(mt(t),c=>c.toLowerCase());hn(t,(c,u)=>{const f=u.toLowerCase();f!==u&&mk(r,f)?(Ut(t,f)||(o[f]=c),o[u]=c):o[f]=c})},translate:e=>{const t=S2().getOr({}),o=p=>J(p)?Object.prototype.toString.call(p):r(p)?"":""+p,r=p=>p===""||p===null||p===void 0,c=p=>{const v=o(p);return Ut(t,v)?o(t[v]):po(t,v.toLowerCase()).map(o).getOr(v)},u=p=>p.replace(/{context:\w+}$/,""),f=p=>p.replaceAll("...",OT);if(r(e))return"";if(y2(e))return f(o(e.raw));if(C2(e)){const p=e.slice(1),v=c(e[0]).replace(/\{([0-9]+)\}/g,(w,_)=>Ut(p,_)?o(p[_]):w);return f(u(v))}return f(u(c(e)))},isRtl:()=>S2().bind(e=>po(e,"_dir")).exists(e=>e==="rtl"),hasCode:e=>Ut(Ah,e)},bs=()=>{const e=[],t={},o={},r=[],c=(I,Z)=>{const Y=ft(r,X=>X.name===I&&X.state===Z);ie(Y,X=>X.resolve())},u=I=>Ut(t,I),f=I=>Ut(o,I),p=I=>{if(o[I])return o[I].instance},v=(I,Z)=>{const Y=Va.getCode(),X=","+(Z||"")+",";!Y||Z&&X.indexOf(","+Y+",")===-1||ti.ScriptLoader.add(t[I]+"/langs/"+Y+".js")},w=(I,Z)=>{bs.languageLoad!==!1&&(u(I)?v(I,Z):z(I,"loaded").then(()=>v(I,Z)))},_=(I,Z)=>(e.push(Z),o[I]={instance:Z},c(I,"added"),Z),O=I=>{delete t[I],delete o[I]},R=(I,Z)=>q(Z)?q(I)?{prefix:"",resource:Z,suffix:""}:{prefix:I.prefix,resource:Z,suffix:I.suffix}:Z,P=(I,Z)=>{if(t[I])return Promise.resolve();let Y=q(Z)?Z:Z.prefix+Z.resource+Z.suffix;Y.indexOf("/")!==0&&Y.indexOf("://")===-1&&(Y=bs.baseURL+"/"+Y),t[I]=Y.substring(0,Y.lastIndexOf("/"));const X=()=>(c(I,"loaded"),Promise.resolve());return o[I]?X():ti.ScriptLoader.add(Y).then(X)},z=(I,Z="added")=>Z==="added"&&f(I)||Z==="loaded"&&u(I)?Promise.resolve():new Promise(Y=>{r.push({name:I,state:Z,resolve:Y})});return{items:e,urls:t,lookup:o,get:p,requireLangPack:w,add:_,remove:O,createUrl:R,load:P,waitFor:z}};bs.languageLoad=!0,bs.baseURL="",bs.PluginManager=bs(),bs.ThemeManager=bs(),bs.ModelManager=bs();const bu=Me("mce-annotation"),Cd=Me("data-mce-annotation"),Nm=Me("data-mce-annotation-uid"),e0=Me("data-mce-annotation-active"),t0=Me("data-mce-annotation-classes"),Pm=Me("data-mce-annotation-attrs"),n0=e=>t=>sn(t,e),w2=(e,t)=>{const o=e.selection.getRng(),r=U.fromDom(o.startContainer),c=U.fromDom(e.getBody()),u=t.fold(()=>"."+bu(),v=>`[${Cd()}="${v}"]`),f=qc(r,o.startOffset).getOr(r);return cr(f,u,n0(c)).bind(v=>rc(v,`${Nm()}`).bind(w=>rc(v,`${Cd()}`).map(_=>{const O=Oh(e,w);return{uid:w,name:_,elements:O}})))},o0=e=>bo(e)&&O1(e,bu()),vu=(e,t)=>vo(e,"data-mce-bogus")||jT(e,'[data-mce-bogus="all"]',n0(t)),Oh=(e,t)=>{const o=U.fromDom(e.getBody()),r=Ys(o,`[${Nm()}="${t}"]`);return ft(r,c=>!vu(c,o))},Wf=(e,t)=>{const o=U.fromDom(e.getBody()),r=Ys(o,`[${Cd()}="${t}"]`),c={};return ie(r,u=>{if(!vu(u,o)){const f=lo(u,Nm()),p=po(c,f).getOr([]);c[f]=p.concat([u])}}),c},s0=(e,t)=>{const o=kt({}),r=()=>({listeners:[],previous:Vc()}),c=(O,R)=>{u(O,P=>(R(P),P))},u=(O,R)=>{const P=o.get(),z=po(P,O).getOrThunk(r),I=R(z);P[O]=I,o.set(P)},f=(O,R,P)=>{c(O,z=>{ie(z.listeners,I=>I(!0,O,{uid:R,nodes:Ot(P,Z=>Z.dom)}))})},p=O=>{c(O,R=>{ie(R.listeners,P=>P(!1,O))})},v=(O,R)=>{ie(Oh(e,O),P=>{R?So(P,e0(),"true"):Go(P,e0())})},w=xf(()=>{const O=qu(t.getNames());ie(O,R=>{u(R,P=>{const z=P.previous.get();return w2(e,B.some(R)).fold(()=>{z.each(I=>{p(R),P.previous.clear(),v(I,!1)})},({uid:I,name:Z,elements:Y})=>{so(z,I)||(z.each(X=>v(X,!1)),f(Z,I,Y),P.previous.set(I),v(I,!0))}),{previous:P.previous,listeners:P.listeners}})})},30);return e.on("remove",()=>{w.cancel()}),e.on("NodeChange",()=>{w.throttle()}),{addListener:(O,R)=>{u(O,P=>({previous:P.previous,listeners:P.listeners.concat([R])}))}}},hk=(e,t)=>{const o=Cd(),r=u=>B.from(u.attr(o)).bind(t.lookup),c=u=>{var _;u.attr(Nm(),null),u.attr(Cd(),null),u.attr(e0(),null);const f=B.from(u.attr(Pm())).map(O=>O.split(",")).getOr([]),p=B.from(u.attr(t0())).map(O=>O.split(",")).getOr([]);ie(f,O=>u.attr(O,null));const v=((_=u.attr("class"))==null?void 0:_.split(" "))??[],w=jo(v,[bu()].concat(p));u.attr("class",w.length>0?w.join(" "):null),u.attr(t0(),null),u.attr(Pm(),null)};e.serializer.addTempAttr(e0()),e.serializer.addAttributeFilter(o,u=>{for(const f of u)r(f).each(p=>{p.persistent===!1&&(f.name==="span"?f.unwrap():c(f))})})},r0=()=>{const e={};return{register:(c,u)=>{e[c]={name:c,settings:u}},lookup:c=>po(e,c).map(u=>u.settings),getNames:()=>mt(e)}},Dh=(e,t,o=Ee)=>{const r=new gs(e,t),c=u=>{let f;do f=r[u]();while(f&&!Se(f)&&!o(f));return B.from(f).filter(Se)};return{current:()=>B.from(r.current()).filter(Se),next:()=>c("next"),prev:()=>c("prev"),prev2:()=>c("prev2")}},Sd=(e,t)=>{const o=t||(f=>e.isBlock(f)||uo(f)||ro(f)),r=(f,p,v,w)=>{if(Se(f)){const _=w(f,p,f.data);if(_!==-1)return B.some({container:f,offset:_})}return v().bind(_=>r(_.container,_.offset,v,w))};return{backwards:(f,p,v,w)=>{const _=Dh(f,w??e.getRoot(),o);return r(f,p,()=>_.prev().map(O=>({container:O,offset:O.length})),v).getOrNull()},forwards:(f,p,v,w)=>{const _=Dh(f,w??e.getRoot(),o);return r(f,p,()=>_.next().map(O=>({container:O,offset:0})),v).getOrNull()}}},pk=["td","th"],bk=["thead","tbody","tfoot"],Bw=["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"],x2=["li","dd","dt"],Rh=["ul","ol","dl"],Nw=["pre","script","textarea","style"],El=e=>{let t;return o=>(t=t||jg(e,Qe),Ut(t,Wt(o)))},Vr=e=>Wt(e)==="table",Ar=e=>bo(e)&&Wt(e)==="br",vc=e=>bo(e)&&Wt(e)==="script",Mh=e=>bo(e)&&Wt(e)==="style",E2=e=>bo(e)&&Wt(e)==="iframe",Pw=El(Bw),wd=El(Rh),xd=El(x2),T2=El(bk),Bh=El(pk),jf=El(Nw),$w=e=>{const t=[];let o=e.dom;for(;o;)t.push(U.fromDom(o)),o=o.lastChild;return t},Fw=e=>{const t=Ys(e,"br"),o=ft($w(e).slice(-1),Ar);t.length===o.length&&ie(o,no)},Ed=()=>{const e=U.fromTag("br");return So(e,"data-mce-bogus","1"),e},Vi=e=>{ac(e),pn(e,Ed())},Zn=(e,t)=>{rs(e).each(o=>{oc(o).each(r=>{t.isBlock(Wt(e))&&Ar(o)&&t.isBlock(Wt(r))&&no(o)})})},Po=Yg,$m=nu,Ur=fl,Iw=e=>e.insertContent(Po,{preserve_zwsp:!0}),k2=ot,Fm=Se,ni=e=>(Fm(e)&&(e=e.parentNode),k2(e)&&e.hasAttribute("data-mce-caret")),oi=e=>Fm(e)&&$m(e.data),ya=e=>ni(e)||oi(e),yc=e=>e.firstChild!==e.lastChild||!uo(e.firstChild),Nh=(e,t)=>{const r=(e.ownerDocument??document).createTextNode(Po),c=e.parentNode;if(t){const u=e.previousSibling;if(Fm(u)){if(ya(u))return u;if($h(u))return u.splitText(u.data.length-1)}c==null||c.insertBefore(r,e)}else{const u=e.nextSibling;if(Fm(u)){if(ya(u))return u;if(Ph(u))return u.splitText(1),u}e.nextSibling?c==null||c.insertBefore(r,e.nextSibling):c==null||c.appendChild(r)}return r},Ds=e=>{const t=e.container();return Se(t)?t.data.charAt(e.offset())===Po||e.isAtStart()&&oi(t.previousSibling):!1},si=e=>{const t=e.container();return Se(t)?t.data.charAt(e.offset()-1)===Po||e.isAtEnd()&&oi(t.nextSibling):!1},A2=(e,t,o)=>{const c=(t.ownerDocument??document).createElement(e);c.setAttribute("data-mce-caret",o?"before":"after"),c.setAttribute("data-mce-bogus","all"),c.appendChild(Ed().dom);const u=t.parentNode;return o?u==null||u.insertBefore(c,t):t.nextSibling?u==null||u.insertBefore(c,t.nextSibling):u==null||u.appendChild(c),c},Ph=e=>Fm(e)&&e.data[0]===Po,$h=e=>Fm(e)&&e.data[e.data.length-1]===Po,a0=e=>{var r;const t=e.getElementsByTagName("br"),o=t[t.length-1];lc(o)&&((r=o.parentNode)==null||r.removeChild(o))},Fh=e=>e&&e.hasAttribute("data-mce-caret")?(a0(e),e.removeAttribute("data-mce-caret"),e.removeAttribute("data-mce-bogus"),e.removeAttribute("style"),e.removeAttribute("data-mce-style"),e.removeAttribute("_moz_abspos"),e):null,c0=e=>ni(e.startContainer),Td=Math.round,Tl=e=>e?{left:Td(e.left),top:Td(e.top),bottom:Td(e.bottom),right:Td(e.right),width:Td(e.width),height:Td(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0},i0=(e,t)=>(e=Tl(e),t||(e.left=e.left+e.width),e.right=e.left,e.width=0,e),Ih=(e,t)=>e.left===t.left&&e.top===t.top&&e.bottom===t.bottom&&e.right===t.right,_2=(e,t,o)=>e>=0&&e<=Math.min(t.height,o.height)/2,Gf=(e,t)=>{const o=Math.min(t.height/2,e.height/2);return e.bottom-ot.bottom?!1:_2(t.top-e.bottom,e,t)},as=(e,t)=>e.top>t.bottom?!0:e.bottomt>=e.left&&t<=e.right&&o>=e.top&&o<=e.bottom,kd=e=>os(e,(t,o)=>t.fold(()=>B.some(o),r=>{const c=Math.min(o.left,r.left),u=Math.min(o.top,r.top),f=Math.max(o.right,r.right),p=Math.max(o.bottom,r.bottom);return B.some({top:u,right:f,bottom:p,left:c,width:f-c,height:p-u})}),B.none()),O2=(e,t,o)=>{const r=Math.max(Math.min(t,e.left+e.width),e.left),c=Math.max(Math.min(o,e.top+e.height),e.top);return Math.sqrt((t-r)*(t-r)+(o-c)*(o-c))},D2=(e,t)=>Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),qf=e=>{const t=e.startContainer,o=e.startOffset;return t===e.endContainer&&t.hasChildNodes()&&e.endOffset===o+1?t.childNodes[o]:null},ri=(e,t)=>{if(ot(e)&&e.hasChildNodes()){const o=e.childNodes,r=s1(t,0,o.length-1);return o[r]}else return e},R2=(e,t)=>{if(!(t<0&&ot(e)&&e.hasChildNodes()))return ri(e,t)},Lw=new RegExp("[̀-ͯ҃-҇҈-҉֑-ֽֿׁ-ׂׄ-ׇׅؐ-ًؚ-ٰٟۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣣ-ंऺ़ु-ै्॑-ॗॢ-ॣঁ়াু-ৄ্ৗৢ-ৣਁ-ਂ਼ੁ-ੂੇ-ੈੋ-੍ੑੰ-ੱੵઁ-ં઼ુ-ૅે-ૈ્ૢ-ૣଁ଼ାିୁ-ୄ୍ୖୗୢ-ୣஂாீ்ௗఀా-ీె-ైొ-్ౕ-ౖౢ-ౣಁ಼ಿೂೆೌ-್ೕ-ೖೢ-ೣഁാു-ൄ്ൗൢ-ൣ්ාි-ුූෟัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-ཱ༹༙༵༷-ཾྀ-྄྆-྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္-်ွ-ှၘ-ၙၞ-ၠၱ-ၴႂႅ-ႆႍႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳ឴-឵ិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧ-ᤨᤲ᤹-᤻ᨗ-ᨘᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽᪾ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀ-ᮁᮢ-ᮥᮨ-ᮩ᮫-ᮭ᯦ᯨ-ᯩᯭᯯ-ᯱᰬ-ᰳᰶ-᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸-᳹᷀-᷵᷼-᷿‌-‍⃐-⃜⃝-⃠⃡⃢-⃤⃥-⃰⳯-⵿⳱ⷠ-〪ⷿ-〭〮-゙〯-゚꙯꙰-꙲ꙴ-꙽ꚞ-ꚟ꛰-꛱ꠂ꠆ꠋꠥ-ꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꧥꨩ-ꨮꨱ-ꨲꨵ-ꨶꩃꩌꩼꪰꪲ-ꪴꪷ-ꪸꪾ-꪿꫁ꫬ-ꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-゙︯-゚]"),Hw=e=>q(e)&&e.charCodeAt(0)>=768&&Lw.test(e),Lh=(...e)=>t=>{for(let o=0;ot=>{for(let o=0;oB2(e)?!1:Rs(e)?!Jo(e.parentNode):Hh(e)||Ls(e)||M2(e)||l0(e),N2=e=>ot(e)&&e.getAttribute("unselectable")==="true",l0=e=>!N2(e)&&er(e),P2=(e,t)=>{for(let o=e.parentNode;o&&o!==t;o=o.parentNode){if(l0(o))return!1;if(Xo(o))return!0}return!0},$2=e=>l0(e)?!os(Fr(e.getElementsByTagName("*")),(t,o)=>t||Xo(o),!1):!1,F2=e=>Hh(e)||$2(e),I2=(e,t)=>ai(e)&&P2(e,t),L2=ot,yk=ai,kl=fh("display","block table"),H2=fh("float","left right"),Kf=cs(L2,yk,go(H2)),u0=go(fh("white-space","pre pre-line pre-wrap")),yu=Se,Yf=uo,z2=yt.nodeIndex,Ad=R2,Xf=e=>e?e.createRange():yt.DOM.createRng(),_d=e=>q(e)&&/[\r\n\t ]/.test(e),Ui=e=>!!e.setStart&&!!e.setEnd,Ca=e=>{const t=e.startContainer,o=e.startOffset;if(_d(e.toString())&&u0(t.parentNode)&&Se(t)){const r=t.data;if(_d(r[o-1])||_d(r[o+1]))return!0}return!1},Jf=e=>{const t=e.ownerDocument,o=Xf(t),r=t.createTextNode(Es),c=e.parentNode;c.insertBefore(r,e),o.setStart(r,0),o.setEnd(r,1);const u=Tl(o.getBoundingClientRect());return c.removeChild(r),u},zh=e=>{const t=e.startContainer,o=e.endContainer,r=e.startOffset,c=e.endOffset;if(t===o&&Se(o)&&r===0&&c===1){const u=e.cloneRange();return u.setEndAfter(o),Od(u)}else return null},V2=e=>e.left===0&&e.right===0&&e.top===0&&e.bottom===0,Od=e=>{let t;const o=e.getClientRects();return o.length>0?t=Tl(o[0]):t=Tl(e.getBoundingClientRect()),!Ui(e)&&Yf(e)&&V2(t)?Jf(e):V2(t)&&Ui(e)?zh(e)??t:t},vs=(e,t)=>{const o=i0(e,t);return o.width=1,o.right=o.left+1,o},d0=e=>{const t=[],o=f=>{f.height!==0&&(t.length>0&&Ih(f,t[t.length-1])||t.push(f))},r=(f,p)=>{const v=Xf(f.ownerDocument);if(p0&&(v.setStart(f,p-1),v.setEnd(f,p),Ca(v)||o(vs(Od(v),!1))),p{const r=()=>(yu(e),t===0),c=()=>yu(e)?t>=e.data.length:t>=e.childNodes.length,u=()=>{const _=Xf(e.ownerDocument);return _.setStart(e,t),_.setEnd(e,t),_},f=()=>(o||(o=d0(he(e,t))),o),p=()=>f().length>0,v=_=>_&&e===_.container()&&t===_.offset(),w=_=>Ad(e,_?t-1:t);return{container:Me(e),offset:Me(t),toRange:u,getClientRects:f,isVisible:p,isAtStart:r,isAtEnd:c,isEqual:v,getNode:w}};he.fromRangeStart=e=>he(e.startContainer,e.startOffset),he.fromRangeEnd=e=>he(e.endContainer,e.endOffset),he.after=e=>he(e.parentNode,z2(e)+1),he.before=e=>he(e.parentNode,z2(e)),he.isAbove=(e,t)=>xs(ws(t.getClientRects()),$r(e.getClientRects()),Gf).getOr(!1),he.isBelow=(e,t)=>xs($r(t.getClientRects()),ws(e.getClientRects()),as).getOr(!1),he.isAtStart=e=>e?e.isAtStart():!1,he.isAtEnd=e=>e?e.isAtEnd():!1,he.isTextPosition=e=>e?Se(e.container()):!1,he.isElementPosition=e=>!he.isTextPosition(e);const Vh=(e,t)=>{Se(t)&&t.data.length===0&&e.remove(t)},zw=(e,t,o)=>{t.insertNode(o),Vh(e,o.previousSibling),Vh(e,o.nextSibling)},Qf=(e,t,o)=>{const r=B.from(o.firstChild),c=B.from(o.lastChild);t.insertNode(o),r.each(u=>Vh(e,u.previousSibling)),c.each(u=>Vh(e,u.nextSibling))},Uh=(e,t,o)=>{Pa(o)?Qf(e,t,o):zw(e,t,o)},ur=Se,m0=lc,Vw=yt.nodeIndex,dr=e=>{const t=e.parentNode;return m0(t)?dr(t):t},Cc=e=>e?i1(e.childNodes,(t,o)=>(m0(o)&&o.nodeName!=="BR"?t=t.concat(Cc(o)):t.push(o),t),[]):[],Ua=(e,t)=>{let o=e;for(;(o=o.previousSibling)&&ur(o);)t+=o.data.length;return t},Uw=e=>t=>e===t,eg=e=>{let t,o;t=Cc(dr(e)),o=pv(t,Uw(e),e),t=t.slice(0,o+1);const r=i1(t,(c,u,f)=>(ur(u)&&ur(t[f-1])&&c++,c),0);return t=Xg(t,Fi([e.nodeName])),o=pv(t,Uw(e),e),o-r},Zw=e=>(ur(e)?"text()":e.nodeName.toLowerCase())+"["+eg(e)+"]",Ck=(e,t,o)=>{const r=[];for(let c=t.parentNode;c&&c!==e&&!(o&&o(c));c=c.parentNode)r.push(c);return r},Ww=(e,t)=>{let o=[],r=t.container(),c=t.offset(),u;if(ur(r))u=Ua(r,c);else{const p=r.childNodes;c>=p.length?(u="after",c=p.length-1):u="before",r=p[c]}o.push(Zw(r));let f=Ck(e,r);return f=Xg(f,go(lc)),o=o.concat(pm(f,p=>Zw(p))),o.reverse().join("/")+","+u},Sk=(e,t,o)=>{let r=Cc(e);return r=Xg(r,(c,u)=>!ur(c)||!ur(r[u-1])),r=Xg(r,Fi([t])),r[o]},Gt=(e,t)=>{let o=e,r=0;for(;ur(o);){const c=o.data.length;if(t>=r&&t<=r+c){e=o,t=t-r;break}if(!ur(o.nextSibling)){e=o,t=c;break}r+=c,o=o.nextSibling}return ur(e)&&t>e.data.length&&(t=e.data.length),he(e,t)},gt=(e,t)=>{if(!t)return null;const o=t.split(","),r=o[0].split("/"),c=o.length>1?o[1]:"before",u=i1(r,(f,p)=>{const v=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(p);return v?(v[1]==="text()"&&(v[1]="#text"),Sk(f,v[1],parseInt(v[2],10))):null},e);if(!u)return null;if(!ur(u)&&u.parentNode){let f;return c==="after"?f=Vw(u)+1:f=Vw(u),he(u.parentNode,f)}return Gt(u,parseInt(c,10))},Dd=ro,U2=(e,t,o)=>{let r=e(t.data.slice(0,o)).length;for(let c=t.previousSibling;c&&Se(c);c=c.previousSibling)r+=e(c.data).length;return r},f0=(e,t,o,r,c)=>{const u=c?r.startContainer:r.endContainer;let f=c?r.startOffset:r.endOffset;const p=[],v=e.getRoot();if(Se(u))p.push(o?U2(t,u,f):f);else{let w=0;const _=u.childNodes;f>=_.length&&_.length&&(w=1,f=Math.max(0,_.length-1)),p.push(e.nodeIndex(_[f],o)+w)}for(let w=u;w&&w!==v;w=w.parentNode)p.push(e.nodeIndex(w,o));return p},wk=(e,t,o,r)=>{const c=t.dom,u=f0(c,e,o,r,!0),f=t.isForward(),p=c0(r)?{isFakeCaret:!0}:{};if(t.isCollapsed())return{start:u,forward:f,...p};{const v=f0(c,e,o,r,!1);return{start:u,end:v,forward:f,...p}}},g0=(e,t,o)=>{let r=0;return Oe.each(e.select(t),c=>{if(c.getAttribute("data-mce-bogus")!=="all"){if(c===o)return!1;r++;return}}),r},ao=(e,t)=>{let o=t?e.startContainer:e.endContainer,r=t?e.startOffset:e.endOffset;if(ot(o)&&o.nodeName==="TR"){const c=o.childNodes;o=c[Math.min(t?r:r-1,c.length-1)],o&&(r=t?0:o.childNodes.length,t?e.setStart(o,r):e.setEnd(o,r))}},Zh=e=>(ao(e,!0),ao(e,!1),e),h0=(e,t)=>{if(ot(e)&&(e=ri(e,t),Dd(e)))return e;if(ya(e)){Se(e)&&ni(e)&&(e=e.parentNode);let o=e.previousSibling;if(Dd(o)||(o=e.nextSibling,Dd(o)))return o}},jw=e=>h0(e.startContainer,e.startOffset)||h0(e.endContainer,e.endOffset),be=(e,t,o)=>{const r=o.getNode(),c=o.getRng();if(r.nodeName==="IMG"||Dd(r)){const f=r.nodeName;return{name:f,index:g0(o.dom,f,r)}}const u=jw(c);if(u){const f=u.tagName;return{name:f,index:g0(o.dom,f,u)}}return wk(e,o,t,c)},p0=e=>{const t=e.getRng();return{start:Ww(e.dom.getRoot(),he.fromRangeStart(t)),end:Ww(e.dom.getRoot(),he.fromRangeEnd(t)),forward:e.isForward()}},Gw=e=>({rng:e.getRng(),forward:e.isForward()}),Wh=(e,t,o)=>{const r={"data-mce-type":"bookmark",id:t,style:"overflow:hidden;line-height:0px"};return o?e.create("span",r,""):e.create("span",r)},Z2=(e,t)=>{const o=e.dom;let r=e.getRng();const c=o.uniqueId(),u=e.isCollapsed(),f=e.getNode(),p=f.nodeName,v=e.isForward();if(p==="IMG")return{name:p,index:g0(o,p,f)};const w=Zh(r.cloneRange());if(!u){w.collapse(!1);const O=Wh(o,c+"_end",t);Uh(o,w,O)}r=Zh(r),r.collapse(!0);const _=Wh(o,c+"_start",t);return Uh(o,r,_),e.moveToBookmark({id:c,keep:!0,forward:v}),{id:c,forward:v}},Rd=(e,t,o=!1)=>t===2?be(Ur,o,e):t===3?p0(e):t?Gw(e):Z2(e,!1),Md=Ae(be,$o,!0),ci=e=>e===1,Im=e=>e===-1;var sa;(function(e){e[e.Error=0]="Error",e[e.Value=1]="Value"})(sa||(sa={}));const Hn=(e,t,o)=>e.stype===sa.Error?t(e.serror):o(e.svalue),Zi=e=>{const t=[],o=[];return ie(e,r=>{Hn(r,c=>o.push(c),c=>t.push(c))}),{values:t,errors:o}},qw=(e,t)=>e.stype===sa.Error?{stype:sa.Error,serror:t(e.serror)}:e,Cu=(e,t)=>e.stype===sa.Value?{stype:sa.Value,svalue:t(e.svalue)}:e,ii=(e,t)=>e.stype===sa.Value?t(e.svalue):e,xk=(e,t)=>e.stype===sa.Error?t(e.serror):e,Kw=e=>({stype:sa.Value,svalue:e}),b0=e=>({stype:sa.Error,serror:e}),mr={fromResult:e=>e.fold(b0,Kw),toResult:e=>Hn(e,Xr.error,Xr.value),svalue:Kw,partition:Zi,serror:b0,bind:ii,bindError:xk,map:Cu,mapError:qw,fold:Hn},Yw=e=>fn(e)&&mt(e).length>100?" removed due to size":JSON.stringify(e,null,2),Xw=e=>{const t=e.length>10?e.slice(0,10).concat([{path:[],getErrorInfo:Me("... (only showing first ten failures)")}]):e;return Ot(t,o=>"Failed path: ("+o.path.join(" > ")+`) +`+o.getErrorInfo())},De=(e,t)=>mr.serror([{path:e,getErrorInfo:t}]),Ek=(e,t,o)=>De(e,()=>'Could not find valid *required* value for "'+t+'" in '+Yw(o)),Hs=(e,t)=>De(e,Me(t)),W2=e=>{const t=(r,c)=>mr.bindError(e(c),u=>Hs(r,u)),o=Me("val");return{extract:t,toString:o}},Jw=W2(mr.svalue),j2=Me(Jw),G2=(e,t)=>W2(o=>{const r=typeof o;return e(o)?mr.svalue(o):mr.serror(`Expected type: ${t} but got: ${r}`)}),Nt=G2(Kr,"number"),q2=G2(q,"string"),K2=G2(J,"function"),Qw=()=>({tag:"required",process:{}}),Tk=e=>({tag:"defaultedThunk",process:e}),ex=e=>Tk(Me(e)),kk=()=>({tag:"option",process:{}}),Ak=(e,t,o,r)=>({tag:"field",key:e,newKey:t,presence:o,prop:r}),Y2=(e,t,o)=>{switch(e.tag){case"field":return t(e.key,e.newKey,e.presence,e.prop);case"custom":return o(e.newKey,e.instantiator)}},_k=(e,t)=>mr.svalue(r1(t,mv.apply(void 0,e))),Pt=e=>T(mr.serror,Ka)(e),Sc={consolidateObj:(e,t)=>{const o=mr.partition(e);return o.errors.length>0?Pt(o.errors):_k(o.values,t)},consolidateArr:e=>{const t=mr.partition(e);return t.errors.length>0?Pt(t.errors):mr.svalue(t.values)}},v0=(e,t,o,r)=>po(t,o).fold(()=>Ek(e,o,t),r),ra=(e,t,o,r)=>{const c=po(e,t).getOrThunk(()=>o(e));return r(c)},y0=(e,t,o)=>o(po(e,t)),jh=(e,t,o,r)=>{const c=po(e,t).map(u=>u===!0?o(e):u);return r(c)},C0=(e,t,o,r,c)=>{const u=p=>c.extract(t.concat([r]),p),f=p=>p.fold(()=>mr.svalue(B.none()),v=>{const w=c.extract(t.concat([r]),v);return mr.map(w,B.some)});switch(e.tag){case"required":return v0(t,o,r,u);case"defaultedThunk":return ra(o,r,e.process,u);case"option":return y0(o,r,f);case"defaultedOptionThunk":return jh(o,r,e.process,f);case"mergeWithThunk":return ra(o,r,Me({}),p=>{const v=r1(e.process(o),p);return u(v)})}},tg=(e,t,o)=>{const r={},c=[];for(const u of o)Y2(u,(f,p,v,w)=>{const _=C0(v,e,t,f,w);mr.fold(_,O=>{c.push(...O)},O=>{r[p]=O})},(f,p)=>{r[f]=p(t)});return c.length>0?mr.serror(c):mr.svalue(r)},ng=e=>({extract:(r,c)=>tg(r,c,e),toString:()=>`obj{ +`+Ot(e,c=>Y2(c,(u,f,p,v)=>u+" -> "+v.toString(),(u,f)=>"state("+u+")")).join(` +`)+"}"}),Wi=e=>({extract:(r,c)=>{const u=Ot(c,(f,p)=>e.extract(r.concat(["["+p+"]"]),f));return Sc.consolidateArr(u)},toString:()=>"array("+e.toString()+")"}),fr=T(Wi,ng),Su=e=>W2(t=>e(t).fold(mr.serror,mr.svalue)),Ok=(e,t,o)=>{const r=t.extract([e],o);return mr.mapError(r,c=>({input:o,errors:c}))},X2=(e,t,o)=>mr.toResult(Ok(e,t,o)),nx=e=>`Errors: +`+Xw(e.errors).join(` +`)+` + +Input object: `+Yw(e.input),Lm=Ak,an=e=>Lm(e,e,Qw(),j2()),li=(e,t)=>Lm(e,e,Qw(),t),wu=e=>li(e,q2),Dk=e=>li(e,K2),og=(e,t)=>Lm(e,e,Qw(),Wi(t)),un=e=>Lm(e,e,kk(),j2()),Rk=(e,t)=>Lm(e,e,kk(),t),ox=e=>Rk(e,q2),hR=e=>Rk(e,K2),pR=(e,t)=>Lm(e,e,ex(t),j2()),sg=(e,t,o)=>Lm(e,e,ex(t),o),sx=(e,t)=>sg(e,t,Nt),bR=(e,t,o)=>sg(e,t,Wi(o)),S0=e=>e.type==="inline-command"||e.type==="inline-format",Mk=e=>e.type==="block-command"||e.type==="block-format",J2=(e,t)=>(e.type==="block-command"||e.type==="block-format")&&e.trigger===t,Bk=e=>{const t=r=>Xr.error({message:r,pattern:e}),o=(r,c,u)=>{if(e.format!==void 0){let f;if(gn(e.format)){if(!Xl(e.format,q))return t(r+" pattern has non-string items in the `format` array");f=e.format}else if(q(e.format))f=[e.format];else return t(r+" pattern has non-string `format` parameter");return Xr.value(c(f))}else return e.cmd!==void 0?q(e.cmd)?Xr.value(u(e.cmd,e.value)):t(r+" pattern has non-string `cmd` parameter"):t(r+" pattern is missing both `format` and `cmd` parameters")};if(!fn(e))return t("Raw pattern is not an object");if(!q(e.start))return t("Raw pattern is missing `start` parameter");if(e.end!==void 0){if(!q(e.end))return t("Inline pattern has non-string `end` parameter");if(e.start.length===0&&e.end.length===0)return t("Inline pattern has empty `start` and `end` parameters");let r=e.start,c=e.end;return c.length===0&&(c=r,r=""),o("Inline",u=>({type:"inline-format",start:r,end:c,format:u}),(u,f)=>({type:"inline-command",start:r,end:c,cmd:u,value:f}))}else{if(e.replacement!==void 0)return q(e.replacement)?e.start.length===0?t("Replacement pattern has empty `start` parameter"):Xr.value({type:"inline-command",start:"",end:e.start,cmd:"mceInsertContent",value:e.replacement}):t("Replacement pattern has non-string `replacement` parameter");{const r=e.trigger??"space";return e.start.length===0?t("Block pattern has empty `start` parameter"):o("Block",c=>({type:"block-format",start:e.start,format:c[0],trigger:r}),(c,u)=>({type:"block-command",start:e.start,cmd:c,value:u,trigger:r}))}}},rx=e=>ft(e,Mk),Gh=e=>ft(e,S0),Q2=(e,t)=>({inlinePatterns:Gh(e),blockPatterns:rx(e),dynamicPatternsLookup:t}),qh=(e,t)=>({...e,blockPatterns:ft(e.blockPatterns,o=>J2(o,t))}),ey=e=>{const t=Ja(Ot(e,Bk));return ie(t.errors,o=>console.error(o.message,o.pattern)),t.values},Nk=e=>t=>{const o=e(t);return ey(o)},ax=(e,t)=>e.dispatch("PreProcess",t),ty=(e,t)=>e.dispatch("PostProcess",t),cx=e=>{e.dispatch("remove")},bn=e=>{e.dispatch("detach")},ix=(e,t)=>{e.dispatch("SwitchMode",{mode:t})},ny=(e,t,o,r,c)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:r,origin:c})},oy=(e,t,o,r,c)=>{e.dispatch("ObjectResized",{target:t,width:o,height:r,origin:c})},Nd=e=>{e.dispatch("PreInit")},lx=e=>{e.dispatch("PostRender")},Pk=e=>{e.dispatch("Init")},$k=(e,t)=>{e.dispatch("PlaceholderToggle",{state:t})},Hm=(e,t,o)=>{e.dispatch(t,o)},ux=(e,t,o,r)=>{e.dispatch("FormatApply",{format:t,node:o,vars:r})},rg=(e,t,o,r)=>{e.dispatch("FormatRemove",{format:t,node:o,vars:r})},Kh=(e,t)=>e.dispatch("BeforeSetContent",t),dx=(e,t)=>e.dispatch("SetContent",t),Al=(e,t)=>e.dispatch("BeforeGetContent",t),sy=(e,t)=>e.dispatch("GetContent",t),mx=(e,t)=>{e.dispatch("AutocompleterStart",t)},Fk=(e,t)=>{e.dispatch("AutocompleterUpdate",t)},w0=(e,t)=>{e.dispatch("AutocompleterUpdateActiveRange",t)},vR=e=>{e.dispatch("AutocompleterEnd")},fx=(e,t,o)=>e.dispatch("PastePreProcess",{content:t,internal:o}),gx=(e,t,o)=>e.dispatch("PastePostProcess",{node:t,internal:o}),Yh=(e,t)=>e.dispatch("PastePlainTextToggle",{state:t}),Xh=(e,t)=>e.dispatch("EditableRootStateChange",{state:t}),x0=(e,t)=>e.dispatch("DisabledStateChange",{state:t}),ry=e=>e.dispatch("CloseActiveTooltips"),ag=Uc().deviceType,Jh=ag.isTouch(),xu=yt.DOM,Qh=e=>{const t=e.indexOf("=")>0?e.split(/[;,](?![^=;,]*(?:[;,]|$))/):e.split(",");return os(t,(o,r)=>{const c=r.split("="),u=c[0],f=c.length>1?c[1]:u;return o[Mo(u)]=Mo(f),o},{})},ay=e=>Yl(e,RegExp),Ye=e=>t=>t.options.get(e),ep=e=>q(e)||fn(e),cy=(e,t="")=>o=>{const r=q(o);if(r)if(o.indexOf("=")!==-1){const c=Qh(o);return{value:po(c,e.id).getOr(t),valid:r}}else return{value:o,valid:r};else return{valid:!1,message:"Must be a string."}},hx=e=>{const t=e.options.register;t("id",{processor:"string",default:e.id}),t("selector",{processor:"string"}),t("target",{processor:"object"}),t("suffix",{processor:"string"}),t("cache_suffix",{processor:"string"}),t("base_url",{processor:"string"}),t("referrer_policy",{processor:"string",default:""}),t("crossorigin",{processor:"function",default:Me(void 0)}),t("language_load",{processor:"boolean",default:!0}),t("inline",{processor:"boolean",default:!1}),t("iframe_attrs",{processor:"object",default:{}}),t("doctype",{processor:"string",default:""}),t("document_base_url",{processor:"string",default:e.editorManager.documentBaseURL}),t("body_id",{processor:cy(e,"tinymce"),default:"tinymce"}),t("body_class",{processor:cy(e),default:""}),t("content_security_policy",{processor:"string",default:""}),t("br_in_pre",{processor:"boolean",default:!0}),t("forced_root_block",{processor:r=>{const c=q(r)&&Lo(r);return c?{value:r,valid:c}:{valid:!1,message:"Must be a non-empty string."}},default:"p"}),t("forced_root_block_attrs",{processor:"object",default:{}}),t("newline_behavior",{processor:r=>{const c=Bt(["block","linebreak","invert","default"],r);return c?{value:r,valid:c}:{valid:!1,message:"Must be one of: block, linebreak, invert or default."}},default:"default"}),t("br_newline_selector",{processor:"string",default:".mce-toc h2,figcaption,caption"}),t("no_newline_selector",{processor:"string",default:""}),t("keep_styles",{processor:"boolean",default:!0}),t("end_container_on_empty_block",{processor:r=>Qt(r)?{valid:!0,value:r}:q(r)?{valid:!0,value:r}:{valid:!1,message:"Must be boolean or a string"},default:"blockquote"}),t("font_size_style_values",{processor:"string",default:"xx-small,x-small,small,medium,large,x-large,xx-large"}),t("font_size_legacy_values",{processor:"string",default:"xx-small,small,medium,large,x-large,xx-large,300%"}),t("font_size_classes",{processor:"string",default:""}),t("automatic_uploads",{processor:"boolean",default:!0}),t("images_reuse_filename",{processor:"boolean",default:!1}),t("images_replace_blob_uris",{processor:"boolean",default:!0}),t("icons",{processor:"string",default:""}),t("icons_url",{processor:"string",default:""}),t("images_upload_url",{processor:"string",default:""}),t("images_upload_base_path",{processor:"string",default:""}),t("images_upload_credentials",{processor:"boolean",default:!1}),t("images_upload_handler",{processor:"function"}),t("language",{processor:"string",default:"en"}),t("language_url",{processor:"string",default:""}),t("entity_encoding",{processor:"string",default:"named"}),t("indent",{processor:"boolean",default:!0}),t("indent_before",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),t("indent_after",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),t("indent_use_margin",{processor:"boolean",default:!1}),t("indentation",{processor:"string",default:"40px"}),t("content_css",{processor:r=>{const c=r===!1||q(r)||Fn(r,q);return c?q(r)?{value:Ot(r.split(","),Mo),valid:c}:gn(r)?{value:r,valid:c}:r===!1?{value:[],valid:c}:{value:r,valid:c}:{valid:!1,message:"Must be false, a string or an array of strings."}},default:N0(e)?[]:["default"]}),t("content_style",{processor:"string"}),t("content_language",{processor:"string"}),t("content_css_cors",{processor:"boolean",default:!1}),t("font_css",{processor:r=>{const c=q(r)||Fn(r,q);return c?{value:gn(r)?r:Ot(r.split(","),Mo),valid:c}:{valid:!1,message:"Must be a string or an array of strings."}},default:[]}),t("extended_mathml_attributes",{processor:"string[]"}),t("extended_mathml_elements",{processor:"string[]"}),t("inline_boundaries",{processor:"boolean",default:!0}),t("inline_boundaries_selector",{processor:"string",default:"a[href],code,span.mce-annotation"}),t("object_resizing",{processor:r=>{const c=Qt(r)||q(r);return c?r===!1||ag.isiPhone()||ag.isiPad()?{value:"",valid:c}:{value:r===!0?"table,img,figure.image,div,video,iframe":r,valid:c}:{valid:!1,message:"Must be boolean or a string"}},default:!Jh}),t("resize_img_proportional",{processor:"boolean",default:!0}),t("event_root",{processor:"string"}),t("service_message",{processor:"string"}),t("onboarding",{processor:"boolean",default:!0}),t("tiny_cloud_entry_url",{processor:"string"}),t("theme",{processor:r=>r===!1||q(r)||J(r),default:"silver"}),t("theme_url",{processor:"string"}),t("formats",{processor:"object"}),t("format_empty_lines",{processor:"boolean",default:!1}),t("format_noneditable_selector",{processor:"string",default:""}),t("preview_styles",{processor:r=>{const c=r===!1||q(r);return c?{value:r===!1?"":r,valid:c}:{valid:!1,message:"Must be false or a string"}},default:"font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"}),t("custom_ui_selector",{processor:"string",default:""}),t("hidden_input",{processor:"boolean",default:!0}),t("submit_patch",{processor:"boolean",default:!0}),t("encoding",{processor:"string"}),t("add_form_submit_trigger",{processor:"boolean",default:!0}),t("add_unload_trigger",{processor:"boolean",default:!0}),t("custom_undo_redo_levels",{processor:"number",default:0}),t("disable_nodechange",{processor:"boolean",default:!1}),t("disabled",{processor:r=>Qt(r)?(e.initialized&&U0(e)!==r&&Promise.resolve().then(()=>{x0(e,r)}),{valid:!0,value:r}):{valid:!1,message:"The value must be a boolean."},default:!1}),t("readonly",{processor:"boolean",default:!1}),t("editable_root",{processor:"boolean",default:!0}),t("plugins",{processor:"string[]",default:[]}),t("external_plugins",{processor:"object"}),t("forced_plugins",{processor:"string[]"}),t("model",{processor:"string",default:e.hasPlugin("rtc")?"plugin":"dom"}),t("model_url",{processor:"string"}),t("block_unsupported_drop",{processor:"boolean",default:!0}),t("visual",{processor:"boolean",default:!0}),t("visual_table_class",{processor:"string",default:"mce-item-table"}),t("visual_anchor_class",{processor:"string",default:"mce-item-anchor"}),t("iframe_aria_text",{processor:"string",default:"Rich Text Area".concat(e.hasPlugin("help")?". Press ALT-0 for help.":"")}),t("setup",{processor:"function"}),t("init_instance_callback",{processor:"function"}),t("url_converter",{processor:"function",default:e.convertURL}),t("url_converter_scope",{processor:"object",default:e}),t("urlconverter_callback",{processor:"function"}),t("allow_conditional_comments",{processor:"boolean",default:!1}),t("allow_html_data_urls",{processor:"boolean",default:!1}),t("allow_svg_data_urls",{processor:"boolean"}),t("allow_html_in_named_anchor",{processor:"boolean",default:!1}),t("allow_html_in_comments",{processor:"boolean",default:!1}),t("allow_script_urls",{processor:"boolean",default:!1}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("allow_mathml_annotation_encodings",{processor:r=>{const c=Fn(r,q);return c?{value:r,valid:c}:{valid:!1,message:"Must be an array of strings."}},default:[]}),t("convert_fonts_to_spans",{processor:"boolean",default:!0,deprecated:!0}),t("fix_list_elements",{processor:"boolean",default:!1}),t("preserve_cdata",{processor:"boolean",default:!1}),t("remove_trailing_brs",{processor:"boolean",default:!0}),t("pad_empty_with_br",{processor:"boolean",default:!1}),t("inline_styles",{processor:"boolean",default:!0,deprecated:!0}),t("element_format",{processor:"string",default:"html"}),t("entities",{processor:"string"}),t("schema",{processor:"string",default:"html5"}),t("convert_urls",{processor:"boolean",default:!0}),t("relative_urls",{processor:"boolean",default:!0}),t("remove_script_host",{processor:"boolean",default:!0}),t("custom_elements",{processor:ep}),t("extended_valid_elements",{processor:"string"}),t("invalid_elements",{processor:"string"}),t("invalid_styles",{processor:ep}),t("valid_children",{processor:"string"}),t("valid_classes",{processor:ep}),t("valid_elements",{processor:"string"}),t("valid_styles",{processor:ep}),t("verify_html",{processor:"boolean",default:!0}),t("auto_focus",{processor:r=>q(r)||r===!0}),t("browser_spellcheck",{processor:"boolean",default:!1}),t("protect",{processor:"array"}),t("images_file_types",{processor:"string",default:"jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp"}),t("deprecation_warnings",{processor:"boolean",default:!0}),t("a11y_advanced_options",{processor:"boolean",default:!1}),t("api_key",{processor:"string"}),t("license_key",{processor:"string"}),t("paste_block_drop",{processor:"boolean",default:!1}),t("paste_data_images",{processor:"boolean",default:!0}),t("paste_preprocess",{processor:"function"}),t("paste_postprocess",{processor:"function"}),t("paste_webkit_styles",{processor:"string",default:"none"}),t("paste_remove_styles_if_webkit",{processor:"boolean",default:!0}),t("paste_merge_formats",{processor:"boolean",default:!0}),t("smart_paste",{processor:"boolean",default:!0}),t("paste_as_text",{processor:"boolean",default:!1}),t("paste_tab_spaces",{processor:"number",default:4}),t("text_patterns",{processor:r=>Fn(r,fn)||r===!1?{value:ey(r===!1?[]:r),valid:!0}:{valid:!1,message:"Must be an array of objects or false."},default:[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"#",format:"h1",trigger:"space"},{start:"##",format:"h2",trigger:"space"},{start:"###",format:"h3",trigger:"space"},{start:"####",format:"h4",trigger:"space"},{start:"#####",format:"h5",trigger:"space"},{start:"######",format:"h6",trigger:"space"},{start:"1.",cmd:"InsertOrderedList",trigger:"space"},{start:"*",cmd:"InsertUnorderedList",trigger:"space"},{start:"-",cmd:"InsertUnorderedList",trigger:"space"},{start:">",cmd:"mceBlockQuote",trigger:"space"},{start:"---",cmd:"InsertHorizontalRule",trigger:"space"}]}),t("text_patterns_lookup",{processor:r=>J(r)?{value:Nk(r),valid:!0}:{valid:!1,message:"Must be a single function"},default:r=>[]}),t("allow_noneditable",{processor:"boolean",default:!0}),t("noneditable_class",{processor:"string",default:"mceNonEditable"}),t("editable_class",{processor:"string",default:"mceEditable"}),t("noneditable_regexp",{processor:r=>Fn(r,ay)?{value:r,valid:!0}:ay(r)?{value:[r],valid:!0}:{valid:!1,message:"Must be a RegExp or an array of RegExp."},default:[]}),t("table_tab_navigation",{processor:"boolean",default:!0}),t("highlight_on_focus",{processor:"boolean",default:!0}),t("xss_sanitization",{processor:"boolean",default:!0}),t("details_initial_state",{processor:r=>{const c=Bt(["inherited","collapsed","expanded"],r);return c?{value:r,valid:c}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),t("details_serialized_state",{processor:r=>{const c=Bt(["inherited","collapsed","expanded"],r);return c?{value:r,valid:c}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),t("init_content_sync",{processor:"boolean",default:!1}),t("newdocument_content",{processor:"string",default:""}),t("sandbox_iframes",{processor:"boolean",default:!0}),t("sandbox_iframes_exclusions",{processor:"string[]",default:["youtube.com","youtu.be","vimeo.com","player.vimeo.com","dailymotion.com","embed.music.apple.com","open.spotify.com","giphy.com","dai.ly","codepen.io"]}),t("convert_unsafe_embeds",{processor:"boolean",default:!0}),t("user_id",{processor:"string",default:"Anonymous"}),t("content_id",{processor:"string"}),t("fetch_users",{processor:r=>r===void 0?{valid:!0,value:void 0}:J(r)?{valid:!0,value:r}:{valid:!1,message:"fetch_users must be a function that returns a Promise"}});const o=fr([wu("mimeType"),og("extensions",Su(r=>q(r)?Xr.value(r):Xr.error("Extensions must be an array of strings")))]);t("documents_file_types",{processor:r=>X2("documents_file_types",o,r).fold(c=>({valid:!1,message:"Must be a non-empty array of objects matching the configuration schema: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/#documents-file-types"}),c=>({valid:!0,value:c}))}),e.on("ScriptsLoaded",()=>{t("directionality",{processor:"string",default:Va.isRtl()?"rtl":void 0}),t("placeholder",{processor:"string",default:xu.getAttrib(e.getElement(),"placeholder")})}),t("lists_indent_on_tab",{processor:"boolean",default:!0}),t("list_max_depth",{processor:r=>{const c=Kr(r);if(c){if(r<0)throw new Error("list_max_depth cannot be set to lower than 0");return{value:r,valid:c}}else return{valid:!1,message:"Must be a number"}}})},Ik=Ye("iframe_attrs"),Lk=Ye("doctype"),px=Ye("document_base_url"),E0=Ye("body_id"),cg=Ye("body_class"),Pd=Ye("content_security_policy"),T0=Ye("br_in_pre"),zs=Ye("forced_root_block"),_l=Ye("forced_root_block_attrs"),bx=Ye("newline_behavior"),vx=Ye("br_newline_selector"),yx=Ye("no_newline_selector"),Cx=Ye("keep_styles"),Hk=Ye("end_container_on_empty_block"),Sx=Ye("automatic_uploads"),k0=Ye("images_reuse_filename"),iy=Ye("images_replace_blob_uris"),tp=Ye("icons"),A0=Ye("icons_url"),wx=Ye("images_upload_url"),np=Ye("images_upload_base_path"),zk=Ye("images_upload_credentials"),Vk=Ye("images_upload_handler"),_0=Ye("content_css_cors"),ly=Ye("referrer_policy"),op=Ye("crossorigin"),uy=Ye("language"),xx=Ye("language_url"),Uk=Ye("indent_use_margin"),ig=Ye("indentation"),Zk=Ye("content_css"),Wk=Ye("content_style"),O0=Ye("content_language"),dy=Ye("font_css"),Ex=Ye("directionality"),jk=Ye("inline_boundaries_selector"),D0=Ye("object_resizing"),Tx=Ye("resize_img_proportional"),R0=Ye("placeholder"),kx=Ye("event_root"),Ax=Ye("service_message"),lg=Ye("theme"),M0=Ye("theme_url"),my=Ye("model"),Gk=Ye("model_url"),B0=Ye("inline_boundaries"),yR=Ye("formats"),ug=Ye("preview_styles"),fy=Ye("format_empty_lines"),dg=Ye("format_noneditable_selector"),_x=Ye("custom_ui_selector"),N0=Ye("inline"),qk=Ye("hidden_input"),Kk=Ye("submit_patch"),Yk=Ye("add_form_submit_trigger"),P0=Ye("add_unload_trigger"),$0=Ye("custom_undo_redo_levels"),Ox=Ye("disable_nodechange"),gy=Ye("readonly"),Xk=Ye("editable_root"),hy=Ye("content_css_cors"),Eu=Ye("plugins"),F0=Ye("external_plugins"),Dx=Ye("block_unsupported_drop"),Rx=Ye("visual"),zm=Ye("visual_table_class"),Mx=Ye("visual_anchor_class"),ji=Ye("iframe_aria_text"),Jk=Ye("setup"),Bx=Ye("init_instance_callback"),Qk=Ye("urlconverter_callback"),CR=Ye("auto_focus"),eA=Ye("browser_spellcheck"),tA=Ye("protect"),nA=Ye("paste_block_drop"),I0=Ye("paste_data_images"),py=Ye("paste_preprocess"),oA=Ye("paste_postprocess"),Nx=Ye("newdocument_content"),by=Ye("paste_webkit_styles"),sA=Ye("paste_remove_styles_if_webkit"),lt=Ye("paste_merge_formats"),mg=Ye("smart_paste"),vy=Ye("paste_as_text"),Px=Ye("paste_tab_spaces"),$x=Ye("allow_html_data_urls"),L0=Ye("text_patterns"),yy=Ye("text_patterns_lookup"),fg=Ye("allow_noneditable"),Vm=Ye("noneditable_class"),Fx=Ye("editable_class"),Cy=Ye("noneditable_regexp"),Sy=Ye("preserve_cdata"),Ix=Ye("highlight_on_focus"),Lx=Ye("xss_sanitization"),rA=Ye("init_content_sync"),$d=e=>e.options.isSet("text_patterns_lookup"),wy=e=>Oe.explode(e.options.get("font_size_style_values")),Um=e=>Oe.explode(e.options.get("font_size_classes")),Gi=e=>e.options.get("encoding")==="xml",gg=e=>Oe.explode(e.options.get("images_file_types")),Fd=Ye("table_tab_navigation"),H0=Ye("details_initial_state"),Hx=Ye("details_serialized_state"),z0=Ye("sandbox_iframes"),Id=e=>e.options.get("sandbox_iframes_exclusions"),zx=Ye("convert_unsafe_embeds"),xy=Ye("license_key"),V0=Ye("api_key"),U0=Ye("disabled"),aA=Ye("user_id"),Vx=Ye("fetch_users"),cA=Ye("lists_indent_on_tab"),Ey=e=>B.from(e.options.get("list_max_depth")),Z0=ot,W0=Se,Ux=e=>{const t=e.parentNode;t&&t.removeChild(e)},j0=e=>{const t=Ur(e);return{count:e.length-t.length,text:t}},Zx=e=>{let t;for(;(t=e.data.lastIndexOf(Po))!==-1;)e.deleteData(t,1)},G0=(e,t)=>(At(e),t),iA=(e,t)=>{const o=j0(e.data.substr(0,t.offset())),r=j0(e.data.substr(t.offset()));return(o.text+r.text).length>0?(Zx(e),he(e,t.offset()-o.count)):t},q0=(e,t)=>{const o=t.container(),r=wT(Fr(o.childNodes),e).map(c=>cW0(e)&&t.container()===e?iA(e,t):G0(e,t),Ty=(e,t)=>t.container()===e.parentNode?q0(e,t):G0(e,t),lA=(e,t)=>he.isTextPosition(t)?Ld(e,t):Ty(e,t),At=e=>{Z0(e)&&ya(e)&&(yc(e)?e.removeAttribute("data-mce-caret"):Ux(e)),W0(e)&&(Zx(e),e.data.length===0&&Ux(e))},uA=ro,Wx=uc,dA=bh,ky="*[contentEditable=false],video,audio,embed,object",qi=(e,t,o)=>{const r=i0(t.getBoundingClientRect(),o);let c,u;if(e.tagName==="BODY"){const p=e.ownerDocument.documentElement;c=e.scrollLeft||p.scrollLeft,u=e.scrollTop||p.scrollTop}else{const p=e.getBoundingClientRect();c=e.scrollLeft-p.left,u=e.scrollTop-p.top}r.left+=c,r.right+=c,r.top+=u,r.bottom+=u,r.width=1;let f=t.offsetWidth-t.clientWidth;return f>0&&(o&&(f*=-1),r.left+=f,r.right+=f),r},mA=e=>{var o,r;const t=Ys(U.fromDom(e),ky);for(let c=0;c{const c=Vc();let u,f;const p=zs(e),v=e.dom,w=(I,Z)=>{let Y;if(_(),dA(Z))return null;if(o(Z)){const X=A2(p,Z,I),ee=qi(t,Z,I);v.setStyle(X,"top",ee.top),v.setStyle(X,"caret-color","transparent"),f=X;const fe=v.create("div",{class:"mce-visual-caret","data-mce-bogus":"all"});v.setStyles(fe,{...ee}),v.add(t,fe),c.set({caret:fe,element:Z,before:I}),I&&v.addClass(fe,"mce-visual-caret-before"),O(),Y=Z.ownerDocument.createRange(),Y.setStart(X,0),Y.setEnd(X,0)}else return f=Nh(Z,I),Y=Z.ownerDocument.createRange(),Zm(f.nextSibling)?(Y.setStart(f,0),Y.setEnd(f,0)):(Y.setStart(f,1),Y.setEnd(f,1)),Y;return Y},_=()=>{mA(t),f&&(At(f),f=null),c.on(I=>{v.remove(I.caret),c.clear()}),u&&(clearInterval(u),u=void 0)},O=()=>{u=window.setInterval(()=>{c.on(I=>{r()?v.toggleClass(I.caret,"mce-visual-caret-hidden"):v.addClass(I.caret,"mce-visual-caret-hidden")})},500)},R=()=>{c.on(I=>{const Z=qi(t,I.element,I.before);v.setStyles(I.caret,{...Z})})},P=()=>clearInterval(u),z=()=>".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}";return{isShowing:c.isSet,show:w,hide:_,getCss:z,reposition:R,destroy:P}},Gx=()=>dn.browser.isFirefox(),Zm=e=>uA(e)||Wx(e),Tu=e=>(Zm(e)||Xs(e)&&Gx())&&Gc(U.fromDom(e)).exists(Xc),Wm=ir,sp=ro,Ol=uc,qx=fh("display","block table table-cell table-row table-caption list-item"),Kx=ya,Yx=ni,fA=ot,rp=Se,Vs=ai,K0=(e,t)=>{let o;for(;o=e(t);)if(!Yx(o))return o;return null},hg=(e,t,o,r,c)=>{const u=new gs(e,r),f=sp(e)||Yx(e);let p;if(Im(t)){if(f&&(p=K0(u.prev.bind(u),!0),o(p)))return p;for(;p=K0(u.prev.bind(u),c);)if(o(p))return p}if(ci(t)){if(f&&(p=K0(u.next.bind(u),!0),o(p)))return p;for(;p=K0(u.next.bind(u),c);)if(o(p))return p}return null},gA=(e,t)=>{const o=c=>Wm(c.dom),r=c=>c.dom===t;return Cl(U.fromDom(e),o,r).map(c=>c.dom).getOr(t)},Ay=e=>ot(e)&&No(U.fromDom(e),"position")==="absolute",_y=(e,t)=>e.parentNode!==t,hA=(e,t)=>sp(e)&&Ay(e)&&_y(e,t),Hd=(e,t)=>{for(;e&&e!==t;){if(qx(e)&&!hA(e,t))return e;e=e.parentNode}return null},Dl=(e,t,o)=>Hd(e.container(),o)===Hd(t.container(),o),Oy=(e,t)=>{if(!t)return B.none();const o=t.container(),r=t.offset();return fA(o)?B.from(o.childNodes[r+e]):B.none()},ap=(e,t)=>{const r=(t.ownerDocument??document).createRange();return e?(r.setStartBefore(t),r.setEndBefore(t)):(r.setStartAfter(t),r.setEndAfter(t)),r},Xx=(e,t,o)=>Hd(t,e)===Hd(o,e),Y0=(e,t,o)=>{const r=e?"previousSibling":"nextSibling";let c=o;for(;c&&c!==t;){let u=c[r];if(u&&Kx(u)&&(u=u[r]),sp(u)||Ol(u)){if(Xx(t,u,c))return u;break}if(Vs(u))break;c=c.parentNode}return null},jm=Ae(ap,!0),ui=Ae(ap,!1),cp=(e,t,o)=>{let r;const c=Ae(Y0,!0,t),u=Ae(Y0,!1,t),f=o.startContainer,p=o.startOffset;if(ni(f)){const v=rp(f)?f.parentNode:f,w=v.getAttribute("data-mce-caret");if(w==="before"&&(r=v.nextSibling,Tu(r)))return jm(r);if(w==="after"&&(r=v.previousSibling,Tu(r)))return ui(r)}if(!o.collapsed)return o;if(Se(f)){if(Kx(f)){if(e===1){if(r=u(f),r)return jm(r);if(r=c(f),r)return ui(r)}if(e===-1){if(r=c(f),r)return ui(r);if(r=u(f),r)return jm(r)}return o}if($h(f)&&p>=f.data.length-1)return e===1&&(r=u(f),r)?jm(r):o;if(Ph(f)&&p<=1)return e===-1&&(r=c(f),r)?ui(r):o;if(p===f.data.length)return r=u(f),r?jm(r):o;if(p===0)return r=c(f),r?ui(r):o}return o},Dy=(e,t)=>Oy(e?0:-1,t).filter(sp),Gm=(e,t,o)=>{const r=cp(e,t,o);return e===-1?he.fromRangeStart(r):he.fromRangeEnd(r)},ip=e=>B.from(e.getNode()).map(U.fromDom),pA=e=>B.from(e.getNode(!0)).map(U.fromDom),lp=(e,t)=>{let o=t;for(;o=e(o);)if(o.isVisible())return o;return o},up=(e,t)=>{const o=Dl(e,t);return!o&&uo(e.getNode())?!0:o},bA=ro,di=Se,Jx=ot,Ry=uo,pg=ai,X0=F2,J0=I2,vA=(e,t)=>{const o=[];let r=e;for(;r&&r!==t;)o.push(r),r=r.parentNode;return o},My=(e,t)=>e.hasChildNodes()&&t{if(ci(e)){if(pg(t.previousSibling)&&!di(t.previousSibling))return he.before(t);if(di(t))return he(t,0)}if(Im(e)){if(pg(t.nextSibling)&&!di(t.nextSibling))return he.after(t);if(di(t))return he(t,t.data.length)}return Im(e)?Ry(t)?he.before(t):he.after(t):he.before(t)},yA=(e,t)=>{const o=t.nextSibling;return o&&pg(o)?di(o)?he(o,0):he.before(o):By(1,he.after(t),e)},By=(e,t,o)=>{let r,c,u,f;if(!Jx(o)||!t)return null;if(t.isEqual(he.after(o))&&o.lastChild){if(f=he.after(o.lastChild),Im(e)&&pg(o.lastChild)&&Jx(o.lastChild))return Ry(o.lastChild)?he.before(o.lastChild):f}else f=t;const p=f.container();let v=f.offset();if(di(p)){if(Im(e)&&v>0)return he(p,--v);if(ci(e)&&v0&&(c=My(p,v-1),pg(c)))return!X0(c)&&(u=hg(c,e,J0,c),u)?di(u)?he(u,u.data.length):he.after(u):di(c)?he(c,c.data.length):he.before(c);if(ci(e)&&v({next:t=>By(1,t,e),prev:t=>By(-1,t,e)}),Qx=(e,t,o)=>{const r=e?he.before(o):he.after(o);return m(e,t,r)},CA=e=>uo(e)?he.before(e):he.after(e),e4=e=>he.isTextPosition(e)?e.offset()===0:ai(e.getNode()),eb=e=>{if(he.isTextPosition(e)){const t=e.container();return e.offset()===t.data.length}else return ai(e.getNode(!0))},tr=(e,t)=>!he.isTextPosition(e)&&!he.isTextPosition(t)&&e.getNode()===t.getNode(!0),Qo=e=>!he.isTextPosition(e)&&uo(e.getNode()),l=(e,t,o)=>e?!tr(t,o)&&!Qo(t)&&eb(t)&&e4(o):!tr(o,t)&&e4(t)&&eb(o),m=(e,t,o)=>{const r=_n(t);return B.from(e?r.next(o):r.prev(o))},b=(e,t,o)=>m(e,t,o).bind(r=>Dl(o,r,t)&&l(e,o,r)?m(e,t,r):B.some(r)),y=(e,t,o,r)=>b(e,t,o).bind(c=>r(c)?y(e,t,c,r):B.some(c)),E=(e,t)=>{const o=e?t.firstChild:t.lastChild;return Se(o)?B.some(he(o,e?0:o.data.length)):o?ai(o)?B.some(e?he.before(o):CA(o)):Qx(e,t,o):B.none()},A=Ae(m,!0),M=Ae(m,!1),$=Ae(E,!0),H=Ae(E,!1),G="_mce_caret",ne=e=>ot(e)&&e.id===G,ue=(e,t)=>{let o=t;for(;o&&o!==e;){if(ne(o))return o;o=o.parentNode}return null},Ke=e=>q(e.start),Ze=e=>Ut(e,"rng"),ut=e=>Ut(e,"id"),Ne=e=>Ut(e,"name"),xe=e=>Oe.isArray(e.start),bt=e=>!Ne(e)&&Qt(e.forward)?e.forward:!0,st=(e,t)=>(ot(t)&&e.isBlock(t)&&!t.innerHTML&&(t.innerHTML='
'),t),et=(e,t)=>{const o=B.from(gt(e.getRoot(),t.start)),r=B.from(gt(e.getRoot(),t.end));return xs(o,r,(c,u)=>{const f=e.createRng();return f.setStart(c.container(),c.offset()),f.setEnd(u.container(),u.offset()),{range:f,forward:bt(t)}})},wn=(e,t)=>{const r=(e.ownerDocument??document).createTextNode(Po);e.appendChild(r),t.setStart(r,0),t.setEnd(r,0)},xn=e=>!e.hasChildNodes(),Rn=(e,t)=>H(e).fold(Ee,o=>(t.setStart(o.container(),o.offset()),t.setEnd(o.container(),o.offset()),!0)),Ho=(e,t,o)=>xn(t)&&ue(e,t)?(wn(t,o),!0):!1,wc=(e,t,o,r)=>{const c=o[t?"start":"end"],u=e.getRoot();if(c){let f=u,p=c[0];for(let v=c.length-1;f&&v>=1;v--){const w=f.childNodes;if(Ho(u,f,r))return!0;if(c[v]>w.length-1)return Ho(u,f,r)?!0:Rn(f,r);f=w[c[v]]}Se(f)&&(p=Math.min(c[0],f.data.length)),ot(f)&&(p=Math.min(c[0],f.childNodes.length)),t?r.setStart(f,p):r.setEnd(f,p)}return!0},ku=e=>Se(e)&&e.data.length>0,Au=(e,t,o)=>{const r=e.get(o.id+"_"+t),c=r==null?void 0:r.parentNode,u=o.keep;if(r&&c){let f,p;if(t==="start"?u?r.hasChildNodes()?(f=r.firstChild,p=1):ku(r.nextSibling)?(f=r.nextSibling,p=0):ku(r.previousSibling)?(f=r.previousSibling,p=r.previousSibling.data.length):(f=c,p=e.nodeIndex(r)+1):(f=c,p=e.nodeIndex(r)):u?r.hasChildNodes()?(f=r.firstChild,p=1):ku(r.previousSibling)?(f=r.previousSibling,p=r.previousSibling.data.length):(f=c,p=e.nodeIndex(r)):(f=c,p=e.nodeIndex(r)),!u){const v=r.previousSibling,w=r.nextSibling;Oe.each(Oe.grep(r.childNodes),O=>{Se(O)&&(O.data=O.data.replace(/\uFEFF/g,""))});let _;for(;_=e.get(o.id+"_"+t);)e.remove(_,!0);if(Se(w)&&Se(v)&&!dn.browser.isOpera()){const O=v.data.length;v.appendData(w.data),e.remove(w),f=v,p=O}}return B.some(he(f,p))}else return B.none()},qm=(e,t)=>{const o=e.createRng();return wc(e,!0,t,o)&&wc(e,!1,t,o)?B.some({range:o,forward:bt(t)}):B.none()},Mn=(e,t)=>{const o=Au(e,"start",t),r=Au(e,"end",t);return xs(o,r.or(o),(c,u)=>{const f=e.createRng();return f.setStart(st(e,c.container()),c.offset()),f.setEnd(st(e,u.container()),u.offset()),{range:f,forward:bt(t)}})},gr=(e,t)=>B.from(e.select(t.name)[t.index]).map(o=>{const r=e.createRng();return r.selectNode(o),{range:r,forward:!0}}),_r=(e,t)=>{const o=e.dom;if(t){if(xe(t))return qm(o,t);if(Ke(t))return et(o,t);if(ut(t))return Mn(o,t);if(Ne(t))return gr(o,t);if(Ze(t))return B.some({range:t.rng,forward:bt(t)})}return B.none()},Ki=(e,t,o)=>Rd(e,t,o),xc=(e,t)=>{_r(e,t).each(({range:o,forward:r})=>{e.setRng(o,r)})},Zr=e=>ot(e)&&e.tagName==="SPAN"&&e.getAttribute("data-mce-type")==="bookmark",bg=(e=>t=>e===t)(Es),Yi=e=>e!==""&&` \f +\r \v`.indexOf(e)!==-1,Je=e=>!Yi(e)&&!bg(e)&&!nu(e),fo=e=>{const t=[];if(e)for(let o=0;oBn(e,t=>{const o=qf(t);return o?[U.fromDom(o)]:[]}),t4=e=>fo(e).length>1,wA=e=>ft(SA(e),Bh),xA=e=>Ys(e,"td[data-mce-selected],th[data-mce-selected]"),n4=(e,t)=>{const o=xA(t);return o.length>0?o:wA(e)},_u=e=>n4(fo(e.selection.getSel()),U.fromDom(e.getBody())),vg=(e,t)=>qo(e,"table",t),Km=e=>{const t=e.startContainer,o=e.startOffset;return Se(t)?o===0?B.some(U.fromDom(t)):B.none():B.from(t.childNodes[o]).map(U.fromDom)},EA=e=>{const t=e.endContainer,o=e.endOffset;return Se(t)?o===t.data.length?B.some(U.fromDom(t)):B.none():B.from(t.childNodes[o-1]).map(U.fromDom)},o4=e=>$s(e).fold(Me([e]),t=>[e].concat(o4(t))),TA=e=>rs(e).fold(Me([e]),t=>Wt(t)==="br"?oc(t).map(o=>[e].concat(TA(o))).getOr([]):[e].concat(TA(t))),kA=(e,t)=>xs(Km(t),EA(t),(o,r)=>{const c=Qn(o4(e),Ae(sn,o)),u=Qn(TA(e),Ae(sn,r));return c.isSome()&&u.isSome()}).getOr(!1),AA=(e,t,o,r)=>{const c=o,u=new gs(o,c),f=qg(e.schema.getMoveCaretBeforeOnEnterElements(),(v,w)=>!Bt(["td","th","table"],w.toLowerCase()));let p=o;do{if(Se(p)&&Oe.trim(p.data).length!==0){r?t.setStart(p,0):t.setEnd(p,p.data.length);return}if(f[p.nodeName]){r?t.setStartBefore(p):p.nodeName==="BR"?t.setEndBefore(p):t.setEndAfter(p);return}}while(p=r?u.next():u.prev());c.nodeName==="BODY"&&(r?t.setStart(c,0):t.setEnd(c,c.childNodes.length))},s4=e=>{const t=e.selection.getSel();return pe(t)&&t.rangeCount>0},Ny=(e,t)=>{const o=_u(e);o.length>0?ie(o,r=>{const c=r.dom,u=e.dom.createRng();u.setStartBefore(c),u.setEndAfter(c),t(u,!0)}):t(e.selection.getRng(),!1)},_A=(e,t,o)=>{const r=Z2(e,t);o(r),e.moveToBookmark(r)},OA=(e,t)=>e.startContainer===e.endContainer&&e.endOffset-e.startOffset===1&&t(e.startContainer.childNodes[e.startOffset]),SR=e=>OA(e,Is),xL=e=>OA(e,Se),DA=e=>OA(e,fw),Py=e=>Kr(e==null?void 0:e.nodeType),RA=e=>ot(e)&&!Zr(e)&&!ne(e)&&!lc(e),EL=(e,t)=>{if(RA(t)&&!/^(TD|TH)$/.test(t.nodeName)){const o=e.getAttrib(t,"data-mce-selected"),r=parseInt(o,10);return!isNaN(r)&&r>0}else return!1},wR=(e,t,o)=>{const{selection:r,dom:c}=e,u=r.getNode(),f=ro(u);_A(r,!0,()=>{t()}),f&&ro(u)&&c.isChildOf(u,e.getBody())?e.selection.select(u):o(r.getStart())&&TL(c,r)},TL=(e,t)=>{const o=t.getRng(),{startContainer:r,startOffset:c}=o,u=t.getNode();if(!EL(e,u)&&ot(r)){const f=r.childNodes,p=e.getRoot();let v;if(c{if(e){const r=t?"nextSibling":"previousSibling";for(e=o?e:e[r];e;e=e[r])if(ot(e)||!r4(e))return e}},$y=(e,t)=>!!e.getTextBlockElements()[t.nodeName.toLowerCase()]||lr(e,t),dp=(e,t,o)=>e.schema.isValidChild(t,o),r4=(e,t=!1)=>{if(pe(e)&&Se(e)){const o=t?e.data.replace(/ /g," "):e.data;return ud(o)}else return!1},kL=e=>pe(e)&&Se(e)&&e.length===0,AL=(e,t)=>{const o="[data-mce-cef-wrappable]",r=dg(e),c=Kg(r)?o:`${o},${r}`;return Da(U.fromDom(t),c)},xR=(e,t)=>{const o=e.dom;return RA(t)&&o.getContentEditable(t)==="false"&&AL(e,t)&&o.select('[contenteditable="true"]',t).length===0},Ou=(e,t)=>J(e)?e(t):(pe(t)&&(e=e.replace(/%(\w+)/g,(o,r)=>t[r]||o)),e),a4=(e,t)=>(e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()===t.toLowerCase()),c4=(e,t)=>{if(on(e))return null;{let o=String(e);return(t==="color"||t==="backgroundColor")&&(o=Hf(o)),t==="fontWeight"&&e===700&&(o="bold"),t==="fontFamily"&&(o=o.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),o}},i4=(e,t,o)=>{const r=e.getStyle(t,o);return c4(r,o)},ER=(e,t)=>{let o;return e.getParent(t,r=>ot(r)?(o=e.getStyle(r,"text-decoration"),!!o&&o!=="none"):!1),o},BA=(e,t,o)=>e.getParents(t,o,e.getRoot()),TR=(e,t,o)=>{const r=e.formatter.get(t);return pe(r)&&qn(r,o)},AY=(e,t)=>TR(e,t,r=>{const c=u=>J(u)||u.length>1&&u.charAt(0)==="%";return qn(["styles","attributes"],u=>po(r,u).exists(f=>{const p=gn(f)?f:Jl(f);return qn(p,c)}))}),_L=(e,t,o)=>{const r=["inline","block","selector","attributes","styles","classes"],c=u=>qg(u,(f,p)=>qn(r,v=>v===p));return TR(e,t,u=>{const f=c(u);return TR(e,o,p=>{const v=c(p);return SS(f,v)})})},Ym=e=>Io(e,"block"),OL=e=>Ym(e)&&e.wrapper===!0,DL=e=>Ym(e)&&e.wrapper!==!0,Rl=e=>Io(e,"selector"),nr=e=>Io(e,"inline"),yo=e=>Rl(e)&&nr(e)&&so(po(e,"mixed"),!0),Fy=e=>Rl(e)&&e.expand!==!1&&!nr(e),l4=e=>{const t=[];let o=e;for(;o;){if(Se(o)&&o.data!==Po||o.childNodes.length>1)return[];ot(o)&&t.push(o),o=o.firstChild}return t},Iy=e=>l4(e).length>0,Du=e=>ne(e.dom)&&Iy(e.dom),Xm=Zr,mp=BA,NA=r4,RL=$y,ML=e=>uo(e)&&e.getAttribute("data-mce-bogus")&&!e.nextSibling,PA=(e,t)=>{let o=t;for(;o;){if(ot(o)&&e.getContentEditable(o))return e.getContentEditable(o)==="false"?o:t;o=o.parentNode}return t},kR=(e,t,o,r)=>{const c=t.data;if(e){for(let u=o;u>0;u--)if(r(c.charAt(u-1)))return u}else for(let u=o;ukR(e,t,o,r=>bg(r)||Yi(r)),u4=(e,t,o)=>kR(e,t,o,Je),Jm=(e,t,o,r,c,u)=>{let f;const p=e.getParent(o,O=>ph(O)||e.isBlock(O)),v=pe(p)?p:t,w=(O,R,P)=>{const z=Sd(e),I=c?z.backwards:z.forwards;return B.from(I(O,R,(Z,Y)=>Xm(Z.parentNode)?-1:(f=Z,P(c,Z,Y)),v))};return w(o,r,$A).bind(O=>u?w(O.container,O.offset+(c?-1:0),u4):B.some(O)).orThunk(()=>f?B.some({container:f,offset:c?0:f.length}):B.none())},yg=(e,t,o,r,c)=>{const u=r[c];Se(r)&&Kg(r.data)&&u&&(r=u);const f=mp(e,r);for(let p=0;p{let c=o;const u=e.getRoot(),f=t[0];if(Ym(f)&&(c=f.wrapper?null:e.getParent(o,f.block,u)),!c){const p=e.getParent(o,"LI,TD,TH,SUMMARY")??u;c=e.getParent(Se(o)?o.parentNode:o,v=>v!==u&&RL(e.schema,v),p)}if(c&&Ym(f)&&f.wrapper&&(c=mp(e,c,"ul,ol").reverse()[0]||c),!c)for(c=o;c&&c[r]&&!e.isBlock(c[r])&&(c=c[r],!a4(c,"br")););return c||o},AR=(e,t,o,r)=>{const c=o.parentNode;return pe(o[r])?!1:c===t||on(c)||e.isBlock(c)?!0:AR(e,t,c,r)},d4=(e,t,o,r,c,u)=>{let f=o;const p=c?"previousSibling":"nextSibling",v=e.getRoot();if(Se(o)&&!NA(o)&&(c?r>0:rXm(e.parentNode)||Xm(e),fp=(e,t,o,r={})=>{const{includeTrailingSpace:c=!1,expandToBlock:u=!0}=r,f=e.getParent(t.commonAncestorContainer,P=>ph(P)),p=pe(f)?f:e.getRoot();let{startContainer:v,startOffset:w,endContainer:_,endOffset:O}=t;const R=o[0];return ot(v)&&v.hasChildNodes()&&(v=ri(v,w),Se(v)&&(w=0)),ot(_)&&_.hasChildNodes()&&(_=ri(_,t.collapsed?O:O-1),Se(_)&&(O=_.data.length)),v=PA(e,v),_=PA(e,_),_R(v)&&(v=Xm(v)?v:v.parentNode,t.collapsed?v=v.previousSibling||v:v=v.nextSibling||v,Se(v)&&(w=t.collapsed?v.length:0)),_R(_)&&(_=Xm(_)?_:_.parentNode,t.collapsed?_=_.nextSibling||_:_=_.previousSibling||_,Se(_)&&(O=t.collapsed?0:_.length)),t.collapsed&&(Jm(e,p,v,w,!0,c).each(({container:I,offset:Z})=>{v=I,w=Z}),Jm(e,p,_,O,!1,c).each(({container:I,offset:Z})=>{_=I,O=Z})),(nr(R)||R.block_expand)&&((!nr(R)||!Se(v)||w===0)&&(v=d4(e,o,v,w,!0,u)),(!nr(R)||!Se(_)||O===_.data.length)&&(_=d4(e,o,_,O,!1,u))),Fy(R)&&(v=yg(e,o,t,v,"previousSibling"),_=yg(e,o,t,_,"nextSibling")),(Ym(R)||Rl(R))&&(v=FA(e,o,v,"previousSibling"),_=FA(e,o,_,"nextSibling"),Ym(R)&&(e.isBlock(v)||(v=d4(e,o,v,w,!0,u),Se(v)&&(w=0)),e.isBlock(_)||(_=d4(e,o,_,O,!1,u),Se(_)&&(O=_.data.length)))),ot(v)&&v.parentNode&&(w=e.nodeIndex(v),v=v.parentNode),ot(_)&&_.parentNode&&(O=e.nodeIndex(_)+1,_=_.parentNode),{startContainer:v,startOffset:w,endContainer:_,endOffset:O}},Ly=(e,t,o)=>{const r=t.startOffset,c=ri(t.startContainer,r),u=t.endOffset,f=ri(t.endContainer,u-1),p=I=>{const Z=I[0];Se(Z)&&Z===c&&r>=Z.data.length&&I.splice(0,1);const Y=I[I.length-1];return u===0&&I.length>0&&Y===f&&Se(Y)&&I.splice(I.length-1,1),I},v=(I,Z,Y)=>{const X=[];for(;I&&I!==Y;I=I[Z])X.push(I);return X},w=(I,Z)=>e.getParent(I,Y=>Y.parentNode===Z,Z),_=(I,Z,Y)=>{const X=Y?"nextSibling":"previousSibling";for(let ee=I,fe=ee.parentNode;ee&&ee!==Z;ee=fe){fe=ee.parentNode;const we=v(ee===I?ee:ee[X],X);we.length&&(Y||we.reverse(),o(p(we)))}};if(c===f)return o(p([c]));const O=e.findCommonAncestor(c,f)??e.getRoot();if(e.isChildOf(c,f))return _(c,O,!0);if(e.isChildOf(f,c))return _(f,O);const R=w(c,O)||c,P=w(f,O)||f;_(c,R,!0);const z=v(R===c?R:R.nextSibling,"nextSibling",P===f?P.nextSibling:P);z.length&&o(p(z)),_(f,P)},BL=['pre[class*=language-][contenteditable="false"]',"figure.image","div[data-ephox-embed-iri]","div.tiny-pageembed","div.mce-toc","div[data-mce-toc]","div.mce-footnotes"],OR=e=>An(e)&&xr(e)===Po,NL=(e,t,o,r)=>Gc(t).fold(()=>"skipping",c=>r==="br"||OR(t)?"valid":o0(t)?"existing":ne(t.dom)?"caret":qn(BL,u=>Da(t,u))?"valid-block":!dp(e,o,r)||!dp(e,Wt(c),o)?"invalid-child":"valid"),PL=(e,t)=>{const o=fp(e.dom,t,[{inline:"span"}]);t.setStart(o.startContainer,o.startOffset),t.setEnd(o.endContainer,o.endOffset),e.selection.setRng(t)},DR=(e,t,o,r,c,u)=>{const{uid:f=t,...p}=o;Ba(e,bu()),So(e,`${Nm()}`,f),So(e,`${Cd()}`,r);const{attributes:v={},classes:w=[]}=c(f,p);if(qs(e,v),uh(e,w),u){w.length>0&&So(e,`${t0()}`,w.join(","));const _=mt(v);_.length>0&&So(e,`${Pm()}`,_.join(","))}},_Y=e=>{As(e,bu()),Go(e,`${Nm()}`),Go(e,`${Cd()}`),Go(e,`${e0()}`);const t=rc(e,`${Pm()}`).map(r=>r.split(",")).getOr([]),o=rc(e,`${t0()}`).map(r=>r.split(",")).getOr([]);ie(t,r=>Go(e,r)),ew(e,o),Go(e,`${t0()}`),Go(e,`${Pm()}`)},RR=(e,t,o,r,c)=>{const u=U.fromTag("span",e);return DR(u,t,o,r,c,!1),u},hr=(e,t,o,r,c,u)=>{const f=[],p=RR(e.getDoc(),o,u,r,c),v=Vc(),w=()=>{v.clear()},_=()=>v.get().getOrThunk(()=>{const z=Sr(p);return f.push(z),v.set(z),z}),O=z=>{ie(z,R)},R=z=>{switch(NL(e,z,"span",Wt(z))){case"invalid-child":{w();const Z=Do(z);O(Z),w();break}case"valid-block":{w(),DR(z,o,u,r,c,!0);break}case"valid":{const Z=_();Ma(z,Z);break}}},P=z=>{const I=Ot(z,U.fromDom);O(I)};return Ly(e.dom,t,z=>{w(),P(z)}),f},m4=(e,t,o,r)=>{e.undoManager.transact(()=>{const c=e.selection,u=c.getRng(),f=_u(e).length>0,p=Jr("mce-annotation");if(u.collapsed&&!f&&PL(e,u),c.getRng().collapsed&&!f){const v=RR(e.getDoc(),p,r,t,o.decorate);cu(v,Es),c.getRng().insertNode(v.dom),c.select(v.dom)}else _A(c,!1,()=>{Ny(e,v=>{hr(e,v,p,t,o.decorate,r)})})})},pr=e=>{const t=r0();hk(e,t);const o=s0(e,t),r=pl("span"),c=u=>{ie(u,f=>{r(f)?cc(f):_Y(f)})};return{register:(u,f)=>{t.register(u,f)},annotate:(u,f)=>{t.lookup(u).each(p=>{m4(e,u,p,f)})},annotationChanged:(u,f)=>{o.addListener(u,f)},remove:u=>{w2(e,B.some(u)).each(({elements:f})=>{const p=e.selection.getBookmark();c(f),e.selection.moveToBookmark(p)})},removeAll:u=>{const f=e.selection.getBookmark();hn(Wf(e,u),(p,v)=>{c(p)}),e.selection.moveToBookmark(f)},getAll:u=>{const f=Wf(e,u);return lv(f,p=>Ot(p,v=>v.dom))}}},wa=e=>({getBookmark:Ae(Ki,e),moveToBookmark:Ae(xc,e)});wa.isBookmarkNode=Zr;const MR=(e,t,o)=>o.collapsed?!1:qn(o.getClientRects(),r=>vk(r,e,t)),IA=(e,t)=>{const o=An(t)?xr(t).length:Do(t).length+1;return e>o?o:e<0?0:e},$L=e=>_o.range(e.start,IA(e.soffset,e.start),e.finish,IA(e.foffset,e.finish)),f4=(e,t)=>!du(t.dom)&&(tc(e,t)||sn(e,t)),BR=e=>t=>f4(e,t.start)&&f4(e,t.finish),NR=e=>e.inline||dn.browser.isFirefox(),FL=e=>_o.range(U.fromDom(e.startContainer),e.startOffset,U.fromDom(e.endContainer),e.endOffset),IL=e=>{const t=e.getSelection();return(!t||t.rangeCount===0?B.none():B.from(t.getRangeAt(0))).map(FL)},LL=e=>{const t=ru(e);return IL(t.dom).filter(BR(e))},mi=(e,t)=>B.from(t).filter(BR(e)).map($L),xa=e=>{const t=document.createRange();try{return t.setStart(e.start.dom,e.soffset),t.setEnd(e.finish.dom,e.foffset),B.some(t)}catch{return B.none()}},LA=e=>{const t=NR(e)?LL(U.fromDom(e.getBody())):B.none();e.bookmark=t.isSome()?t:e.bookmark},Xi=e=>(e.bookmark?e.bookmark:B.none()).bind(o=>mi(U.fromDom(e.getBody()),o)).bind(xa),HA=e=>{Xi(e).each(t=>e.selection.setRng(t))},PR={isEditorUIElement:e=>{const t=e.className.toString();return t.indexOf("tox-")!==-1||t.indexOf("mce-")!==-1}},$R=(e,t)=>(Kr(t)||(t=0),window.setTimeout(e,t)),HL=(e,t)=>(Kr(t)||(t=0),window.setInterval(e,t)),fi={setEditorTimeout:(e,t,o)=>$R(()=>{e.removed||t()},o),setEditorInterval:(e,t,o)=>{const r=HL(()=>{e.removed?window.clearInterval(r):t()},o);return r}},zL=e=>e.type==="nodechange"&&e.selectionChange,zA=(e,t)=>{const o=()=>{t.throttle()};yt.DOM.bind(document,"mouseup",o),e.on("remove",()=>{yt.DOM.unbind(document,"mouseup",o)})},VL=(e,t)=>{e.on("mouseup touchend",o=>{t.throttle()})},UL=(e,t)=>{VL(e,t),e.on("keyup NodeChange AfterSetSelectionRange",o=>{zL(o)||LA(e)})},ZL=e=>{const t=qe(()=>{LA(e)},0);e.on("init",()=>{e.inline&&zA(e,t),UL(e,t)}),e.on("remove",()=>{t.cancel()})};let tb;const g4=yt.DOM,VA=e=>ot(e)&&PR.isEditorUIElement(e),h4=e=>{const t=e.classList;return t!==void 0?t.contains("tox-edit-area")||t.contains("tox-edit-area__iframe")||t.contains("mce-content-body"):!1},nb=(e,t)=>{const o=_x(e);return g4.getParent(t,c=>VA(c)||(o?e.dom.is(c,o):!1))!==null},UA=e=>{try{const t=Ws(U.fromDom(e.getElement()));return Bi(t).fold(()=>document.body,o=>o.dom)}catch{return document.body}},DY=(e,t)=>{const o=t.editor;ZL(o);const r=(c,u)=>{if(Ix(c)&&c.inline!==!0){const f=U.fromDom(c.getContainer());u(f,"tox-edit-focus")}};o.on("focusin",()=>{const c=e.focusedEditor;h4(UA(o))&&r(o,Ba),c!==o&&(c&&c.dispatch("blur",{focusedEditor:o}),e.setActive(o),e.focusedEditor=o,o.dispatch("focus",{blurredEditor:c}),o.focus(!0))}),o.on("focusout",()=>{fi.setEditorTimeout(o,()=>{const c=e.focusedEditor;(!h4(UA(o))||c!==o)&&r(o,As),!nb(o,UA(o))&&c===o&&(o.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null)})}),tb||(tb=c=>{const u=e.activeEditor;u&&Lv(c).each(f=>{const p=f;p.ownerDocument===document&&p!==document.body&&!nb(u,p)&&e.focusedEditor===u&&(u.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null)})},g4.bind(document,"focusin",tb))},RY=(e,t)=>{e.focusedEditor===t.editor&&(e.focusedEditor=null),!e.activeEditor&&tb&&(g4.unbind(document,"focusin",tb),tb=null)},WL=e=>{e.on("AddEditor",Ae(DY,e)),e.on("RemoveEditor",Ae(RY,e))},FR=(e,t)=>e.dom.getParent(t,o=>e.dom.getContentEditable(o)==="true"),jL=(e,t)=>e.dom.getParent(t,o=>e.dom.getContentEditable(o)==="false")!==null,GL=e=>e.collapsed?B.from(ri(e.startContainer,e.startOffset)).map(U.fromDom):B.none(),qL=(e,t)=>GL(t).bind(o=>T2(o)?B.some(o):tc(e,o)?B.none():B.some(e)),KL=(e,t)=>{qL(U.fromDom(e.getBody()),t).bind(o=>$(o.dom)).fold(()=>{e.selection.normalize()},o=>e.selection.setRng(o.toRange()))},ZA=e=>{if(e.setActive)try{e.setActive()}catch{e.focus()}else e.focus()},IR=e=>au(e)||LT(e).isSome(),LR=e=>pe(e.iframeElement)&&au(U.fromDom(e.iframeElement)),YL=e=>{const t=e.getBody();return t&&IR(U.fromDom(t))},XL=e=>{const t=Ws(U.fromDom(e.getElement()));return Bi(t).filter(o=>!h4(o.dom)&&nb(e,o.dom)).isSome()},ob=e=>e.inline?YL(e):LR(e),HR=e=>ob(e)||XL(e),MY=e=>{const t=e.selection,o=e.getBody();let r=t.getRng();e.quirks.refreshContentEditable();const c=f=>{Xi(f).each(p=>{f.selection.setRng(p),r=p})};!ob(e)&&e.hasEditableRoot()&&c(e);const u=FR(e,t.getNode());if(u&&e.dom.isChildOf(u,o)){jL(e,u)||ZA(o),ZA(u),e.hasEditableRoot()||c(e),KL(e,r),zR(e);return}e.inline||(dn.browser.isOpera()||ZA(o),e.getWin().focus()),(dn.browser.isFirefox()||e.inline)&&(ZA(o),KL(e,r)),zR(e)},zR=e=>e.editorManager.setActive(e),JL=(e,t)=>{e.removed||(t?zR(e):MY(e))},We={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,ESC:27,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,modifierPressed:e=>e.shiftKey||e.ctrlKey||e.altKey||We.metaKeyPressed(e),metaKeyPressed:e=>dn.os.isMacOS()||dn.os.isiOS()?e.metaKey:e.ctrlKey&&!e.altKey},gp="data-mce-selected",hp=`table,img,figure.image,hr,video,span.mce-preview-object,details,${z1}`,VR=Math.abs,Hy=Math.round,p4={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]},UR=e=>e.type==="longpress"||e.type.indexOf("touch")===0,WA=(e,t)=>{const o=t.dom,r=t.getDoc(),c=document,u=t.getBody();let f,p,v,w,_,O,R,P,z,I,Z,Y,X,ee,fe;const we=ye=>pe(ye)&&(L1(ye)||o.is(ye,"figure.image")),xt=ye=>uc(ye)||o.hasClass(ye,"mce-preview-object"),at=(ye,$e)=>{if(UR(ye)){const Xe=ye.touches[0];return we(ye.target)&&!MR(Xe.clientX,Xe.clientY,$e)}else return we(ye.target)&&!MR(ye.clientX,ye.clientY,$e)},oe=ye=>{const $e=ye.target;at(ye,t.selection.getRng())&&!ye.isDefaultPrevented()&&t.selection.select($e)},ge=ye=>o.hasClass(ye,"mce-preview-object")&&pe(ye.firstElementChild)?[ye,ye.firstElementChild]:o.is(ye,"figure.image")?[ye.querySelector("img")]:[ye],_e=ye=>{const $e=D0(t);return!$e||t.mode.isReadOnly()||ye.getAttribute("data-mce-resize")==="false"||ye===t.getBody()?!1:o.hasClass(ye,"mce-preview-object")&&pe(ye.firstElementChild)?Da(U.fromDom(ye.firstElementChild),$e):Da(U.fromDom(ye),$e)},Pe=(ye,$e)=>{if(xt($e))return ye.create("img",{src:dn.transparentSrc});if(Xs($e)){const Zt=Ht(w.name,"n")?ws:$r,Vt=$e.cloneNode(!0);return Zt(ye.select("tr",Vt)).each($n=>{const cl=ye.select("td,th",$n);ye.setStyle($n,"height",null),ie(cl,il=>ye.setStyle(il,"height",null))}),Vt}else return $e.cloneNode(!0)},Ue=(ye,$e,Xe)=>{ye[$e]=Xe;const Zt=400;if(ye.width>Zt&&!($e==="width"&&Xe{if(pe(Xe)){const Zt=ge(ye);ie(Zt,Vt=>{Bf(Vt)?Ue(Vt,$e,Xe):Vt.style[$e]||!t.schema.isValid(Vt.nodeName.toLowerCase(),$e)?o.setStyle(Vt,$e,Xe):o.setAttrib(Vt,$e,""+Xe)})}},Jt=(ye,$e,Xe)=>{it(ye,"width",$e),it(ye,"height",Xe)},yn=ye=>{let $e,Xe,Zt,Vt,$n;$e=ye.screenX-O,Xe=ye.screenY-R,Y=$e*w[2]+P,X=Xe*w[3]+z,Y=Y<5?5:Y,X=X<5?5:X,(we(f)||xt(f)||Bf(f))&&Tx(t)!==!1?Zt=!We.modifierPressed(ye):Zt=We.modifierPressed(ye),Zt&&(VR($e)>VR(Xe)?(X=Hy(Y*I),Y=Hy(X/I)):(Y=Hy(X/I),X=Hy(Y*I))),Jt(p,Y,X),Vt=w.startPos.x+$e,$n=w.startPos.y+Xe,Vt=Vt>0?Vt:0,$n=$n>0?$n:0,o.setStyles(v,{left:Vt,top:$n,display:"block"}),v.innerHTML=Y+" × "+X,$e=u.scrollWidth-ee,Xe=u.scrollHeight-fe,$e+Xe!==0&&o.setStyles(v,{left:Vt-$e,top:$n-Xe}),Z||(ny(t,f,P,z,"corner-"+w.name),Z=!0)},Gn=()=>{const ye=Z;Z=!1,ye&&(it(f,"width",Y),it(f,"height",X)),o.unbind(r,"mousemove",yn),o.unbind(r,"mouseup",Gn),c!==r&&(o.unbind(c,"mousemove",yn),o.unbind(c,"mouseup",Gn)),o.remove(p),o.remove(v),o.remove(_),co(f),ye&&(oy(t,f,Y,X,"corner-"+w.name),o.setAttrib(f,"style",o.getAttrib(f,"style"))),t.nodeChanged()},co=ye=>{Tn();const $e=o.getPos(ye,u),Xe=$e.x,Zt=$e.y,Vt=ye.getBoundingClientRect(),$n=Vt.width||Vt.right-Vt.left,cl=Vt.height||Vt.bottom-Vt.top;f!==ye&&(Pc(),f=ye,Y=X=0);const il=t.dispatch("ObjectSelected",{target:ye});_e(ye)&&!il.isDefaultPrevented()?hn(p4,($c,Uu)=>{const Gl=ll=>{const Zu=ge(f)[0];O=ll.screenX,R=ll.screenY,P=Zu.clientWidth,z=Zu.clientHeight,I=z/P,w=$c,w.name=Uu,w.startPos={x:$n*$c[0]+Xe,y:cl*$c[1]+Zt},ee=u.scrollWidth,fe=u.scrollHeight,_=o.add(u,"div",{class:"mce-resize-backdrop","data-mce-bogus":"all"}),o.setStyles(_,{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}),p=Pe(o,f),o.addClass(p,"mce-clonedresizable"),o.setAttrib(p,"data-mce-bogus","all"),p.contentEditable="false",o.setStyles(p,{left:Xe,top:Zt,margin:0}),Jt(p,$n,cl),p.removeAttribute(gp),u.appendChild(p),o.bind(r,"mousemove",yn),o.bind(r,"mouseup",Gn),c!==r&&(o.bind(c,"mousemove",yn),o.bind(c,"mouseup",Gn)),v=o.add(u,"div",{class:"mce-resize-helper","data-mce-bogus":"all"},P+" × "+z)};let la=o.get("mceResizeHandle"+Uu);la&&o.remove(la),la=o.add(u,"div",{id:"mceResizeHandle"+Uu,"data-mce-bogus":"all",class:"mce-resizehandle",unselectable:!0,style:"cursor:"+Uu+"-resize; margin:0; padding:0"}),o.bind(la,"mousedown",ll=>{ll.stopImmediatePropagation(),ll.preventDefault(),Gl(ll)}),$c.elm=la,o.setStyles(la,{left:$n*$c[0]+Xe-la.offsetWidth/2,top:cl*$c[1]+Zt-la.offsetHeight/2})}):Pc(!1)},Ns=qe(co,0),Pc=(ye=!0)=>{Ns.cancel(),Tn(),f&&ye&&f.removeAttribute(gp),hn(p4,($e,Xe)=>{const Zt=o.get("mceResizeHandle"+Xe);Zt&&(o.unbind(Zt),o.remove(Zt))})},Ve=(ye,$e)=>o.isChildOf(ye,$e),vt=ye=>{if(Z||t.removed||t.composing)return;const $e=ye.type==="mousedown"?ye.target:e.getNode(),Xe=cr(U.fromDom($e),hp).map(Vt=>Vt.dom).filter(Vt=>o.isEditable(Vt.parentElement)||Vt.nodeName==="IMG"&&o.isEditable(Vt)).getOrUndefined(),Zt=pe(Xe)?o.getAttrib(Xe,gp,"1"):"1";if(ie(o.select(`img[${gp}],hr[${gp}]`),Vt=>{Vt.removeAttribute(gp)}),pe(Xe)&&Ve(Xe,u)&&HR(t)){Sn();const Vt=e.getStart(!0);if(Ve(Vt,Xe)&&Ve(e.getEnd(!0),Xe)){o.setAttrib(Xe,gp,Zt),Ns.throttle(Xe);return}}Pc()},Tn=()=>{hn(p4,ye=>{ye.elm&&(o.unbind(ye.elm),delete ye.elm)})},Sn=()=>{try{t.getDoc().execCommand("enableObjectResizing",!1,"false")}catch{}};return t.on("init",()=>{Sn(),t.on("NodeChange ResizeEditor ResizeWindow ResizeContent drop",vt),t.on("keyup compositionend",ye=>{f&&f.nodeName==="TABLE"&&vt(ye)}),t.on("hide blur",Pc),t.on("contextmenu longpress",oe,!0)}),t.on("remove",Tn),{isResizable:_e,showResizeRect:co,hideResizeRect:Pc,updateResizeRect:vt,destroy:()=>{Ns.cancel(),f=p=_=null}}},b4=(e,t,o)=>{const r=ru(U.fromDom(o));return lw(r.dom,e,t).map(c=>{const u=o.createRange();return u.setStart(c.start.dom,c.soffset),u.setEnd(c.finish.dom,c.foffset),u}).getOrUndefined()},ZR=(e,t)=>pe(e)&&pe(t)&&e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset,QL=(e,t,o)=>{let r=e;for(;r&&r!==t;){if(o(r))return r;r=r.parentNode}return null},eH=(e,t,o)=>QL(e,t,o)!==null,tH=(e,t,o)=>eH(e,t,r=>r.nodeName===o),nH=(e,t)=>ya(e)&&!eH(e,t,ne),v4=(e,t,o)=>{const r=t.parentNode;if(r){const c=new gs(t,e.getParent(r,e.isBlock)||e.getRoot());let u;for(;u=c[o?"prev":"next"]();)if(uo(u))return!0}return!1},WR=(e,t)=>{var o;return((o=e.previousSibling)==null?void 0:o.nodeName)===t},BY=(e,t)=>{let o=t;for(;o&&o!==e;){if(ro(o))return!0;o=o.parentNode}return!1},jR=(e,t,o,r,c)=>{const u=e.getRoot(),f=e.schema.getNonEmptyElements(),p=c.parentNode;let v,w;if(!p)return B.none();const _=e.getParent(p,e.isBlock)||u;if(r&&uo(c)&&t&&e.isEmpty(_))return B.some(he(p,e.nodeIndex(c)));const O=new gs(c,_);for(;w=O[r?"prev":"next"]();){if(e.getContentEditableParent(w)==="false"||nH(w,u))return B.none();if(Se(w)&&w.data.length>0)return tH(w,u,"A")?B.none():B.some(he(w,r?w.data.length:0));if(e.isBlock(w)||f[w.nodeName.toLowerCase()])return B.none();v=w}return Ii(v)?B.none():o&&v?B.some(he(v,0)):B.none()},oH=(e,t,o,r)=>{const c=e.getRoot();let u,f=!1,p=o?r.startContainer:r.endContainer,v=o?r.startOffset:r.endOffset;const w=ot(p)&&v===p.childNodes.length,_=e.schema.getNonEmptyElements();let O=o;if(ya(p))return B.none();if(ot(p)&&v>p.childNodes.length-1&&(O=!1),Mf(p)&&(p=c,v=0),p===c){if(O&&(u=p.childNodes[v>0?v-1:0],u&&(ya(u)||_[u.nodeName]||Xs(u))))return B.none();if(p.hasChildNodes()){if(v=Math.min(!O&&v>0?v-1:v,p.childNodes.length-1),p=p.childNodes[v],v=Se(p)&&w?p.data.length:0,!t&&p===c.lastChild&&Xs(p)||BY(c,p)||ya(p)||o2(p))return B.none();if(p.hasChildNodes()&&!Xs(p)){u=p;const R=new gs(p,c);do{if(ro(u)||ya(u)){f=!1;break}if(Se(u)&&u.data.length>0){v=O?0:u.data.length,p=u,f=!0;break}if(_[u.nodeName.toLowerCase()]&&!t2(u)){v=e.nodeIndex(u),p=u.parentNode,O||v++,f=!0;break}}while(u=O?R.next():R.prev())}}}return t&&(Se(p)&&v===0&&jR(e,w,t,!0,p).each(R=>{p=R.container(),v=R.offset(),f=!0}),ot(p)&&(u=p.childNodes[v],u||(u=p.childNodes[v-1]),u&&uo(u)&&!WR(u,"A")&&!v4(e,u,!1)&&!v4(e,u,!0)&&jR(e,w,t,!0,u).each(R=>{p=R.container(),v=R.offset(),f=!0}))),O&&!t&&Se(p)&&v===p.data.length&&jR(e,w,t,!1,p).each(R=>{p=R.container(),v=R.offset(),f=!0}),f&&p?B.some(he(p,v)):B.none()},y4=(e,t)=>{const o=t.collapsed,r=t.cloneRange(),c=he.fromRangeStart(t);return oH(e,o,!0,r).each(u=>{(!o||!he.isAbove(c,u))&&r.setStart(u.container(),u.offset())}),o||oH(e,o,!1,r).each(u=>{r.setEnd(u.container(),u.offset())}),o&&r.collapse(!0),ZR(t,r)?B.none():B.some(r)},jA=(e,t)=>e.splitText(t),C4=e=>{let t=e.startContainer,o=e.startOffset,r=e.endContainer,c=e.endOffset;if(t===r&&Se(t)){if(o>0&&oo){c=c-o;const u=jA(r,c).previousSibling;t=r=u,c=u.data.length,o=0}else c=0}else if(Se(t)&&o>0&&o0&&c({walk:(u,f)=>Ly(e,u,f),split:C4,expand:(u,f={type:"word"})=>{if(f.type==="word"){const p=fp(e,u,[{inline:"span"}],{includeTrailingSpace:!1,expandToBlock:!1}),v=e.createRng();return v.setStart(p.startContainer,p.startOffset),v.setEnd(p.endContainer,p.endOffset),v}return u},normalize:u=>y4(e,u).fold(Ee,f=>(u.setStart(f.startContainer,f.startOffset),u.setEnd(f.endContainer,f.endOffset),!0))});Ru.compareRanges=ZR,Ru.getCaretRangeFromPoint=b4,Ru.getSelectedNode=qf,Ru.getNode=ri;const GR=(e,t)=>e.view(t).fold(Me([]),r=>{const c=e.owner(r),u=GR(e,c);return[r].concat(u)}),qR=(e,t)=>{const o=t.owner(e);return GR(t,o)};var KR=Object.freeze({__proto__:null,view:e=>{var o;return(e.dom===document?B.none():B.from((o=e.dom.defaultView)==null?void 0:o.frameElement)).map(U.fromDom)},owner:e=>Di(e)});const sH=e=>{const t=w1(),o=Vv(t),r=qR(e,KR),c=ih(e),u=Pr(r,(f,p)=>{const v=ih(p);return{left:f.left+v.left,top:f.top+v.top}},{left:0,top:0});return $i(u.left+c.left+o.left,u.top+c.top+o.top)},GA=e=>Wt(e)==="textarea",rH=(e,t)=>e.dispatch("ScrollIntoView",t).isDefaultPrevented(),aH=(e,t)=>{e.dispatch("AfterScrollIntoView",t)},cH=(e,t)=>{const o=Do(e);if(o.length===0||GA(e))return{element:e,offset:t};if(t{const o=ch(e),r=zT(e);return{element:e,bottom:o.top+r,height:r,pos:o,cleanup:t}},iH=(e,t)=>{const o=cH(e,t),r=U.fromHtml(''+Po+"");return ar(o.element,r),YR(r,()=>no(r))},lH=e=>YR(U.fromDom(e),Tt),XR=(e,t,o,r)=>{dH(e,(c,u)=>uH(e,t,o,r),o)},JR=(e,t,o,r,c)=>{const u={elm:r.element.dom,alignToTop:c};if(rH(e,u))return;const f=Vv(t).top;o(e,t,f,r,c),aH(e,u)},uH=(e,t,o,r)=>{const c=U.fromDom(e.getBody()),u=U.fromDom(e.getDoc());zv(c);const f=iH(U.fromDom(o.startContainer),o.startOffset);JR(e,u,t,f,r),f.cleanup()},QR=(e,t,o,r)=>{const c=U.fromDom(e.getDoc());JR(e,c,o,lH(t),r)},dH=(e,t,o)=>{const r=o.startContainer,c=o.startOffset,u=o.endContainer,f=o.endOffset;t(U.fromDom(r),U.fromDom(u));const p=e.dom.createRng();p.setStart(r,c),p.setEnd(u,f),e.selection.setRng(o)},qA=(e,t,o,r,c)=>{const u=t.pos,f=30;if(r)YS(u.left,Math.max(0,u.top-f),c);else{const p=u.top-o+t.height+f;YS(-e.getBody().getBoundingClientRect().left,p,c)}},je=(e,t,o,r,c,u)=>{const f=r+o,p=c.pos.top,v=c.bottom,w=v-p>=r;pf?qA(e,c,r,w?u!==!1:u===!0,t):v>f&&!w&&qA(e,c,r,u===!0,t)},Mu=(e,t,o,r,c)=>{const u=ru(t).dom.innerHeight;je(e,t,o,u,r,c)},mH=(e,t,o,r,c)=>{const u=ru(t).dom.innerHeight;je(e,t,o,u,r,c);const f=sH(r.element),p=mh(window);f.topp.bottom&&Yc(r.element,c===!0)},fH=(e,t,o)=>XR(e,Mu,t,o),KA=(e,t,o)=>QR(e,t,Mu,o),eM=(e,t,o)=>XR(e,mH,t,o),tM=(e,t,o)=>QR(e,t,mH,o),YA=(e,t,o)=>{(e.inline?KA:tM)(e,t,o)},zy=(e,t,o)=>{(e.inline?fH:eM)(e,t,o)},XA=(e,t)=>t.collapsed?e.isEditable(t.startContainer):e.isEditable(t.startContainer)&&e.isEditable(t.endContainer),nM=(e,t,o,r,c)=>{const u=o?t.startContainer:t.endContainer,f=o?t.startOffset:t.endOffset;return B.from(u).map(U.fromDom).map(p=>!r||!t.collapsed?qc(p,c(p,f)).getOr(p):p).bind(p=>bo(p)?B.some(p):Ra(p).filter(bo)).map(p=>p.dom).getOr(e)},oM=(e,t,o=!1)=>nM(e,t,!0,o,(r,c)=>Math.min(ym(r),c)),sM=(e,t,o=!1)=>nM(e,t,!1,o,(r,c)=>c>0?c-1:c),rM=(e,t)=>{const o=e;for(;e&&Se(e)&&e.length===0;)e=t?e.nextSibling:e.previousSibling;return e||o},gH=(e,t)=>{if(!t)return e;let o=t.startContainer,r=t.endContainer;const c=t.startOffset,u=t.endOffset;let f=t.commonAncestorContainer;t.collapsed||(o===r&&u-c<2&&o.hasChildNodes()&&(f=o.childNodes[c]),Se(o)&&Se(r)&&(o.length===c?o=rM(o.nextSibling,!0):o=o.parentNode,u===0?r=rM(r.previousSibling,!1):r=r.parentNode,o&&o===r&&(f=o)));const p=Se(f)?f.parentNode:f;return Is(p)?p:e},S4=(e,t,o,r)=>{const c=[],u=e.getRoot(),f=e.getParent(o||oM(u,t,t.collapsed),e.isBlock),p=e.getParent(r||sM(u,t,t.collapsed),e.isBlock);if(f&&f!==u&&c.push(f),f&&p&&f!==p){let v;const w=new gs(f,u);for(;(v=w.next())&&v!==p;)e.isBlock(v)&&c.push(v)}return p&&f!==p&&p!==u&&c.push(p),c},hH=(e,t,o)=>B.from(t).bind(r=>B.from(r.parentNode).map(c=>{const u=e.nodeIndex(r),f=e.createRng();return f.setStart(c,u),f.setEnd(c,u+1),o&&(AA(e,f,r,!0),AA(e,f,r,!1)),f})),JA=(e,t)=>Ot(t,o=>{const r=e.dispatch("GetSelectionRange",{range:o});return r.range!==o?r.range:o}),pH={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11},w4=(e,t,o)=>{const r=o?"lastChild":"firstChild",c=o?"prev":"next";if(e[r])return e[r];if(e!==t){let u=e[c];if(u)return u;for(let f=e.parent;f&&f!==t;f=f.parent)if(u=f[c],u)return u}},bH=e=>{const t=e.value??"";if(!ud(t))return!1;const o=e.parent;return!(o&&(o.name!=="span"||o.attr("style"))&&/^[ ]+$/.test(t))},QA=e=>{const t=e.name==="a"&&!e.attr("href")&&e.attr("id");return e.attr("name")||e.attr("id")&&!e.firstChild||e.attr("data-mce-bookmark")||t};class or{constructor(t,o){Re(this,"name");Re(this,"type");Re(this,"attributes");Re(this,"value");Re(this,"parent");Re(this,"firstChild");Re(this,"lastChild");Re(this,"next");Re(this,"prev");Re(this,"raw");this.name=t,this.type=o,o===1&&(this.attributes=[],this.attributes.map={})}static create(t,o){const r=new or(t,pH[t]||1);return o&&hn(o,(c,u)=>{r.attr(u,c)}),r}replace(t){const o=this;return t.parent&&t.remove(),o.insert(t,o),o.remove(),o}attr(t,o){const r=this;if(!q(t))return pe(t)&&hn(t,(u,f)=>{r.attr(f,u)}),r;const c=r.attributes;if(c){if(o!==void 0){if(o===null){if(t in c.map){delete c.map[t];let u=c.length;for(;u--;)if(c[u].name===t)return c.splice(u,1),r}return r}if(t in c.map){let u=c.length;for(;u--;)if(c[u].name===t){c[u].value=o;break}}else c.push({name:t,value:o});return c.map[t]=o,r}return c.map[t]}}clone(){const t=this,o=new or(t.name,t.type),r=t.attributes;if(r){const c=[];c.map={};for(let u=0,f=r.length;uq(e.nodeValue)&&e.nodeValue.includes(Po),cM=e=>`${e.length===0?"":`${Ot(e,t=>`[${t}]`).join(",")},`}[data-mce-bogus="all"]`,yH=(e,t)=>t.querySelectorAll(cM(e)),iM=e=>document.createTreeWalker(e,NodeFilter.SHOW_COMMENT,t=>aM(t)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP),lM=e=>document.createTreeWalker(e,NodeFilter.SHOW_TEXT,t=>{if(aM(t)){const o=t.parentNode;return o&&Ut(vH,o.nodeName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}else return NodeFilter.FILTER_SKIP}),CH=e=>iM(e).nextNode()!==null,SH=e=>lM(e).nextNode()!==null,wH=(e,t)=>t.querySelector(cM(e))!==null,xH=(e,t)=>{ie(yH(e,t),o=>{const r=U.fromDom(o);lo(r,"data-mce-bogus")==="all"?no(r):ie(e,c=>{vo(r,c)&&Go(r,c)})})},uM=e=>{let t=e.nextNode();for(;t!==null;)t.nodeValue=null,t=e.nextNode()},EH=T(uM,iM),TH=T(uM,lM),dM=(e,t)=>{const o=[{condition:Ae(wH,t),action:Ae(xH,t)},{condition:CH,action:EH},{condition:SH,action:TH}];let r=e,c=!1;return ie(o,({condition:u,action:f})=>{u(r)&&(c||(r=e.cloneNode(!0),c=!0),f(r))}),r},e_=e=>{const t=Ys(e,"[data-mce-bogus]");ie(t,o=>{lo(o,"data-mce-bogus")==="all"?no(o):Ar(o)?(ar(o,U.fromText(Yg)),no(o)):cc(o)})},mM=e=>{const t=Ys(e,"input");ie(t,o=>{Go(o,"name")})},kH=(e,t)=>{const o=zs(e),r=new RegExp(`^(<${o}[^>]*>( | |\\s| |
|)<\\/${o}>[\r +]*|
[\r +]*)$`);return t.replace(r,"")},x4=(e,t)=>{const o=e.getDoc(),r=Ws(U.fromDom(e.getBody())),c=U.fromTag("div",o);So(c,"data-mce-bogus","all"),ic(c,{position:"fixed",left:"-9999999px",top:"0"}),cu(c,t.innerHTML),e_(c),mM(c);const u=WS(r);pn(u,c);const f=Ur(c.dom.innerText);return no(c),f},pp=(e,t,o)=>{let r;return t.format==="raw"?r=Oe.trim(Ur(dM(o,e.serializer.getTempAttrs()).innerHTML)):t.format==="text"?r=x4(e,o):t.format==="tree"?r=e.serializer.serialize(o,t):r=kH(e,e.serializer.serialize(o,t)),t.format!=="text"&&!jf(U.fromDom(o))&&q(r)?Oe.trim(r):r},E4=(e,t)=>B.from(e.getBody()).fold(Me(t.format==="tree"?new or("body",11):""),o=>pp(e,t,o)),fM=Oe.makeMap,gM=e=>{const t=[];e=e||{};const o=e.indent,r=fM(e.indent_before||""),c=fM(e.indent_after||""),u=gc.getEncodeFunc(e.entity_encoding||"raw",e.entities),f=e.element_format!=="xhtml";return{start:(p,v,w)=>{if(o&&r[p]&&t.length>0){const _=t[t.length-1];_.length>0&&_!==` +`&&t.push(` +`)}if(t.push("<",p),v)for(let _=0,O=v.length;_0){const _=t[t.length-1];_.length>0&&_!==` +`&&t.push(` +`)}},end:p=>{let v;t.push(""),o&&c[p]&&t.length>0&&(v=t[t.length-1],v.length>0&&v!==` +`&&t.push(` +`))},text:(p,v)=>{p.length>0&&(t[t.length]=v?p:u(p))},cdata:p=>{t.push("")},comment:p=>{t.push("")},pi:(p,v)=>{v?t.push(""):t.push(""),o&&t.push(` +`)},doctype:p=>{t.push("",o?` +`:"")},reset:()=>{t.length=0},getContent:()=>t.join("").replace(/\n$/,"")}},Cg=(e={},t=bc())=>{const o=gM(e);return e.validate="validate"in e?e.validate:!0,{serialize:c=>{const u=e.validate,f={3:v=>{o.text(v.value??"",v.raw)},8:v=>{o.comment(v.value??"")},7:v=>{o.pi(v.name,v.value)},10:v=>{o.doctype(v.value??"")},4:v=>{o.cdata(v.value??"")},11:v=>{let w=v;if(w=w.firstChild)do p(w);while(w=w.next)}};o.reset();const p=v=>{var _;const w=f[v.type];if(w)w(v);else{const O=v.name,R=O in t.getVoidElements();let P=v.attributes;if(u&&P&&P.length>1){const z=[];z.map={};const I=t.getElementRule(v.name);if(I){for(let Z=0,Y=I.attributesOrder.length;Z{hM.add(t)});const t_=new Set;ie(["background-color"],t=>{t_.add(t)});const pM=["font","text-decoration","text-emphasis"],AH=(e,t)=>e.parseStyle(e.getAttrib(t,"style")),bp=(e,t)=>mt(AH(e,t)),_H=e=>hM.has(e),bM=e=>t_.has(e),vM=(e,t)=>qn(bp(e,t),o=>_H(o)),OH=(e,t)=>vM(e,t)&&qn(bp(e,t),o=>bM(o)),DH=e=>ft(e,t=>qn(pM,o=>Ht(t,o))),yM=(e,t,o)=>{const r=bp(e,t),c=bp(e,o),u=f=>{const p=e.getStyle(t,f)??"",v=e.getStyle(o,f)??"";return Lo(p)&&Lo(v)&&p!==v};return qn(r,f=>{const p=v=>qn(v,w=>w===f);if(!p(c)&&p(pM)){const v=DH(c);return qn(v,u)}else return u(f)})},T4=(e,t,o)=>B.from(o.container()).filter(Se).exists(r=>{const c=e?0:-1;return t(r.data.charAt(o.offset()+c))}),k4=Ae(T4,!0,Yi),n_=Ae(T4,!1,Yi),RH=e=>{const t=e.container();return Se(t)&&(t.data.length===0||$m(t.data)&&wa.isBookmarkNode(t.parentNode))},Bu=(e,t)=>o=>Oy(e?0:-1,o).filter(t).isSome(),CM=e=>L1(e)&&No(U.fromDom(e),"display")==="block",o_=e=>ro(e)&&!nk(e),s_=Bu(!0,CM),SM=Bu(!1,CM),Vy=Bu(!0,uc),Uy=Bu(!1,uc),Zy=Bu(!0,Xs),A4=Bu(!1,Xs),Qm=Bu(!0,o_),ef=Bu(!1,o_),wM=e=>e.slice(0,-1),xM=(e,t,o)=>tc(t,e)?wM(nc(e,r=>o(r)||sn(r,t))):[],r_=(e,t)=>xM(e,t,Ee),zd=(e,t)=>[e].concat(r_(e,t)),_4=(e,t,o)=>y(e,t,o,RH),EM=e=>t=>e.isBlock(Wt(t)),a_=(e,t,o)=>Qn(zd(U.fromDom(t.container()),e),EM(o)),TM=(e,t,o,r)=>_4(e,t.dom,o).forall(c=>a_(t,o,r).fold(()=>!Dl(c,o,t.dom),u=>!Dl(c,o,t.dom)&&tc(u,U.fromDom(c.container())))),kM=(e,t,o,r)=>a_(t,o,r).fold(()=>_4(e,t.dom,o).forall(c=>!Dl(c,o,t.dom)),c=>_4(e,c.dom,o).isNone()),c_=Ae(kM,!1),AM=Ae(kM,!0),MH=Ae(TM,!1),BH=Ae(TM,!0),NH=e=>ip(e).exists(Ar),O4=(e,t,o,r)=>{const c=ft(zd(U.fromDom(o.container()),t),f=>r.isBlock(Wt(f))),u=ws(c).getOr(t);return m(e,u.dom,o).filter(NH)},i_=(e,t,o)=>ip(t).exists(Ar)||O4(!0,e,t,o).isSome(),D4=(e,t,o)=>pA(t).exists(Ar)||O4(!1,e,t,o).isSome(),l_=Ae(O4,!1),PY=Ae(O4,!0),PH=e=>he.isTextPosition(e)&&!e.isAtStart()&&!e.isAtEnd(),_M=(e,t,o)=>{const r=ft(zd(U.fromDom(t.container()),e),c=>o.isBlock(Wt(c)));return ws(r).getOr(e)},$H=(e,t,o)=>PH(t)?n_(t):n_(t)||M(_M(e,t,o).dom,t).exists(n_),OM=(e,t,o)=>PH(t)?k4(t):k4(t)||A(_M(e,t,o).dom,t).exists(k4),Wr=e=>Bt(["pre","pre-wrap"],e),u_=e=>ip(e).bind(t=>Un(t,bo)).exists(t=>Wr(No(t,"white-space"))),$Y=(e,t)=>M(e.dom,t).isNone(),FH=(e,t)=>A(e.dom,t).isNone(),IH=(e,t,o)=>$Y(e,t)||FH(e,t)||c_(e,t,o)||AM(e,t,o)||D4(e,t,o)||i_(e,t,o),Ec=e=>pe(e)&&ro(e)&&qx(e),LH=(e,t)=>o=>Ec(new gs(o,e)[t]()),HH=(e,t)=>{const o=A(e.dom,t).getOr(t),r=LH(e.dom,"next");return t.isAtEnd()&&(r(t.container())||r(o.container()))},FY=(e,t)=>{const o=M(e.dom,t).getOr(t),r=LH(e.dom,"prev");return t.isAtStart()&&(r(t.container())||r(o.container()))},DM=(e,t,o)=>u_(t)?!1:IH(e,t,o)||$H(e,t,o)||OM(e,t,o),Wy=(e,t,o)=>u_(t)?!1:c_(e,t,o)||MH(e,t,o)||D4(e,t,o)||$H(e,t,o)||FY(e,t),IY=e=>{const t=e.container(),o=e.offset();return Se(t)&&ou_(t)?!1:AM(e,t,o)||BH(e,t,o)||i_(e,t,o)||OM(e,t,o)||HH(e,t),Ea=(e,t,o)=>Wy(e,t,o)||jy(e,IY(t),o),d_=(e,t)=>bg(e.charAt(t)),m_=(e,t)=>Yi(e.charAt(t)),zH=e=>{const t=e.container();return Se(t)&&ds(t.data,Es)},VH=e=>{const t=e.split("");return Ot(t,(o,r)=>bg(o)&&r>0&&r{const c=t.data,u=he(t,0);return!o&&d_(c,0)&&!Ea(e,u,r)?(t.data=" "+c.slice(1),!0):o&&m_(c,0)&&Wy(e,u,r)?(t.data=Es+c.slice(1),!0):!1},RM=e=>{const t=e.data,o=VH(t);return o!==t?(e.data=o,!0):!1},MM=(e,t,o,r)=>{const c=t.data,u=he(t,c.length-1);return!o&&d_(c,c.length-1)&&!Ea(e,u,r)?(t.data=c.slice(0,-1)+" ",!0):o&&m_(c,c.length-1)&&jy(e,u,r)?(t.data=c.slice(0,-1)+Es,!0):!1},UH=(e,t,o)=>{const r=t.container();if(!Se(r))return B.none();if(zH(t)){const c=f_(e,r,!1,o)||RM(r)||MM(e,r,!1,o);return xi(c,t)}else if(Ea(e,t,o)){const c=f_(e,r,!0,o)||MM(e,r,!0,o);return xi(c,t)}else return B.none()},ZH=e=>{const t=U.fromDom(e.getBody());e.selection.isCollapsed()&&UH(t,he.fromRangeStart(e.selection.getRng()),e.schema).each(o=>{e.selection.setRng(o.toRange())})},BM=(e,t,o,r)=>{if(o===0)return;const c=U.fromDom(e),u=Cl(c,w=>r.isBlock(Wt(w))).getOr(c),f=e.data.slice(t,t+o),p=t+o>=e.data.length&&jy(u,he(e,e.data.length),r),v=t===0&&Wy(u,he(e,0),r);e.replaceData(t,o,mw(f,4,v,p))},Gy=(e,t,o)=>{const r=e.data.slice(t),c=r.length-hv(r).length;BM(e,t,c,o)},g_=(e,t,o)=>{const r=e.data.slice(0,t),c=r.length-kS(r).length;BM(e,t-c,c,o)},R4=(e,t,o,r,c=!0)=>{const u=kS(e.data).length,f=c?e:t,p=c?t:e;return c?f.appendData(p.data):f.insertData(0,p.data),no(U.fromDom(p)),r&&Gy(f,u,o),f},WH=(e,t)=>{const o=e.container(),r=e.offset();return!he.isTextPosition(e)&&o===t.parentNode&&r>he.before(t).offset()},LY=(e,t)=>WH(t,e)?he(t.container(),t.offset()-1):t,jH=e=>Se(e)?he(e,0):he.before(e),GH=e=>Se(e)?he(e,e.data.length):he.after(e),qH=e=>ai(e.previousSibling)?B.some(GH(e.previousSibling)):e.previousSibling?H(e.previousSibling):B.none(),NM=e=>ai(e.nextSibling)?B.some(jH(e.nextSibling)):e.nextSibling?$(e.nextSibling):B.none(),mn=(e,t)=>B.from(t.previousSibling?t.previousSibling:t.parentNode).bind(o=>M(e,he.before(o))).orThunk(()=>A(e,he.after(t))),qy=(e,t)=>A(e,he.after(t)).orThunk(()=>M(e,he.before(t))),tf=(e,t)=>qH(t).orThunk(()=>NM(t)).orThunk(()=>mn(e,t)),vp=(e,t)=>NM(t).orThunk(()=>qH(t)).orThunk(()=>qy(e,t)),M4=(e,t,o)=>e?vp(t,o):tf(t,o),h_=(e,t,o)=>M4(e,t,o).map(Ae(LY,o)),B4=(e,t,o)=>{o.fold(()=>{e.focus()},r=>{e.selection.setRng(r.toRange(),t)})},PM=e=>t=>t.dom===e,KH=(e,t)=>t&&Ut(e.schema.getBlockElements(),Wt(t)),$M=(e,t,o)=>{if(Er(e,t)){const r=U.fromHtml('
');return o?ie(Do(t),c=>{Du(c)||no(c)}):ac(t),pn(t,r),B.some(he.before(r.dom))}else return B.none()},FM=(e,t,o,r)=>{const c=oc(e).filter(An),u=Ri(e).filter(An);return no(e),gm(c,u,t,(f,p,v)=>{const w=f.dom,_=p.dom,O=w.data.length;return R4(w,_,o,r),v.container()===_?he(w,O):v}).orThunk(()=>(r&&(c.each(f=>g_(f.dom,f.dom.length,o)),u.each(f=>Gy(f.dom,0,o))),t))},YH=(e,t)=>Ut(e.schema.getTextInlineElements(),Wt(t)),Sg=(e,t,o,r=!0,c=!1)=>{const u=h_(t,e.getBody(),o.dom),f=Cl(o,Ae(KH,e),PM(e.getBody())),p=FM(o,u,e.schema,YH(e,o));e.dom.isEmpty(e.getBody())?(e.setContent(""),e.selection.setCursorLocation()):f.bind(v=>$M(e.schema,v,c)).fold(()=>{r&&B4(e,t,p)},v=>{r&&B4(e,t,B.some(v))})},XH=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,JH=e=>XH.test(e),yp=(e,t)=>Da(U.fromDom(t),jk(e))&&!lr(e.schema,t)&&e.dom.isEditable(t),IM=e=>yt.DOM.getStyle(e,"direction",!0)==="rtl"||JH(e.textContent??""),LM=(e,t,o)=>ft(yt.DOM.getParents(o.container(),"*",t),e),nf=(e,t,o)=>{const r=LM(e,t,o);return B.from(r[r.length-1])},HY=(e,t,o)=>{const r=Hd(t,e),c=Hd(o,e);return pe(r)&&r===c},zY=e=>Ds(e)||si(e),Ml=(e,t)=>{const o=t.container(),r=t.offset();return e?oi(o)?Se(o.nextSibling)?he(o.nextSibling,0):he.after(o):Ds(t)?he(o,r+1):t:oi(o)?Se(o.previousSibling)?he(o.previousSibling,o.previousSibling.data.length):he.before(o):si(t)?he(o,r-1):t},HM=Ae(Ml,!0),QH=Ae(Ml,!1),e9=(e,t)=>{const o=r=>r.stopImmediatePropagation();e.on("beforeinput input",o,!0),e.getDoc().execCommand(t),e.off("beforeinput input",o)},t9=e=>{e.execCommand("delete")},N4=e=>e9(e,"Delete"),n9=e=>e9(e,"ForwardDelete"),o9=e=>t=>so(Ra(t),e,sn),Za=e=>Pw(e)||xd(e),p_=(e,t)=>tc(e,t)?Un(t,Za,o9(e)):B.none(),b_=(e,t=!0)=>{e.dom.isEmpty(e.getBody())&&e.setContent("",{no_selection:!t})},v_=(e,t,o)=>xs($(o),H(o),(r,c)=>{const u=Ml(!0,r),f=Ml(!1,c),p=Ml(!1,t);return e?A(o,p).exists(v=>v.isEqual(f)&&t.isEqual(u)):M(o,p).exists(v=>v.isEqual(u)&&t.isEqual(f))}).getOr(!0),s9=e=>(_i(e)?oc(e):rs(e)).bind(s9).orThunk(()=>B.some(e)),zM=(e,t,o,r=!0)=>{t.deleteContents();const c=s9(o).getOr(o),u=U.fromDom(e.dom.getParent(c.dom,e.dom.isBlock)??o.dom);if(u.dom===e.getBody()?b_(e,r):Er(e.schema,u,{checkRootAsContent:!1})&&(Vi(u),r&&e.selection.setCursorLocation(u.dom,0)),!sn(o,u)){const f=so(Ra(u),o)?[]:On(u);ie(f.concat(Do(o)),p=>{!sn(p,u)&&!tc(p,u)&&Er(e.schema,p)&&no(p)})}},r9=e=>t=>sn(e,t),y_=e=>Ys(e,"td,th"),P4=(e,t)=>vg(U.fromDom(e),t),VY=e=>xs(e.startTable,e.endTable,(t,o)=>{const r=B1(t,u=>sn(u,o)),c=B1(o,u=>sn(u,t));return!r&&!c?e:{...e,startTable:r?B.none():e.startTable,endTable:c?B.none():e.endTable,isSameTable:!1,isMultiTable:!1}}).getOr(e),a9=e=>VY(e),c9=(e,t)=>{const o=P4(e.startContainer,t),r=P4(e.endContainer,t),c=o.isSome(),u=r.isSome(),f=xs(o,r,sn).getOr(!1);return a9({startTable:o,endTable:r,isStartInTable:c,isEndInTable:u,isSameTable:f,isMultiTable:!f&&c&&u})},Wn=(e,t)=>({start:e,end:t}),i9=(e,t,o)=>({rng:e,table:t,cells:o}),Ky=Ql.generate([{singleCellTable:["rng","cell"]},{fullTable:["table"]},{partialTable:["cells","outsideDetails"]},{multiTable:["startTableCells","endTableCells","betweenRng"]}]),wg=(e,t)=>cr(U.fromDom(e),"td,th",t),C_=e=>!sn(e.start,e.end),VM=(e,t)=>vg(e.start,t).bind(o=>vg(e.end,t).bind(r=>xi(sn(o,r),o))),l9=(e,t)=>!C_(e)&&VM(e,t).exists(o=>{const r=o.dom.rows;return r.length===1&&r[0].cells.length===1}),u9=(e,t)=>{const o=wg(e.startContainer,t),r=wg(e.endContainer,t);return xs(o,r,Wn)},UM=e=>t=>vg(t,e).bind(o=>$r(y_(o)).map(r=>Wn(t,r))),d9=e=>t=>vg(t,e).bind(o=>ws(y_(o)).map(r=>Wn(r,t))),ZM=e=>t=>VM(t,e).map(o=>i9(t,o,y_(o))),m9=(e,t,o,r)=>{if(o.collapsed||!e.forall(C_))return B.none();if(t.isSameTable){const c=e.bind(ZM(r));return B.some({start:c,end:c})}else{const c=wg(o.startContainer,r),u=wg(o.endContainer,r),f=c.bind(UM(r)).bind(ZM(r)),p=u.bind(d9(r)).bind(ZM(r));return B.some({start:f,end:p})}},WM=(e,t)=>mm(e,o=>sn(o,t)),S_=e=>xs(WM(e.cells,e.rng.start),WM(e.cells,e.rng.end),(t,o)=>e.cells.slice(t,o+1)),f9=(e,t,o)=>e.exists(r=>l9(r,o)&&kA(r.start,t)),jM=(e,t)=>{const{startTable:o,endTable:r}=t,c=e.cloneRange();return o.each(u=>c.setStartAfter(u.dom)),r.each(u=>c.setEndBefore(u.dom)),c},GM=(e,t,o,r)=>m9(e,t,o,r).bind(({start:c,end:u})=>c.or(u)).bind(c=>{const{isSameTable:u}=t,f=S_(c).getOr([]);if(u&&c.cells.length===f.length)return B.some(Ky.fullTable(c.table));if(f.length>0){if(u)return B.some(Ky.partialTable(f,B.none()));{const p=jM(o,t);return B.some(Ky.partialTable(f,B.some({...t,rng:p})))}}else return B.none()}),g9=(e,t,o,r)=>m9(e,t,o,r).bind(({start:c,end:u})=>{const f=c.bind(S_).getOr([]),p=u.bind(S_).getOr([]);if(f.length>0&&p.length>0){const v=jM(o,t);return B.some(Ky.multiTable(f,p,v))}else return B.none()}),tn=(e,t)=>{const o=r9(e),r=u9(t,o),c=c9(t,o);return f9(r,t,o)?r.map(u=>Ky.singleCellTable(t,u.start)):c.isMultiTable?g9(r,c,t,o):GM(r,c,t,o)},w_=e=>ie(e,t=>{Go(t,"contenteditable"),Vi(t)}),Yy=(e,t)=>B.from(e.dom.getParent(t,e.dom.isBlock)).map(U.fromDom),Xy=(e,t,o)=>{o.each(r=>{t?no(r):(Vi(r),e.selection.setCursorLocation(r.dom,0))})},Cp=(e,t,o,r)=>{const c=o.cloneRange();r?(c.setStart(o.startContainer,o.startOffset),c.setEndAfter(t.dom.lastChild)):(c.setStartBefore(t.dom.firstChild),c.setEnd(o.endContainer,o.endOffset)),qM(e,c,t,!1).each(u=>u())},sb=e=>{const t=_u(e),o=U.fromDom(e.selection.getNode());bh(o.dom)&&Er(e.schema,o)?e.selection.setCursorLocation(o.dom,0):e.selection.collapse(!0),t.length>1&&qn(t,r=>sn(r,o))&&So(o,"data-mce-selected","1")},x_=(e,t,o)=>B.some(()=>{const r=e.selection.getRng(),c=o.bind(({rng:u,isStartInTable:f})=>{const p=Yy(e,f?u.endContainer:u.startContainer);u.deleteContents(),Xy(e,f,p.filter(Ae(Er,e.schema)));const v=f?t[0]:t[t.length-1];return Cp(e,v,r,f),Er(e.schema,v)?B.none():B.some(f?t.slice(1):t.slice(0,-1))}).getOr(t);w_(c),sb(e)}),UY=(e,t,o,r)=>B.some(()=>{const c=e.selection.getRng(),u=t[0],f=o[o.length-1];Cp(e,u,c,!0),Cp(e,f,c,!1);const p=Er(e.schema,u)?t:t.slice(1),v=Er(e.schema,f)?o:o.slice(0,-1);w_(p.concat(v)),r.deleteContents(),sb(e)}),qM=(e,t,o,r=!0)=>B.some(()=>{zM(e,t,o,r)}),ZY=(e,t)=>B.some(()=>Sg(e,!1,t)),WY=(e,t,o)=>tn(t,o).bind(r=>r.fold(Ae(qM,e),Ae(ZY,e),Ae(x_,e),Ae(UY,e))),h9=(e,t)=>Yn(e,t),jY=(e,t,o,r)=>YM(t,r).fold(()=>WY(e,t,o),c=>h9(e,c)),p9=(e,t,o)=>{const r=U.fromDom(e.getBody()),c=e.selection.getRng();return o.length!==0?x_(e,o,B.none()):jY(e,r,c,t)},KM=(e,t)=>Qn(zd(t,e),Bh),YM=(e,t)=>Qn(zd(t,e),pl("caption")),b9=(e,t,o,r,c)=>b(o,e.getBody(),c).bind(u=>KM(t,U.fromDom(u.getNode())).bind(f=>sn(f,r)?B.none():B.some(Tt))),Yn=(e,t)=>B.some(()=>{Vi(t),e.selection.setCursorLocation(t.dom,0)}),GY=(e,t,o,r)=>$(e.dom).bind(c=>H(e.dom).map(u=>t?o.isEqual(c)&&r.isEqual(u):o.isEqual(u)&&r.isEqual(c))).getOr(!0),qY=(e,t)=>Yn(e,t),v9=(e,t,o)=>YM(e,U.fromDom(o.getNode())).fold(()=>B.some(Tt),r=>xi(!sn(r,t),Tt)),Jy=(e,t,o,r,c)=>b(o,e.getBody(),c).fold(()=>B.some(Tt),u=>GY(r,o,c,u)?qY(e,r):v9(t,r,u)),y9=(e,t,o,r)=>{const c=he.fromRangeStart(e.selection.getRng());return KM(o,r).bind(u=>Er(e.schema,u,{checkRootAsContent:!1})?Yn(e,u):b9(e,o,t,u,c))},C9=(e,t,o,r)=>{const c=he.fromRangeStart(e.selection.getRng());return Er(e.schema,r)?Yn(e,r):Jy(e,o,t,r,c)},Vd=(e,t)=>e?Zy(t):A4(t),En=(e,t)=>{const o=he.fromRangeStart(e.selection.getRng());return Vd(t,o)||m(t,e.getBody(),o).exists(r=>Vd(t,r))},Us=(e,t,o)=>{const r=U.fromDom(e.getBody());return YM(r,o).fold(()=>y9(e,t,r,o).orThunk(()=>xi(En(e,t),Tt)),c=>C9(e,t,r,c))},Bl=(e,t)=>{const o=U.fromDom(e.selection.getStart(!0)),r=_u(e);return e.selection.isCollapsed()&&r.length===0?Us(e,t,o):p9(e,o,r)},Sp=(e,t)=>{let o=t;for(;o&&o!==e;){if(ir(o)||ro(o))return o;o=o.parentNode}return null},S9=["data-ephox-","data-mce-","data-alloy-","data-snooker-","_"],w9=Oe.each,E_=e=>{const t=e.dom,o=new Set(e.serializer.getTempAttrs()),r=(u,f)=>{if(u.nodeName!==f.nodeName||u.nodeType!==f.nodeType)return!1;const p=w=>{const _={};return w9(t.getAttribs(w),O=>{const R=O.nodeName.toLowerCase();R!=="style"&&!c(R)&&(_[R]=t.getAttrib(w,R))}),_},v=(w,_)=>{for(const O in w)if(Ut(w,O)){const R=_[O];if(ls(R)||w[O]!==R)return!1;delete _[O]}for(const O in _)if(Ut(_,O))return!1;return!0};return ot(u)&&ot(f)&&(!v(p(u),p(f))||!v(t.parseStyle(t.getAttrib(u,"style")),t.parseStyle(t.getAttrib(f,"style"))))?!1:!Zr(u)&&!Zr(f)},c=u=>qn(S9,f=>Ht(u,f))||o.has(u);return{compare:r,isAttributeInternal:c}},T_=(e,t)=>{if(Se(e))return{container:e,offset:t};const o=Ru.getNode(e,t);return Se(o)?{container:o,offset:t>=e.childNodes.length?o.data.length:0}:o.previousSibling&&Se(o.previousSibling)?{container:o.previousSibling,offset:o.previousSibling.data.length}:o.nextSibling&&Se(o.nextSibling)?{container:o.nextSibling,offset:0}:{container:e,offset:t}},Qy=e=>{const t=e.cloneRange(),o=T_(e.startContainer,e.startOffset);t.setStart(o.container,o.offset);const r=T_(e.endContainer,e.endOffset);return t.setEnd(r.container,r.offset),t},rb=yt.DOM,XM=()=>rb.create("span",{"data-mce-type":"bookmark"}),JM=(e,t,o)=>{if(ot(e)){const r=o();return e.hasChildNodes()?t===e.childNodes.length?e.appendChild(r):e.insertBefore(r,e.childNodes[t]):e.appendChild(r),{container:r,offset:0}}else return{container:e,offset:t}},QM=(e,t)=>{const o=r=>{var f;let c=(f=r.parentNode)==null?void 0:f.firstChild,u=0;for(;c;){if(c===r)return u;(!ot(c)||c.getAttribute("data-mce-type")!=="bookmark")&&u++,c=c.nextSibling}return-1};if(ot(e)&&pe(e.parentNode)){const r=e;t=o(e),e=e.parentNode,rb.remove(r),!e.hasChildNodes()&&rb.isBlock(e)&&e.appendChild(rb.create("br"))}return{container:e,offset:t}},e8=(e,t,o,r)=>{const c=rb.createRng();return c.setStart(e,t),c.setEnd(o,r),Qy(c)},Ud=(e,t=XM)=>{const{container:o,offset:r}=JM(e.startContainer,e.startOffset,t);if(e.collapsed)return{startContainer:o,startOffset:r};{const{container:c,offset:u}=JM(e.endContainer,e.endOffset,t);return{startContainer:o,startOffset:r,endContainer:c,endOffset:u}}},of=e=>{const{container:t,offset:o}=QM(e.startContainer,e.startOffset);if(!ls(e.endContainer)&&!ls(e.endOffset)){const{container:r,offset:c}=QM(e.endContainer,e.endOffset);return e8(t,o,r,c)}else return e8(t,o,t,o)},t8=(e,t,o,r)=>{if(Oe.each(o.styles,(c,u)=>{e.setStyle(t,u,Ou(c,r))}),o.styles){const c=e.getAttrib(t,"style");c&&e.setAttrib(t,"data-mce-style",c)}},ab=(e,t,o,r,c)=>{const u=e.dom;J(o.onformat)&&o.onformat(t,o,r,c),t8(u,t,o,r),Oe.each(o.attributes,(f,p)=>{u.setAttrib(t,p,Ou(f,r))}),Oe.each(o.classes,f=>{const p=Ou(f,r);u.hasClass(t,p)||u.addClass(t,p)})},x9=e=>!gn(e.attributes)&&!gn(e.styles),eC=a4,k_=(e,t,o)=>{const r=e.formatter.get(o);if(r)for(let c=0;c{const u=e.dom.getRoot();if(t===u)return!1;const f=e.dom.getParent(t,p=>k_(e,p,o)?!0:p.parentNode===u||!!Ji(e,p,o,r,!0));return!!Ji(e,f,o,r,c)},A_=(e,t,o)=>nr(o)&&eC(t,o.inline)||Ym(o)&&eC(t,o.block)?!0:Rl(o)?ot(t)&&e.is(t,o.selector):!1,br=(e,t,o,r,c,u)=>{const f=o[r],p=r==="attributes";if(J(o.onmatch))return o.onmatch(t,o,r);if(f){if(OS(f)){for(let v=0;v{const u=e.formatter.get(o),f=e.dom;if(u&&ot(t))for(let p=0;p{if(r)return tC(e,r,t,o,c);if(r=e.selection.getNode(),tC(e,r,t,o,c))return!0;const u=e.selection.getStart();return!!(u!==r&&tC(e,u,t,o,c))},E9=(e,t,o)=>{const r=[],c={},u=e.selection.getStart();return e.dom.getParent(u,f=>{for(let p=0;p{const o=c=>sn(c,U.fromDom(e.getBody())),r=(c,u)=>Ji(e,c.dom,u)?B.some(u):B.none();return B.from(e.selection.getStart(!0)).bind(c=>cd(U.fromDom(c),u=>ml(t,f=>r(u,f)),o)).getOrNull()},k9=(e,t)=>{const o=e.formatter.get(t),r=e.dom;if(o&&e.selection.isEditable()){const c=e.selection.getStart(),u=BA(r,c);for(let f=o.length-1;f>=0;f--){const p=o[f];if(!Rl(p))return!0;for(let v=u.length-1;v>=0;v--)if(r.is(u[v],p.selector))return!0}}return!1},A9=(e,t,o)=>os(o,(r,c)=>{const u=AY(e,c);return e.formatter.matchNode(t,c,{},u)?r.concat([c]):r},[]),cb=Po,nC=(e,t)=>e.importNode(t,!0),o8=e=>{if(e){const t=new gs(e,e);for(let o=t.current();o;o=t.next())if(Se(o))return o}return null},$4=e=>{const t=U.fromTag("span");return qs(t,{id:G,"data-mce-bogus":"1","data-mce-type":"format-caret"}),e&&pn(t,U.fromText(cb)),t},_9=e=>{const t=o8(e);return t&&t.data.charAt(0)===cb&&t.deleteData(0,1),t},sf=(e,t,o)=>{const r=e.dom,c=e.selection;if(Iy(t))Sg(e,!1,U.fromDom(t),o,!0);else{const u=c.getRng(),f=r.getParent(t,r.isBlock),p=u.startContainer,v=u.startOffset,w=u.endContainer,_=u.endOffset,O=_9(t);r.remove(t,!0),p===O&&v>0&&u.setStart(O,v-1),w===O&&_>0&&u.setEnd(O,_-1),f&&r.isEmpty(f)&&Vi(U.fromDom(f)),c.setRng(u)}},F4=(e,t,o)=>{const r=e.dom,c=e.selection;if(t)sf(e,t,o);else if(t=ue(e.getBody(),c.getStart()),!t)for(;t=r.get(G);)sf(e,t,o)},s8=(e,t,o)=>{var u,f;const r=e.dom,c=r.getParent(o,Ae($y,e.schema));c&&r.isEmpty(c)?(u=o.parentNode)==null||u.replaceChild(t,o):(Fw(U.fromDom(o)),r.isEmpty(o)?(f=o.parentNode)==null||f.replaceChild(t,o):r.insertAfter(t,o))},__=(e,t)=>(e.appendChild(t),t),O_=(e,t)=>{const o=Pr(e,(c,u)=>__(c,u.cloneNode(!1)),t),r=o.ownerDocument??document;return __(o,r.createTextNode(cb))},r8=(e,t,o,r,c,u)=>{const f=e.formatter,p=e.dom,v=ft(mt(f.get()),O=>O!==r&&!ds(O,"removeformat")),w=A9(e,o,v);if(ft(w,O=>!_L(e,O,r)).length>0){const O=o.cloneNode(!1);return p.add(t,O),f.remove(r,c,O,u),p.remove(O),B.some(O)}else return B.none()},a8=e=>Uv(e,xr(e).replace(new RegExp(`${Es}$`)," ")),D_=(e,t)=>{const o=()=>{t!==null&&!e.dom.isEmpty(t)&&oc(U.fromDom(t)).each(r=>{An(r)?a8(r):lh(r,c=>An(c)).each(c=>{An(c)&&a8(c)})})};e.once("input",r=>{r.data&&!Yi(r.data)&&(r.isComposing?e.once("compositionend",()=>{o()}):o())})},O9=(e,t,o)=>{let r;const c=e.selection,u=e.formatter.get(t);if(!u)return;const f=c.getRng();let p=f.startOffset;const w=f.startContainer.nodeValue;r=ue(e.getBody(),c.getStart());const _=/[^\s\u00a0\u00ad\u200b\ufeff]/;if(w&&p>0&&p{const c=e.dom,u=e.selection;let f=!1;const p=e.formatter.get(t);if(!p)return;const v=u.getRng(),w=v.startContainer,_=v.startOffset;let O=w;Se(w)&&(_!==w.data.length&&(f=!0),O=O.parentNode);const R=[];let P;for(;O;){if(Ji(e,O,t,o,r)){P=O;break}O.nextSibling&&(f=!0),R.push(O),O=O.parentNode}if(P)if(f){const z=u.getBookmark();v.collapse(!0);let I=fp(c,v,p,{includeTrailingSpace:!0});I=C4(I),e.formatter.remove(t,o,I,r),u.moveToBookmark(z)}else{const z=ue(e.getBody(),P),I=pe(z)?c.getParents(P.parentNode,Qe,z):[],Z=$4(!1).dom;s8(e,Z,z??P);const Y=r8(e,Z,P,t,o,r),X=O_([...R,...Y.toArray(),...I],Z);z&&sf(e,z,pe(z)),u.setCursorLocation(X,1),D_(e,Z),c.isEmpty(P)&&c.remove(P)}},R9=(e,t,o)=>{const r=e.selection,c=e.getBody();F4(e,null,o),(t===8||t===46)&&r.isCollapsed()&&r.getStart().innerHTML===cb&&F4(e,ue(c,r.getStart()),!0),(t===37||t===39)&&F4(e,ue(c,r.getStart()),!0)},M9=e=>Se(e)&&Qr(e.data,Es),B9=e=>{e.on("mouseup keydown",t=>{R9(e,t.keyCode,M9(e.selection.getRng().endContainer))})},N9=e=>{const t=$4(!1),o=O_(e,t.dom);return{caretContainer:t,caretPosition:he(o,0)}},c8=(e,t)=>{const{caretContainer:o,caretPosition:r}=N9(t);return ar(U.fromDom(e),o),no(U.fromDom(e)),r},P9=(e,t)=>{const{caretContainer:o,caretPosition:r}=N9(t);return e.insertNode(o.dom),r},$9=(e,t)=>{if(ne(t.dom))return!1;const o=e.schema.getTextInlineElements();return Ut(o,Wt(t))&&!ne(t.dom)&&!lc(t.dom)},i8=["fontWeight","fontStyle","color","fontSize","fontFamily"],R_=e=>fn(e.styles)&&qn(mt(e.styles),t=>Bt(i8,t)),M_=e=>Qn(e,t=>nr(t)&&t.inline==="span"&&R_(t)),l8=(e,t)=>{const o=e.get(t);return gn(o)?M_(o):B.none()},u8=(e,t)=>M(t,he.fromRangeStart(e)).isNone(),d8=(e,t)=>A(t,he.fromRangeEnd(e)).exists(o=>!uo(o.getNode())||A(t,o).isSome())===!1,m8=e=>t=>H1(t)&&e.isEditable(t),f8=(e,t)=>Ot(e.getSelectedBlocks(),(o,r)=>r===0&&t(o)?e.dom.getParent(o,H1)??o:o),F9=e=>{if(e.isCollapsed())return[];const t=e.getRng(),o=f8(e,r=>u8(t,r)&&!H1(r));if(o.length===1)return u8(t,o[0])&&d8(t,o[0])?o:[];{const r=ws(o).filter(f=>u8(t,f)).toArray(),c=$r(o).filter(f=>d8(t,f)).toArray(),u=o.slice(1,-1);return r.concat(u).concat(c)}},I9=e=>ft(F9(e),m8(e.dom)),g8=e=>ft(f8(e,t=>!H1(t)),m8(e.dom)),B_=Oe.each,I4=e=>ot(e)&&!Zr(e)&&!ne(e)&&!lc(e),h8=(e,t)=>{for(let o=e;o;o=o[t]){if(Se(o)&&Lo(o.data))return e;if(ot(o)&&!Zr(o))return o}return e},p8=(e,t,o)=>{const r=E_(e),c=Is(t)&&e.dom.isEditable(t),u=Is(o)&&e.dom.isEditable(o);if(c&&u){const f=h8(t,"previousSibling"),p=h8(o,"nextSibling");if(r.compare(f,p)){for(let v=f.nextSibling;v&&v!==p;){const w=v;v=v.nextSibling,f.appendChild(w)}return e.dom.remove(p),Oe.each(Oe.grep(p.childNodes),v=>{f.appendChild(v)}),f}}return o},Zd=(e,t,o,r)=>{if(r&&t.merge_siblings!==!1){const c=p8(e,MA(r),r)??r;p8(e,c,MA(c,!0))}},L9=(e,t,o)=>{if(t.clear_child_styles){const r=t.links?"*:not(a)":"*";B_(e.select(r,o),c=>{I4(c)&&e.isEditable(c)&&B_(t.styles,(u,f)=>{e.setStyle(c,f,"")})})}},L4=(e,t,o)=>{B_(e.childNodes,r=>{I4(r)&&(t(r)&&o(r),r.hasChildNodes()&&L4(r,t,o))})},H9=(e,t)=>{t.nodeName==="SPAN"&&e.getAttribs(t).length===0&&e.remove(t,!0)},b8=(e,t)=>o=>!!(o&&i4(e,o,t)),N_=(e,t,o)=>r=>{e.setStyle(r,t,o),r.getAttribute("style")===""&&r.removeAttribute("style"),H9(e,r)},xg=Ql.generate([{keep:[]},{rename:["name"]},{removed:[]}]),v8=/^(src|href|style)$/,H4=Oe.each,z4=a4,z9=e=>/^(TR|TH|TD)$/.test(e.nodeName),y8=(e,t,o)=>e.isChildOf(t,o)&&t!==o&&!e.isBlock(o),C8=(e,t,o)=>{let r=t[o?"startContainer":"endContainer"],c=t[o?"startOffset":"endOffset"];if(ot(r)){const u=r.childNodes.length-1;!o&&c&&c--,r=r.childNodes[c>u?u:c]}return Se(r)&&o&&c>=r.data.length&&(r=new gs(r,e.getBody()).next()||r),Se(r)&&!o&&c===0&&(r=new gs(r,e.getBody()).prev()||r),r},S8=(e,t)=>{const o=t?"firstChild":"lastChild",r=e[o];return z9(e)&&r?e.nodeName==="TR"&&r[o]||r:e},Wd=(e,t,o,r)=>{var u;const c=e.create(o,r);return(u=t.parentNode)==null||u.insertBefore(c,t),c.appendChild(t),c},P_=(e,t,o,r,c)=>{const u=U.fromDom(t),f=U.fromDom(e.create(r,c)),p=o?Ps(u):Cr(u);return sc(f,p),o?(ar(u,f),bl(f,u)):(Ni(u,f),pn(f,u)),f.dom},V9=(e,t)=>t.links&&e.nodeName==="A",w8=(e,t,o)=>{const r=t.parentNode;let c;const u=e.dom,f=zs(e);Ym(o)&&r===u.getRoot()&&(!o.list_block||!z4(t,o.list_block))&&ie(Fr(t.childNodes),p=>{dp(e,f,p.nodeName.toLowerCase())?c?c.appendChild(p):(c=Wd(u,p,f),u.setAttribs(c,_l(e))):c=null}),!(yo(o)&&!z4(o.inline,t))&&u.remove(t,!0)},V4=(e,t,o)=>Kr(e)?{name:t,value:null}:{name:e,value:Ou(t,o)},x8=(e,t)=>{e.getAttrib(t,"style")===""&&(t.removeAttribute("style"),t.removeAttribute("data-mce-style"))},U4=(e,t,o,r,c)=>{let u=!1;H4(o.styles,(f,p)=>{const{name:v,value:w}=V4(p,f,r),_=c4(w,v);(o.remove_similar||te(w)||!ot(c)||z4(i4(e,c,v),_))&&e.setStyle(t,v,""),u=!0}),u&&x8(e,t)},E8=(e,t,o)=>{t==="removeformat"?ie(g8(e.selection),r=>{ie(i8,c=>e.dom.setStyle(r,c,"")),x8(e.dom,r)}):l8(e.formatter,t).each(r=>{ie(g8(e.selection),c=>U4(e.dom,c,r,o,null))})},$_=(e,t,o,r,c)=>{const u=e.dom,f=E_(e),p=e.schema;if(nr(t)&&Yo(p,t.inline)&&lr(p,r)&&r.parentElement===e.getBody())return w8(e,r,t),xg.removed();if(!t.ceFalseOverride&&r&&u.getContentEditableParent(r)==="false"||r&&!A_(u,r,t)&&!V9(r,t))return xg.keep();const v=r,w=t.preserve_attributes;if(nr(t)&&t.remove==="all"&&gn(w)){const _=ft(u.getAttribs(v),O=>Bt(w,O.name.toLowerCase()));if(u.removeAllAttribs(v),ie(_,O=>u.setAttrib(v,O.name,O.value)),_.length>0)return xg.rename("span")}if(t.remove!=="all"){U4(u,v,t,o,c),H4(t.attributes,(O,R)=>{const{name:P,value:z}=V4(R,O,o);if(t.remove_similar||te(z)||!ot(c)||z4(u.getAttrib(c,P),z)){if(P==="class"){const I=u.getAttrib(v,P);if(I){let Z="";if(ie(I.split(/\s+/),Y=>{/mce\-\w+/.test(Y)&&(Z+=(Z?" ":"")+Y)}),Z){u.setAttrib(v,P,Z);return}}}if(v8.test(P)&&v.removeAttribute("data-mce-"+P),P==="style"&&Fi(["li"])(v)&&u.getStyle(v,"list-style-type")==="none"){v.removeAttribute(P),u.setStyle(v,"list-style-type","none");return}P==="class"&&v.removeAttribute("className"),v.removeAttribute(P)}}),H4(t.classes,O=>{O=Ou(O,o),(!ot(c)||u.hasClass(c,O))&&u.removeClass(v,O)});const _=u.getAttribs(v);for(let O=0;O<_.length;O++){const R=_[O].nodeName;if(!f.isAttributeInternal(R))return xg.keep()}}return t.remove!=="none"?(w8(e,v,t),xg.removed()):xg.keep()},U9=(e,t,o,r,c)=>{let u;return t.parentNode&&ie(BA(e.dom,t.parentNode).reverse(),f=>{if(!u&&ot(f)&&f.id!=="_start"&&f.id!=="_end"){const p=Ji(e,f,o,r,c);p&&p.split!==!1&&(u=f)}}),u},Z4=(e,t,o,r)=>$_(e,t,o,r,r).fold(Me(r),c=>(e.dom.createFragment().appendChild(r),e.dom.rename(r,c)),Me(null)),Z9=(e,t,o,r,c,u,f,p)=>{var O;let v,w;const _=e.dom;if(o){const R=o.parentNode;for(let P=r.parentNode;P&&P!==R;P=P.parentNode){let z=_.clone(P,!1);for(let I=0;I{const u=e.formatter.get(t),f=u[0],p=e.dom,v=e.selection,w=I=>{const Z=U9(e,I,t,o,c);return Z9(e,u,Z,I,I,!0,f,o)},_=I=>Zr(I)&&ot(I)&&(I.id==="_start"||I.id==="_end"),O=I=>qn(u,Z=>ib(e,Z,o,I,I)),R=I=>{const Z=Fr(I.childNodes),X=O(I)||qn(u,we=>A_(p,I,we)),ee=I.parentNode;if(!X&&pe(ee)&&Fy(f)&&O(ee),f.deep&&Z.length)for(let we=0;we{ot(I)&&e.dom.getStyle(I,"text-decoration")===we&&I.parentNode&&ER(p,I.parentNode)===we&&ib(e,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:we}},void 0,I)})},P=I=>{const Z=p.get(I?"_start":"_end");if(Z){let Y=Z[I?"firstChild":"lastChild"];return _(Y)&&(Y=Y[I?"firstChild":"lastChild"]),Se(Y)&&Y.data.length===0&&(Y=I?Z.previousSibling||Z.nextSibling:Z.nextSibling||Z.previousSibling),p.remove(Z,!0),Y}else return null},z=I=>{let Z,Y,X=fp(p,I,u,{includeTrailingSpace:I.collapsed});if(f.split){if(X=C4(X),Z=C8(e,X,!0),Y=C8(e,X),Z!==Y){if(Z=S8(Z,!0),Y=S8(Y,!1),y8(p,Z,Y)){const fe=B.from(Z.firstChild).getOr(Z);w(P_(p,fe,!0,"span",{id:"_start","data-mce-type":"bookmark"})),P(!0);return}if(y8(p,Y,Z)){const fe=B.from(Y.lastChild).getOr(Y);w(P_(p,fe,!1,"span",{id:"_end","data-mce-type":"bookmark"})),P(!1);return}Z=Wd(p,Z,"span",{id:"_start","data-mce-type":"bookmark"}),Y=Wd(p,Y,"span",{id:"_end","data-mce-type":"bookmark"});const ee=p.createRng();ee.setStartAfter(Z),ee.setEndBefore(Y),Ly(p,ee,fe=>{ie(fe,we=>{!Zr(we)&&!Zr(we.parentNode)&&w(we)})}),w(Z),w(Y),Z=P(!0),Y=P()}else Z=Y=w(Z);X.startContainer=Z.parentNode?Z.parentNode:Z,X.startOffset=p.nodeIndex(Z),X.endContainer=Y.parentNode?Y.parentNode:Y,X.endOffset=p.nodeIndex(Y)+1}Ly(p,X,ee=>{ie(ee,R)})};if(r){if(Py(r)){const I=p.createRng();I.setStartBefore(r),I.setEndAfter(r),z(I)}else z(r);rg(e,t,r,o);return}!v.isCollapsed()||!nr(f)||_u(e).length?(wR(e,()=>Ny(e,z),I=>nr(f)&&n8(e,t,o,I)),e.nodeChanged()):D9(e,t,o,c),E8(e,t,o),rg(e,t,r,o)},k8=(e,t,o,r,c)=>{(r||e.selection.isEditable())&&T8(e,t,o,r,c)},A8=(e,t,o,r)=>$_(e,t,o,r).fold(()=>B.some(r),c=>B.some(e.dom.rename(r,c)),B.none),ib=(e,t,o,r,c)=>$_(e,t,o,r,c).fold(Ee,u=>(e.dom.rename(r,u),!0),Qe),F_=["fontsize","subscript","superscript"],W9=["strikethrough",...F_],_8=(e,t,o)=>pe(e.matchNode(t.dom,o,{},o==="fontsize")),I_=(e,t)=>qn(F_,o=>_8(e,t,o)),j9=e=>Bt(W9,e),G9=(e,t,o,r,c)=>{const u=nc(t,e).filter(bo);return xT(u,o).map(f=>{const p=u[f],v=r(p),w=[...c(Sr(p)).toArray(),...Bn(u.slice(0,f),_=>o(_)?c(_).toArray():[Sr(_)])];return{container:p,innerWrapper:v,outerWrappers:w}})},Tc=(e,t,o,r)=>{ie(Do(e),c=>{bo(c)&&o(c)&&r(c).isNone()&&cc(c)}),ie(Do(e),c=>pn(t,c)),bl(e,t)},O8=(e,t)=>{if(t.length>0){const o=t[t.length-1];ar(e,o);const r=os(t.slice(0,t.length-1),(c,u)=>(pn(c,u),u),o);pn(r,e)}},q9=(e,t,o,r,c)=>{const u=f=>sn(U.fromDom(e.getRoot()),f)||e.isBlock(f.dom);ie(t,f=>{G9(u,f,o,r,c).each(({container:p,innerWrapper:v,outerWrappers:w})=>{e.split(p.dom,f.dom),Tc(f,v,o,c),O8(f,w)})})},L_=(e,t,o)=>{const r=p=>pe(Ji(e,p.dom,t)),c=p=>{const v=U.fromTag(Wt(p)),w=Ji(e,p.dom,t,{});return pe(w)&&x9(w)&&ab(e,v.dom,w),v},u=p=>{const v=Ji(e,p.dom,t,{});return pe(v)?A8(e,v,{},p.dom).map(U.fromDom):B.some(p)},f=Ud(e.selection.getRng());q9(e.dom,o,r,c,u),e.selection.setRng(of(f))},K9=(e,t)=>Bn(t,o=>{const r=D1(o,c=>I_(e,c));return I_(e,o)?[o,...r]:r}),Y9=(e,t,o)=>{if(j9(t)){const r=K9(e.formatter,o);L_(e,"strikethrough",r)}},X9=(e,t)=>{const o=ft(t,r=>I_(e.formatter,r));L_(e,"strikethrough",o)},wp=e=>["h1","h2","h3","h4","h5","h6"].includes(e.name),lb=e=>e.name==="summary",KY=(e,t)=>{let o=e;for(;o=o.walk();)t(o)},D8=(e,t,o,r)=>{const c=o.name;for(let u=0,f=e.length;u{const r={nodes:{},attributes:{}};return o.firstChild&&KY(o,c=>{D8(e,t,c,r)}),r},Nl=(e,t)=>{const o=(r,c)=>{hn(r,u=>{const f=Fr(u.nodes);ie(u.filter.callbacks,p=>{for(let v=f.length-1;v>=0;v--){const w=f[v];(!(c?w.attr(u.filter.name)!==void 0:w.name===u.filter.name)||on(w.parent))&&f.splice(v,1)}f.length>0&&p(f,u.filter.name,t)})})};o(e.nodes,!1),o(e.attributes,!0)},R8=(e,t,o,r={})=>{const c=J9(e,t,o);Nl(c,r)},H_=(e,t,o,r)=>{if((e.pad_empty_with_br||t.insert)&&o(r)){const u=new or("br",1);t.insert&&u.attr("data-mce-bogus","1"),r.empty().append(u)}else r.empty().append(new or("#text",3)).value=Es},W4=e=>{var t;return M8(e,"#text")&&((t=e==null?void 0:e.firstChild)==null?void 0:t.value)===Es},M8=(e,t)=>{const o=e==null?void 0:e.firstChild;return pe(o)&&o===e.lastChild&&o.name===t},z_=(e,t)=>{const o=e.getElementRule(t.name);return(o==null?void 0:o.paddEmpty)===!0},xp=(e,t,o,r)=>r.isEmpty(t,o,c=>z_(e,c)),B8=(e,t)=>pe(e)&&(t(e)||e.name==="br"),Q9=e=>{let t;for(let o=e;o;o=o.parent){const r=o.attr("contenteditable");if(r==="false")break;r==="true"&&(t=o)}return B.from(t)},YY=e=>{const t=[];for(let o=e.firstChild;pe(o);o=o.walk())t.push(o);return t},jd=(e,t,o=e.parent)=>{if(t.getSpecialElements()[e.name])e.empty().remove();else{const r=e.children();for(const c of r)o&&!t.isValidChild(o.name,c.name)&&jd(c,t,o);e.unwrap()}},N8=(e,t,o,r=Tt)=>{const c=t.getTextBlockElements(),u=t.getNonEmptyElements(),f=t.getWhitespaceElements(),p=Oe.makeMap("tr,td,th,tbody,thead,tfoot,table,summary"),v=new Set,w=_=>_!==o&&!p[_.name];for(let _=0;_1)if(V_(t,O,R))jd(O,t);else{I.reverse(),P=I[0].clone(),r(P);let Z=P;for(let Y=0;Y0?(z=I[Y].clone(),r(z),Z.append(z)):z=Z;for(let X=I[Y].firstChild;X&&X!==I[Y+1];){const ee=X.next;z.append(X),X=ee}Z=z}xp(t,u,f,P)?R.insert(O,I[0],!0):(R.insert(P,I[0],!0),R.insert(O,P)),R=I[0],(xp(t,u,f,R)||M8(R,"br"))&&R.empty().remove()}else if(O.parent){if(O.name==="li"){let Z=O.prev;if(Z&&(Z.name==="ul"||Z.name==="ol")){Z.append(O);continue}if(Z=O.next,Z&&(Z.name==="ul"||Z.name==="ol")&&Z.firstChild){Z.insert(O,Z.firstChild,!0);continue}const Y=new or("ul",1);r(Y),O.wrap(Y);continue}if(t.isValidChild(O.parent.name,"div")&&t.isValidChild("div",O.name)){const Z=new or("div",1);r(Z),O.wrap(Z)}else jd(O,t)}}},ez=(e,t)=>{let o=e;for(;o;){if(o.name===t)return!0;o=o.parent}return!1},V_=(e,t,o=t.parent)=>o?e.children[t.name]&&!e.isValidChild(o.name,t.name)||t.name==="a"&&ez(o,"a")?!0:lb(o)&&wp(t)?!((o==null?void 0:o.firstChild)===t&&(o==null?void 0:o.lastChild)===t):!1:!1,Yt=(e,t,o,r)=>{const c=document.createRange();return c.setStart(e,t),c.setEnd(o,r),c},tz=e=>{const t=he.fromRangeStart(e),o=he.fromRangeEnd(e),r=e.commonAncestorContainer;return m(!1,r,o).map(c=>!Dl(t,o,r)&&Dl(t,c,r)?Yt(t.container(),t.offset(),c.container(),c.offset()):e).getOr(e)},j4=e=>e.collapsed?e:tz(e),U_=Oe.explode,P8=()=>{const e={};return{addFilter:(c,u)=>{ie(U_(c),f=>{Ut(e,f)||(e[f]={name:f,callbacks:[]}),e[f].callbacks.push(u)})},getFilters:()=>Jl(e),removeFilter:(c,u)=>{ie(U_(c),f=>{if(Ut(e,f))if(pe(u)){const p=e[f],v=ft(p.callbacks,w=>w!==u);v.length>0?p.callbacks=v:delete e[f]}else delete e[f]})}}},nz=e=>e.replace(/&/g,"&").replace(//g,">"),zo=e=>e.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"),oz=(e,t)=>{ie(t,o=>{e.attr(o,null)})},sz=(e,t,o)=>{e.addNodeFilter("font",r=>{ie(r,c=>{const u=t.parse(c.attr("style")),f=c.attr("color"),p=c.attr("face"),v=c.attr("size");f&&(u.color=f),p&&(u["font-family"]=p),v&&AS(v).each(w=>{u["font-size"]=o[w-1]}),c.name="span",c.attr("style",t.serialize(u)),oz(c,["color","face","size"])})})},rz=(e,t,o)=>{e.addNodeFilter("strike",r=>{const c=t.type!=="html4";ie(r,u=>{if(c)u.name="s";else{const f=o.parse(u.attr("style"));f["text-decoration"]="line-through",u.name="span",u.attr("style",o.serialize(f))}})})},az=(e,t,o)=>{const r=zf();t.convert_fonts_to_spans&&sz(e,r,Oe.explode(t.font_size_legacy_values??"")),rz(e,o,r)},Ao=(e,t,o)=>{t.inline_styles&&az(e,t,o)},$8=e=>fetch(e).then(t=>t.ok?t.blob():Promise.reject()).catch(()=>Promise.reject({message:`Cannot convert ${e} to Blob. Resource might not exist or is inaccessible.`,uriType:"blob"})),F8=e=>{const t=/([a-z0-9+\/=\s]+)/i.exec(e);return t?t[1]:""},cz=e=>{try{return decodeURIComponent(e)}catch{return e}},G4=e=>{const[t,...o]=e.split(","),r=o.join(","),c=/data:([^/]+\/[^;]+)(;.+)?/.exec(t);if(c){const u=c[2]===";base64",f=cz(r),p=u?F8(f):f;return B.some({type:c[1],data:p,base64Encoded:u})}else return B.none()},I8=(e,t,o=!0)=>{let r=t;if(o)try{r=atob(t)}catch{return B.none()}const c=new Uint8Array(r.length);for(let u=0;unew Promise((t,o)=>{G4(e).bind(({type:r,data:c,base64Encoded:u})=>I8(r,c,u)).fold(()=>o("Invalid data URI"),t)}),Z_=e=>Ht(e,"blob:")?$8(e):Ht(e,"data:")?rf(e):Promise.reject("Unknown URI format"),L8=e=>new Promise((t,o)=>{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=()=>{var c;o((c=r.error)==null?void 0:c.message)},r.readAsDataURL(e)});let iz=0;const W_=e=>(e||"blobid")+iz++,lz=e=>os(new window.TextEncoder().encode(e),(t,o)=>t+String.fromCharCode(o),""),H8=(e,t,o)=>G4(e).bind(({data:r,type:c,base64Encoded:u})=>{if(t&&!u)return B.none();{const f=u?r:btoa(lz(r));return o(f,c)}}),es=(e,t,o)=>{const r=e.create(W_(),t,o);return e.add(r),r},z8=(e,t,o=!1)=>H8(t,o,(r,c)=>B.from(e.getByData(r,c)).orThunk(()=>I8(c,r).map(u=>es(e,u,r)))),Eg=(e,t)=>{const o=()=>Promise.reject("Invalid data URI");if(Ht(t,"blob:")){const r=e.getByUri(t);return pe(r)?Promise.resolve(r):Z_(t).then(c=>L8(c).then(u=>H8(u,!1,f=>B.some(es(e,c,f))).getOrThunk(o)))}else return Ht(t,"data:")?z8(e,t).fold(o,r=>Promise.resolve(r)):Promise.reject("Unknown image data format")},uz=/^(?:(?:(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)([A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*))(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+)?)?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+)?)?)$/,dz=e=>B.from(e.match(uz)).bind(t=>Lc(t,1)).map(t=>Ht(t,"www.")?t.substring(4):t),V8=(e,t)=>{B.from(e.attr("src")).bind(dz).forall(o=>!Bt(t,o))&&e.attr("sandbox","")},j_=(e,t)=>Ht(e,`${t}/`),mz=e=>ls(e)?"iframe":j_(e,"image")?"img":j_(e,"video")?"video":j_(e,"audio")?"audio":"iframe",fz=({type:e,src:t,width:o,height:r}={},c,u)=>{const f=mz(e),p=new or(f,1);return p.attr(f==="audio"?{src:t}:{src:t,width:o,height:r}),(f==="audio"||f==="video")&&p.attr("controls",""),f==="iframe"&&c&&V8(p,u),p},gz=e=>pe(e.attr("data-mce-bogus")),hz=e=>e.attr("src")===dn.transparentSrc||pe(e.attr("data-mce-placeholder")),pz=(e,t)=>{const{blob_cache:o}=t;if(o){const r=c=>{const u=c.attr("src");hz(c)||gz(c)||on(u)||z8(o,u,!0).each(f=>{c.attr("src",f.blobUri())})};e.addAttributeFilter("src",c=>ie(c,r))}},q4=(e,t)=>{const o=e.schema;e.addAttributeFilter("href",f=>{let p=f.length;const v=_=>_.split(" ").filter(R=>R.length>0).concat(["noopener"]).sort().join(" "),w=_=>{const O=_?Oe.trim(_):"";return/\b(noopener)\b/g.test(O)?O:v(O)};if(!t.allow_unsafe_link_target)for(;p--;){const _=f[p];_.name==="a"&&_.attr("target")==="_blank"&&_.attr("rel",w(_.attr("rel")))}}),t.allow_html_in_named_anchor||e.addAttributeFilter("id,name",f=>{let p=f.length,v,w,_,O;for(;p--;)if(O=f[p],O.name==="a"&&O.firstChild&&!O.attr("href"))for(_=O.parent,v=O.lastChild;v&&_;)w=v.prev,_.insert(v,O),v=w}),t.fix_list_elements&&e.addNodeFilter("ul,ol",f=>{let p=f.length,v,w;for(;p--;)if(v=f[p],w=v.parent,w&&(w.name==="ul"||w.name==="ol"))if(v.prev&&v.prev.name==="li")v.prev.append(v);else{const _=new or("li",1);_.attr("style","list-style-type: none"),v.wrap(_)}});const r=o.getValidClasses();t.validate&&r&&e.addAttributeFilter("class",f=>{let p=f.length;for(;p--;){const v=f[p],w=v.attr("class")??"",_=Oe.explode(w," ");let O="";for(let R=0;R<_.length;R++){const P=_[R];let z=!1,I=r["*"];I&&I[P]&&(z=!0),I=r[v.name],!z&&I&&I[P]&&(z=!0),z&&(O&&(O+=" "),O+=P)}O.length||(O=null),v.attr("class",O)}}),pz(e,t);const c=t.sandbox_iframes??!1,u=Ku(t.sandbox_iframes_exclusions??[]);t.convert_unsafe_embeds&&e.addNodeFilter("object,embed",f=>ie(f,p=>{p.replace(fz({type:p.attr("type"),src:p.name==="object"?p.attr("data"):p.attr("src"),width:p.attr("width"),height:p.attr("height")},c,u))})),c&&e.addNodeFilter("iframe",f=>ie(f,p=>V8(p,u)))};/*! @license DOMPurify 3.3.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.2/LICENSE */const{entries:U8,setPrototypeOf:Z8,isFrozen:XY,getPrototypeOf:oC,getOwnPropertyDescriptor:bz}=Object;let{freeze:Ta,seal:Pl,create:K4}=Object,{apply:G_,construct:q_}=typeof Reflect<"u"&&Reflect;Ta||(Ta=function(t){return t}),Pl||(Pl=function(t){return t}),G_||(G_=function(t,o){for(var r=arguments.length,c=new Array(r>2?r-2:0),u=2;u1?o-1:0),c=1;c1?o-1:0),c=1;c2&&arguments[2]!==void 0?arguments[2]:qd;Z8&&Z8(e,null);let r=t.length;for(;r--;){let c=t[r];if(typeof c=="string"){const u=o(c);u!==c&&(XY(t)||(t[r]=u),c=u)}e[c]=!0}return e}function Y4(e){for(let t=0;t/gm),Sz=Pl(/\$\{[\w\W]*/gm),wz=Pl(/^data-[\-\w.\u00B7-\uFFFF]+$/),xz=Pl(/^aria-[\-\w]+$/),K8=Pl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Q_=Pl(/^(?:\w+script|data):/i),e5=Pl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),t5=Pl(/^html$/i),Ez=Pl(/^[a-z][.\w]*(-[.\w]+)+$/i);var Y8=Object.freeze({__proto__:null,ARIA_ATTR:xz,ATTR_WHITESPACE:e5,CUSTOM_ELEMENT:Ez,DATA_ATTR:wz,DOCTYPE_NAME:t5,ERB_EXPR:Cz,IS_ALLOWED_URI:K8,IS_SCRIPT_OR_DATA:Q_,MUSTACHE_EXPR:yz,TMPLIT_EXPR:Sz});const gb={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},X8=function(){return typeof window>"u"?null:window},n5=function(t,o){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const c="data-tt-policy-suffix";o&&o.hasAttribute(c)&&(r=o.getAttribute(c));const u="dompurify"+(r?"#"+r:"");try{return t.createPolicy(u,{createHTML(f){return f},createScriptURL(f){return f}})}catch{return console.warn("TrustedTypes policy "+u+" could not be created."),null}},o5=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function s5(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:X8();const t=rn=>s5(rn);if(t.version="3.3.2",t.removed=[],!e||!e.document||e.document.nodeType!==gb.document||!e.Element)return t.isSupported=!1,t;let{document:o}=e;const r=o,c=r.currentScript,{DocumentFragment:u,HTMLTemplateElement:f,Node:p,Element:v,NodeFilter:w,NamedNodeMap:_=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:O,DOMParser:R,trustedTypes:P}=e,z=v.prototype,I=fb(z,"cloneNode"),Z=fb(z,"remove"),Y=fb(z,"nextSibling"),X=fb(z,"childNodes"),ee=fb(z,"parentNode");if(typeof f=="function"){const rn=o.createElement("template");rn.content&&rn.content.ownerDocument&&(o=rn.content.ownerDocument)}let fe,we="";const{implementation:xt,createNodeIterator:at,createDocumentFragment:oe,getElementsByTagName:ge}=o,{importNode:_e}=r;let Pe=o5();t.isSupported=typeof U8=="function"&&typeof ee=="function"&&xt&&xt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ue,ERB_EXPR:it,TMPLIT_EXPR:Jt,DATA_ATTR:yn,ARIA_ATTR:Gn,IS_SCRIPT_OR_DATA:co,ATTR_WHITESPACE:Ns,CUSTOM_ELEMENT:Pc}=Y8;let{IS_ALLOWED_URI:Ve}=Y8,vt=null;const Tn=Xn({},[...X_,...X4,...Pu,...hi,...j8]);let Sn=null;const vr=Xn({},[...G8,...J_,...q8,...J4]);let ye=Object.seal(K4(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$e=null,Xe=null;const Zt=Object.seal(K4(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Vt=!0,$n=!0,cl=!1,il=!0,$c=!1,Uu=!0,Gl=!1,la=!1,ll=!1,Zu=!1,rv=!1,av=!1,_t=!0,cn=!1;const Ss="user-content-";let Co=!0,Jn=!1,Vo={},Zs=null;const ua=Xn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ul=null;const zg=Xn({},["audio","video","img","source","image","track"]);let pS=null;const CL=Xn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),bS="http://www.w3.org/1998/Math/MathML",vS="http://www.w3.org/2000/svg",Cf="http://www.w3.org/1999/xhtml";let cv=Cf,CT=!1,SL=null;const yX=Xn({},[bS,vS,Cf],ub);let rR=Xn({},["mi","mo","mn","ms","mtext"]),aR=Xn({},["annotation-xml"]);const CX=Xn({},["title","style","font","a","script"]);let rm=null;const wL=["application/xhtml+xml","text/html"],de="text/html";let re=null,He=null;const Ie=o.createElement("form"),It=function(ce){return ce instanceof RegExp||ce instanceof Function},Cn=function(){let ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(He&&He===ce)){if((!ce||typeof ce!="object")&&(ce={}),ce=Nu(ce),rm=wL.indexOf(ce.PARSER_MEDIA_TYPE)===-1?de:ce.PARSER_MEDIA_TYPE,re=rm==="application/xhtml+xml"?ub:qd,vt=gi(ce,"ALLOWED_TAGS")?Xn({},ce.ALLOWED_TAGS,re):Tn,Sn=gi(ce,"ALLOWED_ATTR")?Xn({},ce.ALLOWED_ATTR,re):vr,SL=gi(ce,"ALLOWED_NAMESPACES")?Xn({},ce.ALLOWED_NAMESPACES,ub):yX,pS=gi(ce,"ADD_URI_SAFE_ATTR")?Xn(Nu(CL),ce.ADD_URI_SAFE_ATTR,re):CL,ul=gi(ce,"ADD_DATA_URI_TAGS")?Xn(Nu(zg),ce.ADD_DATA_URI_TAGS,re):zg,Zs=gi(ce,"FORBID_CONTENTS")?Xn({},ce.FORBID_CONTENTS,re):ua,$e=gi(ce,"FORBID_TAGS")?Xn({},ce.FORBID_TAGS,re):Nu({}),Xe=gi(ce,"FORBID_ATTR")?Xn({},ce.FORBID_ATTR,re):Nu({}),Vo=gi(ce,"USE_PROFILES")?ce.USE_PROFILES:!1,Vt=ce.ALLOW_ARIA_ATTR!==!1,$n=ce.ALLOW_DATA_ATTR!==!1,cl=ce.ALLOW_UNKNOWN_PROTOCOLS||!1,il=ce.ALLOW_SELF_CLOSE_IN_ATTR!==!1,$c=ce.SAFE_FOR_TEMPLATES||!1,Uu=ce.SAFE_FOR_XML!==!1,Gl=ce.WHOLE_DOCUMENT||!1,Zu=ce.RETURN_DOM||!1,rv=ce.RETURN_DOM_FRAGMENT||!1,av=ce.RETURN_TRUSTED_TYPE||!1,ll=ce.FORCE_BODY||!1,_t=ce.SANITIZE_DOM!==!1,cn=ce.SANITIZE_NAMED_PROPS||!1,Co=ce.KEEP_CONTENT!==!1,Jn=ce.IN_PLACE||!1,Ve=ce.ALLOWED_URI_REGEXP||K8,cv=ce.NAMESPACE||Cf,rR=ce.MATHML_TEXT_INTEGRATION_POINTS||rR,aR=ce.HTML_INTEGRATION_POINTS||aR,ye=ce.CUSTOM_ELEMENT_HANDLING||{},ce.CUSTOM_ELEMENT_HANDLING&&It(ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ye.tagNameCheck=ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck),ce.CUSTOM_ELEMENT_HANDLING&&It(ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ye.attributeNameCheck=ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),ce.CUSTOM_ELEMENT_HANDLING&&typeof ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ye.allowCustomizedBuiltInElements=ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),$c&&($n=!1),rv&&(Zu=!0),Vo&&(vt=Xn({},j8),Sn=K4(null),Vo.html===!0&&(Xn(vt,X_),Xn(Sn,G8)),Vo.svg===!0&&(Xn(vt,X4),Xn(Sn,J_),Xn(Sn,J4)),Vo.svgFilters===!0&&(Xn(vt,Pu),Xn(Sn,J_),Xn(Sn,J4)),Vo.mathMl===!0&&(Xn(vt,hi),Xn(Sn,q8),Xn(Sn,J4))),gi(ce,"ADD_TAGS")||(Zt.tagCheck=null),gi(ce,"ADD_ATTR")||(Zt.attributeCheck=null),ce.ADD_TAGS&&(typeof ce.ADD_TAGS=="function"?Zt.tagCheck=ce.ADD_TAGS:(vt===Tn&&(vt=Nu(vt)),Xn(vt,ce.ADD_TAGS,re))),ce.ADD_ATTR&&(typeof ce.ADD_ATTR=="function"?Zt.attributeCheck=ce.ADD_ATTR:(Sn===vr&&(Sn=Nu(Sn)),Xn(Sn,ce.ADD_ATTR,re))),ce.ADD_URI_SAFE_ATTR&&Xn(pS,ce.ADD_URI_SAFE_ATTR,re),ce.FORBID_CONTENTS&&(Zs===ua&&(Zs=Nu(Zs)),Xn(Zs,ce.FORBID_CONTENTS,re)),ce.ADD_FORBID_CONTENTS&&(Zs===ua&&(Zs=Nu(Zs)),Xn(Zs,ce.ADD_FORBID_CONTENTS,re)),Co&&(vt["#text"]=!0),Gl&&Xn(vt,["html","head","body"]),vt.table&&(Xn(vt,["tbody"]),delete $e.tbody),ce.TRUSTED_TYPES_POLICY){if(typeof ce.TRUSTED_TYPES_POLICY.createHTML!="function")throw Kd('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof ce.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Kd('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');fe=ce.TRUSTED_TYPES_POLICY,we=fe.createHTML("")}else fe===void 0&&(fe=n5(P,c)),fe!==null&&typeof we=="string"&&(we=fe.createHTML(""));Ta&&Ta(ce),He=ce}},ns=Xn({},[...X4,...Pu,...kg]),am=Xn({},[...hi,...vz]),EY=function(ce){let pt=ee(ce);(!pt||!pt.tagName)&&(pt={namespaceURI:cv,tagName:"template"});const Kt=qd(ce.tagName),sr=qd(pt.tagName);return SL[ce.namespaceURI]?ce.namespaceURI===vS?pt.namespaceURI===Cf?Kt==="svg":pt.namespaceURI===bS?Kt==="svg"&&(sr==="annotation-xml"||rR[sr]):!!ns[Kt]:ce.namespaceURI===bS?pt.namespaceURI===Cf?Kt==="math":pt.namespaceURI===vS?Kt==="math"&&aR[sr]:!!am[Kt]:ce.namespaceURI===Cf?pt.namespaceURI===vS&&!aR[sr]||pt.namespaceURI===bS&&!rR[sr]?!1:!am[Kt]&&(CX[Kt]||!ns[Kt]):!!(rm==="application/xhtml+xml"&&SL[ce.namespaceURI]):!1},Vg=function(ce){Tg(t.removed,{element:ce});try{ee(ce).removeChild(ce)}catch{Z(ce)}},yS=function(ce,pt){try{Tg(t.removed,{attribute:pt.getAttributeNode(ce),from:pt})}catch{Tg(t.removed,{attribute:null,from:pt})}if(pt.removeAttribute(ce),ce==="is")if(Zu||rv)try{Vg(pt)}catch{}else try{pt.setAttribute(ce,"")}catch{}},SX=function(ce){let pt=null,Kt=null;if(ll)ce=""+ce;else{const da=db(ce,/^[\r\n\t ]+/);Kt=da&&da[0]}rm==="application/xhtml+xml"&&cv===Cf&&(ce=''+ce+"");const sr=fe?fe.createHTML(ce):ce;if(cv===Cf)try{pt=new R().parseFromString(sr,rm)}catch{}if(!pt||!pt.documentElement){pt=xt.createDocument(cv,"template",null);try{pt.documentElement.innerHTML=CT?we:sr}catch{}}const Ci=pt.body||pt.documentElement;return ce&&Kt&&Ci.insertBefore(o.createTextNode(Kt),Ci.childNodes[0]||null),cv===Cf?ge.call(pt,Gl?"html":"body")[0]:Gl?pt.documentElement:Ci},wX=function(ce){return at.call(ce.ownerDocument||ce,ce,w.SHOW_ELEMENT|w.SHOW_COMMENT|w.SHOW_TEXT|w.SHOW_PROCESSING_INSTRUCTION|w.SHOW_CDATA_SECTION,null)},TY=function(ce){return ce instanceof O&&(typeof ce.nodeName!="string"||typeof ce.textContent!="string"||typeof ce.removeChild!="function"||!(ce.attributes instanceof _)||typeof ce.removeAttribute!="function"||typeof ce.setAttribute!="function"||typeof ce.namespaceURI!="string"||typeof ce.insertBefore!="function"||typeof ce.hasChildNodes!="function")},xX=function(ce){return typeof p=="function"&&ce instanceof p};function n1(rn,ce,pt){Gd(rn,Kt=>{Kt.call(t,ce,pt,He)})}const EX=function(ce){let pt=null;if(n1(Pe.beforeSanitizeElements,ce,null),TY(ce))return Vg(ce),!0;const Kt=re(ce.nodeName);if(n1(Pe.uponSanitizeElement,ce,{tagName:Kt,allowedTags:vt}),Uu&&ce.hasChildNodes()&&!xX(ce.firstElementChild)&&Wa(/<[/\w!]/g,ce.innerHTML)&&Wa(/<[/\w!]/g,ce.textContent)||ce.nodeType===gb.progressingInstruction||Uu&&ce.nodeType===gb.comment&&Wa(/<[/\w]/g,ce.data))return Vg(ce),!0;if(!(Zt.tagCheck instanceof Function&&Zt.tagCheck(Kt))&&(!vt[Kt]||$e[Kt])){if(!$e[Kt]&&kX(Kt)&&(ye.tagNameCheck instanceof RegExp&&Wa(ye.tagNameCheck,Kt)||ye.tagNameCheck instanceof Function&&ye.tagNameCheck(Kt)))return!1;if(Co&&!Zs[Kt]){const sr=ee(ce)||ce.parentNode,Ci=X(ce)||ce.childNodes;if(Ci&&sr){const da=Ci.length;for(let ql=da-1;ql>=0;--ql){const o1=I(Ci[ql],!0);o1.__removalCount=(ce.__removalCount||0)+1,sr.insertBefore(o1,Y(ce))}}}return Vg(ce),!0}return ce instanceof v&&!EY(ce)||(Kt==="noscript"||Kt==="noembed"||Kt==="noframes")&&Wa(/<\/no(script|embed|frames)/i,ce.innerHTML)?(Vg(ce),!0):($c&&ce.nodeType===gb.text&&(pt=ce.textContent,Gd([Ue,it,Jt],sr=>{pt=mb(pt,sr," ")}),ce.textContent!==pt&&(Tg(t.removed,{element:ce.cloneNode()}),ce.textContent=pt)),n1(Pe.afterSanitizeElements,ce,null),!1)},TX=function(ce,pt,Kt){if(Xe[pt]||_t&&(pt==="id"||pt==="name")&&(Kt in o||Kt in Ie))return!1;if(!($n&&!Xe[pt]&&Wa(yn,pt))){if(!(Vt&&Wa(Gn,pt))){if(!(Zt.attributeCheck instanceof Function&&Zt.attributeCheck(pt,ce))){if(!Sn[pt]||Xe[pt]){if(!(kX(ce)&&(ye.tagNameCheck instanceof RegExp&&Wa(ye.tagNameCheck,ce)||ye.tagNameCheck instanceof Function&&ye.tagNameCheck(ce))&&(ye.attributeNameCheck instanceof RegExp&&Wa(ye.attributeNameCheck,pt)||ye.attributeNameCheck instanceof Function&&ye.attributeNameCheck(pt,ce))||pt==="is"&&ye.allowCustomizedBuiltInElements&&(ye.tagNameCheck instanceof RegExp&&Wa(ye.tagNameCheck,Kt)||ye.tagNameCheck instanceof Function&&ye.tagNameCheck(Kt))))return!1}else if(!pS[pt]){if(!Wa(Ve,mb(Kt,Ns,""))){if(!((pt==="src"||pt==="xlink:href"||pt==="href")&&ce!=="script"&&K_(Kt,"data:")===0&&ul[ce])){if(!(cl&&!Wa(co,mb(Kt,Ns,"")))){if(Kt)return!1}}}}}}}return!0},kX=function(ce){return ce!=="annotation-xml"&&db(ce,Pc)},AX=function(ce){n1(Pe.beforeSanitizeAttributes,ce,null);const{attributes:pt}=ce;if(!pt||TY(ce))return;const Kt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Sn,forceKeepAttr:void 0};let sr=pt.length;for(;sr--;){const Ci=pt[sr],{name:da,namespaceURI:ql,value:o1}=Ci,ST=re(da),kY=o1;let Fc=da==="value"?kY:Y_(kY);if(Kt.attrName=ST,Kt.attrValue=Fc,Kt.keepAttr=!0,Kt.forceKeepAttr=void 0,n1(Pe.uponSanitizeAttribute,ce,Kt),Fc=Kt.attrValue,cn&&(ST==="id"||ST==="name")&&(yS(da,ce),Fc=Ss+Fc),Uu&&Wa(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Fc)){yS(da,ce);continue}if(ST==="attributename"&&db(Fc,"href")){yS(da,ce);continue}if(Kt.forceKeepAttr)continue;if(!Kt.keepAttr){yS(da,ce);continue}if(!il&&Wa(/\/>/i,Fc)){yS(da,ce);continue}$c&&Gd([Ue,it,Jt],OX=>{Fc=mb(Fc,OX," ")});const _X=re(ce.nodeName);if(!TX(_X,ST,Fc)){yS(da,ce);continue}if(fe&&typeof P=="object"&&typeof P.getAttributeType=="function"&&!ql)switch(P.getAttributeType(_X,ST)){case"TrustedHTML":{Fc=fe.createHTML(Fc);break}case"TrustedScriptURL":{Fc=fe.createScriptURL(Fc);break}}if(Fc!==kY)try{ql?ce.setAttributeNS(ql,da,Fc):ce.setAttribute(da,Fc),TY(ce)?Vg(ce):sC(t.removed)}catch{yS(da,ce)}}n1(Pe.afterSanitizeAttributes,ce,null)},MX=function rn(ce){let pt=null;const Kt=wX(ce);for(n1(Pe.beforeSanitizeShadowDOM,ce,null);pt=Kt.nextNode();)n1(Pe.uponSanitizeShadowNode,pt,null),EX(pt),AX(pt),pt.content instanceof u&&rn(pt.content);n1(Pe.afterSanitizeShadowDOM,ce,null)};return t.sanitize=function(rn){let ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},pt=null,Kt=null,sr=null,Ci=null;if(CT=!rn,CT&&(rn=""),typeof rn!="string"&&!xX(rn))if(typeof rn.toString=="function"){if(rn=rn.toString(),typeof rn!="string")throw Kd("dirty is not a string, aborting")}else throw Kd("toString is not a function");if(!t.isSupported)return rn;if(la||Cn(ce),t.removed=[],typeof rn=="string"&&(Jn=!1),Jn){if(rn.nodeName){const o1=re(rn.nodeName);if(!vt[o1]||$e[o1])throw Kd("root node is forbidden and cannot be sanitized in-place")}}else if(rn instanceof p)pt=SX(""),Kt=pt.ownerDocument.importNode(rn,!0),Kt.nodeType===gb.element&&Kt.nodeName==="BODY"||Kt.nodeName==="HTML"?pt=Kt:pt.appendChild(Kt);else{if(!Zu&&!$c&&!Gl&&rn.indexOf("<")===-1)return fe&&av?fe.createHTML(rn):rn;if(pt=SX(rn),!pt)return Zu?null:av?we:""}pt&&ll&&Vg(pt.firstChild);const da=wX(Jn?rn:pt);for(;sr=da.nextNode();)EX(sr),AX(sr),sr.content instanceof u&&MX(sr.content);if(Jn)return rn;if(Zu){if(rv)for(Ci=oe.call(pt.ownerDocument);pt.firstChild;)Ci.appendChild(pt.firstChild);else Ci=pt;return(Sn.shadowroot||Sn.shadowrootmode)&&(Ci=_e.call(r,Ci,!0)),Ci}let ql=Gl?pt.outerHTML:pt.innerHTML;return Gl&&vt["!doctype"]&&pt.ownerDocument&&pt.ownerDocument.doctype&&pt.ownerDocument.doctype.name&&Wa(t5,pt.ownerDocument.doctype.name)&&(ql=" +`+ql),$c&&Gd([Ue,it,Jt],o1=>{ql=mb(ql,o1," ")}),fe&&av?fe.createHTML(ql):ql},t.setConfig=function(){let rn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Cn(rn),la=!0},t.clearConfig=function(){He=null,la=!1},t.isValidAttribute=function(rn,ce,pt){He||Cn({});const Kt=re(rn),sr=re(ce);return TX(Kt,sr,pt)},t.addHook=function(rn,ce){typeof ce=="function"&&Tg(Pe[rn],ce)},t.removeHook=function(rn,ce){if(ce!==void 0){const pt=Ep(Pe[rn],ce);return pt===-1?void 0:Tp(Pe[rn],pt,1)[0]}return sC(Pe[rn])},t.removeHooks=function(rn){Pe[rn]=[]},t.removeAllHooks=function(){Pe=o5()},t}var rC=s5();const J8=Oe.each,Tz=Oe.trim,Yd=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],$l={ftp:21,http:80,https:443,mailto:25},Q4=["img","video"],Q8=(e,t)=>pe(e)?!e:pe(t)?!Bt(Q4,t):!0,e3=e=>{try{return decodeURIComponent(e)}catch{return unescape(e)}},r5=(e,t,o)=>{const r=e3(t).replace(/\s/g,"");return e.allow_script_urls?!1:/((java|vb)script|mhtml):/i.test(r)?!0:e.allow_html_data_urls?!1:/^data:image\//i.test(r)?Q8(e.allow_svg_data_urls,o)&&/^data:image\/svg\+xml/i.test(r):/^data:/i.test(r)};class Qi{constructor(t,o={}){Re(this,"source");Re(this,"protocol");Re(this,"authority");Re(this,"userInfo");Re(this,"user");Re(this,"password");Re(this,"host");Re(this,"port");Re(this,"relative");Re(this,"path","");Re(this,"directory","");Re(this,"file");Re(this,"query");Re(this,"anchor");Re(this,"settings");t=Tz(t),this.settings=o;const r=o.base_uri,c=this;if(/^([\w\-]+):([^\/]{2})/i.test(t)||/^\s*#/.test(t)){c.source=t;return}const u=t.indexOf("//")===0;if(t.indexOf("/")===0&&!u&&(t=(r&&r.protocol||"http")+"://mce_host"+t),!/^[\w\-]*:?\/\//.test(t)){const p=r?r.path:new Qi(document.location.href).directory;if((r==null?void 0:r.protocol)==="")t="//mce_host"+c.toAbsPath(p,t);else{const v=/([^#?]*)([#?]?.*)/.exec(t);v&&(t=(r&&r.protocol||"http")+"://mce_host"+c.toAbsPath(p,v[1])+v[2])}}t=t.replace(/@@/g,"(mce_at)");const f=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?(\[[a-zA-Z0-9:.%]+\]|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(t);f&&J8(Yd,(p,v)=>{let w=f[v];w&&(w=w.replace(/\(mce_at\)/g,"@@")),c[p]=w}),r&&(c.protocol||(c.protocol=r.protocol),c.userInfo||(c.userInfo=r.userInfo),!c.port&&c.host==="mce_host"&&(c.port=r.port),(!c.host||c.host==="mce_host")&&(c.host=r.host),c.source=""),u&&(c.protocol="")}static parseDataUri(t){let o;const r=decodeURIComponent(t).split(","),c=/data:([^;]+)/.exec(r[0]);return c&&(o=c[1]),{type:o,data:r[1]}}static isDomSafe(t,o,r={}){if(r.allow_script_urls)return!0;{const c=gc.decode(t).replace(/[\s\u0000-\u001F]+/g,"");return!r5(r,c,o)}}static getDocumentBaseUrl(t){let o;return t.protocol.indexOf("http")!==0&&t.protocol!=="file:"?o=t.href??"":o=t.protocol+"//"+t.host+t.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(o)&&(o=o.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(o)||(o+="/")),o}setPath(t){const o=/^(.*?)\/?(\w+)?$/.exec(t);o&&(this.path=o[0],this.directory=o[1],this.file=o[2]),this.source="",this.getURI()}toRelative(t){if(t==="./")return t;const o=new Qi(t,{base_uri:this});if(o.host!=="mce_host"&&this.host!==o.host&&o.host||this.port!==o.port||this.protocol!==o.protocol&&o.protocol!=="")return o.getURI();const r=this.getURI(),c=o.getURI();if(r===c||r.charAt(r.length-1)==="/"&&r.substr(0,r.length-1)===c)return r;let u=this.toRelPath(this.path,o.path);return o.query&&(u+="?"+o.query),o.anchor&&(u+="#"+o.anchor),u}toAbsolute(t,o){const r=new Qi(t,{base_uri:this});return r.getURI(o&&this.isSameOrigin(r))}isSameOrigin(t){if(this.host==t.host&&this.protocol==t.protocol){if(this.port==t.port)return!0;const o=this.protocol?$l[this.protocol]:null;if(o&&(this.port||o)==(t.port||o))return!0}return!1}toRelPath(t,o){let r=0,c="",u,f;const p=t.substring(0,t.lastIndexOf("/")).split("/"),v=o.split("/");if(p.length>=v.length){for(u=0,f=p.length;u=v.length||p[u]!==v[u]){r=u+1;break}}if(p.length=p.length||p[u]!==v[u]){r=u+1;break}}if(r===1)return o;for(u=0,f=p.length-(r-1);u{O&&p.push(O)});const v=[];for(let O=f.length-1;O>=0;O--)if(!(f[O].length===0||f[O]===".")){if(f[O]===".."){r++;continue}if(r>0){r--;continue}v.push(f[O])}const w=p.length-r;let _;return w<=0?_=Fo(v).join("/"):_=p.slice(0,w).join("/")+"/"+Fo(v).join("/"),_.indexOf("/")!==0&&(_="/"+_),c&&_.lastIndexOf("/")!==_.length-1&&(_+=c),_}getURI(t=!1){let o;return(!this.source||t)&&(o="",t||(this.protocol?o+=this.protocol+"://":o+="//",this.userInfo&&(o+=this.userInfo+"@"),this.host&&(o+=this.host),this.port&&(o+=":"+this.port)),this.path&&(o+=this.path),this.query&&(o+="?"+this.query),this.anchor&&(o+="#"+this.anchor),this.source=o),this.source}}const e7=Oe.makeMap("src,href,data,background,action,formaction,poster,xlink:href"),t3="data-mce-type";let a5=0;const c5=(e,t,o,r,c)=>{const u=t.validate,f=o.getSpecialElements();e.nodeType===ea&&(!t.allow_conditional_comments&&/^\[if/i.test(e.nodeValue??"")&&(e.nodeValue=" "+e.nodeValue),t.sanitize&&t.allow_html_in_comments&&q(e.nodeValue)&&(e.nodeValue=nz(e.nodeValue)));const p=(c==null?void 0:c.tagName)??e.nodeName.toLowerCase();if(r!=="html"&&o.isValid(r)){pe(c)&&(c.allowedTags[p]=!0);return}if(e.nodeType!==oh||p==="body")return;const v=U.fromDom(e);if(t.sanitize){const R=vc(v)&&o.isValid("script")||Mh(v)&&o.isValid("style");R&&B.from(ad(v)).each(z=>So(v,"data-mce-tmp",z));const P=E2(v)&&o.isValid("iframe");(R||P)&&ac(v)}const w=vo(v,t3),_=lo(v,"data-mce-bogus");if(!w&&q(_)){_==="all"?no(v):cc(v);return}const O=o.getElementRule(p);if(u&&!O){Ut(f,p)?no(v):cc(v);return}else pe(c)&&(c.allowedTags[p]=!0);if(u&&O&&!w){if(ie(O.attributesForced??[],R=>{So(v,R.name,R.value==="{$uid}"?`mce_${a5++}`:R.value)}),ie(O.attributesDefault??[],R=>{vo(v,R.name)||So(v,R.name,R.value==="{$uid}"?`mce_${a5++}`:R.value)}),O.attributesRequired&&!qn(O.attributesRequired,R=>vo(v,R))){cc(v);return}if(O.removeEmptyAttrs&&Af(v)){cc(v);return}O.outputName&&O.outputName!==p&&rh(v,O.outputName)}},n3=(e,t,o,r,c)=>{const u=e.tagName.toLowerCase(),{attrName:f,attrValue:p}=c;c.keepAttr=o3(t,o,r,u,f,p),c.keepAttr?(c.allowedAttributes[f]=!0,n7(f,o,e.nodeName)&&(c.attrValue=f),t.allow_svg_data_urls&&Ht(p,"data:image/svg+xml")&&(c.forceKeepAttr=!0)):t7(e,f)&&(c.forceKeepAttr=!0)},o3=(e,t,o,r,c,u)=>o!=="html"&&!md(r)?!0:!(c in e7&&r5(e,u,r))&&(!e.validate||t.isValid(r,c)||Ht(c,"data-")||Ht(c,"aria-")),t7=(e,t)=>e.hasAttribute(t3)&&(t==="id"||t==="class"||t==="style"),n7=(e,t,o)=>e in t.getBoolAttrs()&&!Ut(t.getCustomElements(),o.toLowerCase()),kz=(e,t,o,r)=>{const{attributes:c}=e;for(let u=c.length-1;u>=0;u--){const f=c[u],p=f.name,v=f.value;!o3(t,o,r,e.tagName.toLowerCase(),p,v)&&!t7(e,p)?e.removeAttribute(p):n7(p,o,e.nodeName)&&e.setAttribute(p,p)}},Az=e=>{const t=U.fromDom(e);(vc(t)||Mh(t))&&rc(t,"data-mce-tmp").each(o=>{ZT(t,o),Go(t,"data-mce-tmp")})},o7=(e,t,o)=>{const r=rC();return r.addHook("uponSanitizeElement",(c,u)=>{c5(c,e,t,o.track(c),u)}),r.addHook("afterSanitizeElements",c=>{Az(c)}),r.addHook("uponSanitizeAttribute",(c,u)=>{n3(c,e,t,o.current(),u)}),r},_z=(e,t)=>{const r={...{IN_PLACE:!0,ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_TAGS:["#comment","#cdata-section","body","html"],ALLOWED_ATTR:[]}};return r.PARSER_MEDIA_TYPE=t,e.allow_script_urls?r.ALLOWED_URI_REGEXP=/.*/:e.allow_html_data_urls&&(r.ALLOWED_URI_REGEXP=/^(?!(\w+script|mhtml):)/i),r},Oz=e=>{const t=["type","href","role","arcrole","title","show","actuate","label","from","to"].map(r=>`xlink:${r}`),o={IN_PLACE:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},ALLOWED_ATTR:t};rC().sanitize(e,o)},i5=(e,t)=>{const o={IN_PLACE:!0,USE_PROFILES:{mathMl:!0}},r=rC(),c=t.allow_mathml_annotation_encodings,u=gn(c)&&c.length>0,f=v=>{const w=v.getAttribute("encoding");return u&&q(w)&&Bt(c,w)},p=(v,w)=>u&&w==="semantics"?B.some(!0):w==="annotation"?B.some(ot(v)&&f(v)):gn(t.extended_mathml_elements)&&t.extended_mathml_elements.includes(w)?B.from(!0):B.none();r.addHook("uponSanitizeElement",(v,w)=>{const _=w.tagName??v.nodeName.toLowerCase();p(v,_).each(R=>{w.allowedTags[_]=R,!R&&t.sanitize&&ot(v)&&v.remove()})}),r.addHook("uponSanitizeAttribute",(v,w)=>{gn(t.extended_mathml_attributes)&&t.extended_mathml_attributes.includes(w.attrName)&&(w.forceKeepAttr=!0)}),r.sanitize(e,o)},Dz=e=>t=>{const o=a2(t);if(o==="svg")Oz(t);else if(o==="math")i5(t,e);else throw new Error("Not a namespace element")},Rz=(e,t)=>{const o=pw();if(e.sanitize){const r=o7(e,t,o);return{sanitizeHtmlElement:(u,f)=>{r.sanitize(u,_z(e,f)),r.removed=[],o.reset()},sanitizeNamespaceElement:Dz(e)}}else return{sanitizeHtmlElement:(u,f)=>{const p=document.createNodeIterator(u,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_TEXT);let v;for(;v=p.nextNode();){const w=o.track(v);c5(v,e,t,w),ot(v)&&kz(v,e,t,w)}o.reset()},sanitizeNamespaceElement:Tt}},s7=["script","style","template","param","meta","title","link"],r7=Oe.makeMap,a7=Oe.extend,c7=(e,t,o,r,c)=>{const u=e.name,f=u in o&&u!=="title"&&u!=="textarea"&&u!=="noscript",p=t.childNodes;for(let v=0,w=p.length;v{const r=[];for(let c=e,u=c;c;u=c,c=c.walk()){const f=c;ie(t,p=>p(f)),on(f.parent)&&f!==e?c=u:r.push(f)}for(let c=r.length-1;c>=0;c--){const u=r[c];ie(o,f=>f(u))}},s3=(e,t,o,r)=>{const c=o.validate,u=t.getNonEmptyElements(),f=t.getWhitespaceElements(),p=a7(r7(s7),t.getBlockElements()),v=Ha(t),w=/[ \t\r\n]+/g,_=/^[ \t\r\n]+/,O=/[ \t\r\n]+$/,R=X=>{let ee=X.parent;for(;pe(ee);){if(ee.name in f)return!0;ee=ee.parent}return!1},P=X=>{let ee=X;for(;pe(ee);){if(ee.name in v)return xp(t,u,f,ee);ee=ee.parent}return!1},z=X=>X.name in p||Li(t,X)||md(X.name)&&X.parent===e,I=(X,ee)=>{const fe=ee?X.prev:X.next;return pe(fe)||on(X.parent)?!1:z(X.parent)&&(X.parent!==e||r.isRootContent===!0)};return[X=>{if(X.type===3&&!R(X)){let ee=X.value??"";ee=ee.replace(w," "),(B8(X.prev,z)||I(X,!0))&&(ee=ee.replace(_,"")),ee.length===0||ee===" "&&X.prev&&X.prev.type===ea&&X.next&&X.next.type===ea?X.remove():X.value=ee}},X=>{if(X.type===1){const ee=t.getElementRule(X.name);if(c&&ee){const fe=xp(t,u,f,X);ee.paddInEmptyBlock&&fe&&P(X)?H_(o,r,z,X):ee.removeEmpty&&fe?z(X)?X.remove():X.unwrap():ee.paddEmpty&&(fe||W4(X))&&H_(o,r,z,X)}}else if(X.type===3&&!R(X)){let ee=X.value??"";(X.next&&z(X.next)||I(X,!1))&&(ee=ee.replace(O,"")),ee.length===0?X.remove():X.value=ee}}]},l5=(e,t)=>{const o=t.forced_root_block??e.forced_root_block;return o===!1?"":o===!0?"p":o},i7=' xmlns="http://www.w3.org/1999/xhtml"',hb=(e={},t=bc())=>{const o=P8(),r=P8(),c={validate:!0,root_name:"body",sanitize:!0,allow_html_in_comments:!1,...e},u=new DOMParser,f=Rz(c,t),p=(ee,fe,we="html",xt=!1)=>{const at=we==="xhtml",oe=at?"application/xhtml+xml":"text/html",ge=Ut(t.getSpecialElements(),fe.toLowerCase()),_e=ge?`<${fe}>${ee}`:ee,Pe=()=>/^[\s]*${_e}`:at?`${_e}`:`${_e}`,Ue=u.parseFromString(Pe(),oe),it=xt?Ue.documentElement:Ue.body;return f.sanitizeHtmlElement(it,oe),ge?it.firstChild:it},v=o.addFilter,w=o.getFilters,_=o.removeFilter,O=r.addFilter,R=r.getFilters,P=r.removeFilter,z=(ee,fe)=>{V_(t,ee)&&fe.push(ee)},I=(ee,fe)=>{const we=q(fe.attr(t3)),xt=fe.type===1&&!Ut(ee,fe.name)&&!Li(t,fe)&&!md(fe.name);return fe.type===3||xt&&!we},Z=(ee,fe)=>{const we=a7(r7(s7),t.getBlockElements()),xt=/^[ \t\r\n]+/,at=/[ \t\r\n]+$/;let oe=ee.firstChild,ge=null;const _e=Pe=>{var Ue,it;Pe&&(oe=Pe.firstChild,oe&&oe.type===3&&(oe.value=(Ue=oe.value)==null?void 0:Ue.replace(xt,"")),oe=Pe.lastChild,oe&&oe.type===3&&(oe.value=(it=oe.value)==null?void 0:it.replace(at,"")))};if(t.isValidChild(ee.name,fe.toLowerCase())){for(;oe;){const Pe=oe.next;I(we,oe)?(ge||(ge=new or(fe,1),ge.attr(c.forced_root_block_attrs),ee.insert(ge,oe)),ge.append(oe)):(_e(ge),ge=null),oe=Pe}_e(ge)}},X={schema:t,addAttributeFilter:O,getAttributeFilters:R,removeAttributeFilter:P,addNodeFilter:v,getNodeFilters:w,removeNodeFilter:_,parse:(ee,fe={})=>{const we=c.validate,xt=(fe.context??c.root_name)==="#document",at=fe.context??(xt?"html":c.root_name),oe=p(ee,at,fe.format,xt);Nf(t,oe);const ge=new or(at,11);c7(ge,oe,t.getSpecialElements(),f.sanitizeNamespaceElement,c.sanitize&&c.allow_html_in_comments),oe.innerHTML="";const[_e,Pe]=s3(ge,t,c,fe),Ue=[],it=we?co=>z(co,Ue):Tt,Jt={nodes:{},attributes:{}},yn=co=>D8(w(),R(),co,Jt);Mz(ge,[_e,yn],[Pe,it]),Ue.reverse(),we&&Ue.length>0&&(fe.context?fe.invalid=!0:N8(Ue,t,ge,yn));const Gn=l5(c,fe);return Gn&&(ge.name==="body"||fe.isRootContent)&&Z(ge,Gn),fe.invalid||Nl(Jt,fe),ge}};return q4(X,c),Ao(X,c,t),X},r3=e=>e instanceof or,Bz=e=>r3(e)?Cg({validate:!1}).serialize(e):e,u5=(e,t,o)=>{const r=Bz(e),c=t(r);if(c.isDefaultPrevented())return c;if(r3(e))if(c.content!==r){const u=hb({validate:!1,forced_root_block:!1,...o}).parse(c.content,{context:e.name});return{...c,content:u}}else return{...c,content:e};else return c},l7=e=>({sanitize:Lx(e),sandbox_iframes:z0(e),sandbox_iframes_exclusions:Id(e)}),u7=(e,t)=>{if(t.no_events)return Xr.value(t);{const o=Al(e,t);return o.isDefaultPrevented()?Xr.error(sy(e,{content:"",...o}).content):Xr.value(o)}},a3=(e,t,o)=>o.no_events?t:u5(t,c=>sy(e,{...o,content:c}),l7(e)).content,d5=(e,t)=>{if(t.no_events)return Xr.value(t);{const o=u5(t.content,r=>Kh(e,{...t,content:r}),l7(e));return o.isDefaultPrevented()?(dx(e,o),Xr.error(void 0)):Xr.value(o)}},m5=(e,t,o)=>{o.no_events||dx(e,{...o,content:t})},Nz="autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists,template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format".split(","),Pz=["content_css_cors"],$z="bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,template,textcolor,rtc".split(","),d7=[{name:"export",replacedWith:"Export to PDF"}],m7=(e,t)=>{const o=ft(t,r=>Ut(e,r));return qu(o)},c3=e=>{const t=m7(e,Nz),o=e.forced_root_block;return(o===!1||o==="")&&t.push("forced_root_block (false only)"),qu(t)},i3=e=>m7(e,Pz),f7=(e,t)=>{const o=Oe.makeMap(e.plugins," "),c=ft(t,u=>Ut(o,u));return qu(c)},Fz=e=>f7(e,$z),l3=e=>f7(e,d7.map(t=>t.name)),Iz=(e,t)=>{const o=c3(e),r=Fz(t),c=r.length>0,u=o.length>0,f=t.theme==="mobile";if(c||u||f){const p=` +- `,v=f?` + +Themes:${p}mobile`:"",w=c?` + +Plugins:${p}${r.join(p)}`:"",_=u?` + +Options:${p}${o.join(p)}`:"";console.warn("The following deprecated features are currently enabled and have been removed in TinyMCE 8.0. These features will no longer work and should be removed from the TinyMCE configuration. See https://www.tiny.cloud/docs/tinymce/8/migration-from-7x/ for more information."+v+w+_)}},Lz=e=>Qn(d7,t=>t.name===e).fold(()=>e,t=>t.replacedWith?`${e}, replaced by ${t.replacedWith}`:e),Hz=(e,t)=>{const o=i3(e),r=l3(t),c=r.length>0,u=o.length>0;if(c||u){const f=` +- `,p=c?` + +Plugins:${f}${r.map(Lz).join(f)}`:"",v=u?` + +Options:${f}${o.join(f)}`:"";console.warn("The following deprecated features are currently enabled but will be removed soon."+p+v)}},zz=(e,t)=>{Iz(e,t),Hz(e,t)},Vz={fire:'The "fire" event api has been deprecated and will be removed in TinyMCE 9. Use "dispatch" instead.',selectionSetContent:'The "editor.selection.setContent" method has been deprecated and will be removed in TinyMCE 9. Use "editor.insertContent" instead.'},g7=e=>{console.warn(Vz[e],new Error().stack)},h7=e=>e.dom.length===0?(no(e),B.none()):B.some(e),Uz=(e,t)=>e.filter(o=>wa.isBookmarkNode(o.dom)).bind(t?Ri:oc),Zz=(e,t,o,r,c)=>{const u=e.dom,f=t.dom,p=r?u.length:f.length;r?(R4(u,f,c,!1,!r),o.setStart(f,p)):(R4(f,u,c,!1,!r),o.setEnd(f,p))},Wz=(e,t,o)=>{Ra(e).each(r=>{const c=e.dom;t&&Wy(r,he(c,0),o)?Gy(c,0,o):!t&&jy(r,he(c,c.length),o)&&g_(c,c.length,o)})},p7=(e,t,o,r,c)=>{e.bind(u=>((r?g_:Gy)(u.dom,r?u.dom.length:0,c),t.filter(An).map(p=>Zz(u,p,o,r,c)))).orThunk(()=>Uz(t,r).or(t).filter(An).map(f=>Wz(f,r,c)))},JY=(e,t,o)=>{const r=B.from(t.firstChild).map(U.fromDom),c=B.from(t.lastChild).map(U.fromDom);e.deleteContents(),e.insertNode(t);const u=r.bind(oc).filter(An).bind(h7),f=c.bind(Ri).filter(An).bind(h7);p7(u,r,e,!0,o),p7(f,c,e,!1,o),e.collapse(!1)},Fl=(e,t)=>({format:"html",...e,set:!0,selection:!0,content:t}),b7=(e,t)=>{if(t.format!=="raw"){const o=e.selection.getRng(),r=e.dom.getParent(o.commonAncestorContainer,e.dom.isBlock),c=r?{context:r.nodeName.toLowerCase()}:{},u=e.parser.parse(t.content,{forced_root_block:!1,...c,...t});return Cg({validate:!1},e.schema).serialize(u)}else return t.content},u3=(e,t,o={})=>{const r=Fl(o,t);d5(e,r).each(c=>{const u=b7(e,c),f=e.selection.getRng();JY(f,f.createContextualFragment(u),e.schema),e.selection.setRng(f),zy(e,f),m5(e,u,c)})},v7=(e,t,o={})=>{g7("selectionSetContent"),u3(e,t,o)},jz=e=>pe(e.firstChild)&&e.firstChild===e.lastChild,Gz=e=>e.name==="br"||e.value===Es,QY=(e,t)=>e.getBlockElements()[t.name]&&jz(t)&&Gz(t.firstChild),jr=(e,t)=>{const o=e.getNonEmptyElements();return pe(t)&&(t.isEmpty(o)||QY(e,t))},qz=(e,t)=>{let o=t.firstChild,r=t.lastChild;return o&&o.name==="meta"&&(o=o.next),r&&r.attr("id")==="mce_marker"&&(r=r.prev),jr(e,r)&&(r=r==null?void 0:r.prev),!o||o!==r?!1:o.name==="ul"||o.name==="ol"},f5=e=>{var r,c;const t=e.firstChild,o=e.lastChild;return t&&t.nodeName==="META"&&((r=t.parentNode)==null||r.removeChild(t)),o&&o.id==="mce_marker"&&((c=o.parentNode)==null||c.removeChild(o)),e},y7=(e,t,o)=>{const r=t.serialize(o),c=e.createFragment(r);return f5(c)},d3=e=>ft((e==null?void 0:e.childNodes)??[],t=>t.nodeName==="LI"),Kz=e=>e.data===Es||uo(e),Yz=e=>pe(e==null?void 0:e.firstChild)&&e.firstChild===e.lastChild&&Kz(e.firstChild),Xz=e=>!e.firstChild||Yz(e),Jz=e=>e.length>0&&Xz(e[e.length-1])?e.slice(0,-1):e,g5=(e,t)=>{const o=e.getParent(t,e.isBlock);return o&&o.nodeName==="LI"?o:null},C7=(e,t)=>!!g5(e,t),Qz=(e,t)=>{const o=t.cloneRange(),r=t.cloneRange();return o.setStartBefore(e),r.setEndAfter(e),[o.cloneContents(),r.cloneContents()]},S7=(e,t)=>{const o=he.before(e),c=_n(t).next(o);return c?c.toRange():null},h5=(e,t)=>{const o=he.after(e),c=_n(t).prev(o);return c?c.toRange():null},eV=(e,t,o,r)=>{const c=Qz(e,r),u=e.parentNode;return u&&(u.insertBefore(c[0],e),Oe.each(t,f=>{u.insertBefore(f,e)}),u.insertBefore(c[1],e),u.removeChild(e)),h5(t[t.length-1],o)},tV=(e,t,o)=>{const r=e.parentNode;return r&&Oe.each(t,c=>{r.insertBefore(c,e)}),S7(e,o)},nV=(e,t,o,r)=>(r.insertAfter(t.reverse(),e),h5(t[0],o)),oV=(e,t,o,r)=>{const c=y7(t,e,r),u=g5(t,o.startContainer),f=Jz(d3(c.firstChild)),p=1,v=2,w=t.getRoot(),_=O=>{const R=he.fromRangeStart(o),P=_n(t.getRoot()),z=O===p?P.prev(R):P.next(R),I=z==null?void 0:z.getNode();return I?g5(t,I)!==u:!0};return u?_(p)?tV(u,f,w):_(v)?nV(u,f,w,t):eV(u,f,w,o):null},sV=["pre"],m3=(e,t,o,r)=>{var w;const c=t.firstChild,u=t.lastChild,f=u.attr("data-mce-type")==="bookmark"?u.prev:u,p=c===f,v=Bt(sV,c.name);if(p&&v){const _=c.attr("contenteditable")!=="false",O=((w=e.getParent(o,e.isBlock))==null?void 0:w.nodeName.toLowerCase())===c.name,R=B.from(Sp(r,o)).forall(ir);return _&&O&&R}else return!1},f3=bh,w7=(e,t,o)=>{if(pe(o)){const r=e.getParent(t.endContainer,f3);return o===r&&kA(U.fromDom(o),t)}else return!1},rV=(e,t)=>{if(e.isBlock(t)&&e.isEditable(t)){const o=t.childNodes;return o.length===1&&uo(o[0])||o.length===0}else return!1},x7=(e,t,o)=>{var r;o.getAttribute("data-mce-bogus")==="all"?(r=o.parentNode)==null||r.insertBefore(e.dom.createFragment(t),o):rV(e.dom,o)?e.dom.setHTML(o,t):u3(e,t,{no_events:!0})},aV=(e,t,o)=>{B.from(e.getParent(t,"td,th")).map(U.fromDom).each(r=>Zn(r,o))},cV=(e,t)=>{const o=e.schema.getTextInlineElements(),r=e.dom;if(t){const c=e.getBody(),u=E_(e),f="*[data-mce-fragment]",p=r.select(f);Oe.each(p,v=>{const w=R=>pe(o[R.nodeName.toLowerCase()]),_=R=>R.childNodes.length===1;if((R=>!(vM(r,R)||OH(r,R)))(v)&&w(v)&&_(v)){const R=bp(r,v),P=(Y,X)=>Xl(Y,ee=>Bt(X,ee)),z=Y=>_(v)&&r.is(Y,f)&&w(Y)&&(Y.nodeName===v.nodeName&&P(R,bp(r,Y))||z(Y.children[0])),I=Y=>pe(Y)&&Y!==c&&(u.compare(v,Y)||I(Y.parentElement)),Z=Y=>pe(Y)&&Y!==c&&r.is(Y,f)&&(yM(r,v,Y)||Z(Y.parentElement));(z(v.children[0])||I(v.parentElement)&&!Z(v.parentElement))&&r.remove(v,!0)}}),X9(e,wm(p))}},iV=e=>{let t=e;for(;t=t.walk();)t.type===1&&t.attr("data-mce-fragment","1")},p5=e=>{Oe.each(e.getElementsByTagName("*"),t=>{t.removeAttribute("data-mce-fragment")})},b5=e=>!!e.getAttribute("data-mce-fragment"),lV=(e,t)=>pe(t)&&!e.schema.getVoidElements()[t.nodeName],v5=(e,t)=>{var _,O;let o;const r=e.dom,c=e.selection;if(!t)return;c.scrollIntoView(t);const u=Sp(e.getBody(),t);if(u&&r.getContentEditable(u)==="false"){r.remove(t),c.select(u);return}let f=r.createRng();const p=t.previousSibling;if(Se(p)){f.setStart(p,((_=p.nodeValue)==null?void 0:_.length)??0);const R=t.nextSibling;Se(R)&&(p.appendData(R.data),(O=R.parentNode)==null||O.removeChild(R))}else f.setStartBefore(t),f.setEndBefore(t);const v=R=>{let P=he.fromRangeStart(R);return P=_n(e.getBody()).next(P),P==null?void 0:P.toRange()},w=r.getParent(t,r.isBlock);if(r.remove(t),w&&r.isEmpty(w)){const R=f3(w);ac(U.fromDom(w)),f.setStart(w,0),f.setEnd(w,0),!R&&!b5(w)&&(o=v(f))?(f=o,r.remove(w)):r.add(w,r.create("br",R?{}:{"data-mce-bogus":"1"}))}c.setRng(f)},uV=e=>{const t=e.dom,o=j4(e.selection.getRng());e.selection.setRng(o);const r=t.getParent(o.startContainer,f3);w7(t,o,r)?qM(e,o,U.fromDom(r)):DA(o)||xL(o)?o.deleteContents():e.getDoc().execCommand("Delete",!1)},dV=e=>{for(let t=e;t;t=t.walk())if(t.attr("id")==="mce_marker")return B.some(t);return B.none()},mV=(e,t,o)=>{var r;return qn(o.children(),wp)&&((r=e.getParent(t,e.isBlock))==null?void 0:r.nodeName)==="SUMMARY"},fV=(e,t,o)=>{var Z;const r=e.selection,c=e.dom,u=e.parser,f=o.merge,p=Cg({validate:!0},e.schema),v='';o.preserve_zwsp||(t=Ur(t)),t.indexOf("{$caret}")===-1&&(t+="{$caret}"),t=t.replace(/\{\$caret\}/,v);let w=r.getRng();const _=w.startContainer,O=e.getBody();_===O&&r.isCollapsed()&&c.isBlock(O.firstChild)&&lV(e,O.firstChild)&&c.isEmpty(O.firstChild)&&(w=c.createRng(),w.setStart(O.firstChild,0),w.setEnd(O.firstChild,0),r.setRng(w)),r.isCollapsed()||uV(e);const R=r.getNode(),P={context:R.nodeName.toLowerCase(),data:o.data,insert:!0},z=u.parse(t,P);if(o.paste===!0&&qz(e.schema,z)&&C7(c,R))return w=oV(p,c,r.getRng(),z),w&&r.setRng(w),t;o.paste===!0&&m3(c,z,R,e.getBody())&&((Z=z.firstChild)==null||Z.unwrap()),iV(z);let I=z.lastChild;if(I&&I.attr("id")==="mce_marker"){const Y=I;for(I=I.prev;I&&I.name!=="table";I=I.walk(!0))if(I.type===3||!c.isBlock(I.name)){I.parent&&e.schema.isValidChild(I.parent.name,"span")&&I.parent.insert(Y,I,I.name==="br");break}}if(e._selectionOverrides.showBlockCaretContainer(R),!P.invalid&&!mV(c,R,z))t=p.serialize(z),x7(e,t,R);else{u3(e,v);let Y=r.getNode(),X;const ee=e.getBody();for(Mf(Y)?Y=X=ee:X=Y;X&&X!==ee;)Y=X,X=X.parentNode;t=Y===ee?ee.innerHTML:c.getOuterHTML(Y);const fe=u.parse(t),we=dV(fe),xt=we.bind(Q9).getOr(fe);we.each(ge=>ge.replace(z));const at=YY(z);z.unwrap();const oe=ft(at,ge=>V_(e.schema,ge));N8(oe,e.schema,xt),R8(u.getNodeFilters(),u.getAttributeFilters(),fe),t=p.serialize(fe),Y===ee?c.setHTML(ee,t):c.setOuterHTML(Y,t)}return cV(e,f),v5(e,c.get("mce_marker")),p5(e.getBody()),aV(c,r.getStart(),e.schema),Fa(e.schema,e.getBody(),r.getStart()),t},gV=e=>{ob(e)&&$(e.getBody()).each(t=>{const o=t.getNode(),r=Xs(o)?$(o).getOr(t):t;e.selection.setRng(r.toRange())})},y5=(e,t,o)=>{e.dom.setHTML(e.getBody(),t),o!==!0&&gV(e)},E7=(e,t,o,r)=>{if(o=Ur(o),o.length===0||/^\s+$/.test(o)){const c='
';t.nodeName==="TABLE"?o=""+c+"":/^(UL|OL)$/.test(t.nodeName)&&(o="
  • "+c+"
  • ");const u=zs(e);return e.schema.isValidChild(t.nodeName.toLowerCase(),u.toLowerCase())?(o=c,o=e.dom.createHTML(u,_l(e),o)):o||(o=c),y5(e,o,r.no_selection),{content:o,html:o}}else{r.format!=="raw"&&(o=Cg({validate:!1},e.schema).serialize(e.parser.parse(o,{isRootContent:!0,insert:!0})));const c=jf(U.fromDom(t))?o:Oe.trim(o);return y5(e,c,r.no_selection),{content:c,html:c}}},hV=(e,t,o,r)=>{R8(e.parser.getNodeFilters(),e.parser.getAttributeFilters(),o);const c=Cg({validate:!1},e.schema).serialize(o),u=Ur(jf(U.fromDom(t))?c:Oe.trim(c));return y5(e,u,r.no_selection),{content:o,html:u}},pV=(e,t,o)=>B.from(e.getBody()).map(r=>r3(t)?hV(e,r,t,o):E7(e,r,t,o)).getOr({content:t,html:r3(o.content)?"":o.content}),aC={},T7=Fi(["pre"]),bV=(e,t)=>{aC[e]||(aC[e]=[]),aC[e].push(t)},vV=(e,t)=>{Ut(aC,e)&&ie(aC[e],o=>{o(t)})};bV("pre",e=>{const t=e.selection.getRng(),o=c=>u=>{const f=u.previousSibling;return T7(f)&&Bt(c,f)},r=(c,u)=>{const f=U.fromDom(u),p=Di(f).dom;no(f),sc(U.fromDom(c),[U.fromTag("br",p),U.fromTag("br",p),...Do(f)])};if(!t.collapsed){const c=e.selection.getSelectedBlocks(),u=ft(ft(c,T7),o(c));ie(u,f=>{r(f.previousSibling,f)})}});const k7=Oe.each,pb=(e,t,o,r)=>{const c=u=>{if(Is(u)&&ot(u.parentNode)&&e.isEditable(u)){const f=ER(e,u.parentNode);e.getStyle(u,"color")&&f?e.setStyle(u,"text-decoration",f):e.getStyle(u,"text-decoration")===f&&e.setStyle(u,"text-decoration",null)}};t.styles&&(t.styles.color||t.styles.textDecoration)&&(Oe.walk(r,c,"childNodes"),c(r))},g3=(e,t,o,r)=>{if(t.styles&&t.styles.backgroundColor){const c=b8(e,"fontSize");L4(r,u=>c(u)&&e.isEditable(u),N_(e,"backgroundColor",Ou(t.styles.backgroundColor,o)))}},A7=(e,t,o,r)=>{if(nr(t)&&(t.inline==="sub"||t.inline==="sup")){const c=b8(e,"fontSize");L4(r,f=>c(f)&&e.isEditable(f),N_(e,"fontSize",""));const u=ft(e.select(t.inline==="sup"?"sub":"sup",r),e.isEditable);e.remove(u,!0)}},_7=(e,t,o,r)=>{k7(t,c=>{nr(c)&&k7(e.dom.select(c.inline,r),u=>{I4(u)&&ib(e,c,o,u,c.exact?u:null)}),L9(e.dom,c,r)})},yV=(e,t,o,r,c)=>{const u=c.parentNode;Ji(e,u,o,r)&&ib(e,t,r,c)||t.merge_with_parents&&u&&e.dom.getParent(u,f=>Ji(e,f,o,r)?(ib(e,t,r,c),!0):!1)},CV=Oe.each,C5=(e,t,o,r)=>{if(fy(e)&&nr(t)&&o.parentNode){const c=Ha(e.schema),u=M1(U.fromDom(o),f=>ne(f.dom));return Io(c,r)&&fc(e.schema,o.parentNode,{skipBogus:!1,includeZwsp:!0})&&!u}else return!1},SV=(e,t,o,r)=>{const c=e.formatter.get(t),u=c[0],f=!r&&e.selection.isCollapsed(),p=e.dom,v=e.selection,w=(P,z)=>{let I=!1;return CV(P,Z=>Rl(Z)?p.getContentEditable(z)==="false"&&!Z.ceFalseOverride||pe(Z.collapsed)&&Z.collapsed!==f?!0:p.is(z,Z.selector)&&!ne(z)?(ab(e,z,Z,o,z),I=!0,!1):!0:!1),I},_=P=>{if(q(P)){const z=p.create(P);return ab(e,z,u,o,r),z}else return null},O=(P,z,I)=>{const Z=[];let Y=!0;const X=u.inline||u.block,ee=_(X),fe=at=>OL(u)&&Ji(e,at,t,o),we=(at,oe,ge)=>{const _e=DL(u)&&$y(e.schema,at)&&dp(e,oe,X);return ge&&_e},xt=(at,oe,ge,_e)=>{const Pe=at.nodeName.toLowerCase(),Ue=dp(e,X,Pe)&&dp(e,oe,X),it=!I&&Se(at)&&$m(at.data),Jt=ne(at),yn=!nr(u)||!P.isBlock(at);return(ge||_e)&&Ue&&!it&&!Jt&&yn};Ly(P,z,at=>{let oe;const ge=_e=>{let Pe=!1,Ue=Y,it=!1;const Jt=_e.parentNode,yn=Jt.nodeName.toLowerCase(),Gn=P.getContentEditable(_e);pe(Gn)&&(Ue=Y,Y=Gn==="true",Pe=!0,it=xR(e,_e));const co=Y&&!Pe;if(uo(_e)&&!C5(e,u,_e,yn)){oe=null,Ym(u)&&P.remove(_e);return}if(fe(_e)){oe=null;return}if(we(_e,yn,co)){const Ns=P.rename(_e,X);ab(e,Ns,u,o,_e),Z.push(Ns),oe=null;return}if(Rl(u)){let Ns=w(c,_e);if(!Ns&&pe(Jt)&&Fy(u)&&(Ns=w(c,Jt)),!nr(u)||Ns){oe=null;return}}pe(ee)&&xt(_e,yn,co,it)?(oe||(oe=P.clone(ee,!1),Jt.insertBefore(oe,_e),Z.push(oe)),it&&Pe&&(Y=Ue),oe.appendChild(_e)):(oe=null,ie(Fr(_e.childNodes),ge),Pe&&(Y=Ue),oe=null)};ie(at,ge)}),u.links===!0&&ie(Z,at=>{const oe=ge=>{ge.nodeName==="A"&&ab(e,ge,u,o,r),ie(Fr(ge.childNodes),oe)};oe(at)}),Y9(e,t,wm(Z)),ie(Z,at=>{const oe=Pe=>{let Ue=0;return ie(Pe.childNodes,it=>{!kL(it)&&!Zr(it)&&Ue++}),Ue},ge=Pe=>Qn(Pe.childNodes,RA).filter(it=>P.getContentEditable(it)!=="false"&&A_(P,it,u)).map(it=>{const Jt=P.clone(it,!1);return ab(e,Jt,u,o,Pe),P.replace(Jt,Pe,!0),P.remove(it,!0),Jt}).getOr(Pe),_e=oe(at);if((Z.length>1||!P.isBlock(at))&&_e===0){P.remove(at,!0);return}(nr(u)||Ym(u)&&u.wrapper)&&(!u.exact&&_e===1&&(at=ge(at)),_7(e,c,o,at),yV(e,u,t,o,at),g3(P,u,o,at),pb(P,u,o,at),A7(P,u,o,at),Zd(e,u,o,at))})},R=Py(r)?r:v.getNode();if(p.getContentEditable(R)==="false"&&!xR(e,R)){r=R,w(c,r),ux(e,t,r,o);return}if(u){if(r)if(Py(r)){if(!w(c,r)){const P=p.createRng();P.setStartBefore(r),P.setEndAfter(r),O(p,fp(p,P,c),!0)}}else O(p,r,!0);else!f||!nr(u)||_u(e).length?(v.setRng(j4(v.getRng())),wR(e,()=>{Ny(e,(P,z)=>{const I=z?P:fp(p,P,c);O(p,I,!1)})},Qe),e.nodeChanged()):O9(e,t,o),l8(e.formatter,t).each(P=>{const z=I9(e.selection);ie(z,I=>t8(p,I,P,o))});vV(t,e)}ux(e,t,r,o)},O7=(e,t,o,r)=>{(r||e.selection.isEditable())&&SV(e,t,o,r)},D7=e=>Ut(e,"vars"),wV=(e,t)=>{e.set({}),t.on("NodeChange",o=>{M7(t,o.element,e.get())}),t.on("FormatApply FormatRemove",o=>{const r=B.from(o.node).map(c=>Py(c)?c:c.startContainer).bind(c=>ot(c)?B.some(c):B.from(c.parentElement)).getOrThunk(()=>R7(t));M7(t,r,e.get())})},R7=e=>e.selection.getStart(),cC=(e,t,o,r,c)=>dm(t,p=>{const v=e.formatter.matchNode(p,o,c??{},r);return!ls(v)},p=>k_(e,p,o)?!0:r?!1:pe(e.formatter.matchNode(p,o,c,!0))),bb=(e,t)=>{const o=t??R7(e);return ft(BA(e.dom,o),r=>ot(r)&&!lc(r))},M7=(e,t,o)=>{const r=bb(e,t);hn(o,(c,u)=>{const f=p=>{const v=cC(e,r,u,p.similar,D7(p)?p.vars:void 0),w=v.isSome();if(p.state.get()!==w){p.state.set(w);const _=v.getOr(t);D7(p)?p.callback(w,{node:_,format:u,parents:r}):ie(p.callbacks,O=>O(w,{node:_,format:u,parents:r}))}};ie([c.withSimilar,c.withoutSimilar],f),ie(c.withVars,f)})},vb=(e,t,o,r,c,u)=>{const f=t.get();ie(o.split(","),p=>{const v=po(f,p).getOrThunk(()=>{const _={withSimilar:{state:kt(!1),similar:!0,callbacks:[]},withoutSimilar:{state:kt(!1),similar:!1,callbacks:[]},withVars:[]};return f[p]=_,_}),w=()=>{const _=bb(e);return cC(e,_,p,c,u).isSome()};if(ls(u)){const _=c?v.withSimilar:v.withoutSimilar;_.callbacks.push(r),_.callbacks.length===1&&_.state.set(w())}else v.withVars.push({state:kt(w()),similar:c,vars:u,callback:r})}),t.set(f)},pi=(e,t,o)=>{const r=e.get();ie(t.split(","),c=>po(r,c).each(u=>{r[c]={withSimilar:{...u.withSimilar,callbacks:ft(u.withSimilar.callbacks,f=>f!==o)},withoutSimilar:{...u.withoutSimilar,callbacks:ft(u.withoutSimilar.callbacks,f=>f!==o)},withVars:ft(u.withVars,f=>f.callback!==o)}})),e.set(r)},iC=(e,t,o,r,c,u)=>(vb(e,t,o,r,c,u),{unbind:()=>pi(t,o,r)}),zn=(e,t,o,r)=>{const c=e.formatter.get(t);c&&(n8(e,t,o,r)&&(!("toggle"in c[0])||c[0].toggle)?k8(e,t,o,r):O7(e,t,o,r))},kp=(e,t,o)=>({element:e,width:t,rows:o}),S5=(e,t)=>({element:e,cells:t}),B7=(e,t)=>({x:e,y:t}),lC=(e,t)=>rc(e,t).bind(AS).getOr(1),w5=(e,t,o,r,c)=>{const u=lC(c,"rowspan"),f=lC(c,"colspan"),p=e.rows;for(let v=o;v{const r=e.rows;return!!(r[o]?r[o].cells:[])[t]},E5=(e,t,o)=>{for(;x5(e,t,o);)t++;return t},h3=e=>os(e,(t,o)=>o.cells.length>t?o.cells.length:t,0),uC=(e,t)=>{const o=e.rows;for(let r=0;r{const u=[],f=e.rows;for(let p=o;p<=c;p++){const v=f[p].cells,w=t{const r=t.x,c=t.y,u=o.x,f=o.y,p=c{const o=Sr(e.element),r=U.fromTag("tbody");return sc(r,t),pn(o,r),o},$7=e=>Ot(e.rows,t=>{const o=Ot(t.cells,c=>{const u=sh(c);return Go(u,"colspan"),Go(u,"rowspan"),u}),r=Sr(t.element);return sc(r,o),r}),F7=e=>{const t=kp(Sr(e),0,[]);return ie(Ys(e,"tr"),(o,r)=>{ie(Ys(o,"td,th"),(c,u)=>{w5(t,E5(t,u,r),r,o,c)})}),kp(t.element,h3(t.rows),t.rows)},I7=e=>P7(e,$7(e)),Ap=(e,t,o)=>uC(e,t).bind(r=>uC(e,o).map(c=>N7(e,r,c))),L7=e=>Qn(e,t=>Wt(t)==="ul"||Wt(t)==="ol"),T5=(e,t)=>Qn(e,o=>Wt(o)==="li"&&kA(o,t)).fold(Me([]),o=>L7(e).map(r=>{const c=U.fromTag(Wt(r)),u=qg(_f(r),(f,p)=>Ht(p,"list-style"));return ic(c,u),[U.fromTag("li"),c]}).getOr([])),xV=(e,t)=>{const o=os(t,(r,c)=>(pn(c,r),c),e);return t.length>0?od([o]):o},EV=e=>xd(e)?Ra(e).filter(wd).fold(Me([]),t=>[e,t]):wd(e)?[e]:[],H7=(e,t,o)=>{const r=U.fromDom(t.commonAncestorContainer),c=zd(r,e),u=ft(c,v=>o.isWrapper(Wt(v))),f=T5(c,t),p=u.concat(f.length?f:EV(r));return Ot(p,Sr)},k5=()=>od([]),z7=(e,t,o)=>xV(U.fromDom(t.cloneContents()),H7(e,t,o)),b3=(e,t)=>qo(t,"table",Ae(sn,e)),V7=(e,t)=>b3(e,t[0]).bind(o=>{const r=t[0],c=t[t.length-1],u=F7(o);return Ap(u,r,c).map(f=>od([I7(f)]))}).getOrThunk(k5),U7=(e,t,o)=>t.length>0&&t[0].collapsed?k5():z7(e,t[0],o),Z7=(e,t,o)=>{const r=n4(t,e);return r.length>0?V7(e,r):U7(e,t,o)},dC=(e,t)=>t>=0&&tUr(e.innerText),W7=e=>e.map(t=>t.nodeName).getOr("div").toLowerCase(),j7=e=>B.from(e.selection.getRng()).map(t=>{const o=B.from(e.dom.getParent(t.commonAncestorContainer,e.dom.isBlock)),r=e.getBody(),c=W7(o),u=U.fromDom(t.cloneContents());e_(u),mM(u);const f=e.dom.add(r,c,{"data-mce-bogus":"all",style:"overflow: hidden; opacity: 0;"},u.dom),p=A5(f),v=Ur(f.textContent??"");if(e.dom.remove(f),dC(v,0)||dC(v,v.length-1)){const w=o.getOr(r),_=A5(w),O=_.indexOf(p);if(O===-1)return p;{const R=dC(_,O-1),P=dC(_,O+p.length);return(R?" ":"")+p+(P?" ":"")}}else return p}).getOr(""),G7=(e,t)=>{const o=e.selection.getRng(),r=e.dom.create("body"),c=e.selection.getSel(),u=JA(e,fo(c)),f=t.contextual?Z7(U.fromDom(e.getBody()),u,e.schema).dom:o.cloneContents();return f&&r.appendChild(f),e.selection.serializer.serialize(r,t)},q7=(e,t)=>{if(t.format==="text")return j7(e);{const o=G7(e,t);return t.format==="tree"?o:e.selection.isCollapsed()?"":o}},K7=(e,t)=>({...e,format:t,get:!0,selection:!0,getInner:!0}),_5=(e,t,o={})=>{const r=K7(o,t);return u7(e,r).fold($o,c=>{const u=q7(e,c);return a3(e,u,c)})},v3=0,O5=1,D5=2,Y7=(e,t)=>{const o=e.length+t.length+2,r=new Array(o),c=new Array(o),u=(_,O,R)=>({start:_,end:O,diag:R}),f=(_,O,R,P,z)=>{const I=v(_,O,R,P);if(I===null||I.start===O&&I.diag===O-P||I.end===_&&I.diag===_-R){let Z=_,Y=R;for(;ZP-R?(z.push([D5,e[Z]]),++Z):(z.push([O5,t[Y]]),++Y)}else{f(_,I.start,R,I.start-I.diag,z);for(let Z=I.start;Z{let z=_;for(;z-O{const z=O-_,I=P-R;if(z===0||I===0)return null;const Z=z-I,Y=I+z,X=(Y%2===0?Y:Y+1)/2;r[1+X]=_,c[1+X]=O+1;let ee,fe,we,xt,at;for(ee=0;ee<=X;++ee){for(fe=-ee;fe<=ee;fe+=2){for(we=fe+X,fe===-ee||fe!==ee&&r[we-1]=_&&at>=R&&e[xt]===t[at];)c[we]=xt--,at--;if(Z%2===0&&-ee<=fe&&fe<=ee&&c[we]<=r[we+Z])return p(c[we],fe+_-R,O,P)}}return null},w=[];return f(0,e.length,0,t.length,w),w},y3=e=>ot(e)?e.outerHTML:Se(e)?gc.encodeRaw(e.data,!1):Ii(e)?"":"",X7=e=>{let t;const o=document.createElement("div"),r=document.createDocumentFragment();for(e&&(o.innerHTML=e);t=o.firstChild;)r.appendChild(t);return r},J7=(e,t,o)=>{const r=X7(t);if(e.hasChildNodes()&&o{if(e.hasChildNodes()&&t{let o=0;ie(e,r=>{r[0]===v3?o++:r[0]===O5?(J7(t,r[1],o),o++):r[0]===D5&&Q7(t,o)})},C3=(e,t)=>ft(Ot(Fr(e.childNodes),t?T(Ur,y3):y3),o=>o.length>0),eB=(e,t)=>{const o=Ot(Fr(t.childNodes),y3);return R5(Y7(o,e),t),t},TV=Qa(()=>document.implementation.createHTMLDocument("undo")),tB=e=>e.querySelector(`iframe, ${z1}`)!==null,S3=e=>({type:"fragmented",fragments:e,content:"",bookmark:null,beforeBookmark:null}),M5=e=>({type:"complete",fragments:null,content:e,bookmark:null,beforeBookmark:null}),Ag=e=>{const t=e.serializer.getTempAttrs(),o=dM(e.getBody(),t);return tB(o)?S3(C3(o,!0)):M5(Ur(o.innerHTML))},mC=(e,t,o)=>{const r=o?t.beforeBookmark:t.bookmark;t.type==="fragmented"?eB(t.fragments,e.getBody()):e.setContent(t.content,{format:"raw",no_selection:pe(r)&&xe(r)?!r.isFakeCaret:!0}),r&&(e.selection.moveToBookmark(r),e.selection.scrollIntoView())},w3=e=>e.type==="fragmented"?e.fragments.join(""):e.content,_p=(e,t)=>{const o=U.fromTag("body",TV());return cu(o,w3(t)),ie(Ys(o,"*[data-mce-bogus]"),cc),e&&ie(Ys(o,"details[open]"),r=>Go(r,"open")),wr(o)},B5=(e,t)=>w3(e)===w3(t),N5=(e,t,o)=>_p(e,t)===_p(e,o),_g=(e,t,o)=>!t||!o?!1:B5(t,o)?!0:N5(e,t,o),Xd=e=>e.get()===0,fC=(e,t,o)=>{Xd(o)&&(e.typing=t)},nB=(e,t)=>{e.typing&&(fC(e,!1,t),e.add())},kV=e=>{e.typing&&(e.typing=!1,e.add())},oB=(e,t,o)=>{Xd(t)&&o.set(Md(e.selection))},sB=(e,t,o,r,c,u,f)=>{const p=Ag(e),v=Oe.extend(u||{},p);if(!Xd(r)||e.removed)return null;const w=t.data[o.get()];if(e.dispatch("BeforeAddUndo",{level:v,lastLevel:w,originalEvent:f}).isDefaultPrevented()||w&&_g(e.readonly,w,v))return null;t.data[o.get()]&&c.get().each(R=>{t.data[o.get()].beforeBookmark=R});const _=$0(e);if(_&&t.data.length>_){for(let R=0;R0?(e.setDirty(!0),e.dispatch("AddUndo",O),e.dispatch("change",O)):e.dispatch("AddUndo",O),v},rB=(e,t,o)=>{t.data=[],o.set(0),t.typing=!1,e.dispatch("ClearUndos")},AV=(e,t,o,r,c)=>{if(t.transact(r)){const u=t.data[o.get()].bookmark,f=t.data[o.get()-1];mC(e,f,!0),t.transact(c)&&(t.data[o.get()-1].beforeBookmark=u)}},Og=(e,t,o)=>{let r;return t.get(){let c;return t.typing&&(t.add(),t.typing=!1,fC(t,!1,o)),r.get()>0&&(r.set(r.get()-1),c=t.data[r.get()],mC(e,c,!0),e.setDirty(!0),e.dispatch("Undo",{level:c})),c},aB=e=>{e.clear(),e.add()},cB=(e,t,o)=>o.get()>0||t.typing&&t.data[0]&&!_g(e.readonly,Ag(e),t.data[0]),_V=(e,t)=>t.get()(nB(e,t),e.beforeChange(),e.ignore(o),e.add()),DV=(e,t)=>{try{e.set(e.get()+1),t()}finally{e.set(e.get()-1)}},kc=(e,t)=>{const o=e.dom,r=pe(t)?t:e.getBody();ie(o.select("table,a",r),c=>{switch(c.nodeName){case"TABLE":const u=zm(e),f=o.getAttrib(c,"border");(!f||f==="0")&&e.hasVisual?o.addClass(c,u):o.removeClass(c,u);break;case"A":if(!o.getAttrib(c,"href")){const p=o.getAttrib(c,"name")||c.id,v=Mx(e);p&&e.hasVisual?o.addClass(c,v):o.removeClass(c,v)}break}}),e.dispatch("VisualAid",{element:t,hasVisual:e.hasVisual})},el=e=>({init:{bindEvents:Tt},undoManager:{beforeChange:(t,o)=>oB(e,t,o),add:(t,o,r,c,u,f)=>sB(e,t,o,r,c,u,f),undo:(t,o,r)=>Op(e,t,o,r),redo:(t,o)=>Og(e,t,o),clear:(t,o)=>rB(e,t,o),reset:t=>aB(t),hasUndo:(t,o)=>cB(e,t,o),hasRedo:(t,o)=>_V(t,o),transact:(t,o,r)=>OV(t,o,r),ignore:(t,o)=>DV(t,o),extra:(t,o,r,c)=>AV(e,t,o,r,c)},formatter:{match:(t,o,r,c)=>n8(e,t,o,r,c),matchAll:(t,o)=>E9(e,t,o),matchNode:(t,o,r,c)=>Ji(e,t,o,r,c),canApply:t=>k9(e,t),closest:t=>T9(e,t),apply:(t,o,r)=>O7(e,t,o,r),remove:(t,o,r,c)=>k8(e,t,o,r,c),toggle:(t,o,r)=>zn(e,t,o,r),formatChanged:(t,o,r,c,u)=>iC(e,t,o,r,c,u)},editor:{getContent:t=>E4(e,t),setContent:(t,o)=>pV(e,t,o),insertContent:(t,o)=>fV(e,t,o),addVisual:t=>kc(e,t)},selection:{getContent:(t,o)=>_5(e,t,o)},autocompleter:{addDecoration:Tt,removeDecoration:Tt},raw:{getModel:()=>B.none()}}),x3=e=>{const t=w=>fn(w)?w:{},{init:o,undoManager:r,formatter:c,editor:u,selection:f,autocompleter:p,raw:v}=e;return{init:{bindEvents:o.bindEvents},undoManager:{beforeChange:r.beforeChange,add:r.add,undo:r.undo,redo:r.redo,clear:r.clear,reset:r.reset,hasUndo:r.hasUndo,hasRedo:r.hasRedo,transact:(w,_,O)=>r.transact(O),ignore:(w,_)=>r.ignore(_),extra:(w,_,O,R)=>r.extra(O,R)},formatter:{match:(w,_,O,R)=>c.match(w,t(_),R),matchAll:c.matchAll,matchNode:c.matchNode,canApply:w=>c.canApply(w),closest:w=>c.closest(w),apply:(w,_,O)=>c.apply(w,t(_)),remove:(w,_,O,R)=>c.remove(w,t(_)),toggle:(w,_,O)=>c.toggle(w,t(_)),formatChanged:(w,_,O,R,P)=>c.formatChanged(_,O,R,P)},editor:{getContent:w=>u.getContent(w),setContent:(w,_)=>({content:u.setContent(w,_),html:""}),insertContent:(w,_)=>(u.insertContent(w),""),addVisual:u.addVisual},selection:{getContent:(w,_)=>f.getContent(_)},autocompleter:{addDecoration:p.addDecoration,removeDecoration:p.removeDecoration},raw:{getModel:()=>B.some(v.getRawModel())}}},P5=()=>{const e=Me(null),t=Me("");return{init:{bindEvents:Tt},undoManager:{beforeChange:Tt,add:e,undo:e,redo:e,clear:Tt,reset:Tt,hasUndo:Ee,hasRedo:Ee,transact:e,ignore:Tt,extra:Tt},formatter:{match:Ee,matchAll:Me([]),matchNode:Me(void 0),canApply:Ee,closest:t,apply:Tt,remove:Tt,toggle:Tt,formatChanged:Me({unbind:Tt})},editor:{getContent:t,setContent:Me({content:"",html:""}),insertContent:Me(""),addVisual:Tt},selection:{getContent:t},autocompleter:{addDecoration:Tt,removeDecoration:Tt},raw:{getModel:Me(B.none())}}},Il=e=>Ut(e.plugins,"rtc"),E3=e=>po(e.plugins,"rtc").bind(t=>B.from(t.setup)),RV=e=>{const t=e;return E3(e).fold(()=>(t.rtcInstance=el(e),B.none()),o=>(t.rtcInstance=P5(),B.some(()=>o().then(r=>(t.rtcInstance=x3(r),r.rtc.isRemote)))))},T3=e=>e.rtcInstance?e.rtcInstance:el(e),ts=e=>{const t=e.rtcInstance;if(t)return t;throw new Error("Failed to get RTC instance not yet initialized.")},MV=(e,t,o)=>{ts(e).undoManager.beforeChange(t,o)},k3=(e,t,o,r,c,u,f)=>ts(e).undoManager.add(t,o,r,c,u,f),$5=(e,t,o,r)=>ts(e).undoManager.undo(t,o,r),F5=(e,t,o)=>ts(e).undoManager.redo(t,o),gC=(e,t,o)=>{ts(e).undoManager.clear(t,o)},BV=(e,t)=>{ts(e).undoManager.reset(t)},NV=(e,t,o)=>ts(e).undoManager.hasUndo(t,o),tl=(e,t,o)=>ts(e).undoManager.hasRedo(t,o),Ac=(e,t,o,r)=>ts(e).undoManager.transact(t,o,r),hC=(e,t,o)=>{ts(e).undoManager.ignore(t,o)},_c=(e,t,o,r,c)=>{ts(e).undoManager.extra(t,o,r,c)},PV=(e,t,o,r,c)=>ts(e).formatter.match(t,o,r,c),eo=(e,t,o)=>ts(e).formatter.matchAll(t,o),$V=(e,t,o,r,c)=>ts(e).formatter.matchNode(t,o,r,c),Jd=(e,t)=>ts(e).formatter.canApply(t),pC=(e,t)=>ts(e).formatter.closest(t),iB=(e,t,o,r)=>{ts(e).formatter.apply(t,o,r)},I5=(e,t,o,r,c)=>{ts(e).formatter.remove(t,o,r,c)},L5=(e,t,o,r)=>{ts(e).formatter.toggle(t,o,r)},FV=(e,t,o,r,c,u)=>ts(e).formatter.formatChanged(t,o,r,c,u),H5=(e,t)=>T3(e).editor.getContent(t),IV=(e,t,o)=>T3(e).editor.setContent(t,o),lB=(e,t,o)=>T3(e).editor.insertContent(t,o),uB=(e,t,o)=>ts(e).selection.getContent(t,o),z5=(e,t)=>ts(e).editor.addVisual(t),V5=e=>ts(e).init.bindEvents(),A3=(e,t={})=>{const o=t.format?t.format:"html";return uB(e,o,t)},dB=(e,t,o)=>{if(Ut(e,t)){const r=ft(e[t],c=>c!==o);r.length===0?delete e[t]:e[t]=r}};var LV=(e,t)=>{let o,r;const c=(p,v)=>Qn(v,w=>e.is(w,p)),u=p=>e.getParents(p,void 0,e.getRoot()),f=()=>{o={},r={},t.on("NodeChange",p=>{const v=p.element,w=u(v),_={};hn(o,(O,R)=>{c(R,w).each(P=>{r[R]||(ie(O,z=>{z(!0,{node:P,selector:R,parents:w})}),r[R]=O),_[R]=O})}),hn(r,(O,R)=>{_[R]||(delete r[R],ie(O,P=>{P(!1,{node:v,selector:R,parents:w})}))})})};return{selectorChangedWithUnbind:(p,v)=>(o||f(),o[p]||(o[p]=[]),o[p].push(v),c(p,u(t.selection.getStart())).each(()=>{r[p]=o[p]}),{unbind:()=>{dB(o,p,v),dB(r,p,v)}})}};const mB=e=>!!(e&&e.ownerDocument)&&tc(U.fromDom(e.ownerDocument),U.fromDom(e)),HV=e=>e?mB(e.startContainer)&&mB(e.endContainer):!1,fB=(e,t,o,r)=>{let c,u;const{selectorChangedWithUnbind:f}=LV(e,r),p=(Ve,vt)=>{const Tn=e.createRng();pe(Ve)&&pe(vt)?(Tn.setStart(Ve,vt),Tn.setEnd(Ve,vt),fe(Tn),Y(!1)):(AA(e,Tn,r.getBody(),!0),fe(Tn))},v=Ve=>A3(r,Ve),w=(Ve,vt)=>v7(r,Ve,vt),_=Ve=>oM(r.getBody(),ee(),Ve),O=Ve=>sM(r.getBody(),ee(),Ve),R=(Ve,vt)=>Ns.getBookmark(Ve,vt),P=Ve=>Ns.moveToBookmark(Ve),z=(Ve,vt)=>(hH(e,Ve,vt).each(fe),Ve),I=()=>{const Ve=ee(),vt=X();return!Ve||Ve.item?!1:Ve.compareEndPoints?Ve.compareEndPoints("StartToEnd",Ve)===0:!vt||Ve.collapsed},Z=()=>{if(r.mode.isReadOnly())return!1;const Ve=ee(),vt=r.getBody().querySelectorAll('[data-mce-selected="1"]');return vt.length>0?Xl(vt,Tn=>e.isEditable(Tn.parentElement)):XA(e,Ve)},Y=Ve=>{const vt=ee();vt.collapse(!!Ve),fe(vt)},X=()=>t.getSelection?t.getSelection():t.document.selection,ee=()=>{let Ve;const vt=(Sn,vr,ye)=>{try{return vr.compareBoundaryPoints(Sn,ye)}catch{return-1}},Tn=t.document;if(pe(r.bookmark)&&!ob(r)){const Sn=Xi(r);if(Sn.isSome())return Sn.map(vr=>JA(r,[vr])[0]).getOr(Tn.createRange())}try{const Sn=X();Sn&&!du(Sn.anchorNode)&&(Sn.rangeCount>0?Ve=Sn.getRangeAt(0):Ve=Tn.createRange(),Ve=JA(r,[Ve])[0])}catch{}if(Ve||(Ve=Tn.createRange()),Mf(Ve.startContainer)&&Ve.collapsed){const Sn=e.getRoot();Ve.setStart(Sn,0),Ve.setEnd(Sn,0)}return c&&u&&(vt(Ve.START_TO_START,Ve,c)===0&&vt(Ve.END_TO_END,Ve,c)===0?Ve=u:(c=null,u=null)),Ve},fe=(Ve,vt)=>{if(!HV(Ve))return;const Tn=X();if(Ve=r.dispatch("SetSelectionRange",{range:Ve,forward:vt}).range,Tn){u=Ve;try{Tn.removeAllRanges(),Tn.addRange(Ve)}catch{}vt===!1&&Tn.extend&&(Tn.collapse(Ve.endContainer,Ve.endOffset),Tn.extend(Ve.startContainer,Ve.startOffset)),c=Tn.rangeCount>0?Tn.getRangeAt(0):null}if(!Ve.collapsed&&Ve.startContainer===Ve.endContainer&&(Tn!=null&&Tn.setBaseAndExtent)&&Ve.endOffset-Ve.startOffset<2&&Ve.startContainer.hasChildNodes()){const vr=Ve.startContainer.childNodes[Ve.startOffset];vr&&vr.nodeName==="IMG"&&(Tn.setBaseAndExtent(Ve.startContainer,Ve.startOffset,Ve.endContainer,Ve.endOffset),(Tn.anchorNode!==Ve.startContainer||Tn.focusNode!==Ve.endContainer)&&Tn.setBaseAndExtent(vr,0,vr,1))}r.dispatch("AfterSetSelectionRange",{range:Ve,forward:vt})},we=Ve=>(u3(r,e.getOuterHTML(Ve)),Ve),xt=()=>gH(r.getBody(),ee()),at=(Ve,vt)=>S4(e,ee(),Ve,vt),oe=()=>{const Ve=X(),vt=Ve==null?void 0:Ve.anchorNode,Tn=Ve==null?void 0:Ve.focusNode;if(!Ve||!vt||!Tn||du(vt)||du(Tn))return!0;const Sn=e.createRng(),vr=e.createRng();try{Sn.setStart(vt,Ve.anchorOffset),Sn.collapse(!0),vr.setStart(Tn,Ve.focusOffset),vr.collapse(!0)}catch{return!0}return Sn.compareBoundaryPoints(Sn.START_TO_START,vr)<=0},co={dom:e,win:t,serializer:o,editor:r,expand:(Ve={type:"word"})=>fe(Ru(e).expand(ee(),Ve)),collapse:Y,setCursorLocation:p,getContent:v,setContent:w,getBookmark:R,moveToBookmark:P,select:z,isCollapsed:I,isEditable:Z,isForward:oe,setNode:we,getNode:xt,getSel:X,setRng:fe,getRng:ee,getStart:_,getEnd:O,getSelectedBlocks:at,normalize:()=>{const Ve=ee(),vt=X();if(!t4(vt)&&s4(r)){const Tn=y4(e,Ve);return Tn.each(Sn=>{fe(Sn,oe())}),Tn.getOr(Ve)}return Ve},selectorChanged:(Ve,vt)=>(f(Ve,vt),co),selectorChangedWithUnbind:f,getScrollContainer:()=>{let Ve,vt=e.getRoot();for(;vt&&vt.nodeName!=="BODY";){if(vt.scrollHeight>vt.clientHeight){Ve=vt;break}vt=vt.parentNode}return Ve},scrollIntoView:(Ve,vt)=>{pe(Ve)?YA(r,Ve,vt):zy(r,ee(),vt)},placeCaretAt:(Ve,vt)=>fe(b4(Ve,vt,r.getDoc())),getBoundingClientRect:()=>{const Ve=ee();return Ve.collapsed?he.fromRangeStart(Ve).getClientRects()[0]:Ve.getBoundingClientRect()},destroy:()=>{t=c=u=null,Pc.destroy()}},Ns=wa(co),Pc=WA(co,r);return co.bookmarkManager=Ns,co.controlSelection=Pc,co},gB=(e,t,o)=>{t.addNodeFilter("br",(r,c,u)=>{const f=Oe.extend({},o.getBlockElements()),p=o.getNonEmptyElements(),v=o.getWhitespaceElements();f.body=1;const w=_=>_.name in f||Li(o,_);for(let _=0,O=r.length;_{e.addAttributeFilter("data-mce-tabindex",(r,c)=>{let u=r.length;for(;u--;){const f=r[u];f.attr("tabindex",f.attr("data-mce-tabindex")),f.attr(c,null)}}),e.addAttributeFilter("src,href,style",(r,c)=>{const u="data-mce-"+c,f=t.url_converter,p=t.url_converter_scope;let v=r.length;for(;v--;){const w=r[v];let _=w.attr(u);_!==void 0?(w.attr(c,_.length>0?_:null),w.attr(u,null)):(_=w.attr(c),c==="style"?_=o.serializeStyle(o.parseStyle(_),w.name):f&&(_=f.call(p,_,c,w.name)),w.attr(c,_.length>0?_:null))}}),e.addAttributeFilter("class",r=>{let c=r.length;for(;c--;){const u=r[c];let f=u.attr("class");f&&(f=f.replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),u.attr("class",f.length>0?f:null))}}),e.addAttributeFilter("data-mce-type",(r,c,u)=>{let f=r.length;for(;f--;){const p=r[f];p.attr("data-mce-type")==="bookmark"&&!u.cleanup&&(B.from(p.firstChild).exists(w=>!$m(w.value??""))?p.unwrap():p.remove())}}),e.addNodeFilter("script,style",(r,c)=>{const u=p=>p.replace(/()/g,` +`).replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"");let f=r.length;for(;f--;){const p=r[f],v=p.firstChild,w=(v==null?void 0:v.value)??"";if(c==="script"){const _=p.attr("type");_&&p.attr("type",_==="mce-no/type"?null:_.replace(/^mce\-/,"")),t.element_format==="xhtml"&&v&&w.length>0&&(v.value=`// `)}else t.element_format==="xhtml"&&v&&w.length>0&&(v.value=``)}}),e.addNodeFilter("#comment",r=>{let c=r.length;for(;c--;){const u=r[c],f=u.value;t.preserve_cdata&&(f==null?void 0:f.indexOf("[CDATA["))===0?(u.name="#cdata",u.type=4,u.value=o.decode(f.replace(/^\[CDATA\[|\]\]$/g,""))):(f==null?void 0:f.indexOf("mce:protected "))===0&&(u.name="#text",u.type=3,u.raw=!0,u.value=unescape(f).substr(14))}}),e.addNodeFilter("xml:namespace,input",(r,c)=>{let u=r.length;for(;u--;){const f=r[u];f.type===7?f.remove():f.type===1&&c==="input"&&!f.attr("type")&&f.attr("type","text")}}),e.addAttributeFilter("data-mce-type",r=>{ie(r,c=>{c.attr("data-mce-type")==="format-caret"&&(c.isEmpty(e.schema.getNonEmptyElements())?c.remove():c.unwrap())})}),e.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-block,data-mce-type,data-mce-resize,data-mce-placeholder",(r,c)=>{let u=r.length;for(;u--;)r[u].attr(c,null)}),t.remove_trailing_brs&&gB(t,e,e.schema)},VV=e=>{const t=r=>(r==null?void 0:r.name)==="br",o=e.lastChild;if(t(o)){const r=o.prev;t(r)&&(o.remove(),r.remove())}},hB=(e,t,o)=>{let r;const c=e.dom;let u=t.cloneNode(!0);const f=document.implementation;if(f.createHTMLDocument){const p=f.createHTMLDocument("");Oe.each(u.nodeName==="BODY"?u.childNodes:[u],v=>{p.body.appendChild(p.importNode(v,!0))}),u.nodeName!=="BODY"?u=p.body.firstChild:u=p.body,r=c.doc,c.doc=p}return ax(e,{...o,node:u}),r&&(c.doc=r),u},UV=(e,t)=>pe(e)&&e.hasEventListeners("PreProcess")&&!t.no_events,pB=(e,t,o)=>UV(e,o)?hB(e,t,o):t,bC=(e,t,o)=>{Oe.inArray(t,o)===-1&&(e.addAttributeFilter(o,(r,c)=>{let u=r.length;for(;u--;)r[u].attr(c,null)}),t.push(o))},ZV=(e,t,o)=>!t.no_events&&e?ty(e,{...t,content:o}).content:o,WV=(e,t,o)=>{const r=Ur(o.getInner?t.innerHTML:e.getOuterHTML(t));return o.selection||jf(U.fromDom(t))?r:Oe.trim(r)},bB=(e,t,o)=>{const r=o.selection?{forced_root_block:!1,...o}:o,c=e.parse(t,r);return VV(c),c},vB=(e,t,o)=>Cg(e,t).serialize(o),jV=(e,t,o,r,c)=>{const u=vB(t,o,r);return ZV(e,c,u)},yB=(e,t)=>{const o=["data-mce-selected"],r={entity_encoding:"named",remove_trailing_brs:!0,pad_empty_with_br:!1,...e},c=t&&t.dom?t.dom:yt.DOM,u=t&&t.schema?t.schema:bc(r),f=hb(r,u);zV(f,r,c);const p=(v,w={})=>{const{indent:_,entity_encoding:O,...R}=w,P={format:"html",...R},z=pB(t,v,P),I=WV(c,z,P),Z=bB(f,I,P);if(P.format==="tree")return Z;const Y={...r,...pe(_)?{indent:_}:{},...pe(O)?{entity_encoding:O}:{}};return jV(t,Y,u,Z,P)};return{schema:u,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:p,addRules:u.addValidElements,setRules:u.setValidElements,addTempAttr:Ae(bC,f,o),getTempAttrs:Me(o),getNodeFilters:f.getNodeFilters,getAttributeFilters:f.getAttributeFilters,removeNodeFilter:f.removeNodeFilter,removeAttributeFilter:f.removeAttributeFilter}},Or=(e,t)=>{const o=yB(e,t);return{schema:o.schema,addNodeFilter:o.addNodeFilter,addAttributeFilter:o.addAttributeFilter,serialize:o.serialize,addRules:o.addRules,setRules:o.setRules,addTempAttr:o.addTempAttr,getTempAttrs:o.getTempAttrs,getNodeFilters:o.getNodeFilters,getAttributeFilters:o.getAttributeFilters,removeNodeFilter:o.removeNodeFilter,removeAttributeFilter:o.removeAttributeFilter}},GV="html",CB=(e,t)=>({...e,format:t,get:!0,getInner:!0}),U5=(e,t={})=>{const o=t.format?t.format:GV,r=CB(t,o);return u7(e,r).fold($o,c=>{const u=H5(e,c);return a3(e,u,c)})},Z5="html",SB=(e,t)=>({format:Z5,...e,set:!0,content:t}),_3=(e,t,o={})=>{const r=SB(o,t);d5(e,r).each(c=>{const u=IV(e,c.content,c);m5(e,u.html,c)})},O3=yt.DOM,qV=e=>{O3.setStyle(e.id,"display",e.orgDisplay)},vC=e=>B.from(e).each(t=>t.destroy()),wB=e=>{const t=e;t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null;const o=e.selection;if(o){const r=o.dom;t.selection=o.win=o.dom=r.doc=null}},bi=e=>{const t=e.formElement;t&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,delete t._mceOldSubmit),O3.unbind(t,"submit reset",e.formEventDelegate))},KV=e=>{if(!e.removed){const{_selectionOverrides:t,editorUpload:o}=e,r=e.getBody(),c=e.getElement();r&&e.save({is_removing:!0}),e.removed=!0,e.unbindAllNativeEvents(),e.hasHiddenInput&&pe(c==null?void 0:c.nextSibling)&&O3.remove(c.nextSibling),cx(e),e.editorManager.remove(e),!e.inline&&r&&qV(e),bn(e),O3.remove(e.getContainer()),vC(t),vC(o),e.destroy()}},YV=(e,t)=>{const{selection:o,dom:r}=e;if(!e.destroyed){if(!t&&!e.removed){e.remove();return}t||(e.editorManager.off("beforeunload",e._beforeUnload),e.theme&&e.theme.destroy&&e.theme.destroy(),vC(o),vC(r)),bi(e),wB(e),e.destroyed=!0}},yb=(()=>{const e={};return{add:(c,u)=>{e[c]=u},get:c=>e[c]?e[c]:{icons:{}},has:c=>Ut(e,c)}})(),Cb=bs.ModelManager,XV=(e,t)=>t.dom[e],xB=(e,t)=>parseInt(No(t,e),10),W5=Ae(XV,"clientWidth"),Ll=Ae(XV,"clientHeight"),j5=Ae(xB,"margin-top"),D3=Ae(xB,"margin-left"),G5=e=>e.dom.getBoundingClientRect(),JV=(e,t,o)=>{const r=W5(e),c=Ll(e);return t>=0&&o>=0&&t<=r&&o<=c},q5=(e,t,o,r)=>{const c=G5(t),u=e?c.left+t.dom.clientLeft+D3(t):0,f=e?c.top+t.dom.clientTop+j5(t):0,p=o-u,v=r-f;return{x:p,y:v}},QV=(e,t,o)=>{const r=U.fromDom(e.getBody()),c=e.inline?r:ms(r),u=q5(e.inline,c,t,o);return JV(c,u.x,u.y)},EB=e=>B.from(e).map(U.fromDom),eU=e=>{const t=e.inline?e.getBody():e.getContentAreaContainer();return EB(t).map(Ln).getOr(!1)};var tU=()=>{const e=()=>{throw new Error("Theme did not provide a NotificationManager implementation.")};return{open:e,close:e,getArgs:e}};const R3=e=>{const t=[],o=()=>{const R=e.theme;return R&&R.getNotificationManagerImpl?R.getNotificationManagerImpl():tU()},r=()=>B.from(t[0]),c=(R,P)=>R.type===P.type&&R.text===P.text&&!R.progressBar&&!R.timeout&&!P.progressBar&&!P.timeout,u=()=>{r().each(R=>{R.reposition()})},f=R=>{t.push(R)},p=R=>{mm(t,P=>P===R).each(P=>{t.splice(P,1)})},v=(R,P=!0)=>e.removed||!eU(e)?{}:(P&&e.dispatch("BeforeOpenNotification",{notification:R}),Qn(t,z=>c(o().getArgs(z),R)).getOrThunk(()=>{e.editorManager.setActive(e);const z=o().open(R,()=>{p(z)},()=>HR(e));return f(z),u(),e.dispatch("OpenNotification",{notification:{...z}}),z})),w=()=>{r().each(R=>{o().close(R),p(R),u()})},_=Me(t);return(R=>{R.on("SkinLoaded",()=>{const P=Ax(R);P&&v({text:P,type:"warning",timeout:0},!1),u()}),R.on("show ResizeEditor ResizeWindow NodeChange ToggleView FullscreenStateChanged",()=>{requestAnimationFrame(u)}),R.on("remove",()=>{ie(t.slice(),P=>{o().close(P)})}),R.on("keydown",P=>{var I;const z=((I=P.key)==null?void 0:I.toLowerCase())==="f12"||P.keyCode===123;P.altKey&&z&&(P.preventDefault(),r().map(Z=>U.fromDom(Z.getEl())).each(Z=>x1(Z)))})})(e),{open:v,close:w,getNotifications:_}},Sb=bs.PluginManager,Dg=bs.ThemeManager;var nU=()=>{const e=()=>{throw new Error("Theme did not provide a WindowManager implementation.")};return{open:e,openUrl:e,alert:e,confirm:e,close:e}};const Rg=e=>{let t=[];const o=()=>{const Z=e.theme;return Z&&Z.getWindowManagerImpl?Z.getWindowManagerImpl():nU()},r=(Z,Y)=>(...X)=>Y?Y.apply(Z,X):void 0,c=Z=>{e.dispatch("OpenWindow",{dialog:Z})},u=Z=>{e.dispatch("CloseWindow",{dialog:Z})},f=(Z,Y)=>{t.push({instanceApi:Z,triggerElement:Y}),c(Z)},p=Z=>{u(Z);const Y=ml(t,({instanceApi:X,triggerElement:ee})=>X===Z?ee:B.none());t=ft(t,({instanceApi:X})=>X!==Z),t.length===0?e.focus():Y.filter(Ln).each(x1)},v=()=>B.from(t[t.length-1]),w=Z=>{e.editorManager.setActive(e),LA(e);const Y=Bi();e.ui.show();const X=Z();return f(X,Y),X},_=(Z,Y)=>w(()=>o().open(Z,Y,p)),O=Z=>w(()=>o().openUrl(Z,p)),R=Z=>{t.length!==0&&Z.each(Y=>x1(Y))},P=(Z,Y,X)=>{const ee=Bi(),fe=o();fe.alert(Z,r(X||fe,()=>{R(ee),Y==null||Y()}))},z=(Z,Y,X)=>{const ee=Bi(),fe=o();fe.confirm(Z,r(X||fe,we=>{R(ee),Y==null||Y(we)}))},I=()=>{v().each(({instanceApi:Z})=>{o().close(Z),p(Z)})};return e.on("remove",()=>{ie(t,({instanceApi:Z})=>{o().close(Z)})}),{open:_,openUrl:O,alert:P,confirm:z,close:I}},K5=(e,t)=>{e.notificationManager.open({type:"error",text:t})},M3=(e,t)=>{e._skinLoaded?K5(e,t):e.on("SkinLoaded",()=>{K5(e,t)})},TB=(e,t)=>{M3(e,Va.translate(["Failed to upload image: {0}",t]))},Dp=(e,t,o)=>{Hm(e,t,{message:o}),console.error(o)},Rp=(e,t,o)=>o?`Failed to load ${e}: ${o} from url ${t}`:`Failed to load ${e} url: ${t}`,oU=(e,t,o)=>{Dp(e,"PluginLoadError",Rp("plugin",t,o))},sU=(e,t,o)=>{Dp(e,"IconsLoadError",Rp("icons",t,o))},rU=(e,t,o)=>{Dp(e,"LanguageLoadError",Rp("language",t,o))},kB=(e,t,o)=>{Dp(e,"ThemeLoadError",Rp("theme",t,o))},aU=(e,t,o)=>{Dp(e,"ModelLoadError",Rp("model",t,o))},Y5=(e,t)=>{Dp(e,"LicenseKeyManagerLoadError",Rp("license key manager",t))},Mg=(e,t)=>{Dp(e,"ComponentLoadError",Rp("component",t))},cU=(e,t,o)=>{const r=Va.translate(["Failed to initialize plugin: {0}",t]);Hm(e,"PluginLoadError",{message:r}),B3(r,o),M3(e,r)},B3=(e,...t)=>{const o=window.console;o&&(o.error?o.error(e,...t):o.log(e,...t))},wb=new WeakMap,AB=e=>{if(wb.has(e))return;wb.set(e,!0);const t=()=>{e.on("SwitchMode",r=>{const{mode:c}=r;c!=="readonly"&&e.mode.set("readonly")})},o=()=>{e.on("DisabledStateChange",r=>{const{state:c}=r;c||r.preventDefault()},!0)};e.initialized?(e.removed||e.mode.set("readonly"),e.options.set("disabled",!0)):e.on("init",()=>{e.removed||e.mode.set("readonly"),e.options.set("disabled",!0)}),o(),t()},X5=(e,t)=>{const{type:o,message:r}=t;e.notificationManager.open({type:o,text:r})},_B=e=>{switch(e){case"error":return console.error;case"info":return console.info;case"warn":return console.warn;case"log":default:return console.log}},N3=e=>{_B(e.type)(e.message)},P3=(e,t)=>{const{console:o,editor:r}=t;pe(r)&&(e._skinLoaded?X5(e,r):e.on("SkinLoaded",()=>{X5(e,r)})),pe(o)&&N3(o)},$3="Read more: https://www.tiny.cloud/docs/tinymce/latest/license-key/",iU="Make sure to provide a valid license key or add license_key: 'gpl' to the init config to agree to the open source license terms.",lU=e=>{const t="The editor is disabled because a TinyMCE license key has not been provided.";P3(e,{console:{type:"error",message:[`${t}`,iU,$3].join(" ")},editor:{type:"warning",message:`${t}`}})},F3=(e,t)=>{const o=`${t==="online"?"API":"license"} key`,r=`The editor is disabled because the TinyMCE ${o} could not be validated.`;P3(e,{console:{type:"error",message:[`${r}`,`The TinyMCE Commercial License Key Manager plugin is required for the provided ${o} to be validated but could not be loaded.`,$3].join(" ")},editor:{type:"warning",message:`${r}`}})},OB=(e,t,o)=>{const r=`The "${t}" plugin requires a valid TinyMCE license key.`;P3(e,{console:{type:"error",message:[`${r}`,$3].join(" ")},...o?{}:{editor:{type:"warning",message:"One or more premium plugins are disabled due to license key restrictions."}}})},J5="licensekeymanager",I3=e=>q(V0(e))?"online":"offline",uU=e=>{var o;const t=(o=xy(e))==null?void 0:o.toLowerCase();return t==="gpl"?"gpl":on(t)?"no_key":"non_gpl"},DB=e=>{const t=I3(e),o=uU(e),r=new Set([...Eu(e),...mt(F0(e))]).has(J5);return o!=="gpl"||t==="online"||r?{type:"use_plugin",onlineStatus:t,licenseKeyType:o,forcePlugin:r}:{type:"use_gpl",onlineStatus:t,licenseKeyType:o,forcePlugin:r}},RB=e=>t=>{let o=!1;return{validate:r=>{const{plugin:c}=r,u=q(c);return u&&(OB(t,c,o),o=!0),Promise.resolve(e&&!u)}}},MB=RB(!1),Q5=RB(!0),L3="manager",eO=J5,tO=(()=>{const e=bs();return{load:(c,u)=>{if(DB(c).type==="use_plugin"){const v=po(F0(c),eO).map(Mo).filter(Lo).getOr(`plugins/${eO}/plugin${u}.js`);e.load(L3,v).catch(()=>{Y5(c,v)})}},add:c=>{e.add(L3,c)},init:c=>{const u=v=>{Object.defineProperty(c,"licenseKeyManager",{value:v,writable:!1,configurable:!1,enumerable:!0})},f=DB(c),p=e.get(L3);if(pe(p)){const v=p(c,e.urls[L3]);u(v)}else switch(f.type){case"use_gpl":{u(Q5(c));break}case"use_plugin":{AB(c),u(MB(c)),f.onlineStatus==="offline"&&f.licenseKeyType==="no_key"?lU(c):F3(c,f.onlineStatus);break}}c.licenseKeyManager.validate({})}}})(),dU=e=>{B.from(e.selection.getNode()).each(t=>{t.removeAttribute("data-mce-selected")})},Mp=(e,t,o)=>{try{e.getDoc().execCommand(t,!1,String(o))}catch{}},$u=(e,t)=>{Mp(e,"StyleWithCSS",t),Mp(e,"enableInlineTableEditing",t),Mp(e,"enableObjectResizing",t)},mU=e=>{e.selection.setRng(e.selection.getRng())},H3=(e,t,o)=>{O1(e,t)&&!o?As(e,t):o&&Ba(e,t)},Ro=e=>{const t=U.fromDom(e.getBody());H3(t,"mce-content-readonly",!0),e.selection.controlSelection.hideResizeRect(),e._selectionOverrides.hideFakeCaret(),dU(e)},z3=e=>{const t=U.fromDom(e.getBody());H3(t,"mce-content-readonly",!1),e.hasEditableRoot()&&Em(t,!0),$u(e,!1),HR(e)&&e.focus(),mU(e),e.nodeChanged()},Hl=e=>U0(e),Oc="data-mce-contenteditable",BB=e=>{ie(Ys(e,'*[contenteditable="true"]'),t=>{So(t,Oc,"true"),Em(t,!1)})},nO=e=>{ie(Ys(e,`*[${Oc}="true"]`),t=>{Go(t,Oc),Em(t,!0)})},NB=(e,t)=>{const o=U.fromDom(e.getBody());t?(Ro(e),Em(o,!1),BB(o)):(nO(o),z3(e))},xb=e=>{e.serializer?PB(e):e.on("PreInit",()=>{PB(e)})},PB=e=>{e.parser.addAttributeFilter("contenteditable",t=>{Hl(e)&&ie(t,o=>{o.attr(Oc,o.attr("contenteditable")),o.attr("contenteditable","false")})}),e.serializer.addAttributeFilter(Oc,t=>{Hl(e)&&ie(t,o=>{o.attr("contenteditable",o.attr(Oc))})}),e.serializer.addTempAttr(Oc)},fU=e=>e.type==="click",Eb=["copy"],gU=e=>Bt(Eb,e.type),Bp=(e,t)=>cr(t,"a",r=>sn(r,U.fromDom(e.getBody()))).bind(r=>rc(r,"href")),hU=(e,t)=>ow(t,"details",r=>sn(r,U.fromDom(e.getBody()))),Bg=(e,t)=>{if(fU(t)&&!We.metaKeyPressed(t)){const o=U.fromDom(t.target);Bp(e,o).fold(()=>{hU(e,o)&&t.preventDefault()},r=>{if(t.preventDefault(),/^#/.test(r)){const c=e.dom.select(`${r},[name="${gv(r,"#")}"]`);c.length&&e.selection.scrollIntoView(c[0],!0)}else window.open(r,"_blank","rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes")})}else gU(t)&&e.dispatch(t.type,t)},pU=e=>{e.on("ShowCaret ObjectSelected",t=>{Hl(e)&&t.preventDefault()}),e.on("DisabledStateChange",t=>{t.isDefaultPrevented()||NB(e,t.state)})},nl=e=>{xb(e),pU(e)},Np=e=>/^[a-z0-9\-]+$/i.test(e),$B=e=>"content/"+e+"/content.css",yC=e=>tinymce.Resource.has($B(e)),oO=e=>Pp(e,Zk(e)),bU=e=>Pp(e,dy(e)),Pp=(e,t)=>{const o=e.editorManager.baseURL+"/skins/content",c=`content${e.editorManager.suffix}.css`;return Ot(t,u=>yC(u)?$B(u):Np(u)&&!e.inline?`${o}/${u}/${c}`:e.documentBaseURI.toAbsolute(u))},vU=e=>{e.contentCSS=e.contentCSS.concat(oO(e),bU(e))},zl=e=>e?Fr(e.getElementsByTagName("img")):[],V3=(e,t)=>{const o={};return{findAll:(c,u=Qe)=>{const f=ft(zl(c),v=>{const w=v.src;return v.hasAttribute("data-mce-bogus")||v.hasAttribute("data-mce-placeholder")||!w||w===dn.transparentSrc?!1:Ht(w,"blob:")?!e.isUploaded(w)&&u(v):Ht(w,"data:")?u(v):!1}),p=Ot(f,v=>{const w=v.src;if(Ut(o,w))return o[w].then(_=>q(_)?_:{image:v,blobInfo:_.blobInfo});{const _=Eg(t,w).then(O=>(delete o[w],{image:v,blobInfo:O})).catch(O=>(delete o[w],O));return o[w]=_,_}});return Promise.all(p)}}},sO=()=>{let o={};const r=(R,P)=>({status:R,resultUri:P}),c=R=>R in o;return{hasBlobUri:c,getResultUri:R=>{const P=o[R];return P?P.resultUri:null},isPending:R=>c(R)?o[R].status===1:!1,isUploaded:R=>c(R)?o[R].status===2:!1,markPending:R=>{o[R]=r(1,null)},markUploaded:(R,P)=>{o[R]=r(2,P)},removeFailed:R=>{delete o[R]},destroy:()=>{o={}}}};let rO=0;const aO=()=>{const e=()=>Math.round(kT()*4294967295).toString(36);return"s"+new Date().getTime().toString(36)+e()+e()+e()},$p=e=>e+rO+++aO(),cO=()=>{let e=[];const t=O=>({"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png","image/apng":"apng","image/avif":"avif","image/svg+xml":"svg","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"})[O.toLowerCase()]||"dat",o=(O,R,P,z,I)=>{if(q(O))return r({id:O,name:z,filename:I,blob:R,base64:P});if(fn(O))return r(O);throw new Error("Unknown input type")},r=O=>{if(on(O.blob)||on(O.base64)||O.base64===""&&!O.allowEmptyFile)throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");const R=O.id||$p("blobid"),P=O.name||R,z=O.blob;return{id:Me(R),name:Me(P),filename:Me(O.filename||P+"."+t(z.type)),blob:Me(z),base64:Me(O.base64),blobUri:Me(O.blobUri||URL.createObjectURL(z)),uri:Me(O.uri)}},c=O=>{f(O.id())||e.push(O)},u=O=>Qn(e,O).getOrUndefined(),f=O=>u(R=>R.id()===O);return{create:o,add:c,get:f,getByUri:O=>u(R=>R.blobUri()===O),getByData:(O,R)=>u(P=>P.base64()===O&&P.blob().type===R),findFirst:u,removeByUri:O=>{e=ft(e,R=>R.blobUri()===O?(URL.revokeObjectURL(R.blobUri()),!1):!0)},destroy:()=>{ie(e,O=>{URL.revokeObjectURL(O.blobUri())}),e=[]}}},yU=(e,t)=>{const o={},r=(I,Z)=>I?I.replace(/\/$/,"")+"/"+Z.replace(/^\//,""):Z,c=(I,Z)=>new Promise((Y,X)=>{const ee=new XMLHttpRequest;ee.open("POST",t.url),ee.withCredentials=t.credentials,ee.upload.onprogress=we=>{Z(we.loaded/we.total*100)},ee.onerror=()=>{X("Image upload failed due to a XHR Transport error. Code: "+ee.status)},ee.onload=()=>{if(ee.status<200||ee.status>=300){X("HTTP Error: "+ee.status);return}const we=JSON.parse(ee.responseText);if(!we||!q(we.location)){X("Invalid JSON: "+ee.responseText);return}Y(r(t.basePath,we.location))};const fe=new FormData;fe.append("file",I.blob(),I.filename()),ee.send(fe)}),u=J(t.handler)?t.handler:c,f=()=>new Promise(I=>{I([])}),p=(I,Z)=>({url:Z,blobInfo:I,status:!0}),v=(I,Z)=>({url:"",blobInfo:I,status:!1,error:Z}),w=(I,Z)=>{Oe.each(o[I],Y=>{Y(Z)}),delete o[I]},_=(I,Z,Y)=>(e.markPending(I.blobUri()),new Promise(X=>{let ee,fe;try{const we=()=>{ee&&(ee.close(),fe=Tt)},xt=oe=>{we();const ge=q(oe)?oe:oe.url;e.markUploaded(I.blobUri(),ge),w(I.blobUri(),p(I,ge)),X(p(I,ge))},at=oe=>{we(),e.removeFailed(I.blobUri()),w(I.blobUri(),v(I,oe)),X(v(I,oe))};fe=oe=>{oe<0||oe>100||B.from(ee).orThunk(()=>B.from(Y).map(Wo)).each(ge=>{ee=ge,ge.progressBar.value(oe)})},Z(I,fe).then(xt,oe=>{at(q(oe)?{message:oe}:oe)})}catch(we){X(v(I,we))}})),O=I=>I===c,R=I=>{const Z=I.blobUri();return new Promise(Y=>{o[Z]=o[Z]||[],o[Z].push(Y)})},P=(I,Z)=>(I=Oe.grep(I,Y=>!e.isUploaded(Y.blobUri())),Promise.all(Oe.map(I,Y=>e.isPending(Y.blobUri())?R(Y):_(Y,u,Z))));return{upload:(I,Z)=>!t.url&&O(u)?f():P(I,Z)}},FB=e=>()=>e.notificationManager.open({text:e.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0}),IB=(e,t)=>yU(t,{url:wx(e),basePath:np(e),credentials:zk(e),handler:Vk(e)}),CU=e=>{const t=sO(),o=IB(e,t);return{upload:(r,c=!0)=>o.upload(r,c?FB(e):void 0)}},SU=(e,t)=>e.dom.isEmpty(t.dom)&&pe(e.schema.getTextBlockElements()[Wt(t)]),wU=e=>t=>{SU(e,t)&&pn(t,U.fromHtml('
    '))},Tb=e=>{const t=cO();let o,r;const c=sO(),u=[],f=ee=>fe=>e.selection?ee(fe):[],p=ee=>ee+(ee.indexOf("?")===-1?"?":"&")+new Date().getTime(),v=(ee,fe,we)=>{let xt=0;do xt=ee.indexOf(fe,xt),xt!==-1&&(ee=ee.substring(0,xt)+we+ee.substr(xt+fe.length),xt+=we.length-fe.length+1);while(xt!==-1);return ee},w=(ee,fe,we)=>{const xt=`src="${we}"${we===dn.transparentSrc?' data-mce-placeholder="1"':""}`;return ee=v(ee,`src="${fe}"`,xt),ee=v(ee,'data-mce-src="'+fe+'"','data-mce-src="'+we+'"'),ee},_=(ee,fe)=>{ie(e.undoManager.data,we=>{we.type==="fragmented"?we.fragments=Ot(we.fragments,xt=>w(xt,ee,fe)):we.content=w(we.content,ee,fe)})},O=(ee,fe)=>{const we=e.convertURL(fe,"src");_(ee.src,fe),qs(U.fromDom(ee),{src:k0(e)?p(fe):fe,"data-mce-src":we})},R=()=>(o||(o=IB(e,c)),Z().then(f(ee=>{const fe=Ot(ee,we=>we.blobInfo);return o.upload(fe,FB(e)).then(f(we=>{const xt=[];let at=!1;const oe=Ot(we,(ge,_e)=>{const{blobInfo:Pe,image:Ue}=ee[_e];let it=!1;return ge.status&&iy(e)?(ge.url&&!ds(Ue.src,ge.url)&&(at=!0),t.removeByUri(Ue.src),Il(e)||O(Ue,ge.url)):ge.error&&(ge.error.remove&&(_(Ue.src,dn.transparentSrc),xt.push(Ue),it=!0),TB(e,ge.error.message)),{element:Ue,status:ge.status,uploadUri:ge.url,blobInfo:Pe,removed:it}});return xt.length>0&&!Il(e)?e.undoManager.transact(()=>{ie(wm(xt),ge=>{const _e=Ra(ge);no(ge),_e.each(wU(e)),t.removeByUri(ge.dom.src)})}):at&&e.undoManager.dispatchChange(),oe}))}))),P=()=>Sx(e)?R():Promise.resolve([]),z=ee=>Xl(u,fe=>fe(ee)),I=ee=>{u.push(ee)},Z=()=>(r||(r=V3(c,t)),r.findAll(e.getBody(),z).then(f(ee=>{const fe=ft(ee,we=>q(we)?(M3(e,we),!1):we.uriType!=="blob");return Il(e)||ie(fe,we=>{_(we.image.src,we.blobInfo.blobUri()),we.image.src=we.blobInfo.blobUri(),we.image.removeAttribute("data-mce-src")}),fe}))),Y=()=>{t.destroy(),c.destroy(),r=o=null},X=ee=>ee.replace(/src="(blob:[^"]+)"/g,(fe,we)=>{const xt=c.getResultUri(we);if(xt)return'src="'+xt+'"';let at=t.getByUri(we);return at||(at=os(e.editorManager.get(),(oe,ge)=>oe||ge.editorUpload&&ge.editorUpload.blobCache.getByUri(we),void 0)),at?'src="data:'+at.blob().type+";base64,"+at.base64()+'"':fe});return e.on("SetContent",()=>{Sx(e)?P():Z()}),e.on("RawSaveContent",ee=>{ee.content=X(ee.content)}),e.on("GetContent",ee=>{ee.source_view||ee.format==="raw"||ee.format==="tree"||(ee.content=X(ee.content))}),e.on("PostRender",()=>{e.parser.addNodeFilter("img",ee=>{ie(ee,fe=>{const we=fe.attr("src");if(!we||t.getByUri(we))return;const xt=c.getResultUri(we);xt&&fe.attr("src",xt)})})}),{blobCache:t,addFilter:I,uploadImages:R,uploadImagesAuto:P,scanForImages:Z,destroy:Y}},Fu=e=>{const t=e.dom,o=e.schema.type,r={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"left"},inherit:!1,preview:!1},{selector:"img,audio,video",collapsed:!1,styles:{float:"left"},preview:"font-family font-size"},{selector:".mce-placeholder",styles:{float:"left"},ceFalseOverride:!0},{selector:"table",collapsed:!1,styles:{marginLeft:"0px",marginRight:"auto"},onformat:c=>{t.setStyle(c,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:".mce-placeholder",styles:{display:"block",marginLeft:"auto",marginRight:"auto"},ceFalseOverride:!0},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"},{selector:".mce-preview-object",ceFalseOverride:!0,styles:{display:"table",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{marginLeft:"auto",marginRight:"auto"},preview:!1}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{float:"right"},preview:"font-family font-size"},{selector:".mce-placeholder",styles:{float:"right"},ceFalseOverride:!0},{selector:"table",collapsed:!1,styles:{marginRight:"0px",marginLeft:"auto"},onformat:c=>{t.setStyle(c,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"right"},preview:!1}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"justify"},inherit:!1,preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all",preserve_attributes:["class","style"]}],italic:[{inline:"em",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all",preserve_attributes:["class","style"]}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all",preserve_attributes:["class","style"]}],strikethrough:(()=>{const c={inline:"span",styles:{textDecoration:"line-through"},exact:!0},u={inline:"strike",remove:"all",preserve_attributes:["class","style"]},f={inline:"s",remove:"all",preserve_attributes:["class","style"]};return o!=="html4"?[f,c,u]:[c,f,u]})(),forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",toggle:!1,styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",toggle:!1,styles:{fontSize:"%value"},clear_child_styles:!0},lineheight:{selector:"h1,h2,h3,h4,h5,h6,p,li,td,th,div",styles:{lineHeight:"%value"},remove_similar:!0},fontsize_class:{inline:"span",attributes:{class:"%value"}},blockquote:{block:"blockquote",wrapper:!0,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},samp:{inline:"samp"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:(c,u,f)=>ot(c)&&c.hasAttribute("href"),onformat:(c,u,f)=>{Oe.each(f,(p,v)=>{t.setAttrib(c,v,p)})}},lang:{inline:"span",clear_child_styles:!0,remove_similar:!0,attributes:{lang:"%value","data-mce-lang":c=>(c==null?void 0:c.customValue)??null}},removeformat:[{selector:"b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return Oe.each("p h1 h2 h3 h4 h5 h6 div address pre dt dd".split(/\s/),c=>{r[c]={block:c,remove:"all"}}),r},LB={remove_similar:!0,inherit:!1},kb={selector:"td,th",...LB},xU={tablecellbackgroundcolor:{styles:{backgroundColor:"%value"},...kb},tablecellverticalalign:{styles:{"vertical-align":"%value"},...kb},tablecellbordercolor:{styles:{borderColor:"%value"},...kb},tablecellclass:{classes:["%value"],...kb},tableclass:{selector:"table",classes:["%value"],...LB},tablecellborderstyle:{styles:{borderStyle:"%value"},...kb},tablecellborderwidth:{styles:{borderWidth:"%value"},...kb}},EU=Me(xU),TU=e=>{const t={},o=f=>pe(f)?t[f]:t,r=f=>Ut(t,f),c=(f,p)=>{f&&(q(f)?(gn(p)||(p=[p]),ie(p,v=>{ls(v.deep)&&(v.deep=!Rl(v)),ls(v.split)&&(v.split=!Rl(v)||nr(v)),ls(v.remove)&&Rl(v)&&!nr(v)&&(v.remove="none"),Rl(v)&&nr(v)&&(v.mixed=!0,v.block_expand=!0),q(v.classes)&&(v.classes=v.classes.split(/\s+/))}),t[f]=p):hn(f,(v,w)=>{c(w,v)}))},u=f=>(f&&t[f]&&delete t[f],t);return c(Fu(e)),c(EU()),c(yR(e)),{get:o,has:r,register:c,unregister:u}},U3=Oe.each,ol=yt.DOM,iO=e=>pe(e)&&fn(e),HB=(e,t)=>{const o=t&&t.schema||bc({}),r=(v,w)=>{w.classes.length>0&&ol.addClass(v,w.classes.join(" ")),ol.setAttribs(v,w.attrs)},c=v=>{const w=q(v)?{name:v,classes:[],attrs:{}}:v,_=ol.create(w.name);return r(_,w),_},u=(v,w)=>{const _=o.getElementRule(v.nodeName.toLowerCase()),O=_==null?void 0:_.parentsRequired;return O&&O.length?w&&Bt(O,w)?w:O[0]:!1},f=(v,w,_)=>{let O;const R=w[0],P=iO(R)?R.name:void 0,z=u(v,P);if(z)P===z?(O=R,w=w.slice(1)):O=z;else if(R)O=R,w=w.slice(1);else if(!_)return v;const I=O?c(O):ol.create("div");I.appendChild(v),_&&Oe.each(_,Y=>{const X=c(Y);I.insertBefore(X,v)});const Z=iO(O)?O.siblings:void 0;return f(I,w,Z)},p=ol.create("div");if(e.length>0){const v=e[0],w=c(v),_=iO(v)?v.siblings:void 0;p.appendChild(f(w,e.slice(1),_))}return p},nX=e=>{e=Oe.trim(e);let t="div";const o={name:t,classes:[],attrs:{},selector:e};return e!=="*"&&(t=e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,(r,c,u,f,p)=>{switch(c){case"#":o.attrs.id=u;break;case".":o.classes.push(u);break;case":":Oe.inArray("checked disabled enabled read-only required".split(" "),u)!==-1&&(o.attrs[u]=u);break}if(f==="["){const v=p.match(/([\w\-]+)(?:\=\"([^\"]+))?/);v&&(o.attrs[v[1]]=v[2])}return""})),o.name=t||"div",o},kU=e=>q(e)?(e=e.split(/\s*,\s*/)[0],e=e.replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),Oe.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/),t=>{const o=Oe.map(t.split(/(?:~\+|~|\+)/),nX),r=o.pop();return o.length&&(r.siblings=o),r}).reverse()):[],AU=(e,t)=>{let o="",r=ug(e);if(r==="")return"";const c=R=>q(R)?R.replace(/%(\w+)/g,""):"",u=(R,P)=>ol.getStyle(P??e.getBody(),R,!0);if(q(t)){const R=e.formatter.get(t);if(!R)return"";t=R[0]}if("preview"in t){const R=t.preview;if(R===!1)return"";r=R||r}let f=t.block||t.inline||"span",p;const v=kU(t.selector);v.length>0?(v[0].name||(v[0].name=f),f=t.selector,p=HB(v,e)):p=HB([f],e);const w=ol.select(f,p)[0]||p.firstChild;U3(t.styles,(R,P)=>{const z=c(R);z&&ol.setStyle(w,P,z)}),U3(t.attributes,(R,P)=>{const z=c(R);z&&ol.setAttrib(w,P,z)}),U3(t.classes,R=>{const P=c(R);ol.hasClass(w,P)||ol.addClass(w,P)}),e.dispatch("PreviewFormats"),ol.setStyles(p,{position:"absolute",left:-65535}),e.getBody().appendChild(p);const _=u("fontSize"),O=/px$/.test(_)?parseInt(_,10):0;return U3(r.split(" "),R=>{let P=u(R,w);if(!(R==="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(P)&&(P=u(R),Hf(P).toLowerCase()==="#ffffff"))&&!(R==="color"&&Hf(P).toLowerCase()==="#000000")){if(R==="font-size"&&/em|%$/.test(P)){if(O===0)return;P=parseFloat(P)/(/%$/.test(P)?100:1)*O+"px"}R==="border"&&P&&(o+="padding:0 2px;"),o+=R+":"+P+";"}}),e.dispatch("AfterPreviewFormats"),ol.remove(p),o},_U=e=>{e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(let t=1;t<=6;t++)e.addShortcut("access+"+t,"",["FormatBlock",!1,"h"+t]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])},zB=e=>{const t=TU(e),o=kt({});return _U(e),B9(e),Il(e)||wV(o,e),{get:t.get,has:t.has,register:t.register,unregister:t.unregister,apply:(r,c,u)=>{iB(e,r,c,u)},remove:(r,c,u,f)=>{I5(e,r,c,u,f)},toggle:(r,c,u)=>{L5(e,r,c,u)},match:(r,c,u,f)=>PV(e,r,c,u,f),closest:r=>pC(e,r),matchAll:(r,c)=>eo(e,r,c),matchNode:(r,c,u,f)=>$V(e,r,c,u,f),canApply:r=>Jd(e,r),formatChanged:(r,c,u,f)=>FV(e,o,r,c,u,f),getCssText:Ae(AU,e)}},VB=e=>{switch(e.toLowerCase()){case"undo":case"redo":case"mcefocus":return!0;default:return!1}},OU=(e,t,o)=>{const r=kt(!1),c=v=>{fC(t,!1,o),t.add({},v)};e.on("init",()=>{t.add()}),e.on("BeforeExecCommand",v=>{const w=v.command;VB(w)||(nB(t,o),t.beforeChange())}),e.on("ExecCommand",v=>{const w=v.command;VB(w)||c(v)}),e.on("ObjectResizeStart cut",()=>{t.beforeChange()}),e.on("SaveContent ObjectResized blur",c),e.on("dragend",c),e.on("keyup",v=>{const w=v.keyCode;if(v.isDefaultPrevented())return;const _=dn.os.isMacOS()&&v.key==="Meta";(w>=33&&w<=36||w>=37&&w<=40||w===45||v.ctrlKey||_)&&(c(),e.nodeChanged()),(w===46||w===8)&&e.nodeChanged(),r.get()&&t.typing&&!_g(e.readonly,Ag(e),t.data[0])&&(e.isDirty()||e.setDirty(!0),e.dispatch("TypingUndo"),r.set(!1),e.nodeChanged())}),e.on("keydown",v=>{const w=v.keyCode;if(v.isDefaultPrevented())return;if(w>=33&&w<=36||w>=37&&w<=40||w===45){t.typing&&c(v);return}const _=v.ctrlKey&&!v.altKey||v.metaKey;if((w<16||w>20)&&w!==224&&w!==91&&!t.typing&&!_){t.beforeChange(),fC(t,!0,o),t.add({},v),r.set(!0);return}(dn.os.isMacOS()?v.metaKey:v.ctrlKey&&!v.altKey)&&t.beforeChange()}),e.on("mousedown",v=>{t.typing&&c(v)});const u=v=>v.inputType==="insertReplacementText",f=v=>v.inputType==="insertText"&&v.data===null,p=v=>v.inputType==="insertFromPaste"||v.inputType==="insertFromDrop";e.on("input",v=>{v.inputType&&(u(v)||f(v)||p(v))&&c(v)}),e.on("AddUndo Undo Redo ClearUndos",v=>{v.isDefaultPrevented()||e.nodeChanged()})},Ng=e=>{e.addShortcut("meta+z","","Undo"),e.addShortcut("meta+y,meta+shift+z","","Redo")},UB=e=>{const t=Vc(),o=kt(0),r=kt(0),c={data:[],typing:!1,beforeChange:()=>{MV(e,o,t)},add:(u,f)=>k3(e,c,r,o,t,u,f),dispatchChange:()=>{e.setDirty(!0);const u=Ag(e);u.bookmark=Md(e.selection),e.dispatch("change",{level:u,lastLevel:Lc(c.data,r.get()).getOrUndefined()})},undo:()=>$5(e,c,o,r),redo:()=>F5(e,r,c.data),clear:()=>{gC(e,c,r)},reset:()=>{BV(e,c)},hasUndo:()=>NV(e,c,r),hasRedo:()=>tl(e,c,r),transact:u=>Ac(e,c,o,u),ignore:u=>{hC(e,o,u)},extra:(u,f)=>{_c(e,c,r,u,f)}};return Il(e)||OU(e,c,o),Ng(e),c},DU=[9,27,We.HOME,We.END,19,20,44,144,145,33,34,45,16,17,18,91,92,93,We.DOWN,We.UP,We.LEFT,We.RIGHT].concat(dn.browser.isFirefox()?[224]:[]),Z3="data-mce-placeholder",lO=e=>e.type==="keydown"||e.type==="keyup",W3=e=>{const t=e.keyCode;return t===We.BACKSPACE||t===We.DELETE},RU=e=>{if(lO(e)){const t=e.keyCode;return!W3(e)&&(We.metaKeyPressed(e)||e.altKey||t>=112&&t<=123||Bt(DU,t))}else return!1},MU=e=>lO(e)&&!(W3(e)||e.type==="keyup"&&e.keyCode===229),BU=(e,t,o)=>{if(e.isEmpty(t,void 0,{skipBogus:!1,includeZwsp:!0})){const r=t.firstElementChild;return r?e.getStyle(t.firstElementChild,"padding-left")||e.getStyle(t.firstElementChild,"padding-right")?!1:o===r.nodeName.toLowerCase():!0}else return!1},NU=e=>{const t=e.dom,o=zs(e),r=R0(e)??"",c=(u,f)=>{if(RU(u))return;const p=e.getBody(),v=MU(u)?!1:BU(t,p,o);(t.getAttrib(p,Z3)!==""!==v||f)&&(t.setAttrib(p,Z3,v?r:null),$k(e,v),e.on(v?"keydown":"keyup",c),e.off(v?"keyup":"keydown",c))};Lo(r)&&e.on("init",u=>{c(u,!0),e.on("change SetContent ExecCommand",c),e.on("paste",f=>fi.setEditorTimeout(e,()=>c(f)))})},ZB=e=>(t,o,r={})=>{const c=t.getBody(),u={bubbles:!0,composed:!0,data:null,isComposing:!1,detail:0,view:null,target:c,currentTarget:c,eventPhase:Event.AT_TARGET,originalTarget:c,explicitOriginalTarget:c,isTrusted:!1,srcElement:c,cancelable:!1,preventDefault:Tt,inputType:o},f=Th(new InputEvent(e));return t.dispatch(e,{...f,...u,...r})},CC=ZB("input"),SC=ZB("beforeinput"),WB=(e,t,o)=>{let r=!0;const c=()=>r=!1;if(SC(e,t?"deleteContentForward":"deleteContentBackward").isDefaultPrevented())return!1;e.on("input",c);try{o()}finally{e.off("input",c)}return r&&e.dispatch("input"),!0},PU=e=>t=>pe(t)&&t.nodeName.toLowerCase()===e,wC=e=>t=>pe(t)&&e.test(t.nodeName),Qd=e=>pe(e)&&e.nodeType===3,jB=e=>pe(e)&&e.nodeType===1,sl=wC(/^(OL|UL|DL)$/),$U=wC(/^(OL|UL)$/),j3=wC(/^(LI|DT|DD)$/),FU=wC(/^(DT|DD)$/),IU=wC(/^(TH|TD)$/),Fp=PU("br"),LU=e=>{var t;return((t=e.parentNode)==null?void 0:t.firstChild)===e},uO=(e,t)=>pe(t)&&t.nodeName in e.schema.getTextBlockElements(),G3=(e,t)=>pe(e)&&e.nodeName in t,HU=(e,t)=>pe(t)&&t.nodeName in e.schema.getVoidElements(),zU=(e,t)=>Fp(t)?e.isBlock(t.nextSibling)&&!Fp(t.previousSibling):!1,Ip=(e,t,o)=>{const r=e.isEmpty(t);return o&&e.select("span[data-mce-type=bookmark]",t).length>0?!1:r},GB=(e,t)=>e.isChildOf(t,e.getRoot()),qB=yt.DOM,VU=(e,t)=>{const o=t.parentElement;if(o&&o.nodeName==="LI"&&o.firstChild===t){const r=o.previousSibling;r&&r.nodeName==="LI"?(r.appendChild(t),Ip(e,o)&&qB.remove(o)):qB.setStyle(o,"listStyleType","none")}if(sl(o)){const r=o.previousSibling;r&&r.nodeName==="LI"&&r.appendChild(t)}},dO=(e,t)=>{const o=Oe.grep(e.select("ol,ul",t));Oe.each(o,r=>{VU(e,r)})},KB=(e,t)=>{if(Qd(e))return{container:e,offset:t};const o=Ru.getNode(e,t);return Qd(o)?{container:o,offset:t>=e.childNodes.length?o.data.length:0}:o.previousSibling&&Qd(o.previousSibling)?{container:o.previousSibling,offset:o.previousSibling.data.length}:o.nextSibling&&Qd(o.nextSibling)?{container:o.nextSibling,offset:0}:{container:e,offset:t}},q3=e=>{const t=e.cloneRange(),o=KB(e.startContainer,e.startOffset);t.setStart(o.container,o.offset);const r=KB(e.endContainer,e.endOffset);return t.setEnd(r.container,r.offset),t},Ab=e=>C1(e,"OL,UL"),mO=e=>C1(e,"LI"),YB=e=>$s(e).exists(Ab),UU=e=>rs(e).exists(Ab),ZU=(e,t)=>Ey(e).map(o=>o>=t).getOr(!0),XB=["OL","UL","DL"],JB=XB.join(","),xC=(e,t)=>{const o=t||e.selection.getStart(!0);return e.dom.getParent(o,JB,EC(e,o,e.selection.isCollapsed()))},WU=(e,t)=>pe(e)&&t.length===1&&t[0]===e,QB=e=>ft(e.querySelectorAll(JB),sl),eN=e=>{const t=xC(e),o=e.selection.getSelectedBlocks();return WU(t,o)?QB(t):ft(o,r=>sl(r)&&t!==r)},tN=(e,t,o)=>{const r=Oe.map(t,c=>{const u=e.dom.getParent(c,"li,dd,dt",EC(e,c,o));return u||c});return Ku(r)},nN=e=>{const t=e.selection.getSelectedBlocks();return ft(tN(e,t,e.selection.isCollapsed()),j3)},oN=e=>ft(nN(e),FU),fO=(e,t)=>{const o=e.dom.getParents(t,"TD,TH");return o.length>0?o[0]:e.getBody()},sN=(e,t)=>!sl(t)&&!j3(t)&&qn(XB,o=>e.isValidChild(t.nodeName,o)),jU=e=>ml(e,o=>mO(U.fromDom(o))?B.some(!0):IU(o)?B.some(!1):B.none()).getOr(!1),EC=(e,t,o)=>{const r=e.dom.getParents(t,e.dom.isBlock);let c=!jU(r);const u=v=>v.nodeName.toLowerCase()!==zs(e),f=v=>((mO(U.fromDom(v))||Ab(U.fromDom(v)))&&(c=!0),c);return Qn(r,v=>f(v)&&(!o||u(v))&&sN(e.schema,v)).getOr(e.getBody())},GU=e=>Ra(e).exists(t=>j3(t.dom)&&$s(t).exists(o=>!sl(o.dom))&&rs(t).exists(o=>!sl(o.dom))),rN=(e,t)=>{const o=e.dom.getParents(t,"ol,ul",EC(e,t,!0));return $r(o)},qU=e=>{const t=rN(e,e.selection.getStart()),o=ft(e.selection.getSelectedBlocks(),$U);return t.toArray().concat(o)},KU=e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",EC(e,t,e.selection.isCollapsed()))},gO=e=>{const t=qU(e),o=KU(e);return Qn(o,r=>GU(U.fromDom(r))).fold(()=>hO(e,t),r=>[r])},hO=(e,t)=>{const o=Ot(t,r=>rN(e,r).getOr(r));return Ku(o)},K3=e=>/\btox\-/.test(e.className),pO=(e,t)=>t!==null&&!e.dom.isEditable(t),YU=e=>{const t=xC(e);return pO(e,t)||!e.selection.isEditable()},bO=(e,t)=>{const o=e.dom.getParent(t,"ol,ul,dl");return pO(e,o)||!e.selection.isEditable()},Lp=(e,t,o)=>e.dispatch("ListMutation",{action:t,element:o}),aN=(e,t,o={})=>{const r=e.dom,c=e.schema.getBlockElements(),u=r.createFragment(),f=zs(e),p=_l(e);let v,w,_=!1;for(w=r.create(f,{...p,...o.style?{style:o.style}:{}}),G3(t.firstChild,c)||u.appendChild(w);v=t.firstChild;){const O=v.nodeName;!_&&(O!=="SPAN"||v.getAttribute("data-mce-type")!=="bookmark")&&(_=!0),G3(v,c)?(u.appendChild(v),w=null):(w||(w=r.create(f,p),u.appendChild(w)),w.appendChild(v))}return!_&&w&&w.appendChild(r.create("br",{"data-mce-bogus":"1"})),u},Hp=e=>"listAttributes"in e,cN=e=>"isComment"in e,XU=e=>"isFragment"in e,iN=e=>e.depth>0,JU=e=>e.isSelected,QU=e=>{const t=Do(e),o=UU(e)?t.slice(0,-1):t;return Ot(o,sh)},vO=(e,t,o)=>Ra(e).filter(bo).map(r=>({depth:t,dirty:!1,isSelected:o,content:QU(e),itemAttributes:Xt(e),listAttributes:Xt(r),listType:Wt(r),isInPreviousLi:!1})),lN=(e,t)=>{pn(e.item,t.list)},eZ=e=>{for(let t=1;t{xs($r(e),ws(t),lN)},nZ=(e,t)=>{const o={list:U.fromTag(t,e),item:U.fromTag("li",e)};return pn(o.list,o.item),o},oZ=(e,t,o)=>{const r=[];for(let c=0;c{for(let o=0;o{Hp(t)&&(qs(o.list,t.listAttributes),qs(o.item,t.itemAttributes)),sc(o.item,t.content)})},zp=(e,t)=>{Wt(e.list)!==t.listType&&(e.list=rh(e.list,t.listType)),qs(e.list,t.listAttributes)},dN=(e,t,o)=>{const r=U.fromTag("li",e);return qs(r,t),sc(r,o),r},sZ=(e,t)=>{pn(e.list,t),e.item=t},mN=(e,t,o)=>{const r=t.slice(0,o.depth);return $r(r).each(c=>{if(Hp(o)){const u=dN(e,o.itemAttributes,o.content);sZ(c,u),zp(c,o)}else if(XU(o))sc(c.item,o.content);else{const u=U.fromHtml(``);pn(c.list,u)}}),r},rZ=(e,t,o)=>{const r=oZ(e,o,o.depth-t.length);return eZ(r),uN(r,o),tZ(t,r),t.concat(r)},aZ=(e,t)=>{let o=B.none();const r=os(t,(c,u,f)=>cN(u)?f===0?(o=B.some(u),c):mN(e,c,u):u.depth>c.length?rZ(e,c,u):mN(e,c,u),[]);return o.each(c=>{const u=U.fromHtml(``);ws(r).each(f=>{bl(f.list,u)})}),ws(r).map(c=>c.list)},_b=(e,t,o)=>{switch(t){case"Indent":if(ZU(e,o.depth))o.depth++;else return;break;case"Outdent":o.depth--;break;case"Flatten":o.depth=0}o.dirty=!0},cZ=(e,t)=>{Hp(e)&&Hp(t)&&(e.listType=t.listType,e.listAttributes={...t.listAttributes})},yO=e=>{e.listAttributes=qg(e.listAttributes,(t,o)=>o!=="start")},CO=(e,t)=>{const o=e[t].depth,r=u=>u.depth===o&&!u.dirty,c=u=>u.depthdm(e.slice(t+1),r,c))},fN=e=>(ie(e,(t,o)=>{CO(e,o).fold(()=>{t.dirty&&Hp(t)&&yO(t)},r=>cZ(t,r))}),e),SO=(e,t,o,r)=>{if(_i(r))return[{depth:e+1,content:r.dom.nodeValue??"",dirty:!1,isSelected:!1,isComment:!0}];t.each(f=>{sn(f.start,r)&&o.set(!0)});const c=vO(r,e,o.get());t.each(f=>{sn(f.end,r)&&o.set(!1)});const u=rs(r).filter(Ab).map(f=>X3(e,t,o,f)).getOr([]);return c.toArray().concat(u)},Y3=(e,t,o,r)=>$s(r).filter(Ab).fold(()=>SO(e,t,o,r),c=>{const u=os(Do(r),(f,p,v)=>{if(v===0)return f;if(mO(p))return f.concat(SO(e,t,o,p));{const w={isFragment:!0,depth:e,content:[p],isSelected:!1,dirty:!1,parentListType:Wt(c)};return f.concat(w)}},[]);return X3(e,t,o,c).concat(u)}),X3=(e,t,o,r)=>Bn(Do(r),c=>{const u=Ab(c)?X3:Y3,f=e+1;return u(f,t,o,c)}),iZ=(e,t)=>{const o=kt(!1),r=0;return Ot(e,c=>({sourceList:c,entries:X3(r,t,o,c)}))},lZ=(e,t)=>{const o=fN(t);return Ot(o,r=>{const c=cN(r)?od([U.fromHtml(``)]):od(r.content),u=Hp(r)?r.itemAttributes:{};return U.fromDom(aN(e,c.dom,u))})},uZ=(e,t)=>{const o=fN(t);return aZ(e.contentDocument,o).toArray()},dZ=(e,t)=>Bn(iv(t,iN),o=>ws(o).exists(iN)?uZ(e,o):lZ(e,o)),wO=(e,t,o)=>{ie(ft(t,JU),r=>_b(e,o,r))},mZ=e=>{const t=Ot(nN(e),U.fromDom);return xs(Qn(t,go(YB)),Qn(Fo(t),go(YB)),(o,r)=>({start:o,end:r}))},fZ=(e,t,o)=>{const r=iZ(t,mZ(e));ie(r,c=>{wO(e,c.entries,o);const u=dZ(e,c.entries);ie(u,f=>{Lp(e,o==="Indent"?"IndentList":"OutdentList",f.dom)}),jS(c.sourceList,u),no(c.sourceList)})},gZ=e=>Ey(e).forall(t=>{const o=e.selection.getSelectedBlocks();return qn(o,r=>cr(U.fromDom(r),"li").forall(c=>R1(c,"ol,ul").length<=t))}),Pg=yt.DOM,hZ=(e,t,o)=>{const r=w=>{const _=w.parentNode;_&&Oe.each(c,O=>{_.insertBefore(O,o.parentNode)}),Pg.remove(w)},c=Pg.select('span[data-mce-type="bookmark"]',t),u=aN(e,o),f=Pg.createRng();f.setStartAfter(o),f.setEndAfter(t);const p=f.extractContents();for(let w=p.firstChild;w;w=w.firstChild)if(w.nodeName==="LI"&&e.dom.isEmpty(w)){Pg.remove(w);break}e.dom.isEmpty(p)||Pg.insertAfter(p,t),Pg.insertAfter(u,t);const v=o.parentElement;v&&Ip(e.dom,v)&&r(v),Pg.remove(o),Ip(e.dom,t)&&Pg.remove(t)},pZ=pl("dd"),gN=pl("dt"),bZ=(e,t)=>{pZ(t)?rh(t,"dt"):gN(t)&&Gc(t).each(o=>hZ(e,o.dom,t.dom))},vZ=e=>{gN(e)&&rh(e,"dd")},yZ=(e,t,o)=>{t==="Indent"?ie(o,vZ):ie(o,r=>bZ(e,r))},CZ=(e,t)=>{const o=wm(gO(e)),r=wm(oN(e));let c=!1;if(o.length||r.length){const u=e.selection.getBookmark();fZ(e,o,t),yZ(e,t,r),e.selection.moveToBookmark(u),e.selection.setRng(q3(e.selection.getRng())),e.nodeChanged(),c=!0}return c},xO=(e,t)=>!YU(e)&&CZ(e,t),hN=e=>xO(e,"Indent"),EO=e=>xO(e,"Outdent"),TC=e=>xO(e,"Flatten"),Ob=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},SZ=(e,t,o)=>{const r=o["list-style-type"]?o["list-style-type"]:null;e.setStyle(t,"list-style-type",r)},pN=(e,t)=>{Oe.each(t,(o,r)=>{e.setAttribute(r,o)})},wZ=(e,t,o)=>{pN(t,o["list-attributes"]),Oe.each(e.select("li",t),r=>{pN(r,o["list-item-attributes"])})},Db=(e,t,o)=>{SZ(e,t,o),wZ(e,t,o)},TO=(e,t,o)=>{Oe.each(o,r=>e.setStyle(t,r,""))},J3=(e,t)=>pe(t)&&!G3(t,e.schema.getBlockElements()),kO=(e,t,o,r)=>{let c=t[o?"startContainer":"endContainer"];const u=t[o?"startOffset":"endOffset"];jB(c)&&(c=c.childNodes[Math.min(u,c.childNodes.length-1)]||c),!o&&Fp(c.nextSibling)&&(c=c.nextSibling);const f=v=>{for(;!e.dom.isBlock(v)&&v.parentNode&&r!==v;)v=v.parentNode;return v},p=(v,w)=>{var P;const _=new gs(v,f(v)),O=w?"next":"prev";let R;for(;R=_[O]();)if(!(HU(e,R)||nu(R.textContent)||((P=R.textContent)==null?void 0:P.length)===0))return B.some(R);return B.none()};if(o&&Qd(c))if(nu(c.textContent))c=p(c,!1).getOr(c);else for(c.parentNode!==null&&J3(e,c.parentNode)&&(c=c.parentNode);c.previousSibling!==null&&(J3(e,c.previousSibling)||Qd(c.previousSibling));)c=c.previousSibling;if(!o&&Qd(c))if(nu(c.textContent))c=p(c,!0).getOr(c);else for(c.parentNode!==null&&J3(e,c.parentNode)&&(c=c.parentNode);c.nextSibling!==null&&(J3(e,c.nextSibling)||Qd(c.nextSibling));)c=c.nextSibling;for(;c.parentNode!==r;){const v=c.parentNode;if(uO(e,c)||/^(TD|TH)$/.test(v.nodeName))return c;c=v}return c},xZ=(e,t,o)=>{const r=[],c=e.dom,u=kO(e,t,!0,o),f=kO(e,t,!1,o);let p;const v=[];for(let w=u;w&&(v.push(w),w!==f);w=w.nextSibling);return Oe.each(v,w=>{var O;if(uO(e,w)){r.push(w),p=null;return}if(c.isBlock(w)||Fp(w)){Fp(w)&&c.remove(w),p=null;return}const _=w.nextSibling;if(wa.isBookmarkNode(w)&&(sl(_)||uO(e,_)||!_&&w.parentNode===o)){p=null;return}p||(p=c.create("p"),(O=w.parentNode)==null||O.insertBefore(p,w),r.push(p)),p.appendChild(w)}),r},EZ=(e,t,o)=>{const r=e.getStyle(t,"list-style-type");let c=o?o["list-style-type"]:"";return c=c===null?"":c,r===c},TZ=(e,t)=>{const o=e.selection.getStart(!0),r=kO(e,t,!0,e.getBody());return jv(U.fromDom(r),U.fromDom(t.commonAncestorContainer))?t.commonAncestorContainer:o},AO=(e,t,o)=>{const r=e.selection.getRng();let c="LI";const u=EC(e,TZ(e,r),r.collapsed),f=e.dom;if(f.getContentEditable(e.selection.getNode())==="false")return;t=t.toUpperCase(),t==="DL"&&(c="DT");const p=Ud(r),v=ft(xZ(e,r,u),e.dom.isEditable);Oe.each(v,w=>{let _;const O=w.previousSibling,R=w.parentNode;j3(R)||(O&&sl(O)&&O.nodeName===t&&EZ(f,O,o)?(_=O,w=f.rename(w,c),O.appendChild(w)):(_=f.create(t),R.insertBefore(_,w),_.appendChild(w),w=f.rename(w,c)),TO(f,w,["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"]),Db(f,_,o),_O(e.dom,_))}),e.selection.setRng(of(p))},kZ=(e,t)=>sl(e)&&e.nodeName===(t==null?void 0:t.nodeName),AZ=(e,t,o)=>{const r=e.getStyle(t,"list-style-type",!0),c=e.getStyle(o,"list-style-type",!0);return r===c},_Z=(e,t)=>e.className===t.className,bN=(e,t,o)=>kZ(t,o)&&AZ(e,t,o)&&_Z(t,o),_O=(e,t)=>{let o,r=t.nextSibling;if(bN(e,t,r)){const c=r;for(;o=c.firstChild;)t.appendChild(o);e.remove(c)}if(r=t.previousSibling,bN(e,t,r)){const c=r;for(;o=c.lastChild;)t.insertBefore(o,t.firstChild);e.remove(c)}},OZ=(e,t,o,r)=>{if(t.nodeName!==o){const c=e.dom.rename(t,o);Db(e.dom,c,r),Lp(e,Ob(o),c)}else Db(e.dom,t,r),Lp(e,Ob(o),t)},DZ=(e,t,o,r)=>{if(t.classList.forEach((c,u,f)=>{c.startsWith("tox-")&&(f.remove(c),f.length===0&&t.removeAttribute("class"))}),t.nodeName!==o){const c=e.dom.rename(t,o);Db(e.dom,c,r),Lp(e,Ob(o),c)}else Db(e.dom,t,r),Lp(e,Ob(o),t)},RZ=(e,t,o,r,c)=>{const u=sl(t);if(u&&t.nodeName===r&&!vN(c)&&!K3(t))TC(e);else{AO(e,r,c);const f=Ud(e.selection.getRng()),p=u?[t,...o]:o,v=u&&K3(t)?DZ:OZ;Oe.each(p,w=>{v(e,w,r,c)}),e.selection.setRng(of(f))}},vN=e=>"list-style-type"in e,MZ=(e,t,o,r)=>{if(t!==e.getBody())if(t)if(t.nodeName===o&&!vN(r)&&!K3(t))TC(e);else{const c=Ud(e.selection.getRng());K3(t)&&t.classList.forEach((f,p,v)=>{f.startsWith("tox-")&&(v.remove(f),v.length===0&&t.removeAttribute("class"))}),Db(e.dom,t,r);const u=e.dom.rename(t,o);_O(e.dom,u),e.selection.setRng(of(c)),AO(e,o,r),Lp(e,Ob(o),u)}else AO(e,o,r),Lp(e,Ob(o),t)},OO=(e,t,o)=>{const r=xC(e);if(bO(e,r))return;const c=eN(e),u=fn(o)?o:{};c.length>0?RZ(e,r,c,t,u):MZ(e,r,t,u)},yN=(e,t,o,r)=>{let c=t.startContainer;const u=t.startOffset;if(Qd(c)&&(o?u0))return c;const f=e.schema.getNonEmptyElements();jB(c)&&(c=Ru.getNode(c,u));const p=new gs(c,r);o&&zU(e.dom,c)&&p.next();const v=o?p.next.bind(p):p.prev2.bind(p);for(;c=v();)if(c.nodeName==="LI"&&!c.hasChildNodes()||f[c.nodeName]||Qd(c)&&c.data.length>0)return c;return null},CN=(e,t)=>{const o=t.childNodes;return o.length===1&&!sl(o[0])&&e.isBlock(o[0])},BZ=e=>B.from(e).map(U.fromDom).filter(Oi).exists(t=>Xc(t)&&!Bt(["details"],Wt(t))),NZ=(e,t)=>{CN(e,t)&&BZ(t.firstChild)&&e.remove(t.firstChild,!0)},DO=(e,t,o)=>{let r;const c=CN(e,o)?o.firstChild:o;if(NZ(e,t),!Ip(e,t,!0))for(;r=t.firstChild;)c.appendChild(r)},RO=(e,t,o)=>{let r;const c=t.parentNode;if(!GB(e,t)||!GB(e,o))return;sl(o.lastChild)&&(r=o.lastChild),c===o.lastChild&&Fp(c.previousSibling)&&e.remove(c.previousSibling);const u=o.lastChild;u&&Fp(u)&&t.hasChildNodes()&&e.remove(u),Ip(e,o,!0)&&ac(U.fromDom(o)),DO(e,t,o),r&&o.appendChild(r);const p=tc(U.fromDom(o),U.fromDom(t))?e.getParents(t,sl,o):[];e.remove(t),ie(p,v=>{Ip(e,v)&&v!==e.getRoot()&&e.remove(v)})},PZ=(e,t,o)=>{ac(U.fromDom(o)),RO(e.dom,t,o),e.selection.setCursorLocation(o,0)},SN=(e,t,o,r)=>{const c=e.dom;if(c.isEmpty(r))PZ(e,o,r);else{const u=Ud(t);RO(c,o,r),e.selection.setRng(of(u))}},$Z=(e,t,o,r)=>{const c=Ud(t);RO(e.dom,o,r);const u=of(c);e.selection.setRng(u)},FZ=(e,t)=>{const o=e.dom,r=e.selection,c=r.getStart(),u=fO(e,c),f=o.getParent(r.getStart(),"LI",u);if(f){const p=f.parentElement;if(p===e.getBody()&&Ip(o,p))return!0;const v=q3(r.getRng()),w=o.getParent(yN(e,v,t,u),"LI",u),_=w&&(t?o.isChildOf(f,w):o.isChildOf(w,f));if(w&&w!==f&&!_)return e.undoManager.transact(()=>{t?SN(e,v,w,f):LU(f)?EO(e):$Z(e,v,f,w)}),!0;if(_&&!t&&w!==f){const O=v.commonAncestorContainer.parentElement;return!O||o.isChildOf(w,O)?!1:(e.undoManager.transact(()=>{const R=Ud(v);DO(o,O,w),O.remove();const P=of(R);e.selection.setRng(P)}),!0)}else if(!w&&!t&&v.startOffset===0&&v.endOffset===0)return e.undoManager.transact(()=>{TC(e)}),!0}return!1},IZ=(e,t,o)=>{const r=e.getParent(t.parentNode,e.isBlock,o);e.remove(t),r&&e.isEmpty(r)&&e.remove(r)},LZ=(e,t)=>{const o=e.dom,r=e.selection.getStart(),c=fO(e,r),u=o.getParent(r,o.isBlock,c);if(u&&o.isEmpty(u,void 0,{checkRootAsContent:!0})){const f=q3(e.selection.getRng()),p=yN(e,f,t,c),v=o.getParent(p,"LI",c);if(p&&v){const w=P=>Bt(["td","th","caption"],Wt(P)),_=P=>P.dom===c,O=Un(U.fromDom(v),w,_),R=Un(U.fromDom(f.startContainer),w,_);return a1(O,R,sn)?(e.undoManager.transact(()=>{const P=v.parentNode;IZ(o,u,c),_O(o,P),e.selection.select(p,!0),e.selection.collapse(t)}),!0):!1}}return!1},MO=(e,t)=>FZ(e,t)||LZ(e,t),Q3=e=>{const t=e.selection.getStart(),o=fO(e,t),r=e.dom.getParent(t,"LI,DT,DD",o);return pe(r)||nN(e).length>0},oX=(e,t)=>Q3(e)?(e.undoManager.transact(()=>{WB(e,t,()=>e.execCommand("Delete"))&&dO(e.dom,e.getBody())}),!0):!1,Vp=(e,t)=>{const o=e.selection;return!bO(e,o.getNode())&&(o.isCollapsed()?MO(e,t):oX(e,t))},sX=(e,t)=>({block:e,position:t}),rX=(e,t)=>({from:e,to:t}),wN=(e,t)=>{const o=U.fromDom(e),r=U.fromDom(t.container());return p_(o,r).map(c=>sX(c,t))},aX=e=>!(tc(e.to.block,e.from.block)||tc(e.from.block,e.to.block)),Iu=e=>!sn(e.from.block,e.to.block),Rb=(e,t)=>Un(t,c=>Bh(c)||ir(c.dom),c=>sn(c,e)).filter(bo).getOr(e),Lu=(e,t)=>{const o=U.fromDom(e);return sn(Rb(o,t.from.block),Rb(o,t.to.block))},Up=e=>ro(e.from.block.dom)===!1&&ro(e.to.block.dom)===!1,BO=e=>{const t=o=>Pw(o)||Ch(o.dom)||xd(o);return t(e.from.block)&&t(e.to.block)},xN=(e,t,o,r)=>uo(r.position.getNode())&&!Er(e,r.block)?E(!1,r.block.dom).bind(c=>c.isEqual(r.position)?m(o,t,c).bind(u=>wN(t,u)):B.some(r)).getOr(r):r,kC=(e,t,o,r)=>{const c=wN(t,he.fromRangeStart(r)),u=c.bind(f=>m(o,t,f.position).bind(p=>wN(t,p).map(v=>xN(e,t,o,v))));return xs(c,u,rX).filter(f=>Iu(f)&&Lu(t,f)&&Up(f)&&BO(f)&&aX(f))},HZ=(e,t,o,r)=>r.collapsed?kC(e,t,o,r):B.none(),EN=(e,t)=>{const o=Do(e);return mm(o,r=>t.isBlock(Wt(r))).fold(Me(o),r=>o.slice(0,r))},zZ=(e,t)=>{const o=EN(e,t);return ie(o,no),o},TN=(e,t,o)=>{const r=zd(o,t);return Qn(r.reverse(),c=>Er(e,c)).each(no)},AC=(e,t)=>ft(Cr(t),o=>!Er(e,o)).length===0,kN=(e,t,o,r,c)=>{if(Er(r,o))return Vi(o),$(o.dom);AC(r,c)&&Er(r,t)&&ar(c,U.fromTag("br"));const u=M(o.dom,he.before(c.dom));return ie(zZ(t,r),f=>{ar(c,f)}),TN(r,e,t),u},is=(e,t)=>e.isInline(Wt(t)),VZ=(e,t,o,r)=>{if(Er(r,o)){if(Er(r,t)){const f=Pr((p=>{const v=(w,_)=>$s(w).fold(()=>_,O=>is(r,O)?v(O,_.concat(Sr(O))):_);return v(p,[])})(o),(p,v)=>(Ma(p,v),v),Ed());ac(t),pn(t,f)}return no(o),$(t.dom)}const c=H(o.dom);return ie(zZ(t,r),u=>{pn(o,u)}),TN(r,e,t),c},UZ=(e,t)=>{const o=zd(t,e);return B.from(o[o.length-1])},Mb=(e,t)=>tc(t,e)?UZ(t,e):B.none(),$g=(e,t)=>{E(e,t.dom).bind(o=>B.from(o.getNode())).map(U.fromDom).filter(Ar).each(no)},Fg=(e,t,o,r)=>($g(!0,t),$g(!1,o),Mb(t,o).fold(Ae(VZ,e,t,o,r),Ae(kN,e,t,o,r))),AN=(e,t,o,r,c)=>t?Fg(e,r,o,c):Fg(e,o,r,c),NO=(e,t)=>{const o=U.fromDom(e.getBody());return HZ(e.schema,o.dom,t,e.selection.getRng()).map(c=>()=>{AN(o,t,c.from.block,c.to.block,e.schema).each(u=>{e.selection.setRng(u.toRange())})})},PO=(e,t,o)=>{const r=t.getRng();return xs(p_(e,U.fromDom(r.startContainer)),p_(e,U.fromDom(r.endContainer)),(c,u)=>sn(c,u)?B.none():B.some(()=>{r.deleteContents(),AN(e,!0,c,u,o).each(f=>{t.setRng(f.toRange())})})).getOr(B.none())},eE=(e,t)=>{const o=U.fromDom(t),r=Ae(sn,e);return Cl(o,Bh,r).isSome()},_N=(e,t)=>eE(e,t.startContainer)||eE(e,t.endContainer),ON=(e,t)=>{const o=M(e.dom,he.fromRangeStart(t)).isNone(),r=A(e.dom,he.fromRangeEnd(t)).isNone();return!_N(e,t)&&o&&r},ZZ=e=>B.some(()=>{e.setContent(""),e.selection.setCursorLocation()}),WZ=e=>{const t=U.fromDom(e.getBody()),o=e.selection.getRng();return ON(t,o)?ZZ(e):PO(t,e.selection,e.schema)},_C=(e,t)=>e.selection.isCollapsed()?B.none():WZ(e),af=(e,t,o,r,c)=>B.from(t._selectionOverrides.showCaret(e,o,r,c)),jZ=e=>{const t=e.ownerDocument.createRange();return t.selectNode(e),t},OC=(e,t)=>e.dispatch("BeforeObjectSelected",{target:t}).isDefaultPrevented()?B.none():B.some(jZ(t)),GZ=(e,t,o)=>{const r=cp(1,e.getBody(),t),c=he.fromRangeStart(r),u=c.getNode();if(Zm(u))return af(1,e,u,!c.isAtEnd(),!1);const f=c.getNode(!0);if(Zm(f))return af(1,e,f,!1,!1);const p=Sp(e.dom.getRoot(),c.getNode());return Zm(p)?af(1,e,p,!1,o):B.none()},$O=(e,t,o)=>t.collapsed?GZ(e,t,o).getOr(t):t,FO=e=>Qm(e)||Vy(e),DN=e=>ef(e)||Uy(e),qZ=(e,t)=>{Se(t)&&t.data.length===0&&e.remove(t)},RN=(e,t,o,r,c,u)=>{af(r,e,u.getNode(!c),c,!0).each(f=>{if(t.collapsed){const p=t.cloneRange();c?p.setEnd(f.startContainer,f.startOffset):p.setStart(f.endContainer,f.endOffset),p.deleteContents()}else t.deleteContents();e.selection.setRng(f)}),qZ(e.dom,o)},Bb=(e,t)=>{const o=e.selection.getRng();if(!Se(o.commonAncestorContainer))return B.none();const r=t?1:-1,c=_n(e.getBody()),u=Ae(lp,t?c.next:c.prev),f=t?FO:DN,p=Gm(r,e.getBody(),o),v=u(p),w=v&&Ml(t,v);if(!w||!up(p,w))return B.none();if(f(w))return B.some(()=>RN(e,o,p.getNode(),r,t,w));const _=u(w);return _&&f(_)&&up(w,_)?B.some(()=>RN(e,o,p.getNode(),r,t,_)):B.none()},tE=(e,t)=>Bb(e,t),IO=(e,t)=>{const o=e.getBody();return t?$(o).filter(Qm):H(o).filter(ef)},nE=e=>{const t=e.selection.getRng();return!t.collapsed&&(IO(e,!0).exists(o=>o.isEqual(he.fromRangeStart(t)))||IO(e,!1).exists(o=>o.isEqual(he.fromRangeEnd(t))))},KZ=e=>pe(e)&&(Bh(U.fromDom(e))||xd(U.fromDom(e))),Dc=Ql.generate([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),YZ=(e,t)=>{const o=t.getNode(!e),r=e?"after":"before";return ot(o)&&o.getAttribute("data-mce-caret")===r},MN=(e,t,o,r,c)=>{const u=f=>c.isInline(f.nodeName.toLowerCase())&&!Dl(o,r,e);return Dy(!t,o).fold(()=>Dy(t,r).fold(Ee,u),u)},LO=(e,t,o,r,c)=>{const u=c.getNode(!o);return p_(U.fromDom(t),U.fromDom(r.getNode())).map(f=>Er(e,f)?Dc.remove(f.dom):Dc.moveToElement(u)).orThunk(()=>B.some(Dc.moveToElement(u)))},HO=(e,t,o,r)=>m(t,e,o).bind(c=>KZ(c.getNode())||MN(e,t,o,c,r)?B.none():t&&ro(c.getNode())||!t&&ro(c.getNode(!0))?LO(r,e,t,o,c):t&&ef(o)||!t&&Qm(o)?B.some(Dc.moveToPosition(c)):B.none()),BN=(e,t)=>on(t)?B.none():e&&ro(t.nextSibling)?B.some(Dc.moveToElement(t.nextSibling)):!e&&ro(t.previousSibling)?B.some(Dc.moveToElement(t.previousSibling)):B.none(),NN=(e,t,o)=>o.fold(r=>B.some(Dc.remove(r)),r=>B.some(Dc.moveToElement(r)),r=>Dl(t,r,e)?B.none():B.some(Dc.moveToPosition(r))),PN=(e,t,o,r)=>YZ(t,o)?BN(t,o.getNode(!t)).orThunk(()=>HO(e,t,o,r)):HO(e,t,o,r).bind(c=>NN(e,o,c)),XZ=(e,t,o,r)=>{const c=cp(t?1:-1,e,o),u=he.fromRangeStart(c),f=U.fromDom(e);return!t&&ef(u)?B.some(Dc.remove(u.getNode(!0))):t&&Qm(u)?B.some(Dc.remove(u.getNode())):!t&&Qm(u)&&D4(f,u,r)?l_(f,u,r).map(p=>Dc.remove(p.getNode())):t&&ef(u)&&i_(f,u,r)?PY(f,u,r).map(p=>Dc.remove(p.getNode())):PN(e,t,u,r)},JZ=(e,t)=>o=>(e._selectionOverrides.hideFakeCaret(),Sg(e,t,U.fromDom(o)),!0),QZ=(e,t)=>o=>{const r=t?he.before(o):he.after(o);return e.selection.setRng(r.toRange()),!0},zO=e=>t=>(e.selection.setRng(t.toRange()),!0),Nb=(e,t)=>B.from(Sp(e.getBody(),t)),DC=(e,t)=>{const o=e.selection.getNode();return Nb(e,o).filter(ro).fold(()=>XZ(e.getBody(),t,e.selection.getRng(),e.schema).map(r=>()=>r.fold(JZ(e,t),QZ(e,t),zO(e))),()=>B.some(Tt))},VO=e=>{ie(Ys(e,".mce-offscreen-selection"),no)},$N=(e,t)=>{const o=e.selection.getNode();return ro(o)&&!bh(o)?Nb(e,o.parentNode).filter(ro).fold(()=>B.some(()=>{VO(U.fromDom(e.getBody())),Sg(e,t,U.fromDom(e.selection.getNode())),b_(e)}),()=>B.some(Tt)):nE(e)?B.some(()=>{zM(e,e.selection.getRng(),U.fromDom(e.getBody()))}):B.none()},UO=e=>{const t=e.dom,o=e.selection,r=Sp(e.getBody(),o.getNode());if(ir(r)&&t.isBlock(r)&&t.isEmpty(r)){const c=t.create("br",{"data-mce-bogus":"1"});t.setHTML(r,""),r.appendChild(c),o.setRng(he.before(c).toRange())}return!0},Pb=(e,t)=>e.selection.isCollapsed()?DC(e,t):$N(e,t),ZO=(e,t)=>{var p;const o=e.dom,r=o.getParent(e.selection.getStart(),o.isBlock),c=o.getParent(e.selection.getEnd(),o.isBlock),u=e.getBody();if(((p=r==null?void 0:r.nodeName)==null?void 0:p.toLowerCase())==="div"&&r&&c&&r===u.firstChild&&c===u.lastChild&&!o.isEmpty(u)){const v=r.cloneNode(!1),w=()=>{if(t?n9(e):N4(e),u.firstChild!==r){const _=Ud(e.selection.getRng(),()=>document.createElement("span"));Array.from(u.childNodes).forEach(O=>v.appendChild(O)),u.appendChild(v),e.selection.setRng(of(_))}};return B.some(w)}return B.none()},eW=(e,t)=>{const o=he.fromRangeStart(e.selection.getRng());return m(t,e.getBody(),o).filter(r=>t?s_(r):SM(r)).bind(r=>Oy(t?0:-1,r)).map(r=>()=>e.selection.select(r))},cf=(e,t)=>e.selection.isCollapsed()?eW(e,t):B.none(),Ig=Se,WO=e=>Ig(e)&&e.data[0]===Po,$b=e=>Ig(e)&&e.data[e.data.length-1]===Po,jO=e=>(e.ownerDocument??document).createTextNode(Po),GO=e=>{var t;if(Ig(e.previousSibling))return $b(e.previousSibling)||e.previousSibling.appendData(Po),e.previousSibling;if(Ig(e))return WO(e)||e.insertData(0,Po),e;{const o=jO(e);return(t=e.parentNode)==null||t.insertBefore(o,e),o}},FN=e=>{var t,o;if(Ig(e.nextSibling))return WO(e.nextSibling)||e.nextSibling.insertData(0,Po),e.nextSibling;if(Ig(e))return $b(e)||e.appendData(Po),e;{const r=jO(e);return e.nextSibling?(t=e.parentNode)==null||t.insertBefore(r,e.nextSibling):(o=e.parentNode)==null||o.appendChild(r),r}},RC=(e,t)=>e?GO(t):FN(t),tW=Ae(RC,!0),IN=Ae(RC,!1),LN=(e,t)=>Se(e.container())?RC(t,e.container()):RC(t,e.getNode()),HN=(e,t)=>{const o=t.get();return o&&e.container()===o&&oi(o)},qO=(e,t)=>t.fold(o=>{At(e.get());const r=tW(o);return e.set(r),B.some(he(r,r.length-1))},o=>$(o).map(r=>{if(HN(r,e)){const c=e.get();return he(c,1)}else{At(e.get());const c=LN(r,!0);return e.set(c),he(c,1)}}),o=>H(o).map(r=>{if(HN(r,e)){const c=e.get();return he(c,c.length-1)}else{At(e.get());const c=LN(r,!1);return e.set(c),he(c,c.length-1)}}),o=>{At(e.get());const r=IN(o);return e.set(r),B.some(he(r,1))}),zN=(e,t)=>{for(let o=0;o{const o=Hd(t,e);return o||e},UN=(e,t,o)=>{const r=HM(o),c=VN(t,r.container());return nf(e,c,r).fold(()=>A(c,r).bind(Ae(nf,e,c)).map(u=>Gr.before(u)),B.none)},nW=(e,t)=>ue(e,t)===null,ZN=(e,t,o)=>nf(e,t,o).filter(Ae(nW,t)),oW=(e,t,o)=>{const r=QH(o);return ZN(e,t,r).bind(c=>M(c,r).isNone()?B.some(Gr.start(c)):B.none())},sW=(e,t,o)=>{const r=HM(o);return ZN(e,t,r).bind(c=>A(c,r).isNone()?B.some(Gr.end(c)):B.none())},rW=(e,t,o)=>{const r=QH(o),c=VN(t,r.container());return nf(e,c,r).fold(()=>M(c,r).bind(Ae(nf,e,c)).map(u=>Gr.after(u)),B.none)},WN=e=>!IM(KO(e)),em=(e,t,o)=>zN([UN,oW,sW,rW],[e,t,o]).filter(WN),KO=e=>e.fold($o,$o,$o,$o),jN=e=>e.fold(Me("before"),Me("start"),Me("end"),Me("after")),oE=e=>e.fold(Gr.before,Gr.before,Gr.after,Gr.after),YO=e=>e.fold(Gr.start,Gr.start,Gr.end,Gr.end),GN=(e,t)=>jN(e)===jN(t)&&KO(e)===KO(t),aW=(e,t,o,r,c,u)=>xs(nf(t,o,r),nf(t,o,c),(f,p)=>f!==p&&HY(o,f,p)?Gr.after(e?f:p):u).getOr(u),sE=(e,t)=>e.fold(Qe,o=>!GN(o,t)),aa=(e,t,o,r,c)=>{const u=Ml(e,c);return m(e,o,u).map(Ae(Ml,e)).fold(()=>r.map(oE),v=>em(t,o,v).map(Ae(aW,e,t,o,u,v)).filter(Ae(sE,r))).filter(WN)},cW=(e,t)=>e?t.fold(T(B.some,Gr.start),B.none,T(B.some,Gr.after),B.none):t.fold(B.none,T(B.some,Gr.before),B.none,T(B.some,Gr.end)),rE=(e,t,o,r)=>{const c=Ml(e,r),u=em(t,o,c);return em(t,o,c).bind(Ae(cW,e)).orThunk(()=>aa(e,t,o,u,r))},Zp=e=>J(e.selection.getSel().modify),XO=(e,t,o)=>{const r=e?1:-1;return t.setRng(he(o.container(),o.offset()+r).toRange()),t.getSel().modify("move",e?"forward":"backward","word"),!0},Rc=(e,t)=>{const o=t.selection.getRng(),r=e?he.fromRangeEnd(o):he.fromRangeStart(o);return Zp(t)?e&&Ds(r)?XO(!0,t.selection,r):!e&&si(r)?XO(!1,t.selection,r):!1:!1};var Ga;(function(e){e[e.Br=0]="Br",e[e.Block=1]="Block",e[e.Wrap=2]="Wrap",e[e.Eol=3]="Eol"})(Ga||(Ga={}));const MC=(e,t)=>e===-1?Fo(t):t,iW=(e,t,o)=>e===1?t.next(o):t.prev(o),qN=(e,t,o,r)=>uo(r.getNode(t===1))?Ga.Br:Dl(o,r)===!1?Ga.Block:Ga.Wrap,KN=(e,t,o,r)=>{const c=_n(o);let u=r;const f=[];for(;u;){const p=iW(t,c,u);if(!p)break;if(uo(p.getNode(!1)))return t===1?{positions:MC(t,f).concat([p]),breakType:Ga.Br,breakAt:B.some(p)}:{positions:MC(t,f),breakType:Ga.Br,breakAt:B.some(p)};if(!p.isVisible()){u=p;continue}if(e(u,p)){const v=qN(o,t,u,p);return{positions:MC(t,f),breakType:v,breakAt:B.some(p)}}f.push(p),u=p}return{positions:MC(t,f),breakType:Ga.Eol,breakAt:B.none()}},JO=(e,t,o,r)=>t(o,r).breakAt.map(c=>{const u=t(o,c).positions;return e===-1?u.concat(c):[c].concat(u)}).getOr([]),BC=(e,t)=>os(e,(o,r)=>o.fold(()=>B.some(r),c=>xs(ws(c.getClientRects()),ws(r.getClientRects()),(u,f)=>{const p=Math.abs(t-u.left);return Math.abs(t-f.left)<=p?r:c}).or(o)),B.none()),Fb=(e,t)=>ws(t.getClientRects()).bind(o=>BC(e,o.left)),NC=Ae(KN,he.isAbove,-1),PC=Ae(KN,he.isBelow,1),QO=Ae(JO,-1,NC),Vl=Ae(JO,1,PC),$C=(e,t)=>NC(e,t).breakAt.isNone(),e6=(e,t)=>PC(e,t).breakAt.isNone(),aE=e=>$(e).map(t=>[t].concat(PC(e,t).positions)).getOr([]),t6=e=>H(e).map(t=>NC(e,t).positions.concat(t)).getOr([]),n6=(e,t)=>Fb(QO(e,t),t),o6=(e,t)=>Fb(Vl(e,t),t),YN=ro,XN=(e,t)=>Math.abs(e.left-t),JN=(e,t)=>Math.abs(e.right-t),lW=e=>Io(e,"node"),QN=(e,t)=>i1(e,(o,r)=>{const c=Math.min(XN(o,t),JN(o,t)),u=Math.min(XN(r,t),JN(r,t));return u===c&&lW(r)&&YN(r.node)||u{const t=o=>Ot(o,r=>{const c=Tl(r);return c.node=e,c});if(ot(e))return t(e.getClientRects());if(Se(e)){const o=e.ownerDocument.createRange();return o.setStart(e,0),o.setEnd(e,e.data.length),t(o.getClientRects())}else return[]},s6=e=>Bn(e,uW);var Wp;(function(e){e[e.Up=-1]="Up",e[e.Down=1]="Down"})(Wp||(Wp={}));const dW=(e,t,o,r)=>{let c=r;for(;c=hg(c,e,I2,t);)if(o(c))return},eP=(e,t,o,r,c,u)=>{let f=0;const p=[],v=O=>{let R=s6([O]);e===Wp.Up&&(R=R.reverse());for(let P=0;P0&&t(z,ou(p))&&f++,z.line=f,c(z))return!0;p.push(z)}}return!1},w=ou(u.getClientRects());if(!w)return p;const _=u.getNode();return _&&(v(_),dW(e,r,v,_)),p},tP=(e,t)=>t.line>e,r6=(e,t)=>t.line===e,a6=Ae(eP,Wp.Up,Gf,as),nP=Ae(eP,Wp.Down,as,Gf),cE=e=>ou(e.getClientRects()),oP=(e,t,o,r)=>{const c=_n(t);let u,f,p,v;const w=[];let _=0;e===Wp.Down?(u=c.next,f=as,p=Gf,v=he.after(r)):(u=c.prev,f=Gf,p=as,v=he.before(r));const O=cE(v);do{if(!v.isVisible())continue;const R=cE(v);if(p(R,O))continue;w.length>0&&f(R,ou(w))&&_++;const P=Tl(R);if(P.position=v,P.line=_,o(P))return w;w.push(P)}while(v=u(v));return w},c6=e=>t=>tP(e,t),FC=e=>t=>r6(e,t),Hu=(e,t)=>{e.selection.setRng(t),zy(e,e.selection.getRng())},iE=(e,t,o)=>B.some($O(e,t,o)),i6=(e,t)=>{const o=e.getNode(t===-1);return pe(o)&&Ay(o)?B.some(o):B.none()},sP=(e,t)=>{const o=e.dom.createRng();return o.selectNode(t),o},rP=(e,t,o,r,c,u)=>{const f=t===1,p=_n(e.getBody()),v=Ae(lp,f?p.next:p.prev),w=f?r:c;if(!o.collapsed){const z=qf(o);if(u(z))if(Ay(z)){const I=Gm(t,e.getBody(),o);return B.from(v(I)).map(Z=>Z.toRange())}else return af(t,e,z,t===-1,!1);else if(nE(e)){const I=o.cloneRange();return I.collapse(t===-1),B.from(I)}}const _=Gm(t,e.getBody(),o);if(w(_))return OC(e,_.getNode(!f));let O=v(_);const R=c0(o);if(O)O=Ml(f,O);else return R?B.some(o):B.none();if(w(O))return i6(O,t).fold(()=>af(t,e,O==null?void 0:O.getNode(!f),f,!1),z=>B.some(sP(e,z)));const P=v(O);return P&&w(P)&&up(O,P)?i6(O,t).fold(()=>af(t,e,P.getNode(!f),f,!1),z=>B.some(sP(e,z))):R?iE(e,O.toRange(),!1):B.none()},IC=(e,t,o,r,c,u)=>{const f=Gm(t,e.getBody(),o),p=ou(f.getClientRects()),v=t===Wp.Down,w=e.getBody();if(!p)return B.none();if(nE(e)){const Z=v?he.fromRangeEnd(o):he.fromRangeStart(o);return(v?o6:n6)(w,Z).orThunk(()=>B.from(Z)).map(X=>X.toRange())}const O=(v?nP:a6)(w,c6(1),f),R=ft(O,FC(1)),P=p.left,z=QN(R,P);if(z&&u(z.node)){const Z=Math.abs(P-z.left),Y=Math.abs(P-z.right);return af(t,e,z.node,Z$O(e,Z.toRange(),!1)):B.none()},l6=(e,t)=>{const o=e.selection.getRng(),r=t?he.fromRangeEnd(o):he.fromRangeStart(o),c=gA(r.container(),e.getBody());if(t){const u=PC(c,r);return $r(u.positions)}else{const u=NC(c,r);return ws(u.positions)}},Ib=(e,t,o)=>l6(e,t).filter(o).exists(r=>(e.selection.setRng(r.toRange()),!0)),lE=(e,t)=>{const o=e.dom.createRng();o.setStart(t.container(),t.offset()),o.setEnd(t.container(),t.offset()),e.selection.setRng(o)},aP=(e,t)=>{e?t.setAttribute("data-mce-selected","inline-boundary"):t.removeAttribute("data-mce-selected")},cP=(e,t,o)=>qO(t,o).map(r=>(lE(e,r),o)),mW=(e,t,o)=>{const r=he.fromRangeStart(e);if(e.collapsed)return r;{const c=he.fromRangeEnd(e);return o?M(t,c).getOr(c):A(t,r).getOr(r)}},iP=(e,t,o)=>{const r=e.getBody(),c=mW(e.selection.getRng(),r,o),u=Ae(yp,e);return rE(o,u,r,c).bind(p=>cP(e,t,p))},lP=(e,t,o)=>{const r=Ot(Ys(U.fromDom(t.getRoot()),'*[data-mce-selected="inline-boundary"]'),f=>f.dom),c=ft(r,e),u=ft(o,e);ie(jo(c,u),Ae(aP,!1)),ie(jo(u,c),Ae(aP,!0))},fW=(e,t)=>{const o=t.get();if(e.selection.isCollapsed()&&!e.composing&&o){const r=he.fromRangeStart(e.selection.getRng());he.isTextPosition(r)&&!zY(r)&&(lE(e,lA(o,r)),t.set(null))}},gW=(e,t,o,r)=>{if(t.selection.isCollapsed()){const c=ft(r,e);ie(c,u=>{const f=he.fromRangeStart(t.selection.getRng());em(e,t.getBody(),f).bind(p=>cP(t,o,p))})}},uP=(e,t,o)=>B0(e)?iP(e,t,o).isSome():!1,dP=(e,t,o)=>B0(t)?Rc(e,t):!1,hW=e=>{const t=kt(null),o=Ae(yp,e);return e.on("NodeChange",r=>{B0(e)&&(lP(o,e.dom,r.parents),fW(e,t),gW(o,e,t,r.parents))}),t},mP=Ae(dP,!0),cX=Ae(dP,!1),uE=(e,t,o)=>{if(B0(e)){const r=l6(e,t).getOrThunk(()=>{const c=e.selection.getRng();return t?he.fromRangeEnd(c):he.fromRangeStart(c)});return em(Ae(yp,e),e.getBody(),r).exists(c=>{const u=oE(c);return qO(o,u).exists(f=>(lE(e,f),!0))})}else return!1},pW=(e,t)=>{const o=document.createRange();return o.setStart(e.container(),e.offset()),o.setEnd(t.container(),t.offset()),o},bW=e=>xs($(e),H(e),(t,o)=>{const r=Ml(!0,t),c=Ml(!1,o);return A(e,r).forall(u=>u.isEqual(c))}).getOr(!0),fP=(e,t)=>o=>qO(t,o).map(r=>()=>lE(e,r)),gP=(e,t,o,r)=>{const c=e.getBody(),u=Ae(yp,e);e.undoManager.ignore(()=>{e.selection.setRng(pW(o,r)),N4(e),em(u,c,he.fromRangeStart(e.selection.getRng())).map(YO).bind(fP(e,t)).each(Yr)}),e.nodeChanged()},vW=(e,t)=>{const o=Hd(t,e);return o||e},yW=(e,t,o,r)=>{const c=vW(e.getBody(),r.container()),u=Ae(yp,e),f=em(u,c,r);return f.bind(v=>o?v.fold(Me(B.some(YO(v))),B.none,Me(B.some(oE(v))),B.none):v.fold(B.none,Me(B.some(oE(v))),B.none,Me(B.some(YO(v))))).map(fP(e,t)).getOrThunk(()=>{const v=b(o,c,r),w=v.bind(_=>em(u,c,_));return xs(f,w,()=>nf(u,c,r).bind(_=>bW(_)?B.some(()=>{Sg(e,o,U.fromDom(_))}):B.none())).getOrThunk(()=>w.bind(()=>v.map(_=>()=>{o?gP(e,t,r,_):gP(e,t,_,r)})))})},dE=(e,t,o)=>{if(e.selection.isCollapsed()&&B0(e)){const r=he.fromRangeStart(e.selection.getRng());return yW(e,t,o,r)}return B.none()},CW=e=>ym(e)>1,hP=(e,t)=>{const o=U.fromDom(e.getBody()),r=U.fromDom(e.selection.getStart()),c=zd(r,o);return mm(c,t).fold(Me(c),u=>c.slice(0,u))},SW=e=>ym(e)===1,wW=e=>hP(e,t=>e.schema.isBlock(Wt(t))||CW(t)),xW=e=>hP(e,t=>e.schema.isBlock(Wt(t))),pP=(e,t)=>{const o=Ae($9,e);return Bn(t,r=>o(r)?[r.dom]:[])},u6=e=>{const t=xW(e);return pP(e,t)},EW=(e,t,o,r)=>{const c=pP(t,r);if(c.length===0)Sg(t,e,o);else{const u=c8(o.dom,c);t.selection.setRng(u.toRange())}},TW=(e,t)=>{const o=ft(wW(e),SW);return $r(o).bind(r=>{const c=he.fromRangeStart(e.selection.getRng());return v_(t,c,r.dom)&&!Du(r)?B.some(()=>EW(t,e,r,o)):B.none()})},kW=(e,t)=>{const o=t.parentElement;return uo(t)&&!te(o)&&e.dom.isEmpty(o)},bP=e=>Du(U.fromDom(e)),vP=(e,t)=>{const o=e.selection.getStart(),r=kW(e,o)||bP(o)?c8(o,t):P9(e.selection.getRng(),t);e.selection.setRng(r.toRange())},yP=(e,t)=>{const o=jo(t,u6(e));o.length>0&&vP(e,o)},CP=e=>Se(e.startContainer),mE=e=>e.startOffset===0&&CP(e),AW=(e,t)=>{const o=t.startContainer.parentElement;return!te(o)&&$9(e,U.fromDom(o))},_W=e=>{const t=e.startContainer.parentNode,o=e.endContainer.parentNode;return!te(t)&&!te(o)&&t.isEqualNode(o)},SP=e=>{const t=e.endContainer;return e.endOffset===(Se(t)?t.length:t.childNodes.length)},d6=e=>_W(e)&&SP(e),OW=e=>!e.endContainer.isEqualNode(e.commonAncestorContainer),DW=e=>d6(e)||OW(e),iX=e=>{const t=e.selection.getRng();return mE(t)&&AW(e,t)&&DW(t)},RW=e=>{if(iX(e)){const t=u6(e);return B.some(()=>{N4(e),yP(e,t)})}else return B.none()},m6=(e,t)=>e.selection.isCollapsed()?TW(e,t):RW(e),MW=(e,t)=>Df(e,o=>ne(o.dom),o=>t.isBlock(Wt(o))),LC=e=>MW(U.fromDom(e.selection.getStart()),e.schema),BW=e=>{const t=e.selection.getRng();return t.collapsed&&(CP(t)||e.dom.isEmpty(t.startContainer))&&!LC(e)},HC=e=>(BW(e)&&vP(e,[]),!0),f6=(e,t,o)=>pe(o)?B.some(()=>{e._selectionOverrides.hideFakeCaret(),Sg(e,t,U.fromDom(o))}):B.none(),wP=(e,t)=>{const o=t?Vy:Uy,c=Gm(t?1:-1,e.getBody(),e.selection.getRng());return o(c)?f6(e,t,c.getNode(!t)):B.from(Ml(t,c)).filter(u=>o(u)&&up(c,u)).bind(u=>f6(e,t,u.getNode(!t)))},Lg=(e,t)=>{const o=e.selection.getNode();return uc(o)?f6(e,t,o):B.none()},ca=(e,t)=>e.selection.isCollapsed()?wP(e,t):Lg(e,t),xP=e=>Un(e,t=>ir(t.dom)||ro(t.dom)).exists(t=>ir(t.dom)),jp=e=>AS(e??"").getOr(0),lf=(e,t)=>{const o=e||Vr(t)?"margin":"padding",r=No(t,"direction")==="rtl"?"-right":"-left";return o+r},tm=(e,t,o,r,c,u)=>{const f=lf(o,U.fromDom(u)),p=jp(e.getStyle(u,f));if(t==="outdent"){const v=Math.max(0,p-r);e.setStyle(u,f,v?v+c:"")}else{const v=p+r+c;e.setStyle(u,f,v)}},zC=(e,t)=>Xl(t,o=>{const r=lf(Uk(e),o),c=fs(o,r).map(jp).getOr(0);return e.dom.getContentEditable(o.dom)!=="false"&&c>0}),fE=e=>{const t=TP(e);return!e.mode.isReadOnly()&&(t.length>1||zC(e,t))},g6=e=>!e.mode.isReadOnly()&&gZ(e),h6=e=>wd(e)||xd(e),EP=e=>Ra(e).exists(h6),TP=e=>ft(wm(e.selection.getSelectedBlocks()),t=>!h6(t)&&!EP(t)&&xP(t)),kP=(e,t)=>{var p;if(e.mode.isReadOnly())return;const{dom:o}=e,r=ig(e),c=((p=/[a-z%]+$/i.exec(r))==null?void 0:p[0])??"px",u=jp(r),f=Uk(e);ie(TP(e),v=>{tm(o,t,f,u,c,v.dom)}),t==="indent"?hN(e):EO(e)},AP=e=>kP(e,"indent"),p6=e=>kP(e,"outdent"),b6=e=>{if(e.selection.isCollapsed()&&fE(e)){const t=e.dom,o=e.selection.getRng(),r=he.fromRangeStart(o),c=t.getParent(o.startContainer,t.isBlock);if(c!==null&&c_(U.fromDom(c),r,e.schema))return B.some(()=>p6(e))}return B.none()},NW=(e,t)=>{const o=e.selection.getRng(),r=j4(o);return SR(r)?B.some(()=>Sg(e,t,U.fromDom(o.startContainer.childNodes[o.startOffset]))):B.none()},_P=(e,t)=>e.selection.isCollapsed()?B.none():NW(e,t),PW=(e,t,o)=>ml([b6,Pb,tE,(r,c)=>dE(r,t,c),NO,Bl,cf,ca,_C,m6,ZO,_P],r=>r(e,o)).filter(r=>e.selection.isEditable()),OP=(e,t)=>{PW(e,t,!1).fold(()=>{e.selection.isEditable()&&(N4(e),b_(e))},Yr),Q3(e)&&dO(e.dom,e.getBody())},Ul=(e,t)=>{PW(e,t,!0).fold(()=>{e.selection.isEditable()&&n9(e)},Yr),Q3(e)&&dO(e.dom,e.getBody())},$W=(e,t)=>{e.addCommand("delete",()=>{OP(e,t)}),e.addCommand("forwardDelete",()=>{Ul(e,t)})},DP=5,Gp=400,v6=e=>e.touches===void 0||e.touches.length!==1?B.none():B.some(e.touches[0]),FW=(e,t)=>{const o=Math.abs(e.clientX-t.x),r=Math.abs(e.clientY-t.y);return o>DP||r>DP},gE=e=>{const t=Vc(),o=kt(!1),r=xf(c=>{e.dispatch("longpress",{...c,type:"longpress"}),o.set(!0)},Gp);e.on("touchstart",c=>{v6(c).each(u=>{r.cancel();const f={x:u.clientX,y:u.clientY,target:c.target};r.throttle(c),o.set(!1),t.set(f)})},!0),e.on("touchmove",c=>{r.cancel(),v6(c).each(u=>{t.on(f=>{FW(u,f)&&(t.clear(),o.set(!1),e.dispatch("longpresscancel"))})})},!0),e.on("touchend touchcancel",c=>{r.cancel(),c.type!=="touchcancel"&&t.get().filter(u=>u.target.isEqualNode(c.target)).each(()=>{o.get()?c.preventDefault():e.dispatch("tap",{...c,type:"tap"})})},!0)},VC=(e,t)=>Ut(e,t.nodeName),RP=(e,t)=>Se(t)?!0:ot(t)?!VC(e.getBlockElements(),t)&&!Zr(t)&&!lr(e,t)&&!mu(t)&&!n2(t):!1,MP=(e,t,o)=>qn(r_(U.fromDom(o),U.fromDom(t)),r=>VC(e,r.dom)),IW=(e,t)=>{if(Se(t)){if(t.data.length===0)return!0;if(/^\s+$/.test(t.data))return!t.nextSibling||VC(e,t.nextSibling)||mu(t.nextSibling)}return!1},hE=e=>e.dom.create(zs(e),_l(e)),BP=e=>{const t=e.dom,o=e.selection,r=e.schema,c=r.getBlockElements(),u=o.getStart(),f=e.getBody();let p,v,w=null;const _=zs(e);if(!u||!ot(u))return;const O=f.nodeName.toLowerCase();if(!r.isValidChild(O,_.toLowerCase())||MP(c,f,u))return;if(f.firstChild===f.lastChild&&uo(f.firstChild)){p=hE(e),p.appendChild(Ed().dom),f.replaceChild(p,f.firstChild),e.selection.setCursorLocation(p,0),e.nodeChanged();return}let R=f.firstChild;for(;R;)if(ot(R)&&Te(r,R),RP(r,R)){if(IW(c,R)){v=R,R=R.nextSibling,t.remove(v);continue}if(!p){if(!w&&e.hasFocus()&&(w=Ud(e.selection.getRng(),()=>document.createElement("span"))),!R.parentNode){R=null;break}p=hE(e),f.insertBefore(p,R)}v=R,R=R.nextSibling,p.appendChild(v)}else p=null,R=R.nextSibling;w&&(e.selection.setRng(of(w)),e.nodeChanged())},y6=(e,t,o)=>{const r=U.fromDom(hE(e)),c=Ed();pn(r,c),o(t,r);const u=document.createRange();return u.setStartBefore(c.dom),u.setEndBefore(c.dom),u},C6=e=>{e.on("NodeChange",()=>BP(e))},NP=e=>t=>(" "+t.attr("class")+" ").indexOf(e)!==-1,LW=(e,t,o)=>function(r){const c=arguments,u=c[c.length-2],f=u>0?t.charAt(u-1):"";if(f==='"')return r;if(f===">"){const p=t.lastIndexOf("<",u);if(p!==-1&&t.substring(p,u).indexOf('contenteditable="false"')!==-1)return r}return''+e.dom.encode(typeof c[1]=="string"?c[1]:c[0])+""},HW=(e,t,o)=>{let r=t.length,c=o.content;if(o.format!=="raw"){for(;r--;)c=c.replace(t[r],LW(e,c,Vm(e)));o.content=c}},zW=(e,t)=>Xl(e,o=>{const r=t.match(o);return r!==null&&r[0].length===t.length}),VW=e=>{const t="contenteditable",o=" "+Oe.trim(Fx(e))+" ",r=" "+Oe.trim(Vm(e))+" ",c=NP(o),u=NP(r),f=Cy(e);f.length>0&&e.on("BeforeSetContent",p=>{HW(e,f,p)}),e.parser.addAttributeFilter("class",p=>{let v=p.length;for(;v--;){const w=p[v];c(w)?w.attr(t,"true"):u(w)&&w.attr(t,"false")}}),e.serializer.addAttributeFilter(t,p=>{let v=p.length;for(;v--;){const w=p[v];if(!c(w)&&!u(w))continue;const _=w.attr("data-mce-content");f.length>0&&_?zW(f,_)?(w.name="#text",w.type=3,w.raw=!0,w.value=_):w.remove():w.attr(t,null)}})},UW=e=>Sl(U.fromDom(e.getBody()),"*[data-mce-caret]").map(t=>t.dom).getOrNull(),PP=(e,t)=>{t.hasAttribute("data-mce-caret")&&(Fh(t),e.selection.setRng(e.selection.getRng()),e.selection.scrollIntoView(t))},ZW=(e,t)=>{const o=UW(e);if(o){if(t.type==="compositionstart"){t.preventDefault(),t.stopPropagation(),PP(e,o);return}yc(o)&&(PP(e,o),e.undoManager.add())}},$P=e=>{e.on("keyup compositionstart",Ae(ZW,e))},FP=ro,uf=(e,t,o)=>rP(t,e,o,Qm,ef,FP),S6=(e,t,o)=>IC(t,e,o,u=>Qm(u)||Zy(u),u=>ef(u)||A4(u),FP),WW=e=>{const t=e.dom.create(zs(e));return t.innerHTML='
    ',t},IP=(e,t,o)=>{const r=_n(e.getBody()),c=Ae(lp,t===1?r.next:r.prev);if(o.collapsed){const u=e.dom.getParent(o.startContainer,"PRE");if(!u)return;if(!c(he.fromRangeStart(o))){const p=U.fromDom(WW(e));t===1?Ni(U.fromDom(u),p):ar(U.fromDom(u),p),e.selection.select(p.dom,!0),e.selection.collapse()}}},jW=(e,t)=>{const o=t?1:-1,r=e.selection.getRng();return uf(o,e,r).orThunk(()=>(IP(e,o,r),B.none()))},w6=(e,t)=>{const o=t?1:-1,r=e.selection.getRng();return S6(o,e,r).orThunk(()=>(IP(e,o,r),B.none()))},x6=(e,t)=>{const o=t?e.getEnd(!0):e.getStart(!0);return IM(o)?!t:t},E6=(e,t)=>jW(e,x6(e.selection,t)).exists(o=>(Hu(e,o),!0)),T6=(e,t)=>w6(e,t).exists(o=>(Hu(e,o),!0)),k6=(e,t)=>Ib(e,t,t?ef:Qm),pE=(e,t)=>IO(e,!t).map(o=>{const r=o.toRange(),c=e.selection.getRng();return t?r.setStart(c.startContainer,c.startOffset):r.setEnd(c.endContainer,c.endOffset),r}).exists(o=>(Hu(e,o),!0)),Lb=(e,t)=>{const o=f=>sn(f,t),r=f=>ir(f.dom),c=U.fromDom(e.container());return Un(c,r,o).filter(f=>!o(f))},bE=(e,t,o)=>(o?o6:n6)(e.getBody(),t).map(c=>c.toRange()),LP=(e,t)=>{const o=he.fromRangeStart(e.selection.getRng()),r=he.fromRangeEnd(e.selection.getRng()),c=U.fromDom(e.getBody());return fv(xs(Lb(o,c),Lb(r,c),(f,p)=>sn(f,p)?B.some(f):B.none())).fold(Ee,f=>t&&e6(f.dom,r)||!t&&$C(f.dom,o)?bE(e,t?r:o,t).exists(p=>(Hu(e,p),!0)):!1)},A6=(e,t)=>LP(e,t),HP=e=>Bt(["figcaption"],Wt(e)),zP=(e,t,o)=>{const r=Ae(sn,t);return Un(U.fromDom(e.container()),c=>o.isBlock(Wt(c)),r).filter(HP)},vE=(e,t,o)=>t?e6(e.dom,o):$C(e.dom,o),_6=(e,t)=>{const o=U.fromDom(e.getBody()),r=he.fromRangeStart(e.selection.getRng());return zP(r,o,e.schema).exists(()=>{if(vE(o,t,r)){const u=y6(e,o,t?pn:bl);return e.selection.setRng(u),!0}else return!1})},Hb=(e,t)=>e.selection.isCollapsed()?_6(e,t):!1,GW=(e,t,o)=>{const r=e.selection.getRng(),c=he.fromRangeStart(r);return e.getBody().firstChild===t&&$C(o,c)?(e.execCommand("InsertNewBlockBefore"),!0):!1},VP=(e,t)=>{const o=e.selection.getRng(),r=he.fromRangeStart(o);return e.getBody().lastChild===t&&e6(t,r)?(e.execCommand("InsertNewBlockAfter"),!0):!1},qW=(e,t)=>t?B.from(e.dom.getParent(e.selection.getNode(),"details")).map(o=>VP(e,o)).getOr(!1):B.from(e.dom.getParent(e.selection.getNode(),"summary")).bind(o=>B.from(e.dom.getParent(o,"details")).map(r=>GW(e,r,o))).getOr(!1),UP=(e,t)=>qW(e,t),O6={shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0},KW=e=>Ot(e,t=>({...O6,...t})),ZP=e=>Ot(e,t=>({...O6,...t})),YW=(e,t)=>t.keyCode===e.keyCode&&t.shiftKey===e.shiftKey&&t.altKey===e.altKey&&t.ctrlKey===e.ctrlKey&&t.metaKey===e.metaKey,XW=(e,t)=>Bn(KW(e),o=>YW(o,t)?[o]:[]),JW=(e,t)=>Bn(ZP(e),o=>YW(o,t)?[o]:[]),Mt=(e,...t)=>()=>e.apply(null,t),UC=(e,t)=>Qn(XW(e,t),o=>o.action()),WP=(e,t)=>ml(JW(e,t),o=>o.action()),jP=(e,t)=>{const o=t?1:-1,r=e.selection.getRng();return rP(e,o,r,Vy,Uy,uc).exists(c=>(Hu(e,c),!0))},GP=(e,t)=>{const o=t?1:-1,r=e.selection.getRng();return IC(e,o,r,Vy,Uy,uc).exists(c=>(Hu(e,c),!0))},yE=(e,t)=>Ib(e,t,t?Uy:Vy),QW=(e,t)=>df(e,t,Qe),df=(e,t,o)=>Bn(Do(e),r=>Da(r,t)?o(r)?[r]:[]:df(r,t,o)),qP=(e,t,o=Ee)=>{if(o(t))return B.none();if(Bt(e,Wt(t)))return B.some(t);const r=c=>Da(c,"table")||o(c);return qo(t,e.join(","),r)},D6=(e,t)=>qP(["td","th"],e,t),KP=e=>QW(e,"th,td"),CE=(e,t)=>cr(e,"table",t),mf=Ql.generate([{none:["current"]},{first:["current"]},{middle:["current","target"]},{last:["current"]}]),ka={...mf,none:e=>mf.none(e)},ff=(e,t,o,r,c=Qe)=>{const u=r===1;if(!u&&o<=0)return ka.first(e[0]);if(u&&o>=e.length-1)return ka.last(e[e.length-1]);{const f=o+r,p=e[f];return c(p)?ka.middle(t,p):ff(e,t,f,r,c)}},R6=(e,t)=>CE(e,t).bind(o=>{const r=KP(o);return mm(r,u=>sn(e,u)).map(u=>({index:u,all:r}))}),M6=(e,t,o)=>R6(e,o).fold(()=>ka.none(e),c=>ff(c.all,e,c.index,1,t)),tj=(e,t,o)=>R6(e,o).fold(()=>ka.none(),c=>ff(c.all,e,c.index,-1,t));var YP=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],nj=()=>{const e=w=>U.fromDom(w.dom.cloneNode(!1)),t=w=>Di(w).dom,o=w=>bo(w)?Wt(w)==="body"?!0:Bt(YP,Wt(w)):!1,r=w=>bo(w)?Bt(["br","img","hr","input"],Wt(w)):!1,c=w=>bo(w)&&lo(w,"contenteditable")==="false",u=(w,_)=>w.dom.compareDocumentPosition(_.dom),f=(w,_)=>{const O=Xt(w);qs(_,O)},p=w=>{const _=Wt(w);return Bt(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],_)},v=w=>bo(w)?rc(w,"lang"):B.none();return{up:Me({selector:qo,closest:cr,predicate:Cl,all:nc}),down:Me({selector:Ys,predicate:D1}),styles:Me({get:No,getRaw:fs,set:pa,remove:A1}),attrs:Me({get:lo,set:So,remove:Go,copyTo:f}),insert:Me({before:ar,after:Ni,afterAll:E1,append:pn,appendAll:sc,prepend:bl,wrap:Ma}),remove:Me({unwrap:cc,remove:no}),create:Me({nu:U.fromTag,clone:e,text:U.fromText}),query:Me({comparePosition:u,prevSibling:oc,nextSibling:Ri}),property:Me({children:Do,name:Wt,parent:Ra,document:t,isText:An,isComment:_i,isElement:bo,isSpecial:p,getLanguage:v,getText:xr,setText:Uv,isBoundary:o,isEmptyTag:r,isNonEditable:c}),eq:sn,is:C1}};const B6=(e,t)=>({element:e,offset:t}),XP=(e,t)=>{if(e.property().isText(t))return B6(t,e.property().getText(t).length);{const o=e.property().children(t);return o.length>0?XP(e,o[o.length-1]):B6(t,o.length)}},JP=(e,t,o)=>{const r=e.property().children(t);return r.length>0&&o0&&e.property().isElement(t)&&r.length===o?XP(e,r[r.length-1]):B6(t,o)},oj=JP,QP=nj(),e$=(e,t)=>oj(QP,e,t),t$=Jr("image"),zb=e=>{const t=e;return B.from(t[t$])},SE=(e,t)=>{const o=e;o[t$]=t},wE=Jr("event"),n$=e=>{const t=e;return B.from(t[wE])},Vb=e=>t=>{const o=t;o[wE]=e},sj=(e,t)=>Vb(t)(e),o$=Vb(0),rj=Vb(2),s$=Vb(1),r$=(e=>t=>{const o=t;return B.from(o[wE]).exists(r=>r===e)})(0),xE=()=>Object.freeze({length:0,item:e=>null}),P6=Jr("mode"),a$=e=>{const t=e;return B.from(t[P6])},EE=e=>t=>{const o=t;o[P6]=e},c$=(e,t)=>EE(t)(e),i$=EE(0),TE=EE(2),aj=EE(1),l$=e=>t=>{const o=t;return B.from(o[P6]).exists(r=>r===e)},qp=l$(0),Ub=l$(1),cj=(e,t)=>({...t,get length(){return t.length},add:(o,r)=>{if(qp(e))if(q(o)){if(!ls(r))return t.add(o,r)}else return t.add(o);return null},remove:o=>{qp(e)&&t.remove(o)},clear:()=>{qp(e)&&t.clear()}}),u$=["none","copy","link","move"],d$=["none","copy","copyLink","copyMove","link","linkMove","move","all","uninitialized"],kE=()=>{const e=new window.DataTransfer;let t="move",o="all";const r={get dropEffect(){return t},set dropEffect(c){Bt(u$,c)&&(t=c)},get effectAllowed(){return o},set effectAllowed(c){r$(r)&&Bt(d$,c)&&(o=c)},get items(){return cj(r,e.items)},get files(){return Ub(r)?xE():e.files},get types(){return e.types},setDragImage:(c,u,f)=>{qp(r)&&(SE(r,{image:c,x:u,y:f}),e.setDragImage(c,u,f))},getData:c=>Ub(r)?"":e.getData(c),setData:(c,u)=>{qp(r)&&e.setData(c,u)},clearData:c=>{qp(r)&&e.clearData(c)}};return i$(r),r},$6=e=>{const t=kE(),o=a$(e);return TE(e),o$(t),t.dropEffect=e.dropEffect,t.effectAllowed=e.effectAllowed,zb(e).each(r=>t.setDragImage(r.image,r.x,r.y)),ie(e.types,r=>{r!=="Files"&&t.setData(r,e.getData(r))}),ie(e.files,r=>t.items.add(r)),n$(e).each(r=>{sj(t,r)}),o.each(r=>{c$(e,r),c$(t,r)}),t},m$=e=>{const t=e.getData("text/html");return t===""?B.none():B.some(t)},f$=(e,t)=>e.setData("text/html",t),g$=(e,t)=>({left:e.left-t,top:e.top-t,right:e.right+t*2,bottom:e.bottom+t*2,width:e.width+t,height:e.height+t}),ij=(e,t)=>Bn(t,o=>{const r=g$(Tl(o.getBoundingClientRect()),-1);return[{x:r.left,y:e(r),cell:o},{x:r.right,y:e(r),cell:o}]}),lj=(e,t,o)=>os(e,(r,c)=>r.fold(()=>B.some(c),u=>{const f=Math.sqrt(Math.abs(u.x-t)+Math.abs(u.y-o)),p=Math.sqrt(Math.abs(c.x-t)+Math.abs(c.y-o));return B.some(p{const u=Ys(U.fromDom(o),"td,th,caption").map(p=>p.dom),f=ft(ij(e,u),p=>t(p,c));return lj(f,r,c).map(p=>p.cell)},F6=e=>e.bottom,uj=e=>e.top,dj=(e,t)=>e.ye.y>t,mj=Ae(h$,F6,dj),I6=Ae(h$,uj,AE),p$=(e,t)=>ws(t.getClientRects()).bind(o=>mj(e,o.left,o.top)).bind(o=>Fb(t6(o),t)),b$=(e,t)=>$r(t.getClientRects()).bind(o=>I6(e,o.left,o.top)).bind(o=>Fb(aE(o),t)),v$=(e,t,o)=>o.breakAt.exists(r=>e(t,r).breakAt.isSome()),fj=e=>e.breakType===Ga.Wrap&&e.positions.length===0,gj=e=>e.breakType===Ga.Br&&e.positions.length===1,y$=(e,t,o)=>{const r=e(t,o);return fj(r)||!uo(o.getNode())&&gj(r)?!v$(e,t,r):r.breakAt.isNone()},hj=Ae(y$,NC),_E=Ae(y$,PC),pj=(e,t,o)=>{const r=he.fromRangeStart(t);return E(!e,o).exists(c=>c.isEqual(r))},bj=(e,t,o,r)=>{const c=e.selection.getRng(),u=t?1:-1;return Gx()&&pj(t,c,o)?(af(u,e,o,!t,!1).each(f=>{Hu(e,f)}),!0):!1},vj=(e,t,o)=>p$(t,o).orThunk(()=>ws(o.getClientRects()).bind(r=>BC(QO(e,he.before(t)),r.left))).getOr(he.before(t)),L6=(e,t,o)=>b$(t,o).orThunk(()=>ws(o.getClientRects()).bind(r=>BC(Vl(e,he.after(t)),r.left))).getOr(he.after(t)),C$=(e,t)=>{const o=t.getNode(e);return Xs(o)?B.some(o):B.none()},yj=(e,t,o)=>{t.undoManager.transact(()=>{const r=e?Ni:ar,c=y6(t,U.fromDom(o),r);Hu(t,c)})},H6=(e,t,o)=>{const r=C$(!!t,o),c=t===!1;r.fold(()=>Hu(e,o.toRange()),u=>E(c,e.getBody()).filter(f=>f.isEqual(o)).fold(()=>Hu(e,o.toRange()),f=>yj(t,e,u)))},Cj=(e,t,o,r)=>{const c=e.selection.getRng(),u=he.fromRangeStart(c),f=e.getBody();if(!t&&hj(r,u)){const p=vj(f,o,u);return H6(e,t,p),!0}else if(t&&_E(r,u)){const p=L6(f,o,u);return H6(e,t,p),!0}else return!1},S$=(e,t,o)=>B.from(e.dom.getParent(e.selection.getNode(),"td,th")).bind(r=>B.from(e.dom.getParent(r,"table")).map(c=>o(e,t,c,r))).getOr(!1),w$=(e,t)=>S$(e,t,bj),z6=(e,t)=>S$(e,t,Cj),Sj=e=>{const t=_o.exact(e,0,e,0);return ta(t)},wj=e=>DE(e)||On(e).some(t=>Oi(t)&&DE(t)),OE=(e,t,o)=>o.fold(B.none,B.none,(r,c)=>aw(c).map(u=>Sj(u)),r=>e.mode.isReadOnly()||!xj(r)||!wj(r)?B.none():(e.execCommand("mceTableInsertRowAfter"),V6(e,t,r))),xj=e=>Un(e,pl("table")).exists(Xc),V6=(e,t,o)=>OE(e,t,M6(o,DE)),Ej=(e,t,o)=>OE(e,t,tj(o,DE)),DE=e=>Xc(e)||B1(e,Tj),Tj=e=>Oi(e)&&Xc(e),x$=(e,t)=>{const o=["table","li","dl"],r=U.fromDom(e.getBody()),c=p=>{const v=Wt(p);return sn(p,r)||Bt(o,v)},u=e.selection.getRng(),f=U.fromDom(t?u.endContainer:u.startContainer);return D6(f,c).map(p=>(CE(p,c).each(_=>{e.model.table.clearSelectedCells(_.dom)}),e.selection.collapse(!t),(t?V6:Ej)(e,c,p).each(_=>{e.selection.setRng(_)}),!0)).getOr(!1)},Ms=(e,t,o)=>{const r=dn.os.isMacOS()||dn.os.isiOS(),c=dn.browser.isFirefox();UC([{keyCode:We.RIGHT,action:Mt(E6,e,!0)},{keyCode:We.LEFT,action:Mt(E6,e,!1)},{keyCode:We.UP,action:Mt(T6,e,!1)},{keyCode:We.DOWN,action:Mt(T6,e,!0)},...r?[{keyCode:We.UP,action:Mt(pE,e,!1),metaKey:!0,shiftKey:!0},{keyCode:We.DOWN,action:Mt(pE,e,!0),metaKey:!0,shiftKey:!0}]:[],{keyCode:We.RIGHT,action:Mt(w$,e,!0)},{keyCode:We.LEFT,action:Mt(w$,e,!1)},{keyCode:We.UP,action:Mt(z6,e,!1)},{keyCode:We.DOWN,action:Mt(z6,e,!0)},{keyCode:We.UP,action:Mt(z6,e,!1)},{keyCode:We.UP,action:Mt(UP,e,!1)},{keyCode:We.DOWN,action:Mt(UP,e,!0)},{keyCode:We.RIGHT,action:Mt(jP,e,!0)},{keyCode:We.LEFT,action:Mt(jP,e,!1)},{keyCode:We.UP,action:Mt(GP,e,!1)},{keyCode:We.DOWN,action:Mt(GP,e,!0)},{keyCode:We.RIGHT,action:Mt(uP,e,t,!0)},{keyCode:We.LEFT,action:Mt(uP,e,t,!1)},{keyCode:We.RIGHT,ctrlKey:!r,altKey:r,action:Mt(mP,e,t)},{keyCode:We.LEFT,ctrlKey:!r,altKey:r,action:Mt(cX,e,t)},{keyCode:We.UP,action:Mt(Hb,e,!1)},{keyCode:We.DOWN,action:Mt(Hb,e,!0)},...c?[{keyCode:We.UP,action:Mt(A6,e,!1)},{keyCode:We.DOWN,action:Mt(A6,e,!0)}]:[]],o).each(u=>{o.preventDefault()})},kj=(e,t)=>{e.on("keydown",o=>{o.isDefaultPrevented()||Ms(e,t,o)})},zu=(e,t)=>({container:e,offset:t}),RE=yt.DOM,ZC=e=>t=>e===t?-1:0,U6=e=>t=>e.isBlock(t)||Bt(["BR","IMG","HR","INPUT"],t.nodeName)||e.getContentEditable(t)==="false",ME=(e,t,o)=>{if(Se(e)&&t>=0)return B.some(zu(e,t));{const r=Sd(RE);return B.from(r.backwards(e,t,ZC(e),o)).map(c=>zu(c.container,c.container.data.length))}},WC=(e,t,o)=>{if(Se(e)&&t>=e.length)return B.some(zu(e,t));{const r=Sd(RE);return B.from(r.forwards(e,t,ZC(e),o)).map(c=>zu(c.container,0))}},Z6=(e,t,o)=>{if(!Se(e))return B.none();const r=e.data;if(t>=0&&t<=r.length)return B.some(zu(e,t));{const c=Sd(RE);return B.from(c.backwards(e,t,ZC(e),o)).bind(u=>{const f=u.container.data;return Z6(u.container,t+f.length,o)})}},E$=(e,t,o)=>{if(!Se(e))return B.none();const r=e.data;if(t<=r.length)return B.some(zu(e,t));{const c=Sd(RE);return B.from(c.forwards(e,t,ZC(e),o)).bind(u=>E$(u.container,t-r.length,o))}},W6=(e,t,o,r,c)=>{const u=Sd(e,U6(e));return B.from(u.backwards(t,o,r,c))},Aj=e=>e.collapsed&&Se(e.startContainer),_j=e=>Ur(e.toString().replace(/\u00A0/g," ")),T$=e=>e!==""&&`  \uFEFF\f +\r \v`.indexOf(e)!==-1,Oj=(e,t)=>e.substring(t.length),Dj=(e,t,o,r=!1)=>{let c;const u=o.charAt(0);for(c=t-1;c>=0;c--){const f=e.charAt(c);if(!r&&T$(f))return B.none();if(u===f&&ds(e,o,c,t))break}return B.some(c)},j6=(e,t,o,r=!1)=>{if(!Aj(t))return B.none();const c={text:"",offset:0},u=(p,v,w)=>(c.text=w+c.text,c.offset+=v,Dj(c.text,c.offset,o,r).getOr(v)),f=e.getParent(t.startContainer,e.isBlock)||e.getRoot();return W6(e,t.startContainer,t.startOffset,u,f).bind(p=>{const v=t.cloneRange();if(v.setStart(p.container,p.offset),v.setEnd(t.endContainer,t.endOffset),v.collapsed)return B.none();const w=_j(v);return w.lastIndexOf(o)!==0?B.none():B.some({text:Oj(w,o),range:v,trigger:o})})},Rj=e=>e.nodeType===Pv,Mj=e=>e.nodeType===oh,k$=e=>{if(Rj(e))return zu(e,e.data.length);{const t=e.childNodes;return t.length>0?k$(t[t.length-1]):zu(e,t.length)}},A$=(e,t)=>{const o=e.childNodes;return o.length>0&&t0&&Mj(e)&&o.length===t?k$(o[o.length-1]):zu(e,t)},Bj=(e,t)=>{const o=e.getParent(t.container,e.isBlock)??e.getRoot();return W6(e,t.container,t.offset,(r,c)=>c===0?-1:c,o).filter(r=>{const c=r.container.data.charAt(r.offset-1);return!T$(c)}).isSome()},_$=e=>t=>{const o=A$(t.startContainer,t.startOffset);return!Bj(e,o)},O$=(e,t,o)=>ml(o.triggers,r=>j6(e,t,r)),D$=(e,t)=>{const o=t(),r=e.selection.getRng();return O$(e.dom,r,o).bind(c=>R$(e,t,c))},R$=(e,t,o,r={})=>{const c=t(),f=e.selection.getRng().startContainer.nodeValue??"",p=ft(c.lookupByTrigger(o.trigger),w=>o.text.length>=w.minChars&&w.matches.getOrThunk(()=>_$(e.dom))(o.range,f,o.text));if(p.length===0)return B.none();const v=Promise.all(Ot(p,w=>w.fetch(o.text,w.maxResults,r).then(O=>({matchText:o.text,items:O,columns:w.columns,onAction:w.onAction,highlightOn:w.highlightOn}))));return B.some({lookupData:v,context:o})},Nj=wu("type"),Pj=Dk("fetch"),$j=Dk("onAction"),M$=e=>pR("columns",e),Fj=ng([Nj,wu("trigger"),sx("minChars",1),M$(1),sx("maxResults",10),hR("matches"),Pj,$j,bR("highlightOn",[],q2)]),B$=e=>X2("Autocompleter",Fj,e),Ij=()=>{const e={},t={},o={},r={},c={},u={},f={},p={},v={},w=(P,z)=>(I,Z)=>{P[I.toLowerCase()]={...Z,type:z}},_=(P,z)=>(I,Z)=>{P[I.toLowerCase()]={type:z,...Z}},O=(P,z)=>r[P.toLowerCase()]=z,R=(P,z)=>f[P.toLowerCase()]=z;return{addButton:w(e,"button"),addGroupToolbarButton:w(e,"grouptoolbarbutton"),addToggleButton:w(e,"togglebutton"),addMenuButton:w(e,"menubutton"),addSplitButton:w(e,"splitbutton"),addMenuItem:w(t,"menuitem"),addNestedMenuItem:w(t,"nestedmenuitem"),addToggleMenuItem:w(t,"togglemenuitem"),addAutocompleter:w(o,"autocompleter"),addContextMenu:w(c,"contextmenu"),addContextToolbar:w(u,"contexttoolbar"),addContextForm:_(u,"contextform"),addSidebar:w(p,"sidebar"),addView:w(v,"views"),addIcon:O,addContext:R,getAll:()=>({buttons:e,menuItems:t,icons:r,popups:o,contextMenus:c,contextToolbars:u,sidebars:p,views:v,contexts:f})}},N$=e=>{const t=e.ui.registry.getAll().popups,o=lv(t,f=>B$(f).fold(p=>{throw new Error(nx(p))},$o)),r=_S(Yu(o,f=>f.trigger)),c=Jl(o);return{dataset:o,triggers:r,lookupByTrigger:f=>ft(c,p=>p.trigger===f)}},P$=(e,t)=>{const o=xf(t.load,50);e.on("input",r=>{r.inputType==="insertCompositionText"&&!e.composing||o.throttle()}),e.on("keydown",r=>{const c=r.which;c===8?o.throttle():c===27?(o.cancel(),t.cancelIfNecessary()):(c===38||c===40)&&o.cancel()},!0),e.on("remove",o.cancel)},Lj=e=>{const t=Vc(),o=kt(!1),r=t.isSet,c=()=>{r()&&(vR(e),o.set(!1),t.clear())},u=O=>{r()||t.set({trigger:O.trigger,matchLength:O.text.length})},f=Qa(()=>N$(e)),p=O=>t.get().map(R=>j6(e.dom,e.selection.getRng(),R.trigger,!0).bind(P=>R$(e,f,P,O))).getOrThunk(()=>D$(e,f)),v=O=>{p(O).fold(c,R=>{u(R.context),R.lookupData.then(P=>{t.get().map(z=>{const I=R.context;z.trigger===I.trigger&&(t.set({...z,matchLength:I.text.length}),o.get()?(w0(e,{range:I.range}),Fk(e,{lookupData:P})):(o.set(!0),w0(e,{range:I.range}),mx(e,{lookupData:P})))})})})},w=(O,R)=>{const P=O.compareBoundaryPoints(window.Range.START_TO_START,R),z=O.compareBoundaryPoints(window.Range.END_TO_END,R);return P>=0&&z<=0},_=()=>t.get().bind(({trigger:O})=>{const R=e.selection.getRng();return j6(e.dom,R,O,o.get()).filter(({range:P})=>w(R,P)).map(({range:P})=>P)});e.addCommand("mceAutocompleterReload",(O,R)=>{const P=fn(R)?R.fetchOptions:{};v(P)}),e.addCommand("mceAutocompleterClose",c),e.addCommand("mceAutocompleterRefreshActiveRange",()=>{_().each(O=>{w0(e,{range:O})})}),e.editorCommands.addQueryStateHandler("mceAutoCompleterInRange",()=>_().isSome()),P$(e,{cancelIfNecessary:c,load:v})},Hj=Uc().browser.isSafari(),$$=e=>Vi(U.fromDom(e)),G6=(e,t)=>{var o;return e.startOffset===0&&e.endOffset===((o=t.textContent)==null?void 0:o.length)},BE=(e,t)=>B.from(e.getParent(t.container(),"details")),F$=(e,t)=>BE(e,t).isSome(),I$=(e,t)=>{const o=B.from(e.getParent(t.startContainer,"details")),r=B.from(e.getParent(t.endContainer,"details"));if(o.isSome()||r.isSome()){const c=o.bind(u=>B.from(e.select("summary",u)[0]));return B.some({startSummary:c,startDetails:o,endDetails:r})}else return B.none()},zj=(e,t)=>$(t).exists(o=>o.isEqual(e)),Vj=(e,t)=>H(t).exists(o=>uo(o.getNode())&&M(t,o).exists(r=>r.isEqual(e))||o.isEqual(e)),L$=(e,t)=>t.startSummary.exists(o=>zj(e,o)),Uj=(e,t)=>t.startSummary.exists(o=>Vj(e,o)),Zj=(e,t)=>t.startDetails.exists(o=>M(o,e).forall(r=>t.startSummary.exists(c=>!c.contains(e.container())&&c.contains(r.container())))),Wj=(e,t,o)=>o.startDetails.exists(r=>A(e,t).forall(c=>!r.contains(c.container()))),q6=(e,t)=>{const o=t.getNode();ls(o)||e.selection.setCursorLocation(o,t.offset())},K6=(e,t,o)=>{const r=e.dom.getParent(t.container(),"details");if(r&&!r.open){const c=e.dom.select("summary",r)[0];c&&(o?$(c):H(c)).each(f=>q6(e,f))}else q6(e,t)},jj=(e,t)=>{const o=v=>v.contains(e.startContainer),r=v=>v.contains(e.endContainer),c=t.startSummary.exists(o),u=t.startSummary.exists(r),f=t.startDetails.forall(v=>t.endDetails.forall(w=>v!==w));return(c||u)&&!(c&&u)||f},H$=(e,t,o)=>{const{dom:r,selection:c}=e,u=e.getBody();if(o==="character"){const f=he.fromRangeStart(c.getRng()),p=r.getParent(f.container(),r.isBlock),v=BE(r,f),w=p&&r.isEmpty(p),_=te(p==null?void 0:p.previousSibling),O=te(p==null?void 0:p.nextSibling);return w&&(t?O:_)&&b(!t,u,f).exists(z=>F$(r,z)&&!a1(v,BE(r,z)))?!0:b(t,u,f).fold(Ee,R=>{const P=BE(r,R);if(F$(r,R)&&!a1(v,P)){if(t||K6(e,R,!1),p&&w){if(t&&_)return!0;if(!t&&O)return!0;K6(e,R,t),e.dom.remove(p)}return!0}else return!1})}else return!1},Gj=(e,t,o,r)=>{const u=e.selection.getRng(),f=he.fromRangeStart(u),p=e.getBody();return r==="selection"?jj(u,t):o?Uj(f,t)||Wj(p,f,t):L$(f,t)||Zj(f,t)},qj=(e,t,o)=>I$(e.dom,e.selection.getRng()).fold(()=>H$(e,t,o),r=>Gj(e,r,t,o)||H$(e,t,o)),Kj=(e,t,o)=>{const r=e.selection,c=r.getNode(),u=r.getRng(),f=he.fromRangeStart(u);return s2(c)?(o==="selection"&&G6(u,c)||v_(t,f,c)?$$(c):e.undoManager.transact(()=>{const p=r.getSel();let{anchorNode:v,anchorOffset:w,focusNode:_,focusOffset:O}=p??{};const R=()=>{pe(v)&&pe(w)&&pe(_)&&pe(O)&&(p==null||p.setBaseAndExtent(v,w,_,O))},P=()=>{v=p==null?void 0:p.anchorNode,w=p==null?void 0:p.anchorOffset,_=p==null?void 0:p.focusNode,O=p==null?void 0:p.focusOffset},z=(Z,Y)=>{ie(Z.childNodes,X=>{Py(X)&&Y.appendChild(X)})},I=e.dom.create("span",{"data-mce-bogus":"1"});z(c,I),c.appendChild(I),R(),(o==="word"||o==="line")&&(p==null||p.modify("extend",t?"right":"left",o)),!r.isCollapsed()&&G6(r.getRng(),I)?$$(c):(e.execCommand(t?"ForwardDelete":"Delete"),P(),z(I,c),R()),e.dom.remove(I)}),!0):!1},Kp=(e,t,o)=>qj(e,t,o)||Hj&&Kj(e,t,o)?B.some(Tt):B.none(),z$=Uc(),V$=z$.os,Yj=V$.isMacOS()||V$.isiOS(),NE=z$.browser.isFirefox(),U$=(e,t,o)=>{const r=o.keyCode===We.BACKSPACE?"deleteContentBackward":"deleteContentForward",c=e.selection.isCollapsed(),u=c?"character":"selection",f=p=>c?p?"word":"line":"selection";WP([{keyCode:We.BACKSPACE,action:Mt(b6,e)},{keyCode:We.BACKSPACE,action:Mt(Pb,e,!1)},{keyCode:We.DELETE,action:Mt(Pb,e,!0)},{keyCode:We.BACKSPACE,action:Mt(tE,e,!1)},{keyCode:We.DELETE,action:Mt(tE,e,!0)},{keyCode:We.BACKSPACE,action:Mt(dE,e,t,!1)},{keyCode:We.DELETE,action:Mt(dE,e,t,!0)},{keyCode:We.BACKSPACE,action:Mt(Bl,e,!1)},{keyCode:We.DELETE,action:Mt(Bl,e,!0)},{keyCode:We.BACKSPACE,action:Mt(Kp,e,!1,u)},{keyCode:We.DELETE,action:Mt(Kp,e,!0,u)},...Yj?[{keyCode:We.BACKSPACE,altKey:!0,action:Mt(Kp,e,!1,f(!0))},{keyCode:We.DELETE,altKey:!0,action:Mt(Kp,e,!0,f(!0))},{keyCode:We.BACKSPACE,metaKey:!0,action:Mt(Kp,e,!1,f(!1))}]:[{keyCode:We.BACKSPACE,ctrlKey:!0,action:Mt(Kp,e,!1,f(!0))},{keyCode:We.DELETE,ctrlKey:!0,action:Mt(Kp,e,!0,f(!0))}],{keyCode:We.BACKSPACE,action:Mt(cf,e,!1)},{keyCode:We.DELETE,action:Mt(cf,e,!0)},{keyCode:We.BACKSPACE,action:Mt(ca,e,!1)},{keyCode:We.DELETE,action:Mt(ca,e,!0)},{keyCode:We.BACKSPACE,action:Mt(_C,e,!1)},{keyCode:We.DELETE,action:Mt(_C,e,!0)},{keyCode:We.BACKSPACE,action:Mt(NO,e,!1)},{keyCode:We.DELETE,action:Mt(NO,e,!0)},{keyCode:We.BACKSPACE,action:Mt(m6,e,!1)},{keyCode:We.DELETE,action:Mt(m6,e,!0)},{keyCode:We.BACKSPACE,action:Mt(ZO,e,!1)},{keyCode:We.DELETE,action:Mt(ZO,e,!0)},{keyCode:We.BACKSPACE,action:Mt(_P,e,!1)},{keyCode:We.DELETE,action:Mt(_P,e,!0)}],o).filter(p=>e.selection.isEditable()).each(p=>{o.preventDefault(),SC(e,r).isDefaultPrevented()||(p(),CC(e,r))})},Z$=(e,t,o,r)=>UC([{keyCode:We.BACKSPACE,action:Mt(UO,e)},{keyCode:We.DELETE,action:Mt(UO,e)},...Yj?[{keyCode:We.BACKSPACE,altKey:!0,action:Mt(HC,e)},{keyCode:We.DELETE,altKey:!0,action:Mt(HC,e)},...o?[{keyCode:NE?224:91,action:Mt(()=>(yP(e,r),HC(e)))}]:[]]:[{keyCode:We.BACKSPACE,ctrlKey:!0,action:Mt(HC,e)},{keyCode:We.DELETE,ctrlKey:!0,action:Mt(HC,e)}]],t),Xj=(e,t)=>{let o=!1,r=[];e.on("init",()=>{e.on("keydown",c=>{o=c.keyCode===We.BACKSPACE,r=u6(e),c.isDefaultPrevented()||U$(e,t,c)}),e.on("keyup",c=>{c.isDefaultPrevented()||(Z$(e,c,o,r),r.length=0),o=!1})})},W$=(e,t)=>{const o=U.fromDom(e),r=U.fromDom(t),c=pl("span"),u=Ae(sn,o),f=v=>bo(v)&&fs(v,"font-size").isSome(),p=[...f(r)?[r]:[],...nw(r,f,u)];ie(p.slice(1),v=>{A1(v,"font-size"),Go(v,"data-mce-style"),c(v)&&Af(v)&&cc(v)})},j$=e=>{for(;e;){if(ot(e)||Se(e)&&e.data&&/[\r\n\s]/.test(e.data))return B.from(U.fromDom(e));e=e.nextSibling}return B.none()},Zb=(e,t)=>{const o=e.dom,r=e.schema.getMoveCaretBeforeOnEnterElements();if(!t)return;if(xd(U.fromDom(t))){const u=p=>wd(p)?B.from(p):lh(p,wd),f=p=>o.isEmpty(p.dom);j$(t.firstChild).each(p=>{u(p).fold(()=>{if(f(p)){const v=e$(p,0).element;bo(v)&&!Ar(v)&&pn(v,U.fromHtml('
    '))}},v=>{ar(v,U.fromText(Es))})})}const c=o.createRng();if(t.normalize(),t.hasChildNodes()){const u=new gs(t,t);let f=t,p;for(;p=u.current();){if(Se(p)){c.setStart(p,0),c.setEnd(p,0);break}if(r[p.nodeName.toLowerCase()]){c.setStartBefore(p),c.setEndBefore(p);break}f=p,p=u.next()}p||(c.setStart(f,0),c.setEnd(f,0))}else uo(t)?t.nextSibling&&o.isBlock(t.nextSibling)?(c.setStartBefore(t),c.setEndBefore(t)):(c.setStartAfter(t),c.setEndAfter(t)):(c.setStart(t,0),c.setEnd(t,0));e.selection.setRng(c),zy(e,c)},jC=(e,t)=>{const o=e.getRoot();let r,c=t;for(;c!==o&&c&&e.getContentEditable(c)!=="false";){if(e.getContentEditable(c)==="true"){r=c;break}c=c.parentNode}return c!==o?r:o},Y6=e=>B.from(e.dom.getParent(e.selection.getStart(!0),e.dom.isBlock)),G$=e=>Y6(e).fold(Me(""),t=>t.nodeName.toUpperCase()),Jj=e=>Y6(e).filter(t=>xd(U.fromDom(t))).isSome(),GC=e=>{e.innerHTML='
    '},Qj=(e,t,o)=>{const r=e.dom;B.from(o.style).map(r.parseStyle).each(v=>{const _={..._f(U.fromDom(t)),...v};r.setStyles(t,_)});const c=B.from(o.class).map(v=>v.split(/\s+/)),u=B.from(t.className).map(v=>ft(v.split(/\s+/),w=>w!==""));xs(c,u,(v,w)=>{const _=ft(w,R=>!Bt(v,R)),O=[...v,..._];r.setAttrib(t,"class",O.join(" "))});const f=["style","class"],p=qg(o,(v,w)=>!Bt(f,w));r.setAttribs(t,p)},qC=(e,t)=>{if(zs(e).toLowerCase()===t.tagName.toLowerCase()){const r=_l(e);Qj(e,t,r)}},q$=(e,t,o,r,c=!0,u,f)=>{const p=e.dom,v=e.schema,w=zs(e),_=o?o.nodeName.toUpperCase():"";let O=t;const R=v.getTextInlineElements();let P;u||_==="TABLE"||_==="HR"?P=p.create(u||w,f||{}):P=o.cloneNode(!1);let z=P;if(!c)p.setAttrib(P,"style",null),p.setAttrib(P,"class",null);else{do if(R[O.nodeName]){if(ne(O)||Zr(O))continue;const I=O.cloneNode(!1);p.setAttrib(I,"id",""),P.hasChildNodes()?(I.appendChild(P.firstChild),P.appendChild(I)):(z=I,P.appendChild(I))}while((O=O.parentNode)&&O!==r);P.nodeName!=="LI"&&W$(P,z)}return qC(e,P),GC(z),P},K$=(e,t)=>e.dom.getParent(t,o2),eG=(e,t,o)=>{let r=t;for(;r&&r!==e&&te(r.nextSibling);){const c=r.parentElement;if(!c||!o(c))return o2(c);r=c}return!1},tG=(e,t,o)=>!t&&o.nodeName.toLowerCase()===zs(e)&&e.dom.isEmpty(o)&&eG(e.getBody(),o,r=>Ut(e.schema.getTextBlockElements(),r.nodeName.toLowerCase())),nG=(e,t,o)=>{var u,f;const r=t(zs(e)),c=K$(e,o);c&&(e.dom.insertAfter(r,c),Zb(e,r),(((f=(u=o.parentElement)==null?void 0:u.childNodes)==null?void 0:f.length)??0)>1&&e.dom.remove(o))},oG=(e,t)=>e.firstChild&&e.firstChild.nodeName===t,dX=e=>{var t;return((t=e.parentNode)==null?void 0:t.firstChild)===e},Y$=(e,t)=>{const o=e==null?void 0:e.parentNode;return pe(o)&&o.nodeName===t},X$=e=>pe(e)&&/^(OL|UL|LI)$/.test(e.nodeName),X6=e=>pe(e)&&/^(LI|DT|DD)$/.test(e.nodeName),sG=e=>X$(e)&&X$(e.parentNode),PE=e=>{const t=e.parentNode;return X6(t)?t:e},KC=(e,t,o)=>{let r=e[o?"firstChild":"lastChild"];for(;r&&!ot(r);)r=r[o?"nextSibling":"previousSibling"];return r===t},J$=e=>os(Yu(_f(U.fromDom(e)),(t,o)=>`${o}: ${t};`),(t,o)=>t+o,""),J6=(e,t,o,r,c)=>{const u=e.dom,f=e.selection.getRng(),p=o.parentNode;if(o===e.getBody()||!p)return;sG(o)&&(c="LI");const v=X6(r)?J$(r):void 0;let w=X6(r)&&v?t(c,{style:J$(r)}):t(c);if(KC(o,r,!0)&&KC(o,r,!1))if(Y$(o,"LI")){const _=PE(o);u.insertAfter(w,_),dX(o)?u.remove(_):u.remove(o)}else u.replace(w,o);else if(KC(o,r,!0))Y$(o,"LI")?(u.insertAfter(w,PE(o)),w.appendChild(u.doc.createTextNode(" ")),w.appendChild(o)):p.insertBefore(w,o),u.remove(r);else if(KC(o,r,!1))u.insertAfter(w,PE(o)),u.remove(r);else{o=PE(o);const _=f.cloneRange();_.setStartAfter(r),_.setEndAfter(o);const O=_.extractContents();if(c==="LI"&&oG(O,"LI")){const R=ft(Ot(w.children,U.fromDom),go(pl("br")));w=O.firstChild,u.insertAfter(O,o),ie(R,P=>bl(U.fromDom(w),P)),v&&w.setAttribute("style",v)}else u.insertAfter(O,o),u.insertAfter(w,o);u.remove(r)}Zb(e,w)},nm=e=>{ie(D1(U.fromDom(e),An),t=>{const o=t.dom;o.nodeValue=Ur(o.data)})},Q$=(e,t)=>{const o=e.dom.getParent(t,"ol,ul,dl");return o!==null&&e.dom.getContentEditableParent(o)==="false"},eF=(e,t)=>t&&t.nodeName==="A"&&e.isEmpty(t),Q6=(e,t)=>e.nodeName===t||e.previousSibling&&e.previousSibling.nodeName===t,$E=(e,t)=>e.nodeName===t||e.nextSibling&&e.nextSibling.nodeName===t,YC=(e,t)=>pe(t)&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&!/^(fixed|absolute)/i.test(t.style.position)&&e.isEditable(t.parentNode)&&e.getContentEditable(t)!=="false",tF=(e,t,o)=>{var f;const r=[];if(!o)return;let c=o;for(;c=c.firstChild;){if(e.isBlock(c))return;ot(c)&&!t[c.nodeName.toLowerCase()]&&r.push(c)}let u=r.length;for(;u--;)c=r[u],(!c.hasChildNodes()||c.firstChild===c.lastChild&&((f=c.firstChild)==null?void 0:f.nodeValue)===""||eF(e,c))&&e.remove(c)},FE=(e,t,o)=>Se(t)?e?o===1&&t.data.charAt(o-1)===Po?0:o:o===t.data.length-1&&t.data.charAt(o)===Po?t.data.length:o:o,rG=e=>{const t=e.cloneRange();return t.setStart(e.startContainer,FE(!0,e.startContainer,e.startOffset)),t.setEnd(e.endContainer,FE(!1,e.endContainer,e.endOffset)),t},aG=e=>{let t=e;do Se(t)&&(t.data=t.data.replace(/^[\r\n]+/,"")),t=t.firstChild;while(t)},cG=(e,t,o,r,c)=>{var v;const u=e.dom,f=jC(u,r)??u.getRoot();let p=u.getParent(r,u.isBlock);if(!p||!YC(u,p)){if(p=p||f,!p.hasChildNodes()){const R=u.create(t);return qC(e,R),p.appendChild(R),o.setStart(R,0),o.setEnd(R,0),R}let w=r;for(;w&&w.parentNode!==p;)w=w.parentNode;let _;for(;w&&!u.isBlock(w);)_=w,w=w.previousSibling;const O=(v=_==null?void 0:_.parentElement)==null?void 0:v.nodeName;if(_&&O&&e.schema.isValidChild(O,t.toLowerCase())){const R=_.parentNode,P=u.create(t);for(qC(e,P),R.insertBefore(P,_),w=_;w&&!u.isBlock(w);){const z=w.nextSibling;P.appendChild(w),w=z}o.setStart(r,c),o.setEnd(r,c)}}return r},iG=(e,t)=>{t.normalize();const o=t.lastChild;(!o||ot(o)&&/^(left|right)$/gi.test(e.getStyle(o,"float",!0)))&&e.add(t,"br")},lG=(e,t)=>{const o=Hk(e);return on(t)?!1:q(o)?Bt(Oe.explode(o),t.nodeName.toLowerCase()):o},nF={insert:(e,t)=>{let o,r,c,u,f=!1;const p=e.dom,v=e.schema,w=v.getNonEmptyElements(),_=e.selection.getRng(),O=zs(e),R=U.fromDom(_.startContainer),P=qc(R,_.startOffset),z=P.exists(Ue=>Oi(Ue)&&!Xc(Ue)),I=_.collapsed&&z,Z=(Ue,it)=>q$(e,o,oe,at,Cx(e),Ue,it),Y=Ue=>{const it=FE(Ue,o,r);if(Se(o)&&(Ue?it>0:it{const it=$s(Ue).bind(Ri);return xd(Ue)&&it.exists(wd)},ee=Ue=>{const it=e$(U.fromDom(Ue),0).element;An(it)&&p.isEmpty(it.dom)&&it.dom.remove()},fe=()=>{let Ue;return/^(H[1-6]|PRE|FIGURE)$/.test(c)&&ge!=="HGROUP"?Ue=Z(O):Ue=Z(),lG(e,u)&&YC(p,u)&&p.isEmpty(oe,void 0,{includeZwsp:!0})?Ue=p.split(u,oe):p.insertAfter(Ue,oe),Zb(e,Ue),Ue};y4(p,_).each(Ue=>{_.setStart(Ue.startContainer,Ue.startOffset),_.setEnd(Ue.endContainer,Ue.endOffset)}),o=_.startContainer,r=_.startOffset;const we=!!(t&&t.shiftKey),xt=!!(t&&t.ctrlKey);ot(o)&&o.hasChildNodes()&&!I&&(f=r>o.childNodes.length-1,o=o.childNodes[Math.min(r,o.childNodes.length-1)]||o,f&&Se(o)?r=o.data.length:r=0);const at=jC(p,o);if(!at||Q$(e,o))return;we||(o=cG(e,O,_,o,r));let oe=p.getParent(o,p.isBlock)||p.getRoot();u=pe(oe==null?void 0:oe.parentNode)?p.getParent(oe.parentNode,p.isBlock):null,c=oe?oe.nodeName.toUpperCase():"";const ge=u?u.nodeName.toUpperCase():"";if(ge==="LI"&&!xt){const Ue=u;oe=Ue,u=Ue.parentNode,c=ge}if(ot(u)&&tG(e,we,oe))return nG(e,Z,oe);if(/^(LI|DT|DD)$/.test(c)&&ot(u)&&p.isEmpty(oe)){J6(e,Z,u,oe,O);return}if(!I&&(oe===e.getBody()||!YC(p,oe)))return;const _e=oe.parentNode;let Pe;if(I)Pe=Z(O),P.fold(()=>{pn(R,U.fromDom(Pe))},Ue=>{ar(Ue,U.fromDom(Pe))}),e.selection.setCursorLocation(Pe,0);else if(ni(oe))Pe=Fh(oe),p.isEmpty(oe)&&GC(oe),qC(e,Pe),Zb(e,Pe);else if(Y(!1))Pe=fe();else if(Y(!0)&&_e){const Ue=he.fromRangeStart(_),it=A4(Ue),Jt=U.fromDom(oe),Gn=D4(Jt,Ue,e.schema)?l_(Jt,Ue,e.schema).bind(Ns=>B.from(Ns.getNode())):B.none();Pe=_e.insertBefore(Z(),oe);const co=Q6(oe,"HR")||it?Pe:Gn.getOr(oe);Zb(e,co)}else{const Ue=rG(_).cloneRange();Ue.setEndAfter(oe);const it=Ue.extractContents();nm(it),aG(it),Pe=it.firstChild,oe===Pe?pe(_e)&&p.insertAfter(it,_e):p.insertAfter(it,oe),X(U.fromDom(Pe))?ee(Pe):(tF(p,w,Pe),iG(p,oe)),p.isEmpty(oe)&&GC(oe),Pe.normalize(),p.isEmpty(Pe)?(p.remove(Pe),fe()):(qC(e,Pe),Zb(e,Pe))}p.setAttrib(Pe,"id",""),e.dispatch("NewBlock",{newBlock:Pe})},fakeEventName:"insertParagraph"},fX=(e,t,o)=>{const r=new gs(t,o);let c;const u=e.getNonEmptyElements();for(;c=r.next();)if(u[c.nodeName.toLowerCase()]||Se(c)&&c.length>0)return!0;return!1},IE=(e,t,o)=>{const r=e.dom.createRng();o?(r.setStartBefore(t),r.setEndBefore(t)):(r.setStartAfter(t),r.setEndAfter(t)),e.selection.setRng(r),zy(e,r)},dG=(e,t)=>{const o=e.selection,r=e.dom,c=o.getRng();let u,f=!1;y4(r,c).each(P=>{c.setStart(P.startContainer,P.startOffset),c.setEnd(P.endContainer,P.endOffset)});let p=c.startOffset,v=c.startContainer;if(ot(v)&&v.hasChildNodes()){const P=p>v.childNodes.length-1;v=v.childNodes[Math.min(p,v.childNodes.length-1)]||v,P&&Se(v)?p=v.data.length:p=0}let w=r.getParent(v,r.isBlock);const _=w&&w.parentNode?r.getParent(w.parentNode,r.isBlock):null,O=_?_.nodeName.toUpperCase():"",R=!!(t&&t.ctrlKey);O==="LI"&&!R&&(w=_),Se(v)&&p>=v.data.length&&(fX(e.schema,v,w||r.getRoot())||(u=r.create("br"),c.insertNode(u),c.setStartAfter(u),c.setEndAfter(u),f=!0)),u=r.create("br"),Uh(r,c,u),IE(e,u,f),e.undoManager.add()},mG=(e,t)=>{const o=U.fromTag("br");ar(U.fromDom(t),o),e.undoManager.add()},fG=(e,t)=>{hG(e.getBody(),t)||Ni(U.fromDom(t),U.fromTag("br"));const o=U.fromTag("br");Ni(U.fromDom(t),o),IE(e,o.dom,!1),e.undoManager.add()},gG=e=>uo(e.getNode()),hG=(e,t)=>gG(he.after(t))?!0:A(e,he.after(t)).map(o=>uo(o.getNode())).getOr(!1),oF=e=>e&&e.nodeName==="A"&&"href"in e,pG=e=>e.fold(Ee,oF,oF,Ee),bG=e=>{const t=Ae(yp,e),o=he.fromRangeStart(e.selection.getRng());return em(t,e.getBody(),o).filter(pG)},LE=(e,t)=>{t.fold(Tt,Ae(mG,e),Ae(fG,e),Tt)},HE={insert:(e,t)=>{const o=bG(e);o.isSome()?o.each(Ae(LE,e)):dG(e,t)},fakeEventName:"insertLineBreak"},zE=(e,t)=>Y6(e).filter(o=>t.length>0&&Da(U.fromDom(o),t)).isSome(),vG=e=>zE(e,vx(e)),yG=e=>zE(e,yx(e)),Mc=Ql.generate([{br:[]},{block:[]},{none:[]}]),CG=(e,t)=>yG(e),sF=e=>(t,o)=>Jj(t)===e,rF=(e,t)=>(o,r)=>G$(o)===e.toUpperCase()===t,SG=e=>{const t=jC(e.dom,e.selection.getStart());return on(t)},XC=e=>rF("pre",e),wG=()=>rF("summary",!0),JC=e=>(t,o)=>T0(t)===e,VE=(e,t)=>vG(e),QC=(e,t)=>t,aF=e=>{const t=zs(e),o=jC(e.dom,e.selection.getStart());return pe(o)&&e.schema.isValidChild(o.nodeName,t)},xG=e=>{const t=e.selection.getRng(),o=U.fromDom(t.startContainer),c=qc(o,t.startOffset).map(u=>Oi(u)&&!Xc(u));return t.collapsed&&c.getOr(!0)},rl=(e,t)=>(o,r)=>os(e,(u,f)=>u&&f(o,r),!0)?B.some(t):B.none(),UE=(e,t)=>zN([rl([CG],Mc.none()),rl([XC(!0),SG],Mc.none()),rl([wG()],Mc.br()),rl([XC(!0),JC(!1),QC],Mc.br()),rl([XC(!0),JC(!1)],Mc.block()),rl([XC(!0),JC(!0),QC],Mc.block()),rl([XC(!0),JC(!0)],Mc.br()),rl([sF(!0),QC],Mc.br()),rl([sF(!0)],Mc.block()),rl([VE],Mc.br()),rl([QC],Mc.br()),rl([aF],Mc.block()),rl([xG],Mc.block())],[e,!!(t&&t.shiftKey)]).getOr(Mc.none()),ZE=(e,t,o)=>{t.mode.isReadOnly()||(t.selection.isCollapsed()||t9(t),!(pe(o)&&SC(t,e.fakeEventName).isDefaultPrevented())&&(e.insert(t,o),pe(o)&&CC(t,e.fakeEventName)))},eD=(e,t)=>{if(e.mode.isReadOnly())return;const o=()=>ZE(HE,e,t),r=()=>ZE(nF,e,t),c=UE(e,t);switch(bx(e)){case"linebreak":c.fold(o,o,Tt);break;case"block":c.fold(r,r,Tt);break;case"invert":c.fold(r,o,Tt);break;default:c.fold(o,r,Tt);break}},cF=Uc(),iF=cF.os.isiOS()&&cF.browser.isSafari(),lF=(e,t)=>{t.isDefaultPrevented()||(t.preventDefault(),kV(e.undoManager),e.undoManager.transact(()=>{eD(e,t)}))},EG=e=>{if(!e.collapsed)return!1;const t=e.startContainer;if(Se(t)){const o=/^[\uAC00-\uD7AF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uD7B0-\uD7FF]$/,r=t.data.charAt(e.startOffset-1);return o.test(r)}else return!1},TG=e=>{let t=B.none();const o=c=>{t=B.some(c.selection.getBookmark()),c.undoManager.add()},r=(c,u)=>{c.undoManager.undo(),t.fold(Tt,f=>c.selection.moveToBookmark(f)),lF(c,u),t=B.none()};e.on("keydown",c=>{c.keyCode===We.ENTER&&(iF&&EG(e.selection.getRng())?o(e):lF(e,c))}),e.on("keyup",c=>{c.keyCode===We.ENTER&&t.each(()=>r(e,c))})},kG=(e,t,o)=>{const r=dn.os.isMacOS()||dn.os.isiOS();UC([{keyCode:We.END,action:Mt(k6,e,!0)},{keyCode:We.HOME,action:Mt(k6,e,!1)},...r?[]:[{keyCode:We.HOME,action:Mt(pE,e,!1),ctrlKey:!0,shiftKey:!0},{keyCode:We.END,action:Mt(pE,e,!0),ctrlKey:!0,shiftKey:!0}],{keyCode:We.END,action:Mt(yE,e,!0)},{keyCode:We.HOME,action:Mt(yE,e,!1)},{keyCode:We.END,action:Mt(uE,e,!0,t)},{keyCode:We.HOME,action:Mt(uE,e,!1,t)}],o).each(c=>{o.preventDefault()})},AG=(e,t)=>{e.on("keydown",o=>{o.isDefaultPrevented()||kG(e,t,o)})},Wb=e=>{e.on("input",t=>{t.isComposing||ZH(e)})},_G=Uc(),OG=(e,t,o)=>{UC([{keyCode:We.PAGE_UP,action:Mt(uE,e,!1,t)},{keyCode:We.PAGE_DOWN,action:Mt(uE,e,!0,t)}],o)},tD=e=>e.stopImmediatePropagation(),uF=e=>e.keyCode===We.PAGE_UP||e.keyCode===We.PAGE_DOWN,dF=(e,t,o)=>{o&&!e.get()?t.on("NodeChange",tD,!0):!o&&e.get()&&t.off("NodeChange",tD),e.set(o)},DG=(e,t)=>{if(_G.os.isMacOS())return;const o=kt(!1);e.on("keydown",r=>{uF(r)&&dF(o,e,!0)}),e.on("keyup",r=>{r.isDefaultPrevented()||OG(e,t,r),uF(r)&&o.get()&&(dF(o,e,!1),e.nodeChanged())})},nD=(e,t)=>e===t||e.contains(t),RG=(e,t)=>!nD(e.getBody(),t.startContainer)||!nD(e.getBody(),t.endContainer)?!0:XA(e.dom,t),MG=e=>{e.on("beforeinput",t=>{(!e.selection.isEditable()||qn(t.getTargetRanges(),o=>!RG(e,o)))&&t.preventDefault()})},BG=(e,t)=>{const o=t.container(),r=t.offset();return Se(o)?(o.insertData(r,e),B.some(he(o,r+e.length))):ip(t).map(c=>{const u=U.fromText(e);return t.isAtEnd()?Ni(c,u):ar(c,u),he(u.dom,e.length)})},eS=Ae(BG,Es),mF=Ae(BG," "),NG=(e,t,o)=>DM(e,t,o)?eS(t):mF(t),PG=e=>t=>t.fold(o=>M(e.dom,he.before(o)),o=>$(o),o=>H(o),o=>A(e.dom,he.after(o))),$G=(e,t,o)=>r=>DM(e,r,o)?eS(t):mF(t),fF=e=>t=>{e.selection.setRng(t.toRange()),e.nodeChanged()},FG=(e,t)=>e.isEditable(e.getParent(t,"summary")),IG=e=>{const t=he.fromRangeStart(e.selection.getRng()),o=U.fromDom(e.getBody());if(e.selection.isCollapsed()){const r=Ae(yp,e),c=he.fromRangeStart(e.selection.getRng());return em(r,e.getBody(),c).bind(PG(o)).map(u=>()=>$G(o,t,e.schema)(u).each(fF(e)))}else return B.none()},LG=e=>{const t=()=>{const o=U.fromDom(e.getBody());e.selection.isCollapsed()||e.getDoc().execCommand("Delete");const r=he.fromRangeStart(e.selection.getRng());NG(o,r,e.schema).each(fF(e))};return xi(dn.browser.isFirefox()&&e.selection.isEditable()&&FG(e.dom,e.selection.getRng().startContainer),t)},HG=(e,t)=>{WP([{keyCode:We.SPACEBAR,action:Mt(IG,e)},{keyCode:We.SPACEBAR,action:Mt(LG,e)}],t).each(o=>{t.preventDefault(),SC(e,"insertText",{data:" "}).isDefaultPrevented()||(o(),CC(e,"insertText",{data:" "}))})},zG=e=>{e.on("keydown",t=>{t.isDefaultPrevented()||HG(e,t)})},VG=e=>Fd(e)?[{keyCode:We.TAB,action:Mt(x$,e,!0)},{keyCode:We.TAB,shiftKey:!0,action:Mt(x$,e,!1)}]:[],UG=(e,t)=>{UC([...VG(e)],t).each(o=>{t.preventDefault()})},ZG=e=>{e.on("keydown",t=>{t.isDefaultPrevented()||UG(e,t)})},jn=e=>{if(e.addShortcut("Meta+P","","mcePrint"),Lj(e),Il(e))return kt(null);{const t=hW(e);return MG(e),$P(e),kj(e,t),Xj(e,t),TG(e),zG(e),Wb(e),ZG(e),AG(e,t),DG(e,t),t}},WG=(e,t)=>{const o=xC(e);o===null||bO(e,o)||e.undoManager.transact(()=>{fn(t.styles)&&e.dom.setStyles(o,t.styles),fn(t.attrs)&&hn(t.attrs,(r,c)=>e.dom.setAttrib(o,c,r))})},WE=(e,t)=>()=>{const o=xC(e);return pe(o)&&o.nodeName===t},jG=e=>{e.addCommand("InsertUnorderedList",(t,o)=>{OO(e,"UL",o)}),e.addCommand("InsertOrderedList",(t,o)=>{OO(e,"OL",o)}),e.addCommand("InsertDefinitionList",(t,o)=>{OO(e,"DL",o)}),e.addCommand("RemoveList",()=>{TC(e)}),e.addCommand("mceListUpdate",(t,o)=>{fn(o)&&WG(e,o)}),e.addCommand("mceListBackspaceDelete",(t,o)=>{Vp(e,o)}),e.addQueryStateHandler("InsertUnorderedList",WE(e,"UL")),e.addQueryStateHandler("InsertOrderedList",WE(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",WE(e,"DL"))},oD=e=>{e.on("init",()=>{e.on("keydown",t=>{t.defaultPrevented||(t.keyCode===We.BACKSPACE?Vp(e,!1)&&t.preventDefault():t.keyCode===We.DELETE&&Vp(e,!0)&&t.preventDefault())})})},sD=e=>e.type===3,gF=e=>e.length===0,GG=e=>{const t=(c,u)=>{const f=or.create("li");ie(c,p=>f.append(p)),u?e.insert(f,u,!0):e.append(f)},o=(c,u)=>sD(u)?[...c,u]:!gF(c)&&!sD(u)?(t(c,u),[]):c,r=os(e.children(),o,[]);gF(r)||t(r)},qG=e=>{e.on("PreInit",()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",o=>ie(o,GG))})},hF=e=>{e.on("keydown",t=>{t.keyCode!==We.TAB||We.metaKeyPressed(t)||e.undoManager.transact(()=>{(t.shiftKey?EO(e):hN(e))&&t.preventDefault()})})},pF=e=>{cA(e)&&hF(e)},KG=e=>{oD(e),jG(e),qG(e),pF(e)};class YG{constructor(t){Re(this,"editor");Re(this,"lastPath",[]);this.editor=t;let o;const r=this;"onselectionchange"in t.getDoc()||t.on("NodeChange click mouseup keyup focus",c=>{const u=t.selection.getRng(),f={startContainer:u.startContainer,startOffset:u.startOffset,endContainer:u.endContainer,endOffset:u.endOffset};(c.type==="nodechange"||!ZR(f,o))&&t.dispatch("SelectionChange"),o=f}),t.on("contextmenu",()=>{LA(t),t.dispatch("SelectionChange")}),t.on("SelectionChange",()=>{const c=t.selection.getStart(!0);c&&s4(t)&&!r.isSameElementPath(c)&&t.dom.isChildOf(c,t.getBody())&&t.nodeChanged({selectionChange:!0})}),t.on("mouseup",c=>{!c.isDefaultPrevented()&&s4(t)&&(t.selection.getNode().nodeName==="IMG"?fi.setEditorTimeout(t,()=>{t.nodeChanged()}):t.nodeChanged())})}nodeChanged(t={}){const o=this.editor,r=o.selection;let c;if(o.initialized&&r&&!Ox(o)&&!U0(o)){const u=o.getBody();c=r.getStart(!0)||u,(c.ownerDocument!==o.getDoc()||!o.dom.isChildOf(c,u))&&(c=u);const f=[];o.dom.getParent(c,p=>p===u?!0:(f.push(p),!1)),o.dispatch("NodeChange",{...t,element:c,parents:f})}}isSameElementPath(t){let o;const r=this.editor,c=Fo(r.dom.getParents(t,Qe,r.getBody()));if(c.length===this.lastPath.length){for(o=c.length;o>=0&&c[o]===this.lastPath[o];o--);if(o===-1)return this.lastPath=c,!0}return this.lastPath=c,!1}}const jE="x-tinymce/html",GE=Me(jE),rD="",XG=e=>rD+e,JG=e=>e.replace(rD,""),aD=e=>e.indexOf(rD)!==-1,QG=e=>!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e),eq=(e,t)=>{let o="<"+e;const r=Yu(t,(c,u)=>u+'="'+gc.encodeAllRaw(c)+'"');return r.length&&(o+=" "+r.join(" ")),o+">"},bF=(e,t,o)=>{const r=e.split(/\n\n/),c=eq(t,o),u="",f=Ot(r,v=>v.split(/\n/).join("
    ")),p=v=>c+v+u;return f.length===1?f[0]:Ot(f,p).join("")},vF="%MCEPASTEBIN%",tq=(e,t)=>{const{dom:o,selection:r}=e,c=e.getBody();t.set(r.getRng());const u=o.add(e.getBody(),"div",{id:"mcepastebin",class:"mce-pastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0"},vF);dn.browser.isFirefox()&&o.setStyle(u,"left",o.getStyle(c,"direction",!0)==="rtl"?65535:-65535),o.bind(u,"beforedeactivate focusin focusout",f=>{f.stopPropagation()}),u.focus(),r.select(u,!0)},nq=(e,t)=>{const o=e.dom;if(tS(e)){let r;const c=t.get();for(;r=tS(e);)o.remove(r),o.unbind(r);c&&e.selection.setRng(c)}t.set(null)},tS=e=>e.dom.get("mcepastebin"),oq=e=>pe(e)&&e.id==="mcepastebin",yF=e=>{const t=e.dom,o=(f,p)=>{f.appendChild(p),t.remove(p,!0)},[r,...c]=ft(e.getBody().childNodes,oq);ie(c,f=>{o(r,f)});const u=t.select("div[id=mcepastebin]",r);for(let f=u.length-1;f>=0;f--){const p=t.create("div");r.insertBefore(p,u[f]),o(p,u[f])}return r?r.innerHTML:""},CF=e=>e===vF,cD=e=>{const t=kt(null);return{create:()=>tq(e,t),remove:()=>nq(e,t),getEl:()=>tS(e),getHtml:()=>yF(e),getLastRng:t.get}},SF=(e,t)=>(Oe.each(t,o=>{Yl(o,RegExp)?e=e.replace(o,""):e=e.replace(o[0],o[1])}),e),wF=e=>{const t=bc(),o=hb({},t);let r="";const c=t.getVoidElements(),u=Oe.makeMap("script noscript style textarea video audio iframe object"," "),f=t.getBlockElements(),p=v=>{const w=v.name,_=v;if(w==="br"){r+=` +`;return}if(w!=="wbr"){if(c[w]&&(r+=" "),u[w]){r+=" ";return}if(v.type===3&&(r+=v.value),!(v.name in t.getVoidElements())){let O=v.firstChild;if(O)do p(O);while(O=O.next)}f[w]&&_.next&&(r+=` +`,w==="p"&&(r+=` +`))}};return e=SF(e,[//g]),p(o.parse(e)),r},xF=e=>(e=SF(e,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig,/|/g,[/( ?)\u00a0<\/span>( ?)/g,(o,r,c)=>!r&&!c?" ":Es],/
    /g,/
    $/i]),e),sq=e=>{let t=0;return()=>e+t++},rq=e=>{const t=e.toLowerCase(),o={jpg:"jpeg",jpe:"jpeg",jfi:"jpeg",jif:"jpeg",jfif:"jpeg",pjpeg:"jpeg",pjp:"jpeg",svg:"svg+xml"};return Oe.hasOwn(o,t)?"image/"+o[t]:"image/"+t},aq=(e,t)=>{const o=hb({sanitize:Lx(e),sandbox_iframes:z0(e),sandbox_iframes_exclusions:Id(e),convert_unsafe_embeds:zx(e)},e.schema);o.addNodeFilter("meta",c=>{Oe.each(c,u=>{u.remove()})});const r=o.parse(t,{forced_root_block:!1,isRootContent:!0});return Cg({validate:!0},e.schema).serialize(r)},iD=(e,t)=>({content:e,cancelled:t}),cq=(e,t,o)=>{const r=e.dom.create("div",{style:"display:none"},t),c=gx(e,r,o);return iD(c.node.innerHTML,c.isDefaultPrevented())},EF=(e,t,o)=>{const r=fx(e,t,o),c=aq(e,r.content);return e.hasEventListeners("PastePostProcess")&&!r.isDefaultPrevented()?cq(e,c,o):iD(c,r.isDefaultPrevented())},qE=(e,t,o)=>EF(e,t,o),nS=(e,t)=>(e.insertContent(t,{merge:lt(e),paste:!0}),!0),oS=e=>/^https?:\/\/[\w\-\/+=.,!;:&%@^~(){}?#]+$/i.test(e),iq=(e,t)=>oS(t)&&qn(gg(e),o=>Qr(t.toLowerCase(),`.${o.toLowerCase()}`)),lq=(e,t,o)=>(e.undoManager.extra(()=>{o(e,t)},()=>{e.insertContent('')}),!0),jb=(e,t,o)=>(e.undoManager.extra(()=>{o(e,t)},()=>{e.execCommand("mceInsertLink",!1,t)}),!0),uq=(e,t,o)=>!e.selection.isCollapsed()&&oS(t)?jb(e,t,o):!1,Gb=(e,t,o)=>iq(e,t)?lq(e,t,o):!1,sS=(e,t)=>{Oe.each([uq,Gb,nS],o=>!o(e,t,nS))},dq=(e,t,o)=>{o||!mg(e)?nS(e,t):sS(e,t)},mq=sq("mceclip"),qb=e=>{const t=kE();return f$(t,e),TE(t),t},TF=(e,t,o,r,c)=>{const u=qE(e,t,o);if(!u.cancelled){const f=u.content,p=()=>dq(e,f,r);c?SC(e,"insertFromPaste",{dataTransfer:qb(f)}).isDefaultPrevented()||(p(),CC(e,"insertFromPaste")):p()}},Kb=(e,t,o,r)=>{const c=o||aD(t);TF(e,JG(t),c,!1,r)},lD=(e,t,o)=>{const r=e.dom.encode(t).replace(/\r\n/g,` +`),c=mw(r,Px(e)),u=bF(c,zs(e),_l(e));TF(e,u,!1,!0,o)},uD=e=>{const t={};if(e&&e.types)for(let o=0;ot in e&&e[t].length>0,KE=e=>gf(e,"text/html")||gf(e,"text/plain"),kF=(e,t)=>{const o=t.match(/([\s\S]+?)(?:\.[a-z0-9.]+)$/i);return pe(o)?e.dom.encode(o[1]):void 0},fq=(e,t,o,r)=>{const c=mq(),u=k0(e)&&pe(o.name),f=u?kF(e,o.name):c,p=u?o.name:void 0,v=t.create(c,o,r,f,p);return t.add(v),v},gq=(e,t)=>{G4(t.uri).each(({data:o,type:r,base64Encoded:c})=>{const u=c?o:btoa(o),f=t.file,p=e.editorUpload.blobCache,w=p.getByData(u,r)??fq(e,p,f,u);Kb(e,``,!1,!0)})},AF=e=>e.type==="paste",hq=e=>Promise.all(Ot(e,t=>L8(t).then(o=>({file:t,uri:o})))),_F=e=>{const t=gg(e);return o=>Ht(o.type,"image/")&&qn(t,r=>rq(r)===o.type)},dD=(e,t)=>{const o=t.items?Bn(Fr(t.items),c=>c.kind==="file"?[c.getAsFile()]:[]):[],r=t.files?Fr(t.files):[];return ft(o.length>0?o:r,_F(e))},mD=(e,t,o)=>{const r=AF(t)?t.clipboardData:t.dataTransfer;if(I0(e)&&r){const c=dD(e,r);if(c.length>0)return t.preventDefault(),hq(c).then(u=>{o&&e.selection.setRng(o),ie(u,f=>{gq(e,f)})}),!0}return!1},pq=e=>{var t,o;return dn.os.isAndroid()&&((o=(t=e.clipboardData)==null?void 0:t.items)==null?void 0:o.length)===0},bq=e=>We.metaKeyPressed(e)&&e.keyCode===86||e.shiftKey&&e.keyCode===45,fD=(e,t,o,r,c)=>{let u=xF(o);const f=gf(t,GE())||aD(o),p=!f&&QG(u),v=oS(u);(CF(u)||!u.length||p&&!v)&&(r=!0),(r||v)&&(gf(t,"text/plain")&&p?u=t["text/plain"]:u=wF(u)),!CF(u)&&(r?lD(e,u,c):Kb(e,u,f,c))},OF=(e,t,o)=>{let r;const c=()=>t.getLastRng()||e.selection.getRng();e.on("keydown",u=>{bq(u)&&!u.isDefaultPrevented()&&(r=u.shiftKey&&u.keyCode===86)}),e.on("paste",u=>{if(u.isDefaultPrevented()||pq(u))return;const f=o.get()==="text"||r;r=!1;const p=uD(u.clipboardData);!KE(p)&&mD(e,u,c())||(gf(p,"text/html")?(u.preventDefault(),fD(e,p,p["text/html"],f,!0)):gf(p,"text/plain")&&gf(p,"text/uri-list")?(u.preventDefault(),fD(e,p,p["text/plain"],f,!0)):(t.create(),fi.setEditorTimeout(e,()=>{const v=t.getHtml();t.remove(),fD(e,p,v,f,!1)},0)))})},gD=e=>{const t=c=>Ht(c,"webkit-fake-url"),o=c=>Ht(c,"data:"),r=c=>{var u;return((u=c.data)==null?void 0:u.paste)===!0};e.parser.addNodeFilter("img",(c,u,f)=>{if(!I0(e)&&r(f))for(const p of c){const v=p.attr("src");q(v)&&!p.attr("data-mce-object")&&v!==dn.transparentSrc&&(t(v)||!$x(e)&&o(v))&&p.remove()}})},vq=(e,t,o)=>{OF(e,t,o),gD(e)},DF=(e,t)=>{t.get()==="text"?(t.set("html"),Yh(e,!1)):(t.set("text"),Yh(e,!0)),e.focus()},RF=(e,t)=>{e.addCommand("mceTogglePlainTextPaste",()=>{DF(e,t)}),e.addCommand("mceInsertClipboardContent",(o,r)=>{r.html&&Kb(e,r.html,r.internal,!1),r.text&&lD(e,r.text,!1)})},yq=(e,t,o)=>{if(e)try{return e.clearData(),e.setData("text/html",t),e.setData("text/plain",o),e.setData(GE(),t),!0}catch{return!1}else return!1},hD=(e,t,o,r)=>{yq(e.clipboardData,t.html,t.text)?(e.preventDefault(),r()):o(t.html,r)},MF=e=>(t,o)=>{const{dom:r,selection:c}=e,u=r.create("div",{contenteditable:"false","data-mce-bogus":"all"}),f=r.create("div",{contenteditable:"true"},t);r.setStyles(u,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),u.appendChild(f),r.add(e.getBody(),u);const p=c.getRng();f.focus();const v=r.createRng();v.selectNodeContents(f),c.setRng(v),fi.setEditorTimeout(e,()=>{c.setRng(p),r.remove(u),o()},0)},BF=e=>({html:XG(e.selection.getContent({contextual:!0})),text:e.selection.getContent({format:"text"})}),YE=e=>!!e.dom.getParent(e.selection.getStart(),"td[data-mce-selected],th[data-mce-selected]",e.getBody()),NF=e=>!e.selection.isCollapsed()||YE(e),Cq=(e,t)=>o=>{!o.isDefaultPrevented()&&NF(e)&&e.selection.isEditable()&&hD(o,BF(e),MF(e),()=>{if(dn.browser.isChromium()||dn.browser.isFirefox()){const r=e.selection.getRng();fi.setEditorTimeout(e,()=>{e.selection.setRng(r),OP(e,t)},0)}else OP(e,t)})},PF=e=>t=>{!t.isDefaultPrevented()&&NF(e)&&hD(t,BF(e),MF(e),Tt)},$F=(e,t)=>{e.on("cut",Cq(e,t)),e.on("copy",PF(e))},FF=(e,t)=>Ru.getCaretRangeFromPoint(t.clientX??0,t.clientY??0,e.getDoc()),Sq=e=>{const t=e["text/plain"];return t?t.indexOf("file://")===0:!1},IF=(e,t)=>{t&&e.selection.setRng(t),e.focus()},wq=e=>qn(e.files,t=>/^image\//.test(t.type)),xq=(e,t,o,r)=>{const c=e.getParent(o,f=>lr(t,f));if(!te(e.getParent(o,"summary")))return!0;if(c&&Ut(r,"text/html")){const f=new DOMParser().parseFromString(r["text/html"],"text/html").body;return!te(f.querySelector(c.nodeName.toLowerCase()))}else return!1},LF=e=>{e.on("input",t=>{const o=r=>te(r.querySelector("summary"));if(t.inputType==="deleteByDrag"){const r=ft(e.dom.select("details"),o);ie(r,c=>{uo(c.firstChild)&&c.firstChild.remove();const u=e.dom.create("summary");u.appendChild(Ed().dom),c.prepend(u)})}})},Eq=(e,t)=>{nA(e)&&e.on("dragend dragover draggesture dragdrop drop drag",o=>{o.preventDefault(),o.stopPropagation()}),I0(e)||e.on("drop",o=>{const r=o.dataTransfer;r&&wq(r)&&o.preventDefault()}),e.on("drop",o=>{if(o.isDefaultPrevented())return;const r=FF(e,o);if(on(r))return;const c=uD(o.dataTransfer),u=gf(c,GE());if((!KE(c)||Sq(c))&&mD(e,o,r))return;const f=c[GE()],p=f||c["text/html"]||c["text/plain"],v=xq(e.dom,e.schema,r.startContainer,c),w=t.get();w&&!v||p&&(o.preventDefault(),fi.setEditorTimeout(e,()=>{e.undoManager.transact(()=>{(f||w&&v)&&e.execCommand("Delete"),IF(e,r);const _=xF(p);c["text/html"]?Kb(e,_,u,!0):lD(e,_,!0)})}))}),e.on("dragstart",o=>{t.set(!0)}),e.on("dragover dragend",o=>{I0(e)&&!t.get()&&(o.preventDefault(),IF(e,FF(e,o))),o.type==="dragend"&&t.set(!1)}),LF(e)},Tq=e=>{const t=c=>u=>{c(e,u)},o=py(e);J(o)&&e.on("PastePreProcess",t(o));const r=oA(e);J(r)&&e.on("PastePostProcess",t(r))},kq=(e,t)=>{e.on("PastePreProcess",o=>{o.content=t(e,o.content,o.internal)})},Aq=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,HF=e=>Oe.trim(e).replace(Aq,Hf).toLowerCase(),_q=(e,t,o)=>{const r=by(e);if(o||r==="all"||!sA(e))return t;const c=r?r.split(/[, ]/):[];if(c&&r!=="none"){const u=e.dom,f=e.selection.getNode();t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,(p,v,w,_)=>{const O=u.parseStyle(u.decode(w)),R={};for(let z=0;z]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return t=t.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,(u,f,p,v)=>f+' style="'+p+'"'+v),t},Oq=e=>{(dn.browser.isChromium()||dn.browser.isSafari())&&kq(e,_q)},Dq=(e,t)=>{const o=kt(!1),r=kt(vy(e)?"text":"html"),c=cD(e);Oq(e),RF(e,r),Tq(e),e.addQueryStateHandler("mceTogglePlainTextPaste",()=>r.get()==="text"),e.on("PreInit",()=>{$F(e,t),Eq(e,o),vq(e,c,r)})},zF=e=>{e.on("click",t=>{e.dom.getParent(t.target,"details")&&t.preventDefault()})},VF=e=>{e.parser.addNodeFilter("details",t=>{const o=H0(e);ie(t,r=>{o==="expanded"?r.attr("open","open"):o==="collapsed"&&r.attr("open",null)})}),e.serializer.addNodeFilter("details",t=>{const o=Hx(e);ie(t,r=>{o==="expanded"?r.attr("open","open"):o==="collapsed"&&r.attr("open",null)})})},Rq=e=>{zF(e),VF(e)},Mq=uo,UF=Se,rS=e=>ro(e.dom),Bq=e=>ir(e.dom),ZF=e=>t=>sn(U.fromDom(e),t),WF=(e,t,o)=>Un(U.fromDom(e),r=>Bq(r)||o.isBlock(Wt(r)),ZF(t)).getOr(U.fromDom(t)).dom,jF=(e,t)=>Un(U.fromDom(e),rS,ZF(t)),GF=(e,t,o)=>{const r=new gs(e,t),c=o?r.next.bind(r):r.prev.bind(r);let u=e;for(let f=o?e:c();f&&!Mq(f);f=c())ai(f)&&(u=f);return u},Nq=(e,t,o)=>{const c=he.fromRangeStart(e).getNode(),u=WF(c,t,o),f=GF(c,u,!1),p=GF(c,u,!0),v=document.createRange();return jF(f,u).fold(()=>{UF(f)?v.setStart(f,0):v.setStartBefore(f)},w=>v.setStartBefore(w.dom)),jF(p,u).fold(()=>{UF(p)?v.setEnd(p,p.data.length):v.setEndAfter(p)},w=>v.setEndAfter(w.dom)),v},Pq=e=>{const t=Nq(e.selection.getRng(),e.getBody(),e.schema);e.selection.setRng(j4(t))},$q=e=>{e.on("mousedown",t=>{t.detail>=3&&(t.preventDefault(),Pq(e))})};var hf;(function(e){e.Before="before",e.After="after"})(hf||(hf={}));const qF=(e,t)=>Math.abs(e.left-t),KF=(e,t)=>Math.abs(e.right-t),Fq=(e,t)=>e>=t.top&&e<=t.bottom,Iq=(e,t)=>e.topt.top,Lq=(e,t)=>{const o=D2(e,t)/Math.min(e.height,t.height);return Iq(e,t)&&o>.5},pX=(e,t)=>{const o=ft(e,r=>Fq(t,r));return kd(o).fold(()=>[[],e],r=>{const{pass:c,fail:u}=Nr(e,f=>Lq(f,r));return[c,u]})},Hq=(e,t)=>({node:e.node,position:qF(e,t)t>e.left&&t{const c=O=>ai(O.node)?B.some(O):ot(O.node)?aS(Fr(O.node.childNodes),t,o,!1):B.none(),u=(O,R,P)=>c(R).filter(z=>Math.abs(P(O,t,o)-P(z,t,o))<2&&Se(z.node)),f=(O,R)=>{const P=qu(O,(z,I)=>R(z,t,o)-R(I,t,o));return ml(P,c).map(z=>r&&!Se(z.node)&&P.length>1?u(z,P[1],R).getOr(z):z)},[p,v]=pX(s6(e),o),{pass:w,fail:_}=Nr(v,O=>O.topf(_,O2)).orThunk(()=>f(w,O2))},XE=(e,t,o,r)=>{const c=(u,f)=>{const p=w=>ot(w)&&w.classList.contains("mce-drag-container"),v=ft(u.dom.childNodes,go(p));return f.fold(()=>aS(v,o,r,!0),w=>{const _=ft(v,O=>O!==w.dom);return aS(_,o,r,!0)}).orThunk(()=>(sn(u,e)?B.none():Gc(u)).bind(_=>c(_,B.some(u))))};return c(t,B.none())},Vq=(e,t,o)=>{const r=U.fromDom(e),c=Di(r),f=U.fromPoint(c,t,o).filter(p=>tc(r,p)).getOr(r);return XE(r,f,t,o)},YF=(e,t,o)=>Vq(e,t,o).filter(r=>Tu(r.node)).map(r=>Hq(r,t)),XF=e=>{const t=e.getBoundingClientRect(),o=e.ownerDocument,r=o.documentElement,c=o.defaultView;return{top:t.top+((c==null?void 0:c.scrollY)??0)-r.clientTop,left:t.left+((c==null?void 0:c.scrollX)??0)-r.clientLeft}},JF=e=>e.inline?XF(e.getBody()):{left:0,top:0},Uq=e=>{const t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},pD=e=>{const t=e.getBody(),o=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},c={left:t.scrollLeft||o.scrollLeft,top:t.scrollTop||o.scrollTop};return e.inline?r:c},QF=(e,t)=>{if(t.target.ownerDocument!==e.getDoc()){const o=XF(e.getContentAreaContainer()),r=pD(e);return{left:t.pageX-o.left+r.left,top:t.pageY-o.top+r.top}}return{left:t.pageX,top:t.pageY}},Zq=(e,t,o)=>({pageX:o.left-e.left+t.left,pageY:o.top-e.top+t.top}),Wq=(e,t)=>Zq(JF(e),Uq(e),QF(e,t)),bD=e=>({target:e,srcElement:e}),jq=(e,t,o,r)=>({...t,dataTransfer:r,type:e,...bD(o)}),bX=(e,t,o)=>{const r=Br("Function not supported on simulated event.");return{bubbles:!0,cancelBubble:!1,cancelable:!0,composed:!1,currentTarget:null,defaultPrevented:!1,eventPhase:0,isTrusted:!0,returnValue:!1,timeStamp:0,type:e,composedPath:r,initEvent:r,preventDefault:Tt,stopImmediatePropagation:Tt,stopPropagation:Tt,AT_TARGET:window.Event.AT_TARGET,BUBBLING_PHASE:window.Event.BUBBLING_PHASE,CAPTURING_PHASE:window.Event.CAPTURING_PHASE,NONE:window.Event.NONE,altKey:!1,button:0,buttons:0,clientX:0,clientY:0,ctrlKey:!1,layerX:0,layerY:0,metaKey:!1,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,shiftKey:!1,x:0,y:0,detail:0,view:null,which:0,initUIEvent:r,initMouseEvent:r,getModifierState:r,dataTransfer:o,...bD(t)}},Gq=(e,t)=>{const o=$6(e);return t==="dragstart"?(o$(o),i$(o)):t==="drop"?(rj(o),TE(o)):(s$(o),aj(o)),o},qq=(e,t,o,r)=>{const c=Gq(o,e);return ls(r)?bX(e,t,c):jq(e,r,t,c)},JE=32,eI=100,Yb=8,Yp=16,vD=ro,Kq=Lh(vD,ir),Yq=(e,t,o)=>vD(o)&&o!==t&&e.isEditable(o.parentElement),Xq=(e,t,o)=>on(t)||t===o||e.dom.isChildOf(t,o)?!1:e.dom.isEditable(t),Jq=(e,t,o,r)=>{const c=e.dom,u=t.cloneNode(!0);c.setStyles(u,{width:o,height:r}),c.setAttrib(u,"data-mce-selected",null);const f=c.create("div",{class:"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return c.setStyles(f,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:o,height:r}),c.setStyles(u,{margin:0,boxSizing:"border-box"}),f.appendChild(u),f},tI=(e,t)=>{e.parentNode!==t&&t.appendChild(e)},QE=(e,t)=>o=>()=>{const r=e==="left"?o.scrollX:o.scrollY;o.scroll({[e]:r+t,behavior:"smooth"})},yD=QE("left",-JE),nI=QE("left",JE),oI=QE("top",-JE),eT=QE("top",JE),sI=(e,t,o,r,c,u,f,p,v,w,_,O)=>{let R=0,P=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+o>c&&(R=t.pageX+o-c),t.pageY+r>u&&(P=t.pageY+r-u),e.style.width=o-R+"px",e.style.height=r-P+"px";const z=v.clientHeight,I=v.clientWidth,Z=f+v.getBoundingClientRect().top,Y=p+v.getBoundingClientRect().left;_.on(X=>{X.intervalId.clear(),X.dragging&&O&&(f+Yb>=z?X.intervalId.set(eT(w)):f-Yb<=0?X.intervalId.set(oI(w)):p+Yb>=I?X.intervalId.set(nI(w)):p-Yb<=0?X.intervalId.set(yD(w)):Z+Yp>=window.innerHeight?X.intervalId.set(eT(window)):Z-Yp<=0?X.intervalId.set(oI(window)):Y+Yp>=window.innerWidth?X.intervalId.set(nI(window)):Y-Yp<=0&&X.intervalId.set(yD(window)))})},Qq=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},eK=(e,t)=>{const o=e.getParent(t.parentNode,e.isBlock);Qq(t),o&&o!==e.getRoot()&&e.isEmpty(o)&&Vi(U.fromDom(o))},rI=e=>e.button===0,tK=(e,t)=>({pageX:t.pageX-e.relX,pageY:t.pageY+5}),CD=(e,t)=>o=>{if(rI(o)){const r=Qn(t.dom.getParents(o.target),Kq).getOr(null);if(pe(r)&&Yq(t.dom,t.getBody(),r)){const c=t.dom.getPos(r),u=t.getBody(),f=t.getDoc().documentElement;e.set({element:r,dataTransfer:kE(),dragging:!1,screenX:o.screenX,screenY:o.screenY,maxX:(t.inline?u.scrollWidth:f.offsetWidth)-2,maxY:(t.inline?u.scrollHeight:f.offsetHeight)-2,relX:o.pageX-c.x,relY:o.pageY-c.y,width:r.offsetWidth,height:r.offsetHeight,ghost:Jq(t,r,r.offsetWidth,r.offsetHeight),intervalId:_T(eI)})}}},nK=(e,t,o)=>{e._selectionOverrides.hideFakeCaret(),YF(e.getBody(),t,o).fold(()=>e.selection.placeCaretAt(t,o),r=>{const c=e._selectionOverrides.showCaret(1,r.node,r.position===hf.Before,!1);c?e.selection.setRng(c):e.selection.placeCaretAt(t,o)})},cS=(e,t,o,r,c)=>{t==="dragstart"&&f$(r,e.dom.getOuterHTML(o));const u=qq(t,o,r,c);return e.dispatch(t,u)},oK=(e,t)=>{const o=qe((c,u)=>nK(t,c,u),0);t.on("remove",o.cancel);const r=e;return c=>e.on(u=>{const f=Math.max(Math.abs(c.screenX-u.screenX),Math.abs(c.screenY-u.screenY));if(!u.dragging&&f>10){const p=cS(t,"dragstart",u.element,u.dataTransfer,c);if(pe(p.dataTransfer)&&(u.dataTransfer=p.dataTransfer),p.isDefaultPrevented())return;u.dragging=!0,t.focus()}if(u.dragging){const p=c.currentTarget===t.getDoc().documentElement,v=tK(u,Wq(t,c));tI(u.ghost,t.getBody()),sI(u.ghost,v,u.width,u.height,u.maxX,u.maxY,c.clientY,c.clientX,t.getContentAreaContainer(),t.getWin(),r,p),o.throttle(c.clientX,c.clientY)}})},aI=e=>{const t=e.getSel();if(pe(t)){const r=t.getRangeAt(0).startContainer;return Se(r)?r.parentNode:r}else return null},tT=(e,t)=>o=>{e.on(r=>{if(r.intervalId.clear(),r.dragging){if(Xq(t,aI(t.selection),r.element)){const c=t.getDoc().elementFromPoint(o.clientX,o.clientY)??t.getBody();cS(t,"drop",c,r.dataTransfer,o).isDefaultPrevented()||t.undoManager.transact(()=>{eK(t.dom,r.element),m$(r.dataTransfer).each(f=>t.insertContent(f)),t._selectionOverrides.hideFakeCaret()})}cS(t,"dragend",t.getBody(),r.dataTransfer,o)}}),iI(e)},SD=(e,t,o)=>{e.on(r=>{r.intervalId.clear(),r.dragging&&o.fold(()=>cS(t,"dragend",r.element,r.dataTransfer),c=>cS(t,"dragend",r.element,r.dataTransfer,c))}),iI(e)},cI=(e,t)=>o=>SD(e,t,B.some(o)),iI=e=>{e.on(t=>{t.intervalId.clear(),Qq(t.ghost)}),e.clear()},sK=e=>{const t=Vc(),o=yt.DOM,r=document,c=CD(t,e),u=oK(t,e),f=tT(t,e),p=cI(t,e);e.on("mousedown",c),e.on("mousemove",u),e.on("mouseup",f),o.bind(r,"mousemove",u),o.bind(r,"mouseup",p),e.on("remove",()=>{o.unbind(r,"mousemove",u),o.unbind(r,"mouseup",p)}),e.on("keydown",v=>{v.keyCode===We.ESC&&SD(t,e,B.none())})},lI=e=>{const t=c=>{if(!c.isDefaultPrevented()){const u=c.dataTransfer;u&&(Bt(u.types,"Files")||u.files.length>0)&&(c.preventDefault(),c.type==="drop"&&M3(e,"Dropped file type is not supported"))}},o=c=>{nb(e,c.target)&&t(c)},r=()=>{const c=yt.DOM,u=e.dom,f=document,p=e.inline?e.getBody():e.getDoc(),v=["drop","dragover"];ie(v,w=>{c.bind(f,w,o),u.bind(p,w,t)}),e.on("remove",()=>{ie(v,w=>{c.unbind(f,w,o),u.unbind(p,w,t)})})};e.on("init",()=>{fi.setEditorTimeout(e,r,0)})},rK=e=>{sK(e),Dx(e)&&lI(e)},aK=e=>{const t=qe(()=>{if(!e.removed&&e.getBody().contains(document.activeElement)){const o=e.selection.getRng();if(o.collapsed){const r=$O(e,o,!1);e.selection.setRng(r)}}},0);e.on("focus",()=>{t.throttle()}),e.on("blur",()=>{t.cancel()})},cK=e=>{e.on("init",()=>{e.on("focusin",t=>{const o=t.target;if(uc(o)){const r=Sp(e.getBody(),o),c=ro(r)?r:o;e.selection.getNode()!==c&&OC(e,c).each(u=>e.selection.setRng(u))}})})},Xp=ro,uI=(e,t)=>Sp(e.getBody(),t),iK=e=>{const t=e.selection,o=e.dom,r=e.getBody(),c=jx(e,r,o.isBlock,()=>ob(e)),u="sel-"+o.uniqueId(),f="data-mce-selected";let p;const v=oe=>pe(oe)&&o.hasClass(oe,"mce-offscreen-selection"),w=oe=>oe!==r&&(Xp(oe)||uc(oe))&&o.isChildOf(oe,r)&&o.isEditable(oe.parentNode),_=oe=>{oe&&t.setRng(oe)},O=(oe,ge,_e,Pe=!0)=>e.dispatch("ShowCaret",{target:ge,direction:oe,before:_e}).isDefaultPrevented()?null:(Pe&&t.scrollIntoView(ge,oe===-1),c.show(_e,ge)),R=oe=>{oe.hasAttribute("data-mce-caret")&&(Fh(oe),t.scrollIntoView(oe))},P=()=>{e.on("click",ge=>{o.isEditable(ge.target)||(ge.preventDefault(),e.focus())}),e.on("blur NewBlock",we),e.on("ResizeWindow FullscreenStateChanged",c.reposition),e.on("tap",ge=>{const _e=ge.target,Pe=uI(e,_e);Xp(Pe)?(ge.preventDefault(),OC(e,Pe).each(fe)):w(_e)&&OC(e,_e).each(fe)},!0),e.on("mousedown",ge=>{const _e=ge.target;if(_e!==r&&_e.nodeName!=="HTML"&&!o.isChildOf(_e,r)||!QV(e,ge.clientX,ge.clientY))return;we(),at();const Pe=uI(e,_e);Xp(Pe)?(ge.preventDefault(),OC(e,Pe).each(fe)):YF(r,ge.clientX,ge.clientY).each(Ue=>{ge.preventDefault();const it=O(1,Ue.node,Ue.position===hf.Before,!1);_(it),Is(Pe)?Pe.focus():e.getBody().focus()})}),e.on("keypress",ge=>{We.modifierPressed(ge)||Xp(t.getNode())&&ge.preventDefault()}),e.on("GetSelectionRange",ge=>{let _e=ge.range;if(p){if(!p.parentNode){p=null;return}_e=_e.cloneRange(),_e.selectNode(p),ge.range=_e}}),e.on("focusin",ge=>{if(!uc(ge.target)&&e.getBody().contains(ge.target)&&ge.target!==e.getBody()&&!e.dom.isEditable(ge.target.parentNode)){c.isShowing()&&c.hide(),ge.target.contains(e.selection.getNode())||(e.selection.select(ge.target,!0),e.selection.collapse(!0));const _e=fe(e.selection.getRng(),!0);_e&&e.selection.setRng(_e)}}),e.on("SetSelectionRange",ge=>{ge.range=Z(ge.range);const _e=fe(ge.range,ge.forward);_e&&(ge.range=_e)});const oe=ge=>ot(ge)&&ge.id==="mcepastebin";e.on("AfterSetSelectionRange",ge=>{const _e=ge.range,Pe=_e.startContainer.parentElement;!I(_e)&&!oe(Pe)&&at(),v(Pe)||we()}),rK(e),aK(e),cK(e)},z=oe=>ya(oe)||Ph(oe)||$h(oe),I=oe=>z(oe.startContainer)||z(oe.endContainer),Z=oe=>{const ge=e.schema.getVoidElements(),_e=o.createRng(),Pe=oe.startContainer,Ue=oe.startOffset,it=oe.endContainer,Jt=oe.endOffset;return Ut(ge,Pe.nodeName.toLowerCase())?Ue===0?_e.setStartBefore(Pe):_e.setStartAfter(Pe):_e.setStart(Pe,Ue),Ut(ge,it.nodeName.toLowerCase())?Jt===0?_e.setEndBefore(it):_e.setEndAfter(it):_e.setEnd(it,Jt),_e},Y=(oe,ge)=>{const _e=U.fromDom(e.getBody()),Pe=e.getDoc(),Ue=Sl(_e,"#"+u).getOrThunk(()=>{const yn=U.fromHtml('
    ',Pe);return So(yn,"id",u),pn(_e,yn),yn}),it=o.createRng();ac(Ue),sc(Ue,[U.fromText(Es,Pe),U.fromDom(ge),U.fromText(Es,Pe)]),it.setStart(Ue.dom.firstChild,1),it.setEnd(Ue.dom.lastChild,0),ic(Ue,{top:o.getPos(oe,e.getBody()).y+"px"}),x1(Ue);const Jt=t.getSel();return Jt&&(Jt.removeAllRanges(),Jt.addRange(it)),it},X=oe=>{const ge=e.getDoc().createElement("div");ge.style.width=oe.style.width,ge.style.height=oe.style.height;const _e=oe.getAttribute("width");_e&&ge.setAttribute("width",_e);const Pe=oe.getAttribute("height");return Pe&&ge.setAttribute("height",Pe),ge},ee=oe=>{const ge=Bf(oe)?X(oe):oe.cloneNode(!0),_e=e.dispatch("ObjectSelected",{target:oe,targetClone:ge});if(_e.isDefaultPrevented())return null;const Pe=Y(oe,_e.targetClone),Ue=U.fromDom(oe);return ie(Ys(U.fromDom(e.getBody()),`*[${f}]`),it=>{sn(Ue,it)||Go(it,f)}),o.getAttrib(oe,f)||oe.setAttribute(f,"1"),p=oe,at(),Pe},fe=(oe,ge)=>{if(!oe)return null;if(oe.collapsed){if(!I(oe)){const it=ge?1:-1,Jt=Gm(it,r,oe),yn=Jt.getNode(!ge);if(pe(yn)){if(Tu(yn))return O(it,yn,ge?!Jt.isAtEnd():!1,!1);if(oi(yn)&&ro(yn.nextSibling)){const co=o.createRng();return co.setStart(yn,0),co.setEnd(yn,0),co}}const Gn=Jt.getNode(ge);if(pe(Gn)){if(Tu(Gn))return O(it,Gn,ge?!1:!Jt.isAtEnd(),!1);if(oi(Gn)&&ro(Gn.previousSibling)){const co=o.createRng();return co.setStart(Gn,1),co.setEnd(Gn,1),co}}}return null}let _e=oe.startContainer,Pe=oe.startOffset;const Ue=oe.endOffset;if(Se(_e)&&Pe===0&&Xp(_e.parentNode)&&(_e=_e.parentNode,Pe=o.nodeIndex(_e),_e=_e.parentNode),!ot(_e))return null;if(Ue===Pe+1&&_e===oe.endContainer){const it=_e.childNodes[Pe];if(w(it))return ee(it)}return null},we=()=>{p&&p.removeAttribute(f),Sl(U.fromDom(e.getBody()),"#"+u).each(no),p=null},xt=()=>{c.destroy(),p=null},at=()=>{c.hide()};return Il(e)||P(),{showCaret:O,showBlockCaretContainer:R,hideFakeCaret:at,destroy:xt}},lK=(e,t)=>{let o=t;for(let r=e.previousSibling;Se(r);r=r.previousSibling)o+=r.data.length;return o},dI=(e,t,o,r,c)=>{if(Se(o)&&(r<0||r>o.data.length))return[];const u=c&&Se(o)?[lK(o,r)]:[r];let f=o;for(;f!==t&&f.parentNode;)u.push(e.nodeIndex(f,c)),f=f.parentNode;return f===t?u.reverse():[]},wD=(e,t,o,r,c,u,f=!1)=>{const p=dI(e,t,o,r,f),v=dI(e,t,c,u,f);return{start:p,end:v}},mI=(e,t)=>{const o=t.slice(),r=o.pop();return Kr(r)?os(o,(u,f)=>u.bind(p=>B.from(p.childNodes[f])),B.some(e)).bind(u=>Se(u)&&(r<0||r>u.data.length)?B.none():B.some({node:u,offset:r})):B.none()},nT=(e,t)=>mI(e,t.start).bind(({node:o,offset:r})=>mI(e,t.end).map(({node:c,offset:u})=>{const f=document.createRange();return f.setStart(o,r),f.setEnd(c,u),f})),uK=(e,t,o,r=!1)=>wD(e,t,o.startContainer,o.startOffset,o.endContainer,o.endOffset,r),Xb=(e,t,o)=>{if(t&&e.isEmpty(t)&&!o(t)){const r=t.parentNode;e.remove(t,Se(t.firstChild)&&ud(t.firstChild.data)),Xb(e,r,o)}},oT=(e,t,o,r=!0)=>{const c=t.startContainer.parentNode,u=t.endContainer.parentNode;t.deleteContents(),r&&!o(t.startContainer)&&(Se(t.startContainer)&&t.startContainer.data.length===0&&e.remove(t.startContainer),Se(t.endContainer)&&t.endContainer.data.length===0&&e.remove(t.endContainer),Xb(e,c,o),c!==u&&Xb(e,u,o))},iS=(e,t)=>B.from(e.dom.getParent(t.startContainer,e.dom.isBlock)),xD=(e,t,o)=>{const r=e.dynamicPatternsLookup({text:o,block:t});return{...e,blockPatterns:rx(r).concat(e.blockPatterns),inlinePatterns:Gh(r).concat(e.inlinePatterns)}},ED=(e,t,o,r)=>{const c=e.createRng();return c.setStart(t,0),c.setEnd(o,r),c.toString()},fI=(e,t)=>e.create("span",{"data-mce-type":"bookmark",id:t}),sT=(e,t)=>{const o=e.createRng();return o.setStartAfter(t.start),o.setEndBefore(t.end),o},gI=(e,t,o)=>{const r=nT(e.getRoot(),o).getOrDie("Unable to resolve path range"),c=r.startContainer,u=r.endContainer,f=r.endOffset===0?u:u.splitText(r.endOffset),p=r.startOffset===0?c:c.splitText(r.startOffset),v=p.parentNode,w=f.parentNode;return{prefix:t,end:w.insertBefore(fI(e,t+"-end"),f),start:v.insertBefore(fI(e,t+"-start"),p)}},hI=(e,t,o)=>{Xb(e,e.get(t.prefix+"-end"),o),Xb(e,e.get(t.prefix+"-start"),o)},TD=e=>e.start.length===0,dK=e=>(t,o)=>{const c=t.data.substring(0,o),u=c.lastIndexOf(e.charAt(e.length-1)),f=c.lastIndexOf(e);return f!==-1?f+e.length:u!==-1?u+1:-1},kD=(e,t,o,r)=>{const c=t.start;return W6(e,r.container,r.offset,dK(c),o).bind(f=>{var w;const p=((w=o.textContent)==null?void 0:w.indexOf(c))??-1;if(p!==-1&&f.offset>=p+c.length){const _=e.createRng();return _.setStart(f.container,f.offset-c.length),_.setEnd(f.container,f.offset),B.some(_)}else{const _=f.offset-c.length;return Z6(f.container,_,o).map(O=>{const R=e.createRng();return R.setStart(O.container,O.offset),R.setEnd(f.container,f.offset),R}).filter(O=>O.toString()===c).orThunk(()=>kD(e,t,o,zu(f.container,0)))}})},mK=(e,t,o,r,c,u=!1)=>{if(t.start.length===0&&!u){const f=e.createRng();return f.setStart(o,r),f.setEnd(o,r),B.some(f)}return ME(o,r,c).bind(f=>kD(e,t,c,f).bind(v=>{var w;if(u){if(v.endContainer===f.container&&v.endOffset===f.offset)return B.none();if(f.offset===0&&((w=v.endContainer.textContent)==null?void 0:w.length)===v.endOffset)return B.none()}return B.some(v)}))},AD=(e,t,o,r)=>{const c=e.dom,u=c.getRoot(),f=o.pattern,p=o.position.container,v=o.position.offset;return Z6(p,v-o.pattern.end.length,t).bind(w=>{const _=wD(c,u,w.container,w.offset,p,v,r);if(TD(f))return B.some({matches:[{pattern:f,startRng:_,endRng:_}],position:w});{const O=rT(e,o.remainingPatterns,w.container,w.offset,t,r),R=O.getOr({matches:[],position:w}),P=R.position;return mK(c,f,P.container,P.offset,t,O.isNone()).map(I=>{const Z=uK(c,u,I,r);return{matches:R.matches.concat([{pattern:f,startRng:Z,endRng:_}]),position:zu(I.startContainer,I.startOffset)}})}})},rT=(e,t,o,r,c,u)=>{const f=e.dom;return ME(o,r,f.getRoot()).bind(p=>{const v=ED(f,c,o,r);for(let w=0;w0)return rT(e,t,o,r-1,c,u);if(R.isSome())return R}return B.none()})},pI=(e,t,o)=>{e.selection.setRng(o),t.type==="inline-format"?ie(t.format,r=>{e.formatter.apply(r)}):e.execCommand(t.cmd,!1,t.value)},fK=(e,t,o,r)=>{const c=sT(e.dom,o);oT(e.dom,c,r),pI(e,t,c)},gK=(e,t,o,r,c)=>{const u=e.dom,f=sT(u,r),p=sT(u,o);oT(u,p,c),oT(u,f,c);const v={prefix:o.prefix,start:o.end,end:r.start},w=sT(u,v);pI(e,t,w)},hK=(e,t)=>{const o=Jr("mce_textpattern"),r=Pr(t,(c,u)=>{const f=gI(e,o+`_end${c.length}`,u.endRng);return c.concat([{...u,endMarker:f}])},[]);return Pr(r,(c,u)=>{const f=r.length-c.length-1,p=TD(u.pattern)?u.endMarker:gI(e,o+`_start${f}`,u.startRng);return c.concat([{...u,startMarker:p}])},[])},pK=e=>qu(e,(t,o)=>o.end.length-t.end.length),aT=(e,t)=>{const o=Xl(e,r=>qn(t,c=>r.pattern.start===c.pattern.start&&r.pattern.end===c.pattern.end));return e.length===t.length?o?e:t:e.length>t.length?e:t},bI=(e,t,o,r,c,u)=>{const f=rT(e,c.inlinePatterns,o,r,t,u).fold(()=>[],v=>v.matches),p=rT(e,pK(c.inlinePatterns),o,r,t,u).fold(()=>[],v=>v.matches);return aT(f,p)},vI=(e,t)=>{if(t.length===0)return;const o=e.dom,r=e.selection.getBookmark(),c=hK(o,t);ie(c,u=>{const f=o.getParent(u.startMarker.start,o.isBlock),p=v=>v===f;TD(u.pattern)?fK(e,u.pattern,u.endMarker,p):gK(e,u.pattern,u.startMarker,u.endMarker,p),hI(o,u.endMarker,p),hI(o,u.startMarker,p)}),e.selection.moveToBookmark(r)},yI=(e,t,o)=>WC(t,0,t).map(r=>{const c=r.container;return E$(c,o.start.length,t).each(u=>{const f=e.createRng();f.setStart(c,0),f.setEnd(u.container,u.offset),oT(e,f,p=>p===t)}),c}),CI=e=>(t,o)=>{const r=t.dom,c=o.pattern,u=nT(r.getRoot(),o.range).getOrDie("Unable to resolve path range"),f=(p,v)=>{const w=v.get(p);return gn(w)&&ws(w).exists(_=>Ut(_,"block"))};return iS(t,u).each(p=>{c.type==="block-format"?f(c.format,t.formatter)&&t.undoManager.transact(()=>{e(t.dom,p,c),t.formatter.apply(c.format)}):c.type==="block-command"&&t.undoManager.transact(()=>{e(t.dom,p,c),t.execCommand(c.cmd,!1,c.value)})}),!0},bK=e=>qu(e,(t,o)=>o.start.length-t.start.length),SI=e=>(t,o)=>{const r=bK(t),c=o.replace(Es," ");return Qn(r,u=>e(u,o,c))},wI=(e,t)=>(o,r,c,u,f=r.textContent??"")=>{const p=o.dom,v=zs(o);return p.is(r,v)?e(c.blockPatterns,f).map(w=>t&&Oe.trim(f).length===w.start.length?[]:[{pattern:w,range:wD(p,p.getRoot(),r,0,r,0,u)}]).getOr([]):[]},vK=e=>/^\s[^\s]/.test(e),xI=CI((e,t,o)=>{yI(e,t,o).each(r=>{const c=U.fromDom(r),u=xr(c);vK(u)&&Uv(c,u.slice(1))})}),yK=SI((e,t,o)=>t.indexOf(e.start)===0||o.indexOf(e.start)===0),EI=wI(yK,!0),CK=(e,t)=>{const o=e.selection.getRng();return iS(e,o).map(r=>{const c=Math.max(0,o.startOffset),u=xD(t,r,r.textContent??""),f=bI(e,r,o.startContainer,c,u,!0),p=EI(e,r,u,!0);return{inlineMatches:f,blockMatches:p}}).filter(({inlineMatches:r,blockMatches:c})=>c.length>0||r.length>0)},SK=(e,t)=>{if(t.length===0)return;const o=e.selection.getBookmark();ie(t,r=>xI(e,r)),e.selection.moveToBookmark(o)},TI=CI(yI),lS=SI((e,t,o)=>t===e.start||o===e.start),wK=wI(lS,!1),kI=(e,t)=>{const o=e.selection.getRng();return iS(e,o).map(r=>{const c=Math.max(0,o.startOffset),u=ED(e.dom,r,o.startContainer,c),f=xD(t,r,u);return wK(e,r,f,!1,u)}).filter(r=>r.length>0)},xK=(e,t)=>{ie(t,o=>TI(e,o))},EK=(e,t)=>CK(e,t).fold(Ee,({inlineMatches:o,blockMatches:r})=>(e.undoManager.add(),e.undoManager.extra(()=>{e.execCommand("mceInsertNewLine")},()=>{Iw(e),vI(e,o),SK(e,r);const c=e.selection.getRng(),u=ME(c.startContainer,c.startOffset,e.dom.getRoot());e.execCommand("mceInsertNewLine"),u.each(f=>{const p=f.container;p.data.charAt(f.offset-1)===Yg&&(p.deleteData(f.offset-1,1),Xb(e.dom,p.parentNode,v=>v===e.dom.getRoot()))})}),!0)),TK=(e,t)=>{const o=e.selection.getRng();iS(e,o).map(r=>{const c=Math.max(0,o.startOffset-1),u=ED(e.dom,r,o.startContainer,c),f=xD(t,r,u),p=bI(e,r,o.startContainer,c,f,!1);p.length>0&&e.undoManager.transact(()=>{vI(e,p)})})},kK=(e,t)=>kI(e,t).fold(Ee,o=>(e.undoManager.transact(()=>{xK(e,o)}),!0)),_D=(e,t,o)=>{for(let r=0;r_D(e,t,(o,r)=>o===r.keyCode&&!We.modifierPressed(r)),AI=(e,t)=>_D(e,t,(o,r)=>o.charCodeAt(0)===r.charCode),_K=e=>{const t=[",",".",";",":","!","?"],o=[32],r=()=>Q2(L0(e).filter(f=>f.type==="inline-command"||f.type==="block-command"?e.queryCommandSupported(f.cmd):!0),yy(e)),c=()=>$d(e);e.on("keydown",f=>{if(f.keyCode===13&&!We.modifierPressed(f)&&e.selection.isCollapsed()&&e.selection.isEditable()){const p=qh(r(),"enter");(p.inlinePatterns.length>0||p.blockPatterns.length>0||c())&&EK(e,p)&&f.preventDefault()}},!0),e.on("keydown",f=>{if(f.keyCode===32&&e.selection.isCollapsed()&&e.selection.isEditable()){const p=qh(r(),"space");(p.blockPatterns.length>0||c())&&kK(e,p)&&f.preventDefault()}},!0);const u=()=>{if(e.selection.isCollapsed()&&e.selection.isEditable()){const f=qh(r(),"space");(f.inlinePatterns.length>0||c())&&TK(e,f)}};e.on("keyup",f=>{AK(o,f)&&u()}),e.on("keypress",f=>{AI(t,f)&&fi.setEditorTimeout(e,u)})},OK=e=>{_K(e)},DK=e=>{const t=Oe.each,o=We.BACKSPACE,r=We.DELETE,c=e.dom,u=e.selection,f=e.parser,p=dn.browser,v=p.isFirefox(),w=p.isChromium()||p.isSafari(),_=dn.deviceType.isiPhone()||dn.deviceType.isiPad(),O=dn.os.isMacOS()||dn.os.isiOS(),R=(ye,$e)=>{try{e.getDoc().execCommand(ye,!1,String($e))}catch{}},P=ye=>ye.isDefaultPrevented(),z=()=>{const ye=Xe=>{const Zt=c.create("body"),Vt=Xe.cloneContents();return Zt.appendChild(Vt),u.serializer.serialize(Zt,{format:"html"})},$e=Xe=>{const Zt=ye(Xe),Vt=c.createRng();Vt.selectNode(e.getBody());const $n=ye(Vt);return Zt===$n};e.on("keydown",Xe=>{const Zt=Xe.keyCode;if(!P(Xe)&&(Zt===r||Zt===o)&&e.selection.isEditable()){const Vt=e.selection.isCollapsed(),$n=e.getBody();if(Vt&&!fc(e.schema,$n)||!Vt&&!$e(e.selection.getRng()))return;Xe.preventDefault(),WB(e,Zt===r,()=>e.setContent(""))&&($n.firstChild&&c.isBlock($n.firstChild)?e.selection.setCursorLocation($n.firstChild,0):e.selection.setCursorLocation($n,0))}})},I=()=>{e.shortcuts.add("meta+a",null,"SelectAll")},Z=()=>{e.inline||c.bind(e.getDoc(),"mousedown mouseup",ye=>{var Xe;let $e;if(ye.target===e.getDoc().documentElement)if($e=u.getRng(),((Xe=e.getDoc().getSelection())==null?void 0:Xe.anchorNode)!==null&&e.getBody().focus(),ye.type==="mousedown"){if(ya($e.startContainer))return;u.placeCaretAt(ye.clientX,ye.clientY)}else u.setRng($e)})},Y=()=>{e.on("keydown",ye=>{if(!P(ye)&&ye.keyCode===o){if(!e.getBody().getElementsByTagName("hr").length)return;if(u.isCollapsed()&&u.getRng().startOffset===0){const $e=u.getNode(),Xe=$e.previousSibling;if($e.nodeName==="HR"){c.remove($e),ye.preventDefault();return}Xe&&Xe.nodeName&&Xe.nodeName.toLowerCase()==="hr"&&(c.remove(Xe),ye.preventDefault())}}})},X=()=>{Range.prototype.getClientRects||e.on("mousedown",ye=>{if(!P(ye)&&ye.target.nodeName==="HTML"){const $e=e.getBody();$e.blur(),fi.setEditorTimeout(e,()=>{$e.focus()})}})},ee=()=>{const ye=Mx(e);e.on("click",$e=>{const Xe=$e.target;/^(IMG|HR)$/.test(Xe.nodeName)&&c.isEditable(Xe)&&($e.preventDefault(),e.selection.select(Xe),e.nodeChanged()),Xe.nodeName==="A"&&c.hasClass(Xe,ye)&&Xe.childNodes.length===0&&c.isEditable(Xe.parentNode)&&($e.preventDefault(),u.select(Xe))})},fe=()=>{const ye=$e=>$e.nodeName==="IMG"&&e.dom.isEditable($e);e.on("mousedown",$e=>{xs(B.from($e.clientX),B.from($e.clientY),(Xe,Zt)=>{var cl;const Vt=e.getDoc().caretPositionFromPoint(Xe,Zt),$n=((cl=Vt==null?void 0:Vt.offsetNode)==null?void 0:cl.childNodes[Vt.offset-(Vt.offset>0?1:0)])||(Vt==null?void 0:Vt.offsetNode);if(pe($n)&&ye($n)){const il=$n.getBoundingClientRect();$e.preventDefault(),e.hasFocus()||e.focus(),e.selection.select($n),$e.clientXil.right||$e.clientY>il.bottom)&&e.selection.collapse(!1)}})})},we=()=>{const ye=()=>{const Xe=c.getAttribs(u.getStart().cloneNode(!1));return()=>{const Zt=u.getStart();Zt!==e.getBody()&&(c.setAttrib(Zt,"style",null),t(Xe,Vt=>{Zt.setAttributeNode(Vt.cloneNode(!0))}))}},$e=()=>!u.isCollapsed()&&c.getParent(u.getStart(),c.isBlock)!==c.getParent(u.getEnd(),c.isBlock);e.on("keypress",Xe=>{let Zt;return!P(Xe)&&(Xe.keyCode===8||Xe.keyCode===46)&&$e()?(Zt=ye(),e.getDoc().execCommand("delete",!1),Zt(),Xe.preventDefault(),!1):!0}),c.bind(e.getDoc(),"cut",Xe=>{if(!P(Xe)&&$e()){const Zt=ye();fi.setEditorTimeout(e,()=>{Zt()})}})},xt=()=>{e.on("keydown",ye=>{if(!P(ye)&&ye.keyCode===o&&u.isCollapsed()&&u.getRng().startOffset===0){const $e=u.getNode().previousSibling;if($e&&$e.nodeName&&$e.nodeName.toLowerCase()==="table")return ye.preventDefault(),!1}return!0})},at=()=>{e.on("keydown",ye=>{if(P(ye)||ye.keyCode!==We.BACKSPACE)return;let $e=u.getRng();const Xe=$e.startContainer,Zt=$e.startOffset,Vt=c.getRoot();let $n=Xe;if(!(!$e.collapsed||Zt!==0)){for(;$n.parentNode&&$n.parentNode.firstChild===$n&&$n.parentNode!==Vt;)$n=$n.parentNode;$n.nodeName==="BLOCKQUOTE"&&(e.formatter.toggle("blockquote",void 0,$n),$e=c.createRng(),$e.setStart(Xe,0),$e.setEnd(Xe,0),u.setRng($e))}})},oe=()=>{const ye=pl("figcaption");e.on("keydown",$e=>{if($e.keyCode===We.LEFT||$e.keyCode===We.RIGHT){const Xe=U.fromDom(e.selection.getNode());ye(Xe)&&e.selection.isCollapsed()&&Ra(Xe).bind(Zt=>{var Vt;return e.selection.getRng().startOffset===0&&$e.keyCode===We.LEFT?oc(Zt):e.selection.getRng().endOffset===((Vt=Xe.dom.textContent)==null?void 0:Vt.length)&&$e.keyCode===We.RIGHT?Ri(Zt):B.none()}).each(Zt=>{e.selection.setCursorLocation(Zt.dom,0)})}})},ge=()=>{const ye=()=>{R("StyleWithCSS",!1),R("enableInlineTableEditing",!1),D0(e)||R("enableObjectResizing",!1)};gy(e)||e.on("BeforeExecCommand mousedown",ye)},_e=()=>{const ye=()=>{t(c.select("a:not([data-mce-block])"),$e=>{var Vt;let Xe=$e.parentNode;const Zt=c.getRoot();if((Xe==null?void 0:Xe.lastChild)===$e){for(;Xe&&!c.isBlock(Xe);){if(((Vt=Xe.parentNode)==null?void 0:Vt.lastChild)!==Xe||Xe===Zt)return;Xe=Xe.parentNode}c.add(Xe,"br",{"data-mce-bogus":1})}})};e.on("SetContent ExecCommand",$e=>{($e.type==="setcontent"||$e.command==="mceInsertLink")&&ye()})},Pe=()=>{e.on("init",()=>{R("DefaultParagraphSeparator",zs(e))})},Ue=ye=>{const $e=ye.getBody(),Xe=ye.selection.getRng();return Xe.startContainer===Xe.endContainer&&Xe.startContainer===$e&&Xe.startOffset===0&&Xe.endOffset===$e.childNodes.length},it=()=>{e.on("keyup focusin mouseup",ye=>{!We.modifierPressed(ye)&&!Ue(e)&&u.normalize()},!0)},Jt=()=>{e.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")},yn=()=>{e.inline||e.on("keydown",()=>{document.activeElement===document.body&&e.getWin().focus()})},Gn=()=>{e.inline||(e.contentStyles.push("body {min-height: 150px}"),e.on("click",ye=>{let $e;ye.target.nodeName==="HTML"&&($e=e.selection.getRng(),e.getBody().focus(),e.selection.setRng($e),e.selection.normalize(),e.nodeChanged())}))},co=()=>{O&&e.on("keydown",ye=>{We.metaKeyPressed(ye)&&!ye.shiftKey&&(ye.keyCode===37||ye.keyCode===39)&&(ye.preventDefault(),e.selection.getSel().modify("move",ye.keyCode===37?"backward":"forward","lineboundary"))})},Ns=()=>{e.on("click",ye=>{let $e=ye.target;do if($e.tagName==="A"){ye.preventDefault();return}while($e=$e.parentNode)}),e.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")},Pc=()=>{e.on("init",()=>{e.dom.bind(e.getBody(),"submit",ye=>{ye.preventDefault()})})},Ve=()=>{f.addNodeFilter("br",ye=>{let $e=ye.length;for(;$e--;)ye[$e].attr("class")==="Apple-interchange-newline"&&ye[$e].remove()})},vt=Tt,Tn=()=>{if(!v||e.removed)return!1;const ye=e.selection.getSel();return!ye||!ye.rangeCount||ye.rangeCount===0},Sn=()=>{w&&(Z(),ee(),Pc(),I(),_&&(yn(),Gn(),Ns())),v&&(X(),ge(),Jt(),co())},vr=()=>{at(),z(),dn.windowsPhone||it(),w&&(Z(),ee(),Pe(),Pc(),xt(),Ve(),_?(yn(),Gn(),Ns()):I()),v&&(oe(),fe(),Y(),X(),we(),ge(),_e(),Jt(),co(),xt())};return Il(e)?Sn():vr(),{refreshContentEditable:vt,isHidden:Tn}};class _I extends Error{constructor(o,r){super(o);Re(this,"url");this.url=r}}const OD={},RK=(e,t,o)=>new Promise((r,c)=>{const u=U.fromTag("script");qs(u,{type:"text/javascript",src:e,...o});const f=()=>{no(u)};Hv(u,"load",()=>{f(),r()}),Hv(u,"error",()=>{f(),c(new Error(`Failed to load script url: ${e}`))}),pn(ZS(t),u)}),OI=async(e,t)=>{const o=ti.ScriptLoader.getScriptAttributes(e);return await RK(e,t,o).catch(()=>Promise.reject(new _I(`Failed to load component url: ${e}`,e))),e},MK=e=>Yu(e,(t,o)=>po(OD,t).getOrThunk(()=>{if(on(window.customElements.get(o))){const r=OI(t,w1());return OD[t]=r,r}else return Promise.resolve(t)}).catch(r=>(delete OD[t],Promise.reject(r)))),BK=(e,t)=>{const o=Ku(Jl(e));return Ot(o,r=>OI(r,U.fromDom(t)))},DI=e=>{const t=e.schema.getComponentUrls();return e.inline?MK(t):BK(t,e.getDoc())},DD=async e=>{const t=DI(e),o=ft(await Promise.allSettled(t),r=>r.status==="rejected");o.length>0&&ie(o,r=>{if(r.reason instanceof _I){const{url:c}=r.reason;Mg(e,c)}})},RI=e=>{DD(e)},uS=yt.DOM,NK=(e,t)=>{const o=U.fromDom(e.getBody()),r=Iv(Ws(o)),c=U.fromTag("style");So(c,"type","text/css"),pn(c,U.fromText(t)),pn(r,c),e.on("remove",()=>{no(c)})},PK=e=>e.inline?e.getElement().nodeName.toLowerCase():void 0,RD=e=>qg(e,t=>ls(t)===!1),MD=e=>{const t=e.options.get,o=e.editorUpload.blobCache;return RD({allow_conditional_comments:t("allow_conditional_comments"),allow_html_data_urls:t("allow_html_data_urls"),allow_svg_data_urls:t("allow_svg_data_urls"),allow_html_in_named_anchor:t("allow_html_in_named_anchor"),allow_script_urls:t("allow_script_urls"),allow_html_in_comments:t("allow_html_in_comments"),allow_mathml_annotation_encodings:t("allow_mathml_annotation_encodings"),allow_unsafe_link_target:t("allow_unsafe_link_target"),convert_unsafe_embeds:t("convert_unsafe_embeds"),convert_fonts_to_spans:t("convert_fonts_to_spans"),extended_mathml_attributes:t("extended_mathml_attributes"),extended_mathml_elements:t("extended_mathml_elements"),fix_list_elements:t("fix_list_elements"),font_size_legacy_values:t("font_size_legacy_values"),forced_root_block:t("forced_root_block"),forced_root_block_attrs:t("forced_root_block_attrs"),preserve_cdata:t("preserve_cdata"),inline_styles:t("inline_styles"),root_name:PK(e),sandbox_iframes:t("sandbox_iframes"),sandbox_iframes_exclusions:Id(e),sanitize:t("xss_sanitization"),validate:!0,blob_cache:o,document:e.getDoc()})},BD=e=>{const t=e.options.get;return RD({custom_elements:t("custom_elements"),extended_valid_elements:t("extended_valid_elements"),invalid_elements:t("invalid_elements"),invalid_styles:t("invalid_styles"),schema:t("schema"),valid_children:t("valid_children"),valid_classes:t("valid_classes"),valid_elements:t("valid_elements"),valid_styles:t("valid_styles"),verify_html:t("verify_html"),padd_empty_block_inline_children:t("format_empty_lines")})},$K=e=>{const t=e.options.get;return{...MD(e),...BD(e),...RD({remove_trailing_brs:t("remove_trailing_brs"),pad_empty_with_br:t("pad_empty_with_br"),url_converter:t("url_converter"),url_converter_scope:t("url_converter_scope"),element_format:t("element_format"),entities:t("entities"),entity_encoding:t("entity_encoding"),indent:t("indent"),indent_after:t("indent_after"),indent_before:t("indent_before")})}},FK=e=>{const t=hb(MD(e),e.schema);return t.addAttributeFilter("src,href,style,tabindex",(o,r)=>{const c=e.dom,u="data-mce-"+r;let f=o.length;for(;f--;){const p=o[f];let v=p.attr(r);if(v&&!p.attr(u)){if(v.indexOf("data:")===0||v.indexOf("blob:")===0)continue;r==="style"?(v=c.serializeStyle(c.parseStyle(v),p.name),v.length||(v=null),p.attr(u,v),p.attr(r,v)):r==="tabindex"?(p.attr(u,v),p.attr(r,null)):p.attr(u,e.convertURL(v,r,p.name))}}}),t.addNodeFilter("script",o=>{let r=o.length;for(;r--;){const c=o[r],u=c.attr("type")||"no/type";u.indexOf("mce-")!==0&&c.attr("type","mce-"+u)}}),Sy(e)&&t.addNodeFilter("#cdata",o=>{let r=o.length;for(;r--;){const c=o[r];c.type=8,c.name="#comment",c.value="[CDATA["+e.dom.encode(c.value??"")+"]]"}}),t.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",o=>{let r=o.length;const c=e.schema.getNonEmptyElements();for(;r--;){const u=o[r];u.isEmpty(c)&&u.getAll("br").length===0&&u.append(new or("br",1))}}),t},ND=e=>{const t=CR(e);t&&fi.setEditorTimeout(e,()=>{let o;t===!0?o=e:o=e.editorManager.get(t),o&&!o.destroyed&&(o.focus(),o.selection.scrollIntoView())},100)},cT=e=>{const t=e.dom.getRoot();!e.inline&&(!s4(e)||e.selection.getStart(!0)===t)&&$(t).each(o=>{const r=o.getNode(),c=Xs(r)?$(r).getOr(o):o;e.selection.setRng(c.toRange())})},MI=e=>{e.bindPendingEventDelegates(),e.initialized=!0,Pk(e),e.focus(!0),cT(e),e.nodeChanged({initial:!0});const t=Bx(e);J(t)&&t.call(e,e),ND(e),Hl(e)&&NB(e,!0)},iT=e=>e.inline?e.ui.styleSheetLoader:e.dom.styleSheetLoader,BI=(e,t,o)=>{const{pass:r,fail:c}=Nr(t,p=>tinymce.Resource.has(p)),f=[...r.map(p=>{const v=tinymce.Resource.get(p);return q(v)?Promise.resolve(iT(e).loadRawCss(p,v)):Promise.resolve()}),iT(e).loadAll(c)];return e.inline?f:f.concat([e.ui.styleSheetLoader.loadAll(o)])},NI=e=>{const t=iT(e),o=dy(e),r=e.contentCSS,c=()=>{t.unloadAll(r),e.inline||e.ui.styleSheetLoader.unloadAll(o)},u=()=>{e.removed?c():e.on("remove",c)};if(e.contentStyles.length>0){let v="";Oe.each(e.contentStyles,w=>{v+=w+`\r +`}),e.dom.addStyle(v)}const f=Promise.all(BI(e,r,o)).then(u).catch(u),p=Wk(e);return p&&NK(e,p),f},IK=e=>{const t=e.getDoc(),o=e.getBody();Nd(e),eA(e)||(t.body.spellcheck=!1,uS.setAttrib(o,"spellcheck","false")),e.quirks=DK(e),lx(e);const r=Ex(e);r!==void 0&&(o.dir=r);const c=tA(e);c&&e.on("BeforeSetContent",u=>{Oe.each(c,f=>{u.content=u.content.replace(f,p=>"")})}),e.on("SetContent",()=>{e.addVisual(e.getBody())}),e.on("compositionstart compositionend",u=>{e.composing=u.type==="compositionstart"})},LK=e=>{Il(e)||e.load({initial:!0,format:"html"}),e.startContent=e.getContent({format:"raw"})},PD=e=>{e.removed!==!0&&(LK(e),MI(e))},om=e=>{let t=!1;const o=setTimeout(()=>{t||e.setProgressState(!0)},500);return()=>{clearTimeout(o),t=!0,e.setProgressState(!1)}},$D=e=>{const t=e.getElement();let o=e.getDoc();e.inline&&(uS.addClass(t,"mce-content-body"),e.contentDocument=o=document,e.contentWindow=window,e.bodyElement=t,e.contentAreaContainer=t);const r=O0(e);if(r){const p=e.inline?t:o.documentElement;uS.setAttrib(p,"lang",r)}const c=e.getBody();c.disabled=!0,e.readonly=gy(e),e._editableRoot=Xk(e),!U0(e)&&e.hasEditableRoot()&&(e.inline&&uS.getStyle(c,"position",!0)==="static"&&(c.style.position="relative"),c.contentEditable="true"),c.disabled=!1,e.editorUpload=Tb(e),e.schema=bc(BD(e)),e.dom=yt(o,{keep_values:!0,url_converter:e.convertURL,url_converter_scope:e,update_styles:!0,root_element:e.inline?e.getBody():null,collect:e.inline,schema:e.schema,contentCssCors:_0(e),referrerPolicy:ly(e),crossOrigin:op(e),onSetAttrib:p=>{e.dispatch("SetAttrib",p)}}),e.parser=FK(e),e.serializer=Or($K(e),e),e.selection=fB(e.dom,e.getWin(),e.serializer,e),e.annotator=pr(e),e.formatter=zB(e),e.undoManager=UB(e),e._nodeChangeDispatcher=new YG(e),e._selectionOverrides=iK(e),KG(e),gE(e),Rq(e),fg(e)&&VW(e),Il(e)||($q(e),OK(e));const u=jn(e);$W(e,u),C6(e),NU(e),Dq(e,u);const f=RV(e);IK(e),RI(e),f.fold(()=>{const p=om(e);NI(e).then(()=>{PD(e),p()})},p=>{e.setProgressState(!0),NI(e).then(()=>{p().then(v=>{e.setProgressState(!1),PD(e),V5(e)},v=>{e.notificationManager.open({type:"error",text:String(v)}),PD(e),V5(e)})})})},FD=yt.DOM,PI=(e,t,o,r)=>{const c=U.fromTag("iframe");return r.each(u=>So(c,"tabindex",u)),qs(c,o),qs(c,{id:e+"_ifr",frameBorder:"0",allowTransparency:"true",...dn.browser.isFirefox()?{title:t}:{}}),Ba(c,"tox-edit-area__iframe"),c},HK=e=>{let t=Lk(e)+"";px(e)!==e.editorManager.documentBaseURL&&(t+=''),t+='';const o=E0(e),r=cg(e),c=e.translate(ji(e)),u=dn.browser.isFirefox()?"":`aria-label="${c}"`;return Pd(e)&&(t+=''),t+=`
    `,t},zK=(e,t)=>{const o=ji(e),r=e.translate(o),c=rc(U.fromDom(e.getElement()),"tabindex").bind(AS),u=PI(e.id,r,Ik(e),c).dom;u.onload=()=>{u.onload=null,e.dispatch("load")},e.contentAreaContainer=t.iframeContainer,e.iframeElement=u,e.iframeHTML=HK(e),FD.add(t.iframeContainer,u)},ID=e=>{const t=e.iframeElement,o=()=>{e.contentDocument=t.contentDocument,$D(e)};if(rA(e)||dn.browser.isFirefox()){const r=e.getDoc();r.open(),r.write(e.iframeHTML),r.close(),o()}else{const r=Hv(U.fromDom(t),"load",()=>{r.unbind(),o()});t.srcdoc=e.iframeHTML}},lT=(e,t)=>{zK(e,t),t.editorContainer&&(t.editorContainer.style.display=e.orgDisplay,e.hidden=FD.isHidden(t.editorContainer)),e.getElement().style.display="none",FD.setAttrib(e.id,"aria-hidden","true"),e.getElement().style.visibility=e.orgVisibility,ID(e)},$I=yt.DOM,VK=(e,t,o)=>{const r=Sb.get(o),c=Sb.urls[o]||e.editorManager.documentBaseURL.replace(/\/$/,"");if(o=Oe.trim(o),r&&Oe.inArray(t,o)===-1){if(e.plugins[o])return;try{const u=r(e,c)||{};e.plugins[o]=u,J(u.init)&&(u.init(e,c),t.push(o))}catch(u){cU(e,o,u)}}},UK=e=>{const t=o=>{o.keyCode===We.ESC&&!o.defaultPrevented&&ry(e).isDefaultPrevented()&&o.preventDefault()};document.addEventListener("keyup",t),e.inline||e.on("keyup",t),e.on("remove",()=>{document.removeEventListener("keyup",t),e.inline||e.off("keyup",t)})},FI=e=>e.replace(/^\-/,""),ZK=e=>{const t=[];ie(Eu(e),o=>{VK(e,t,FI(o))})},II=e=>{const t=Oe.trim(tp(e)),o=e.ui.registry.getAll().icons,r={...yb.get("default").icons,...yb.get(t).icons};hn(r,(c,u)=>{Ut(o,u)||e.ui.registry.addIcon(u,c)})},WK=e=>{const t=lg(e);if(q(t)){const o=Dg.get(t);e.theme=o(e,Dg.urls[t])||{},J(e.theme.init)&&e.theme.init(e,Dg.urls[t]||e.editorManager.documentBaseURL.replace(/\/$/,""))}else e.theme={}},jK=e=>{const t=my(e),o=Cb.get(t);e.model=o(e,Cb.urls[t])},GK=e=>{tO.init(e)},qK=e=>{const t=e.theme.renderUI;return t?t():dT(e)},KK=e=>{const t=e.getElement(),r=lg(e)(e,t);return r.editorContainer.nodeType&&(r.editorContainer.id=r.editorContainer.id||e.id+"_parent"),r.iframeContainer&&r.iframeContainer.nodeType&&(r.iframeContainer.id=r.iframeContainer.id||e.id+"_iframecontainer"),r.height=r.iframeHeight?r.iframeHeight:t.offsetHeight,r},LD=(e,t)=>({editorContainer:e,iframeContainer:t,api:{}}),uT=e=>{const t=$I.create("div");return $I.insertAfter(t,e),LD(t,t)},dT=e=>{const t=e.getElement();return e.inline?LD(null):uT(t)},YK=e=>{const t=e.getElement();return e.orgDisplay=t.style.display,q(lg(e))?qK(e):J(lg(e))?KK(e):dT(e)},LI=(e,t)=>{const o={show:B.from(t.show).getOr(Tt),hide:B.from(t.hide).getOr(Tt),isEnabled:B.from(t.isEnabled).getOr(Qe),setEnabled:r=>{r&&(e.mode.get()==="readonly"||Hl(e))||B.from(t.setEnabled).each(u=>u(r))}};e.ui={...e.ui,...o}},HI=async e=>{e.dispatch("ScriptsLoaded"),II(e),UK(e),WK(e),jK(e),GK(e),ZK(e);const t=await YK(e);LI(e,B.from(t.api).getOr({})),e.editorContainer=t.editorContainer,vU(e),e.inline?$D(e):lT(e,{editorContainer:t.editorContainer,iframeContainer:t.iframeContainer})},Jp=yt.DOM,HD=e=>e.charAt(0)==="-",XK=(e,t)=>{const o=uy(t),r=xx(t);if(!Va.hasCode(o)&&o!=="en"){const c=Lo(r)?r:`${t.editorManager.baseURL}/langs/${o}.js`;e.add(c).catch(()=>{rU(t,c,o)})}},JK=(e,t)=>{const o=lg(e);if(q(o)&&!HD(o)&&!Ut(Dg.urls,o)){const r=M0(e),c=r?e.documentBaseURI.toAbsolute(r):`themes/${o}/theme${t}.js`;Dg.load(o,c).catch(()=>{kB(e,c,o)})}},QK=(e,t)=>{const o=my(e);if(o!=="plugin"&&!Ut(Cb.urls,o)){const r=Gk(e),c=q(r)?e.documentBaseURI.toAbsolute(r):`models/${o}/model${t}.js`;Cb.load(o,c).catch(()=>{aU(e,c,o)})}},eY=(e,t)=>{tO.load(e,t)},zI=e=>B.from(A0(e)).filter(Lo).map(t=>({url:t,name:B.none()})),zD=(e,t,o)=>B.from(t).filter(r=>Lo(r)&&!yb.has(r)).map(r=>({url:`${e.editorManager.baseURL}/icons/${r}/icons${o}.js`,name:B.some(r)})),VI=(e,t,o)=>{const r=zD(t,"default",o),c=zI(t).orThunk(()=>zD(t,tp(t),""));ie(zc([r,c]),u=>{e.add(u.url).catch(()=>{sU(t,u.url,u.name.getOrUndefined())})})},UI=(e,t)=>{const o=(r,c)=>{r!=="licensekeymanager"&&Sb.load(r,c).catch(()=>{oU(e,c,r)})};hn(F0(e),(r,c)=>{o(c,r),e.options.set("plugins",Eu(e).concat(c))}),ie(Eu(e),r=>{r=Oe.trim(r),r&&!Sb.urls[r]&&!HD(r)&&o(r,`plugins/${r}/plugin${t}.js`)})},ZI=e=>{const t=lg(e);return!q(t)||pe(Dg.get(t))},WI=e=>{const t=my(e);return pe(Cb.get(t))},VD=(e,t)=>{const o=ti.ScriptLoader,r=()=>{!e.removed&&ZI(e)&&WI(e)&&HI(e)};JK(e,t),QK(e,t),eY(e,t),XK(o,e),VI(o,e,t),UI(e,t),o.loadQueue().then(r,r)},jI=(e,t)=>ei.forElement(e,{contentCssCors:hy(t),referrerPolicy:ly(t)}),GI=e=>{const t=e.id;Va.setCode(uy(e));const o=()=>{Jp.unbind(window,"ready",o),e.render()};if(!Mm.Event.domLoaded){Jp.bind(window,"ready",o);return}if(!e.getElement())return;const r=U.fromDom(e.getElement()),c=Xt(r);e.on("remove",()=>{Gu(r.dom.attributes,f=>Go(r,f.name)),qs(r,c)}),e.ui.styleSheetLoader=jI(r,e),N0(e)?e.inline=!0:(e.orgVisibility=e.getElement().style.visibility,e.getElement().style.visibility="hidden");const u=e.getElement().form||Jp.getParent(t,"form");u&&(e.formElement=u,qk(e)&&!gh(e.getElement())&&(Jp.insertAfter(Jp.create("input",{type:"hidden",name:t}),t),e.hasHiddenInput=!0),e.formEventDelegate=f=>{e.dispatch(f.type,f)},Jp.bind(u,"submit reset",e.formEventDelegate),e.on("reset",()=>{e.resetContent()}),Kk(e)&&!u.submit.nodeType&&!u.submit.length&&!u._mceOldSubmit&&(u._mceOldSubmit=u.submit,u.submit=()=>(e.editorManager.triggerSave(),e.setDirty(!1),u._mceOldSubmit(u)))),e.windowManager=Rg(e),e.notificationManager=R3(e),Gi(e)&&e.on("GetContent",f=>{f.save&&(f.content=Jp.encode(f.content))}),Yk(e)&&e.on("submit",()=>{e.initialized&&e.save()}),P0(e)&&(e._beforeUnload=()=>{e.initialized&&!e.destroyed&&!e.isHidden()&&e.save({format:"raw",no_events:!0,set_dirty:!1})},e.editorManager.on("BeforeUnload",e._beforeUnload)),e.editorManager.add(e),VD(e,e.suffix)},UD=["#E41B60","#AD1457","#1939EC","#001CB5","#648000","#465B00","#006CE7","#0054B4","#00838F","#006064","#00866F","#004D40","#51742F","#385021","#CF4900","#A84600","#CC0000","#6A1B9A","#9C27B0","#6A00AB","#3041BA","#0A1877","#774433","#452B24","#607D8B","#455A64"],tY=e=>{var t;return Intl.Segmenter?`${(t=new Intl.Segmenter().segment(e)[Symbol.iterator]().next().value)==null?void 0:t.segment}`:e.trim()[0]},nY=(e,t)=>{let o=5381;for(let r=0;r>>0)%(t+1)},qI=e=>{const t=nY(e??"",UD.length-1);return UD[t]},KI=(e,t,o)=>{const r=o/2;return``+e+""},YI=(e,t,o)=>"data:image/svg+xml,"+encodeURIComponent(KI(e,t,o)),mT=(e,t={size:36})=>YI(tY(e.name),qI(e.id),t.size),ZD=ng([an("id"),ox("name"),ox("avatar"),un("custom")]),WD=e=>{const t={};return hn(e,(o,r)=>{o.each(c=>{t[r]=c})}),t},fT=e=>{if(!Array.isArray(e))throw new Error("fetch_users must return an array");const t=Ot(e,c=>X2("Invalid user object",ZD,c)),{errors:o,values:r}=Ja(t);if(o.length>0){const c=Ot(o,(u,f)=>`User at index ${f}: ${nx(u)}`);console.warn(`User validation errors: +`+c.join(` +`))}return Ot(r,c=>{const{id:u,name:f,avatar:p,...v}=c;return{id:u,name:f.getOr(u),avatar:p.getOr(mT({id:u,name:f.getOr(u)})),...WD(v)}})},XI=e=>{const t=new Map,o=new Map,r=w=>B.from(t.get(w)),c=(w,_)=>{t.set(_,w)},u=(w,_)=>B.from(o.get(w)).each(({reject:O})=>{O(_),o.delete(w)}),f=(w,_)=>B.from(o.get(w)).each(({resolve:O})=>{O(_),o.delete(w)}),p=w=>{const _=Vx(e);if(Array.isArray(w)){if(!_)return jg(w,R=>Promise.resolve({id:R,name:R,avatar:mT({id:R,name:R})}))}else return{};const O=Ku(ft(w,R=>!r(R).isSome()));return ie(O,R=>{const P=new Promise((z,I)=>{o.set(R,{resolve:z,reject:I})});c(P,R)}),O.length>0&&_(O).then(fT).then(R=>{const P=new Set(Ot(R,z=>z.id));ie(R,z=>f(z.id,z)),ie(O,z=>{P.has(z)||u(z,new Error(`User ${z} not found`))})}).catch(R=>{ie(O,P=>u(P,R instanceof Error?R:new Error("Network error")))}),os(w,(R,P)=>(R[P]=r(P).getOr(Promise.resolve({id:P,name:P,avatar:mT({id:P,name:P})})),R),{})},v=aA(e);return Object.freeze({userId:v,fetchUsers:p})},JI=e=>XI(e),QI=(e,t)=>{e._editableRoot!==t&&(e._editableRoot=t,Hl(e)||(e.getBody().contentEditable=String(e.hasEditableRoot()),e.nodeChanged()),Xh(e,t))},jD=e=>e._editableRoot,eL=(e,t)=>({sections:Me(e),options:Me(t)}),GD=Uc().deviceType,qD=GD.isPhone(),oY=GD.isTablet(),Jb=e=>{if(on(e))return[];{const t=gn(e)?e:e.split(/[ ,]/),o=Ot(t,Mo);return ft(o,Lo)}},sY=(e,t)=>{const o=ET(t,(r,c)=>Bt(e,c));return eL(o.t,o.f)},rY=(e,t,o={})=>{const r=e.sections(),c=po(r,t).getOr({});return Oe.extend({},o,c)},KD=(e,t)=>Ut(e.sections(),t),tL=(e,t)=>KD(e,t)?e.sections()[t]:{},aY=(e,t)=>({...{table_grid:!1,object_resizing:!1,resize:!1,toolbar_mode:po(e,"toolbar_mode").getOr("scrolling"),toolbar_sticky:!1},...t?{menubar:!1}:{}}),nL=(e,t)=>{const o=t.external_plugins??{};return e&&e.external_plugins?Oe.extend({},e.external_plugins,o):o},gT=(e,t)=>[...Jb(e),...Jb(t)],cY=(e,t,o,r)=>e&&KD(t,"mobile")?r:o,oL=(e,t,o,r)=>{const c=Jb(o.forced_plugins),u=Jb(r.plugins),f=tL(t,"mobile"),p=f.plugins?Jb(f.plugins):u,v=cY(e,t,u,p),w=gT(c,v);return Oe.extend(r,{forced_plugins:c,plugins:w})},iY=(e,t)=>e&&KD(t,"mobile"),sL=(e,t,o,r,c)=>{const u=e?{mobile:aY(c.mobile??{},t)}:{},f=sY(["mobile"],r1(u,c)),p=Oe.extend(o,r,f.options(),iY(e,f)?rY(f,"mobile"):{},{external_plugins:nL(r,f.options())});return oL(e,f,r,p)},YD=(e,t)=>{const o=mv(t);return sL(qD||oY,qD,o,e,o)},lY=(e,t)=>z5(e,t),uY=e=>{const t=(r,c)=>{e.formatter.toggle(r,c),e.nodeChanged()},o=r=>()=>{ie("left,center,right,justify".split(","),c=>{r!==c&&e.formatter.remove("align"+c)}),r!=="none"&&t("align"+r)};e.editorCommands.addCommands({JustifyLeft:o("left"),JustifyCenter:o("center"),JustifyRight:o("right"),JustifyFull:o("justify"),JustifyNone:o("none")})},rL=e=>{const t=o=>()=>{const r=e.selection,c=r.isCollapsed()?[e.dom.getParent(r.getNode(),e.dom.isBlock)]:r.getSelectedBlocks();return qn(c,u=>pe(e.formatter.matchNode(u,o)))};e.editorCommands.addCommands({JustifyLeft:t("alignleft"),JustifyCenter:t("aligncenter"),JustifyRight:t("alignright"),JustifyFull:t("alignjustify")},"state")},dY=e=>{uY(e),rL(e)},mY=e=>{e.editorCommands.addCommands({"Cut,Copy,Paste":t=>{const o=e.getDoc();let r;try{o.execCommand(t)}catch{r=!0}if(t==="paste"&&!o.queryCommandEnabled(t)&&(r=!0),r||!o.queryCommandSupported(t)){let c=e.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");(dn.os.isMacOS()||dn.os.isiOS())&&(c=c.replace(/Ctrl\+/g,"⌘+")),e.notificationManager.open({text:c,type:"error"})}}})},fY=(e,t,o,r)=>{const c=U.fromDom(e.getRoot());return Wy(c,he.fromRangeStart(t),r)?o=o.replace(/^ /," "):o=o.replace(/^ /," "),jy(c,he.fromRangeEnd(t),r)?o=o.replace(/( | )()?$/," "):o=o.replace(/ ()?$/," "),o},gY=e=>{if(typeof e!="string"){const t=Oe.extend({paste:e.paste,data:{paste:e.paste}},e);return{content:e.content,details:t}}return{content:e,details:{}}},hY=(e,t)=>{const o=e.selection,r=e.dom;return/^ | $/.test(t)?fY(r,o.getRng(),t,e.schema):t},dS=(e,t)=>{if(e.selection.isEditable()){const{content:o,details:r}=gY(t);d5(e,{...r,content:hY(e,o),format:"html",set:!1,selection:!0}).each(c=>{const u=lB(e,c.content,r);m5(e,u,c),e.addVisual()})}},aL=e=>{e.editorCommands.addCommands({mceCleanup:()=>{const t=e.selection.getBookmark();e.setContent(e.getContent()),e.selection.moveToBookmark(t)},insertImage:(t,o,r)=>{dS(e,e.dom.createHTML("img",{src:r}))},insertHorizontalRule:()=>{e.execCommand("mceInsertContent",!1,"
    ")},insertText:(t,o,r)=>{dS(e,e.dom.encode(r))},insertHTML:(t,o,r)=>{dS(e,r)},mceInsertContent:(t,o,r)=>{dS(e,r)},mceSetContent:(t,o,r)=>{e.setContent(r)},mceReplaceContent:(t,o,r)=>{e.execCommand("mceInsertContent",!1,r.replace(/\{\$selection\}/g,e.selection.getContent({format:"text"})))},mceNewDocument:()=>{e.setContent(Nx(e))}})},pY={"font-size":"size","font-family":"face"},bY=pl("font"),vY=(e,t,o)=>{const r=u=>fs(u,e).orThunk(()=>bY(u)?po(pY,e).bind(f=>rc(u,f)):B.none()),c=u=>sn(U.fromDom(t),u);return cd(U.fromDom(o),u=>r(u),c)},yY=e=>e.replace(/[\'\"\\]/g,"").replace(/,\s+/g,","),Zl=(e,t)=>B.from(yt.DOM.getStyle(t,e,!0)),n=e=>(t,o)=>B.from(o).map(U.fromDom).filter(bo).bind(r=>vY(e,t,r.dom).or(Zl(e,r.dom))).getOr(""),s=n("font-size"),a=T(yY,n("font-family")),i=e=>$(e.getBody()).bind(t=>{const o=t.container();return B.from(Se(o)?o.parentNode:o)}),d=e=>B.from(e.selection.getRng()).bind(t=>{const o=e.getBody();return t.startContainer===o&&t.startOffset===0?B.none():B.from(e.selection.getStart(!0))}),g=(e,t)=>d(e).orThunk(Ae(i,e)).map(U.fromDom).filter(bo).bind(t),h=(e,t)=>g(e,Zo(B.some,t)),C=(e,t)=>{if(/^[0-9.]+$/.test(t)){const o=parseInt(t,10);if(o>=1&&o<=7){const r=wy(e),c=Um(e);return c.length>0?c[o-1]||t:r[o-1]||t}else return t}else return t},S=e=>{const t=e.split(/\s*,\s*/);return Ot(t,o=>o.indexOf(" ")!==-1&&!(Ht(o,'"')||Ht(o,"'"))?`'${o}'`:o).join(",")},x=(e,t)=>{const o=C(e,t);e.formatter.toggle("fontname",{value:S(o)}),e.nodeChanged()},k=e=>h(e,t=>a(e.getBody(),t.dom)).getOr(""),D=(e,t)=>{e.formatter.toggle("fontsize",{value:C(e,t)}),e.nodeChanged()},N=e=>h(e,t=>s(e.getBody(),t.dom)).getOr(""),F=e=>h(e,t=>{const o=U.fromDom(e.getBody()),r=cd(t,u=>fs(u,"line-height"),Ae(sn,o)),c=()=>{const u=parseFloat(No(t,"line-height")),f=parseFloat(No(t,"font-size"));return String(u/f)};return r.getOrThunk(c)}).getOr(""),L=(e,t)=>{e.formatter.toggle("lineheight",{value:String(t)}),e.nodeChanged()},W=e=>{const t=(o,r)=>{e.formatter.toggle(o,r),e.nodeChanged()};e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":o=>{t(o)},"ForeColor,HiliteColor":(o,r,c)=>{t(o,{value:c})},BackColor:(o,r,c)=>{t("hilitecolor",{value:c})},FontName:(o,r,c)=>{x(e,c)},FontSize:(o,r,c)=>{D(e,c)},LineHeight:(o,r,c)=>{L(e,c)},Lang:(o,r,c)=>{t(o,{value:c.code,customValue:c.customCode??null})},RemoveFormat:o=>{e.formatter.remove(o)},mceBlockQuote:()=>{t("blockquote")},FormatBlock:(o,r,c)=>{t(q(c)?c:"p")},mceToggleFormat:(o,r,c)=>{t(c)}})},j=e=>{const t=o=>e.formatter.match(o);e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":o=>t(o),mceBlockQuote:()=>t("blockquote")},"state"),e.editorCommands.addQueryValueHandler("FontName",()=>k(e)),e.editorCommands.addQueryValueHandler("FontSize",()=>N(e)),e.editorCommands.addQueryValueHandler("LineHeight",()=>F(e))},V=e=>{W(e),j(e)},K=e=>{e.editorCommands.addCommands({mceAddUndoLevel:()=>{e.undoManager.add()},mceEndUndoLevel:()=>{e.undoManager.add()},Undo:()=>{e.undoManager.undo()},Redo:()=>{e.undoManager.redo()}})},Q=e=>{e.editorCommands.addCommands({Indent:()=>{AP(e)},Outdent:()=>{p6(e)}}),e.editorCommands.addCommands({Outdent:()=>fE(e),Indent:()=>g6(e)},"state")},le=e=>{const t=(o,r,c)=>{if(e.mode.isReadOnly())return;const u=q(c)?{href:c}:c,f=e.dom.getParent(e.selection.getNode(),"a");fn(u)&&q(u.href)&&(u.href=u.href.replace(/ /g,"%20").replace(/&/g,"&"),(!f||!u.href)&&e.formatter.remove("link"),u.href&&e.formatter.apply("link",u,f))};e.editorCommands.addCommands({unlink:()=>{if(e.selection.isEditable()){if(e.selection.isCollapsed()){const o=e.dom.getParent(e.selection.getStart(),"a");o&&e.dom.remove(o,!0);return}e.formatter.remove("link")}},mceInsertLink:t,createLink:t})},me=(e,t,o,r)=>{const c=e.dom,u=p=>c.isBlock(p)&&p.parentElement===o,f=u(t)?t:c.getParent(r,u,o);return B.from(f).map(U.fromDom)},Fe=(e,t)=>{if(e.mode.isReadOnly())return;const o=e.dom,r=e.selection.getRng(),c=t?e.selection.getStart():e.selection.getEnd(),u=t?r.startContainer:r.endContainer,f=jC(o,u);if(!f||!f.isContentEditable)return;const p=t?ar:Ni,v=zs(e);me(e,c,f,u).each(w=>{const _=q$(e,u,w.dom,f,!1,v);p(w,U.fromDom(_)),e.selection.setCursorLocation(_,0),e.dispatch("NewBlock",{newBlock:_}),CC(e,"insertParagraph")})},ze=e=>Fe(e,!0),ve=e=>Fe(e,!1),ke=e=>{e.editorCommands.addCommands({InsertNewBlockBefore:()=>{ze(e)},InsertNewBlockAfter:()=>{ve(e)}})},ht=e=>{e.editorCommands.addCommands({insertParagraph:()=>{ZE(nF,e)},mceInsertNewLine:(t,o,r)=>{eD(e,r)},InsertLineBreak:(t,o,r)=>{ZE(HE,e)}})},tt=e=>{e.editorCommands.addCommands({mceSelectNodeDepth:(t,o,r)=>{let c=0;e.dom.getParent(e.selection.getNode(),u=>ot(u)&&c++===r?(e.selection.select(u),!1):!0,e.getBody())},mceSelectNode:(t,o,r)=>{e.selection.select(r)},selectAll:()=>{const t=e.dom.getParent(e.selection.getStart(),ir);if(t){const o=e.dom.createRng();o.selectNodeContents(t),e.selection.setRng(o)}}})},qt=e=>{e.editorCommands.addCommands({mceRemoveNode:(t,o,r)=>{const c=r??e.selection.getNode();if(c!==e.getBody()){const u=e.selection.getBookmark();e.dom.remove(c,!0),e.selection.moveToBookmark(u)}},mcePrint:()=>{e.getWin().print()},mceFocus:(t,o,r)=>{JL(e,r===!0)},mceToggleVisualAid:()=>{e.hasVisual=!e.hasVisual,e.addVisual()}})},Ct=e=>{dY(e),mY(e),K(e),tt(e),aL(e),le(e),Q(e),ke(e),ht(e),V(e),qt(e)},Lt=["toggleview"],nt=e=>Bt(Lt,e.toLowerCase());class Ce{constructor(t){Re(this,"editor");Re(this,"commands",{state:{},exec:{},value:{}});this.editor=t}execCommand(t,o=!1,r,c){const u=this.editor,f=t.toLowerCase(),p=c==null?void 0:c.skip_focus;if(u.removed||(f!=="mcefocus"&&(!/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(f)&&!p?u.focus():HA(u)),u.dispatch("BeforeExecCommand",{command:t,ui:o,value:r}).isDefaultPrevented()))return!1;const w=this.commands.exec[f];return J(w)?(w(f,o,r,c),u.dispatch("ExecCommand",{command:t,ui:o,value:r,args:c}),!0):!1}queryCommandState(t){if(!nt(t)&&this.editor.quirks.isHidden()||this.editor.removed)return!1;const o=t.toLowerCase(),r=this.commands.state[o];return J(r)?r(o):!1}queryCommandValue(t){if(!nt(t)&&this.editor.quirks.isHidden()||this.editor.removed)return"";const o=t.toLowerCase(),r=this.commands.value[o];return J(r)?r(o):""}addCommands(t,o="exec"){const r=this.commands;hn(t,(c,u)=>{ie(u.toLowerCase().split(","),f=>{r[o][f]=c})})}addCommand(t,o,r){const c=t.toLowerCase();this.commands.exec[c]=(u,f,p,v)=>o.call(r??this.editor,f,p,v)}removeCommand(t,o){const r=t.toLowerCase();o?delete this.commands[o][r]:(delete this.commands.exec[r],delete this.commands.state[r],delete this.commands.value[r])}queryCommandSupported(t){const o=t.toLowerCase();return!!this.commands.exec[o]}addQueryStateHandler(t,o,r){this.commands.state[t.toLowerCase()]=()=>o.call(r??this.editor)}addQueryValueHandler(t,o,r){this.commands.value[t.toLowerCase()]=()=>o.call(r??this.editor)}}const Be=Oe.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel"," ");class St{constructor(t){Re(this,"settings");Re(this,"scope");Re(this,"toggleEvent");Re(this,"bindings",{});this.settings=t||{},this.scope=this.settings.scope||this,this.toggleEvent=this.settings.toggleEvent||Ee}static isNative(t){return!!Be[t.toLowerCase()]}fire(t,o){return this.dispatch(t,o)}dispatch(t,o){const r=t.toLowerCase(),c=Vf(r,o??{},this.scope);this.settings.beforeFire&&this.settings.beforeFire(c);const u=this.bindings[r];if(u)for(let f=0,p=u.length;f{this.toggleEvent(v,!1),delete this.bindings[v]}),this;if(f){if(!o)f.length=0;else{const p=Nr(f,v=>v.func===o);f=p.fail,this.bindings[u]=f,ie(p.pass,v=>{v.removed=!0})}f.length||(this.toggleEvent(t,!1),delete this.bindings[u])}}}else hn(this.bindings,(r,c)=>{this.toggleEvent(c,!1)}),this.bindings={};return this}once(t,o,r){return this.on(t,o,r,{once:!0})}has(t){t=t.toLowerCase();const o=this.bindings[t];return!(!o||o.length===0)}}const $t=e=>(e._eventDispatcher||(e._eventDispatcher=new St({scope:e,toggleEvent:(t,o)=>{St.isNative(t)&&e.toggleNativeEvent&&e.toggleNativeEvent(t,o)}})),e._eventDispatcher),rt={fire(e,t,o){return g7("fire"),this.dispatch(e,t,o)},dispatch(e,t,o){const r=this;if(r.removed&&e!=="remove"&&e!=="detach")return Vf(e.toLowerCase(),t??{},r);const c=$t(r).dispatch(e,t);if(o!==!1&&r.parent){let u=r.parent();for(;u&&!c.isPropagationStopped();)u.dispatch(e,c,!1),u=u.parent?u.parent():void 0}return c},on(e,t,o){return $t(this).on(e,t,o)},off(e,t){return $t(this).off(e,t)},once(e,t){return $t(this).once(e,t)},hasEventListeners(e){return $t(this).has(e)}},Ft=yt.DOM;let vn;const ln=(e,t)=>{if(t==="selectionchange")return e.getDoc();if(!e.inline&&/^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(t))return e.getDoc().documentElement;const o=kx(e);return o?(e.eventRoot||(e.eventRoot=Ft.select(o)[0]),e.eventRoot):e.getBody()},ia=e=>!e.hidden&&!Hl(e),mo=(e,t,o)=>{ia(e)?e.dispatch(t,o):Hl(e)&&Bg(e,o)},Aa=(e,t)=>{if(e.delegates||(e.delegates={}),e.delegates[t]||e.removed)return;const o=ln(e,t);if(kx(e)){if(vn||(vn={},e.editorManager.on("removeEditor",()=>{e.editorManager.activeEditor||vn&&(hn(vn,(c,u)=>{e.dom.unbind(ln(e,u))}),vn=null)})),vn[t])return;const r=c=>{const u=c.target,f=e.editorManager.get();let p=f.length;for(;p--;){const v=f[p].getBody();(v===u||Ft.isChildOf(u,v))&&mo(f[p],t,c)}};vn[t]=r,Ft.bind(o,t,r)}else{const r=c=>{mo(e,t,c)};Ft.bind(o,t,r),e.delegates[t]=r}},Bs={...rt,bindPendingEventDelegates(){const e=this;Oe.each(e._pendingNativeEvents,t=>{Aa(e,t)})},toggleNativeEvent(e,t){const o=this;e==="focus"||e==="blur"||o.removed||(t?o.initialized?Aa(o,e):o._pendingNativeEvents?o._pendingNativeEvents.push(e):o._pendingNativeEvents=[e]:o.initialized&&o.delegates&&(o.dom.unbind(ln(o,e),e,o.delegates[e]),delete o.delegates[e]))},unbindAllNativeEvents(){const e=this,t=e.getBody(),o=e.dom;e.delegates&&(hn(e.delegates,(r,c)=>{e.dom.unbind(ln(e,c),c,r)}),delete e.delegates),!e.inline&&t&&o&&(t.onload=null,o.unbind(e.getWin()),o.unbind(e.getDoc())),o&&(o.unbind(t),o.unbind(e.getContainer()))}},Dr=e=>q(e)?{value:e.split(/[ ,]/),valid:!0}:Fn(e,q)?{value:e,valid:!0}:{valid:!1,message:"The value must be a string[] or a comma/space separated string."},Bc=e=>{const t=(()=>{switch(e){case"array":return gn;case"boolean":return Qt;case"function":return J;case"number":return Kr;case"object":return fn;case"string":return q;case"string[]":return Dr;case"object[]":return o=>Fn(o,fn);case"regexp":return o=>Yl(o,RegExp);default:return Qe}})();return o=>sm(o,t,`The value must be a ${e}.`)},vi=e=>q(e.processor),pf=(e,t)=>{const o=Kg(t.message)?"":`. ${t.message}`;return e+o},Qp=e=>e.valid,sm=(e,t,o="")=>{const r=t(e);return Qt(r)?r?{value:e,valid:!0}:{valid:!1,message:o}:r},Qb=(e,t,o)=>{if(!ls(t)){const r=sm(t,o);if(Qp(r))return r.value;console.error(pf(`Invalid default value passed for the "${e}" option`,r))}},bf=(e,t,o=t)=>{const r={},c={},u=(P,z,I)=>{const Z=sm(z,I);return Qp(Z)?(c[P]=Z.value,!0):(console.warn(pf(`Invalid value passed for the ${P} option`,Z)),!1)},f=(P,z)=>{const I=vi(z)?Bc(z.processor):z.processor,Z=Qb(P,z.default,I);r[P]={...z,default:Z,processor:I},po(c,P).orThunk(()=>po(t,P)).each(X=>u(P,X,I))},p=P=>Ut(r,P);return{register:f,isRegistered:p,get:P=>po(c,P).orThunk(()=>po(r,P).map(z=>z.default)).getOrUndefined(),set:(P,z)=>{if(p(P)){const I=r[P];return I.immutable?(console.error(`"${P}" is an immutable option and cannot be updated`),!1):u(P,z,I.processor)}else return console.warn(`"${P}" is not a registered option. Ensure the option has been registered before setting a value.`),!1},unset:P=>{const z=p(P);return z&&delete c[P],z},isSet:P=>Ut(c,P),debug:()=>{try{console.log(JSON.parse(JSON.stringify(o,(P,z)=>Qt(z)||Kr(z)||q(z)||te(z)||gn(z)||Sf(z)?z:Object.prototype.toString.call(z))))}catch(P){console.error(P)}}}},XD=(e,t)=>{e.dom.contentEditable=t?"true":"false"},JD=(e,t)=>{const o=U.fromDom(e.getBody());t?(e.readonly=!0,e.hasEditableRoot()&&XD(o,!0),Ro(e)):(e.readonly=!1,z3(e))},Vu=e=>e.readonly,hT=e=>{const t=e.undoManager.add();pe(t)&&(e.undoManager.undo(),e.undoManager.reset())},pT=e=>qn(e,t=>t.type==="characterData"||t.type==="childList"),cL=e=>{const t=r=>{Vu(e)&&pT(r)&&hT(e)},o=new MutationObserver(t);e.on("beforeinput paste cut dragend dragover draggesture dragdrop drop drag",r=>{Vu(e)&&r.preventDefault()}),e.on("BeforeExecCommand",r=>{(r.command==="Undo"||r.command==="Redo")&&Vu(e)&&r.preventDefault()}),e.on("compositionstart",()=>{Vu(e)&&o.observe(e.getBody(),{characterData:!0,childList:!0,subtree:!0})}),e.on("compositionend",()=>{if(Vu(e)){const r=o.takeRecords();t(r)}o.disconnect()})},iL=["design","readonly"],lL=(e,t,o,r)=>{const c=o[t.get()],u=o[r];try{u.activate()}catch(f){console.error(`problem while activating editor mode ${r}:`,f);return}c.deactivate(),c.editorReadOnly!==u.editorReadOnly&&JD(e,u.editorReadOnly),t.set(r),ix(e,r)},QD=(e,t,o,r)=>{if(!(r===o.get()||e.initialized&&Hl(e))){if(!Ut(t,r))throw new Error(`Editor mode '${r}' is invalid`);e.initialized?lL(e,o,t,r):e.on("init",()=>lL(e,o,t,r))}},mS=(e,t,o)=>{if(Bt(iL,t))throw new Error(`Cannot override default mode ${t}`);return{...e,[t]:{...o,deactivate:()=>{try{o.deactivate()}catch(r){console.error(`problem while deactivating editor mode ${t}:`,r)}}}}},ev=e=>{const t=kt("design"),o=kt({design:{activate:Tt,deactivate:Tt,editorReadOnly:!1},readonly:{activate:Tt,deactivate:Tt,editorReadOnly:!0}});return cL(e),nl(e),{isReadOnly:()=>Vu(e),set:r=>QD(e,o.get(),t,r),get:()=>t.get(),register:(r,c)=>{o.set(mS(o.get(),r,c))}}},Wl=Oe.each,fS=Oe.explode,uL={f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},eR=Oe.makeMap("alt,ctrl,shift,meta,access"),tR=e=>e in eR,dL=e=>{const t={},o=dn.os.isMacOS()||dn.os.isiOS();Wl(fS(e.toLowerCase(),"+"),u=>{tR(u)?t[u]=!0:/^[0-9]{2,}$/.test(u)?t.keyCode=parseInt(u,10):(t.charCode=u.charCodeAt(0),t.keyCode=uL[u]||u.toUpperCase().charCodeAt(0))});const r=[t.keyCode];let c;for(c in eR)t[c]?r.push(c):t[c]=!1;return t.id=r.join(","),t.access&&(t.alt=!0,o?t.ctrl=!0:t.shift=!0),t.meta&&(o?t.meta=!0:(t.ctrl=!0,t.meta=!1)),t};class gS{constructor(t){Re(this,"editor");Re(this,"shortcuts",{});Re(this,"pendingPatterns",[]);this.editor=t;const o=this;t.on("keyup keypress keydown",r=>{(o.hasModifier(r)||o.isFunctionKey(r))&&!r.isDefaultPrevented()&&(Wl(o.shortcuts,c=>{o.matchShortcut(r,c)&&(o.pendingPatterns=c.subpatterns.slice(0),r.type==="keydown"&&o.executeShortcutAction(c))}),o.matchShortcut(r,o.pendingPatterns[0])&&(o.pendingPatterns.length===1&&r.type==="keydown"&&o.executeShortcutAction(o.pendingPatterns[0]),o.pendingPatterns.shift()))})}add(t,o,r,c){const u=this,f=u.normalizeCommandFunc(r);return Wl(fS(Oe.trim(t)),p=>{const v=u.createShortcut(p,o,f,c);u.shortcuts[v.id]=v}),!0}remove(t){const o=this.createShortcut(t);return this.shortcuts[o.id]?(delete this.shortcuts[o.id],!0):!1}normalizeCommandFunc(t){const o=this,r=t;return typeof r=="string"?()=>{o.editor.execCommand(r,!1,null)}:Oe.isArray(r)?()=>{o.editor.execCommand(r[0],r[1],r[2])}:r}createShortcut(t,o,r,c){const u=Oe.map(fS(t,">"),dL);return u[u.length-1]=Oe.extend(u[u.length-1],{func:r,scope:c||this.editor}),Oe.extend(u[0],{desc:this.editor.translate(o),subpatterns:u.slice(1)})}hasModifier(t){return t.altKey||t.ctrlKey||t.metaKey}isFunctionKey(t){return t.type==="keydown"&&t.keyCode>=112&&t.keyCode<=123}matchShortcut(t,o){return!o||o.ctrl!==t.ctrlKey||o.meta!==t.metaKey||o.alt!==t.altKey||o.shift!==t.shiftKey?!1:t.keyCode===o.keyCode||t.charCode&&t.charCode===o.charCode?(t.preventDefault(),!0):!1}executeShortcutAction(t){return t.func?t.func.call(t.scope):null}}const bT=()=>{const e=Ij();return{addAutocompleter:e.addAutocompleter,addButton:e.addButton,addContextForm:e.addContextForm,addContextMenu:e.addContextMenu,addContextToolbar:e.addContextToolbar,addIcon:e.addIcon,addMenuButton:e.addMenuButton,addMenuItem:e.addMenuItem,addNestedMenuItem:e.addNestedMenuItem,addSidebar:e.addSidebar,addSplitButton:e.addSplitButton,addToggleButton:e.addToggleButton,addGroupToolbarButton:e.addGroupToolbarButton,addToggleMenuItem:e.addToggleMenuItem,addView:e.addView,addContext:e.addContext,getAll:e.getAll}},Nc=yt.DOM,e1=Oe.extend,nR=Oe.each;class tv{constructor(t,o,r){Re(this,"baseUri");Re(this,"id");Re(this,"editorUid");Re(this,"plugins",{});Re(this,"documentBaseURI");Re(this,"baseURI");Re(this,"contentCSS",[]);Re(this,"contentStyles",[]);Re(this,"ui");Re(this,"mode");Re(this,"options");Re(this,"editorUpload");Re(this,"userLookup");Re(this,"shortcuts");Re(this,"loadedCSS",{});Re(this,"editorCommands");Re(this,"suffix");Re(this,"editorManager");Re(this,"hidden");Re(this,"inline");Re(this,"hasVisual");Re(this,"isNotDirty",!1);Re(this,"annotator");Re(this,"bodyElement");Re(this,"bookmark");Re(this,"composing",!1);Re(this,"container");Re(this,"contentAreaContainer");Re(this,"contentDocument");Re(this,"contentWindow");Re(this,"delegates");Re(this,"destroyed",!1);Re(this,"dom");Re(this,"editorContainer");Re(this,"eventRoot");Re(this,"formatter");Re(this,"formElement");Re(this,"formEventDelegate");Re(this,"hasHiddenInput",!1);Re(this,"iframeElement",null);Re(this,"iframeHTML");Re(this,"initialized",!1);Re(this,"notificationManager");Re(this,"orgDisplay");Re(this,"orgVisibility");Re(this,"parser");Re(this,"quirks");Re(this,"readonly",!1);Re(this,"removed",!1);Re(this,"schema");Re(this,"selection");Re(this,"serializer");Re(this,"startContent","");Re(this,"targetElm");Re(this,"theme");Re(this,"model");Re(this,"undoManager");Re(this,"windowManager");Re(this,"licenseKeyManager");Re(this,"_beforeUnload");Re(this,"_eventDispatcher");Re(this,"_nodeChangeDispatcher");Re(this,"_pendingNativeEvents",[]);Re(this,"_selectionOverrides");Re(this,"_skinLoaded",!1);Re(this,"_editableRoot",!0);Re(this,"bindPendingEventDelegates");Re(this,"toggleNativeEvent");Re(this,"unbindAllNativeEvents");Re(this,"fire");Re(this,"dispatch");Re(this,"on");Re(this,"off");Re(this,"once");Re(this,"hasEventListeners");this.editorManager=r,e1(this,Bs);const c=this;this.id=t,this.editorUid=wS(),this.hidden=!1;const u=YD(r.defaultOptions,o);this.options=bf(c,u,o),hx(c),this.userLookup=JI(this);const f=this.options.get;f("deprecation_warnings")&&zz(o,u);const p=f("suffix");p&&(r.suffix=p),this.suffix=r.suffix;const v=f("base_url");v&&r._setBaseUrl(v),this.baseUri=r.baseURI;const w=ly(c);w&&(ti.ScriptLoader._setReferrerPolicy(w),yt.DOM.styleSheetLoader._setReferrerPolicy(w)),ti.ScriptLoader._setCrossOrigin(P=>op(c)(P,"script")),yt.DOM.styleSheetLoader._setCrossOrigin(P=>op(c)(P,"stylesheet"));const _=hy(c);pe(_)&&yt.DOM.styleSheetLoader._setContentCssCors(_),bs.languageLoad=f("language_load"),bs.baseURL=r.baseURL,this.setDirty(!1),this.documentBaseURI=new Qi(px(c),{base_uri:this.baseUri}),this.baseURI=this.baseUri,this.inline=N0(c),this.hasVisual=Rx(c),this.shortcuts=new gS(this),this.editorCommands=new Ce(this),Ct(this);const O=f("cache_suffix");O&&(dn.cacheSuffix=O.replace(/^[\?\&]+/,"")),this.ui={registry:bT(),styleSheetLoader:void 0,show:Tt,hide:Tt,setEnabled:Tt,isEnabled:Qe},this.mode=ev(c),Object.defineProperty(this,"editorUid",{writable:!1,configurable:!1,enumerable:!0}),r.dispatch("SetupEditor",{editor:this});const R=Jk(c);J(R)&&R.call(c,c)}render(){GI(this)}focus(t){this.execCommand("mceFocus",!1,t)}hasFocus(){return ob(this)}translate(t){return Va.translate(t)}getParam(t,o,r){const c=this.options;return c.isRegistered(t)||(pe(r)?c.register(t,{processor:r,default:o}):c.register(t,{processor:Qe,default:o})),!c.isSet(t)&&!ls(o)?o:c.get(t)}hasPlugin(t,o){return Bt(Eu(this),t)?o?Sb.get(t)!==void 0:!0:!1}nodeChanged(t){this._nodeChangeDispatcher.nodeChanged(t)}addCommand(t,o,r){this.editorCommands.addCommand(t,o,r)}addQueryStateHandler(t,o,r){this.editorCommands.addQueryStateHandler(t,o,r)}addQueryValueHandler(t,o,r){this.editorCommands.addQueryValueHandler(t,o,r)}addShortcut(t,o,r,c){this.shortcuts.add(t,o,r,c)}execCommand(t,o,r,c){return this.editorCommands.execCommand(t,o,r,c)}queryCommandState(t){return this.editorCommands.queryCommandState(t)}queryCommandValue(t){return this.editorCommands.queryCommandValue(t)}queryCommandSupported(t){return this.editorCommands.queryCommandSupported(t)}show(){const t=this;t.hidden&&(t.hidden=!1,t.inline?t.getBody().contentEditable="true":(Nc.show(t.getContainer()),Nc.hide(t.id)),t.load(),t.dispatch("show"))}hide(){const t=this;t.hidden||(t.save(),t.inline?(t.getBody().contentEditable="false",t===t.editorManager.focusedEditor&&(t.editorManager.focusedEditor=null)):(Nc.hide(t.getContainer()),Nc.setStyle(t.id,"display",t.orgDisplay)),t.hidden=!0,t.dispatch("hide"))}isHidden(){return this.hidden}setProgressState(t,o){this.dispatch("ProgressState",{state:t,time:o})}load(t={}){const o=this,r=o.getElement();if(!o.removed&&r){const c={...t,load:!0},u=gh(r)?r.value:r.innerHTML;o.setContent(u,c),c.no_events||o.dispatch("LoadContent",{...c,element:r})}}save(t={}){const o=this;let r=o.getElement();if(!r||!o.initialized||o.removed)return"";const c={...t,save:!0,element:r};let u=o.getContent(c);const f={...c,content:u};if(f.no_events||o.dispatch("SaveContent",f),f.format==="raw"&&o.dispatch("RawSaveContent",f),u=f.content,gh(r))r.value=u;else{(t.is_removing||!o.inline)&&(r.innerHTML=u);const p=Nc.getParent(o.id,"form");p&&nR(p.elements,v=>v.name===o.id?(v.value=u,!1):!0)}return f.element=c.element=r=null,f.set_dirty!==!1&&o.setDirty(!1),u}setContent(t,o){_3(this,t,o)}getContent(t){return U5(this,t)}insertContent(t,o){o&&(t=e1({content:t},o)),this.execCommand("mceInsertContent",!1,t)}resetContent(t){t===void 0?_3(this,this.startContent,{initial:!0,format:"raw"}):_3(this,t,{initial:!0}),this.undoManager.reset(),this.setDirty(!1),this.nodeChanged()}isDirty(){return!this.isNotDirty}setDirty(t){const o=!this.isNotDirty;this.isNotDirty=!t,t&&t!==o&&this.dispatch("dirty")}getContainer(){const t=this;return t.container||(t.container=t.editorContainer||Nc.get(t.id+"_parent")),t.container}getContentAreaContainer(){return this.contentAreaContainer}getElement(){return this.targetElm||(this.targetElm=Nc.get(this.id)),this.targetElm}getWin(){const t=this;if(!t.contentWindow){const o=t.iframeElement;o&&(t.contentWindow=o.contentWindow)}return t.contentWindow}getDoc(){const t=this;if(!t.contentDocument){const o=t.getWin();o&&(t.contentDocument=o.document)}return t.contentDocument}getBody(){const t=this.getDoc();return this.bodyElement??(t==null?void 0:t.body)??null}convertURL(t,o,r){const c=this,u=c.options.get,f=Qk(c);if(J(f))return f.call(c,t,r,!0,o);if(!u("convert_urls")||r==="link"||fn(r)&&r.nodeName==="LINK"||t.indexOf("file:")===0||t.length===0)return t;const p=new Qi(t);return p.protocol!=="http"&&p.protocol!=="https"&&p.protocol!==""?t:u("relative_urls")?c.documentBaseURI.toRelative(t):(t=c.documentBaseURI.toAbsolute(t,u("remove_script_host")),t)}addVisual(t){lY(this,t)}setEditableRoot(t){QI(this,t)}hasEditableRoot(){return jD(this)}remove(){KV(this)}destroy(t){YV(this,t)}uploadImages(){return this.editorUpload.uploadImages()}_scanForImages(){return this.editorUpload.scanForImages()}}const nv=yt.DOM,t1=Oe.each;let hS=!1,vT,Rr=[];const yT=e=>{const t=e.type;t1(vf.get(),o=>{switch(t){case"scroll":o.dispatch("ScrollWindow",e);break;case"resize":o.dispatch("ResizeWindow",e);break}})},mL=e=>{if(e!==hS){const t=yt.DOM;e?(t.bind(window,"resize",yT),t.bind(window,"scroll",yT)):(t.unbind(window,"resize",yT),t.unbind(window,"scroll",yT)),hS=e}},Mr=e=>{const t=Rr;return Rr=ft(Rr,o=>e!==o),vf.activeEditor===e&&(vf.activeEditor=Rr.length>0?Rr[0]:null),vf.focusedEditor===e&&(vf.focusedEditor=null),t.length!==Rr.length},ov=e=>{e&&e.initialized&&!(e.getContainer()||e.getBody()).parentNode&&(Mr(e),e.unbindAllNativeEvents(),e.destroy(!0),e.removed=!0)},CY=document.compatMode!=="CSS1Compat",vf={...rt,baseURI:null,baseURL:null,defaultOptions:{},documentBaseURL:null,suffix:null,pageUid:wS(),majorVersion:"8",minorVersion:"5.0",releaseDate:"2026-04-29",i18n:Va,activeEditor:null,focusedEditor:null,setup(){const e=this;let t="",o="",r=Qi.getDocumentBaseUrl(document.location);/^[^:]+:\/\/\/?[^\/]+\//.test(r)&&(r=r.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(r)||(r+="/"));const c=window.tinymce||window.tinyMCEPreInit;if(c)t=c.base||c.baseURL,o=c.suffix;else{const u=document.getElementsByTagName("script");for(let f=0;fObject.defineProperty(e,u,{writable:!1,configurable:!1,enumerable:!0}))},overrideDefaults(e){const t=e.base_url;t&&this._setBaseUrl(t);const o=e.suffix;o&&(this.suffix=o),this.defaultOptions=e;const r=e.plugin_base_urls;r!==void 0&&hn(r,(c,u)=>{bs.PluginManager.urls[u]=c})},init(e){const t=this;let o;const r=Oe.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu"," "),c=(_,O)=>_.inline&&O.tagName.toLowerCase()in r,u=_=>{let O=_.id;return O||(O=po(_,"name").filter(R=>!nv.get(R)).getOrThunk(nv.uniqueId),_.setAttribute("id",O)),O},f=_=>{const O=e[_];if(O)return O.apply(t,[])},p=_=>dn.browser.isIE()||dn.browser.isEdge()?(B3("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tiny.cloud/docs/tinymce/8/support/#supportedwebbrowsers"),[]):CY?(B3("Failed to initialize the editor as the document is not in standards mode. TinyMCE requires standards mode."),[]):q(_.selector)?nv.select(_.selector):pe(_.target)?[_.target]:[];let v=_=>{o=_};const w=()=>{let _=0;const O=[];let R;const P=(z,I,Z)=>{const Y=new tv(z,I,t);O.push(Y),Y.on("init",()=>{++_===R.length&&v(O)}),Y.targetElm=Y.targetElm||Z,Y.render()};nv.unbind(window,"ready",w),f("onpageload"),R=Ku(p(e)),Oe.each(R,z=>{ov(t.get(z.id))}),R=Oe.grep(R,z=>!t.get(z.id)),R.length===0?v([]):t1(R,z=>{c(e,z)?B3("Could not initialize inline editor on invalid inline target element",z):P(u(z),e,z)})};return nv.bind(window,"ready",w),new Promise(_=>{o?_(o):v=O=>{_(O)}})},get(e){return arguments.length===0?Rr.slice(0):q(e)?Qn(Rr,t=>t.id===e).getOr(null):Kr(e)&&Rr[e]?Rr[e]:null},add(e){const t=this,o=t.get(e.id);return o===e||(o===null&&Rr.push(e),mL(!0),t.activeEditor=e,t.dispatch("AddEditor",{editor:e}),vT||(vT=r=>{const c=t.dispatch("BeforeUnload");if(c.returnValue)return r.preventDefault(),r.returnValue=c.returnValue,c.returnValue},window.addEventListener("beforeunload",vT))),e},createEditor(e,t){return this.add(new tv(e,t,this))},remove(e){const t=this;let o;if(!e){for(let r=Rr.length-1;r>=0;r--)t.remove(Rr[r]);return}if(q(e)){t1(nv.select(e),r=>{o=t.get(r.id),o&&t.remove(o)});return}return o=e,te(t.get(o.id))?null:(Mr(o)&&t.dispatch("RemoveEditor",{editor:o}),Rr.length===0&&window.removeEventListener("beforeunload",vT),o.remove(),mL(Rr.length>0),o)},execCommand(e,t,o){const r=this,c=fn(o)?o.id??o.index:o;switch(e){case"mceAddEditor":{if(!r.get(c)){const u=o.options;new tv(c,u,r).render()}return!0}case"mceRemoveEditor":{const u=r.get(c);return u&&u.remove(),!0}case"mceToggleEditor":{const u=r.get(c);return u?(u.isHidden()?u.show():u.hide(),!0):(r.execCommand("mceAddEditor",!1,o),!0)}}return r.activeEditor?r.activeEditor.execCommand(e,t,o):!1},triggerSave:()=>{t1(Rr,e=>{e.save()})},addI18n:(e,t)=>{Va.add(e,t)},translate:e=>Va.translate(e),setActive(e){const t=this.activeEditor;this.activeEditor!==e&&(t&&t.dispatch("deactivate",{relatedTarget:e}),e.dispatch("activate",{relatedTarget:t})),this.activeEditor=e},_setBaseUrl(e){this.baseURL=new Qi(this.documentBaseURL).toAbsolute(e.replace(/\/+$/,"")),this.baseURI=new Qi(this.baseURL)},_addLicenseKeyManager:e=>tO.add(e)};vf.setup();const gL=(()=>{const e=Vc(),t=u=>({items:u,types:mt(u),getType:f=>po(u,f).getOrUndefined()}),o=u=>{e.set(u)},r=()=>e.get().getOrUndefined(),c=e.clear;return{FakeClipboardItem:t,write:o,read:r,clear:c}})(),oR=Math.min,sv=Math.max,al=Math.round,Hg=(e,t,o)=>{let r=t.x,c=t.y;const u=e.w,f=e.h,p=t.w,v=t.h,w=(o||"").split("");return w[0]==="b"&&(c+=v),w[1]==="r"&&(r+=p),w[0]==="c"&&(c+=al(v/2)),w[1]==="c"&&(r+=al(p/2)),w[3]==="b"&&(c-=f),w[4]==="r"&&(r-=u),w[3]==="c"&&(c-=al(f/2)),w[4]==="c"&&(r-=al(u/2)),yi(r,c,u,f)},hL=(e,t,o,r)=>{for(let c=0;c=o.x&&u.x+u.w<=o.w+o.x&&u.y>=o.y&&u.y+u.h<=o.h+o.y)return r[c]}return null},pL=(e,t,o)=>yi(e.x-t,e.y-o,e.w+t*2,e.h+o*2),sR=(e,t)=>{const o=sv(e.x,t.x),r=sv(e.y,t.y),c=oR(e.x+e.w,t.x+t.w),u=oR(e.y+e.h,t.y+t.h);return c-o<0||u-r<0?null:yi(o,r,c-o,u-r)},bL=(e,t,o)=>{let r=e.x,c=e.y,u=e.x+e.w,f=e.y+e.h;const p=t.x+t.w,v=t.y+t.h,w=sv(0,t.x-r),_=sv(0,t.y-c),O=sv(0,u-p),R=sv(0,f-v);return r+=w,c+=_,o&&(u+=w,f+=_,r-=O,c-=R),u-=O,f-=R,yi(r,c,u-r,f-c)},yi=(e,t,o,r)=>({x:e,y:t,w:o,h:r}),vL={inflate:pL,relativePosition:Hg,findBestRelativePosition:hL,intersect:sR,clamp:bL,create:yi,fromClientRect:e=>yi(e.left,e.top,e.width,e.height)},yL=(e,t,o=1e3)=>{let r=!1,c=null;const u=w=>(..._)=>{r||(r=!0,c!==null&&(window.clearTimeout(c),c=null),w.apply(null,_))},f=u(e),p=u(t);return{start:(...w)=>{!r&&c===null&&(c=window.setTimeout(()=>p.apply(null,w),o))},resolve:f,reject:p}},xY=(()=>{const e={},t={},o={};return{load:(v,w)=>{const _=`Script at URL "${w}" failed to load`,O=`Script at URL "${w}" did not call \`tinymce.Resource.add('${v}', data)\` within 1 second`;if(e[v]!==void 0)return e[v];{const R=new Promise((P,z)=>{const I=yL(P,z);t[v]=I.resolve,ti.ScriptLoader.loadScript(w).then(()=>I.start(O),()=>I.reject(_))});return e[v]=R,R}},add:(v,w)=>{t[v]!==void 0&&(t[v](w),delete t[v]),e[v]=Promise.resolve(w),o[v]=w},has:v=>v in o,get:v=>o[v],unload:v=>{delete e[v],delete o[v]}}})(),nn=()=>(()=>{let e={},t=[];const o={getItem:r=>{const c=e[r];return c||null},setItem:(r,c)=>{t.push(r),e[r]=String(c)},key:r=>t[r],removeItem:r=>{t=t.filter(c=>c===r),delete e[r]},clear:()=>{t=[],e={}},length:0};return Object.defineProperty(o,"length",{get:()=>t.length,configurable:!1,enumerable:!1}),o})();let se;try{const e="__storage_test__";se=window.localStorage,se.setItem(e,e),se.removeItem(e)}catch{se=nn()}var dt=se;const jt={geom:{Rect:vL},util:{Delay:fi,Tools:Oe,VK:We,URI:Qi,EventDispatcher:St,Observable:rt,I18n:Va,LocalStorage:dt,ImageUploader:CU},dom:{EventUtils:Mm,TreeWalker:gs,TextSeeker:Sd,DOMUtils:yt,ScriptLoader:ti,RangeUtils:Ru,Serializer:Or,StyleSheetLoader:c2,ControlSelection:WA,BookmarkManager:wa,Selection:fB,Event:Mm.Event},html:{Styles:zf,Entities:gc,Node:or,Schema:bc,DomParser:hb,Writer:gM,Serializer:Cg},Env:dn,AddOnManager:bs,Annotator:pr,Formatter:zB,UndoManager:UB,EditorCommands:Ce,WindowManager:Rg,NotificationManager:R3,EditorObservable:Bs,Shortcuts:gS,Editor:tv,FocusManager:PR,EditorManager:vf,DOM:yt.DOM,ScriptLoader:ti.ScriptLoader,PluginManager:Sb,ThemeManager:Dg,ModelManager:Cb,IconManager:yb,Resource:xY,FakeClipboard:gL,trim:Oe.trim,isArray:Oe.isArray,is:Oe.is,toArray:Oe.toArray,makeMap:Oe.makeMap,each:Oe.each,map:Oe.map,grep:Oe.grep,inArray:Oe.inArray,extend:Oe.extend,walk:Oe.walk,resolve:Oe.resolve,explode:Oe.explode,_addCacheSuffix:Oe._addCacheSuffix},ys=Oe.extend(vf,jt),qa=e=>{try{cm.exports=e}catch{}};(e=>{window.tinymce=e,window.tinyMCE=e})(ys),qa(ys)})()})(PX);tinymce.IconManager.add("default",{icons:{"accessibility-check":'',"accordion-toggle":'',accordion:'',"action-next":'',"action-prev":'',"add-file":'',addtag:'',"adjust-length":'',adjustments:'',"ai-assistant":'',"ai-chat-response":'',"ai-model":'',"ai-prompt":'',"ai-review":'',"ai-translate":'',ai:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"alt-text":'',"arrow-left":'',"arrow-right":'',attachment:'',"auto-image-enhancement":'',blur:'',bold:'',bookmark:'',"border-style":'',"border-width":'',box:'',brightness:'',browse:'',camera:'',cancel:'',caption:'',"cell-background-color":'',"cell-border-color":'',"change-case":'',"change-tone":'',"character-count":'',"chat-commands":'',"chat-reasoning":'',"chat-send":'',"chat-web-search":'',"checklist-rtl":'',checklist:'',"checkmark-filled":'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"close-filled":'',close:'',"code-sample":'',collapse:'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',"comment-add":'',comment:'',"continue-writing":'',contrast:'',copy:'',crop:'',"cut-column":'',"cut-row":'',cut:'',"document-gear-properties":'',"document-properties":'',drag:'',dropbox:'',"duplicate-column":'',"duplicate-row":'',duplicate:'',"edit-block":'',"edit-image":'',"embed-page":'',embed:'',emoji:'',evernote:'',explain:'',"export-pdf":'',"export-word":'',export:'',exposure:'',fb:'',feedback:'',fill:'',"fix-grammar":'',flickr:'',"flip-horizontally":'',"flip-vertically":'',folder:'',footnote:'',"format-code":'',"format-painter":'',format:'',fullscreen:'',gallery:'',gamma:'',"google-drive":'',"google-photos":'',grayscale:'',help:'',"highlight-bg-color":'',"highlight-key-points":'',home:'',"horizontal-rule":'',huddle:'',"image-decorative":'',"image-enhancements":'',"image-options":'',image:'',"import-word":'',"improve-writing":'',indent:'',info:'',"insert-character":'',"insert-time":'',instagram:'',invert:'',italic:'',language:'',"line-height":'',line:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-disc":'',"list-bull-square":'',"list-num-default-rtl":'',"list-num-default":'',"list-num-lower-alpha-rtl":'',"list-num-lower-alpha":'',"list-num-lower-greek-rtl":'',"list-num-lower-greek":'',"list-num-lower-roman-rtl":'',"list-num-lower-roman":'',"list-num-upper-alpha-rtl":'',"list-num-upper-alpha":'',"list-num-upper-roman-rtl":'',"list-num-upper-roman":'',lock:'',ltr:'',"math-equation":'',mentions:'',minus:'',"more-drawer":'',"new-chat":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',onedrive:'',"ordered-list-rtl":'',"ordered-list":'',orientation:'',"other-actions":'',outdent:'',"page-break":'',paragraph:'',"paste-column-after":'',"paste-column-before":'',"paste-row-after":'',"paste-row-before":'',"paste-text":'',paste:'',"permanent-pen":'',"photo-filter":'',pin:'',plus:'',preferences:'',preview:'',print:'',quote:'',reasoning:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"revert-changes":'',"revision-history":'',"rotate-left":'',"rotate-right":'',rtl:'',saturation:'',save:'',search:'',"select-all":'',selected:'',send:'',settings:'',sharpen:'',"source-close":'',"source-file":'',"source-image":'',"source-link":'',"source-selection":'',sourcecode:'',"spell-check":'',stop:'',"strike-through":'',subscript:'',"suggestededits-badge":'',suggestededits:'',summarize:'',superscript:'',"table-caption":'',"table-cell-classes":'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-classes":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-numbering-rtl":'',"table-row-numbering":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',"template-add":'',template:'',"temporary-placeholder":'',"text-color":'',"text-size-decrease":'',"text-size-increase":'',toc:'',"transform-image":'',translate:'',typography:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unpin:'',unselected:'',"upload-from-device":'',"upload-from-link":'',upload:'',user:'',"vertical-align":'',vibrance:'',visualblocks:'',visualchars:'',vk:'',warmth:'',warning:'',"web-search":'',"zoom-in":'',"zoom-out":''}});(function(){const cm=Object.getPrototypeOf,Si=(n,s,a)=>{var i;return a(n,s.prototype)?!0:((i=n.constructor)==null?void 0:i.name)===s.name},im=n=>{const s=typeof n;return n===null?"null":s==="object"&&Array.isArray(n)?"array":s==="object"&&Si(n,String,(a,i)=>i.isPrototypeOf(a))?"string":s},Ug=n=>s=>im(s)===n,Zg=n=>s=>typeof s===n,lm=n=>s=>n===s,Wg=(n,s)=>Ic(n)&&Si(n,s,(a,i)=>cm(a)===i),kn=Ug("string"),Ic=Ug("object"),CS=n=>Wg(n,Object),dl=Ug("array"),Wu=lm(null),Kl=Zg("boolean"),ma=lm(void 0),ju=n=>n==null,Uo=n=>!ju(n),Dt=Zg("function"),wi=Zg("number"),Yl=(n,s)=>{if(dl(n)){for(let a=0,i=n.length;a{},fn=n=>()=>n(),Sf=(n,s)=>(...a)=>n(s.apply(null,a)),gn=(n,s)=>a=>n(s(a)),te=n=>()=>n,Qt=n=>n,ls=(n,s)=>n===s;function on(n,...s){return(...a)=>{const i=s.concat(a);return n.apply(null,i)}}const pe=n=>s=>!n(s),J=n=>()=>{throw new Error(n)},Kr=n=>n(),Fn=te(!1),Tt=te(!0),Zl=class Zl{constructor(s,a){Re(this,"tag");Re(this,"value");this.tag=s,this.value=a}static some(s){return new Zl(!0,s)}static none(){return Zl.singletonNone}fold(s,a){return this.tag?a(this.value):s()}isSome(){return this.tag}isNone(){return!this.tag}map(s){return this.tag?Zl.some(s(this.value)):Zl.none()}bind(s){return this.tag?s(this.value):Zl.none()}exists(s){return this.tag&&s(this.value)}forall(s){return!this.tag||s(this.value)}filter(s){return!this.tag||s(this.value)?this:Zl.none()}getOr(s){return this.tag?this.value:s}or(s){return this.tag?this:s}getOrThunk(s){return this.tag?this.value:s()}orThunk(s){return this.tag?this:s()}getOrDie(s){if(this.tag)return this.value;throw new Error(s??"Called getOrDie on None")}static from(s){return Uo(s)?Zl.some(s):Zl.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(s){this.tag&&s(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}};Re(Zl,"singletonNone",new Zl(!1));let T=Zl;const Zo=Array.prototype.slice,Me=Array.prototype.indexOf,$o=Array.prototype.push,zt=(n,s)=>Me.call(n,s),Ae=(n,s)=>{const a=zt(n,s);return a===-1?T.none():T.some(a)},go=(n,s)=>zt(n,s)>-1,Br=(n,s)=>{for(let a=0,i=n.length;a{const a=[];for(let i=0;i{const a=[];for(let i=0;i{const a=n.length,i=new Array(a);for(let d=0;d{for(let a=0,i=n.length;a{for(let a=n.length-1;a>=0;a--){const i=n[a];s(i,a)}},um=(n,s)=>{const a=[],i=[];for(let d=0,g=n.length;d{const a=[];for(let i=0,d=n.length;i(B(n,(i,d)=>{a=s(a,i,d)}),a),ho=(n,s,a)=>(Qe(n,(i,d)=>{a=s(a,i,d)}),a),wT=(n,s,a)=>{for(let i=0,d=n.length;iwT(n,s,Fn),qn=(n,s)=>{for(let a=0,i=n.length;a{const s=[];for(let a=0,i=n.length;aOt(Ee(n,s)),Gu=(n,s)=>{for(let a=0,i=n.length;a{const s=Zo.call(n,0);return s.reverse(),s},ft=(n,s)=>oo(n,a=>!go(s,a)),iv=(n,s)=>{const a={};for(let i=0,d=n.length;i[n],os=(n,s)=>{const a=Zo.call(n,0);return a.sort(s),a},dm=(n,s)=>s>=0&&sdm(n,0),mm=n=>dm(n,n.length-1),xT=Dt(Array.from)?Array.from:n=>Zo.call(n),Ka=(n,s)=>{for(let a=0;a{const a=Bn(n);for(let i=0,d=a.length;ijg(n,(a,i)=>({k:i,v:s(a,i)})),jg=(n,s)=>{const a={};return Fo(n,(i,d)=>{const g=s(i,d);a[g.k]=g.v}),a},qu=n=>(s,a)=>{n[a]=s},Lc=(n,s,a,i)=>{Fo(n,(d,g)=>{(s(d,g)?a:i)(d,g)})},ws=(n,s)=>{const a={},i={};return Lc(n,s,qu(a),qu(i)),{t:a,f:i}},$r=(n,s)=>{const a={};return Lc(n,s,qu(a),q),a},Fr=(n,s)=>{const a=[];return Fo(n,(i,d)=>{a.push(s(i,d))}),a},ml=(n,s)=>{const a=Bn(n);for(let i=0,d=a.length;iFr(n,Qt),mt=(n,s)=>In(n,s)?T.from(n[s]):T.none(),In=(n,s)=>Xl.call(n,s),hn=(n,s)=>In(n,s)&&n[s]!==void 0&&n[s]!==null,Hc={generate:n=>{if(!dl(n))throw new Error("cases must be an array");if(n.length===0)throw new Error("there must be at least one case");const s=[],a={};return Qe(n,(i,d)=>{const g=Bn(i);if(g.length!==1)throw new Error("one and only one name per case");const h=g[0],C=i[h];if(a[h]!==void 0)throw new Error("duplicate key detected:"+h);if(h==="cata")throw new Error("cannot have a case named cata (sorry)");if(!dl(C))throw new Error("case arguments must be an array");s.push(h),a[h]=(...S)=>{const x=S.length;if(x!==C.length)throw new Error("Wrong number of arguments to case "+h+". Expected "+C.length+" ("+C+"), got "+x);return{fold:(...D)=>{if(D.length!==n.length)throw new Error("Wrong number of arguments to fold. Expected "+n.length+", got "+D.length);return D[d].apply(null,S)},match:D=>{const N=Bn(D);if(s.length!==N.length)throw new Error("Wrong number of arguments to match. Expected: "+s.join(",")+` +Actual: `+N.join(","));if(!Gu(s,L=>go(N,L)))throw new Error("Not all branches were specified when using match. Specified: "+N.join(", ")+` +Required: `+s.join(", "));return D[h].apply(null,S)},log:D=>{console.log(D,{constructors:s,constructor:h,params:S})}}}}),a}},ct=n=>{let s=n;return{get:()=>s,set:d=>{s=d}}},Gg=n=>{let s=T.none(),a=[];const i=x=>Gg(k=>{d(D=>{k(x(D))})}),d=x=>{h()?S(x):a.push(x)},g=x=>{h()||(s=T.some(x),C(a),a=[])},h=()=>s.isSome(),C=x=>{Qe(x,S)},S=x=>{s.each(k=>{setTimeout(()=>{x(k)},0)})};return n(g),{get:d,map:i,isReady:h}},qg={nu:Gg,pure:n=>Gg(s=>{s(n)})},Yu=n=>{setTimeout(()=>{throw n},0)},Jl=n=>{const s=S=>{n().then(S,Yu)};return{map:S=>Jl(()=>n().then(S)),bind:S=>Jl(()=>n().then(x=>S(x).toPromise())),anonBind:S=>Jl(()=>n().then(()=>S.toPromise())),toLazy:()=>qg.nu(s),toCached:()=>{let S=null;return Jl(()=>(S===null&&(S=n()),S))},toPromise:n,get:s}},Io={nu:n=>Jl(()=>new Promise(n)),pure:n=>Jl(()=>Promise.resolve(n))},SS=n=>{const s=g=>g(n),a=te(n),i=()=>d,d={tag:!0,inner:n,fold:(g,h)=>h(n),isValue:Tt,isError:Fn,map:g=>kt.value(g(n)),mapError:i,bind:s,exists:s,forall:s,getOr:a,or:i,getOrThunk:a,orThunk:i,getOrDie:a,each:g=>{g(n)},toOptional:()=>T.some(n)};return d},uv=n=>{const s=()=>a,a={tag:!1,inner:n,fold:(i,d)=>i(n),isValue:Fn,isError:Tt,map:s,mapError:i=>kt.error(i(n)),bind:s,exists:Fn,forall:Tt,getOr:Qt,or:Qt,getOrThunk:Kr,orThunk:Kr,getOrDie:J(String(n)),each:q,toOptional:T.none};return a},kt={value:SS,error:uv,fromOption:(n,s)=>n.fold(()=>uv(s),SS)},Ya=n=>({...n,toCached:()=>Ya(n.toCached()),bindFuture:S=>Ya(n.bind(x=>x.fold(k=>Io.pure(kt.error(k)),k=>S(k)))),bindResult:S=>Ya(n.map(x=>x.bind(S))),mapResult:S=>Ya(n.map(x=>x.map(S))),mapError:S=>Ya(n.map(x=>x.mapError(S))),foldResult:(S,x)=>n.map(k=>k.fold(S,x)),withTimeout:(S,x)=>Ya(Io.nu(k=>{let D=!1;const N=setTimeout(()=>{D=!0,k(kt.error(x()))},S);n.get(F=>{D||(clearTimeout(N),k(F))})}))}),wf=n=>Ya(Io.nu(n)),TT=n=>Ya(Io.pure(kt.value(n))),s1={nu:wf,wrap:Ya,pure:TT,value:TT,error:n=>Ya(Io.pure(kt.error(n))),fromResult:n=>Ya(Io.pure(n)),fromFuture:n=>Ya(n.map(kt.value)),fromPromise:n=>wf(s=>{n.then(a=>{s(kt.value(a))},a=>{s(kt.error(a))})})},kT=typeof window<"u"?window:Function("return this;")(),fm=(n,s,a,i)=>{const d=n+s;return d>i?a:dMath.min(Math.max(n,s),a),wS=()=>window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295;let xS=0;const Ge=n=>{const a=new Date().getTime(),i=Math.floor(wS()*1e9);return xS++,n+"_"+i+xS+String(a)},ES=(n,s)=>s,r1=(n,s)=>CS(n)&&CS(s)?so(n,s):s,mv=n=>(...s)=>{if(s.length===0)throw new Error("Can't merge zero objects");const a={};for(let i=0;in.exists(i=>a(i,s)),xs=(n,s,a=ls)=>xi(n,s,a).getOr(n.isNone()&&s.isNone()),gm=n=>{const s=[],a=i=>{s.push(i)};for(let i=0;i{const s=[];for(let a=0;an.isSome()&&s.isSome()?T.some(a(n.getOrDie(),s.getOrDie())):T.none(),fa=(n,s,a,i)=>n.isSome()&&s.isSome()&&a.isSome()?T.some(i(n.getOrDie(),s.getOrDie(),a.getOrDie())):T.none(),eu=(n,s)=>n!=null?T.some(s(n)):T.none(),Ja=(n,s)=>n?T.some(s):T.none(),AT=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_T=(n,s)=>{let a=s??kT;for(let i=0;i{const a=n.split(".");return _T(a,s)};Hc.generate([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const TS=n=>{const s=[],a=[];return Qe(n,i=>{i.fold(d=>{s.push(d)},d=>{a.push(d)})}),{errors:s,values:a}},Xu=n=>{const s=ct(T.none()),a=()=>s.get().each(n);return{clear:()=>{a(),s.set(T.none())},isSet:()=>s.get().isSome(),get:()=>s.get(),set:C=>{a(),s.set(T.some(C))}}},gv=()=>Xu(n=>n.destroy()),ds=()=>Xu(n=>n.unbind()),Ht=()=>{const n=Xu(q);return{...n,on:a=>n.get().each(a)}},Qr=(n,s)=>n+s,_a=(n,s)=>n.substring(s),Mo=(n,s,a)=>s===""||n.length>=s.length&&n.substr(a,a+s.length)===s,hv=(n,s)=>Kg(n,s)?_a(n,s.length):n,kS=(n,s)=>tu(n,s)?n:Qr(n,s),Lo=(n,s,a=0,i)=>{const d=n.indexOf(s,a);return d!==-1?ma(i)?!0:d+s.length<=i:!1},Kg=(n,s)=>Mo(n,s,0),tu=(n,s)=>Mo(n,s,n.length-s.length),qe=(n=>s=>s.replace(n,""))(/^\s+|\s+$/g),xf=n=>n.length>0,Qa=n=>!xf(n),Yg=n=>{const s=parseFloat(n);return isNaN(s)?T.none():T.some(s)},Es=(n,s)=>{let a=null,i=null;return{cancel:()=>{Wu(a)||(clearTimeout(a),a=null,i=null)},throttle:(...h)=>{i=h,Wu(a)&&(a=setTimeout(()=>{const C=i;a=null,i=null,n.apply(null,C)},s))}}},OT=(n,s)=>{let a=null;return{cancel:()=>{Wu(a)||(clearTimeout(a),a=null)},throttle:(...g)=>{Wu(a)&&(a=setTimeout(()=>{a=null,n.apply(null,g)},s))}}},nu=(n,s)=>{let a=null;const i=()=>{Wu(a)||(clearTimeout(a),a=null)};return{cancel:i,throttle:(...g)=>{i(),a=setTimeout(()=>{a=null,n.apply(null,g)},s)}}},fl=n=>{let s=!1,a;return(...i)=>(s||(s=!0,a=n.apply(null,i)),a)},_S="\uFEFF",OS=" ",hm=(n,s)=>{const i=(s||document).createElement("div");if(i.innerHTML=n,!i.hasChildNodes()||i.childNodes.length>1){const d="HTML does not have a single root node";throw console.error(d,n),new Error(d)}return pm(i.childNodes[0])},DS=(n,s)=>{const i=(s||document).createElement(n);return pm(i)},c1=(n,s)=>{const i=(s||document).createTextNode(n);return pm(i)},pm=n=>{if(n==null)throw new Error("Node cannot be null or undefined");return{dom:n}},Le={fromHtml:hm,fromTag:DS,fromText:c1,fromDom:pm,fromPoint:(n,s,a)=>T.from(n.dom.elementFromPoint(s,a)).map(pm)},i1=(n,s)=>{s.fold(a=>{n.setStartBefore(a.dom)},(a,i)=>{n.setStart(a.dom,i)},a=>{n.setStartAfter(a.dom)})},pv=(n,s)=>{s.fold(a=>{n.setEndBefore(a.dom)},(a,i)=>{n.setEnd(a.dom,i)},a=>{n.setEndAfter(a.dom)})},ou=(n,s,a)=>{const i=n.document.createRange();return i1(i,s),pv(i,a),i},l1=(n,s,a,i,d)=>{const g=n.document.createRange();return g.setStart(s.dom,a),g.setEnd(i.dom,d),g},RS=n=>({left:n.left,top:n.top,right:n.right,bottom:n.bottom,width:n.width,height:n.height}),ec=n=>{const s=n.getClientRects(),a=s.length>0?s[0]:n.getBoundingClientRect();return a.width>0||a.height>0?T.some(a).map(RS):T.none()},MS=n=>{const s=n.getBoundingClientRect();return s.width>0||s.height>0?T.some(s).map(RS):T.none()},Ef=Hc.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Jg=(n,s,a)=>s(Le.fromDom(a.startContainer),a.startOffset,Le.fromDom(a.endContainer),a.endOffset),to=(n,s)=>s.match({domRange:a=>({ltr:te(a),rtl:T.none}),relative:(a,i)=>({ltr:fl(()=>ou(n,a,i)),rtl:fl(()=>T.some(ou(n,i,a)))}),exact:(a,i,d,g)=>({ltr:fl(()=>l1(n,a,i,d,g)),rtl:fl(()=>T.some(l1(n,d,g,a,i)))})}),bv=(n,s)=>{const a=s.ltr();return a.collapsed?s.rtl().filter(d=>d.collapsed===!1).map(d=>Ef.rtl(Le.fromDom(d.endContainer),d.endOffset,Le.fromDom(d.startContainer),d.startOffset)).getOrThunk(()=>Jg(n,Ef.ltr,a)):Jg(n,Ef.ltr,a)},BS=(n,s)=>{const a=to(n,s);return bv(n,a)},NS=(n,s)=>BS(n,s).match({ltr:(i,d,g,h)=>{const C=n.document.createRange();return C.setStart(i.dom,d),C.setEnd(g.dom,h),C},rtl:(i,d,g,h)=>{const C=n.document.createRange();return C.setStart(g.dom,h),C.setEnd(i.dom,d),C}});Ef.ltr,Ef.rtl;const PS=9,u1=11,Ei=1,$S=3,Ju=(n,s)=>{const a=n.dom;if(a.nodeType!==Ei)return!1;{const i=a;if(i.matches!==void 0)return i.matches(s);if(i.msMatchesSelector!==void 0)return i.msMatchesSelector(s);if(i.webkitMatchesSelector!==void 0)return i.webkitMatchesSelector(s);if(i.mozMatchesSelector!==void 0)return i.mozMatchesSelector(s);throw new Error("Browser lacks native selectors")}},bm=n=>n.nodeType!==Ei&&n.nodeType!==PS&&n.nodeType!==u1||n.childElementCount===0,FS=(n,s)=>{const a=s===void 0?document:s.dom;return bm(a)?[]:Ee(a.querySelectorAll(n),Le.fromDom)},d1=(n,s)=>{const a=s===void 0?document:s.dom;return bm(a)?T.none():T.from(a.querySelector(n)).map(Le.fromDom)},Vn=(n,s)=>n.dom===s.dom,Qg=(n,s)=>{const a=n.dom,i=s.dom;return a===i?!1:a.contains(i)},m1=(n,s,a,i)=>{const d=n.isiOS()&&/ipad/i.test(a)===!0,g=n.isiOS()&&!d,h=n.isiOS()||n.isAndroid(),C=h||i("(pointer:coarse)"),S=d||!g&&h&&i("(min-device-width:768px)"),x=g||h&&!S,k=s.isSafari()&&n.isiOS()&&/safari/i.test(a)===!1,D=!x&&!S&&!k;return{isiPad:te(d),isiPhone:te(g),isTablet:te(S),isPhone:te(x),isTouch:te(C),isAndroid:n.isAndroid,isiOS:n.isiOS,isWebView:te(k),isDesktop:te(D)}},gl=(n,s)=>{for(let a=0;a{const a=gl(n,s);if(!a)return{major:0,minor:0};const i=d=>Number(s.replace(a,"$"+d));return eh(i(1),i(2))},IS=(n,s)=>{const a=String(s).toLowerCase();return n.length===0?f1():DT(n,a)},f1=()=>eh(0,0),eh=(n,s)=>({major:n,minor:s}),vm={nu:eh,detect:IS,unknown:f1},vv=(n,s)=>Ka(s.brands,a=>{const i=a.brand.toLowerCase();return Bt(n,d=>{var g;return i===((g=d.brand)==null?void 0:g.toLowerCase())}).map(d=>({current:d.name,version:vm.nu(parseInt(a.version,10),0)}))}),g1=(n,s)=>{const a=String(s).toLowerCase();return Bt(n,i=>i.search(a))},yv=(n,s)=>g1(n,s).map(a=>{const i=vm.detect(a.versionRegexes,s);return{current:a.name,version:i}}),Cv=(n,s)=>g1(n,s).map(a=>{const i=vm.detect(a.versionRegexes,s);return{current:a.name,version:i}}),h1=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Ti=n=>s=>Lo(s,n),LS=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:n=>Lo(n,"edge/")&&Lo(n,"chrome")&&Lo(n,"safari")&&Lo(n,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,h1],search:n=>Lo(n,"chrome")&&!Lo(n,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:n=>Lo(n,"msie")||Lo(n,"trident")},{name:"Opera",versionRegexes:[h1,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Ti("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Ti("firefox")},{name:"Safari",versionRegexes:[h1,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:n=>(Lo(n,"safari")||Lo(n,"mobile/"))&&Lo(n,"applewebkit")}],Sv=[{name:"Windows",search:Ti("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:n=>Lo(n,"iphone")||Lo(n,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Ti("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:Ti("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Ti("linux"),versionRegexes:[]},{name:"Solaris",search:Ti("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Ti("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:Ti("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],p1={browsers:te(LS),oses:te(Sv)},HS="Edge",wv="Chromium",xv="IE",Ev="Opera",Uc="Firefox",Tv="Safari",RT=()=>kv({current:void 0,version:vm.unknown()}),kv=n=>{const s=n.current,a=n.version,i=d=>()=>s===d;return{current:s,version:a,isEdge:i(HS),isChromium:i(wv),isIE:i(xv),isOpera:i(Ev),isFirefox:i(Uc),isSafari:i(Tv)}},Av={unknown:RT,nu:kv,edge:te(HS),chromium:te(wv),ie:te(xv),opera:te(Ev),firefox:te(Uc),safari:te(Tv)},MT="Windows",zS="iOS",b1="Android",ki="Linux",Zc="macOS",Qu="Solaris",VS="FreeBSD",dn="ChromeOS",BT=()=>_v({current:void 0,version:vm.unknown()}),_v=n=>{const s=n.current,a=n.version,i=d=>()=>s===d;return{current:s,version:a,isWindows:i(MT),isiOS:i(zS),isAndroid:i(b1),isMacOS:i(Zc),isLinux:i(ki),isSolaris:i(Qu),isFreeBSD:i(VS),isChromeOS:i(dn)}},Bo={unknown:BT,nu:_v,windows:te(MT),ios:te(zS),android:te(b1),linux:te(ki),macos:te(Zc),solaris:te(Qu),freebsd:te(VS),chromeos:te(dn)},v1={detect:(n,s,a)=>{const i=p1.browsers(),d=p1.oses(),g=s.bind(S=>vv(i,S)).orThunk(()=>yv(i,n)).fold(Av.unknown,Av.nu),h=Cv(d,n).fold(Bo.unknown,Bo.nu),C=m1(h,g,n,a);return{browser:g,os:h,deviceType:C}}},PT=n=>window.matchMedia(n).matches;let Ov=fl(()=>v1.detect(window.navigator.userAgent,T.from(window.navigator.userAgentData),PT));const rr=()=>Ov(),Tf=(n,s)=>Vc(n,s),$T=(n,s)=>{const a=Tf(n,s);if(a==null)throw new Error(n+" not available on this browser");return a},Oe=Object.getPrototypeOf,Oa=n=>$T("HTMLElement",n),y1=n=>{const s=Vc("ownerDocument.defaultView",n);return Ic(n)&&(Oa(s).prototype.isPrototypeOf(n)||/^HTML\w*Element$/.test(Oe(n).constructor.name))},Wc=n=>n.dom.nodeName.toLowerCase(),th=n=>n.dom.nodeType,Dv=n=>s=>th(s)===n,U=n=>ga(n)&&y1(n.dom),ga=Dv(Ei),ed=Dv($S),Rv=Dv(PS),kf=Dv(u1),yr=n=>s=>ga(s)&&Wc(s)===n,ha=n=>Le.fromDom(n.dom.ownerDocument),Mv=n=>Rv(n)?n:ha(n),Bv=n=>Le.fromDom(Mv(n).dom.documentElement),nh=n=>Le.fromDom(Mv(n).dom.defaultView),ea=n=>T.from(n.dom.parentNode).map(Le.fromDom),Nv=n=>ea(n),hl=n=>T.from(n.dom.parentElement).map(Le.fromDom),oh=(n,s)=>{const a=Dt(s)?s:Fn;let i=n.dom;const d=[];for(;i.parentNode!==null&&i.parentNode!==void 0;){const g=i.parentNode,h=Le.fromDom(g);if(d.push(h),a(h)===!0)break;i=g}return d},Pv=n=>T.from(n.dom.offsetParent).map(Le.fromDom),Da=n=>T.from(n.dom.previousSibling).map(Le.fromDom),$v=n=>T.from(n.dom.nextSibling).map(Le.fromDom),Ai=n=>Ee(n.dom.childNodes,Le.fromDom),td=(n,s)=>{const a=n.dom.childNodes;return T.from(a[s]).map(Le.fromDom)},sn=n=>td(n,0),tc=(n,s)=>({element:n,offset:s}),C1=(n,s)=>{const a=Ai(n);return a.length>0&&s{const g=ha(n).dom.createRange();return g.setStart(n.dom,s),g.setEnd(a.dom,i),g},Wt=(n,s,a,i)=>{const d=US(n,s,a,i),g=Vn(n,a)&&s===i;return d.collapsed&&!g},su=n=>kf(n)&&Uo(n.dom.host),ss=n=>Le.fromDom(n.dom.getRootNode()),_i=n=>su(n)?n:Le.fromDom(Mv(n).dom.body),Oi=n=>bo(n).isSome(),bo=n=>{const s=ss(n);return su(s)?T.some(s):T.none()},An=n=>Le.fromDom(n.dom.host),FT=n=>{if(Uo(n.target)){const s=Le.fromDom(n.target);if(ga(s)&&IT(s)&&n.composed&&n.composedPath){const a=n.composedPath();if(a)return Qn(a)}}return T.from(n.target)},IT=n=>Uo(n.dom.shadowRoot),pl=(n,s,a,i,d,g,h)=>({target:n,x:s,y:a,stop:i,prevent:d,kill:g,raw:h}),jc=n=>{const s=Le.fromDom(FT(n).getOr(n.target)),a=()=>n.stopPropagation(),i=()=>n.preventDefault(),d=Sf(i,a);return pl(s,n.clientX,n.clientY,a,i,d,n)},Di=(n,s)=>a=>{n(a)&&s(jc(a))},ms=(n,s,a,i,d)=>{const g=Di(a,i);return n.dom.addEventListener(s,g,d),{unbind:on(Gc,n,s,g,d)}},ru=(n,s,a,i)=>ms(n,s,a,i,!1),Ra=(n,s,a,i)=>ms(n,s,a,i,!0),Gc=(n,s,a,i)=>{n.dom.removeEventListener(s,a,i)},nc=Tt,On=(n,s,a)=>ru(n,s,nc,a),oc=(n,s,a)=>Ra(n,s,nc,a),Ri=jc,Cr=()=>Le.fromDom(document),Ps=(n,s=!1)=>n.dom.focus({preventScroll:s}),Do=n=>n.dom.blur(),qc=n=>{const s=ss(n).dom;return n.dom===s.activeElement},$s=(n=Cr())=>T.from(n.dom.activeElement).map(Le.fromDom),rs=n=>$s(ss(n)).filter(s=>n.dom.contains(s.dom)),ym=(n,s)=>{ea(n).each(i=>{i.dom.insertBefore(s.dom,n.dom)})},ZS=(n,s)=>{$v(n).fold(()=>{ea(n).each(d=>{Ws(d,s)})},i=>{ym(i,s)})},Fv=(n,s)=>{sn(n).fold(()=>{Ws(n,s)},i=>{n.dom.insertBefore(s.dom,i.dom)})},Ws=(n,s)=>{n.dom.appendChild(s.dom)},Iv=(n,s,a)=>{td(n,a).fold(()=>{Ws(n,s)},i=>{ym(i,s)})},WS=(n,s)=>{Qe(s,a=>{Ws(n,a)})},Cm=(n,s,a)=>{if(kn(a)||Kl(a)||wi(a))n.setAttribute(s,a+"");else throw console.error("Invalid call to Attribute.set. Key ",s,":: Value ",a,":: Element ",n),new Error("Attribute value was not simple")},wt=(n,s,a)=>{Cm(n.dom,s,a)},Lv=(n,s)=>{const a=n.dom;Fo(s,(i,d)=>{Cm(a,d,i)})},Ts=(n,s)=>{const a=n.dom.getAttribute(s);return a===null?void 0:a},js=(n,s)=>T.from(Ts(n,s)),Gs=(n,s)=>{const a=n.dom;return a&&a.hasAttribute?a.hasAttribute(s):!1},io=(n,s)=>{n.dom.removeAttribute(s)},Sm=n=>ho(n.dom.attributes,(s,a)=>(s[a.name]=a.value,s),{}),S1=n=>{n.dom.textContent="",Qe(Ai(n),s=>{Kc(s)})},Kc=n=>{const s=n.dom;s.parentNode!==null&&s.parentNode.removeChild(s)},Mi=(n,s)=>Le.fromDom(n.dom.cloneNode(s)),Hv=n=>Mi(n,!1),w1=n=>Mi(n,!0),x1=(n,s)=>{const i=(s||document).createElement("div");return i.innerHTML=n,Ai(Le.fromDom(i))},au=n=>n.dom.innerHTML,Bi=(n,s)=>{const i=ha(n).dom,d=Le.fromDom(i.createDocumentFragment()),g=x1(s,i);WS(d,g),S1(n),Ws(n,d)},LT=n=>{const s=Le.fromTag("div"),a=Le.fromDom(n.dom.cloneNode(!0));return Ws(s,a),au(s)},ar=n=>{if(su(n))return"#shadow-root";{const s=Hv(n);return LT(s)}},Ni=n=>new Promise((s,a)=>{const i=()=>{g(),s(n)},d=[On(n,"load",i),On(n,"error",()=>{g(),a("Unable to load data from image: "+n.dom.src)})],g=()=>Qe(d,h=>h.unbind());n.dom.complete&&i()}),bl=n=>n.style!==void 0&&Dt(n.style.getPropertyValue),pn=n=>{const s=ed(n)?n.dom.parentNode:n.dom;if(s==null||s.ownerDocument===null)return!1;const a=s.ownerDocument;return bo(Le.fromDom(s)).fold(()=>a.body.contains(s),gn(pn,An))},Ma=()=>jS(Le.fromDom(document)),jS=n=>{const s=n.dom.body;if(s==null)throw new Error("Body is not available yet");return Le.fromDom(s)},E1=(n,s,a)=>{if(!kn(a))throw console.error("Invalid call to CSS.set. Property ",s,":: Value ",a,":: Element ",n),new Error("CSS value must be a string: "+a);bl(n)&&n.style.setProperty(s,a)},sc=(n,s)=>{bl(n)&&n.style.removeProperty(s)},Rt=(n,s,a)=>{const i=n.dom;E1(i,s,a)},So=(n,s)=>{const a=n.dom;Fo(s,(i,d)=>{E1(a,d,i)})},qs=(n,s)=>{const a=n.dom;Fo(s,(i,d)=>{i.fold(()=>{sc(a,d)},g=>{E1(a,d,g)})})},lo=(n,s)=>{const a=n.dom,d=window.getComputedStyle(a).getPropertyValue(s);return d===""&&!pn(n)?rc(a,s):d},rc=(n,s)=>bl(n)?n.style.getPropertyValue(s):"",vo=(n,s)=>{const a=n.dom,i=rc(a,s);return T.from(i).filter(d=>d.length>0)},Go=n=>{const s={},a=n.dom;if(bl(a))for(let i=0;i{const i=Le.fromTag(n);return Rt(i,s,a),vo(i,s).isSome()},Xt=(n,s)=>{const a=n.dom;sc(a,s),zc(js(n,"style").map(qe),"")&&io(n,"style")},ac=n=>n.dom.offsetWidth,no=(n,s)=>{const a=(C,S)=>{if(!wi(S)&&!S.match(/^[0-9]+$/))throw new Error(n+".set accepts only positive integer values. Value was "+S);const x=C.dom;bl(x)&&(x.style[n]=S+"px")},i=C=>{const S=s(C);if(S<=0||S===null){const x=lo(C,n);return parseFloat(x)||0}return S},d=i,g=(C,S)=>ho(S,(x,k)=>{const D=lo(C,k),N=D===void 0?0:parseInt(D,10);return isNaN(N)?x:x+N},0);return{set:a,get:i,getOuter:d,aggregate:g,max:(C,S,x)=>{const k=g(C,x);return S>k?S-k:0}}},cc=no("height",n=>{const s=n.dom;return pn(n)?s.getBoundingClientRect().height:s.offsetHeight}),ks=n=>cc.get(n),Sr=n=>cc.getOuter(n),sh=(n,s)=>{const a=["margin-top","border-top-width","padding-top","padding-bottom","border-bottom-width","margin-bottom"],i=cc.max(n,s,a);Rt(n,"max-height",i+"px")},GS=n=>n.offsetWidth<=0&&n.offsetHeight<=0,rh=n=>!GS(n.dom),ah=no("width",n=>{const s=n.dom;return pn(n)?s.getBoundingClientRect().width:s.offsetWidth}),wm=(n,s)=>ah.set(n,s),wr=n=>ah.get(n),cu=n=>ah.getOuter(n),HT=(n,s)=>{const a=["margin-left","border-left-width","padding-left","padding-right","border-right-width","margin-right"],i=ah.max(n,s,a);Rt(n,"max-width",i+"px")},xm=(n,s)=>({left:n,top:s,translate:(i,d)=>xm(n+i,s+d)}),Ln=xm,T1=n=>{const s=n.getBoundingClientRect();return Ln(s.left,s.top)},k1=(n,s)=>n!==void 0?n:s!==void 0?s:0,pa=n=>{const s=n.dom.ownerDocument,a=s.body,i=s.defaultView,d=s.documentElement;if(a===n.dom)return Ln(a.offsetLeft,a.offsetTop);const g=k1(i==null?void 0:i.pageYOffset,d.scrollTop),h=k1(i==null?void 0:i.pageXOffset,d.scrollLeft),C=k1(d.clientTop,a.clientTop),S=k1(d.clientLeft,a.clientLeft);return ic(n).translate(h-S,g-C)},ic=n=>{const s=n.dom,i=s.ownerDocument.body;return i===s?Ln(i.offsetLeft,i.offsetTop):pn(n)?T1(s):Ln(0,0)},No=n=>{const s=n!==void 0?n.dom:document,a=s.body.scrollLeft||s.documentElement.scrollLeft,i=s.body.scrollTop||s.documentElement.scrollTop;return Ln(a,i)},nd=(n,s,a)=>{const d=(a!==void 0?a.dom:document).defaultView;d&&d.scrollTo(n,s)},_f=((n,s)=>{const a=g=>{if(!n(g))throw new Error("Can only get "+s+" value of a "+s+" node");return i(g).getOr("")},i=g=>n(g)?T.from(g.dom.nodeValue):T.none();return{get:a,getOption:i,set:(g,h)=>{if(!n(g))throw new Error("Can only set raw "+s+" value of a "+s+" node");g.dom.nodeValue=h}}})(ed,"text"),A1=n=>_f.get(n),zv=(n,s)=>a=>iR(a)==="rtl"?s:n,iR=n=>lo(n,"direction")==="rtl"?"rtl":"ltr",Pi=(n,s)=>{const a=Ts(n,s);return a===void 0||a===""?[]:a.split(" ")},zT=(n,s,a)=>{const d=Pi(n,s).concat([a]);return wt(n,s,d.join(" ")),!0},qS=(n,s,a)=>{const i=oo(Pi(n,s),d=>d!==a);return i.length>0?wt(n,s,i.join(" ")):io(n,s),!1};var $i=(n,s,a,i,d)=>n(a,i)?T.some(a):Dt(d)&&d(a)?T.none():s(a,i,d);const KS=(n,s,a)=>{let i=n.dom;const d=Dt(a)?a:Fn;for(;i.parentNode;){i=i.parentNode;const g=Le.fromDom(i);if(s(g))return T.some(g);if(d(g))break}return T.none()},Of=(n,s,a)=>$i((d,g)=>g(d),KS,n,s,a),ch=(n,s)=>{const a=n.dom;return a.parentNode?ih(Le.fromDom(a.parentNode),i=>!Vn(n,i)&&s(i)):T.none()},ih=(n,s)=>{const a=d=>s(Le.fromDom(d));return Bt(n.dom.childNodes,a).map(Le.fromDom)},Vv=(n,s)=>{const a=i=>{for(let d=0;dd1(n),Yc=(n,s,a)=>KS(n,i=>Ju(i,s),a),VT=(n,s)=>ch(n,a=>Ju(a,s)),od=(n,s)=>ih(n,a=>Ju(a,s)),Nn=(n,s)=>d1(s,n),xr=(n,s,a)=>$i((d,g)=>Ju(d,g),Yc,n,s,a),vl=(n,s)=>{n.dom.checked=s},Uv=n=>n.dom.checked,sd=n=>n.dom.classList!==void 0,Zv=n=>Pi(n,"class"),XS=(n,s)=>zT(n,"class",s),yl=(n,s)=>qS(n,"class",s),Cl=(n,s)=>go(Zv(n),s)?yl(n,s):XS(n,s),Un=(n,s)=>{sd(n)?n.dom.classList.add(s):XS(n,s)},JS=n=>{(sd(n)?n.dom.classList:Zv(n)).length===0&&io(n,"class")},wo=(n,s)=>{sd(n)?n.dom.classList.remove(s):yl(n,s),JS(n)},lh=(n,s)=>{const a=sd(n)?n.dom.classList.toggle(s):Cl(n,s);return JS(n),a},qo=(n,s)=>sd(n)&&n.dom.classList.contains(s),Sl=(n,s)=>{Qe(s,a=>{Un(n,a)})},cr=(n,s)=>{Qe(s,a=>{wo(n,a)})},iu=(n,s)=>{Qe(s,a=>{lh(n,a)})},_1=(n,s)=>Gu(s,a=>qo(n,a)),QS=n=>{const s=n.dom.classList,a=new Array(s.length);for(let i=0;isd(n)?QS(n):Zv(n),UT=n=>n.dom.textContent,Ba=n=>n.dom.value,rd=(n,s)=>{if(s===void 0)throw new Error("Value.set was undefined");n.dom.value=s},As=(n,s,a)=>oo(oh(n,a),s),Ks=(n,s)=>FS(s,n),O1=(n,s,a)=>Of(n,s,a).isSome(),uh=(n,s,a)=>xr(n,s,a).isSome(),ew=n=>Dt(n)?n:Fn,tw=(n,s,a)=>{let i=n.dom;const d=ew(a);for(;i.parentNode;){i=i.parentNode;const g=Le.fromDom(i),h=s(g);if(h.isSome())return h;if(d(g))break}return T.none()},Xc=(n,s,a)=>{const i=s(n),d=ew(a);return i.orThunk(()=>d(n)?T.none():tw(n,s,d))},Em={create:(n,s,a,i)=>({start:n,soffset:s,finish:a,foffset:i})},ad=Hc.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ZT=(n,s,a,i)=>n.fold(s,a,i),nw=n=>n.fold(Qt,Qt,Qt),WT=ad.before,D1=ad.on,R1=ad.after,Ys={before:WT,on:D1,after:R1,cata:ZT,getStart:nw},Df=Hc.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),M1=n=>Df.exact(n.start,n.soffset,n.finish,n.foffset),B1=n=>n.match({domRange:s=>Le.fromDom(s.startContainer),relative:(s,a)=>Ys.getStart(s),exact:(s,a,i,d)=>s}),jv=Df.domRange,jT=Df.relative,ow=Df.exact,Gv=n=>{const s=B1(n);return nh(s)},sw=Em.create,cd={domRange:jv,relative:jT,exact:ow,exactFromRange:M1,getWin:Gv,range:sw},GT=n=>T.from(n.getSelection()),qv=n=>{if(n.rangeCount>0){const s=n.getRangeAt(0),a=n.getRangeAt(n.rangeCount-1);return T.some(Em.create(Le.fromDom(s.startContainer),s.startOffset,Le.fromDom(a.endContainer),a.endOffset))}else return T.none()},qT=n=>{if(n.anchorNode===null||n.focusNode===null)return qv(n);{const s=Le.fromDom(n.anchorNode),a=Le.fromDom(n.focusNode);return Wt(s,n.anchorOffset,a,n.focusOffset)?T.some(Em.create(s,n.anchorOffset,a,n.focusOffset)):qv(n)}},rw=n=>GT(n).filter(s=>s.rangeCount>0).bind(qT),aw=(n,s)=>{const a=NS(n,s);return ec(a)},uR=(n,s)=>{const a=NS(n,s);return MS(a)},cw={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Kv=(()=>{const n="[0-9]+",a="[eE]"+("[+-]?"+n),i="\\.",d=C=>`(?:${C})?`,h=`[+-]?(?:${["Infinity",n+i+d(n)+d(a),i+n+d(a),n+d(a)].join("|")})`;return new RegExp(`^(${h})(.*)$`)})(),KT=(n,s)=>Br(s,a=>Br(cw[a],i=>n===i)),N1=(n,s)=>T.from(Kv.exec(n)).bind(i=>{const d=Number(i[1]),g=i[2];return KT(g,s)?T.some({value:d,unit:g}):T.none()}),YT=(n,s)=>N1(n,s).map(({value:a,unit:i})=>a+i),P1=n=>{const s=n===void 0?window:n;return rr().browser.isFirefox()?T.none():T.from(s.visualViewport)},Yv=(n,s,a,i)=>({x:n,y:s,width:a,height:i,right:n+a,bottom:s+i}),Jc=n=>{const s=n===void 0?window:n,a=s.document,i=No(Le.fromDom(a));return P1(s).fold(()=>{const d=s.document.documentElement,g=d.clientWidth,h=d.clientHeight;return Yv(i.left,i.top,g,h)},d=>Yv(Math.max(d.pageLeft,i.left),Math.max(d.pageTop,i.top),d.width,d.height))},id=(n,s)=>n.view(s).fold(te([]),i=>{const d=n.owner(i),g=id(n,d);return[i].concat(g)}),XT=(n,s)=>{const a=s.owner(n),i=id(s,a);return T.some(i)};var lu=Object.freeze({__proto__:null,view:n=>{var a;return(n.dom===document?T.none():T.from((a=n.dom.defaultView)==null?void 0:a.frameElement)).map(Le.fromDom)},owner:n=>ha(n)});const dh=n=>{const s=Cr(),a=No(s);return XT(n,lu).fold(on(pa,n),d=>{const g=ic(n),h=us(d,(C,S)=>{const x=ic(S);return{left:C.left+x.left,top:C.top+x.top}},{left:0,top:0});return Ln(h.left+g.left+a.left,h.top+g.top+a.top)})},Xv=(n,s,a)=>({point:n,width:s,height:a}),QT=(n,s,a,i)=>({x:n,y:s,width:a,height:i}),_o=(n,s,a,i)=>({x:n,y:s,width:a,height:i,right:n+a,bottom:s+i}),Ko=n=>{const s=pa(n),a=cu(n),i=Sr(n);return _o(s.left,s.top,a,i)},ld=n=>{const s=dh(n),a=cu(n),i=Sr(n);return _o(s.left,s.top,a,i)},Rf=(n,s)=>{const a=Math.max(n.x,s.x),i=Math.max(n.y,s.y),d=Math.min(n.right,s.right),g=Math.min(n.bottom,s.bottom),h=d-a,C=g-i;return _o(a,i,h,C)},Jv=(n,s)=>ho(s,(a,i)=>Rf(a,i),n),Fs=()=>Jc(window),Qv=(n,s)=>Vn(n.element,s.event.target),uu=n=>(zc(vo(n,"position"),"fixed")?T.none():Pv(n)).orThunk(()=>{const i=Le.fromTag("span");return ea(n).bind(d=>{Ws(d,i);const g=Pv(i);return Kc(i),g})}),$1=n=>uu(n).map(pa).getOrThunk(()=>Ln(0,0)),ta=(n,s)=>{const a=T.from(Ts(n,"id")).getOrThunk(()=>{const i=Ge("aria");return wt(s,"id",i),i});wt(n,"aria-describedby",a)},lw=n=>{io(n,"aria-describedby")};var Na;(function(n){n[n.Error=0]="Error",n[n.Value=1]="Value"})(Na||(Na={}));const Tm=(n,s,a)=>n.stype===Na.Error?s(n.serror):a(n.svalue),mh=n=>{const s=[],a=[];return Qe(n,i=>{Tm(i,d=>a.push(d),d=>s.push(d))}),{values:s,errors:a}},gs=(n,s)=>n.stype===Na.Error?{stype:Na.Error,serror:s(n.serror)}:n,uw=(n,s)=>n.stype===Na.Value?{stype:Na.Value,svalue:s(n.svalue)}:n,ud=(n,s)=>n.stype===Na.Value?s(n.svalue):n,ek=(n,s)=>n.stype===Na.Error?s(n.serror):n,dw=n=>({stype:Na.Value,svalue:n}),F1=n=>({stype:Na.Error,serror:n}),xo={fromResult:n=>n.fold(F1,dw),toResult:n=>Tm(n,kt.error,kt.value),svalue:dw,partition:mh,serror:F1,bind:ud,bindError:ek,map:uw,mapError:gs,fold:Tm},du=n=>Ic(n)&&Bn(n).length>100?" removed due to size":JSON.stringify(n,null,2),ot=n=>{const s=n.length>10?n.slice(0,10).concat([{path:[],getErrorInfo:te("... (only showing first ten failures)")}]):n;return Ee(s,a=>"Failed path: ("+a.path.join(" > ")+`) +`+a.getErrorInfo())},Is=(n,s)=>xo.serror([{path:n,getErrorInfo:s}]),e2=(n,s,a)=>Is(n,()=>'Could not find valid *required* value for "'+s+'" in '+du(a)),dd=(n,s)=>Is(n,()=>'Choice schema did not contain choice key: "'+s+'"'),Fi=(n,s,a)=>Is(n,()=>'The chosen schema: "'+a+'" did not exist in branches: '+du(s)),fh=(n,s)=>Is(n,()=>"There are unsupported fields: ["+s.join(", ")+"] specified"),tk=(n,s)=>Is(n,te(s)),lc=n=>{const s=(i,d)=>xo.bindError(n(d),g=>tk(i,g)),a=te("val");return{extract:s,toString:a}},nk=lc(xo.svalue),Xs=te(nk),I1=(n,s)=>lc(a=>{const i=typeof a;return n(a)?xo.svalue(a):xo.serror(`Expected type: ${s} but got: ${i}`)}),gh=I1(wi,"number"),Se=I1(kn,"string"),en=I1(Kl,"boolean"),hh=I1(Dt,"function"),Ii=n=>{if(Object(n)!==n)return!0;switch({}.toString.call(n).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(n).every(s=>Ii(n[s]));default:return!1}},Mf=lc(n=>Ii(n)?xo.svalue(n):xo.serror("Expected value to be acceptable for sending via postMessage")),Pa=()=>({tag:"required",process:{}}),uo=n=>({tag:"defaultedThunk",process:n}),L1=n=>uo(te(n)),fw=()=>({tag:"option",process:{}}),ir=n=>({tag:"mergeWithThunk",process:n}),ro=n=>ir(te(n)),ph=(n,s,a,i)=>({tag:"field",key:n,newKey:s,presence:a,prop:i}),bh=(n,s)=>({tag:"custom",newKey:n,instantiator:s}),t2=(n,s,a)=>{switch(n.tag){case"field":return s(n.key,n.newKey,n.presence,n.prop);case"custom":return a(n.newKey,n.instantiator)}},n2=(n,s)=>xo.svalue(so(s,a1.apply(void 0,n))),uc=n=>Sf(xo.serror,Ot)(n),s2={consolidateObj:(n,s)=>{const a=xo.partition(n);return a.errors.length>0?uc(a.errors):n2(a.values,s)},consolidateArr:n=>{const s=xo.partition(n);return s.errors.length>0?uc(s.errors):xo.svalue(s.values)}},z1=(n,s,a,i)=>mt(s,a).fold(()=>e2(n,a,s),i),Bf=(n,s,a,i)=>{const d=mt(n,s).getOrThunk(()=>a(n));return i(d)},gw=(n,s,a)=>a(mt(n,s)),ok=(n,s,a,i)=>{const d=mt(n,s).map(g=>g===!0?a(n):g);return i(d)},r2=(n,s,a,i,d)=>{const g=C=>d.extract(s.concat([i]),C),h=C=>C.fold(()=>xo.svalue(T.none()),S=>{const x=d.extract(s.concat([i]),S);return xo.map(x,T.some)});switch(n.tag){case"required":return z1(s,a,i,g);case"defaultedThunk":return Bf(a,i,n.process,g);case"option":return gw(a,i,h);case"defaultedOptionThunk":return ok(a,i,n.process,h);case"mergeWithThunk":return Bf(a,i,te({}),C=>{const S=so(n.process(a),C);return g(S)})}},sk=(n,s,a)=>{const i={},d=[];for(const g of a)t2(g,(h,C,S,x)=>{const k=r2(S,n,s,h,x);xo.fold(k,D=>{d.push(...D)},D=>{i[C]=D})},(h,C)=>{i[h]=C(s)});return d.length>0?xo.serror(d):xo.svalue(i)},vh=n=>({extract:(i,d)=>n().extract(i,d),toString:()=>n().toString()}),mR=n=>Bn($r(n,Uo)),dc=n=>{const s=Et(n),a=us(n,(d,g)=>t2(g,h=>so(d,{[h]:!0}),te(d)),{});return{extract:(d,g)=>{const h=Kl(g)?[]:mR(g),C=oo(h,S=>!hn(a,S));return C.length===0?s.extract(d,g):fh(d,C)},toString:s.toString}},Et=n=>({extract:(i,d)=>sk(i,d,n),toString:()=>`obj{ +`+Ee(n,d=>t2(d,(g,h,C,S)=>g+" -> "+S.toString(),(g,h)=>"state("+g+")")).join(` +`)+"}"}),mc=n=>({extract:(i,d)=>{const g=Ee(d,(h,C)=>n.extract(i.concat(["["+C+"]"]),h));return s2.consolidateArr(g)},toString:()=>"array("+n.toString()+")"}),fc=(n,s)=>{const a=s!==void 0?s:Qt;return{extract:(g,h)=>{const C=[];for(const S of n){const x=S.extract(g,h);if(x.stype===Na.Value)return{stype:Na.Value,svalue:a(x.svalue)};C.push(x)}return s2.consolidateArr(C)},toString:()=>"oneOf("+Ee(n,g=>g.toString()).join(", ")+")"}},Er=(n,s)=>{const a=(g,h)=>mc(lc(n)).extract(g,h);return{extract:(g,h)=>{const C=Bn(h),S=a(g,C);return xo.bind(S,x=>{const k=Ee(x,D=>ph(D,D,Pa(),s));return Et(k).extract(g,h)})},toString:()=>"setOf("+s.toString()+")"}},hw=(n,s)=>{const a=fl(s);return{extract:(g,h)=>a().extract(g,h),toString:()=>a().toString()}},yh=Sf(mc,Et),md=(n,s,a,i)=>mt(a,i).fold(()=>Fi(n,a,i),g=>g.extract(n.concat(["branch: "+i]),s)),mu=(n,s)=>({extract:(d,g)=>mt(g,n).fold(()=>dd(d,n),C=>md(d,g,s,C)),toString:()=>"chooseOn("+n+"). Possible values: "+Bn(s)}),a2=()=>mc(nk),km=n=>lc(s=>n(s).fold(xo.serror,xo.svalue)),pw=(n,s)=>Er(a=>xo.fromResult(n(a)),s),V1=(n,s,a)=>{const i=s.extract([n],a);return xo.mapError(i,d=>({input:a,errors:d}))},Eo=(n,s,a)=>xo.toResult(V1(n,s,a)),$a=n=>n.fold(s=>{throw new Error(Am(s))},Qt),Ir=(n,s,a)=>$a(Eo(n,s,a)),Am=n=>`Errors: +`+ot(n.errors).join(` +`)+` + +Input object: `+du(n.input),Tr=(n,s)=>mu(n,jo(s,Et)),_m=(n,s)=>hw(n,s),Js=ph,Lr=bh,Nf=n=>km(s=>go(n,s)?kt.value(s):kt.error(`Unsupported value: "${s}", choose one of "${n.join(", ")}".`)),Te=n=>Js(n,n,Pa(),Xs()),Fa=(n,s)=>Js(n,n,Pa(),s),Ch=n=>Fa(n,gh),Yo=n=>Fa(n,Se),Ia=(n,s)=>Js(n,n,Pa(),Nf(s)),lr=n=>Fa(n,hh),rk=(n,s)=>Js(n,n,fw(),lc(a=>xo.serror("The field: "+n+" is forbidden. "+s))),Li=(n,s)=>Js(n,n,Pa(),Et(s)),bw=(n,s)=>Js(n,n,Pa(),yh(s)),na=(n,s)=>Js(n,n,Pa(),mc(s)),Dn=n=>Js(n,n,fw(),Xs()),Qc=(n,s)=>Js(n,n,fw(),s),Sh=n=>Qc(n,gh),To=n=>Qc(n,Se),c2=(n,s)=>Qc(n,Nf(s)),vw=n=>Qc(n,en),ei=n=>Qc(n,hh),U1=(n,s)=>Qc(n,mc(s)),oa=(n,s)=>Qc(n,Et(s)),ak=(n,s)=>Qc(n,dc(s)),ae=(n,s)=>Js(n,n,L1(s),Xs()),La=(n,s,a)=>Js(n,n,L1(s),a),i2=(n,s)=>La(n,s,gh),ko=(n,s)=>La(n,s,Se),Hr=(n,s,a)=>La(n,s,Nf(a)),Qs=(n,s)=>La(n,s,en),Pn=(n,s)=>La(n,s,hh),wh=(n,s)=>La(n,s,Mf),fd=(n,s,a)=>La(n,s,mc(a)),yw=(n,s,a)=>La(n,s,Et(a)),Pf=(n,s)=>{const a={};return Fo(n,(i,d)=>{go(s,d)||(a[d]=i)}),a},Hi=(n,s)=>({[n]:s}),Cw=n=>{const s={};return Qe(n,a=>{s[a.key]=a.value}),s},ck=(n,s)=>Pf(n,s),gd=(n,s)=>Hi(n,s),hd=n=>Cw(n),Sw=(n,s)=>n.length===0?kt.value(s):kt.value(so(s,a1.apply(void 0,n))),ik=n=>kt.error(Ot(n)),l2=(n,s)=>{const a=TS(n);return a.errors.length>0?ik(a.errors):Sw(a.values,s)},_s=te,pd=_s("touchstart"),bd=_s("touchmove"),gc=_s("touchend"),hs=_s("touchcancel"),zr=_s("mousedown"),$f=_s("mousemove"),ps=_s("mouseout"),u2=_s("mouseup"),hc=_s("mouseover"),pc=_s("focusin"),Z1=_s("focusout"),Os=_s("keydown"),Om=_s("keyup"),fu=_s("input"),Dm=_s("change"),gu=_s("click"),lk=_s("transitioncancel"),W1=_s("transitionend"),Ff=_s("transitionstart"),uk=_s("selectstart"),Oo=n=>te("alloy."+n),xh={tap:Oo("tap")},kr=Oo("focus"),If=Oo("blur.post"),j1=Oo("paste.post"),vd=Oo("receive"),Ha=Oo("execute"),hu=Oo("focus.item"),bc=xh.tap,ww=Oo("longpress"),G1=Oo("sandbox.close"),Eh=Oo("typeahead.cancel"),q1=Oo("system.init"),d2=Oo("system.touchmove"),m2=Oo("system.touchend"),f2=Oo("system.scroll"),Lf=Oo("system.resize"),zi=Oo("system.attached"),wl=Oo("system.detached"),Rm=Oo("system.dismissRequested"),Hf=Oo("system.repositionRequested"),zf=Oo("focusmanager.shifted"),g2=Oo("slotcontainer.visibility"),xw=Oo("system.external.element.scroll"),Ew=Oo("change.tab"),Tw=Oo("dismiss.tab"),Th=Oo("highlight"),Vf=Oo("dehighlight"),pu=n=>ar(n),kw="unknown";var yd;(function(n){n[n.STOP=0]="STOP",n[n.NORMAL=1]="NORMAL",n[n.LOGGING=2]="LOGGING"})(yd||(yd={}));const Uf=ct({}),Aw=(n,s)=>{const a=[],i=new Date().getTime();return{logEventCut:(d,g,h)=>{a.push({outcome:"cut",target:g,purpose:h})},logEventStopped:(d,g,h)=>{a.push({outcome:"stopped",target:g,purpose:h})},logNoParent:(d,g,h)=>{a.push({outcome:"no-parent",target:g,purpose:h})},logEventNoHandlers:(d,g)=>{a.push({outcome:"no-handlers-left",target:g})},logEventResponse:(d,g,h)=>{a.push({outcome:"response",purpose:h,target:g})},write:()=>{const d=new Date().getTime();go(["mousemove","mouseover","mouseout",q1()],n)||console.log(n,{event:n,time:d-i,target:s.dom,sequence:Ee(a,g=>go(["cut","stopped","response"],g.outcome)?"{"+g.purpose+"} "+g.outcome+" at ("+pu(g.target)+")":g.outcome)})}}},K1=(n,s,a)=>{switch(mt(Uf.get(),n).orThunk(()=>{const d=Bn(Uf.get());return Ka(d,g=>n.indexOf(g)>-1?T.some(Uf.get()[g]):T.none())}).getOr(yd.NORMAL)){case yd.NORMAL:return a(_w());case yd.LOGGING:{const d=Aw(n,s),g=a(d);return d.write(),g}case yd.STOP:return!0}},ba=["alloy/data/Fields","alloy/debugging/Debugging"],Mm=()=>{const n=new Error;if(n.stack!==void 0){const s=n.stack.split(` +`);return Bt(s,a=>a.indexOf("alloy")>0&&!Br(ba,i=>a.indexOf(i)>-1)).getOr(kw)}else return kw},h2={logEventCut:q,logEventStopped:q,logNoParent:q,logEventNoHandlers:q,logEventResponse:q,write:q},p2=(n,s,a)=>K1(n,s,a),_w=te(h2),dk=te([Te("menu"),Te("selectedMenu")]),Zf=te([Te("item"),Te("selectedItem")]);te(Et(Zf().concat(dk())));const Ow=te(Et(Zf())),xl=Li("initSize",[Te("numColumns"),Te("numRows")]),b2=()=>Fa("markers",Ow()),Dw=()=>Li("markers",[Te("backgroundMenu")].concat(dk()).concat(Zf())),za=n=>Li("markers",Ee(n,Te)),Y1=(n,s,a)=>(Mm(),Js(s,s,a,km(i=>kt.value((...d)=>i.apply(void 0,d))))),yt=n=>Y1("onHandler",n,L1(q)),va=n=>Y1("onKeyboardHandler",n,L1(T.none)),kh=n=>Y1("onHandler",n,Pa()),X1=n=>Y1("onKeyboardHandler",n,Pa()),Kn=(n,s)=>Lr(n,te(s)),v2=n=>Lr(n,Qt),ti=te(xl),mk=(n,s,a)=>{const i=a.toString(),d=i.indexOf(")")+1,g=i.indexOf("("),h=i.substring(g+1,d-1).split(/,\s*/);return n.toFunctionAnnotation=()=>({name:s,parameters:y2(h.slice(0,1).concat(h.slice(3)))}),n},y2=n=>Ee(n,s=>tu(s,"/*")?s.substring(0,s.length-2):s),C2=(n,s)=>{const a=n.toString(),i=a.indexOf(")")+1,d=a.indexOf("("),g=a.substring(d+1,i-1).split(/,\s*/);return n.toFunctionAnnotation=()=>({name:s,parameters:y2(g)}),n},Ah=(n,s)=>{const a=s.toString(),i=a.indexOf(")")+1,d=a.indexOf("("),g=a.substring(d+1,i-1).split(/,\s*/);return n.toFunctionAnnotation=()=>({name:"OVERRIDE",parameters:y2(g.slice(1))}),n},J1=(n,s)=>{let a=null;return{cancel:()=>{a!==null&&(clearTimeout(a),a=null)},schedule:(...g)=>{a=setTimeout(()=>{n.apply(null,g),a=null},s)}}},S2=5,Rw=400,Mw=n=>{const s=n.raw;return s.touches===void 0||s.touches.length!==1?T.none():T.some(s.touches[0])},fk=(n,s)=>{const a=Math.abs(n.clientX-s.x),i=Math.abs(n.clientY-s.y);return a>S2||i>S2},gk=n=>{const s=Ht(),a=ct(!1),i=J1(x=>{n.triggerEvent(ww(),x),a.set(!0)},Rw),d=x=>(Mw(x).each(k=>{i.cancel();const D={x:k.clientX,y:k.clientY,target:x.target};i.schedule(x),a.set(!1),s.set(D)}),T.none()),g=x=>(i.cancel(),Mw(x).each(k=>{s.on(D=>{fk(k,D)&&s.clear()})}),T.none()),h=x=>{i.cancel();const k=D=>Vn(D.target,x.target);return s.get().filter(k).map(D=>a.get()?(x.prevent(),!1):n.triggerEvent(bc(),x))},C=hd([{key:pd(),value:d},{key:bd(),value:g},{key:gc(),value:h}]);return{fireIfReady:(x,k)=>mt(C,k).bind(D=>D(x))}};var Bm;(function(n){n.OnFocusMode="onFocus",n.OnEnterOrSpaceMode="onEnterOrSpace",n.OnApiMode="onApi"})(Bm||(Bm={}));const Q1="placeholder",_h=Hc.generate([{single:["required","valueThunk"]},{multiple:["required","valueThunks"]}]),Va=n=>In(n,"uiType"),bs=(n,s,a,i)=>n.exists(d=>d!==a.owner)?_h.single(!0,te(a)):mt(i,a.name).fold(()=>{throw new Error("Unknown placeholder component: "+a.name+` +Known: [`+Bn(i)+`] +Namespace: `+n.getOr("none")+` +Spec: `+JSON.stringify(a,null,2))},d=>d.replace()),bu=(n,s,a,i)=>Va(a)&&a.uiType===Q1?bs(n,s,a,i):_h.single(!1,te(a)),Cd=(n,s,a,i)=>bu(n,s,a,i).fold((g,h)=>{const C=Va(a)?h(s,a.config,a.validated):h(s),S=mt(C,"components").getOr([]),x=ie(S,k=>Cd(n,s,k,i));return[{...C,components:x}]},(g,h)=>{if(Va(a)){const C=h(s,a.config,a.validated);return a.validated.preprocess.getOr(Qt)(C)}else return h(s)}),Nm=(n,s,a,i)=>ie(a,d=>Cd(n,s,d,i)),e0=(n,s)=>{let a=!1;const i=()=>a,d=()=>{if(a)throw new Error("Trying to use the same placeholder more than once: "+n);return a=!0,s},g=()=>s.fold((h,C)=>h,(h,C)=>h);return{name:te(n),required:g,used:i,replace:d}},t0=(n,s,a,i)=>{const d=jo(i,(h,C)=>e0(C,h)),g=Nm(n,s,a,d);return Fo(d,h=>{if(h.used()===!1&&h.required())throw new Error("Placeholder: "+h.name()+` was not found in components list +Namespace: `+n.getOr("none")+` +Components: `+JSON.stringify(s.components,null,2))}),g},Pm=_h.single,n0=_h.multiple,w2=te(Q1),o0=Hc.generate([{required:["data"]},{external:["data"]},{optional:["data"]},{group:["data"]}]),vu=ae("factory",{sketch:Qt}),Oh=ae("schema",[]),Wf=Te("name"),s0=Js("pname","pname",uo(n=>""),Xs()),hk=Lr("schema",()=>[Dn("preprocess")]),r0=ae("defaults",te({})),Dh=ae("overrides",te({})),Sd=Et([vu,Oh,Wf,s0,r0,Dh]),pk=Et([vu,Oh,Wf,r0,Dh]),bk=Et([vu,Oh,Wf,s0,r0,Dh]),Bw=Et([vu,hk,Wf,Te("unit"),s0,r0,Dh]),x2=n=>n.fold(T.some,T.none,T.some,T.some),Rh=n=>{const s=a=>a.name;return n.fold(s,s,s,s)},Nw=n=>n.fold(Qt,Qt,Qt,Qt),El=(n,s)=>a=>{const i=Ir("Converting part type",s,a);return n(i)},Vr=El(o0.required,Sd),Ar=El(o0.external,pk),vc=El(o0.optional,bk),Mh=El(o0.group,Bw),E2=te("entirety");var Pw=Object.freeze({__proto__:null,required:Vr,external:Ar,optional:vc,group:Mh,asNamedPart:x2,name:Rh,asCommon:Nw,original:E2});const wd=(n,s,a,i)=>so(s.defaults(n,a,i),a,{uid:n.partUids[s.name]},s.overrides(n,a,i)),xd=(n,s,a)=>{const i={},d={};return Qe(a,g=>{g.fold(h=>{i[h.pname]=Pm(!0,(C,S,x)=>h.factory.sketch(wd(C,h,S,x)))},h=>{const C=s.parts[h.name];d[h.name]=te(h.factory.sketch(wd(s,h,C[E2()]),C))},h=>{i[h.pname]=Pm(!1,(C,S,x)=>h.factory.sketch(wd(C,h,S,x)))},h=>{i[h.pname]=n0(!0,(C,S,x)=>{const k=C[h.name];return Ee(k,D=>h.factory.sketch(so(h.defaults(C,D,x),D,h.overrides(C,D))))})})}),{internals:te(i),externals:te(d)}},T2=(n,s)=>{const a={};return Qe(s,i=>{x2(i).each(d=>{const g=Bh(n,d.pname);a[d.name]=h=>{const C=Ir("Part: "+d.name+" in "+n,Et(d.schema),h);return{...g,config:h,validated:C}}})}),a},Bh=(n,s)=>({uiType:w2(),owner:n,name:s}),jf=(n,s,a)=>({uiType:w2(),owner:n,name:s,config:a,validated:{}}),$w=n=>ie(n,s=>s.fold(T.none,T.some,T.none,T.none).map(a=>Li(a.name,a.schema.concat([v2(E2())]))).toArray()),Fw=n=>Ee(n,Rh),Ed=(n,s,a)=>xd(n,s,a),Vi=(n,s,a)=>t0(T.some(n),s,s.components,a),Zn=(n,s,a)=>{const i=s.partUids[a];return n.getSystem().getByUid(i).toOptional()},Po=(n,s,a)=>Zn(n,s,a).getOrDie("Could not find part: "+a),$m=(n,s,a)=>{const i={},d=s.partUids,g=n.getSystem();return Qe(a,h=>{i[h]=te(g.getByUid(d[h]))}),i},Ur=(n,s)=>{const a=n.getSystem();return jo(s.partUids,(i,d)=>te(a.getByUid(i)))},Iw=n=>Bn(n.partUids),k2=(n,s,a)=>{const i={},d=s.partUids,g=n.getSystem();return Qe(a,h=>{i[h]=te(g.getByUid(d[h]).getOrDie())}),i},Fm=(n,s)=>{const a=Fw(s);return hd(Ee(a,i=>({key:i,value:n+"-"+i})))},ni=n=>Js("partUids","partUids",ir(s=>Fm(s.uid,n)),Xs());var oi=Object.freeze({__proto__:null,generate:T2,generateOne:jf,schemas:$w,names:Fw,substitutes:Ed,components:Vi,defaultUids:Fm,defaultUidsSchema:ni,getAllParts:Ur,getAllPartNames:Iw,getPart:Zn,getPartOrDie:Po,getParts:$m,getPartsOrDie:k2});const ya=["valignCentre","alignLeft","alignRight","alignCentre","top","bottom","left","right","inset"],yc=(n,s,a,i=1)=>{const d=n*i,g=s*i,h=S=>mt(a,S).getOr([]),C=(S,x,k)=>{const D=ft(ya,k);return{offset:Ln(S,x),classesOn:ie(k,h),classesOff:ie(D,h)}};return{southeast:()=>C(-n,s,["top","alignLeft"]),southwest:()=>C(n,s,["top","alignRight"]),south:()=>C(-n/2,s,["top","alignCentre"]),northeast:()=>C(-n,-s,["bottom","alignLeft"]),northwest:()=>C(n,-s,["bottom","alignRight"]),north:()=>C(-n/2,-s,["bottom","alignCentre"]),east:()=>C(n,-s/2,["valignCentre","left"]),west:()=>C(-n,-s/2,["valignCentre","right"]),insetNortheast:()=>C(d,g,["top","alignLeft","inset"]),insetNorthwest:()=>C(-d,g,["top","alignRight","inset"]),insetNorth:()=>C(-d/2,g,["top","alignCentre","inset"]),insetSoutheast:()=>C(d,-g,["bottom","alignLeft","inset"]),insetSouthwest:()=>C(-d,-g,["bottom","alignRight","inset"]),insetSouth:()=>C(-d/2,-g,["bottom","alignCentre","inset"]),insetEast:()=>C(-d,-g/2,["valignCentre","right","inset"]),insetWest:()=>C(d,-g/2,["valignCentre","left","inset"])}},Nh=()=>yc(0,0,{}),Ds=(n,s,a,i,d,g,h,C=!1)=>({x:n,y:s,bubble:a,direction:i,placement:d,restriction:g,label:`${h}-${d}`,alwaysFit:C}),si=Hc.generate([{southeast:[]},{southwest:[]},{northeast:[]},{northwest:[]},{south:[]},{north:[]},{east:[]},{west:[]}]),A2=(n,s,a,i,d,g,h,C,S)=>n.fold(s,a,i,d,g,h,C,S),Ph=(n,s,a,i)=>n.fold(s,s,i,i,s,i,a,a),$h=(n,s,a,i)=>n.fold(s,i,s,i,a,a,s,i),a0=si.southeast,Fh=si.southwest,c0=si.northeast,Td=si.northwest,Tl=si.south,i0=si.north,Ih=si.east,_2=si.west,Gf=(n,s)=>{switch(s){case 1:return n.x;case 0:return n.x+n.width;case 2:return n.y;case 3:return n.y+n.height}},as=(n,s)=>iv(["left","right","top","bottom"],a=>mt(s,a).map(i=>Gf(n,i))),vk=(n,s,a)=>{const i=(S,x)=>s[S].map(k=>{const D=S==="top"||S==="bottom",N=D?a.top:a.left,L=(S==="left"||S==="top"?Math.max:Math.min)(k,x)+N;return D?Jr(L,n.y,n.bottom):Jr(L,n.x,n.right)}).getOr(x),d=i("left",n.x),g=i("top",n.y),h=i("right",n.right),C=i("bottom",n.bottom);return _o(d,g,h-d,C-g)},kd="layout",O2=n=>n.x,D2=(n,s)=>n.x+n.width/2-s.width/2,qf=(n,s)=>n.x+n.width-s.width,ri=(n,s)=>n.y-s.height,R2=n=>n.y+n.height,Lw=(n,s)=>n.y+n.height/2-s.height/2,Hw=n=>n.x+n.width,Lh=(n,s)=>n.x-s.width,cs=(n,s,a)=>Ds(O2(n),R2(n),a.southeast(),a0(),"southeast",as(n,{left:1,top:3}),kd),Xo=(n,s,a)=>Ds(qf(n,s),R2(n),a.southwest(),Fh(),"southwest",as(n,{right:0,top:3}),kd),er=(n,s,a)=>Ds(O2(n),ri(n,s),a.northeast(),c0(),"northeast",as(n,{left:1,bottom:2}),kd),Ls=(n,s,a)=>Ds(qf(n,s),ri(n,s),a.northwest(),Td(),"northwest",as(n,{right:0,bottom:2}),kd),Rs=(n,s,a)=>Ds(D2(n,s),ri(n,s),a.north(),i0(),"north",as(n,{bottom:2}),kd),Jo=(n,s,a)=>Ds(D2(n,s),R2(n),a.south(),Tl(),"south",as(n,{top:3}),kd),Hh=(n,s,a)=>Ds(Hw(n),Lw(n,s),a.east(),Ih(),"east",as(n,{left:0}),kd),M2=(n,s,a)=>Ds(Lh(n,s),Lw(n,s),a.west(),_2(),"west",as(n,{right:1}),kd),B2=()=>[cs,Xo,er,Ls,Jo,Rs,Hh,M2],ai=()=>[Xo,cs,Ls,er,Jo,Rs,Hh,M2],N2=()=>[er,Ls,cs,Xo,Rs,Jo],l0=()=>[Ls,er,Xo,cs,Rs,Jo],P2=()=>[cs,Xo,er,Ls,Jo,Rs],$2=()=>[Xo,cs,Ls,er,Jo,Rs],F2="data-alloy-placement",I2=(n,s)=>{wt(n,F2,s)},L2=n=>js(n,F2),yk=n=>io(n,F2),kl="layout-inset",H2=n=>n.x,Kf=(n,s)=>n.x+n.width/2-s.width/2,u0=(n,s)=>n.x+n.width-s.width,yu=n=>n.y,Yf=(n,s)=>n.y+n.height-s.height,z2=(n,s)=>n.y+n.height/2-s.height/2,Ad=(n,s,a)=>Ds(u0(n,s),Yf(n,s),a.insetSouthwest(),Td(),"southwest",as(n,{right:0,bottom:3}),kl),Xf=(n,s,a)=>Ds(H2(n),Yf(n,s),a.insetSoutheast(),c0(),"southeast",as(n,{left:1,bottom:3}),kl),_d=(n,s,a)=>Ds(u0(n,s),yu(n),a.insetNorthwest(),Fh(),"northwest",as(n,{right:0,top:2}),kl),Ui=(n,s,a)=>Ds(H2(n),yu(n),a.insetNortheast(),a0(),"northeast",as(n,{left:1,top:2}),kl),Ca=(n,s,a)=>Ds(Kf(n,s),yu(n),a.insetNorth(),Tl(),"north",as(n,{top:2}),kl),Jf=(n,s,a)=>Ds(Kf(n,s),Yf(n,s),a.insetSouth(),i0(),"south",as(n,{bottom:3}),kl),zh=(n,s,a)=>Ds(u0(n,s),z2(n,s),a.insetEast(),_2(),"east",as(n,{right:0}),kl),V2=(n,s,a)=>Ds(H2(n),z2(n,s),a.insetWest(),Ih(),"west",as(n,{left:1}),kl),Od=n=>{switch(n){case"north":return Ca;case"northeast":return Ui;case"northwest":return _d;case"south":return Jf;case"southeast":return Xf;case"southwest":return Ad;case"east":return zh;case"west":return V2}},vs=(n,s,a,i,d)=>L2(i).map(Od).getOr(Ca)(n,s,a,i,d),d0=n=>{switch(n){case"north":return Jf;case"northeast":return Xf;case"northwest":return Ad;case"south":return Ca;case"southeast":return Ui;case"southwest":return _d;case"east":return V2;case"west":return zh}},he=(n,s,a,i,d)=>L2(i).map(d0).getOr(Ca)(n,s,a,i,d),Vh=(n,s)=>{sh(n,Math.floor(s))},zw=te((n,s)=>{Vh(n,s),So(n,{"overflow-x":"hidden","overflow-y":"auto"})}),Qf=te((n,s)=>{Vh(n,s)}),Uh=te((n,s)=>{HT(n,Math.floor(s))});var ur;(function(n){n.TopToBottom="toptobottom",n.BottomToTop="bottomtotop"})(ur||(ur={}));const m0="data-alloy-vertical-dir",Vw=n=>O1(n,s=>ga(s)&&Ts(s,"data-alloy-vertical-dir")===ur.BottomToTop);var dr;(function(n){n[n.HighlightMenuAndItem=0]="HighlightMenuAndItem",n[n.HighlightJustMenu=1]="HighlightJustMenu",n[n.HighlightNone=2]="HighlightNone"})(dr||(dr={}));const Cc={init:()=>Ua({readState:te("No State required")})},Ua=n=>n,Uw={can:Tt,abort:Fn,run:q},eg=n=>{if(!hn(n,"can")&&!hn(n,"abort")&&!hn(n,"run"))throw new Error("EventHandler defined by: "+JSON.stringify(n,null,2)+" does not have can, abort, or run!");return{...Uw,...n}},Zw=(n,s)=>(...a)=>ho(n,(i,d)=>i&&s(d).apply(void 0,a),!0),Ck=(n,s)=>(...a)=>ho(n,(i,d)=>i||s(d).apply(void 0,a),!1),Ww=n=>Dt(n)?{can:Tt,abort:Fn,run:n}:n,Sk=n=>{const s=Zw(n,d=>d.can),a=Ck(n,d=>d.abort);return{can:s,abort:a,run:(...d)=>{Qe(n,g=>{g.run.apply(void 0,d)})}}},Gt=(n,s)=>{f0(n,n.element,s,{})},gt=(n,s,a)=>{f0(n,n.element,s,a)},Dd=n=>{Gt(n,Ha())},U2=(n,s,a)=>{f0(n,s,a,{})},f0=(n,s,a,i)=>{const d={target:s,...i};n.getSystem().triggerEvent(a,s,d)},wk=(n,s,a,i)=>{const d={...i,target:s};n.getSystem().triggerEvent(a,s,d)},g0=(n,s,a,i)=>{n.getSystem().triggerEvent(a,s,i.event)},ao=n=>hd(n),Zh=(n,s)=>({key:n,value:eg({abort:s})}),h0=(n,s)=>({key:n,value:eg({can:s})}),jw=n=>({key:n,value:eg({run:(s,a)=>{a.event.prevent()}})}),be=(n,s)=>({key:n,value:eg({run:s})}),p0=(n,s,a)=>({key:n,value:eg({run:(i,d)=>{s.apply(void 0,[i,d].concat(a))}})}),Gw=n=>s=>be(n,s),Wh=n=>s=>({key:n,value:eg({run:(a,i)=>{Qv(a,i)&&s(a,i)}})}),Z2=(n,s)=>be(n,(a,i)=>{a.getSystem().getByUid(s).each(d=>{g0(d,d.element,n,i)})}),Rd=(n,s,a)=>{const i=s.partUids[a];return Z2(n,i)},Md=(n,s)=>be(n,(a,i)=>{const d=i.event,g=a.getSystem().getByDom(d.target).getOrThunk(()=>Xc(d.target,C=>a.getSystem().getByDom(C).toOptional(),Fn).getOr(a));s(a,g,i)}),ci=n=>be(n,(s,a)=>{a.cut()}),Im=n=>be(n,(s,a)=>{a.stop()}),sa=(n,s)=>Wh(n)(s),Hn=Wh(zi()),Zi=Wh(wl()),qw=Wh(q1()),Cu=Gw(Ha()),ii=n=>({classes:ma(n.classes)?[]:n.classes,attributes:ma(n.attributes)?{}:n.attributes,styles:ma(n.styles)?{}:n.styles}),xk=(n,s)=>({...n,attributes:{...n.attributes,...s.attributes},styles:{...n.styles,...s.styles},classes:n.classes.concat(s.classes)}),Kw=(n,s,a)=>Cu(i=>{a(i,n,s)}),b0=(n,s,a)=>qw((i,d)=>{a(i,n,s)}),fR=(n,s,a,i,d,g)=>{const h=dc(n),C=oa(s,[ak("config",n)]);return Xw(h,C,s,a,i,d,g)},gR=(n,s,a,i,d,g)=>{const h=n,C=oa(s,[Qc("config",n)]);return Xw(h,C,s,a,i,d,g)},mr=(n,s,a)=>mk((d,...g)=>{const h=[d].concat(g);return d.config({name:te(n)}).fold(()=>{throw new Error("We could not find any behaviour configuration for: "+n+". Using API: "+a)},C=>{const S=Array.prototype.slice.call(h,1);return s.apply(void 0,[d,C.config,C.state].concat(S))})},a,s),Yw=n=>({key:n,value:void 0}),Xw=(n,s,a,i,d,g,h)=>{const C=D=>hn(D,a)?D[a]():T.none(),S=jo(d,(D,N)=>mr(a,D,N)),k={...jo(g,(D,N)=>C2(D,N)),...S,revoke:on(Yw,a),config:D=>{const N=Ir(a+"-config",n,D);return{key:a,value:{config:N,me:k,configAsRaw:fl(()=>Ir(a+"-config",n,D)),initialConfig:D,state:h}}},schema:te(s),exhibit:(D,N)=>xi(C(D),mt(i,"exhibit"),(F,L)=>L(N,F.config,F.state)).getOrThunk(()=>ii({})),name:te(a),handlers:D=>C(D).map(N=>mt(i,"events").getOr(()=>({}))(N.config,N.state)).getOr({})};return k},De=n=>hd(n),Ek=dc([Te("fields"),Te("name"),ae("active",{}),ae("apis",{}),ae("state",Cc),ae("extra",{})]),Hs=n=>{const s=Ir("Creating behaviour: "+n.name,Ek,n);return fR(s.fields,s.name,s.active,s.apis,s.extra,s.state)},W2=dc([Te("branchKey"),Te("branches"),Te("name"),ae("active",{}),ae("apis",{}),ae("state",Cc),ae("extra",{})]),Jw=n=>{const s=Ir("Creating behaviour: "+n.name,W2,n);return gR(Tr(s.branchKey,s.branches),s.name,s.active,s.apis,s.extra,s.state)},j2=te(void 0),G2=(n,s)=>{const a=ao(s);return Hs({fields:[Te("enabled")],name:n,active:{events:te(a)}})},Nt=(n,s)=>{const a=G2(n,s);return{key:n,value:{config:{},me:a,configAsRaw:te({}),initialConfig:{},state:Cc}}},q2=n=>({init:()=>{const a=ct(n);return{get:()=>a.get(),set:C=>a.set(C),clear:()=>a.set(n),readState:()=>a.get()}}}),K2=(n,s)=>{s.ignore||(Ps(n.element),s.onFocus(n))};var ex=Object.freeze({__proto__:null,focus:K2,blur:(n,s)=>{s.ignore||Do(n.element)},isFocused:n=>qc(n.element)}),Y2=Object.freeze({__proto__:null,exhibit:(n,s)=>{const a=s.ignore?{}:{attributes:{tabindex:"-1"}};return ii(a)},events:n=>ao([be(kr(),(s,a)=>{K2(s,n),a.stop()})].concat(n.stopMousedown?[be(zr(),(s,a)=>{a.event.prevent()})]:[]))}),_k=[yt("onFocus"),ae("stopMousedown",!1),ae("ignore",!1)];const Pt=Hs({fields:_k,name:"focusing",active:Y2,apis:ex}),tx=[8],Bd=[9],Sc=[13],v0=[27],ra=[32],y0=[37],jh=[38],C0=[39],tg=[40],ng=te("tooltipping.close.all"),Wi=te("dismiss.popups"),fr=te("reposition.popups"),Su=te("mouse.released"),Ok=(n,s,a)=>{const i=Nr(n.slice(0,s)),d=Nr(n.slice(s+1));return Bt(i.concat(d),a)},X2=(n,s,a)=>{const i=Nr(n.slice(0,s));return Bt(i,a)},nx=(n,s,a)=>{const i=n.slice(0,s),d=n.slice(s+1);return Bt(d.concat(i),a)},Lm=(n,s,a)=>{const i=n.slice(s+1);return Bt(i,a)},an=n=>s=>{const a=s.raw;return go(n,a.which)},li=n=>s=>Gu(n,a=>a(s)),wu=n=>n.raw.shiftKey===!0,Dk=n=>n.raw.ctrlKey===!0,og=pe(wu),un=(n,s)=>({matches:n,classification:s}),Rk=(n,s)=>Bt(n,i=>i.matches(s)).map(i=>i.classification),ox=(n,s,a,i)=>{const d=Ks(n.element,"."+s.highlightClass);Qe(d,g=>{Br(i,C=>Vn(C.element,g))||(wo(g,s.highlightClass),n.getSystem().getByDom(g).each(C=>{s.onDehighlight(n,C),Gt(C,Vf())}))})},hR=(n,s,a)=>ox(n,s,a,[]),pR=(n,s,a,i)=>{J2(n,s,a,i)&&(wo(i.element,s.highlightClass),s.onDehighlight(n,i),Gt(i,Vf()))},sg=(n,s,a,i)=>{ox(n,s,a,[i]),J2(n,s,a,i)||(Un(i.element,s.highlightClass),s.onHighlight(n,i),Gt(i,Th()))},sx=(n,s,a)=>{Gh(n,s).each(i=>{sg(n,s,a,i)})},bR=(n,s,a)=>{Q2(n,s).each(i=>{sg(n,s,a,i)})},S0=(n,s,a,i)=>{rx(n,s,a,i).fold(d=>{throw d},d=>{sg(n,s,a,d)})},Mk=(n,s,a,i)=>{const d=ax(n,s);Bt(d,i).each(h=>{sg(n,s,a,h)})},J2=(n,s,a,i)=>qo(i.element,s.highlightClass),Bk=(n,s,a)=>Nn(n.element,"."+s.highlightClass).bind(i=>n.getSystem().getByDom(i).toOptional()),rx=(n,s,a,i)=>{const d=Ks(n.element,"."+s.itemClass);return T.from(d[i]).fold(()=>kt.error(new Error("No element found with index "+i)),n.getSystem().getByDom)},Gh=(n,s,a)=>Nn(n.element,"."+s.itemClass).bind(i=>n.getSystem().getByDom(i).toOptional()),Q2=(n,s,a)=>{const i=Ks(n.element,"."+s.itemClass);return(i.length>0?T.some(i[i.length-1]):T.none()).bind(g=>n.getSystem().getByDom(g).toOptional())},qh=(n,s,a,i)=>{const d=Ks(n.element,"."+s.itemClass);return qn(d,h=>qo(h,s.highlightClass)).bind(h=>{const C=fm(h,i,0,d.length-1);return n.getSystem().getByDom(d[C]).toOptional()})},ey=(n,s,a)=>qh(n,s,a,-1),Nk=(n,s,a)=>qh(n,s,a,1),ax=(n,s,a)=>{const i=Ks(n.element,"."+s.itemClass);return gm(Ee(i,d=>n.getSystem().getByDom(d).toOptional()))};var ty=Object.freeze({__proto__:null,dehighlightAll:hR,dehighlight:pR,highlight:sg,highlightFirst:sx,highlightLast:bR,highlightAt:S0,highlightBy:Mk,isHighlighted:J2,getHighlighted:Bk,getFirst:Gh,getLast:Q2,getPrevious:ey,getNext:Nk,getCandidates:ax}),cx=[Te("highlightClass"),Te("itemClass"),yt("onHighlight"),yt("onDehighlight")];const bn=Hs({fields:cx,name:"highlighting",apis:ty}),ix=(n,s,a)=>{s.exists(d=>a.exists(g=>Vn(g,d)))||gt(n,zf(),{prevFocus:s,newFocus:a})},ny=()=>{const n=a=>rs(a.element);return{get:n,set:(a,i)=>{const d=n(a);a.getSystem().triggerFocus(i,a.element);const g=n(a);ix(a,d,g)}}},oy=()=>{const n=a=>bn.getHighlighted(a).map(i=>i.element);return{get:n,set:(a,i)=>{const d=n(a);a.getSystem().getByDom(i).fold(q,h=>{bn.highlight(a,h)});const g=n(a);ix(a,d,g)}}},Nd=(n,s,a,i,d)=>{const g=()=>n.concat([ae("focusManager",ny()),La("focusInside","onFocus",km(x=>go(["onFocus","onEnterOrSpace","onApi"],x)?kt.value(x):kt.error("Invalid value for focusInside"))),Kn("handler",S),Kn("state",s),Kn("sendFocusIn",d)]),h=(x,k,D,N,F)=>{const L=D(x,k,N,F);return Rk(L,k.event).bind(W=>W(x,k,N,F))},S={schema:g,processKey:h,toEvents:(x,k)=>{const D=x.focusInside!==Bm.OnFocusMode?T.none():d(x).map(L=>be(kr(),(W,j)=>{L(W,x,k),j.stop()})),N=(L,W)=>{const j=an(ra.concat(Sc))(W.event);x.focusInside===Bm.OnEnterOrSpaceMode&&j&&Qv(L,W)&&d(x).each(V=>{V(L,x,k),W.stop()})},F=[be(Os(),(L,W)=>{h(L,W,a,x,k).fold(()=>{N(L,W)},j=>{W.stop()})}),be(Om(),(L,W)=>{h(L,W,i,x,k).each(j=>{W.stop()})})];return ao(D.toArray().concat(F))}};return S},lx=n=>{const s=[Dn("onEscape"),Dn("onEnter"),ae("selector",'[data-alloy-tabstop="true"]:not(:disabled)'),ae("firstTabstop",0),ae("useTabstopAt",Tt),Dn("visibilitySelector")].concat([n]),a=(V,K)=>{const Q=V.visibilitySelector.bind(le=>xr(K,le)).getOr(K);return ks(Q)>0},i=(V,K)=>{const Q=Ks(V.element,K.selector),le=oo(Q,me=>a(K,me));return T.from(le[K.firstTabstop])},d=(V,K)=>K.focusManager.get(V).bind(Q=>xr(Q,K.selector)),g=(V,K)=>a(V,K)&&V.useTabstopAt(K),h=(V,K,Q)=>{i(V,K).each(le=>{K.focusManager.set(V,le)})},C=(V,K,Q,le,me)=>me(K,Q,Fe=>g(le,Fe)).fold(()=>le.cyclic?T.some(!0):T.none(),Fe=>(le.focusManager.set(V,Fe),T.some(!0))),S=(V,K,Q,le)=>{const me=oo(Ks(V.element,Q.selector),Fe=>a(Q,Fe));return d(V,Q).bind(Fe=>qn(me,on(Vn,Fe)).bind(ve=>C(V,me,ve,Q,le)))},x=(V,K,Q)=>{const le=Q.cyclic?Ok:X2;return S(V,K,Q,le)},k=(V,K,Q)=>{const le=Q.cyclic?nx:Lm;return S(V,K,Q,le)},D=V=>Nv(V).bind(sn).exists(K=>Vn(K,V)),N=(V,K,Q)=>d(V,Q).filter(le=>!Q.useTabstopAt(le)).bind(le=>(D(le)?x:k)(V,K,Q)),F=(V,K,Q)=>Q.onEnter.bind(le=>le(V,K)),L=(V,K,Q)=>(V.getSystem().broadcastOn([ng()],{closedTooltip:()=>{K.stop()}}),K.isStopped()?T.none():Q.onEscape.bind(le=>le(V,K))),W=te([un(li([wu,an(Bd)]),x),un(an(Bd),k),un(li([og,an(Sc)]),F)]),j=te([un(an(v0),L),un(an(Bd),N)]);return Nd(s,Cc.init,W,j,()=>T.some(h))};var Pk=lx(Lr("cyclic",Fn)),$k=lx(Lr("cyclic",Tt));const Hm=n=>yr("input")(n)&&Ts(n,"type")!=="radio"||yr("textarea")(n),ux=(n,s,a)=>(U2(n,a,Ha()),T.some(!0)),rg=(n,s,a)=>Hm(a)&&an(ra)(s.event)?T.none():ux(n,s,a),Kh=(n,s)=>T.some(!0),dx=[ae("execute",rg),ae("useSpace",!1),ae("useEnter",!0),ae("useControlEnter",!1),ae("useDown",!1)],Al=(n,s,a)=>a.execute(n,s,n.element),sy=(n,s,a,i)=>{const d=a.useSpace&&!Hm(n.element)?ra:[],g=a.useEnter?Sc:[],h=a.useDown?tg:[],C=d.concat(g).concat(h);return[un(an(C),Al)].concat(a.useControlEnter?[un(li([Dk,an(Sc)]),Al)]:[])},mx=(n,s,a,i)=>a.useSpace&&!Hm(n.element)?[un(an(ra),Kh)]:[];var Fk=Nd(dx,Cc.init,sy,mx,()=>T.none());const w0=()=>{const n=Ht();return Ua({readState:()=>n.get().map(d=>({numRows:String(d.numRows),numColumns:String(d.numColumns)})).getOr({numRows:"?",numColumns:"?"}),setGridSize:(d,g)=>{n.set({numRows:d,numColumns:g})},getNumRows:()=>n.get().map(d=>d.numRows),getNumColumns:()=>n.get().map(d=>d.numColumns)})};var fx=Object.freeze({__proto__:null,flatgrid:w0,init:n=>n.state(n)});const gx=n=>(s,a,i,d)=>{const g=n(s.element);return ry(g,s,a,i,d)},Yh=(n,s)=>{const a=zv(n,s);return gx(a)},Xh=(n,s)=>{const a=zv(s,n);return gx(a)},x0=n=>(s,a,i,d)=>ry(n,s,a,i,d),ry=(n,s,a,i,d)=>i.focusManager.get(s).bind(h=>n(s.element,h,i,d)).map(h=>(i.focusManager.set(s,h),!0)),ag=x0,Jh=x0,xu=x0,Qh=(n,s)=>qn(n,s).map(a=>({index:a,candidates:n})),ay=(n,s,a)=>{const i=h=>Vn(h,s),d=Ks(n,a),g=oo(d,rh);return Qh(g,i)},Ye=(n,s)=>qn(n,a=>Vn(s,a)),ep=(n,s,a,i)=>{const d=Math.floor(s/a),g=s%a;return i(d,g).bind(h=>{const C=h.row*a+h.column;return C>=0&&Cep(n,s,i,(g,h)=>{const S=g===a-1?n.length-g*i:i,x=fm(h,d,0,S-1);return T.some({row:g,column:x})}),hx=(n,s,a,i,d)=>ep(n,s,i,(g,h)=>{const C=fm(g,d,0,a-1),x=C===a-1?n.length-C*i:i,k=Jr(h,0,x-1);return T.some({row:C,column:k})}),Ik=(n,s,a,i)=>cy(n,s,a,i,1),Lk=(n,s,a,i)=>cy(n,s,a,i,-1),px=(n,s,a,i)=>hx(n,s,a,i,-1),E0=(n,s,a,i)=>hx(n,s,a,i,1),cg=[Te("selector"),ae("execute",rg),va("onEscape"),ae("captureTab",!1),ti()],Pd=(n,s,a)=>{Nn(n.element,s.selector).each(i=>{s.focusManager.set(n,i)})},T0=(n,s)=>s.focusManager.get(n).bind(a=>xr(a,s.selector)),zs=(n,s,a,i)=>T0(n,a).bind(d=>a.execute(n,s,d)),_l=n=>(s,a,i,d)=>ay(s,a,i.selector).bind(g=>n(g.candidates,g.index,d.getNumRows().getOr(i.initSize.numRows),d.getNumColumns().getOr(i.initSize.numColumns))),bx=(n,s,a)=>a.captureTab?T.some(!0):T.none(),vx=(n,s,a)=>a.onEscape(n,s),yx=_l(Lk),Cx=_l(Ik),Hk=_l(px),Sx=_l(E0),k0=te([un(an(y0),Yh(yx,Cx)),un(an(C0),Xh(yx,Cx)),un(an(jh),ag(Hk)),un(an(tg),Jh(Sx)),un(li([wu,an(Bd)]),bx),un(li([og,an(Bd)]),bx),un(an(ra.concat(Sc)),zs)]),iy=te([un(an(v0),vx),un(an(ra),Kh)]);var tp=Nd(cg,w0,k0,iy,()=>T.some(Pd));const A0=(n,s,a,i,d)=>{const g=C=>Wc(C)==="button"&&Ts(C,"disabled")==="disabled",h=(C,S,x)=>d(C,S,i,0,x.length-1,x[S],k=>g(x[k])?h(C,k,x):T.from(x[k]));return ay(n,a,s).bind(C=>{const S=C.index,x=C.candidates;return h(S,S,x)})},wx=(n,s,a,i)=>A0(n,s,a,i,(d,g,h,C,S,x,k)=>{const D=Jr(g+h,C,S);return D===d?T.from(x):k(D)}),np=(n,s,a,i)=>A0(n,s,a,i,(d,g,h,C,S,x,k)=>{const D=fm(g,h,C,S);return D===d?T.none():k(D)}),zk=[Te("selector"),ae("getInitial",T.none),ae("execute",rg),va("onEscape"),ae("executeOnMove",!1),ae("allowVertical",!0),ae("allowHorizontal",!0),ae("cycles",!0)],Vk=(n,s)=>s.focusManager.get(n).bind(a=>xr(a,s.selector)),_0=(n,s,a)=>Vk(n,a).bind(i=>a.execute(n,s,i)),ly=(n,s,a)=>{s.getInitial(n).orThunk(()=>Nn(n.element,s.selector)).each(i=>{s.focusManager.set(n,i)})},op=(n,s,a)=>(a.cycles?np:wx)(n,a.selector,s,-1),uy=(n,s,a)=>(a.cycles?np:wx)(n,a.selector,s,1),xx=n=>(s,a,i,d)=>n(s,a,i,d).bind(()=>i.executeOnMove?_0(s,a,i):T.some(!0)),Uk=(n,s,a)=>a.onEscape(n,s),ig=(n,s,a,i)=>{const d=[...a.allowHorizontal?y0:[]].concat(a.allowVertical?jh:[]),g=[...a.allowHorizontal?C0:[]].concat(a.allowVertical?tg:[]);return[un(an(d),xx(Yh(op,uy))),un(an(g),xx(Xh(op,uy))),un(an(Sc),_0),un(an(ra),_0)]},Zk=te([un(an(ra),Kh),un(an(v0),Uk)]);var Wk=Nd(zk,Cc.init,ig,Zk,()=>T.some(ly));const O0=(n,s,a)=>T.from(n[s]).bind(i=>T.from(i[a]).map(d=>({rowIndex:s,columnIndex:a,cell:d}))),dy=(n,s,a,i)=>{const g=n[s].length,h=fm(a,i,0,g-1);return O0(n,s,h)},Ex=(n,s,a,i)=>{const d=fm(a,i,0,n.length-1),g=n[d].length,h=Jr(s,0,g-1);return O0(n,d,h)},jk=(n,s,a,i)=>{const g=n[s].length,h=Jr(a+i,0,g-1);return O0(n,s,h)},D0=(n,s,a,i)=>{const d=Jr(a+i,0,n.length-1),g=n[d].length,h=Jr(s,0,g-1);return O0(n,d,h)},Tx=(n,s,a)=>dy(n,s,a,1),R0=(n,s,a)=>dy(n,s,a,-1),kx=(n,s,a)=>Ex(n,a,s,-1),Ax=(n,s,a)=>Ex(n,a,s,1),lg=(n,s,a)=>jk(n,s,a,-1),M0=(n,s,a)=>jk(n,s,a,1),my=(n,s,a)=>D0(n,a,s,-1),Gk=(n,s,a)=>D0(n,a,s,1),B0=[Li("selectors",[Te("row"),Te("cell")]),ae("cycles",!0),ae("previousSelector",T.none),ae("execute",rg)],yR=(n,s,a)=>{s.previousSelector(n).orThunk(()=>{const d=s.selectors;return Nn(n.element,d.cell)}).each(d=>{s.focusManager.set(n,d)})},ug=(n,s,a)=>rs(n.element).bind(i=>a.execute(n,s,i)),fy=(n,s)=>Ee(n,a=>Ks(a,s.selectors.cell)),dg=(n,s)=>(a,i,d)=>{const g=d.cycles?n:s;return xr(i,d.selectors.row).bind(h=>{const C=Ks(h,d.selectors.cell);return Ye(C,i).bind(S=>{const x=Ks(a,d.selectors.row);return Ye(x,h).bind(k=>{const D=fy(x,d);return g(D,k,S).map(N=>N.cell)})})})},_x=dg(R0,lg),N0=dg(Tx,M0),qk=dg(kx,my),Kk=dg(Ax,Gk),Yk=te([un(an(y0),Yh(_x,N0)),un(an(C0),Xh(_x,N0)),un(an(jh),ag(qk)),un(an(tg),Jh(Kk)),un(an(ra.concat(Sc)),ug)]),P0=te([un(an(ra),Kh)]);var $0=Nd(B0,Cc.init,Yk,P0,()=>T.some(yR));const Ox=[Te("selector"),ae("execute",rg),ae("moveOnTab",!1)],gy=(n,s,a)=>a.focusManager.get(n).bind(i=>a.execute(n,s,i)),Xk=(n,s,a)=>{Nn(n.element,s.selector).each(i=>{s.focusManager.set(n,i)})},hy=(n,s,a)=>np(n,a.selector,s,-1),Eu=(n,s,a)=>np(n,a.selector,s,1),F0=(n,s,a,i)=>a.moveOnTab?xu(hy)(n,s,a,i):T.none(),Dx=(n,s,a,i)=>a.moveOnTab?xu(Eu)(n,s,a,i):T.none(),Rx=te([un(an(jh),xu(hy)),un(an(tg),xu(Eu)),un(li([wu,an(Bd)]),F0),un(li([og,an(Bd)]),Dx),un(an(Sc),gy),un(an(ra),gy)]),zm=te([un(an(ra),Kh)]);var Mx=Nd(Ox,Cc.init,Rx,zm,()=>T.some(Xk));const ji=[va("onSpace"),va("onEnter"),va("onShiftEnter"),va("onLeft"),va("onRight"),va("onTab"),va("onShiftTab"),va("onUp"),va("onDown"),va("onEscape"),ae("stopSpaceKeyup",!1),Dn("focusIn")],Jk=(n,s,a)=>[un(an(ra),a.onSpace),un(li([og,an(Sc)]),a.onEnter),un(li([wu,an(Sc)]),a.onShiftEnter),un(li([wu,an(Bd)]),a.onShiftTab),un(li([og,an(Bd)]),a.onTab),un(an(jh),a.onUp),un(an(tg),a.onDown),un(an(y0),a.onLeft),un(an(C0),a.onRight),un(an(ra),a.onSpace)],Bx=(n,s,a)=>[...a.stopSpaceKeyup?[un(an(ra),Kh)]:[],un(an(v0),a.onEscape)];var Qk=Nd(ji,Cc.init,Jk,Bx,n=>n.focusIn);const CR=Pk.schema(),eA=$k.schema(),tA=Wk.schema(),nA=tp.schema(),I0=$0.schema(),py=Fk.schema(),oA=Mx.schema(),Nx=Qk.schema();var by=Object.freeze({__proto__:null,acyclic:CR,cyclic:eA,flow:tA,flatgrid:nA,matrix:I0,execution:py,menu:oA,special:Nx});const sA=n=>hn(n,"setGridSize"),lt=Jw({branchKey:"mode",branches:by,name:"keying",active:{events:(n,s)=>n.handler.toEvents(n,s)},apis:{focusIn:(n,s,a)=>{s.sendFocusIn(s).fold(()=>{n.getSystem().triggerFocus(n.element,n.element)},i=>{i(n,s,a)})},setGridSize:(n,s,a,i,d)=>{sA(a)?a.setGridSize(i,d):console.error("Layout does not support setGridSize")}},state:fx}),mg=Ge("alloy-premade"),vy=n=>(Object.defineProperty(n.element.dom,mg,{value:n.uid,writable:!0}),gd(mg,n)),Px=n=>In(n.dom,mg),$x=n=>mt(n,mg),L0=n=>Ah((s,...a)=>n(s.getApis(),s,...a),n),yy=n=>n.getSystem().isConnected(),fg=n=>{Gt(n,wl());const s=n.components();Qe(s,fg)},Vm=n=>{const s=n.components();Qe(s,Vm),Gt(n,zi())},Fx=(n,s)=>{n.getSystem().addToWorld(s),pn(n.element)&&Vm(s)},Cy=n=>{fg(n),n.getSystem().removeFromWorld(n)},Sy=(n,s)=>{Ws(n.element,s.element)},Ix=n=>{Qe(n.components(),s=>Kc(s.element)),S1(n.element),n.syncComponents()},Lx=(n,s,a)=>{const i=n.components();Ix(n);const d=a(s),g=ft(i,d);Qe(g,h=>{fg(h),n.getSystem().removeFromWorld(h)}),Qe(d,h=>{yy(h)?Sy(n,h):(n.getSystem().addToWorld(h),Sy(n,h),pn(n.element)&&Vm(h))}),n.syncComponents()},rA=(n,s,a)=>{const i=n.components(),d=ie(s,C=>$x(C).toArray());Qe(i,C=>{go(d,C)||Cy(C)});const g=a(s),h=ft(i,g);Qe(h,C=>{yy(C)&&Cy(C)}),Qe(g,C=>{yy(C)||Fx(n,C)}),n.syncComponents()},$d=(n,s)=>{wy(n,s,Ws)},wy=(n,s,a)=>{n.getSystem().addToWorld(s),a(n.element,s.element),pn(n.element)&&Vm(s),n.syncComponents()},Um=n=>{fg(n),Kc(n.element),n.getSystem().removeFromWorld(n)},Gi=n=>{const s=ea(n.element).bind(a=>n.getSystem().getByDom(a).toOptional());Um(n),s.each(a=>{a.syncComponents()})},gg=n=>{const s=n.components();Qe(s,Um),S1(n.element),n.syncComponents()},Fd=(n,s)=>{Hx(n,s,Ws)},H0=(n,s)=>{Hx(n,s,ZS)},Hx=(n,s,a)=>{a(n,s.element);const i=Ai(s.element);Qe(i,d=>{s.getByDom(d).each(Vm)})},z0=n=>{const s=Ai(n.element);Qe(s,a=>{n.getByDom(a).each(fg)}),Kc(n.element)},Id=(n,s,a)=>td(n,s).map(d=>{if(a.exists(h=>!Vn(h,d))){const h=a.map(Wc).getOr("span"),C=Le.fromTag(h);return ym(d,C),C}else return d}),zx=(n,s,a)=>{a.fold(()=>Ws(n,s),i=>{Vn(i,s)||(ym(i,s),Kc(i))})},xy=(n,s,a)=>{const i=Ee(s,a),d=Ai(n);return Qe(d.slice(i.length),Kc),i},V0=(n,s,a,i)=>{const d=td(n,s),g=i(a,d),h=Id(n,s,d);return zx(n,g.element,h),g},U0=(n,s,a)=>xy(n,s,(i,d)=>V0(n,d,i,a)),aA=(n,s)=>xy(n,s,(a,i)=>{const d=td(n,i);return zx(n,a,d),a}),Vx=(n,s)=>{const a=ss(s),i=$s(a).bind(g=>{const h=C=>Vn(g,C);return h(s)?T.some(s):Vv(s,h)}),d=n(s);return i.each(g=>{$s(a).filter(h=>Vn(h,g)).fold(()=>{Ps(g)},q)}),d},cA=(n,s)=>{Vx(()=>{Lx(n,s,()=>Ee(s,n.getSystem().build))},n.element)},Ey=(n,s)=>{Vx(()=>{rA(n,s,()=>U0(n.element,s,n.getSystem().buildOrPatch))},n.element)},Z0=(n,s,a,i)=>{Cy(s);const d=V0(n.element,a,i,n.getSystem().buildOrPatch);Fx(n,d),n.syncComponents()},W0=(n,s,a)=>{const i=n.getSystem().build(a);wy(n,i,s)},Ux=(n,s,a,i)=>{Gi(s),W0(n,(d,g)=>Iv(d,g,a),i)},j0=(n,s,a,i)=>(s.reuseDom?Ey:cA)(n,i),Zx=(n,s,a,i)=>{W0(n,Ws,i)},G0=(n,s,a,i)=>{W0(n,Fv,i)},iA=(n,s,a,i)=>{const d=q0(n);Bt(d,h=>Vn(i.element,h.element)).each(Gi)},q0=(n,s)=>n.components(),Ld=(n,s,a,i,d)=>{const g=q0(n);return T.from(g[i]).map(h=>(d.fold(()=>Gi(h),C=>{(s.reuseDom?Z0:Ux)(n,h,i,C)}),h))};var lA=Object.freeze({__proto__:null,append:Zx,prepend:G0,remove:iA,replaceAt:Ld,replaceBy:(n,s,a,i,d)=>{const g=q0(n);return qn(g,i).bind(h=>Ld(n,s,a,h,d))},set:j0,contents:q0});const At=Hs({fields:[Qs("reuseDom",!0)],name:"replacing",apis:lA}),uA=(n,s,a)=>Vn(s,n.element)&&!Vn(s,a),Wx=ao([h0(kr(),(n,s)=>{const a=s.event,i=a.originator,d=a.target;return uA(n,i,d)?(console.warn(kr()+` did not get interpreted by the desired target. +Originator: `+pu(i)+` +Target: `+pu(d)+` +Check the `+kr()+" event handlers"),!1):!0})]);var dA=Object.freeze({__proto__:null,events:Wx});const ky=te("alloy-id-"),qi=te("data-alloy-id"),mA=ky(),jx=qi(),Gx=(n,s)=>{const a=Ge(mA+n);return Zm(s,a),a},Zm=(n,s)=>{Object.defineProperty(n.dom,jx,{value:s,writable:!0})},Tu=n=>{const s=ga(n)?n.dom[jx]:null;return T.from(s)},Wm=n=>Ge(n),sp=Qt,Ol=n=>{const s=d=>`The component must be in a context to execute: ${d}`+(n?` +`+pu(n().element)+" is not in context.":""),a=d=>()=>{throw new Error(s(d))},i=d=>()=>{console.warn(s(d))};return{debugInfo:te("fake"),triggerEvent:i("triggerEvent"),triggerFocus:i("triggerFocus"),triggerEscape:i("triggerEscape"),broadcast:i("broadcast"),broadcastOn:i("broadcastOn"),broadcastEvent:i("broadcastEvent"),build:a("build"),buildOrPatch:a("buildOrPatch"),addToWorld:a("addToWorld"),removeFromWorld:a("removeFromWorld"),addToGui:a("addToGui"),removeFromGui:a("removeFromGui"),getByUid:a("getByUid"),getByDom:a("getByDom"),isConnected:Fn}},qx=Ol(),Kx=(n,s)=>{const a=Ee(s,d=>oa(d.name(),[Te("config"),ae("state",Cc)])),i=Eo("component.behaviours",Et(a),n.behaviours).fold(d=>{throw new Error(Am(d)+` +Complete spec: +`+JSON.stringify(n,null,2))},Qt);return{list:s,data:jo(i,d=>{const g=d.map(h=>({config:h.config,state:h.state.init(h.config)}));return te(g)})}},Yx=n=>n.list,fA=n=>n.data,rp=(n,s)=>{const a={};return Fo(n,(i,d)=>{Fo(i,(g,h)=>{const C=mt(a,h).getOr([]);a[h]=C.concat([s(d,g)])})}),a},Vs=(n,s,a,i)=>{const d={...s};Qe(a,k=>{d[k.name()]=k.exhibit(n,i)});const g=rp(d,(k,D)=>({name:k,modification:D})),h=k=>us(k,(D,N)=>({...N.modification,...D}),{}),C=us(g.classes,(k,D)=>D.modification.concat(k),[]),S=h(g.attributes),x=h(g.styles);return ii({classes:C,attributes:S,styles:x})},K0=(n,s,a,i)=>{try{const d=os(a,(g,h)=>{const C=g[s],S=h[s],x=i.indexOf(C),k=i.indexOf(S);if(x===-1)throw new Error("The ordering for "+n+" does not have an entry for "+C+`. +Order specified: `+JSON.stringify(i,null,2));if(k===-1)throw new Error("The ordering for "+n+" does not have an entry for "+S+`. +Order specified: `+JSON.stringify(i,null,2));return x({handler:n,purpose:s}),gA=(n,s)=>({cHandler:n,purpose:s}),Ay=(n,s)=>gA(on.apply(void 0,[n.handler].concat(s)),n.purpose),_y=n=>n.cHandler,hA=(n,s)=>({name:n,handler:s}),Hd=(n,s)=>{const a={};return Qe(n,i=>{a[i.name()]=i.handlers(s)}),a},Dl=(n,s,a)=>{const i={...a,...Hd(s,n)};return rp(i,hA)},Oy=(n,s,a,i)=>{const d=Dl(n,a,i);return jm(d,s)},ap=n=>{const s=Ww(n);return(a,i,...d)=>{const g=[a,i].concat(d);s.abort.apply(void 0,g)?i.stop():s.can.apply(void 0,g)&&s.run.apply(void 0,g)}},Xx=(n,s)=>kt.error(["The event ("+n+`) has more than one behaviour that listens to it. +When this occurs, you must specify an event ordering for the behaviours in your spec (e.g. [ "listing", "toggling" ]). +The behaviours that can trigger it are: `+JSON.stringify(Ee(s,a=>a.name),null,2)]),Y0=(n,s,a)=>{const i=s[a];return i?K0("Event: "+a,"name",n,i).map(d=>{const g=Ee(d,h=>h.handler);return Sk(g)}):Xx(a,n)},jm=(n,s)=>{const a=Fr(n,(i,d)=>(i.length===1?kt.value(i[0].handler):Y0(i,s,d)).map(h=>{const C=ap(h),S=i.length>1?oo(s[d],x=>Br(i,k=>k.name===x)).join(" > "):i[0].name;return gd(d,hg(C,S))}));return l2(a,{})},ui="alloy.base.behaviour",cp=Et([Js("dom","dom",Pa(),Et([Te("tag"),ae("styles",{}),ae("classes",[]),ae("attributes",{}),Dn("value"),Dn("innerHtml")])),Te("components"),Te("uid"),ae("events",{}),ae("apis",{}),Js("eventOrder","eventOrder",ro({[Ha()]:["disabling",ui,"toggling","typeaheadevents"],[kr()]:[ui,"focusing","keying"],[q1()]:[ui,"disabling","toggling","representing","tooltipping"],[fu()]:[ui,"representing","streaming","invalidating"],[wl()]:[ui,"representing","item-events","toolbar-button-events","tooltipping"],[zr()]:["focusing",ui,"item-type-events"],[pd()]:["focusing",ui,"item-type-events"],[hc()]:["item-type-events","tooltipping"],[vd()]:["receiving","reflecting","tooltipping"]}),Xs()),Dn("domModification")]),Dy=n=>Eo("custom.definition",cp,n),Gm=n=>({...n.dom,uid:n.uid,domChildren:Ee(n.components,s=>s.element)}),ip=n=>n.domModification.fold(()=>ii({}),ii),pA=n=>n.events,lp=(n,s)=>{const a=Bn(n),i=Bn(s),d=ft(i,a),g=ws(n,(h,C)=>!In(s,C)||h!==s[C]).t;return{toRemove:d,toSet:g}},up=(n,s)=>{const{class:a,style:i,...d}=Sm(s),{toSet:g,toRemove:h}=lp(n.attributes,d),C=()=>{Qe(h,Q=>io(s,Q)),Lv(s,g)},S=Go(s),{toSet:x,toRemove:k}=lp(n.styles,S),D=()=>{Qe(k,Q=>Xt(s,Q)),So(s,x)},N=Wv(s),F=ft(N,n.classes),L=ft(n.classes,N),W=()=>{Sl(s,L),cr(s,F)},j=Q=>{Bi(s,Q)},V=()=>{const Q=n.domChildren;aA(s,Q)},K=()=>{const Q=s,le=n.value.getOrUndefined();le!==Ba(Q)&&rd(Q,le??"")};return C(),W(),D(),n.innerHtml.fold(V,j),K(),s},bA=n=>{const s=Le.fromTag(n.tag);Lv(s,n.attributes),Sl(s,n.classes),So(s,n.styles),n.innerHtml.each(i=>Bi(s,i));const a=n.domChildren;return WS(s,a),n.value.each(i=>{rd(s,i)}),s},di=(n,s)=>{try{const a=up(n,s);return T.some(a)}catch{return T.none()}},Jx=n=>n.innerHtml.isSome()&&n.domChildren.length>0,Ry=(n,s)=>{const a=d=>Wc(d)===n.tag&&!Jx(n)&&!Px(d),i=s.filter(a).bind(d=>di(n,d)).getOrThunk(()=>bA(n));return Zm(i,n.uid),i},pg=n=>{const s=mt(n,"behaviours").getOr({});return ie(Bn(s),a=>{const i=s[a];return Uo(i)?[i.me]:[]})},X0=(n,s)=>Kx(n,s),J0=n=>{const s=pg(n);return X0(n,s)},vA=(n,s,a)=>{const i=Gm(n),d=ip(n),g={"alloy.base.modification":d},h=s.length>0?Vs(a,g,s,i):d;return xk(i,h)},My=(n,s,a)=>{const i={"alloy.base.behaviour":pA(n)};return Oy(a,n.eventOrder,s,i).getOrDie()},Q0=(n,s)=>{const a=()=>Q,i=ct(qx),d=$a(Dy(n)),g=J0(n),h=Yx(g),C=fA(g),S=vA(d,h,C),x=Ry(S,s),k=My(d,h,C),D=ct(d.components),N=le=>{i.set(le)},F=()=>{i.set(Ol(a))},L=()=>{const le=Ai(x),me=ie(le,Fe=>i.get().getByDom(Fe).fold(()=>[],Pr));D.set(me)},W=le=>{const me=C;return(Dt(me[le.name()])?me[le.name()]:()=>{throw new Error("Could not find "+le.name()+" in "+JSON.stringify(n,null,2))})()},j=le=>Dt(C[le.name()]),V=()=>d.apis,K=le=>C[le]().map(me=>me.state.readState()).getOr("not enabled"),Q={uid:n.uid,getSystem:i.get,config:W,hasConfigured:j,spec:n,readState:K,getApis:V,connect:N,disconnect:F,element:x,syncComponents:L,components:D.get,events:k};return Q},yA=(n,s)=>{const a=mt(n,"components").getOr([]);return s.fold(()=>Ee(a,tr),i=>Ee(a,(d,g)=>eb(d,td(i,g))))},By=(n,s)=>{const{events:a,...i}=sp(n),d=yA(i,s),g={...i,events:{...dA,...a},components:d};return kt.value(Q0(g,s))},_n=n=>{const s=Le.fromText(n);return Qx({element:s})},Qx=n=>{const s=Ir("external.component",dc([Te("element"),Dn("uid")]),n),a=ct(Ol()),i=C=>{a.set(C)},d=()=>{a.set(Ol(()=>h))},g=s.uid.getOrThunk(()=>Wm("external"));Zm(s.element,g);const h={uid:g,getSystem:a.get,config:T.none,hasConfigured:Fn,connect:i,disconnect:d,getApis:()=>({}),element:s.element,spec:n,readState:te("No state"),syncComponents:q,components:te([]),events:{}};return vy(h)},CA=Wm,e4=n=>In(n,"uid"),eb=(n,s)=>$x(n).getOrThunk(()=>{const a=e4(n)?n:{uid:CA(""),...n};return By(a,s).getOrDie()}),tr=n=>eb(n,T.none()),Qo=vy;var y=Object.freeze({__proto__:null,block:(n,s,a,i)=>{wt(n.element,"aria-busy",!0);const d=s.getRoot(n).getOr(n),g=De([lt.config({mode:"special",onTab:()=>T.some(!0),onShiftTab:()=>T.some(!0)}),Pt.config({})]),h=i(d,g),C=d.getSystem().build(h);At.append(d,Qo(C)),C.hasConfigured(lt)&&s.focus&<.focusIn(C),a.isBlocked()||s.onBlock(n),a.blockWith(()=>At.remove(d,C))},unblock:(n,s,a)=>{io(n.element,"aria-busy"),a.isBlocked()&&s.onUnblock(n),a.clear()},isBlocked:(n,s,a)=>a.isBlocked()}),E=[Pn("getRoot",T.none),Qs("focus",!0),yt("onBlock"),yt("onUnblock")],M=Object.freeze({__proto__:null,init:()=>{const n=gv(),s=a=>{n.set({destroy:a})};return Ua({readState:n.isSet,blockWith:s,clear:n.clear,isBlocked:n.isSet})}});const $=Hs({fields:E,name:"blocking",apis:y,state:M});var G=Object.freeze({__proto__:null,getCurrent:(n,s,a)=>s.find(n)});const ne=[Te("find")],ue=Hs({fields:ne,name:"composing",apis:G});var ut=Object.freeze({__proto__:null,getCoupled:(n,s,a,i)=>a.getOrCreate(n,s,i),getExistingCoupled:(n,s,a,i)=>a.getExisting(n,s,i)}),Ne=[Fa("others",pw(kt.value,Xs()))],bt=Object.freeze({__proto__:null,init:()=>{const n={},s=(g,h)=>{if(Bn(g.others).length===0)throw new Error("Cannot find any known coupled components");return mt(n,h)},a=(g,h,C)=>s(h,C).getOrThunk(()=>{const x=mt(h.others,C).getOrDie("No information found for coupled component: "+C)(g),k=g.getSystem().build(x);return n[C]=k,k}),i=(g,h,C)=>s(h,C).orThunk(()=>(mt(h.others,C).getOrDie("No information found for coupled component: "+C),T.none())),d=te({});return Ua({readState:d,getExisting:i,getOrCreate:a})}});const st=Hs({fields:Ne,name:"coupling",apis:ut,state:bt}),et=["input","button","textarea","select"],wn=(n,s,a)=>{(s.disabled()?Mn:gr)(n,s)},xn=(n,s)=>s.useNative===!0&&go(et,Wc(n.element)),Rn=n=>Gs(n.element,"disabled"),Ho=n=>{wt(n.element,"disabled","disabled")},wc=n=>{io(n.element,"disabled")},ku=n=>Ts(n.element,"aria-disabled")==="true",Au=n=>{wt(n.element,"aria-disabled","true")},qm=n=>{wt(n.element,"aria-disabled","false")},Mn=(n,s,a)=>{s.disableClass.each(d=>{Un(n.element,d)}),(xn(n,s)?Ho:Au)(n),s.onDisabled(n)},gr=(n,s,a)=>{s.disableClass.each(d=>{wo(n.element,d)}),(xn(n,s)?wc:qm)(n),s.onEnabled(n)},_r=(n,s)=>xn(n,s)?Rn(n):ku(n);var xc=Object.freeze({__proto__:null,enable:gr,disable:Mn,isDisabled:_r,onLoad:wn,set:(n,s,a,i)=>{(i?Mn:gr)(n,s)}}),bg=Object.freeze({__proto__:null,exhibit:(n,s)=>ii({classes:s.disabled()?s.disableClass.toArray():[]}),events:(n,s)=>ao([Zh(Ha(),(a,i)=>_r(a,n)),b0(n,s,wn)])}),Yi=[Pn("disabled",Fn),ae("useNative",!0),Dn("disableClass"),yt("onDisabled"),yt("onEnabled")];const Je=Hs({fields:Yi,name:"disabling",active:bg,apis:xc}),fo=(n,s,a,i,d)=>{const g=h=>h+"px";return{position:n,left:s.map(g),top:a.map(g),right:i.map(g),bottom:d.map(g)}},SA=n=>({...n,position:T.some(n.position)}),t4=(n,s)=>{qs(n,SA(s))},wA=(n,s)=>{const a=n.element;Un(a,s.transitionClass),wo(a,s.fadeOutClass),Un(a,s.fadeInClass),s.onShow(n)},xA=(n,s)=>{const a=n.element;Un(a,s.transitionClass),wo(a,s.fadeInClass),Un(a,s.fadeOutClass),s.onHide(n)},n4=(n,s)=>n.ys.y,_u=(n,s)=>n.y>=s.y,vg=(n,s)=>n.bottom<=s.bottom,Km=(n,s,a)=>({location:"top",leftX:s,topY:a.bounds.y-n.y}),EA=(n,s,a)=>({location:"bottom",leftX:s,bottomY:n.bottom-a.bounds.bottom}),o4=n=>n.box.x-n.win.x,TA=(n,s,a)=>{const i=s.win,d=s.box,g=o4(s);return Ka(n,h=>{switch(h){case"bottom":return vg(d,a.bounds)?T.none():T.some(EA(i,g,a));case"top":return _u(d,a.bounds)?T.none():T.some(Km(i,g,a));default:return T.none()}}).getOr({location:"no-dock"})},kA=(n,s,a)=>Gu(n,i=>{switch(i){case"bottom":return vg(s,a.bounds);case"top":return _u(s,a.bounds)}}),AA=(n,s)=>{const a=s.optScrollEnv.fold(te(n.bounds.y),i=>i.scrollElmTop+(n.bounds.y-i.currentScrollTop));return Ln(n.bounds.x,a)},s4=(n,s)=>{const a=s.optScrollEnv.fold(te(n.y),i=>n.y+i.currentScrollTop-i.scrollElmTop);return Ln(n.x,a)},Ny=(n,s,a)=>a.getInitialPos().map(i=>{const d=AA(i,s);return{box:_o(d.left,d.top,wr(n),ks(n)),location:i.location}}),_A=(n,s,a,i,d)=>{const g=s4(s,a),h=_o(g.left,g.top,s.width,s.height);i.setInitialPos({style:Go(n),position:lo(n,"position")||"static",bounds:h,location:d.location})},OA=(n,s,a,i,d)=>{i.getInitialPos().fold(()=>_A(n,s,a,i,d),()=>q)},SR=(n,s,a)=>a.getInitialPos().bind(i=>{switch(a.clearInitialPos(),i.position){case"static":return T.some({morph:"static"});case"absolute":const d=uu(n).getOr(Ma()),g=Ko(d),h=d.dom.scrollTop??0;return T.some({morph:"absolute",positionCss:fo("absolute",mt(i.style,"left").map(C=>s.x-g.x),mt(i.style,"top").map(C=>s.y-g.y+h),mt(i.style,"right").map(C=>g.right-s.right),mt(i.style,"bottom").map(C=>g.bottom-s.bottom))});default:return T.none()}}),xL=(n,s,a)=>Ny(n,s,a).filter(({box:i})=>kA(a.getModes(),i,s)).bind(({box:i})=>SR(n,i,a)),DA=n=>{switch(n.location){case"top":return T.some({morph:"fixed",positionCss:fo("fixed",T.some(n.leftX),T.some(n.topY),T.none(),T.none())});case"bottom":return T.some({morph:"fixed",positionCss:fo("fixed",T.some(n.leftX),T.none(),T.none(),T.some(n.bottomY))});default:return T.none()}},Py=(n,s,a)=>{const i=Ko(n),d=Fs(),g=TA(a.getModes(),{win:d,box:i},s);return g.location==="top"||g.location==="bottom"?(_A(n,i,s,a,g),DA(g)):T.none()},RA=(n,s,a)=>xL(n,s,a).orThunk(()=>s.optScrollEnv.bind(i=>Ny(n,s,a)).bind(({box:i,location:d})=>{const g=Fs(),h=o4({win:g,box:i}),C=d==="top"?Km(g,h,s):EA(g,h,s);return DA(C)})),EL=(n,s,a)=>{const i=n.element;return zc(vo(i,"position"),"fixed")?RA(i,s,a):Py(i,s,a)},wR=(n,s,a)=>{const i=n.element;return Ny(i,s,a).bind(({box:d})=>SR(i,d,a))},TL=(n,s,a,i)=>{const d=Ko(n),g=Fs(),h=o4({win:g,box:d}),C=i(g,h,s);return C.location==="bottom"||C.location==="top"?(OA(n,d,s,a,C),DA(C)):T.none()},MA=(n,s,a)=>{a.setDocked(!1),Qe(["left","right","top","bottom","position"],i=>Xt(n.element,i)),s.onUndocked(n)},$y=(n,s,a,i)=>{const d=i.position==="fixed";a.setDocked(d),t4(n.element,i),(d?s.onDocked:s.onUndocked)(n)},dp=(n,s,a,i,d=!1)=>{s.contextual.each(g=>{g.lazyContext(n).each(h=>{const C=n4(h,i.bounds);C!==a.isVisible()&&(a.setVisible(C),d&&!C?(Sl(n.element,[g.fadeOutClass]),g.onHide(n)):(C?wA:xA)(n,g))})})},r4=(n,s,a,i,d)=>{dp(n,s,a,i,!0),$y(n,s,a,d.positionCss)},kL=(n,s,a,i,d)=>{switch(d.morph){case"static":return MA(n,s,a);case"absolute":return $y(n,s,a,d.positionCss);case"fixed":return r4(n,s,a,i,d)}},AL=(n,s,a)=>{const i=s.lazyViewport(n);dp(n,s,a,i),EL(n,i,a).each(d=>{kL(n,s,a,i,d)})},xR=(n,s,a)=>{const i=n.element;a.setDocked(!1);const d=s.lazyViewport(n);wR(n,d,a).each(g=>{switch(g.morph){case"static":{MA(n,s,a);break}case"absolute":{$y(n,s,a,g.positionCss);break}}}),a.setVisible(!0),s.contextual.each(g=>{cr(i,[g.fadeInClass,g.fadeOutClass,g.transitionClass]),g.onShow(n)}),Ou(n,s,a)},Ou=(n,s,a)=>{n.getSystem().isConnected()&&AL(n,s,a)},a4=(n,s,a)=>{a.isDocked()&&xR(n,s,a)},c4=n=>(s,a,i)=>{const d=a.lazyViewport(s);TL(s.element,d,i,n).each(h=>{r4(s,a,i,d,h)})},i4=c4(Km),ER=c4(EA);var _L=Object.freeze({__proto__:null,refresh:Ou,reset:a4,isDocked:(n,s,a)=>a.isDocked(),getModes:(n,s,a)=>a.getModes(),setModes:(n,s,a,i)=>a.setModes(i),forceDockToTop:i4,forceDockToBottom:ER}),OL=Object.freeze({__proto__:null,events:(n,s)=>ao([sa(W1(),(a,i)=>{n.contextual.each(d=>{qo(a.element,d.transitionClass)&&(cr(a.element,[d.transitionClass,d.fadeInClass]),(s.isVisible()?d.onShown:d.onHidden)(a)),i.stop()})}),be(f2(),(a,i)=>{Ou(a,n,s)}),be(xw(),(a,i)=>{Ou(a,n,s)}),be(Lf(),(a,i)=>{a4(a,n,s)})])}),DL=[oa("contextual",[Yo("fadeInClass"),Yo("fadeOutClass"),Yo("transitionClass"),lr("lazyContext"),yt("onShow"),yt("onShown"),yt("onHide"),yt("onHidden")]),Pn("lazyViewport",()=>({bounds:Fs(),optScrollEnv:T.none()})),fd("modes",["top","bottom"],Se),yt("onDocked"),yt("onUndocked")],nr=Object.freeze({__proto__:null,init:n=>{const s=ct(!1),a=ct(!0),i=Ht(),d=ct(n.modes),g=()=>`docked: ${s.get()}, visible: ${a.get()}, modes: ${d.get().join(",")}`;return Ua({isDocked:s.get,setDocked:s.set,getInitialPos:i.get,setInitialPos:i.set,clearInitialPos:i.clear,isVisible:a.get,setVisible:a.set,getModes:d.get,setModes:d.set,readState:g})}});const yo=Hs({fields:DL,name:"docking",active:OL,apis:_L,state:nr}),Fy=Hc.generate([{offset:["x","y"]},{absolute:["x","y"]},{fixed:["x","y"]}]),l4=n=>s=>s.translate(-n.left,-n.top),Iy=n=>s=>s.translate(n.left,n.top),Du=n=>(s,a)=>ho(n,(i,d)=>d(i),Ln(s,a)),Xm=(n,s,a)=>n.fold(Du([Iy(a),l4(s)]),Du([l4(s)]),Du([])),mp=(n,s,a)=>n.fold(Du([Iy(a)]),Du([]),Du([Iy(s)])),NA=(n,s,a)=>n.fold(Du([]),Du([l4(a)]),Du([Iy(s),l4(a)])),RL=(n,s,a,i,d,g)=>{const h=mp(n,d,g),C=mp(s,d,g);return Math.abs(h.left-C.left)<=a&&Math.abs(h.top-C.top)<=i},ML=(n,s,a,i,d,g)=>{const h=mp(n,d,g),C=mp(s,d,g),S=Math.abs(h.left-C.left),x=Math.abs(h.top-C.top);return Ln(S,x)},PA=(n,s,a)=>{const i=n.fold((d,g)=>({position:T.some("absolute"),left:T.some(d+"px"),top:T.some(g+"px")}),(d,g)=>({position:T.some("absolute"),left:T.some(d-a.left+"px"),top:T.some(g-a.top+"px")}),(d,g)=>({position:T.some("fixed"),left:T.some(d+"px"),top:T.some(g+"px")}));return{right:T.none(),bottom:T.none(),...i}},kR=(n,s,a)=>n.fold((i,d)=>u4(i+s,d+a),(i,d)=>Jm(i+s,d+a),(i,d)=>yg(i+s,d+a)),$A=(n,s,a,i)=>{const d=(g,h)=>(C,S)=>{const x=g(s,a,i);return h(C.getOr(x.left),S.getOr(x.top))};return n.fold(d(NA,u4),d(mp,Jm),d(Xm,yg))},u4=Fy.offset,Jm=Fy.absolute,yg=Fy.fixed,FA=(n,s)=>{const a=Ts(n,s);return ma(a)?NaN:parseInt(a,10)},AR=(n,s)=>{const a=n.element,i=FA(a,s.leftAttr),d=FA(a,s.topAttr);return isNaN(i)||isNaN(d)?T.none():T.some(Ln(i,d))},d4=(n,s,a)=>{const i=n.element;wt(i,s.leftAttr,a.left+"px"),wt(i,s.topAttr,a.top+"px")},_R=(n,s)=>{const a=n.element;io(a,s.leftAttr),io(a,s.topAttr)},fp=(n,s,a,i)=>AR(n,s).fold(()=>a,d=>yg(d.left+i.left,d.top+i.top)),Ly=(n,s,a,i,d,g)=>{const h=fp(n,s,a,i),C=s.mustSnap?NL(n,s,h,d,g):PL(n,s,h,d,g),S=Xm(h,d,g);return d4(n,s,S),C.fold(()=>({coord:yg(S.left,S.top),extra:T.none()}),x=>({coord:x.output,extra:x.extra}))},BL=(n,s)=>{_R(n,s)},OR=(n,s,a,i)=>Ka(n,d=>{const g=d.sensor;return RL(s,g,d.range.left,d.range.top,a,i)?T.some({output:$A(d.output,s,a,i),extra:d.extra}):T.none()}),NL=(n,s,a,i,d)=>{const g=s.getSnapPoints(n);return OR(g,a,i,d).orThunk(()=>ho(g,(S,x)=>{const k=x.sensor,D=ML(a,k,x.range.left,x.range.top,i,d);return S.deltas.fold(()=>({deltas:T.some(D),snap:T.some(x)}),N=>{const F=(D.left+D.top)/2,L=(N.left+N.top)/2;return F<=L?{deltas:T.some(D),snap:T.some(x)}:S})},{deltas:T.none(),snap:T.none()}).snap.map(S=>({output:$A(S.output,a,i,d),extra:S.extra})))},PL=(n,s,a,i,d)=>{const g=s.getSnapPoints(n);return OR(g,a,i,d)},DR=(n,s,a)=>({coord:$A(n.output,n.output,s,a),extra:n.extra});var RR=Object.freeze({__proto__:null,snapTo:(n,s,a,i)=>{const d=s.getTarget(n.element);if(s.repositionTarget){const g=ha(n.element),h=No(g),C=$1(d),S=DR(i,h,C),x=PA(S.coord,h,C);qs(d,x)}}});const hr=(n,s)=>yw(n,{},Ee(s,a=>rk(a.name(),"Cannot configure "+a.name()+" for "+n)).concat([Lr("dump",Qt)])),m4=n=>n.dump,pr=(n,s)=>({...De(s),...n.dump}),wa={field:hr,augment:pr,get:m4},MR=(n,s)=>(n.length>0?[Li("parts",n)]:[]).concat([Te("uid"),ae("dom",{}),ae("components",[]),v2("originalSpec"),ae("debug.sketcher",{})]).concat(s),IA=(n,s,a,i,d)=>{const g=MR(i,d);return Ir(n+" [SpecSchema]",dc(g.concat(s)),a)},$L=(n,s,a,i)=>{const d=NR(i),g=IA(n,s,d,[],[]);return a(g,d)},f4=(n,s,a,i,d)=>{const g=NR(d),h=$w(a),C=ni(a),S=IA(n,s,g,h,[C]),x=Ed(n,S,a),k=Vi(n,S,x.internals());return i(S,k,g,x.externals())},BR=n=>In(n,"uid"),NR=n=>BR(n)?n:{...n,uid:Wm("uid")},FL=n=>n.uid!==void 0,IL=dc([Te("name"),Te("factory"),Te("configFields"),ae("apis",{}),ae("extraApis",{})]),LL=dc([Te("name"),Te("factory"),Te("configFields"),Te("partFields"),ae("apis",{}),ae("extraApis",{})]),mi=n=>{const s=Ir("Sketcher for "+n.name,IL,n),a=g=>$L(s.name,s.configFields,s.factory,g),i=jo(s.apis,L0),d=jo(s.extraApis,(g,h)=>C2(g,h));return{name:s.name,configFields:s.configFields,sketch:a,...i,...d}},xa=n=>{const s=Ir("Sketcher for "+n.name,LL,n),a=h=>f4(s.name,s.configFields,s.partFields,s.factory,h),i=T2(s.name,s.partFields),d=jo(s.apis,L0),g=jo(s.extraApis,(h,C)=>C2(h,C));return{name:s.name,partFields:s.partFields,configFields:s.configFields,sketch:a,parts:i,...d,...g}},Xi=mi({name:"Container",factory:n=>{const{attributes:s,...a}=n.dom;return{uid:n.uid,dom:{tag:"div",attributes:{role:"presentation",...s},...a},components:n.components,behaviours:m4(n.containerBehaviours),events:n.events,domModification:n.domModification,eventOrder:n.eventOrder}},configFields:[ae("components",[]),hr("containerBehaviours",[]),ae("events",{}),ae("domModification",{}),ae("eventOrder",{})]}),HA="data-initial-z-index",OY=n=>{ea(n.element).filter(ga).each(s=>{js(s,HA).fold(()=>Xt(s,"z-index"),a=>Rt(s,"z-index",a)),io(s,HA)})},PR=n=>{ea(n.element).filter(ga).each(s=>{vo(s,"z-index").each(a=>{wt(s,HA,a)}),Rt(s,"z-index",lo(n.element,"z-index"))})},$R=(n,s)=>{n.getSystem().addToGui(s),PR(s)},HL=n=>{OY(n),n.getSystem().removeFromGui(n)},fi=(n,s,a)=>n.getSystem().build(Xi.sketch({dom:{styles:{left:"0px",top:"0px",width:"100%",height:"100%",position:"fixed","z-index":"1000000000000000"},classes:[s]},events:a}));var zL=oa("snaps",[Te("getSnapPoints"),yt("onSensor"),Te("leftAttr"),Te("topAttr"),ae("lazyViewport",Fs),ae("mustSnap",!1)]);const zA=[ae("useFixed",Fn),Te("blockerClass"),ae("getTarget",Qt),ae("onDrag",q),ae("repositionTarget",!0),ae("onDrop",q),Pn("getBounds",Fs),zL],VL=n=>fa(vo(n,"left"),vo(n,"top"),vo(n,"position"),(s,a,i)=>(i==="fixed"?yg:u4)(parseInt(s,10),parseInt(a,10))).getOrThunk(()=>{const s=pa(n);return Jm(s.left,s.top)}),UL=(n,s,a,i,d)=>{const g=d.bounds,h=mp(s,a,i),C=Jr(h.left,g.x,g.x+g.width-d.width),S=Jr(h.top,g.y,g.y+g.height-d.height),x=Jm(C,S);return s.fold(()=>{const k=NA(x,a,i);return u4(k.left,k.top)},te(x),()=>{const k=Xm(x,a,i);return yg(k.left,k.top)})},ZL=(n,s,a,i,d,g,h)=>{const C=s.fold(()=>{const S=kR(a,g.left,g.top),x=Xm(S,i,d);return yg(x.left,x.top)},S=>{const x=Ly(n,S,a,g,i,d);return x.extra.each(k=>{S.onSensor(n,k)}),x.coord});return UL(n,C,i,d,h)},tb=(n,s,a,i)=>{const d=s.getTarget(n.element);if(s.repositionTarget){const g=ha(n.element),h=No(g),C=$1(d),S=VL(d),x=ZL(n,s.snaps,S,h,C,i,a),k=PA(x,h,C);qs(d,k)}s.onDrag(n,d,i)},g4=(n,s)=>({bounds:n.getBounds(),height:Sr(s.element),width:cu(s.element)}),VA=(n,s,a,i,d)=>{const g=a.update(i,d),h=a.getStartData().getOrThunk(()=>g4(s,n));g.each(C=>{tb(n,s,h,C)})},h4=(n,s,a,i)=>{s.each(HL),a.snaps.each(g=>{BL(n,g)});const d=a.getTarget(n.element);i.reset(),a.onDrop(n,d)},nb=n=>(s,a)=>{const i=d=>{a.setStartData(g4(s,d))};return ao([be(f2(),d=>{a.getStartData().each(()=>i(d))}),...n(s,a,i)])},UA=n=>ao([be(zr(),n.forceDrop),be(u2(),n.drop),be($f(),(s,a)=>{n.move(a.event)}),be(ps(),n.delayDrop)]);var WL=Object.freeze({__proto__:null,getData:n=>T.from(Ln(n.x,n.y)),getDelta:(n,s)=>Ln(s.left-n.left,s.top-n.top)});const FR=(n,s,a)=>[be(zr(),(i,d)=>{if(d.event.raw.button!==0)return;d.stop();const h=()=>h4(i,T.some(x),n,s),C=J1(h,200),S={drop:h,delayDrop:C.schedule,forceDrop:h,move:D=>{C.cancel(),VA(i,n,s,WL,D)}},x=fi(i,n.blockerClass,UA(S));(()=>{a(i),$R(i,x)})()})],jL=[...zA,Kn("dragger",{handlers:nb(FR)})],GL=n=>ao([be(pd(),n.forceDrop),be(gc(),n.drop),be(hs(),n.drop),be(bd(),(s,a)=>{n.move(a.event)})]),qL=n=>{const s=n[0];return T.some(Ln(s.clientX,s.clientY))};var IR=Object.freeze({__proto__:null,getData:n=>{const a=n.raw.touches;return a.length===1?qL(a):T.none()},getDelta:(n,s)=>Ln(s.left-n.left,s.top-n.top)});const LR=(n,s,a)=>{const i=Ht(),d=g=>{h4(g,i.get(),n,s),i.clear()};return[be(pd(),(g,h)=>{h.stop();const C=()=>d(g),S={drop:C,delayDrop:q,forceDrop:C,move:D=>{VA(g,n,s,IR,D)}},x=fi(g,n.blockerClass,GL(S));i.set(x),(()=>{a(g),$R(g,x)})()}),be(bd(),(g,h)=>{h.stop(),VA(g,n,s,IR,h.event)}),be(gc(),(g,h)=>{h.stop(),d(g)}),be(hs(),d)]},YL=[...zA,Kn("dragger",{handlers:nb(LR)})],XL=(n,s,a)=>[...FR(n,s,a),...LR(n,s,a)],ob=[...zA,Kn("dragger",{handlers:nb(XL)})];var JL=Object.freeze({__proto__:null,mouse:jL,touch:YL,mouseOrTouch:ob}),gp=Object.freeze({__proto__:null,init:()=>{let n=T.none(),s=T.none();const a=()=>{n=T.none(),s=T.none()},i=(S,x)=>{const k=n.map(D=>S.getDelta(D,x));return n=T.some(x),k},d=(S,x)=>S.getData(x).bind(k=>i(S,k)),g=S=>{s=T.some(S)},h=()=>s,C=te({});return Ua({readState:C,reset:a,update:d,getStartData:h,setStartData:g})}});const hp=Jw({branchKey:"mode",branches:JL,name:"dragging",active:{events:(n,s)=>n.dragger.handlers(n,s)},extra:{snap:n=>({sensor:n.sensor,range:n.range,output:n.output,extra:T.from(n.extra)})},state:gp,apis:RR}),VR=["input","textarea"],Hy=n=>{const s=Wc(n);return go(VR,s)},p4=(n,s)=>{const a=s.getRoot(n).getOr(n.element);wo(a,s.invalidClass),s.notify.each(i=>{Hy(n.element)&&wt(n.element,"aria-invalid",!1),i.getContainer(n).each(d=>{Bi(d,i.validHtml)}),i.onValid(n)})},UR=(n,s,a,i)=>{const d=s.getRoot(n).getOr(n.element);Un(d,s.invalidClass),s.notify.each(g=>{Hy(n.element)&&wt(n.element,"aria-invalid",!0),g.getContainer(n).each(h=>{Bi(h,i)}),g.onInvalid(n,i)})},WA=(n,s,a)=>s.validator.fold(()=>Io.pure(kt.value(!0)),i=>i.validate(n)),b4=(n,s,a)=>(s.notify.each(i=>{i.onValidate(n)}),WA(n,s).map(i=>n.getSystem().isConnected()?i.fold(d=>(UR(n,s,a,d),kt.error(d)),d=>(p4(n,s),kt.value(d))):kt.error("No longer in system")));var QL=Object.freeze({__proto__:null,markValid:p4,markInvalid:UR,query:WA,run:b4,isInvalid:(n,s)=>{const a=s.getRoot(n).getOr(n.element);return qo(a,s.invalidClass)}}),tH=Object.freeze({__proto__:null,events:(n,s)=>n.validator.map(a=>ao([be(a.onEvent,i=>{b4(i,n,s).get(Qt)})].concat(a.validateOnLoad?[Hn(i=>{b4(i,n,s).get(q)})]:[]))).getOr({})}),nH=[Te("invalidClass"),ae("getRoot",T.none),oa("notify",[ae("aria","alert"),ae("getContainer",T.none),ae("validHtml",""),yt("onValid"),yt("onInvalid"),yt("onValidate")]),oa("validator",[Te("validate"),ae("onEvent","input"),ae("validateOnLoad",!0)])];const v4=(n,s,a)=>{s.store.manager.onLoad(n,s,a)},WR=(n,s,a)=>{s.store.manager.onUnload(n,s,a)};var y4=Object.freeze({__proto__:null,onLoad:v4,onUnload:WR,setValue:(n,s,a,i)=>{s.store.manager.setValue(n,s,a,i)},getValue:(n,s,a)=>s.store.manager.getValue(n,s,a),getState:(n,s,a)=>a}),C4=Object.freeze({__proto__:null,events:(n,s)=>{const a=n.resetOnDom?[Hn((i,d)=>{v4(i,n,s)}),Zi((i,d)=>{WR(i,n,s)})]:[b0(n,s,v4)];return ao(a)}});const Ru=()=>{const n=ct(null),s=()=>({mode:"memory",value:n.get()}),a=()=>n.get()===null,i=()=>{n.set(null)};return Ua({set:n.set,get:n.get,isNotSet:a,clear:i,readState:s})},GR=()=>Ua({readState:q}),qR=()=>{const n=ct({}),s=ct({});return Ua({readState:()=>({mode:"dataset",dataByValue:n.get(),dataByText:s.get()}),lookup:h=>mt(n.get(),h).orThunk(()=>mt(s.get(),h)),update:h=>{const C=n.get(),S=s.get(),x={},k={};Qe(h,D=>{x[D.value]=D,mt(D,"meta").each(N=>{mt(N,"text").each(F=>{k[F]=D})})}),n.set({...C,...x}),s.set({...S,...k})},clear:()=>{n.set({}),s.set({})}})};var NY=Object.freeze({__proto__:null,memory:Ru,dataset:qR,manual:GR,init:n=>n.store.manager.state(n)});const KR=(n,s,a,i)=>{const d=s.store;a.update([i]),d.setValue(n,i),s.onSetValue(n,i)},sH=(n,s,a)=>{const i=s.store,d=i.getDataKey(n);return a.lookup(d).getOrThunk(()=>i.getFallbackEntry(d))},GA=(n,s,a)=>{s.store.initialValue.each(d=>{KR(n,s,a,d)})},rH=(n,s,a)=>{a.clear()};var aH=[Dn("initialValue"),Te("getFallbackEntry"),Te("getDataKey"),Te("setValue"),Kn("manager",{setValue:KR,getValue:sH,onLoad:GA,onUnload:rH,state:qR})];const cH=(n,s,a)=>s.store.getValue(n),YR=(n,s,a,i)=>{s.store.setValue(n,i),s.onSetValue(n,i)},iH=(n,s,a)=>{s.store.initialValue.each(i=>{s.store.setValue(n,i)})};var lH=[Te("getValue"),ae("setValue",q),Dn("initialValue"),Kn("manager",{setValue:YR,getValue:cH,onLoad:iH,onUnload:q,state:Cc.init})];const XR=(n,s,a,i)=>{a.set(i),s.onSetValue(n,i)},JR=(n,s,a)=>a.get(),uH=(n,s,a)=>{s.store.initialValue.each(i=>{a.isNotSet()&&a.set(i)})},QR=(n,s,a)=>{a.clear()};var dH=[Dn("initialValue"),Kn("manager",{setValue:XR,getValue:JR,onLoad:uH,onUnload:QR,state:Ru})],qA=[La("store",{mode:"memory"},Tr("mode",{memory:dH,manual:lH,dataset:aH})),yt("onSetValue"),ae("resetOnDom",!1)];const je=Hs({fields:qA,name:"representing",active:C4,apis:y4,extra:{setValueFrom:(n,s)=>{const a=je.getValue(s);je.setValue(n,a)}},state:NY}),Mu=Hs({fields:nH,name:"invalidating",active:tH,apis:QL,extra:{validation:n=>s=>{const a=je.getValue(s);return Io.pure(n(a))}}});var fH=Object.freeze({__proto__:null,exhibit:(n,s)=>ii({classes:[],styles:s.useFixed()?{}:{position:"relative"}})});const KA=Hc.generate([{none:[]},{relative:["x","y","width","height"]},{fixed:["x","y","width","height"]}]),eM=(n,s,a,i,d,g)=>{const h=s.rect,C=h.x-a,S=h.y-i,x=h.width,k=h.height,D=d-(C+x),N=g-(S+k),F=T.some(C),L=T.some(S),W=T.some(D),j=T.some(N),V=T.none();return A2(s.direction,()=>fo(n,F,L,V,V),()=>fo(n,V,L,W,V),()=>fo(n,F,V,V,j),()=>fo(n,V,V,W,j),()=>fo(n,F,L,V,V),()=>fo(n,F,V,V,j),()=>fo(n,F,L,V,V),()=>fo(n,V,L,W,V))},tM=(n,s)=>n.fold(()=>{const a=s.rect;return fo("absolute",T.some(a.x),T.some(a.y),T.none(),T.none())},(a,i,d,g)=>eM("absolute",s,a,i,d,g),(a,i,d,g)=>eM("fixed",s,a,i,d,g)),YA=(n,s)=>{const a=on(dh,s),i=n.fold(a,a,()=>{const h=No();return dh(s).translate(-h.left,-h.top)}),d=cu(s),g=Sr(s);return _o(i.left,i.top,d,g)},zy=(n,s)=>s.fold(()=>n.fold(Fs,Fs,_o),a=>n.fold(te(a),te(a),()=>{const i=XA(n,a.x,a.y);return _o(i.left,i.top,a.width,a.height)})),XA=(n,s,a)=>{const i=Ln(s,a),d=()=>{const g=No();return i.translate(-g.left,-g.top)};return n.fold(te(i),te(i),d)},nM=(n,s,a,i)=>n.fold(s,a,i);KA.none;const oM=KA.relative,sM=KA.fixed,rM=(n,s)=>({anchorBox:n,origin:s}),gH=(n,s)=>rM(n,s),S4=Hc.generate([{fit:["reposition"]},{nofit:["reposition","visibleW","visibleH","isVisible"]}]),hH=(n,s)=>{const{x:a,y:i,right:d,bottom:g}=s,{x:h,y:C,right:S,bottom:x,width:k,height:D}=n,N=h>=a&&h<=d,F=C>=i&&C<=g,L=N&&F,W=S<=d&&S>=a,j=x<=g&&x>=i,V=W&&j,K=Math.min(k,h>=a?d-h:S-a),Q=Math.min(D,C>=i?g-C:x-i);return{originInBounds:L,sizeInBounds:V,visibleW:K,visibleH:Q}},JA=(n,s)=>{const{x:a,y:i,right:d,bottom:g}=s,{x:h,y:C,width:S,height:x}=n,k=Math.max(a,d-S),D=Math.max(i,g-x),N=Jr(h,a,k),F=Jr(C,i,D),L=Math.min(N+S,d)-N,W=Math.min(F+x,g)-F;return _o(N,F,L,W)},pH=(n,s,a)=>{const i=te(s.bottom-a.y),d=te(a.bottom-s.y),g=Ph(n,d,d,i),h=te(s.right-a.x),C=te(a.right-s.x);return{maxWidth:$h(n,C,C,h),maxHeight:g}},w4=(n,s,a,i)=>{const d=n.bubble,g=d.offset,h=vk(i,n.restriction,g),C=n.x+g.left,S=n.y+g.top,x=_o(C,S,s,a),{originInBounds:k,sizeInBounds:D,visibleW:N,visibleH:F}=hH(x,h),L=k&&D,W=L?x:JA(x,h),j=W.width>0&&W.height>0,{maxWidth:V,maxHeight:K}=pH(n.direction,W,i),Q={rect:W,maxHeight:K,maxWidth:V,direction:n.direction,placement:n.placement,classes:{on:d.classesOn,off:d.classesOff},layout:n.label,testY:S};return L||n.alwaysFit?S4.fit(Q):S4.nofit(Q,N,F,j)},bH=(n,s,a,i,d,g)=>{const h=i.width,C=i.height,S=(k,D,N,F,L)=>{const W=k(a,i,d,n,g),j=w4(W,h,C,g);return j.fold(te(j),(V,K,Q,le)=>(L===le?Q>F||K>N:!L&&le)?j:S4.nofit(D,N,F,L))};return ho(s,(k,D)=>{const N=on(S,D);return k.fold(te(k),N)},S4.nofit({rect:a,maxHeight:i.height,maxWidth:i.width,direction:a0(),placement:"southeast",classes:{on:[],off:[]},layout:"none",testY:a.y},-1,-1,!1)).fold(Qt,Qt)},QA=["top","bottom","right","left"],or="data-alloy-transition-timer",vH=(n,s)=>_1(n,s.classes),aM=(n,s,a)=>a.exists(i=>{const d=n.mode;return d==="all"?!0:i[d]!==s[d]}),cM=(n,s)=>{const a=i=>parseFloat(i).toFixed(3);return ml(s,(i,d)=>{const g=n[d].map(a),h=i.map(a);return!xs(g,h)}).isSome()},yH=n=>{const s=g=>{const C=lo(n,g).split(/\s*,\s*/);return oo(C,xf)},a=g=>{if(kn(g)&&/^[\d.]+/.test(g)){const h=parseFloat(g);return tu(g,"ms")?h:h*1e3}else return 0},i=s("transition-delay"),d=s("transition-duration");return ho(d,(g,h,C)=>{const S=a(i[C])+a(h);return Math.max(g,S)},0)},iM=(n,s)=>{const a=ds(),i=ds();let d;const g=x=>{const k=x.raw.pseudoElement??"";return Vn(x.target,n)&&Qa(k)&&go(QA,x.raw.propertyName)},h=x=>{if(ju(x)||g(x)){a.clear(),i.clear();const k=x==null?void 0:x.raw.type;(ju(k)||k===W1())&&(clearTimeout(d),io(n,or),cr(n,s.classes))}},C=On(n,Ff(),x=>{g(x)&&(C.unbind(),a.set(On(n,W1(),h)),i.set(On(n,lk(),h)))}),S=yH(n);window.requestAnimationFrame(()=>{d=setTimeout(h,S+17),wt(n,or,d)})},lM=(n,s)=>{Sl(n,s.classes),js(n,or).each(a=>{clearTimeout(parseInt(a,10)),io(n,or)}),iM(n,s)},CH=(n,s,a,i,d,g)=>{const h=aM(i,d,g);if(h||vH(n,i)){Rt(n,"position",a.position);const C=YA(s,n),S=tM(s,{...d,rect:C}),x=iv(QA,k=>S[k]);cM(a,x)&&(qs(n,x),h&&lM(n,i),ac(n))}else cr(n,i.classes)},SH=n=>({width:Math.ceil(cu(n)),height:Sr(n)}),wH=(n,s,a,i)=>{Xt(s,"max-height"),Xt(s,"max-width");const d=SH(s);return bH(s,i.preference,n,d,a,i.bounds)},xH=(n,s)=>{const a=s.classes;cr(n,a.off),Sl(n,a.on)},uM=(n,s,a)=>{const i=a.maxHeightFunction;i(n,s.maxHeight)},EH=(n,s,a)=>{const i=a.maxWidthFunction;i(n,s.maxWidth)},TH=(n,s,a)=>{const i=tM(a.origin,s);a.transition.each(d=>{CH(n,a.origin,i,d,s,a.lastPlacement)}),t4(n,i)},dM=(n,s)=>{I2(n,s.placement)},e_=(n,s,a)=>n[s]===void 0?a:n[s],mM=(n,s,a,i,d,g,h,C)=>{const S=e_(h,"maxHeightFunction",zw()),x=e_(h,"maxWidthFunction",q),k=n.anchorBox,D=n.origin,N={bounds:zy(D,g),origin:D,preference:i,maxHeightFunction:S,maxWidthFunction:x,lastPlacement:d,transition:C};return kH(k,s,a,N)},kH=(n,s,a,i)=>{const d=wH(n,s,a,i);return TH(s,d,i),dM(s,d),xH(s,d),uM(s,d,i),EH(s,d,i),{layout:d.layout,placement:d.placement}},x4=Qt,pp=()=>oa("layouts",[Te("onLtr"),Te("onRtl"),Dn("onBottomLtr"),Dn("onBottomRtl")]),E4=(n,s,a,i,d,g,h)=>{const C=h.map(Vw).getOr(!1),S=s.layouts.map(F=>F.onLtr(n)),x=s.layouts.map(F=>F.onRtl(n)),k=C?s.layouts.bind(F=>F.onBottomLtr.map(L=>L(n))).or(S).getOr(d):S.getOr(a),D=C?s.layouts.bind(F=>F.onBottomRtl.map(L=>L(n))).or(x).getOr(g):x.getOr(i);return zv(k,D)(n)},fM=(n,s,a)=>{const i=s.hotspot,d=YA(a,i.element),g=E4(n.element,s,P2(),$2(),N2(),l0(),T.some(s.hotspot.element));return T.some(x4({anchorBox:d,bubble:s.bubble.getOr(Nh()),overrides:s.overrides,layouts:g}))};var gM=[Te("hotspot"),Dn("bubble"),ae("overrides",{}),pp(),Kn("placement",fM)];const Cg=(n,s,a)=>{const i=XA(a,s.x,s.y),d=_o(i.left,i.top,s.width,s.height),g=E4(n.element,s,B2(),ai(),B2(),ai(),T.none());return T.some(x4({anchorBox:d,bubble:s.bubble,overrides:s.overrides,layouts:g}))};var hM=[Te("x"),Te("y"),ae("height",0),ae("width",0),ae("bubble",Nh()),ae("overrides",{}),pp(),Kn("placement",Cg)];const t_=Hc.generate([{screen:["point"]},{absolute:["point","scrollLeft","scrollTop"]}]),pM=n=>n.fold(Qt,(s,a,i)=>s.translate(-a,-i)),AH=n=>n.fold(Qt,Qt),bp=n=>ho(n,(s,a)=>s.translate(a.left,a.top),Ln(0,0)),_H=n=>{const s=Ee(n,pM);return bp(s)},bM=n=>{const s=Ee(n,AH);return bp(s)},vM=t_.screen,OH=t_.absolute,DH=(n,s,a)=>{const i=nh(a.root).dom,d=g=>{const h=ha(g),C=ha(n.element);return Vn(h,C)};return T.from(i.frameElement).map(Le.fromDom).filter(d).map(pa)},yM=(n,s,a)=>{const i=ha(n.element),d=No(i),g=DH(n,s,a).getOr(d);return OH(g,d.left,d.top)},T4=(n,s,a,i)=>{const d=vM(Ln(n,s));return T.some(Xv(d,a,i))},k4=(n,s,a,i,d)=>n.map(g=>{const h=[s,g.point],C=nM(i,()=>bM(h),()=>bM(h),()=>_H(h)),S=QT(C.left,C.top,g.width,g.height),x=a.showAbove?N2():P2(),k=a.showAbove?l0():$2(),D=E4(d,a,x,k,x,k,T.none());return x4({anchorBox:S,bubble:a.bubble.getOr(Nh()),overrides:a.overrides,layouts:D})}),n_=(n,s,a)=>{const i=yM(n,a,s);return s.node.filter(pn).bind(d=>{const g=d.dom.getBoundingClientRect(),h=T4(g.left,g.top,g.width,g.height),C=s.node.getOr(n.element);return k4(h,i,s,a,C)})};var RH=[Te("node"),Te("root"),Dn("bubble"),pp(),ae("overrides",{}),ae("showAbove",!1),Kn("placement",n_)];const Bu=(n,s)=>({element:n,offset:s}),CM=(n,s)=>{const a=Ai(n);if(a.length===0)return Bu(n,s);if(sed(n)?Bu(n,s):CM(n,s),s_=n=>n.foffset!==void 0,SM=(n,s)=>s.getSelection.getOrThunk(()=>()=>rw(n))().map(i=>{if(s_(i)){const d=o_(i.start,i.soffset),g=o_(i.finish,i.foffset);return cd.range(d.element,d.offset,g.element,g.offset)}else return i}),Vy=(n,s,a)=>{const i=nh(s.root).dom,d=yM(n,a,s),g=SM(i,s).bind(S=>{if(s_(S))return uR(i,cd.exactFromRange(S)).orThunk(()=>{const k=Le.fromText(_S);ym(S.start,k);const D=aw(i,cd.exact(k,0,k,1));return Kc(k),D}).bind(k=>T4(k.left,k.top,k.width,k.height));{const x=jo(S,D=>D.dom.getBoundingClientRect()),k={left:Math.min(x.firstCell.left,x.lastCell.left),right:Math.max(x.firstCell.right,x.lastCell.right),top:Math.min(x.firstCell.top,x.lastCell.top),bottom:Math.max(x.firstCell.bottom,x.lastCell.bottom)};return T4(k.left,k.top,k.right-k.left,k.bottom-k.top)}}),C=SM(i,s).bind(S=>s_(S)?ga(S.start)?T.some(S.start):hl(S.start):T.some(S.firstCell)).getOr(n.element);return k4(g,d,s,a,C)};var Uy=[Dn("getSelection"),Te("root"),Dn("bubble"),pp(),ae("overrides",{}),ae("showAbove",!1),Kn("placement",Vy)];const Zy="link-layout",A4=n=>n.x+n.width,Qm=(n,s)=>n.x-s.width,ef=(n,s)=>n.y-s.height+n.height,wM=n=>n.y,xM=(n,s,a)=>Ds(A4(n),wM(n),a.southeast(),a0(),"southeast",as(n,{left:0,top:2}),Zy),r_=(n,s,a)=>Ds(Qm(n,s),wM(n),a.southwest(),Fh(),"southwest",as(n,{right:1,top:2}),Zy),zd=(n,s,a)=>Ds(A4(n),ef(n,s),a.northeast(),c0(),"northeast",as(n,{left:0,bottom:3}),Zy),_4=(n,s,a)=>Ds(Qm(n,s),ef(n,s),a.northwest(),Td(),"northwest",as(n,{right:1,bottom:3}),Zy),EM=()=>[xM,r_,zd,_4],a_=()=>[r_,xM,_4,zd],TM=(n,s,a)=>{const i=YA(a,s.item.element),d=E4(n.element,s,EM(),a_(),EM(),a_(),T.none());return T.some(x4({anchorBox:i,bubble:Nh(),overrides:s.overrides,layouts:d}))};var kM=[Te("item"),pp(),ae("overrides",{}),Kn("placement",TM)],c_=Tr("type",{selection:Uy,node:RH,hotspot:gM,submenu:kM,makeshift:hM});const AM=[na("classes",Se),Hr("mode","all",["all","layout","placement"])],MH=[ae("useFixed",Fn),Dn("getBounds")],BH=[Fa("anchor",c_),oa("transition",AM)],NH=()=>{const n=document.documentElement;return sM(0,0,n.clientWidth,n.clientHeight)},O4=n=>{const s=pa(n.element),a=n.element.dom.getBoundingClientRect();return oM(s.left,s.top,a.width,a.height)},i_=(n,s,a,i,d,g)=>{const h=gH(s.anchorBox,n);return mM(h,i.element,s.bubble,s.layouts,d,a,s.overrides,g)},D4=(n,s,a,i,d)=>{const g=T.none();l_(n,s,a,i,d,g)},l_=(n,s,a,i,d,g)=>{const h=Ir("placement.info",Et(BH),d),C=h.anchor,S=i.element,x=a.get(i.uid);Vx(()=>{Rt(S,"position","fixed");const k=vo(S,"visibility");Rt(S,"visibility","hidden");const D=s.useFixed()?NH():O4(n);C.placement(n,C,D).each(N=>{const F=g.orThunk(()=>s.getBounds.map(Kr)),L=i_(D,N,F,i,x,h.transition);a.set(i.uid,L)}),k.fold(()=>{Xt(S,"visibility")},N=>{Rt(S,"visibility",N)}),vo(S,"left").isNone()&&vo(S,"top").isNone()&&vo(S,"right").isNone()&&vo(S,"bottom").isNone()&&zc(vo(S,"position"),"fixed")&&Xt(S,"position")},S)};var _M=Object.freeze({__proto__:null,position:D4,positionWithinBounds:l_,getMode:(n,s,a)=>s.useFixed()?"fixed":"absolute",reset:(n,s,a,i)=>{const d=i.element;Qe(["position","left","right","top","bottom"],g=>Xt(d,g)),yk(d),a.clear(i.uid)}}),OM=Object.freeze({__proto__:null,init:()=>{let n={};return Ua({readState:()=>n,clear:d=>{Uo(d)?delete n[d]:n={}},set:(d,g)=>{n[d]=g},get:d=>mt(n,d)})}});const Wr=Hs({fields:MH,name:"positioning",active:fH,apis:_M,state:OM}),u_=(n,s)=>s.universal?n:oo(n,a=>go(s.channels,a));var FH=Object.freeze({__proto__:null,events:n=>ao([be(vd(),(s,a)=>{const i=n.channels,d=Bn(i),g=a,h=u_(d,g);Qe(h,C=>{const S=i[C],x=S.schema,k=Ir("channel["+C+`] data +Receiver: `+pu(s.element),x,g.data);S.onReceive(s,k)})})])}),IH=[Fa("channels",pw(kt.value,dc([kh("onReceive"),ae("schema",Xs())])))];const Ec=Hs({fields:IH,name:"receiving",active:FH});var HH=Object.freeze({__proto__:null,events:(n,s)=>{const a=(i,d)=>{n.updateState.each(g=>{const h=g(i,d);s.set(h)}),n.renderComponents.each(g=>{const h=g(d,s.get());(n.reuseDom?Ey:cA)(i,h)})};return ao([be(vd(),(i,d)=>{const g=d;if(!g.universal){const h=n.channel;go(g.channels,h)&&a(i,g.data)}}),Hn((i,d)=>{n.initialData.each(g=>{a(i,g)})})])}}),DM=Object.freeze({__proto__:null,getState:(n,s,a)=>a}),Wy=[Te("channel"),Dn("renderComponents"),Dn("updateState"),Dn("initialData"),Qs("reuseDom",!0)],jy=Object.freeze({__proto__:null,init:()=>{const n=ct(T.none()),s=()=>n.set(T.none());return{readState:()=>n.get().getOr("none"),get:n.get,set:n.set,clear:s}}});const Ea=Hs({fields:Wy,name:"reflecting",active:HH,apis:DM,state:jy}),d_=(n,s,a,i)=>{a.get().each(h=>{gg(n)});const d=s.getAttachPoint(n);$d(d,n);const g=n.getSystem().build(i);return $d(n,g),a.set(g),g},m_=(n,s,a,i)=>{const d=d_(n,s,a,i);return s.onOpen(n,d),d},zH=(n,s,a,i)=>a.get().map(()=>d_(n,s,a,i)),VH=(n,s,a,i,d)=>{Gy(n,s),m_(n,s,a,i),d(),R4(n,s)},f_=(n,s,a)=>{a.get().each(i=>{gg(n),Gi(n),s.onClose(n,i),a.clear()})},RM=(n,s,a)=>a.isOpen(),MM=(n,s,a,i)=>RM(n,s,a)&&a.get().exists(d=>s.isPartOf(n,d,i)),UH=(n,s,a)=>a.get(),ZH=(n,s,a,i)=>{vo(n.element,s).fold(()=>{io(n.element,a)},d=>{wt(n.element,a,d)}),Rt(n.element,s,i)},BM=(n,s,a)=>{js(n.element,a).fold(()=>Xt(n.element,s),i=>Rt(n.element,s,i))},Gy=(n,s,a)=>{const i=s.getAttachPoint(n);Rt(n.element,"position",Wr.getMode(i)),ZH(n,"visibility",s.cloakVisibilityAttr,"hidden")},g_=n=>Br(["top","left","right","bottom"],s=>vo(n,s).isSome()),R4=(n,s,a)=>{g_(n.element)||Xt(n.element,"position"),BM(n,"visibility",s.cloakVisibilityAttr)};var WH=Object.freeze({__proto__:null,cloak:Gy,decloak:R4,open:m_,openWhileCloaked:VH,close:f_,isOpen:RM,isPartOf:MM,getState:UH,setContent:zH}),jH=Object.freeze({__proto__:null,events:(n,s)=>ao([be(G1(),(a,i)=>{f_(a,n,s)})])}),GH=[yt("onOpen"),yt("onClose"),Te("isPartOf"),Te("getAttachPoint"),ae("cloakVisibilityAttr","data-precloak-visibility")],NM=Object.freeze({__proto__:null,init:()=>{const n=Ht(),s=te("not-implemented");return Ua({readState:s,isOpen:n.isSet,clear:n.clear,set:n.set,get:n.get})}});const mn=Hs({fields:GH,name:"sandboxing",active:jH,apis:WH,state:NM}),qy=(n,s)=>s.getAnimationRoot.fold(()=>n.element,a=>a(n)),tf=n=>n.dimension.property,vp=(n,s)=>n.dimension.getDimension(s),M4=(n,s)=>{const a=qy(n,s);cr(a,[s.shrinkingClass,s.growingClass])},h_=(n,s)=>{wo(n.element,s.openClass),Un(n.element,s.closedClass),Rt(n.element,tf(s),"0px"),ac(n.element)},B4=(n,s)=>{wo(n.element,s.closedClass),Un(n.element,s.openClass),Xt(n.element,tf(s))},PM=(n,s,a,i)=>{a.setCollapsed(),Rt(n.element,tf(s),vp(s,n.element)),M4(n,s),h_(n,s),s.onStartShrink(n),s.onShrunk(n)},KH=(n,s,a,i)=>{const d=i.getOrThunk(()=>vp(s,n.element));a.setCollapsed(),Rt(n.element,tf(s),d),ac(n.element);const g=qy(n,s);wo(g,s.growingClass),Un(g,s.shrinkingClass),h_(n,s),s.onStartShrink(n)},$M=(n,s,a)=>{const i=vp(s,n.element);(i==="0px"?PM:KH)(n,s,a,T.some(i))},FM=(n,s,a)=>{const i=qy(n,s),d=qo(i,s.shrinkingClass),g=vp(s,n.element);B4(n,s);const h=vp(s,n.element);(d?()=>{Rt(n.element,tf(s),g),ac(n.element)}:()=>{h_(n,s)})(),wo(i,s.shrinkingClass),Un(i,s.growingClass),B4(n,s),Rt(n.element,tf(s),h),a.setExpanded(),s.onStartGrow(n)},YH=(n,s,a)=>{if(a.isExpanded()){Xt(n.element,tf(s));const i=vp(s,n.element);Rt(n.element,tf(s),i)}},Sg=(n,s,a)=>{a.isExpanded()||FM(n,s,a)},XH=(n,s,a)=>{a.isExpanded()&&$M(n,s,a)},JH=(n,s,a)=>{a.isExpanded()&&PM(n,s,a)},yp=(n,s,a)=>a.isExpanded(),IM=(n,s,a)=>a.isCollapsed(),LM=(n,s,a)=>{const i=qy(n,s);return qo(i,s.growingClass)===!0},nf=(n,s,a)=>{const i=qy(n,s);return qo(i,s.shrinkingClass)===!0};var HM=Object.freeze({__proto__:null,refresh:YH,grow:Sg,shrink:XH,immediateShrink:JH,hasGrown:yp,hasShrunk:IM,isGrowing:LM,isShrinking:nf,isTransitioning:(n,s,a)=>LM(n,s)||nf(n,s),toggleGrow:(n,s,a)=>{(a.isExpanded()?$M:FM)(n,s,a)},disableTransitions:M4,immediateGrow:(n,s,a)=>{a.isExpanded()||(B4(n,s),Rt(n.element,tf(s),vp(s,n.element)),M4(n,s),a.setExpanded(),s.onStartGrow(n),s.onGrown(n))}}),t9=Object.freeze({__proto__:null,exhibit:(n,s,a)=>{const i=s.expanded;return ii(i?{classes:[s.openClass],styles:{}}:{classes:[s.closedClass],styles:gd(s.dimension.property,"0px")})},events:(n,s)=>ao([sa(W1(),(a,i)=>{i.event.raw.propertyName===n.dimension.property&&(M4(a,n),s.isExpanded()&&Xt(a.element,n.dimension.property),(s.isExpanded()?n.onGrown:n.onShrunk)(a))})])}),N4=[Te("closedClass"),Te("openClass"),Te("shrinkingClass"),Te("growingClass"),Dn("getAnimationRoot"),yt("onShrunk"),yt("onStartShrink"),yt("onGrown"),yt("onStartGrow"),ae("expanded",!1),Fa("dimension",Tr("property",{width:[Kn("property","width"),Kn("getDimension",n=>wr(n)+"px")],height:[Kn("property","height"),Kn("getDimension",n=>ks(n)+"px")]}))],o9=Object.freeze({__proto__:null,init:n=>{const s=ct(n.expanded),a=()=>"expanded: "+s.get();return Ua({isExpanded:()=>s.get()===!0,isCollapsed:()=>s.get()===!1,setCollapsed:on(s.set,!1),setExpanded:on(s.set,!0),readState:a})}});const Za=Hs({fields:N4,name:"sliding",active:t9,apis:HM,state:o9});var b_=Object.freeze({__proto__:null,events:(n,s)=>{const i=n.stream.streams.setup(n,s);return ao([be(n.event,i),Zi(()=>s.cancel())].concat(n.cancelEvent.map(d=>[be(d,()=>s.cancel())]).getOr([])))}});const v_=n=>{const s=ct(null);return Ua({readState:()=>({timer:s.get()!==null?"set":"unset"}),setTimer:g=>{s.set(g)},cancel:()=>{const g=s.get();g!==null&&g.cancel()}})};var zM=Object.freeze({__proto__:null,throttle:v_,init:n=>n.stream.streams.state(n)});const r9=(n,s)=>{const a=n.stream,i=nu(n.onStream,a.delay);return s.setTimer(i),(d,g)=>{i.throttle(d,g),a.stopEvent&&g.stop()}};var y_=[Fa("stream",Tr("mode",{throttle:[Te("delay"),ae("stopEvent",!0),Kn("streams",{setup:r9,state:v_})]})),ae("event","input"),Dn("cancelEvent"),kh("onStream")];const P4=Hs({fields:y_,name:"streaming",active:b_,state:zM});var a9=Object.freeze({__proto__:null,exhibit:(n,s)=>ii({attributes:hd([{key:s.tabAttr,value:"true"}])})}),c9=[ae("tabAttr","data-alloy-tabstop")];const Wn=Hs({fields:c9,name:"tabstopping",active:a9}),i9=(n,s,a)=>{const i=s.aria;i.update(n,i,a.get())},Ky=(n,s,a)=>{s.toggleClass.each(i=>{a.get()?Un(n.element,i):wo(n.element,i)})},wg=(n,s,a,i)=>{const d=a.get();a.set(i),Ky(n,s,a),i9(n,s,a),d!==i&&s.onToggled(n,i)},C_=(n,s,a)=>{wg(n,s,a,!a.get())},VM=(n,s,a)=>{wg(n,s,a,!0)},l9=(n,s,a)=>{wg(n,s,a,!1)},u9=(n,s,a)=>a.get(),UM=(n,s,a)=>{wg(n,s,a,s.selected)};var d9=Object.freeze({__proto__:null,onLoad:UM,toggle:C_,isOn:u9,on:VM,off:l9,set:wg}),WM=Object.freeze({__proto__:null,exhibit:()=>ii({}),events:(n,s)=>{const a=Kw(n,s,C_),i=b0(n,s,UM);return ao(Ot([n.toggleOnExecute?[a]:[],[i]]))}});const S_=(n,s,a)=>{wt(n.element,"aria-pressed",a),s.syncWithExpanded&&GM(n,s,a)},f9=(n,s,a)=>{wt(n.element,"aria-selected",a)},jM=(n,s,a)=>{wt(n.element,"aria-checked",a)},GM=(n,s,a)=>{wt(n.element,"aria-expanded",a)};var g9=[ae("selected",!1),Dn("toggleClass"),ae("toggleOnExecute",!0),yt("onToggled"),La("aria",{mode:"none"},Tr("mode",{pressed:[ae("syncWithExpanded",!1),Kn("update",S_)],checked:[Kn("update",jM)],expanded:[Kn("update",GM)],selected:[Kn("update",f9)],none:[Kn("update",q)]}))];const tn=Hs({fields:g9,name:"toggling",active:WM,apis:d9,state:q2(!1)}),w_=Ge("tooltip.exclusive"),Yy=Ge("tooltip.show"),Xy=Ge("tooltip.hide"),Cp=Ge("tooltip.immediateHide"),sb=Ge("tooltip.immediateShow"),x_=(n,s,a)=>{n.getSystem().broadcastOn([w_],{})};var h9=Object.freeze({__proto__:null,hideAllExclusive:x_,immediateOpenClose:(n,s,a,i)=>Gt(n,i?sb:Cp),isEnabled:(n,s,a)=>a.isEnabled(),setComponents:(n,s,a,i)=>{a.getTooltip().each(d=>{d.getSystem().isConnected()&&At.set(d,i)})},setEnabled:(n,s,a,i)=>a.setEnabled(i)}),p9=Object.freeze({__proto__:null,events:(n,s)=>{const a=h=>{s.getTooltip().each(C=>{C.getSystem().isConnected()&&(Gi(C),n.onHide(h,C),s.clearTooltip())}),s.clearTimer()},i=h=>{if(!s.isShowing()&&s.isEnabled()){x_(h);const C=n.lazySink(h).getOrDie(),S=h.getSystem().build({dom:n.tooltipDom,components:n.tooltipComponents,events:ao(n.mode==="normal"?[be(hc(),x=>{Gt(h,Yy)}),be(ps(),x=>{Gt(h,Xy)})]:[]),behaviours:De([At.config({})])});s.setTooltip(S),$d(C,S),n.onShow(h,S),Wr.position(C,S,{anchor:n.anchor(h)})}},d=h=>{s.getTooltip().each(C=>{const S=n.lazySink(h).getOrDie();Wr.position(S,C,{anchor:n.anchor(h)})})},g=()=>{switch(n.mode){case"normal":return[be(pc(),h=>{Gt(h,sb)}),be(If(),h=>{Gt(h,Cp)}),be(hc(),h=>{Gt(h,Yy)}),be(ps(),h=>{Gt(h,Xy)})];case"follow-highlight":return[be(Th(),(h,C)=>{Gt(h,Yy)}),be(Vf(),h=>{Gt(h,Xy)})];case"children-normal":return[be(pc(),(h,C)=>{rs(h.element).each(S=>{Ju(C.event.target,"[data-mce-tooltip]")&&s.getTooltip().fold(()=>{Gt(h,sb)},x=>{s.isShowing()&&(n.onShow(h,x),d(h))})})}),be(If(),h=>{rs(h.element).fold(()=>{Gt(h,Cp)},q)}),be(hc(),h=>{Nn(h.element,"[data-mce-tooltip]:hover").each(C=>{s.getTooltip().fold(()=>{Gt(h,Yy)},S=>{s.isShowing()&&(n.onShow(h,S),d(h))})})}),be(ps(),h=>{Nn(h.element,"[data-mce-tooltip]:hover").fold(()=>{Gt(h,Xy)},q)})];default:return[be(pc(),(h,C)=>{rs(h.element).each(S=>{Ju(C.event.target,"[data-mce-tooltip]")&&s.getTooltip().fold(()=>{Gt(h,sb)},x=>{s.isShowing()&&(n.onShow(h,x),d(h))})})}),be(If(),h=>{rs(h.element).fold(()=>{Gt(h,Cp)},q)})]}};return ao(Ot([[qw(h=>{n.onSetup(h)}),be(Yy,h=>{s.resetTimer(()=>{i(h)},n.delayForShow())}),be(Xy,h=>{s.resetTimer(()=>{a(h)},n.delayForHide())}),be(sb,h=>{s.resetTimer(()=>{i(h)},0)}),be(Cp,h=>{s.resetTimer(()=>{a(h)},0)}),be(vd(),(h,C)=>{const S=C;S.universal||(go(S.channels,w_)||go(S.channels,ng()))&&(S.data.closedTooltip&&s.isShowing()&&S.data.closedTooltip(),a(h))}),Zi(h=>{a(h)})],g()]))}}),KM=[Te("lazySink"),Te("tooltipDom"),ae("exclusive",!0),ae("tooltipComponents",[]),Pn("delayForShow",te(300)),Pn("delayForHide",te(100)),Pn("onSetup",q),Hr("mode","normal",["normal","follow-highlight","children-keyboard-focus","children-normal"]),ae("anchor",n=>({type:"hotspot",hotspot:n,layouts:{onLtr:te([Jo,Rs,cs,er,Xo,Ls]),onRtl:te([Jo,Rs,cs,er,Xo,Ls])},bubble:yc(0,-2,{})})),yt("onHide"),yt("onShow")],b9=Object.freeze({__proto__:null,init:()=>{const n=ct(!0),s=Ht(),a=Ht(),i=()=>{s.on(clearTimeout)},d=(h,C)=>{i(),s.set(setTimeout(h,C))},g=te("not-implemented");return Ua({getTooltip:a.get,isShowing:a.isSet,setTooltip:a.set,clearTooltip:a.clear,clearTimer:i,resetTimer:d,readState:g,isEnabled:()=>n.get(),setEnabled:h=>n.set(h)})}});const Yn=Hs({fields:KM,name:"tooltipping",active:p9,state:b9,apis:h9});var v9=Object.freeze({__proto__:null,events:()=>ao([Zh(uk(),Tt)]),exhibit:()=>ii({styles:{"-webkit-user-select":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"-moz-none"},attributes:{unselectable:"on"}})});const Jy=Hs({fields:[],name:"unselecting",active:v9}),y9=n=>{const s=n.dom.attributes!==void 0?n.dom.attributes:[];return ho(s,(a,i)=>i.name==="class"?a:{...a,[i.name]:i.value},{})},C9=n=>Array.prototype.slice.call(n.dom.classList,0),Vd=n=>{const s=Le.fromHtml(n),a=Ai(s),i=y9(s),d=C9(s),g=a.length===0?{}:{innerHtml:au(s)};return{tag:Wc(s),classes:d,attributes:i,...g}},En=n=>{const s=FL(n)&&hn(n,"uid")?n.uid:Wm("memento");return{get:g=>g.getSystem().getByUid(s).getOrDie(),getOpt:g=>g.getSystem().getByUid(s).toOptional(),asSpec:()=>({...n,uid:s})}},Us=oi,Bl=Pw,Sp=(n,s)=>{const a=ct(!1),i=ct(!1);return{stop:()=>{a.set(!0)},cut:()=>{i.set(!0)},isStopped:a.get,isCut:i.get,event:n,setSource:s.set,getSource:s.get}},S9=n=>{const s=ct(!1);return{stop:()=>{s.set(!0)},cut:q,isStopped:s.get,isCut:Fn,event:n,setSource:J("Cannot set source of a broadcasted event"),getSource:J("Cannot get source of a broadcasted event")}},w9=n=>n.raw.which===tx[0]&&!go(["input","textarea"],Wc(n.target))&&!uh(n.target,'[contenteditable="true"]'),E_=(n,s)=>{const a={stopBackspace:!0,...s},i=["touchstart","touchmove","touchend","touchcancel","gesturestart","mousedown","mouseup","mouseover","mousemove","mouseout","click"],d=gk(a),g=Ee(i.concat(["selectstart","input","contextmenu","change","transitionend","transitioncancel","drag","dragstart","dragend","dragenter","dragleave","dragover","drop","keyup"]),F=>On(n,F,L=>{d.fireIfReady(L,F).each(j=>{j&&L.kill()}),a.triggerEvent(F,L)&&L.kill()})),h=Ht(),C=On(n,"paste",F=>{d.fireIfReady(F,"paste").each(W=>{W&&F.kill()}),a.triggerEvent("paste",F)&&F.kill(),h.set(setTimeout(()=>{a.triggerEvent(j1(),F)},0))}),S=On(n,"keydown",F=>{a.triggerEvent("keydown",F)?F.kill():a.stopBackspace&&w9(F)&&F.prevent()}),x=On(n,"focusin",F=>{a.triggerEvent("focusin",F)&&F.kill()}),k=Ht(),D=On(n,"focusout",F=>{a.triggerEvent("focusout",F)&&F.kill(),k.set(setTimeout(()=>{a.triggerEvent(If(),F)},0))});return{unbind:()=>{Qe(g,F=>{F.unbind()}),S.unbind(),x.unbind(),D.unbind(),C.unbind(),h.on(clearTimeout),k.on(clearTimeout)}}},T_=(n,s)=>{const a=mt(n,"target").getOr(s);return ct(a)},Qy=Hc.generate([{stopped:[]},{resume:["element"]},{complete:[]}]),rb=(n,s,a,i,d,g)=>{const h=n(s,i),C=Sp(a,d);return h.fold(()=>(g.logEventNoHandlers(s,i),Qy.complete()),S=>{const x=S.descHandler;return _y(x)(C),C.isStopped()?(g.logEventStopped(s,S.element,x.purpose),Qy.stopped()):C.isCut()?(g.logEventCut(s,S.element,x.purpose),Qy.complete()):ea(S.element).fold(()=>(g.logNoParent(s,S.element,x.purpose),Qy.complete()),D=>(g.logEventResponse(s,S.element,x.purpose),Qy.resume(D)))})},XM=(n,s,a,i,d,g)=>rb(n,s,a,i,d,g).fold(Tt,h=>XM(n,s,a,h,d,g),Fn),JM=(n,s,a,i,d)=>{const g=T_(a,i);return rb(n,s,a,i,g,d)},QM=(n,s,a)=>{const i=S9(s);return Qe(n,d=>{const g=d.descHandler;_y(g)(i)}),i.isStopped()},e8=(n,s,a,i)=>Ud(n,s,a,a.target,i),Ud=(n,s,a,i,d)=>{const g=T_(a,i);return XM(n,s,a,i,g,d)},of=(n,s)=>({element:n,descHandler:s}),t8=(n,s)=>({id:n,descHandler:s}),ab=()=>{const n={},s=(h,C,S)=>{Fo(S,(x,k)=>{const D=n[k]!==void 0?n[k]:{};D[C]=Ay(x,h),n[k]=D})},a=(h,C)=>Tu(C).bind(S=>mt(h,S)).map(S=>of(C,S));return{registerId:s,unregisterId:h=>{Fo(n,(C,S)=>{In(C,h)&&delete C[h]})},filterByType:h=>mt(n,h).map(C=>Fr(C,(S,x)=>t8(x,S))).getOr([]),find:(h,C,S)=>mt(n,C).bind(x=>Xc(S,k=>a(x,k),h))}},x9=()=>{const n=ab(),s={},a=x=>{const k=x.element;return Tu(k).getOrThunk(()=>Gx("uid-",x.element))},i=(x,k)=>{const D=s[k];if(D===x)g(x);else throw new Error('The tagId "'+k+'" is already used by: '+pu(D.element)+` +Cannot use it for: `+pu(x.element)+` +The conflicting element is`+(pn(D.element)?" ":" not ")+"already in the DOM")},d=x=>{const k=a(x);hn(s,k)&&i(x,k);const D=[x];n.registerId(D,k,x.events),s[k]=x},g=x=>{Tu(x.element).each(k=>{delete s[k],n.unregisterId(k)})};return{find:(x,k,D)=>n.find(x,k,D),filter:x=>n.filterByType(x),register:d,unregister:g,getById:x=>mt(s,x)}},eC=n=>{const s=V=>ea(n.element).fold(Tt,K=>Vn(V,K)),a=x9(),i=(V,K)=>a.find(s,V,K),d=E_(n.element,{triggerEvent:(V,K)=>p2(V,K.target,Q=>e8(i,V,K,Q))}),g={debugInfo:te("real"),triggerEvent:(V,K,Q)=>{p2(V,K,le=>Ud(i,V,Q,K,le))},triggerFocus:(V,K)=>{Tu(V).fold(()=>{Ps(V)},Q=>{p2(kr(),V,le=>(JM(i,kr(),{originator:K,kill:q,prevent:q,target:V},V,le),!1))})},triggerEscape:(V,K)=>{g.triggerEvent("keydown",V.element,K.event)},getByUid:V=>W(V),getByDom:V=>j(V),build:tr,buildOrPatch:eb,addToGui:V=>{S(V)},removeFromGui:V=>{x(V)},addToWorld:V=>{h(V)},removeFromWorld:V=>{C(V)},broadcast:V=>{N(V)},broadcastOn:(V,K)=>{F(V,K)},broadcastEvent:(V,K)=>{L(V,K)},isConnected:Tt},h=V=>{V.connect(g),ed(V.element)||(a.register(V),Qe(V.components(),h),g.triggerEvent(q1(),V.element,{target:V.element}))},C=V=>{ed(V.element)||(Qe(V.components(),C),a.unregister(V)),V.disconnect()},S=V=>{$d(n,V)},x=V=>{Gi(V)},k=()=>{d.unbind(),Kc(n.element)},D=V=>{const K=a.filter(vd());Qe(K,Q=>{const le=Q.descHandler;_y(le)(V)})},N=V=>{D({universal:!0,data:V})},F=(V,K)=>{D({universal:!1,channels:V,data:K})},L=(V,K)=>{const Q=a.filter(V);return QM(Q,K)},W=V=>a.getById(V).fold(()=>kt.error(new Error('Could not find component with uid: "'+V+'" in system.')),kt.value),j=V=>{const K=Tu(V).getOr("not found");return W(K)};return h(n),{root:n,element:n.element,destroy:k,add:S,remove:x,getByUid:W,getByDom:j,addToWorld:h,removeFromWorld:C,broadcast:N,broadcastOn:F,broadcastEvent:L}},k_=()=>{const n=(s,a)=>{a.stop(),Dd(s)};return[be(gu(),n),be(bc(),n),ci(pd()),ci(zr())]},tC=n=>{const s=a=>Cu((i,d)=>{a(i),d.stop()});return ao(Ot([n.map(s).toArray(),k_()]))},br=mi({name:"Button",factory:n=>{const s=tC(n.action),a=n.dom.tag,i=g=>mt(n.dom,"attributes").bind(h=>mt(h,g)),d=()=>{if(a==="button"){const g=i("type").getOr("button"),h=i("role").map(C=>({role:C})).getOr({});return{type:g,...h}}else return{role:n.role.getOr(i("role").getOr("button"))}};return{uid:n.uid,dom:n.dom,components:n.components,events:s,behaviours:wa.augment(n.buttonBehaviours,[Pt.config({}),lt.config({mode:"execution",useSpace:!0,useEnter:!0})]),domModification:{attributes:d()},eventOrder:n.eventOrder}},configFields:[ae("uid",void 0),Te("dom"),ae("components",[]),wa.field("buttonBehaviours",[Pt,lt]),Dn("action"),Dn("role"),ae("eventOrder",{})]}),Ji=te([ae("shell",!1),Te("makeItem"),ae("setupItem",q),wa.field("listBehaviours",[At])]),E9=vc({name:"items",overrides:()=>({behaviours:De([At.config({})])})}),T9=te([E9]),k9=te("CustomList"),A9=(n,s,a,i)=>{const d=(C,S)=>{h(C).fold(()=>{throw console.error("Custom List was defined to not be a shell, but no item container was specified in components"),new Error("Custom List was defined to not be a shell, but no item container was specified in components")},x=>{const k=At.contents(x),D=S.length,N=D-k.length,F=N>0?Wo(N,()=>n.makeItem()):[],L=k.slice(D);Qe(L,j=>At.remove(x,j)),Qe(F,j=>At.append(x,j));const W=At.contents(x);Qe(W,(j,V)=>{n.setupItem(C,j,S[V],V)})})},g=n.shell?{behaviours:[At.config({})],components:[]}:{behaviours:[],components:s},h=C=>n.shell?T.some(C):Zn(C,n,"items");return{uid:n.uid,dom:n.dom,components:g.components,behaviours:pr(n.listBehaviours,g.behaviours),apis:{setItems:d}}},cb=xa({name:k9(),configFields:Ji(),partFields:T9(),factory:A9,apis:{setItems:(n,s,a)=>{n.setItems(s,a)}}}),nC="aria-controls",o8=n=>Of(n,a=>{if(!ga(a))return!1;const i=Ts(a,"id");return i!==void 0&&i.indexOf(nC)>-1}).bind(a=>{const i=Ts(a,"id"),d=ss(a);return Nn(d,`[${nC}="${i}"]`)}),$4=()=>{const n=Ge(nC);return{id:n,link:i=>{wt(i,nC,n)},unlink:i=>{io(i,nC)}}},_9=(n,s)=>o8(s).exists(a=>sf(n,a)),sf=(n,s)=>O1(s,a=>Vn(a,n.element),Fn)||_9(n,s),F4="alloy.item-hover",s8="alloy.item-focus",__="alloy.item-toggled",O_=n=>{(rs(n.element).isNone()||Pt.isFocused(n))&&(Pt.isFocused(n)||Pt.focus(n),gt(n,F4,{item:n}))},r8=n=>{gt(n,s8,{item:n})},a8=(n,s)=>{gt(n,__,{item:n,state:s})},D_=te(F4),O9=te(s8),D9=te(__),R9=n=>n.role.fold(()=>n.toggling.map(s=>s.exclusive?"menuitemradio":"menuitemcheckbox").getOr("menuitem"),Qt),M9=(n,s)=>({aria:{mode:s?"selected":"checked"},...$r(n,(a,i)=>i!=="exclusive"),onToggled:(a,i)=>{Dt(n.onToggled)&&n.onToggled(a,i),a8(a,i)}}),B9=n=>({dom:n.dom,domModification:{...n.domModification,attributes:{role:R9(n),...n.domModification.attributes,"aria-haspopup":n.hasSubmenu,...n.hasSubmenu?{"aria-expanded":!1}:{}}},behaviours:wa.augment(n.itemBehaviours,[n.toggling.fold(tn.revoke,s=>tn.config(M9(s,n.role.exists(a=>a==="option")))),Pt.config({ignore:n.ignoreFocus,stopMousedown:n.ignoreFocus,onFocus:s=>{r8(s)}}),lt.config({mode:"execution"}),je.config({store:{mode:"memory",initialValue:n.data}}),Nt("item-type-events",[...k_(),be(hc(),O_),be(hu(),Pt.focus)])]),components:n.components,eventOrder:n.eventOrder});var c8=[Te("data"),Te("components"),Te("dom"),ae("hasSubmenu",!1),Dn("toggling"),Dn("role"),wa.field("itemBehaviours",[tn,Pt,lt,je]),ae("ignoreFocus",!1),ae("domModification",{}),Kn("builder",B9),ae("eventOrder",{})];const P9=n=>({dom:n.dom,components:n.components,events:ao([Im(hu())])});var i8=[Te("dom"),Te("components"),Kn("builder",P9)];const R_=te("item-widget"),M_=te([Vr({name:"widget",overrides:n=>({behaviours:De([je.config({store:{mode:"manual",getValue:s=>n.data,setValue:q}})])})})]),l8=n=>{const s=Ed(R_(),n,M_()),a=Vi(R_(),n,s.internals()),i=g=>Zn(g,n,"widget").map(h=>(lt.focusIn(h),h)),d=(g,h)=>Hm(h.event.target)?T.none():(()=>(n.autofocus&&h.setSource(g.element),T.none()))();return{dom:n.dom,components:a,domModification:n.domModification,events:ao([Cu((g,h)=>{i(g).each(C=>{h.stop()})}),be(hc(),O_),be(hu(),(g,h)=>{n.autofocus?i(g):Pt.focus(g)})]),behaviours:wa.augment(n.widgetBehaviours,[je.config({store:{mode:"memory",initialValue:n.data}}),Pt.config({ignore:n.ignoreFocus,onFocus:g=>{r8(g)}}),lt.config({mode:"special",focusIn:n.autofocus?g=>{i(g)}:j2(),onLeft:d,onRight:d,onEscape:(g,h)=>!Pt.isFocused(g)&&!n.autofocus?(Pt.focus(g),T.some(!0)):(n.autofocus&&h.setSource(g.element),T.none())})])}};var d8=[Te("uid"),Te("data"),Te("components"),Te("dom"),ae("autofocus",!1),ae("ignoreFocus",!1),wa.field("widgetBehaviours",[je,Pt,lt]),ae("domModification",{}),ni(M_()),Kn("builder",l8)];const m8=Tr("type",{widget:d8,item:c8,separator:i8}),f8=(n,s)=>({mode:"flatgrid",selector:"."+n.markers.item,initSize:{numColumns:s.initSize.numColumns,numRows:s.initSize.numRows},focusManager:n.focusManager}),F9=(n,s)=>({mode:"matrix",selectors:{row:s.rowSelector,cell:"."+n.markers.item},previousSelector:s.previousSelector,focusManager:n.focusManager}),I9=(n,s)=>({mode:"menu",selector:"."+n.markers.item,moveOnTab:s.moveOnTab,focusManager:n.focusManager}),g8=te([Mh({factory:{sketch:n=>{const s=Ir("menu.spec item",m8,n);return s.builder(s)}},name:"items",unit:"item",defaults:(n,s)=>In(s,"uid")?s:{...s,uid:Wm("item")},overrides:(n,s)=>({type:s.type,ignoreFocus:n.fakeFocus,domModification:{classes:[n.markers.item]}})})]),B_=te([To("role"),Te("value"),Te("items"),Te("dom"),Te("components"),ae("eventOrder",{}),hr("menuBehaviours",[bn,je,ue,lt]),La("movement",{mode:"menu",moveOnTab:!0},Tr("mode",{grid:[ti(),Kn("config",f8)],matrix:[Kn("config",F9),Te("rowSelector"),ae("previousSelector",T.none)],menu:[ae("moveOnTab",!0),Kn("config",I9)]})),b2(),ae("fakeFocus",!1),ae("focusManager",ny()),yt("onHighlight"),yt("onDehighlight"),ae("showMenuRole",!0)]),I4=te("alloy.menu-focus"),h8=(n,s)=>{const a=Ks(n.element,'[role="menuitemradio"][aria-checked="true"]');Qe(a,i=>{Vn(i,s.element)||n.getSystem().getByDom(i).each(d=>{tn.off(d)})})},p8=(n,s,a,i)=>({uid:n.uid,dom:n.dom,markers:n.markers,behaviours:pr(n.menuBehaviours,[bn.config({highlightClass:n.markers.selectedItem,itemClass:n.markers.item,onHighlight:n.onHighlight,onDehighlight:n.onDehighlight}),je.config({store:{mode:"memory",initialValue:n.value}}),ue.config({find:T.some}),lt.config(n.movement.config(n,n.movement))]),events:ao([be(O9(),(d,g)=>{const h=g.event;d.getSystem().getByDom(h.target).each(C=>{bn.highlight(d,C),g.stop(),gt(d,I4(),{menu:d,item:C})})}),be(D_(),(d,g)=>{const h=g.event.item;bn.highlight(d,h)}),be(D9(),(d,g)=>{const{item:h,state:C}=g.event;C&&Ts(h.element,"role")==="menuitemradio"&&h8(d,h)})]),components:s,eventOrder:n.eventOrder,...n.showMenuRole?{domModification:{attributes:{role:n.role.getOr("menu")}}}:{}}),Zd=xa({name:"Menu",configFields:B_(),partFields:g8(),factory:p8}),L9=n=>jg(n,(s,a)=>({k:s,v:a})),L4=(n,s,a,i)=>mt(a,i).bind(d=>mt(n,d).bind(g=>{const h=L4(n,s,a,g);return T.some([g].concat(h))})).getOr([]),H9=(n,s)=>{const a={};Fo(n,(h,C)=>{Qe(h,S=>{a[S]=C})});const i=s,d=L9(s),g=jo(d,(h,C)=>[C].concat(L4(a,i,d,C)));return jo(a,h=>mt(g,h).getOr([h]))},b8=()=>{const n=ct({}),s=ct({}),a=ct({}),i=Ht(),d=ct({}),g=()=>{n.set({}),s.set({}),a.set({}),i.clear()},h=()=>i.get().isNone(),C=(me,Fe)=>{s.set({...s.get(),[me]:{type:"prepared",menu:Fe}})},S=(me,Fe,ze,ve)=>{i.set(me),n.set(ze),s.set(Fe),d.set(ve);const ke=H9(ve,ze);a.set(ke)},x=me=>ml(n.get(),(Fe,ze)=>Fe===me),k=(me,Fe,ze)=>W(me).bind(ve=>x(me).bind(ke=>Fe(ke).map(ht=>({triggeredMenu:ve,triggeringItem:ht,triggeringPath:ze})))),D=(me,Fe)=>{const ze=oo(V(me).toArray(),ve=>W(ve).isSome());return mt(a.get(),me).bind(ve=>{const ke=Nr(ze.concat(ve)),ht=ie(ke,(tt,qt)=>k(tt,Fe,ke.slice(0,qt+1)).fold(()=>zc(i.get(),tt)?[]:[T.none()],Ct=>[T.some(Ct)]));return fv(ht)})},N=me=>mt(n.get(),me).map(Fe=>{const ze=mt(a.get(),me).getOr([]);return[Fe].concat(ze)}),F=me=>mt(a.get(),me).bind(Fe=>Fe.length>1?T.some(Fe.slice(1)):T.none()),L=me=>mt(a.get(),me),W=me=>j(me).bind(N_),j=me=>mt(s.get(),me),V=me=>mt(n.get(),me);return{setMenuBuilt:C,setContents:S,expand:N,refresh:L,collapse:F,lookupMenu:j,lookupItem:V,otherMenus:me=>{const Fe=d.get();return ft(Bn(Fe),me)},getPrimary:()=>i.get().bind(W),getMenus:()=>s.get(),clear:g,isClear:h,getTriggeringPath:D}},N_=n=>n.type==="prepared"?T.some(n.menu):T.none(),xg={init:b8,extractPreparedMenu:N_},v8=Ge("tiered-menu-item-highlight"),H4=Ge("tiered-menu-item-dehighlight"),z4=(n,s)=>{const a=Ht(),i=(Ce,Be,St)=>jo(St,($t,rt)=>{const Ft=()=>Zd.sketch({...$t,value:rt,markers:n.markers,fakeFocus:n.fakeFocus,onHighlight:(vn,ln)=>{gt(vn,v8,{menuComp:vn,itemComp:ln})},onDehighlight:(vn,ln)=>{gt(vn,H4,{menuComp:vn,itemComp:ln})},focusManager:n.fakeFocus?oy():ny()});return rt===Be?{type:"prepared",menu:Ce.getSystem().build(Ft())}:{type:"notbuilt",nbMenu:Ft}}),d=xg.init(),g=Ce=>{const Be=i(Ce,n.data.primary,n.data.menus),St=S();return d.setContents(n.data.primary,Be,n.data.expansions,St),d.getPrimary()},h=Ce=>je.getValue(Ce).value,C=(Ce,Be,St)=>Ka(Be,$t=>{if(!$t.getSystem().isConnected())return T.none();const rt=bn.getCandidates($t);return Bt(rt,Ft=>h(Ft)===St)}),S=Ce=>jo(n.data.menus,(Be,St)=>ie(Be.items,$t=>$t.type==="separator"?[]:[$t.data.value])),x=bn.highlight,k=(Ce,Be)=>{x(Ce,Be),bn.getHighlighted(Be).orThunk(()=>bn.getFirst(Be)).each(St=>{n.fakeFocus?bn.highlight(Be,St):U2(Ce,St.element,hu())})},D=(Ce,Be)=>gm(Ee(Be,St=>Ce.lookupMenu(St).bind($t=>$t.type==="prepared"?T.some($t.menu):T.none()))),N=(Ce,Be,St)=>{const $t=D(Be,Be.otherMenus(St));Qe($t,rt=>{cr(rt.element,[n.markers.backgroundMenu]),n.stayInDom||At.remove(Ce,rt)})},F=Ce=>a.get().getOrThunk(()=>{const Be={},St=Ks(Ce.element,`.${n.markers.item}`),$t=oo(St,rt=>Ts(rt,"aria-haspopup")==="true");return Qe($t,rt=>{Ce.getSystem().getByDom(rt).each(Ft=>{const vn=h(Ft);Be[vn]=Ft})}),a.set(Be),Be}),L=(Ce,Be)=>{const St=F(Ce);Fo(St,($t,rt)=>{const Ft=go(Be,rt);wt($t.element,"aria-expanded",Ft)})},W=(Ce,Be,St)=>T.from(St[0]).bind($t=>Be.lookupMenu($t).bind(rt=>{if(rt.type==="notbuilt")return T.none();{const Ft=rt.menu,vn=D(Be,St.slice(1));return Qe(vn,ln=>{Un(ln.element,n.markers.backgroundMenu)}),pn(Ft.element)||At.append(Ce,Qo(Ft)),cr(Ft.element,[n.markers.backgroundMenu]),k(Ce,Ft),N(Ce,Be,St),T.some(Ft)}}));let j;(function(Ce){Ce[Ce.HighlightSubmenu=0]="HighlightSubmenu",Ce[Ce.HighlightParent=1]="HighlightParent"})(j||(j={}));const V=(Ce,Be,St)=>{if(St.type==="notbuilt"){const $t=Ce.getSystem().build(St.nbMenu());return d.setMenuBuilt(Be,$t),$t}else return St.menu},K=(Ce,Be,St=j.HighlightSubmenu)=>{if(Be.hasConfigured(Je)&&Je.isDisabled(Be))return T.some(Be);{const $t=h(Be);return d.expand($t).bind(rt=>(L(Ce,rt),T.from(rt[0]).bind(Ft=>d.lookupMenu(Ft).bind(vn=>{const ln=V(Ce,Ft,vn);return pn(ln.element)||At.append(Ce,Qo(ln)),n.onOpenSubmenu(Ce,Be,ln,Nr(rt)),St===j.HighlightSubmenu?(bn.highlightFirst(ln),W(Ce,d,rt)):(bn.dehighlightAll(ln),T.some(Be))}))))}},Q=(Ce,Be)=>{const St=h(Be);return d.collapse(St).bind($t=>(L(Ce,$t),W(Ce,d,$t).map(rt=>(n.onCollapseMenu(Ce,Be,rt),rt))))},le=(Ce,Be)=>{const St=h(Be);return d.refresh(St).bind($t=>(L(Ce,$t),W(Ce,d,$t)))},me=(Ce,Be)=>Hm(Be.element)?T.none():K(Ce,Be,j.HighlightSubmenu),Fe=(Ce,Be)=>Hm(Be.element)?T.none():Q(Ce,Be),ze=(Ce,Be)=>Q(Ce,Be).orThunk(()=>n.onEscape(Ce,Be).map(()=>Ce)),ve=Ce=>(Be,St)=>xr(St.getSource(),`.${n.markers.item}`).bind($t=>Be.getSystem().getByDom($t).toOptional().bind(rt=>Ce(Be,rt).map(Tt))),ke=ao([be(I4(),(Ce,Be)=>{const St=Be.event.item;d.lookupItem(h(St)).each(()=>{const $t=Be.event.menu;bn.highlight(Ce,$t);const rt=h(Be.event.item);d.refresh(rt).each(Ft=>N(Ce,d,Ft))})}),Cu((Ce,Be)=>{const St=Be.event.target;Ce.getSystem().getByDom(St).each($t=>{h($t).indexOf("collapse-item")===0&&Q(Ce,$t),K(Ce,$t,j.HighlightSubmenu).fold(()=>{n.onExecute(Ce,$t)},q)})}),Hn((Ce,Be)=>{g(Ce).each(St=>{At.append(Ce,Qo(St)),n.onOpenMenu(Ce,St),n.highlightOnOpen===dr.HighlightMenuAndItem?k(Ce,St):n.highlightOnOpen===dr.HighlightJustMenu&&x(Ce,St)})}),be(v8,(Ce,Be)=>{n.onHighlightItem(Ce,Be.event.menuComp,Be.event.itemComp)}),be(H4,(Ce,Be)=>{n.onDehighlightItem(Ce,Be.event.menuComp,Be.event.itemComp)}),...n.navigateOnHover?[be(D_(),(Ce,Be)=>{const St=Be.event.item;le(Ce,St),K(Ce,St,j.HighlightParent),n.onHover(Ce,St)})]:[]]),ht=Ce=>bn.getHighlighted(Ce).bind(bn.getHighlighted),tt=Ce=>{ht(Ce).each(Be=>{Q(Ce,Be)})},qt=Ce=>{d.getPrimary().each(Be=>{k(Ce,Be)})},Ct=Ce=>T.from(Ce.components()[0]).filter(Be=>Ts(Be.element,"role")==="menu"),nt={collapseMenu:tt,highlightPrimary:qt,repositionMenus:Ce=>{d.getPrimary().bind(St=>ht(Ce).bind($t=>{const rt=h($t),Ft=Ku(d.getMenus()),vn=gm(Ee(Ft,xg.extractPreparedMenu));return d.getTriggeringPath(rt,ln=>C(Ce,vn,ln))}).map($t=>({primary:St,triggeringPath:$t}))).fold(()=>{Ct(Ce).each(St=>{n.onRepositionMenu(Ce,St,[])})},({primary:St,triggeringPath:$t})=>{n.onRepositionMenu(Ce,St,$t)})}};return{uid:n.uid,dom:n.dom,markers:n.markers,behaviours:pr(n.tmenuBehaviours,[lt.config({mode:"special",onRight:ve(me),onLeft:ve(Fe),onEscape:ve(ze),focusIn:(Ce,Be)=>{d.getPrimary().each(St=>{U2(Ce,St.element,hu())})}}),bn.config({highlightClass:n.markers.selectedMenu,itemClass:n.markers.menu}),ue.config({find:Ce=>bn.getHighlighted(Ce)}),At.config({})]),eventOrder:n.eventOrder,apis:nt,events:ke}},z9=te("collapse-item"),y8=(n,s,a)=>({primary:n,menus:s,expansions:a}),C8=(n,s)=>({primary:n,menus:gd(n,s),expansions:{}}),S8=n=>({value:Ge(z9()),meta:{text:n}}),Wd=mi({name:"TieredMenu",configFields:[X1("onExecute"),X1("onEscape"),kh("onOpenMenu"),kh("onOpenSubmenu"),yt("onRepositionMenu"),yt("onCollapseMenu"),ae("highlightOnOpen",dr.HighlightMenuAndItem),Li("data",[Te("primary"),Te("menus"),Te("expansions")]),ae("fakeFocus",!1),yt("onHighlightItem"),yt("onDehighlightItem"),yt("onHover"),Dw(),Te("dom"),ae("navigateOnHover",!0),ae("stayInDom",!1),hr("tmenuBehaviours",[lt,bn,ue,At]),ae("eventOrder",{})],apis:{collapseMenu:(n,s)=>{n.collapseMenu(s)},highlightPrimary:(n,s)=>{n.highlightPrimary(s)},repositionMenus:(n,s)=>{n.repositionMenus(s)}},factory:z4,extraApis:{tieredData:y8,singleData:C8,collapseItem:S8}}),P_=te("sink"),V9=te(vc({name:P_(),overrides:te({dom:{tag:"div"},behaviours:De([Wr.config({useFixed:Tt})]),events:ao([ci(Os()),ci(zr()),ci(gu())])})})),w8=dc([ae("isExtraPart",Fn),oa("fireEventInstead",[ae("event",Rm())])]),V4=n=>{const s=Ir("Dismissal",w8,n);return{[Wi()]:{schema:dc([Te("target")]),onReceive:(a,i)=>{mn.isOpen(a)&&(mn.isPartOf(a,i.target)||s.isExtraPart(a,i.target)||s.fireEventInstead.fold(()=>mn.close(a),g=>Gt(a,g.event)))}}}},x8=dc([oa("fireEventInstead",[ae("event",Hf())]),lr("doReposition")]),U4=n=>{const s=Ir("Reposition",x8,n);return{[fr()]:{onReceive:a=>{mn.isOpen(a)&&s.fireEventInstead.fold(()=>s.doReposition(a),i=>Gt(a,i.event))}}}},E8=(n,s)=>{const a=n.getHotspot(s).getOr(s),i="hotspot",d=n.getAnchorOverrides();return n.layouts.fold(()=>({type:i,hotspot:a,overrides:d}),g=>({type:i,hotspot:a,overrides:d,layouts:g}))},$_=(n,s,a)=>{const i=n.fetch;return i(a).map(s)},U9=(n,s,a,i,d,g,h)=>{const C=$_(n,s,i),S=A8(i,n);return C.map(x=>x.bind(k=>{const D=k.menus[k.primary];return T.from(D).each(N=>{n.listRole.each(F=>{N.role=F})}),T.from(Wd.sketch({...g.menu(),uid:Wm(""),data:k,highlightOnOpen:h,onOpenMenu:(N,F)=>{const L=S().getOrDie();Wr.position(L,F,{anchor:a}),mn.decloak(d)},onOpenSubmenu:(N,F,L)=>{const W=S().getOrDie();Wr.position(W,L,{anchor:{type:"submenu",item:F}}),mn.decloak(d)},onRepositionMenu:(N,F,L)=>{const W=S().getOrDie();Wr.position(W,F,{anchor:a}),Qe(L,j=>{Wr.position(W,j.triggeredMenu,{anchor:{type:"submenu",item:j.triggeringItem}})})},onEscape:()=>(Pt.focus(i),mn.close(d),T.some(!0))}))}))},Z4=(n,s,a,i,d,g,h)=>{const C=E8(n,a);return U9(n,s,C,a,i,d,h).map(x=>(x.fold(()=>{mn.isOpen(i)&&mn.close(i)},k=>{mn.cloak(i),mn.open(i,k),g(i)}),i))},Z9=(n,s,a,i,d,g,h)=>(mn.close(i),Io.pure(i)),T8=(n,s,a,i,d,g)=>{const h=st.getCoupled(a,"sandbox");return(mn.isOpen(h)?Z9:Z4)(n,s,a,h,i,d,g)},k8=(n,s,a)=>{const i=ue.getCurrent(s).getOr(s),d=wr(n.element);a?Rt(i.element,"min-width",d+"px"):wm(i.element,d)},A8=(n,s)=>n.getSystem().getByUid(s.uid+"-"+P_()).map(a=>()=>kt.value(a)).getOrThunk(()=>s.lazySink.fold(()=>()=>kt.error(new Error("No internal sink is specified, nor could an external sink be found")),a=>()=>a(n))),ib=n=>{mn.getState(n).each(s=>{Wd.repositionMenus(s)})},F_=(n,s,a)=>{const i=$4(),d=(C,S)=>{const x=E8(n,s);i.link(s.element),n.matchWidth&&k8(x.hotspot,S,n.useMinWidth),n.onOpen(x,C,S),a!==void 0&&a.onOpen!==void 0&&a.onOpen(C,S),Wd.repositionMenus(S)},g=(C,S)=>{i.unlink(s.element),h().getOr(S).element.dom.dispatchEvent(new window.FocusEvent("focusout")),a!==void 0&&a.onClose!==void 0&&a.onClose(C,S)},h=A8(s,n);return{dom:{tag:"div",classes:n.sandboxClasses,attributes:{id:i.id}},behaviours:wa.augment(n.sandboxBehaviours,[je.config({store:{mode:"memory",initialValue:s}}),mn.config({onOpen:d,onClose:g,isPartOf:(C,S,x)=>sf(S,x)||sf(s,x),getAttachPoint:()=>h().getOrDie()}),ue.config({find:C=>mn.getState(C).bind(S=>ue.getCurrent(S))}),Ec.config({channels:{...V4({isExtraPart:Fn}),...U4({doReposition:ib})}})])}},W9=n=>{const s=st.getCoupled(n,"sandbox");ib(s)},_8=()=>[ae("sandboxClasses",[]),wa.field("sandboxBehaviours",[ue,Ec,mn,je])],I_=te([Te("dom"),Te("fetch"),yt("onOpen"),va("onExecute"),ae("getHotspot",T.some),ae("getAnchorOverrides",te({})),pp(),hr("dropdownBehaviours",[tn,st,lt,Pt]),Te("toggleClass"),ae("eventOrder",{}),Dn("lazySink"),ae("matchWidth",!1),ae("useMinWidth",!1),Dn("role"),Dn("listRole")].concat(_8())),j9=te([Ar({schema:[Dw(),ae("fakeFocus",!1)],name:"menu",defaults:n=>({onExecute:n.onExecute})}),V9()]),G9=(n,s,a,i)=>{const d=k=>mt(n.dom,"attributes").bind(D=>mt(D,k)),g=k=>{mn.getState(k).each(D=>{Wd.highlightPrimary(D)})},h=(k,D,N)=>T8(n,Qt,k,i,D,N),C=k=>{h(k,g,dr.HighlightMenuAndItem).get(q)},S={expand:k=>{tn.isOn(k)||h(k,q,dr.HighlightNone).get(q)},open:k=>{tn.isOn(k)||h(k,q,dr.HighlightMenuAndItem).get(q)},refetch:k=>st.getExistingCoupled(k,"sandbox").fold(()=>h(k,q,dr.HighlightMenuAndItem).map(q),N=>Z4(n,Qt,k,N,i,q,dr.HighlightMenuAndItem).map(q)),isOpen:tn.isOn,close:k=>{tn.isOn(k)&&h(k,q,dr.HighlightMenuAndItem).get(q)},repositionMenus:k=>{tn.isOn(k)&&W9(k)}},x=(k,D)=>(Dd(k),T.some(!0));return{uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.dropdownBehaviours,[tn.config({toggleClass:n.toggleClass,aria:{mode:"expanded"}}),st.config({others:{sandbox:k=>F_(n,k,{onOpen:()=>tn.on(k),onClose:()=>tn.off(k)})}}),lt.config({mode:"special",onSpace:x,onEnter:x,onDown:(k,D)=>{if(Tc.isOpen(k)){const N=st.getCoupled(k,"sandbox");g(N)}else Tc.open(k);return T.some(!0)},onEscape:(k,D)=>Tc.isOpen(k)?(Tc.close(k),T.some(!0)):T.none()}),Pt.config({})]),events:tC(T.some(C)),eventOrder:{...n.eventOrder,[Ha()]:["disabling","toggling","alloy.base.behaviour"]},apis:S,domModification:{attributes:{"aria-haspopup":n.listRole.getOr("true"),...n.role.fold(()=>({}),k=>({role:k})),...n.dom.tag==="button"?{type:d("type").getOr("button")}:{}}}}},Tc=xa({name:"Dropdown",configFields:I_(),partFields:j9(),factory:G9,apis:{open:(n,s)=>n.open(s),refetch:(n,s)=>n.refetch(s),expand:(n,s)=>n.expand(s),close:(n,s)=>n.close(s),isOpen:(n,s)=>n.isOpen(s),repositionMenus:(n,s)=>n.repositionMenus(s)}}),O8="form",q9=[hr("formBehaviours",[je])],L_=n=>"",K9=n=>{const s=(()=>{const g=[];return{field:(C,S)=>(g.push(C),jf(O8,L_(C),S)),record:te(g)}})(),a=n(s),i=s.record(),d=Ee(i,g=>Vr({name:g,pname:L_(g)}));return f4(O8,q9,d,X9,a)},Y9=(n,s)=>n.fold(()=>kt.error(s),kt.value),X9=(n,s)=>({uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.formBehaviours,[je.config({store:{mode:"manual",getValue:a=>{const i=Ur(a,n);return jo(i,(d,g)=>d().bind(h=>{const C=ue.getCurrent(h);return Y9(C,new Error(`Cannot find a current component to extract the value from for form part '${g}': `+pu(h.element)))}).map(je.getValue))},setValue:(a,i)=>{Fo(i,(d,g)=>{Zn(a,n,g).each(h=>{ue.getCurrent(h).each(C=>{je.setValue(C,d)})})})}}})]),apis:{getField:(a,i)=>Zn(a,n,i).bind(ue.getCurrent)}}),wp={getField:L0((n,s,a)=>n.getField(s,a)),sketch:K9},lb=te([Te("dom"),ae("shell",!0),hr("toolbarBehaviours",[At])]),D8=te([vc({name:"groups",overrides:()=>({behaviours:De([At.config({})])})})]),J9=(n,s,a,i)=>{const d=(C,S)=>{g(C).fold(()=>{throw console.error("Toolbar was defined to not be a shell, but no groups container was specified in components"),new Error("Toolbar was defined to not be a shell, but no groups container was specified in components")},x=>{At.set(x,S)})},g=C=>n.shell?T.some(C):Zn(C,n,"groups"),h=n.shell?{behaviours:[At.config({})],components:[]}:{behaviours:[],components:s};return{uid:n.uid,dom:n.dom,components:h.components,behaviours:pr(n.toolbarBehaviours,h.behaviours),apis:{setGroups:d,refresh:q},domModification:{attributes:{role:"toolbar"}}}},Nl=xa({name:"Toolbar",configFields:lb(),partFields:D8(),factory:J9,apis:{setGroups:(n,s,a)=>{n.setGroups(s,a)}}}),R8=te([za(["toggledClass"]),Te("lazySink"),lr("fetch"),ei("getBounds"),oa("fireDismissalEventInstead",[ae("event",Rm())]),pp(),yt("onToggled")]),H_=te([Ar({name:"button",overrides:n=>({dom:{attributes:{"aria-haspopup":"true"}},buttonBehaviours:De([tn.config({toggleClass:n.markers.toggledClass,aria:{mode:"expanded"},toggleOnExecute:!1,onToggled:n.onToggled})])})}),Ar({factory:Nl,schema:lb(),name:"toolbar",overrides:n=>({toolbarBehaviours:De([lt.config({mode:"cyclic",onEscape:s=>(Zn(s,n,"button").each(Pt.focus),T.none())})])})})]),W4=Ht(),M8=(n,s)=>{W4.set(!0),z_(n,s),W4.clear()},z_=(n,s)=>{const a=st.getCoupled(n,"toolbarSandbox");mn.isOpen(a)?mn.close(a):mn.open(a,s.toolbar())},xp=(n,s,a,i)=>{const d=a.getBounds.map(h=>h()),g=a.lazySink(n).getOrDie();Wr.positionWithinBounds(g,s,{anchor:{type:"hotspot",hotspot:n,layouts:i,overrides:{maxWidthFunction:Uh()}}},d)},B8=(n,s,a,i,d)=>{Nl.setGroups(s,d),xp(n,s,a,i),tn.on(n)},Q9=(n,s,a)=>{const i=$4(),d=(h,C)=>{const S=W4.get().getOr(!1);a.fetch().get(x=>{B8(n,C,a,s.layouts,x),i.link(n.element),S||lt.focusIn(C)})},g=()=>{tn.off(n),W4.get().getOr(!1)||Pt.focus(n),i.unlink(n.element)};return{dom:{tag:"div",attributes:{id:i.id}},behaviours:De([lt.config({mode:"special",onEscape:h=>(mn.close(h),T.some(!0))}),mn.config({onOpen:d,onClose:g,isPartOf:(h,C,S)=>sf(C,S)||sf(n,S),getAttachPoint:()=>a.lazySink(n).getOrDie()}),Ec.config({channels:{...V4({isExtraPart:Fn,...a.fireDismissalEventInstead.map(h=>({fireEventInstead:{event:h.event}})).getOr({})}),...U4({doReposition:()=>{mn.getState(st.getCoupled(n,"toolbarSandbox")).each(h=>{xp(n,h,a,s.layouts)})}})}})])}},jd=xa({name:"FloatingToolbarButton",factory:(n,s,a,i)=>({...br.sketch({...i.button(),action:d=>{z_(d,i)},buttonBehaviours:wa.augment({dump:i.button().buttonBehaviours},[st.config({others:{toolbarSandbox:d=>Q9(d,a,n)}})])}),apis:{setGroups:(d,g)=>{mn.getState(st.getCoupled(d,"toolbarSandbox")).each(h=>{B8(d,h,n,a.layouts,g)})},reposition:d=>{mn.getState(st.getCoupled(d,"toolbarSandbox")).each(g=>{xp(d,g,n,a.layouts)})},toggle:d=>{z_(d,i)},toggleWithoutFocusing:d=>{M8(d,i)},getToolbar:d=>mn.getState(st.getCoupled(d,"toolbarSandbox")),isOpen:d=>mn.isOpen(st.getCoupled(d,"toolbarSandbox"))}}),configFields:R8(),partFields:H_(),apis:{setGroups:(n,s,a)=>{n.setGroups(s,a)},reposition:(n,s)=>{n.reposition(s)},toggle:(n,s)=>{n.toggle(s)},toggleWithoutFocusing:(n,s)=>{n.toggleWithoutFocusing(s)},getToolbar:(n,s)=>n.getToolbar(s),isOpen:(n,s)=>n.isOpen(s)}}),N8=te([ae("prefix","form-field"),hr("fieldBehaviours",[ue,je])]),ez=te([vc({schema:[Te("dom")],name:"label"}),vc({factory:{sketch:n=>({uid:n.uid,dom:{tag:"span",styles:{display:"none"},attributes:{"aria-hidden":"true"},innerHtml:n.text}})},schema:[Te("text")],name:"aria-descriptor"}),Vr({factory:{sketch:n=>{const s=ck(n,["factory"]);return n.factory.sketch(s)}},schema:[Te("factory")],name:"field"})]),V_=(n,s,a,i)=>{const d=pr(n.fieldBehaviours,[ue.config({find:C=>Zn(C,n,"field")}),je.config({store:{mode:"manual",getValue:C=>ue.getCurrent(C).bind(je.getValue),setValue:(C,S)=>{ue.getCurrent(C).each(x=>{je.setValue(x,S)})}}})]),g=ao([Hn((C,S)=>{const x=$m(C,n,["label","field","aria-descriptor"]);x.field().each(k=>{const D=Ge(n.prefix);x.label().each(N=>{wt(N.element,"for",D),wt(k.element,"id",D)}),x["aria-descriptor"]().each(N=>{const F=Ge(n.prefix);wt(N.element,"id",F),wt(k.element,"aria-describedby",F)})})})]),h={getField:C=>Zn(C,n,"field"),getLabel:C=>Zn(C,n,"label")};return{uid:n.uid,dom:n.dom,components:s,behaviours:d,events:g,apis:h}},Yt=xa({name:"FormField",configFields:N8(),partFields:ez(),factory:V_,apis:{getField:(n,s)=>n.getField(s),getLabel:(n,s)=>n.getLabel(s)}}),tz=te([ae("field1Name","field1"),ae("field2Name","field2"),kh("onLockedChange"),za(["lockClass"]),ae("locked",!1),wa.field("coupledFieldBehaviours",[ue,je]),Pn("onInput",q)]),j4=(n,s,a)=>Zn(n,s,a).bind(ue.getCurrent),U_=(n,s)=>Vr({factory:Yt,name:n,overrides:a=>({fieldBehaviours:De([Nt("coupled-input-behaviour",[be(fu(),i=>{j4(i,a,s).each(d=>{Zn(i,a,"lock").each(g=>{tn.isOn(g)&&a.onLockedChange(i,d,g),a.onInput(i)})})})])])})}),P8=te([U_("field1","field2"),U_("field2","field1"),Vr({factory:br,schema:[Te("dom")],name:"lock",overrides:n=>({buttonBehaviours:De([tn.config({selected:n.locked,toggleClass:n.markers.lockClass,aria:{mode:"pressed"}})])})})]),nz=(n,s,a,i)=>({uid:n.uid,dom:n.dom,components:s,behaviours:wa.augment(n.coupledFieldBehaviours,[ue.config({find:T.some}),je.config({store:{mode:"manual",getValue:d=>{const g=k2(d,n,["field1","field2"]);return{[n.field1Name]:je.getValue(g.field1()),[n.field2Name]:je.getValue(g.field2())}},setValue:(d,g)=>{const h=k2(d,n,["field1","field2"]);hn(g,n.field1Name)&&je.setValue(h.field1(),g[n.field1Name]),hn(g,n.field2Name)&&je.setValue(h.field2(),g[n.field2Name])}}})]),apis:{getField1:d=>Zn(d,n,"field1"),getField2:d=>Zn(d,n,"field2"),getLock:d=>Zn(d,n,"lock")}}),zo=xa({name:"FormCoupledInputs",configFields:tz(),partFields:P8(),factory:nz,apis:{getField1:(n,s)=>n.getField1(s),getField2:(n,s)=>n.getField2(s),getLock:(n,s)=>n.getLock(s)}}),oz=(n,s)=>{const a=Ee(n.options,d=>({dom:{tag:"option",value:d.value,innerHtml:d.text}})),i=n.data.map(d=>gd("initialValue",d)).getOr({});return{uid:n.uid,dom:{tag:"select",classes:n.selectClasses,attributes:n.selectAttributes},components:a,behaviours:pr(n.selectBehaviours,[Pt.config({}),je.config({store:{mode:"manual",getValue:d=>Ba(d.element),setValue:(d,g)=>{const h=Qn(n.options);Bt(n.options,S=>S.value===g).isSome()?rd(d.element,g):d.element.dom.selectedIndex===-1&&g===""&&h.each(S=>rd(d.element,S.value))},...i}})])}},sz=mi({name:"HtmlSelect",configFields:[Te("options"),hr("selectBehaviours",[Pt,je]),ae("selectClasses",[]),ae("selectAttributes",{}),Dn("data")],factory:oz}),rz=(n,s,a,i,d)=>{const g=()=>n.lazySink(s),h=i.type==="horizontal"?{layouts:{onLtr:()=>P2(),onRtl:()=>$2()}}:{},C=x=>x.length===2,S=x=>C(x)?h:{};return Wd.sketch({dom:{tag:"div"},data:i.data,markers:i.menu.markers,highlightOnOpen:i.menu.highlightOnOpen,fakeFocus:i.menu.fakeFocus,onEscape:()=>(mn.close(s),n.onEscape.map(x=>x(s)),T.some(!0)),onExecute:()=>T.some(!0),onOpenMenu:(x,k)=>{Wr.positionWithinBounds(g().getOrDie(),k,a,d())},onOpenSubmenu:(x,k,D,N)=>{const F=g().getOrDie();Wr.position(F,D,{anchor:{type:"submenu",item:k,...S(N)}})},onRepositionMenu:(x,k,D)=>{const N=g().getOrDie();Wr.positionWithinBounds(N,k,a,d()),Qe(D,F=>{const L=S(F.triggeringPath);Wr.position(N,F.triggeredMenu,{anchor:{type:"submenu",item:F.triggeringItem,...L}})})}})},az=(n,s)=>{const a=(N,F)=>n.getRelated(N).exists(W=>sf(W,F)),i=(N,F)=>{mn.setContent(N,F)},d=(N,F,L)=>{const W=T.none;g(N,F,L,W)},g=(N,F,L,W)=>{const j=n.lazySink(N).getOrDie();mn.openWhileCloaked(N,F,()=>Wr.positionWithinBounds(j,N,L,W())),je.setValue(N,T.some({mode:"position",config:L,getBounds:W}))},h=(N,F,L)=>{C(N,F,L,T.none)},C=(N,F,L,W)=>{const j=rz(n,N,F,L,W);mn.open(N,j),je.setValue(N,T.some({mode:"menu",menu:j}))},S=N=>{mn.isOpen(N)&&(je.setValue(N,T.none()),mn.close(N))},x=N=>mn.getState(N),k=N=>{mn.isOpen(N)&&je.getValue(N).each(F=>{switch(F.mode){case"menu":mn.getState(N).each(Wd.repositionMenus);break;case"position":const L=n.lazySink(N).getOrDie();Wr.positionWithinBounds(L,N,F.config,F.getBounds());break}})},D={setContent:i,showAt:d,showWithinBounds:g,showMenuAt:h,showMenuWithinBounds:C,hide:S,getContent:x,reposition:k,isOpen:mn.isOpen};return{uid:n.uid,dom:n.dom,behaviours:pr(n.inlineBehaviours,[mn.config({isPartOf:(N,F,L)=>sf(F,L)||a(N,L),getAttachPoint:N=>n.lazySink(N).getOrDie(),onOpen:N=>{n.onShow(N)},onClose:N=>{n.onHide(N)}}),je.config({store:{mode:"memory",initialValue:T.none()}}),Ec.config({channels:{...V4({isExtraPart:s.isExtraPart,...n.fireDismissalEventInstead.map(N=>({fireEventInstead:{event:N.event}})).getOr({})}),...U4({...n.fireRepositionEventInstead.map(N=>({fireEventInstead:{event:N.event}})).getOr({}),doReposition:k})}})]),eventOrder:n.eventOrder,apis:D}},Ao=mi({name:"InlineView",configFields:[Te("lazySink"),yt("onShow"),yt("onHide"),ei("onEscape"),hr("inlineBehaviours",[mn,je,Ec]),oa("fireDismissalEventInstead",[ae("event",Rm())]),oa("fireRepositionEventInstead",[ae("event",Hf())]),ae("getRelated",T.none),ae("isExtraPart",Fn),ae("eventOrder",T.none)],factory:az,apis:{showAt:(n,s,a,i)=>{n.showAt(s,a,i)},showWithinBounds:(n,s,a,i,d)=>{n.showWithinBounds(s,a,i,d)},showMenuAt:(n,s,a,i)=>{n.showMenuAt(s,a,i)},showMenuWithinBounds:(n,s,a,i,d)=>{n.showMenuWithinBounds(s,a,i,d)},hide:(n,s)=>{n.hide(s)},isOpen:(n,s)=>n.isOpen(s),getContent:(n,s)=>n.getContent(s),setContent:(n,s,a)=>{n.setContent(s,a)},reposition:(n,s)=>{n.reposition(s)}}}),$8=te([ko("type","text"),Dn("data"),ae("inputAttributes",{}),ae("inputStyles",{}),ae("tag","input"),ae("inputClasses",[]),yt("onSetValue"),Pn("fromInputValue",Qt),Pn("toInputValue",Qt),ae("styles",{}),ae("eventOrder",{}),hr("inputBehaviours",[je,Pt]),ae("selectOnFocus",!0)]),F8=n=>De([Pt.config({onFocus:n.selectOnFocus?s=>{const a=s.element,i=Ba(a);n.type!=="range"&&a.dom.setSelectionRange(0,i.length)}:q})]),cz=n=>({...F8(n),...pr(n.inputBehaviours,[je.config({store:{mode:"manual",...n.data.map(s=>({initialValue:s})).getOr({}),getValue:s=>n.fromInputValue(Ba(s.element)),setValue:(s,a)=>{Ba(s.element)!==a&&rd(s.element,n.toInputValue(a))}},onSetValue:n.onSetValue})])}),G4=n=>({tag:n.tag,attributes:{type:n.type,...n.inputAttributes},styles:n.inputStyles,classes:n.inputClasses}),I8=(n,s)=>({uid:n.uid,dom:G4(n),components:[],behaviours:cz(n),eventOrder:n.eventOrder}),rf=mi({name:"Input",configFields:$8(),factory:I8}),Z_=T2(R_(),M_()),L8=(n,s)=>{const a=js(n,"id").fold(()=>{const i=Ge("dialog-label");return wt(s,"id",i),i},Qt);wt(n,"aria-labelledby",a)},iz=te([Te("lazySink"),Dn("dragBlockClass"),Pn("getBounds",Fs),ae("useTabstopAt",Tt),ae("firstTabstop",0),ae("eventOrder",{}),Hr("role","dialog",["dialog","alertdialog"]),hr("modalBehaviours",[lt]),va("onExecute"),X1("onEscape")]),W_={sketch:Qt},lz=te([vc({name:"draghandle",overrides:(n,s)=>({behaviours:De([hp.config({mode:"mouse",getTarget:a=>Yc(a,'[role="dialog"]').getOr(a),blockerClass:n.dragBlockClass.getOrDie(new Error(`The drag blocker class was not specified for a dialog with a drag handle: +`+JSON.stringify(s,null,2)).message),getBounds:n.getDragBounds})])})}),Vr({schema:[Te("dom")],name:"title"}),Vr({factory:W_,schema:[Te("dom")],name:"close"}),Vr({factory:W_,schema:[Te("dom")],name:"body"}),vc({factory:W_,schema:[Te("dom")],name:"footer"}),Ar({factory:{sketch:(n,s)=>({...n,dom:s.dom,components:s.components})},schema:[ae("dom",{tag:"div",styles:{position:"fixed",left:"0px",top:"0px",right:"0px",bottom:"0px"}}),ae("components",[])],name:"blocker"})]),H8=(n,s,a,i)=>{const d=Ht(),g=L=>{d.set(L);const W=n.lazySink(L).getOrDie(),j=i.blocker(),V=W.getSystem().build({...j,components:j.components.concat([Qo(L)]),behaviours:De([Pt.config({}),Nt("dialog-blocker-events",[sa(pc(),()=>{$.isBlocked(L)?q():lt.focusIn(L)})])])});$d(W,V),lt.focusIn(L)},h=L=>{d.clear(),ea(L.element).each(W=>{L.getSystem().getByDom(W).each(j=>{Gi(j)})})},C=L=>Po(L,n,"body"),S=L=>Zn(L,n,"footer"),x=(L,W)=>{$.block(L,W)},k=L=>{$.unblock(L)},D=Ge("modal-events"),N={...n.eventOrder,[zi()]:[D].concat(n.eventOrder["alloy.system.attached"]||[])},F=rr();return{uid:n.uid,dom:n.dom,components:s,apis:{show:g,hide:h,getBody:C,getFooter:S,setIdle:k,setBusy:x},eventOrder:N,domModification:{attributes:{role:n.role,"aria-modal":"true"}},behaviours:pr(n.modalBehaviours,[At.config({}),lt.config({mode:"cyclic",onEnter:n.onExecute,onEscape:n.onEscape,useTabstopAt:n.useTabstopAt,firstTabstop:n.firstTabstop}),$.config({getRoot:d.get}),Nt(D,[Hn(L=>{const W=Po(L,n,"title").element,j=UT(W);Uo(j)&&j!==""&&(F.os.isMacOS()?wt(L.element,"aria-label",j):L8(L.element,W))})])])}},es=xa({name:"ModalDialog",configFields:iz(),partFields:lz(),factory:H8,apis:{show:(n,s)=>{n.show(s)},hide:(n,s)=>{n.hide(s)},getBody:(n,s)=>n.getBody(s),getFooter:(n,s)=>n.getFooter(s),setBusy:(n,s,a)=>{n.setBusy(s,a)},setIdle:(n,s)=>{n.setIdle(s)}}}),z8=vc({schema:[Te("dom")],name:"label"}),Eg=n=>vc({name:""+n+"-edge",overrides:s=>s.model.manager.edgeActions[n].fold(()=>({}),i=>({events:ao([p0(pd(),(d,g,h)=>i(d,h),[s]),p0(zr(),(d,g,h)=>i(d,h),[s]),p0($f(),(d,g,h)=>{h.mouseIsDown.get()&&i(d,h)},[s])])}))}),uz=Eg("top-left"),dz=Eg("top"),V8=Eg("top-right"),j_=Eg("right"),mz=Eg("bottom-right"),fz=Eg("bottom"),gz=Eg("bottom-left"),hz=Eg("left"),pz=Vr({name:"thumb",defaults:te({dom:{styles:{position:"absolute"}}}),overrides:n=>({events:ao([Rd(pd(),n,"spectrum"),Rd(bd(),n,"spectrum"),Rd(gc(),n,"spectrum"),Rd(zr(),n,"spectrum"),Rd($f(),n,"spectrum"),Rd(u2(),n,"spectrum")])})}),q4=n=>wu(n.event),U8=Vr({schema:[Lr("mouseIsDown",()=>ct(!1))],name:"spectrum",overrides:n=>{const a=n.model.manager,i=(d,g)=>a.getValueFromEvent(g).map(h=>a.setValueFrom(d,n,h));return{behaviours:De([lt.config({mode:"special",onLeft:(d,g)=>a.onLeft(d,n,q4(g)),onRight:(d,g)=>a.onRight(d,n,q4(g)),onUp:(d,g)=>a.onUp(d,n,q4(g)),onDown:(d,g)=>a.onDown(d,n,q4(g))}),Wn.config({}),Pt.config({})]),events:ao([be(pd(),i),be(bd(),i),be(zr(),i),be($f(),(d,g)=>{n.mouseIsDown.get()&&i(d,g)})])}}});var Z8=[z8,hz,j_,dz,fz,uz,V8,gz,mz,pz,U8];const oC=te("slider.change.value"),bz=n=>n.type.indexOf("touch")!==-1,Ta=n=>{const s=n.event.raw;if(bz(s)){const a=s;return a.touches!==void 0&&a.touches.length===1?T.some(a.touches[0]).map(i=>Ln(i.clientX,i.clientY)):T.none()}else{const a=s;return a.clientX!==void 0?T.some(a).map(i=>Ln(i.clientX,i.clientY)):T.none()}},Pl="top",K4="right",G_="bottom",q_="left",Gd=n=>n.model.minX,Ep=n=>n.model.minY,sC=n=>n.model.minX-1,Tg=n=>n.model.minY-1,Tp=n=>n.model.maxX,qd=n=>n.model.maxY,ub=n=>n.model.maxX+1,db=n=>n.model.maxY+1,mb=(n,s,a)=>s(n)-a(n),K_=n=>mb(n,Tp,Gd),Y_=n=>mb(n,qd,Ep),gi=n=>K_(n)/2,Wa=n=>Y_(n)/2,Kd=(n,s)=>s?n.stepSize*n.speedMultiplier:n.stepSize,ja=n=>n.snapToGrid,W8=n=>n.snapStart,Xn=n=>n.rounded,Y4=(n,s)=>n[s+"-edge"]!==void 0,Nu=n=>Y4(n,q_),fb=n=>Y4(n,K4),X_=n=>Y4(n,Pl),X4=n=>Y4(n,G_),Pu=n=>n.model.value.get(),kg=(n,s)=>({x:n,y:s}),hi=(n,s)=>{gt(n,oC(),{value:s})},vz=(n,s)=>{hi(n,kg(sC(s),Tg(s)))},j8=(n,s)=>{hi(n,Tg(s))},G8=(n,s)=>{hi(n,kg(gi(s),Tg(s)))},J_=(n,s)=>{hi(n,kg(ub(s),Tg(s)))},q8=(n,s)=>{hi(n,ub(s))},J4=(n,s)=>{hi(n,kg(ub(s),Wa(s)))},yz=(n,s)=>{hi(n,kg(ub(s),db(s)))},Cz=(n,s)=>{hi(n,db(s))},Sz=(n,s)=>{hi(n,kg(gi(s),db(s)))},wz=(n,s)=>{hi(n,kg(sC(s),db(s)))},xz=(n,s)=>{hi(n,sC(s))},K8=(n,s)=>{hi(n,kg(sC(s),Wa(s)))},Q_=(n,s,a,i)=>na?a:n===s?s-1:Math.max(s,n-i),e5=(n,s,a,i)=>n>a?n:nMath.max(s,Math.min(a,n)),Ez=(n,s,a,i,d)=>d.fold(()=>{const g=n-s,h=Math.round(g/i)*i;return t5(s+h,s-1,a+1)},g=>{const h=(n-g)%i,C=Math.round(h/i),S=Math.floor((n-g)/i),x=Math.floor((a-g)/i),k=Math.min(x,S+C),D=g+k*i;return Math.max(g,D)}),Y8=(n,s,a)=>Math.min(a,Math.max(n,s))-s,gb=n=>{const{min:s,max:a,range:i,value:d,step:g,snap:h,snapStart:C,rounded:S,hasMinEdge:x,hasMaxEdge:k,minBound:D,maxBound:N,screenRange:F}=n,L=x?s-1:s,W=k?a+1:a;if(dN)return W;{const j=Y8(d,D,N),V=t5(j/F*i+s,L,W);return h&&V>=s&&V<=a?Ez(V,s,a,g,C):S?Math.round(V):V}},X8=n=>{const{min:s,max:a,range:i,value:d,hasMinEdge:g,hasMaxEdge:h,maxBound:C,maxOffset:S,centerMinEdge:x,centerMaxEdge:k}=n;return da?h?C:k:(d-s)/i*S},n5="top",o5="right",s5="bottom",rC="left",J8="width",Tz="height",Yd=n=>n.element.dom.getBoundingClientRect(),$l=(n,s)=>n[s],Q4=n=>{const s=Yd(n);return $l(s,rC)},Q8=n=>{const s=Yd(n);return $l(s,o5)},e3=n=>{const s=Yd(n);return $l(s,n5)},r5=n=>{const s=Yd(n);return $l(s,s5)},Qi=n=>{const s=Yd(n);return $l(s,J8)},e7=n=>{const s=Yd(n);return $l(s,Tz)},t3=(n,s,a)=>(n+s)/2-a,a5=(n,s)=>{const a=Yd(n),i=Yd(s),d=$l(a,rC),g=$l(a,o5),h=$l(i,rC);return t3(d,g,h)},c5=(n,s)=>{const a=Yd(n),i=Yd(s),d=$l(a,n5),g=$l(a,s5),h=$l(i,n5);return t3(d,g,h)},n3=(n,s)=>{gt(n,oC(),{value:s})},o3=(n,s,a)=>{const i={min:Gd(s),max:Tp(s),range:K_(s),value:a,step:Kd(s),snap:ja(s),snapStart:W8(s),rounded:Xn(s),hasMinEdge:Nu(s),hasMaxEdge:fb(s),minBound:Q4(n),maxBound:Q8(n),screenRange:Qi(n)};return gb(i)},t7=(n,s,a)=>{const i=o3(n,s,a);return n3(n,i),i},n7=(n,s)=>{const a=Gd(s);n3(n,a)},kz=(n,s)=>{const a=Tp(s);n3(n,a)},Az=(n,s,a,i)=>{const g=(n>0?e5:Q_)(Pu(a),Gd(a),Tp(a),Kd(a,i));return n3(s,g),T.some(g)},o7=n=>(s,a,i)=>Az(n,s,a,i).map(Tt),_z=n=>Ta(n).map(a=>a.left),Oz=(n,s,a,i,d)=>{const h=Qi(n),C=i.bind(k=>T.some(a5(k,n))).getOr(0),S=d.bind(k=>T.some(a5(k,n))).getOr(h),x={min:Gd(s),max:Tp(s),range:K_(s),value:a,hasMinEdge:Nu(s),hasMaxEdge:fb(s),minBound:Q4(n),minOffset:0,maxBound:Q8(n),maxOffset:h,centerMinEdge:C,centerMaxEdge:S};return X8(x)},i5=(n,s,a,i,d,g)=>{const h=Oz(s,g,a,i,d);return Q4(s)-Q4(n)+h},Dz=(n,s,a,i)=>{const d=Pu(a),g=i5(n,i.getSpectrum(n),d,i.getLeftEdge(n),i.getRightEdge(n),a),h=wr(s.element)/2;Rt(s.element,"left",g-h+"px")},Rz=o7(-1),s7=o7(1),r7=T.none,a7=T.none,c7={"top-left":T.none(),top:T.none(),"top-right":T.none(),right:T.some(q8),"bottom-right":T.none(),bottom:T.none(),"bottom-left":T.none(),left:T.some(xz)};var Mz=Object.freeze({__proto__:null,setValueFrom:t7,setToMin:n7,setToMax:kz,findValueOfOffset:o3,getValueFromEvent:_z,findPositionOfValue:i5,setPositionFromValue:Dz,onLeft:Rz,onRight:s7,onUp:r7,onDown:a7,edgeActions:c7});const s3=(n,s)=>{gt(n,oC(),{value:s})},l5=(n,s,a)=>{const i={min:Ep(s),max:qd(s),range:Y_(s),value:a,step:Kd(s),snap:ja(s),snapStart:W8(s),rounded:Xn(s),hasMinEdge:X_(s),hasMaxEdge:X4(s),minBound:e3(n),maxBound:r5(n),screenRange:e7(n)};return gb(i)},i7=(n,s,a)=>{const i=l5(n,s,a);return s3(n,i),i},hb=(n,s)=>{const a=Ep(s);s3(n,a)},r3=(n,s)=>{const a=qd(s);s3(n,a)},Bz=(n,s,a,i)=>{const g=(n>0?e5:Q_)(Pu(a),Ep(a),qd(a),Kd(a,i));return s3(s,g),T.some(g)},u5=n=>(s,a,i)=>Bz(n,s,a,i).map(Tt),l7=n=>Ta(n).map(a=>a.top),u7=(n,s,a,i,d)=>{const h=e7(n),C=i.bind(k=>T.some(c5(k,n))).getOr(0),S=d.bind(k=>T.some(c5(k,n))).getOr(h),x={min:Ep(s),max:qd(s),range:Y_(s),value:a,hasMinEdge:X_(s),hasMaxEdge:X4(s),minBound:e3(n),minOffset:0,maxBound:r5(n),maxOffset:h,centerMinEdge:C,centerMaxEdge:S};return X8(x)},a3=(n,s,a,i,d,g)=>{const h=u7(s,g,a,i,d);return e3(s)-e3(n)+h},d5=(n,s,a,i)=>{const d=Pu(a),g=a3(n,i.getSpectrum(n),d,i.getTopEdge(n),i.getBottomEdge(n),a),h=ks(s.element)/2;Rt(s.element,"top",g-h+"px")},m5=T.none,Nz=T.none,Pz=u5(-1),$z=u5(1),d7={"top-left":T.none(),top:T.some(j8),"top-right":T.none(),right:T.none(),"bottom-right":T.none(),bottom:T.some(Cz),"bottom-left":T.none(),left:T.none()};var m7=Object.freeze({__proto__:null,setValueFrom:i7,setToMin:hb,setToMax:r3,findValueOfOffset:l5,getValueFromEvent:l7,findPositionOfValue:a3,setPositionFromValue:d5,onLeft:m5,onRight:Nz,onUp:Pz,onDown:$z,edgeActions:d7});const c3=(n,s)=>{gt(n,oC(),{value:s})},i3=(n,s)=>({x:n,y:s}),f7=(n,s,a)=>{const i=o3(n,s,a.left),d=l5(n,s,a.top),g=i3(i,d);return c3(n,g),g},Fz=(n,s,a,i,d)=>{const g=n>0?e5:Q_,h=s?Pu(i).x:g(Pu(i).x,Gd(i),Tp(i),Kd(i,d)),C=s?g(Pu(i).y,Ep(i),qd(i),Kd(i,d)):Pu(i).y;return c3(a,i3(h,C)),T.some(h)},l3=(n,s)=>(a,i,d)=>Fz(n,s,a,i,d).map(Tt),Iz=(n,s)=>{const a=Gd(s),i=Ep(s);c3(n,i3(a,i))},Lz=(n,s)=>{const a=Tp(s),i=qd(s);c3(n,i3(a,i))},Hz=n=>Ta(n),zz=(n,s,a,i)=>{const d=Pu(a),g=i5(n,i.getSpectrum(n),d.x,i.getLeftEdge(n),i.getRightEdge(n),a),h=a3(n,i.getSpectrum(n),d.y,i.getTopEdge(n),i.getBottomEdge(n),a),C=wr(s.element)/2,S=ks(s.element)/2;Rt(s.element,"left",g-C+"px"),Rt(s.element,"top",h-S+"px")},Vz=l3(-1,!1),g7=l3(1,!1),h7=l3(-1,!0),Uz=l3(1,!0),Zz={"top-left":T.some(vz),top:T.some(G8),"top-right":T.some(J_),right:T.some(J4),"bottom-right":T.some(yz),bottom:T.some(Sz),"bottom-left":T.some(wz),left:T.some(K8)};var Wz=Object.freeze({__proto__:null,setValueFrom:f7,setToMin:Iz,setToMax:Lz,getValueFromEvent:Hz,setPositionFromValue:zz,onLeft:Vz,onRight:g7,onUp:h7,onDown:Uz,edgeActions:Zz});const p7=[ae("stepSize",1),ae("speedMultiplier",10),ae("onChange",q),ae("onChoose",q),ae("onInit",q),ae("onDragStart",q),ae("onDragEnd",q),ae("snapToGrid",!1),ae("rounded",!0),Dn("snapStart"),Fa("model",Tr("mode",{x:[ae("minX",0),ae("maxX",100),Lr("value",n=>ct(n.mode.minX)),Te("getInitialValue"),Kn("manager",Mz)],y:[ae("minY",0),ae("maxY",100),Lr("value",n=>ct(n.mode.minY)),Te("getInitialValue"),Kn("manager",m7)],xy:[ae("minX",0),ae("maxX",100),ae("minY",0),ae("maxY",100),Lr("value",n=>ct({x:n.mode.minX,y:n.mode.minY})),Te("getInitialValue"),Kn("manager",Wz)]})),hr("sliderBehaviours",[lt,je]),Lr("mouseIsDown",()=>ct(!1))],Fl=xa({name:"Slider",configFields:p7,partFields:Z8,factory:(n,s,a,i)=>{const d=me=>Po(me,n,"thumb"),g=me=>Po(me,n,"spectrum"),h=me=>Zn(me,n,"left-edge"),C=me=>Zn(me,n,"right-edge"),S=me=>Zn(me,n,"top-edge"),x=me=>Zn(me,n,"bottom-edge"),k=n.model,D=k.manager,N=(me,Fe)=>{D.setPositionFromValue(me,Fe,n,{getLeftEdge:h,getRightEdge:C,getTopEdge:S,getBottomEdge:x,getSpectrum:g})},F=(me,Fe)=>{k.value.set(Fe);const ze=d(me);N(me,ze)},L=(me,Fe)=>{F(me,Fe);const ze=d(me);return n.onChange(me,ze,Fe),T.some(!0)},W=me=>{D.setToMin(me,n)},j=me=>{D.setToMax(me,n)},V=me=>{const Fe=()=>{Zn(me,n,"thumb").each(ve=>{const ke=k.value.get();n.onChoose(me,ve,ke)})},ze=n.mouseIsDown.get();n.mouseIsDown.set(!1),ze&&Fe()},K=(me,Fe)=>{Fe.stop(),n.mouseIsDown.set(!0),n.onDragStart(me,d(me))},Q=(me,Fe)=>{Fe.stop(),n.onDragEnd(me,d(me)),V(me)},le=me=>{Zn(me,n,"spectrum").map(lt.focusIn)};return{uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.sliderBehaviours,[lt.config({mode:"special",focusIn:le}),je.config({store:{mode:"manual",getValue:me=>k.value.get(),setValue:F}}),Ec.config({channels:{[Su()]:{onReceive:V}}})]),events:ao([be(oC(),(me,Fe)=>{L(me,Fe.event.value)}),Hn((me,Fe)=>{const ze=k.getInitialValue();k.value.set(ze);const ve=d(me);N(me,ve);const ke=g(me);n.onInit(me,ve,ke,k.value.get())}),be(pd(),K),be(gc(),Q),be(zr(),(me,Fe)=>{le(me),K(me,Fe)}),be(u2(),Q)]),apis:{resetToMin:W,resetToMax:j,setValue:F,refresh:N},domModification:{styles:{position:"relative"}}}},apis:{setValue:(n,s,a)=>{n.setValue(s,a)},resetToMin:(n,s)=>{n.resetToMin(s)},resetToMax:(n,s)=>{n.resetToMax(s)},refresh:(n,s)=>{n.refresh(s)}}}),b7="container",u3=[hr("slotBehaviours",[])],v7=n=>"",jz=n=>{const s=(()=>{const g=[];return{slot:(C,S)=>(g.push(C),jf(b7,v7(C),S)),record:te(g)}})(),a=n(s),i=s.record(),d=Ee(i,g=>Vr({name:g,pname:v7(g)}));return f4(b7,u3,d,Gz,a)},Gz=(n,s)=>{const a=W=>Iw(n),i=(W,j)=>Zn(W,n,j),d=(W,j)=>(V,K)=>Zn(V,n,K).map(Q=>W(Q,K)).getOr(j),g=W=>(j,V)=>{Qe(V,K=>W(j,K))},h=(W,j)=>Ts(W.element,"aria-hidden")!=="true",C=(W,j)=>{if(!h(W)){const V=W.element;Xt(V,"display"),io(V,"aria-hidden"),gt(W,g2(),{name:j,visible:!0})}},S=(W,j)=>{if(h(W)){const V=W.element;Rt(V,"display","none"),wt(V,"aria-hidden","true"),gt(W,g2(),{name:j,visible:!1})}},x=d(h,!1),k=d(S),D=g(k),N=W=>D(W,a()),F=d(C),L={getSlotNames:a,getSlot:i,isShowing:x,hideSlot:k,hideAllSlots:N,showSlot:F};return{uid:n.uid,dom:n.dom,components:s,behaviours:m4(n.slotBehaviours),apis:L}},jr={...jo({getSlotNames:(n,s)=>n.getSlotNames(s),getSlot:(n,s,a)=>n.getSlot(s,a),isShowing:(n,s,a)=>n.isShowing(s,a),hideSlot:(n,s,a)=>n.hideSlot(s,a),hideAllSlots:(n,s)=>n.hideAllSlots(s),showSlot:(n,s,a)=>n.showSlot(s,a)},n=>L0(n)),sketch:jz},qz=(n,s)=>ho(n,(d,g)=>s(g,d.len).fold(te(d),C=>({len:C.finish,list:d.list.concat([C])})),{len:0,list:[]}).list,f5=(n,s,a)=>({within:n,extra:s,withinWidth:a}),y7=(n,s,a)=>{const i=qz(n,(C,S)=>{const x=a(C);return T.some({element:C,start:S,finish:S+x,width:x})}),d=oo(i,C=>C.finish<=s),g=us(d,(C,S)=>C+S.width,0),h=i.slice(d.length);return{within:d,extra:h,withinWidth:g}},d3=n=>Ee(n,s=>s.element),Kz=(n,s,a)=>{const i=d3(n.concat(s));return f5(i,[],a)},Yz=(n,s,a,i)=>{const d=d3(n).concat([a]);return f5(d,d3(s),i)},Xz=(n,s,a)=>f5(d3(n),[],a),Jz=(n,s,a)=>{const i=y7(s,n,a);return i.extra.length===0?T.some(i):T.none()},g5=(n,s,a,i)=>{const d=Jz(n,s,a).getOrThunk(()=>y7(s,n-a(i),a)),g=d.within,h=d.extra,C=d.withinWidth;return h.length===1&&h[0].width<=a(i)?Kz(g,h,C):h.length>=1?Yz(g,h,i,C):Xz(g,h,C)},C7=(n,s)=>{const a=Ee(s,i=>Qo(i));Nl.setGroups(n,a)},Qz=n=>Ka(n,s=>rs(s.element).bind(a=>s.getSystem().getByDom(a).toOptional())),S7=(n,s,a)=>{const i=s.builtGroups.get();if(i.length===0)return;const d=Po(n,s,"primary"),g=st.getCoupled(n,"overflowGroup");Rt(d.element,"visibility","hidden");const h=i.concat([g]),C=Qz(h);a([]),C7(d,h);const S=wr(d.element),x=g5(S,s.builtGroups.get(),k=>Math.ceil(k.element.dom.getBoundingClientRect().width),g);x.extra.length===0?(At.remove(d,g),a([])):(C7(d,x.within),a(x.extra)),Xt(d.element,"visibility"),ac(d.element),C.each(Pt.focus)},h5=te([hr("splitToolbarBehaviours",[st]),Lr("builtGroups",()=>ct([]))]),eV=te([za(["overflowToggledClass"]),ei("getOverflowBounds"),Te("lazySink"),Lr("overflowGroups",()=>ct([])),yt("onOpened"),yt("onClosed")].concat(h5())),tV=te([Vr({factory:Nl,schema:lb(),name:"primary"}),Ar({schema:lb(),name:"overflow"}),Ar({name:"overflow-button"}),Ar({name:"overflow-group"})]),nV=te([Te("items"),za(["itemSelector"]),hr("tgroupBehaviours",[lt])]),oV=te([Mh({name:"items",unit:"item"})]),sV=(n,s,a,i)=>({uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.tgroupBehaviours,[lt.config({mode:"flow",selector:n.markers.itemSelector})]),domModification:{attributes:{role:"group"}}}),m3=xa({name:"ToolbarGroup",configFields:nV(),partFields:oV(),factory:sV}),f3=n=>Ee(n,s=>Qo(s)),w7=(n,s,a)=>{S7(n,a,i=>{a.overflowGroups.set(i),s.getOpt(n).each(d=>{jd.setGroups(d,f3(i))})})},rV=(n,s,a,i)=>{const d=En(jd.sketch({fetch:()=>Io.nu(g=>{g(f3(n.overflowGroups.get()))}),layouts:{onLtr:()=>[Xo,cs],onRtl:()=>[cs,Xo],onBottomLtr:()=>[Ls,er],onBottomRtl:()=>[er,Ls]},getBounds:a.getOverflowBounds,lazySink:n.lazySink,fireDismissalEventInstead:{},markers:{toggledClass:n.markers.overflowToggledClass},parts:{button:i["overflow-button"](),toolbar:i.overflow()},onToggled:(g,h)=>n[h?"onOpened":"onClosed"](g)}));return{uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.splitToolbarBehaviours,[st.config({others:{overflowGroup:()=>m3.sketch({...i["overflow-group"](),items:[d.asSpec()]})}})]),apis:{setGroups:(g,h)=>{n.builtGroups.set(Ee(h,g.getSystem().build)),w7(g,d,n)},refresh:g=>w7(g,d,n),toggle:g=>{d.getOpt(g).each(h=>{jd.toggle(h)})},toggleWithoutFocusing:g=>{d.getOpt(g).each(jd.toggleWithoutFocusing)},isOpen:g=>d.getOpt(g).map(jd.isOpen).getOr(!1),reposition:g=>{d.getOpt(g).each(h=>{jd.reposition(h)})},getOverflow:g=>d.getOpt(g).bind(jd.getToolbar)},domModification:{attributes:{role:"group"}}}},x7=xa({name:"SplitFloatingToolbar",configFields:eV(),partFields:tV(),factory:rV,apis:{setGroups:(n,s,a)=>{n.setGroups(s,a)},refresh:(n,s)=>{n.refresh(s)},reposition:(n,s)=>{n.reposition(s)},toggle:(n,s)=>{n.toggle(s)},toggleWithoutFocusing:(n,s)=>{n.toggle(s)},isOpen:(n,s)=>n.isOpen(s),getOverflow:(n,s)=>n.getOverflow(s)}}),aV=te([za(["closedClass","openClass","shrinkingClass","growingClass","overflowToggledClass"]),yt("onOpened"),yt("onClosed")].concat(h5())),cV=te([Vr({factory:Nl,schema:lb(),name:"primary"}),Vr({factory:Nl,schema:lb(),name:"overflow",overrides:n=>({toolbarBehaviours:De([Za.config({dimension:{property:"height"},closedClass:n.markers.closedClass,openClass:n.markers.openClass,shrinkingClass:n.markers.shrinkingClass,growingClass:n.markers.growingClass,onShrunk:s=>{Zn(s,n,"overflow-button").each(a=>{tn.off(a)}),n.onClosed(s)},onGrown:s=>{n.onOpened(s)},onStartGrow:s=>{Zn(s,n,"overflow-button").each(tn.on)}}),lt.config({mode:"acyclic",onEscape:s=>(Zn(s,n,"overflow-button").each(Pt.focus),T.some(!0))})])})}),Ar({name:"overflow-button",overrides:n=>({buttonBehaviours:De([tn.config({toggleClass:n.markers.overflowToggledClass,aria:{mode:"expanded"},toggleOnExecute:!1})])})}),Ar({name:"overflow-group"})]),iV=(n,s)=>Zn(n,s,"overflow").map(Za.hasGrown).getOr(!1),p5=(n,s,a)=>{Zn(n,s,"overflow-button").each(i=>{Zn(n,s,"overflow").each(d=>{if(b5(n,s),Za.hasShrunk(d)){const g=s.onOpened;s.onOpened=h=>{a||lt.focusIn(d),g(h),s.onOpened=g}}else{const g=s.onClosed;s.onClosed=h=>{a||Pt.focus(i),g(h),s.onClosed=g}}Za.toggleGrow(d)})})},b5=(n,s)=>{Zn(n,s,"overflow").each(a=>{S7(n,s,i=>{const d=Ee(i,g=>Qo(g));Nl.setGroups(a,d)}),Zn(n,s,"overflow-button").each(i=>{Za.hasGrown(a)&&tn.on(i)}),Za.refresh(a)})},lV=(n,s,a,i)=>{const d="alloy.toolbar.toggle",g=(h,C)=>{const S=Ee(C,h.getSystem().build);n.builtGroups.set(S)};return{uid:n.uid,dom:n.dom,components:s,behaviours:pr(n.splitToolbarBehaviours,[st.config({others:{overflowGroup:h=>m3.sketch({...i["overflow-group"](),items:[br.sketch({...i["overflow-button"](),action:C=>{Gt(h,d)}})]})}}),Nt("toolbar-toggle-events",[be(d,h=>{p5(h,n,!1)})])]),apis:{setGroups:(h,C)=>{g(h,C),b5(h,n)},refresh:h=>b5(h,n),toggle:h=>{p5(h,n,!1)},toggleWithoutFocusing:h=>{p5(h,n,!0)},isOpen:h=>iV(h,n)},domModification:{attributes:{role:"group"}}}},v5=xa({name:"SplitSlidingToolbar",configFields:aV(),partFields:cV(),factory:lV,apis:{setGroups:(n,s,a)=>{n.setGroups(s,a)},refresh:(n,s)=>{n.refresh(s)},toggle:(n,s)=>{n.toggle(s)},isOpen:(n,s)=>n.isOpen(s)}}),uV=(n,s)=>({uid:n.uid,dom:n.dom,components:n.components,events:tC(n.action),behaviours:pr(n.tabButtonBehaviours,[Pt.config({}),lt.config({mode:"execution",useSpace:!0,useEnter:!0}),je.config({store:{mode:"memory",initialValue:n.value}})]),domModification:n.domModification}),dV=mi({name:"TabButton",configFields:[ae("uid",void 0),Te("value"),Js("dom","dom",ir(()=>({attributes:{role:"tab",id:Ge("aria"),"aria-selected":"false"}})),Xs()),Dn("action"),ae("domModification",{}),hr("tabButtonBehaviours",[Pt,lt,je]),Te("view")],factory:uV}),mV=te([Te("tabs"),Te("dom"),ae("clickToDismiss",!1),hr("tabbarBehaviours",[bn,lt]),za(["tabClass","selectedClass"])]),fV=Mh({factory:dV,name:"tabs",unit:"tab",overrides:n=>{const s=(i,d)=>{bn.dehighlight(i,d),gt(i,Tw(),{tabbar:i,button:d})},a=(i,d)=>{bn.highlight(i,d),gt(i,Ew(),{tabbar:i,button:d})};return{action:i=>{const d=i.getSystem().getByUid(n.uid).getOrDie(),g=bn.isHighlighted(d,i);(()=>g&&n.clickToDismiss?s:g?q:a)()(d,i)},domModification:{classes:[n.markers.tabClass]}}}}),gV=te([fV]),y5=(n,s,a,i)=>({uid:n.uid,dom:n.dom,components:s,"debug.sketcher":"Tabbar",domModification:{attributes:{role:"tablist"}},behaviours:pr(n.tabbarBehaviours,[bn.config({highlightClass:n.markers.selectedClass,itemClass:n.markers.tabClass,onHighlight:(d,g)=>{wt(g.element,"aria-selected","true")},onDehighlight:(d,g)=>{wt(g.element,"aria-selected","false")}}),lt.config({mode:"flow",getInitial:d=>bn.getHighlighted(d).map(g=>g.element),selector:"."+n.markers.tabClass,executeOnMove:!0})])}),E7=xa({name:"Tabbar",configFields:mV(),partFields:gV(),factory:y5}),hV=(n,s)=>({uid:n.uid,dom:n.dom,behaviours:pr(n.tabviewBehaviours,[At.config({})]),domModification:{attributes:{role:"tabpanel"}}}),pV=mi({name:"Tabview",configFields:[hr("tabviewBehaviours",[At])],factory:hV}),aC=te([ae("selectFirst",!0),yt("onChangeTab"),yt("onDismissTab"),ae("tabs",[]),hr("tabSectionBehaviours",[])]),T7=Vr({factory:E7,schema:[Te("dom"),Li("markers",[Te("tabClass"),Te("selectedClass")])],name:"tabbar",defaults:n=>({tabs:n.tabs})}),bV=Vr({factory:pV,name:"tabview"}),vV=te([T7,bV]),k7=(n,s,a,i)=>{const d=h=>{const C=je.getValue(h);Zn(h,n,"tabview").each(S=>{Bt(n.tabs,k=>k.value===C).each(k=>{const D=k.view();js(h.element,"id").each(N=>{wt(S.element,"aria-labelledby",N)}),At.set(S,D),n.onChangeTab(S,h,D)})})},g=(h,C)=>{Zn(h,n,"tabbar").each(S=>{C(S).each(Dd)})};return{uid:n.uid,dom:n.dom,components:s,behaviours:m4(n.tabSectionBehaviours),events:ao(Ot([n.selectFirst?[Hn((h,C)=>{g(h,bn.getFirst)})]:[],[be(Ew(),(h,C)=>{const S=C.event.button;d(S)}),be(Tw(),(h,C)=>{const S=C.event.button;n.onDismissTab(h,S)})]])),apis:{getViewItems:h=>Zn(h,n,"tabview").map(C=>At.contents(C)).getOr([]),showTab:(h,C)=>{g(h,x=>{const k=bn.getCandidates(x);return Bt(k,N=>je.getValue(N)===C).filter(N=>!bn.isHighlighted(x,N))})}}}},pb=xa({name:"TabSection",configFields:aC(),partFields:vV(),factory:k7,apis:{getViewItems:(n,s)=>n.getViewItems(s),showTab:(n,s,a)=>{n.showTab(s,a)}}}),g3=(n,s,a)=>{const i=je.getValue(a);je.setValue(s,i),_7(s)},A7=(n,s)=>{const a=n.element,i=Ba(a),d=a.dom;Ts(a,"type")!=="number"&&s(d,i)},_7=n=>{A7(n,(s,a)=>s.setSelectionRange(a.length,a.length))},yV=(n,s)=>{A7(n,(a,i)=>a.setSelectionRange(s,i.length))},CV=(n,s,a)=>{if(n.selectsOver){const i=je.getValue(s),d=n.getDisplayText(i),g=je.getValue(a);return n.getDisplayText(g).indexOf(d)===0?T.some(()=>{g3(n,s,a),yV(s,d.length)}):T.none()}else return T.none()},C5=te("alloy.typeahead.itemexecute"),SV=(n,s,a,i)=>{const d=(D,N,F)=>{n.previewing.set(!1);const L=st.getCoupled(D,"sandbox");if(mn.isOpen(L))ue.getCurrent(L).each(W=>{bn.getHighlighted(W).fold(()=>{F(W)},()=>{g0(L,W.element,"keydown",N)})});else{const W=j=>{ue.getCurrent(j).each(F)};Z4(n,h(D),D,L,i,W,dr.HighlightMenuAndItem).get(q)}},g=F8(n),h=D=>N=>N.map(F=>{const L=Ku(F.menus),W=ie(L,V=>oo(V.items,K=>K.type==="item"));return je.getState(D).update(Ee(W,V=>V.data)),F}),C=D=>ue.getCurrent(D),S="typeaheadevents",x=[Pt.config({}),je.config({onSetValue:n.onSetValue,store:{mode:"dataset",getDataKey:D=>Ba(D.element),getFallbackEntry:D=>({value:D,meta:{}}),setValue:(D,N)=>{rd(D.element,n.model.getDisplayText(N))},...n.initialData.map(D=>gd("initialValue",D)).getOr({})}}),P4.config({stream:{mode:"throttle",delay:n.responseTime,stopEvent:!1},onStream:(D,N)=>{const F=st.getCoupled(D,"sandbox");if(Pt.isFocused(D)&&Ba(D.element).length>=n.minChars){const W=C(F).bind(V=>bn.getHighlighted(V).map(je.getValue));n.previewing.set(!0);const j=V=>{C(F).each(K=>{W.fold(()=>{n.model.selectsOver&&bn.highlightFirst(K)},Q=>{bn.highlightBy(K,le=>je.getValue(le).value===Q.value),bn.getHighlighted(K).orThunk(()=>(bn.highlightFirst(K),T.none()))})})};Z4(n,h(D),D,F,i,j,dr.HighlightJustMenu).get(q)}},cancelEvent:Eh()}),lt.config({mode:"special",onDown:(D,N)=>(d(D,N,bn.highlightFirst),T.some(!0)),onEscape:D=>{const N=st.getCoupled(D,"sandbox");return mn.isOpen(N)?(mn.close(N),T.some(!0)):T.none()},onUp:(D,N)=>(d(D,N,bn.highlightLast),T.some(!0)),onEnter:D=>{const N=st.getCoupled(D,"sandbox"),F=mn.isOpen(N);if(F&&!n.previewing.get())return C(N).bind(L=>bn.getHighlighted(L)).map(L=>(gt(D,C5(),{item:L}),!0));{const L=je.getValue(D);return Gt(D,Eh()),n.onExecute(N,D,L),F&&mn.close(N),T.some(!0)}}}),tn.config({toggleClass:n.markers.openClass,aria:{mode:"expanded"}}),st.config({others:{sandbox:D=>F_(n,D,{onOpen:()=>tn.on(D),onClose:()=>{n.lazyTypeaheadComp.get().each(N=>io(N.element,"aria-activedescendant")),tn.off(D)}})}}),Nt(S,[Hn(D=>{n.lazyTypeaheadComp.set(T.some(D))}),Zi(D=>{n.lazyTypeaheadComp.set(T.none())}),Cu(D=>{const N=q;T8(n,h(D),D,i,N,dr.HighlightMenuAndItem).get(q)}),be(C5(),(D,N)=>{const F=st.getCoupled(D,"sandbox");g3(n.model,D,N.event.item),Gt(D,Eh()),n.onItemExecute(D,F,N.event.item,je.getValue(D)),mn.close(F),_7(D)})].concat(n.dismissOnBlur?[be(If(),D=>{const N=st.getCoupled(D,"sandbox");rs(N.element).isNone()&&mn.close(N)})]:[]))],k={[wl()]:[je.name(),P4.name(),S],...n.eventOrder};return{uid:n.uid,dom:G4(so(n,{inputAttributes:{role:"combobox","aria-autocomplete":"list","aria-haspopup":"true"}})),behaviours:{...g,...pr(n.typeaheadBehaviours,x)},eventOrder:k}},O7=te([Dn("lazySink"),Te("fetch"),ae("minChars",5),ae("responseTime",1e3),yt("onOpen"),ae("getHotspot",T.some),ae("getAnchorOverrides",te({})),ae("layouts",T.none()),ae("eventOrder",{}),yw("model",{},[ae("getDisplayText",n=>n.meta!==void 0&&n.meta.text!==void 0?n.meta.text:n.value),ae("selectsOver",!0),ae("populateFromBrowse",!0)]),yt("onSetValue"),va("onExecute"),yt("onItemExecute"),ae("inputClasses",[]),ae("inputAttributes",{}),ae("inputStyles",{}),ae("matchWidth",!0),ae("useMinWidth",!1),ae("dismissOnBlur",!0),za(["openClass"]),Dn("initialData"),Dn("listRole"),hr("typeaheadBehaviours",[Pt,je,P4,lt,tn,st]),Lr("lazyTypeaheadComp",()=>ct(T.none)),Lr("previewing",()=>ct(!0))].concat($8()).concat(_8())),D7=te([Ar({schema:[Dw()],name:"menu",overrides:n=>({fakeFocus:!0,onHighlightItem:(s,a,i)=>{n.previewing.get()?n.lazyTypeaheadComp.get().each(d=>{CV(n.model,d,i).fold(()=>{n.model.selectsOver?(bn.dehighlight(a,i),n.previewing.set(!0)):n.previewing.set(!1)},g=>{g(),n.previewing.set(!1)})}):n.lazyTypeaheadComp.get().each(d=>{n.model.populateFromBrowse&&g3(n.model,d,i),js(i.element,"id").each(g=>wt(d.element,"aria-activedescendant",g))})},onExecute:(s,a)=>n.lazyTypeaheadComp.get().map(i=>(gt(i,C5(),{item:a}),!0)),onHover:(s,a)=>{n.previewing.set(!1),n.lazyTypeaheadComp.get().each(i=>{n.model.populateFromBrowse&&g3(n.model,i,a)})}})})]),wV=xa({name:"Typeahead",configFields:O7(),partFields:D7(),factory:SV});var R7=tinymce.util.Tools.resolve("tinymce.ThemeManager"),cC=tinymce.util.Tools.resolve("tinymce.util.Delay"),bb=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),M7=tinymce.util.Tools.resolve("tinymce.EditorManager"),vb=tinymce.util.Tools.resolve("tinymce.Env"),pi;(function(n){n.default="wrap",n.floating="floating",n.sliding="sliding",n.scrolling="scrolling"})(pi||(pi={}));var iC;(function(n){n.auto="auto",n.top="top",n.bottom="bottom"})(iC||(iC={}));const zn=n=>s=>s.options.get(n),kp=n=>s=>T.from(n(s)),S5=n=>{const s=vb.deviceType.isPhone(),a=vb.deviceType.isTablet()||s,i=n.options.register,d=h=>kn(h)||h===!1,g=h=>kn(h)||wi(h);i("skin",{processor:h=>kn(h)||h===!1,default:"oxide"}),i("skin_url",{processor:"string"}),i("height",{processor:g,default:Math.max(n.getElement().offsetHeight,400)}),i("width",{processor:g,default:bb.DOM.getStyle(n.getElement(),"width")}),i("min_height",{processor:"number",default:100}),i("min_width",{processor:"number"}),i("max_height",{processor:"number"}),i("max_width",{processor:"number"}),i("style_formats",{processor:"object[]"}),i("style_formats_merge",{processor:"boolean",default:!1}),i("style_formats_autohide",{processor:"boolean",default:!1}),i("line_height_formats",{processor:"string",default:"1 1.1 1.2 1.3 1.4 1.5 2"}),i("font_family_formats",{processor:"string",default:"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"}),i("font_size_formats",{processor:"string",default:"8pt 10pt 12pt 14pt 18pt 24pt 36pt"}),i("font_size_input_default_unit",{processor:"string",default:"pt"}),i("block_formats",{processor:"string",default:"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre"}),i("content_langs",{processor:"object[]"}),i("removed_menuitems",{processor:"string",default:""}),i("menubar",{processor:h=>kn(h)||Kl(h),default:!s}),i("menu",{processor:"object",default:{}}),i("toolbar",{processor:h=>Kl(h)||kn(h)||dl(h)?{value:h,valid:!0}:{valid:!1,message:"Must be a boolean, string or array."},default:!0}),Wo(9,h=>{i("toolbar"+(h+1),{processor:"string"})}),i("toolbar_mode",{processor:"string",default:a?"scrolling":"floating"}),i("toolbar_groups",{processor:"object",default:{}}),i("toolbar_location",{processor:"string",default:iC.auto}),i("toolbar_persist",{processor:"boolean",default:!1}),i("toolbar_sticky",{processor:"boolean",default:n.inline}),i("toolbar_sticky_offset",{processor:"number",default:0}),i("fixed_toolbar_container",{processor:"string",default:""}),i("fixed_toolbar_container_target",{processor:"object"}),i("ui_mode",{processor:"string",default:"combined"}),i("file_picker_callback",{processor:"function"}),i("file_picker_validator_handler",{processor:"function"}),i("file_picker_types",{processor:"string"}),i("typeahead_urls",{processor:"boolean",default:!0}),i("anchor_top",{processor:d,default:"#top"}),i("anchor_bottom",{processor:d,default:"#bottom"}),i("draggable_modal",{processor:"boolean",default:!1}),i("statusbar",{processor:"boolean",default:!0}),i("elementpath",{processor:"boolean",default:!0}),i("branding",{processor:"boolean",default:!0}),i("promotion",{processor:"boolean",default:!0}),i("resize",{processor:h=>h==="both"||Kl(h),default:!vb.deviceType.isTouch()}),i("sidebar_show",{processor:"string"}),i("view_show",{processor:"string"}),i("help_accessibility",{processor:"boolean",default:n.hasPlugin("help")}),i("default_font_stack",{processor:"string[]",default:[]})},B7=zn("readonly"),lC=zn("disabled"),w5=zn("height"),x5=zn("width"),E5=kp(zn("min_width")),h3=kp(zn("min_height")),uC=kp(zn("max_width")),p3=kp(zn("max_height")),N7=kp(zn("style_formats")),P7=zn("style_formats_merge"),$7=zn("style_formats_autohide"),F7=zn("content_langs"),I7=zn("removed_menuitems"),Ap=zn("toolbar_mode"),L7=zn("toolbar_groups"),T5=zn("toolbar_location"),xV=zn("fixed_toolbar_container"),EV=zn("fixed_toolbar_container_target"),H7=zn("toolbar_persist"),k5=zn("toolbar_sticky_offset"),z7=zn("menubar"),b3=zn("toolbar"),V7=zn("file_picker_callback"),U7=zn("file_picker_validator_handler"),Z7=zn("font_size_input_default_unit"),dC=zn("file_picker_types"),A5=zn("typeahead_urls"),W7=zn("anchor_top"),j7=zn("anchor_bottom"),G7=zn("draggable_modal"),q7=zn("statusbar"),K7=zn("elementpath"),_5=zn("branding"),v3=zn("resize"),O5=zn("paste_as_text"),D5=zn("sidebar_show"),Y7=zn("view_show"),y3=zn("promotion"),X7=zn("help_accessibility"),J7=zn("default_font_stack"),Q7=zn("skin"),R5=n=>n.options.get("skin")===!1,C3=n=>n.options.get("menubar")!==!1,eB=n=>{const s=n.options.get("skin_url");if(R5(n))return s;if(s)return n.documentBaseURI.toAbsolute(s);{const a=n.options.get("skin");return M7.baseURL+"/skins/ui/"+a}},TV=n=>T.from(n.options.get("skin_url")),tB=n=>n.options.get("line_height_formats").split(" "),S3=n=>{const s=b3(n),a=kn(s),i=dl(s)&&s.length>0;return!Ag(n)&&(i||a||s===!0)},M5=n=>{const s=Wo(9,i=>n.options.get("toolbar"+(i+1))),a=oo(s,kn);return Ja(a.length>0,a)},Ag=n=>M5(n).fold(()=>{const s=b3(n);return Yl(s,kn)&&s.length>0},Tt),mC=n=>T5(n)===iC.bottom,w3=n=>{if(!n.inline)return T.none();const s=xV(n)??"";if(s.length>0)return Nn(Ma(),s);const a=EV(n);return Uo(a)?T.some(Le.fromDom(a)):T.none()},_p=n=>n.inline&&w3(n).isSome(),B5=n=>w3(n).getOrThunk(()=>_i(ss(Le.fromDom(n.getElement())))),N5=n=>n.inline&&!C3(n)&&!S3(n)&&!Ag(n),_g=n=>(n.options.get("toolbar_sticky")||n.inline)&&!_p(n)&&!N5(n),Xd=n=>!_p(n)&&n.options.get("ui_mode")==="split",fC=n=>{const s=n.options.get("menu");return jo(s,a=>({...a,items:a.items}))};var nB=Object.freeze({__proto__:null,get ToolbarMode(){return pi},get ToolbarLocation(){return iC},register:S5,getSkinUrl:eB,getSkinUrlOption:TV,isReadOnly:B7,isDisabled:lC,getSkin:Q7,isSkinDisabled:R5,getHeightOption:w5,getWidthOption:x5,getMinWidthOption:E5,getMinHeightOption:h3,getMaxWidthOption:uC,getMaxHeightOption:p3,getUserStyleFormats:N7,shouldMergeStyleFormats:P7,shouldAutoHideStyleFormats:$7,getLineHeightFormats:tB,getContentLanguages:F7,getRemovedMenuItems:I7,isMenubarEnabled:C3,isMultipleToolbars:Ag,isToolbarEnabled:S3,isToolbarPersist:H7,getMultipleToolbarsOption:M5,getUiContainer:B5,useFixedContainer:_p,isSplitUiMode:Xd,getToolbarMode:Ap,isDraggableModal:G7,isDistractionFree:N5,isStickyToolbar:_g,getStickyToolbarOffset:k5,getToolbarLocation:T5,isToolbarLocationBottom:mC,getToolbarGroups:L7,getMenus:fC,getMenubar:z7,getToolbar:b3,getFilePickerCallback:V7,getFilePickerTypes:dC,useTypeaheadUrls:A5,getAnchorTop:W7,getAnchorBottom:j7,getFilePickerValidatorHandler:U7,getFontSizeInputDefaultUnit:Z7,useStatusBar:q7,useElementPath:K7,promotionEnabled:y3,useBranding:_5,getResize:v3,getPasteAsText:O5,getSidebarShow:D5,getViewShow:Y7,useHelpAccessibility:X7,getDefaultFontStack:J7});const kV=["visible","hidden","clip"],oB=n=>qe(n).length>0&&!go(kV,n),sB=n=>{if(U(n)){const s=lo(n,"overflow-x"),a=lo(n,"overflow-y");return oB(s)||oB(a)}else return!1},rB=n=>n.plugins.fullscreen&&n.plugins.fullscreen.isFullscreen(),AV=(n,s)=>{const a=As(s,sB),i=a.length===0?bo(s).map(An).map(d=>As(d,sB)).getOr([]):a;return Qn(i).map(d=>({element:d,others:i.slice(1),isFullscreen:()=>rB(n)}))},Og=(n,s)=>Xd(n)?AV(n,s):T.none(),Op=n=>{const s=[...Ee(n.others,Ko),Fs()];return n.isFullscreen()?Fs():Jv(Ko(n.element),s)};/*! @license DOMPurify 3.3.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.2/LICENSE */const{entries:aB,setPrototypeOf:cB,isFrozen:_V,getPrototypeOf:OV,getOwnPropertyDescriptor:DV}=Object;let{freeze:kc,seal:el,create:x3}=Object,{apply:P5,construct:Il}=typeof Reflect<"u"&&Reflect;kc||(kc=function(s){return s}),el||(el=function(s){return s}),P5||(P5=function(s,a){for(var i=arguments.length,d=new Array(i>2?i-2:0),g=2;g1?a-1:0),d=1;d1?a-1:0),d=1;d2&&arguments[2]!==void 0?arguments[2]:k3;cB&&cB(n,null);let i=s.length;for(;i--;){let d=s[i];if(typeof d=="string"){const g=a(d);g!==d&&(_V(s)||(s[i]=g),d=g)}n[d]=!0}return n}function $V(n){for(let s=0;s/gm),mB=el(/\$\{[\w\W]*/gm),HV=el(/^data-[\-\w.\u00B7-\uFFFF]+$/),fB=el(/^aria-[\-\w]+$/),gB=el(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),zV=el(/^(?:\w+script|data):/i),VV=el(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),hB=el(/^html$/i),UV=el(/^[a-z][.\w]*(-[.\w]+)+$/i);var pB=Object.freeze({__proto__:null,ARIA_ATTR:fB,ATTR_WHITESPACE:VV,CUSTOM_ELEMENT:UV,DATA_ATTR:HV,DOCTYPE_NAME:hB,ERB_EXPR:LV,IS_ALLOWED_URI:gB,IS_SCRIPT_OR_DATA:zV,MUSTACHE_EXPR:dB,TMPLIT_EXPR:mB});const bC={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},ZV=function(){return typeof window>"u"?null:window},WV=function(s,a){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let i=null;const d="data-tt-policy-suffix";a&&a.hasAttribute(d)&&(i=a.getAttribute(d));const g="dompurify"+(i?"#"+i:"");try{return s.createPolicy(g,{createHTML(h){return h},createScriptURL(h){return h}})}catch{return console.warn("TrustedTypes policy "+g+" could not be created."),null}},bB=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function vB(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ZV();const s=nn=>vB(nn);if(s.version="3.3.2",s.removed=[],!n||!n.document||n.document.nodeType!==bC.document||!n.Element)return s.isSupported=!1,s;let{document:a}=n;const i=a,d=i.currentScript,{DocumentFragment:g,HTMLTemplateElement:h,Node:C,Element:S,NodeFilter:x,NamedNodeMap:k=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:D,DOMParser:N,trustedTypes:F}=n,L=S.prototype,W=pC(L,"cloneNode"),j=pC(L,"remove"),V=pC(L,"nextSibling"),K=pC(L,"childNodes"),Q=pC(L,"parentNode");if(typeof h=="function"){const nn=a.createElement("template");nn.content&&nn.content.ownerDocument&&(a=nn.content.ownerDocument)}let le,me="";const{implementation:Fe,createNodeIterator:ze,createDocumentFragment:ve,getElementsByTagName:ke}=a,{importNode:ht}=i;let tt=bB();s.isSupported=typeof aB=="function"&&typeof Q=="function"&&Fe&&Fe.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:qt,ERB_EXPR:Ct,TMPLIT_EXPR:Lt,DATA_ATTR:nt,ARIA_ATTR:Ce,IS_SCRIPT_OR_DATA:Be,ATTR_WHITESPACE:St,CUSTOM_ELEMENT:$t}=pB;let{IS_ALLOWED_URI:rt}=pB,Ft=null;const vn=eo({},[...iB,...I5,...L5,...H5,...lB]);let ln=null;const ia=eo({},[...uB,...z5,...V5,...A3]);let mo=Object.seal(x3(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Aa=null,Bs=null;const Dr=Object.seal(x3(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Bc=!0,vi=!0,pf=!1,Qp=!0,sm=!1,Qb=!0,bf=!1,XD=!1,JD=!1,Vu=!1,hT=!1,pT=!1,cL=!0,iL=!1;const lL="user-content-";let QD=!0,mS=!1,ev={},Wl=null;const fS=eo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let uL=null;const eR=eo({},["audio","video","img","source","image","track"]);let tR=null;const dL=eo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gS="http://www.w3.org/1998/Math/MathML",bT="http://www.w3.org/2000/svg",Nc="http://www.w3.org/1999/xhtml";let e1=Nc,nR=!1,tv=null;const nv=eo({},[gS,bT,Nc],$5);let t1=eo({},["mi","mo","mn","ms","mtext"]),hS=eo({},["annotation-xml"]);const vT=eo({},["title","style","font","a","script"]);let Rr=null;const yT=["application/xhtml+xml","text/html"],mL="text/html";let Mr=null,ov=null;const CY=a.createElement("form"),vf=function(se){return se instanceof RegExp||se instanceof Function},fL=function(){let se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ov&&ov===se)){if((!se||typeof se!="object")&&(se={}),se=Jd(se),Rr=yT.indexOf(se.PARSER_MEDIA_TYPE)===-1?mL:se.PARSER_MEDIA_TYPE,Mr=Rr==="application/xhtml+xml"?$5:k3,Ft=tl(se,"ALLOWED_TAGS")?eo({},se.ALLOWED_TAGS,Mr):vn,ln=tl(se,"ALLOWED_ATTR")?eo({},se.ALLOWED_ATTR,Mr):ia,tv=tl(se,"ALLOWED_NAMESPACES")?eo({},se.ALLOWED_NAMESPACES,$5):nv,tR=tl(se,"ADD_URI_SAFE_ATTR")?eo(Jd(dL),se.ADD_URI_SAFE_ATTR,Mr):dL,uL=tl(se,"ADD_DATA_URI_TAGS")?eo(Jd(eR),se.ADD_DATA_URI_TAGS,Mr):eR,Wl=tl(se,"FORBID_CONTENTS")?eo({},se.FORBID_CONTENTS,Mr):fS,Aa=tl(se,"FORBID_TAGS")?eo({},se.FORBID_TAGS,Mr):Jd({}),Bs=tl(se,"FORBID_ATTR")?eo({},se.FORBID_ATTR,Mr):Jd({}),ev=tl(se,"USE_PROFILES")?se.USE_PROFILES:!1,Bc=se.ALLOW_ARIA_ATTR!==!1,vi=se.ALLOW_DATA_ATTR!==!1,pf=se.ALLOW_UNKNOWN_PROTOCOLS||!1,Qp=se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,sm=se.SAFE_FOR_TEMPLATES||!1,Qb=se.SAFE_FOR_XML!==!1,bf=se.WHOLE_DOCUMENT||!1,Vu=se.RETURN_DOM||!1,hT=se.RETURN_DOM_FRAGMENT||!1,pT=se.RETURN_TRUSTED_TYPE||!1,JD=se.FORCE_BODY||!1,cL=se.SANITIZE_DOM!==!1,iL=se.SANITIZE_NAMED_PROPS||!1,QD=se.KEEP_CONTENT!==!1,mS=se.IN_PLACE||!1,rt=se.ALLOWED_URI_REGEXP||gB,e1=se.NAMESPACE||Nc,t1=se.MATHML_TEXT_INTEGRATION_POINTS||t1,hS=se.HTML_INTEGRATION_POINTS||hS,mo=se.CUSTOM_ELEMENT_HANDLING||{},se.CUSTOM_ELEMENT_HANDLING&&vf(se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(mo.tagNameCheck=se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),se.CUSTOM_ELEMENT_HANDLING&&vf(se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(mo.attributeNameCheck=se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),se.CUSTOM_ELEMENT_HANDLING&&typeof se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(mo.allowCustomizedBuiltInElements=se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),sm&&(vi=!1),hT&&(Vu=!0),ev&&(Ft=eo({},lB),ln=x3(null),ev.html===!0&&(eo(Ft,iB),eo(ln,uB)),ev.svg===!0&&(eo(Ft,I5),eo(ln,z5),eo(ln,A3)),ev.svgFilters===!0&&(eo(Ft,L5),eo(ln,z5),eo(ln,A3)),ev.mathMl===!0&&(eo(Ft,H5),eo(ln,V5),eo(ln,A3))),tl(se,"ADD_TAGS")||(Dr.tagCheck=null),tl(se,"ADD_ATTR")||(Dr.attributeCheck=null),se.ADD_TAGS&&(typeof se.ADD_TAGS=="function"?Dr.tagCheck=se.ADD_TAGS:(Ft===vn&&(Ft=Jd(Ft)),eo(Ft,se.ADD_TAGS,Mr))),se.ADD_ATTR&&(typeof se.ADD_ATTR=="function"?Dr.attributeCheck=se.ADD_ATTR:(ln===ia&&(ln=Jd(ln)),eo(ln,se.ADD_ATTR,Mr))),se.ADD_URI_SAFE_ATTR&&eo(tR,se.ADD_URI_SAFE_ATTR,Mr),se.FORBID_CONTENTS&&(Wl===fS&&(Wl=Jd(Wl)),eo(Wl,se.FORBID_CONTENTS,Mr)),se.ADD_FORBID_CONTENTS&&(Wl===fS&&(Wl=Jd(Wl)),eo(Wl,se.ADD_FORBID_CONTENTS,Mr)),QD&&(Ft["#text"]=!0),bf&&eo(Ft,["html","head","body"]),Ft.table&&(eo(Ft,["tbody"]),delete Aa.tbody),se.TRUSTED_TYPES_POLICY){if(typeof se.TRUSTED_TYPES_POLICY.createHTML!="function")throw hC('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof se.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw hC('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');le=se.TRUSTED_TYPES_POLICY,me=le.createHTML("")}else le===void 0&&(le=WV(F,d)),le!==null&&typeof me=="string"&&(me=le.createHTML(""));kc&&kc(se),ov=se}},gL=eo({},[...I5,...L5,...FV]),oR=eo({},[...H5,...IV]),sv=function(se){let dt=Q(se);(!dt||!dt.tagName)&&(dt={namespaceURI:e1,tagName:"template"});const jt=k3(se.tagName),ys=k3(dt.tagName);return tv[se.namespaceURI]?se.namespaceURI===bT?dt.namespaceURI===Nc?jt==="svg":dt.namespaceURI===gS?jt==="svg"&&(ys==="annotation-xml"||t1[ys]):!!gL[jt]:se.namespaceURI===gS?dt.namespaceURI===Nc?jt==="math":dt.namespaceURI===bT?jt==="math"&&hS[ys]:!!oR[jt]:se.namespaceURI===Nc?dt.namespaceURI===bT&&!hS[ys]||dt.namespaceURI===gS&&!t1[ys]?!1:!oR[jt]&&(vT[jt]||!gL[jt]):!!(Rr==="application/xhtml+xml"&&tv[se.namespaceURI]):!1},al=function(se){ts(s.removed,{element:se});try{Q(se).removeChild(se)}catch{j(se)}},Hg=function(se,dt){try{ts(s.removed,{attribute:dt.getAttributeNode(se),from:dt})}catch{ts(s.removed,{attribute:null,from:dt})}if(dt.removeAttribute(se),se==="is")if(Vu||hT)try{al(dt)}catch{}else try{dt.setAttribute(se,"")}catch{}},hL=function(se){let dt=null,jt=null;if(JD)se=""+se;else{const qr=F5(se,/^[\r\n\t ]+/);jt=qr&&qr[0]}Rr==="application/xhtml+xml"&&e1===Nc&&(se=''+se+"");const ys=le?le.createHTML(se):se;if(e1===Nc)try{dt=new N().parseFromString(ys,Rr)}catch{}if(!dt||!dt.documentElement){dt=Fe.createDocument(e1,"template",null);try{dt.documentElement.innerHTML=nR?me:ys}catch{}}const qa=dt.body||dt.documentElement;return se&&jt&&qa.insertBefore(a.createTextNode(jt),qa.childNodes[0]||null),e1===Nc?ke.call(dt,bf?"html":"body")[0]:bf?dt.documentElement:qa},pL=function(se){return ze.call(se.ownerDocument||se,se,x.SHOW_ELEMENT|x.SHOW_COMMENT|x.SHOW_TEXT|x.SHOW_PROCESSING_INSTRUCTION|x.SHOW_CDATA_SECTION,null)},sR=function(se){return se instanceof D&&(typeof se.nodeName!="string"||typeof se.textContent!="string"||typeof se.removeChild!="function"||!(se.attributes instanceof k)||typeof se.removeAttribute!="function"||typeof se.setAttribute!="function"||typeof se.namespaceURI!="string"||typeof se.insertBefore!="function"||typeof se.hasChildNodes!="function")},bL=function(se){return typeof C=="function"&&se instanceof C};function yi(nn,se,dt){E3(nn,jt=>{jt.call(s,se,dt,ov)})}const SY=function(se){let dt=null;if(yi(tt.beforeSanitizeElements,se,null),sR(se))return al(se),!0;const jt=Mr(se.nodeName);if(yi(tt.uponSanitizeElement,se,{tagName:jt,allowedTags:Ft}),Qb&&se.hasChildNodes()&&!bL(se.firstElementChild)&&Ac(/<[/\w!]/g,se.innerHTML)&&Ac(/<[/\w!]/g,se.textContent)||se.nodeType===bC.progressingInstruction||Qb&&se.nodeType===bC.comment&&Ac(/<[/\w]/g,se.data))return al(se),!0;if(!(Dr.tagCheck instanceof Function&&Dr.tagCheck(jt))&&(!Ft[jt]||Aa[jt])){if(!Aa[jt]&&yL(jt)&&(mo.tagNameCheck instanceof RegExp&&Ac(mo.tagNameCheck,jt)||mo.tagNameCheck instanceof Function&&mo.tagNameCheck(jt)))return!1;if(QD&&!Wl[jt]){const ys=Q(se)||se.parentNode,qa=K(se)||se.childNodes;if(qa&&ys){const qr=qa.length;for(let Cs=qr-1;Cs>=0;--Cs){const jl=W(qa[Cs],!0);jl.__removalCount=(se.__removalCount||0)+1,ys.insertBefore(jl,V(se))}}}return al(se),!0}return se instanceof S&&!sv(se)||(jt==="noscript"||jt==="noembed"||jt==="noframes")&&Ac(/<\/no(script|embed|frames)/i,se.innerHTML)?(al(se),!0):(sm&&se.nodeType===bC.text&&(dt=se.textContent,E3([qt,Ct,Lt],ys=>{dt=gC(dt,ys," ")}),se.textContent!==dt&&(ts(s.removed,{element:se.cloneNode()}),se.textContent=dt)),yi(tt.afterSanitizeElements,se,null),!1)},vL=function(se,dt,jt){if(Bs[dt]||cL&&(dt==="id"||dt==="name")&&(jt in a||jt in CY))return!1;if(!(vi&&!Bs[dt]&&Ac(nt,dt))){if(!(Bc&&Ac(Ce,dt))){if(!(Dr.attributeCheck instanceof Function&&Dr.attributeCheck(dt,se))){if(!ln[dt]||Bs[dt]){if(!(yL(se)&&(mo.tagNameCheck instanceof RegExp&&Ac(mo.tagNameCheck,se)||mo.tagNameCheck instanceof Function&&mo.tagNameCheck(se))&&(mo.attributeNameCheck instanceof RegExp&&Ac(mo.attributeNameCheck,dt)||mo.attributeNameCheck instanceof Function&&mo.attributeNameCheck(dt,se))||dt==="is"&&mo.allowCustomizedBuiltInElements&&(mo.tagNameCheck instanceof RegExp&&Ac(mo.tagNameCheck,jt)||mo.tagNameCheck instanceof Function&&mo.tagNameCheck(jt))))return!1}else if(!tR[dt]){if(!Ac(rt,gC(jt,St,""))){if(!((dt==="src"||dt==="xlink:href"||dt==="href")&&se!=="script"&&BV(jt,"data:")===0&&uL[se])){if(!(pf&&!Ac(Be,gC(jt,St,"")))){if(jt)return!1}}}}}}}return!0},yL=function(se){return se!=="annotation-xml"&&F5(se,$t)},wY=function(se){yi(tt.beforeSanitizeAttributes,se,null);const{attributes:dt}=se;if(!dt||sR(se))return;const jt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ln,forceKeepAttr:void 0};let ys=dt.length;for(;ys--;){const qa=dt[ys],{name:qr,namespaceURI:Cs,value:jl}=qa,yf=Mr(qr),e=jl;let t=qr==="value"?e:NV(e);if(jt.attrName=yf,jt.attrValue=t,jt.keepAttr=!0,jt.forceKeepAttr=void 0,yi(tt.uponSanitizeAttribute,se,jt),t=jt.attrValue,iL&&(yf==="id"||yf==="name")&&(Hg(qr,se),t=lL+t),Qb&&Ac(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,t)){Hg(qr,se);continue}if(yf==="attributename"&&F5(t,"href")){Hg(qr,se);continue}if(jt.forceKeepAttr)continue;if(!jt.keepAttr){Hg(qr,se);continue}if(!Qp&&Ac(/\/>/i,t)){Hg(qr,se);continue}sm&&E3([qt,Ct,Lt],r=>{t=gC(t,r," ")});const o=Mr(se.nodeName);if(!vL(o,yf,t)){Hg(qr,se);continue}if(le&&typeof F=="object"&&typeof F.getAttributeType=="function"&&!Cs)switch(F.getAttributeType(o,yf)){case"TrustedHTML":{t=le.createHTML(t);break}case"TrustedScriptURL":{t=le.createScriptURL(t);break}}if(t!==e)try{Cs?se.setAttributeNS(Cs,qr,t):se.setAttribute(qr,t),sR(se)?al(se):T3(s.removed)}catch{Hg(qr,se)}}yi(tt.afterSanitizeAttributes,se,null)},xY=function nn(se){let dt=null;const jt=pL(se);for(yi(tt.beforeSanitizeShadowDOM,se,null);dt=jt.nextNode();)yi(tt.uponSanitizeShadowNode,dt,null),SY(dt),wY(dt),dt.content instanceof g&&nn(dt.content);yi(tt.afterSanitizeShadowDOM,se,null)};return s.sanitize=function(nn){let se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},dt=null,jt=null,ys=null,qa=null;if(nR=!nn,nR&&(nn=""),typeof nn!="string"&&!bL(nn))if(typeof nn.toString=="function"){if(nn=nn.toString(),typeof nn!="string")throw hC("dirty is not a string, aborting")}else throw hC("toString is not a function");if(!s.isSupported)return nn;if(XD||fL(se),s.removed=[],typeof nn=="string"&&(mS=!1),mS){if(nn.nodeName){const jl=Mr(nn.nodeName);if(!Ft[jl]||Aa[jl])throw hC("root node is forbidden and cannot be sanitized in-place")}}else if(nn instanceof C)dt=hL(""),jt=dt.ownerDocument.importNode(nn,!0),jt.nodeType===bC.element&&jt.nodeName==="BODY"||jt.nodeName==="HTML"?dt=jt:dt.appendChild(jt);else{if(!Vu&&!sm&&!bf&&nn.indexOf("<")===-1)return le&&pT?le.createHTML(nn):nn;if(dt=hL(nn),!dt)return Vu?null:pT?me:""}dt&&JD&&al(dt.firstChild);const qr=pL(mS?nn:dt);for(;ys=qr.nextNode();)SY(ys),wY(ys),ys.content instanceof g&&xY(ys.content);if(mS)return nn;if(Vu){if(hT)for(qa=ve.call(dt.ownerDocument);dt.firstChild;)qa.appendChild(dt.firstChild);else qa=dt;return(ln.shadowroot||ln.shadowrootmode)&&(qa=ht.call(i,qa,!0)),qa}let Cs=bf?dt.outerHTML:dt.innerHTML;return bf&&Ft["!doctype"]&&dt.ownerDocument&&dt.ownerDocument.doctype&&dt.ownerDocument.doctype.name&&Ac(hB,dt.ownerDocument.doctype.name)&&(Cs=" +`+Cs),sm&&E3([qt,Ct,Lt],jl=>{Cs=gC(Cs,jl," ")}),le&&pT?le.createHTML(Cs):Cs},s.setConfig=function(){let nn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};fL(nn),XD=!0},s.clearConfig=function(){ov=null,XD=!1},s.isValidAttribute=function(nn,se,dt){ov||fL({});const jt=Mr(nn),ys=Mr(se);return vL(jt,ys,dt)},s.addHook=function(nn,se){typeof se=="function"&&ts(tt[nn],se)},s.removeHook=function(nn,se){if(se!==void 0){const dt=RV(tt[nn],se);return dt===-1?void 0:MV(tt[nn],dt,1)[0]}return T3(tt[nn])},s.removeHooks=function(nn){tt[nn]=[]},s.removeAllHooks=function(){tt=bB()},s}var jV=vB();const yB=n=>jV().sanitize(n);var Or=tinymce.util.Tools.resolve("tinymce.util.I18n");const GV={indent:!0,outdent:!0,"table-insert-column-after":!0,"table-insert-column-before":!0,"paste-column-after":!0,"paste-column-before":!0,"unordered-list":!0,"list-bull-circle":!0,"list-bull-disc":!0,"list-bull-default":!0,"list-bull-square":!0},CB="temporary-placeholder",U5=n=>()=>mt(n,CB).getOr("!not found!"),Z5=(n,s)=>{const a=n.toLowerCase();if(Or.isRtl()){const i=kS(a,"-rtl");return In(s,i)?i:a}else return a},SB=(n,s)=>mt(s,Z5(n,s)),_3=(n,s)=>{const a=s();return SB(n,a).getOrThunk(U5(a))},O3=(n,s,a)=>{const i=s();return SB(n,i).or(a).getOrThunk(U5(i))},qV=n=>Or.isRtl()?In(GV,n):!1,vC=()=>Nt("add-focusable",[Hn(n=>{od(n.element,"svg").each(s=>wt(s,"focusable","false"))})]),wB=(n,s,a,i)=>{const d=qV(s)?["tox-icon--flip"]:[],g=mt(a,Z5(s,a)).or(i).getOrThunk(U5(a));return{dom:{tag:n.tag,attributes:n.attributes??{},classes:n.classes.concat(d),innerHtml:g},behaviours:De([...n.behaviours??[],vC()]),eventOrder:n.eventOrder??{}}},bi=(n,s,a,i=T.none())=>wB(s,n,a(),i),KV=(n,s,a)=>{const i=a(),d=Bt(n,g=>In(i,Z5(g,i)));return wB(s,d.getOr(CB),i,T.none())},YV={success:"checkmark",error:"warning",err:"error",warning:"warning",warn:"warning",info:"info"},yb=mi({name:"Notification",factory:n=>{const s=Ge("notification-text"),a=En({dom:Vd(`

    ${yB(n.backstageProvider.translate(n.text))}

    `),behaviours:De([At.config({})])}),i=L=>({dom:{tag:"div",classes:["tox-bar"],styles:{width:`${L}%`}}}),d=L=>({dom:{tag:"div",classes:["tox-text"],innerHtml:`${L}%`}}),g=En({dom:{tag:"div",classes:n.progress?["tox-progress-bar","tox-progress-indicator"]:["tox-progress-bar"]},components:[{dom:{tag:"div",classes:["tox-bar-container"]},components:[i(0)]},d(0)],behaviours:De([At.config({})])}),S={updateProgress:(L,W)=>{L.getSystem().isConnected()&&g.getOpt(L).each(j=>{At.set(j,[{dom:{tag:"div",classes:["tox-bar-container"]},components:[i(W)]},d(W)])})},updateText:(L,W)=>{if(L.getSystem().isConnected()){const j=a.get(L);At.set(j,[_n(W)])}}},x=Ot([n.icon.toArray(),[n.level],T.from(YV[n.level]).toArray()]),k=En(br.sketch({dom:{tag:"button",classes:["tox-notification__dismiss","tox-button","tox-button--naked","tox-button--icon"],attributes:{"aria-label":n.backstageProvider.translate("Close")}},components:[bi("close",{tag:"span",classes:["tox-icon"]},n.iconProvider)],buttonBehaviours:De([Wn.config({}),Yn.config({...n.backstageProvider.tooltips.getConfig({tooltipText:n.backstageProvider.translate("Close")})})]),action:L=>{n.onAction(L)}})),D=KV(x,{tag:"div",classes:["tox-notification__icon"]},n.iconProvider),N={dom:{tag:"div",classes:["tox-notification__body"]},components:[a.asSpec()],behaviours:De([At.config({})])},F=[D,N];return{uid:n.uid,dom:{tag:"div",attributes:{role:"alert","aria-labelledby":s},classes:["tox-notification","tox-notification--in",`tox-notification--${n.level}`]},behaviours:De([Wn.config({}),Pt.config({}),lt.config({mode:"special",onEscape:L=>(n.onAction(L),T.some(!0))})]),components:F.concat(n.progress?[g.asSpec()]:[]).concat([k.asSpec()]),apis:S}},configFields:[Hr("level","info",["success","error","warning","warn","info"]),Te("progress"),Dn("icon"),Te("onAction"),Te("text"),Te("iconProvider"),Te("backstageProvider")],apis:{updateProgress:(n,s,a)=>{n.updateProgress(s,a)},updateText:(n,s,a)=>{n.updateText(s,a)}}});var Cb=(n,s,a,i)=>{const d=s.backstage.shared,g=()=>Le.fromDom(n.queryCommandValue("ToggleView")===""?n.getContentAreaContainer():n.getContainer()),h=()=>{const D=Ko(g());return T.some(D)},C=D=>{h().each(N=>{Qe(D,F=>{Xt(F.element,"width"),wr(F.element)>N.width&&Rt(F.element,"width",N.width+"px")})})};return{open:(D,N,F)=>{const L=()=>{const Q=ze=>{At.remove(ze,j),V()},le=(ze,ve)=>{Ai(ze.element).length===0?me(ze,ve):Fe(ze,ve)},me=(ze,ve)=>{Ao.hide(ze),i.clear(),ve&&n.focus()},Fe=(ze,ve)=>{ve&<.focusIn(ze)};i.on(ze=>{N();const ve=F();Q(ze),le(ze,ve)})},W=()=>!_g(n)||!d.header.isPositionedAtTop(),j=tr(yb.sketch({text:D.text,level:go(["success","error","warning","warn","info"],D.type)?D.type:void 0,progress:D.progressBar===!0,icon:D.icon,onAction:L,iconProvider:d.providers.icons,backstageProvider:d.providers}));if(i.isSet()){const Q=Qo(j);i.on(le=>{At.append(le,Q),Ao.reposition(le),j.hasConfigured(yo)&&yo.refresh(le),C(le.components())})}else{const Q=tr(Ao.sketch({dom:{tag:"div",classes:["tox-notifications-container"],attributes:{"aria-label":"Notifications",role:"region"}},lazySink:d.getSink,fireDismissalEventInstead:{},...d.header.isPositionedAtTop()?{}:{fireRepositionEventInstead:{}},inlineBehaviours:De([lt.config({mode:"cyclic",selector:".tox-notification, .tox-notification a, .tox-notification button"}),At.config({}),...W()?[yo.config({contextual:{lazyContext:()=>T.some(Ko(g())),fadeInClass:"tox-notification-container-dock-fadein",fadeOutClass:"tox-notification-container-dock-fadeout",transitionClass:"tox-notification-container-dock-transition"},modes:["top"],lazyViewport:ze=>Og(n,ze.element).map(ke=>({bounds:Op(ke),optScrollEnv:T.some({currentScrollTop:ke.element.dom.scrollTop,scrollElmTop:pa(ke.element).top})})).getOrThunk(()=>({bounds:Fs(),optScrollEnv:T.none()}))})]:[]])})),le=Qo(j),me={maxHeightFunction:Qf()},Fe={...d.anchors.banner(),overrides:me};i.set(Q),a.add(Q),Ao.showWithinBounds(Q,le,{anchor:Fe},h)}wi(D.timeout)&&D.timeout>0&&cC.setEditorTimeout(n,()=>{L()},D.timeout);const V=()=>{i.on(Q=>{Ao.reposition(Q),Q.hasConfigured(yo)&&yo.refresh(Q),C(Q.components())})};return{close:L,reposition:V,text:Q=>{yb.updateText(j,Q)},settings:D,getEl:()=>j.element.dom,progressBar:{value:Q=>{yb.updateProgress(j,Q)}}}},close:D=>{D.close()},getArgs:D=>D.settings}};const xB={setup:(n,s)=>{const a=(d,g)=>{gt(d,Os(),{raw:g})},i=()=>n.getMenu().bind(bn.getHighlighted);s.on("keydown",d=>{const g=d.which;n.isActive()&&(n.isMenuOpen()?g===13?(i().each(Dd),d.preventDefault()):g===40?(i().fold(()=>{n.getMenu().each(bn.highlightFirst)},h=>{a(h,d)}),d.preventDefault(),d.stopImmediatePropagation()):(g===37||g===38||g===39)&&i().each(h=>{a(h,d),d.preventDefault(),d.stopImmediatePropagation()}):(g===13||g===38||g===40)&&n.cancelIfNecessary())}),s.on("NodeChange",()=>{n.isActive()&&!n.isProcessingAction()&&!s.queryCommandState("mceAutoCompleterInRange")&&n.cancelIfNecessary()})}};var W5;(function(n){n[n.CLOSE_ON_EXECUTE=0]="CLOSE_ON_EXECUTE",n[n.BUBBLE_TO_SANDBOX=1]="BUBBLE_TO_SANDBOX"})(W5||(W5={}));var Ll=W5;const j5="tox-menu-nav__js",D3="tox-collection__item",G5="tox-swatch",JV={normal:j5,color:G5},q5="tox-collection__item--enabled",QV="tox-collection__group-heading",EB="tox-collection__item-icon",eU="tox-collection__item-image",tU="tox-collection__item-image-selector",R3="tox-collection__item-label",Sb="tox-collection__item-accessory",Dg="tox-collection__item-caret",nU="tox-collection__item-checkmark",Rg="tox-collection__item--active",K5="tox-collection__item-container",M3="tox-collection__item-container--column",TB="tox-collection__item-container--row",Dp="tox-collection__item-container--align-right",Rp="tox-collection__item-container--align-left",oU="tox-collection__item-container--valign-top",sU="tox-collection__item-container--valign-middle",rU="tox-collection__item-container--valign-bottom",kB=n=>mt(JV,n).getOr(j5),aU=n=>n==="color"?"tox-swatches":"tox-menu",Y5=n=>({backgroundMenu:"tox-background-menu",selectedMenu:"tox-selected-menu",selectedItem:"tox-collection__item--active",hasIcons:"tox-menu--has-icons",menu:aU(n),tieredMenu:"tox-tiered-menu"}),Mg=n=>{const s=Y5(n);return{backgroundMenu:s.backgroundMenu,selectedMenu:s.selectedMenu,menu:s.menu,selectedItem:s.selectedItem,item:kB(n)}},cU=(n,s,a)=>{const i=Y5(a);return{tag:"div",classes:Ot([[i.menu,`tox-menu-${s}-column`],n?[i.hasIcons]:[]])}},B3=[Zd.parts.items({})],wb=(n,s,a)=>{const i=Y5(a);return{dom:{tag:"div",classes:Ot([[i.tieredMenu]])},markers:Mg(a)}},AB=Ge("refetch-trigger-event"),X5=Ge("redirect-menu-item-interaction"),_B="tox-menu__searcher",N3=n=>Nn(n.element,`.${_B}`).bind(s=>n.getSystem().getByDom(s).toOptional()),P3=N3,eX=(n,s)=>{je.setValue(n,s.fetchPattern),n.element.dom.selectionStart=s.selectionStart,n.element.dom.selectionEnd=s.selectionEnd},$3=n=>{const s=je.getValue(n),a=n.element.dom.selectionStart,i=n.element.dom.selectionEnd;return{fetchPattern:s,selectionStart:a,selectionEnd:i}},iU=(n,s)=>{js(s.element,"id").each(a=>wt(n.element,"aria-activedescendant",a))},lU=n=>{const s=(d,g)=>(g.cut(),T.none()),a=(d,g)=>{const h={interactionEvent:g.event,eventType:g.event.raw.type};return gt(d,X5,h),T.some(!0)},i="searcher-events";return{dom:{tag:"div",classes:[D3]},components:[rf.sketch({inputClasses:[_B,"tox-textfield"],inputAttributes:{...n.placeholder.map(d=>({placeholder:n.i18n(d)})).getOr({}),type:"search","aria-autocomplete":"list"},inputBehaviours:De([Nt(i,[be(fu(),d=>{Gt(d,AB)}),be(Os(),(d,g)=>{g.event.raw.key==="Escape"&&g.stop()})]),lt.config({mode:"special",onLeft:s,onRight:s,onSpace:s,onEnter:a,onEscape:a,onUp:a,onDown:a})]),eventOrder:{keydown:[i,lt.name()]}})]}},F3="tox-collection--results__js",OB=n=>n.dom?{...n,dom:{...n.dom,attributes:{...n.dom.attributes??{},id:Ge("aria-item-search-result-id"),"aria-selected":"false"}}}:n,J5="Use arrow keys to navigate.",I3=(n,s)=>a=>{const i=Yr(a,s);return Ee(i,d=>({dom:n,components:d}))},uU=n=>({dom:{tag:"div",classes:["tox-menu","tox-swatches-menu"],attributes:{"aria-label":Or.translate(J5)}},components:[{dom:{tag:"div",classes:["tox-swatches"]},components:[Zd.parts.items({preprocess:n!=="auto"?I3({tag:"div",classes:["tox-swatches__row"]},n):Qt})]}]}),DB=n=>({dom:{tag:"div",classes:["tox-menu","tox-image-selector-menu"]},components:[{dom:{tag:"div",classes:["tox-image-selector"]},components:[Zd.parts.items({preprocess:n!=="auto"?I3({tag:"div",classes:["tox-image-selector__row"]},n):Qt})]}]}),RB=n=>({dom:{tag:"div",classes:["tox-menu","tox-collection","tox-collection--toolbar","tox-collection--toolbar-lg"]},components:[Zd.parts.items({preprocess:I3({tag:"div",classes:["tox-collection__group"]},n)})]}),MB=(n,s)=>{const a=[];let i=[];return Qe(n,(d,g)=>{s(d,g)?(i.length>0&&a.push(i),i=[],(In(d.dom,"innerHtml")||d.components&&d.components.length>0)&&i.push(d)):i.push(d)}),i.length>0&&a.push(i),Ee(a,d=>({dom:{tag:"div",classes:["tox-collection__group"]},components:d}))},Q5=(n,s,a)=>Zd.parts.items({preprocess:i=>{const d=Ee(i,a);return n!=="auto"&&n>1?I3({tag:"div",classes:["tox-collection__group"]},n)(d):MB(d,(g,h)=>s[h].type==="separator")}}),L3=n=>Br(n,s=>s.type==="widget"),eO=(n,s,a=!0)=>({dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(n===1?["tox-collection--list"]:["tox-collection--grid"]),attributes:{...L3(s)?{"aria-label":Or.translate(J5)}:{}}},components:[Q5(n,s,Qt)]}),tX=(n,s,a=!0)=>{const i=Ge("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection",F3].concat(n===1?["tox-collection--list"]:["tox-collection--grid"]),attributes:{id:i}},components:[Q5(n,s,OB)]}},tO=(n,s,a)=>{const i=Ge("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(n===1?["tox-collection--list"]:["tox-collection--grid"])},components:[lU({i18n:Or.translate,placeholder:a.placeholder}),{dom:{tag:"div",classes:[...n===1?["tox-collection--list"]:["tox-collection--grid"],F3],attributes:{id:i}},components:[Q5(n,s,OB)]}]}},dU=(n,s=!0)=>({dom:{tag:"div",classes:["tox-collection","tox-collection--horizontal"]},components:[Zd.parts.items({preprocess:a=>MB(a,(i,d)=>n[d].type==="separator")})]}),Mp=n=>Br(n,s=>"icon"in s&&s.icon!==void 0),$u=n=>(console.error(Am(n)),console.log(n),T.none()),mU=(n,s,a,i,d)=>{const g=dU(a);return{value:n,dom:g.dom,components:g.components,items:a}},H3=(n,s,a,i,d)=>{const g=()=>d.menuType!=="searchable"?eO(i,a):d.searchMode.searchMode==="search-with-field"?tO(i,a,d.searchMode):tX(i,a);if(d.menuType==="color"){const h=uU(i);return{value:n,dom:h.dom,components:h.components,items:a}}else if(d.menuType==="imageselector"&&i!=="auto"){const h=DB(i);return{value:n,dom:h.dom,components:h.components,items:a}}else if(d.menuType==="normal"&&i==="auto"){const h=eO(i,a);return{value:n,dom:h.dom,components:h.components,items:a}}else if(d.menuType==="normal"||d.menuType==="searchable"){const h=g();return{value:n,dom:h.dom,components:h.components,items:a}}else if(d.menuType==="listpreview"&&i!=="auto"){const h=RB(i);return{value:n,dom:h.dom,components:h.components,items:a}}else return{value:n,dom:cU(s,i,d.menuType),components:B3,items:a}},Ro=Yo("type"),z3=Yo("name"),Hl=Yo("label"),Oc=Yo("text"),BB=Yo("title"),nO=Yo("icon"),NB=Yo("url"),xb=Yo("value"),PB=lr("fetch"),fU=lr("getSubmenuItems"),Eb=lr("onAction"),gU=lr("onItemAction"),Bp=Pn("onSetup",()=>q),hU=To("name"),Bg=To("text"),pU=To("role"),nl=To("icon"),Np=To("tooltip"),$B=To("chevronTooltip"),yC=To("label"),oO=To("shortcut"),bU=ei("select"),Pp=Qs("active",!1),vU=Qs("borderless",!1),zl=Qs("enabled",!0),V3=Qs("primary",!1),sO=n=>ae("columns",n),rO=ae("meta",{}),aO=Pn("onAction",q),$p=n=>ko("type",n),cO=n=>Js("name","name",uo(()=>Ge(`${n}-name`)),Se),yU=n=>Js("value","value",uo(()=>Ge(`${n}-value`)),Xs()),FB=[Ro,Oc,Ia("level",["info","warn","error","success"]),nO,ae("url","")],IB=Et(FB),CU=n=>[Ro,n],SU=[Ro,Oc,zl,cO("button"),nl,vU,c2("buttonType",["primary","secondary","toolbar"]),V3,ko("context","mode:design")],wU=Et(SU),Tb=[Ro,z3],Fu=Tb.concat([yC]),LB=Tb.concat([Hl,zl,ko("context","mode:design")]),kb=Et(LB),xU=en,EU=Fu.concat([sO("auto"),ko("context","mode:design")]),TU=Et(EU),U3=yh([xb,Oc,nO]),ol=Fu.concat([ko("storageKey","default"),ko("context","mode:design")]),iO=Et(ol),HB=Se,kU=Et(Fu),AU=Se,_U=Tb.concat([ko("tag","textarea"),Yo("scriptId"),Yo("scriptUrl"),ei("onFocus"),wh("settings",void 0)]),zB=Tb.concat([ko("tag","textarea"),lr("init")]),VB=km(n=>Eo("customeditor.old",dc(zB),n).orThunk(()=>Eo("customeditor.new",dc(_U),n))),OU=Se,Ng=[zl,Bg,pU,oO,yU("menuitem"),rO,ko("context","mode:design")],UB=Et([Ro,z3].concat(Ng)),DU=en,Z3=[cO("button"),nl,Hr("align","end",["start","end"]),V3,zl,c2("buttonType",["primary","secondary"]),ko("context","mode:design")],lO=[...Z3,Oc],W3=[Ia("type",["submit","cancel","custom"]),...lO],RU=[Ia("type",["menu"]),Bg,Np,nl,na("items",UB),...Z3],MU=[...Z3,Ia("type",["togglebutton"]),Np,nl,Bg,Qs("active",!1)],BU=Tr("type",{submit:W3,cancel:W3,custom:W3,menu:RU,togglebutton:MU}),NU=Fu.concat([ko("context","mode:design"),To("dropAreaLabel"),To("buttonLabel"),To("allowedFileTypes"),U1("allowedFileExtensions",Se),Pn("onInvalidFiles",()=>Promise.resolve())]),ZB=Et(NU),CC=a2(),SC=n=>[Ro,Ch("columns"),n],WB=[Ro,Yo("html"),Hr("presets","presentation",["presentation","document"]),Pn("onInit",q),Qs("stretched",!1)],PU=Et(WB),wC=Fu.concat([Qs("border",!1),Qs("sandboxed",!0),Qs("streamContent",!1),Qs("transparent",!0)]),Qd=Et(wC),jB=Se,sl=Et(Tb.concat([To("height")])),$U=Et([Yo("url"),Sh("zoom"),Sh("cachedWidth"),Sh("cachedHeight")]),j3=Fu.concat([To("inputMode"),To("placeholder"),Qs("maximized",!1),zl,ko("context","mode:design")]),FU=Et(j3),IU=Se,Fp=n=>[Ro,Hl,n,Hr("align","start",["start","center","end"]),To("for")],LU=[Oc,xb],uO=[Oc,na("items",_m("items",()=>G3))],G3=fc([Et(LU),Et(uO)]),HU=Fu.concat([na("items",G3),zl,ko("context","mode:design")]),zU=Et(HU),Ip=Se,GB=Fu.concat([bw("items",[Oc,xb]),i2("size",1),zl,ko("context","mode:design")]),qB=Et(GB),VU=Se,dO=Fu.concat([Qs("constrain",!0),zl,ko("context","mode:design")]),KB=Et(dO),q3=Et([Yo("width"),Yo("height")]),Ab=Tb.concat([Hl,i2("min",0),i2("max",0)]),mO=Et(Ab),YB=gh,UU=[Ro,na("header",Se),na("cells",mc(Se))],ZU=Et(UU),XB=Fu.concat([To("placeholder"),Qs("maximized",!1),zl,ko("context","mode:design"),vw("spellcheck")]),JB=Et(XB),xC=Se,WU=[ko("buttonType","default"),To("text"),To("tooltip"),To("icon"),La("search",!1,fc([en,Et([To("placeholder")])],n=>Kl(n)?n?T.some({placeholder:T.none()}):T.none():T.some(n))),lr("fetch"),Pn("onSetup",()=>q),ko("context","mode:design")],QB=Et([Ro,...WU]),eN=n=>Eo("menubutton",QB,n),tN=[Ia("type",["directory","leaf"]),BB,Yo("id"),Qc("menu",QB),To("customStateIcon"),To("customStateIconTooltip")],oN=Et(tN),fO=tN.concat([na("children",_m("children",()=>mu("type",{directory:sN,leaf:oN})))]),sN=Et(fO),jU=mu("type",{directory:sN,leaf:oN}),EC=[Ro,na("items",jU),ei("onLeafAction"),ei("onToggleExpand"),fd("defaultExpandedIds",[],Se),To("defaultSelectedId")],GU=Et(EC),rN=Fu.concat([Hr("filetype","file",["image","media","file"]),zl,To("picker_text"),ko("context","mode:design")]),qU=Et(rN),KU=Et([xb,rO]),gO=n=>Js("items","items",Pa(),mc(km(s=>Eo(`Checking item of ${n}`,hO,s).fold(a=>kt.error(Am(a)),a=>kt.value(a))))),hO=vh(()=>mu("type",{alertbanner:IB,bar:Et(CU(gO("bar"))),button:wU,checkbox:kb,colorinput:iO,colorpicker:kU,dropzone:ZB,grid:Et(SC(gO("grid"))),iframe:Qd,input:FU,listbox:zU,selectbox:qB,sizeinput:KB,slider:mO,textarea:JB,urlinput:qU,customeditor:VB,htmlpanel:PU,imagepreview:sl,collection:TU,label:Et(Fp(gO("label"))),table:ZU,tree:GU,panel:pO})),K3=[Ro,ae("classes",[]),na("items",hO)],pO=Et(K3),YU=[cO("tab"),BB,na("items",hO)],bO=[Ro,bw("tabs",YU)],Lp=Et(bO),aN=lO,Hp=BU,cN=Et([Yo("title"),Fa("body",mu("type",{panel:pO,tabpanel:Lp})),ko("size","normal"),fd("buttons",[],Hp),ae("initialData",{}),Pn("onAction",q),Pn("onChange",q),Pn("onSubmit",q),Pn("onClose",q),Pn("onCancel",q),Pn("onTabChange",q)]),XU=n=>Eo("dialog",cN,n),iN=Et([Ia("type",["cancel","custom"]),...aN]),JU=Et([Yo("title"),Yo("url"),Sh("height"),Sh("width"),U1("buttons",iN),Pn("onAction",q),Pn("onCancel",q),Pn("onClose",q),Pn("onMessage",q)]),QU=n=>Eo("dialog",JU,n),vO=n=>Ic(n)?[n].concat(ie(Ku(n),vO)):dl(n)?ie(n,vO):[],lN=n=>kn(n.type)&&kn(n.name),eZ={checkbox:xU,colorinput:HB,colorpicker:AU,dropzone:CC,input:IU,iframe:jB,imagepreview:$U,selectbox:VU,sizeinput:q3,slider:YB,listbox:Ip,size:q3,textarea:xC,urlinput:KU,customeditor:OU,collection:U3,togglemenuitem:DU},tZ=n=>T.from(eZ[n.type]),nZ=n=>oo(vO(n),lN),oZ=n=>{const s=nZ(n),a=ie(s,i=>tZ(i).fold(()=>[],d=>[Fa(i.name,d)]));return Et(a)},uN=n=>{const s=$a(XU(n)),a=oZ(n),i=n.initialData??{};return{internalDialog:s,dataValidator:a,initialData:i}},zp={open:(n,s)=>{const a=uN(s);return n(a.internalDialog,a.initialData,a.dataValidator)},openUrl:(n,s)=>{const a=$a(QU(s));return n(a)},redial:n=>uN(n)},dN=Et([Ro,Bg]),sZ=n=>Eo("separatormenuitem",dN,n),mN=Et([$p("autocompleteitem"),Pp,zl,rO,xb,Bg,nl]),rZ=n=>Eo("Autocompleter.Separator",dN,n),aZ=n=>Eo("Autocompleter.Item",mN,n),_b=[zl,Np,nl,Bg,Bp,ko("context","mode:design")],cZ=Et([Ro,Eb,oO].concat(_b)),yO=n=>Eo("toolbarbutton",cZ,n),CO=[Pp].concat(_b),fN=Et(CO.concat([Ro,Eb,oO])),SO=n=>Eo("ToggleButton",fN,n),Y3=[Pn("predicate",Fn),Hr("scope","node",["node","editor"]),Hr("position","selection",["node","selection","line"])],X3=_b.concat([$p("contextformbutton"),ko("align","end"),V3,Eb,Lr("original",Qt)]),iZ=CO.concat([$p("contextformbutton"),ko("align","end"),V3,Eb,Lr("original",Qt)]),lZ=_b.concat([$p("contextformbutton")]),uZ=CO.concat([$p("contextformtogglebutton")]),dZ=Tr("type",{contextformbutton:X3,contextformtogglebutton:iZ}),wO=[yC,na("commands",dZ),Qc("launch",Tr("type",{contextformbutton:lZ,contextformtogglebutton:uZ})),Pn("onInput",q),Pn("onSetup",q)],mZ=[...Y3,...wO,Ia("type",["contextform"]),Pn("initValue",te("")),To("placeholder")],fZ=[...Y3,...wO,Ia("type",["contextsliderform"]),Pn("initValue",te(0)),Pn("min",te(0)),Pn("max",te(100))],gZ=[...Y3,...wO,Ia("type",["contextsizeinputform"]),Pn("initValue",te({width:"",height:""}))],Pg=Tr("type",{contextform:mZ,contextsliderform:fZ,contextsizeinputform:gZ}),hZ=n=>Eo("ContextForm",Pg,n),pZ=_b.concat([$p("contexttoolbarbutton")]),gN=Et([$p("contexttoolbar"),oa("launch",pZ),Fa("items",fc([Se,yh([To("name"),To("label"),na("items",Se)])]))].concat(Y3)),bZ=n=>({name:n.name.getOrUndefined(),label:n.label.getOrUndefined(),items:n.items}),vZ=n=>({...n,launch:n.launch.getOrUndefined(),items:kn(n.items)?n.items:Ee(n.items,bZ)}),yZ=n=>Eo("ContextToolbar",gN,n),CZ=[Ro,Yo("src"),To("alt"),fd("classes",[],Se)],xO=Et(CZ),hN=[Ro,Oc,hU,fd("classes",["tox-collection__item-label"],Se)],EO=Et(hN),TC=vh(()=>mu("type",{cardimage:xO,cardtext:EO,cardcontainer:Ob})),Ob=Et([Ro,ko("direction","horizontal"),ko("align","left"),ko("valign","middle"),na("items",TC)]),SZ=Et([Ro,yC,na("items",TC),Bp,aO].concat(Ng)),pN=n=>Eo("cardmenuitem",SZ,n),wZ=Et([Ro,Pp,nl,yC].concat(Ng)),Db=n=>Eo("choicemenuitem",wZ,n),TO=[Ro,Yo("fancytype"),aO],J3=[ae("initData",{})].concat(TO),kO=[ei("select"),yw("initData",{},[Qs("allowCustomColors",!0),ko("storageKey","default"),U1("colors",Xs())])].concat(TO),xZ=[ei("select"),Li("initData",[Ch("columns"),fd("items",[],Xs())])].concat(TO),EZ=Tr("fancytype",{inserttable:J3,colorswatch:kO,imageselect:xZ}),TZ=n=>Eo("fancymenuitem",EZ,n),AO=Et([Ro,Pp,NB,yC,Np].concat(Ng)),kZ=Et([Ro,Pp,nO,Hl,Np,xb].concat(Ng)),AZ=n=>Eo("imagemenuitem",AO,n),_Z=n=>Eo("resetimageitem",kZ,n),bN=Et([Ro,Bp,aO,nl].concat(Ng)),_O=n=>Eo("menuitem",bN,n),OZ=Et([Ro,fU,Bp,nl].concat(Ng)),DZ=n=>Eo("nestedmenuitem",OZ,n),RZ=Et([Ro,nl,Pp,Bp,Eb].concat(Ng)),vN=n=>Eo("togglemenuitem",RZ,n),MZ=Et([nl,Np,Pn("onShow",q),Pn("onHide",q),Bp]),OO=n=>Eo("sidebar",MZ,n),yN=Et([Ro,Fa("items",fc([yh([z3,na("items",Se)]),Se]))].concat(_b)),CN=n=>Eo("GroupToolbarButton",yN,n),BZ=Et([Ro,Np,$B,nl,Bg,bU,PB,Bp,Hr("presets","normal",["normal","color","listpreview"]),sO(1),Eb,gU,ko("context","mode:design")]),NZ=n=>Eo("SplitButton",BZ,n),DO=[Bg,nl,To("tooltip"),Hr("buttonType","secondary",["primary","secondary"]),Qs("borderless",!1),lr("onAction"),ko("context","mode:design")],RO=[...DO,Oc,Ia("type",["button"])],PZ=[...DO,Qs("active",!1),Ia("type",["togglebutton"])],SN={button:RO,togglebutton:PZ},$Z=[Ia("type",["group"]),fd("buttons",[],Tr("type",SN))],FZ=Tr("type",{...SN,group:$Z}),IZ=Et([fd("buttons",[],FZ),lr("onShow"),lr("onHide")]),LZ=n=>Eo("view",IZ,n),MO=(n,s,a)=>{const i=Ks(n.element,"."+a);if(i.length>0){const d=qn(i,g=>{const h=g.dom.getBoundingClientRect().top,C=i[0].dom.getBoundingClientRect().top;return Math.abs(h-C)>s}).getOr(i.length);return T.some({numColumns:d,numRows:Math.ceil(i.length/d)})}else return T.none()},Q3=(n,s)=>De([Nt(n,s)]),Vp={namedEvents:Q3,unnamedEvents:n=>Q3(Ge("unnamed-events"),n)},Iu={item:n=>Je.config({disabled:n,disableClass:"tox-collection__item--state-disabled"}),button:n=>Je.config({disabled:n}),splitButton:n=>Je.config({disabled:n,disableClass:"tox-tbtn--disabled"}),toolbarButton:n=>Je.config({disabled:n,disableClass:"tox-tbtn--disabled",useNative:!1})},Rb=(n,s)=>{const a=n.getApi(s);return i=>{i(a)}},Lu=(n,s)=>Hn(a=>{Dt(n.onBeforeSetup)&&n.onBeforeSetup(a),Rb(n,a)(d=>{const g=n.onSetup(d);Dt(g)&&s.set(g)})}),Up=(n,s)=>Zi(a=>Rb(n,a)(s.get())),BO=(n,s,a)=>Zi(i=>(a.set(je.getValue(i)),Rb(n,i)(s.get()))),xN="silver.uistate",kC="setDisabled",HZ="setEnabled",EN="init",TN=["switchmode",EN],AC=(n,s)=>{const a=n.mainUi.outerContainer,i=[n.mainUi.mothership,...n.uiMotherships];s===kC&&Qe(i,d=>{d.broadcastOn([Wi()],{target:a.element})}),Qe(i,d=>{d.broadcastOn([xN],s)})},kN=(n,s)=>{n.on("init SwitchMode",a=>{AC(s,a.type)}),n.on("DisabledStateChange",a=>{if(!a.isDefaultPrevented()){const i=a.state?kC:EN;AC(s,i),a.state||n.nodeChanged()}}),n.on("NodeChange",a=>{const i=n.ui.isEnabled()?a.type:kC;AC(s,i)}),B7(n)&&n.mode.set("readonly")},is=n=>Ec.config({channels:{[xN]:{onReceive:(s,a)=>{if(a===kC||a===HZ){Je.set(s,a===kC);return}const{contextType:i,shouldDisable:d}=n();i==="mode"&&!go(TN,a)||Je.set(s,d)}}}}),VZ=(n,s)=>Cu((a,i)=>{Rb(n,a)(n.onAction),!n.triggersSubmenu&&s===Ll.CLOSE_ON_EXECUTE&&(a.getSystem().isConnected()&&Gt(a,G1()),i.stop())}),UZ={[Ha()]:["disabling","alloy.base.behaviour","toggling","item-events"]},Mb=gm,$g=(n,s,a,i)=>{const d=ct(q);return{type:"item",dom:s.dom,components:Mb(s.optComponents),data:n.data,eventOrder:UZ,hasSubmenu:n.triggersSubmenu,itemBehaviours:De([Nt("item-events",[VZ(n,a),Lu(n,d),Up(n,d)]),Iu.item(()=>!n.enabled||i.checkUiComponentContext(n.context).shouldDisable),is(()=>i.checkUiComponentContext(n.context)),At.config({})].concat(n.itemBehaviours))}},Fg=n=>({value:n.value,meta:{text:n.text.getOr(""),...n.meta}}),AN=(n,s)=>{const a=Le.fromTag("div");Un(a,"tox-image-selector-loading-spinner");const i=g=>{Un(g,"tox-image-selector-loading-spinner-wrapper"),Ws(g,a)},d=g=>{wo(g,"tox-image-selector-loading-spinner-wrapper"),Kc(a)};return{dom:{tag:n.tag,attributes:n.attributes??{},classes:n.classes},components:[{dom:{tag:"div",classes:["tox-image-selector-image-wrapper"]},components:[{dom:{tag:"img",attributes:{src:s},classes:["tox-image-selector-image-img"]}}]},...n.checkMark.toArray()],behaviours:De([...n.behaviours??[],Nt("render-image-events",[Hn(g=>{i(g.element),Nn(g.element,"img").each(h=>{Ni(h).catch(C=>{console.error(C)}).finally(()=>{d(g.element)})})})])])}},NO=(n,s)=>AN(s,n),PO=n=>{const s=vb.os.isMacOS()||vb.os.isiOS(),d=s?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl",access:"Shift+Alt"},g=n.split("+"),h=Ee(g,C=>{const S=C.toLowerCase().trim();return In(d,S)?d[S]:C});return s?h.join(""):h.join("+")},eE=(n,s,a=[EB])=>bi(n,{tag:"div",classes:a},s),_N=n=>({dom:{tag:"div",classes:[R3]},components:[_n(Or.translate(n))]}),ON=(n,s)=>({dom:{tag:"div",classes:s,innerHtml:n}}),ZZ=(n,s)=>({dom:{tag:"div",classes:[R3]},components:[{dom:{tag:n.tag,styles:n.styles},components:[_n(Or.translate(s))]}]}),WZ=n=>({dom:{tag:"div",classes:[Sb]},components:[_n(PO(n))]}),_C=n=>eE("checkmark",n,[nU]),af=n=>eE("chevron-right",n,[Dg]),jZ=n=>eE("chevron-down",n,[Dg]),OC=(n,s)=>{const a=n.direction==="vertical"?M3:TB,i=n.align==="left"?Rp:Dp;return{dom:{tag:"div",classes:[K5,a,i,(()=>{switch(n.valign){case"top":return oU;case"middle":return sU;case"bottom":return rU}})()]},components:s}},GZ=(n,s,a)=>({dom:{tag:"img",classes:s,attributes:{src:n,alt:a.getOr("")}}}),$O=(n,s,a)=>{const i="custom",d="remove",g=n.value,h=n.iconContent.map(x=>O3(x,s.icons,a)),C=n.ariaLabel.map(x=>({"aria-label":s.translate(x),"data-mce-name":x})).getOr({});return{dom:(()=>{const x=G5,k=h.getOr(""),D={tag:"div",attributes:C,classes:[x]};return g===i?{...D,tag:"button",classes:[...D.classes,"tox-swatches__picker-btn"],innerHtml:k}:g===d?{...D,classes:[...D.classes,"tox-swatch--remove"],innerHtml:k}:Uo(g)?{...D,attributes:{...D.attributes,"data-mce-color":g},styles:{"background-color":g},innerHtml:k}:D})(),optComponents:[]}},FO=(n,s)=>{const a=n.map(i=>({attributes:{id:Ge("menu-item"),"aria-label":Or.translate(i)}})).getOr({});return{tag:"div",classes:[j5,D3].concat(s),...a}},DN=n=>({dom:{tag:"label"},components:[_n(n)]}),qZ=(n,s,a,i)=>{const d={tag:"div",classes:[EB]},g=N=>bi(N,d,s.icons,i),h=()=>T.some({dom:d}),C=a?n.iconContent.map(g).orThunk(h):T.none(),S=n.checkMark,x=T.from(n.meta).fold(()=>_N,N=>In(N,"style")?on(ZZ,N.style):_N),k=n.htmlContent.fold(()=>n.textContent.map(x),N=>T.some(ON(N,[R3])));return{dom:FO(n.ariaLabel,[]),optComponents:[C,k,n.shortcutContent.map(WZ),S,n.caret,n.labelContent.map(DN)]}},RN=n=>({dom:FO(n.ariaLabel,[tU]),optComponents:[T.some(NO(n.iconContent.getOrDie(),{tag:"div",classes:[eU],checkMark:n.checkMark})),n.labelContent.map(DN)]}),Bb=(n,s,a,i=T.none())=>n.presets==="color"?$O(n,s,i):n.presets==="img"?RN(n):qZ(n,s,a,i),tE=(n,s,a)=>mt(n,"tooltipWorker").map(i=>[Yn.config({lazySink:s.getSink,tooltipDom:{tag:"div",classes:["tox-tooltip-worker-container"]},tooltipComponents:[],anchor:d=>({type:"submenu",item:d,overrides:{maxHeightFunction:Qf}}),mode:"follow-highlight",onShow:(d,g)=>{i(h=>{Yn.setComponents(d,[Qx({element:Le.fromDom(h)})])})}})]).getOrThunk(()=>a.map(i=>[Yn.config({...s.providers.tooltips.getConfig({tooltipText:i}),mode:"follow-highlight"})]).getOr([])),IO=n=>bb.DOM.encode(n),nE=(n,s)=>{const a=Or.translate(n),i=IO(a);if(s.length>0){const d=new RegExp(AT(s),"gi");return i.replace(d,g=>`${g}`)}else return i},KZ=(n,s,a,i,d,g,h,C=!0)=>{const S=Bb({presets:i,textContent:T.none(),htmlContent:a?n.text.map(k=>nE(k,s)):T.none(),ariaLabel:n.text,labelContent:T.none(),iconContent:n.icon,shortcutContent:T.none(),checkMark:T.none(),caret:T.none(),value:n.value},h.providers,C,n.icon),x=n.text.filter(k=>!a&&k!=="");return $g({context:"mode:design",data:Fg(n),enabled:n.enabled,getApi:te({}),onAction:k=>d(n.value,n.meta),onSetup:te(q),triggersSubmenu:!1,itemBehaviours:tE(n,h,x)},S,g,h.providers)},Dc=(n,s)=>Ee(n,a=>{switch(a.type){case"cardcontainer":return OC(a,Dc(a.items,s));case"cardimage":return GZ(a.src,a.classes,a.alt);case"cardtext":const d=a.name.exists(g=>go(s.cardText.highlightOn,g))?T.from(s.cardText.matchText).getOr(""):"";return ON(nE(a.text,d),a.classes)}}),YZ=(n,s,a,i)=>{const d=h=>({isEnabled:()=>!Je.isDisabled(h),setEnabled:C=>{Je.set(h,!C),Qe(Ks(h.element,"*"),S=>{h.getSystem().getByDom(S).each(x=>{x.hasConfigured(Je)&&Je.set(x,!C)})})}}),g={dom:FO(n.label,[]),optComponents:[T.some({dom:{tag:"div",classes:[K5,TB]},components:Dc(n.items,i)})]};return $g({context:"mode:design",data:Fg({text:T.none(),...n}),enabled:n.enabled,getApi:d,onAction:n.onAction,onSetup:n.onSetup,triggersSubmenu:!1,itemBehaviours:T.from(i.itemBehaviours).getOr([])},g,s,a.providers)},MN=(n,s,a,i,d,g,h,C=!0)=>{const S=D=>({setActive:N=>{tn.set(D,N)},isActive:()=>tn.isOn(D),isEnabled:()=>!Je.isDisabled(D),setEnabled:N=>Je.set(D,!N)}),x=Bb({presets:a,textContent:s?n.text:T.none(),htmlContent:T.none(),labelContent:n.label,ariaLabel:n.text,iconContent:n.icon,shortcutContent:s?n.shortcut:T.none(),checkMark:s?T.some(_C(h.icons)):T.none(),caret:T.none(),value:n.value},h,C),k=n.text.filter(te(!s)).map(D=>Yn.config(h.tooltips.getConfig({tooltipText:h.translate(D)})));return so($g({context:n.context,data:Fg(n),enabled:n.enabled,getApi:S,onAction:D=>i(n.value),onSetup:D=>(D.setActive(d),q),triggersSubmenu:!1,itemBehaviours:[...k.toArray()]},x,g,h),{toggling:{toggleClass:q5,toggleOnExecute:!1,selected:n.active,exclusive:!0}})},LO=n=>({value:PN(n)}),HO=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,BN=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,NN=n=>HO.test(n)||BN.test(n),PN=n=>hv(n,"#").toUpperCase(),XZ=n=>NN(n)?T.some({value:PN(n)}):T.none(),JZ=n=>({value:n.value.replace(HO,(a,i,d,g)=>i+i+d+d+g+g)}),QZ=n=>{const s=JZ(n),a=BN.exec(s.value);return a===null?["FFFFFF","FF","FF","FF"]:a},zO=n=>{const s=n.toString(16);return(s.length===1?"0"+s:s).toUpperCase()},Nb=n=>{const s=zO(n.red)+zO(n.green)+zO(n.blue);return LO(s)},DC=(n,s,a)=>({hue:n,saturation:s,value:a}),VO=n=>{let s=0,a=0,i=0;const d=n.red/255,g=n.green/255,h=n.blue/255,C=Math.min(d,Math.min(g,h)),S=Math.max(d,Math.max(g,h));if(C===S)return i=C,DC(0,0,i*100);const x=d===C?g-h:h===C?d-g:h-d;return s=d===C?3:h===C?1:5,s=60*(s-x/(S-C)),a=(S-C)/S,i=S,DC(Math.round(s),Math.round(a*100),Math.round(i*100))},$N=Math.min,UO=Math.max,Pb=Math.round,ZO=/^\s*rgb\s*\(\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*(\d+)\s*\)\s*$/i,eW=/^\s*rgba\s*\(\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*(\d+)\s*[,\s]\s*((?:\d?\.\d+|\d+)%?)\s*\)\s*$/i,cf=(n,s,a,i)=>({red:n,green:s,blue:a,alpha:i}),Ig=n=>{const s=parseInt(n,10);return s.toString()===n&&s>=0&&s<=255},WO=n=>{let s,a,i;const d=(n.hue||0)%360;let g=n.saturation/100,h=n.value/100;if(g=UO(0,$N(g,1)),h=UO(0,$N(h,1)),g===0)return s=a=i=Pb(255*h),cf(s,a,i,1);const C=d/60,S=h*g,x=S*(1-Math.abs(C%2-1)),k=h-S;switch(Math.floor(C)){case 0:s=S,a=x,i=0;break;case 1:s=x,a=S,i=0;break;case 2:s=0,a=S,i=x;break;case 3:s=0,a=x,i=S;break;case 4:s=x,a=0,i=S;break;case 5:s=S,a=0,i=x;break;default:s=a=i=0}return s=Pb(255*(s+k)),a=Pb(255*(a+k)),i=Pb(255*(i+k)),cf(s,a,i,1)},$b=n=>{const s=QZ(n),a=parseInt(s[1],16),i=parseInt(s[2],16),d=parseInt(s[3],16);return cf(a,i,d,1)},jO=(n,s,a,i)=>{const d=parseInt(n,10),g=parseInt(s,10),h=parseInt(a,10),C=parseFloat(i);return cf(d,g,h,C)},GO=n=>{const s=ZO.exec(n);if(s!==null)return T.some(jO(s[1],s[2],s[3],"1"));const a=eW.exec(n);return a!==null?T.some(jO(a[1],a[2],a[3],a[4])):T.none()},FN=n=>`rgba(${n.red},${n.green},${n.blue},${n.alpha})`,RC=cf(255,0,0,1),tW=n=>VO($b(n)),IN=n=>Nb(WO(n)),LN=n=>XZ(n).orThunk(()=>GO(n).map(Nb)).getOrThunk(()=>{const s=document.createElement("canvas");s.height=1,s.width=1;const a=s.getContext("2d");a.clearRect(0,0,s.width,s.height),a.fillStyle="#FFFFFF",a.fillStyle=n,a.fillRect(0,0,1,1);const i=a.getImageData(0,0,1,1).data,d=i[0],g=i[1],h=i[2],C=i[3];return Nb(cf(d,g,h,C))}),HN=n=>{n.dispatch("SkinLoaded")},qO=(n,s)=>{n.dispatch("SkinLoadError",s)},zN=n=>{n.dispatch("ResizeEditor")},Gr=(n,s)=>{n.dispatch("ResizeContent",s)},VN=(n,s)=>{n.dispatch("ScrollContent",s)},UN=(n,s)=>{n.dispatch("TextColorChange",s)},nW=(n,s)=>{n.dispatch("AfterProgressState",{state:s})},ZN=(n,s)=>n.dispatch("ResolveName",{name:s.nodeName.toLowerCase(),target:s}),oW=(n,s)=>{n.dispatch("ToggleToolbarDrawer",{state:s})},sW=(n,s)=>{n.dispatch("StylesTextUpdate",s)},rW=(n,s)=>{n.dispatch("AlignTextUpdate",s)},WN=(n,s)=>{n.dispatch("FontSizeTextUpdate",s)},em=(n,s)=>{n.dispatch("FontSizeInputTextUpdate",s)},KO=(n,s)=>{n.dispatch("BlocksTextUpdate",s)},jN=(n,s)=>{n.dispatch("FontFamilyTextUpdate",s)},oE=n=>{n.dispatch("ToggleSidebar")},YO=n=>{n.dispatch("ToggleView")},GN=n=>{n.dispatch("ContextToolbarClose")},aW=n=>{n.dispatch("ContextFormSlideBack")},sE=(n,s)=>()=>{n(),s()},aa=(n,s=Tt)=>Zp(n,"NodeChange",a=>{a.setEnabled(n.selection.isEditable()&&s())}),cW=(n,s)=>a=>{const i=ds(),d=()=>{a.setActive(n.formatter.match(s));const g=n.formatter.formatChanged(s,a.setActive);i.set(g)};return n.initialized?d():n.once("init",d),()=>{n.off("init",d),i.clear()}},rE=(n,s)=>a=>{const i=aa(n)(a),d=cW(n,s)(a);return()=>{i(),d()}},Zp=(n,s,a)=>i=>{const d=()=>a(i),g=()=>{a(i),n.on(s,d)};return n.initialized?g():n.once("init",g),()=>{n.off("init",g),n.off(s,d)}},XO=n=>s=>()=>{n.undoManager.transact(()=>{n.focus(),n.execCommand("mceToggleFormat",!1,s.format)})},Rc=(n,s)=>()=>n.execCommand(s);var Ga=tinymce.util.Tools.resolve("tinymce.util.LocalStorage");const MC={},iW=(n,s=10)=>{const a=Ga.getItem(n),i=kn(a)?JSON.parse(a):[],g=(x=>s-x.length<0?x.slice(0,s):x)(i),h=x=>{Ae(g,x).each(C),g.unshift(x),g.length>s&&g.pop(),Ga.setItem(n,JSON.stringify(g))},C=x=>{g.splice(x,1)};return{add:h,state:()=>g.slice(0)}},qN=n=>mt(MC,n).getOrThunk(()=>{const s=`tinymce-custom-colors-${n}`,a=Ga.getItem(s);if(ju(a)){const d=Ga.getItem("tinymce-custom-colors");Ga.setItem(s,Uo(d)?d:"[]")}const i=iW(s,10);return MC[n]=i,i}),KN=n=>Ee(qN(n).state(),s=>({type:"choiceitem",text:s,icon:"checkmark",value:s})),JO=(n,s)=>{qN(n).add(s)},BC="forecolor",Fb="hilitecolor",NC=5,PC=n=>QO(n.map((s,a)=>a%2===0?"#"+LN(s).value:s)),QO=n=>{const s=[];for(let a=0;as=>s.options.get(n),$C="#000000",e6=n=>{const s=n.options.register,a=g=>Yl(g,kn)?{value:PC(g),valid:!0}:{valid:!1,message:"Must be an array of strings."},i=g=>Yl(g,kn)?{value:QO(g),valid:!0}:{valid:!1,message:"Must be an array of strings."},d=g=>wi(g)&&g>0?{value:g,valid:!0}:{valid:!1,message:"Must be a positive number."};s("color_map",{processor:a,default:["#BFEDD2","Light Green","#FBEEB8","Light Yellow","#F8CAC6","Light Red","#ECCAFA","Light Purple","#C2E0F4","Light Blue","#2DC26B","Green","#F1C40F","Yellow","#E03E2D","Red","#B96AD9","Purple","#3598DB","Blue","#169179","Dark Turquoise","#E67E23","Orange","#BA372A","Dark Red","#843FA1","Dark Purple","#236FA1","Dark Blue","#ECF0F1","Light Gray","#CED4D9","Medium Gray","#95A5A6","Gray","#7E8C8D","Dark Gray","#34495E","Navy Blue","#000000","Black","#ffffff","White"]}),s("color_map_raw",{processor:i}),s("color_map_background",{processor:a}),s("color_map_foreground",{processor:a}),s("color_cols",{processor:d,default:t6(n)}),s("color_cols_foreground",{processor:d,default:n6(n,BC)}),s("color_cols_background",{processor:d,default:n6(n,Fb)}),s("custom_colors",{processor:"boolean",default:!0}),s("color_default_foreground",{processor:"string",default:$C}),s("color_default_background",{processor:"string",default:$C})},aE=(n,s)=>s===BC&&n.options.isSet("color_map_foreground")?Vl("color_map_foreground")(n):s===Fb&&n.options.isSet("color_map_background")?Vl("color_map_background")(n):n.options.isSet("color_map_raw")?Vl("color_map_raw")(n):Vl("color_map")(n),t6=(n,s="default")=>Math.max(NC,Math.ceil(Math.sqrt(aE(n,s).length))),n6=(n,s)=>{const a=Vl("color_cols")(n),i=t6(n,s);return a===t6(n)?i:a},o6=(n,s="default")=>Math.round((()=>s===BC?Vl("color_cols_foreground")(n):s===Fb?Vl("color_cols_background")(n):Vl("color_cols")(n))()),YN=Vl("custom_colors"),XN=Vl("color_default_foreground"),JN=Vl("color_default_background"),lW="rgba(0, 0, 0, 0)",QN=n=>GO(n).exists(s=>s.alpha!==0),uW=n=>Xc(n,s=>{if(ga(s)){const a=lo(s,"background-color");return Ja(QN(a),a)}else return T.none()}).getOr(lW),s6=(n,s)=>{const a=Le.fromDom(n.selection.getStart()),i=s==="hilitecolor"?uW(a):lo(a,"color");return GO(i).map(d=>"#"+Nb(d).value)},Wp=(n,s,a)=>{n.undoManager.transact(()=>{n.focus(),n.formatter.apply(s,{value:a}),n.nodeChanged()})},dW=(n,s)=>{n.undoManager.transact(()=>{n.focus(),n.formatter.remove(s,{value:null},void 0,!0),n.nodeChanged()})},eP=n=>{n.addCommand("mceApplyTextcolor",(s,a)=>{Wp(n,s,a)}),n.addCommand("mceRemoveTextcolor",s=>{dW(n,s)})},tP=n=>{const s="choiceitem",a={type:s,text:"Remove color",icon:"color-swatch-remove-color",value:"remove"};return n?[a,{type:s,text:"Custom color",icon:"color-picker",value:"custom"}]:[a]},r6=(n,s,a,i)=>{a==="custom"?i6(n)(g=>{g.each(h=>{JO(s,h),n.execCommand("mceApplyTextcolor",s,h),i(h)})},s6(n,s).getOr($C)):a==="remove"?(i(""),n.execCommand("mceRemoveTextcolor",s)):(i(a),n.execCommand("mceApplyTextcolor",s,a))},a6=(n,s,a)=>n.concat(KN(s).concat(tP(a))),nP=(n,s,a)=>i=>{i(a6(n,s,a))},cE=(n,s,a)=>{const i=s==="forecolor"?"tox-icon-text-color__color":"tox-icon-highlight-bg-color__color";n.setIconFill(i,a)},oP=(n,s)=>{n.setTooltip(s)},c6=(n,s)=>a=>{const i=s6(n,s);return zc(i,a.toUpperCase())},FC=(n,s,a)=>{if(Qa(a))return s==="forecolor"?"Text color":"Background color";const i=s==="forecolor"?"Text color {0}":"Background color {0}",d=a6(aE(n,s),s,!1),g=Bt(d,h=>h.value===a).getOr({text:""}).text;return n.translate([i,n.translate(g)])},Hu=(n,s,a,i)=>{n.ui.registry.addSplitButton(s,{tooltip:FC(n,a,i.get()),chevronTooltip:s==="forecolor"?"Text color menu":"Background color menu",presets:"color",icon:s==="forecolor"?"text-color":"highlight-bg-color",select:c6(n,a),columns:o6(n,a),fetch:nP(aE(n,a),a,YN(n)),onAction:d=>{r6(n,a,i.get(),q)},onItemAction:(d,g)=>{r6(n,a,g,h=>{i.set(h),UN(n,{name:s,color:h})})},onSetup:d=>{cE(d,s,i.get());const g=h=>{h.name===s&&(cE(d,h.name,h.color),oP(d,FC(n,a,h.color)))};return n.on("TextColorChange",g),sE(aa(n)(d),()=>{n.off("TextColorChange",g)})}})},iE=(n,s,a,i,d)=>{n.ui.registry.addNestedMenuItem(s,{text:i,icon:s==="forecolor"?"text-color":"highlight-bg-color",onSetup:g=>(oP(g,FC(n,a,d.get())),cE(g,s,d.get()),aa(n)(g)),getSubmenuItems:()=>[{type:"fancymenuitem",fancytype:"colorswatch",select:c6(n,a),initData:{storageKey:a},onAction:g=>{r6(n,a,g.value,h=>{d.set(h),UN(n,{name:s,color:h})})}}]})},i6=n=>(s,a)=>{let i=!1;const d=C=>{const x=C.getData().colorpicker;i?(s(T.from(x)),C.close()):n.windowManager.alert(n.translate(["Invalid hex color code: {0}",x]))},g=(C,S)=>{S.name==="hex-valid"&&(i=S.value)},h={colorpicker:a};n.windowManager.open({title:"Color Picker",size:"normal",body:{type:"panel",items:[{type:"colorpicker",name:"colorpicker",label:"Color"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:h,onAction:g,onSubmit:d,onClose:q,onCancel:()=>{s(T.none())}})},sP=n=>{eP(n);const s=XN(n),a=JN(n),i=ct(s),d=ct(a);Hu(n,"forecolor","forecolor",i),Hu(n,"backcolor","hilitecolor",d),iE(n,"forecolor","forecolor","Text color",i),iE(n,"backcolor","hilitecolor","Background color",d)},rP=(n,s,a,i,d)=>{const g=S=>({setActive:x=>{tn.set(S,x)},isActive:()=>tn.isOn(S),isEnabled:()=>!Je.isDisabled(S),setEnabled:x=>Je.set(S,!x)}),h=Bb({presets:"img",textContent:T.none(),htmlContent:T.none(),ariaLabel:n.tooltip,iconContent:T.some(n.url),labelContent:n.label,shortcutContent:T.none(),checkMark:T.some(_C(d.icons)),caret:T.none(),value:n.value},d,!0),C=n.tooltip.map(S=>Yn.config(d.tooltips.getConfig({tooltipText:d.translate(S)})));return so($g({context:n.context,data:Fg(n),enabled:n.enabled,getApi:g,onAction:S=>{s(n.value),S.setActive(!0)},onSetup:S=>(S.setActive(a),q),triggersSubmenu:!1,itemBehaviours:[...C.toArray()]},h,i,d),{toggling:{toggleClass:q5,toggleOnExecute:!1,selected:n.active,exclusive:!0}})},IC=(n,s,a,i,d,g,h,C)=>{const S=Mp(s),k=l6(s,a,i,d!=="color"?"normal":"color",g,h,C);return H3(n,S,k,i,{menuType:d})},l6=(n,s,a,i,d,g,h)=>gm(Ee(n,C=>C.type==="choiceitem"?Db(C).fold($u,S=>T.some(MN(S,a===1,i,s,g(S.value),d,h,Mp(n)))):C.type==="imageitem"?AZ(C).fold($u,S=>T.some(rP(S,s,g(S.value),d,h))):C.type==="resetimage"?_Z(C).fold($u,S=>T.some(MN({...S,type:"choiceitem",text:S.tooltip,icon:T.some(S.icon),label:T.some(S.label)},a===1,i,s,g(S.value),d,h,Mp(n)))):T.none())),Ib=(n,s)=>{const a=Mg(s);return n===1?{mode:"menu",moveOnTab:!0}:n==="auto"?{mode:"grid",selector:"."+a.item,initSize:{numColumns:1,numRows:1}}:{mode:"matrix",rowSelector:"."+{color:"tox-swatches__row",imageselector:"tox-image-selector__row",listpreview:"tox-collection__group",normal:"tox-collection__group"}[s],previousSelector:d=>s==="color"?Nn(d.element,"[aria-checked=true]"):T.none()}},lE=(n,s)=>n===1?{mode:"menu",moveOnTab:!1,selector:".tox-collection__item"}:n==="auto"?{mode:"flatgrid",selector:".tox-collection__item",initSize:{numColumns:1,numRows:1}}:{mode:"matrix",selectors:{row:s==="color"?".tox-swatches__row":".tox-collection__group",cell:s==="color"?`.${G5}`:`.${D3}`}},aP=(n,s)=>{const a=cP(n,s),i=s.colorinput.getColorCols(n.initData.storageKey),d="color",h={...IC(Ge("menu-value"),a,C=>{n.onAction({value:C})},i,d,Ll.CLOSE_ON_EXECUTE,n.select.getOr(Fn),s.shared.providers),markers:Mg(d),movement:Ib(i,d),showMenuRole:!1};return{type:"widget",data:{value:Ge("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[Z_.widget(Zd.sketch(h))]}},cP=(n,s)=>{const a=n.initData.allowCustomColors&&s.colorinput.hasCustomColors();return n.initData.colors.fold(()=>a6(s.colorinput.getColors(n.initData.storageKey),n.initData.storageKey,a),i=>i.concat(tP(a)))},mW=(n,s)=>{const a="imageselector",i=n.initData.columns,g={...IC(Ge("menu-value"),n.initData.items,h=>{n.onAction({value:h})},i,a,Ll.CLOSE_ON_EXECUTE,n.select.getOr(Fn),s.shared.providers),markers:Mg(a),movement:Ib(i,a),showMenuRole:!1};return{type:"widget",data:{value:Ge("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem","tox-collection--toolbar"]},autofocus:!0,components:[Z_.widget(Zd.sketch(g))]}},iP=Ge("cell-over"),lP=Ge("cell-execute"),fW=n=>(s,a)=>n.shared.providers.translate(["{0} columns, {1} rows",a,s]),gW=(n,s,a)=>{const i=h=>gt(h,iP,{row:n,col:s}),d=h=>gt(h,lP,{row:n,col:s}),g=(h,C)=>{C.stop(),d(h)};return tr({dom:{tag:"div",attributes:{role:"button","aria-label":a}},behaviours:De([Nt("insert-table-picker-cell",[be(hc(),Pt.focus),be(Ha(),d),be(gu(),g),be(bc(),g)]),tn.config({toggleClass:"tox-insert-table-picker__selected",toggleOnExecute:!1}),Pt.config({onFocus:i})])})},uP=(n,s,a)=>{const i=[];for(let d=0;d{for(let g=0;gie(n,s=>Ee(s,Qo)),mP=(n,s)=>_n(`${s}x${n}`),uE={inserttable:(n,s)=>{const d=fW(s),g=uP(d,10,10),h=mP(0,0),C=En({dom:{tag:"span",classes:["tox-insert-table-picker__label"]},components:[h],behaviours:De([At.config({})])});return{type:"widget",data:{value:Ge("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[Z_.widget({dom:{tag:"div",classes:["tox-insert-table-picker"]},components:hW(g).concat(C.asSpec()),behaviours:De([Nt("insert-table-picker",[Hn(S=>{At.set(C.get(S),[h])}),Md(iP,(S,x,k)=>{const{row:D,col:N}=k.event;dP(g,D,N,10,10),At.set(C.get(S),[mP(D+1,N+1)])}),Md(lP,(S,x,k)=>{const{row:D,col:N}=k.event;Gt(S,G1()),n.onAction({numRows:D+1,numColumns:N+1})})]),lt.config({initSize:{numRows:10,numColumns:10},mode:"flatgrid",selector:'[role="button"]'})])})]}},colorswatch:aP,imageselect:mW},pW=(n,s)=>mt(uE,n.fancytype).map(a=>a(n,s)),bW=(n,s,a,i=!0,d=!1)=>{const g=d?jZ(a.icons):af(a.icons),h=S=>({isEnabled:()=>!Je.isDisabled(S),setEnabled:x=>Je.set(S,!x),setIconFill:(x,k)=>{Nn(S.element,`svg path[class="${x}"], rect[class="${x}"]`).each(D=>{wt(D,"fill",k)})},setTooltip:x=>{const k=a.translate(x);wt(S.element,"aria-label",k)}}),C=Bb({presets:"normal",iconContent:n.icon,textContent:n.text,htmlContent:T.none(),ariaLabel:n.text,labelContent:T.none(),caret:T.some(g),checkMark:T.none(),shortcutContent:n.shortcut},a,i);return $g({context:n.context,data:Fg(n),getApi:h,enabled:n.enabled,onAction:q,onSetup:n.onSetup,triggersSubmenu:!0,itemBehaviours:[]},C,s,a)},fP=(n,s,a,i=!0)=>{const d=h=>({isEnabled:()=>!Je.isDisabled(h),setEnabled:C=>Je.set(h,!C)}),g=Bb({presets:"normal",iconContent:n.icon,textContent:n.text,htmlContent:T.none(),labelContent:T.none(),ariaLabel:n.text,caret:T.none(),checkMark:T.none(),shortcutContent:n.shortcut},a,i);return $g({context:n.context,data:Fg(n),getApi:d,enabled:n.enabled,onAction:n.onAction,onSetup:n.onSetup,triggersSubmenu:!1,itemBehaviours:[]},g,s,a)},gP=n=>({type:"separator",dom:{tag:"div",classes:[D3,QV]},components:n.text.map(_n).toArray()}),vW=(n,s,a,i=!0)=>{const d=h=>({setActive:C=>{tn.set(h,C)},isActive:()=>tn.isOn(h),isEnabled:()=>!Je.isDisabled(h),setEnabled:C=>Je.set(h,!C)}),g=Bb({iconContent:n.icon,textContent:n.text,htmlContent:T.none(),labelContent:T.none(),ariaLabel:n.text,checkMark:T.some(_C(a.icons)),caret:T.none(),shortcutContent:n.shortcut,presets:"normal",meta:n.meta},a,i);return so($g({context:n.context,data:Fg(n),enabled:n.enabled,getApi:d,onAction:n.onAction,onSetup:n.onSetup,triggersSubmenu:!1,itemBehaviours:[]},g,s,a),{toggling:{toggleClass:q5,toggleOnExecute:!1,selected:n.active},role:n.role.getOrUndefined()})},yW=KZ,dE=gP,CW=fP,hP=bW,SW=vW,wW=pW,xW=YZ,pP=n=>{switch(n.searchMode){case"no-search":return{menuType:"normal"};default:return{menuType:"searchable",searchMode:n}}},u6=n=>{const s=je.getValue(n),a=N3(n).map($3);Tc.refetch(s).get(()=>{const i=st.getCoupled(s,"sandbox");a.each(d=>N3(i).each(g=>eX(g,d)))})},EW=(n,s)=>{TW(n).each(a=>{wk(n,a.element,s.event.eventType,s.event.interactionEvent)})},TW=n=>mn.getState(n).bind(bn.getHighlighted).bind(bn.getHighlighted),kW=n=>qo(n.element,F3)?T.some(n.element):Nn(n.element,"."+F3),bP=(n,s,a)=>{P3(n).each(i=>{iU(i,a),kW(s).each(g=>{js(g,"id").each(h=>wt(i.element,"aria-controls",h))})}),wt(a.element,"aria-selected","true")},vP=(n,s,a)=>{wt(a.element,"aria-selected","false")},yP=n=>{P3(n).each(s=>Pt.focus(s))},CP=n=>st.getExistingCoupled(n,"sandbox").bind(N3).map($3).map(a=>a.fetchPattern).getOr("");var mE;(function(n){n[n.ContentFocus=0]="ContentFocus",n[n.UiFocus=1]="UiFocus"})(mE||(mE={}));const AW=(n,s,a,i,d)=>{const g=a.shared.providers,h=C=>d?{...C,shortcut:T.none(),icon:C.text.isSome()?T.none():C.icon}:C;switch(n.type){case"menuitem":return _O(n).fold($u,C=>T.some(CW(h(C),s,g,i)));case"nestedmenuitem":return DZ(n).fold($u,C=>T.some(hP(h(C),s,g,i,d)));case"togglemenuitem":return vN(n).fold($u,C=>T.some(SW(h(C),s,g,i)));case"separator":return sZ(n).fold($u,C=>T.some(dE(C)));case"fancymenuitem":return TZ(n).fold($u,C=>wW(C,a));default:return console.error("Unknown item in general menu",n),T.none()}},_W=(n,s,a,i,d,g,h)=>{const C=i===1,S=!C||Mp(n);return gm(Ee(n,x=>{switch(x.type){case"separator":return rZ(x).fold($u,k=>T.some(dE(k)));case"cardmenuitem":return pN(x).fold($u,k=>T.some(xW({...k,onAction:D=>{k.onAction(D),a(k.value,k.meta)}},d,g,{itemBehaviours:tE(k.meta,g,T.none()),cardText:{matchText:s,highlightOn:h}})));case"autocompleteitem":default:return aZ(x).fold($u,k=>T.some(yW(k,s,C,"normal",a,d,g,S)))}}))},SP=(n,s,a,i,d,g)=>{const h=Mp(s),C=gm(Ee(s,k=>{const D=F=>d?!In(F,"text"):h,N=F=>AW(F,a,i,D(F),d);return k.type==="nestedmenuitem"&&k.getSubmenuItems().length<=0?N({...k,enabled:!1}):N(k)})),S=pP(g);return(d?mU:H3)(n,h,C,1,S)},d6=n=>Wd.singleData(n.value,n),OW=(n,s,a,i)=>{const d=Ib(s,i),g=Mg(i);return{data:d6({...n,movement:d,menuBehaviours:Vp.unnamedEvents(s!=="auto"?[]:[Hn((h,C)=>{MO(h,4,g.item).each(({numColumns:S,numRows:x})=>{lt.setGridSize(h,x,S)})})])}),menu:{markers:Mg(i),fakeFocus:a===mE.ContentFocus}}},DW=n=>Em.create(Le.fromDom(n.startContainer),n.startOffset,Le.fromDom(n.endContainer),n.endOffset),RW={register:(n,s)=>{const a=Ge("autocompleter"),i=ct(!1),d=ct(!1),g=Ht(),h=tr(Ao.sketch({dom:{tag:"div",classes:["tox-autocompleter"],attributes:{id:a}},components:[],fireDismissalEventInstead:{},inlineBehaviours:De([Nt("dismissAutocompleter",[be(Rm(),()=>D()),be(Th(),(V,K)=>{js(K.event.target,"id").each(Q=>wt(Le.fromDom(n.getBody()),"aria-activedescendant",Q))})])]),lazySink:s.getSink})),C=()=>Ao.isOpen(h),S=d.get,x=()=>{if(C()){Ao.hide(h),n.dom.remove(a,!1);const V=Le.fromDom(n.getBody());js(V,"aria-owns").filter(K=>K===a).each(()=>{io(V,"aria-owns"),io(V,"aria-activedescendant")})}},k=()=>Ao.getContent(h).bind(V=>dm(V.components(),0)),D=()=>n.execCommand("mceAutocompleterClose"),N=V=>{const K=Ka(V,Q=>T.from(Q.columns)).getOr(1);return ie(V,Q=>{const le=Q.items;return _W(le,Q.matchText,(me,Fe)=>{const ze={hide:()=>D(),reload:ve=>{x(),n.execCommand("mceAutocompleterReload",!1,{fetchOptions:ve})}};n.execCommand("mceAutocompleterRefreshActiveRange"),g.get().each(ve=>{i.set(!0),Q.onAction(ze,ve,me,Fe),i.set(!1)})},K,Ll.BUBBLE_TO_SANDBOX,s,Q.highlightOn)})},F=(V,K)=>{const Q=Ka(V,le=>T.from(le.columns)).getOr(1);Ao.showMenuAt(h,{anchor:{type:"selection",getSelection:()=>g.get().map(DW),root:Le.fromDom(n.getBody())}},OW(H3("autocompleter-value",!0,K,Q,{menuType:"normal"}),Q,mE.ContentFocus,"normal")),k().each(bn.highlightFirst)},L=V=>{const K=N(V);K.length>0?(F(V,K),wt(Le.fromDom(n.getBody()),"aria-owns",a),n.inline||W()):x()},W=()=>{n.dom.get(a)&&n.dom.remove(a,!1);const V=n.getDoc().documentElement,K=n.selection.getNode(),Q=w1(h.element);So(Q,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px",top:`${K.offsetTop}px`,left:`${K.offsetLeft}px`}),n.dom.add(V,Q.dom),Nn(Q,'[role="menu"]').each(le=>{Xt(le,"position"),Xt(le,"max-height")})};n.on("AutocompleterStart",({lookupData:V})=>{d.set(!0),i.set(!1),L(V)}),n.on("AutocompleterUpdate",({lookupData:V})=>L(V)),n.on("AutocompleterUpdateActiveRange",({range:V})=>g.set(V)),n.on("AutocompleterEnd",()=>{x(),d.set(!1),i.set(!1),g.clear()});const j={cancelIfNecessary:D,isMenuOpen:C,isActive:S,isProcessingAction:i.get,getMenu:k};xB.setup(j,n)}},m6=(n,s)=>({dom:{tag:"div",classes:["tox-bar","tox-form__controls-h-stack"]},components:Ee(n.items,s.interpreter)});var MW=tinymce.util.Tools.resolve("tinymce.html.Entities");const LC=(n,s,a,i)=>{const d=HC(n,s,a,i);return Yt.sketch(d)},BW=(n,s)=>LC(n,s,[],[]),HC=(n,s,a,i)=>({dom:wP(a),components:n.toArray().concat([s]),fieldBehaviours:De(i)}),f6=()=>wP([]),wP=n=>({tag:"div",classes:["tox-form__group"].concat(n)}),Lg=(n,s)=>Yt.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(n))]}),ca=Ge("form-component-change"),xP=Ge("form-component-input"),jp=Ge("form-close"),lf=Ge("form-cancel"),tm=Ge("form-action"),zC=Ge("form-submit"),fE=Ge("form-block"),g6=Ge("form-unblock"),h6=Ge("form-tabchange"),EP=Ge("form-resize"),TP=(n,s,a)=>{const i=n.label.map(F=>Lg(F,s)),d=s.icons(),g=F=>d[F]??F,h=F=>(L,W)=>{xr(W.event.target,"[data-collection-item-value]").each(j=>{F(L,W,j,Ts(j,"data-collection-item-value"))})},C=(F,L)=>{const j=s.checkUiComponentContext("mode:design").shouldDisable||s.isDisabled()?" tox-collection__item--state-disabled":"",V=Ee(L,le=>{const me=Or.translate(le.text),Fe=n.columns===1?`
    ${me}
    `:"",ze=`
    ${g(le.icon)}
    `,ve={_:" "," - ":" ","-":" "},ke=me.replace(/\_| \- |\-/g,ht=>ve[ht]);return`
    ${ze}${Fe}
    `}),K=n.columns!=="auto"&&n.columns>1?Yr(V,n.columns):[V],Q=Ee(K,le=>`
    ${le.join("")}
    `);Bi(F.element,Q.join(""))},S=h((F,L,W,j)=>{L.stop(),s.checkUiComponentContext("mode:design").shouldDisable||s.isDisabled()||gt(F,tm,{name:n.name,value:j})}),x=[be(hc(),h((F,L,W)=>{Ps(W,!0)})),be(gu(),S),be(bc(),S),be(pc(),h((F,L,W)=>{Nn(F.element,"."+Rg).each(j=>{wo(j,Rg)}),Un(W,Rg)})),be(Z1(),h(F=>{Nn(F.element,"."+Rg).each(L=>{wo(L,Rg),Do(L)})})),Cu(h((F,L,W,j)=>{gt(F,tm,{name:n.name,value:j})}))],k=(F,L)=>Ee(Ks(F.element,".tox-collection__item"),L),D=Yt.parts.field({dom:{tag:"div",classes:["tox-collection"].concat(n.columns!==1?["tox-collection--grid"]:["tox-collection--list"])},components:[],factory:{sketch:Qt},behaviours:De([Je.config({disabled:()=>s.checkUiComponentContext(n.context).shouldDisable,onDisabled:F=>{k(F,L=>{Un(L,"tox-collection__item--state-disabled"),wt(L,"aria-disabled",!0)})},onEnabled:F=>{k(F,L=>{wo(L,"tox-collection__item--state-disabled"),io(L,"aria-disabled")})}}),is(()=>s.checkUiComponentContext(n.context)),At.config({}),Yn.config({...s.tooltips.getConfig({tooltipText:"",onShow:F=>{Nn(F.element,"."+Rg+"[data-mce-tooltip]").each(L=>{js(L,"data-mce-tooltip").each(W=>{Yn.setComponents(F,s.tooltips.getComponents({tooltipText:W}))})})}}),mode:"children-keyboard-focus",anchor:F=>({type:"node",node:Nn(F.element,"."+Rg).orThunk(()=>YS(".tox-collection__item")),root:F.element,layouts:{onLtr:te([Jo,Rs,cs,er,Xo,Ls]),onRtl:te([Jo,Rs,cs,er,Xo,Ls])},bubble:yc(0,-2,{})})}),je.config({store:{mode:"memory",initialValue:a.getOr([])},onSetValue:(F,L)=>{C(F,L),n.columns==="auto"&&MO(F,5,"tox-collection__item").each(({numRows:W,numColumns:j})=>{lt.setGridSize(F,W,j)}),Gt(F,EP)}}),Wn.config({}),lt.config(lE(n.columns,"normal")),Nt("collection-events",x)]),eventOrder:{[Ha()]:["disabling","alloy.base.behaviour","collection-events"],[pc()]:["collection-events","tooltipping"]}});return LC(i,D,["tox-form__group--collection"],[])},kP=(n,s)=>Tc.sketch({dom:n.dom,components:n.components,toggleClass:"mce-active",dropdownBehaviours:De([Iu.button(()=>s.providers.isDisabled()||s.providers.checkUiComponentContext(n.context).shouldDisable),is(()=>s.providers.checkUiComponentContext(n.context)),Jy.config({}),Wn.config({})]),layouts:n.layouts,sandboxClasses:["tox-dialog__popups"],lazySink:s.getSink,fetch:a=>Io.nu(i=>n.fetch(i)).map(i=>T.from(d6(so(IC(Ge("menu-value"),i,d=>{n.onItemAction(a,d)},n.columns,n.presets,Ll.CLOSE_ON_EXECUTE,Fn,s.providers),{movement:Ib(n.columns,n.presets)})))),parts:{menu:wb(!1,1,n.presets)}}),AP=Ge("color-input-change"),p6=Ge("color-swatch-change"),b6=Ge("color-picker-cancel"),NW=(n,s,a,i)=>{const d=Yt.parts.field({factory:rf,inputClasses:["tox-textfield"],data:i,onSetValue:x=>Mu.run(x).get(q),inputBehaviours:De([Je.config({disabled:()=>s.providers.isDisabled()||s.providers.checkUiComponentContext(n.context).shouldDisable}),is(()=>s.providers.checkUiComponentContext(n.context)),Wn.config({}),Mu.config({invalidClass:"tox-textbox-field-invalid",getRoot:x=>hl(x.element),notify:{onValid:x=>{const k=je.getValue(x);gt(x,AP,{color:k})}},validator:{validateOnLoad:!1,validate:x=>{const k=je.getValue(x);if(k.length===0)return Io.pure(kt.value(!0));{const D=Le.fromTag("span");Rt(D,"background-color",k);const N=vo(D,"background-color").fold(()=>kt.error("blah"),F=>kt.value(k));return Io.pure(N)}}}})]),selectOnFocus:!1}),g=n.label.map(x=>Lg(x,s.providers)),h=(x,k)=>{gt(x,p6,{value:k})},C=(x,k)=>{S.getOpt(x).each(D=>{k==="custom"?a.colorPicker(N=>{N.fold(()=>Gt(D,b6),F=>{h(D,F),JO(n.storageKey,F)})},"#ffffff"):k==="remove"?h(D,""):h(D,k)})},S=En(kP({dom:{tag:"span",attributes:{"aria-label":s.providers.translate("Color swatch")}},layouts:{onRtl:()=>[Xo,cs,Jo],onLtr:()=>[cs,Xo,Jo]},components:[],fetch:nP(a.getColors(n.storageKey),n.storageKey,a.hasCustomColors()),columns:a.getColorCols(n.storageKey),presets:"color",onItemAction:C,context:n.context},s));return Yt.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:g.toArray().concat([{dom:{tag:"div",classes:["tox-color-input"]},components:[d,S.asSpec()]}]),fieldBehaviours:De([Nt("form-field-events",[be(AP,(x,k)=>{S.getOpt(x).each(D=>{Rt(D.element,"background-color",k.event.color)}),gt(x,ca,{name:n.name})}),be(p6,(x,k)=>{Yt.getField(x).each(D=>{je.setValue(D,k.event.value),ue.getCurrent(x).each(Pt.focus)})}),be(b6,(x,k)=>{Yt.getField(x).each(D=>{ue.getCurrent(x).each(Pt.focus)})})])])})},Ul={self:()=>ue.config({find:T.some}),memento:n=>ue.config({find:n.getOpt}),childAt:n=>ue.config({find:s=>td(s.element,n).bind(a=>s.getSystem().getByDom(a).toOptional())})},$W=Et([ae("preprocess",Qt),ae("postprocess",Qt)]),DP=(n,s)=>{const a=Ir("RepresentingConfigs.memento processors",$W,s);return je.config({store:{mode:"manual",getValue:i=>{const d=n.get(i),g=je.getValue(d);return a.postprocess(g)},setValue:(i,d)=>{const g=a.preprocess(d),h=n.get(i);je.setValue(h,g)}}})},Gp=(n,s,a)=>je.config({store:{mode:"manual",...n.map(i=>({initialValue:i})).getOr({}),getValue:s,setValue:a}}),v6=(n,s,a)=>Gp(n,i=>s(i.element),(i,d)=>a(i.element,d)),FW=n=>v6(n,au,Bi),gE=n=>je.config({store:{mode:"memory",initialValue:n}}),VC=Ge("rgb-hex-update"),RP=Ge("slider-update"),MP=Ge("palette-update"),IW=(n,s)=>{const a=Fl.parts.spectrum({dom:{tag:"div",classes:[s("hue-slider-spectrum")],attributes:{role:"presentation"}}}),i=Fl.parts.thumb({dom:{tag:"div",classes:[s("hue-slider-thumb")],attributes:{role:"presentation"}}});return Fl.sketch({dom:{tag:"div",classes:[s("hue-slider")],attributes:{role:"slider","aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":120}},rounded:!1,model:{mode:"y",getInitialValue:te(0)},components:[a,i],sliderBehaviours:De([Pt.config({})]),onChange:(d,g,h)=>{wt(d.element,"aria-valuenow",Math.floor(360-h*3.6)),gt(d,RP,{value:h})}})},hE=Ge("valid-input"),BP=Ge("invalid-input"),y6=Ge("validating-input"),C6="colorcustom.rgb.",NP={isEnabled:Tt,setEnabled:q,immediatelyShow:q,immediatelyHide:q},LW=(n,s,a,i,d,g)=>{const h=(W,j)=>{const V=j.get();W!==V.isEnabled()&&(V.setEnabled(W),W?V.immediatelyShow():V.immediatelyHide())},C=(W,j,V)=>Mu.config({invalidClass:s("invalid"),notify:{onValidate:K=>{gt(K,y6,{type:W})},onValid:K=>{h(!1,V),gt(K,hE,{type:W,value:je.getValue(K)})},onInvalid:K=>{h(!0,V),gt(K,BP,{type:W,value:je.getValue(K)})}},validator:{validate:K=>{const Q=je.getValue(K),le=j(Q)?kt.value(!0):kt.error(n("aria.input.invalid"));return Io.pure(le)},validateOnLoad:!1}}),S=(W,j,V,K,Q)=>{const le=ct(NP),me=n(C6+"range"),Fe=Yt.parts.label({dom:{tag:"label"},components:[_n(V)]}),ze=Yt.parts.field({data:Q,factory:rf,inputAttributes:{type:"text","aria-label":K,...j==="hex"?{"aria-live":"polite"}:{}},inputClasses:[s("textfield")],inputBehaviours:De([C(j,W,le),Wn.config({}),Yn.config({...d({tooltipText:"",onSetup:Lt=>{le.set({isEnabled:()=>Yn.isEnabled(Lt),setEnabled:nt=>Yn.setEnabled(Lt,nt),immediatelyShow:()=>Yn.immediateOpenClose(Lt,!0),immediatelyHide:()=>Yn.immediateOpenClose(Lt,!1)}),Yn.setEnabled(Lt,!1)},onShow:(Lt,nt)=>{Yn.setComponents(Lt,[{dom:{tag:"p",classes:[s("rgb-warning-note")]},components:[_n(n(j==="hex"?"colorcustom.rgb.invalidHex":"colorcustom.rgb.invalid"))]}])}})})]),onSetValue:Lt=>{Mu.isInvalid(Lt)&&Mu.run(Lt).get(q)}}),ve=Ge("aria-invalid"),ke=En(g("invalid",T.some(ve),"warning")),ht=En({dom:{tag:"div",classes:[s("invalid-icon")]},components:[ke.asSpec()]}),tt=[Fe,ze,ht.asSpec()],qt=j!=="hex"?[Yt.parts["aria-descriptor"]({text:me})]:[],Ct=tt.concat(qt);return{dom:{tag:"div",attributes:{role:"presentation"},classes:[s("rgb-container")]},components:Ct}},x=(W,j)=>{const V=Nb(j);return wp.getField(W,"hex").each(K=>{Pt.isFocused(K)||je.setValue(W,{hex:V.value})}),V},k=(W,j)=>{const V=j.red,K=j.green,Q=j.blue;je.setValue(W,{red:V,green:K,blue:Q})},D=En({dom:{tag:"div",classes:[s("rgba-preview")],styles:{"background-color":"white"},attributes:{role:"presentation"}}}),N=(W,j)=>{D.getOpt(W).each(V=>{Rt(V.element,"background-color","#"+j.value)})};return mi({factory:()=>{const W={red:ct(T.some(255)),green:ct(T.some(255)),blue:ct(T.some(255)),hex:ct(T.some("ffffff"))},j=(nt,Ce)=>{const Be=$b(Ce);k(nt,Be),le(Be)},V=nt=>W[nt].get(),K=(nt,Ce)=>{W[nt].set(Ce)},Q=()=>V("red").bind(nt=>V("green").bind(Ce=>V("blue").map(Be=>cf(nt,Ce,Be,1)))),le=nt=>{const Ce=nt.red,Be=nt.green,St=nt.blue;K("red",T.some(Ce)),K("green",T.some(Be)),K("blue",T.some(St))},me=(nt,Ce)=>{const Be=Ce.event;Be.type!=="hex"?K(Be.type,T.none()):i(nt)},Fe=(nt,Ce)=>{a(nt);const Be=LO(Ce);K("hex",T.some(Be.value));const St=$b(Be);k(nt,St),le(St),gt(nt,VC,{hex:Be}),N(nt,Be)},ze=(nt,Ce,Be)=>{const St=parseInt(Be,10);K(Ce,T.some(St)),Q().each($t=>{const rt=x(nt,$t);gt(nt,VC,{hex:rt}),N(nt,rt)})},ve=nt=>nt.type==="hex",ke=(nt,Ce)=>{const Be=Ce.event;ve(Be)?Fe(nt,Be.value):ze(nt,Be.type,Be.value)},ht=nt=>({label:n(C6+nt+".label"),description:n(C6+nt+".description")}),tt=ht("red"),qt=ht("green"),Ct=ht("blue"),Lt=ht("hex");return so(wp.sketch(nt=>({dom:{tag:"form",classes:[s("rgb-form")],attributes:{"aria-label":n("aria.color.picker")}},components:[nt.field("red",Yt.sketch(S(Ig,"red",tt.label,tt.description,255))),nt.field("green",Yt.sketch(S(Ig,"green",qt.label,qt.description,255))),nt.field("blue",Yt.sketch(S(Ig,"blue",Ct.label,Ct.description,255))),nt.field("hex",Yt.sketch(S(NN,"hex",Lt.label,Lt.description,"ffffff"))),D.asSpec()],formBehaviours:De([Mu.config({invalidClass:s("form-invalid")}),Nt("rgb-form-events",[be(hE,ke),be(BP,me),be(y6,me)])])})),{apis:{updateHex:(nt,Ce)=>{je.setValue(nt,{hex:Ce.value}),j(nt,Ce),N(nt,Ce)}}})},name:"RgbForm",configFields:[],apis:{updateHex:(W,j,V)=>{W.updateHex(j,V)}},extraApis:{}})},HW=(n,s)=>{const a=Fl.parts.spectrum({dom:{tag:"canvas",attributes:{role:"presentation"},classes:[s("sv-palette-spectrum")]}}),i=Fl.parts.thumb({dom:{tag:"div",attributes:{role:"presentation"},classes:[s("sv-palette-thumb")],innerHtml:``}}),d=(x,k)=>{const{width:D,height:N}=x,F=x.getContext("2d");if(F===null)return;F.fillStyle=k,F.fillRect(0,0,D,N);const L=F.createLinearGradient(0,0,D,0);L.addColorStop(0,"rgba(255,255,255,1)"),L.addColorStop(1,"rgba(255,255,255,0)"),F.fillStyle=L,F.fillRect(0,0,D,N);const W=F.createLinearGradient(0,0,0,N);W.addColorStop(0,"rgba(0,0,0,0)"),W.addColorStop(1,"rgba(0,0,0,1)"),F.fillStyle=W,F.fillRect(0,0,D,N)},g=(x,k)=>{const D=x.components()[0].element.dom,N=DC(k,100,100),F=WO(N);d(D,FN(F))},h=(x,k)=>{const D=VO($b(k));Fl.setValue(x,{x:D.saturation,y:100-D.value}),wt(x.element,"aria-valuetext",n(["Saturation {0}%, Brightness {1}%",D.saturation,D.value]))};return mi({factory:x=>{const k=te({x:0,y:0}),D=(L,W,j)=>{wi(j)||wt(L.element,"aria-valuetext",n(["Saturation {0}%, Brightness {1}%",Math.floor(j.x),Math.floor(100-j.y)])),gt(L,MP,{value:j})},N=(L,W,j,V)=>{d(j.element.dom,FN(RC))},F=De([ue.config({find:T.some}),Pt.config({})]);return Fl.sketch({dom:{tag:"div",attributes:{role:"slider","aria-valuetext":n(["Saturation {0}%, Brightness {1}%",0,0])},classes:[s("sv-palette")]},model:{mode:"xy",getInitialValue:k},rounded:!1,components:[a,i],onChange:D,onInit:N,sliderBehaviours:F})},name:"SaturationBrightnessPalette",configFields:[],apis:{setHue:(x,k,D)=>{g(k,D)},setThumb:(x,k,D)=>{h(k,D)}},extraApis:{}})},zW=(n,s,a,i)=>{const d=h=>{const C=LW(n,s,h.onValidHex,h.onInvalidHex,a,i),S=HW(n,s),x=ve=>(100-ve)/100*360,k=ve=>100-ve/360*100,D={paletteRgba:ct(RC),paletteHue:ct(0)},N=En(IW(n,s)),F=En(S.sketch({})),L=En(C.sketch({})),W=(ve,ke,ht)=>{F.getOpt(ve).each(tt=>{S.setHue(tt,ht)})},j=(ve,ke)=>{L.getOpt(ve).each(ht=>{C.updateHex(ht,ke)})},V=(ve,ke,ht)=>{N.getOpt(ve).each(tt=>{Fl.setValue(tt,k(ht))})},K=(ve,ke)=>{F.getOpt(ve).each(ht=>{S.setThumb(ht,ke)})},Q=(ve,ke)=>{const ht=$b(ve);D.paletteRgba.set(ht),D.paletteHue.set(ke)},le=(ve,ke,ht,tt)=>{Q(ke,ht),Qe(tt,qt=>{qt(ve,ke,ht)})},me=()=>{const ve=[j];return(ke,ht)=>{const tt=ht.event.value,qt=D.paletteHue.get(),Ct=DC(qt,tt.x,100-tt.y),Lt=IN(Ct);le(ke,Lt,qt,ve)}},Fe=()=>{const ve=[W,j];return(ke,ht)=>{const tt=x(ht.event.value),qt=D.paletteRgba.get(),Ct=VO(qt),Lt=DC(tt,Ct.saturation,Ct.value),nt=IN(Lt);le(ke,nt,tt,ve)}},ze=()=>{const ve=[W,V,K];return(ke,ht)=>{const tt=ht.event.hex,qt=tW(tt);le(ke,tt,qt.hue,ve)}};return{uid:h.uid,dom:h.dom,components:[F.asSpec(),N.asSpec(),L.asSpec()],behaviours:De([Nt("colour-picker-events",[be(VC,ze()),be(MP,me()),be(RP,Fe())]),ue.config({find:ve=>L.getOpt(ve)}),lt.config({mode:"acyclic"})])}};return mi({name:"ColourPicker",configFields:[Te("dom"),ae("onValidHex",q),ae("onInvalidHex",q)],factory:d})},VW={"colorcustom.rgb.red.label":"R","colorcustom.rgb.red.description":"Red channel","colorcustom.rgb.green.label":"G","colorcustom.rgb.green.description":"Green channel","colorcustom.rgb.blue.label":"B","colorcustom.rgb.blue.description":"Blue channel","colorcustom.rgb.hex.label":"#","colorcustom.rgb.hex.description":"Hex color code","colorcustom.rgb.range":"Range 0 to 255","colorcustom.rgb.invalid":"Numbers only, 0 to 255","colorcustom.rgb.invalidHex":"Hexadecimal only, 000000 to FFFFFF","aria.color.picker":"Color Picker","aria.input.invalid":"Invalid input"},UW=n=>s=>kn(s)?n.translate(VW[s]):n.translate(s),PP=(n,s,a)=>{const i=x=>"tox-"+x,d=(x,k,D=x,N=x)=>bi(D,{tag:"div",classes:["tox-icon","tox-control-wrap__status-icon-"+x],attributes:{title:s.translate(N),"aria-live":"polite",...k.fold(()=>({}),F=>({id:F}))}},s.icons),g=zW(UW(s),i,s.tooltips.getConfig,d),h=x=>{gt(x,tm,{name:"hex-valid",value:!0})},C=x=>{gt(x,tm,{name:"hex-valid",value:!1})},S=En(g.sketch({dom:{tag:"div",classes:[i("color-picker-container")],attributes:{role:"presentation"}},onValidHex:h,onInvalidHex:C}));return{dom:{tag:"div"},components:[S.asSpec()],behaviours:De([Gp(a,x=>{const k=S.get(x);return ue.getCurrent(k).bind(F=>je.getValue(F).hex).map(F=>"#"+hv(F,"#")).getOr("")},(x,k)=>{const D=/^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/,N=T.from(D.exec(k)).bind(W=>dm(W,1)),F=S.get(x);ue.getCurrent(F).fold(()=>{console.log("Can not find form")},W=>{je.setValue(W,{hex:N.getOr("")}),wp.getField(W,"hex").each(j=>{Gt(j,fu())})})}),Ul.self()])}};var ZW=tinymce.util.Tools.resolve("tinymce.Resource");const $P=n=>In(n,"init"),FP=n=>{const s=Ht(),a=En({dom:{tag:n.tag}}),i=Ht(),d=!$P(n)&&n.onFocus.isSome()?[Pt.config({onFocus:g=>{n.onFocus.each(h=>{h(g.element.dom)})}}),Wn.config({})]:[];return{dom:{tag:"div",classes:["tox-custom-editor"]},behaviours:De([Nt("custom-editor-events",[Hn(g=>{a.getOpt(g).each(h=>{($P(n)?n.init(h.element.dom):ZW.load(n.scriptId,n.scriptUrl).then(C=>C(h.element.dom,n.settings))).then(C=>{i.on(S=>{C.setValue(S)}),i.clear(),s.set(C)})})})]),Gp(T.none(),()=>s.get().fold(()=>i.get().getOr(""),g=>g.getValue()),(g,h)=>{s.get().fold(()=>i.set(h),C=>C.setValue(h))}),Ul.self()].concat(d)),components:[a.asSpec()]}};var uf=tinymce.util.Tools.resolve("tinymce.util.Tools");const S6=Ge("browse.files.event"),WW=(n,s,a)=>{const i=uf.explode(s.getOption("images_file_types")),d=g=>a.fold(()=>Br(i,h=>tu(g.name.toLowerCase(),`.${h.toLowerCase()}`)),h=>Br(h,C=>tu(g.name.toLowerCase(),`.${C.toLowerCase()}`)));return oo(xT(n),d)},IP=(n,s,a)=>{const i=(N,F)=>{F.stop()},d=N=>(F,L)=>{Qe(N,W=>{W(F,L)})},g=(N,F)=>{var L;if(!Je.isDisabled(N)){const W=F.event.raw;gt(N,S6,{files:(L=W.dataTransfer)==null?void 0:L.files})}},h=(N,F)=>{const L=F.event.raw.target;gt(N,S6,{files:L.files})},C=(N,F)=>{if(F){const L=WW(F,s,n.allowedFileExtensions);je.setValue(N,L),gt(N,ca,{name:n.name}),L.length===0&&n.onInvalidFiles().finally(()=>{N.element.dom.focus()}).catch(q)}},S=En({dom:{tag:"input",attributes:{type:"file",accept:n.allowedFileTypes.getOr("image/*")},styles:{display:"none"}},behaviours:De([Nt("input-file-events",[ci(gu()),ci(bc())])])}),x=n.label.map(N=>Lg(N,s)),k=Yt.parts.field({factory:br,dom:{tag:"button",styles:{position:"relative"},classes:["tox-button","tox-button--secondary"]},components:[_n(s.translate(n.buttonLabel.getOr("Browse for an image"))),S.asSpec()],action:N=>{S.get(N).element.dom.click()},buttonBehaviours:De([Ul.self(),gE(a.getOr([])),Wn.config({}),Iu.button(()=>s.checkUiComponentContext(n.context).shouldDisable),is(()=>s.checkUiComponentContext(n.context))])}),D={dom:{tag:"div",classes:["tox-dropzone-container"]},behaviours:De([Je.config({disabled:()=>s.checkUiComponentContext(n.context).shouldDisable}),is(()=>s.checkUiComponentContext(n.context)),tn.config({toggleClass:"dragenter",toggleOnExecute:!1}),Nt("dropzone-events",[be("dragenter",d([i,tn.toggle])),be("dragleave",d([i,tn.toggle])),be("dragover",i),be("drop",d([i,g])),be(Dm(),h)])]),components:[{dom:{tag:"div",classes:["tox-dropzone"],styles:{}},components:[{dom:{tag:"p"},components:[_n(s.translate(n.dropAreaLabel.getOr("Drop an image here")))]},k]}]};return LC(x,D,["tox-form__group--stretched"],[Nt("handle-files",[be(S6,(N,F)=>{Yt.getField(N).each(L=>{C(L,F.event.files)})})])])},jW=(n,s)=>({dom:{tag:"div",classes:["tox-form__grid",`tox-form__grid--${n.columns}col`]},components:Ee(n.items,s.interpreter)}),w6=Ge("alloy-fake-before-tabstop"),x6=Ge("alloy-fake-after-tabstop"),E6=n=>({dom:{tag:"div",styles:{width:"1px",height:"1px",outline:"none"},attributes:{tabindex:"0"},classes:n},behaviours:De([Pt.config({ignore:!0}),Wn.config({})])}),T6=(n,s)=>({dom:{tag:"div",classes:["tox-navobj",...n.getOr([])]},components:[E6([w6]),s,E6([x6])],behaviours:De([Ul.childAt(1)])}),k6=(n,s)=>{gt(n,Os(),{raw:{which:9,shiftKey:s}})},pE=(n,s)=>{const a=s.element;qo(a,w6)?k6(n,!0):qo(a,x6)&&k6(n,!1)},Lb=n=>uh(n,["."+w6,"."+x6].join(","),Fn),bE=Ge("update-dialog"),LP=Ge("update-title"),A6=Ge("update-body"),HP=Ge("update-footer"),zP=Ge("body-send-message"),vE=Ge("dialog-focus-shifted"),_6=rr().browser,Hb=_6.isSafari(),GW=_6.isFirefox(),VP=Hb||GW,qW=_6.isChromium(),UP=({scrollTop:n,scrollHeight:s,clientHeight:a})=>Math.ceil(n)+a>=s,O6=(n,s)=>n.scrollTo(0,s==="bottom"?99999999:s),KW=(n,s)=>{const a=n.body;return T.from(!/^1))?a:n.documentElement)},ZP=(n,s,a)=>{const i=n.dom;T.from(i.contentDocument).fold(a,d=>{let g=0;const h=KW(d,s).map(S=>(g=S.scrollTop,S)).forall(UP),C=()=>{const S=i.contentWindow;Uo(S)&&(h?O6(S,"bottom"):!h&&VP&&g!==0&&O6(S,g))};Hb&&i.addEventListener("load",C,{once:!0}),d.open(),d.write(s),d.close(),Hb||C()})},XW=Ja(VP,Hb?500:200).map(n=>Es(ZP,n)),JW=(n,s)=>{const a=ct(n.getOr(""));return{getValue:i=>a.get(),setValue:(i,d)=>{if(a.get()!==d){const g=i.element,h=()=>wt(g,"srcdoc",d);s?XW.fold(te(ZP),C=>C.throttle)(g,d,h):h()}a.set(d)}}},Mt=(n,s,a)=>{const i="tox-dialog__iframe",d=n.transparent?[]:[`${i}--opaque`],g=n.border?["tox-navobj-bordered"]:[],h={...n.label.map(D=>({title:D})).getOr({}),...a.map(D=>({srcdoc:D})).getOr({}),...n.sandboxed?{sandbox:"allow-scripts allow-same-origin"}:{}},C=JW(a,n.streamContent),S=n.label.map(D=>Lg(D,s)),x=D=>T6(T.from(g),{uid:D.uid,dom:{tag:"iframe",attributes:h,classes:[i,...d]},behaviours:De([Wn.config({}),Pt.config({}),Gp(a,C.getValue,C.setValue),Ec.config({channels:{[vE]:{onReceive:(N,F)=>{F.newFocus.each(L=>{hl(N.element).each(W=>{(Vn(N.element,L)?Un:wo)(W,"tox-navobj-bordered-focus")})})}}}})])}),k=Yt.parts.field({factory:{sketch:x}});return LC(S,k,["tox-form__group--stretched"],[])},UC=(n,s,a,i,d)=>{const g=a*d,h=i*d,C=Math.max(0,n/2-g/2),S=Math.max(0,s/2-h/2);return{left:C.toString()+"px",top:S.toString()+"px",width:g.toString()+"px",height:h.toString()+"px"}},WP=(n,s,a)=>{const i=wr(n),d=ks(n);return Math.min(i/s,d/a,1)},jP=(n,s)=>{const a=ct(s.getOr({url:""})),i=En({dom:{tag:"img",classes:["tox-imagepreview__image"],attributes:s.map(S=>({src:S.url})).getOr({})}}),d=En({dom:{tag:"div",classes:["tox-imagepreview__container"],attributes:{role:"presentation"}},components:[i.asSpec()]}),g=(S,x)=>{const k={url:x.url};x.zoom.each(N=>k.zoom=N),x.cachedWidth.each(N=>k.cachedWidth=N),x.cachedHeight.each(N=>k.cachedHeight=N),a.set(k);const D=()=>{const{cachedWidth:N,cachedHeight:F,zoom:L}=k;if(!ma(N)&&!ma(F)){if(ma(L)){const j=WP(S.element,N,F);k.zoom=j}const W=UC(wr(S.element),ks(S.element),N,F,k.zoom);d.getOpt(S).each(j=>{So(j.element,W)})}};i.getOpt(S).each(N=>{const F=N.element;x.url!==Ts(F,"src")&&(wt(F,"src",x.url),wo(S.element,"tox-imagepreview__loaded")),D(),Ni(F).then(L=>{S.getSystem().isConnected()&&(Un(S.element,"tox-imagepreview__loaded"),k.cachedWidth=L.dom.naturalWidth,k.cachedHeight=L.dom.naturalHeight,D())})})},h={};n.height.each(S=>h.height=S);const C=s.map(S=>({url:S.url,zoom:T.from(S.zoom),cachedWidth:T.from(S.cachedWidth),cachedHeight:T.from(S.cachedHeight)}));return{dom:{tag:"div",classes:["tox-imagepreview"],styles:h,attributes:{role:"presentation"}},components:[d.asSpec()],behaviours:De([Ul.self(),Gp(C,()=>a.get(),g)])}},GP=(n,s,a)=>{const i="tox-label",d=n.align==="center"?[`${i}--center`]:[],g=n.align==="end"?[`${i}--end`]:[],h=En({dom:{tag:"label",classes:[i,...d,...g]},components:[_n(s.providers.translate(n.label))]}),C=Ee(n.items,s.interpreter);return{dom:{tag:"div",classes:["tox-form__group"]},components:[h.asSpec(),...C],behaviours:De([Ul.self(),At.config({}),FW(T.none()),lt.config({mode:"acyclic"}),Nt("label",[Hn(S=>{n.for.each(x=>{a(x).each(k=>{h.getOpt(S).each(D=>{const N=Ts(k.element,"id")??Ge("form-field");wt(k.element,"id",N),wt(D.element,"for",N)})})})})])])}},yE=Ge("toolbar.button.execute"),QW=n=>Cu((s,a)=>{Rb(n,s)(i=>{gt(s,yE,{buttonApi:i}),n.onAction(i)})}),df=Ge("common-button-display-events"),qP={[Ha()]:["disabling","alloy.base.behaviour","toggling","toolbar-button-events","tooltipping"],[zi()]:["toolbar-button-events",df],[wl()]:["toolbar-button-events","dropdown-events","tooltipping"],[zr()]:["focusing","alloy.base.behaviour",df]},D6=n=>Rt(n.element,"width",lo(n.element,"width")),KP=(n,s,a)=>bi(n,{tag:"span",classes:["tox-icon","tox-tbtn__icon-wrap"],behaviours:a},s),CE=(n,s)=>KP(n,s,[]),mf=(n,s)=>KP(n,s,[At.config({})]),ej=(n,s,a)=>({dom:{tag:"span",classes:[`${s}__select-label`]},components:[_n(a.translate(n))],behaviours:De([At.config({})])}),ka=Ge("update-menu-text"),ff=Ge("update-menu-icon"),R6=Ge("update-tooltip-text"),M6=(n,s,a,i)=>{const d=ct(q),g=ct(n.tooltip),h=n.text.map(j=>En(ej(j,s,a.providers))),C=n.icon.map(j=>En(mf(j,a.providers.icons))),S=(j,V)=>{const K=je.getValue(j);return Pt.focus(K),gt(K,"keydown",{raw:V.event.raw}),Tc.close(K),T.some(!0)},x=n.role.fold(()=>({}),j=>({role:j})),k=T.from(n.listRole).map(j=>({listRole:j})).getOr({}),D=n.ariaLabel.fold(()=>({}),j=>({"aria-label":a.providers.translate(j)})),N=bi("chevron-down",{tag:"div",classes:[`${s}__select-chevron`]},a.providers.icons),F=Ge("common-button-display-events"),L="dropdown-events";return En(Tc.sketch({...n.uid?{uid:n.uid}:{},...x,...k,dom:{tag:"button",classes:[s,`${s}--select`].concat(Ee(n.classes,j=>`${s}--${j}`)),attributes:{...D,...Uo(i)?{"data-mce-name":i}:{}}},components:Mb([C.map(j=>j.asSpec()),h.map(j=>j.asSpec()),T.some(N)]),matchWidth:!0,useMinWidth:!0,onOpen:(j,V,K)=>{n.searchable&&yP(K)},dropdownBehaviours:De([...n.dropdownBehaviours,Iu.button(()=>n.disabled||a.providers.checkUiComponentContext(n.context).shouldDisable),is(()=>a.providers.checkUiComponentContext(n.context)),Jy.config({}),At.config({}),...n.tooltip.map(j=>Yn.config(a.providers.tooltips.getConfig({tooltipText:a.providers.translate(j),onShow:V=>{if(xi(g.get(),n.tooltip,(K,Q)=>Q!==K).getOr(!1)){const K=a.providers.translate(g.get().getOr(""));Yn.setComponents(V,a.providers.tooltips.getComponents({tooltipText:K}))}}}))).toArray(),Nt(L,[Lu(n,d),Up(n,d)]),Nt(F,[Hn((j,V)=>{n.listRole!=="listbox"&&D6(j)})]),Nt("update-dropdown-width-variable",[be(Lf(),(j,V)=>Tc.close(j))]),Nt("menubutton-update-display-text",[be(ka,(j,V)=>{h.bind(K=>K.getOpt(j)).each(K=>{At.set(K,[_n(a.providers.translate(V.event.text))])})}),be(ff,(j,V)=>{C.bind(K=>K.getOpt(j)).each(K=>{At.set(K,[mf(V.event.icon,a.providers.icons)])})}),be(R6,(j,V)=>{const K=a.providers.translate(V.event.text);wt(j.element,"aria-label",K),g.set(T.some(V.event.text))})])]),eventOrder:so(qP,{[zr()]:["focusing","alloy.base.behaviour","item-type-events","normal-dropdown-events"],[zi()]:["toolbar-button-events",Yn.name(),L,F]}),sandboxBehaviours:De([lt.config({mode:"special",onLeft:S,onRight:S}),Nt("dropdown-sandbox-events",[be(AB,(j,V)=>{u6(j),V.stop()}),be(X5,(j,V)=>{EW(j,V),V.stop()})])]),lazySink:a.getSink,toggleClass:`${s}--active`,parts:{menu:{...wb(!1,n.columns,n.presets),fakeFocus:n.searchable,...n.listRole==="listbox"?{}:{onHighlightItem:bP,onCollapseMenu:(j,V,K)=>{bn.getHighlighted(K).each(Q=>{bP(j,K,Q)})},onDehighlightItem:vP}}},getAnchorOverrides:()=>({maxHeightFunction:(j,V)=>{zw()(j,V-10)}}),fetch:j=>Io.nu(on(n.fetch,j))})).asSpec()},tj=n=>kn(n),YP=n=>n.type==="separator",nj=n=>In(n,"getSubmenuItems"),B6={type:"separator"},XP=(n,s)=>{const a=ho(n,(i,d)=>tj(d)?d===""?i:d==="|"?i.length>0&&!YP(i[i.length-1])?i.concat([B6]):i:In(s,d.toLowerCase())?i.concat([s[d.toLowerCase()]]):i:i.concat([d]),[]);return a.length>0&&YP(a[a.length-1])&&a.pop(),a},JP=(n,s)=>{const a=n.getSubmenuItems(),i=QP(a,s),d=so(i.menus,{[n.value]:i.items}),g=so(i.expansions,{[n.value]:n.value});return{item:n,menus:d,expansions:g}},oj=n=>{const s=mt(n,"value").getOrThunk(()=>Ge("generated-menu-item"));return so({value:s},n)},QP=(n,s)=>{const a=XP(kn(n)?n.split(" "):n,s);return us(a,(i,d)=>{if(nj(d)){const g=oj(d),h=JP(g,s);return{menus:so(i.menus,h.menus),items:[h.item,...i.items],expansions:so(i.expansions,h.expansions)}}else return{...i,items:[d,...i.items]}},{menus:{},expansions:{},items:[]})},e$=n=>n.search.fold(()=>({searchMode:"no-search"}),s=>({searchMode:"search-with-field",placeholder:s.placeholder})),t$=n=>n.search.fold(()=>({searchMode:"no-search"}),s=>({searchMode:"search-with-results"})),zb=(n,s,a,i)=>{const d=Ge("primary-menu"),g=QP(n,a.shared.providers.menuItems());if(g.items.length===0)return T.none();const h=e$(i),C=SP(d,g.items,s,a,i.isHorizontalMenu,h),S=t$(i),x=jo(g.menus,(D,N)=>SP(N,D,s,a,!1,S)),k=so(x,gd(d,C));return T.from(Wd.tieredData(d,k,g.expansions))},SE=n=>!In(n,"items"),wE="data-value",n$=(n,s,a,i,d)=>Ee(a,g=>SE(g)?{type:"togglemenuitem",...d?{}:{role:"option"},text:g.text,value:g.value,active:g.value===i,onAction:()=>{je.setValue(n,g.value),gt(n,ca,{name:s}),Pt.focus(n)}}:{type:"nestedmenuitem",text:g.text,getSubmenuItems:()=>n$(n,s,g.items,i,d)}),Vb=(n,s)=>Ka(n,a=>SE(a)?Ja(a.value===s,a):Vb(a.items,s)),sj=(n,s,a)=>{const i=Br(n.items,x=>!SE(x)),d=s.shared.providers,g=a.bind(x=>Vb(n.items,x)).orThunk(()=>Qn(n.items).filter(SE)),h=n.label.map(x=>Lg(x,d)),C=Yt.parts.field({dom:{},factory:{sketch:x=>M6({context:n.context,uid:x.uid,text:g.map(k=>k.text),icon:T.none(),tooltip:T.none(),role:Ja(!i,"combobox"),...i?{}:{listRole:"listbox"},ariaLabel:n.label,fetch:(k,D)=>{const N=n$(k,n.name,n.items,je.getValue(k),i);D(zb(N,Ll.CLOSE_ON_EXECUTE,s,{isHorizontalMenu:!1,search:T.none()}))},onSetup:te(q),getApi:te({}),columns:1,presets:"normal",classes:[],dropdownBehaviours:[Wn.config({}),Gp(g.map(k=>k.value),k=>Ts(k.element,wE),(k,D)=>{Vb(n.items,D).each(N=>{wt(k.element,wE,N.value),gt(k,ka,{text:N.text})})})]},"tox-listbox",s.shared)}}),S={dom:{tag:"div",classes:["tox-listboxfield"]},components:[C]};return Yt.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:Ot([h.toArray(),[S]]),fieldBehaviours:De([Je.config({disabled:()=>!n.enabled||d.checkUiComponentContext(n.context).shouldDisable,onDisabled:x=>{Yt.getField(x).each(Je.disable)},onEnabled:x=>{Yt.getField(x).each(Je.enable)}})])})},o$=(n,s)=>({dom:{tag:"div",classes:n.classes},components:Ee(n.items,s.shared.interpreter)}),rj=(n,s,a)=>{const i=Ee(n.items,S=>({text:s.translate(S.text),value:S.value})),d=n.label.map(S=>Lg(S,s)),g=Yt.parts.field({dom:{},...a.map(S=>({data:S})).getOr({}),selectAttributes:{size:n.size},options:i,factory:sz,selectBehaviours:De([Je.config({disabled:()=>!n.enabled||s.checkUiComponentContext(n.context).shouldDisable}),Wn.config({}),Nt("selectbox-change",[be(Dm(),(S,x)=>{gt(S,ca,{name:n.name})})])])}),h=n.size>1?T.none():T.some(bi("chevron-down",{tag:"div",classes:["tox-selectfield__icon-js"]},s.icons)),C={dom:{tag:"div",classes:["tox-selectfield"]},components:Ot([[g],h.toArray()])};return Yt.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:Ot([d.toArray(),[C]]),fieldBehaviours:De([Je.config({disabled:()=>!n.enabled||s.checkUiComponentContext(n.context).shouldDisable,onDisabled:S=>{Yt.getField(S).each(Je.disable)},onEnabled:S=>{Yt.getField(S).each(Je.enable)}}),is(()=>s.checkUiComponentContext(n.context))])})},s$=n=>{const s={"":0,px:0,pt:1,mm:1,pc:2,ex:2,em:2,ch:2,rem:2,cm:3,in:4,"%":4},a=d=>d in s?s[d]:1;let i=n.value.toFixed(a(n.unit));return i.indexOf(".")!==-1&&(i=i.replace(/\.?0*$/,"")),i+n.unit},N6=n=>{const a=/^\s*(\d+(?:\.\d+)?)\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\s*$/.exec(n);if(a!==null){const i=parseFloat(a[1]),d=a[2];return kt.value({value:i,unit:d})}else return kt.error(n)},r$=(n,s)=>{const a={"":96,px:96,pt:72,cm:2.54,pc:12,mm:25.4,in:1},i=d=>In(a,d);return n.unit===s?T.some(n.value):i(n.unit)&&i(s)?a[n.unit]===a[s]?T.some(n.value):T.some(n.value/a[n.unit]*a[s]):T.none()},xE=n=>T.none(),P6=(n,s)=>a=>r$(a,s).map(i=>({value:i*n,unit:s})),a$=(n,s)=>{const a=N6(n).toOptional(),i=N6(s).toOptional();return xi(a,i,(d,g)=>r$(d,g.unit).map(h=>g.value/h).map(h=>P6(h,g.unit)).getOr(xE)).getOr(xE)},EE=(n,s)=>{let a=xE;const i=Ge("ratio-event"),d=W=>bi(W,{tag:"span",classes:["tox-icon","tox-lock-icon__"+W]},s.icons),g=()=>!n.enabled||s.checkUiComponentContext(n.context).shouldDisable,h=is(()=>s.checkUiComponentContext(n.context)),C=n.label.getOr("Constrain proportions"),S=s.translate(C),x=zo.parts.lock({dom:{tag:"button",classes:["tox-lock","tox-button","tox-button--naked","tox-button--icon"],attributes:{"aria-label":S,"data-mce-name":C}},components:[d("lock"),d("unlock")],buttonBehaviours:De([Je.config({disabled:g}),h,Wn.config({}),Yn.config(s.tooltips.getConfig({tooltipText:S}))])}),k=W=>({dom:{tag:"div",classes:["tox-form__group"]},components:W}),D=W=>Yt.parts.field({factory:rf,inputClasses:["tox-textfield"],inputBehaviours:De([Je.config({disabled:g}),h,Wn.config({}),Nt("size-input-events",[be(pc(),(j,V)=>{gt(j,i,{isField1:W})}),be(Dm(),(j,V)=>{gt(j,ca,{name:n.name})})])]),selectOnFocus:!1}),N=W=>({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(W))]}),F=zo.parts.field1(k([Yt.parts.label(N("Width")),D(!0)])),L=zo.parts.field2(k([Yt.parts.label(N("Height")),D(!1)]));return zo.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:[{dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:[F,L,k([N(OS),x])]}],field1Name:"width",field2Name:"height",locked:!0,markers:{lockClass:"tox-locked"},onLockedChange:(W,j,V)=>{N6(je.getValue(W)).each(K=>{a(K).each(Q=>{je.setValue(j,s$(Q))})})},coupledFieldBehaviours:De([Je.config({disabled:g,onDisabled:W=>{zo.getField1(W).bind(Yt.getField).each(Je.disable),zo.getField2(W).bind(Yt.getField).each(Je.disable),zo.getLock(W).each(Je.disable)},onEnabled:W=>{zo.getField1(W).bind(Yt.getField).each(Je.enable),zo.getField2(W).bind(Yt.getField).each(Je.enable),zo.getLock(W).each(Je.enable)}}),is(()=>s.checkUiComponentContext("mode:design")),Nt("size-input-events2",[be(i,(W,j)=>{const V=j.event.isField1,K=V?zo.getField1(W):zo.getField2(W),Q=V?zo.getField2(W):zo.getField1(W),le=K.map(je.getValue).getOr(""),me=Q.map(je.getValue).getOr("");a=a$(le,me)})])])})},c$=(n,s,a)=>{const i=Fl.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(n.label))]}),d=Fl.parts.spectrum({dom:{tag:"div",classes:["tox-slider__rail"],attributes:{role:"presentation"}}}),g=Fl.parts.thumb({dom:{tag:"div",classes:["tox-slider__handle"],attributes:{role:"presentation"}}});return Fl.sketch({dom:{tag:"div",classes:["tox-slider"],attributes:{role:"presentation"}},model:{mode:"x",minX:n.min,maxX:n.max,getInitialValue:te(a.getOrThunk(()=>(Math.abs(n.max)-Math.abs(n.min))/2))},components:[i,d,g],sliderBehaviours:De([Ul.self(),Pt.config({})]),onChoose:(h,C,S)=>{gt(h,ca,{name:n.name,value:S})},onChange:(h,C,S)=>{gt(h,ca,{name:n.name,value:S})}})},i$=(n,s)=>{const a=C=>({dom:{tag:"th",innerHtml:s.translate(C)}}),i=C=>({dom:{tag:"thead"},components:[{dom:{tag:"tr"},components:Ee(C,a)}]}),d=C=>({dom:{tag:"td",innerHtml:s.translate(C)}}),g=C=>({dom:{tag:"tr"},components:Ee(C,d)}),h=C=>({dom:{tag:"tbody"},components:Ee(C,g)});return{dom:{tag:"table",classes:["tox-dialog__table"]},components:[i(n.header),h(n.cells)],behaviours:De([Wn.config({}),Pt.config({})])}},TE=(n,s)=>{const a=n.label.map(L=>Lg(L,s)),i=[Je.config({disabled:()=>n.disabled||s.checkUiComponentContext(n.context).shouldDisable}),is(()=>s.checkUiComponentContext(n.context)),lt.config({mode:"execution",useEnter:n.multiline!==!0,useControlEnter:n.multiline===!0,execute:L=>(Gt(L,zC),T.some(!0))}),Nt("textfield-change",[be(fu(),(L,W)=>{gt(L,ca,{name:n.name})}),be(j1(),(L,W)=>{gt(L,ca,{name:n.name})})]),Wn.config({})],d=n.validation.map(L=>Mu.config({getRoot:W=>hl(W.element),invalidClass:"tox-invalid",validator:{validate:W=>{const j=je.getValue(W),V=L.validator(j);return Io.pure(V===!0?kt.value(j):kt.error(V))},validateOnLoad:L.validateOnLoad}})).toArray(),g=n.placeholder.fold(te({}),L=>({placeholder:s.translate(L)})),h=n.inputMode.fold(te({}),L=>({inputmode:L})),S={...n.spellcheck.fold(te({}),L=>({spellcheck:L})),...g,...h,"data-mce-name":n.name},x=Yt.parts.field({tag:n.multiline===!0?"textarea":"input",...n.data.map(L=>({data:L})).getOr({}),inputAttributes:S,inputClasses:[n.classname],inputBehaviours:De(Ot([i,d])),selectOnFocus:!1,factory:rf}),k=n.multiline?{dom:{tag:"div",classes:["tox-textarea-wrap"]},components:[x]}:x,N=(n.flex?["tox-form__group--stretched"]:[]).concat(n.maximized?["tox-form-group--maximize"]:[]),F=[Je.config({disabled:()=>n.disabled||s.checkUiComponentContext(n.context).shouldDisable,onDisabled:L=>{Yt.getField(L).each(Je.disable)},onEnabled:L=>{Yt.getField(L).each(Je.enable)}}),is(()=>s.checkUiComponentContext(n.context))];return LC(a,k,N,F)},aj=(n,s,a)=>TE({name:n.name,multiline:!1,label:n.label,inputMode:n.inputMode,placeholder:n.placeholder,flex:!1,disabled:!n.enabled,classname:"tox-textfield",validation:T.none(),maximized:n.maximized,data:a,context:n.context,spellcheck:T.none()},s),l$=(n,s,a)=>TE({name:n.name,multiline:!0,label:n.label,inputMode:T.none(),placeholder:n.placeholder,flex:!0,disabled:!n.enabled,classname:"tox-textarea",validation:T.none(),maximized:n.maximized,data:a,context:n.context,spellcheck:n.spellcheck},s),qp=n=>({isEnabled:()=>!Je.isDisabled(n),setEnabled:s=>Je.set(n,!s),setActive:s=>{const a=n.element;s?(Un(a,"tox-tbtn--enabled"),wt(a,"aria-pressed",!0)):(wo(a,"tox-tbtn--enabled"),io(a,"aria-pressed"))},isActive:()=>qo(n.element,"tox-tbtn--enabled"),setTooltip:s=>{gt(n,R6,{text:s})},setText:s=>{gt(n,ka,{text:s})},setIcon:s=>gt(n,ff,{icon:s})}),Ub=(n,s,a,i,d=!0,g)=>{const h=n.buttonType==="bordered"?["bordered"]:[];return M6({text:n.text,icon:n.icon,tooltip:n.tooltip,ariaLabel:n.tooltip,searchable:n.search.isSome(),role:i,fetch:(C,S)=>{const x={pattern:n.search.isSome()?CP(C):""};n.fetch(k=>{S(zb(k,Ll.CLOSE_ON_EXECUTE,a,{isHorizontalMenu:!1,search:n.search}))},x,qp(C))},onSetup:n.onSetup,getApi:C=>qp(C),columns:1,presets:"normal",classes:h,dropdownBehaviours:[...d?[Wn.config({})]:[]],context:n.context},s,a.shared,g)},cj=(n,s,a)=>{const i=g=>h=>{const C=!h.isActive();h.setActive(C),g.storage.set(C),a.shared.getSink().each(S=>{s().getOpt(S).each(x=>{Ps(x.element),gt(x,tm,{name:g.name,value:g.storage.get()})})})},d=g=>h=>{h.setActive(g.storage.get())};return g=>{g(Ee(n,h=>{const C=h.text.fold(()=>({}),S=>({text:S}));return{type:h.type,active:!1,...C,context:h.context,onAction:i(h),onSetup:d(h)}}))}},u$=n=>({dom:{tag:"span",classes:["tox-tree__label"],attributes:{"aria-label":n}},components:[_n(n)]}),d$=(n,s,a)=>{n.customStateIcon.each(i=>s.push(m$(i,a.shared.providers.icons,n.customStateIconTooltip.fold(()=>[],d=>[Yn.config(a.shared.providers.tooltips.getConfig({tooltipText:d}))]),["tox-icon-custom-state"])))},kE=Ge("leaf-label-event-id"),$6=({leaf:n,onLeafAction:s,visible:a,treeId:i,selectedId:d,backstage:g})=>{const h=n.menu.map(S=>Ub(S,"tox-mbtn",g,T.none(),a)),C=[u$(n.title)];return d$(n,C,g),h.each(S=>C.push(S)),br.sketch({dom:{tag:"div",classes:["tox-tree--leaf__label","tox-trbtn"].concat(a?["tox-tree--leaf__label--visible"]:[])},components:C,role:"treeitem",action:S=>{s(n.id),S.getSystem().broadcastOn([`update-active-item-${i}`],{value:n.id})},eventOrder:{[Os()]:[kE,"keying"]},buttonBehaviours:De([...a?[Wn.config({})]:[],tn.config({toggleClass:"tox-trbtn--enabled",toggleOnExecute:!1,aria:{mode:"selected"}}),Ec.config({channels:{[`update-active-item-${i}`]:{onReceive:(S,x)=>{(x.value===n.id?tn.on:tn.off)(S)}}}}),Nt(kE,[Hn((S,x)=>{d.each(k=>{(k===n.id?tn.on:tn.off)(S)})}),be(Os(),(S,x)=>{const k=x.event.raw.code==="ArrowLeft",D=x.event.raw.code==="ArrowRight";k?(Yc(S.element,".tox-tree--directory").each(N=>{S.getSystem().getByDom(N).each(F=>{od(N,".tox-tree--directory__label").each(L=>{F.getSystem().getByDom(L).each(Pt.focus)})})}),x.stop()):D&&x.stop()})])])})},m$=(n,s,a,i,d)=>bi(n,{tag:"span",classes:["tox-tree__icon-wrap","tox-icon"].concat(i||[]),behaviours:a,attributes:d},s),f$=(n,s)=>m$(n,s,[]),g$=Ge("directory-label-event-id"),ij=({directory:n,visible:s,noChildren:a,backstage:i})=>{const d=n.menu.map(C=>Ub(C,"tox-mbtn",i,T.none())),g=[{dom:{tag:"div",classes:["tox-chevron"]},components:[f$("chevron-right",i.shared.providers.icons)]},u$(n.title)];d$(n,g,i),d.each(C=>{g.push(C)});const h=C=>{Yc(C.element,".tox-tree--directory").each(S=>{C.getSystem().getByDom(S).each(x=>{const k=!tn.isOn(x);tn.toggle(x),gt(C,"expand-tree-node",{expanded:k,node:n.id})})})};return br.sketch({dom:{tag:"div",classes:["tox-tree--directory__label","tox-trbtn"].concat(s?["tox-tree--directory__label--visible"]:[])},components:g,action:h,eventOrder:{[Os()]:[g$,"keying"]},buttonBehaviours:De([...s?[Wn.config({})]:[],Nt(g$,[be(Os(),(C,S)=>{const x=S.event.raw.code==="ArrowRight",k=S.event.raw.code==="ArrowLeft";x&&a&&S.stop(),(x||k)&&Yc(C.element,".tox-tree--directory").each(D=>{C.getSystem().getByDom(D).each(N=>{!tn.isOn(N)&&x||tn.isOn(N)&&k?(h(C),S.stop()):k&&!tn.isOn(N)&&(Yc(N.element,".tox-tree--directory").each(F=>{od(F,".tox-tree--directory__label").each(L=>{N.getSystem().getByDom(L).each(Pt.focus)})}),S.stop())})})})])])})},lj=({children:n,onLeafAction:s,visible:a,treeId:i,expandedIds:d,selectedId:g,backstage:h})=>({dom:{tag:"div",classes:["tox-tree--directory__children"]},components:n.map(C=>C.type==="leaf"?$6({leaf:C,selectedId:g,onLeafAction:s,visible:a,treeId:i,backstage:h}):F6({directory:C,expandedIds:d,selectedId:g,onLeafAction:s,labelTabstopping:a,treeId:i,backstage:h})),behaviours:De([Za.config({dimension:{property:"height"},closedClass:"tox-tree--directory__children--closed",openClass:"tox-tree--directory__children--open",growingClass:"tox-tree--directory__children--growing",shrinkingClass:"tox-tree--directory__children--shrinking",expanded:a}),At.config({})])}),h$=Ge("directory-event-id"),F6=({directory:n,onLeafAction:s,labelTabstopping:a,treeId:i,backstage:d,expandedIds:g,selectedId:h})=>{const{children:C}=n,S=ct(g),x=D=>C.map(N=>N.type==="leaf"?$6({leaf:N,selectedId:h,onLeafAction:s,visible:D,treeId:i,backstage:d}):F6({directory:N,expandedIds:S.get(),selectedId:h,onLeafAction:s,labelTabstopping:D,treeId:i,backstage:d})),k=g.includes(n.id);return{dom:{tag:"div",classes:["tox-tree--directory"],attributes:{role:"treeitem"}},components:[ij({directory:n,visible:a,noChildren:n.children.length===0,backstage:d}),lj({children:C,expandedIds:g,selectedId:h,onLeafAction:s,visible:k,treeId:i,backstage:d})],behaviours:De([Nt(h$,[Hn((D,N)=>{tn.set(D,k)}),be("expand-tree-node",(D,N)=>{const{expanded:F,node:L}=N.event;S.set(F?[...S.get(),L]:S.get().filter(W=>W!==L))})]),tn.config({...n.children.length>0?{aria:{mode:"expanded"}}:{},toggleClass:"tox-tree--directory--expanded",onToggled:(D,N)=>{const F=D.components()[1],L=x(N);N?Za.grow(F):Za.shrink(F),At.set(F,L)}})])}},uj=Ge("tree-event-id"),dj=(n,s)=>{const a=n.onLeafAction.getOr(q),i=n.onToggleExpand.getOr(q),d=n.defaultExpandedIds,g=ct(d),h=ct(n.defaultSelectedId),C=Ge("tree-id"),S=(x,k)=>n.items.map(D=>D.type==="leaf"?$6({leaf:D,selectedId:x,onLeafAction:a,visible:!0,treeId:C,backstage:s}):F6({directory:D,selectedId:x,onLeafAction:a,expandedIds:k,labelTabstopping:!0,treeId:C,backstage:s}));return{dom:{tag:"div",classes:["tox-tree"],attributes:{role:"tree"}},components:S(h.get(),g.get()),behaviours:De([lt.config({mode:"flow",selector:".tox-tree--leaf__label--visible, .tox-tree--directory__label--visible",cycles:!1}),Nt(uj,[be("expand-tree-node",(x,k)=>{const{expanded:D,node:N}=k.event;g.set(D?[...g.get(),N]:g.get().filter(F=>F!==N)),i(g.get(),{expanded:D,node:N})})]),Ec.config({channels:{[`update-active-item-${C}`]:{onReceive:(x,k)=>{h.set(T.some(k.value)),At.set(x,S(T.some(k.value),g.get()))}}}}),At.config({})])}},AE=(n,s,a=[],i,d,g,h)=>{const C=s.fold(()=>({}),k=>({action:k})),S={buttonBehaviours:De([Iu.item(()=>!n.enabled||h.checkUiComponentContext(n.context).shouldDisable),is(()=>h.checkUiComponentContext(n.context)),Wn.config({}),...g.map(k=>Yn.config(h.tooltips.getConfig({tooltipText:h.translate(k)}))).toArray(),Nt("button press",[jw("click")])].concat(a)),eventOrder:{click:["button press","alloy.base.behaviour"],mousedown:["button press","alloy.base.behaviour"]},...C},x=so(S,{dom:i});return so(x,{components:d})},mj=(n,s,a,i=[],d)=>{const g=n.tooltip.map(x=>({"aria-label":a.translate(x)})).getOr({}),h={tag:"button",classes:["tox-tbtn"],attributes:{...g,"data-mce-name":d}},C=n.icon.map(x=>CE(x,a.icons)),S=Mb([C]);return AE(n,s,i,h,S,n.tooltip,a)},I6=n=>{switch(n){case"primary":return["tox-button"];case"toolbar":return["tox-tbtn"];case"secondary":default:return["tox-button","tox-button--secondary"]}},p$=(n,s,a,i=[],d=[])=>{const g=a.translate(n.text),h=n.icon.map(F=>CE(F,a.icons)),C=[h.getOrThunk(()=>_n(g))],S=n.buttonType.getOr(!n.primary&&!n.borderless?"secondary":"primary"),D={tag:"button",classes:[...I6(S),...h.isSome()?["tox-button--icon"]:[],...n.borderless?["tox-button--naked"]:[],...d],attributes:{"aria-label":g,"data-mce-name":n.text}},N=n.icon.map(te(g));return AE(n,s,i,D,C,N,a)},b$=(n,s,a,i=[],d=[])=>{const g=p$(n,T.some(s),a,i,d);return br.sketch(g)},v$=(n,s)=>a=>{s==="custom"?gt(a,tm,{name:n,value:{}}):s==="submit"?Gt(a,zC):s==="cancel"?Gt(a,lf):console.error("Unknown button type: ",s)},fj=(n,s)=>s==="menu",gj=(n,s)=>s==="custom"||s==="cancel"||s==="submit",y$=(n,s)=>s==="togglebutton",hj=(n,s,a)=>{const i=n.icon.map(V=>mf(V,s.icons)).map(En),d=V=>{gt(V,tm,{name:n.name,value:{setIcon:K=>{i.map(Q=>Q.getOpt(V).each(le=>{At.set(le,[mf(K,s.icons)])}))}}})},g=n.buttonType.getOr(n.primary?"primary":"secondary"),h={...n,name:n.name??"",primary:g==="primary",tooltip:n.tooltip,enabled:n.enabled??!1,borderless:!1},C=h.tooltip.or(n.text).map(V=>({"aria-label":s.translate(V)})).getOr({}),S=I6(g??"secondary"),x=n.icon.isSome()&&n.text.isSome(),k={tag:"button",classes:[...S.concat(n.icon.isSome()?["tox-button--icon"]:[]),...n.active?["tox-button--enabled"]:[],...x?["tox-button--icon-and-text"]:[]],attributes:{...C,...Uo(a)?{"data-mce-name":a}:{}}},D=[],N=s.translate(n.text.getOr("")),F=_n(N),W=[...Mb([i.map(V=>V.asSpec())]),...n.text.isSome()?[F]:[]],j=AE(h,T.some(d),D,k,W,n.tooltip,s);return br.sketch(j)},_E=(n,s,a)=>{if(fj(n,s)){const i=()=>h,d=n,g={...n,buttonType:"default",type:"menubutton",search:T.none(),onSetup:C=>(C.setEnabled(n.enabled),q),fetch:cj(d.items,i,a)},h=En(Ub(g,"tox-tbtn",a,T.none(),!0,n.text.or(n.tooltip).getOrUndefined()));return h.asSpec()}else if(gj(n,s)){const i=v$(n.name,s),d={...n,context:s==="cancel"?"any":n.context,borderless:!1};return b$(d,i,a.shared.providers,[])}else{if(y$(n,s))return hj(n,a.shared.providers,n.text.or(n.tooltip).getOrUndefined());throw console.error("Unknown footer button type: ",s),new Error("Unknown footer button type")}},pj=(n,s)=>{const a=v$(n.name,"custom");return BW(T.none(),Yt.parts.field({factory:br,...p$(n,T.some(a),s,[gE(""),Ul.self()])}))},bj={type:"separator"},vj=n=>({type:"menuitem",value:n.url,text:n.title,meta:{attach:n.attach},onAction:q}),L6=(n,s)=>({type:"menuitem",value:s,text:n,meta:{attach:void 0},onAction:q}),C$=n=>Ee(n,vj),yj=(n,s)=>oo(s,a=>a.type===n),H6=(n,s)=>C$(yj(n,s)),Cj=n=>H6("header",n.targets),S$=n=>H6("anchor",n.targets),w$=n=>T.from(n.anchorTop).map(s=>L6("",s)).toArray(),z6=n=>T.from(n.anchorBottom).map(s=>L6("",s)).toArray(),Sj=n=>Ee(n,s=>L6(s,s)),wj=n=>ho(n,(s,a)=>s.length===0||a.length===0?s.concat(a):s.concat(bj,a),[]),OE=(n,s)=>{const a=n.toLowerCase();return oo(s,i=>{const d=i.meta!==void 0&&i.meta.text!==void 0?i.meta.text:i.text,g=i.value??"";return Lo(d.toLowerCase(),a)||Lo(g.toLowerCase(),a)})},xj=(n,s,a)=>{var h;const i=je.getValue(s),d=((h=i==null?void 0:i.meta)==null?void 0:h.text)??i.value;return a.getLinkInformation().fold(()=>[],C=>{const S=OE(d,Sj(a.getHistory(n)));return n==="file"?wj([S,OE(d,Cj(C)),OE(d,Ot([w$(C),S$(C),z6(C)]))]):S})},V6=Ge("aria-invalid"),Ej=(n,s,a,i)=>{const d=s.shared.providers,g=K=>{const Q=je.getValue(K);a.addToHistory(Q.value,n.filetype)},h={...i.map(K=>({initialData:K})).getOr({}),dismissOnBlur:!0,inputClasses:["tox-textfield"],sandboxClasses:["tox-dialog__popups"],inputAttributes:{type:"url"},minChars:0,responseTime:0,fetch:K=>{const Q=xj(n.filetype,K,a),le=zb(Q,Ll.BUBBLE_TO_SANDBOX,s,{isHorizontalMenu:!1,search:T.none()});return Io.pure(le)},getHotspot:K=>L.getOpt(K),onSetValue:(K,Q)=>{K.hasConfigured(Mu)&&Mu.run(K).get(q)},typeaheadBehaviours:De([...a.getValidationHandler().map(K=>Mu.config({getRoot:Q=>hl(Q.element),invalidClass:"tox-control-wrap--status-invalid",notify:{onInvalid:(Q,le)=>{k.getOpt(Q).each(me=>{wt(me.element,"title",d.translate(le))})}},validator:{validate:Q=>{const le=je.getValue(Q);return s1.nu(me=>{K({type:n.filetype,url:le.value},Fe=>{if(Fe.status==="invalid"){wt(Q.element,"aria-errormessage",V6);const ze=kt.error(Fe.message);me(ze)}else{io(Q.element,"aria-errormessage");const ze=kt.value(Fe.message);me(ze)}})})},validateOnLoad:!1}})).toArray(),Je.config({disabled:()=>!n.enabled||d.checkUiComponentContext(n.context).shouldDisable}),Wn.config({}),Nt("urlinput-events",[be(fu(),K=>{const Q=Ba(K.element),le=Q.trim();le!==Q&&rd(K.element,le),n.filetype==="file"&>(K,ca,{name:n.name})}),be(Dm(),K=>{gt(K,ca,{name:n.name}),g(K)}),be(j1(),K=>{gt(K,ca,{name:n.name}),g(K)})])]),eventOrder:{[fu()]:["streaming","urlinput-events","invalidating"]},model:{getDisplayText:K=>K.value,selectsOver:!1,populateFromBrowse:!1},markers:{openClass:"tox-textfield--popup-open"},lazySink:s.shared.getSink,parts:{menu:wb(!1,1,"normal")},onExecute:(K,Q,le)=>{gt(Q,zC,{})},onItemExecute:(K,Q,le,me)=>{g(K),gt(K,ca,{name:n.name})}},C=Yt.parts.field({...h,factory:wV}),S=n.label.map(K=>Lg(K,d)),k=En(((K,Q,le=K,me=K)=>bi(le,{tag:"div",classes:["tox-icon","tox-control-wrap__status-icon-"+K],attributes:{title:d.translate(me),"aria-live":"polite",...Q.fold(()=>({}),Fe=>({id:Fe}))}},d.icons))("invalid",T.some(V6),"warning")),D=En({dom:{tag:"div",classes:["tox-control-wrap__status-icon-wrap"]},components:[k.asSpec()]}),N=a.getUrlPicker(n.filetype),F=Ge("browser.url.event"),L=En({dom:{tag:"div",classes:["tox-control-wrap"]},components:[C,D.asSpec()],behaviours:De([Je.config({disabled:()=>!n.enabled||d.checkUiComponentContext(n.context).shouldDisable})])}),W=En(b$({context:n.context,name:n.name,icon:T.some("browse"),text:n.picker_text.or(n.label).getOr(""),enabled:n.enabled,primary:!1,buttonType:T.none(),borderless:!0},K=>Gt(K,F),d,[],["tox-browse-url"])),j=()=>({dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:Ot([[L.asSpec()],N.map(()=>W.asSpec()).toArray()])}),V=K=>{ue.getCurrent(K).each(Q=>{const le=je.getValue(Q),me={fieldname:n.name,...le};N.each(Fe=>{Fe(me).get(ze=>{je.setValue(Q,ze),gt(K,ca,{name:n.name})})})})};return Yt.sketch({dom:f6(),components:S.toArray().concat([j()]),fieldBehaviours:De([Je.config({disabled:()=>!n.enabled||d.checkUiComponentContext(n.context).shouldDisable,onDisabled:K=>{Yt.getField(K).each(Je.disable),W.getOpt(K).each(Je.disable)},onEnabled:K=>{Yt.getField(K).each(Je.enable),W.getOpt(K).each(Je.enable)}}),is(()=>d.checkUiComponentContext(n.context)),Nt("url-input-events",[be(F,V)])])})},DE=(n,s)=>{const a=_3(n.icon,s.icons);return Xi.sketch({dom:{tag:"div",attributes:{role:"alert"},classes:["tox-notification","tox-notification--in",`tox-notification--${n.level}`]},components:[{dom:{tag:"div",classes:["tox-notification__icon"],innerHtml:n.url?void 0:a},components:n.url?[br.sketch({dom:{tag:"button",classes:["tox-button","tox-button--naked","tox-button--icon"],innerHtml:a,attributes:{title:s.translate(n.iconTooltip)}},action:i=>gt(i,tm,{name:"alert-banner",value:n.url}),buttonBehaviours:De([vC()])})]:void 0},{dom:{tag:"div",classes:["tox-notification__body"],innerHtml:s.translate(n.text)}}]})},Tj=(n,s,a)=>{const i=S=>(S.element.dom.click(),T.some(!0)),d=Yt.parts.field({factory:{sketch:Qt},dom:{tag:"input",classes:["tox-checkbox__input"],attributes:{type:"checkbox"}},behaviours:De([Ul.self(),Je.config({disabled:()=>!n.enabled||s.checkUiComponentContext(n.context).shouldDisable,onDisabled:S=>{hl(S.element).each(x=>Un(x,"tox-checkbox--disabled"))},onEnabled:S=>{hl(S.element).each(x=>wo(x,"tox-checkbox--disabled"))}}),Wn.config({}),Pt.config({}),v6(a,Uv,vl),lt.config({mode:"special",onEnter:i,onSpace:i,stopSpaceKeyup:!0}),Nt("checkbox-events",[be(Dm(),(S,x)=>{gt(S,ca,{name:n.name})})])])}),g=Yt.parts.label({dom:{tag:"span",classes:["tox-checkbox__label"]},components:[_n(s.translate(n.label))],behaviours:De([Jy.config({})])}),h=S=>bi(S==="checked"?"selected":"unselected",{tag:"span",classes:["tox-icon","tox-checkbox-icon__"+S]},s.icons),C=En({dom:{tag:"div",classes:["tox-checkbox__icons"]},components:[h("checked"),h("unchecked")]});return Yt.sketch({dom:{tag:"label",classes:["tox-checkbox"]},components:[d,C.asSpec(),g],fieldBehaviours:De([Je.config({disabled:()=>!n.enabled||s.checkUiComponentContext(n.context).shouldDisable}),is(()=>s.checkUiComponentContext(n.context))])})},x$=(n,s)=>{const a=["tox-form__group",...n.stretched?["tox-form__group--stretched"]:[]],i=Nt("htmlpanel",[Hn(d=>{n.onInit(d.element.dom)})]);return n.presets==="presentation"?Xi.sketch({dom:{tag:"div",classes:a,innerHtml:n.html},containerBehaviours:De([Yn.config({...s.tooltips.getConfig({tooltipText:"",onShow:d=>{Nn(d.element,"[data-mce-tooltip]:hover").orThunk(()=>rs(d.element)).each(g=>{js(g,"data-mce-tooltip").each(h=>{Yn.setComponents(d,s.tooltips.getComponents({tooltipText:h}))})})}}),mode:"children-normal",anchor:d=>({type:"node",node:Nn(d.element,"[data-mce-tooltip]:hover").orThunk(()=>rs(d.element).filter(g=>js(g,"data-mce-tooltip").isSome())),root:d.element,layouts:{onLtr:te([Jo,Rs,cs,er,Xo,Ls]),onRtl:te([Jo,Rs,cs,er,Xo,Ls])},bubble:yc(0,-2,{})})}),i])}):Xi.sketch({dom:{tag:"div",classes:a,innerHtml:n.html,attributes:{role:"document"}},containerBehaviours:De([Wn.config({}),Pt.config({}),i])})},Ms=n=>(s,a,i,d,g)=>mt(a,"name").fold(()=>n(a,d,T.none(),g),h=>s.field(h,n(a,d,mt(i,h),g))),kj=n=>(s,a,i,d,g)=>{const h=so(a,{source:"dynamic"});return Ms(n)(s,h,i,d,g)},zu={bar:Ms((n,s)=>m6(n,s.shared)),collection:Ms((n,s,a)=>TP(n,s.shared.providers,a)),alertbanner:Ms((n,s)=>DE(n,s.shared.providers)),input:Ms((n,s,a)=>aj(n,s.shared.providers,a)),textarea:Ms((n,s,a)=>l$(n,s.shared.providers,a)),label:Ms((n,s,a,i)=>GP(n,s.shared,i)),iframe:kj((n,s,a)=>Mt(n,s.shared.providers,a)),button:Ms((n,s)=>pj(n,s.shared.providers)),checkbox:Ms((n,s,a)=>Tj(n,s.shared.providers,a)),colorinput:Ms((n,s,a)=>NW(n,s.shared,s.colorinput,a)),colorpicker:Ms((n,s,a)=>PP(n,s.shared.providers,a)),dropzone:Ms((n,s,a)=>IP(n,s.shared.providers,a)),grid:Ms((n,s)=>jW(n,s.shared)),listbox:Ms((n,s,a)=>sj(n,s,a)),selectbox:Ms((n,s,a)=>rj(n,s.shared.providers,a)),sizeinput:Ms((n,s)=>EE(n,s.shared.providers)),slider:Ms((n,s,a)=>c$(n,s.shared.providers,a)),urlinput:Ms((n,s,a)=>Ej(n,s,s.urlinput,a)),customeditor:Ms(FP),htmlpanel:Ms((n,s)=>x$(n,s.shared.providers)),imagepreview:Ms((n,s,a)=>jP(n,a)),table:Ms((n,s)=>i$(n,s.shared.providers)),tree:Ms((n,s)=>dj(n,s)),panel:Ms((n,s)=>o$(n,s))},RE={field:(n,s)=>s,record:te([])},ZC=(n,s,a,i,d)=>{const g=so(i,{shared:{interpreter:h=>U6(n,h,a,g,d)}});return U6(n,s,a,g,d)},U6=(n,s,a,i,d)=>mt(zu,s.type).fold(()=>(console.error(`Unknown factory type "${s.type}", defaulting to container: `,s),s),g=>g(n,s,a,i,d)),ME=(n,s,a,i)=>U6(RE,n,s,a,i),WC={valignCentre:[],alignCentre:[],alignLeft:[],alignRight:[],right:[],left:[],bottom:[],top:[]},Z6=(n,s,a)=>{const d={maxHeightFunction:Qf()},g=()=>({type:"node",root:_i(ss(n())),node:T.from(n()),bubble:yc(12,12,WC),layouts:{onRtl:()=>[Ui],onLtr:()=>[_d]},overrides:d}),h=()=>({type:"hotspot",hotspot:s(),bubble:yc(-12,12,WC),layouts:{onRtl:()=>[cs,Xo,Jo],onLtr:()=>[Xo,cs,Jo]},overrides:d});return()=>a()?g():h()},E$=(n,s,a,i)=>{const g={maxHeightFunction:Qf()},h=()=>({type:"node",root:_i(ss(s())),node:T.from(s()),bubble:yc(12,12,WC),layouts:{onRtl:()=>[Ca],onLtr:()=>[Ca]},overrides:g}),C=()=>n?{type:"node",root:_i(ss(s())),node:T.from(s()),bubble:yc(0,-Sr(s()),WC),layouts:{onRtl:()=>[Rs],onLtr:()=>[Rs]},overrides:g}:{type:"hotspot",hotspot:a(),bubble:yc(0,0,WC),layouts:{onRtl:()=>[Rs],onLtr:()=>[Rs]},overrides:g};return()=>i()?h():C()},W6=(n,s,a)=>{const i=()=>({type:"node",root:_i(ss(n())),node:T.from(n()),layouts:{onRtl:()=>[Ca],onLtr:()=>[Ca]}}),d=()=>({type:"hotspot",hotspot:s(),layouts:{onRtl:()=>[Jo],onLtr:()=>[Jo]}});return()=>a()?i():d()},Aj=(n,s)=>()=>({type:"selection",root:s(),getSelection:()=>{const a=n.selection.getRng(),i=n.model.table.getSelectedCells();if(i.length>1){const d=i[0],g=i[i.length-1],h={firstCell:Le.fromDom(d),lastCell:Le.fromDom(g)};return T.some(h)}return T.some(cd.range(Le.fromDom(a.startContainer),a.startOffset,Le.fromDom(a.endContainer),a.endOffset))}}),_j=n=>s=>({type:"node",root:n(),node:s}),T$=(n,s,a,i)=>{const d=_p(n),g=()=>Le.fromDom(n.getBody()),h=()=>Le.fromDom(n.getContentAreaContainer()),C=()=>d||!i();return{inlineDialog:Z6(h,s,C),inlineBottomDialog:E$(n.inline,h,a,C),banner:W6(h,s,C),cursor:Aj(n,g),node:_j(g)}},Oj=n=>(s,a)=>{i6(n)(s,a)},Dj=n=>()=>YN(n),j6=n=>s=>aE(n,s),Rj=n=>s=>o6(n,s),Mj=n=>({colorPicker:Oj(n),hasCustomColors:Dj(n),getColors:j6(n),getColorCols:Rj(n)}),k$=n=>()=>G7(n),A$=n=>({isDraggableModal:k$(n)}),Bj=n=>{const s=ct(mC(n)?"bottom":"top");return{isPositionedAtTop:()=>s.get()==="top",getDockingMode:s.get,setDockingMode:s.set}},_$=n=>hn(n,"items"),O$=n=>hn(n,"format"),D$=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",format:"bold"},{title:"Italic",format:"italic"},{title:"Underline",format:"underline"},{title:"Strikethrough",format:"strikethrough"},{title:"Superscript",format:"superscript"},{title:"Subscript",format:"subscript"},{title:"Code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Align",items:[{title:"Left",format:"alignleft"},{title:"Center",format:"aligncenter"},{title:"Right",format:"alignright"},{title:"Justify",format:"alignjustify"}]}],R$=n=>In(n,"items"),Nj=n=>In(n,"block"),Pj=n=>In(n,"inline"),$j=n=>In(n,"selector"),M$=n=>ho(n,(s,a)=>{if(R$(a)){const i=M$(a.items);return{customFormats:s.customFormats.concat(i.customFormats),formats:s.formats.concat([{title:a.title,items:i.formats}])}}else if(Pj(a)||Nj(a)||$j(a)){const d=`custom-${kn(a.name)?a.name:a.title.toLowerCase()}`;return{customFormats:s.customFormats.concat([{name:d,format:a}]),formats:s.formats.concat([{title:a.title,format:d,icon:a.icon}])}}else return{...s,formats:s.formats.concat(a)}},{customFormats:[],formats:[]}),Fj=(n,s)=>{const a=M$(s),i=d=>{Qe(d,g=>{n.formatter.has(g.name)||n.formatter.register(g.name,g.format)})};return n.formatter?i(a.customFormats):n.on("init",()=>{i(a.customFormats)}),a.formats},B$=n=>N7(n).map(s=>{const a=Fj(n,s);return P7(n)?D$.concat(a):a}).getOr(D$),Ij=n=>{const s=Bn(n);return s.length===1&&go(s,"title")},N$=(n,s,a)=>({...n,type:"formatter",isSelected:s(n.format),getStylePreview:a(n.format)}),P$=(n,s,a,i)=>{const d=S=>N$(S,a,i),g=S=>{const x=C(S.items);return{...S,type:"submenu",getStyleItems:te(x)}},h=S=>{const x=kn(S.name)?S.name:Ge(S.title),k=`custom-${x}`,D={...S,type:"formatter",format:k,isSelected:a(k),getStylePreview:i(k)};return n.formatter.register(x,D),D},C=S=>Ee(S,x=>_$(x)?g(x):O$(x)?d(x):Ij(x)?{...x,type:"separator"}:h(x));return C(s)},Lj=n=>{const s=C=>()=>n.formatter.match(C),a=C=>()=>{const S=n.formatter.get(C);return S!==void 0?T.some({tag:S.length>0&&(S[0].inline||S[0].block)||"div",styles:n.dom.parseStyle(n.formatter.getCssText(C))}):T.none()},i=ct([]),d=ct([]),g=ct(!1);return n.on("PreInit",C=>{const S=B$(n),x=P$(n,S,s,a);i.set(x)}),n.on("addStyleModifications",C=>{const S=P$(n,C.items,s,a);d.set(S),g.set(C.replace)}),{getData:()=>{const C=g.get()?[]:i.get(),S=d.get();return C.concat(S)}}},lX=n=>{let i=0;const d=()=>i>0,g=C=>[{dom:{tag:"div",classes:["tox-tooltip__body"]},components:[_n(C.tooltipText)]}];return{getConfig:C=>({delayForShow:()=>d()?60:300,delayForHide:te(300),exclusive:!0,lazySink:n,tooltipDom:{tag:"div",classes:["tox-tooltip","tox-tooltip--up"]},tooltipComponents:g(C),onShow:(S,x)=>{i++,C.onShow&&C.onShow(S,x)},onHide:(S,x)=>{i--,C.onHide&&C.onHide(S,x)},onSetup:C.onSetup}),getComponents:g}},Hj=n=>Uo(n)&&n.nodeType===1,$$=uf.trim,G6=n=>s=>!!(Hj(s)&&(s.contentEditable===n||s.getAttribute("data-mce-contenteditable")===n)),BE=G6("true"),F$=G6("false"),I$=(n,s,a,i,d)=>({type:n,title:s,url:a,level:i,attach:d}),zj=n=>{let s=n;for(;s=s.parentNode;){const a=s.contentEditable;if(a&&a!=="inherit")return BE(s)}return!1},Vj=(n,s)=>Ee(Ks(Le.fromDom(s),n),a=>a.dom),L$=n=>n.innerText||n.textContent,Uj=n=>n.id?n.id:Ge("h"),Zj=n=>n&&n.nodeName==="A"&&(n.id||n.name)!==void 0,Wj=n=>Zj(n)&&K6(n),q6=n=>n&&/^(H[1-6])$/.test(n.nodeName),K6=n=>zj(n)&&!F$(n),jj=n=>q6(n)&&K6(n),H$=n=>q6(n)?parseInt(n.nodeName.substr(1),10):0,Gj=n=>{const s=Uj(n),a=()=>{n.id=s};return I$("header",L$(n)??"","#"+s,H$(n),a)},qj=n=>{const s=n.id||n.name,a=L$(n);return I$("anchor",a||"#"+s,"#"+s,0,q)},Kj=n=>Ee(oo(n,jj),Gj),Kp=n=>Ee(oo(n,Wj),qj),z$=n=>Vj("h1,h2,h3,h4,h5,h6,a:not([href])",n),V$=n=>$$(n.title).length>0,uX={find:n=>{const s=z$(n);return oo(Kj(s).concat(Kp(s)),V$)}},NE="tinymce-url-history",U$=5,Z$=n=>kn(n)&&/^https?/.test(n),Xj=n=>dl(n)&&n.length<=U$&&Gu(n,Z$),W$=n=>Ic(n)&&ml(n,s=>!Xj(s)).isNone(),j$=()=>{const n=Ga.getItem(NE);if(n===null)return{};let s;try{s=JSON.parse(n)}catch(a){if(a instanceof SyntaxError)return console.log("Local storage "+NE+" was not valid JSON",a),{};throw a}return W$(s)?s:(console.log("Local storage "+NE+" was not valid format",s),{})},Zb=n=>{if(!W$(n))throw new Error(`Bad format for history: +`+JSON.stringify(n));Ga.setItem(NE,JSON.stringify(n))},jC=n=>{const s=j$();return mt(s,n).getOr([])},Y6=(n,s)=>{if(!Z$(n))return;const a=j$(),i=mt(a,s).getOr([]),d=oo(i,g=>g!==n);a[s]=[n].concat(d).slice(0,U$),Zb(a)},G$=n=>!!n,Jj=n=>jo(uf.makeMap(n,/[, ]/),G$),GC=n=>T.from(V7(n)),Qj=n=>{const s=T.from(dC(n)).filter(G$).map(Jj);return GC(n).fold(Fn,a=>s.fold(Tt,i=>Bn(i).length>0?i:!1))},qC=(n,s)=>{const a=Qj(n);return Kl(a)?a?GC(n):T.none():a[s]?GC(n):T.none()},q$=(n,s)=>qC(n,s).map(a=>i=>Io.nu(d=>{const g=(C,S)=>{if(!kn(C))throw new Error("Expected value to be string");if(S!==void 0&&!Ic(S))throw new Error("Expected meta to be a object");d({value:C,meta:S})},h={filetype:s,fieldname:i.fieldname,...T.from(i.meta).getOr({})};a.call(n,g,i.value,h)})),K$=n=>T.from(n).filter(kn).getOrUndefined(),eG=n=>A5(n)?T.some({targets:uX.find(n.getBody()),anchorTop:K$(W7(n)),anchorBottom:K$(j7(n))}):T.none(),tG=n=>T.from(U7(n)),nG=n=>({getHistory:jC,addToHistory:Y6,getLinkInformation:()=>eG(n),getValidationHandler:()=>tG(n),getUrlPicker:s=>q$(n,s)}),oG=(n,s,a,i)=>{const d=ct(!1),g=Bj(s),h={icons:()=>s.ui.registry.getAll().icons,menuItems:()=>s.ui.registry.getAll().menuItems,translate:Or.translate,isDisabled:()=>!s.ui.isEnabled(),getOption:s.options.get,tooltips:lX(n.dialog),checkUiComponentContext:V=>{if(lC(s))return{contextType:"disabled",shouldDisable:!0};const[K,Q=""]=V.split(":"),le=s.ui.registry.getAll().contexts,me=mt(le,K).fold(()=>mt(le,"mode").map(Fe=>Fe("design")).getOr(!1),Fe=>Q.charAt(0)==="!"?!Fe(Q.slice(1)):Fe(Q));return{contextType:K,shouldDisable:!me}}},C=nG(s),S=Lj(s),x=Mj(s),k=A$(s),D=()=>d.get(),N=V=>d.set(V),F={shared:{providers:h,anchors:T$(s,a,i,g.isPositionedAtTop),header:g},urlinput:C,styles:S,colorinput:x,dialog:k,isContextMenuOpen:D,setContextMenuState:N},L=V=>T.none(),W={...F,shared:{...F.shared,interpreter:V=>ME(V,{},W,L),getSink:n.popup}},j={...F,shared:{...F.shared,interpreter:V=>ME(V,{},j,L),getSink:n.dialog}};return{popup:W,dialog:j}},Y$={skipFocus:"ToggleToolbarDrawer skipFocus is deprecated see migration guide: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/"},X$=n=>{console.warn(Y$[n],new Error().stack)},X6=(n,s,a)=>{const i=(ke,ht)=>{Qe([s,...a],tt=>{tt.broadcastEvent(ke,ht)})},d=(ke,ht)=>{Qe([s,...a],tt=>{tt.broadcastOn([ke],ht)})},g=ke=>d(Wi(),{target:ke.target}),h=ke=>{d(ng(),{closedTooltip:()=>{ke.preventDefault()}})},C=Cr(),S=On(C,"touchstart",g),x=On(C,"touchmove",ke=>i(d2(),ke)),k=On(C,"touchend",ke=>i(m2(),ke)),D=On(C,"mousedown",g),N=On(C,"mouseup",ke=>{ke.raw.button===0&&d(Su(),{target:ke.target})}),F=ke=>d(Wi(),{target:Le.fromDom(ke.target)}),L=ke=>{ke.button===0&&d(Su(),{target:Le.fromDom(ke.target)})},W=()=>{Qe(n.editorManager.get(),ke=>{n!==ke&&ke.dispatch("DismissPopups",{relatedTarget:n})})},j=ke=>i(f2(),Ri(ke)),V=ke=>{d(fr(),{}),i(Lf(),Ri(ke))},K=ss(Le.fromDom(n.getElement())),Q=oc(K,"scroll",ke=>{requestAnimationFrame(()=>{const ht=n.getContainer();if(ht!=null){const qt=Og(n,s.element).map(Ct=>[Ct.element,...Ct.others]).getOr([]);Br(qt,Ct=>Vn(Ct,ke.target))&&(n.dispatch("ElementScroll",{target:ke.target.dom}),i(xw(),ke))}})}),le=()=>d(fr(),{}),me=ke=>{ke.state&&d(Wi(),{target:Le.fromDom(n.getContainer())})},Fe=ke=>{d(Wi(),{target:Le.fromDom(ke.relatedTarget.getContainer())})},ze=ke=>n.dispatch("focusin",ke),ve=ke=>n.dispatch("focusout",ke);n.on("PostRender",()=>{n.on("click",F),n.on("tap",F),n.on("mouseup",L),n.on("mousedown",W),n.on("ScrollWindow",j),n.on("ResizeWindow",V),n.on("ResizeEditor",le),n.on("AfterProgressState",me),n.on("DismissPopups",Fe),n.on("CloseActiveTooltips",h),Qe([s,...a],ke=>{ke.element.dom.addEventListener("focusin",ze),ke.element.dom.addEventListener("focusout",ve)})}),n.on("remove",()=>{n.off("click",F),n.off("tap",F),n.off("mouseup",L),n.off("mousedown",W),n.off("ScrollWindow",j),n.off("ResizeWindow",V),n.off("ResizeEditor",le),n.off("AfterProgressState",me),n.off("DismissPopups",Fe),n.off("CloseActiveTooltips",h),Qe([s,...a],ke=>{ke.element.dom.removeEventListener("focusin",ze),ke.element.dom.removeEventListener("focusout",ve)}),D.unbind(),S.unbind(),x.unbind(),k.unbind(),N.unbind(),Q.unbind()}),n.on("detach",()=>{Qe([s,...a],z0),Qe([s,...a],ke=>ke.destroy())})},sG=q,PE=Fn,KC=te([]);var J$=Object.freeze({__proto__:null,setup:sG,isDocked:PE,getBehaviours:KC});const J6=te(Ge("toolbar-height-change")),nm={fadeInClass:"tox-editor-dock-fadein",fadeOutClass:"tox-editor-dock-fadeout",transitionClass:"tox-editor-dock-transition"},Q$="tox-tinymce--toolbar-sticky-on",eF="tox-tinymce--toolbar-sticky-off",Q6=(n,s)=>{const a=ha(s),d=nh(s).dom.innerHeight,g=No(a),h=Le.fromDom(n.elm),C=ld(h),S=ks(h),x=C.y,k=x+S,D=pa(s),N=ks(s),F=D.top,L=F+N,W=Math.abs(F-g.top)<2,j=Math.abs(L-(g.top+d))<2;if(W&&xF){const V=x-d+S+N;nd(g.left,V,a)}},$E=(n,s)=>go(yo.getModes(n),s),YC=n=>{const s=i=>Sr(i)+(parseInt(lo(i,"margin-top"),10)||0)+(parseInt(lo(i,"margin-bottom"),10)||0),a=n.element;hl(a).each(i=>{const d="padding-"+yo.getModes(n)[0];if(yo.isDocked(n)){const g=wr(i);Rt(a,"width",g+"px"),Rt(i,d,s(a)+"px")}else Xt(a,"width"),Xt(i,d)})},tF=(n,s)=>{s?(wo(n,nm.fadeOutClass),Sl(n,[nm.transitionClass,nm.fadeInClass])):(wo(n,nm.fadeInClass),Sl(n,[nm.fadeOutClass,nm.transitionClass]))},FE=(n,s)=>{const a=Le.fromDom(n.getContainer());s?(Un(a,Q$),wo(a,eF)):(Un(a,eF),wo(a,Q$))},rG=(n,s)=>{const a=ha(s);$s(a).filter(i=>!Vn(s,i)).filter(i=>Vn(i,Le.fromDom(a.dom.body))||Qg(n,i)).each(()=>Ps(s))},aG=(n,s)=>rs(n).orThunk(()=>s().toOptional().bind(a=>rs(a.element))),cG=(n,s,a)=>{n.inline||(s.header.isPositionedAtTop()||n.on("ResizeEditor",()=>{a().each(yo.reset)}),n.on("ResizeWindow ResizeEditor",()=>{a().each(YC)}),n.on("SkinLoaded",()=>{a().each(i=>{yo.isDocked(i)?yo.reset(i):yo.refresh(i)})}),n.on("FullscreenStateChanged",()=>{a().each(yo.reset)})),n.on("AfterScrollIntoView",i=>{a().each(d=>{yo.refresh(d);const g=d.element;rh(g)&&Q6(i,g)})}),n.on("PostRender",()=>{FE(n,!1)})},iG=n=>n().map(yo.isDocked).getOr(!1),lG=()=>[Ec.config({channels:{[J6()]:{onReceive:YC}}})],uG=(n,s)=>{const a=Ht(),i=s.getSink,d=C=>{i().each(S=>C(S.element))},g=C=>{n.inline||YC(C),FE(n,yo.isDocked(C)),C.getSystem().broadcastOn([fr()],{}),i().each(S=>S.getSystem().broadcastOn([fr()],{}))},h=n.inline?[]:lG();return[Pt.config({}),yo.config({contextual:{lazyContext:C=>{const S=Sr(C.element),x=n.inline?n.getContentAreaContainer():n.getContainer();return T.from(x).map(k=>{const D=Ko(Le.fromDom(k));return Og(n,C.element).fold(()=>{const F=D.height-S,L=D.y+($E(C,"top")?0:S);return _o(D.x,L,D.width,F)},F=>{const L=Rf(D,Op(F)),W=$E(C,"top")?L.y:L.y+S;return _o(L.x,W,L.width,L.height-S)})})},onShow:()=>{d(C=>tF(C,!0))},onShown:C=>{d(S=>cr(S,[nm.transitionClass,nm.fadeInClass])),a.get().each(S=>{rG(C.element,S),a.clear()})},onHide:C=>{aG(C.element,i).fold(a.clear,a.set),d(S=>tF(S,!1))},onHidden:()=>{d(C=>cr(C,[nm.transitionClass]))},...nm},lazyViewport:C=>Og(n,C.element).fold(()=>{const x=Fs(),k=k5(n),D=x.y+($E(C,"top")&&!rB(n)?k:0),N=x.height-($E(C,"bottom")?k:0);return{bounds:_o(x.x,D,x.width,N),optScrollEnv:T.none()}},x=>({bounds:Op(x),optScrollEnv:T.some({currentScrollTop:x.element.dom.scrollTop,scrollElmTop:pa(x.element).top})})),modes:[s.header.getDockingMode()],onDocked:g,onUndocked:g}),...h]};var mX=Object.freeze({__proto__:null,setup:cG,isDocked:iG,getBehaviours:uG});const nF=n=>{const s=n.editor,a=n.sticky?uG:KC;return{uid:n.uid,dom:n.dom,components:n.components,behaviours:De(a(s,n.sharedBackstage))}};var IE=mi({factory:(n,s)=>{const a=(d,g)=>{const h=Ee(g,C=>{const S={type:"menubutton",text:C.text,fetch:k=>{k(C.getItems())},context:"any"},x=eN(S).mapError(k=>Am(k)).getOrDie();return Ub(x,"tox-mbtn",s.backstage,T.some("menuitem"))});At.set(d,h)},i={focus:lt.focusIn,setMenus:a};return{uid:n.uid,dom:n.dom,components:[],behaviours:De([At.config({}),Nt("menubar-events",[Hn(d=>{n.onSetup(d)}),be(hc(),(d,g)=>{Nn(d.element,".tox-mbtn--active").each(h=>{xr(g.event.target,".tox-mbtn").each(C=>{Vn(h,C)||d.getSystem().getByDom(h).each(S=>{d.getSystem().getByDom(C).each(x=>{Tc.expand(x),Tc.close(S),Pt.focus(x)})})})})}),be(zf(),(d,g)=>{g.event.prevFocus.bind(h=>d.getSystem().getByDom(h).toOptional()).each(h=>{g.event.newFocus.bind(C=>d.getSystem().getByDom(C).toOptional()).each(C=>{Tc.isOpen(h)&&(Tc.expand(C),Tc.close(h))})})})]),lt.config({mode:"flow",selector:".tox-mbtn",onEscape:d=>(n.onEscape(d),T.some(!0))}),Wn.config({})]),apis:i,domModification:{attributes:{role:"menubar"}}}},name:"silver.Menubar",configFields:[Te("dom"),Te("uid"),Te("onEscape"),Te("backstage"),ae("onSetup",q)],apis:{focus:(n,s)=>{n.focus(s)},setMenus:(n,s,a)=>{n.setMenus(s,a)}}});const dG="💝 Get all features",mG="https://www.tiny.cloud/tinymce-upgrade-to-cloud/?utm_campaign=self_hosted_upgrade_promo&utm_source=tiny&utm_medium=referral",fG=n=>{const s=n.promotionLink?[{dom:{tag:"a",attributes:{href:mG,rel:"noopener",target:"_blank","aria-hidden":"true"},classes:["tox-promotion-link"],innerHtml:dG}}]:[];return{uid:n.uid,dom:n.dom,components:s}},gG=n=>{const{sidebars:s}=n.ui.registry.getAll();Qe(Bn(s),a=>{const i=s[a],d=()=>zc(T.from(n.queryCommandValue("ToggleSidebar")),a);n.ui.registry.addToggleButton(a,{icon:i.icon,tooltip:i.tooltip,onAction:g=>{n.execCommand("ToggleSidebar",!1,a),g.setActive(d())},onSetup:g=>{g.setActive(d());const h=()=>g.setActive(d());return n.on("ToggleSidebar",h),()=>{n.off("ToggleSidebar",h)}},context:"any"})})},hG=n=>({element:()=>n.element.dom}),oF=(n,s)=>{const a=Ee(Bn(s),i=>{const d=s[i],g=$a(OO(d));return{name:i,getApi:hG,onSetup:g.onSetup,onShow:g.onShow,onHide:g.onHide}});return Ee(a,i=>{const d=ct(q);return n.slot(i.name,{dom:{tag:"div",classes:["tox-sidebar__pane"]},behaviours:Vp.unnamedEvents([Lu(i,d),Up(i,d),be(g2(),(g,h)=>{const C=h.event;Bt(a,x=>x.name===C.name).each(x=>{(C.visible?x.onShow:x.onHide)(x.getApi(g))})})])})})},pG=n=>jr.sketch(s=>({dom:{tag:"div",classes:["tox-sidebar__pane-container"]},components:oF(s,n),slotBehaviours:Vp.unnamedEvents([Hn(a=>jr.hideAllSlots(a))])})),bG=(n,s,a)=>{ue.getCurrent(n).each(d=>{At.set(d,[pG(s)]);const g=a==null?void 0:a.toLowerCase();kn(g)&&In(s,g)&&ue.getCurrent(d).each(h=>{jr.showSlot(h,g),Za.immediateGrow(d),Xt(d.element,"width"),LE(n.element,"region")})})},LE=(n,s)=>{wt(n,"role",s)},gX=(n,s)=>{ue.getCurrent(n).each(i=>{ue.getCurrent(i).each(g=>{Za.hasGrown(i)?jr.isShowing(g,s)?(Za.shrink(i),LE(n.element,"presentation")):(jr.hideAllSlots(g),jr.showSlot(g,s),LE(n.element,"region")):(jr.hideAllSlots(g),jr.showSlot(g,s),Za.grow(i),LE(n.element,"region"))})})},hX=n=>ue.getCurrent(n).bind(a=>Za.isGrowing(a)||Za.hasGrown(a)?ue.getCurrent(a).bind(g=>Bt(jr.getSlotNames(g),h=>jr.isShowing(g,h))):T.none()),HE=Ge("FixSizeEvent"),zE=Ge("AutoSizeEvent"),vG=n=>({uid:n.uid,dom:{tag:"div",classes:["tox-sidebar"],attributes:{role:"presentation"}},components:[{dom:{tag:"div",classes:["tox-sidebar__slider"]},components:[],behaviours:De([Wn.config({}),Pt.config({}),Za.config({dimension:{property:"width"},closedClass:"tox-sidebar--sliding-closed",openClass:"tox-sidebar--sliding-open",shrinkingClass:"tox-sidebar--sliding-shrinking",growingClass:"tox-sidebar--sliding-growing",onShrunk:s=>{ue.getCurrent(s).each(jr.hideAllSlots),Gt(s,zE)},onGrown:s=>{Gt(s,zE)},onStartGrow:s=>{gt(s,HE,{width:vo(s.element,"width").getOr("")})},onStartShrink:s=>{gt(s,HE,{width:wr(s.element)+"px"})}}),At.config({}),ue.config({find:s=>{const a=At.contents(s);return Qn(a)}})])}],behaviours:De([Ul.childAt(0),Nt("sidebar-sliding-events",[be(HE,(s,a)=>{Rt(s.element,"width",a.event.width)}),be(zE,(s,a)=>{Xt(s.element,"width")})])])}),yG=n=>(s,a)=>({dom:{tag:"div",attributes:{"aria-label":n.translate("Loading..."),tabindex:"0"},classes:["tox-throbber__busy-spinner"]},components:[{dom:Vd('
    ')}]}),Mc=n=>ue.getCurrent(n).each(s=>Ps(s.element,!0)),CG=(n,s)=>{const a="tabindex",i=`data-mce-${a}`;T.from(n.iframeElement).map(Le.fromDom).each(d=>{s?(js(d,a).each(g=>wt(d,i,g)),wt(d,a,-1)):(io(d,a),js(d,i).each(g=>{wt(d,a,g),io(d,i)}))})},sF=(n,s,a,i)=>{const d=s.element;if(CG(n,a),a)$.block(s,yG(i)),Xt(d,"display"),io(d,"aria-hidden"),n.hasFocus()&&Mc(s);else{const g=ue.getCurrent(s).exists(h=>qc(h.element));$.unblock(s),Rt(d,"display","none"),wt(d,"aria-hidden","true"),g&&n.focus()}},rF=n=>({uid:n.uid,dom:{tag:"div",attributes:{"aria-hidden":"true"},classes:["tox-throbber"],styles:{display:"none"}},behaviours:De([At.config({}),$.config({focus:!1}),ue.config({find:s=>Qn(s.components())})]),components:[]}),SG=n=>n.type==="focusin",XC=n=>SG(n)?(n.composed?Qn(n.composedPath()):T.from(n.target)).map(Le.fromDom).filter(ga).exists(a=>qo(a,"mce-pastebin")):!1,wG=(n,s,a)=>{const i=ct(!1),d=Ht(),g=C=>{i.get()&&!XC(C)&&(C.preventDefault(),Mc(s()),n.editorManager.setActive(n))};n.inline||n.on("PreInit",()=>{n.dom.bind(n.getWin(),"focusin",g),n.on("BeforeExecCommand",C=>{C.command.toLowerCase()==="mcefocus"&&C.value!==!0&&g(C)})});const h=C=>{C!==i.get()&&(i.set(C),sF(n,s(),C,a.providers),nW(n,C))};n.on("ProgressState",C=>{if(d.on(clearTimeout),wi(C.time)){const S=cC.setEditorTimeout(n,()=>h(C.state),C.time);d.set(S)}else h(C.state),d.clear()})},JC=n=>{const s=n.label.or(n.title).fold(()=>({}),a=>({attributes:{"aria-label":a}}));return{dom:{tag:"div",classes:["tox-toolbar__group"].concat(n.label.isSome()?["tox-toolbar__group_with_label"]:[]),...s},components:[...n.label.map(a=>({dom:{tag:"span",classes:["tox-label","tox-label--context-toolbar"]},components:[_n(a)]})).toArray(),m3.parts.items({})],items:n.items,markers:{itemSelector:".tox-tbtn:not([disabled]), .tox-toolbar-nav-item:not([disabled]), .tox-number-input:not([disabled])"},tgroupBehaviours:De([Wn.config({}),Pt.config({ignore:!0})])}},VE=n=>m3.sketch(JC(n)),QC=(n,s)=>{const a=Hn(i=>{const d=Ee(n.initGroups,VE);Nl.setGroups(i,d)});return De([Iu.toolbarButton(()=>n.providers.checkUiComponentContext("any").shouldDisable),is(()=>n.providers.checkUiComponentContext("any")),lt.config({mode:s,onEscape:n.onEscape,visibilitySelector:".tox-toolbar__overflow",selector:".tox-toolbar__group"}),Nt("toolbar-events",[a])])},aF=n=>{const s=n.cyclicKeying?"cyclic":"acyclic";return{uid:n.uid,dom:{tag:"div",classes:["tox-toolbar-overlord"]},parts:{"overflow-group":JC({title:T.none(),label:T.none(),items:[]}),"overflow-button":mj({context:"any",name:"more",icon:T.some("more-drawer"),enabled:!0,tooltip:T.some("Reveal or hide additional toolbar items"),primary:!1,buttonType:T.none(),borderless:!1},T.none(),n.providers,[],"overflow-button")},splitToolbarBehaviours:QC(n,s)}},xG=n=>{const s=aF(n),a=4,i=x7.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}});return x7.sketch({...s,lazySink:n.getSink,getOverflowBounds:()=>{const d=n.moreDrawerData.lazyHeader().element,g=ld(d),h=Bv(d),C=ld(h),S=Math.max(h.dom.scrollHeight,C.height);return _o(g.x+a,C.y,g.width-a*2,S)},parts:{...s.parts,overflow:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:n.attributes}}},components:[i],markers:{overflowToggledClass:"tox-tbtn--enabled"},onOpened:d=>n.onToggled(d,!0),onClosed:d=>n.onToggled(d,!1)})},rl=n=>{const s=v5.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}}),a=v5.parts.overflow({dom:{tag:"div",classes:["tox-toolbar__overflow"]}}),i=aF(n);return v5.sketch({...i,components:[s,a],markers:{openClass:"tox-toolbar__overflow--open",closedClass:"tox-toolbar__overflow--closed",growingClass:"tox-toolbar__overflow--growing",shrinkingClass:"tox-toolbar__overflow--shrinking",overflowToggledClass:"tox-tbtn--enabled"},onOpened:d=>{d.getSystem().broadcastOn([J6()],{type:"opened"}),n.onToggled(d,!0)},onClosed:d=>{d.getSystem().broadcastOn([J6()],{type:"closed"}),n.onToggled(d,!1)}})},UE=n=>{const s=n.cyclicKeying?"cyclic":"acyclic";return Nl.sketch({uid:n.uid,dom:{tag:"div",classes:["tox-toolbar"].concat(n.type===pi.scrolling?["tox-toolbar--scrolling"]:[])},components:[Nl.parts.groups({})],toolbarBehaviours:QC(n,s)})},ZE=(n,s)=>{const a=n.type==="togglebutton",i=n.icon.map(V=>mf(V,s.icons)).map(En),g=(()=>V=>{const K=Fe=>{i.map(ze=>ze.getOpt(V).each(ve=>{At.set(ve,[mf(Fe,s.icons)])}))},Q=Fe=>{const ze=V.element;Fe?(Un(ze,"tox-button--enabled"),wt(ze,"aria-pressed",!0)):(wo(ze,"tox-button--enabled"),io(ze,"aria-pressed"))},le=()=>qo(V.element,"tox-button--enabled"),me=()=>Ps(V.element);if(a)return n.onAction({setIcon:K,setActive:Q,isActive:le,focus:me});if(n.type==="button")return n.onAction({setIcon:K})})(),h={...n,name:a?n.text.getOr(n.icon.getOr("")):n.text??n.icon.getOr(""),primary:n.buttonType==="primary",buttonType:T.from(n.buttonType),tooltip:n.tooltip,icon:n.icon,enabled:!0,borderless:n.borderless},C=I6(n.buttonType??"secondary"),S=a?n.text.map(s.translate):T.some(s.translate(n.text)),x=S.map(_n),k=h.tooltip.or(S).map(V=>({"aria-label":s.translate(V)})).getOr({}),D=i.map(V=>V.asSpec()),N=Mb([D,x]),F=n.icon.isSome()&&x.isSome(),L={tag:"button",classes:C.concat(...n.icon.isSome()&&!F?["tox-button--icon"]:[]).concat(...F?["tox-button--icon-and-text"]:[]).concat(...n.borderless?["tox-button--naked"]:[]).concat(...n.type==="togglebutton"&&n.active?["tox-button--enabled"]:[]),attributes:k},W=[],j=AE(h,T.some(g),W,L,N,n.tooltip,s);return br.sketch(j)},eD=(n,s)=>ZE(n,s),cF=(n,s)=>({dom:{tag:"div",classes:["tox-view__toolbar__group"]},components:Ee(n.buttons,a=>eD(a,s))}),iF=rr().deviceType,lF=iF.isPhone(),EG=iF.isTablet(),TG=n=>{let s=!1;const a=Ee(n.buttons,i=>i.type==="group"?(s=!0,cF(i,n.providers)):eD(i,n.providers));return{uid:n.uid,dom:{tag:"div",classes:[s?"tox-view__toolbar":"tox-view__header",...lF||EG?["tox-view--mobile","tox-view--scrolling"]:[]]},behaviours:De([Pt.config({}),lt.config({mode:"flow",selector:"button, .tox-button",focusInside:Bm.OnEnterOrSpaceMode})]),components:s?a:[Xi.sketch({dom:{tag:"div",classes:["tox-view__header-start"]},components:[]}),Xi.sketch({dom:{tag:"div",classes:["tox-view__header-end"]},components:a})]}},kG=n=>({uid:n.uid,behaviours:De([Pt.config({}),Wn.config({})]),dom:{tag:"div",classes:["tox-view__pane"]}}),AG=(n,s,a,i)=>{const d={getPane:g=>Us.getPart(g,n,"pane"),getOnShow:g=>n.viewConfig.onShow,getOnHide:g=>n.viewConfig.onHide};return{uid:n.uid,dom:n.dom,components:s,behaviours:De([Pt.config({}),lt.config({mode:"cyclic",focusInside:Bm.OnEnterOrSpaceMode})]),apis:d}};var Wb=xa({name:"silver.View",configFields:[Te("viewConfig")],partFields:[vc({factory:{sketch:TG},schema:[Te("buttons"),Te("providers")],name:"header"}),vc({factory:{sketch:kG},schema:[],name:"pane"})],factory:AG,apis:{getPane:(n,s)=>n.getPane(s),getOnShow:(n,s)=>n.getOnShow(s),getOnHide:(n,s)=>n.getOnHide(s)}});const _G=(n,s,a)=>Fr(s,(i,d)=>{const g=$a(LZ(i));return n.slot(d,Wb.sketch({dom:{tag:"div",classes:["tox-view"]},viewConfig:g,components:[...g.buttons.length>0?[Wb.parts.header({buttons:g.buttons,providers:a})]:[],Wb.parts.pane({})]}))}),OG=(n,s)=>jr.sketch(a=>({dom:{tag:"div",classes:["tox-view-wrap__slot-container"]},components:_G(a,n,s),slotBehaviours:Vp.unnamedEvents([Hn(i=>jr.hideAllSlots(i))])})),tD=n=>Bt(jr.getSlotNames(n),s=>jr.isShowing(n,s)),uF=n=>{const s=n.element;Rt(s,"display","none"),wt(s,"aria-hidden","true")},dF=n=>{const s=n.element;Xt(s,"display"),io(s,"aria-hidden")},DG=n=>({getContainer:te(n)}),nD=(n,s,a)=>{jr.getSlot(n,s).each(i=>{Wb.getPane(i).each(d=>{a(i)(DG(d.element.dom))})})},RG=(n,s)=>nD(n,s,Wb.getOnShow),MG=(n,s)=>nD(n,s,Wb.getOnHide);var eS=mi({factory:(n,s)=>{const g={setViews:(h,C)=>{At.set(h,[OG(C,s.backstage.shared.providers)])},whichView:h=>ue.getCurrent(h).bind(tD),toggleView:(h,C,S,x)=>ue.getCurrent(h).exists(k=>{const D=tD(k),N=D.exists(L=>x===L),F=jr.getSlot(k,x).isSome();return F&&(jr.hideAllSlots(k),N?(uF(h),C()):(S(),dF(h),jr.showSlot(k,x),RG(k,x)),D.each(L=>MG(k,L))),F})};return{uid:n.uid,dom:{tag:"div",classes:["tox-view-wrap"],attributes:{"aria-hidden":"true"},styles:{display:"none"}},components:[],behaviours:De([At.config({}),ue.config({find:h=>{const C=At.contents(h);return Qn(C)}})]),apis:g}},name:"silver.ViewWrapper",configFields:[Te("backstage")],apis:{setViews:(n,s,a)=>n.setViews(s,a),toggleView:(n,s,a,i,d)=>n.toggleView(s,a,i,d),whichView:(n,s)=>n.whichView(s)}});const mF=(n,s,a)=>{let i=!1;const d=h=>{VT(h,".tox-statusbar").each(C=>{lo(C,"display")==="none"&&Ts(C,"aria-hidden")==="true"?(Xt(C,"display"),io(C,"aria-hidden")):(Rt(C,"display","none"),wt(C,"aria-hidden","true"))})},g={getSocket:h=>Us.getPart(h,n,"socket"),setSidebar:(h,C,S)=>{Us.getPart(h,n,"sidebar").each(x=>bG(x,C,S))},toggleSidebar:(h,C)=>{Us.getPart(h,n,"sidebar").each(S=>gX(S,C))},whichSidebar:h=>Us.getPart(h,n,"sidebar").bind(hX).getOrNull(),getHeader:h=>Us.getPart(h,n,"header"),getToolbar:h=>Us.getPart(h,n,"toolbar"),setToolbar:(h,C)=>{Us.getPart(h,n,"toolbar").each(S=>{const x=Ee(C,VE);S.getApis().setGroups(S,x)})},setToolbars:(h,C)=>{Us.getPart(h,n,"multiple-toolbar").each(S=>{const x=Ee(C,k=>Ee(k,VE));cb.setItems(S,x)})},refreshToolbar:h=>{Us.getPart(h,n,"toolbar").each(S=>S.getApis().refresh(S))},toggleToolbarDrawer:h=>{Us.getPart(h,n,"toolbar").each(C=>{eu(C.getApis().toggle,S=>S(C))})},toggleToolbarDrawerWithoutFocusing:h=>{Us.getPart(h,n,"toolbar").each(C=>{eu(C.getApis().toggleWithoutFocusing,S=>S(C))})},isToolbarDrawerToggled:h=>Us.getPart(h,n,"toolbar").bind(C=>T.from(C.getApis().isOpen).map(S=>S(C))).getOr(!1),getThrobber:h=>Us.getPart(h,n,"throbber"),focusToolbar:h=>{Us.getPart(h,n,"toolbar").orThunk(()=>Us.getPart(h,n,"multiple-toolbar")).each(S=>{lt.focusIn(S)})},setMenubar:(h,C)=>{Us.getPart(h,n,"menubar").each(S=>{IE.setMenus(S,C)})},focusMenubar:h=>{Us.getPart(h,n,"menubar").each(C=>{IE.focus(C)})},setViews:(h,C,S)=>{Us.getPart(h,n,"viewWrapper").each(k=>{eS.setViews(k,C)});const x=S==null?void 0:S.toLowerCase();kn(x)&&In(C,x)&&g.toggleView(h,x)},toggleView:(h,C)=>Us.getPart(h,n,"viewWrapper").exists(S=>eS.toggleView(S,()=>g.showMainView(h),()=>g.hideMainView(h),C)),whichView:h=>Us.getPart(h,n,"viewWrapper").bind(eS.whichView).getOrNull(),hideMainView:h=>{i=g.isToolbarDrawerToggled(h),i&&g.toggleToolbarDrawer(h),Us.getPart(h,n,"editorContainer").each(C=>{const S=C.element;d(S),Rt(S,"display","none"),wt(S,"aria-hidden","true")})},showMainView:h=>{i&&g.toggleToolbarDrawer(h),Us.getPart(h,n,"editorContainer").each(C=>{const S=C.element;d(S),Xt(S,"display"),io(S,"aria-hidden")})}};return{uid:n.uid,dom:n.dom,components:s,apis:g,behaviours:n.behaviours}},NG=Bl.optional({factory:IE,name:"menubar",schema:[Te("backstage")]}),PG=n=>n.type===pi.sliding?rl:n.type===pi.floating?xG:UE,$G=Bl.optional({factory:{sketch:n=>cb.sketch({uid:n.uid,dom:n.dom,listBehaviours:De([lt.config({mode:"acyclic",selector:".tox-toolbar"})]),makeItem:()=>UE({type:n.type,uid:Ge("multiple-toolbar-item"),cyclicKeying:!1,initGroups:[],providers:n.providers,onEscape:()=>(n.onEscape(),T.some(!0))}),setupItem:(s,a,i,d)=>{Nl.setGroups(a,i)},shell:!0})},name:"multiple-toolbar",schema:[Te("dom"),Te("onEscape")]}),fF=Bl.optional({factory:{sketch:n=>{const s=PG(n),a={type:n.type,uid:n.uid,onEscape:()=>(n.onEscape(),T.some(!0)),onToggled:(i,d)=>n.onToolbarToggled(d),cyclicKeying:!1,initGroups:[],getSink:n.getSink,providers:n.providers,moreDrawerData:{lazyToolbar:n.lazyToolbar,lazyMoreButton:n.lazyMoreButton,lazyHeader:n.lazyHeader},attributes:n.attributes};return s(a)}},name:"toolbar",schema:[Te("dom"),Te("onEscape"),Te("getSink")]}),FG=Bl.optional({factory:{sketch:nF},name:"header",schema:[Te("dom")]}),IG=Bl.optional({factory:{sketch:fG},name:"promotion",schema:[Te("dom"),Te("promotionLink")]}),LG=Bl.optional({name:"socket",schema:[Te("dom")]}),HG=Bl.optional({factory:{sketch:vG},name:"sidebar",schema:[Te("dom")]}),zG=Bl.optional({factory:{sketch:rF},name:"throbber",schema:[Te("dom")]}),VG=Bl.optional({factory:eS,name:"viewWrapper",schema:[Te("backstage")]}),UG=n=>({uid:n.uid,dom:{tag:"div",classes:["tox-editor-container"]},components:n.components}),ZG=Bl.optional({factory:{sketch:UG},name:"editorContainer",schema:[]});var jn=xa({name:"OuterContainer",factory:mF,configFields:[Te("dom"),Te("behaviours")],partFields:[FG,NG,fF,$G,LG,HG,IG,zG,VG,ZG],apis:{getSocket:(n,s)=>n.getSocket(s),setSidebar:(n,s,a,i)=>{n.setSidebar(s,a,i)},toggleSidebar:(n,s,a)=>{n.toggleSidebar(s,a)},whichSidebar:(n,s)=>n.whichSidebar(s),getHeader:(n,s)=>n.getHeader(s),getToolbar:(n,s)=>n.getToolbar(s),setToolbar:(n,s,a)=>{n.setToolbar(s,a)},setToolbars:(n,s,a)=>{n.setToolbars(s,a)},refreshToolbar:(n,s)=>n.refreshToolbar(s),toggleToolbarDrawer:(n,s)=>{n.toggleToolbarDrawer(s)},toggleToolbarDrawerWithoutFocusing:(n,s)=>{n.toggleToolbarDrawerWithoutFocusing(s)},isToolbarDrawerToggled:(n,s)=>n.isToolbarDrawerToggled(s),getThrobber:(n,s)=>n.getThrobber(s),setMenubar:(n,s,a)=>{n.setMenubar(s,a)},focusMenubar:(n,s)=>{n.focusMenubar(s)},focusToolbar:(n,s)=>{n.focusToolbar(s)},setViews:(n,s,a,i)=>{n.setViews(s,a,i)},toggleView:(n,s,a)=>n.toggleView(s,a),whichView:(n,s)=>n.whichView(s)}});const WG="file edit view insert format tools table help",WE={file:{title:"File",items:"newdocument restoredraft | preview | importword exportpdf exportword | export print | deleteallconversations"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall | searchreplace"},view:{title:"View",items:"code suggestededits revisionhistory | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments"},insert:{title:"Insert",items:"image video link media addcomment pageembed inserttemplate codesample inserttable accordion math | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents footnotes | mergetags | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat"},tools:{title:"Tools",items:"tinymceai-chat tinymceai-review tinymceai-quickactions aidialog aishortcuts | spellchecker spellcheckerlanguage | autocorrect capitalization | a11ycheck code typography wordcount addtemplate"},table:{title:"Table",items:"inserttable | cell row column | advtablesort | tableprops deletetable"},help:{title:"Help",items:"help"}},jG=(n,s,a)=>{const i=I7(a).split(/[ ,]/);return{text:n.title,getItems:()=>ie(n.items,d=>{const g=d.toLowerCase();return g.trim().length===0?[]:Br(i,h=>h===g)?[]:g==="separator"||g==="|"?[{type:"separator"}]:s.menuItems[g]?[s.menuItems[g]]:[]})}},oD=n=>n.split(" "),sD=(n,s)=>{const a={...WE,...s.menus},i=Bn(s.menus).length>0,d=s.menubar===void 0||s.menubar===!0?oD(WG):oD(s.menubar===!1?"":s.menubar),g=oo(d,C=>{const S=In(WE,C);return i?S||mt(s.menus,C).exists(x=>In(x,"items")):S}),h=Ee(g,C=>{const S=a[C];return jG({title:S.title,items:oD(S.items)},s,n)});return oo(h,C=>{const S=x=>kn(x)||x.type!=="separator";return C.getItems().length>0&&Br(C.getItems(),S)})},gF=n=>{const s=()=>{n._skinLoaded=!0,HN(n)};return()=>{n.initialized?s():n.on("init",s)}},GG=(n,s)=>()=>qO(n,{message:s}),qG=n=>{const s=Q7(n);return s?T.from(s):T.none()},hF=(n,s,a)=>(n.on("remove",()=>a.unload(s)),a.load(s)),pF=(n,s,a,i)=>(n.on("remove",()=>i.unloadRawCss(s)),i.loadRawCss(s,a)),KG=(n,s)=>"ui/"+n+"/"+s,YG=n=>T.from(tinymce.Resource.get(n)).filter(kn),jE=(n,s,a="")=>{const i=qG(n).map(g=>KG(g,`${s}.css`)),d=i.bind(YG);return xi(i,d,(g,h)=>({_kind:"load-raw",key:g,css:h})).getOrThunk(()=>{const g=n.editorManager.suffix;return{_kind:"load-stylesheet",url:a+`/${s}${g}.css`}})},GE=(n,s)=>{const a=n.ui.styleSheetLoader,i=jE(n,"skin",s);switch(i._kind){case"load-raw":const{key:d,css:g}=i;return pF(n,d,g,a),Promise.resolve();case"load-stylesheet":const{url:h}=i;return hF(n,h,a);default:return Promise.resolve()}},rD=(n,s)=>{if(Oi(Le.fromDom(n.getElement()))){const i=bb.DOM.styleSheetLoader,d=jE(n,"skin.shadowdom",s);switch(d._kind){case"load-raw":const{key:g,css:h}=d;return pF(n,g,h,i),Promise.resolve();case"load-stylesheet":const{url:C}=d;return hF(n,C,i);default:return Promise.resolve()}}else return Promise.resolve()},XG=(n,s,a)=>{const d=jE(n,s?"content.inline":"content",a);if(!a)return Promise.resolve();switch(d._kind){case"load-raw":const{key:g}=d;return n.contentCSS.push(g),Promise.resolve();case"load-stylesheet":const{url:h}=d;return n.contentCSS.push(h),Promise.resolve();default:return Promise.resolve()}},JG=async(n,s)=>{const a=eB(s);if(await XG(s,n,a),!R5(s)&&kn(a))return Promise.all([GE(s,a),rD(s,a)]).then()},aD=(n,s)=>JG(n,s).then(gF(s),GG(s,"Skin could not be loaded")),QG=on(aD,!1),eq=on(aD,!0),bF=n=>({isEnabled:()=>!Je.isDisabled(n),setEnabled:s=>Je.set(n,!s),setText:s=>gt(n,ka,{text:s}),setIcon:s=>gt(n,ff,{icon:s})}),vF=n=>({setActive:s=>{tn.set(n,s)},isActive:()=>tn.isOn(n),isEnabled:()=>!Je.isDisabled(n),setEnabled:s=>Je.set(n,!s),setText:s=>gt(n,ka,{text:s}),setIcon:s=>gt(n,ff,{icon:s})}),tq=(n,s)=>n.map(a=>({"aria-label":s.translate(a)})).getOr({}),nq=Ge("focus-button"),tS=(n,s,a,i,d,g,h)=>{const C=s.map(x=>En(ej(x,"tox-tbtn",d))),S=n.map(x=>En(mf(x,d.icons)));return{dom:{tag:"button",classes:["tox-tbtn"].concat(s.isSome()?["tox-tbtn--select"]:[]),attributes:{...tq(a,d),...Uo(h)?{"data-mce-name":h}:{}}},components:Mb([S.map(x=>x.asSpec()),C.map(x=>x.asSpec())]),eventOrder:{[zr()]:["focusing","alloy.base.behaviour",df],[zi()]:[df,"toolbar-group-button-events"],[wl()]:[df,"toolbar-group-button-events","tooltipping"]},buttonBehaviours:De([Iu.toolbarButton(()=>d.checkUiComponentContext(g).shouldDisable),is(()=>d.checkUiComponentContext(g)),Nt(df,[Hn((x,k)=>D6(x)),be(ka,(x,k)=>{C.bind(D=>D.getOpt(x)).each(D=>{At.set(D,[_n(d.translate(k.event.text))])})}),be(ff,(x,k)=>{S.bind(D=>D.getOpt(x)).each(D=>{At.set(D,[mf(k.event.icon,d.icons)])})}),be(zr(),(x,k)=>{k.event.prevent(),Gt(x,nq)})])].concat(i.getOr([])))}},oq=(n,s,a,i,d)=>{const g=s.shared,h=ct(q),C={toolbarButtonBehaviours:[],getApi:bF,onSetup:n.onSetup},S=[Nt("toolbar-group-button-events",[Lu(C,h),Up(C,h)]),...n.tooltip.map(x=>Yn.config(s.shared.providers.tooltips.getConfig({tooltipText:s.shared.providers.translate(x)}))).toArray()];return jd.sketch({lazySink:g.getSink,fetch:()=>Io.nu(x=>{x(Ee(a(n.items),VE))}),markers:{toggledClass:"tox-tbtn--enabled"},parts:{button:tS(n.icon,n.text,n.tooltip,T.some(S),g.providers,n.context,d),toolbar:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:i}}}})},yF=(n,s,a,i)=>{var h;const d=ct(q),g=tS(n.icon,n.text,n.tooltip,T.none(),a,n.context,i);return br.sketch({dom:g.dom,components:g.components,eventOrder:qP,buttonBehaviours:{...De([Nt("toolbar-button-events",[QW({onAction:n.onAction,getApi:s.getApi}),Lu(s,d),Up(s,d)]),...n.tooltip.map(C=>Yn.config(a.tooltips.getConfig({tooltipText:a.translate(C)+n.shortcut.map(S=>` (${PO(S)})`).getOr("")}))).toArray(),Iu.toolbarButton(()=>!n.enabled||a.checkUiComponentContext(n.context).shouldDisable),is(()=>a.checkUiComponentContext(n.context))].concat(s.toolbarButtonBehaviours)),[df]:(h=g.buttonBehaviours)==null?void 0:h[df]}})},CF=(n,s,a)=>cD(n,s,[],a),cD=(n,s,a,i)=>yF(n,{toolbarButtonBehaviours:a.length>0?[Nt("toolbarButtonWith",a)]:[],getApi:bF,onSetup:n.onSetup},s,i),SF=(n,s,a)=>wF(n,s,[],a),wF=(n,s,a,i)=>yF(n,{toolbarButtonBehaviours:[At.config({}),tn.config({toggleClass:"tox-tbtn--enabled",aria:{mode:"pressed"},toggleOnExecute:!1})].concat(a.length>0?[Nt("toolbarToggleButtonWith",a)]:[]),getApi:vF,onSetup:n.onSetup},s,i),xF=(n,s,a)=>i=>Io.nu(d=>s.fetch(d)).map(d=>T.from(d6(so(IC(Ge("menu-value"),d,g=>{s.onItemAction(n(i),g)},s.columns,s.presets,Ll.CLOSE_ON_EXECUTE,s.select.getOr(Fn),a),{movement:Ib(s.columns,s.presets),menuBehaviours:Vp.unnamedEvents(s.columns!=="auto"?[]:[Hn((g,h)=>{MO(g,4,kB(s.presets)).each(({numRows:C,numColumns:S})=>{lt.setGridSize(g,C,S)})})])})))),sq=(n,s,a)=>i=>{const d=i.getSystem(),g=i.element,h=()=>{const S=qo(g,"tox-split-button__chevron"),x=S?Da(g).bind(D=>d.getByDom(D).toOptional()):T.some(i),k=S?T.some(i):$v(g).bind(D=>d.getByDom(D).toOptional().filter(N=>qo(N.element,"tox-split-button__chevron")));return{mainOpt:x,chevronOpt:k}},C=S=>{const{mainOpt:x,chevronOpt:k}=h();x.each(S),k.each(S)};return{isEnabled:()=>{const{mainOpt:S}=h();return S.exists(x=>!Je.isDisabled(x))},setEnabled:S=>C(x=>Je.set(x,!S)),setText:S=>{const{mainOpt:x}=h();x.each(k=>gt(k,ka,{text:S}))},setIcon:S=>{const{mainOpt:x}=h();x.each(k=>gt(k,ff,{icon:S}))},setIconFill:(S,x)=>C(k=>{Nn(k.element,`svg path[class="${S}"], rect[class="${S}"]`).each(D=>{wt(D,"fill",x)})}),isActive:()=>{const{mainOpt:S}=h();return S.exists(x=>tn.isOn(x))},setActive:S=>{const{mainOpt:x}=h();x.each(k=>tn.set(k,S))},setTooltip:S=>{n.set(S);const{mainOpt:x,chevronOpt:k}=h();x.each(N=>wt(N.element,"aria-label",s.providers.translate(S)));const D=a.chevronTooltip.map(N=>s.providers.translate(N)).getOr(s.providers.translate(S));k.each(N=>wt(N.element,"aria-label",D))}}},rq=(n,s,a)=>{const i=ct(q),d=ct(n.tooltip.getOr("")),g=sq(d,s,n),h=Ge("tox-split-menu"),C=ct(!1),S=()=>({"aria-haspopup":"menu","aria-expanded":String(C.get()),"aria-controls":h}),x=()=>n.tooltip.map(W=>s.providers.translate(W)).getOr(s.providers.translate("Text color")),k=()=>n.chevronTooltip.map(W=>s.providers.translate(W)).getOrThunk(()=>{const W=x();return s.providers.translate(["{0} menu",W])}),D=(W,j)=>{C.set(W),wt(j.element,"aria-expanded",String(W))},N=Tc.sketch({dom:{tag:"button",classes:["tox-tbtn","tox-split-button__chevron"],innerHtml:_3("chevron-down",s.providers.icons),attributes:{"aria-label":k(),...Uo(a)?{"data-mce-name":a+"-chevron"}:{},...S()}},components:[],toggleClass:"tox-tbtn--enabled",dropdownBehaviours:De([Nt("split-dropdown-events",[Hn((W,j)=>D6(W)),Lu({getApi:g,onSetup:n.onSetup},i),be("alloy-dropdown-open",W=>D(!0,W)),be("alloy-dropdown-close",W=>D(!1,W))]),Iu.toolbarButton(()=>s.providers.checkUiComponentContext(n.context).shouldDisable),is(()=>s.providers.checkUiComponentContext(n.context)),Jy.config({}),Yn.config(s.providers.tooltips.getConfig({tooltipText:k(),onShow:W=>{if(d.get()!==n.tooltip.getOr("")){const j=n.chevronTooltip.map(V=>s.providers.translate(V)).getOr(`${s.providers.translate(d.get())} menu`);Yn.setComponents(W,s.providers.tooltips.getComponents({tooltipText:j}))}}}))]),lazySink:s.getSink,fetch:xF(g,n,s.providers),getHotspot:W=>Da(W.element).bind(j=>W.getSystem().getByDom(j).toOptional()),onOpen:(W,j,V)=>{bn.highlightBy(V,K=>qo(K.element,"tox-collection__item--active")),bn.getHighlighted(V).each(lt.focusIn)},parts:{menu:{...wb(!1,n.columns,n.presets),dom:{...wb(!1,n.columns,n.presets).dom,tag:"div",attributes:{id:h}}}}}),F=tS(n.icon,n.text,T.none(),T.some([tn.config({toggleClass:"tox-tbtn--enabled",aria:n.presets==="color"?{mode:"none"}:{mode:"pressed"},toggleOnExecute:!1}),...n.tooltip.isSome()?[Yn.config(s.providers.tooltips.getConfig({tooltipText:s.providers.translate(n.tooltip.getOr("")),onShow:W=>{if(d.get()!==n.tooltip.getOr("")){const j=s.providers.translate(d.get());Yn.setComponents(W,s.providers.tooltips.getComponents({tooltipText:j}))}}}))]:[]]),s.providers,n.context,a);return[br.sketch({dom:{...F.dom,classes:["tox-tbtn","tox-split-button__main"].concat(n.text.isSome()?["tox-tbtn--select"]:[]),attributes:{"aria-label":x(),...Uo(a)?{"data-mce-name":a}:{}}},components:F.components,eventOrder:F.eventOrder,buttonBehaviours:F.buttonBehaviours,action:W=>{if(n.onAction){const j=g(W);j.isEnabled()&&n.onAction(j)}}}),N]},aq=".tox-toolbar-slider__input,.tox-toolbar-textfield",iD=n=>{Ao.getContent(n).each(s=>{Nn(s.element,aq).fold(()=>lt.focusIn(s),Ps)})},cq=n=>rs(n.element).each(s=>{Yc(s,'[tabindex="-1"]').each(a=>{Ps(a)})}),EF=Ge("forward-slide"),qE=Ge("backward-slide"),nS=Ge("change-slide-event"),oS="tox-pop--resizing",iq=n=>{const s=ct([]);return{sketch:Ao.sketch({dom:{tag:"div",classes:["tox-pop"]},fireDismissalEventInstead:{event:"doNotDismissYet"},onShow:i=>{s.set([]),Ao.getContent(i).each(d=>{Xt(d.element,"visibility")}),wo(i.element,oS),Xt(i.element,"width")},onHide:()=>{s.set([]),n.onHide()},inlineBehaviours:De([Nt("context-toolbar-events",[sa(W1(),(i,d)=>{d.event.raw.propertyName==="width"&&(wo(i.element,oS),Xt(i.element,"width"))}),be(nS,(i,d)=>{const g=i.element;Xt(g,"width");const h=wr(g),C=rs(i.element).isSome();Xt(g,"left"),Xt(g,"right"),Xt(g,"max-width"),Ao.setContent(i,d.event.contents),Un(g,oS);const S=wr(g);Rt(g,"transition","none"),Ao.reposition(i),Xt(g,"transition"),Rt(g,"width",h+"px"),d.event.focus.fold(()=>{C&&iD(i)},x=>{$s(ss(i.element)).fold(()=>Ps(x),k=>{Vn(k,x)||n.focusElement(x)})}),setTimeout(()=>{Rt(i.element,"width",S+"px")},0)}),be(EF,(i,d)=>{Ao.getContent(i).each(g=>{s.set(s.get().concat([{bar:g,focus:$s(ss(i.element))}]))}),gt(i,nS,{contents:d.event.forwardContents,focus:T.none()})}),be(qE,(i,d)=>{n.onBack(),mm(s.get()).each(g=>{s.set(s.get().slice(0,s.get().length-1)),gt(i,nS,{contents:Qo(g.bar),focus:g.focus})})})]),lt.config({mode:"special",onEscape:i=>mm(s.get()).fold(()=>n.onEscape(),d=>(Gt(i,qE),T.some(!0)))})]),lazySink:()=>kt.value(n.sink)}),inSubtoolbar:()=>s.get().length>0}},lq=(n,s)=>{const a=$a(yO({type:"button",icon:"chevron-left",tooltip:"Back",onAction:q}));return cD(a,s.shared.providers,[be(yE,i=>{Gt(i,qE)})])},jb=(n,s,a)=>Qa(a)?n.translate(s):n.translate([s,n.translate(a)]),uq=(n,s)=>{const a=(h,C,S,x)=>{const k=n.shared.providers.translate(h.title);if(h.type==="separator")return T.some({type:"separator",text:k});if(h.type==="submenu"){const D=ie(h.getStyleItems(),N=>i(N,C,x));return C===0&&D.length<=0?T.none():T.some({type:"nestedmenuitem",text:k,enabled:D.length>0,getSubmenuItems:()=>ie(h.getStyleItems(),N=>i(N,C,x))})}else return T.some({type:"togglemenuitem",text:k,icon:h.icon,active:h.isSelected(x),enabled:!S,onAction:s.onAction(h),...h.getStylePreview().fold(()=>({}),D=>({meta:{style:D}}))})},i=(h,C,S)=>{const x=h.type==="formatter"&&s.isInvalid(h);return C===0?x?[]:a(h,C,!1,S).toArray():a(h,C,x,S).toArray()},d=h=>{const C=s.getCurrentValue(),S=s.shouldHide?0:1;return ie(h,x=>i(x,S,C))};return{validateItems:d,getFetch:(h,C)=>(S,x)=>{const k=C(),D=d(k),N=zb(D,Ll.CLOSE_ON_EXECUTE,h,{isHorizontalMenu:!1,search:T.none()});x(N)}}},Gb=(n,s)=>{const a=s.dataset,i=a.type==="basic"?()=>Ee(a.data,d=>N$(d,s.isSelectedFor,s.getPreviewFor)):a.getData;return{items:uq(n,s),getStyleItems:i}},sS=(n,s,a,i,d,g)=>{const{items:h,getStyleItems:C}=Gb(s,a),S=ct(a.tooltip),x=D=>({getComponent:te(D),setTooltip:N=>{const F=s.shared.providers.translate(N);wt(D.element,"aria-label",F),S.set(N)}}),k=D=>{const N=F=>D.setTooltip(jb(n,i(F.value),F.value));return n.on(d,N),sE(Zp(n,"NodeChange",F=>{const L=F.getComponent();a.updateText(L),Je.set(F.getComponent(),!n.selection.isEditable()||C().length===0)})(D),()=>n.off(d,N))};return M6({context:"mode:design",text:a.icon.isSome()?T.none():a.text,icon:a.icon,ariaLabel:T.some(a.tooltip),tooltip:T.none(),role:T.none(),fetch:h.getFetch(s,C),onSetup:k,getApi:x,columns:1,presets:"normal",classes:a.icon.isSome()?[]:["bespoke"],dropdownBehaviours:[Yn.config({...s.shared.providers.tooltips.getConfig({tooltipText:s.shared.providers.translate(a.tooltip),onShow:D=>{if(a.tooltip!==S.get()){const N=s.shared.providers.translate(S.get());Yn.setComponents(D,s.shared.providers.tooltips.getComponents({tooltipText:N}))}}})})]},"tox-tbtn",s.shared,g)},dq=n=>Ee(n,s=>{let a=s,i=s;const d=s.split("=");return d.length>1&&(a=d[0],i=d[1]),{title:a,format:i}}),mq=n=>({type:"basic",data:n});var qb;(function(n){n[n.SemiColon=0]="SemiColon",n[n.Space=1]="Space"})(qb||(qb={}));const TF=(n,s)=>s===qb.SemiColon?n.replace(/;$/,"").split(";"):n.split(" "),Kb=(n,s,a)=>{const i=n.options.get(s);return{type:"basic",data:dq(TF(i,a))}},lD="Align",uD=te("Alignment {0}"),gf="left",KE=[{title:"Left",icon:"align-left",format:"alignleft",command:"JustifyLeft"},{title:"Center",icon:"align-center",format:"aligncenter",command:"JustifyCenter"},{title:"Right",icon:"align-right",format:"alignright",command:"JustifyRight"},{title:"Justify",icon:"align-justify",format:"alignjustify",command:"JustifyFull"}],kF=n=>{const s=()=>Bt(KE,C=>n.formatter.match(C.format)),a=C=>()=>n.formatter.match(C),i=C=>T.none,d=C=>{const x=s().fold(te(gf),k=>k.title.toLowerCase());gt(C,ff,{icon:`align-${x}`}),rW(n,{value:x})},g=mq(KE),h=C=>()=>Bt(KE,S=>S.format===C.format).each(S=>n.execCommand(S.command));return{tooltip:jb(n,uD(),gf),text:T.none(),icon:T.some("align-left"),isSelectedFor:a,getCurrentValue:T.none,getPreviewFor:i,onAction:h,updateText:d,dataset:g,shouldHide:!1,isInvalid:C=>!n.formatter.canApply(C.format)}},fq=(n,s)=>sS(n,s,kF(n),uD,"AlignTextUpdate","align"),gq=(n,s)=>{const a=Gb(s,kF(n));n.ui.registry.addNestedMenuItem("align",{text:s.shared.providers.translate(lD),onSetup:aa(n),getSubmenuItems:()=>a.items.validateItems(a.getStyleItems())})},AF=(n,s)=>{const a=s(),i=Ee(a,d=>d.format);return T.from(n.formatter.closest(i)).bind(d=>Bt(a,g=>g.format===d))},hq="Blocks",_F=te("Block {0}"),dD="Paragraph",mD=n=>{const s=g=>()=>n.formatter.match(g),a=g=>()=>{const h=n.formatter.get(g);return h?T.some({tag:h.length>0&&(h[0].inline||h[0].block)||"div",styles:n.dom.parseStyle(n.formatter.getCssText(g))}):T.none()},i=g=>{const C=AF(n,()=>d.data).fold(te(dD),S=>S.title);gt(g,ka,{text:C}),KO(n,{value:C})},d=Kb(n,"block_formats",qb.SemiColon);return{tooltip:jb(n,_F(),dD),text:T.some(dD),icon:T.none(),isSelectedFor:s,getCurrentValue:T.none,getPreviewFor:a,onAction:XO(n),updateText:i,dataset:d,shouldHide:!1,isInvalid:g=>!n.formatter.canApply(g.format)}},pq=(n,s)=>sS(n,s,mD(n),_F,"BlocksTextUpdate","blocks"),bq=(n,s)=>{const a=Gb(s,mD(n));n.ui.registry.addNestedMenuItem("blocks",{text:hq,onSetup:aa(n),getSubmenuItems:()=>a.items.validateItems(a.getStyleItems())})},fD="Fonts",OF=te("Font {0}"),gD="System Font",vq=["-apple-system","Segoe UI","Roboto","Helvetica Neue","sans-serif"],DF=n=>{const s=n.split(/\s*,\s*/);return Ee(s,a=>a.replace(/^['"]+|['"]+$/g,""))},RF=(n,s)=>s.length>0&&Gu(s,a=>n.indexOf(a.toLowerCase())>-1),yq=(n,s)=>{if(n.indexOf("-apple-system")===0||s.length>0){const a=DF(n.toLowerCase());return RF(a,vq)||RF(a,s)}else return!1},hD=n=>{const s=()=>{const S=L=>L?DF(L)[0]:"",x=n.queryCommandValue("FontName"),k=C.data,D=x?x.toLowerCase():"",N=J7(n);return{matchOpt:Bt(k,L=>{const W=L.format;return W.toLowerCase()===D||S(W).toLowerCase()===S(D).toLowerCase()}).orThunk(()=>Ja(yq(D,N),{title:gD,format:D})),font:x}},a=S=>x=>x.exists(k=>k.format===S),i=()=>{const{matchOpt:S}=s();return S},d=S=>()=>T.some({tag:"div",styles:S.indexOf("dings")===-1?{"font-family":S}:{}}),g=S=>()=>{n.undoManager.transact(()=>{n.focus(),n.execCommand("FontName",!1,S.format)})},h=S=>{const{matchOpt:x,font:k}=s(),D=x.fold(te(k),N=>N.title);gt(S,ka,{text:D}),jN(n,{value:D})},C=Kb(n,"font_family_formats",qb.SemiColon);return{tooltip:jb(n,OF(),gD),text:T.some(gD),icon:T.none(),isSelectedFor:a,getCurrentValue:i,getPreviewFor:d,onAction:g,updateText:h,dataset:C,shouldHide:!1,isInvalid:Fn}},MF=(n,s)=>sS(n,s,hD(n),OF,"FontFamilyTextUpdate","fontfamily"),BF=(n,s)=>{const a=Gb(s,hD(n));n.ui.registry.addNestedMenuItem("fontfamily",{text:s.shared.providers.translate(fD),onSetup:aa(n),getSubmenuItems:()=>a.items.validateItems(a.getStyleItems())})};var YE=tinymce.util.Tools.resolve("tinymce.util.VK");const NF=(n,s,a,i)=>{let d=T.none();const g=Q=>Q.map(le=>je.getValue(le)).getOr(""),h=Zp(n,"NodeChange SwitchMode DisabledStateChange",Q=>{const le=Q.getComponent();d=T.some(le),a.updateInputValue(le),Je.set(le,!n.selection.isEditable()||lC(n))}),C=Q=>({getComponent:te(Q)}),S=ct(q),x=Ge("custom-number-input-events"),k=(Q,le,me)=>{const Fe=g(d),ze=a.getNewValue(Fe,Q),ve=Fe.length-`${ze}`.length,ke=d.map(tt=>tt.element.dom.selectionStart-ve),ht=d.map(tt=>tt.element.dom.selectionEnd-ve);a.onAction(ze,me),d.each(tt=>{je.setValue(tt,ze),le&&(ke.each(qt=>tt.element.dom.selectionStart=qt),ht.each(qt=>tt.element.dom.selectionEnd=qt))})},D=(Q,le)=>k((me,Fe)=>me-Fe,Q,le),N=(Q,le)=>k((me,Fe)=>me+Fe,Q,le),F=Q=>hl(Q.element).fold(T.none,le=>(Ps(le),T.some(!0))),L=Q=>qc(Q.element)?(sn(Q.element).each(le=>Ps(le)),T.some(!0)):T.none(),W=(Q,le,me,Fe)=>{const ze=ct(q),ve=s.shared.providers.translate(me),ke=Ge("altExecuting"),ht=Zp(n,"NodeChange SwitchMode DisabledStateChange",qt=>{Je.set(qt.getComponent(),!n.selection.isEditable()||lC(n))}),tt=qt=>{Je.isDisabled(qt)||Q(!0)};return br.sketch({dom:{tag:"button",attributes:{"aria-label":ve,"data-mce-name":le},classes:Fe.concat(le)},components:[CE(le,s.shared.providers.icons)],buttonBehaviours:De([Je.config({}),Yn.config(s.shared.providers.tooltips.getConfig({tooltipText:ve})),Nt(ke,[Lu({onSetup:ht,getApi:C},ze),Up({getApi:C},ze),be(Os(),(qt,Ct)=>{(Ct.event.raw.keyCode===YE.SPACEBAR||Ct.event.raw.keyCode===YE.ENTER)&&(Je.isDisabled(qt)||Q(!1))}),be(gu(),tt),be(gc(),tt)])]),eventOrder:{[Os()]:[ke,"keying"],[gu()]:[ke,"alloy.base.behaviour"],[gc()]:[ke,"alloy.base.behaviour"],[zi()]:["alloy.base.behaviour",ke,"tooltipping"],[wl()]:[ke,"tooltipping"]}})},j=En(W(Q=>D(!1,Q),"minus","Decrease font size",[])),V=En(W(Q=>N(!1,Q),"plus","Increase font size",[])),K=En({dom:{tag:"div",classes:["tox-input-wrapper"]},components:[rf.sketch({inputBehaviours:De([Je.config({}),Nt(x,[Lu({onSetup:h,getApi:C},S),Up({getApi:C},S)]),Nt("input-update-display-text",[be(ka,(Q,le)=>{je.setValue(Q,le.event.text)}),be(Z1(),Q=>{a.onAction(je.getValue(Q))}),be(Dm(),Q=>{a.onAction(je.getValue(Q))})]),lt.config({mode:"special",onEnter:Q=>(k(Qt,!0,!0),T.some(!0)),onEscape:F,onUp:Q=>(N(!0,!1),T.some(!0)),onDown:Q=>(D(!0,!1),T.some(!0)),onLeft:(Q,le)=>(le.cut(),T.none()),onRight:(Q,le)=>(le.cut(),T.none())})])})],behaviours:De([Pt.config({}),lt.config({mode:"special",onEnter:L,onSpace:L,onEscape:F}),Nt("input-wrapper-events",[be(hc(),Q=>{Qe([j,V],le=>{const me=Le.fromDom(le.get(Q).element.dom);qc(me)&&Do(me)})})])])});return{dom:{tag:"div",classes:["tox-number-input"],attributes:{...Uo(i)?{"data-mce-name":i}:{}}},components:[j.asSpec(),K.asSpec(),V.asSpec()],behaviours:De([Pt.config({}),lt.config({mode:"flow",focusInside:Bm.OnEnterOrSpaceMode,cycles:!1,selector:"button, .tox-input-wrapper",onEscape:Q=>qc(Q.element)?T.none():(Ps(Q.element),T.some(!0))})])}},Cq="Font sizes",PF=te("Font size {0}"),$F="12pt",FF={"8pt":"1","10pt":"2","12pt":"3","14pt":"4","18pt":"5","24pt":"6","36pt":"7"},Sq={"xx-small":"7pt","x-small":"8pt",small:"10pt",medium:"12pt",large:"14pt","x-large":"18pt","xx-large":"24pt"},IF=(n,s)=>{const a=Math.pow(10,s);return Math.round(n*a)/a},wq=(n,s)=>/[0-9.]+px$/.test(n)?IF(parseInt(n,10)*72/96,s||0)+"pt":mt(Sq,n).getOr(n),xq=n=>mt(FF,n).getOr(""),LF=n=>{const s=()=>{let S=T.none();const x=C.data,k=n.queryCommandValue("FontSize");if(k)for(let D=3;S.isNone()&&D>=0;D--){const N=wq(k,D),F=xq(N);S=Bt(x,L=>L.format===k||L.format===N||L.format===F)}return{matchOpt:S,size:k}},a=S=>x=>x.exists(k=>k.format===S),i=()=>{const{matchOpt:S}=s();return S},d=te(T.none),g=S=>()=>{n.undoManager.transact(()=>{n.focus(),n.execCommand("FontSize",!1,S.format)})},h=S=>{const{matchOpt:x,size:k}=s(),D=x.fold(te(k),N=>N.title);gt(S,ka,{text:D}),WN(n,{value:D})},C=Kb(n,"font_size_formats",qb.Space);return{tooltip:jb(n,PF(),$F),text:T.some($F),icon:T.none(),isSelectedFor:a,getPreviewFor:d,getCurrentValue:i,onAction:g,updateText:h,dataset:C,shouldHide:!1,isInvalid:Fn}},Eq=(n,s)=>sS(n,s,LF(n),PF,"FontSizeTextUpdate","fontsize"),Tq=n=>{const s={step:1};return{em:{step:.1},cm:{step:.1},in:{step:.1},pc:{step:.1},ch:{step:.1},rem:{step:.1}}[n]??s},kq=16,Aq=n=>n>=0,HF=n=>{const s=()=>n.queryCommandValue("FontSize");return{updateInputValue:i=>gt(i,ka,{text:s()}),onAction:(i,d)=>n.execCommand("FontSize",!1,i,{skip_focus:!d}),getNewValue:(i,d)=>{N1(i,["unsupportedLength","empty"]);const g=s(),h=N1(i,["unsupportedLength","empty"]).or(N1(g,["unsupportedLength","empty"])),C=h.map(N=>N.value).getOr(kq),S=Z7(n),x=h.map(N=>N.unit).filter(N=>N!=="").getOr(S),k=d(C,Tq(x).step),D=`${Aq(k)?k:C}${x}`;return D!==g&&em(n,{value:D}),D}}},_q=(n,s)=>NF(n,s,HF(n),"fontsizeinput"),Oq=(n,s)=>{const a=Gb(s,LF(n));n.ui.registry.addNestedMenuItem("fontsize",{text:Cq,onSetup:aa(n),getSubmenuItems:()=>a.items.validateItems(a.getStyleItems())})},Dq="Formats",zF=n=>Qa(n)?"Formats":"Format {0}",VF=(n,s)=>{const a="Formats",i=h=>()=>n.formatter.match(h),d=h=>()=>{const C=n.formatter.get(h);return C!==void 0?T.some({tag:C.length>0&&(C[0].inline||C[0].block)||"div",styles:n.dom.parseStyle(n.formatter.getCssText(h))}):T.none()},g=h=>{const C=D=>_$(D)?ie(D.items,C):O$(D)?[{title:D.title,format:D.format}]:[],S=ie(B$(n),C),k=AF(n,te(S)).fold(te({title:a,tooltipLabel:""}),D=>({title:D.title,tooltipLabel:D.title}));gt(h,ka,{text:k.title}),sW(n,{value:k.tooltipLabel})};return{tooltip:jb(n,zF(""),""),text:T.some(a),icon:T.none(),isSelectedFor:i,getCurrentValue:T.none,getPreviewFor:d,onAction:XO(n),updateText:g,shouldHide:$7(n),isInvalid:h=>!n.formatter.canApply(h.format),dataset:s}},Rq=(n,s)=>{const a={type:"advanced",...s.styles};return sS(n,s,VF(n,a),zF,"StylesTextUpdate","styles")},Mq=(n,s)=>{const a={type:"advanced",...s.styles},i=Gb(s,VF(n,a));n.ui.registry.addNestedMenuItem("styles",{text:Dq,onSetup:aa(n,()=>i.getStyleItems().length>0),getSubmenuItems:()=>i.items.validateItems(i.getStyleItems())})},UF=[{name:"history",items:["undo","redo"]},{name:"ai",items:["tinymceai-chat","tinymceai-review","tinymceai-quickactions","aidialog","aishortcuts"]},{name:"styles",items:["styles"]},{name:"formatting",items:["bold","italic"]},{name:"alignment",items:["alignleft","aligncenter","alignright","alignjustify"]},{name:"indentation",items:["outdent","indent"]},{name:"permanent pen",items:["permanentpen"]},{name:"comments",items:["addcomment"]}],rS=(n,s)=>(a,i,d,g)=>{const h=n(a).mapError(C=>Am(C)).getOrDie();return s(h,i,d,g)},Bq={button:rS(yO,(n,s,a,i)=>CF(n,s.shared.providers,i)),togglebutton:rS(SO,(n,s,a,i)=>SF(n,s.shared.providers,i)),menubutton:rS(eN,(n,s,a,i)=>Ub(n,"tox-tbtn",s,T.none(),!1,i)),splitbutton:rS(NZ,(n,s,a,i)=>rq(n,s.shared,i)),grouptoolbarbutton:rS(CN,(n,s,a,i)=>{const d=a.ui.registry.getAll().buttons,g=C=>hf(a,{buttons:d,toolbar:C,allowToolbarGroups:!1},s,T.none()),h={[m0]:s.shared.header.isPositionedAtTop()?ur.TopToBottom:ur.BottomToTop};switch(Ap(a)){case pi.floating:return oq(n,s,g,h,i);default:throw new Error("Toolbar groups are only supported when using floating toolbar mode")}})},ZF=(n,s,a,i)=>mt(Bq,n.type).fold(()=>(console.error("skipping button defined by",n),T.none()),d=>T.some(d(n,s,a,i))),WF={styles:Rq,fontsize:Eq,fontsizeinput:_q,fontfamily:MF,blocks:pq,align:fq,navigateback:lq},jF=n=>{const s=Ee(UF,a=>{const i=oo(a.items,d=>In(n,d)||In(WF,d));return{name:a.name,items:i}});return oo(s,a=>a.items.length>0)},GF=n=>{const s=n.split("|");return Ee(s,a=>({items:a.trim().split(" ")}))},Nq=n=>Yl(n,s=>(In(s,"name")||In(s,"label"))&&In(s,"items")),Pq=n=>{const s=n.toolbar,a=n.buttons;return s===!1?[]:s===void 0||s===!0?jF(a):kn(s)?GF(s):Nq(s)?s:(console.error("Toolbar type should be string, string[], boolean or ToolbarGroup[]"),[])},$q=(n,s,a,i,d,g)=>mt(s,a.toLowerCase()).orThunk(()=>g.bind(h=>Ka(h,C=>mt(s,C+a.toLowerCase())))).fold(()=>mt(WF,a.toLowerCase()).map(h=>h(n,d)),h=>h.type==="grouptoolbarbutton"&&!i?(console.warn(`Ignoring the '${a}' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested.`),T.none()):ZF(h,d,n,a.toLowerCase())),hf=(n,s,a,i)=>{const d=Pq(s),g=Ee(d,h=>{const C=ie(h.items,S=>S.trim().length===0?[]:$q(n,s.buttons,S,s.allowToolbarGroups,a,i).map(x=>Array.isArray(x)?x:[x]).getOr([]));return{title:T.from(n.translate(h.name)),label:Ja(h.label!==void 0,n.translate(h.label)),items:C}});return oo(g,h=>h.items.length>0)},qF=(n,s,a,i)=>{const d=s.mainUi.outerContainer,g=a.toolbar,h=a.buttons;if(Yl(g,kn)){const C=g.map(S=>{const x={toolbar:S,buttons:h,allowToolbarGroups:a.allowToolbarGroups};return hf(n,x,i,T.none())});jn.setToolbars(d,C)}else jn.setToolbar(d,hf(n,a,i,T.none()))},KF=rr(),Fq=KF.os.isiOS()&&KF.os.version.major<=12,Iq=(n,s)=>{const{uiMotherships:a}=s,i=n.dom;let d=n.getWin();const g=n.getDoc().documentElement,h=ct(Ln(d.innerWidth,d.innerHeight)),C=ct(Ln(g.offsetWidth,g.offsetHeight)),S=()=>{const N=h.get();(N.left!==d.innerWidth||N.top!==d.innerHeight)&&(h.set(Ln(d.innerWidth,d.innerHeight)),Gr(n))},x=()=>{const N=n.getDoc().documentElement,F=C.get();(F.left!==N.offsetWidth||F.top!==N.offsetHeight)&&(C.set(Ln(N.offsetWidth,N.offsetHeight)),Gr(n))},k=N=>{VN(n,N)};i.bind(d,"resize",S),i.bind(d,"scroll",k);const D=oc(Le.fromDom(n.getBody()),"load",x);n.on("hide",()=>{Qe(a,N=>{Rt(N.element,"display","none")})}),n.on("show",()=>{Qe(a,N=>{Xt(N.element,"display")})}),n.on("NodeChange",x),n.on("remove",()=>{D.unbind(),i.unbind(d,"resize",S),i.unbind(d,"scroll",k),d=null})},Lq=(n,s,a)=>{Xd(n)&&H0(a.mainUi.mothership.element,a.popupUi.mothership),Fd(s,a.dialogUi.mothership)};var Hq=Object.freeze({__proto__:null,render:(n,s,a,i,d)=>{const{mainUi:g,uiMotherships:h}=s,C=ct(0),S=g.outerContainer;QG(n);const x=Le.fromDom(d.targetNode),k=_i(ss(x));H0(x,g.mothership),Lq(n,k,s),n.on("PostRender",()=>{jn.setSidebar(S,a.sidebar,D5(n)),jn.setViews(S,a.views,Y7(n))},!0),n.on("SkinLoaded",()=>{qF(n,s,a,i),C.set(n.getWin().innerWidth),jn.setMenubar(S,sD(n,a)),Iq(n,s)});const D=jn.getSocket(S).getOrDie("Could not find expected socket element");if(Fq){So(D.element,{overflow:"scroll","-webkit-overflow-scrolling":"touch"});const W=OT(()=>{n.dispatch("ScrollContent")},20),j=On(D.element,"scroll",W.throttle);n.on("remove",j.unbind)}kN(n,s),n.addCommand("ToggleSidebar",(W,j)=>{jn.toggleSidebar(S,j),oE(n)}),n.addQueryValueHandler("ToggleSidebar",()=>jn.whichSidebar(S)??""),n.addCommand("ToggleView",(W,j)=>{if(jn.toggleView(S,j)){const V=S.element;g.mothership.broadcastOn([Wi()],{target:V}),Qe(h,K=>{K.broadcastOn([Wi()],{target:V})}),Wu(jn.whichView(S))&&(n.focus(),n.nodeChanged(),jn.refreshToolbar(S)),YO(n)}}),n.addQueryValueHandler("ToggleView",()=>jn.whichView(S)??"");const N=Ap(n),F=()=>{jn.refreshToolbar(s.mainUi.outerContainer)};(N===pi.sliding||N===pi.floating)&&n.on("ResizeWindow ResizeEditor ResizeContent",()=>{const W=n.getWin().innerWidth;W!==C.get()&&(F(),C.set(W))});const L={setEnabled:W=>{AC(s,W?"setEnabled":"setDisabled")},isEnabled:()=>!Je.isDisabled(S)};return{iframeContainer:D.element.dom,editorContainer:S.element.dom,api:L}}});const zq=n=>/^[0-9\.]+(|px)$/i.test(""+n)?T.some(parseInt(""+n,10)):T.none(),aS=n=>wi(n)?n+"px":n,XE=(n,s,a)=>{const i=s.filter(g=>nn>g);return i.or(d).getOr(n)},Vq=(n,s)=>{if(typeof s=="number")return T.from(s);const a=/^([0-9.]+)(pt|em|px)$/.exec(s.trim());if(a){const i=a[2],d=Number.parseFloat(a[1]);if(Number.isNaN(d)||d<0)return T.none();if(i==="em")return T.from(d*Number.parseFloat(window.getComputedStyle(n.dom).fontSize));if(i==="pt")return T.from(d*(72/96));if(i==="px")return T.from(d)}return T.none()},YF=n=>{const s=Vq(Le.fromDom(n.targetElm),w5(n)),a=h3(n),i=p3(n);return s.map(d=>XE(d,a,i))},XF=n=>YF(n).getOr(w5(n)),JF=n=>{const s=x5(n),a=E5(n),i=uC(n);return zq(s).map(d=>XE(d,a,i))},Uq=n=>JF(n).getOr(x5(n)),{ToolbarLocation:pD,ToolbarMode:QF}=nB,Zq=40,Wq=(n,s,a,i,d)=>{const{mainUi:g,uiMotherships:h}=a,C=bb.DOM,S=_p(n),x=_g(n),k=uC(n).or(JF(n)),D=i.shared.header,N=D.isPositionedAtTop,F=150,L=Ap(n),W=L===QF.sliding||L===QF.floating,j=ct(!1),V=()=>j.get()&&!n.removed,K=nt=>W?nt.fold(te(0),Ce=>Ce.components().length>1?ks(Ce.components()[1].element):0):0,Q=nt=>{switch(T5(n)){case pD.auto:const Ce=jn.getToolbar(g.outerContainer),Be=K(Ce),St=ks(nt.element)-Be,$t=Ko(s);if($t.y>St)return"top";{const Ft=Bv(s),vn=Math.max(Ft.dom.scrollHeight,ks(Ft));return $t.bottom{d.on(Ce=>{yo.setModes(Ce,[nt]),D.setDockingMode(nt);const Be=N()?ur.TopToBottom:ur.BottomToTop;wt(Ce.element,m0,Be)})},me=()=>{d.on(nt=>{const Ce=k.getOrThunk(()=>Jc().width-ic(s).left-10);Rt(nt.element,"max-width",Ce+"px")})},Fe=(nt,Ce)=>{d.on(Be=>{const St=jn.getToolbar(g.outerContainer),$t=K(St),rt=Ko(s),Ft=ze(n,g.outerContainer.element),vn=()=>Ft.fold(()=>rt.x,Bs=>{const Dr=Ko(Bs);return Vn(Bs,Ma())?rt.x:rt.x-Dr.x}),ln=()=>Ft.fold(()=>N()?Math.max(rt.y-ks(Be.element)+$t,0):rt.bottom,Bs=>{const Dr=Ko(Bs),Bc=Bs.dom.scrollTop??0,pf=Vn(Bs,Ma())?Math.max(rt.y-ks(Be.element)+$t,0):rt.y-Dr.y+Bc-ks(Be.element)+$t;return N()?pf:rt.bottom}),ia=vn(),mo=Ja(nt,Math.ceil(g.outerContainer.element.dom.getBoundingClientRect().width)).filter(Bs=>Bs>F).map(Bs=>{const Dr=Ce.getOr(No()),Bc=window.innerWidth-(ia-Dr.left),vi=Math.max(Math.min(Bs,Bc),F);return BcXd(nt)?uu(Ce):T.none(),ve=()=>{Qe(h,nt=>{nt.broadcastOn([fr()],{})})},ke=()=>!S&&(pa(g.outerContainer.element).left+cu(g.outerContainer.element)>=window.innerWidth-Zq||vo(g.outerContainer.element,"width").isSome())?(Rt(g.outerContainer.element,"position","absolute"),Rt(g.outerContainer.element,"left","0px"),Xt(g.outerContainer.element,"width"),!0):!1,ht=nt=>{if(!V())return;S||me();const Ce=No(),Be=S?!1:ke();if(W&&jn.refreshToolbar(g.outerContainer),!S){const St=No(),$t=Ja(Ce.left!==St.left,Ce);Fe(Be,$t),$t.each(rt=>{nd(rt.left,St.top)})}x&&d.on(nt),ve()},tt=()=>S||!x||!V()?!1:d.get().exists(nt=>{const Ce=D.getDockingMode(),Be=Q(nt);return Be!==Ce?(le(Be),!0):!1});return{isVisible:V,isPositionedAtTop:N,show:()=>{j.set(!0),Rt(g.outerContainer.element,"display","flex"),C.addClass(n.getBody(),"mce-edit-focus"),Qe(h,nt=>{Xt(nt.element,"display")}),tt(),Xd(n)?ht(nt=>yo.isDocked(nt)?yo.reset(nt):yo.refresh(nt)):ht(yo.refresh)},hide:()=>{j.set(!1),Rt(g.outerContainer.element,"display","none"),C.removeClass(n.getBody(),"mce-edit-focus"),Qe(h,nt=>{Rt(nt.element,"display","none")})},update:ht,updateMode:()=>{tt()&&ht(yo.reset)},repositionPopups:ve}},bD=(n,s)=>{const a=Ko(n);return{pos:s?a.y:a.bottom,bounds:a}},jq=(n,s,a,i)=>{const d=ct(bD(s,a.isPositionedAtTop())),g=x=>{const{pos:k,bounds:D}=bD(s,a.isPositionedAtTop()),{pos:N,bounds:F}=d.get(),L=D.height!==F.height||D.width!==F.width;d.set({pos:k,bounds:D}),L&&Gr(n,x),a.isVisible()&&(N!==k?a.update(yo.reset):L&&(a.updateMode(),a.repositionPopups()))};i||(n.on("activate",a.show),n.on("deactivate",a.hide)),n.on("SkinLoaded ResizeWindow",()=>a.update(yo.reset)),n.on("NodeChange keydown",x=>{requestAnimationFrame(()=>g(x))});let h=0;const C=nu(()=>a.update(yo.refresh),33);n.on("ScrollWindow",()=>{const x=No().left;x!==h&&(h=x,C.throttle()),a.updateMode()}),Xd(n)&&n.on("ElementScroll",x=>{a.update(yo.refresh)});const S=ds();S.set(oc(Le.fromDom(n.getBody()),"load",x=>g(x.raw))),n.on("remove",()=>{S.clear()})};var Gq=Object.freeze({__proto__:null,render:(n,s,a,i,d)=>{const{mainUi:g}=s,h=Ht(),C=Le.fromDom(d.targetNode),S=Wq(n,C,s,i,h),x=H7(n);eq(n);const k=()=>{if(h.isSet()){S.show();return}h.set(jn.getHeader(g.outerContainer).getOrDie());const N=B5(n);Xd(n)?(H0(C,g.mothership),H0(C,s.popupUi.mothership)):Fd(N,g.mothership),Fd(N,s.dialogUi.mothership);const F=()=>{qF(n,s,a,i),jn.setMenubar(g.outerContainer,sD(n,a)),S.show(),jq(n,C,S,x),n.nodeChanged()};x?n.once("SkinLoaded",F):F()};n.on("show",k),n.on("hide",S.hide),x||(n.on("focus",k),n.on("blur",S.hide)),n.on("init",()=>{(n.hasFocus()||x)&&k()}),kN(n,s);const D={show:k,hide:S.hide,setEnabled:N=>{AC(s,N?"setEnabled":"setDisabled")},isEnabled:()=>!Je.isDisabled(g.outerContainer)};return{editorContainer:g.outerContainer.element.dom,api:D}}});const qq=()=>{const n=Ht(),s=Ht(),a=Ht();return{dialogUi:n,popupUi:s,mainUi:a,getUiMotherships:()=>{const g=n.get().map(C=>C.mothership),h=s.get().map(C=>C.mothership);return g.fold(()=>h.toArray(),C=>h.fold(()=>[C],S=>Vn(C.element,S.element)?[C]:[C,S]))},lazyGetInOuterOrDie:(g,h)=>()=>a.get().bind(C=>h(C.outerContainer)).getOrDie(`Could not find ${g} element in OuterContainer`)}},JE="contexttoolbar-show",eI="contexttoolbar-hide",Yb=(n,s,a)=>({setInputEnabled:i=>{!i&&a&&Ps(a),Je.set(n,!i)},isInputEnabled:()=>!Je.isDisabled(n),hide:()=>{Gt(n,G1())},back:()=>{Gt(n,qE)},getValue:()=>s.get().getOrThunk(()=>je.getValue(n)),setValue:i=>{n.getSystem().isConnected()?je.setValue(n,i):s.set(i)}}),Yp=(n,s,a)=>{const d=ea(n.element).bind(g=>n.getSystem().getByDom(g).toOptional());return Yb(d.getOr(n),s,a)},vD=(n,s,a)=>be(yE,(i,d)=>{const g=n.get(i),h=Yb(g,a,i.element);s.onAction(h,d.event.buttonApi)}),Kq=(n,s,a,i)=>{const{primary:d,...g}=s.original,h=$a(yO({...g,type:"button",onAction:q}));return cD(h,a,[vD(n,s,i)])},Yq=(n,s,a,i)=>{const{primary:d,...g}=s.original,h=$a(SO({...g,type:"togglebutton",onAction:q}));return wF(h,a,[vD(n,s,i)])},Xq=n=>n.type==="contextformtogglebutton",Jq=(n,s,a,i)=>Xq(s)?Yq(n,s,a,i):Kq(n,s,a,i),tI=(n,s,a,i)=>{const d=Ee(s,C=>En(Jq(n,C,a,i)));return{asSpecs:()=>Ee(d,C=>C.asSpec()),findPrimary:C=>Ka(s,(S,x)=>S.primary?T.from(d[x]).bind(k=>k.getOpt(C)).filter(pe(Je.isDisabled)):T.none())}},QE=(n,s,a,i)=>{const{width:d,height:g}=n.initValue();let h=xE;const C=!0,S=Ge("ratio-event"),x=ve=>Yb(ve,i),k=ve=>bi(ve,{tag:"span",classes:["tox-icon","tox-lock-icon__"+ve]},s.icons),D=()=>!C,N=n.label.getOr("Constrain proportions"),F=s.translate(N),L=zo.parts.lock({dom:{tag:"button",classes:["tox-lock","tox-lock-context-form-size-input","tox-button","tox-button--naked","tox-button--icon"],attributes:{"aria-label":F,"data-mce-name":N}},components:[k("lock"),k("unlock")],buttonBehaviours:De([Je.config({disabled:D}),Wn.config({}),Yn.config(s.tooltips.getConfig({tooltipText:F}))])}),W=ve=>({dom:{tag:"div",classes:["tox-context-form__group"]},components:ve}),j=ve=>Yc(ve.element,"div.tox-focusable-wrapper").fold(T.none,ht=>(Ps(ht),T.some(!0))),V=ve=>Yt.parts.field({factory:rf,inputClasses:["tox-textfield","tox-toolbar-textfield","tox-textfield-size"],data:ve?d:g,inputBehaviours:De([Je.config({disabled:D}),Wn.config({}),Nt("size-input-toolbar-events",[be(pc(),(ke,ht)=>{gt(ke,S,{isField1:ve})})]),lt.config({mode:"special",onEnter:a,onEscape:j})]),selectOnFocus:!1}),K=ve=>({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(ve))]}),Q=ve=>({dom:{tag:"div",classes:["tox-focusable-wrapper","tox-toolbar-nav-item"]},components:[ve],behaviours:De([Wn.config({}),Pt.config({}),lt.config({mode:"special",onEnter:ke=>Nn(ke.element,"input").fold(T.none,tt=>(Ps(tt),T.some(!0)))})])}),le=Q(zo.parts.field1(W([Yt.parts.label(K("Width:")),V(!0)]))),me=Q(zo.parts.field2(W([Yt.parts.label(K("Height:")),V(!1)]))),Fe=ct(q),ze=[Lu({onBeforeSetup:ve=>Nn(ve.element,"input").each(Ps),onSetup:n.onSetup,getApi:x},Fe),BO({getApi:x},Fe,i)];return zo.sketch({dom:{tag:"div",classes:["tox-context-form__group"]},components:[le,W([L]),me],field1Name:"width",field2Name:"height",locked:!0,markers:{lockClass:"tox-locked"},onLockedChange:(ve,ke,ht)=>{N6(je.getValue(ve)).each(tt=>{h(tt).each(qt=>{je.setValue(ke,s$(qt))})})},onInput:ve=>Gt(ve,xP),coupledFieldBehaviours:De([Pt.config({}),lt.config({mode:"flow",focusInside:Bm.OnEnterOrSpaceMode,cycles:!1,selector:"button, .tox-focusable-wrapper"}),Je.config({disabled:D,onDisabled:ve=>{zo.getField1(ve).bind(Yt.getField).each(Je.disable),zo.getField2(ve).bind(Yt.getField).each(Je.disable),zo.getLock(ve).each(Je.disable)},onEnabled:ve=>{zo.getField1(ve).bind(Yt.getField).each(Je.enable),zo.getField2(ve).bind(Yt.getField).each(Je.enable),zo.getLock(ve).each(Je.enable)}}),is(()=>s.checkUiComponentContext("mode:design")),Nt("size-input-toolbar-events2",[be(S,(ve,ke)=>{const ht=ke.event.isField1,tt=ht?zo.getField1(ve):zo.getField2(ve),qt=ht?zo.getField2(ve):zo.getField1(ve),Ct=tt.map(je.getValue).getOr(""),Lt=qt.map(je.getValue).getOr("");h=a$(Ct,Lt)}),be(xP,ve=>n.onInput(x(ve))),...ze])])})},yD=(n,s,a)=>Yt.sketch({dom:{tag:"div",classes:["tox-context-form__group"]},components:[...n.toArray(),s],fieldBehaviours:De([Je.config({disabled:()=>a.checkUiComponentContext("mode:design").shouldDisable,onDisabled:i=>{cq(i),Yt.getField(i).each(Je.disable)},onEnabled:i=>{Yt.getField(i).each(Je.enable)}})])}),nI=(n,s,a,i)=>{const d=ct(q),g=S=>Yp(S,i),h=n.label.map(S=>Yt.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(S))]})),C=Yt.parts.field({factory:rf,type:"range",inputClasses:["tox-toolbar-slider__input","tox-toolbar-nav-item"],inputAttributes:{min:String(n.min()),max:String(n.max())},data:n.initValue().toString(),fromInputValue:S=>Yg(S).getOr(n.min()),toInputValue:S=>String(S),inputBehaviours:De([Je.config({disabled:()=>s.checkUiComponentContext("mode:design").shouldDisable}),is(()=>s.checkUiComponentContext("mode:design")),lt.config({mode:"special",onEnter:a,onLeft:(S,x)=>(x.cut(),T.none()),onRight:(S,x)=>(x.cut(),T.none())}),Nt("slider-events",[Lu({onSetup:n.onSetup,getApi:g,onBeforeSetup:lt.focusIn},d),BO({getApi:g},d,i),be(fu(),S=>{n.onInput(g(S))})])])});return yD(h,C,s)},oI=(n,s,a,i)=>{const d=ct(q),g=k=>Yp(k,i),h=n.label.map(k=>Yt.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[_n(s.translate(k))]})),S={...n.placeholder.map(k=>({placeholder:s.translate(k)})).getOr({})},x=Yt.parts.field({factory:rf,inputClasses:["tox-toolbar-textfield","tox-toolbar-nav-item"],inputAttributes:S,data:n.initValue(),selectOnFocus:!0,inputBehaviours:De([Je.config({disabled:()=>s.checkUiComponentContext("mode:design").shouldDisable}),is(()=>s.checkUiComponentContext("mode:design")),lt.config({mode:"special",onEnter:a,onLeft:(k,D)=>(D.cut(),T.none()),onRight:(k,D)=>(D.cut(),T.none())}),Nt("input-events",[Lu({onSetup:n.onSetup,getApi:k=>Yc(k.element,".tox-toolbar").bind(N=>Nn(N,"button:enabled")).fold(()=>Yp(k,i),N=>Yp(k,i,N)),onBeforeSetup:lt.focusIn},d),BO({getApi:g},d,i),be(fu(),k=>{n.onInput(g(k))})])])});return yD(h,x,s)},eT=(n,s,a)=>{const i=Ht(),g=En(n(a,x=>C.findPrimary(x).orThunk(()=>S.findPrimary(x)).map(k=>(Dd(k),!0)),i)),h=um(s.commands,x=>x.align==="start"),C=tI(g,h.pass,a,i),S=tI(g,h.fail,a,i);return oo([{title:T.none(),label:T.none(),items:C.asSpecs()},{title:T.none(),label:T.none(),items:[g.asSpec()]},{title:T.none(),label:T.none(),items:S.asSpecs()}],x=>x.items.length>0)},sI=(n,s)=>{switch(n.type){case"contextform":return eT(on(oI,n),n,s);case"contextsliderform":return eT(on(nI,n),n,s);case"contextsizeinputform":return eT(on(QE,n),n,s)}},eK={renderContextForm:(n,s,a)=>UE({type:n,uid:Ge("context-toolbar"),initGroups:sI(s,a),onEscape:T.none,cyclicKeying:!0,providers:a}),buildInitGroups:sI},rI=(n,s,a)=>s.bottom-n.y>=a&&n.bottom-s.y>=a,tK=n=>{const s=n.getBoundingClientRect();if(s.height<=0&&s.width<=0){const a=C1(Le.fromDom(n.startContainer),n.startOffset).element;return(ed(a)?ea(a):T.some(a)).filter(ga).map(d=>d.dom.getBoundingClientRect()).getOr(s)}else return s},CD=n=>{const s=n.selection.getRng(),a=tK(s);if(n.inline){const i=No();return _o(i.left+a.left,i.top+a.top,a.width,a.height)}else{const i=ld(Le.fromDom(n.getBody()));return _o(i.x+a.left,i.y+a.top,a.width,a.height)}},nK=(n,s)=>s.filter(a=>pn(a)&&U(a)).map(ld).getOrThunk(()=>CD(n)),cS=(n,s,a)=>{const i=Math.max(n.x+a,s.x),d=Math.min(n.right-a,s.right);return{x:i,width:d-i}},oK=(n,s,a,i,d,g)=>{const h=Le.fromDom(n.getContainer()),C=Nn(h,".tox-editor-header").getOr(h),S=Ko(C),x=S.y>=s.bottom,k=i&&!x;if(n.inline&&k)return{y:Math.max(S.bottom+g,a.y),bottom:a.bottom};if(n.inline&&!k)return{y:a.y,bottom:Math.min(S.y-g,a.bottom)};const D=d==="line"?Ko(h):s;return k?{y:Math.max(S.bottom+g,a.y),bottom:Math.min(D.bottom-g,a.bottom)}:{y:Math.max(D.y+g,a.y),bottom:Math.min(S.y-g,a.bottom)}},aI=(n,s,a,i=0)=>{const d=Jc(window),g=Ko(Le.fromDom(n.getContentAreaContainer())),h=C3(n)||S3(n)||Ag(n),{x:C,width:S}=cS(g,d,i);if(n.inline&&!h)return _o(C,d.y,S,d.height);{const x=s.header.isPositionedAtTop(),{y:k,bottom:D}=oK(n,g,d,x,a,i);return _o(C,k,S,D-k)}},tT=12,SD={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"],inset:["tox-pop--inset"]},cI={maxHeightFunction:Qf(),maxWidthFunction:Uh()},iI=(n,s)=>{const a=n.selection.getRng(),i=C1(Le.fromDom(a.startContainer),a.startOffset);return a.startContainer===a.endContainer&&a.startOffset===a.endOffset-1&&Vn(i.element,s)},sK=(n,s,a)=>{const i=vo(n,"position");Rt(n,"position",s);const d=a(n);return i.each(g=>Rt(n,"position",g)),d},lI=n=>n==="node",rK=(n,s,a,i,d)=>{const g=CD(n),h=i.lastElement().exists(C=>Vn(a,C));if(iI(n,a))return h?vs:Ca;if(h)return sK(s,i.getMode(),()=>rI(g,Ko(s),-20)&&!i.isReposition()?he:vs);{const C=i.getMode()==="fixed"?d.y+No().top:d.y,S=ks(s)+tT;return C+S<=g.y?Ca:Jf}},aK=(n,s,a,i)=>{const d=S=>(x,k,D,N,F)=>{const L=rK(n,N,S,a,F),W={...x,y:F.y,height:F.height};return{...L(W,k,D,N,F),alwaysFit:!0}},g=S=>lI(i)?[d(S)]:[];return s?{onLtr:S=>[Jo,cs,Xo,er,Ls,Rs].concat(g(S)),onRtl:S=>[Jo,Xo,cs,Ls,er,Rs].concat(g(S))}:{onLtr:S=>[Rs,Jo,er,cs,Ls,Xo].concat(g(S)),onRtl:S=>[Rs,Jo,Ls,Xo,er,cs].concat(g(S))}},cK=(n,s,a,i)=>s==="line"?{bubble:yc(tT,0,SD),layouts:{onLtr:()=>[Hh],onRtl:()=>[M2]},overrides:cI}:{bubble:yc(0,tT,SD,1/tT),layouts:aK(n,a,i,s),overrides:cI},Xp=(n,s)=>{const a=oo(s,g=>g.predicate(n.dom)),{pass:i,fail:d}=um(a,g=>g.type==="contexttoolbar");return{contextToolbars:i,contextForms:d}},uI=n=>{if(n.length<=1)return n;{const s=g=>Br(n,h=>h.position===g),a=g=>oo(n,h=>h.position===g),i=s("selection"),d=s("node");if(i||d)if(d&&i){const g=a("node"),h=Ee(a("selection"),C=>({...C,position:"node"}));return g.concat(h)}else return a(i?"selection":"node");else return a("line")}},iK=n=>{if(n.length<=1)return n;{const s=i=>Bt(n,d=>d.position===i);return s("selection").orThunk(()=>s("node")).orThunk(()=>s("line")).map(i=>i.position).fold(()=>[],i=>oo(n,d=>d.position===i))}},lK=(n,s,a)=>{const i=Xp(n,s);if(i.contextForms.length>0)return T.some({elem:n,toolbars:[i.contextForms[0]]});{const d=Xp(n,a);if(d.contextForms.length>0)return T.some({elem:n,toolbars:[d.contextForms[0]]});if(i.contextToolbars.length>0||d.contextToolbars.length>0){const g=uI(i.contextToolbars.concat(d.contextToolbars));return T.some({elem:n,toolbars:g})}else return T.none()}},dI=(n,s,a)=>n(s)?T.none():tw(s,i=>{if(ga(i)){const{contextToolbars:d,contextForms:g}=Xp(i,a.inNodeScope),h=g.length>0?g:iK(d);return h.length>0?T.some({elem:i,toolbars:h}):T.none()}else return T.none()},n),wD=(n,s)=>{const a=Le.fromDom(s.getBody()),i=h=>Vn(h,a),d=h=>!i(h)&&!Qg(a,h),g=Le.fromDom(s.selection.getNode());return d(g)?T.none():lK(g,n.inNodeScope,n.inEditorScope).orThunk(()=>dI(i,g,n))},mI=(n,s)=>{const a={},i=[],d=[],g={},h={},C=(k,D)=>{const N=$a(hZ(D));a[k]=N,N.launch.map(F=>{g["form:"+k]={...D.launch,type:F.type==="contextformtogglebutton"?"togglebutton":"button",onAction:()=>{s(N)}}}),N.scope==="editor"?d.push(N):i.push(N),h[k]=N},S=(k,D)=>{yZ(D).each(N=>{N.launch.isSome()&&(g["toolbar:"+k]={...D.launch,type:"button",onAction:()=>{s(N)}}),D.scope==="editor"?d.push(N):i.push(N),h[k]=N})},x=Bn(n);return Qe(x,k=>{const D=n[k];D.type==="contextform"||D.type==="contextsliderform"||D.type==="contextsizeinputform"?C(k,D):D.type==="contexttoolbar"&&S(k,D)}),{forms:a,inNodeScope:i,inEditorScope:d,lookupTable:h,formNavigators:g}},nT="tox-pop--transition",uK=n=>n===YE.ENTER||n===YE.SPACEBAR,Xb=(n,s,a,i)=>{const d=i.backstage,g=d.shared,h=rr().deviceType.isTouch,C=Ht(),S=Ht(),x=Ht(),k=iq({sink:a,onEscape:()=>(n.focus(),GN(n),T.some(!0)),onHide:()=>{GN(n)},onBack:()=>{aW(n)},focusElement:Ct=>{n.getBody().contains(Ct.dom)?n.focus():Ps(Ct)}}),D=tr(k.sketch),N=()=>{const Ct=x.get().getOr("node"),Lt=lI(Ct)?1:0;return aI(n,g,Ct,Lt)},F=()=>!n.removed&&!(h()&&d.isContextMenuOpen()),L=Ct=>zc(xi(Ct,C.get(),Vn),!0),W=()=>{if(F()){const Ct=N(),Lt=zc(x.get(),"node")?nK(n,C.get()):CD(n);return Ct.height<=0||!rI(Lt,Ct,.01)}else return!0},j=()=>{C.clear(),S.clear(),x.clear(),Ao.hide(D)},V=()=>{if(Ao.isOpen(D)){const Ct=D.element;Xt(Ct,"display"),W()?Rt(Ct,"display","none"):(S.set(0),Ao.reposition(D))}},K=Ct=>({dom:{tag:"div",classes:["tox-pop__dialog"]},components:[Ct],behaviours:De([lt.config({mode:"acyclic"}),Nt("pop-dialog-wrap-events",[Hn(Lt=>{n.shortcuts.add("ctrl+F9","focus statusbar",()=>lt.focusIn(Lt))}),Zi(Lt=>{n.shortcuts.remove("ctrl+F9")})])])}),Q=Ct=>{const Lt=ze([Ct]);gt(D,EF,{forwardContents:K(Lt)})},le=fl(()=>mI(s,Q)),me=(Ct,Lt)=>hf(n,{buttons:Ct,toolbar:Lt.items,allowToolbarGroups:!1},i.backstage,T.some(["form:","toolbar:"])),Fe=(Ct,Lt)=>eK.buildInitGroups(Ct,Lt),ze=Ct=>{const{buttons:Lt}=n.ui.registry.getAll(),nt=le(),Ce={...Lt,...nt.formNavigators},Be=Ap(n)===pi.scrolling?pi.scrolling:pi.default,St=Ot(Ee(Ct,$t=>$t.type==="contexttoolbar"?me(Ce,vZ($t)):Fe($t,g.providers)));return UE({type:Be,uid:Ge("context-toolbar"),initGroups:St,onEscape:T.none,cyclicKeying:!0,providers:g.providers})},ve=(Ct,Lt)=>{const nt=Ct==="node"?g.anchors.node(Lt):g.anchors.cursor(),Ce=cK(n,Ct,h(),{lastElement:C.get,isReposition:()=>zc(S.get(),0),getMode:()=>Wr.getMode(a)});return so(nt,Ce)},ke=(Ct,Lt)=>{if(qt.cancel(),!F())return;const nt=ze(Ct),Ce=Ct[0].position,Be=ve(Ce,Lt);x.set(Ce),S.set(1);const St=D.element;Xt(St,"display"),L(Lt)||(wo(St,nT),Wr.reset(a,D)),Ao.showWithinBounds(D,K(nt),{anchor:Be,transition:{classes:[nT],mode:"placement"}},()=>T.some(N())),Lt.fold(C.clear,C.set),W()&&Rt(St,"display","none")},ht=()=>{Rt(D.element,"transition","none"),V(),Xt(D.element,"transition")};let tt=!1;const qt=nu(()=>{if(!(!n.hasFocus()||n.removed||tt))if(qo(D.element,nT))qt.throttle();else{const Ct=le();wD(Ct,n).fold(j,Lt=>{ke(Lt.toolbars,T.some(Lt.elem))})}},17);n.on("init",()=>{n.on("remove",j),n.on("ScrollContent ScrollWindow ObjectResized ResizeEditor longpress",V),n.on("click focus SetContent",qt.throttle),n.on("keyup",Ct=>{(!uK(Ct.keyCode)||!k.inSubtoolbar())&&qt.throttle()}),n.on(eI,j),n.on(JE,Ct=>{const Lt=le();mt(Lt.lookupTable,Ct.toolbarKey).each(nt=>{ke([nt],Ja(Ct.target!==n,Ct.target)),iD(D)})}),n.on("focusout",Ct=>{cC.setEditorTimeout(n,()=>{rs(a.element).isNone()&&rs(D.element).isNone()&&!n.hasFocus()&&j()},0)}),n.on("SwitchMode",()=>{n.mode.isReadOnly()&&j()}),n.on("DisabledStateChange",Ct=>{Ct.state&&j()}),n.on("ExecCommand",({command:Ct})=>{Ct.toLowerCase()==="toggleview"&&j()}),n.on("AfterProgressState",Ct=>{Ct.state?j():n.hasFocus()&&qt.throttle()}),n.on("dragstart",()=>{tt=!0}),n.on("dragend drop",()=>{tt=!1}),n.on("NodeChange",Ct=>{k.inSubtoolbar()?ht():rs(D.element).fold(qt.throttle,q)})})},oT=n=>{Qe([{name:"alignleft",text:"Align left",cmd:"JustifyLeft",icon:"align-left"},{name:"aligncenter",text:"Align center",cmd:"JustifyCenter",icon:"align-center"},{name:"alignright",text:"Align right",cmd:"JustifyRight",icon:"align-right"},{name:"alignjustify",text:"Justify",cmd:"JustifyFull",icon:"align-justify"}],a=>{n.ui.registry.addToggleButton(a.name,{tooltip:a.text,icon:a.icon,onAction:Rc(n,a.cmd),onSetup:rE(n,a.name)})}),n.ui.registry.addButton("alignnone",{tooltip:"No alignment",icon:"align-none",onSetup:aa(n),onAction:Rc(n,"JustifyNone")})},iS=(n,s)=>{const a=()=>{const i=s.getOptions(n),d=s.getCurrent(n).map(s.hash),g=Ht();return Ee(i,h=>({type:"togglemenuitem",text:s.display(h),onSetup:C=>{const S=k=>{k&&(g.on(D=>D.setActive(!1)),g.set(C)),C.setActive(k)};S(zc(d,s.hash(h)));const x=s.watcher(n,h,S);return()=>{g.clear(),x()}},onAction:()=>s.setCurrent(n,h)}))};n.ui.registry.addMenuButton(s.name,{tooltip:s.text,icon:s.icon,fetch:i=>i(a()),onSetup:s.onToolbarSetup}),n.ui.registry.addNestedMenuItem(s.name,{type:"nestedmenuitem",text:s.text,getSubmenuItems:a,onSetup:s.onMenuSetup})},xD=n=>({name:"lineheight",text:"Line height",icon:"line-height",getOptions:tB,hash:s=>YT(s,["fixed","relative","empty"]).getOr(s),display:Qt,watcher:(s,a,i)=>s.formatter.formatChanged("lineheight",i,!1,{value:a}).unbind,getCurrent:s=>T.from(s.queryCommandValue("LineHeight")),setCurrent:(s,a)=>s.execCommand("LineHeight",!1,a),onToolbarSetup:aa(n),onMenuSetup:aa(n)}),ED=n=>T.from(F7(n)).map(a=>({name:"language",text:"Language",icon:"language",getOptions:te(a),hash:i=>ma(i.customCode)?i.code:`${i.code}/${i.customCode}`,display:i=>i.title,watcher:(i,d,g)=>i.formatter.formatChanged("lang",g,!1,{value:d.code,customValue:d.customCode??null}).unbind,getCurrent:i=>{const d=Le.fromDom(i.selection.getNode());return Xc(d,g=>T.some(g).filter(ga).bind(h=>js(h,"lang").map(S=>{const x=js(h,"data-mce-lang").getOrUndefined();return{code:S,customCode:x,title:""}})))},setCurrent:(i,d)=>i.execCommand("Lang",!1,d),onToolbarSetup:i=>{const d=ds();return i.setActive(n.formatter.match("lang",{},void 0,!0)),d.set(n.formatter.formatChanged("lang",i.setActive,!0)),sE(d.clear,aa(n)(i))},onMenuSetup:aa(n)})),fI=n=>{iS(n,xD(n)),ED(n).each(s=>iS(n,s))},sT=(n,s)=>{gq(n,s),BF(n,s),Mq(n,s),bq(n,s),Oq(n,s)},gI=n=>{n.ui.registry.addContext("editable",()=>n.selection.isEditable()),n.ui.registry.addContext("mode",s=>n.mode.get()===s),n.ui.registry.addContext("any",Tt),n.ui.registry.addContext("formatting",s=>n.formatter.canApply(s)),n.ui.registry.addContext("insert",s=>n.schema.isValidChild(n.selection.getNode().tagName,s))},hI=n=>Zp(n,"NodeChange",s=>{s.setEnabled(n.queryCommandState("outdent")&&n.selection.isEditable())}),TD=n=>{n.ui.registry.addButton("outdent",{tooltip:"Decrease indent",icon:"outdent",onSetup:hI(n),onAction:Rc(n,"outdent")}),n.ui.registry.addButton("indent",{tooltip:"Increase indent",icon:"indent",onSetup:aa(n,()=>n.queryCommandState("indent")),onAction:Rc(n,"indent")})},dK=n=>{TD(n)},kD=(n,s)=>a=>{a.setActive(s.get());const i=d=>{s.set(d.state),a.setActive(d.state)};return n.on("PastePlainTextToggle",i),sE(()=>n.off("PastePlainTextToggle",i),aa(n)(a))},mK=n=>{const s=ct(O5(n)),a=()=>n.execCommand("mceTogglePlainTextPaste");n.ui.registry.addToggleButton("pastetext",{active:!1,icon:"paste-text",tooltip:"Paste as text",onAction:a,onSetup:kD(n,s)}),n.ui.registry.addToggleMenuItem("pastetext",{text:"Paste as text",icon:"paste-text",onAction:a,onSetup:kD(n,s)})},AD=(n,s)=>()=>{n.execCommand("mceToggleFormat",!1,s)},rT=n=>{uf.each([{name:"bold",text:"Bold",icon:"bold",shortcut:"Meta+B"},{name:"italic",text:"Italic",icon:"italic",shortcut:"Meta+I"},{name:"underline",text:"Underline",icon:"underline",shortcut:"Meta+U"},{name:"strikethrough",text:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",icon:"superscript"}],(s,a)=>{n.ui.registry.addToggleButton(s.name,{tooltip:s.text,icon:s.icon,onSetup:rE(n,s.name),onAction:AD(n,s.name),shortcut:s.shortcut})});for(let s=1;s<=6;s++){const a="h"+s,i=`Access+${s}`;n.ui.registry.addToggleButton(a,{text:a.toUpperCase(),tooltip:"Heading "+s,onSetup:rE(n,a),onAction:AD(n,a),shortcut:i})}},pI=n=>{uf.each([{name:"copy",text:"Copy",action:"Copy",icon:"copy",context:"any"},{name:"help",text:"Help",action:"mceHelp",icon:"help",shortcut:"Alt+0",context:"any"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all",shortcut:"Meta+A",context:"any"},{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"print",text:"Print",action:"mcePrint",icon:"print",shortcut:"Meta+P",context:"any"}],s=>{n.ui.registry.addButton(s.name,{tooltip:s.text,icon:s.icon,onAction:Rc(n,s.action),shortcut:s.shortcut,context:s.context})}),uf.each([{name:"cut",text:"Cut",action:"Cut",icon:"cut"},{name:"paste",text:"Paste",action:"Paste",icon:"paste"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"remove",text:"Remove",action:"Delete",icon:"remove"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],s=>{n.ui.registry.addButton(s.name,{tooltip:s.text,icon:s.icon,onSetup:aa(n),onAction:Rc(n,s.action)})})},fK=n=>{uf.each([{name:"blockquote",text:"Blockquote",action:"mceBlockQuote",icon:"quote"}],s=>{n.ui.registry.addToggleButton(s.name,{tooltip:s.text,icon:s.icon,onAction:Rc(n,s.action),onSetup:rE(n,s.name)})})},gK=n=>{rT(n),pI(n),fK(n)},hK=n=>{uf.each([{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"copy",text:"Copy",action:"Copy",icon:"copy",shortcut:"Meta+C",context:"any"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all",shortcut:"Meta+A",context:"any"},{name:"print",text:"Print...",action:"mcePrint",icon:"print",shortcut:"Meta+P",context:"any"}],s=>{n.ui.registry.addMenuItem(s.name,{text:s.text,icon:s.icon,shortcut:s.shortcut,onAction:Rc(n,s.action),context:s.context})}),uf.each([{name:"bold",text:"Bold",action:"Bold",icon:"bold",shortcut:"Meta+B"},{name:"italic",text:"Italic",action:"Italic",icon:"italic",shortcut:"Meta+I"},{name:"underline",text:"Underline",action:"Underline",icon:"underline",shortcut:"Meta+U"},{name:"strikethrough",text:"Strikethrough",action:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",action:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",action:"Superscript",icon:"superscript"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"cut",text:"Cut",action:"Cut",icon:"cut",shortcut:"Meta+X"},{name:"paste",text:"Paste",action:"Paste",icon:"paste",shortcut:"Meta+V"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],s=>{n.ui.registry.addMenuItem(s.name,{text:s.text,icon:s.icon,shortcut:s.shortcut,onSetup:aa(n),onAction:Rc(n,s.action)})}),n.ui.registry.addMenuItem("codeformat",{text:"Code",icon:"sourcecode",onSetup:aa(n),onAction:AD(n,"code")})},pK=n=>{gK(n),hK(n)},aT=(n,s)=>Zp(n,"Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",a=>{a.setEnabled(!n.mode.isReadOnly()&&n.undoManager[s]())}),bI=n=>{n.ui.registry.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onSetup:aT(n,"hasUndo"),onAction:Rc(n,"undo")}),n.ui.registry.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onSetup:aT(n,"hasRedo"),onAction:Rc(n,"redo")})},vI=n=>{n.ui.registry.addButton("undo",{tooltip:"Undo",icon:"undo",enabled:!1,onSetup:aT(n,"hasUndo"),onAction:Rc(n,"undo"),shortcut:"Meta+Z"}),n.ui.registry.addButton("redo",{tooltip:"Redo",icon:"redo",enabled:!1,onSetup:aT(n,"hasRedo"),onAction:Rc(n,"redo"),shortcut:"Meta+Y"})},yI=n=>{bI(n),vI(n)},CI=n=>Zp(n,"VisualAid",s=>{s.setActive(n.hasVisual)}),bK=n=>{n.ui.registry.addToggleMenuItem("visualaid",{text:"Visual aids",onSetup:CI(n),onAction:Rc(n,"mceToggleVisualAid"),context:"any"})},SI=n=>{n.ui.registry.addButton("visualaid",{tooltip:"Visual aids",text:"Visual aids",onAction:Rc(n,"mceToggleVisualAid"),context:"any"})},wI=n=>{SI(n),bK(n)},vK=(n,s)=>{oT(n),pK(n),sT(n,s),yI(n),sP(n),wI(n),dK(n),fI(n),mK(n),gI(n)},vX=n=>kn(n)?n.split(/[ ,]/):n,xI=n=>s=>s.options.get(n),yK=n=>{const s=n.options.register;s("contextmenu_avoid_overlap",{processor:"string",default:""}),s("contextmenu_never_use_native",{processor:"boolean",default:!1}),s("contextmenu",{processor:a=>a===!1?{value:[],valid:!0}:kn(a)||Yl(a,kn)?{value:vX(a),valid:!0}:{valid:!1,message:"Must be false or a string."},default:"link linkchecker image editimage table spellchecker configurepermanentpen"})},EI=xI("contextmenu_never_use_native"),CK=xI("contextmenu_avoid_overlap"),SK=n=>TI(n).length===0,TI=n=>{const s=n.ui.registry.getAll().contextMenus,a=n.options.get("contextmenu");return n.options.isSet("contextmenu")?a:oo(a,i=>In(s,i))},lS=(n,s)=>({type:"makeshift",x:n,y:s}),wK=(n,s,a)=>lS(n.x+s,n.y+a),kI=n=>n.type==="longpress"||n.type.indexOf("touch")===0,xK=n=>{if(kI(n)){const s=n.touches[0];return lS(s.pageX,s.pageY)}else return lS(n.pageX,n.pageY)},EK=n=>{if(kI(n)){const s=n.touches[0];return lS(s.clientX,s.clientY)}else return lS(n.clientX,n.clientY)},TK=(n,s)=>{const a=bb.DOM.getPos(n);return wK(s,a.x,a.y)},kK=(n,s)=>s.type==="contextmenu"||s.type==="longpress"?n.inline?xK(s):TK(n.getContentAreaContainer(),EK(s)):_D(n),_D=n=>({type:"selection",root:Le.fromDom(n.selection.getNode())}),AK=n=>({type:"node",node:T.some(Le.fromDom(n.selection.getNode())),root:Le.fromDom(n.getBody())}),AI=(n,s,a)=>{switch(a){case"node":return AK(n);case"point":return kK(n,s);case"selection":return _D(n)}},_K=(n,s,a,i,d,g)=>{const h=a(),C=AI(n,s,g);zb(h,Ll.CLOSE_ON_EXECUTE,i,{isHorizontalMenu:!1,search:T.none()}).map(S=>{s.preventDefault(),Ao.showMenuAt(d,{anchor:C},{menu:{markers:Mg("normal")},data:S})})},OK={onLtr:()=>[Jo,cs,Xo,er,Ls,Rs,Ca,Jf,Ui,Xf,_d,Ad],onRtl:()=>[Jo,Xo,cs,Ls,er,Rs,Ca,Jf,_d,Ad,Ui,Xf]},DK=12,_I={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"]},OD=(n,s)=>{const a=n.selection;if(a.isCollapsed()||s.touches.length<1)return!1;{const i=s.touches[0],d=a.getRng();return aw(n.getWin(),cd.domRange(d)).exists(h=>h.left<=i.clientX&&h.right>=i.clientX&&h.top<=i.clientY&&h.bottom>=i.clientY)}},RK=n=>{const s=n.selection.getRng(),a=()=>{cC.setEditorTimeout(n,()=>{n.selection.setRng(s)},10),g()};n.once("touchend",a);const i=h=>{h.preventDefault(),h.stopImmediatePropagation()};n.on("mousedown",i,!0);const d=()=>g();n.once("longpresscancel",d);const g=()=>{n.off("touchend",a),n.off("longpresscancel",d),n.off("mousedown",i)}},OI=(n,s,a)=>{const i=AI(n,s,a);return{bubble:yc(0,a==="point"?DK:0,_I),layouts:OK,overrides:{maxWidthFunction:Uh(),maxHeightFunction:Qf()},...i}},MK=(n,s,a,i,d,g,h)=>{const C=OI(n,s,g);zb(a,Ll.CLOSE_ON_EXECUTE,i,{isHorizontalMenu:!0,search:T.none()}).map(S=>{s.preventDefault();const x=h?dr.HighlightMenuAndItem:dr.HighlightNone;Ao.showMenuWithinBounds(d,{anchor:C},{menu:{markers:Mg("normal"),highlightOnOpen:x},data:S,type:"horizontal"},()=>T.some(aI(n,i.shared,g==="node"?"node":"selection"))),n.dispatch(eI)})},BK=(n,s,a,i,d,g)=>{const h=rr(),C=h.os.isiOS(),S=h.os.isMacOS(),x=h.os.isAndroid(),k=h.deviceType.isTouch(),D=()=>!(x||C||S&&k),N=()=>{const F=a();MK(n,s,F,i,d,g,D())};if((S||C)&&g!=="node"){const F=()=>{RK(n),N()};OD(n,s)?F():(n.once("selectionchange",F),n.once("touchend",()=>n.off("selectionchange",F)))}else N()},DI=n=>kn(n)?n==="|":n.type==="separator",DD={type:"separator"},RI=n=>{const s=a=>({text:a.text,icon:a.icon,enabled:a.enabled,shortcut:a.shortcut});if(kn(n))return n;switch(n.type){case"separator":return DD;case"submenu":return{type:"nestedmenuitem",...s(n),getSubmenuItems:()=>{const i=n.getSubmenuItems();return kn(i)?i:Ee(i,RI)}};default:const a=n;return{type:"menuitem",...s(a),onAction:fn(a.onAction)}}},uS=(n,s)=>{if(s.length===0)return n;const i=mm(n).filter(d=>!DI(d)).fold(()=>[],d=>[DD]);return n.concat(i).concat(s).concat([DD])},NK=(n,s,a)=>{const i=ho(s,(d,g)=>mt(n,g.toLowerCase()).map(h=>{const C=h.update(a);if(kn(C)&&xf(qe(C)))return uS(d,C.split(" "));if(dl(C)&&C.length>0){const S=Ee(C,RI);return uS(d,S)}else return d}).getOrThunk(()=>d.concat([g])),[]);return i.length>0&&DI(i[i.length-1])&&i.pop(),i},PK=(n,s)=>s.ctrlKey&&!EI(n),RD=n=>n.type==="longpress"||In(n,"touches"),MD=(n,s)=>!RD(s)&&(s.button!==2||s.target===n.getBody()&&s.pointerType===""),BD=(n,s)=>MD(n,s)?n.selection.getStart(!0):s.target,$K=(n,s)=>{const a=CK(n),i=MD(n,s)?"selection":"point";if(xf(a)){const d=BD(n,s);return uh(Le.fromDom(d),a)?"node":i}else return i},FK=(n,s,a)=>{const d=rr().deviceType.isTouch,g=tr(Ao.sketch({dom:{tag:"div"},lazySink:s,onEscape:()=>n.focus(),onShow:()=>a.setContextMenuState(!0),onHide:()=>a.setContextMenuState(!1),fireDismissalEventInstead:{},inlineBehaviours:De([Nt("dismissContextMenu",[be(Rm(),(S,x)=>{mn.close(S),n.focus()})])])})),h=()=>Ao.hide(g),C=S=>{if(EI(n)&&S.preventDefault(),PK(n,S)||SK(n))return;const x=$K(n,S),k=()=>{const N=BD(n,S),F=n.ui.registry.getAll(),L=TI(n);return NK(F.contextMenus,L,N)};(d()?BK:_K)(n,S,k,a,g,x)};n.on("init",()=>{const S="ResizeEditor ScrollContent ScrollWindow longpresscancel"+(d()?"":" ResizeWindow");n.on(S,h),n.on("longpress contextmenu",C)})},ND=40,cT=ND/2,MI=(n,s,a,i,d,g)=>n.fold(()=>hp.snap({sensor:Jm(a-cT,i-cT),range:Ln(d,g),output:Jm(T.some(a),T.some(i)),extra:{td:s}}),h=>{const C=a-cT,S=i-cT,x=ND,k=ND,D=h.element.dom.getBoundingClientRect();return hp.snap({sensor:Jm(C,S),range:Ln(x,k),output:Jm(T.some(a-D.width/2),T.some(i-D.height/2)),extra:{td:s}})}),iT=(n,s,a)=>{const i=(d,g)=>d.exists(h=>Vn(h,g));return{getSnapPoints:n,leftAttr:"data-drag-left",topAttr:"data-drag-top",onSensor:(d,g)=>{const h=g.td;i(s.get(),h)||(s.set(h),a(h))},mustSnap:!0}},BI=n=>En(br.sketch({dom:{tag:"div",classes:["tox-selector"]},buttonBehaviours:De([hp.config({mode:"mouseOrTouch",blockerClass:"blocker",snaps:n}),Jy.config({})]),eventOrder:{mousedown:["dragging","alloy.base.behaviour"],touchstart:["dragging","alloy.base.behaviour"]}})),NI=(n,s)=>{const a=ct([]),i=ct([]),d=ct(!1),g=Ht(),h=Ht(),C=ze=>{const ve=ld(ze);return MI(F.getOpt(s),ze,ve.x,ve.y,ve.width,ve.height)},S=()=>Ee(a.get(),ze=>C(ze)),x=ze=>{const ve=ld(ze);return MI(L.getOpt(s),ze,ve.right,ve.bottom,ve.width,ve.height)},k=()=>Ee(i.get(),ze=>x(ze)),D=iT(S,g,ze=>{h.get().each(ve=>{n.dispatch("TableSelectorChange",{start:ze,finish:ve})})}),N=iT(k,h,ze=>{g.get().each(ve=>{n.dispatch("TableSelectorChange",{start:ve,finish:ze})})}),F=BI(D),L=BI(N),W=tr(F.asSpec()),j=tr(L.asSpec()),V=(ze,ve,ke,ht)=>{const tt=ve.dom.getBoundingClientRect();Xt(ze.element,"display");const qt=nh(Le.fromDom(n.getBody())).dom.innerHeight,Ct=ke(tt),Lt=ht(tt,qt);(Ct||Lt)&&Rt(ze.element,"display","none")},K=(ze,ve,ke,ht)=>{const tt=ke(ve);hp.snapTo(ze,tt),V(ze,ve,Lt=>Lt[ht]<0,(Lt,nt)=>Lt[ht]>nt)},Q=ze=>K(W,ze,C,"top"),le=()=>g.get().each(Q),me=ze=>K(j,ze,x,"bottom"),Fe=()=>h.get().each(me);if(rr().deviceType.isTouch()){const ze=ve=>Ee(ve,Le.fromDom);n.on("TableSelectionChange",ve=>{d.get()||($d(s,W),$d(s,j),d.set(!0));const ke=Le.fromDom(ve.start),ht=Le.fromDom(ve.finish);g.set(ke),h.set(ht),T.from(ve.otherCells).each(tt=>{a.set(ze(tt.upOrLeftCells)),i.set(ze(tt.downOrRightCells)),Q(ke),me(ht)})}),n.on("ResizeEditor ResizeWindow ScrollContent",()=>{le(),Fe()}),n.on("TableSelectionClear",()=>{d.get()&&(Gi(W),Gi(j),d.set(!1)),g.clear(),h.clear()})}};var IK=` +`;const LK=n=>n.nodeName==="BR"||!!n.getAttribute("data-mce-bogus")||n.getAttribute("data-mce-type")==="bookmark",PD=(n,s,a)=>{const i=s.delimiter??"›",d=(S,x,k)=>br.sketch({dom:{tag:"div",classes:["tox-statusbar__path-item"],attributes:{"data-index":k}},components:[_n(S)],action:D=>{n.focus(),n.selection.select(x),n.nodeChanged()},buttonBehaviours:De([Yn.config({...a.tooltips.getConfig({tooltipText:a.translate(["Select the {0} element",x.nodeName.toLowerCase()]),onShow:(D,N)=>{ta(D.element,N.element)},onHide:D=>{lw(D.element)}})}),Iu.button(a.isDisabled),is(()=>a.checkUiComponentContext("any"))])}),g=()=>({dom:{tag:"div",classes:["tox-statusbar__path-divider"],attributes:{"aria-hidden":!0}},components:[_n(` ${i} `)]}),h=S=>ho(S,(x,k,D)=>{const N=d(k.name,k.element,D);return D===0?x.concat([N]):x.concat([g(),N])},[]),C=S=>{const x=[];let k=S.length;for(;k-- >0;){const D=S[k];if(D.nodeType===1&&!LK(D)){const N=ZN(n,D);if(N.isDefaultPrevented()||x.push({name:N.name,element:D}),N.isPropagationStopped())break}}return x};return{dom:{tag:"div",classes:["tox-statusbar__path"],attributes:{role:"group","aria-label":a.translate("Element Path")}},behaviours:De([lt.config({mode:"flow",selector:"div[role=button]"}),Je.config({disabled:a.isDisabled}),is(()=>a.checkUiComponentContext("any")),Wn.config({}),At.config({}),Nt("elementPathEvents",[Hn((S,x)=>{n.shortcuts.add("alt+F11","focus statusbar elementpath",()=>lt.focusIn(S)),n.on("NodeChange",k=>{const D=C(k.parents),N=D.length>0?h(D):[];At.set(S,N)})})])]),components:[]}};var om;(function(n){n[n.None=0]="None",n[n.Both=1]="Both",n[n.Vertical=2]="Vertical"})(om||(om={}));const $D=n=>{const s=Le.fromDom(n.getContainer()),a=ks(s),i=wr(s);return{height:a,width:i}},FD=(n,s,a,i)=>{const d=XE(i.height+s.top,h3(n),p3(n));return a===om.Both?{height:d,width:XE(i.width+s.left,E5(n),uC(n))}:{height:d}},PI=(n,s,a)=>{const i=Le.fromDom(n.getContainer()),d=$D(n),g=FD(n,s,a,d);return Fo(g,(h,C)=>{wi(h)&&Rt(i,C,aS(h))}),zN(n),g},HK=n=>{const s=v3(n);return s===!1?om.None:s==="both"?om.Both:om.Vertical},zK=(n,s)=>s===om.Both?Or.translate(["Editor's height: {0} pixels, Editor's width: {1} pixels",n.height,n.width]):Or.translate(["Editor's height: {0} pixels",n.height]),ID=(n,s,a)=>{wt(n.element,"aria-valuetext",zK(s,a))},lT=(n,s,a,i,d)=>{const h=Ln(i*20,d*20),C=PI(n,h,a);return ID(s,C,a),T.some(!0)},$I=(n,s)=>{const a=HK(n);if(a===om.None)return T.none();const i=a===om.Both?Or.translate("Press the arrow keys to resize the editor."):Or.translate("Press the Up and Down arrow keys to resize the editor."),d=a===om.Both?"tox-statusbar__resize-cursor-both":"tox-statusbar__resize-cursor-default";return T.some(bi("resize-handle",{tag:"div",classes:["tox-statusbar__resize-handle",d],attributes:{"aria-label":s.translate(i),"data-mce-name":"resize-handle",role:"separator"},behaviours:[hp.config({mode:"mouse",repositionTarget:!1,onDrag:(g,h,C)=>{const S=PI(n,C,a);ID(g,S,a)},blockerClass:"tox-blocker"}),lt.config({mode:"special",onLeft:g=>lT(n,g,a,-1,0),onRight:g=>lT(n,g,a,1,0),onUp:g=>lT(n,g,a,0,-1),onDown:g=>lT(n,g,a,0,1)}),Wn.config({}),Pt.config({}),Yn.config(s.tooltips.getConfig({tooltipText:s.translate("Resize")})),Nt("set-aria-valuetext",[Hn(g=>{const h=()=>{ID(g,$D(n),a)};n._skinLoaded?h():n.once("SkinLoaded",h)})])],eventOrder:{[zi()]:["add-focusable","set-aria-valuetext"]}},s.icons))},VK=(n,s)=>{const a=(i,d,g)=>At.set(i,[_n(s.translate(["{0} "+g,d[g]]))]);return br.sketch({dom:{tag:"button",classes:["tox-statusbar__wordcount"]},components:[],buttonBehaviours:De([Iu.button(s.isDisabled),is(()=>s.checkUiComponentContext("any")),Wn.config({}),At.config({}),je.config({store:{mode:"memory",initialValue:{mode:"words",count:{words:0,characters:0}}}}),Nt("wordcount-events",[Cu(i=>{const d=je.getValue(i),g=d.mode==="words"?"characters":"words";je.setValue(i,{mode:g,count:d.count}),a(i,d.count,g)}),Hn(i=>{n.on("wordCountUpdate",d=>{const{mode:g}=je.getValue(i);je.setValue(i,{mode:g,count:d.wordCount}),a(i,d.wordCount,g)})})])]),eventOrder:{[Ha()]:["disabling","alloy.base.behaviour","wordcount-events"]}})},UK=(n,s)=>{const a=()=>({dom:{tag:"span",classes:["tox-statusbar__branding"]},components:[{dom:{tag:"a",attributes:{href:"https://www.tiny.cloud/powered-by-tiny?utm_campaign=poweredby&utm_source=tiny&utm_medium=referral&utm_content=v7",rel:"noopener",target:"_blank","aria-label":n.translate(["Build with {0}","TinyMCE"])},innerHtml:n.translate(["Build with {0}",IK.trim()])},behaviours:De([Pt.config({})])}]}),i=()=>{const C=PO("Alt+0"),S="Press {0} for help";return{dom:{tag:"div",classes:["tox-statusbar__help-text"]},components:[_n(Or.translate([S,C]))]}},d=()=>{const C=[];return n.hasPlugin("wordcount")&&C.push(VK(n,s)),_5(n)&&C.push(a()),{dom:{tag:"div",classes:["tox-statusbar__right-container"]},components:C}},g=()=>{const C=[],S=X7(n),x=K7(n),k=_5(n)||n.hasPlugin("wordcount"),D=()=>{const N="tox-statusbar__text-container--flex-start",F="tox-statusbar__text-container--flex-end",L="tox-statusbar__text-container--space-around";if(S){const W="tox-statusbar__text-container-3-cols";return!k&&!x?[W,L]:k&&!x?[W,F]:[W,N]}return[k&&!x?F:N]};return x&&C.push(PD(n,{},s)),S&&C.push(i()),k&&C.push(d()),C.length>0?[{dom:{tag:"div",classes:["tox-statusbar__text-container",...D()]},components:C}]:[]};return{dom:{tag:"div",classes:["tox-statusbar"]},components:(()=>{const C=g(),S=$I(n,s);return C.concat(S.toArray())})()}},FI=(n,s)=>s.get().getOrDie(`UI for ${n} has not been rendered`),ZK=(n,s)=>{const a=n.inline,i=a?Gq:Hq,d=_g(n)?mX:J$,g=qq(),h=Ht(),C=Ht(),S=Ht(),N=rr().deviceType.isTouch()?["tox-platform-touch"]:[],F=mC(n),L=Ap(n),W=En({dom:{tag:"div",classes:["tox-anchorbar"]}}),j=En({dom:{tag:"div",classes:["tox-bottom-anchorbar"]}}),V=()=>g.mainUi.get().map(rt=>rt.outerContainer).bind(jn.getHeader),K=()=>kt.fromOption(g.dialogUi.get().map(rt=>rt.sink),"UI has not been rendered"),Q=()=>kt.fromOption(g.popupUi.get().map(rt=>rt.sink),"(popup) UI has not been rendered"),le=g.lazyGetInOuterOrDie("anchor bar",W.getOpt),me=g.lazyGetInOuterOrDie("bottom anchor bar",j.getOpt),Fe=g.lazyGetInOuterOrDie("toolbar",jn.getToolbar),ze=g.lazyGetInOuterOrDie("throbber",jn.getThrobber),ve=oG({popup:Q,dialog:K},n,le,me),ke=()=>{const rt={attributes:{[m0]:F?ur.BottomToTop:ur.TopToBottom}},Ft=jn.parts.menubar({dom:{tag:"div",classes:["tox-menubar"]},backstage:ve.popup,onEscape:()=>{n.focus()}}),vn=jn.parts.toolbar({dom:{tag:"div",classes:["tox-toolbar"]},getSink:ve.popup.shared.getSink,providers:ve.popup.shared.providers,onEscape:()=>{n.focus()},onToolbarToggled:Qp=>{oW(n,Qp)},type:L,lazyToolbar:Fe,lazyHeader:()=>V().getOrDie("Could not find header element"),...rt}),ln=jn.parts["multiple-toolbar"]({dom:{tag:"div",classes:["tox-toolbar-overlord"]},providers:ve.popup.shared.providers,onEscape:()=>{n.focus()},type:L}),ia=Ag(n),mo=S3(n),Aa=C3(n),Bs=y3(n),Dr=ht(Bs),Bc=ia||mo||Aa,vi=()=>ia?[ln]:mo?[vn]:[],pf=[Dr,Ft];return jn.parts.header({dom:{tag:"div",classes:["tox-editor-header"].concat(Bc?[]:["tox-editor-header--empty"]),...rt},components:Ot([Aa?pf:[],vi(),_p(n)?[]:[W.asSpec()]]),sticky:_g(n),editor:n,sharedBackstage:ve.popup.shared})},ht=rt=>jn.parts.promotion({dom:{tag:"div",classes:["tox-promotion"]},promotionLink:rt}),tt=()=>{const rt=jn.parts.socket({dom:{tag:"div",classes:["tox-edit-area"]}}),Ft=jn.parts.sidebar({dom:{tag:"div",classes:["tox-sidebar"]}});return{dom:{tag:"div",classes:["tox-sidebar-wrap"]},components:[rt,Ft]}},qt=()=>{const rt=B5(n),Ft=Vn(Ma(),rt)&&lo(rt,"display")==="grid",vn={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-tinymce-aux"].concat(N),attributes:{...Or.isRtl()?{dir:"rtl"}:{}}},behaviours:De([Wr.config({useFixed:()=>d.isDocked(V)})])},ln={dom:{styles:{width:document.body.clientWidth+"px"}},events:ao([be(Lf(),Aa=>{Rt(Aa.element,"width",document.body.clientWidth+"px")})])},ia=tr(so(vn,Ft?ln:{})),mo=eC(ia);return C.set(mo),{sink:ia,mothership:mo}},Ct=()=>{const rt={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-silver-popup-sink","tox-tinymce-aux"].concat(N),attributes:{...Or.isRtl()?{dir:"rtl"}:{}}},behaviours:De([Wr.config({useFixed:()=>d.isDocked(V),getBounds:()=>s.getPopupSinkBounds()})])},Ft=tr(rt),vn=eC(Ft);return S.set(vn),{sink:Ft,mothership:vn}},Lt=()=>{const rt=ke(),Ft=tt(),vn=jn.parts.throbber({dom:{tag:"div",classes:["tox-throbber"]},backstage:ve.popup}),ln=jn.parts.viewWrapper({backstage:ve.popup}),ia=q7(n)&&!a?T.some(UK(n,ve.popup.shared.providers)):T.none(),mo=Ot([F?[]:[rt],a?[]:[Ft],F?[rt]:[]]),Aa=jn.parts.editorContainer({components:Ot([mo,a?[]:[j.asSpec()]])}),Bs=N5(n),Dr={role:"application",...Or.isRtl()?{dir:"rtl"}:{},...Bs?{"aria-hidden":"true"}:{}},Bc=tr(jn.sketch({dom:{tag:"div",classes:["tox","tox-tinymce"].concat(a?["tox-tinymce-inline"]:[]).concat(F?["tox-tinymce--toolbar-bottom"]:[]).concat(N),styles:{visibility:"hidden",...Bs?{opacity:"0",border:"0"}:{}},attributes:Dr},components:[Aa,...a?[]:[ln,...ia.toArray()],vn],behaviours:De([is(()=>ve.popup.shared.providers.checkUiComponentContext("any")),Je.config({disableClass:"tox-tinymce--disabled"}),lt.config({mode:"cyclic",selector:".tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle"})])})),vi=eC(Bc);return h.set(vi),{mothership:vi,outerContainer:Bc}},nt=rt=>{const Ft=aS(XF(n)),vn=aS(Uq(n));return n.inline||(Af("div","width",vn)&&Rt(rt.element,"width",vn),Af("div","height",Ft)?Rt(rt.element,"height",Ft):Rt(rt.element,"height","400px")),Ft},Ce=rt=>{n.addShortcut("alt+F9","focus menubar",()=>{jn.focusMenubar(rt)}),n.addShortcut("alt+F10","focus toolbar",()=>{jn.focusToolbar(rt)}),n.addCommand("ToggleToolbarDrawer",(Ft,vn,ln)=>{vn!=null&&vn.skipFocus?(X$("skipFocus"),jn.toggleToolbarDrawerWithoutFocusing(rt)):ln!=null&&ln.skip_focus?jn.toggleToolbarDrawerWithoutFocusing(rt):jn.toggleToolbarDrawer(rt)}),n.addQueryStateHandler("ToggleToolbarDrawer",()=>jn.isToolbarDrawerToggled(rt)),n.on("blur",()=>{Ap(n)===pi.floating&&jn.isToolbarDrawerToggled(rt)&&jn.toggleToolbarDrawerWithoutFocusing(rt)})},Be=rt=>{const{mainUi:Ft,popupUi:vn,uiMotherships:ln}=rt;jo(L7(n),(Qb,bf)=>{n.ui.registry.addGroupToolbarButton(bf,Qb)});const{buttons:ia,menuItems:mo,contextToolbars:Aa,sidebars:Bs,views:Dr}=n.ui.registry.getAll(),Bc=M5(n),vi={menuItems:mo,menus:fC(n),menubar:z7(n),toolbar:Bc.getOrThunk(()=>b3(n)),allowToolbarGroups:L===pi.floating,buttons:ia,sidebar:Bs,views:Dr};Ce(Ft.outerContainer),X6(n,Ft.mothership,ln),d.setup(n,ve.popup.shared,V),vK(n,ve.popup),FK(n,ve.popup.shared.getSink,ve.popup),gG(n),wG(n,ze,ve.popup.shared),Xb(n,Aa,vn.sink,{backstage:ve.popup}),NI(n,vn.sink);const pf=n.getElement(),Qp=nt(Ft.outerContainer),sm={targetNode:pf,height:Qp};return i.render(n,rt,vi,ve.popup,sm)},St=rt=>(S.set(rt.mothership),rt),$t=()=>{const rt=Lt(),Ft=qt(),vn=Xd(n)?Ct():St(Ft);g.dialogUi.set(Ft),g.popupUi.set(vn),g.mainUi.set(rt);const ln={popupUi:vn,dialogUi:Ft,mainUi:rt,uiMotherships:g.getUiMotherships()};return Be(ln)};return{popups:{backstage:ve.popup,getMothership:()=>FI("popups",S)},dialogs:{backstage:ve.dialog,getMothership:()=>FI("dialogs",C)},renderUI:$t}},II=n=>{const s=[],a={};return Fo(n,(i,d)=>{i.fold(()=>{s.push(d)},g=>{a[d]=g})}),s.length>0?kt.error(s):kt.value(a)},WK=(n,s,a,i)=>{const d=En(wp.sketch(g=>({dom:{tag:"div",classes:["tox-form"].concat(n.classes)},components:Ee(n.items,h=>ZC(g,h,s,a,i))})));return{dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[d.asSpec()]}],behaviours:De([lt.config({mode:"acyclic",useTabstopAt:pe(Lb)}),Ul.memento(d),DP(d,{postprocess:g=>II(g).fold(h=>(console.error(h),{}),Qt)}),Nt("dialog-body-panel",[be(pc(),(g,h)=>{g.getSystem().broadcastOn([vE],{newFocus:T.some(h.event.target)})})])])}},jK=(n,s,a)=>Ee(n,(i,d)=>{At.set(a,n[d].view());const g=s.dom.getBoundingClientRect();return At.set(a,[]),g.height}),GK=n=>Qn(os(n,(s,a)=>s>a?-1:s{const i=Bv(n).dom,d=Yc(n,".tox-dialog-wrap").getOr(n),g=lo(d,"position")==="fixed";let h;g?h=Math.max(i.clientHeight,window.innerHeight):h=Math.max(i.offsetHeight,i.scrollHeight);const C=ks(s),x=s.dom.offsetLeft>=a.dom.offsetLeft+wr(a)?Math.max(ks(a),C):C,k=parseInt(lo(n,"margin-top"),10)||0,D=parseInt(lo(n,"margin-bottom"),10)||0,F=ks(n)+k+D-x;return h-F},KK=(n,s)=>{Qn(n).each(a=>pb.showTab(s,a.value))},LD=(n,s)=>{Rt(n,"height",s+"px"),Rt(n,"flex-basis",s+"px")},uT=(n,s,a)=>{Yc(n,'[role="dialog"]').each(i=>{Nn(i,'[role="tablist"]').each(d=>{a.get().map(g=>(Rt(s,"height","0"),Rt(s,"flex-basis","0"),Math.min(g,qK(i,s,d)))).each(g=>{LD(s,g)})})})},dT=n=>Nn(n,'[role="tabpanel"]'),YK=n=>{const s=Ht();return{extraEvents:[Hn(d=>{const g=d.element;dT(g).each(h=>{Rt(h,"visibility","hidden"),d.getSystem().getByDom(h).toOptional().each(C=>{const S=jK(n,h,C);GK(S).fold(s.clear,s.set)}),uT(g,h,s),Xt(h,"visibility"),KK(n,d),requestAnimationFrame(()=>{uT(g,h,s)})})}),be(Lf(),d=>{const g=d.element;dT(g).each(h=>{uT(g,h,s)})}),be(EP,(d,g)=>{const h=d.element;dT(h).each(C=>{const S=$s(ss(C));Rt(C,"visibility","hidden");const x=vo(C,"height").map(N=>parseInt(N,10));Xt(C,"height"),Xt(C,"flex-basis");const k=C.dom.getBoundingClientRect().height;x.forall(N=>k>N)?(s.set(k),uT(h,C,s)):x.each(N=>{LD(C,N)}),Xt(C,"visibility"),S.each(Ps)})})],selectFirst:!1}},LI="send-data-to-section",HI="send-data-to-view",Jp=(n,s,a,i)=>{const d=ct({}),g=k=>{const D=je.getValue(k),N=II(D).getOr({}),F=d.get(),L=so(F,N);d.set(L)},h=k=>{const D=d.get();je.setValue(k,D)},C=ct(null),S=Ee(n.tabs,k=>({value:k.name,dom:{tag:"div",classes:["tox-dialog__body-nav-item"]},components:[_n(a.shared.providers.translate(k.title))],view:()=>[wp.sketch(D=>({dom:{tag:"div",classes:["tox-form"]},components:Ee(k.items,N=>ZC(D,N,s,a,i)),formBehaviours:De([lt.config({mode:"acyclic",useTabstopAt:pe(Lb)}),Nt("TabView.form.events",[Hn(h),Zi(g)]),Ec.config({channels:hd([{key:LI,value:{onReceive:g}},{key:HI,value:{onReceive:h}}])})])}))]})),x=YK(S);return pb.sketch({dom:{tag:"div",classes:["tox-dialog__body"]},onChangeTab:(k,D,N)=>{const F=je.getValue(D);gt(k,h6,{name:F,oldName:C.get()}),C.set(F)},tabs:S,components:[pb.parts.tabbar({dom:{tag:"div",classes:["tox-dialog__body-nav"]},components:[E7.parts.tabs({})],markers:{tabClass:"tox-tab",selectedClass:"tox-dialog__body-nav-item--active"},tabbarBehaviours:De([Wn.config({})])}),pb.parts.tabview({dom:{tag:"div",classes:["tox-dialog__body-content"]}})],selectFirst:x.selectFirst,tabSectionBehaviours:De([Nt("tabpanel",x.extraEvents),lt.config({mode:"acyclic"}),ue.config({find:k=>Qn(pb.getViewItems(k))}),Gp(T.none(),k=>(k.getSystem().broadcastOn([LI],{}),d.get()),(k,D)=>{d.set(D),k.getSystem().broadcastOn([HI],{})})])})},HD=(n,s,a,i,d,g)=>{const h=x=>{const k=x.body;switch(k.type){case"tabpanel":return[Jp(k,x.initialData,i,g)];default:return[WK(k,x.initialData,i,g)]}},C=(x,k)=>T.some({isTabPanel:()=>k.body.type==="tabpanel"}),S={"aria-live":"polite"};return{dom:{tag:"div",classes:["tox-dialog__content-js"],attributes:{...a.map(x=>({id:x})).getOr({}),...d?S:{}}},components:[],behaviours:De([Ul.childAt(0),Ea.config({channel:`${A6}-${s}`,updateState:C,renderComponents:h,initialData:n})])}},XK=(n,s,a,i,d,g)=>HD(n,s,T.some(a),i,d,g),JK=(n,s,a,i)=>{const d=HD(n,s,T.none(),a,!1,i);return es.parts.body(d)},QK=n=>{const s={dom:{tag:"div",classes:["tox-dialog__content-js"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-iframe"]},components:[T6(T.none(),{dom:{tag:"iframe",attributes:{src:n.url}},behaviours:De([Wn.config({}),Pt.config({})])})]}],behaviours:De([lt.config({mode:"acyclic",useTabstopAt:pe(Lb)})])};return es.parts.body(s)},eY=vb.deviceType.isTouch(),zI=(n,s)=>({dom:{tag:"div",styles:{display:"none"},classes:["tox-dialog__header"]},components:[n,s]}),zD=(n,s)=>es.parts.close(br.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":s.translate("Close")}},action:n,buttonBehaviours:De([Wn.config({})])})),VI=()=>es.parts.title({dom:{tag:"div",classes:["tox-dialog__title"],innerHtml:"",styles:{display:"none"}}}),UI=(n,s)=>es.parts.body({dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[{dom:Vd(`

    ${yB(s.translate(n))}

    `)}]}]}),ZI=n=>es.parts.footer({dom:{tag:"div",classes:["tox-dialog__footer"]},components:n}),WI=(n,s)=>[Xi.sketch({dom:{tag:"div",classes:["tox-dialog__footer-start"]},components:n}),Xi.sketch({dom:{tag:"div",classes:["tox-dialog__footer-end"]},components:s})],VD=n=>{const s="tox-dialog",a=s+"-wrap",i=a+"__backdrop",d=s+"__disable-scroll";return es.sketch({role:n.role,lazySink:n.lazySink,onEscape:g=>(n.onEscape(g),T.some(!0)),useTabstopAt:g=>!Lb(g),firstTabstop:n.firstTabstop,dom:{tag:"div",classes:[s].concat(n.extraClasses),styles:{position:"relative",...n.extraStyles}},components:[n.header,n.body,...n.footer.toArray()],parts:{blocker:{dom:Vd(`
    `),components:[{dom:{tag:"div",classes:eY?[i,i+"--opaque"]:[i]}}]}},dragBlockClass:a,modalBehaviours:De([Pt.config({}),Nt("dialog-events",n.dialogEvents.concat([sa(pc(),(g,h)=>{$.isBlocked(g)?q():lt.focusIn(g)}),be(zf(),(g,h)=>{g.getSystem().broadcastOn([vE],{newFocus:h.event.newFocus})})])),Nt("scroll-lock",[Hn(()=>{Un(Ma(),d)}),Zi(()=>{wo(Ma(),d)})]),...n.extraBehaviours]),eventOrder:{[Ha()]:["dialog-events"],[zi()]:["scroll-lock","dialog-events","alloy.base.behaviour"],[wl()]:["alloy.base.behaviour","dialog-events","scroll-lock"],...n.eventOrder}})},jI=n=>br.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":n.translate("Close"),"data-mce-name":"close"}},buttonBehaviours:De([Wn.config({}),Yn.config(n.tooltips.getConfig({tooltipText:n.translate("Close")}))]),components:[bi("close",{tag:"span",classes:["tox-icon"]},n.icons)],action:s=>{Gt(s,lf)}}),GI=(n,s,a,i)=>{const d=g=>[_n(i.translate(g.title))];return{dom:{tag:"h1",classes:["tox-dialog__title"],attributes:{...a.map(g=>({id:g})).getOr({})}},components:[],behaviours:De([Ea.config({channel:`${LP}-${s}`,initialData:n,renderComponents:d})])}},UD=()=>({dom:Vd('
    ')}),tY=(n,s,a,i)=>Xi.sketch({dom:Vd('
    '),components:[GI(n,s,T.some(a),i),UD(),jI(i)],containerBehaviours:De([hp.config({mode:"mouse",blockerClass:"blocker",getTarget:d=>xr(d,'[role="dialog"]').getOrDie(),snaps:{getSnapPoints:()=>[],leftAttr:"data-drag-left",topAttr:"data-drag-top"},onDrag:(d,g)=>{d.getSystem().broadcastOn([fr()],{target:g})}})])}),nY=(n,s,a)=>{const i=es.parts.title(GI(n,s,T.none(),a)),d=es.parts.draghandle(UD()),g=es.parts.close(jI(a)),h=[i].concat(n.draggable?[d]:[]).concat([g]);return Xi.sketch({dom:Vd('
    '),components:h})},qI=(n,s,a)=>nY({title:a.shared.providers.translate(n),draggable:a.dialog.isDraggableModal()},s,a.shared.providers),KI=(n,s,a,i)=>({dom:{tag:"div",classes:["tox-dialog__busy-spinner"],attributes:{"aria-label":a.translate(n)},styles:{left:"0px",right:"0px",bottom:"0px",top:`${i.getOr(0)}px`,position:"absolute"}},behaviours:s,components:[{dom:Vd('
    ')}]}),YI=(n,s,a)=>({onClose:()=>a.closeWindow(),onBlock:i=>{const d=Nn(n().element,".tox-dialog__header").map(g=>ks(g));es.setBusy(n(),(g,h)=>KI(i.message,h,s,d))},onUnblock:()=>{es.setIdle(n())}}),mT="tox-dialog--fullscreen",ZD="tox-dialog--width-lg",WD="tox-dialog--width-md",fT=n=>{switch(n){case"large":return T.some(ZD);case"medium":return T.some(WD);default:return T.none()}},XI=(n,s)=>{const a=Le.fromDom(s.element.dom);qo(a,mT)||(cr(a,[ZD,WD]),fT(n).each(i=>Un(a,i)))},JI=(n,s)=>{const a=Le.fromDom(n.element.dom),i=Wv(a),d=Bt(i,g=>g===ZD||g===WD).or(fT(s));iu(a,[mT,...d.toArray()])},QI=(n,s,a)=>tr(VD({...n,firstTabstop:1,lazySink:a.shared.getSink,extraBehaviours:[gE({}),...n.extraBehaviours],onEscape:i=>{Gt(i,lf)},dialogEvents:s,eventOrder:{[vd()]:[Ea.name(),Ec.name()],[zi()]:["scroll-lock",Ea.name(),"messages","dialog-events","alloy.base.behaviour"],[wl()]:["alloy.base.behaviour","dialog-events","messages",Ea.name(),"scroll-lock"]}})),jD=(n,s={})=>{const a=i=>{const d=Ee(i.items,g=>{const h=mt(s,g.name).getOr(ct(!1));return{...g,storage:h}});return{...i,items:d}};return Ee(n,i=>i.type==="menu"?a(i):i)},eL=n=>ho(n,(s,a)=>a.type==="menu"?ho(a.items,(d,g)=>(d[g.name]=g.storage,d),s):s,{}),GD=(n,s)=>{const a=()=>s.getSystem().isConnected()?lt.focusIn(s):void 0,i=h=>Gs(h,"disabled")||js(h,"aria-disabled").exists(C=>C==="true"),d=ss(s.element),g=$s(d);$s(d).fold(a,h=>{i(h)||g.exists(C=>Qg(h,C)&&i(C))?a():n().toOptional().filter(C=>!Qg(C.element,h)).each(a)})},qD=(n,s,a)=>[Md(pc(),pE),n(jp,(i,d,g,h)=>{qc(h.element)&&$s(ss(h.element)).each(Do),s.onClose(),d.onClose()}),n(lf,(i,d,g,h)=>{d.onCancel(i),Gt(h,jp)}),be(g6,(i,d)=>{s.onUnblock(),GD(a,i)}),be(fE,(i,d)=>s.onBlock(d.event))],oY=(n,s,a)=>{const i=(g,h)=>be(g,(C,S)=>{d(C,(x,k)=>{h(n(),x,S.event,C)})}),d=(g,h)=>{Ea.getState(g).get().each(C=>{h(C,g)})};return[...qD(i,s,a),i(tm,(g,h,C)=>{h.onAction(g,{name:C.name})})]},Jb=(n,s,a)=>{const i=(g,h)=>be(g,(C,S)=>{d(C,(x,k)=>{h(n(),x,S.event,C)})}),d=(g,h)=>{Ea.getState(g).get().each(C=>{h(C.internalDialog,g)})};return[...qD(i,s,a),i(zC,(g,h)=>h.onSubmit(g)),i(ca,(g,h,C)=>{h.onChange(g,{name:C.name})}),i(tm,(g,h,C,S)=>{h.onAction(g,{name:C.name,value:C.value}),GD(a,S)}),i(h6,(g,h,C)=>{h.onTabChange(g,{newTabName:C.name,oldTabName:C.oldName})}),Zi(g=>{const h=n();je.setValue(g,h.getData())})]},sY=(n,s)=>_E(n,n.type,s),rY=(n,s,a)=>Bt(s,i=>i.name===a).bind(i=>i.memento.getOpt(n)),KD=(n,s)=>{const a=s.map(C=>C.footerButtons).getOr([]),i=um(a,C=>C.align==="start"),d=(C,S)=>Xi.sketch({dom:{tag:"div",classes:[`tox-dialog__footer-${C}`]},components:Ee(S,x=>x.memento.asSpec())}),g=d("start",i.pass),h=d("end",i.fail);return[g,h]},tL=(n,s,a)=>{const i=(d,g)=>{const h=Ee(g.buttons,S=>{const x=En(sY(S,a));return{name:S.name,align:S.align,memento:x}}),C=S=>rY(d,h,S);return T.some({lookupByName:C,footerButtons:h})};return{dom:Vd(''),components:[],behaviours:De([Ea.config({channel:`${HP}-${s}`,initialData:n,updateState:i,renderComponents:KD})])}},aY=(n,s,a)=>tL(n,s,a),nL=(n,s,a)=>es.parts.footer(tL(n,s,a)),gT=(n,s)=>{if(n.getRoot().getSystem().isConnected()){const i=ue.getCurrent(n.getFormWrapper()).getOr(n.getFormWrapper());return wp.getField(i,s).orThunk(()=>n.getFooter().bind(h=>Ea.getState(h).get()).bind(h=>h.lookupByName(s)))}else return T.none()},cY=(n,s)=>{const a=n.getRoot();return Ea.getState(a).get().map(i=>$a(Eo("data",i.dataValidator,s))).getOr(s)},oL=(n,s,a)=>{const i=L=>{const W=n.getRoot();W.getSystem().isConnected()&&L(W)},F={getData:()=>{const L=n.getRoot(),W=L.getSystem().isConnected()?n.getFormWrapper():L,j=je.getValue(W),V=jo(a,K=>K.get());return{...j,...V}},setData:L=>{i(W=>{const j=F.getData(),V=so(j,L),K=cY(n,V),Q=n.getFormWrapper();je.setValue(Q,K),Fo(a,(le,me)=>{In(V,me)&&le.set(V[me])})})},setEnabled:(L,W)=>{gT(n,L).each(W?Je.enable:Je.disable)},focus:L=>{gT(n,L).each(Pt.focus)},block:L=>{if(!kn(L))throw new Error("The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument");i(W=>{gt(W,fE,{message:L})})},unblock:()=>{i(L=>{Gt(L,g6)})},showTab:L=>{i(W=>{const j=n.getBody();Ea.getState(j).get().exists(K=>K.isTabPanel())&&ue.getCurrent(j).each(K=>{pb.showTab(K,L)})})},redial:L=>{i(W=>{const j=n.getId(),V=s(L),K=jD(V.internalDialog.buttons,a);W.getSystem().broadcastOn([`${bE}-${j}`],V),W.getSystem().broadcastOn([`${LP}-${j}`],V.internalDialog),W.getSystem().broadcastOn([`${A6}-${j}`],V.internalDialog),W.getSystem().broadcastOn([`${HP}-${j}`],{...V.internalDialog,buttons:K}),F.setData(V.initialData)})},close:()=>{i(L=>{Gt(L,jp)})},toggleFullscreen:n.toggleFullscreen};return F},iY=(n,s,a)=>{const i=Ge("dialog"),d=n.internalDialog,g=qI(d.title,i,a),h=ct(d.size),C=Q=>gT(V,Q),S=fT(h.get()).toArray(),x=(Q,le)=>(h.set(le.internalDialog.size),XI(le.internalDialog.size,Q),T.some(le)),k=JK({body:d.body,initialData:d.initialData},i,a,C),D=jD(d.buttons),N=eL(D),F=Ja(D.length!==0,nL({buttons:D},i,a)),L=Jb(()=>K,YI(()=>j,a.shared.providers,s),a.shared.getSink),W={id:i,header:g,body:k,footer:F,extraClasses:S,extraBehaviours:[Ea.config({channel:`${bE}-${i}`,updateState:x,initialData:n})],extraStyles:{}},j=QI(W,L,a),V=(()=>{const Q=()=>{const me=es.getBody(j);return ue.getCurrent(me).getOr(me)},le=()=>{JI(j,h.get())};return{getId:te(i),getRoot:te(j),getBody:()=>es.getBody(j),getFooter:()=>es.getFooter(j),getFormWrapper:Q,toggleFullscreen:le}})(),K=oL(V,s.redial,N);return{dialog:j,instanceApi:K}},sL=(n,s,a,i=!1,d)=>{const g=Ge("dialog"),h=Ge("dialog-label"),C=Ge("dialog-content"),S=n.internalDialog,x=ke=>gT(ze,ke),k=ct(S.size),D=fT(k.get()).toArray(),N=(ke,ht)=>(k.set(ht.internalDialog.size),XI(ht.internalDialog.size,ke),d(),T.some(ht)),F=En(tY({title:S.title,draggable:!0},g,h,a.shared.providers)),L=En(XK({body:S.body,initialData:S.initialData},g,C,a,i,x)),W=jD(S.buttons),j=eL(W),V=Ja(W.length!==0,En(aY({buttons:W},g,a))),K=Jb(()=>ve,{onBlock:ke=>{$.block(me,(ht,tt)=>{const qt=F.getOpt(me).map(Ct=>ks(Ct.element));return KI(ke.message,tt,a.shared.providers,qt)})},onUnblock:()=>{$.unblock(me)},onClose:()=>s.closeWindow()},a.shared.getSink),Q="tox-dialog-inline",le=rr().os,me=tr({dom:{tag:"div",classes:["tox-dialog",Q,...D],attributes:{role:"dialog",...le.isMacOS()?{"aria-label":S.title}:{"aria-labelledby":h}}},eventOrder:{[vd()]:[Ea.name(),Ec.name()],[Ha()]:["execute-on-form"],[zi()]:["reflecting","execute-on-form"]},behaviours:De([lt.config({mode:"cyclic",onEscape:ke=>(Gt(ke,jp),T.some(!0)),useTabstopAt:ke=>!Lb(ke)&&(Wc(ke)!=="button"||Ts(ke,"disabled")!=="disabled"),firstTabstop:1}),Ea.config({channel:`${bE}-${g}`,updateState:N,initialData:n}),Pt.config({}),Nt("execute-on-form",K.concat([sa(pc(),(ke,ht)=>{lt.focusIn(ke)}),be(zf(),(ke,ht)=>{ke.getSystem().broadcastOn([vE],{newFocus:ht.event.newFocus})})])),$.config({getRoot:()=>T.some(me)}),At.config({}),gE({})]),components:[F.asSpec(),L.asSpec(),...V.map(ke=>ke.asSpec()).toArray()]}),Fe=()=>{JI(me,k.get())},ze={getId:te(g),getRoot:te(me),getFooter:()=>V.map(ke=>ke.get(me)),getBody:()=>L.get(me),getFormWrapper:()=>{const ke=L.get(me);return ue.getCurrent(ke).getOr(ke)},toggleFullscreen:Fe},ve=oL(ze,s.redial,j);return{dialog:me,instanceApi:ve}};var YD=tinymce.util.Tools.resolve("tinymce.util.URI");const lY=n=>{const s=h=>{n.getSystem().isConnected()&&h(n)};return{block:h=>{if(!kn(h))throw new Error("The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument");s(C=>{gt(C,fE,{message:h})})},unblock:()=>{s(h=>{Gt(h,g6)})},close:()=>{s(h=>{Gt(h,jp)})},sendMessage:h=>{s(C=>{C.getSystem().broadcastOn([zP],h)})}}},uY=["insertContent","setContent","execCommand","close","block","unblock"],rL=n=>Ic(n)&&uY.indexOf(n.mceAction)!==-1,dY=n=>!rL(n)&&Ic(n)&&In(n,"mceAction"),mY=(n,s,a)=>{switch(a.mceAction){case"insertContent":n.insertContent(a.content);break;case"setContent":n.setContent(a.content);break;case"execCommand":const i=Kl(a.ui)?a.ui:!1;n.execCommand(a.cmd,i,a.value);break;case"close":s.close();break;case"block":s.block(a.message);break;case"unblock":s.unblock();break}},fY=(n,s,a,i)=>{const d=Ge("dialog"),g=qI(n.title,d,i),h=QK(n),C=n.buttons.bind(Q=>Q.length===0?T.none():T.some(nL({buttons:Q},d,i))),S=oY(()=>K,YI(()=>V,i.shared.providers,s),i.shared.getSink),x={...n.height.fold(()=>({}),Q=>({height:Q+"px","max-height":Q+"px"})),...n.width.fold(()=>({}),Q=>({width:Q+"px","max-width":Q+"px"}))},k=n.width.isNone()&&n.height.isNone()?["tox-dialog--width-lg"]:[],D=new YD(n.url,{base_uri:new YD(window.location.href)}),N=`${D.protocol}://${D.host}${D.port?":"+D.port:""}`,F=ds(),L=(Q,le)=>T.some(le),W=[Ea.config({channel:`${bE}-${d}`,updateState:L,initialData:n}),Nt("messages",[Hn(()=>{const Q=On(Le.fromDom(window),"message",le=>{if(D.isSameOrigin(new YD(le.raw.origin))){const me=le.raw.data;rL(me)?mY(a,K,me):dY(me)&&n.onMessage(K,me)}});F.set(Q)}),Zi(F.clear)]),Ec.config({channels:{[zP]:{onReceive:(Q,le)=>{Nn(Q.element,"iframe").each(me=>{const Fe=me.dom.contentWindow;Uo(Fe)&&Fe.postMessage(le,N)})}}}})],V=QI({id:d,header:g,body:h,footer:C,extraClasses:k,extraBehaviours:W,extraStyles:x},S,i),K=lY(V);return{dialog:V,instanceApi:K}},gY=n=>{const s=n.shared;return{open:(i,d)=>{const g=()=>{es.hide(x),d()},h=En(_E({context:"any",name:"close-alert",text:"OK",primary:!0,buttonType:T.some("primary"),align:"end",enabled:!0,icon:T.none()},"cancel",n)),C=VI(),S=zD(g,s.providers),x=tr(VD({role:"alertdialog",lazySink:()=>s.getSink(),header:zI(C,S),body:UI(i,s.providers),footer:T.some(ZI(WI([],[h.asSpec()]))),onEscape:g,extraClasses:["tox-alert-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[be(lf,g),Hn(D=>{const N=es.getBody(D);ta(D.element,N.element)})],eventOrder:{}}));es.show(x);const k=h.get(x);Pt.focus(k)}}},hY=n=>{const s=n.shared;return{open:(i,d)=>{const g=N=>{es.hide(k),d(N)},h=En(_E({context:"any",name:"yes",text:"Yes",primary:!0,buttonType:T.some("primary"),align:"end",enabled:!0,icon:T.none()},"submit",n)),C=_E({context:"any",name:"no",text:"No",primary:!1,buttonType:T.some("secondary"),align:"end",enabled:!0,icon:T.none()},"cancel",n),S=VI(),x=zD(()=>g(!1),s.providers),k=tr(VD({role:"alertdialog",lazySink:()=>s.getSink(),header:zI(S,x),body:UI(i,s.providers),footer:T.some(ZI(WI([],[C,h.asSpec()]))),onEscape:()=>g(!1),extraClasses:["tox-confirm-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[be(lf,()=>g(!1)),be(zC,()=>g(!0)),Hn(N=>{const F=es.getBody(N);ta(N.element,F.element)})],eventOrder:{}}));es.show(k);const D=h.get(k);Pt.focus(D)}}},dS=(n,s)=>$a(Eo("data",s,n)),aL=n=>uh(n,".tox-alert-dialog")||uh(n,".tox-confirm-dialog"),pY=(n,s,a,i)=>s&&a?[]:[yo.config({contextual:{lazyContext:()=>T.some(Ko(Le.fromDom(n.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition",onHide:i},modes:["top"],lazyViewport:d=>Og(n,d.element).map(h=>({bounds:Op(h),optScrollEnv:T.some({currentScrollTop:h.element.dom.scrollTop,scrollElmTop:pa(h.element).top})})).getOrThunk(()=>({bounds:Fs(),optScrollEnv:T.none()}))})],bY=n=>{const s=n.editor,a=_g(s),i=gY(n.backstages.dialog),d=hY(n.backstages.dialog),g=(L,W,j)=>{if(!ma(W)){if(W.inline==="toolbar")return x(L,n.backstages.popup.shared.anchors.inlineDialog(),j,W);if(W.inline==="bottom")return k(L,n.backstages.popup.shared.anchors.inlineBottomDialog(),j,W);if(W.inline==="cursor")return x(L,n.backstages.popup.shared.anchors.cursor(),j,W)}return S(L,j)},h=(L,W)=>C(L,W),C=(L,W)=>{const j=V=>{const K=fY(V,{closeWindow:()=>{es.hide(K.dialog),W(K.instanceApi)}},s,n.backstages.dialog);return es.show(K.dialog),K.instanceApi};return zp.openUrl(j,L)},S=(L,W)=>{const j=(V,K,Q)=>{const le=K,Fe=iY({dataValidator:Q,initialData:le,internalDialog:V},{redial:zp.redial,closeWindow:()=>{es.hide(Fe.dialog),W(Fe.instanceApi)}},n.backstages.dialog);return es.show(Fe.dialog),Fe.instanceApi.setData(le),Fe.instanceApi};return zp.open(j,L)},x=(L,W,j,V)=>{const K=(Q,le,me)=>{const Fe=dS(le,me),ze=Ht(),ve=n.backstages.popup.shared.header.isPositionedAtTop(),ke={dataValidator:me,initialData:Fe,internalDialog:Q},ht=()=>ze.on(Ce=>{Ao.reposition(Ce),(!a||!ve)&&yo.refresh(Ce)}),tt=sL(ke,{redial:zp.redial,closeWindow:()=>{ze.on(Ao.hide),s.off("ResizeEditor",ht),s.off("ScrollWindow",qt),ze.clear(),j(tt.instanceApi)}},n.backstages.popup,V.ariaAttrs,ht),qt=()=>tt.dialog.getSystem().broadcastOn([fr()],{target:tt.dialog.element}),Ct=()=>tt.dialog.getSystem().broadcastOn([Wi()],{target:tt.dialog.element}),Lt=tr(Ao.sketch({lazySink:n.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:V.persistent?{event:"doNotDismissYet"}:{},...ve?{}:{fireRepositionEventInstead:{}},inlineBehaviours:De([Nt("window-manager-inline-events",[be(Rm(),(Ce,Be)=>{Gt(tt.dialog,lf)})]),...pY(s,a,ve,Ct)]),isExtraPart:(Ce,Be)=>aL(Be)}));ze.set(Lt);const nt=()=>{const Ce=s.inline?Ma():Le.fromDom(s.getContainer()),Be=Ko(Ce);return T.some(Be)};return Ao.showWithinBounds(Lt,Qo(tt.dialog),{anchor:W},nt),(!a||!ve)&&(yo.refresh(Lt),s.on("ResizeEditor",ht)),s.on("ScrollWindow",qt),tt.instanceApi.setData(Fe),lt.focusIn(tt.dialog),tt.instanceApi};return zp.open(K,L)},k=(L,W,j,V)=>{const K=(Q,le,me)=>{const Fe=dS(le,me),ze=Ht(),ve=n.backstages.popup.shared.header.isPositionedAtTop(),ke={dataValidator:me,initialData:Fe,internalDialog:Q},ht=()=>ze.on(Lt=>{Ao.reposition(Lt),yo.refresh(Lt)}),tt=sL(ke,{redial:zp.redial,closeWindow:()=>{ze.on(Ao.hide),s.off("ResizeEditor ScrollWindow ElementScroll",ht),ze.clear(),j(tt.instanceApi)}},n.backstages.popup,V.ariaAttrs,ht),qt=tr(Ao.sketch({lazySink:n.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:V.persistent?{event:"doNotDismissYet"}:{},...ve?{}:{fireRepositionEventInstead:{}},inlineBehaviours:De([Nt("window-manager-inline-events",[be(Rm(),(Lt,nt)=>{Gt(tt.dialog,lf)})]),yo.config({contextual:{lazyContext:()=>T.some(Ko(Le.fromDom(s.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition"},modes:["top","bottom"],lazyViewport:Lt=>Og(s,Lt.element).map(Ce=>({bounds:Op(Ce),optScrollEnv:T.some({currentScrollTop:Ce.element.dom.scrollTop,scrollElmTop:pa(Ce.element).top})})).getOrThunk(()=>({bounds:Fs(),optScrollEnv:T.none()}))})]),isExtraPart:(Lt,nt)=>aL(nt)}));ze.set(qt);const Ct=()=>n.backstages.popup.shared.getSink().toOptional().bind(Lt=>{const nt=Og(s,Lt.element),Ce=15,Be=nt.map(rt=>Op(rt)).getOr(Fs()),St=Ko(Le.fromDom(s.getContentAreaContainer())),$t=Rf(St,Be);return T.some(_o($t.x,$t.y,$t.width,$t.height-Ce))});return Ao.showWithinBounds(qt,Qo(tt.dialog),{anchor:W},Ct),yo.refresh(qt),s.on("ResizeEditor ScrollWindow ElementScroll ResizeWindow",ht),tt.instanceApi.setData(Fe),lt.focusIn(tt.dialog),tt.instanceApi};return zp.open(K,L)};return{open:g,openUrl:h,alert:(L,W)=>{i.open(L,W)},close:L=>{L.close()},confirm:(L,W)=>{d.open(L,W)}}},vY=n=>{S5(n),e6(n),yK(n)};var yY=()=>{R7.add("silver",n=>{vY(n);let s=()=>Fs();const{dialogs:a,popups:i,renderUI:d}=ZK(n,{getPopupSinkBounds:()=>s()}),g=()=>{const D=d();return Og(n,i.getMothership().element).each(F=>{s=()=>Op(F)}),D};RW.register(n,i.backstage.shared);const h=bY({editor:n,backstages:{popup:i.backstage,dialog:a.backstage}}),C=Ht(),S=()=>Cb(n,{backstage:i.backstage},i.getMothership(),C),x=()=>Nn(Le.fromDom(n.getContainer()),".tox-promotion").map(D=>D.dom).getOrNull(),k=D=>D==="dialog"?a.getMothership().element.dom:i.getMothership().element.dom;return{renderUI:g,getWindowManagerImpl:te(h),getNotificationManagerImpl:S,getPromotionElement:x,getSinkElement:k}})};yY()})();(function(){var cm=tinymce.util.Tools.resolve("tinymce.ModelManager");const Si=(l,m,b)=>{var y;return b(l,m.prototype)?!0:((y=l.constructor)==null?void 0:y.name)===m.name},im=l=>{const m=typeof l;return l===null?"null":m==="object"&&Array.isArray(l)?"array":m==="object"&&Si(l,String,(b,y)=>y.isPrototypeOf(b))?"string":m},Ug=l=>m=>im(m)===l,Zg=l=>m=>typeof m===l,lm=l=>m=>l===m,Wg=Ug("string"),kn=Ug("object"),Ic=Ug("array"),CS=lm(null),dl=Zg("boolean"),Wu=lm(void 0),Kl=l=>l==null,ma=l=>!Kl(l),ju=Zg("function"),Uo=Zg("number"),Dt=()=>{},wi=(l,m)=>(...b)=>l(m.apply(null,b)),Yl=(l,m)=>b=>l(m(b)),q=l=>()=>l,fn=l=>l,Sf=(l,m)=>l===m;function gn(l,...m){return(...b)=>{const y=m.concat(b);return l.apply(null,y)}}const te=l=>m=>!l(m),Qt=l=>()=>{throw new Error(l)},ls=l=>l(),on=q(!1),pe=q(!0),Qo=class Qo{constructor(m,b){Re(this,"tag");Re(this,"value");this.tag=m,this.value=b}static some(m){return new Qo(!0,m)}static none(){return Qo.singletonNone}fold(m,b){return this.tag?b(this.value):m()}isSome(){return this.tag}isNone(){return!this.tag}map(m){return this.tag?Qo.some(m(this.value)):Qo.none()}bind(m){return this.tag?m(this.value):Qo.none()}exists(m){return this.tag&&m(this.value)}forall(m){return!this.tag||m(this.value)}filter(m){return!this.tag||m(this.value)?this:Qo.none()}getOr(m){return this.tag?this.value:m}or(m){return this.tag?this:m}getOrThunk(m){return this.tag?this.value:m()}orThunk(m){return this.tag?this:m()}getOrDie(m){if(this.tag)return this.value;throw new Error(m??"Called getOrDie on None")}static from(m){return ma(m)?Qo.some(m):Qo.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(m){this.tag&&m(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}};Re(Qo,"singletonNone",new Qo(!1));let J=Qo;const Kr=Array.prototype.slice,Fn=Array.prototype.indexOf,Tt=Array.prototype.push,T=(l,m)=>Fn.call(l,m),Zo=(l,m)=>T(l,m)>-1,Me=(l,m)=>{for(let b=0,y=l.length;b{const b=[];for(let y=0;y{const b=l.length,y=new Array(b);for(let E=0;E{for(let b=0,y=l.length;b{for(let b=l.length-1;b>=0;b--){const y=l[b];m(y,b)}},Br=(l,m)=>{const b=[],y=[];for(let E=0,A=l.length;E{const b=[];for(let y=0,E=l.length;y(go(l,(y,E)=>{b=m(b,y,E)}),b),Ee=(l,m,b)=>(Ae(l,(y,E)=>{b=m(b,y,E)}),b),Qe=(l,m,b)=>{for(let y=0,E=l.length;yQe(l,m,on),um=(l,m)=>{for(let b=0,y=l.length;b{const m=[];for(let b=0,y=l.length;boo(zt(l,m)),ho=(l,m)=>{for(let b=0,y=l.length;b{const m=Kr.call(l,0);return m.reverse(),m},Bt=(l,m)=>{const b={};for(let y=0,E=l.length;y{const b=Kr.call(l,0);return b.sort(m),b},Ot=(l,m)=>m>=0&&mOt(l,0),Gu=l=>Ot(l,l.length-1),Nr=(l,m)=>{for(let b=0;b{const b=ft(l);for(let y=0,E=b.length;ydm(l,(b,y)=>({k:y,v:m(b,y)})),dm=(l,m)=>{const b={};return Pr(l,(y,E)=>{const A=m(y,E);b[A.k]=A.v}),b},Qn=l=>(m,b)=>{l[b]=m},mm=(l,m,b,y)=>{Pr(l,(E,A)=>{(m(E,A)?b:y)(E,A)})},xT=(l,m)=>{const b={};return mm(l,m,Qn(b),Dt),b},Ka=(l,m)=>{const b=[];return Pr(l,(y,E)=>{b.push(m(y,E))}),b},Bn=l=>Ka(l,fn),Xl=(l,m)=>Fo(l,m)?J.from(l[m]):J.none(),Fo=(l,m)=>iv.call(l,m),jo=(l,m)=>Fo(l,m)&&l[m]!==void 0&&l[m]!==null,jg=l=>{for(const m in l)if(iv.call(l,m))return!1;return!0},Lc={generate:l=>{if(!Ic(l))throw new Error("cases must be an array");if(l.length===0)throw new Error("there must be at least one case");const m=[],b={};return Ae(l,(y,E)=>{const A=ft(y);if(A.length!==1)throw new Error("one and only one name per case");const M=A[0],$=y[M];if(b[M]!==void 0)throw new Error("duplicate key detected:"+M);if(M==="cata")throw new Error("cannot have a case named cata (sorry)");if(!Ic($))throw new Error("case arguments must be an array");m.push(M),b[M]=(...H)=>{const G=H.length;if(G!==$.length)throw new Error("Wrong number of arguments to case "+M+". Expected "+$.length+" ("+$+"), got "+G);return{fold:(...ue)=>{if(ue.length!==l.length)throw new Error("Wrong number of arguments to fold. Expected "+l.length+", got "+ue.length);return ue[E].apply(null,H)},match:ue=>{const Ke=ft(ue);if(m.length!==Ke.length)throw new Error("Wrong number of arguments to match. Expected: "+m.join(",")+` +Actual: `+Ke.join(","));if(!ho(m,ut=>Zo(Ke,ut)))throw new Error("Not all branches were specified when using match. Specified: "+Ke.join(", ")+` +Required: `+m.join(", "));return ue[M].apply(null,H)},log:ue=>{console.log(ue,{constructors:m,constructor:M,params:H})}}}}),b}},ws=l=>{let m=l;return{get:()=>m,set:E=>{m=E}}},$r=l=>l.slice(0).sort(),Fr=(l,m)=>{throw new Error("All required keys ("+$r(l).join(", ")+") were not specified. Specified keys were: "+$r(m).join(", ")+".")},ml=l=>{throw new Error("Unsupported keys for object: "+$r(l).join(", "))},Ku=(l,m)=>{if(!Ic(m))throw new Error("The "+l+" fields must be an array. Was: "+m+".");Ae(m,b=>{if(!Wg(b))throw new Error("The value "+b+" in the "+l+" fields was not a string.")})},mt=(l,m)=>{throw new Error("All values need to be of type: "+m+". Keys ("+$r(l).join(", ")+") were not.")},In=l=>{const m=$r(l);B(m,(y,E)=>E{throw new Error("The field: "+y+" occurs more than once in the combined fields: ["+m.join(", ")+"].")})},hn=(l,m)=>lv(l,m,{validate:ju,label:"function"}),lv=(l,m,b)=>{if(m.length===0)throw new Error("You must specify at least one required field.");return Ku("required",m),In(m),y=>{const E=ft(y);ho(m,$=>Zo(E,$))||Fr(m,E),l(m,E);const M=Wo(m,$=>!b.validate(y[$],$));return M.length>0&&mt(M,b.label),y}},Hc=(l,m)=>{const b=Wo(m,y=>!Zo(l,y));b.length>0&&ml(b)},ct=l=>hn(Hc,l),Gg=l=>{const m=A=>A(l),b=q(l),y=()=>E,E={tag:!0,inner:l,fold:(A,M)=>M(l),isValue:pe,isError:on,map:A=>Yu.value(A(l)),mapError:y,bind:m,exists:m,forall:m,getOr:b,or:y,getOrThunk:b,orThunk:y,getOrDie:b,each:A=>{A(l)},toOptional:()=>J.some(l)};return E},ET=l=>{const m=()=>b,b={tag:!1,inner:l,fold:(y,E)=>y(l),isValue:on,isError:pe,map:m,mapError:y=>Yu.error(y(l)),bind:m,exists:on,forall:pe,getOr:fn,or:fn,getOrThunk:ls,orThunk:ls,getOrDie:Qt(String(l)),each:Dt,toOptional:J.none};return b},Yu={value:Gg,error:ET,fromOption:(l,m)=>l.fold(()=>ET(m),Gg)},Jl=typeof window<"u"?window:Function("return this;")(),po=l=>{const m=l.replace(/\./g,"-");return{resolve:y=>m+"-"+y}},Ut=(l,m,b=Sf)=>l.exists(y=>b(y,m)),Io=l=>{const m=[],b=y=>{m.push(y)};for(let y=0;yl!=null?m(l):J.none(),uv=(l,m)=>l?J.some(m):J.none(),Ql=(l,m)=>{let b=m??Jl;for(let y=0;y{const b=l.split(".");return Ql(b,m)},Ya=l=>{const m=ws(J.none()),b=()=>m.get().each(l);return{clear:()=>{b(),m.set(J.none())},isSet:()=>m.get().isSome(),get:()=>m.get(),set:$=>{b(),m.set(J.some($))}}},wf=()=>{const l=Ya(Dt);return{...l,on:b=>l.get().each(b)}},TT=(l,m)=>l.substring(m),Xr=(l,m,b)=>m===""||l.length>=m.length&&l.substr(b,b+m.length)===m,cR=(l,m)=>dv(l,m)?TT(l,m.length):l,Xa=(l,m,b=0,y)=>{const E=l.indexOf(m,b);return E!==-1?Wu(y)?!0:E+m.length<=y:!1},dv=(l,m)=>Xr(l,m,0),s1=(l,m)=>Xr(l,m,l.length-m.length),fm=(l=>m=>m.replace(l,""))(/^\s+|\s+$/g),Jr=l=>l.length>0,wS=l=>{const m=parseFloat(l);return isNaN(m)?J.none():J.some(m)},xS=(l,m)=>{let b=null;const y=()=>{CS(b)||(clearTimeout(b),b=null)};return{cancel:y,throttle:(...A)=>{y(),b=setTimeout(()=>{b=null,l.apply(null,A)},m)}}},Ge=l=>{let m=!1,b;return(...y)=>(m||(m=!0,b=l.apply(null,y)),b)},ES=" ",r1=["tfoot","thead","tbody","colgroup"],mv=l=>Zo(r1,l),so=(l,m)=>({rows:l,columns:m}),a1=(l,m)=>({row:l,column:m}),zc=(l,m,b)=>({element:l,rowspan:m,colspan:b}),xs=(l,m,b,y)=>({element:l,rowspan:m,colspan:b,isNew:y}),gm=(l,m,b,y,E,A)=>({element:l,rowspan:m,colspan:b,row:y,column:E,isLocked:A}),fv=(l,m,b)=>({element:l,cells:m,section:b}),xi=(l,m,b,y)=>({element:l,cells:m,section:b,isNew:y}),fa=(l,m,b)=>({element:l,isNew:m,isLocked:b}),eu=(l,m,b,y)=>({element:l,cells:m,section:b,isNew:y}),Ja=(l,m,b,y)=>({startRow:l,startCol:m,finishRow:b,finishCol:y}),AT=(l,m,b)=>({element:l,colspan:m,column:b}),_T=(l,m)=>({element:l,columns:m}),Vc=(l,m,b)=>{const y=l.cells,E=y.slice(0,m),A=y.slice(m),M=E.concat(b).concat(A);return gv(l,M)},TS=(l,m,b)=>Vc(l,m,[b]),Xu=(l,m,b)=>{const y=l.cells;y[m]=b},gv=(l,m)=>eu(l.element,m,l.section,l.isNew),ds=(l,m)=>{const b=l.cells,y=zt(b,m);return eu(l.element,y,l.section,l.isNew)},Ht=(l,m)=>l.cells[m],Qr=(l,m)=>Ht(l,m).element,_a=l=>l.cells.length,Mo=l=>{const m=Br(l,b=>b.section==="colgroup");return{rows:m.fail,cols:m.pass}},hv=(l,m,b)=>{const y=zt(l.cells,b);return eu(m(l.element),y,l.section,!0)},kS=(l,m)=>{const y=(m||document).createElement("div");if(y.innerHTML=l,!y.hasChildNodes()||y.childNodes.length>1){const E="HTML does not have a single root node";throw console.error(E,l),new Error(E)}return tu(y.childNodes[0])},Lo=(l,m)=>{const y=(m||document).createElement(l);return tu(y)},Kg=(l,m)=>{const y=(m||document).createTextNode(l);return tu(y)},tu=l=>{if(l==null)throw new Error("Node cannot be null or undefined");return{dom:l}},qe={fromHtml:kS,fromTag:Lo,fromText:Kg,fromDom:tu,fromPoint:(l,m,b)=>J.from(l.dom.elementFromPoint(m,b)).map(tu)},xf=(l,m)=>{const b=l.document.createRange();return b.selectNode(m.dom),b},Qa=(l,m)=>{const b=l.document.createRange();return Yg(b,m),b},Yg=(l,m)=>l.selectNodeContents(m.dom),Es=(l,m)=>{m.fold(b=>{l.setStartBefore(b.dom)},(b,y)=>{l.setStart(b.dom,y)},b=>{l.setStartAfter(b.dom)})},OT=(l,m)=>{m.fold(b=>{l.setEndBefore(b.dom)},(b,y)=>{l.setEnd(b.dom,y)},b=>{l.setEndAfter(b.dom)})},nu=(l,m,b)=>{const y=l.document.createRange();return Es(y,m),OT(y,b),y},fl=(l,m,b,y,E)=>{const A=l.document.createRange();return A.setStart(m.dom,b),A.setEnd(y.dom,E),A},_S=l=>({left:l.left,top:l.top,right:l.right,bottom:l.bottom,width:l.width,height:l.height}),OS=l=>{const m=l.getClientRects(),b=m.length>0?m[0]:l.getBoundingClientRect();return b.width>0||b.height>0?J.some(b).map(_S):J.none()},hm=Lc.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),DS=(l,m,b)=>m(qe.fromDom(b.startContainer),b.startOffset,qe.fromDom(b.endContainer),b.endOffset),c1=(l,m)=>m.match({domRange:b=>({ltr:q(b),rtl:J.none}),relative:(b,y)=>({ltr:Ge(()=>nu(l,b,y)),rtl:Ge(()=>J.some(nu(l,y,b)))}),exact:(b,y,E,A)=>({ltr:Ge(()=>fl(l,b,y,E,A)),rtl:Ge(()=>J.some(fl(l,E,A,b,y)))})}),pm=(l,m)=>{const b=m.ltr();return b.collapsed?m.rtl().filter(E=>E.collapsed===!1).map(E=>hm.rtl(qe.fromDom(E.endContainer),E.endOffset,qe.fromDom(E.startContainer),E.startOffset)).getOrThunk(()=>DS(l,hm.ltr,b)):DS(l,hm.ltr,b)},Xg=(l,m)=>{const b=c1(l,m);return pm(l,b)},Le=(l,m)=>Xg(l,m).match({ltr:(y,E,A,M)=>{const $=l.document.createRange();return $.setStart(y.dom,E),$.setEnd(A.dom,M),$},rtl:(y,E,A,M)=>{const $=l.document.createRange();return $.setStart(A.dom,M),$.setEnd(y.dom,E),$}});hm.ltr,hm.rtl;const i1=8,pv=9,ou=11,l1=1,RS=3,ec=(l,m)=>{const b=l.dom;if(b.nodeType!==l1)return!1;{const y=b;if(y.matches!==void 0)return y.matches(m);if(y.msMatchesSelector!==void 0)return y.msMatchesSelector(m);if(y.webkitMatchesSelector!==void 0)return y.webkitMatchesSelector(m);if(y.mozMatchesSelector!==void 0)return y.mozMatchesSelector(m);throw new Error("Browser lacks native selectors")}},MS=l=>l.nodeType!==l1&&l.nodeType!==pv&&l.nodeType!==ou||l.childElementCount===0,Ef=(l,m)=>{const b=m===void 0?document:m.dom;return MS(b)?[]:zt(b.querySelectorAll(l),qe.fromDom)},Jg=(l,m)=>{const b=m===void 0?document:m.dom;return MS(b)?J.none():J.from(b.querySelector(l)).map(qe.fromDom)},to=(l,m)=>l.dom===m.dom,bv=(l,m)=>{const b=l.dom,y=m.dom;return b===y?!1:b.contains(y)},BS=ec,NS=(l,m,b,y)=>{const E=l.isiOS()&&/ipad/i.test(b)===!0,A=l.isiOS()&&!E,M=l.isiOS()||l.isAndroid(),$=M||y("(pointer:coarse)"),H=E||!A&&M&&y("(min-device-width:768px)"),G=A||M&&!H,ne=m.isSafari()&&l.isiOS()&&/safari/i.test(b)===!1,ue=!G&&!H&&!ne;return{isiPad:q(E),isiPhone:q(A),isTablet:q(H),isPhone:q(G),isTouch:q($),isAndroid:l.isAndroid,isiOS:l.isiOS,isWebView:q(ne),isDesktop:q(ue)}},PS=(l,m)=>{for(let b=0;b{const b=PS(l,m);if(!b)return{major:0,minor:0};const y=E=>Number(m.replace(b,"$"+E));return Ju(y(1),y(2))},Ei=(l,m)=>{const b=String(m).toLowerCase();return l.length===0?$S():u1(l,b)},$S=()=>Ju(0,0),Ju=(l,m)=>({major:l,minor:m}),bm={nu:Ju,detect:Ei,unknown:$S},FS=(l,m)=>Nr(m.brands,b=>{const y=b.brand.toLowerCase();return B(l,E=>{var A;return y===((A=E.brand)==null?void 0:A.toLowerCase())}).map(E=>({current:E.name,version:bm.nu(parseInt(b.version,10),0)}))}),d1=(l,m)=>{const b=String(m).toLowerCase();return B(l,y=>y.search(b))},Vn=(l,m)=>d1(l,m).map(b=>{const y=bm.detect(b.versionRegexes,m);return{current:b.name,version:y}}),Qg=(l,m)=>d1(l,m).map(b=>{const y=bm.detect(b.versionRegexes,m);return{current:b.name,version:y}}),m1=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,gl=l=>m=>Xa(m,l),DT=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:l=>Xa(l,"edge/")&&Xa(l,"chrome")&&Xa(l,"safari")&&Xa(l,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,m1],search:l=>Xa(l,"chrome")&&!Xa(l,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:l=>Xa(l,"msie")||Xa(l,"trident")},{name:"Opera",versionRegexes:[m1,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:gl("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:gl("firefox")},{name:"Safari",versionRegexes:[m1,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:l=>(Xa(l,"safari")||Xa(l,"mobile/"))&&Xa(l,"applewebkit")}],IS=[{name:"Windows",search:gl("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:l=>Xa(l,"iphone")||Xa(l,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:gl("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:gl("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:gl("linux"),versionRegexes:[]},{name:"Solaris",search:gl("sunos"),versionRegexes:[]},{name:"FreeBSD",search:gl("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:gl("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],f1={browsers:q(DT),oses:q(IS)},eh="Edge",vm="Chromium",vv="IE",g1="Opera",yv="Firefox",Cv="Safari",h1=()=>Ti({current:void 0,version:bm.unknown()}),Ti=l=>{const m=l.current,b=l.version,y=E=>()=>m===E;return{current:m,version:b,isEdge:y(eh),isChromium:y(vm),isIE:y(vv),isOpera:y(g1),isFirefox:y(yv),isSafari:y(Cv)}},LS={unknown:h1,nu:Ti,edge:q(eh),chromium:q(vm),ie:q(vv),opera:q(g1),firefox:q(yv),safari:q(Cv)},Sv="Windows",p1="iOS",HS="Android",wv="Linux",xv="macOS",Ev="Solaris",Uc="FreeBSD",Tv="ChromeOS",RT=()=>kv({current:void 0,version:bm.unknown()}),kv=l=>{const m=l.current,b=l.version,y=E=>()=>m===E;return{current:m,version:b,isWindows:y(Sv),isiOS:y(p1),isAndroid:y(HS),isMacOS:y(xv),isLinux:y(wv),isSolaris:y(Ev),isFreeBSD:y(Uc),isChromeOS:y(Tv)}},Av={unknown:RT,nu:kv,windows:q(Sv),ios:q(p1),android:q(HS),linux:q(wv),macos:q(xv),solaris:q(Ev),freebsd:q(Uc),chromeos:q(Tv)},zS={detect:(l,m,b)=>{const y=f1.browsers(),E=f1.oses(),A=m.bind(H=>FS(y,H)).orThunk(()=>Vn(y,l)).fold(LS.unknown,LS.nu),M=Qg(E,l).fold(Av.unknown,Av.nu),$=NS(M,A,l,b);return{browser:A,os:M,deviceType:$}}},b1=l=>window.matchMedia(l).matches;let ki=Ge(()=>zS.detect(window.navigator.userAgent,J.from(window.navigator.userAgentData),b1));const Zc=()=>ki(),Qu=(l,m)=>kt(l,m),VS=(l,m)=>{const b=Qu(l,m);if(b==null)throw new Error(l+" not available on this browser");return b},dn=Object.getPrototypeOf,BT=l=>VS("HTMLElement",l),_v=l=>{const m=kt("ownerDocument.defaultView",l);return kn(l)&&(BT(m).prototype.isPrototypeOf(l)||/^HTML\w*Element$/.test(dn(l).constructor.name))},Bo=l=>l.dom.nodeName.toLowerCase(),NT=l=>l.dom.nodeType,v1=l=>m=>NT(m)===l,PT=l=>NT(l)===i1||Bo(l)==="#comment",Ov=l=>rr(l)&&_v(l.dom),rr=v1(l1),Tf=v1(RS),$T=v1(pv),Oe=v1(ou),Oa=l=>m=>rr(m)&&Bo(m)===l,y1=l=>qe.fromDom(l.dom.ownerDocument),Wc=l=>$T(l)?l:y1(l),th=l=>qe.fromDom(Wc(l).dom.documentElement),Dv=l=>qe.fromDom(Wc(l).dom.defaultView),U=l=>J.from(l.dom.parentNode).map(qe.fromDom),ga=l=>J.from(l.dom.parentElement).map(qe.fromDom),ed=(l,m)=>{const b=ju(m)?m:on;let y=l.dom;const E=[];for(;y.parentNode!==null&&y.parentNode!==void 0;){const A=y.parentNode,M=qe.fromDom(A);if(E.push(M),b(M)===!0)break;y=A}return E},Rv=l=>J.from(l.dom.previousSibling).map(qe.fromDom),kf=l=>J.from(l.dom.nextSibling).map(qe.fromDom),yr=l=>zt(l.dom.childNodes,qe.fromDom),ha=(l,m)=>{const b=l.dom.childNodes;return J.from(b[m]).map(qe.fromDom)},Mv=l=>ha(l,0),Bv=(l,m,b,y)=>{const A=y1(l).dom.createRange();return A.setStart(l.dom,m),A.setEnd(b.dom,y),A},nh=(l,m,b,y)=>{const E=Bv(l,m,b,y),A=to(l,b)&&m===y;return E.collapsed&&!A},ea=l=>Oe(l)&&ma(l.dom.host),Nv=l=>qe.fromDom(l.dom.getRootNode()),hl=l=>ea(l)?l:qe.fromDom(Wc(l).dom.body),oh=l=>{const m=Nv(l);return ea(m)?J.some(m):J.none()},Pv=l=>qe.fromDom(l.dom.host),Da=l=>{if(ma(l.target)){const m=qe.fromDom(l.target);if(rr(m)&&$v(m)&&l.composed&&l.composedPath){const b=l.composedPath();if(b)return ie(b)}}return J.from(l.target)},$v=l=>ma(l.dom.shadowRoot),Ai=(l,m,b,y,E,A,M)=>({target:l,x:m,y:b,stop:y,prevent:E,kill:A,raw:M}),td=l=>{const m=qe.fromDom(Da(l).getOr(l.target)),b=()=>l.stopPropagation(),y=()=>l.preventDefault(),E=wi(y,b);return Ai(m,l.clientX,l.clientY,b,y,E,l)},sn=(l,m)=>b=>{l(b)&&m(td(b))},tc=(l,m,b,y,E)=>{const A=sn(b,y);return l.dom.addEventListener(m,A,E),{unbind:gn(US,l,m,A,E)}},C1=(l,m,b,y)=>tc(l,m,b,y,!1),US=(l,m,b,y)=>{l.dom.removeEventListener(m,b,y)},Wt=pe,su=(l,m,b)=>C1(l,m,Wt,b),ss=td,_i=(l,m)=>{U(l).each(y=>{y.dom.insertBefore(m.dom,l.dom)})},Oi=(l,m)=>{kf(l).fold(()=>{U(l).each(E=>{An(E,m)})},y=>{_i(y,m)})},bo=(l,m)=>{Mv(l).fold(()=>{An(l,m)},y=>{l.dom.insertBefore(m.dom,y.dom)})},An=(l,m)=>{l.dom.appendChild(m.dom)},FT=(l,m,b)=>{ha(l,b).fold(()=>{An(l,m)},y=>{_i(y,m)})},IT=(l,m)=>{_i(l,m),An(m,l)},pl=(l,m)=>{Ae(m,(b,y)=>{const E=y===0?l:m[y-1];Oi(E,b)})},jc=(l,m)=>{Ae(m,b=>{An(l,b)})},Di=(l,m,b)=>{if(Wg(b)||dl(b)||Uo(b))l.setAttribute(m,b+"");else throw console.error("Invalid call to Attribute.set. Key ",m,":: Value ",b,":: Element ",l),new Error("Attribute value was not simple")},ms=(l,m,b)=>{Di(l.dom,m,b)},ru=(l,m)=>{const b=l.dom;Pr(m,(y,E)=>{Di(b,E,y)})},Ra=(l,m)=>{Pr(m,(b,y)=>{b.fold(()=>{On(l,y)},E=>{Di(l.dom,y,E)})})},Gc=(l,m)=>{const b=l.dom.getAttribute(m);return b===null?void 0:b},nc=(l,m)=>J.from(Gc(l,m)),On=(l,m)=>{l.dom.removeAttribute(m)},oc=l=>Ee(l.dom.attributes,(m,b)=>(m[b.name]=b.value,m),{}),Ri=l=>{l.dom.textContent="",Ae(yr(l),m=>{Cr(m)})},Cr=l=>{const m=l.dom;m.parentNode!==null&&m.parentNode.removeChild(m)},Ps=l=>{const m=yr(l);m.length>0&&pl(l,m),Cr(l)},Do=(l,m)=>qe.fromDom(l.dom.cloneNode(m)),qc=l=>Do(l,!1),$s=l=>Do(l,!0),rs=(l,m)=>{const b=qe.fromTag(m),y=oc(l);return ru(b,y),b},ym=(l,m)=>{const b=rs(l,m),y=yr($s(l));return jc(b,y),b},ZS=(l,m)=>{const b=rs(l,m);Oi(l,b);const y=yr(l);return jc(b,y),Cr(l),b},Fv=(l,m)=>{const y=(m||document).createElement("div");return y.innerHTML=l,yr(qe.fromDom(y))},Ws=l=>zt(l,qe.fromDom),Iv=l=>l.dom.innerHTML,WS=l=>{const m=qe.fromTag("div"),b=qe.fromDom(l.dom.cloneNode(!0));return An(m,b),Iv(m)},Cm=l=>l.style!==void 0&&ju(l.style.getPropertyValue),wt=l=>{const m=Tf(l)?l.dom.parentNode:l.dom;if(m==null||m.ownerDocument===null)return!1;const b=m.ownerDocument;return oh(qe.fromDom(m)).fold(()=>b.body.contains(m),Yl(wt,Pv))},Lv=l=>{const m=l.dom.body;if(m==null)throw new Error("Body is not available yet");return qe.fromDom(m)},Ts=(l,m,b)=>{if(!Wg(b))throw console.error("Invalid call to CSS.set. Property ",m,":: Value ",b,":: Element ",l),new Error("CSS value must be a string: "+b);Cm(l)&&l.style.setProperty(m,b)},js=(l,m)=>{Cm(l)&&l.style.removeProperty(m)},Gs=(l,m,b)=>{const y=l.dom;Ts(y,m,b)},io=(l,m)=>{const b=l.dom;Pr(m,(y,E)=>{Ts(b,E,y)})},Sm=(l,m)=>{const b=l.dom,E=window.getComputedStyle(b).getPropertyValue(m);return E===""&&!wt(l)?S1(b,m):E},S1=(l,m)=>Cm(l)?l.style.getPropertyValue(m):"",Kc=(l,m)=>{const b=l.dom,y=S1(b,m);return J.from(y).filter(E=>E.length>0)},Mi=(l,m)=>{const b=l.dom;js(b,m),Ut(nc(l,"style").map(fm),"")&&On(l,"style")},Hv=(l,m)=>{const b=l.dom,y=m.dom;Cm(b)&&Cm(y)&&(y.style.cssText=b.style.cssText)},w1=(l,m)=>{const b=($,H)=>{if(!Uo(H)&&!H.match(/^[0-9]+$/))throw new Error(l+".set accepts only positive integer values. Value was "+H);const G=$.dom;Cm(G)&&(G.style[l]=H+"px")},y=$=>{const H=m($);if(H<=0||H===null){const G=Sm($,l);return parseFloat(G)||0}return H},E=y,A=($,H)=>Ee(H,(G,ne)=>{const ue=Sm($,ne),Ke=ue===void 0?0:parseInt(ue,10);return isNaN(Ke)?G:G+Ke},0);return{set:b,get:y,getOuter:E,aggregate:A,max:($,H,G)=>{const ne=A($,G);return H>ne?H-ne:0}}},x1=(l,m)=>wS(l).getOr(m),au=(l,m,b)=>x1(Sm(l,m),b),Bi=(l,m,b,y)=>{const E=au(l,`padding-${b}`,0),A=au(l,`padding-${y}`,0),M=au(l,`border-${b}-width`,0),$=au(l,`border-${y}-width`,0);return m-E-A-M-$},LT=(l,m)=>{const b=l.dom,y=b.getBoundingClientRect().width||b.offsetWidth;return m==="border-box"?y:Bi(l,y,"left","right")},ar=l=>au(l,"height",l.dom.offsetHeight),Ni=l=>au(l,"width",l.dom.offsetWidth),bl=l=>LT(l,"content-box"),pn=w1("height",l=>{const m=l.dom;return wt(l)?m.getBoundingClientRect().height:m.offsetHeight}),Ma=l=>pn.get(l),jS=l=>pn.getOuter(l),E1=ar,sc=w1("width",l=>{const m=l.dom;return wt(l)?m.getBoundingClientRect().width:m.offsetWidth}),Rt=l=>sc.get(l),So=l=>sc.getOuter(l),qs=bl,lo=Ni,rc=(l,m)=>({left:l,top:m,translate:(y,E)=>rc(l+y,m+E)}),vo=rc,Go=l=>{const m=l.getBoundingClientRect();return vo(m.left,m.top)},Af=(l,m)=>l!==void 0?l:m!==void 0?m:0,Xt=l=>{const m=l.dom.ownerDocument,b=m.body,y=m.defaultView,E=m.documentElement;if(b===l.dom)return vo(b.offsetLeft,b.offsetTop);const A=Af(y==null?void 0:y.pageYOffset,E.scrollTop),M=Af(y==null?void 0:y.pageXOffset,E.scrollLeft),$=Af(E.clientTop,b.clientTop),H=Af(E.clientLeft,b.clientLeft);return ac(l).translate(M-H,A-$)},ac=l=>{const m=l.dom,y=m.ownerDocument.body;return y===m?vo(y.offsetLeft,y.offsetTop):wt(l)?Go(m):vo(0,0)},no=l=>{const m=l!==void 0?l.dom:document,b=m.body.scrollLeft||m.documentElement.scrollLeft,y=m.body.scrollTop||m.documentElement.scrollTop;return vo(b,y)},cc=(l,m,b)=>{const E=(b!==void 0?b.dom:document).defaultView;E&&E.scrollBy(l,m)},Sr=((l,m)=>{const b=A=>{if(!l(A))throw new Error("Can only get "+m+" value of a "+m+" node");return y(A).getOr("")},y=A=>l(A)?J.from(A.dom.nodeValue):J.none();return{get:b,getOption:y,set:(A,M)=>{if(!l(A))throw new Error("Can only set raw "+m+" value of a "+m+" node");A.dom.nodeValue=M}}})(Tf,"text"),sh=l=>Sr.get(l),GS=l=>Sr.getOption(l),rh=(l,m)=>Sr.set(l,m),ah=(l,m)=>b=>wm(b)==="rtl"?m:l,wm=l=>Sm(l,"direction")==="rtl"?"rtl":"ltr",wr=(l,m)=>{const b=Gc(l,m);return b===void 0||b===""?[]:b.split(" ")},cu=(l,m,b)=>{const E=wr(l,m).concat([b]);return ms(l,m,E.join(" ")),!0},HT=(l,m,b)=>{const y=Wo(wr(l,m),E=>E!==b);return y.length>0?ms(l,m,y.join(" ")):On(l,m),!1};var xm=(l,m,b,y,E)=>l(b,y)?J.some(b):ju(E)&&E(b)?J.none():m(b,y,E);const Ln=(l,m,b)=>{let y=l.dom;const E=ju(b)?b:on;for(;y.parentNode;){y=y.parentNode;const A=qe.fromDom(y);if(m(A))return J.some(A);if(E(A))break}return J.none()},T1=(l,m,b)=>xm((E,A)=>A(E),Ln,l,m,b),k1=(l,m)=>{const b=E=>m(qe.fromDom(E));return B(l.dom.childNodes,b).map(qe.fromDom)},pa=(l,m)=>{const b=y=>{for(let E=0;ELn(l,y=>ec(y,m),b),No=(l,m)=>k1(l,b=>ec(b,m)),nd=(l,m)=>Jg(m,l),fs=(l,m,b)=>xm((E,A)=>ec(E,A),ic,l,m,b),_f=l=>l.dom.classList!==void 0,A1=l=>wr(l,"class"),zv=(l,m)=>cu(l,"class",m),iR=(l,m)=>HT(l,"class",m),Pi=(l,m)=>{_f(l)?l.dom.classList.add(m):zv(l,m)},zT=l=>{(_f(l)?l.dom.classList:A1(l)).length===0&&On(l,"class")},qS=(l,m)=>{_f(l)?l.dom.classList.remove(m):iR(l,m),zT(l)},$i=(l,m)=>_f(l)&&l.dom.classList.contains(m),KS=(l,m)=>{Ae(m,b=>{qS(l,b)})},Of=l=>fs(l,"[contenteditable]"),ch=(l,m=!1)=>wt(l)?l.dom.isContentEditable:Of(l).fold(q(m),b=>ih(b)==="true"),ih=l=>l.dom.contentEditable,Vv=l=>m=>{Pi(m,l)},YS=l=>m=>{KS(m,l)},Yc=(l,m,b)=>Wo(ed(l,b),m),VT=(l,m)=>Wo(yr(l),m),od=(l,m)=>{let b=[];return Ae(yr(l),y=>{m(y)&&(b=b.concat([y])),b=b.concat(od(y,m))}),b},Nn=(l,m,b)=>Yc(l,y=>ec(y,m),b),xr=(l,m)=>VT(l,b=>ec(b,m)),vl=(l,m)=>Ef(m,l),Uv=(l,m,b,y)=>({parent:l,children:m,element:b,index:y}),sd=l=>U(l).bind(m=>{const b=yr(m);return Zv(b,l).map(y=>Uv(m,b,l,y))}),Zv=(l,m)=>um(l,gn(to,m)),XS=(l,m,b)=>Ln(l,m,b).isSome(),yl=l=>Bo(l)==="img"?1:GS(l).fold(()=>yr(l).length,m=>m.length),Cl=l=>GS(l).filter(m=>m.trim().length!==0||m.indexOf(ES)>-1).isSome(),Un=l=>Ov(l)&&Gc(l,"contenteditable")==="false",JS=["img","br"],wo=l=>Cl(l)||Zo(JS,Bo(l))||Un(l),lh=l=>pa(l,wo),qo=l=>Sl(l,wo),Sl=(l,m)=>{const b=y=>{const E=yr(y);for(let A=E.length-1;A>=0;A--){const M=E[A];if(m(M))return J.some(M);const $=b(M);if($.isSome())return $}return J.none()};return b(l)},iu={create:(l,m,b,y)=>({start:l,soffset:m,finish:b,foffset:y})},_1=Lc.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),QS=(l,m,b,y)=>l.fold(m,b,y),Wv=l=>l.fold(fn,fn,fn),UT=_1.before,Ba=_1.on,rd=_1.after,As={before:UT,on:Ba,after:rd,cata:QS,getStart:Wv},Ks=Lc.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),O1=l=>Ks.exact(l.start,l.soffset,l.finish,l.foffset),uh=l=>l.match({domRange:m=>qe.fromDom(m.startContainer),relative:(m,b)=>As.getStart(m),exact:(m,b,y,E)=>m}),ew=Ks.domRange,tw=Ks.relative,Xc=Ks.exact,lR=l=>{const m=uh(l);return Dv(m)},Em=iu.create,ad={domRange:ew,relative:tw,exact:Xc,exactFromRange:O1,getWin:lR,range:Em},ZT=(l,m,b)=>{var y;return J.from((y=l.caretPositionFromPoint)==null?void 0:y.call(l,m,b)).bind(E=>{if(E.offsetNode===null)return J.none();const A=l.createRange();return A.setStart(E.offsetNode,E.offset),A.collapse(),J.some(A)})},nw=(l,m,b)=>{var y;return J.from((y=l.caretRangeFromPoint)==null?void 0:y.call(l,m,b))},WT=(l,m,b)=>l.caretPositionFromPoint?ZT(l,m,b):l.caretRangeFromPoint?nw(l,m,b):J.none(),D1=(l,m,b)=>{const y=l.document;return WT(y,m,b).map(E=>iu.create(qe.fromDom(E.startContainer),E.startOffset,qe.fromDom(E.endContainer),E.endOffset))},R1=(l,m)=>{const b=Bo(l);return b==="input"?As.after(l):Zo(["br","img"],b)?m===0?As.before(l):As.after(l):As.on(l,m)},Ys=(l,m)=>{const b=l.fold(As.before,R1,As.after),y=m.fold(As.before,R1,As.after);return ad.relative(b,y)},Df=(l,m,b,y)=>{const E=R1(l,m),A=R1(b,y);return ad.relative(E,A)},M1=l=>J.from(l.getSelection()),B1=(l,m)=>{M1(l).each(b=>{b.removeAllRanges(),b.addRange(m)})},jv=(l,m,b,y,E)=>{const A=fl(l,m,b,y,E);B1(l,A)},jT=(l,m,b,y,E,A)=>{m.collapse(b.dom,y),m.extend(E.dom,A)},ow=(l,m)=>Xg(l,m).match({ltr:(b,y,E,A)=>{jv(l,b,y,E,A)},rtl:(b,y,E,A)=>{M1(l).each(M=>{if(M.setBaseAndExtent)M.setBaseAndExtent(b.dom,y,E.dom,A);else if(M.extend)try{jT(l,M,b,y,E,A)}catch{jv(l,E,A,b,y)}else jv(l,E,A,b,y)})}}),Gv=(l,m,b,y,E)=>{const A=Df(m,b,y,E);ow(l,A)},sw=(l,m,b)=>{const y=Ys(m,b);ow(l,y)},cd=l=>{if(l.rangeCount>0){const m=l.getRangeAt(0),b=l.getRangeAt(l.rangeCount-1);return J.some(iu.create(qe.fromDom(m.startContainer),m.startOffset,qe.fromDom(b.endContainer),b.endOffset))}else return J.none()},GT=l=>{if(l.anchorNode===null||l.focusNode===null)return cd(l);{const m=qe.fromDom(l.anchorNode),b=qe.fromDom(l.focusNode);return nh(m,l.anchorOffset,b,l.focusOffset)?J.some(iu.create(m,l.anchorOffset,b,l.focusOffset)):cd(l)}},qv=(l,m,b=!0)=>{const E=(b?Qa:xf)(l,m);B1(l,E)},qT=l=>M1(l).filter(m=>m.rangeCount>0).bind(GT),rw=l=>qT(l).map(m=>ad.exact(m.start,m.soffset,m.finish,m.foffset)),aw=(l,m)=>{const b=Le(l,m);return OS(b)},uR=(l,m,b)=>D1(l,m,b),cw=l=>{M1(l).each(m=>m.removeAllRanges())},Kv={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},KT=(()=>{const l="[0-9]+",b="[eE]"+("[+-]?"+l),y="\\.",E=$=>`(?:${$})?`,M=`[+-]?(?:${["Infinity",l+y+E(l)+E(b),y+l+E(b),l+E(b)].join("|")})`;return new RegExp(`^(${M})(.*)$`)})(),N1=(l,m)=>Me(m,b=>Me(Kv[b],y=>l===y)),YT=(l,m)=>J.from(KT.exec(l)).bind(y=>{const E=Number(y[1]),A=y[2];return N1(A,m)?J.some({value:E,unit:A}):J.none()}),P1=l=>zt(l,q(0)),Yv=(l,m,b,y,E)=>E(l.slice(0,m)).concat(y).concat(E(l.slice(b))),Jc=l=>(m,b,y,E)=>{if(l(y)){const A=Math.max(E,m[b]-Math.abs(y)),M=Math.abs(A-m[b]);return y>=0?M:-M}else return y},id=Jc(l=>l<0),XT=Jc(pe),JT=()=>{const l=($,H,G,ne,ue)=>{const Ke=id($,H,ne,ue);return Yv($,H,G+1,[Ke,0],P1)},m=($,H,G,ne)=>{const ue=(100+G)/100,Ke=Math.max(ne,($[H]+G)/ue);return zt($,(Ze,ut)=>(ut===H?Ke:Ze/ue)-Ze)},b=($,H,G,ne,ue,Ke)=>Ke?m($,H,ne,ue):l($,H,G,ne,ue);return{resizeTable:($,H)=>$(H),clampTableDelta:id,calcLeftEdgeDeltas:b,calcMiddleDeltas:($,H,G,ne,ue,Ke,Ze)=>b($,G,ne,ue,Ke,Ze),calcRightEdgeDeltas:($,H,G,ne,ue,Ke)=>{if(Ke)return m($,G,ne,ue);{const Ze=id($,G,ne,ue);return P1($.slice(0,G)).concat([Ze])}},calcRedestributedWidths:($,H,G,ne)=>{if(ne){const Ke=(H+G)/H,Ze=zt($,ut=>ut/Ke);return{delta:Ke*100-100,newSizes:Ze}}else return{delta:G,newSizes:$}}}},iw=()=>{const l=(M,$,H,G,ne)=>{const ue=G>=0?H:$,Ke=XT(M,ue,G,ne);return Yv(M,$,H+1,[Ke,-Ke],P1)};return{resizeTable:(M,$,H)=>{H&&M($)},clampTableDelta:(M,$,H,G,ne)=>{if(ne){if(H>=0)return H;{const ue=Ee(M,(Ke,Ze)=>Ke+Ze-G,0);return Math.max(-ue,H)}}else return id(M,$,H,G)},calcLeftEdgeDeltas:l,calcMiddleDeltas:(M,$,H,G,ne,ue)=>l(M,H,G,ne,ue),calcRightEdgeDeltas:(M,$,H,G,ne,ue)=>{if(ue)return P1(M);{const Ke=G/M.length;return zt(M,q(Ke))}},calcRedestributedWidths:(M,$,H,G)=>({delta:0,newSizes:M})}},lu=(l,m,b=0)=>nc(l,m).map(y=>parseInt(y,10)).getOr(b),dh=(l,m)=>lu(l,m,1),Xv=l=>Oa("col")(l)?lu(l,"span",1)>1:dh(l,"colspan")>1,QT=l=>dh(l,"rowspan")>1,_o=(l,m)=>parseInt(Sm(l,m),10),Ko=q(10),ld=q(10),Rf=(l,m)=>Jv(l,m,pe),Jv=(l,m,b)=>us(yr(l),y=>ec(y,m)?b(y)?[y]:[]:Jv(y,m,b)),Fs=(l,m,b=on)=>{if(b(m))return J.none();if(Zo(l,Bo(m)))return J.some(m);const y=E=>ec(E,"table")||b(E);return ic(m,l.join(","),y)},Qv=(l,m)=>Fs(["td","th"],l,m),uu=l=>Rf(l,"th,td"),$1=l=>ec(l,"colgroup")?xr(l,"col"):us(Na(l),m=>xr(m,"col")),ta=(l,m)=>fs(l,"table",m),lw=l=>Rf(l,"tr"),Na=l=>ta(l).fold(q([]),m=>xr(m,"colgroup")),Tm=Oa("th"),mh=l=>ho(l,m=>Tm(m.element)),gs=(l,m)=>l&&m?"sectionCells":l?"section":"cells",uw=l=>{const m=l.section==="thead",b=Ut(ud(l.cells),"th");return l.section==="tfoot"?{type:"footer"}:m||b?{type:"header",subType:gs(m,b)}:{type:"body"}},ud=l=>{const m=Wo(l,b=>Tm(b.element));return m.length===0?J.some("td"):m.length===l.length?J.some("th"):J.none()},ek=l=>{const m=zt(l,E=>uw(E).type),b=Zo(m,"header"),y=Zo(m,"footer");if(!b&&!y)return J.some("body");{const E=Zo(m,"body");return b&&!E&&!y?J.some("header"):!b&&!E&&y?J.some("footer"):J.none()}},dw=l=>Nr(l.all,m=>{const b=uw(m);return b.type==="header"?J.from(b.subType):J.none()}),F1=(l,m)=>zt(l,b=>{if(Bo(b)==="colgroup"){const y=zt($1(b),E=>{const A=lu(E,"span",1);return zc(E,1,A)});return fv(b,y,"colgroup")}else{const y=zt(uu(b),E=>{const A=lu(E,"rowspan",1),M=lu(E,"colspan",1);return zc(E,A,M)});return fv(b,y,m(b))}}),dR=l=>U(l).map(m=>{const b=Bo(m);return mv(b)?b:"tbody"}).getOr("tbody"),mw=l=>{const m=lw(l),y=[...Na(l),...m];return F1(y,dR)},xo=(l,m)=>F1(l,()=>m),du="data-snooker-locked-cols",ot=l=>nc(l,du).bind(m=>J.from(m.match(/\d+/g))).map(m=>Bt(m,pe)),Is=l=>{const m=Ee(Mo(l).rows,(y,E)=>(Ae(E.cells,(A,M)=>{A.isLocked&&(y[M]=!0)}),y),{}),b=Ka(m,(y,E)=>parseInt(E,10));return qn(b)},e2=(l,m)=>l+","+m,dd=(l,m,b)=>J.from(l.access[e2(m,b)]),Fi=(l,m,b)=>{const y=fh(l,E=>b(m,E.element));return y.length>0?J.some(y[0]):J.none()},fh=(l,m)=>{const b=us(l.all,y=>y.cells);return Wo(b,m)},tk=l=>{const m={};let b=0;return Ae(l.cells,y=>{const E=y.colspan;$o(E,A=>{const M=b+A;m[M]=AT(y.element,E,M)}),b+=E}),m},lc=l=>{const m={},b=[],E=ie(l).map(Ze=>Ze.element).bind(ta).bind(ot).getOr({});let A=0,M=0,$=0;const{pass:H,fail:G}=Br(l,Ze=>Ze.section==="colgroup");Ae(G,Ze=>{const ut=[];Ae(Ze.cells,Ne=>{let xe=0;for(;m[e2($,xe)]!==void 0;)xe++;const bt=jo(E,xe.toString()),st=gm(Ne.element,Ne.rowspan,Ne.colspan,$,xe,bt);for(let et=0;et{const ut=tk(Ze);return{colgroups:[_T(Ze.element,Bn(ut))],columns:ut}}).getOrThunk(()=>({colgroups:[],columns:{}}));return{grid:so(A,M),access:m,all:b,columns:ne,colgroups:ue}},en={fromTable:l=>{const m=mw(l);return lc(m)},generate:lc,getAt:dd,findItem:Fi,filterItems:fh,justCells:l=>us(l.all,m=>m.cells),justColumns:l=>Bn(l.columns),hasColumns:l=>ft(l.columns).length>0,getColumnAt:(l,m)=>J.from(l.columns[m])},hh=(l,m,b)=>fa(b(l.element,m),!0,l.isLocked),Ii=(l,m)=>l.section!==m?eu(l.element,l.cells,m,l.isNew):l,Mf=()=>({transformRow:Ii,transformCell:(l,m,b)=>{const y=b(l.element,m),E=Bo(y)!=="td"?ZS(y,"td"):y;return fa(E,l.isNew,l.isLocked)}}),Pa=()=>({transformRow:Ii,transformCell:hh}),uo=()=>({transformRow:(l,m)=>Ii(l,m==="thead"?"tbody":m),transformCell:hh}),ir={getTableSectionType:(l,m)=>{const b=en.fromTable(l);switch(dw(b).getOr(m)){case"section":return Mf();case"sectionCells":return Pa();case"cells":return uo()}},section:Mf,sectionCells:Pa,cells:uo,fallback:()=>({transformRow:fn,transformCell:hh})},ro=(l,m=pe)=>{const b=l.grid,y=$o(b.columns,fn),E=$o(b.rows,fn);return zt(y,A=>ph(()=>us(E,G=>en.getAt(l,G,A).filter(ne=>ne.column===A).toArray()),G=>G.colspan===1&&m(G.element),()=>en.getAt(l,0,A)))},ph=(l,m,b)=>{const y=l();return B(y,m).orThunk(()=>J.from(y[0]).orThunk(b)).map(M=>M.element)},bh=l=>{const m=l.grid,b=$o(m.rows,fn),y=$o(m.columns,fn);return zt(b,E=>ph(()=>us(y,H=>en.getAt(l,E,H).filter(G=>G.row===E).fold(q([]),G=>[G])),H=>H.rowspan===1,()=>en.getAt(l,E,0)))},t2=(l,m)=>{if(m<0||m>=l.length-1)return J.none();const b=l[m].fold(()=>{const E=wT(l.slice(0,m));return Nr(E,(A,M)=>A.map($=>({value:$,delta:M+1})))},E=>J.some({value:E,delta:0})),y=l[m+1].fold(()=>{const E=l.slice(m+1);return Nr(E,(A,M)=>A.map($=>({value:$,delta:M+1})))},E=>J.some({value:E,delta:1}));return b.bind(E=>y.map(A=>{const M=A.delta+E.delta;return Math.abs(A.value-E.value)/M}))},n2=(l,m)=>({row:l,y:m}),uc=(l,m)=>({col:l,x:m}),H1=l=>Xt(l).left+So(l),o2=l=>Xt(l).left,s2=(l,m)=>uc(l,o2(m)),z1=(l,m)=>uc(l,H1(m)),Bf=l=>Xt(l).top,gw=(l,m)=>n2(l,Bf(m)),ok=(l,m)=>n2(l,Bf(m)+jS(m)),r2=(l,m,b)=>{if(b.length===0)return[];const y=zt(b.slice(1),(A,M)=>A.map($=>l(M,$))),E=b[b.length-1].map(A=>m(b.length-1,A));return y.concat([E])},sk=l=>-l,vh={delta:fn,positions:l=>r2(gw,ok,l),edge:Bf},Et=ah({delta:fn,edge:o2,positions:l=>r2(s2,z1,l)},{delta:sk,edge:H1,positions:l=>r2(z1,s2,l)}),mc={delta:(l,m)=>Et(m).delta(l,m),positions:(l,m)=>Et(m).positions(l,m),edge:l=>Et(l).edge(l)},fc=/(\d+(\.\d+)?)%/,Er=/(\d+(\.\d+)?)px|em/,hw=Oa("col"),yh=Oa("tr"),md=(l,m,b)=>{const y=ga(l).getOrThunk(()=>Lv(y1(l)));return m(l)/b(y)*100},mu=(l,m)=>{Gs(l,"width",m+"px")},a2=(l,m)=>{Gs(l,"width",m+"%")},km=(l,m)=>{Gs(l,"height",m+"px")},pw=l=>{Mi(l,"height")},V1=l=>E1(l)+"px",Eo=(l,m,b,y)=>{const E=ta(l).map(A=>{const M=b(A);return Math.floor(m/100*M)}).getOr(m);return y(l,E),E},$a=(l,m,b,y)=>{const E=parseFloat(l);return s1(l,"%")&&Bo(m)!=="table"?Eo(m,E,b,y):E},Ir=l=>{const m=V1(l);return m?$a(m,l,Ma,km):Ma(l)},Am=(l,m,b)=>{const y=b(l),E=dh(l,m);return y/E},Tr=(l,m)=>Kc(l,m).orThunk(()=>nc(l,m).map(b=>b+"px")),_m=l=>Tr(l,"width"),Js=l=>Tr(l,"height"),Lr=l=>md(l,Rt,qs),Nf=l=>hw(l)?Math.round(Rt(l)):lo(l),Te=l=>yh(l)?Ma(l):Am(l,"rowspan",Ir),Fa=l=>_m(l).bind(b=>YT(b,["fixed","relative","empty"])),Ch=(l,m,b)=>{Gs(l,"width",m+b)},Yo=l=>Rt(l)+"px",Ia=l=>Ma(l)+"px",lr=l=>md(l,Rt,qs)+"%",rk=l=>_m(l).exists(m=>fc.test(m)),Li=l=>_m(l).exists(m=>Er.test(m)),bw=l=>_m(l).isNone(),na=q(fc),Dn=Oa("col"),Qc=l=>_m(l).getOrThunk(()=>Nf(l)+"px"),Sh=l=>Js(l).getOrThunk(()=>Te(l)+"px"),To=l=>zt(en.justColumns(l),m=>J.from(m.element)),c2=l=>{const m=Zc().browser,b=m.isChromium()||m.isFirefox();return Dn(l)?b:!0},vw=(l,m,b,y,E,A)=>l.filter(y).fold(()=>A(t2(b,m)),M=>E(M)),ei=(l,m,b,y)=>{const E=ro(l),A=en.hasColumns(l)?To(l):E,M=[J.some(mc.edge(m))].concat(zt(mc.positions(E,m),H=>H.map(G=>G.x))),$=te(Xv);return zt(A,(H,G)=>vw(H,G,M,$,ne=>{if(c2(ne))return b(ne);{const ue=SS(E[G],fn);return vw(ue,G,M,$,Ke=>y(J.some(Math.round(Rt(Ke)))),y)}},y))},U1=l=>l.map(m=>m+"px").getOr(""),oa=(l,m)=>ei(l,m,Qc,U1),ak=(l,m,b)=>ei(l,m,Lr,y=>y.fold(()=>b.minCellWidth(),E=>E/b.pixelWidth()*100)),ae=(l,m,b)=>ei(l,m,Nf,y=>y.getOrThunk(b.minCellWidth)),La=(l,m,b,y)=>{const E=bh(l),A=zt(l.all,$=>J.some($.element)),M=[J.some(vh.edge(m))].concat(zt(vh.positions(E,m),$=>$.map(H=>H.y)));return zt(A,($,H)=>vw($,H,M,pe,b,y))},i2=(l,m)=>La(l,m,Te,b=>b.getOrThunk(ld)),ko=(l,m)=>La(l,m,Sh,U1),Hr=(l,m)=>()=>wt(l)?m(l):parseFloat(Kc(l,"width").getOr("0")),Qs=l=>{const m=Hr(l,Rt),b=q(0);return{width:m,pixelWidth:m,getWidths:(E,A)=>ae(E,l,A),getCellDelta:b,singleColumnWidth:q([0]),minCellWidth:b,setElementWidth:Dt,adjustTableWidth:Dt,isRelative:!0,label:"none"}},Pn=l=>{const m=Hr(l,H=>parseFloat(lr(H))),b=Hr(l,Rt);return{width:m,pixelWidth:b,getWidths:(H,G)=>ak(H,l,G),getCellDelta:H=>H/b()*100,singleColumnWidth:(H,G)=>[100-H],minCellWidth:()=>Ko()/b()*100,setElementWidth:a2,adjustTableWidth:H=>{const G=m(),ne=H/100*G,ue=G+ne;a2(l,ue)},isRelative:!0,label:"percent"}},wh=l=>{const m=Hr(l,Rt);return{width:m,pixelWidth:m,getWidths:(M,$)=>ae(M,l,$),getCellDelta:fn,singleColumnWidth:(M,$)=>[Math.max(Ko(),M+$)-M],minCellWidth:Ko,setElementWidth:mu,adjustTableWidth:M=>{const $=m()+M;mu(l,$)},isRelative:!1,label:"pixel"}},fd=(l,m)=>na().exec(m)!==null?Pn(l):wh(l),Pf={getTableSize:l=>_m(l).fold(()=>Qs(l),b=>fd(l,b)),pixelSize:wh,percentageSize:Pn,noneSize:Qs},Hi=(l,m,b,y)=>{b===y?On(l,m):ms(l,m,b)},Cw=(l,m,b)=>{Gu(xr(l,m)).fold(()=>bo(l,b),y=>Oi(y,b))},ck=(l,m)=>{const b=No(l,m).getOrThunk(()=>{const y=qe.fromTag(m,y1(l).dom);return m==="thead"?Cw(l,"caption,colgroup",y):m==="colgroup"?Cw(l,"caption",y):An(l,y),y});return Ri(b),b},gd=(l,m)=>{const b=[],y=[],E=Ze=>zt(Ze,ut=>{ut.isNew&&b.push(ut.element);const Ne=ut.element;return Ri(Ne),Ae(ut.cells,xe=>{xe.isNew&&y.push(xe.element),Hi(xe.element,"colspan",xe.colspan,1),Hi(xe.element,"rowspan",xe.rowspan,1),An(Ne,xe.element)}),Ne}),A=Ze=>us(Ze,ut=>zt(ut.cells,Ne=>(Hi(Ne.element,"span",Ne.colspan,1),Ne.element))),M=(Ze,ut)=>{const Ne=ck(l,ut),bt=(ut==="colgroup"?A:E)(Ze);jc(Ne,bt)},$=Ze=>{No(l,Ze).each(Cr)},H=(Ze,ut)=>{Ze.length>0?M(Ze,ut):$(ut)},G=[],ne=[],ue=[],Ke=[];return Ae(m,Ze=>{switch(Ze.section){case"thead":G.push(Ze);break;case"tbody":ne.push(Ze);break;case"tfoot":ue.push(Ze);break;case"colgroup":Ke.push(Ze);break}}),H(Ke,"colgroup"),H(G,"thead"),H(ne,"tbody"),H(ue,"tfoot"),{newRows:b,newCells:y}},hd=l=>zt(l,m=>{const b=qc(m.element);return Ae(m.cells,y=>{const E=$s(y.element);Hi(E,"colspan",y.colspan,1),Hi(E,"rowspan",y.rowspan,1),An(b,E)}),b}),Sw=(l,m)=>zt(l,b=>Ht(b,m)),ik=(l,m)=>l[m],l2=(l,m)=>{if(l.length===0)return 0;const b=l[0];return um(l,E=>!m(b.element,E.element)).getOr(l.length)},_s=(l,m,b,y)=>{const E=ik(l,m),A=E.section==="colgroup",M=l2(E.cells.slice(b),y),$=A?1:l2(Sw(l.slice(m),b),y);return{colspan:M,rowspan:$}},pd=(l,m)=>{const b=zt(l,E=>zt(E.cells,on)),y=(E,A,M,$)=>{for(let H=E;H{const M=us(E.cells,($,H)=>{if(b[A][H]===!1){const G=_s(l,A,H,m);return y(A,H,G.rowspan,G.colspan),[xs($.element,G.rowspan,G.colspan,$.isNew)]}else return[]});return xi(E.element,M,E.section,E.isNew)})},bd=(l,m,b)=>{const y=[];Ae(l.colgroups,E=>{const A=[];for(let M=0;Mfa(H.element,b,!1)).getOrThunk(()=>fa(m.colGap(),!0,!1));A.push($)}y.push(eu(E.element,A,"colgroup",b))});for(let E=0;Efa(ne.element,b,ne.isLocked)).getOrThunk(()=>fa(m.gap(),!0,!1));A.push(G)}const M=l.all[E],$=eu(M.element,A,M.section,b);y.push($)}return y},gc=(l,m)=>bd(l,m,!1),hs=l=>pd(l,to),zr=(l,m)=>Nr(l.all,b=>B(b.cells,y=>to(m,y.element))),$f=(l,m,b)=>{const y=zt(m.selection,A=>Qv(A).bind(M=>zr(l,M)).filter(b)),E=Io(y);return uv(E.length>0,E)},ps=(l,m,b,y,E,A,M,$,H)=>{const G=en.fromTable(A),ne=J.from(H==null?void 0:H.section).getOrThunk(ir.fallback);return m(G,M).map(Ke=>{const Ze=gc(G,$),ut=l(Ze,Ke,to,E($),ne),Ne=Is(ut.grid),xe=hs(ut.grid);return{info:Ke,grid:xe,cursor:ut.cursor,lockedColumns:Ne}}).bind(Ke=>{const Ze=gd(A,Ke.grid),ut=J.from(H==null?void 0:H.sizing).getOrThunk(()=>Pf.getTableSize(A)),Ne=J.from(H==null?void 0:H.resize).getOrThunk(iw);return b(A,Ke.grid,Ke.info,{sizing:ut,resize:Ne,section:ne}),y(A),On(A,du),Ke.lockedColumns.length>0&&ms(A,du,Ke.lockedColumns.join(",")),J.some({cursor:Ke.cursor,newRows:Ze.newRows,newCells:Ze.newCells})})},u2=(l,m)=>Qv(m.element).bind(b=>zr(l,b).map(y=>({...y,generators:m.generators,clipboard:m.clipboard}))),hc=(l,m)=>$f(l,m,pe).map(b=>({cells:b,generators:m.generators,clipboard:m.clipboard})),pc=(l,m)=>m.mergable,Z1=(l,m)=>m.unmergable,Os=(l,m)=>$f(l,m,pe),Om=(l,m)=>$f(l,m,b=>!b.isLocked),fu=(l,m)=>zr(l,m).exists(b=>!b.isLocked),Dm=(l,m)=>ho(m,b=>fu(l,b)),gu=(l,m)=>pc(l,m).filter(b=>Dm(l,b.cells)),lk=(l,m)=>Z1(l,m).filter(b=>Dm(l,b)),Ff={...Lc.generate([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},uk=(l,m)=>l.length===0?Ff.none():l.length===1?Ff.only(0):m===0?Ff.left(0,1):m===l.length-1?Ff.right(m-1,m):m>0&&m{const A=l.slice(0),M=uk(l,m),$=q(zt(A,q(0))),H=Ke=>y.singleColumnWidth(A[Ke],b),G=(Ke,Ze)=>E.calcLeftEdgeDeltas(A,Ke,Ze,b,y.minCellWidth(),y.isRelative),ne=(Ke,Ze,ut)=>E.calcMiddleDeltas(A,Ke,Ze,ut,b,y.minCellWidth(),y.isRelative),ue=(Ke,Ze)=>E.calcRightEdgeDeltas(A,Ke,Ze,b,y.minCellWidth(),y.isRelative);return M.fold($,H,G,ne,ue)},xh=(l,m,b)=>{let y=0;for(let E=l;E{const b=en.justCells(l);return zt(b,y=>{const E=xh(y.column,y.column+y.colspan,m);return{element:y.element,width:E,colspan:y.colspan}})},If=(l,m)=>{const b=en.justColumns(l);return zt(b,(y,E)=>({element:y.element,width:m[E],colspan:y.colspan}))},j1=(l,m)=>zt(l.all,(b,y)=>({element:b.element,height:m[y]})),vd=l=>Yr(l,(m,b)=>m+b,0),Ha=(l,m)=>en.hasColumns(l)?If(l,m):kr(l,m),hu=(l,m,b)=>{const y=Ha(l,m);Ae(y,E=>{b.setElementWidth(E.element,E.width)})},bc=(l,m,b,y,E)=>{const A=en.fromTable(l),M=E.getCellDelta(m),$=E.getWidths(A,E),H=b===A.grid.columns-1,G=y.clampTableDelta($,b,M,E.minCellWidth(),H),ne=Oo($,b,G,E,y),ue=zt(ne,(Ke,Ze)=>Ke+$[Ze]);hu(A,ue,E),y.resizeTable(E.adjustTableWidth,G,H)},ww=(l,m,b)=>{const y=en.fromTable(l),E=i2(y,l),A=zt(E,(H,G)=>b===G?Math.max(m+H,ld()):H),M=j1(y,A);Ae(M,H=>{km(H.element,H.height)}),Ae(en.justCells(y),H=>{pw(H.element)});const $=vd(A);km(l,$)},G1=(l,m,b,y,E)=>{const A=en.generate(m),M=y.getWidths(A,y),$=y.pixelWidth(),{newSizes:H,delta:G}=E.calcRedestributedWidths(M,$,b.pixelDelta,y.isRelative);hu(A,H,y),y.adjustTableWidth(G)},Eh=(l,m,b,y)=>{const E=en.generate(m),A=y.getWidths(E,y);hu(E,A,y)},q1=(l,m)=>{Xv(l)||Fa(l).each(y=>{const E=y.value/2;Ch(l,E,y.unit),Ch(m,E,y.unit)})},d2=(l,m,b)=>{const y=lu(l,m,1);b===1||y<=1?On(l,m):ms(l,m,Math.min(b,y))},m2=(l,m)=>b=>{const y=b.column+b.colspan-1,E=b.column;return y>=l&&E{if(en.hasColumns(l)){const y=Wo(en.justColumns(l),m2(m,b)),E=zt(y,M=>{const $=$s(M.element);return d2($,"span",b-m),$}),A=qe.fromTag("colgroup");return jc(A,E),[A]}else return[]},Lf=(l,m,b)=>zt(l.all,y=>{const E=Wo(y.cells,m2(m,b)),A=zt(E,$=>{const H=$s($.element);return d2(H,"colspan",b-m),H}),M=qe.fromTag("tr");return jc(M,A),M}),zi=(l,m)=>{const b=en.fromTable(l);return Om(b,m).map(E=>{const A=E[E.length-1],M=E[0].column,$=A.column+A.colspan,H=f2(b,M,$),G=Lf(b,M,$);return[...H,...G]})},wl=(l,m,b)=>{const y=en.fromTable(l);return Os(y,m).bind(A=>{const M=bd(y,b,!1),H=Mo(M).rows.slice(A[0].row,A[A.length-1].row+A[A.length-1].rowspan),G=us(H,ue=>{const Ke=Wo(ue.cells,Ze=>!Ze.isLocked);return Ke.length>0?[{...ue,cells:Ke}]:[]}),ne=hs(G);return uv(ne.length>0,ne)}).map(A=>hd(A))},Rm=(l,m,b,y,E,A)=>({minRow:l,minCol:m,maxRow:b,maxCol:y,allCells:E,selectedCells:A}),Hf=(l,m)=>{const b=l.grid.columns;let E=l.grid.rows,A=b,M=0,$=0;const H=[],G=[];return Pr(l.access,ne=>{if(H.push(ne),m(ne)){G.push(ne);const ue=ne.row,Ke=ue+ne.rowspan-1,Ze=ne.column,ut=Ze+ne.colspan-1;ueM&&(M=Ke),Ze$&&($=ut)}}),Rm(E,A,M,$,H,G)},zf=(l,m,b)=>{const y=l[b].element,E=qe.fromTag("td");An(E,qe.fromTag("br")),(m?An:bo)(y,E)},g2=(l,m,b,y)=>{const E=Wo(l,$=>$.section!=="colgroup"),A=m.grid.columns,M=m.grid.rows;for(let $=0;$b.maxRow||Gb.maxCol||(en.getAt(m,$,G).filter(y).isNone()?zf(E,H,$):H=!0)}},xw=(l,m,b,y)=>{Pr(b.columns,M=>{(M.columnm.maxCol)&&Cr(M.element)});const E=Wo(Rf(l,"tr"),M=>M.dom.childElementCount===0);Ae(E,Cr),(m.minCol===m.maxCol||m.minRow===m.maxRow)&&Ae(Rf(l,"th,td"),M=>{On(M,"rowspan"),On(M,"colspan")}),On(l,du),On(l,"data-snooker-col-series"),Pf.getTableSize(l).adjustTableWidth(y)},Ew=(l,m,b,y)=>{if(y.minCol===0&&m.grid.columns===y.maxCol+1)return 0;const E=ae(m,l,b),A=Ee(E,(G,ne)=>G+ne,0),H=Ee(E.slice(y.minCol,y.maxCol+1),(G,ne)=>G+ne,0)/A*b.pixelWidth()-b.pixelWidth();return b.getCellDelta(H)},Tw=(l,m)=>{const b=Ke=>ec(Ke.element,m),y=$s(l),E=mw(y),A=Pf.getTableSize(l),M=en.generate(E),$=Hf(M,b),H="th:not("+m+"),td:not("+m+")",G=Jv(y,"th,td",Ke=>ec(Ke,H));Ae(G,Cr),g2(E,M,$,b);const ne=en.fromTable(l),ue=Ew(l,ne,A,$);return xw(y,$,M,ue),y},Th=Oa("col"),Vf=Oa("colgroup"),pu=l=>Bo(l)==="tr"||Vf(l),kw=l=>{const m=lu(l,"colspan",1),b=lu(l,"rowspan",1);return{element:l,colspan:m,rowspan:b}},yd=(l,m=kw)=>{const b=$=>Th($.element)?l.col($):l.cell($),y=$=>Vf($.element)?l.colgroup($):l.row($),E=$=>{if(pu($))return y({element:$});{const H=$,G=b(m(H));return A=J.some({item:H,replacement:G}),G}};let A=J.none();return{getOrInit:($,H)=>A.fold(()=>E($),G=>H($,G.item)?G.replacement:E($))}},Uf=l=>m=>{const b=[],y=(M,$)=>B(b,H=>$(H.item,M)),E=M=>{const $=l==="td"?{scope:null}:{},H=m.replace(M,l,$);return b.push({item:M,sub:H}),H};return{replaceOrInit:(M,$)=>{if(pu(M)||Th(M))return M;{const H=M;return y(H,$).fold(()=>E(H),G=>$(M,G.item)?G.sub:E(H))}}}},Aw=l=>nc(l,"scope").map(m=>m.substr(0,3)),ba={modification:yd,transform:Uf,merging:l=>({unmerge:y=>{const E=Aw(y);return E.each(A=>ms(y,"scope",A)),()=>{const A=l.cell({element:y,colspan:1,rowspan:1});return Mi(A,"width"),Mi(y,"width"),E.each(M=>ms(A,"scope",M)),A}},merge:y=>{const E=()=>{const A=Io(zt(y,Aw));if(A.length===0)return J.none();{const M=A[0],$=["row","col"];return Me(A,G=>G!==M&&Zo($,G))?J.none():J.from(M)}};return Mi(y[0],"width"),E().fold(()=>On(y[0],"scope"),A=>ms(y[0],"scope",A+"group")),q(y[0])}})},Mm=(l,m)=>{const b=l.slice(0,m[m.length-1].row+1),y=hs(b);return us(y,E=>{const A=E.cells.slice(0,m[m.length-1].column+1);return zt(A,M=>M.element)})},h2=(l,m)=>{const b=l.slice(m[0].row+m[0].rowspan-1,l.length),y=hs(b);return us(y,E=>{const A=E.cells.slice(m[0].column+m[0].colspan-1,E.cells.length);return zt(A,M=>M.element)})},p2=(l,m,b)=>{const y=en.fromTable(l);return Os(y,m).map(A=>{const M=bd(y,b,!1),{rows:$}=Mo(M),H=Mm($,A),G=h2($,A);return{upOrLeftCells:H,downOrRightCells:G}})},Ow={only:(l,m)=>{const b=$T(l)?th(l):l;return{parent:q(b),view:q(l),dragContainer:q(b),origin:q(vo(0,0)),isResizable:m}},detached:(l,m,b)=>{const y=()=>Xt(m);return{parent:q(m),view:q(l),dragContainer:q(m),origin:y,isResizable:b}},body:(l,m)=>({parent:q(l),view:q(l),dragContainer:q(l),origin:()=>Xt(l),isResizable:m})},xl=Lc.generate([{invalid:["raw"]},{pixels:["value"]},{percent:["value"]}]),b2=(l,m,b)=>{const y=b.substring(0,b.length-l.length),E=parseFloat(y);return y===E.toString()?m(E):xl.invalid(b)},za={...xl,from:l=>s1(l,"%")?b2("%",xl.percent,l):s1(l,"px")?b2("px",xl.pixels,l):xl.invalid(l)},Y1=(l,m)=>zt(l,b=>za.from(b).fold(()=>b,E=>E/m*100+"%",E=>E+"%")),yt=(l,m,b)=>{const y=b/m;return zt(l,E=>za.from(E).fold(()=>E,M=>M*y+"px",M=>M/100*b+"px"))},va=(l,m)=>{const b=l.fold(()=>q(""),y=>{const E=y/m;return q(E+"px")},()=>{const y=100/m;return q(y+"%")});return $o(m,b)},kh=(l,m,b)=>l.fold(()=>m,y=>yt(m,b,y),y=>Y1(m,b)),X1=(l,m,b)=>{const y=za.from(b),E=ho(l,A=>A==="0px")?va(y,l.length):kh(y,l,m);return mk(E)},Kn=(l,m)=>l.length===0?m:Yr(l,(b,y)=>za.from(y).fold(q(0),fn,fn)+b,0),v2=(l,m)=>{const b=Math.floor(l);return{value:b+m,remainder:l-b}},ti=(l,m)=>za.from(l).fold(q(l),b=>b+m+"px",b=>b+m+"%"),mk=l=>{if(l.length===0)return l;const m=Yr(l,(y,E)=>{const A=za.from(E).fold(()=>({value:E,remainder:0}),M=>v2(M,"px"),M=>({value:M+"%",remainder:0}));return{output:[A.value].concat(y.output),remainder:y.remainder+A.remainder}},{output:[],remainder:0}),b=m.output;return b.slice(0,b.length-1).concat([ti(b[b.length-1],Math.round(m.remainder))])},y2=za.from,C2=(l,m,b)=>{Ae(m,y=>{const E=l.slice(y.column,y.colspan+y.column),A=Kn(E,Ko());Gs(y.element,"width",A+b)})},Ah=(l,m,b)=>{Ae(m,(y,E)=>{const A=Kn([l[E]],Ko());Gs(y.element,"width",A+b)})},J1=(l,m,b)=>{Ae(b,y=>{Mi(y.element,"height")}),Ae(m,(y,E)=>{Gs(y.element,"height",l[E])})},S2=l=>y2(l).fold(q("px"),q("px"),q("%")),Rw=(l,m,b)=>{const y=en.fromTable(l),E=y.all,A=en.justCells(y),M=en.justColumns(y);m.each($=>{const H=S2($),G=Rt(l),ne=oa(y,l),ue=X1(ne,G,$);en.hasColumns(y)?Ah(ue,M,H):C2(ue,A,H),Gs(l,"width",$)}),b.each($=>{const H=Ma(l),G=ko(y,l),ne=X1(G,H,$);J1(ne,E,A),Gs(l,"height",$)})},Mw=rk,fk=Li,gk=bw;var Bm=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Q1=()=>{const l=G=>qe.fromDom(G.dom.cloneNode(!1)),m=G=>Wc(G).dom,b=G=>rr(G)?Bo(G)==="body"?!0:Zo(Bm,Bo(G)):!1,y=G=>rr(G)?Zo(["br","img","hr","input"],Bo(G)):!1,E=G=>rr(G)&&Gc(G,"contenteditable")==="false",A=(G,ne)=>G.dom.compareDocumentPosition(ne.dom),M=(G,ne)=>{const ue=oc(G);ru(ne,ue)},$=G=>{const ne=Bo(G);return Zo(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],ne)},H=G=>rr(G)?nc(G,"lang"):J.none();return{up:q({selector:ic,closest:fs,predicate:Ln,all:ed}),down:q({selector:vl,predicate:od}),styles:q({get:Sm,getRaw:Kc,set:Gs,remove:Mi}),attrs:q({get:Gc,set:ms,remove:On,copyTo:M}),insert:q({before:_i,after:Oi,afterAll:pl,append:An,appendAll:jc,prepend:bo,wrap:IT}),remove:q({unwrap:Ps,remove:Cr}),create:q({nu:qe.fromTag,clone:l,text:qe.fromText}),query:q({comparePosition:A,prevSibling:Rv,nextSibling:kf}),property:q({children:yr,name:Bo,parent:U,document:m,isText:Tf,isComment:PT,isElement:rr,isSpecial:$,getLanguage:H,getText:sh,setText:rh,isBoundary:b,isEmptyTag:y,isNonEditable:E}),eq:to,is:BS}};const _h=(l,m)=>({item:l,mode:m}),Va=(l,m,b,y=bs)=>l.property().parent(m).map(E=>_h(E,y)),bs=(l,m,b,y=bu)=>b.sibling(l,m).map(E=>_h(E,y)),bu=(l,m,b,y=bu)=>{const E=l.property().children(m);return b.first(E).map(M=>_h(M,y))},Cd=[{current:Va,next:bs,fallback:J.none()},{current:bs,next:bu,fallback:J.some(Va)},{current:bu,next:bu,fallback:J.some(bs)}],Nm=(l,m,b,y,E=Cd)=>B(E,M=>M.current===b).bind(M=>M.current(l,m,y,M.next).orThunk(()=>M.fallback.bind($=>Nm(l,m,$,y)))),Pm={left:()=>({sibling:(b,y)=>b.query().prevSibling(y),first:b=>b.length>0?J.some(b[b.length-1]):J.none()}),right:()=>({sibling:(b,y)=>b.query().nextSibling(y),first:b=>b.length>0?J.some(b[0]):J.none()})},n0=(l,m,b,y,E,A)=>Nm(l,m,y,E).bind($=>A($.item)?J.none():b($.item)?J.some($.item):n0(l,$.item,b,$.mode,E,A)),w2=(l,m,b,y)=>n0(l,m,b,bs,Pm.left(),y),o0=(l,m,b,y)=>n0(l,m,b,bs,Pm.right(),y),vu=(l,m)=>({element:l,offset:m}),Oh=(l,m,b)=>l.property().isText(m)&&l.property().getText(m).trim().length===0||l.property().isComment(m)?b(m).bind(y=>Oh(l,y,b).orThunk(()=>J.some(y))):J.none(),Wf=(l,m)=>l.property().isText(m)?l.property().getText(m).length:l.property().children(m).length,s0=(l,m)=>{const b=Oh(l,m,l.query().prevSibling).getOr(m);if(l.property().isText(b))return vu(b,Wf(l,b));const y=l.property().children(b);return y.length>0?s0(l,y[y.length-1]):vu(b,Wf(l,b))},hk=s0,r0=Q1(),Dh=l=>hk(r0,l),Sd=l=>m=>l.property().children(m).length===0,pk=(l,m,b)=>Bw(l,m,Sd(l),b),bk=(l,m,b)=>x2(l,m,Sd(l),b),Bw=w2,x2=o0,Rh=Q1(),Nw=(l,m)=>pk(Rh,l,m),El=(l,m)=>bk(Rh,l,m),Vr=(l,m,b)=>Bw(Rh,l,m,b),Ar=(l,m,b)=>x2(Rh,l,m,b),vc=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Mh=(l,m)=>{const b=l.property().name(m);return Zo(["ol","ul"],b)},E2=(l,m)=>{const b=l.property().name(m);return Zo(vc,b)},Pw=(l,m)=>Zo(["br","img","hr","input"],l.property().name(m)),wd=(l,m,b,y)=>{const E=b[0],A=b.slice(1);return y(l,m,E,A)},xd=(l,m,b)=>b.length>0?wd(l,m,b,T2):J.none(),T2=(l,m,b,y)=>{const E=m(l,b);return Yr(y,(A,M)=>{const $=m(l,M);return Bh(l,A,$)},E)},Bh=(l,m,b)=>m.bind(y=>b.filter(gn(l.eq,y))),jf=(l,m)=>gn(l.eq,m),$w=(l,m,b,y=on)=>{const E=[m].concat(l.up().all(m)),A=[b].concat(l.up().all(b)),M=ne=>um(ne,y).fold(()=>ne,Ke=>ne.slice(0,Ke+1)),$=M(E),H=M(A),G=B($,ne=>Me(H,jf(l,ne)));return{firstpath:$,secondpath:H,shared:G}},Fw=xd,Ed=$w,Vi=Q1(),Zn=(l,m)=>Fw(Vi,(b,y)=>l(y),m),Po=(l,m,b)=>Ed(Vi,l,m,b),$m=Q1(),Ur=l=>E2($m,l),Iw=l=>Mh($m,l),k2=l=>Pw($m,l),Fm=l=>{const m=Oa("br"),b=H=>ho(H,G=>m(G)||Tf(G)&&sh(G).trim().length===0),y=H=>Bo(H)==="li"||Ln(H,Iw).isSome(),E=H=>kf(H).map(G=>Ur(G)?!0:k2(G)?Bo(G)!=="img":!1).getOr(!1),A=H=>qo(H).bind(G=>{const ne=E(G);return U(G).map(ue=>ne===!0||y(ue)||m(G)||Ur(ue)&&!to(H,ue)?[]:[qe.fromTag("br")])}).getOr([]),$=(()=>{const H=us(l,G=>{const ne=yr(G);return b(ne)?[]:ne.concat(A(G))});return H.length===0?[qe.fromTag("br")]:H})();Ri(l[0]),jc(l[0],$)},ni=l=>{On(l,"width"),On(l,"height")},oi=l=>{const m=lr(l);Rw(l,J.some(m),J.none()),ni(l)},ya=l=>{const m=Yo(l);Rw(l,J.some(m),J.none()),ni(l)},yc=l=>{const m=Ia(l);Rw(l,J.none(),J.some(m)),ni(l)},Nh=l=>{Mi(l,"width");const m=$1(l),b=m.length>0?m:uu(l);Ae(b,y=>{Mi(y,"width"),ni(y)}),ni(l)},Ds={scope:["row","col"]},si=l=>()=>{const m=qe.fromTag("td",l.dom);return An(m,qe.fromTag("br",l.dom)),m},A2=l=>()=>qe.fromTag("col",l.dom),Ph=l=>()=>qe.fromTag("colgroup",l.dom),$h=l=>()=>qe.fromTag("tr",l.dom),a0=(l,m,b)=>{const y=ym(l,m);return Pr(b,(E,A)=>{E===null?On(y,A):ms(y,A,E)}),y},Fh=l=>l,c0=(l,m,b)=>lh(l).map(E=>{const A=b.join(","),M=Nn(E,A,$=>to($,l));return Yr(M,($,H)=>{const G=qc(H);return An($,G),G},m)}).getOr(m),Td=(l,m)=>{Pr(Ds,(b,y)=>nc(l,y).filter(E=>Zo(b,E)).each(E=>ms(m,y,E)))},Tl=(l,m,b)=>{const y=(M,$)=>{Hv(M.element,$),Mi($,"height"),M.colspan!==1&&Mi($,"width")},E=M=>{const $=qe.fromTag(Bo(M.element),m.dom),H=b.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),G=H.length>0?c0(M.element,$,H):$;return An(G,qe.fromTag("br")),y(M,$),Td(M.element,$),l(M.element,$),$};return{col:M=>{const $=qe.fromTag(Bo(M.element),m.dom);return y(M,$),l(M.element,$),$},colgroup:Ph(m),row:$h(m),cell:E,replace:a0,colGap:A2(m),gap:si(m)}},i0=l=>({col:A2(l),colgroup:Ph(l),row:$h(l),cell:si(l),replace:Fh,colGap:A2(l),gap:si(l)}),Ih=l=>en.fromTable(l).grid,_2=(l,m,b,y)=>{const E=Mo(l).rows;if(E.length===0)return l;for(let A=m.startRow;A<=m.finishRow;A++)for(let M=m.startCol;M<=m.finishCol;M++){const $=E[A],H=Ht($,M).isLocked;Xu($,M,fa(y(),!1,H))}return l},Gf=(l,m,b,y)=>{const E=Mo(l).rows;let A=!0;for(let M=0;MEe(l,(b,y)=>Me(b,E=>m(E.element,y.element))?b:b.concat([y]),[]),vk=(l,m,b,y)=>(m>0&&m{const A=E.cells[m-1];let M=0;const $=y();for(;E.cells.length>m+M&&b(A.element,E.cells[m+M].element);)Xu(E,m+M,fa($,!0,E.cells[m+M].isLocked)),M++}),l),kd=(l,m,b,y)=>{const E=Mo(l).rows;if(m>0&&m{let H=J.none();for(let G=m;G{Xu(ue,ne,fa(ut,!0,Ke.isLocked))}))}})}return l},O2=(l,m,b)=>{if(l.row>=m.length||l.column>_a(m[0]))return Yu.error("invalid start address out of table bounds, row: "+l.row+", column: "+l.column);const y=m.slice(l.row),E=y[0].cells.slice(l.column),A=_a(b[0]),M=b.length;return Yu.value({rowDelta:y.length-M,colDelta:E.length-A})},D2=(l,m)=>{const b=_a(l[0]),y=_a(m[0]);return{rowDelta:0,colDelta:b-y}},qf=(l,m)=>{const b=l.length,y=m.length;return{rowDelta:b-y,colDelta:0}},ri=(l,m,b,y)=>{const E=m.section==="colgroup"?b.col:b.cell;return $o(l,A=>fa(E(),!0,y(A)))},R2=(l,m,b,y)=>{const E=l[l.length-1];return l.concat($o(m,()=>{const A=E.section==="colgroup"?b.colgroup:b.row,M=hv(E,A,fn),$=ri(M.cells.length,M,b,H=>Fo(y,H.toString()));return gv(M,$)}))},Lw=(l,m,b,y)=>zt(l,E=>{const A=ri(m,E,b,on);return Vc(E,y,A)}),Hw=(l,m,b)=>zt(l,y=>Ee(b,(E,A)=>{const M=ri(1,y,m,pe)[0];return TS(E,A,M)},y)),Lh=(l,m,b)=>{const y=m.colDelta<0?Lw:fn,E=m.rowDelta<0?R2:fn,A=Is(l),M=_a(l[0]),$=Me(A,ne=>ne===M-1),H=y(l,Math.abs(m.colDelta),b,$?M-1:M),G=Is(H);return E(H,Math.abs(m.rowDelta),b,Bt(G,pe))},cs=(l,m,b,y)=>{const E=Ht(l[m],b),A=gn(y,E.element),M=l[m];return l.length>1&&_a(M)>1&&(b>0&&A(Qr(M,b-1))||b0&&A(Qr(l[m-1],b))||m{const M=l.row,$=l.column,H=b.length,G=_a(b[0]),ne=M+H,ue=$+G+A.length,Ke=Bt(A,pe);for(let Ze=M;Ze{const y=_a(m[0]),E=Mo(m).cols.length+l.row,A=$o(y-l.column,$=>$+l.column),M=B(A,$=>ho(b,H=>H!==$)).getOr(y-1);return{row:E,column:M}},Ls=(l,m,b)=>Wo(b,y=>y>=l.column&&y<=_a(m[0])+l.column),Rs=(l,m,b,y,E)=>{const A=Is(m),M=er(l,m,A),$=Mo(b).rows,H=Ls(M,$,A);return O2(M,m,$).map(ne=>{const ue={...ne,colDelta:ne.colDelta-H.length},Ke=Lh(m,ue,y),Ze=Is(Ke),ut=Ls(M,$,Ze);return Xo(M,Ke,$,y,E,ut)})},Jo=(l,m,b,y,E)=>{vk(m,l,E,y.cell);const A=qf(b,m),M=Lh(b,A,y),$=qf(m,M),H=Lh(m,$,y);return zt(H,(G,ne)=>Vc(G,l,M[ne].cells))},Hh=(l,m,b,y,E)=>{kd(m,l,E,y.cell);const A=Is(m),M=D2(m,b),$={...M,colDelta:M.colDelta-A.length},H=Lh(m,$,y),{cols:G,rows:ne}=Mo(H),ue=Is(H),Ke=D2(b,m),Ze={...Ke,colDelta:Ke.colDelta+ue.length},ut=Hw(b,y,ue),Ne=Lh(ut,Ze,y);return[...G,...ne.slice(0,l),...Ne,...ne.slice(l,ne.length)]},M2=(l,m,b,y)=>hv(l,E=>y(E,b),m),B2=(l,m,b,y,E)=>{const{rows:A,cols:M}=Mo(l),$=A.slice(0,m),H=A.slice(m),G=M2(A[b],(ne,ue)=>m>0&&m{if(b==="colgroup"||!y){const $=Ht(l,E);return fa(M($.element,A),!0,!1)}else return Ht(l,m)},N2=(l,m,b,y,E)=>zt(l,A=>{const M=m>0&&m<_a(A)&&y(Qr(A,m-1),Qr(A,m)),$=ai(A,m,A.section,M,b,y,E);return TS(A,m,$)}),l0=(l,m)=>us(l,b=>{const y=b.cells,E=Yr(m,(A,M)=>M>=0&&M0?[eu(b.element,E,b.section,b.isNew)]:[]}),P2=(l,m,b)=>{const{rows:y,cols:E}=Mo(l);return[...E,...y.slice(0,m),...y.slice(b+1)]},$2=(l,m,b,y)=>Qr(l[m],b)!==void 0&&m>0&&y(Qr(l[m-1],b),Qr(l[m],b)),F2=(l,m,b)=>m>0&&b(Qr(l,m-1),Qr(l,m)),I2=(l,m,b,y)=>$2(l,m,b,y)||F2(l[m],b,y),L2=(l,m)=>ho(m,fn)&&mh(l.cells)?pe:(y,E,A)=>!(Bo(y.element)==="th"&&m[A]),yk=(l,m)=>ho(m,fn)&&mh(l)?pe:(y,E,A)=>!(Bo(y.element)==="th"&&m[E]),kl=(l,m,b,y)=>{const E=M=>M==="row"?QT(m):Xv(m),A=M=>E(M)?`${M}group`:M;return l?Tm(m)?A(b):null:y&&Tm(m)?A(b==="row"?"col":"row"):null},H2=(l,m)=>(b,y,E)=>J.some(kl(l,b.element,"col",m[E])),Kf=(l,m)=>(b,y)=>J.some(kl(l,b.element,"row",m[y])),u0=(l,m,b)=>fa(b(l.element,m),!0,l.isLocked),yu=(l,m,b,y,E,A,M)=>{const $=H=>Me(m,G=>b(H.element,G.element));return zt(l,(H,G)=>ds(H,(ne,ue)=>{if($(ne)){const Ke=M(ne,G,ue)?E(ne,b,y):ne;return A(Ke,G,ue).each(Ze=>{Ra(Ke.element,{scope:J.from(Ze)})}),Ke}else return ne}))},Yf=(l,m,b)=>us(l,(y,E)=>I2(l,E,m,b)?[]:[Ht(y,m)]),z2=(l,m,b)=>{const y=l[m];return us(y.cells,(E,A)=>I2(l,m,A,b)?[]:[E])},Ad=(l,m,b,y,E)=>{const A=Mo(l).rows,M=us(m,ne=>Yf(A,ne,y)),$=zt(A,ne=>mh(ne.cells)),H=yk(M,$),G=Kf(b,$);return yu(l,M,y,E,u0,G,H)},Xf=(l,m,b,y,E,A,M)=>{const{cols:$,rows:H}=Mo(l),G=H[m[0]],ne=us(m,xe=>z2(H,xe,E)),ue=zt(G.cells,(xe,bt)=>mh(Yf(H,bt,E))),Ke=[...H];Ae(m,xe=>{Ke[xe]=M.transformRow(H[xe],b)});const Ze=[...$,...Ke],ut=L2(G,ue),Ne=H2(y,ue);return yu(Ze,ne,E,A,M.transformCell,Ne,ut)},_d=(l,m,b,y)=>{const E=Mo(l).rows,A=zt(m,M=>Ht(E[M.row],M.column));return yu(l,A,b,y,u0,J.none,pe)},Ui=l=>Ee(l,(b,y)=>Me(b,A=>A.column===y.column)?b:b.concat([y]),[]).sort((b,y)=>b.column-y.column),Ca=l=>ch(l,!0),Jf=l=>{uu(l).length===0&&Cr(l)},zh=(l,m)=>({grid:l,cursor:m}),V2=l=>Nr(l,m=>Nr(m.cells,b=>{const y=b.element;return uv(Ca(y),y)})),Od=(l,m,b)=>{var E,A;const y=Mo(l).rows;return J.from((A=(E=y[m])==null?void 0:E.cells[b])==null?void 0:A.element).filter(Ca).orThunk(()=>V2(y))},vs=(l,m,b)=>{const y=Od(l,m,b);return zh(l,y)},d0=l=>Ee(l,(b,y)=>Me(b,A=>A.row===y.row)?b:b.concat([y]),[]).sort((b,y)=>b.row-y.row),he=(l,m,b,y)=>{const E=m[0].row,A=d0(m),M=Yr(A,($,H)=>({grid:B2($.grid,E,H.row+$.delta,b,y.getOrInit),delta:$.delta+1}),{grid:l,delta:0}).grid;return vs(M,E,m[0].column)},Vh=(l,m,b,y)=>{const E=d0(m),A=E[E.length-1],M=A.row+A.rowspan,$=Yr(E,(H,G)=>B2(H,M,G.row,b,y.getOrInit),l);return vs($,M,m[0].column)},zw=(l,m,b,y)=>{const E=m.details,A=Ui(E),M=A[0].column,$=Yr(A,(H,G)=>({grid:N2(H.grid,M,G.column+H.delta,b,y.getOrInit),delta:H.delta+1}),{grid:l,delta:0}).grid;return vs($,E[0].row,M)},Qf=(l,m,b,y)=>{const E=m.details,A=E[E.length-1],M=A.column+A.colspan,$=Ui(E),H=Yr($,(G,ne)=>N2(G,M,ne.column,b,y.getOrInit),l);return vs(H,E[0].row,M)},Uh=(l,m,b,y)=>{const E=Ui(m),A=zt(E,$=>$.column),M=Ad(l,A,!0,b,y.replaceOrInit);return vs(M,m[0].row,m[0].column)},ur=(l,m,b,y)=>{const E=_d(l,m,b,y.replaceOrInit);return vs(E,m[0].row,m[0].column)},m0=(l,m,b,y)=>{const E=Ui(m),A=zt(E,$=>$.column),M=Ad(l,A,!1,b,y.replaceOrInit);return vs(M,m[0].row,m[0].column)},Vw=(l,m,b,y)=>{const E=_d(l,m,b,y.replaceOrInit);return vs(E,m[0].row,m[0].column)},dr=(l,m)=>(b,y,E,A,M)=>{const $=d0(y),H=zt($,ne=>ne.row),G=Xf(b,H,l,m,E,A.replaceOrInit,M);return vs(G,y[0].row,y[0].column)},Cc=dr("thead",!0),Ua=dr("tbody",!1),Uw=dr("tfoot",!1),eg=(l,m,b,y)=>{const E=Ui(m.details),A=l0(l,zt(E,$=>$.column)),M=A.length>0?A[0].cells.length-1:0;return vs(A,E[0].row,Math.min(E[0].column,M))},Zw=(l,m,b,y)=>{const E=d0(m),A=P2(l,E[0].row,E[E.length-1].row),M=Math.max(Mo(A).rows.length-1,0);return vs(A,Math.min(m[0].row,M),m[0].column)},Ck=(l,m,b,y)=>{const E=m.cells;Fm(E);const A=_2(l,m.bounds,b,y.merge(E));return zh(A,J.from(E[0]))},Ww=(l,m,b,y)=>{const A=Yr(m,(M,$)=>Gf(M,$,b,y.unmerge($)),l);return zh(A,J.from(m[0]))},Sk=(l,m,b,y)=>{const A=((H,G)=>{const ne=en.fromTable(H);return bd(ne,G,!0)})(m.clipboard,m.generators),M=a1(m.row,m.column);return Rs(M,l,A,m.generators,b).fold(()=>zh(l,J.some(m.element)),H=>vs(H,m.row,m.column))},Gt=(l,m,b)=>{const y=xo(l,b.section),E=en.generate(y);return bd(E,m,!0)},gt=(l,m,b,y)=>{const E=Mo(l).rows,A=m.cells[0].column,M=E[m.cells[0].row],$=Gt(m.clipboard,m.generators,M),H=Jo(A,l,$,m.generators,b);return vs(H,m.cells[0].row,m.cells[0].column)},Dd=(l,m,b,y)=>{const E=Mo(l).rows,A=m.cells[m.cells.length-1].column+m.cells[m.cells.length-1].colspan,M=E[m.cells[0].row],$=Gt(m.clipboard,m.generators,M),H=Jo(A,l,$,m.generators,b);return vs(H,m.cells[0].row,A)},U2=(l,m,b,y)=>{const E=Mo(l).rows,A=m.cells[0].row,M=E[A],$=Gt(m.clipboard,m.generators,M),H=Hh(A,l,$,m.generators,b);return vs(H,m.cells[0].row,m.cells[0].column)},f0=(l,m,b,y)=>{const E=Mo(l).rows,A=m.cells[m.cells.length-1].row+m.cells[m.cells.length-1].rowspan,M=E[m.cells[0].row],$=Gt(m.clipboard,m.generators,M),H=Hh(A,l,$,m.generators,b);return vs(H,A,m.cells[0].column)},wk=(l,m)=>{const b=en.fromTable(l);return Os(b,m).bind(E=>{const A=E[E.length-1],M=E[0].column,$=A.column+A.colspan,H=oo(zt(b.all,G=>Wo(G.cells,ne=>ne.column>=M&&ne.column<$)));return ud(H)}).getOr("")},g0=(l,m)=>{const b=en.fromTable(l);return Os(b,m).bind(ud).getOr("")},ao=(l,m)=>{const b=en.fromTable(l);return Os(b,m).bind(E=>{const A=E[E.length-1],M=E[0].row,$=A.row+A.rowspan,H=b.all.slice(M,$);return ek(H)}).getOr("")},Zh=(l,m,b,y)=>Eh(l,m,b,y.sizing),h0=(l,m,b,y)=>G1(l,m,b,y.sizing,y.resize),jw=(l,m)=>Me(m,b=>b.column===0&&b.isLocked),be=(l,m)=>Me(m,b=>b.column+b.colspan>=l.grid.columns&&b.isLocked),p0=(l,m)=>{const b=ro(l),y=Ui(m);return Ee(y,(E,A)=>{const $=b[A.column].map(So).getOr(0);return E+$},0)},Gw=l=>(m,b)=>Os(m,b).filter(y=>!(l?jw:be)(m,y)).map(y=>({details:y,pixelDelta:p0(m,y)})),Wh=(l,m)=>Om(l,m).map(b=>({details:b,pixelDelta:-p0(l,b)})),Z2=l=>(m,b)=>hc(m,b).filter(y=>!(l?jw:be)(m,y.cells)),Rd=ba.transform("th"),Md=ba.transform("td"),ci=(l,m,b,y)=>ps(he,Os,Dt,Dt,ba.modification,l,m,b,y),Im=(l,m,b,y)=>ps(Vh,Os,Dt,Dt,ba.modification,l,m,b,y),sa=(l,m,b,y)=>ps(zw,Gw(!0),h0,Dt,ba.modification,l,m,b,y),Hn=(l,m,b,y)=>ps(Qf,Gw(!1),h0,Dt,ba.modification,l,m,b,y),Zi=(l,m,b,y)=>ps(eg,Wh,h0,Jf,ba.modification,l,m,b,y),qw=(l,m,b,y)=>ps(Zw,Os,Dt,Jf,ba.modification,l,m,b,y),Cu=(l,m,b,y)=>ps(Uh,Om,Dt,Dt,Rd,l,m,b,y),ii=(l,m,b,y)=>ps(m0,Om,Dt,Dt,Md,l,m,b,y),xk=(l,m,b,y)=>ps(Cc,Os,Dt,Dt,Rd,l,m,b,y),Kw=(l,m,b,y)=>ps(Ua,Os,Dt,Dt,Md,l,m,b,y),b0=(l,m,b,y)=>ps(Uw,Os,Dt,Dt,Md,l,m,b,y),fR=(l,m,b,y)=>ps(ur,Om,Dt,Dt,Rd,l,m,b,y),gR=(l,m,b,y)=>ps(Vw,Om,Dt,Dt,Md,l,m,b,y),mr=(l,m,b,y)=>ps(Ck,gu,Zh,Dt,ba.merging,l,m,b,y),Yw=(l,m,b,y)=>ps(Ww,lk,Zh,Dt,ba.merging,l,m,b,y),Xw=(l,m,b,y)=>ps(Sk,u2,Zh,Dt,ba.modification,l,m,b,y),De=(l,m,b,y)=>ps(gt,Z2(!0),Dt,Dt,ba.modification,l,m,b,y),Ek=(l,m,b,y)=>ps(Dd,Z2(!1),Dt,Dt,ba.modification,l,m,b,y),Hs=(l,m,b,y)=>ps(U2,hc,Dt,Dt,ba.modification,l,m,b,y),W2=(l,m,b,y)=>ps(f0,hc,Dt,Dt,ba.modification,l,m,b,y),Jw=wk,j2=g0,G2=ao,Nt=(l,m)=>{const b=m.column,y=m.column+m.colspan-1,E=m.row,A=m.row+m.rowspan-1;return b<=l.finishCol&&y>=l.startCol&&E<=l.finishRow&&A>=l.startRow},q2=(l,m)=>m.column>=l.startCol&&m.column+m.colspan-1<=l.finishCol&&m.row>=l.startRow&&m.row+m.rowspan-1<=l.finishRow,K2=(l,m)=>{let b=!0;const y=gn(q2,m);for(let E=m.startRow;E<=m.finishRow;E++)for(let A=m.startCol;A<=m.finishCol;A++)b=b&&en.getAt(l,E,A).exists(y);return b?J.some(m):J.none()},Qw=(l,m)=>Ja(Math.min(l.row,m.row),Math.min(l.column,m.column),Math.max(l.row+l.rowspan-1,m.row+m.rowspan-1),Math.max(l.column+l.colspan-1,m.column+m.colspan-1)),Tk=(l,m,b)=>{const y=en.findItem(l,m,to),E=en.findItem(l,b,to);return y.bind(A=>E.map(M=>Qw(A,M)))},ex=(l,m,b)=>Tk(l,m,b).bind(y=>K2(l,y)),kk=(l,m,b,y)=>en.findItem(l,m,to).bind(E=>{const A=b>0?E.row+E.rowspan-1:E.row,M=y>0?E.column+E.colspan-1:E.column;return en.getAt(l,A+b,M+y).map(H=>H.element)}),Ak=(l,m,b)=>Tk(l,m,b).map(y=>{const E=en.filterItems(l,gn(Nt,y));return zt(E,A=>A.element)}),Y2=(l,m)=>{const b=(y,E)=>bv(E,y);return en.findItem(l,m,b).map(y=>y.element)},_k=(l,m,b)=>ta(l).bind(y=>{const E=Sc(y);return kk(E,l,m,b)}),Pt=(l,m,b)=>{const y=Sc(l);return Ak(y,m,b)},tx=(l,m,b,y,E)=>{const A=Sc(l),M=to(l,b)?J.some(m):Y2(A,m),$=to(l,E)?J.some(y):Y2(A,y);return M.bind(H=>$.bind(G=>Ak(A,H,G)))},Bd=(l,m,b)=>{const y=Sc(l);return ex(y,m,b)},Sc=en.fromTable,v0={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},ra=()=>qe.fromTag("th"),y0=()=>qe.fromTag("td"),jh=()=>qe.fromTag("col"),C0=(l,m,b,y)=>{const E=qe.fromTag("tr");for(let A=0;A{const m=qe.fromTag("colgroup");return $o(l,()=>An(m,jh())),m},ng=(l,m,b,y)=>$o(l,E=>C0(m,b,y,E)),Wi=(l,m,b,y,E,A=v0)=>{const M=qe.fromTag("table"),$=E!=="cells";io(M,A.styles),ru(M,A.attributes),A.colGroups&&An(M,tg(m));const H=Math.min(l,b);if($&&b>0){const Ze=qe.fromTag("thead");An(M,Ze);const Ne=ng(b,m,E==="sectionCells"?H:0,y);jc(Ze,Ne)}const G=qe.fromTag("tbody");An(M,G);const ne=$?l-H:l,Ke=ng(ne,m,$?0:b,y);return jc(G,Ke),M},fr=l=>{let m=[];return{bind:A=>{if(A===void 0)throw new Error("Event bind error: undefined handler");m.push(A)},unbind:A=>{m=Wo(m,M=>M!==A)},trigger:(...A)=>{const M={};Ae(l,($,H)=>{M[$]=A[H]}),Ae(m,$=>{$(M)})}}},Su=l=>{const m=os(l,y=>({bind:y.bind,unbind:y.unbind})),b=os(l,y=>y.trigger);return{registry:m,trigger:b}},Ok=ct(["compare","extract","mutate","sink"]),X2=ct(["element","start","stop","destroy"]),nx=ct(["forceDrop","drop","move","delayDrop"]),Lm=()=>{let l=J.none();const m=()=>{l=J.none()},b=(A,M)=>{const $=l.map(H=>A.compare(H,M));return l=J.some(M),$},y=(A,M)=>{M.extract(A).each(H=>{b(M,H).each(ne=>{E.trigger.move(ne)})})},E=Su({move:fr(["info"])});return{onEvent:y,reset:m,events:E.registry}},an=()=>{const l=Su({move:fr(["info"])});return{onEvent:Dt,reset:Dt,events:l.registry}},li=()=>{const l=an(),m=Lm();let b=l;return{on:()=>{b.reset(),b=m},off:()=>{b.reset(),b=l},isOn:()=>b===m,onEvent:($,H)=>{b.onEvent($,H)},events:m.events}},wu=(l,m,b)=>{let y=!1;const E=Su({start:fr([]),stop:fr([])}),A=li(),M=()=>{ut.stop(),A.isOn()&&(A.off(),E.trigger.stop())},$=xS(M,200),H=xe=>{ut.start(xe),A.on(),E.trigger.start()},G=xe=>{$.cancel(),A.onEvent(xe,m)};A.events.move.bind(xe=>{m.mutate(l,xe.info)});const ne=()=>{y=!0},ue=()=>{y=!1},Ke=()=>y,Ze=xe=>(...bt)=>{y&&xe.apply(null,bt)},ut=m.sink(nx({forceDrop:M,drop:Ze(M),move:Ze(G),delayDrop:Ze($.throttle)}),b),Ne=()=>{ut.destroy()};return{element:ut.element,go:H,on:ne,off:ue,isActive:Ke,destroy:Ne,events:E.registry}},og=po("ephox-dragster").resolve,un=l=>{const m={layerClass:og("blocker"),...l},b=qe.fromTag("div");return ms(b,"role","presentation"),ms(b,"data-mce-bogus","all"),io(b,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Pi(b,og("blocker")),Pi(b,m.layerClass),{element:q(b),destroy:()=>{Cr(b)}}};var sg=Ok({compare:(l,m)=>vo(m.left-l.left,m.top-l.top),extract:l=>J.some(vo(l.x,l.y)),sink:(l,m)=>{const b=un(m),y=su(b.element(),"mousedown",l.forceDrop),E=su(b.element(),"mouseup",l.drop),A=su(b.element(),"mousemove",l.move),M=su(b.element(),"mouseout",l.delayDrop),$=()=>{b.destroy(),E.unbind(),A.unbind(),M.unbind(),y.unbind()},H=ne=>{An(ne,b.element())},G=()=>{Cr(b.element())};return X2({element:b.element,start:H,stop:G,destroy:$})},mutate:(l,m)=>{l.mutate(m.left,m.top)}});const sx=(l,m={})=>{const b=m.mode??sg;return wu(l,b,m)},S0=po("ephox-snooker").resolve,Mk=()=>{const l=Su({drag:fr(["xDelta","yDelta"])});return{mutate:(b,y)=>{l.trigger.drag(b,y)},events:l.registry}},J2=()=>{const l=Su({drag:fr(["xDelta","yDelta","target"])});let m=J.none();const b=Mk();return b.events.drag.bind(A=>{m.each(M=>{l.trigger.drag(A.xDelta,A.yDelta,M)})}),{assign:A=>{m=J.some(A)},get:()=>m,mutate:b.mutate,events:l.registry}},Bk=(l,m,b,y,E)=>{const A=qe.fromTag("div");return io(A,{position:"absolute",left:m-y/2+"px",top:b+"px",height:E+"px",width:y+"px"}),ru(A,{"data-mce-bogus":"all","data-column":l,role:"presentation"}),A},rx=(l,m,b,y,E)=>{const A=qe.fromTag("div");return io(A,{position:"absolute",left:m+"px",top:b-E/2+"px",height:E+"px",width:y+"px"}),ru(A,{"data-mce-bogus":"all","data-row":l,role:"presentation"}),A},Gh=S0("resizer-bar"),Q2=S0("resizer-rows"),qh=S0("resizer-cols"),ey=7,Nk=(l,m)=>us(l.all,(b,y)=>m(b.element)?[y]:[]),ax=(l,m)=>{const b=[];return $o(l.grid.columns,y=>{en.getColumnAt(l,y).map(A=>A.element).forall(m)&&b.push(y)}),Wo(b,y=>{const E=en.filterItems(l,A=>A.column===y);return ho(E,A=>m(A.element))})},ty=l=>{const m=vl(l.parent(),"."+Gh);Ae(m,Cr)},cx=(l,m,b)=>{const y=l.origin();Ae(m,E=>{E.each(A=>{const M=b(y,A);Pi(M,Gh),An(l.parent(),M)})})},bn=(l,m,b,y)=>{cx(l,m,(E,A)=>{const M=Bk(A.col,A.x-E.left,b.top-E.top,ey,y);return Pi(M,qh),M})},ix=(l,m,b,y)=>{cx(l,m,(E,A)=>{const M=rx(A.row,b.left-E.left,A.y-E.top,y,ey);return Pi(M,Q2),M})},ny=(l,m,b,y,E)=>{const A=Xt(b),M=m.isResizable,$=y.length>0?vh.positions(y,b):[],H=$.length>0?Nk(l,M):[],G=Wo($,(Ze,ut)=>Me(H,Ne=>ut===Ne));ix(m,G,A,So(b));const ne=E.length>0?mc.positions(E,b):[],ue=ne.length>0?ax(l,M):[],Ke=Wo(ne,(Ze,ut)=>Me(ue,Ne=>ut===Ne));bn(m,Ke,A,jS(b))},oy=(l,m)=>{if(ty(l),l.isResizable(m)){const b=en.fromTable(m),y=bh(b),E=ro(b);ny(b,l,m,y,E)}},Nd=(l,m)=>{const b=vl(l.parent(),"."+Gh);Ae(b,m)},lx=l=>{Nd(l,m=>{Gs(m,"display","none")})},Pk=l=>{Nd(l,m=>{Gs(m,"display","block")})},$k=l=>$i(l,Q2),Hm=l=>$i(l,qh),ux=S0("resizer-bar-dragging"),rg=l=>{const m=J2(),b=sx(m,{});let y=J.none();const E=(Ne,xe)=>J.from(Gc(Ne,xe));m.events.drag.bind(Ne=>{E(Ne.target,"data-row").each(xe=>{const bt=_o(Ne.target,"top");Gs(Ne.target,"top",bt+Ne.yDelta+"px")}),E(Ne.target,"data-column").each(xe=>{const bt=_o(Ne.target,"left");Gs(Ne.target,"left",bt+Ne.xDelta+"px")})});const A=(Ne,xe)=>{const bt=_o(Ne,xe),st=lu(Ne,"data-initial-"+xe,0);return bt-st};b.events.stop.bind(()=>{m.get().each(Ne=>{y.each(xe=>{E(Ne,"data-row").each(bt=>{const st=A(Ne,"top");On(Ne,"data-initial-top"),ut.trigger.adjustHeight(xe,st,parseInt(bt,10))}),E(Ne,"data-column").each(bt=>{const st=A(Ne,"left");On(Ne,"data-initial-left"),ut.trigger.adjustWidth(xe,st,parseInt(bt,10))}),oy(l,xe)})})});const M=(Ne,xe)=>{ut.trigger.startAdjust(),m.assign(Ne),ms(Ne,"data-initial-"+xe,_o(Ne,xe)),Pi(Ne,ux),Gs(Ne,"opacity","0.2"),b.go(l.dragContainer())},$=su(l.parent(),"mousedown",Ne=>{$k(Ne.target)&&M(Ne.target,"top"),Hm(Ne.target)&&M(Ne.target,"left")}),H=Ne=>to(Ne,l.view()),G=Ne=>fs(Ne,"table",H).filter(ch),ne=Ne=>$i(Ne,"ephox-snooker-resizer-bar")||$i(Ne,"ephox-dragster-blocker"),ue=su(l.view(),"mouseover",Ne=>{G(Ne.target).fold(()=>{wt(Ne.target)&&!ne(Ne.target)&&ty(l)},xe=>{b.isActive()&&(y=J.some(xe),oy(l,xe))})}),Ke=()=>{$.unbind(),ue.unbind(),b.destroy(),ty(l)},Ze=Ne=>{oy(l,Ne)},ut=Su({adjustHeight:fr(["table","delta","row"]),adjustWidth:fr(["table","delta","column"]),startAdjust:fr([])});return{destroy:Ke,refresh:Ze,on:b.on,off:b.off,hideBars:gn(lx,l),showBars:gn(Pk,l),events:ut.registry}},dx={create:(l,m,b)=>{const y=vh,E=mc,A=rg(l),M=Su({beforeResize:fr(["table","type"]),afterResize:fr(["table","type"]),startDrag:fr([])});return A.events.adjustHeight.bind($=>{const H=$.table;M.trigger.beforeResize(H,"row");const G=y.delta($.delta,H);ww(H,G,$.row),M.trigger.afterResize(H,"row")}),A.events.startAdjust.bind($=>{M.trigger.startDrag()}),A.events.adjustWidth.bind($=>{const H=$.table;M.trigger.beforeResize(H,"col");const G=E.delta($.delta,H),ne=b(H);bc(H,G,$.column,m,ne),M.trigger.afterResize(H,"col")}),{on:A.on,off:A.off,refreshBars:A.refresh,hideBars:A.hideBars,showBars:A.showBars,destroy:A.destroy,events:M.registry}}},Al=l=>m=>m.options.get(l),sy="100%",mx=l=>{const m=l.dom,b=m.getParent(l.selection.getStart(),m.isBlock)??l.getBody();return qs(qe.fromDom(b))+"px"},Fk=(l,m)=>Qh(l)||!Ye(l)?m:xu(l)?{...m,width:mx(l)}:{...m,width:sy},w0=(l,m)=>Qh(l)||Ye(l)?m:xu(l)?{...m,width:mx(l)}:{...m,width:sy},vR=l=>{const m=l.options.register;m("table_clone_elements",{processor:"string[]"}),m("table_use_colgroups",{processor:"boolean",default:!0}),m("table_header_type",{processor:b=>{const y=Zo(["section","cells","sectionCells","auto"],b);return y?{value:b,valid:y}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),m("table_sizing_mode",{processor:"string",default:"auto"}),m("table_default_attributes",{processor:"object",default:{border:"1"}}),m("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),m("table_column_resizing",{processor:b=>{const y=Zo(["preservetable","resizetable"],b);return y?{value:b,valid:y}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),m("table_resize_bars",{processor:"boolean",default:!0}),m("table_style_by_css",{processor:"boolean",default:!0}),m("table_merge_content_on_paste",{processor:"boolean",default:!0}),m("table_default_header_rows",{processor:"number",default:0}),m("table_default_header_cols",{processor:"number",default:0})},fx=l=>J.from(l.options.get("table_clone_elements")),gx=l=>{const m=l.options.get("object_resizing");return Zo(m.split(","),"table")},Yh=Al("table_header_type"),Xh=Al("table_column_resizing"),x0=l=>Xh(l)==="preservetable",ry=l=>Xh(l)==="resizetable",ag=Al("table_sizing_mode"),Jh=l=>ag(l)==="relative",xu=l=>ag(l)==="fixed",Qh=l=>ag(l)==="responsive",ay=Al("table_resize_bars"),Ye=Al("table_style_by_css"),ep=Al("table_merge_content_on_paste"),cy=Al("table_default_header_rows"),hx=Al("table_default_header_cols"),Ik=l=>{const m=l.options,b=m.get("table_default_attributes");return m.isSet("table_default_attributes")?b:w0(l,b)},Lk=l=>{const m=l.options,b=m.get("table_default_styles");return m.isSet("table_default_styles")?b:Fk(l,b)},px=Al("table_use_colgroups"),E0=l=>qe.fromDom(l.getBody()),cg=l=>m=>to(m,E0(l)),Pd=l=>{On(l,"data-mce-style");const m=b=>On(b,"data-mce-style");Ae(uu(l),m),Ae($1(l),m),Ae(lw(l),m)},T0=l=>qe.fromDom(l.selection.getStart()),zs=l=>l.getBoundingClientRect().width,_l=l=>l.getBoundingClientRect().height,bx=l=>/^\d+(\.\d+)?$/.test(l)?l+"px":l,vx=l=>(m,b)=>{const y=m.dom.getStyle(b,l)||m.dom.getAttrib(b,l);return J.from(y).filter(Jr).map(bx)},yx=l=>/^(\d+(\.\d+)?)%$/.test(l),Cx=l=>/^(\d+(\.\d+)?)px$/.test(l),Hk=vx("width"),Sx=vx("height"),k0=l=>T1(l,Oa("table")).exists(ch),iy=l=>ic(l,"table"),tp=(l,m,b)=>{const y=E=>A=>b!==void 0&&b(A)||to(A,E);return to(l,m)?J.some({boxes:J.some([l]),start:l,finish:m}):iy(l).bind(E=>iy(m).bind(A=>{if(to(E,A))return J.some({boxes:Pt(E,l,m),start:l,finish:m});if(bv(E,A)){const M=Nn(m,"td,th",y(E)),$=M.length>0?M[M.length-1]:m;return J.some({boxes:tx(E,l,E,m,A),start:l,finish:$})}else if(bv(A,E)){const M=Nn(l,"td,th",y(A)),$=M.length>0?M[M.length-1]:l;return J.some({boxes:tx(A,l,E,m,A),start:l,finish:$})}else return Po(l,m).shared.bind(M=>fs(M,"table",b).bind($=>{const H=Nn(m,"td,th",y($)),G=H.length>0?H[H.length-1]:m,ne=Nn(l,"td,th",y($)),ue=ne.length>0?ne[ne.length-1]:l;return J.some({boxes:tx($,l,E,m,A),start:ue,finish:G})}))}))},A0=(l,m)=>{const b=vl(l,m);return b.length>0?J.some(b):J.none()},wx=(l,m)=>B(l,b=>ec(b,m)),np=(l,m,b)=>nd(l,m).bind(y=>nd(l,b).bind(E=>Zn(iy,[y,E]).map(A=>({first:y,last:E,table:A})))),zk=(l,m)=>ic(l,"table").bind(b=>nd(b,m).bind(y=>tp(y,l).bind(E=>E.boxes.map(A=>({boxes:A,start:E.start,finish:E.finish}))))),Vk=(l,m,b,y,E)=>wx(l,E).bind(A=>_k(A,m,b).bind(M=>zk(M,y))),_0=(l,m)=>A0(l,m),ly=(l,m,b)=>np(l,m,b).bind(y=>{const E=H=>to(l,H),A="thead,tfoot,tbody,table",M=ic(y.first,A,E),$=ic(y.last,A,E);return M.bind(H=>$.bind(G=>to(H,G)?Bd(y.table,y.first,y.last):J.none()))}),op=fn,uy=l=>{const m=(y,E)=>nc(y,E).exists(A=>parseInt(A,10)>1),b=y=>m(y,"rowspan")||m(y,"colspan");return l.length>0&&ho(l,b)?J.some(l):J.none()},xx=(l,m,b)=>m.length<=1?J.none():ly(l,b.firstSelectedSelector,b.lastSelectedSelector).map(y=>({bounds:y,cells:m})),ig={create:(l,m)=>({selection:l,kill:m})},Zk=(l,m,b,y)=>{switch(l.tag){case"none":return m();case"single":return y(l.element);case"multiple":return b(l.elements)}},Wk=()=>({tag:"none"}),O0=l=>({tag:"multiple",elements:l}),dy=l=>({tag:"single",element:l}),Ex=(l,m,b)=>({get:()=>_0(l(),b).fold(()=>m().fold(Wk,dy),O0)}),D0={create:(l,m,b,y)=>({start:As.on(l,m),finish:As.on(b,y)})},Tx=(l,m)=>{const b=Le(l,m);return iu.create(qe.fromDom(b.startContainer),b.startOffset,qe.fromDom(b.endContainer),b.endOffset)},R0=D0.create,kx=(l,m,b,y,E,A,M)=>to(b,E)&&y===A?J.none():fs(b,"td,th",m).bind($=>fs(E,"td,th",m).bind(H=>Ax(l,m,$,H,M))),Ax=(l,m,b,y,E)=>to(b,y)?J.none():tp(b,y,m).bind(A=>{const M=A.boxes.getOr([]);return M.length>1?(E(l,M,A.start,A.finish),J.some(ig.create(J.some(R0(b,0,b,yl(b))),!0))):J.none()}),lg=(l,m,b,y,E)=>{const A=M=>(E.clearBeforeUpdate(b),E.selectRange(b,M.boxes,M.start,M.finish),M.boxes);return Vk(y,l,m,E.firstSelectedSelector,E.lastSelectedSelector).map(A)},M0=Lc.generate([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),my=(l,m,b)=>{const y=l.getRect(m),E=l.getRect(b);return E.right>y.left&&E.leftfs(l,"tr"),ug={...M0,verify:(l,m,b,y,E,A,M)=>fs(y,"td,th",M).bind($=>fs(m,"td,th",M).map(H=>to($,H)?to(y,$)&&yl($)===E?A(H):M0.none("in same cell"):Zn(Gk,[$,H]).fold(()=>my(l,H,$)?M0.success():A(H),G=>A(H)))).getOr(M0.none("default")),cata:(l,m,b,y,E)=>l.fold(m,b,y,E)},fy=Oa("br"),dg=(l,m,b)=>m(l,b).bind(y=>Tf(y)&&sh(y).trim().length===0?dg(y,m,b):J.some(y)),_x=(l,m,b)=>b.traverse(m).orThunk(()=>dg(m,b.gather,l)).map(b.relative),N0=(l,m)=>ha(l,m).filter(fy).orThunk(()=>ha(l,m-1).filter(fy)),qk=(l,m,b,y)=>N0(m,b).bind(E=>y.traverse(E).fold(()=>dg(E,y.gather,l).map(y.relative),A=>sd(A).map(M=>As.on(M.parent,M.index)))),Kk=(l,m,b,y)=>(fy(m)?_x(l,m,y):qk(l,m,b,y)).map(A=>({start:A,finish:A})),Yk=l=>ug.cata(l,m=>J.none(),()=>J.none(),m=>J.some(vu(m,0)),m=>J.some(vu(m,yl(m)))),P0=(l,m)=>({left:l.left,top:l.top+m,right:l.right,bottom:l.bottom+m}),$0=(l,m)=>({left:l.left,top:l.top-m,right:l.right,bottom:l.bottom-m}),Ox=(l,m,b)=>({left:l.left+m,top:l.top+b,right:l.right+m,bottom:l.bottom+b}),gy=l=>l.top,Xk=l=>l.bottom,hy=(l,m,b)=>b>=0&&b0?l.getRangedRect(m,b-1,m,b):J.none(),Eu=l=>({left:l.left,top:l.top,right:l.right,bottom:l.bottom}),F0=(l,m)=>J.some(l.getRect(m)),Dx=(l,m,b)=>rr(m)?F0(l,m).map(Eu):Tf(m)?hy(l,m,b).map(Eu):J.none(),Rx=(l,m)=>rr(m)?F0(l,m).map(Eu):Tf(m)?l.getRangedRect(m,0,m,yl(m)).map(Eu):J.none(),zm=5,Mx=100,ji=Lc.generate([{none:[]},{retry:["caret"]}]),Jk=(l,m)=>l.leftm.right,Bx=(l,m,b)=>T1(m,Ur).fold(on,y=>Rx(l,y).exists(E=>Jk(b,E))),Qk=(l,m,b,y,E)=>{const A=P0(E,zm);return Math.abs(b.bottom-y.bottom)<1||b.top>E.bottom?ji.retry(A):b.top===E.bottom?ji.retry(P0(E,1)):Bx(l,m,E)?ji.retry(Ox(A,zm,0)):ji.none()},eA={point:gy,adjuster:(l,m,b,y,E)=>{const A=$0(E,zm);return Math.abs(b.top-y.top)<1||b.bottoml.elementFromPoint(m,b).filter(y=>Bo(y)==="table").isSome(),I0=(l,m,b,y,E)=>py(l,m,b,m.move(y,zm),E),py=(l,m,b,y,E)=>E===0?J.some(y):nA(l,y.left,m.point(y))?I0(l,m,b,y,E-1):l.situsFromPoint(y.left,m.point(y)).bind(A=>A.start.fold(J.none,M=>Rx(l,M).bind($=>m.adjuster(l,M,$,b,y).fold(J.none,H=>py(l,m,b,H,E-1))).orThunk(()=>J.some(y)),J.none)),oA=(l,m,b)=>l.point(m)>b.getInnerHeight()?J.some(l.point(m)-b.getInnerHeight()):l.point(m)<0?J.some(-l.point(m)):J.none(),Nx=(l,m,b)=>{const y=l.move(b,zm),E=py(m,l,b,y,Mx).getOr(y);return oA(l,E,m).fold(()=>m.situsFromPoint(E.left,l.point(E)),A=>(m.scrollBy(0,A),m.situsFromPoint(E.left,l.point(E)-A)))},by={tryUp:gn(Nx,eA),tryDown:gn(Nx,tA),getJumpSize:q(zm)},sA=20,lt=(l,m,b)=>l.getSelection().bind(y=>Kk(m,y.finish,y.foffset,b).fold(()=>J.some(vu(y.finish,y.foffset)),E=>{const A=l.fromSitus(E),M=ug.verify(l,y.finish,y.foffset,A.finish,A.foffset,b.failure,m);return Yk(M)})),mg=(l,m,b,y,E,A)=>A===0?J.none():$x(l,m,b,y,E).bind(M=>{const $=l.fromSitus(M),H=ug.verify(l,b,y,$.finish,$.foffset,E.failure,m);return ug.cata(H,()=>J.none(),()=>J.some(M),G=>to(b,G)&&y===0?vy(l,b,y,$0,E):mg(l,m,G,0,E,A-1),G=>to(b,G)&&y===yl(G)?vy(l,b,y,P0,E):mg(l,m,G,yl(G),E,A-1))}),vy=(l,m,b,y,E)=>Dx(l,m,b).bind(A=>Px(l,E,y(A,by.getJumpSize()))),Px=(l,m,b)=>{const y=Zc().browser;return y.isChromium()||y.isSafari()||y.isFirefox()?m.retry(l,b):J.none()},$x=(l,m,b,y,E)=>Dx(l,b,y).bind(A=>Px(l,E,A)),L0=(l,m,b)=>lt(l,m,b).bind(y=>mg(l,m,y.element,y.offset,b,sA).map(l.fromSitus)),yy=(l,m)=>XS(l,b=>U(b).exists(y=>to(y,m))),fg=(l,m,b,y,E)=>fs(y,"td,th",m).bind(A=>fs(A,"table",m).bind(M=>yy(E,M)?L0(l,m,b).bind($=>fs($.finish,"td,th",m).map(H=>({start:A,finish:H,range:$}))):J.none())),Vm=(l,m,b,y,E,A)=>A(y,m).orThunk(()=>fg(l,m,b,y,E).map(M=>{const $=M.range;return ig.create(J.some(R0($.start,$.soffset,$.finish,$.foffset)),!0)})),Fx=(l,m)=>fs(l,"tr",m).bind(b=>fs(b,"table",m).bind(y=>{const E=vl(y,"tr");return to(b,E[0])?Vr(y,A=>qo(A).isSome(),m).map(A=>{const M=yl(A);return ig.create(J.some(R0(A,M,A,M)),!0)}):J.none()})),Cy=(l,m)=>fs(l,"tr",m).bind(b=>fs(b,"table",m).bind(y=>{const E=vl(y,"tr");return to(b,E[E.length-1])?Ar(y,A=>lh(A).isSome(),m).map(A=>ig.create(J.some(R0(A,0,A,0)),!0)):J.none()})),Sy=(l,m,b,y,E,A,M)=>fg(l,b,y,E,A).bind($=>Ax(m,b,$.start,$.finish,M)),Ix=(l,m)=>fs(l,"td,th",m),Lx=l=>ga(l).exists(ch),rA=(l,m,b,y)=>{const E=wf(),A=E.clear,M=ne=>{E.on(ue=>{y.clearBeforeUpdate(m),Ix(ne.target,b).each(Ke=>{tp(ue,Ke,b).each(Ze=>{const ut=Ze.boxes.getOr([]);if(ut.length===1){const Ne=ut[0],xe=ih(Ne)==="false",bt=Ut(Of(ne.target),Ne,to);xe&&bt&&y.selectRange(m,ut,Ne,Ne)}else ut.length>1&&(y.selectRange(m,ut,Ze.start,Ze.finish),l.selectContents(Ke))})})})};return{clearstate:A,mousedown:ne=>{y.clear(m),Ix(ne.target,b).filter(Lx).each(E.set)},mouseover:ne=>{M(ne)},mouseup:ne=>{M(ne),A()}}},$d={traverse:kf,gather:El,relative:As.before,retry:by.tryDown,failure:ug.failedDown},wy={traverse:Rv,gather:Nw,relative:As.before,retry:by.tryUp,failure:ug.failedUp},Um=l=>m=>m===l,Gi=Um(38),gg=Um(40),Fd=l=>l>=37&&l<=40,H0={isBackward:Um(37),isForward:Um(39)},Hx={isBackward:Um(39),isForward:Um(37)},z0=l=>({elementFromPoint:(xe,bt)=>qe.fromPoint(qe.fromDom(l.document),xe,bt),getRect:xe=>xe.dom.getBoundingClientRect(),getRangedRect:(xe,bt,st,et)=>{const wn=ad.exact(xe,bt,st,et);return aw(l,wn)},getSelection:()=>rw(l).map(xe=>Tx(l,xe)),fromSitus:xe=>{const bt=ad.relative(xe.start,xe.finish);return Tx(l,bt)},situsFromPoint:(xe,bt)=>uR(l,xe,bt).map(st=>D0.create(st.start,st.soffset,st.finish,st.foffset)),clearSelection:()=>{cw(l)},collapseSelection:(xe=!1)=>{rw(l).each(bt=>bt.fold(st=>st.collapse(xe),(st,et)=>{const wn=xe?st:et;sw(l,wn,wn)},(st,et,wn,xn)=>{const Rn=xe?st:wn,Ho=xe?et:xn;Gv(l,Rn,Ho,Rn,Ho)}))},setSelection:xe=>{Gv(l,xe.start,xe.soffset,xe.finish,xe.foffset)},setRelativeSelection:(xe,bt)=>{sw(l,xe,bt)},selectNode:xe=>{qv(l,xe,!1)},selectContents:xe=>{qv(l,xe)},getInnerHeight:()=>l.innerHeight,getScrollY:()=>no(qe.fromDom(l.document)).top,scrollBy:(xe,bt)=>{cc(xe,bt,qe.fromDom(l.document))}}),Id=(l,m)=>({rows:l,cols:m}),zx=(l,m,b,y)=>{const E=z0(l),A=rA(E,m,b,y);return{clearstate:A.clearstate,mousedown:A.mousedown,mouseover:A.mouseover,mouseup:A.mouseup}},xy=l=>T1(l,Ov).exists(ch),V0=(l,m)=>xy(l)||xy(m),U0=(l,m,b,y)=>{const E=z0(l),A=()=>(y.clear(m),J.none());return{keydown:(H,G,ne,ue,Ke,Ze)=>{const ut=H.raw,Ne=ut.which,xe=ut.shiftKey===!0;return A0(m,y.selectedSelector).fold(()=>(Fd(Ne)&&!xe&&y.clearBeforeUpdate(m),Fd(Ne)&&xe&&!V0(G,ue)?J.none:gg(Ne)&&xe?gn(Sy,E,m,b,$d,ue,G,y.selectRange):Gi(Ne)&&xe?gn(Sy,E,m,b,wy,ue,G,y.selectRange):gg(Ne)?gn(Vm,E,b,$d,ue,G,Cy):Gi(Ne)?gn(Vm,E,b,wy,ue,G,Fx):J.none),st=>{const et=wn=>()=>Nr(wn,Rn=>lg(Rn.rows,Rn.cols,m,st,y)).fold(()=>np(m,y.firstSelectedSelector,y.lastSelectedSelector).map(Rn=>{const Ho=gg(Ne)||Ze.isForward(Ne)?As.after:As.before;return E.setRelativeSelection(As.on(Rn.first,0),Ho(Rn.table)),y.clear(m),ig.create(J.none(),!0)}),Rn=>J.some(ig.create(J.none(),!0)));return Fd(Ne)&&xe&&!V0(G,ue)?J.none:gg(Ne)&&xe?et([Id(1,0)]):Gi(Ne)&&xe?et([Id(-1,0)]):Ze.isBackward(Ne)&&xe?et([Id(0,-1),Id(-1,0)]):Ze.isForward(Ne)&&xe?et([Id(0,1),Id(1,0)]):Fd(Ne)&&!xe?A:J.none})()},keyup:(H,G,ne,ue,Ke)=>A0(m,y.selectedSelector).fold(()=>{const Ze=H.raw,ut=Ze.which;return Ze.shiftKey===!0&&Fd(ut)&&V0(G,ue)?kx(m,b,G,ne,ue,Ke,y.selectRange):J.none()},J.none)}},aA=(l,m,b,y)=>{const E=z0(l);return(A,M)=>{y.clearBeforeUpdate(m),tp(A,M,b).each($=>{const H=$.boxes.getOr([]);y.selectRange(m,H,$.start,$.finish),E.selectContents(M),E.collapseSelection()})}},Ey={byClass:l=>{const m=Vv(l.selected),b=YS([l.selected,l.lastSelected,l.firstSelected]),y=A=>{const M=vl(A,l.selectedSelector);Ae(M,b)};return{clearBeforeUpdate:y,clear:y,selectRange:(A,M,$,H)=>{y(A),Ae(M,m),Pi($,l.firstSelected),Pi(H,l.lastSelected)},selectedSelector:l.selectedSelector,firstSelectedSelector:l.firstSelectedSelector,lastSelectedSelector:l.lastSelectedSelector}},byAttr:(l,m,b)=>{const y=H=>{On(H,l.selected),On(H,l.firstSelected),On(H,l.lastSelected)},E=H=>{ms(H,l.selected,"1")},A=H=>{M(H),b()},M=H=>{const G=vl(H,`${l.selectedSelector},${l.firstSelectedSelector},${l.lastSelectedSelector}`);Ae(G,y)};return{clearBeforeUpdate:M,clear:A,selectRange:(H,G,ne,ue)=>{A(H),Ae(G,E),ms(ne,l.firstSelected,"1"),ms(ue,l.lastSelected,"1"),m(G,ne,ue)},selectedSelector:l.selectedSelector,firstSelectedSelector:l.firstSelectedSelector,lastSelectedSelector:l.lastSelectedSelector}}},Z0="data-mce-selected",W0="td["+Z0+"],th["+Z0+"]",Ux="["+Z0+"]",j0="data-mce-first-selected",Zx="td["+j0+"],th["+j0+"]",G0="data-mce-last-selected",iA="td["+G0+"],th["+G0+"]",q0=Ux,Ld={selected:Z0,selectedSelector:W0,firstSelected:j0,firstSelectedSelector:Zx,lastSelected:G0,lastSelectedSelector:iA},Ty=(l,m,b)=>({element:b,mergable:xx(m,l,Ld),unmergable:uy(l),selection:op(l)}),lA=(l,m,b)=>({element:l,clipboard:m,generators:b}),At=(l,m,b,y)=>({selection:op(l),clipboard:b,generators:y}),uA=l=>ta(l).bind(m=>_0(m,Ld.firstSelectedSelector)).fold(q(l),m=>m[0]),Wx=l=>(m,b)=>{const y=Bo(m),E=y==="col"||y==="colgroup"?uA(m):m;return fs(E,l,b)},dA=Wx("th,td,caption"),ky=Wx("th,td"),qi=l=>Ws(l.model.table.getSelectedCells()),mA=l=>Wo(qi(l),m=>ec(m,Ld.selectedSelector)),jx=l=>ta(l[0]).map(m=>{const b=Tw(m,q0);return Pd(b),[b]}),Gx=(l,m)=>zt(m,b=>l.selection.serializer.serialize(b.dom,{})).join(""),Zm=(l,m)=>{const b=l.getDoc(),y=Nv(qe.fromDom(l.getBody())),E=qe.fromTag("div",b);ms(E,"data-mce-bogus","all"),io(E,{position:"fixed",left:"-9999999px",top:"0",overflow:"hidden",opacity:"0"});const A=hl(y);jc(E,m),An(A,E);const M=E.dom.innerText;return Cr(E),M},Tu=(l,m)=>{l.on("BeforeGetContent",b=>{const y=E=>{b.preventDefault(),jx(E).each(A=>{const M=b.format==="text"?Zm(l,A):Gx(l,A);b.content=M})};if(b.selection===!0){const E=mA(l);E.length>=1&&y(E)}}),l.on("BeforeSetContent",b=>{if(b.selection===!0&&b.paste===!0){const y=qi(l);ie(y).each(E=>{ta(E).each(A=>{const M=Wo(Fv(b.content),H=>Bo(H)!=="meta"),$=Oa("table");if(ep(l)&&M.length===1&&$(M[0])){b.preventDefault();const H=qe.fromDom(l.getDoc()),G=i0(H),ne=lA(E,M[0],G);m.pasteCells(A,ne).each(()=>{l.focus()})}})})}})},Wm=(l,m)=>l.dispatch("NewRow",{node:m}),sp=(l,m)=>l.dispatch("NewCell",{node:m}),Ol=(l,m,b)=>{l.dispatch("TableModified",{...b,table:m})},qx=(l,m,b,y,E)=>{l.dispatch("TableSelectionChange",{cells:m,start:b,finish:y,otherCells:E})},Kx=l=>{l.dispatch("TableSelectionClear")},Yx=(l,m,b,y,E)=>{l.dispatch("ObjectResizeStart",{target:m,width:b,height:y,origin:E})},fA=(l,m,b,y,E)=>{l.dispatch("ObjectResized",{target:m,width:b,height:y,origin:E})},rp={structure:!1,style:!0},Vs={structure:!0,style:!1},K0={structure:!0,style:!0},hg=(l,m)=>Jh(l)?Pf.percentageSize(m):xu(l)?Pf.pixelSize(m):Pf.getTableSize(m),gA=(l,m,b)=>{const y=Sa=>Bo(E0(Sa))==="table",E=Sa=>!y(l)||Ih(Sa).rows>1,A=Sa=>!y(l)||Ih(Sa).columns>1,M=fx(l),$=ry(l)?Dt:q1,H=Sa=>{switch(Yh(l)){case"section":return ir.section();case"sectionCells":return ir.sectionCells();case"cells":return ir.cells();default:return ir.getTableSectionType(Sa,"section")}},G=(Sa,bg)=>bg.cursor.fold(()=>{const Yi=uu(Sa);return ie(Yi).filter(wt).map(Je=>{b.clearSelectedCells(Sa.dom);const fo=l.dom.createRng();return fo.selectNode(Je.dom),l.selection.setRng(fo),ms(Je,"data-mce-selected","1"),fo})},Yi=>{const Je=Dh(Yi),fo=l.dom.createRng();return fo.setStart(Je.element.dom,Je.offset),fo.setEnd(Je.element.dom,Je.offset),l.selection.setRng(fo),b.clearSelectedCells(Sa.dom),J.some(fo)}),ne=(Sa,bg,Yi,Je)=>(fo,SA,t4=!1)=>{Pd(fo);const wA=qe.fromDom(l.getDoc()),xA=Tl(Yi,wA,M),n4={sizing:hg(l,fo),resize:ry(l)?JT():iw(),section:H(fo)};return bg(fo)?Sa(fo,SA,xA,n4).bind(_u=>{m.refresh(fo.dom),Ae(_u.newRows,Km=>{Wm(l,Km.dom)}),Ae(_u.newCells,Km=>{sp(l,Km.dom)});const vg=G(fo,_u);return wt(fo)&&(Pd(fo),t4||Ol(l,fo.dom,Je)),vg.map(Km=>({rng:Km,effect:Je}))}):J.none()},ue=ne(qw,E,Dt,Vs),Ke=ne(Zi,A,Dt,Vs),Ze=ne(ci,pe,Dt,Vs),ut=ne(Im,pe,Dt,Vs),Ne=ne(sa,pe,$,Vs),xe=ne(Hn,pe,$,Vs),bt=ne(mr,pe,Dt,Vs),st=ne(Yw,pe,Dt,Vs),et=ne(De,pe,Dt,Vs),wn=ne(Ek,pe,Dt,Vs),xn=ne(Hs,pe,Dt,Vs),Rn=ne(W2,pe,Dt,Vs),Ho=ne(Xw,pe,Dt,K0),wc=ne(fR,pe,Dt,Vs),ku=ne(gR,pe,Dt,Vs),Au=ne(Cu,pe,Dt,Vs),qm=ne(ii,pe,Dt,Vs),Mn=ne(xk,pe,Dt,Vs),gr=ne(Kw,pe,Dt,Vs),_r=ne(b0,pe,Dt,Vs);return{deleteRow:ue,deleteColumn:Ke,insertRowsBefore:Ze,insertRowsAfter:ut,insertColumnsBefore:Ne,insertColumnsAfter:xe,mergeCells:bt,unmergeCells:st,pasteColsBefore:et,pasteColsAfter:wn,pasteRowsBefore:xn,pasteRowsAfter:Rn,pasteCells:Ho,makeCellsHeader:wc,unmakeCellsHeader:ku,makeColumnsHeader:Au,unmakeColumnsHeader:qm,makeRowsHeader:Mn,makeRowsBody:gr,makeRowsFooter:_r,getTableRowType:G2,getTableCellType:j2,getTableColType:Jw}},Ay=(l,m)=>{l.selection.select(m.dom,!0),l.selection.collapse(!0)},_y=(l,m)=>{nd(m,"td,th").each(gn(Ay,l))},hA=(l,m)=>{Ae(vl(m,"tr"),b=>{Wm(l,b.dom),Ae(vl(b,"th,td"),y=>{sp(l,y.dom)})})},Hd=l=>Wg(l)&&l.indexOf("%")!==-1,Dl=(l,m,b,y,E)=>{const A=Lk(l),M={styles:A,attributes:Ik(l),colGroups:px(l)};return l.undoManager.ignore(()=>{const $=Wi(b,m,E,y,Yh(l),M);ms($,"data-mce-id","__mce");const H=WS($);l.insertContent(H),l.addVisual()}),nd(E0(l),'table[data-mce-id="__mce"]').map($=>(xu(l)?ya($):Qh(l)?Nh($):(Jh(l)||Hd(A.width))&&oi($),Pd($),On($,"data-mce-id"),hA(l,$),_y(l,$),$.dom)).getOrNull()},Oy=(l,m,b,y={})=>{const E=A=>Uo(A)&&A>0;if(E(m)&&E(b)){const A=y.headerRows??cy(l),M=y.headerColumns??hx(l);return Dl(l,b,m,M,A)}else return console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table."),null};var ap=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const Xx="x-tinymce/dom-table-",Y0=Xx+"rows",jm=Xx+"columns",ui=l=>{const m=ap.FakeClipboardItem(l);ap.write([m])},cp=l=>{const m=ap.read()??[];return Nr(m,b=>J.from(b.getType(l)))},Dy=l=>{cp(l).isSome()&&ap.clear()},Gm=l=>{l.fold(pA,m=>ui({[Y0]:m}))},ip=()=>cp(Y0),pA=()=>Dy(Y0),lp=l=>{l.fold(bA,m=>ui({[jm]:m}))},up=()=>cp(jm),bA=()=>Dy(jm),di=l=>dA(T0(l),cg(l)).filter(k0),Jx=l=>ky(T0(l),cg(l)).filter(k0),Ry=(l,m)=>{const b=cg(l),y=()=>di(l).each(xe=>{ta(xe,b).filter(te(b)).each(bt=>{const st=qe.fromText("");if(Oi(bt,st),Cr(bt),l.dom.isEmpty(l.getBody()))l.setContent(""),l.selection.setCursorLocation();else{const et=l.dom.createRng();et.setStart(st.dom,0),et.setEnd(st.dom,0),l.selection.setRng(et),l.nodeChanged()}})}),E=xe=>di(l).each(bt=>{Qh(l)||xu(l)||Jh(l)||ta(bt,b).each(et=>{xe==="relative"&&!Mw(et)?oi(et):xe==="fixed"&&!fk(et)?ya(et):xe==="responsive"&&!gk(et)&&Nh(et),Pd(et),Ol(l,et.dom,Vs)})}),A=xe=>ta(xe,b),M=xe=>Jx(l).bind(bt=>A(bt).map(st=>xe(st,bt))),$=(xe,bt)=>{M(st=>{l.formatter.toggle("tableclass",{value:bt},st.dom),Ol(l,st.dom,rp)})},H=(xe,bt)=>{M(st=>{const et=qi(l),xn=ho(et,Rn=>l.formatter.match("tablecellclass",{value:bt},Rn.dom))?l.formatter.remove:l.formatter.apply;Ae(et,Rn=>xn("tablecellclass",{value:bt},Rn.dom)),Ol(l,st.dom,rp)})},G=()=>{di(l).each(xe=>{ta(xe,b).each(bt=>{No(bt,"caption").fold(()=>{const st=qe.fromTag("caption");An(st,qe.fromText("Caption")),FT(bt,st,0),l.selection.setCursorLocation(st.dom,0)},st=>{Oa("caption")(xe)&&Jg("td",bt).each(et=>l.selection.setCursorLocation(et.dom,0)),Cr(st)}),Ol(l,bt.dom,Vs)})})},ne=xe=>{l.focus()},ue=(xe,bt=!1)=>M((st,et)=>{const wn=Ty(qi(l),st,et);xe(st,wn,bt).each(ne)}),Ke=()=>M((xe,bt)=>{const st=Ty(qi(l),xe,bt),et=Tl(Dt,qe.fromDom(l.getDoc()),J.none());return wl(xe,st,et)}),Ze=()=>M((xe,bt)=>{const st=Ty(qi(l),xe,bt);return zi(xe,st)}),ut=(xe,bt)=>bt().each(st=>{const et=zt(st,wn=>$s(wn));M((wn,xn)=>{const Rn=i0(qe.fromDom(l.getDoc())),Ho=At(qi(l),xn,et,Rn);xe(wn,Ho).each(ne)})}),Ne=xe=>(bt,st)=>Xl(st,"type").each(et=>{ue(xe(et),st.no_events)});Pr({mceTableSplitCells:()=>ue(m.unmergeCells),mceTableMergeCells:()=>ue(m.mergeCells),mceTableInsertRowBefore:()=>ue(m.insertRowsBefore),mceTableInsertRowAfter:()=>ue(m.insertRowsAfter),mceTableInsertColBefore:()=>ue(m.insertColumnsBefore),mceTableInsertColAfter:()=>ue(m.insertColumnsAfter),mceTableDeleteCol:()=>ue(m.deleteColumn),mceTableDeleteRow:()=>ue(m.deleteRow),mceTableCutCol:()=>Ze().each(xe=>{lp(xe),ue(m.deleteColumn)}),mceTableCutRow:()=>Ke().each(xe=>{Gm(xe),ue(m.deleteRow)}),mceTableCopyCol:()=>Ze().each(xe=>lp(xe)),mceTableCopyRow:()=>Ke().each(xe=>Gm(xe)),mceTablePasteColBefore:()=>ut(m.pasteColsBefore,up),mceTablePasteColAfter:()=>ut(m.pasteColsAfter,up),mceTablePasteRowBefore:()=>ut(m.pasteRowsBefore,ip),mceTablePasteRowAfter:()=>ut(m.pasteRowsAfter,ip),mceTableDelete:y,mceTableCellToggleClass:H,mceTableToggleClass:$,mceTableToggleCaption:G,mceTableSizingMode:(xe,bt)=>E(bt),mceTableCellType:Ne(xe=>xe==="th"?m.makeCellsHeader:m.unmakeCellsHeader),mceTableColType:Ne(xe=>xe==="th"?m.makeColumnsHeader:m.unmakeColumnsHeader),mceTableRowType:Ne(xe=>{switch(xe){case"header":return m.makeRowsHeader;case"footer":return m.makeRowsFooter;default:return m.makeRowsBody}})},(xe,bt)=>l.addCommand(bt,xe)),l.addCommand("mceInsertTable",(xe,bt)=>{Oy(l,bt.rows,bt.columns,bt.options)}),l.addCommand("mceTableApplyCellStyle",(xe,bt)=>{const st=xn=>"tablecell"+xn.toLowerCase().replace("-","");if(!kn(bt))return;const et=Wo(qi(l),k0);if(et.length===0)return;const wn=xT(bt,(xn,Rn)=>l.formatter.has(st(Rn))&&Wg(xn));jg(wn)||(Pr(wn,(xn,Rn)=>{const Ho=st(Rn);Ae(et,wc=>{xn===""?l.formatter.remove(Ho,{value:null},wc.dom,!0):l.formatter.apply(Ho,{value:xn},wc.dom)})}),A(et[0]).each(xn=>Ol(l,xn.dom,rp)))})},pg=(l,m)=>{const b=cg(l),y=E=>ky(T0(l)).bind(A=>ta(A,b).map(M=>{const $=Ty(qi(l),M,A);return E(M,$)})).getOr("");Pr({mceTableRowType:()=>y(m.getTableRowType),mceTableCellType:()=>y(m.getTableCellType),mceTableColType:()=>y(m.getTableColType)},(E,A)=>l.addQueryValueHandler(A,E))},X0=l=>!$i(qe.fromDom(l.target),"ephox-snooker-resizer-bar"),J0=(l,m)=>{const b=Ex(()=>qe.fromDom(l.getBody()),()=>ky(T0(l),cg(l)),Ld.selectedSelector),y=(H,G,ne)=>{ta(G).each(Ke=>{const Ze=zt(H,st=>st.dom),ut=fx(l),Ne=Tl(Dt,qe.fromDom(l.getDoc()),ut),xe=qi(l),bt=p2(Ke,{selection:xe},Ne).map(st=>os(st,et=>zt(et,wn=>wn.dom))).getOrUndefined();qx(l,Ze,G.dom,ne.dom,bt)})},E=()=>Kx(l),A=Ey.byAttr(Ld,y,E);return l.on("init",H=>{const G=l.getWin(),ne=E0(l),ue=cg(l),Ke=()=>{const Mn=l.selection,gr=qe.fromDom(Mn.getStart()),_r=qe.fromDom(Mn.getEnd());Zn(ta,[gr,_r]).fold(()=>A.clear(ne),Dt)},Ze=zx(G,ne,ue,A),ut=U0(G,ne,ue,A),Ne=aA(G,ne,ue,A),xe=Mn=>Mn.raw.shiftKey===!0;l.on("TableSelectorChange",Mn=>Ne(Mn.start,Mn.finish));const bt=(Mn,gr)=>{xe(Mn)&&(gr.kill&&Mn.kill(),gr.selection.each(_r=>{const Ki=ad.relative(_r.start,_r.finish),xc=Le(G,Ki);l.selection.setRng(xc)}))},st=Mn=>{const gr=ss(Mn);if(gr.raw.shiftKey&&Fd(gr.raw.which)){const _r=l.selection.getRng(),Ki=qe.fromDom(_r.startContainer),xc=qe.fromDom(_r.endContainer);ut.keyup(gr,Ki,_r.startOffset,xc,_r.endOffset).each(Zr=>{bt(gr,Zr)})}},et=Mn=>{const gr=ss(Mn);m.hide();const _r=l.selection.getRng(),Ki=qe.fromDom(_r.startContainer),xc=qe.fromDom(_r.endContainer),Zr=ah(H0,Hx)(qe.fromDom(l.selection.getStart()));ut.keydown(gr,Ki,_r.startOffset,xc,_r.endOffset,Zr).each(Sa=>{bt(gr,Sa)}),m.show()},wn=Mn=>Mn.button===0,xn=Mn=>Mn.buttons===void 0?!0:(Mn.buttons&1)!==0,Rn=Mn=>{Ze.clearstate()},Ho=Mn=>{wn(Mn)&&X0(Mn)&&Ze.mousedown(ss(Mn))},wc=Mn=>{xn(Mn)&&X0(Mn)&&Ze.mouseover(ss(Mn))},ku=Mn=>{wn(Mn)&&X0(Mn)&&Ze.mouseup(ss(Mn))},qm=(()=>{const Mn=ws(qe.fromDom(ne)),gr=ws(0);return{touchEnd:Ki=>{const xc=qe.fromDom(Ki.target);if(Oa("td")(xc)||Oa("th")(xc)){const Zr=Mn.get(),Sa=gr.get();to(Zr,xc)&&Ki.timeStamp-Sa<300&&(Ki.preventDefault(),Ne(xc,xc))}Mn.set(xc),gr.set(Ki.timeStamp)}}})();l.on("dragstart",Rn),l.on("mousedown",Ho),l.on("mouseover",wc),l.on("mouseup",ku),l.on("touchend",qm.touchEnd),l.on("keyup",st),l.on("keydown",et),l.on("NodeChange",Ke)}),l.on("PreInit",()=>{l.serializer.addTempAttr(Ld.firstSelected),l.serializer.addTempAttr(Ld.lastSelected)}),{getSelectedCells:()=>Zk(b.get(),q([]),H=>zt(H,G=>G.dom),H=>[H.dom]),clearSelectedCells:H=>A.clear(qe.fromDom(H))}},vA=(l,m)=>{const b=qe.fromDom(l.getBody());return Ow.body(b,m)},My=l=>ma(l)&&l.nodeName==="TABLE",Q0="bar-",yA=l=>Gc(l,"data-mce-resize")!=="false",By=l=>{const m=en.fromTable(l);en.hasColumns(m)||Ae(uu(l),b=>{const y=Sm(b,"width");Gs(b,"width",y),On(b,"width")})},_n=l=>dv(l,"corner-"),Qx=l=>cR(l,"corner-"),CA=l=>{const m=wf(),b=wf(),y=wf();let E,A,M,$;const H=et=>hg(l,et),G=()=>x0(l)?iw():JT(),ne=et=>Ih(et).columns,ue=et=>Ih(et).rows,Ke=(et,wn,xn,Rn)=>{const Ho=Qx(wn),wc=s1(Ho,"e"),ku=dv(Ho,"n");if(A===""&&oi(et),$===""&&yc(et),xn!==E&&A!==""){Gs(et,"width",A);const Au=G(),qm=H(et),Mn=x0(l)||wc?ne(et)-1:0;bc(et,xn-E,Mn,Au,qm)}else if(yx(A)){const Au=parseFloat(A.replace("%","")),qm=xn*Au/E;Gs(et,"width",qm+"%")}if(Cx(A)&&By(et),Rn!==M&&$!==""){Gs(et,"height",$);const Au=ku?0:ue(et)-1;ww(et,Rn-M,Au)}},Ze=()=>{b.on(et=>{et.destroy()})};l.on("init",()=>{const et=vA(l,yA);if(y.set(et),gx(l)&&ay(l)){const wn=G(),xn=dx.create(et,wn,H);l.mode.isReadOnly()||xn.on(),xn.events.startDrag.bind(Rn=>{m.set(l.selection.getRng())}),xn.events.beforeResize.bind(Rn=>{const Ho=Rn.table.dom;Yx(l,Ho,zs(Ho),_l(Ho),Q0+Rn.type)}),xn.events.afterResize.bind(Rn=>{const Ho=Rn.table,wc=Ho.dom;Pd(Ho),m.on(ku=>{l.selection.setRng(ku),l.focus()}),fA(l,wc,zs(wc),_l(wc),Q0+Rn.type),l.undoManager.add()}),b.set(xn)}}),l.on("ObjectResizeStart",et=>{const wn=et.target;if(My(wn)&&!l.mode.isReadOnly()){const xn=qe.fromDom(wn);Ae(l.dom.select(".mce-clonedresizable"),Rn=>{l.dom.addClass(Rn,"mce-"+Xh(l)+"-columns")}),!fk(xn)&&xu(l)?ya(xn):!Mw(xn)&&Jh(l)&&oi(xn),gk(xn)&&dv(et.origin,Q0)&&oi(xn),E=et.width,A=Qh(l)?"":Hk(l,wn).getOr(""),M=et.height,$=Sx(l,wn).getOr("")}}),l.on("ObjectResized",et=>{const wn=et.target;if(My(wn)){const xn=qe.fromDom(wn),Rn=et.origin;_n(Rn)&&Ke(xn,Rn,et.width,et.height),Pd(xn),Ol(l,xn.dom,rp)}});const ut=()=>{b.on(et=>{et.on(),et.showBars()})},Ne=()=>{b.on(et=>{et.off(),et.hideBars()})};return l.on("DisabledStateChange",et=>{et.state?Ne():ut()}),l.on("SwitchMode",()=>{l.mode.isReadOnly()?Ne():ut()}),l.on("dragstart dragend",et=>{et.type==="dragstart"?Ne():ut()}),l.on("remove",()=>{Ze()}),{refresh:et=>{b.on(wn=>wn.refreshBars(qe.fromDom(et)))},hide:()=>{b.on(et=>et.hideBars())},show:()=>{b.on(et=>et.showBars())}}},e4=l=>{vR(l);const m=CA(l),b=J0(l,m),y=gA(l,m,b);return Ry(l,y),pg(l,y),Tu(l,y),{getSelectedCells:b.getSelectedCells,clearSelectedCells:b.clearSelectedCells}},eb=l=>({table:e4(l)});var tr=()=>{cm.add("dom",eb)};tr()})(); diff --git a/public/build/assets/tinymce-580bfc24.js b/public/build/assets/tinymce-580bfc24.js new file mode 100644 index 000000000..4f699cbab --- /dev/null +++ b/public/build/assets/tinymce-580bfc24.js @@ -0,0 +1 @@ +import"./tinymce-4bed85b8.js"; diff --git a/public/build/assets/tinymce-7862aad6.js b/public/build/assets/tinymce-7862aad6.js deleted file mode 100644 index 6c15c63dd..000000000 --- a/public/build/assets/tinymce-7862aad6.js +++ /dev/null @@ -1,84 +0,0 @@ -var JG={exports:{}};(function(UT){(function(){var E0=function(e){if(e===null)return"null";if(e===void 0)return"undefined";var n=typeof e;return n==="object"&&(Array.prototype.isPrototypeOf(e)||e.constructor&&e.constructor.name==="Array")?"array":n==="object"&&(String.prototype.isPrototypeOf(e)||e.constructor&&e.constructor.name==="String")?"string":n},WT=function(e){return["undefined","boolean","number","string","function","xml","null"].indexOf(e)!==-1},Ag=function(e,n){var o=Array.prototype.slice.call(e);return o.sort(n)},Rg=function(e,n){return gd(function(o,r){return e.eq(n(o),n(r))})},gd=function(e){return{eq:e}},Dg=gd(function(e,n){return e===n}),hn=Dg,pa=function(e){return gd(function(n,o){if(n.length!==o.length)return!1;for(var r=n.length,a=0;a{var r;return o(e,n.prototype)?!0:((r=e.constructor)===null||r===void 0?void 0:r.name)===n.name},Mi=e=>{const n=typeof e;return e===null?"null":n==="object"&&Array.isArray(e)?"array":n==="object"&&Kr(e,String,(o,r)=>r.isPrototypeOf(o))?"string":n},sr=e=>n=>Mi(n)===e,gt=e=>n=>typeof n===e,Ga=e=>n=>e===n,uu=(e,n)=>En(e)&&Kr(e,n,(o,r)=>Sl(o)===r),q=sr("string"),En=sr("object"),Ip=e=>uu(e,Object),An=sr("array"),Q=Ga(null),sn=gt("boolean"),ws=Ga(void 0),an=e=>e==null,Se=e=>!an(e),Y=gt("function"),wc=gt("number"),Rn=(e,n)=>{if(An(e)){for(let o=0,r=e.length;o{},_=(e,n)=>(...o)=>e(n.apply(null,o)),Lo=(e,n)=>o=>e(n(o)),Fe=e=>()=>e,Co=e=>e,Rt=(e,n)=>e===n;function _e(e,...n){return(...o)=>{const r=n.concat(o);return e.apply(null,r)}}const So=e=>n=>!e(n),xc=e=>()=>{throw new Error(e)},Ho=e=>e(),Dr=e=>{e()},Ee=Fe(!1),Ke=Fe(!0);class N{constructor(n,o){this.tag=n,this.value=o}static some(n){return new N(!0,n)}static none(){return N.singletonNone}fold(n,o){return this.tag?o(this.value):n()}isSome(){return this.tag}isNone(){return!this.tag}map(n){return this.tag?N.some(n(this.value)):N.none()}bind(n){return this.tag?n(this.value):N.none()}exists(n){return this.tag&&n(this.value)}forall(n){return!this.tag||n(this.value)}filter(n){return!this.tag||n(this.value)?this:N.none()}getOr(n){return this.tag?this.value:n}or(n){return this.tag?this:n}getOrThunk(n){return this.tag?this.value:n()}orThunk(n){return this.tag?this:n()}getOrDie(n){if(this.tag)return this.value;throw new Error(n??"Called getOrDie on None")}static from(n){return Se(n)?N.some(n):N.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(n){this.tag&&n(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}N.singletonNone=new N(!1);const wm=Array.prototype.slice,qn=Array.prototype.indexOf,Qo=Array.prototype.push,eo=(e,n)=>qn.call(e,n),ZT=(e,n)=>{const o=eo(e,n);return o===-1?N.none():N.some(o)},_t=(e,n)=>eo(e,n)>-1,to=(e,n)=>{for(let o=0,r=e.length;o{const o=e.length,r=new Array(o);for(let a=0;a{for(let o=0,r=e.length;o{for(let o=e.length-1;o>=0;o--){const r=e[o];n(r,o)}},rr=(e,n)=>{const o=[],r=[];for(let a=0,u=e.length;a{const o=[];for(let r=0,a=e.length;r(du(e,(r,a)=>{o=n(o,r,a)}),o),wo=(e,n,o)=>(ge(e,(r,a)=>{o=n(o,r,a)}),o),Fp=(e,n,o)=>{for(let r=0,a=e.length;rFp(e,n,Ee),Yr=(e,n)=>{for(let o=0,r=e.length;o{const n=[];for(let o=0,r=e.length;oLp(Dt(e,n)),Bs=(e,n)=>{for(let o=0,r=e.length;o{const n=wm.call(e,0);return n.reverse(),n},Hp=(e,n)=>pt(e,o=>!_t(n,o)),ms=(e,n)=>{const o={};for(let r=0,a=e.length;r{const o=wm.call(e,0);return o.sort(n),o},Mg=(e,n)=>n>=0&&nMg(e,0),mu=e=>Mg(e,e.length-1),Xr=Y(Array.from)?Array.from:e=>wm.call(e),pd=(e,n)=>{for(let o=0;o{const o=[],r=Y(n)?a=>to(o,u=>n(u,a)):a=>_t(o,a);for(let a=0,u=e.length;a{const o=Cr(e);for(let r=0,a=o.length;rta(e,(o,r)=>({k:r,v:n(o,r)})),ta=(e,n)=>{const o={};return We(e,(r,a)=>{const u=n(r,a);o[u.k]=u.v}),o},Ec=e=>(n,o)=>{e[o]=n},zp=(e,n,o,r)=>{We(e,(a,u)=>{(n(a,u)?o:r)(a,u)})},bd=(e,n)=>{const o={},r={};return zp(e,n,Ec(o),Ec(r)),{t:o,f:r}},so=(e,n)=>{const o={};return zp(e,n,Ec(o),vt),o},fu=(e,n)=>{const o=[];return We(e,(r,a)=>{o.push(n(r,a))}),o},xm=e=>fu(e,Co),Kn=(e,n)=>Et(e,n)?N.from(e[n]):N.none(),Et=(e,n)=>T0.call(e,n),Jr=(e,n)=>Et(e,n)&&e[n]!==void 0&&e[n]!==null,vd=(e,n,o=lu)=>Di(o).eq(e,n),Up=e=>{const n={};return ge(e,o=>{n[o]={}}),Cr(n)},_0=e=>e.length!==void 0,Qr=Array.isArray,cr=e=>{if(Qr(e))return e;{const n=[];for(let o=0,r=e.length;o{if(!e)return!1;if(o=o||e,_0(e)){for(let r=0,a=e.length;r{const o=[];return es(e,(r,a)=>{o.push(n(r,a,e))}),o},Wp=(e,n)=>{const o=[];return es(e,(r,a)=>{(!n||n(r,a,e))&&o.push(r)}),o},wl=(e,n)=>{if(e){for(let o=0,r=e.length;o{let a=ws(o)?e[0]:o;for(let u=0;u{for(let r=0,a=e.length;re[e.length-1],yd=e=>{let n=!1,o;return(...r)=>(n||(n=!0,o=e.apply(null,r)),o)},jT=(e,n,o,r)=>{const a=e.isiOS()&&/ipad/i.test(o)===!0,u=e.isiOS()&&!a,f=e.isiOS()||e.isAndroid(),b=f||r("(pointer:coarse)"),y=a||!u&&f&&r("(min-device-width:768px)"),x=u||f&&!y,O=n.isSafari()&&e.isiOS()&&/safari/i.test(o)===!1,A=!x&&!y&&!O;return{isiPad:Fe(a),isiPhone:Fe(u),isTablet:Fe(y),isPhone:Fe(x),isTouch:Fe(b),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:Fe(O),isDesktop:Fe(A)}},GT=(e,n)=>{for(let o=0;o{const o=GT(e,n);if(!o)return{major:0,minor:0};const r=a=>Number(n.replace(o,"$"+a));return ec(r(1),r(2))},zF=(e,n)=>{const o=String(n).toLowerCase();return e.length===0?ee():xl(e,o)},ee=()=>ec(0,0),ec=(e,n)=>({major:e,minor:n}),Em={nu:ec,detect:zF,unknown:ee},EC=(e,n)=>pd(n.brands,o=>{const r=o.brand.toLowerCase();return Vo(e,a=>{var u;return r===((u=a.brand)===null||u===void 0?void 0:u.toLowerCase())}).map(a=>({current:a.name,version:Em.nu(parseInt(o.version,10),0)}))}),k0=(e,n)=>{const o=String(n).toLowerCase();return Vo(e,r=>r.search(o))},no=(e,n)=>k0(e,n).map(o=>{const r=Em.detect(o.versionRegexes,n);return{current:o.name,version:r}}),O0=(e,n)=>k0(e,n).map(o=>{const r=Em.detect(o.versionRegexes,n);return{current:o.name,version:r}}),qT=(e,n)=>e.substring(n),Bg=(e,n,o)=>n===""||e.length>=n.length&&e.substr(o,o+n.length)===n,Tm=(e,n)=>fs(e,n)?qT(e,n.length):e,Zs=(e,n,o=0,r)=>{const a=e.indexOf(n,o);return a!==-1?ws(r)?!0:a+n.length<=r:!1},fs=(e,n)=>Bg(e,n,0),El=(e,n)=>Bg(e,n,e.length-n.length),ya=e=>n=>n.replace(e,""),Cd=ya(/^\s+|\s+$/g),Ng=ya(/^\s+/g),_m=ya(/\s+$/g),Hn=e=>e.length>0,_c=e=>!Hn(e),KT=(e,n)=>n<=0?"":new Array(n+1).join(e),Sd=(e,n=10)=>{const o=parseInt(e,n);return isNaN(o)?N.none():N.some(o)},gu=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,na=e=>n=>Zs(n,e),No=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Zs(e,"edge/")&&Zs(e,"chrome")&&Zs(e,"safari")&&Zs(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,gu],search:e=>Zs(e,"chrome")&&!Zs(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Zs(e,"msie")||Zs(e,"trident")},{name:"Opera",versionRegexes:[gu,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:na("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:na("firefox")},{name:"Safari",versionRegexes:[gu,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Zs(e,"safari")||Zs(e,"mobile/"))&&Zs(e,"applewebkit")}],YT=[{name:"Windows",search:na("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Zs(e,"iphone")||Zs(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:na("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:na("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:na("linux"),versionRegexes:[]},{name:"Solaris",search:na("sunos"),versionRegexes:[]},{name:"FreeBSD",search:na("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:na("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],TC={browsers:Fe(No),oses:Fe(YT)},$n="Edge",oa="Chromium",kc="IE",js="Opera",Zp="Firefox",wd="Safari",Ca=()=>xd({current:void 0,version:Em.unknown()}),xd=e=>{const n=e.current,o=e.version,r=a=>()=>n===a;return{current:n,version:o,isEdge:r($n),isChromium:r(oa),isIE:r(kc),isOpera:r(js),isFirefox:r(Zp),isSafari:r(wd)}},qa={unknown:Ca,nu:xd,edge:Fe($n),chromium:Fe(oa),ie:Fe(kc),opera:Fe(js),firefox:Fe(Zp),safari:Fe(wd)},_C="Windows",A0="iOS",kC="Android",Ka="Linux",hu="macOS",jp="Solaris",Gp="FreeBSD",R0="ChromeOS",D0=()=>Pg({current:void 0,version:Em.unknown()}),Pg=e=>{const n=e.current,o=e.version,r=a=>()=>n===a;return{current:n,version:o,isWindows:r(_C),isiOS:r(A0),isAndroid:r(kC),isMacOS:r(hu),isLinux:r(Ka),isSolaris:r(jp),isFreeBSD:r(Gp),isChromeOS:r(R0)}},OC={unknown:D0,nu:Pg,windows:Fe(_C),ios:Fe(A0),android:Fe(kC),linux:Fe(Ka),macos:Fe(hu),solaris:Fe(jp),freebsd:Fe(Gp),chromeos:Fe(R0)},Sa={detect:(e,n,o)=>{const r=TC.browsers(),a=TC.oses(),u=n.bind(y=>EC(r,y)).orThunk(()=>no(r,e)).fold(qa.unknown,qa.nu),f=O0(a,e).fold(OC.unknown,OC.nu),b=jT(f,u,e,o);return{browser:u,os:f,deviceType:b}}},XT=e=>window.matchMedia(e).matches;let M0=yd(()=>Sa.detect(navigator.userAgent,N.from(navigator.userAgentData),XT));const Ya=()=>M0(),JT=navigator.userAgent,qp=Ya(),xs=qp.browser,Gs=qp.os,Ed=qp.deviceType,AC=JT.indexOf("Windows Phone")!==-1,Ze={transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",documentMode:xs.isIE()?document.documentMode||7:10,cacheSuffix:null,container:null,canHaveCSP:!xs.isIE(),windowsPhone:AC,browser:{current:xs.current,version:xs.version,isChromium:xs.isChromium,isEdge:xs.isEdge,isFirefox:xs.isFirefox,isIE:xs.isIE,isOpera:xs.isOpera,isSafari:xs.isSafari},os:{current:Gs.current,version:Gs.version,isAndroid:Gs.isAndroid,isChromeOS:Gs.isChromeOS,isFreeBSD:Gs.isFreeBSD,isiOS:Gs.isiOS,isLinux:Gs.isLinux,isMacOS:Gs.isMacOS,isSolaris:Gs.isSolaris,isWindows:Gs.isWindows},deviceType:{isDesktop:Ed.isDesktop,isiPad:Ed.isiPad,isiPhone:Ed.isiPhone,isPhone:Ed.isPhone,isTablet:Ed.isTablet,isTouch:Ed.isTouch,isWebView:Ed.isWebView}},$g=/^\s*|\s*$/g,xo=e=>an(e)?"":(""+e).replace($g,""),Sr=(e,n)=>n?n==="array"&&Qr(e)?!0:typeof e===n:e!==void 0,B0=(e,n,o={})=>{const r=q(e)?e.split(n||","):e||[];let a=r.length;for(;a--;)o[r[a]]={};return o},Po=Et,QT=(e,...n)=>{for(let o=0;on.call(r,a,u,o)===!1?!1:(Ig(a,n,o,r),!0)))},Me={trim:xo,isArray:Qr,is:Sr,toArray:cr,makeMap:B0,each:es,map:Bi,grep:Wp,inArray:wl,hasOwn:Po,extend:QT,walk:Ig,resolve:(e,n=window)=>{const o=e.split(".");for(let r=0,a=o.length;rAn(e)?e:e===""?[]:Bi(e.split(n||","),xo),_addCacheSuffix:e=>{const n=Ze.cacheSuffix;return n&&(e+=(e.indexOf("?")===-1?"?":"&")+n),e}},Eo=(e,n,o=Rt)=>e.exists(r=>o(r,n)),Lg=(e,n,o=Rt)=>qs(e,n,o).getOr(e.isNone()&&n.isNone()),Ns=e=>{const n=[],o=r=>{n.push(r)};for(let r=0;re.isSome()&&n.isSome()?N.some(o(e.getOrDie(),n.getOrDie())):N.none(),pu=(e,n,o,r)=>e.isSome()&&n.isSome()&&o.isSome()?N.some(r(e.getOrDie(),n.getOrDie(),o.getOrDie())):N.none(),ln=(e,n)=>e?N.some(n):N.none(),Tl=typeof window<"u"?window:Function("return this;")(),Ps=(e,n)=>{let o=n??Tl;for(let r=0;r{const o=e.split(".");return Ps(o,n)},ts=(e,n)=>km(e,n),bu=(e,n)=>{const o=ts(e,n);if(o==null)throw new Error(e+" not available on this browser");return o},N0=Object.getPrototypeOf,P0=e=>bu("HTMLElement",e),pn=e=>{const n=km("ownerDocument.defaultView",e);return En(e)&&(P0(n).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(N0(e).constructor.name))},$0=8,vu=9,wa=11,Td=1,Hg=3,un=e=>e.dom.nodeName.toLowerCase(),gs=e=>e.dom.nodeType,Xa=e=>n=>gs(n)===e,e_=e=>gs(e)===$0||un(e)==="#comment",mo=e=>ar(e)&&pn(e.dom),ar=Xa(Td),Ks=Xa(Hg),RC=Xa(vu),I0=Xa(wa),xa=e=>n=>ar(n)&&un(n)===e,Kp=(e,n,o)=>{if(q(o)||sn(o)||wc(o))e.setAttribute(n,o+"");else throw console.error("Invalid call to Attribute.set. Key ",n,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple")},Yn=(e,n,o)=>{Kp(e.dom,n,o)},Ja=(e,n)=>{const o=e.dom;We(n,(r,a)=>{Kp(o,a,r)})},wr=(e,n)=>{const o=e.dom.getAttribute(n);return o===null?void 0:o},Ni=(e,n)=>N.from(wr(e,n)),yu=(e,n)=>{const o=e.dom;return o&&o.hasAttribute?o.hasAttribute(n):!1},$o=(e,n)=>{e.dom.removeAttribute(n)},Qa=e=>{const n=e.dom.attributes;return n==null||n.length===0},Vg=e=>wo(e.dom.attributes,(n,o)=>(n[o.name]=o.value,n),{}),zg=(e,n)=>{const o=wr(e,n);return o===void 0||o===""?[]:o.split(" ")},DC=(e,n,o)=>{const a=zg(e,n).concat([o]);return Yn(e,n,a.join(" ")),!0},F0=(e,n,o)=>{const r=pt(zg(e,n),a=>a!==o);return r.length>0?Yn(e,n,r.join(" ")):$o(e,n),!1},ei=e=>e.dom.classList!==void 0,Ug=e=>zg(e,"class"),Mr=(e,n)=>DC(e,"class",n),Yp=(e,n)=>F0(e,"class",n),L0=(e,n)=>_t(Ug(e),n)?Yp(e,n):Mr(e,n),_d=(e,n)=>{ei(e)?e.dom.classList.add(n):Mr(e,n)},H0=e=>{(ei(e)?e.dom.classList:Ug(e)).length===0&&$o(e,"class")},kd=(e,n)=>{ei(e)?e.dom.classList.remove(n):Yp(e,n),H0(e)},MC=(e,n)=>{const o=ei(e)?e.dom.classList.toggle(n):L0(e,n);return H0(e),o},Cu=(e,n)=>ei(e)&&e.dom.classList.contains(n),BC=(e,n)=>{const r=(n||document).createElement("div");if(r.innerHTML=e,!r.hasChildNodes()||r.childNodes.length>1){const a="HTML does not have a single root node";throw console.error(a,e),new Error(a)}return Om(r.childNodes[0])},NC=(e,n)=>{const r=(n||document).createElement(e);return Om(r)},PC=(e,n)=>{const r=(n||document).createTextNode(e);return Om(r)},Om=e=>{if(e==null)throw new Error("Node cannot be null or undefined");return{dom:e}},U={fromHtml:BC,fromTag:NC,fromText:PC,fromDom:Om,fromPoint:(e,n,o)=>N.from(e.dom.elementFromPoint(n,o)).map(Om)},Am=(e,n)=>{const o=[],r=u=>(o.push(u),n(u));let a=n(e);do a=a.bind(r);while(a.isSome());return o},Ea=(e,n)=>{const o=e.dom;if(o.nodeType!==Td)return!1;{const r=o;if(r.matches!==void 0)return r.matches(n);if(r.msMatchesSelector!==void 0)return r.msMatchesSelector(n);if(r.webkitMatchesSelector!==void 0)return r.webkitMatchesSelector(n);if(r.mozMatchesSelector!==void 0)return r.mozMatchesSelector(n);throw new Error("Browser lacks native selectors")}},Xp=e=>e.nodeType!==Td&&e.nodeType!==vu&&e.nodeType!==wa||e.childElementCount===0,FR=(e,n)=>{const o=n===void 0?document:n.dom;return Xp(o)?[]:Dt(o.querySelectorAll(e),U.fromDom)},t_=(e,n)=>{const o=n===void 0?document:n.dom;return Xp(o)?N.none():N.from(o.querySelector(e)).map(U.fromDom)},bn=(e,n)=>e.dom===n.dom,xr=(e,n)=>{const o=e.dom,r=n.dom;return o===r?!1:o.contains(r)},Pi=e=>U.fromDom(e.dom.ownerDocument),_l=e=>RC(e)?e:Pi(e),V0=e=>U.fromDom(_l(e).dom.documentElement),Rm=e=>U.fromDom(_l(e).dom.defaultView),Oc=e=>N.from(e.dom.parentNode).map(U.fromDom),Wg=e=>N.from(e.dom.parentElement).map(U.fromDom),z0=(e,n)=>{const o=Y(n)?n:Ee;let r=e.dom;const a=[];for(;r.parentNode!==null&&r.parentNode!==void 0;){const u=r.parentNode,f=U.fromDom(u);if(a.push(f),o(f)===!0)break;r=u}return a},IC=e=>{const n=o=>pt(o,r=>!bn(e,r));return Oc(e).map(Es).map(n).getOr([])},Ta=e=>N.from(e.dom.previousSibling).map(U.fromDom),Zg=e=>N.from(e.dom.nextSibling).map(U.fromDom),U0=e=>ho(Am(e,Ta)),Ac=e=>Am(e,Zg),Es=e=>Dt(e.dom.childNodes,U.fromDom),Su=(e,n)=>{const o=e.dom.childNodes;return N.from(o[n]).map(U.fromDom)},Dm=e=>Su(e,0),_a=e=>Su(e,e.dom.childNodes.length-1),nc=e=>e.dom.childNodes.length,W0=e=>e.dom.hasChildNodes(),FC=e=>{const n=e.dom.head;if(n==null)throw new Error("Head is not available yet");return U.fromDom(n)},jg=e=>I0(e)&&Se(e.dom.host),Z0=Y(Element.prototype.attachShadow)&&Y(Node.prototype.getRootNode),Jp=Fe(Z0),$i=Z0?e=>U.fromDom(e.dom.getRootNode()):_l,LC=e=>jg(e)?e:FC(_l(e)),LR=e=>jg(e)?e:U.fromDom(_l(e).dom.body),HR=e=>{const n=$i(e);return jg(n)?N.some(n):N.none()},n_=e=>U.fromDom(e.dom.host),Gg=e=>{if(Jp()&&Se(e.target)){const n=U.fromDom(e.target);if(ar(n)&&HC(n)&&e.composed&&e.composedPath){const o=e.composedPath();if(o)return yr(o)}}return N.from(e.target)},HC=e=>Se(e.dom.shadowRoot),Mm=e=>{const n=Ks(e)?e.dom.parentNode:e.dom;if(n==null||n.ownerDocument===null)return!1;const o=n.ownerDocument;return HR(U.fromDom(n)).fold(()=>o.body.contains(n),Lo(Mm,n_))};var bo=(e,n,o,r,a)=>e(o,r)?N.some(o):Y(a)&&a(o)?N.none():n(o,r,a);const To=(e,n,o)=>{let r=e.dom;const a=Y(o)?o:Ee;for(;r.parentNode;){r=r.parentNode;const u=U.fromDom(r);if(n(u))return N.some(u);if(a(u))break}return N.none()},sa=(e,n,o)=>bo((a,u)=>u(a),To,e,n,o),j0=(e,n)=>{const o=e.dom;return o.parentNode?o_(U.fromDom(o.parentNode),r=>!bn(e,r)&&n(r)):N.none()},o_=(e,n)=>{const o=a=>n(U.fromDom(a));return Vo(e.dom.childNodes,o).map(U.fromDom)},ir=(e,n)=>{const o=r=>{for(let a=0;aTo(e,r=>Ea(r,n),o),Rc=(e,n)=>t_(n,e),Ii=(e,n,o)=>bo((a,u)=>Ea(a,u),Bm,e,n,o),VC=e=>Ii(e,"[contenteditable]"),$t=(e,n=!1)=>Mm(e)?e.dom.isContentEditable:VC(e).fold(Fe(n),o=>oc(o)==="true"),oc=e=>e.dom.contentEditable,wu=e=>e.style!==void 0&&Y(e.style.getPropertyValue),Nm=(e,n,o)=>{if(!q(o))throw console.error("Invalid call to CSS.set. Property ",n,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);wu(e)&&e.style.setProperty(n,o)},zC=(e,n)=>{wu(e)&&e.style.removeProperty(n)},UC=(e,n,o)=>{const r=e.dom;Nm(r,n,o)},sc=(e,n)=>{const o=e.dom;We(n,(r,a)=>{Nm(o,a,r)})},ns=(e,n)=>{const o=e.dom,a=window.getComputedStyle(o).getPropertyValue(n);return a===""&&!Mm(e)?Dc(o,n):a},Dc=(e,n)=>wu(e)?e.style.getPropertyValue(n):"",os=(e,n)=>{const o=e.dom,r=Dc(o,n);return N.from(r).filter(a=>a.length>0)},G0=e=>{const n={},o=e.dom;if(wu(o))for(let r=0;r{const o=e.dom;zC(o,n),Eo(Ni(e,"style").map(Cd),"")&&$o(e,"style")},zo=e=>e.dom.offsetWidth,hs=(e,n)=>{Oc(e).each(r=>{r.dom.insertBefore(n.dom,e.dom)})},ti=(e,n)=>{Zg(e).fold(()=>{Oc(e).each(a=>{Zo(a,n)})},r=>{hs(r,n)})},qg=(e,n)=>{Dm(e).fold(()=>{Zo(e,n)},r=>{e.dom.insertBefore(n.dom,r.dom)})},Zo=(e,n)=>{e.dom.appendChild(n.dom)},q0=(e,n)=>{hs(e,n),Zo(n,e)},WC=(e,n)=>{ge(n,(o,r)=>{const a=r===0?e:n[r-1];ti(a,o)})},Vn=(e,n)=>{ge(n,o=>{Zo(e,o)})},Pm=e=>{e.dom.textContent="",ge(Es(e),n=>{xn(n)})},xn=e=>{const n=e.dom;n.parentNode!==null&&n.parentNode.removeChild(n)},ni=e=>{const n=Es(e);n.length>0&&WC(e,n),xn(e)},K0=(e,n)=>{const r=(n||document).createElement("div");return r.innerHTML=e,Es(U.fromDom(r))},e1=e=>Dt(e,U.fromDom),Wt=e=>e.dom.innerHTML,$m=(e,n)=>{const r=Pi(e).dom,a=U.fromDom(r.createDocumentFragment()),u=K0(n,r);Vn(a,u),Pm(e),Zo(e,a)},ZC=e=>{const n=U.fromTag("div"),o=U.fromDom(e.dom.cloneNode(!0));return Zo(n,o),Wt(n)},Y0=(e,n,o,r,a,u,f)=>({target:e,x:n,y:o,stop:r,prevent:a,kill:u,raw:f}),VR=e=>{const n=U.fromDom(Gg(e).getOr(e.target)),o=()=>e.stopPropagation(),r=()=>e.preventDefault(),a=_(r,o);return Y0(n,e.clientX,e.clientY,o,r,a,e)},s_=(e,n)=>o=>{e(o)&&n(VR(o))},jC=(e,n,o,r,a)=>{const u=s_(o,r);return e.dom.addEventListener(n,u,a),{unbind:_e(X0,e,n,u,a)}},t1=(e,n,o,r)=>jC(e,n,o,r,!1),X0=(e,n,o,r)=>{e.dom.removeEventListener(n,o,r)},Od=(e,n)=>({left:e,top:n,translate:(r,a)=>Od(e+r,n+a)}),Im=Od,GC=e=>{const n=e.getBoundingClientRect();return Im(n.left,n.top)},ka=(e,n)=>e!==void 0?e:n!==void 0?n:0,r_=e=>{const n=e.dom.ownerDocument,o=n.body,r=n.defaultView,a=n.documentElement;if(o===e.dom)return Im(o.offsetLeft,o.offsetTop);const u=ka(r==null?void 0:r.pageYOffset,a.scrollTop),f=ka(r==null?void 0:r.pageXOffset,a.scrollLeft),b=ka(a.clientTop,o.clientTop),y=ka(a.clientLeft,o.clientLeft);return Fm(e).translate(f-y,u-b)},Fm=e=>{const n=e.dom,r=n.ownerDocument.body;return r===n?Im(r.offsetLeft,r.offsetTop):Mm(e)?GC(n):Im(0,0)},Oa=e=>{const n=e!==void 0?e.dom:document,o=n.body.scrollLeft||n.documentElement.scrollLeft,r=n.body.scrollTop||n.documentElement.scrollTop;return Im(o,r)},J0=(e,n,o)=>{const a=(o!==void 0?o.dom:document).defaultView;a&&a.scrollTo(e,n)},Q0=(e,n)=>{Ya().browser.isSafari()&&Y(e.dom.scrollIntoViewIfNeeded)?e.dom.scrollIntoViewIfNeeded(!1):e.dom.scrollIntoView(n)},ev=e=>{const n=e===void 0?window:e;return Ya().browser.isFirefox()?N.none():N.from(n.visualViewport)},tv=(e,n,o,r)=>({x:e,y:n,width:o,height:r,right:e+o,bottom:n+r}),nv=e=>{const n=e===void 0?window:e,o=n.document,r=Oa(U.fromDom(o));return ev(n).fold(()=>{const a=n.document.documentElement,u=a.clientWidth,f=a.clientHeight;return tv(r.left,r.top,u,f)},a=>tv(Math.max(a.pageLeft,r.left),Math.max(a.pageTop,r.top),a.width,a.height))},qC=(e,n)=>pt(Es(e),n),ov=(e,n)=>{let o=[];return ge(Es(e),r=>{n(r)&&(o=o.concat([r])),o=o.concat(ov(r,n))}),o},Ts=(e,n)=>FR(n,e),KC=(e,n,o)=>Bm(e,n,o).isSome();class zn{constructor(n,o){this.node=n,this.rootNode=o,this.current=this.current.bind(this),this.next=this.next.bind(this),this.prev=this.prev.bind(this),this.prev2=this.prev2.bind(this)}current(){return this.node}next(n){return this.node=this.findSibling(this.node,"firstChild","nextSibling",n),this.node}prev(n){return this.node=this.findSibling(this.node,"lastChild","previousSibling",n),this.node}prev2(n){return this.node=this.findPreviousNode(this.node,n),this.node}findSibling(n,o,r,a){if(n){if(!a&&n[o])return n[o];if(n!==this.rootNode){let u=n[r];if(u)return u;for(let f=n.parentNode;f&&f!==this.rootNode;f=f.parentNode)if(u=f[r],u)return u}}}findPreviousNode(n,o){if(n){const r=n.previousSibling;if(this.rootNode&&r===this.rootNode)return;if(r){if(!o){for(let u=r.lastChild;u;u=u.lastChild)if(!u.lastChild)return u}return r}const a=n.parentNode;if(a&&a!==this.rootNode)return a}}}const rt=e=>n=>!!n&&n.nodeType===e,oi=e=>!!e&&!Object.getPrototypeOf(e),Je=rt(1),xu=e=>Je(e)&&mo(U.fromDom(e)),zR=e=>Je(e)&&e.namespaceURI==="http://www.w3.org/2000/svg",kl=e=>{const n=e.toLowerCase();return o=>Se(o)&&o.nodeName.toLowerCase()===n},jo=e=>{const n=e.map(o=>o.toLowerCase());return o=>{if(o&&o.nodeName){const r=o.nodeName.toLowerCase();return _t(n,r)}return!1}},Ad=(e,n)=>{const o=n.toLowerCase().split(" ");return r=>{if(Je(r)){const a=r.ownerDocument.defaultView;if(a)for(let u=0;un=>Je(n)&&n.hasAttribute(e),_s=(e,n)=>o=>Je(o)&&o.getAttribute(e)===n,si=e=>Je(e)&&e.hasAttribute("data-mce-bogus"),n1=e=>Je(e)&&e.getAttribute("data-mce-bogus")==="all",Fi=e=>Je(e)&&e.tagName==="TABLE",YC=e=>n=>!!(xu(n)&&(n.contentEditable===e||n.getAttribute("data-mce-contenteditable")===e)),o1=jo(["textarea","input"]),ke=rt(3),XC=rt(4),Eu=rt(7),Ol=rt(8),Yg=rt(9),co=rt(11),Dn=kl("br"),Er=kl("img"),lr=YC("true"),Jt=YC("false"),Xg=jo(["td","th"]),$s=jo(["td","th","caption"]),_o=jo(["video","audio","object","embed"]),s1=kl("li"),ye=kl("details"),rc=kl("summary"),Jg="\uFEFF",dn=" ",ri=e=>e===Jg,c_=e=>e.replace(/\uFEFF/g,""),sv=((e,n)=>{const o=u=>{if(!e(u))throw new Error("Can only get "+n+" value of a "+n+" node");return r(u).getOr("")},r=u=>e(u)?N.from(u.dom.nodeValue):N.none();return{get:o,getOption:r,set:(u,f)=>{if(!e(u))throw new Error("Can only set raw "+n+" value of a "+n+" node");u.dom.nodeValue=f}}})(Ks,"text"),ai=e=>sv.get(e),rv=e=>sv.getOption(e),Mc=(e,n)=>sv.set(e,n),vn=["td","th"],Li=["thead","tbody","tfoot"],Rd=["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"],Is=["li","dd","dt"],cv=["ul","ol","dl"],Dd=["pre","script","textarea","style"],Md=e=>{let n;return o=>(n=n||ms(e,Ke),Et(n,un(o)))},Br=e=>un(e)==="table",Tu=e=>ar(e)&&un(e)==="br",oe=Md(Rd),cc=Md(cv),Hi=Md(Is),Vi=Md(Li),ac=Md(vn),ss=Md(Dd),ps=e=>{const n=[];let o=e.dom;for(;o;)n.push(U.fromDom(o)),o=o.lastChild;return n},UR=e=>{const n=Ts(e,"br"),o=pt(ps(e).slice(-1),Tu);n.length===o.length&&ge(o,xn)},Nr=()=>{const e=U.fromTag("br");return Yn(e,"data-mce-bogus","1"),e},zi=e=>{Pm(e),Zo(e,Nr())},mt=(e,n)=>{_a(e).each(o=>{Ta(o).each(r=>{n.isBlock(un(e))&&Tu(o)&&n.isBlock(un(r))&&xn(o)})})},ks=Jg,ic=ri,Bc=c_,a_=e=>e.insertContent(ks,{preserve_zwsp:!0}),i_=Je,Lm=ke,Qg=e=>(Lm(e)&&(e=e.parentNode),i_(e)&&e.hasAttribute("data-mce-caret")),Pr=e=>Lm(e)&&ic(e.data),Fs=e=>Qg(e)||Pr(e),av=e=>e.firstChild!==e.lastChild||!Dn(e.firstChild),l_=(e,n)=>{var o;const a=((o=e.ownerDocument)!==null&&o!==void 0?o:document).createTextNode(ks),u=e.parentNode;if(n){const f=e.previousSibling;if(Lm(f)){if(Fs(f))return f;if(Hm(f))return f.splitText(f.data.length-1)}u==null||u.insertBefore(a,e)}else{const f=e.nextSibling;if(Lm(f)){if(Fs(f))return f;if(Bd(f))return f.splitText(1),f}e.nextSibling?u==null||u.insertBefore(a,e.nextSibling):u==null||u.appendChild(a)}return a},Ui=e=>{const n=e.container();return ke(n)?n.data.charAt(e.offset())===ks||e.isAtStart()&&Pr(n.previousSibling):!1},r1=e=>{const n=e.container();return ke(n)?n.data.charAt(e.offset()-1)===ks||e.isAtEnd()&&Pr(n.nextSibling):!1},JC=(e,n,o)=>{var r;const u=((r=n.ownerDocument)!==null&&r!==void 0?r:document).createElement(e);u.setAttribute("data-mce-caret",o?"before":"after"),u.setAttribute("data-mce-bogus","all"),u.appendChild(Nr().dom);const f=n.parentNode;return o?f==null||f.insertBefore(u,n):n.nextSibling?f==null||f.insertBefore(u,n.nextSibling):f==null||f.appendChild(u),u},Bd=e=>Lm(e)&&e.data[0]===ks,Hm=e=>Lm(e)&&e.data[e.data.length-1]===ks,QC=e=>{var n;const o=e.getElementsByTagName("br"),r=o[o.length-1];si(r)&&((n=r.parentNode)===null||n===void 0||n.removeChild(r))},Al=e=>e&&e.hasAttribute("data-mce-caret")?(QC(e),e.removeAttribute("data-mce-caret"),e.removeAttribute("data-mce-bogus"),e.removeAttribute("style"),e.removeAttribute("data-mce-style"),e.removeAttribute("_moz_abspos"),e):null,eS=e=>Qg(e.startContainer),tS=lr,iv=Jt,lv=Dn,Os=ke,Wi=jo(["script","style","textarea"]),Vm=jo(["img","input","textarea","hr","iframe","video","audio","object","embed"]),Nd=jo(["table"]),nS=Fs,Go=e=>nS(e)?!1:Os(e)?!Wi(e.parentNode):Vm(e)||lv(e)||Nd(e)||Um(e),zm=e=>Je(e)&&e.getAttribute("unselectable")==="true",Um=e=>!zm(e)&&iv(e),uv=(e,n)=>{for(let o=e.parentNode;o&&o!==n;o=o.parentNode){if(Um(o))return!1;if(tS(o))return!0}return!0},Rl=e=>Um(e)?!wo(Xr(e.getElementsByTagName("*")),(n,o)=>n||tS(o),!1):!1,lc=e=>Vm(e)||Rl(e),c1=(e,n)=>Go(e)&&uv(e,n),Aa=/^[ \t\r\n]*$/,_u=e=>Aa.test(e),Pd=e=>{for(const n of e)if(!ri(n))return!1;return!0},Wm=e=>" \f \v".indexOf(e)!==-1,Dl=e=>e===` -`||e==="\r",u_=(e,n)=>n=0?Dl(e[n]):!1,$d=(e,n=4,o=!0,r=!0)=>{const a=KT(" ",n),u=e.replace(/\t/g,a);return wo(u,(b,y)=>Wm(y)||y===dn?b.pcIsSpace||b.str===""&&o||b.str.length===u.length-1&&r||u_(u,b.str.length+1)?{pcIsSpace:!1,str:b.str+dn}:{pcIsSpace:!0,str:b.str+" "}:{pcIsSpace:Dl(y),str:b.str+y},{pcIsSpace:!1,str:""}).str},dv=(e,n)=>{const o=U.fromDom(n),r=U.fromDom(e);return KC(r,"pre,code",_e(bn,o))},oS=(e,n)=>ke(e)&&_u(e.data)&&!dv(e,n),ko=e=>Je(e)&&e.nodeName==="A"&&!e.hasAttribute("href")&&(e.hasAttribute("name")||e.hasAttribute("id")),Zm=(e,n)=>Go(e)&&!oS(e,n)||ko(e)||ii(e),ii=Kg("data-mce-bookmark"),ku=Kg("data-mce-bogus"),Id=_s("data-mce-bogus","all"),Fd=e=>Wg(U.fromDom(e)).exists(n=>!$t(n)),uc=(e,n)=>{let o=0;if(Zm(e,e))return!1;{let r=e.firstChild;if(!r)return!0;const a=new zn(r,e);do{if(n){if(Id(r)){r=a.next(!0);continue}if(ku(r)){r=a.next();continue}}if(lr(r)&&Fd(r))return!1;if(Dn(r)){o++,r=a.next();continue}if(Zm(r,e))return!1;r=a.next()}while(r);return o<=1}},fo=(e,n=!0)=>uc(e.dom,n),li=e=>e.toLowerCase()==="svg",mv=e=>li(e.nodeName),eh=e=>(e==null?void 0:e.nodeName)==="svg"?"svg":"html",a1=["svg"],Ou=()=>{let e=[];const n=()=>e[e.length-1];return{track:u=>{mv(u)&&e.push(u);let f=n();return f&&!f.contains(u)&&(e.pop(),f=n()),eh(f)},current:()=>eh(n()),reset:()=>{e=[]}}},th="data-mce-block",i1=e=>pt(Cr(e),n=>!/[A-Z]/.test(n)),Zi=e=>Dt(i1(e),n=>`${n}:`+Dt(a1,o=>`not(${o} ${n})`).join(":")).join(","),ui=(e,n)=>Se(n.querySelector(e))?(n.setAttribute(th,"true"),n.getAttribute("data-mce-selected")==="inline-boundary"&&n.removeAttribute("data-mce-selected"),!0):(n.removeAttribute(th),!1),Nc=(e,n)=>{const o=Zi(e.getTransparentElements()),r=Zi(e.getBlockElements());return pt(n.querySelectorAll(o),a=>ui(r,a))},Au=(e,n)=>{var o;const r=n?"lastChild":"firstChild";for(let a=e[r];a;a=a[r])if(fo(U.fromDom(a))){(o=a.parentNode)===null||o===void 0||o.removeChild(a);return}},Ru=(e,n)=>{const o=document.createRange(),r=e.parentNode;if(r){o.setStartBefore(e),o.setEndBefore(n);const a=o.extractContents();Au(a,!0),o.setStartAfter(n),o.setEndAfter(e);const u=o.extractContents();Au(u,!1),fo(U.fromDom(a))||r.insertBefore(a,e),fo(U.fromDom(n))||r.insertBefore(n,e),fo(U.fromDom(u))||r.insertBefore(u,e),r.removeChild(e)}},sS=(e,n,o)=>{const r=e.getBlockElements(),a=U.fromDom(n),u=b=>un(b)in r,f=b=>bn(b,a);ge(e1(o),b=>{To(b,u,f).each(y=>{const x=qC(b,O=>u(O)&&!e.isValidChild(un(y),un(O)));if(x.length>0){const O=Wg(y);ge(x,A=>{To(A,u,f).each(M=>{Ru(M.dom,A.dom)})}),O.each(A=>Nc(e,A.dom))}})})},l1=(e,n,o)=>{ge([...o,...qt(e,n)?[n]:[]],r=>ge(Ts(U.fromDom(r),r.nodeName.toLowerCase()),a=>{it(e,a.dom)&&ni(a)}))},nh=(e,n)=>{const o=Nc(e,n);sS(e,n,o),l1(e,n,o)},u1=(e,n)=>{if(sh(e,n)){const o=Zi(e.getBlockElements());ui(o,n)}},rS=(e,n,o)=>{const r=u=>bn(u,U.fromDom(n)),a=z0(U.fromDom(o),r);Mg(a,a.length-2).filter(ar).fold(()=>nh(e,n),u=>nh(e,u.dom))},d1=e=>e.hasAttribute(th),oh=(e,n)=>Et(e.getTransparentElements(),n),sh=(e,n)=>Je(n)&&oh(e,n.nodeName),qt=(e,n)=>sh(e,n)&&d1(n),it=(e,n)=>sh(e,n)&&!d1(n),Ml=(e,n)=>n.type===1&&oh(e,n.name)&&q(n.attr(th)),m1=Ya().browser,rh=e=>Vo(e,ar),d_=e=>m1.isFirefox()&&un(e)==="table"?rh(Es(e)).filter(n=>un(n)==="caption").bind(n=>rh(Ac(n)).map(o=>{const r=o.dom.offsetTop,a=n.dom.offsetTop,u=n.dom.offsetHeight;return r<=a?-u:0})).getOr(0):0,fv=(e,n)=>e.children&&_t(e.children,n),In=(e,n,o)=>{let r=0,a=0;const u=e.ownerDocument;if(o=o||e,n){if(o===e&&n.getBoundingClientRect&&ns(U.fromDom(e),"position")==="static"){const b=n.getBoundingClientRect();return r=b.left+(u.documentElement.scrollLeft||e.scrollLeft)-u.documentElement.clientLeft,a=b.top+(u.documentElement.scrollTop||e.scrollTop)-u.documentElement.clientTop,{x:r,y:a}}let f=n;for(;f&&f!==o&&f.nodeType&&!fv(f,o);){const b=f;r+=b.offsetLeft||0,a+=b.offsetTop||0,f=b.offsetParent}for(f=n.parentNode;f&&f!==o&&f.nodeType&&!fv(f,o);)r-=f.scrollLeft||0,a-=f.scrollTop||0,f=f.parentNode;a+=d_(U.fromDom(n))}return{x:r,y:a}},gv=(e,n={})=>{let o=0;const r={},a=U.fromDom(e),u=_l(a),f=G=>{n.referrerPolicy=G},b=G=>{n.contentCssCors=G},y=G=>{Zo(LC(a),G)},x=G=>{const X=LC(a);Rc(X,"#"+G).each(xn)},O=G=>Kn(r,G).getOrThunk(()=>({id:"mce-u"+o++,passed:[],failed:[],count:0})),A=G=>new Promise((X,J)=>{let ne;const Ce=Me._addCacheSuffix(G),Oe=O(Ce);r[Ce]=Oe,Oe.count++;const Ue=(je,ct)=>{ge(je,Dr),Oe.status=ct,Oe.passed=[],Oe.failed=[],ne&&(ne.onload=null,ne.onerror=null,ne=null)},fe=()=>Ue(Oe.passed,2),le=()=>Ue(Oe.failed,3);if(X&&Oe.passed.push(X),J&&Oe.failed.push(J),Oe.status===1)return;if(Oe.status===2){fe();return}if(Oe.status===3){le();return}Oe.status=1;const xe=U.fromTag("link",u.dom);Ja(xe,{rel:"stylesheet",type:"text/css",id:Oe.id}),n.contentCssCors&&Yn(xe,"crossOrigin","anonymous"),n.referrerPolicy&&Yn(xe,"referrerpolicy",n.referrerPolicy),ne=xe.dom,ne.onload=fe,ne.onerror=le,y(xe),Yn(xe,"href",Ce)}),M=(G,X)=>{const J=O(G);r[G]=J,J.count++;const ne=U.fromTag("style",u.dom);Ja(ne,{rel:"stylesheet",type:"text/css",id:J.id}),ne.dom.innerHTML=X,y(ne)},L=G=>Promise.allSettled(Dt(G,J=>A(J).then(Fe(J)))).then(J=>{const ne=rr(J,Ce=>Ce.status==="fulfilled");return ne.fail.length>0?Promise.reject(Dt(ne.fail,Ce=>Ce.reason)):Dt(ne.pass,Ce=>Ce.value)}),V=G=>{const X=Me._addCacheSuffix(G);Kn(r,X).each(J=>{--J.count===0&&(delete r[X],x(J.id))})};return{load:A,loadRawCss:M,loadAll:L,unload:V,unloadRawCss:G=>{Kn(r,G).each(X=>{--X.count===0&&(delete r[G],x(X.id))})},unloadAll:G=>{ge(G,X=>{V(X)})},_setReferrerPolicy:f,_setContentCssCors:b}},pv=(()=>{const e=new WeakMap;return{forElement:(o,r)=>{const u=$i(o).dom;return N.from(e.get(u)).getOrThunk(()=>{const f=gv(u,r);return e.set(u,f),f})}}})(),be=e=>e.nodeName.toLowerCase()==="span",f1=(e,n,o)=>Se(e)&&(Zm(e,n)||o.isInline(e.nodeName.toLowerCase())),m_=(e,n,o)=>{const r=new zn(e,n).prev(!1),a=new zn(e,n).next(!1),u=ws(r)||f1(r,n,o),f=ws(a)||f1(a,n,o);return u&&f},ch=e=>be(e)&&e.getAttribute("data-mce-type")==="bookmark",f_=(e,n,o)=>ke(e)&&e.data.length>0&&m_(e,n,o),jm=e=>Je(e)?e.childNodes.length>0:!1,bv=e=>co(e)||Yg(e),Bl=(e,n,o,r)=>{var a;const u=r||n;if(Je(n)&&ch(n))return n;const f=n.childNodes;for(let b=f.length-1;b>=0;b--)Bl(e,f[b],o,u);if(Je(n)){const b=n.childNodes;b.length===1&&ch(b[0])&&((a=n.parentNode)===null||a===void 0||a.insertBefore(b[0],n))}return!bv(n)&&!Zm(n,u)&&!jm(n)&&!f_(n,u,o)&&e.remove(n),n},g_=Me.makeMap,ji=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Mn=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Gi=/[<>&\"\']/g,vv=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,Ra={128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},Nl={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},yv={"<":"<",">":">","&":"&",""":'"',"'":"'"},Ld=e=>{const n=U.fromTag("div").dom;return n.innerHTML=e,n.textContent||n.innerText||e},cS=(e,n)=>{const o={};if(e){const r=e.split(",");n=n||10;for(let a=0;ae.replace(n?ji:Mn,o=>Nl[o]||o),h_=e=>(""+e).replace(Gi,n=>Nl[n]||n),Sv=(e,n)=>e.replace(n?ji:Mn,o=>o.length>1?"&#"+((o.charCodeAt(0)-55296)*1024+(o.charCodeAt(1)-56320)+65536)+";":Nl[o]||"&#"+o.charCodeAt(0)+";"),qi=(e,n,o)=>{const r=o||g1;return e.replace(n?ji:Mn,a=>Nl[a]||r[a]||a)},Hd={encodeRaw:Cv,encodeAllRaw:h_,encodeNumeric:Sv,encodeNamed:qi,getEncodeFunc:(e,n)=>{const o=cS(n)||g1,r=(f,b)=>f.replace(b?ji:Mn,y=>Nl[y]!==void 0?Nl[y]:o[y]!==void 0?o[y]:y.length>1?"&#"+((y.charCodeAt(0)-55296)*1024+(y.charCodeAt(1)-56320)+65536)+";":"&#"+y.charCodeAt(0)+";"),a=(f,b)=>qi(f,b,o),u=g_(e.replace(/\+/g,","));return u.named&&u.numeric?r:u.named?n?a:qi:u.numeric?Sv:Cv},decode:e=>e.replace(vv,(n,o)=>o?(o.charAt(0).toLowerCase()==="x"?o=parseInt(o.substr(1),16):o=parseInt(o,10),o>65535?(o-=65536,String.fromCharCode(55296+(o>>10),56320+(o&1023))):Ra[o]||String.fromCharCode(o)):yv[n]||g1[n]||Ld(n))},Ls=(e,n)=>(e=Me.trim(e),e?e.split(n||" "):[]),Xe=e=>new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$"),p_=e=>{const n=/^(~)?(.+)$/;return ba(Ls(e,","),o=>{const r=n.exec(o);if(r){const a=r[1]==="~",u=a?"span":"div",f=r[2];return[{inline:a,cloneName:u,name:f}]}else return[]})},xv=e=>{let n,o,r;if(n="id accesskey class dir lang style tabindex title role",o="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",r="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment",e!=="html4"){const u="a ins del canvas map";n+=" contenteditable contextmenu draggable dropzone hidden spellcheck translate",o+=" article aside details dialog figure main header footer hgroup section nav "+u,r+=" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen svg"}e!=="html5-strict"&&(n+=" xml:lang",r=[r,"acronym applet basefont big font strike tt"].join(" "),o=[o,"center dir isindex noframes"].join(" "));const a=[o,r].join(" ");return{globalAttributes:n,blockContent:o,phrasingContent:r,flowContent:a}},b_=e=>{const{globalAttributes:n,phrasingContent:o,flowContent:r}=xv(e),a={},u=(y,x,O)=>{a[y]={attributes:ms(x,Fe({})),attributesOrder:x,children:ms(O,Fe({}))}},f=(y,x="",O="")=>{const A=Ls(O),M=Ls(y);let L=M.length;const V=Ls([n,x].join(" "));for(;L--;)u(M[L],V.slice(),A)},b=(y,x)=>{const O=Ls(y),A=Ls(x);let M=O.length;for(;M--;){const L=a[O[M]];for(let V=0,I=A.length;V{f(O,"",o)}),ge(Ls("center dir isindex noframes"),O=>{f(O,"",r)})),f("html","manifest","head body"),f("head","","base command link meta noscript script style title"),f("title hr noscript br"),f("base","href target"),f("link","href rel media hreflang type sizes hreflang"),f("meta","name http-equiv content charset"),f("style","media type scoped"),f("script","src async defer type charset"),f("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",r),f("dd div","",r),f("address dt caption","",e==="html4"?o:r),f("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",o),f("blockquote","cite",r),f("ol","reversed start type","li"),f("ul","","li"),f("li","value",r),f("dl","","dt dd"),f("a","href target rel media hreflang type",e==="html4"?o:r),f("q","cite",o),f("ins del","cite datetime",r),f("img","src sizes srcset alt usemap ismap width height"),f("iframe","src name width height",r),f("embed","src type width height"),f("object","data type typemustmatch name usemap form width height",[r,"param"].join(" ")),f("param","name value"),f("map","name",[r,"area"].join(" ")),f("area","alt coords shape href target rel media hreflang type"),f("table","border","caption colgroup thead tfoot tbody tr"+(e==="html4"?" col":"")),f("colgroup","span","col"),f("col","span"),f("tbody thead tfoot","","tr"),f("tr","","td th"),f("td","colspan rowspan headers",r),f("th","colspan rowspan headers scope abbr",r),f("form","accept-charset action autocomplete enctype method name novalidate target",r),f("fieldset","disabled form name",[r,"legend"].join(" ")),f("label","form for",o),f("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),f("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value",e==="html4"?r:o),f("select","disabled form multiple name required size","option optgroup"),f("optgroup","disabled label","option"),f("option","disabled label selected value"),f("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),f("menu","type label",[r,"li"].join(" ")),f("noscript","",r),e!=="html4"&&(f("wbr"),f("ruby","",[o,"rt rp"].join(" ")),f("figcaption","",r),f("mark rt rp bdi","",o),f("summary","",[o,"h1 h2 h3 h4 h5 h6"].join(" ")),f("canvas","width height",r),f("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[r,"track source"].join(" ")),f("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[r,"track source"].join(" ")),f("picture","","img source"),f("source","src srcset type media sizes"),f("track","kind src srclang label default"),f("datalist","",[o,"option"].join(" ")),f("article section nav aside main header footer","",r),f("hgroup","","h1 h2 h3 h4 h5 h6"),f("figure","",[r,"figcaption"].join(" ")),f("time","datetime",o),f("dialog","open",r),f("command","type label icon disabled checked radiogroup command"),f("output","for form name",o),f("progress","value max",o),f("meter","value min max low high optimum",o),f("details","open",[r,"summary"].join(" ")),f("keygen","autofocus challenge disabled form keytype name"),u("svg","id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform".split(" "),[])),e!=="html5-strict"&&(b("script","language xml:space"),b("style","xml:space"),b("object","declare classid code codebase codetype archive standby align border hspace vspace"),b("embed","align name hspace vspace"),b("param","valuetype type"),b("a","charset name rev shape coords"),b("br","clear"),b("applet","codebase archive code object alt name width height align hspace vspace"),b("img","name longdesc align border hspace vspace"),b("iframe","longdesc frameborder marginwidth marginheight scrolling align"),b("font basefont","size color face"),b("input","usemap align"),b("select"),b("textarea"),b("h1 h2 h3 h4 h5 h6 div p legend caption","align"),b("ul","type compact"),b("li","type"),b("ol dl menu dir","compact"),b("pre","width xml:space"),b("hr","align noshade size width"),b("isindex","prompt"),b("table","summary width frame rules cellspacing cellpadding align bgcolor"),b("col","width align char charoff valign"),b("colgroup","width align char charoff valign"),b("thead","align char charoff valign"),b("tr","align char charoff valign bgcolor"),b("th","axis align char charoff valign nowrap bgcolor width height"),b("form","accept"),b("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),b("tfoot","align char charoff valign"),b("tbody","align char charoff valign"),b("area","nohref"),b("body","background bgcolor text link vlink alink")),e!=="html4"&&(b("input button select textarea","autofocus"),b("input textarea","placeholder"),b("a","download"),b("link script img","crossorigin"),b("img","loading"),b("iframe","sandbox seamless allow allowfullscreen loading")),e!=="html4"&&ge([a.video,a.audio],y=>{delete y.children.audio,delete y.children.video}),ge(Ls("a form meter progress dfn"),y=>{a[y]&&delete a[y].children[y]}),delete a.caption.children.table,delete a.script,a},aS=e=>e==="-"?"remove":"add",Vd=e=>{const n=/^([+\-]?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)\[([^\]]+)]$/;return ba(Ls(e,","),o=>{const r=n.exec(o);if(r){const a=r[1],u=a?aS(a):"replace",f=r[2],b=Ls(r[3],"|");return[{operation:u,name:f,validChildren:b}]}else return[]})},Gm=(e,n)=>{const o=/^([!\-])?(\w+[\\:]:\w+|[^=~<]+)?(?:([=~<])(.*))?$/,r=/[*?+]/,{attributes:a,attributesOrder:u}=n;return ge(Ls(e,"|"),f=>{const b=o.exec(f);if(b){const y={},x=b[1],O=b[2].replace(/[\\:]:/g,":"),A=b[3],M=b[4];if(x==="!"&&(n.attributesRequired=n.attributesRequired||[],n.attributesRequired.push(O),y.required=!0),x==="-"){delete a[O],u.splice(Me.inArray(u,O),1);return}if(A&&(A==="="?(n.attributesDefault=n.attributesDefault||[],n.attributesDefault.push({name:O,value:M}),y.defaultValue=M):A==="~"?(n.attributesForced=n.attributesForced||[],n.attributesForced.push({name:O,value:M}),y.forcedValue=M):A==="<"&&(y.validValues=Me.makeMap(M,"?"))),r.test(O)){const L=y;n.attributePatterns=n.attributePatterns||[],L.pattern=Xe(O),n.attributePatterns.push(L)}else a[O]||u.push(O),a[O]=y}})},ah=(e,n)=>{We(e.attributes,(o,r)=>{n.attributes[r]=o}),n.attributesOrder.push(...e.attributesOrder)},qm=(e,n)=>{const o=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)])?$/;return ba(Ls(n,","),r=>{const a=o.exec(r);if(a){const u=a[1],f=a[2],b=a[3],y=a[4],x=a[5],O={attributes:{},attributesOrder:[]};if(e.each(A=>ah(A,O)),u==="#"?O.paddEmpty=!0:u==="-"&&(O.removeEmpty=!0),y==="!"&&(O.removeEmptyAttrs=!0),x&&Gm(x,O),b&&(O.outputName=f),f==="@")if(e.isNone())e=N.some(O);else return[];return[b?{name:f,element:O,aliasName:b}:{name:f,element:O}]}else return[]})},h1={},Pl=Me.makeMap,di=Me.each,ih=Me.extend,ra=Me.explode,p1=(e,n={})=>{const o=Pl(e," ",Pl(e.toUpperCase()," "));return ih(o,n)},iS=e=>p1("td th li dt dd figcaption caption details summary",e.getTextBlockElements()),Km=(e,n)=>{if(e){const o={};return q(e)&&(e={"*":e}),di(e,(r,a)=>{o[a]=o[a.toUpperCase()]=n==="map"?Pl(r,/[, ]/):ra(r,/[, ]/)}),o}else return},$l=(e={})=>{var n;const o={},r={};let a=[];const u={},f={},b=(Ot,tn,gn)=>{const lo=e[Ot];if(lo)return Pl(lo,/[, ]/,Pl(lo.toUpperCase(),/[, ]/));{let go=h1[Ot];return go||(go=p1(tn,gn),h1[Ot]=go),go}},y=(n=e.schema)!==null&&n!==void 0?n:"html5",x=b_(y);e.verify_html===!1&&(e.valid_elements="*[*]");const O=Km(e.valid_styles),A=Km(e.invalid_styles,"map"),M=Km(e.valid_classes,"map"),L=b("whitespace_elements","pre script noscript style textarea video audio iframe object code"),V=b("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),I=b("void_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),z=b("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls allowfullscreen"),G="td th iframe video audio object script code",X=b("non_empty_elements",G+" pre svg",I),J=b("move_caret_before_on_enter_elements",G+" table",I),ne="h1 h2 h3 h4 h5 h6",Ce=b("text_block_elements",ne+" p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"),Oe=b("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary html body multicol listing",Ce),Ue=b("text_inline_elements","span strong b em i font s strike u var cite dfn code mark q sup sub samp"),fe=b("transparent_elements","a ins del canvas map"),le=b("wrap_block_elements","pre "+ne);di("script noscript iframe noframes noembed title style textarea xmp plaintext".split(" "),Ot=>{f[Ot]=new RegExp("]*>","gi")});const xe=Ot=>{const tn=N.from(o["@"]),gn=/[*?+]/;ge(qm(tn,Ot??""),({name:lo,element:go,aliasName:Ri})=>{if(Ri&&(o[Ri]=go),gn.test(lo)){const p0=go;p0.pattern=Xe(lo),a.push(p0)}else o[lo]=go})},je=Ot=>{a=[],ge(Cr(o),tn=>{delete o[tn]}),xe(Ot)},ct=Ot=>{delete h1.text_block_elements,delete h1.block_elements,ge(p_(Ot??""),({inline:tn,name:gn,cloneName:lo})=>{if(r[gn]=r[lo],u[gn]=lo,X[gn.toUpperCase()]={},X[gn]={},tn||(Oe[gn.toUpperCase()]={},Oe[gn]={}),!o[gn]){let go=o[lo];go=ih({},go),delete go.removeEmptyAttrs,delete go.removeEmpty,o[gn]=go}We(r,(go,Ri)=>{go[lo]&&(r[Ri]=go=ih({},r[Ri]),go[gn]=go[lo])})})},Mt=Ot=>{ge(Vd(Ot??""),({operation:tn,name:gn,validChildren:lo})=>{const go=tn==="replace"?{"#comment":{}}:r[gn];ge(lo,Ri=>{tn==="remove"?delete go[Ri]:go[Ri]={}}),r[gn]=go})},zt=Ot=>{const tn=o[Ot];if(tn)return tn;let gn=a.length;for(;gn--;){const lo=a[gn];if(lo.pattern.test(Ot))return lo}};e.valid_elements?(je(e.valid_elements),di(x,(Ot,tn)=>{r[tn]=Ot.children})):(di(x,(Ot,tn)=>{o[tn]={attributes:Ot.attributes,attributesOrder:Ot.attributesOrder},r[tn]=Ot.children}),di(Ls("strong/b em/i"),Ot=>{const tn=Ls(Ot,"/");o[tn[1]].outputName=tn[0]}),di(Ue,(Ot,tn)=>{o[tn]&&(e.padd_empty_block_inline_children&&(o[tn].paddInEmptyBlock=!0),o[tn].removeEmpty=!0)}),di(Ls("ol ul blockquote a table tbody"),Ot=>{o[Ot]&&(o[Ot].removeEmpty=!0)}),di(Ls("p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary"),Ot=>{o[Ot]&&(o[Ot].paddEmpty=!0)}),di(Ls("span"),Ot=>{o[Ot].removeEmptyAttrs=!0})),delete o.svg,ct(e.custom_elements),Mt(e.valid_children),xe(e.extended_valid_elements),Mt("+ol[ul|ol],+ul[ul|ol]"),di({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},(Ot,tn)=>{o[tn]&&(o[tn].parentsRequired=Ls(Ot))}),e.invalid_elements&&di(ra(e.invalid_elements),Ot=>{o[Ot]&&delete o[Ot]}),zt("span")||xe("span[!data-mce-type|*]");const _n=Fe(O),Zn=Fe(A),Mo=Fe(M),or=Fe(z),Ms=Fe(Oe),Pe=Fe(Ce),Ge=Fe(Ue),cn=Fe(Object.seal(I)),nn=Fe(V),nt=Fe(X),ot=Fe(J),Re=Fe(L),Tt=Fe(fe),en=Fe(le),On=Fe(Object.seal(f)),jn=(Ot,tn)=>{const gn=r[Ot.toLowerCase()];return!!(gn&&gn[tn.toLowerCase()])},jr=(Ot,tn)=>{const gn=zt(Ot);if(gn)if(tn){if(gn.attributes[tn])return!0;const lo=gn.attributePatterns;if(lo){let go=lo.length;for(;go--;)if(lo[go].pattern.test(tn))return!0}}else return!0;return!1},fa=Ot=>Et(Ms(),Ot),ld=Ot=>!fs(Ot,"#")&&jr(Ot)&&!fa(Ot),Gr=Ot=>Et(en(),Ot)||ld(Ot),pl=Fe(u);return{type:y,children:r,elements:o,getValidStyles:_n,getValidClasses:Mo,getBlockElements:Ms,getInvalidStyles:Zn,getVoidElements:cn,getTextBlockElements:Pe,getTextInlineElements:Ge,getBoolAttrs:or,getElementRule:zt,getSelfClosingElements:nn,getNonEmptyElements:nt,getMoveCaretBeforeOnEnterElements:ot,getWhitespaceElements:Re,getTransparentElements:Tt,getSpecialElements:On,isValidChild:jn,isValid:jr,isBlock:fa,isInline:ld,isWrapper:Gr,getCustomElements:pl,addValidElements:xe,setValidElements:je,addCustomElements:ct,addValidChildren:Mt}},v_=e=>({value:Ym(e)}),Ym=e=>Tm(e,"#").toUpperCase(),zd=e=>{const n=e.toString(16);return(n.length===1?"0"+n:n).toUpperCase()},Da=e=>{const n=zd(e.red)+zd(e.green)+zd(e.blue);return v_(n)},dc=/^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i,y_=/^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i,lS=(e,n,o,r)=>({red:e,green:n,blue:o,alpha:r}),uS=(e,n,o,r)=>{const a=parseInt(e,10),u=parseInt(n,10),f=parseInt(o,10),b=parseFloat(r);return lS(a,u,f,b)},Ev=e=>{if(e==="transparent")return N.some(lS(0,0,0,0));const n=dc.exec(e);if(n!==null)return N.some(uS(n[1],n[2],n[3],"1"));const o=y_.exec(e);return o!==null?N.some(uS(o[1],o[2],o[3],o[4])):N.none()},mc=e=>`rgba(${e.red},${e.green},${e.blue},${e.alpha})`,Xm=e=>Ev(e).map(Da).map(n=>"#"+n.value).getOr(e),b1=(e={},n)=>{const o=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,r=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,u={};let f,b;const y=Jg;n&&(f=n.getValidStyles(),b=n.getInvalidStyles());const x=(`\\" \\' \\; \\: ; : `+y).split(" ");for(let A=0;A{const M={};let L=!1;const V=e.url_converter,I=e.url_converter_scope||O,z=(fe,le,xe)=>{const je=M[fe+"-top"+le];if(!je)return;const ct=M[fe+"-right"+le];if(!ct)return;const Mt=M[fe+"-bottom"+le];if(!Mt)return;const zt=M[fe+"-left"+le];if(!zt)return;const _n=[je,ct,Mt,zt];let Zn=_n.length-1;for(;Zn--&&_n[Zn]===_n[Zn+1];);Zn>-1&&xe||(M[fe+le]=Zn===-1?_n[0]:_n.join(" "),delete M[fe+"-top"+le],delete M[fe+"-right"+le],delete M[fe+"-bottom"+le],delete M[fe+"-left"+le])},G=fe=>{const le=M[fe];if(!le)return;const xe=le.indexOf(",")>-1?[le]:le.split(" ");let je=xe.length;for(;je--;)if(xe[je]!==xe[0])return!1;return M[fe]=xe[0],!0},X=(fe,le,xe,je)=>{G(le)&&G(xe)&&G(je)&&(M[fe]=M[le]+" "+M[xe]+" "+M[je],delete M[le],delete M[xe],delete M[je])},J=fe=>(L=!0,u[fe]),ne=(fe,le)=>(L&&(fe=fe.replace(/\uFEFF[0-9]/g,xe=>u[xe])),le||(fe=fe.replace(/\\([\'\";:])/g,"$1")),fe),Ce=fe=>String.fromCharCode(parseInt(fe.slice(1),16)),Oe=fe=>fe.replace(/\\[0-9a-f]+/gi,Ce),Ue=(fe,le,xe,je,ct,Mt)=>{if(ct=ct||Mt,ct)return ct=ne(ct),"'"+ct.replace(/\'/g,"\\'")+"'";if(le=ne(le||xe||je||""),!e.allow_script_urls){const zt=le.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(zt)||!e.allow_svg_data_urls&&/^data:image\/svg/i.test(zt))return""}return V&&(le=V.call(I,le,"style")),"url('"+le.replace(/\'/g,"\\'")+"')"};if(A){A=A.replace(/[\u0000-\u001F]/g,""),A=A.replace(/\\[\"\';:\uFEFF]/g,J).replace(/\"[^\"]+\"|\'[^\']+\'/g,le=>le.replace(/[;:]/g,J));let fe;for(;fe=r.exec(A);){r.lastIndex=fe.index+fe[0].length;let le=fe[1].replace(a,"").toLowerCase(),xe=fe[2].replace(a,"");if(le&&xe){if(le=Oe(le),xe=Oe(xe),le.indexOf(y)!==-1||le.indexOf('"')!==-1||!e.allow_script_urls&&(le==="behavior"||/expression\s*\(|\/\*|\*\//.test(xe)))continue;le==="font-weight"&&xe==="700"?xe="bold":(le==="color"||le==="background-color")&&(xe=xe.toLowerCase()),q(e.force_hex_color)&&e.force_hex_color!=="off"&&Ev(xe).each(je=>{(e.force_hex_color==="always"||je.alpha===1)&&(xe=Xm(mc(je)))}),xe=xe.replace(o,Ue),M[le]=L?ne(xe,!0):xe}}z("border","",!0),z("border","-width"),z("border","-color"),z("border","-style"),z("padding",""),z("margin",""),X("border","border-width","border-style","border-color"),M.border==="medium none"&&delete M.border,M["border-image"]==="none"&&delete M["border-image"]}return M},serialize:(A,M)=>{let L="";const V=(z,G)=>{const X=G[z];if(X)for(let J=0,ne=X.length;J0?" ":"")+Ce+": "+Oe+";")}},I=(z,G)=>{if(!b||!G)return!0;let X=b["*"];return X&&X[z]?!1:(X=b[G],!(X&&X[z]))};return M&&f?(V("*",f),V(M,f)):We(A,(z,G)=>{z&&I(G,M)&&(L+=(L.length>0?" ":"")+G+": "+z+";")}),L}};return O},v1={keyLocation:!0,layerX:!0,layerY:!0,returnValue:!0,webkitMovementX:!0,webkitMovementY:!0,keyIdentifier:!0,mozPressure:!0},C_=e=>e instanceof Event||Y(e.initEvent),dS=e=>e.isDefaultPrevented===Ke||e.isDefaultPrevented===Ee,Tv=e=>an(e.preventDefault)||C_(e),Jm=(e,n)=>{const o=n??{};for(const r in e)Et(v1,r)||(o[r]=e[r]);return Se(e.composedPath)&&(o.composedPath=()=>e.composedPath()),Se(e.getModifierState)&&(o.getModifierState=r=>e.getModifierState(r)),Se(e.getTargetRanges)&&(o.getTargetRanges=()=>e.getTargetRanges()),o},Qm=(e,n,o,r)=>{var a;const u=Jm(n,r);return u.type=e,an(u.target)&&(u.target=(a=u.srcElement)!==null&&a!==void 0?a:o),Tv(n)&&(u.preventDefault=()=>{u.defaultPrevented=!0,u.isDefaultPrevented=Ke,Y(n.preventDefault)&&n.preventDefault()},u.stopPropagation=()=>{u.cancelBubble=!0,u.isPropagationStopped=Ke,Y(n.stopPropagation)&&n.stopPropagation()},u.stopImmediatePropagation=()=>{u.isImmediatePropagationStopped=Ke,u.stopPropagation()},dS(u)||(u.isDefaultPrevented=u.defaultPrevented===!0?Ke:Ee,u.isPropagationStopped=u.cancelBubble===!0?Ke:Ee,u.isImmediatePropagationStopped=Ee)),u},y1="mce-data-",S_=/^(?:mouse|contextmenu)|click/,C1=(e,n,o,r)=>{e.addEventListener(n,o,r||!1)},ef=(e,n,o,r)=>{e.removeEventListener(n,o,r||!1)},w_=e=>Se(e)&&S_.test(e.type),lh=(e,n)=>{const o=Qm(e.type,e,document,n);if(w_(e)&&ws(e.pageX)&&!ws(e.clientX)){const r=o.target.ownerDocument||document,a=r.documentElement,u=r.body,f=o;f.pageX=e.clientX+(a&&a.scrollLeft||u&&u.scrollLeft||0)-(a&&a.clientLeft||u&&u.clientLeft||0),f.pageY=e.clientY+(a&&a.scrollTop||u&&u.scrollTop||0)-(a&&a.clientTop||u&&u.clientTop||0)}return o},_v=(e,n,o)=>{const r=e.document,a={type:"ready"};if(o.domLoaded){n(a);return}const u=()=>r.readyState==="complete"||r.readyState==="interactive"&&r.body,f=()=>{ef(e,"DOMContentLoaded",f),ef(e,"load",f),o.domLoaded||(o.domLoaded=!0,n(a)),e=null};u()?f():C1(e,"DOMContentLoaded",f),o.domLoaded||C1(e,"load",f)};class fc{constructor(){this.domLoaded=!1,this.events={},this.count=1,this.expando=y1+(+new Date).toString(32),this.hasFocusIn="onfocusin"in document.documentElement,this.count=1}bind(n,o,r,a){const u=this;let f;const b=window,y=M=>{u.executeHandlers(lh(M||b.event),x)};if(!n||ke(n)||Ol(n))return r;let x;n[u.expando]?x=n[u.expando]:(x=u.count++,n[u.expando]=x,u.events[x]={}),a=a||n;const O=o.split(" ");let A=O.length;for(;A--;){let M=O[A],L=y,V=!1,I=!1;if(M==="DOMContentLoaded"&&(M="ready"),u.domLoaded&&M==="ready"&&n.readyState==="complete"){r.call(a,lh({type:M}));continue}!u.hasFocusIn&&(M==="focusin"||M==="focusout")&&(V=!0,I=M==="focusin"?"focus":"blur",L=z=>{const G=lh(z||b.event);G.type=G.type==="focus"?"focusin":"focusout",u.executeHandlers(G,x)}),f=u.events[x][M],f?M==="ready"&&u.domLoaded?r(lh({type:M})):f.push({func:r,scope:a}):(u.events[x][M]=f=[{func:r,scope:a}],f.fakeName=I,f.capture=V,f.nativeHandler=L,M==="ready"?_v(n,L,u):C1(n,I||M,L,V))}return n=f=null,r}unbind(n,o,r){if(!n||ke(n)||Ol(n))return this;const a=n[this.expando];if(a){let u=this.events[a];if(o){const f=o.split(" ");let b=f.length;for(;b--;){const y=f[b],x=u[y];if(x){if(r){let O=x.length;for(;O--;)if(x[O].func===r){const A=x.nativeHandler,M=x.fakeName,L=x.capture,V=x.slice(0,O).concat(x.slice(O+1));V.nativeHandler=A,V.fakeName=M,V.capture=L,u[y]=V}}(!r||x.length===0)&&(delete u[y],ef(n,x.fakeName||y,x.nativeHandler,x.capture))}}}else We(u,(f,b)=>{ef(n,f.fakeName||b,f.nativeHandler,f.capture)}),u={};for(const f in u)if(Et(u,f))return this;delete this.events[a];try{delete n[this.expando]}catch{n[this.expando]=null}}return this}fire(n,o,r){return this.dispatch(n,o,r)}dispatch(n,o,r){if(!n||ke(n)||Ol(n))return this;const a=lh({type:o,target:n},r);do{const u=n[this.expando];u&&this.executeHandlers(a,u),n=n.parentNode||n.ownerDocument||n.defaultView||n.parentWindow}while(n&&!a.isPropagationStopped());return this}clean(n){if(!n||ke(n)||Ol(n))return this;if(n[this.expando]&&this.unbind(n),n.getElementsByTagName||(n=n.document),n&&n.getElementsByTagName){this.unbind(n);const o=n.getElementsByTagName("*");let r=o.length;for(;r--;)n=o[r],n[this.expando]&&this.unbind(n)}return this}destroy(){this.events={}}cancel(n){return n&&(n.preventDefault(),n.stopImmediatePropagation()),!1}executeHandlers(n,o){const r=this.events[o],a=r&&r[n.type];if(a)for(let u=0,f=a.length;u{an(o)||o===""?$o(e,n):Yn(e,n,o)},Du=e=>e.replace(/[A-Z]/g,n=>"-"+n.toLowerCase()),Ki=(e,n)=>{let o=0;if(e)for(let r=e.nodeType,a=e.previousSibling;a;a=a.previousSibling){const u=a.nodeType;n&&ke(a)&&(u===r||!a.data.length)||(o++,r=u)}return o},kv=(e,n)=>{const o=wr(n,"style"),r=e.serialize(e.parse(o),un(n));x1(n,w1,r)},tf=(e,n)=>wc(e)?Et(ZR,n)?e+"":e+"px":e,E1=(e,n,o)=>{const r=Du(n);an(o)||o===""?Qp(e,r):UC(e,r,tf(o,r))},fS=(e,n,o)=>{const r=n.keep_values,a={set:(f,b,y)=>{const x=U.fromDom(f);Y(n.url_converter)&&Se(b)&&(b=n.url_converter.call(n.url_converter_scope||o(),String(b),y,f));const O="data-mce-"+y;x1(x,O,b),x1(x,y,b)},get:(f,b)=>{const y=U.fromDom(f);return wr(y,"data-mce-"+b)||wr(y,b)}},u={style:{set:(f,b)=>{const y=U.fromDom(f);r&&x1(y,w1,b),$o(y,"style"),q(b)&&sc(y,e.parse(b))},get:f=>{const b=U.fromDom(f),y=wr(b,w1)||wr(b,"style");return e.serialize(e.parse(y),un(b))}}};return r&&(u.href=u.src=a),u},Un=(e,n={})=>{const o={},r=window,a={};let u=0;const f=!0,b=!0,y=pv.forElement(U.fromDom(e),{contentCssCors:n.contentCssCors,referrerPolicy:n.referrerPolicy}),x=[],O=n.schema?n.schema:$l({}),A=b1({url_converter:n.url_converter,url_converter_scope:n.url_converter_scope,force_hex_color:n.force_hex_color},n.schema),M=n.ownEvents?new fc:fc.Event,L=O.getBlockElements(),V=ce=>q(ce)?Et(L,ce):Je(ce)&&(Et(L,ce.nodeName)||qt(O,ce)),I=ce=>ce&&e&&q(ce)?e.getElementById(ce):ce,z=ce=>{const ie=I(ce);return Se(ie)?U.fromDom(ie):null},G=(ce,ie,Ne="")=>{let Ae;const ut=z(ce);if(Se(ut)&&ar(ut)){const Xt=SC[ie];Xt&&Xt.get?Ae=Xt.get(ut.dom,ie):Ae=wr(ut,ie)}return Se(Ae)?Ae:Ne},X=ce=>{const ie=I(ce);return an(ie)?[]:ie.attributes},J=(ce,ie,Ne)=>{Ge(ce,Ae=>{if(Je(Ae)){const ut=U.fromDom(Ae),Xt=Ne===""?null:Ne,uo=wr(ut,ie),Xo=SC[ie];Xo&&Xo.set?Xo.set(ut.dom,Xt,ie):x1(ut,ie,Xt),uo!==Xt&&n.onSetAttrib&&n.onSetAttrib({attrElm:ut.dom,attrName:ie,attrValue:Xt})}})},ne=(ce,ie)=>ce.cloneNode(ie),Ce=()=>n.root_element||e.body,Oe=ce=>{const ie=nv(ce);return{x:ie.x,y:ie.y,w:ie.width,h:ie.height}},Ue=(ce,ie)=>In(e.body,I(ce),ie),fe=(ce,ie,Ne)=>{Ge(ce,Ae=>{const ut=U.fromDom(Ae);E1(ut,ie,Ne),n.update_styles&&kv(A,ut)})},le=(ce,ie)=>{Ge(ce,Ne=>{const Ae=U.fromDom(Ne);We(ie,(ut,Xt)=>{E1(Ae,Xt,ut)}),n.update_styles&&kv(A,Ae)})},xe=(ce,ie,Ne)=>{const Ae=I(ce);if(!(an(Ae)||!xu(Ae)&&!zR(Ae)))return Ne?ns(U.fromDom(Ae),Du(ie)):(ie=ie.replace(/-(\D)/g,(ut,Xt)=>Xt.toUpperCase()),ie==="float"&&(ie="cssFloat"),Ae.style?Ae.style[ie]:void 0)},je=ce=>{const ie=I(ce);if(!ie)return{w:0,h:0};let Ne=xe(ie,"width"),Ae=xe(ie,"height");return(!Ne||Ne.indexOf("px")===-1)&&(Ne="0"),(!Ae||Ae.indexOf("px")===-1)&&(Ae="0"),{w:parseInt(Ne,10)||ie.offsetWidth||ie.clientWidth,h:parseInt(Ae,10)||ie.offsetHeight||ie.clientHeight}},ct=ce=>{const ie=I(ce),Ne=Ue(ie),Ae=je(ie);return{x:Ne.x,y:Ne.y,w:Ae.w,h:Ae.h}},Mt=(ce,ie)=>{if(!ce)return!1;const Ne=An(ce)?ce:[ce];return to(Ne,Ae=>Ea(U.fromDom(Ae),ie))},zt=(ce,ie,Ne,Ae)=>{const ut=[];let Xt=I(ce);Ae=Ae===void 0;const uo=Ne||(Ce().nodeName!=="BODY"?Ce().parentNode:null);if(q(ie))if(ie==="*")ie=Je;else{const Xo=ie;ie=ds=>Mt(ds,Xo)}for(;Xt&&!(Xt===uo||an(Xt.nodeType)||Yg(Xt)||co(Xt));){if(!ie||ie(Xt))if(Ae)ut.push(Xt);else return[Xt];Xt=Xt.parentNode}return Ae?ut:null},_n=(ce,ie,Ne)=>{const Ae=zt(ce,ie,Ne,!1);return Ae&&Ae.length>0?Ae[0]:null},Zn=(ce,ie,Ne)=>{let Ae=ie;if(ce){q(ie)&&(Ae=ut=>Mt(ut,ie));for(let ut=ce[Ne];ut;ut=ut[Ne])if(Y(Ae)&&Ae(ut))return ut}return null},Mo=(ce,ie)=>Zn(ce,ie,"nextSibling"),or=(ce,ie)=>Zn(ce,ie,"previousSibling"),Ms=ce=>Y(ce.querySelectorAll),Pe=(ce,ie)=>{var Ne,Ae;const ut=(Ae=(Ne=I(ie))!==null&&Ne!==void 0?Ne:n.root_element)!==null&&Ae!==void 0?Ae:e;return Ms(ut)?Xr(ut.querySelectorAll(ce)):[]},Ge=function(ce,ie,Ne){const Ae=Ne??this;if(An(ce)){const ut=[];return S1(ce,(Xt,uo)=>{const Xo=I(Xt);Xo&&ut.push(ie.call(Ae,Xo,uo))}),ut}else{const ut=I(ce);return ut?ie.call(Ae,ut):!1}},cn=(ce,ie)=>{Ge(ce,Ne=>{We(ie,(Ae,ut)=>{J(Ne,ut,Ae)})})},nn=(ce,ie)=>{Ge(ce,Ne=>{const Ae=U.fromDom(Ne);$m(Ae,ie)})},nt=(ce,ie,Ne,Ae,ut)=>Ge(ce,Xt=>{const uo=q(ie)?e.createElement(ie):ie;return Se(Ne)&&cn(uo,Ne),Ae&&(!q(Ae)&&Ae.nodeType?uo.appendChild(Ae):q(Ae)&&nn(uo,Ae)),ut?uo:Xt.appendChild(uo)}),ot=(ce,ie,Ne)=>nt(e.createElement(ce),ce,ie,Ne,!0),Re=Hd.decode,Tt=Hd.encodeAllRaw,en=(ce,ie,Ne="")=>{let Ae="<"+ce;for(const ut in ie)Jr(ie,ut)&&(Ae+=" "+ut+'="'+Tt(ie[ut])+'"');return _c(Ne)&&Et(O.getVoidElements(),ce)?Ae+" />":Ae+">"+Ne+""},On=ce=>{const ie=e.createElement("div"),Ne=e.createDocumentFragment();Ne.appendChild(ie),ce&&(ie.innerHTML=ce);let Ae;for(;Ae=ie.firstChild;)Ne.appendChild(Ae);return Ne.removeChild(ie),Ne},jn=(ce,ie)=>Ge(ce,Ne=>{const Ae=U.fromDom(Ne);return ie&&ge(Es(Ae),ut=>{Ks(ut)&&ut.dom.length===0?xn(ut):hs(Ae,ut)}),xn(Ae),Ae.dom}),jr=ce=>Ge(ce,ie=>{const Ne=ie.attributes;for(let Ae=Ne.length-1;Ae>=0;Ae--)ie.removeAttributeNode(Ne.item(Ae))}),fa=ce=>A.parse(ce),ld=(ce,ie)=>A.serialize(ce,ie),Gr=ce=>{if(Sm!==Un.DOM&&e===document){if(o[ce])return;o[ce]=!0}let ie=e.getElementById("mceDefaultStyles");if(!ie){ie=e.createElement("style"),ie.id="mceDefaultStyles",ie.type="text/css";const Ne=e.head;Ne.firstChild?Ne.insertBefore(ie,Ne.firstChild):Ne.appendChild(ie)}ie.styleSheet?ie.styleSheet.cssText+=ce:ie.appendChild(e.createTextNode(ce))},pl=ce=>{ce||(ce=""),ge(ce.split(","),ie=>{a[ie]=!0,y.load(ie).catch(vt)})},Ot=(ce,ie,Ne)=>{Ge(ce,Ae=>{if(Je(Ae)){const ut=U.fromDom(Ae),Xt=ie.split(" ");ge(Xt,uo=>{Se(Ne)?(Ne?_d:kd)(ut,uo):MC(ut,uo)})}})},tn=(ce,ie)=>{Ot(ce,ie,!0)},gn=(ce,ie)=>{Ot(ce,ie,!1)},lo=(ce,ie)=>{const Ne=z(ce),Ae=ie.split(" ");return Se(Ne)&&Bs(Ae,ut=>Cu(Ne,ut))},go=ce=>{Ge(ce,ie=>Qp(U.fromDom(ie),"display"))},Ri=ce=>{Ge(ce,ie=>UC(U.fromDom(ie),"display","none"))},p0=ce=>{const ie=z(ce);return Se(ie)&&Eo(os(ie,"display"),"none")},b0=ce=>(ce||"mce_")+u++,ud=ce=>{const ie=z(ce);return Se(ie)?Je(ie.dom)?ie.dom.outerHTML:ZC(ie):""},dd=(ce,ie)=>{Ge(ce,Ne=>{Je(Ne)&&(Ne.outerHTML=ie)})},Sg=(ce,ie)=>{const Ne=I(ie);return Ge(ce,Ae=>{const ut=Ne==null?void 0:Ne.parentNode,Xt=Ne==null?void 0:Ne.nextSibling;return ut&&(Xt?ut.insertBefore(Ae,Xt):ut.appendChild(Ae)),Ae})},v0=(ce,ie,Ne)=>Ge(ie,Ae=>{var ut;const Xt=An(ie)?ce.cloneNode(!0):ce;return Ne&&S1(mS(Ae.childNodes),uo=>{Xt.appendChild(uo)}),(ut=Ae.parentNode)===null||ut===void 0||ut.replaceChild(Xt,Ae),Ae}),yC=(ce,ie)=>{if(ce.nodeName!==ie.toUpperCase()){const Ne=ot(ie);return S1(X(ce),Ae=>{J(Ne,Ae.nodeName,G(ce,Ae.nodeName))}),v0(Ne,ce,!0),Ne}else return ce},BT=(ce,ie)=>{let Ne=ce;for(;Ne;){let Ae=ie;for(;Ae&&Ne!==Ae;)Ae=Ae.parentNode;if(Ne===Ae)break;Ne=Ne.parentNode}return!Ne&&ce.ownerDocument?ce.ownerDocument.documentElement:Ne},Dp=ce=>{if(Je(ce)){const ie=ce.nodeName.toLowerCase()==="a"&&!G(ce,"href")&&G(ce,"id");if(G(ce,"name")||G(ce,"data-mce-bookmark")||ie)return!0}return!1},NT=(ce,ie,Ne)=>{let Ae=0;if(Dp(ce))return!1;const ut=ce.firstChild;if(ut){const Xt=new zn(ut,ce),uo=O?O.getWhitespaceElements():{},Xo=ie||(O?O.getNonEmptyElements():null);let ds=ut;do{if(Je(ds)){const w0=ds.getAttribute("data-mce-bogus");if(w0){ds=Xt.next(w0==="all");continue}const x0=ds.nodeName.toLowerCase();if(Xo&&Xo[x0]){if(x0==="br"){Ae++,ds=Xt.next();continue}return!1}if(Dp(ds))return!1}if(Ol(ds)||ke(ds)&&!_u(ds.data)&&(!(Ne!=null&&Ne.includeZwsp)||!Pd(ds.data))||ke(ds)&&ds.parentNode&&uo[ds.parentNode.nodeName]&&_u(ds.data))return!1;ds=Xt.next()}while(ds)}return Ae<=1},wg=()=>e.createRange(),y0=(ce,ie,Ne)=>{let Ae=wg(),ut,Xt;if(ce&&ie&&ce.parentNode&&ie.parentNode){const uo=ce.parentNode;return Ae.setStart(uo,Ki(ce)),Ae.setEnd(ie.parentNode,Ki(ie)),ut=Ae.extractContents(),Ae=wg(),Ae.setStart(ie.parentNode,Ki(ie)+1),Ae.setEnd(uo,Ki(ce)+1),Xt=Ae.extractContents(),uo.insertBefore(Bl(Sm,ut,O),ce),Ne?uo.insertBefore(Ne,ce):uo.insertBefore(ie,ce),uo.insertBefore(Bl(Sm,Xt,O),ce),jn(ce),Ne||ie}else return},bl=(ce,ie,Ne,Ae)=>{if(An(ce)){let ut=ce.length;const Xt=[];for(;ut--;)Xt[ut]=bl(ce[ut],ie,Ne,Ae);return Xt}else return n.collect&&(ce===e||ce===r)&&x.push([ce,ie,Ne,Ae]),M.bind(ce,ie,Ne,Ae||Sm)},md=(ce,ie,Ne)=>{if(An(ce)){let Ae=ce.length;const ut=[];for(;Ae--;)ut[Ae]=md(ce[Ae],ie,Ne);return ut}else{if(x.length>0&&(ce===e||ce===r)){let Ae=x.length;for(;Ae--;){const[ut,Xt,uo]=x[Ae];ce===ut&&(!ie||ie===Xt)&&(!Ne||Ne===uo)&&M.unbind(ut,Xt,uo)}}return M.unbind(ce,ie,Ne)}},C0=(ce,ie,Ne)=>M.dispatch(ce,ie,Ne),S0=(ce,ie,Ne)=>M.dispatch(ce,ie,Ne),CC=ce=>{if(ce&&xu(ce)){const ie=ce.getAttribute("data-mce-contenteditable");return ie&&ie!=="inherit"?ie:ce.contentEditable!=="inherit"?ce.contentEditable:null}else return null},Sm={doc:e,settings:n,win:r,files:a,stdMode:f,boxModel:b,styleSheetLoader:y,boundEvents:x,styles:A,schema:O,events:M,isBlock:V,root:null,clone:ne,getRoot:Ce,getViewPort:Oe,getRect:ct,getSize:je,getParent:_n,getParents:zt,get:I,getNext:Mo,getPrev:or,select:Pe,is:Mt,add:nt,create:ot,createHTML:en,createFragment:On,remove:jn,setStyle:fe,getStyle:xe,setStyles:le,removeAllAttribs:jr,setAttrib:J,setAttribs:cn,getAttrib:G,getPos:Ue,parseStyle:fa,serializeStyle:ld,addStyle:Gr,loadCSS:pl,addClass:tn,removeClass:gn,hasClass:lo,toggleClass:Ot,show:go,hide:Ri,isHidden:p0,uniqueId:b0,setHTML:nn,getOuterHTML:ud,setOuterHTML:dd,decode:Re,encode:Tt,insertAfter:Sg,replace:v0,rename:yC,findCommonAncestor:BT,run:Ge,getAttribs:X,isEmpty:NT,createRng:wg,nodeIndex:Ki,split:y0,bind:bl,unbind:md,fire:S0,dispatch:C0,getContentEditable:CC,getContentEditableParent:ce=>{const ie=Ce();let Ne=null;for(let Ae=ce;Ae&&Ae!==ie&&(Ne=CC(Ae),Ne===null);Ae=Ae.parentNode);return Ne},isEditable:ce=>{if(Se(ce)){const ie=Je(ce)?ce:ce.parentElement;return Se(ie)&&xu(ie)&&$t(U.fromDom(ie))}else return!1},destroy:()=>{if(x.length>0){let ce=x.length;for(;ce--;){const[ie,Ne,Ae]=x[ce];M.unbind(ie,Ne,Ae)}}We(a,(ce,ie)=>{y.unload(ie),delete a[ie]})},isChildOf:(ce,ie)=>ce===ie||ie.contains(ce),dumpRng:ce=>"startContainer: "+ce.startContainer.nodeName+", startOffset: "+ce.startOffset+", endContainer: "+ce.endContainer.nodeName+", endOffset: "+ce.endOffset},SC=fS(A,n,Fe(Sm));return Sm};Un.DOM=Un(document),Un.nodeIndex=Ki;const x_=Un.DOM,Oo=0,gS=1,oo=2,nf=3;class qo{constructor(n={}){this.states={},this.queue=[],this.scriptLoadedCallbacks={},this.queueLoadedCallbacks=[],this.loading=!1,this.settings=n}_setReferrerPolicy(n){this.settings.referrerPolicy=n}loadScript(n){return new Promise((o,r)=>{const a=x_;let u;const f=()=>{a.remove(x),u&&(u.onerror=u.onload=u=null)},b=()=>{f(),o()},y=()=>{f(),r("Failed to load script: "+n)},x=a.uniqueId();u=document.createElement("script"),u.id=x,u.type="text/javascript",u.src=Me._addCacheSuffix(n),this.settings.referrerPolicy&&a.setAttrib(u,"referrerpolicy",this.settings.referrerPolicy),u.onload=b,u.onerror=y,(document.getElementsByTagName("head")[0]||document.body).appendChild(u)})}isDone(n){return this.states[n]===oo}markDone(n){this.states[n]=oo}add(n){const o=this;return o.queue.push(n),o.states[n]===void 0&&(o.states[n]=Oo),new Promise((a,u)=>{o.scriptLoadedCallbacks[n]||(o.scriptLoadedCallbacks[n]=[]),o.scriptLoadedCallbacks[n].push({resolve:a,reject:u})})}load(n){return this.add(n)}remove(n){delete this.states[n],delete this.scriptLoadedCallbacks[n]}loadQueue(){const n=this.queue;return this.queue=[],this.loadScripts(n)}loadScripts(n){const o=this,r=(y,x)=>{Kn(o.scriptLoadedCallbacks,x).each(O=>{ge(O,A=>A[y](x))}),delete o.scriptLoadedCallbacks[x]},a=y=>{const x=pt(y,O=>O.status==="rejected");return x.length>0?Promise.reject(ba(x,({reason:O})=>An(O)?O:[O])):Promise.resolve()},u=y=>Promise.allSettled(Dt(y,x=>o.states[x]===oo?(r("resolve",x),Promise.resolve()):o.states[x]===nf?(r("reject",x),Promise.reject(x)):(o.states[x]=gS,o.loadScript(x).then(()=>{o.states[x]=oo,r("resolve",x);const O=o.queue;return O.length>0?(o.queue=[],u(O).then(a)):Promise.resolve()},()=>(o.states[x]=nf,r("reject",x),Promise.reject(x)))))),f=y=>(o.loading=!0,u(y).then(x=>{o.loading=!1;const O=o.queueLoadedCallbacks.shift();return N.from(O).each(Dr),a(x)})),b=Up(n);return o.loading?new Promise((y,x)=>{o.queueLoadedCallbacks.push(()=>{f(b).then(y,x)})}):f(b)}}qo.ScriptLoader=new qo;const ao=e=>{let n=e;return{get:()=>n,set:a=>{n=a}}},Pc=(e,n)=>{const o=e.indexOf(n);return o!==-1&&e.indexOf(n,o+1)>o},Ov=e=>En(e)&&Et(e,"raw"),Hs=e=>An(e)&&e.length>1,uh={},of=ao("en"),Yi=()=>Kn(uh,of.get()),Ma={getData:()=>wn(uh,e=>({...e})),setCode:e=>{e&&of.set(e)},getCode:()=>of.get(),add:(e,n)=>{let o=uh[e];o||(uh[e]=o={});const r=Dt(Cr(n),a=>a.toLowerCase());We(n,(a,u)=>{const f=u.toLowerCase();f!==u&&Pc(r,f)?(Et(n,f)||(o[f]=a),o[u]=a):o[f]=a})},translate:e=>{const n=Yi().getOr({}),o=f=>Y(f)?Object.prototype.toString.call(f):r(f)?"":""+f,r=f=>f===""||f===null||f===void 0,a=f=>{const b=o(f);return Et(n,b)?o(n[b]):Kn(n,b.toLowerCase()).map(o).getOr(b)},u=f=>f.replace(/{context:\w+}$/,"");if(r(e))return"";if(Ov(e))return o(e.raw);if(Hs(e)){const f=e.slice(1),b=a(e[0]).replace(/\{([0-9]+)\}/g,(y,x)=>Et(f,x)?o(f[x]):y);return u(b)}return u(a(e))},isRtl:()=>Yi().bind(e=>Kn(e,"_dir")).exists(e=>e==="rtl"),hasCode:e=>Et(uh,e)},ur=()=>{const e=[],n={},o={},r=[],a=(I,z)=>{const G=pt(r,X=>X.name===I&&X.state===z);ge(G,X=>X.resolve())},u=I=>Et(n,I),f=I=>Et(o,I),b=I=>{if(o[I])return o[I].instance},y=(I,z)=>{const G=Ma.getCode(),X=","+(z||"")+",";!G||z&&X.indexOf(","+G+",")===-1||qo.ScriptLoader.add(n[I]+"/langs/"+G+".js")},x=(I,z)=>{ur.languageLoad!==!1&&(u(I)?y(I,z):V(I,"loaded").then(()=>y(I,z)))},O=(I,z)=>(e.push(z),o[I]={instance:z},a(I,"added"),z),A=I=>{delete n[I],delete o[I]},M=(I,z)=>q(z)?q(I)?{prefix:"",resource:z,suffix:""}:{prefix:I.prefix,resource:z,suffix:I.suffix}:z,L=(I,z)=>{if(n[I])return Promise.resolve();let G=q(z)?z:z.prefix+z.resource+z.suffix;G.indexOf("/")!==0&&G.indexOf("://")===-1&&(G=ur.baseURL+"/"+G),n[I]=G.substring(0,G.lastIndexOf("/"));const X=()=>(a(I,"loaded"),Promise.resolve());return o[I]?X():qo.ScriptLoader.add(G).then(X)},V=(I,z="added")=>z==="added"&&f(I)||z==="loaded"&&u(I)?Promise.resolve():new Promise(G=>{r.push({name:I,state:z,resolve:G})});return{items:e,urls:n,lookup:o,get:b,requireLangPack:x,add:O,remove:A,createUrl:M,load:L,waitFor:V}};ur.languageLoad=!0,ur.baseURL="",ur.PluginManager=ur(),ur.ThemeManager=ur(),ur.ModelManager=ur();const T_=e=>{const n=ao(N.none()),o=()=>n.get().each(e);return{clear:()=>{o(),n.set(N.none())},isSet:()=>n.get().isSome(),get:()=>n.get(),set:b=>{o(),n.set(N.some(b))}}},__=e=>{const n=ao(N.none()),o=()=>n.get().each(b=>clearInterval(b));return{clear:()=>{o(),n.set(N.none())},isSet:()=>n.get().isSome(),get:()=>n.get(),set:b=>{o(),n.set(N.some(setInterval(b,e)))}}},Bu=()=>{const e=T_(vt);return{...e,on:o=>e.get().each(o)}},dh=(e,n)=>{let o=null;return{cancel:()=>{Q(o)||(clearTimeout(o),o=null)},throttle:(...u)=>{Q(o)&&(o=setTimeout(()=>{o=null,e.apply(null,u)},n))}}},T1=(e,n)=>{let o=null;const r=()=>{Q(o)||(clearTimeout(o),o=null)};return{cancel:r,throttle:(...u)=>{r(),o=setTimeout(()=>{o=null,e.apply(null,u)},n)}}},_1=Fe("mce-annotation"),Xi=Fe("data-mce-annotation"),rf=Fe("data-mce-annotation-uid"),cf=Fe("data-mce-annotation-active"),af=Fe("data-mce-annotation-classes"),Ud=Fe("data-mce-annotation-attrs"),pS=e=>n=>bn(n,e),vo=(e,n)=>{const o=e.selection.getRng(),r=U.fromDom(o.startContainer),a=U.fromDom(e.getBody()),u=n.fold(()=>"."+_1(),y=>`[${Xi()}="${y}"]`),f=Su(r,o.startOffset).getOr(r);return Ii(f,u,pS(a)).bind(y=>Ni(y,`${rf()}`).bind(x=>Ni(y,`${Xi()}`).map(O=>{const A=vS(e,x);return{uid:x,name:O,elements:A}})))},bS=e=>ar(e)&&Cu(e,_1()),lf=(e,n)=>yu(e,"data-mce-bogus")||KC(e,'[data-mce-bogus="all"]',pS(n)),vS=(e,n)=>{const o=U.fromDom(e.getBody()),r=Ts(o,`[${rf()}="${n}"]`);return pt(r,a=>!lf(a,o))},k1=(e,n)=>{const o=U.fromDom(e.getBody()),r=Ts(o,`[${Xi()}="${n}"]`),a={};return ge(r,u=>{if(!lf(u,o)){const f=wr(u,rf()),b=Kn(a,f).getOr([]);a[f]=b.concat([u])}}),a},Ys=(e,n)=>{const o=ao({}),r=()=>({listeners:[],previous:Bu()}),a=(A,M)=>{u(A,L=>(M(L),L))},u=(A,M)=>{const L=o.get(),V=Kn(L,A).getOrThunk(r),I=M(V);L[A]=I,o.set(L)},f=(A,M,L)=>{a(A,V=>{ge(V.listeners,I=>I(!0,A,{uid:M,nodes:Dt(L,z=>z.dom)}))})},b=A=>{a(A,M=>{ge(M.listeners,L=>L(!1,A))})},y=(A,M)=>{ge(vS(e,A),L=>{M?Yn(L,cf(),"true"):$o(L,cf())})},x=T1(()=>{const A=po(n.getNames());ge(A,M=>{u(M,L=>{const V=L.previous.get();return vo(e,N.some(M)).fold(()=>{V.each(I=>{b(M),L.previous.clear(),y(I,!1)})},({uid:I,name:z,elements:G})=>{Eo(V,I)||(V.each(X=>y(X,!1)),f(z,I,G),L.previous.set(I),y(I,!0))}),{previous:L.previous,listeners:L.listeners}})})},30);return e.on("remove",()=>{x.cancel()}),e.on("NodeChange",()=>{x.throttle()}),{addListener:(A,M)=>{u(A,L=>({previous:L.previous,listeners:L.listeners.concat([M])}))}}},$c=(e,n)=>{const o=Xi(),r=u=>N.from(u.attr(o)).bind(n.lookup),a=u=>{var f,b;u.attr(rf(),null),u.attr(Xi(),null),u.attr(cf(),null);const y=N.from(u.attr(Ud())).map(M=>M.split(",")).getOr([]),x=N.from(u.attr(af())).map(M=>M.split(",")).getOr([]);ge(y,M=>u.attr(M,null));const O=(b=(f=u.attr("class"))===null||f===void 0?void 0:f.split(" "))!==null&&b!==void 0?b:[],A=Hp(O,[_1()].concat(x));u.attr("class",A.length>0?A.join(" "):null),u.attr(af(),null),u.attr(Ud(),null)};e.serializer.addTempAttr(cf()),e.serializer.addAttributeFilter(o,u=>{for(const f of u)r(f).each(b=>{b.persistent===!1&&(f.name==="span"?f.unwrap():a(f))})})},yS=()=>{const e={};return{register:(a,u)=>{e[a]={name:a,settings:u}},lookup:a=>Kn(e,a).map(u=>u.settings),getNames:()=>Cr(e)}};let O1=0;const Wd=e=>{const o=new Date().getTime(),r=Math.floor(Math.random()*1e9);return O1++,e+"_"+r+O1+String(o)},k_=(e,n)=>{ge(n,o=>{_d(e,o)})},CS=(e,n)=>{ge(n,o=>{kd(e,o)})},Av=(e,n)=>U.fromDom(e.dom.cloneNode(n)),gc=e=>Av(e,!1),A1=e=>Av(e,!0),Ao=(e,n)=>{const o=U.fromTag(n),r=Vg(e);return Ja(o,r),o},mi=(e,n)=>{const o=Ao(e,n);ti(e,o);const r=Es(e);return Vn(o,r),xn(e),o},uf=(e,n,o=Ee)=>{const r=new zn(e,n),a=u=>{let f;do f=r[u]();while(f&&!ke(f)&&!o(f));return N.from(f).filter(ke)};return{current:()=>N.from(r.current()).filter(ke),next:()=>a("next"),prev:()=>a("prev"),prev2:()=>a("prev2")}},Nu=(e,n)=>{const o=n||(f=>e.isBlock(f)||Dn(f)||Jt(f)),r=(f,b,y,x)=>{if(ke(f)){const O=x(f,b,f.data);if(O!==-1)return N.some({container:f,offset:O})}return y().bind(O=>r(O.container,O.offset,y,x))};return{backwards:(f,b,y,x)=>{const O=uf(f,x??e.getRoot(),o);return r(f,b,()=>O.prev().map(A=>({container:A,offset:A.length})),y).getOrNull()},forwards:(f,b,y,x)=>{const O=uf(f,x??e.getRoot(),o);return r(f,b,()=>O.next().map(A=>({container:A,offset:0})),y).getOrNull()}}},Zd=Math.round,jd=e=>e?{left:Zd(e.left),top:Zd(e.top),bottom:Zd(e.bottom),right:Zd(e.right),width:Zd(e.width),height:Zd(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0},Fl=(e,n)=>(e=jd(e),n||(e.left=e.left+e.width),e.right=e.left,e.width=0,e),SS=(e,n)=>e.left===n.left&&e.top===n.top&&e.bottom===n.bottom&&e.right===n.right,Gd=(e,n,o)=>e>=0&&e<=Math.min(n.height,o.height)/2,Pu=(e,n)=>{const o=Math.min(n.height/2,e.height/2);return e.bottom-on.bottom?!1:Gd(n.top-e.bottom,e,n)},qd=(e,n)=>e.top>n.bottom?!0:e.bottomn>=e.left&&n<=e.right&&o>=e.top&&o<=e.bottom,O_=e=>wo(e,(n,o)=>n.fold(()=>N.some(o),r=>{const a=Math.min(o.left,r.left),u=Math.min(o.top,r.top),f=Math.max(o.right,r.right),b=Math.max(o.bottom,r.bottom);return N.some({top:u,right:f,bottom:b,left:a,width:f-a,height:b-u})}),N.none()),Rv=(e,n,o)=>{const r=Math.max(Math.min(n,e.left+e.width),e.left),a=Math.max(Math.min(o,e.top+e.height),e.top);return Math.sqrt((n-r)*(n-r)+(o-a)*(o-a))},A_=(e,n)=>Math.max(0,Math.min(e.bottom,n.bottom)-Math.max(e.top,n.top)),R1=(e,n,o)=>Math.min(Math.max(e,n),o),Dv=e=>{const n=e.startContainer,o=e.startOffset;return n===e.endContainer&&n.hasChildNodes()&&e.endOffset===o+1?n.childNodes[o]:null},hc=(e,n)=>{if(Je(e)&&e.hasChildNodes()){const o=e.childNodes,r=R1(n,0,o.length-1);return o[r]}else return e},xS=(e,n)=>{if(!(n<0&&Je(e)&&e.hasChildNodes()))return hc(e,n)},df=new RegExp("[̀-ͯ҃-҇҈-҉֑-ֽֿׁ-ׂׄ-ׇׅؐ-ًؚ-ٰٟۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣣ-ंऺ़ु-ै्॑-ॗॢ-ॣঁ়াু-ৄ্ৗৢ-ৣਁ-ਂ਼ੁ-ੂੇ-ੈੋ-੍ੑੰ-ੱੵઁ-ં઼ુ-ૅે-ૈ્ૢ-ૣଁ଼ାିୁ-ୄ୍ୖୗୢ-ୣஂாீ்ௗఀా-ీె-ైొ-్ౕ-ౖౢ-ౣಁ಼ಿೂೆೌ-್ೕ-ೖೢ-ೣഁാു-ൄ്ൗൢ-ൣ්ාි-ුූෟัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-ཱ༹༙༵༷-ཾྀ-྄྆-྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္-်ွ-ှၘ-ၙၞ-ၠၱ-ၴႂႅ-ႆႍႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳ឴-឵ិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧ-ᤨᤲ᤹-᤻ᨗ-ᨘᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽᪾ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀ-ᮁᮢ-ᮥᮨ-ᮩ᮫-ᮭ᯦ᯨ-ᯩᯭᯯ-ᯱᰬ-ᰳᰶ-᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸-᳹᷀-᷵᷼-᷿‌-‍⃐-⃜⃝-⃠⃡⃢-⃤⃥-⃰⳯-⵿⳱ⷠ-〪ⷿ-〭〮-゙〯-゚꙯꙰-꙲ꙴ-꙽ꚞ-ꚟ꛰-꛱ꠂ꠆ꠋꠥ-ꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꧥꨩ-ꨮꨱ-ꨲꨵ-ꨶꩃꩌꩼꪰꪲ-ꪴꪷ-ꪸꪾ-꪿꫁ꫬ-ꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-゙︯-゚]"),ES=e=>q(e)&&e.charCodeAt(0)>=768&&df.test(e),R_=(...e)=>n=>{for(let o=0;on=>{for(let o=0;oe?e.createRange():Un.DOM.createRng(),Iu=e=>q(e)&&/[\r\n\t ]/.test(e),Nv=e=>!!e.setStart&&!!e.setEnd,M1=e=>{const n=e.startContainer,o=e.startOffset;if(Iu(e.toString())&&Mv(n.parentNode)&&ke(n)){const r=n.data;if(Iu(r[o-1])||Iu(r[o+1]))return!0}return!1},gh=e=>{const n=e.ownerDocument,o=Ji(n),r=n.createTextNode(dn),a=e.parentNode;a.insertBefore(r,e),o.setStart(r,0),o.setEnd(r,1);const u=jd(o.getBoundingClientRect());return a.removeChild(r),u},Pv=e=>{const n=e.startContainer,o=e.endContainer,r=e.startOffset,a=e.endOffset;if(n===o&&ke(o)&&r===0&&a===1){const u=e.cloneRange();return u.setEndAfter(o),Qi(u)}else return null},B1=e=>e.left===0&&e.right===0&&e.top===0&&e.bottom===0,Qi=e=>{var n;let o;const r=e.getClientRects();return r.length>0?o=jd(r[0]):o=jd(e.getBoundingClientRect()),!Nv(e)&&fh(e)&&B1(o)?gh(e):B1(o)&&Nv(e)&&(n=Pv(e))!==null&&n!==void 0?n:o},Ll=(e,n)=>{const o=Fl(e,n);return o.width=1,o.right=o.left+1,o},D_=e=>{const n=[],o=f=>{f.height!==0&&(n.length>0&&SS(f,n[n.length-1])||n.push(f))},r=(f,b)=>{const y=Ji(f.ownerDocument);if(b0&&(y.setStart(f,b-1),y.setEnd(f,b),M1(y)||o(Ll(Qi(y),!1))),b{const r=()=>(Tn(e),n===0),a=()=>Tn(e)?n>=e.data.length:n>=e.childNodes.length,u=()=>{const O=Ji(e.ownerDocument);return O.setStart(e,n),O.setEnd(e,n),O},f=()=>(o||(o=D_(ae(e,n))),o),b=()=>f().length>0,y=O=>O&&e===O.container()&&n===O.offset(),x=O=>rs(e,O?n-1:n);return{container:Fe(e),offset:Fe(n),toRange:u,getClientRects:f,isVisible:b,isAtStart:r,isAtEnd:a,isEqual:y,getNode:x}};ae.fromRangeStart=e=>ae(e.startContainer,e.startOffset),ae.fromRangeEnd=e=>ae(e.endContainer,e.endOffset),ae.after=e=>ae(e.parentNode,Bv(e)+1),ae.before=e=>ae(e.parentNode,Bv(e)),ae.isAbove=(e,n)=>qs(yr(n.getClientRects()),mu(e.getClientRects()),Pu).getOr(!1),ae.isBelow=(e,n)=>qs(mu(n.getClientRects()),yr(e.getClientRects()),qd).getOr(!1),ae.isAtStart=e=>e?e.isAtStart():!1,ae.isAtEnd=e=>e?e.isAtEnd():!1,ae.isTextPosition=e=>e?ke(e.container()):!1,ae.isElementPosition=e=>!ae.isTextPosition(e);const hh=(e,n)=>{ke(n)&&n.data.length===0&&e.remove(n)},mf=(e,n,o)=>{n.insertNode(o),hh(e,o.previousSibling),hh(e,o.nextSibling)},Ic=(e,n,o)=>{const r=N.from(o.firstChild),a=N.from(o.lastChild);n.insertNode(o),r.each(u=>hh(e,u.previousSibling)),a.each(u=>hh(e,u.nextSibling))},$v=(e,n,o)=>{co(o)?Ic(e,n,o):mf(e,n,o)},Xn=ke,N1=si,Hl=Un.nodeIndex,Iv=e=>{const n=e.parentNode;return N1(n)?Iv(n):n},P1=e=>e?Tc(e.childNodes,(n,o)=>(N1(o)&&o.nodeName!=="BR"?n=n.concat(P1(o)):n.push(o),n),[]):[],Fv=(e,n)=>{let o=e;for(;(o=o.previousSibling)&&Xn(o);)n+=o.data.length;return n},ph=e=>n=>e===n,ff=e=>{let n,o;n=P1(Iv(e)),o=Bo(n,ph(e),e),n=n.slice(0,o+1);const r=Tc(n,(a,u,f)=>(Xn(u)&&Xn(n[f-1])&&a++,a),0);return n=Wp(n,jo([e.nodeName])),o=Bo(n,ph(e),e),o-r},Lv=e=>(Xn(e)?"text()":e.nodeName.toLowerCase())+"["+ff(e)+"]",M_=(e,n,o)=>{const r=[];for(let a=n.parentNode;a&&a!==e&&!(o&&o(a));a=a.parentNode)r.push(a);return r},Tr=(e,n)=>{let o=[],r=n.container(),a=n.offset(),u;if(Xn(r))u=Fv(r,a);else{const b=r.childNodes;a>=b.length?(u="after",a=b.length-1):u="before",r=b[a]}o.push(Lv(r));let f=M_(e,r);return f=Wp(f,So(si)),o=o.concat(Bi(f,b=>Lv(b))),o.reverse().join("/")+","+u},cs=(e,n,o)=>{let r=P1(e);return r=Wp(r,(a,u)=>!Xn(a)||!Xn(r[u-1])),r=Wp(r,jo([n])),r[o]},Vs=(e,n)=>{let o=e,r=0;for(;Xn(o);){const a=o.data.length;if(n>=r&&n<=r+a){e=o,n=n-r;break}if(!Xn(o.nextSibling)){e=o,n=a;break}r+=a,o=o.nextSibling}return Xn(e)&&n>e.data.length&&(n=e.data.length),ae(e,n)},_r=(e,n)=>{if(!n)return null;const o=n.split(","),r=o[0].split("/"),a=o.length>1?o[1]:"before",u=Tc(r,(f,b)=>{const y=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(b);return y?(y[1]==="text()"&&(y[1]="#text"),cs(f,y[1],parseInt(y[2],10))):null},e);if(!u)return null;if(!Xn(u)&&u.parentNode){let f;return a==="after"?f=Hl(u)+1:f=Hl(u),ae(u.parentNode,f)}return Vs(u,parseInt(a,10))},Xs=Jt,dr=(e,n,o)=>{let r=e(n.data.slice(0,o)).length;for(let a=n.previousSibling;a&&ke(a);a=a.previousSibling)r+=e(a.data).length;return r},as=(e,n,o,r,a)=>{const u=a?r.startContainer:r.endContainer;let f=a?r.startOffset:r.endOffset;const b=[],y=e.getRoot();if(ke(u))b.push(o?dr(n,u,f):f);else{let x=0;const O=u.childNodes;f>=O.length&&O.length&&(x=1,f=Math.max(0,O.length-1)),b.push(e.nodeIndex(O[f],o)+x)}for(let x=u;x&&x!==y;x=x.parentNode)b.push(e.nodeIndex(x,o));return b},Hv=(e,n,o,r)=>{const a=n.dom,u=as(a,e,o,r,!0),f=n.isForward(),b=eS(r)?{isFakeCaret:!0}:{};if(n.isCollapsed())return{start:u,forward:f,...b};{const y=as(a,e,o,r,!1);return{start:u,end:y,forward:f,...b}}},bh=(e,n,o)=>{let r=0;return Me.each(e.select(n),a=>{if(a.getAttribute("data-mce-bogus")!=="all"){if(a===o)return!1;r++;return}}),r},Vv=(e,n)=>{let o=n?e.startContainer:e.endContainer,r=n?e.startOffset:e.endOffset;if(Je(o)&&o.nodeName==="TR"){const a=o.childNodes;o=a[Math.min(n?r:r-1,a.length-1)],o&&(r=n?0:o.childNodes.length,n?e.setStart(o,r):e.setEnd(o,r))}},vh=e=>(Vv(e,!0),Vv(e,!1),e),zv=(e,n)=>{if(Je(e)&&(e=hc(e,n),Xs(e)))return e;if(Fs(e)){ke(e)&&Qg(e)&&(e=e.parentNode);let o=e.previousSibling;if(Xs(o)||(o=e.nextSibling,Xs(o)))return o}},TS=e=>zv(e.startContainer,e.startOffset)||zv(e.endContainer,e.endOffset),$1=(e,n,o)=>{const r=o.getNode(),a=o.getRng();if(r.nodeName==="IMG"||Xs(r)){const f=r.nodeName;return{name:f,index:bh(o.dom,f,r)}}const u=TS(a);if(u){const f=u.tagName;return{name:f,index:bh(o.dom,f,u)}}return Hv(e,o,n,a)},Uv=e=>{const n=e.getRng();return{start:Tr(e.dom.getRoot(),ae.fromRangeStart(n)),end:Tr(e.dom.getRoot(),ae.fromRangeEnd(n)),forward:e.isForward()}},B_=e=>({rng:e.getRng(),forward:e.isForward()}),N_=(e,n,o)=>{const r={"data-mce-type":"bookmark",id:n,style:"overflow:hidden;line-height:0px"};return o?e.create("span",r,""):e.create("span",r)},_S=(e,n)=>{const o=e.dom;let r=e.getRng();const a=o.uniqueId(),u=e.isCollapsed(),f=e.getNode(),b=f.nodeName,y=e.isForward();if(b==="IMG")return{name:b,index:bh(o,b,f)};const x=vh(r.cloneRange());if(!u){x.collapse(!1);const A=N_(o,a+"_end",n);$v(o,x,A)}r=vh(r),r.collapse(!0);const O=N_(o,a+"_start",n);return $v(o,r,O),e.moveToBookmark({id:a,keep:!0,forward:y}),{id:a,forward:y}},P_=(e,n,o=!1)=>n===2?$1(Bc,o,e):n===3?Uv(e):n?B_(e):_S(e,!1),gf=_e($1,Co,!0),I1=e=>{const n=u=>u(e),o=Fe(e),r=()=>a,a={tag:!0,inner:e,fold:(u,f)=>f(e),isValue:Ke,isError:Ee,map:u=>$r.value(u(e)),mapError:r,bind:n,exists:n,forall:n,getOr:o,or:r,getOrThunk:o,orThunk:r,getOrDie:o,each:u=>{u(e)},toOptional:()=>N.some(e)};return a},kS=e=>{const n=()=>o,o={tag:!1,inner:e,fold:(r,a)=>r(e),isValue:Ee,isError:Ke,map:n,mapError:r=>$r.error(r(e)),bind:n,exists:Ee,forall:Ke,getOr:Co,or:Co,getOrThunk:Ho,orThunk:Ho,getOrDie:xc(String(e)),each:vt,toOptional:N.none};return o},$r={value:I1,error:kS,fromOption:(e,n)=>e.fold(()=>kS(n),I1)},gi={generate:e=>{if(!An(e))throw new Error("cases must be an array");if(e.length===0)throw new Error("there must be at least one case");const n=[],o={};return ge(e,(r,a)=>{const u=Cr(r);if(u.length!==1)throw new Error("one and only one name per case");const f=u[0],b=r[f];if(o[f]!==void 0)throw new Error("duplicate key detected:"+f);if(f==="cata")throw new Error("cannot have a case named cata (sorry)");if(!An(b))throw new Error("case arguments must be an array");n.push(f),o[f]=(...y)=>{const x=y.length;if(x!==b.length)throw new Error("Wrong number of arguments to case "+f+". Expected "+b.length+" ("+b+"), got "+x);return{fold:(...A)=>{if(A.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+A.length);return A[a].apply(null,y)},match:A=>{const M=Cr(A);if(n.length!==M.length)throw new Error("Wrong number of arguments to match. Expected: "+n.join(",")+` -Actual: `+M.join(","));if(!Bs(n,V=>_t(M,V)))throw new Error("Not all branches were specified when using match. Specified: "+M.join(", ")+` -Required: `+n.join(", "));return A[f].apply(null,y)},log:A=>{console.log(A,{constructors:n,constructor:f,params:y})}}}}),o}};gi.generate([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const Be=e=>{const n=[],o=[];return ge(e,r=>{r.fold(a=>{n.push(a)},a=>{o.push(a)})}),{errors:n,values:o}},Wv=e=>e.type==="inline-command"||e.type==="inline-format",is=e=>e.type==="block-command"||e.type==="block-format",OS=e=>{const n=r=>$r.error({message:r,pattern:e}),o=(r,a,u)=>{if(e.format!==void 0){let f;if(An(e.format)){if(!Bs(e.format,q))return n(r+" pattern has non-string items in the `format` array");f=e.format}else if(q(e.format))f=[e.format];else return n(r+" pattern has non-string `format` parameter");return $r.value(a(f))}else return e.cmd!==void 0?q(e.cmd)?$r.value(u(e.cmd,e.value)):n(r+" pattern has non-string `cmd` parameter"):n(r+" pattern is missing both `format` and `cmd` parameters")};if(!En(e))return n("Raw pattern is not an object");if(!q(e.start))return n("Raw pattern is missing `start` parameter");if(e.end!==void 0){if(!q(e.end))return n("Inline pattern has non-string `end` parameter");if(e.start.length===0&&e.end.length===0)return n("Inline pattern has empty `start` and `end` parameters");let r=e.start,a=e.end;return a.length===0&&(a=r,r=""),o("Inline",u=>({type:"inline-format",start:r,end:a,format:u}),(u,f)=>({type:"inline-command",start:r,end:a,cmd:u,value:f}))}else return e.replacement!==void 0?q(e.replacement)?e.start.length===0?n("Replacement pattern has empty `start` parameter"):$r.value({type:"inline-command",start:"",end:e.start,cmd:"mceInsertContent",value:e.replacement}):n("Replacement pattern has non-string `replacement` parameter"):e.start.length===0?n("Block pattern has empty `start` parameter"):o("Block",r=>({type:"block-format",start:e.start,format:r[0]}),(r,a)=>({type:"block-command",start:e.start,cmd:r,value:a}))},F1=e=>pt(e,is),Zv=e=>pt(e,Wv),Ir=(e,n)=>({inlinePatterns:Zv(e),blockPatterns:F1(e),dynamicPatternsLookup:n}),$_=e=>{const n=Be(Dt(e,OS));return ge(n.errors,o=>console.error(o.message,o.pattern)),n.values},AS=e=>n=>{const o=e(n);return $_(o)},Fr=Ya().deviceType,hf=Fr.isTouch(),yh=Un.DOM,el=e=>{const n=e.indexOf("=")>0?e.split(/[;,](?![^=;,]*(?:[;,]|$))/):e.split(",");return wo(n,(o,r)=>{const a=r.split("="),u=a[0],f=a.length>1?a[1]:u;return o[Cd(u)]=Cd(f),o},{})},Ba=e=>uu(e,RegExp),qe=e=>n=>n.options.get(e),Fc=e=>q(e)||En(e),RS=(e,n="")=>o=>{const r=q(o);if(r)if(o.indexOf("=")!==-1){const a=el(o);return{value:Kn(a,e.id).getOr(n),valid:r}}else return{value:o,valid:r};else return{valid:!1,message:"Must be a string."}},DS=e=>{const n=e.options.register;n("id",{processor:"string",default:e.id}),n("selector",{processor:"string"}),n("target",{processor:"object"}),n("suffix",{processor:"string"}),n("cache_suffix",{processor:"string"}),n("base_url",{processor:"string"}),n("referrer_policy",{processor:"string",default:""}),n("language_load",{processor:"boolean",default:!0}),n("inline",{processor:"boolean",default:!1}),n("iframe_attrs",{processor:"object",default:{}}),n("doctype",{processor:"string",default:""}),n("document_base_url",{processor:"string",default:e.documentBaseUrl}),n("body_id",{processor:RS(e,"tinymce"),default:"tinymce"}),n("body_class",{processor:RS(e),default:""}),n("content_security_policy",{processor:"string",default:""}),n("br_in_pre",{processor:"boolean",default:!0}),n("forced_root_block",{processor:o=>{const r=q(o)&&Hn(o);return r?{value:o,valid:r}:{valid:!1,message:"Must be a non-empty string."}},default:"p"}),n("forced_root_block_attrs",{processor:"object",default:{}}),n("newline_behavior",{processor:o=>{const r=_t(["block","linebreak","invert","default"],o);return r?{value:o,valid:r}:{valid:!1,message:"Must be one of: block, linebreak, invert or default."}},default:"default"}),n("br_newline_selector",{processor:"string",default:".mce-toc h2,figcaption,caption"}),n("no_newline_selector",{processor:"string",default:""}),n("keep_styles",{processor:"boolean",default:!0}),n("end_container_on_empty_block",{processor:o=>sn(o)?{valid:!0,value:o}:q(o)?{valid:!0,value:o}:{valid:!1,message:"Must be boolean or a string"},default:"blockquote"}),n("font_size_style_values",{processor:"string",default:"xx-small,x-small,small,medium,large,x-large,xx-large"}),n("font_size_legacy_values",{processor:"string",default:"xx-small,small,medium,large,x-large,xx-large,300%"}),n("font_size_classes",{processor:"string",default:""}),n("automatic_uploads",{processor:"boolean",default:!0}),n("images_reuse_filename",{processor:"boolean",default:!1}),n("images_replace_blob_uris",{processor:"boolean",default:!0}),n("icons",{processor:"string",default:""}),n("icons_url",{processor:"string",default:""}),n("images_upload_url",{processor:"string",default:""}),n("images_upload_base_path",{processor:"string",default:""}),n("images_upload_credentials",{processor:"boolean",default:!1}),n("images_upload_handler",{processor:"function"}),n("language",{processor:"string",default:"en"}),n("language_url",{processor:"string",default:""}),n("entity_encoding",{processor:"string",default:"named"}),n("indent",{processor:"boolean",default:!0}),n("indent_before",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),n("indent_after",{processor:"string",default:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist"}),n("indent_use_margin",{processor:"boolean",default:!1}),n("indentation",{processor:"string",default:"40px"}),n("content_css",{processor:o=>{const r=o===!1||q(o)||Rn(o,q);return r?q(o)?{value:Dt(o.split(","),Cd),valid:r}:An(o)?{value:o,valid:r}:o===!1?{value:[],valid:r}:{value:o,valid:r}:{valid:!1,message:"Must be false, a string or an array of strings."}},default:oy(e)?[]:["default"]}),n("content_style",{processor:"string"}),n("content_css_cors",{processor:"boolean",default:!1}),n("font_css",{processor:o=>{const r=q(o)||Rn(o,q);return r?{value:An(o)?o:Dt(o.split(","),Cd),valid:r}:{valid:!1,message:"Must be a string or an array of strings."}},default:[]}),n("inline_boundaries",{processor:"boolean",default:!0}),n("inline_boundaries_selector",{processor:"string",default:"a[href],code,span.mce-annotation"}),n("object_resizing",{processor:o=>{const r=sn(o)||q(o);return r?o===!1||Fr.isiPhone()||Fr.isiPad()?{value:"",valid:r}:{value:o===!0?"table,img,figure.image,div,video,iframe":o,valid:r}:{valid:!1,message:"Must be boolean or a string"}},default:!hf}),n("resize_img_proportional",{processor:"boolean",default:!0}),n("event_root",{processor:"object"}),n("service_message",{processor:"string"}),n("theme",{processor:o=>o===!1||q(o)||Y(o),default:"silver"}),n("theme_url",{processor:"string"}),n("formats",{processor:"object"}),n("format_empty_lines",{processor:"boolean",default:!1}),n("format_noneditable_selector",{processor:"string",default:""}),n("preview_styles",{processor:o=>{const r=o===!1||q(o);return r?{value:o===!1?"":o,valid:r}:{valid:!1,message:"Must be false or a string"}},default:"font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"}),n("custom_ui_selector",{processor:"string",default:""}),n("hidden_input",{processor:"boolean",default:!0}),n("submit_patch",{processor:"boolean",default:!0}),n("encoding",{processor:"string"}),n("add_form_submit_trigger",{processor:"boolean",default:!0}),n("add_unload_trigger",{processor:"boolean",default:!0}),n("custom_undo_redo_levels",{processor:"number",default:0}),n("disable_nodechange",{processor:"boolean",default:!1}),n("readonly",{processor:"boolean",default:!1}),n("editable_root",{processor:"boolean",default:!0}),n("plugins",{processor:"string[]",default:[]}),n("external_plugins",{processor:"object"}),n("forced_plugins",{processor:"string[]"}),n("model",{processor:"string",default:e.hasPlugin("rtc")?"plugin":"dom"}),n("model_url",{processor:"string"}),n("block_unsupported_drop",{processor:"boolean",default:!0}),n("visual",{processor:"boolean",default:!0}),n("visual_table_class",{processor:"string",default:"mce-item-table"}),n("visual_anchor_class",{processor:"string",default:"mce-item-anchor"}),n("iframe_aria_text",{processor:"string",default:"Rich Text Area. Press ALT-0 for help."}),n("setup",{processor:"function"}),n("init_instance_callback",{processor:"function"}),n("url_converter",{processor:"function",default:e.convertURL}),n("url_converter_scope",{processor:"object",default:e}),n("urlconverter_callback",{processor:"function"}),n("allow_conditional_comments",{processor:"boolean",default:!1}),n("allow_html_data_urls",{processor:"boolean",default:!1}),n("allow_svg_data_urls",{processor:"boolean"}),n("allow_html_in_named_anchor",{processor:"boolean",default:!1}),n("allow_script_urls",{processor:"boolean",default:!1}),n("allow_unsafe_link_target",{processor:"boolean",default:!1}),n("convert_fonts_to_spans",{processor:"boolean",default:!0,deprecated:!0}),n("fix_list_elements",{processor:"boolean",default:!1}),n("preserve_cdata",{processor:"boolean",default:!1}),n("remove_trailing_brs",{processor:"boolean",default:!0}),n("pad_empty_with_br",{processor:"boolean",default:!1}),n("inline_styles",{processor:"boolean",default:!0,deprecated:!0}),n("element_format",{processor:"string",default:"html"}),n("entities",{processor:"string"}),n("schema",{processor:"string",default:"html5"}),n("convert_urls",{processor:"boolean",default:!0}),n("relative_urls",{processor:"boolean",default:!0}),n("remove_script_host",{processor:"boolean",default:!0}),n("custom_elements",{processor:"string"}),n("extended_valid_elements",{processor:"string"}),n("invalid_elements",{processor:"string"}),n("invalid_styles",{processor:Fc}),n("valid_children",{processor:"string"}),n("valid_classes",{processor:Fc}),n("valid_elements",{processor:"string"}),n("valid_styles",{processor:Fc}),n("verify_html",{processor:"boolean",default:!0}),n("auto_focus",{processor:o=>q(o)||o===!0}),n("browser_spellcheck",{processor:"boolean",default:!1}),n("protect",{processor:"array"}),n("images_file_types",{processor:"string",default:"jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp"}),n("deprecation_warnings",{processor:"boolean",default:!0}),n("a11y_advanced_options",{processor:"boolean",default:!1}),n("api_key",{processor:"string"}),n("paste_block_drop",{processor:"boolean",default:!1}),n("paste_data_images",{processor:"boolean",default:!0}),n("paste_preprocess",{processor:"function"}),n("paste_postprocess",{processor:"function"}),n("paste_webkit_styles",{processor:"string",default:"none"}),n("paste_remove_styles_if_webkit",{processor:"boolean",default:!0}),n("paste_merge_formats",{processor:"boolean",default:!0}),n("smart_paste",{processor:"boolean",default:!0}),n("paste_as_text",{processor:"boolean",default:!1}),n("paste_tab_spaces",{processor:"number",default:4}),n("text_patterns",{processor:o=>Rn(o,En)||o===!1?{value:$_(o===!1?[]:o),valid:!0}:{valid:!1,message:"Must be an array of objects or false."},default:[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"#",format:"h1"},{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:"1. ",cmd:"InsertOrderedList"},{start:"* ",cmd:"InsertUnorderedList"},{start:"- ",cmd:"InsertUnorderedList"}]}),n("text_patterns_lookup",{processor:o=>Y(o)?{value:AS(o),valid:!0}:{valid:!1,message:"Must be a single function"},default:o=>[]}),n("noneditable_class",{processor:"string",default:"mceNonEditable"}),n("editable_class",{processor:"string",default:"mceEditable"}),n("noneditable_regexp",{processor:o=>Rn(o,Ba)?{value:o,valid:!0}:Ba(o)?{value:[o],valid:!0}:{valid:!1,message:"Must be a RegExp or an array of RegExp."},default:[]}),n("table_tab_navigation",{processor:"boolean",default:!0}),n("highlight_on_focus",{processor:"boolean",default:!1}),n("xss_sanitization",{processor:"boolean",default:!0}),n("details_initial_state",{processor:o=>{const r=_t(["inherited","collapsed","expanded"],o);return r?{value:o,valid:r}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),n("details_serialized_state",{processor:o=>{const r=_t(["inherited","collapsed","expanded"],o);return r?{value:o,valid:r}:{valid:!1,message:"Must be one of: inherited, collapsed, or expanded."}},default:"inherited"}),n("init_content_sync",{processor:"boolean",default:!1}),n("newdocument_content",{processor:"string",default:""}),n("force_hex_color",{processor:o=>{const r=["always","rgb_only","off"],a=_t(r,o);return a?{value:o,valid:a}:{valid:!1,message:`Must be one of: ${r.join(", ")}.`}},default:"off"}),n("sandbox_iframes",{processor:"boolean",default:!1}),n("convert_unsafe_embeds",{processor:"boolean",default:!1}),e.on("ScriptsLoaded",()=>{n("directionality",{processor:"string",default:Ma.isRtl()?"rtl":void 0}),n("placeholder",{processor:"string",default:yh.getAttrib(e.getElement(),"placeholder")})})},jv=qe("iframe_attrs"),MS=qe("doctype"),Gv=qe("document_base_url"),qv=qe("body_id"),I_=qe("body_class"),Kv=qe("content_security_policy"),F_=qe("br_in_pre"),mr=qe("forced_root_block"),Ch=qe("forced_root_block_attrs"),L_=qe("newline_behavior"),H_=qe("br_newline_selector"),Yv=qe("no_newline_selector"),V_=qe("keep_styles"),BS=qe("end_container_on_empty_block"),NS=qe("automatic_uploads"),Sh=qe("images_reuse_filename"),PS=qe("images_replace_blob_uris"),Xv=qe("icons"),Kd=qe("icons_url"),z_=qe("images_upload_url"),U_=qe("images_upload_base_path"),Jv=qe("images_upload_credentials"),W_=qe("images_upload_handler"),Vl=qe("content_css_cors"),Vt=qe("referrer_policy"),Qv=qe("language"),fr=qe("language_url"),L1=qe("indent_use_margin"),ey=qe("indentation"),ty=qe("content_css"),H1=qe("content_style"),$S=qe("font_css"),Z_=qe("directionality"),j_=qe("inline_boundaries_selector"),pf=qe("object_resizing"),IS=qe("resize_img_proportional"),YR=qe("placeholder"),Fu=qe("event_root"),G_=qe("service_message"),bf=qe("theme"),q_=qe("theme_url"),ny=qe("model"),FS=qe("model_url"),Yd=qe("inline_boundaries"),K_=qe("formats"),LS=qe("preview_styles"),HS=qe("format_empty_lines"),vf=qe("format_noneditable_selector"),VS=qe("custom_ui_selector"),oy=qe("inline"),Y_=qe("hidden_input"),zS=qe("submit_patch"),tl=qe("add_form_submit_trigger"),wh=qe("add_unload_trigger"),xh=qe("custom_undo_redo_levels"),V1=qe("disable_nodechange"),Eh=qe("readonly"),ca=qe("editable_root"),yf=qe("content_css_cors"),Th=qe("plugins"),Lu=qe("external_plugins"),z1=qe("block_unsupported_drop"),X_=qe("visual"),J_=qe("visual_table_class"),US=qe("visual_anchor_class"),Q_=qe("iframe_aria_text"),sy=qe("setup"),ek=qe("init_instance_callback"),tk=qe("urlconverter_callback"),WS=qe("auto_focus"),nk=qe("browser_spellcheck"),ZS=qe("protect"),ok=qe("paste_block_drop"),U1=qe("paste_data_images"),sk=qe("paste_preprocess"),jS=qe("paste_postprocess"),Cf=qe("newdocument_content"),ry=qe("paste_webkit_styles"),cy=qe("paste_remove_styles_if_webkit"),ay=qe("paste_merge_formats"),GS=qe("smart_paste"),iy=qe("paste_as_text"),rk=qe("paste_tab_spaces"),W1=qe("allow_html_data_urls"),Z1=qe("text_patterns"),ck=qe("text_patterns_lookup"),ly=qe("noneditable_class"),qS=qe("editable_class"),ak=qe("noneditable_regexp"),uy=qe("preserve_cdata"),ik=qe("highlight_on_focus"),Sf=qe("xss_sanitization"),lk=qe("init_content_sync"),dy=e=>e.options.isSet("text_patterns_lookup"),uk=e=>Me.explode(e.options.get("font_size_style_values")),dk=e=>Me.explode(e.options.get("font_size_classes")),mk=e=>e.options.get("encoding")==="xml",KS=e=>Me.explode(e.options.get("images_file_types")),fk=qe("table_tab_navigation"),As=qe("details_initial_state"),XR=qe("details_serialized_state"),wf=qe("force_hex_color"),j1=qe("sandbox_iframes"),YS=Je,my=ke,XS=e=>{const n=e.parentNode;n&&n.removeChild(e)},JS=e=>{const n=Bc(e);return{count:e.length-n.length,text:n}},Xd=e=>{let n;for(;(n=e.data.lastIndexOf(ks))!==-1;)e.deleteData(n,1)},_h=(e,n)=>(ls(e),n),gk=(e,n)=>{const o=JS(e.data.substr(0,n.offset())),r=JS(e.data.substr(n.offset()));return(o.text+r.text).length>0?(Xd(e),ae(e,n.offset()-o.count)):n},hk=(e,n)=>{const o=n.container(),r=ZT(Xr(o.childNodes),e).map(a=>amy(e)&&n.container()===e?gk(e,n):_h(e,n),fy=(e,n)=>n.container()===e.parentNode?hk(e,n):_h(e,n),QS=(e,n)=>ae.isTextPosition(n)?kh(e,n):fy(e,n),ls=e=>{YS(e)&&Fs(e)&&(av(e)?e.removeAttribute("data-mce-caret"):XS(e)),my(e)&&(Xd(e),e.data.length===0&&XS(e))},ew=Jt,gy=_o,JR=Xg,xf="*[contentEditable=false],video,audio,embed,object",pk=(e,n,o)=>{const r=Fl(n.getBoundingClientRect(),o);let a,u;if(e.tagName==="BODY"){const b=e.ownerDocument.documentElement;a=e.scrollLeft||b.scrollLeft,u=e.scrollTop||b.scrollTop}else{const b=e.getBoundingClientRect();a=e.scrollLeft-b.left,u=e.scrollTop-b.top}r.left+=a,r.right+=a,r.top+=u,r.bottom+=u,r.width=1;let f=n.offsetWidth-n.clientWidth;return f>0&&(o&&(f*=-1),r.left+=f,r.right+=f),r},tw=e=>{var n,o;const r=Ts(U.fromDom(e),xf);for(let a=0;a{const a=Bu();let u,f;const b=mr(e),y=e.dom,x=(I,z)=>{let G;if(O(),JR(z))return null;if(o(z)){const X=JC(b,z,I),J=pk(n,z,I);y.setStyle(X,"top",J.top),f=X;const ne=y.create("div",{class:"mce-visual-caret","data-mce-bogus":"all"});y.setStyles(ne,{...J}),y.add(n,ne),a.set({caret:ne,element:z,before:I}),I&&y.addClass(ne,"mce-visual-caret-before"),A(),G=z.ownerDocument.createRange(),G.setStart(X,0),G.setEnd(X,0)}else return f=l_(z,I),G=z.ownerDocument.createRange(),G1(f.nextSibling)?(G.setStart(f,0),G.setEnd(f,0)):(G.setStart(f,1),G.setEnd(f,1)),G;return G},O=()=>{tw(n),f&&(ls(f),f=null),a.on(I=>{y.remove(I.caret),a.clear()}),u&&(clearInterval(u),u=void 0)},A=()=>{u=setInterval(()=>{a.on(I=>{r()?y.toggleClass(I.caret,"mce-visual-caret-hidden"):y.addClass(I.caret,"mce-visual-caret-hidden")})},500)};return{show:x,hide:O,getCss:()=>".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}",reposition:()=>{a.on(I=>{const z=pk(n,I.element,I.before);y.setStyles(I.caret,{...z})})},destroy:()=>clearInterval(u)}},Oh=()=>Ze.browser.isFirefox(),G1=e=>ew(e)||gy(e),Ef=e=>(G1(e)||Fi(e)&&Oh())&&Wg(U.fromDom(e)).exists($t),bk=lr,Hu=Jt,nw=_o,Vu=Ad("display","block table table-cell table-caption list-item"),zu=Fs,py=Qg,ow=Je,QR=ke,by=Go,Uu=e=>e>0,nl=e=>e<0,Ah=(e,n)=>{let o;for(;o=e(n);)if(!py(o))return o;return null},Tf=(e,n,o,r,a)=>{const u=new zn(e,r),f=Hu(e)||py(e);let b;if(nl(n)){if(f&&(b=Ah(u.prev.bind(u),!0),o(b)))return b;for(;b=Ah(u.prev.bind(u),a);)if(o(b))return b}if(Uu(n)){if(f&&(b=Ah(u.next.bind(u),!0),o(b)))return b;for(;b=Ah(u.next.bind(u),a);)if(o(b))return b}return null},vy=(e,n)=>{const o=a=>bk(a.dom),r=a=>a.dom===n;return To(U.fromDom(e),o,r).map(a=>a.dom).getOr(n)},zl=(e,n)=>{for(;e&&e!==n;){if(Vu(e))return e;e=e.parentNode}return null},hi=(e,n,o)=>zl(e.container(),o)===zl(n.container(),o),Rh=(e,n)=>{if(!n)return N.none();const o=n.container(),r=n.offset();return ow(o)?N.from(o.childNodes[r+e]):N.none()},q1=(e,n)=>{var o;const a=((o=n.ownerDocument)!==null&&o!==void 0?o:document).createRange();return e?(a.setStartBefore(n),a.setEndBefore(n)):(a.setStartAfter(n),a.setEndAfter(n)),a},Dh=(e,n,o)=>zl(n,e)===zl(o,e),yy=(e,n,o)=>{const r=e?"previousSibling":"nextSibling";let a=o;for(;a&&a!==n;){let u=a[r];if(u&&zu(u)&&(u=u[r]),Hu(u)||nw(u)){if(Dh(n,u,a))return u;break}if(by(u))break;a=a.parentNode}return null},_f=_e(q1,!0),Mh=_e(q1,!1),Cy=(e,n,o)=>{let r;const a=_e(yy,!0,n),u=_e(yy,!1,n),f=o.startContainer,b=o.startOffset;if(Qg(f)){const y=QR(f)?f.parentNode:f,x=y.getAttribute("data-mce-caret");if(x==="before"&&(r=y.nextSibling,Ef(r)))return _f(r);if(x==="after"&&(r=y.previousSibling,Ef(r)))return Mh(r)}if(!o.collapsed)return o;if(ke(f)){if(zu(f)){if(e===1){if(r=u(f),r)return _f(r);if(r=a(f),r)return Mh(r)}if(e===-1){if(r=a(f),r)return Mh(r);if(r=u(f),r)return _f(r)}return o}if(Hm(f)&&b>=f.data.length-1)return e===1&&(r=u(f),r)?_f(r):o;if(Bd(f)&&b<=1)return e===-1&&(r=a(f),r)?Mh(r):o;if(b===f.data.length)return r=u(f),r?_f(r):o;if(b===0)return r=a(f),r?Mh(r):o}return o},sw=(e,n)=>Rh(e?0:-1,n).filter(Hu),Wu=(e,n,o)=>{const r=Cy(e,n,o);return e===-1?ae.fromRangeStart(r):ae.fromRangeEnd(r)},K1=e=>N.from(e.getNode()).map(U.fromDom),vk=e=>N.from(e.getNode(!0)).map(U.fromDom),rw=(e,n)=>{let o=n;for(;o=e(o);)if(o.isVisible())return o;return o},Sy=(e,n)=>{const o=hi(e,n);return!o&&Dn(e.getNode())?!0:o};var Ro;(function(e){e[e.Backwards=-1]="Backwards",e[e.Forwards=1]="Forwards"})(Ro||(Ro={}));const eD=Jt,Ul=ke,cw=Je,Y1=Dn,Zu=Go,Js=lc,kf=c1,Bh=(e,n)=>{const o=[];let r=e;for(;r&&r!==n;)o.push(r),r=r.parentNode;return o},Of=(e,n)=>e.hasChildNodes()&&n{if(Uu(e)){if(Zu(n.previousSibling)&&!Ul(n.previousSibling))return ae.before(n);if(Ul(n))return ae(n,0)}if(nl(e)){if(Zu(n.nextSibling)&&!Ul(n.nextSibling))return ae.after(n);if(Ul(n))return ae(n,n.data.length)}return nl(e)?Y1(n)?ae.before(n):ae.after(n):ae.before(n)},Af=(e,n)=>{const o=n.nextSibling;return o&&Zu(o)?Ul(o)?ae(o,0):ae.before(o):Jd(Ro.Forwards,ae.after(n),e)},Jd=(e,n,o)=>{let r,a,u,f;if(!cw(o)||!n)return null;if(n.isEqual(ae.after(o))&&o.lastChild){if(f=ae.after(o.lastChild),nl(e)&&Zu(o.lastChild)&&cw(o.lastChild))return Y1(o.lastChild)?ae.before(o.lastChild):f}else f=n;const b=f.container();let y=f.offset();if(Ul(b)){if(nl(e)&&y>0)return ae(b,--y);if(Uu(e)&&y0&&(a=Of(b,y-1),Zu(a)))return!Js(a)&&(u=Tf(a,e,kf,a),u)?Ul(u)?ae(u,u.data.length):ae.after(u):Ul(a)?ae(a,a.data.length):ae.before(a);if(Uu(e)&&y({next:n=>Jd(Ro.Forwards,n,e),prev:n=>Jd(Ro.Backwards,n,e)}),yk=(e,n,o)=>{const r=e?ae.before(o):ae.after(o);return Rs(e,n,r)},Ck=e=>Dn(e)?ae.before(e):ae.after(e),ju=e=>ae.isTextPosition(e)?e.offset()===0:Go(e.getNode()),Rf=e=>{if(ae.isTextPosition(e)){const n=e.container();return e.offset()===n.data.length}else return Go(e.getNode(!0))},X1=(e,n)=>!ae.isTextPosition(e)&&!ae.isTextPosition(n)&&e.getNode()===n.getNode(!0),ol=e=>!ae.isTextPosition(e)&&Dn(e.getNode()),xy=(e,n,o)=>e?!X1(n,o)&&!ol(n)&&Rf(n)&&ju(o):!X1(o,n)&&ju(n)&&Rf(o),Rs=(e,n,o)=>{const r=pi(n);return N.from(e?r.next(o):r.prev(o))},Wl=(e,n,o)=>Rs(e,n,o).bind(r=>hi(o,r,n)&&xy(e,o,r)?Rs(e,n,r):N.some(r)),Na=(e,n,o,r)=>Wl(e,n,o).bind(a=>r(a)?Na(e,n,a,r):N.some(a)),Df=(e,n)=>{const o=e?n.firstChild:n.lastChild;return ke(o)?N.some(ae(o,e?0:o.data.length)):o?Go(o)?N.some(e?ae.before(o):Ck(o)):yk(e,n,o):N.none()},gr=_e(Rs,!0),Lr=_e(Rs,!1),kr=_e(Df,!0),Pa=_e(Df,!1),J1="_mce_caret",Lc=e=>Je(e)&&e.id===J1,Qd=(e,n)=>{let o=n;for(;o&&o!==e;){if(Lc(o))return o;o=o.parentNode}return null},Ey=e=>q(e.start),Sk=e=>Et(e,"rng"),aw=e=>Et(e,"id"),Nh=e=>Et(e,"name"),iw=e=>Me.isArray(e.start),Ph=e=>!Nh(e)&&sn(e.forward)?e.forward:!0,Q1=(e,n)=>(Je(n)&&e.isBlock(n)&&!n.innerHTML&&(n.innerHTML='
    '),n),wk=(e,n)=>{const o=N.from(_r(e.getRoot(),n.start)),r=N.from(_r(e.getRoot(),n.end));return qs(o,r,(a,u)=>{const f=e.createRng();return f.setStart(a.container(),a.offset()),f.setEnd(u.container(),u.offset()),{range:f,forward:Ph(n)}})},lw=(e,n)=>{var o;const a=((o=e.ownerDocument)!==null&&o!==void 0?o:document).createTextNode(ks);e.appendChild(a),n.setStart(a,0),n.setEnd(a,0)},xk=e=>!e.hasChildNodes(),tD=(e,n)=>Pa(e).fold(Ee,o=>(n.setStart(o.container(),o.offset()),n.setEnd(o.container(),o.offset()),!0)),uw=(e,n,o)=>xk(n)&&Qd(e,n)?(lw(n,o),!0):!1,Kt=(e,n,o,r)=>{const a=o[n?"start":"end"],u=e.getRoot();if(a){let f=u,b=a[0];for(let y=a.length-1;f&&y>=1;y--){const x=f.childNodes;if(uw(u,f,r))return!0;if(a[y]>x.length-1)return uw(u,f,r)?!0:tD(f,r);f=x[a[y]]}ke(f)&&(b=Math.min(a[0],f.data.length)),Je(f)&&(b=Math.min(a[0],f.childNodes.length)),n?r.setStart(f,b):r.setEnd(f,b)}return!0},bi=e=>ke(e)&&e.data.length>0,em=(e,n,o)=>{const r=e.get(o.id+"_"+n),a=r==null?void 0:r.parentNode,u=o.keep;if(r&&a){let f,b;if(n==="start"?u?r.hasChildNodes()?(f=r.firstChild,b=1):bi(r.nextSibling)?(f=r.nextSibling,b=0):bi(r.previousSibling)?(f=r.previousSibling,b=r.previousSibling.data.length):(f=a,b=e.nodeIndex(r)+1):(f=a,b=e.nodeIndex(r)):u?r.hasChildNodes()?(f=r.firstChild,b=1):bi(r.previousSibling)?(f=r.previousSibling,b=r.previousSibling.data.length):(f=a,b=e.nodeIndex(r)):(f=a,b=e.nodeIndex(r)),!u){const y=r.previousSibling,x=r.nextSibling;Me.each(Me.grep(r.childNodes),A=>{ke(A)&&(A.data=A.data.replace(/\uFEFF/g,""))});let O;for(;O=e.get(o.id+"_"+n);)e.remove(O,!0);if(ke(x)&&ke(y)&&!Ze.browser.isOpera()){const A=y.data.length;y.appendData(x.data),e.remove(x),f=y,b=A}}return N.some(ae(f,b))}else return N.none()},Ty=(e,n)=>{const o=e.createRng();return Kt(e,!0,n,o)&&Kt(e,!1,n,o)?N.some({range:o,forward:Ph(n)}):N.none()},dw=(e,n)=>{const o=em(e,"start",n),r=em(e,"end",n);return qs(o,r.or(o),(a,u)=>{const f=e.createRng();return f.setStart(Q1(e,a.container()),a.offset()),f.setEnd(Q1(e,u.container()),u.offset()),{range:f,forward:Ph(n)}})},$h=(e,n)=>N.from(e.select(n.name)[n.index]).map(o=>{const r=e.createRng();return r.selectNode(o),{range:r,forward:!0}}),Ek=(e,n)=>{const o=e.dom;if(n){if(iw(n))return Ty(o,n);if(Ey(n))return wk(o,n);if(aw(n))return dw(o,n);if(Nh(n))return $h(o,n);if(Sk(n))return N.some({range:n.rng,forward:Ph(n)})}return N.none()},Mf=(e,n,o)=>P_(e,n,o),eb=(e,n)=>{Ek(e,n).each(({range:o,forward:r})=>{e.setRng(o,r)})},Hc=e=>Je(e)&&e.tagName==="SPAN"&&e.getAttribute("data-mce-type")==="bookmark",tb=(e=>n=>e===n)(dn),Bf=e=>e!==""&&` \f -\r \v`.indexOf(e)!==-1,Gu=e=>!Bf(e)&&!tb(e)&&!ri(e),nb=e=>{const n=[];if(e)for(let o=0;oba(e,n=>{const o=Dv(n);return o?[U.fromDom(o)]:[]}),tm=e=>nb(e).length>1,Tk=e=>pt(ob(e),ac),mw=e=>Ts(e,"td[data-mce-selected],th[data-mce-selected]"),_k=(e,n)=>{const o=mw(n);return o.length>0?o:Tk(e)},Nf=e=>_k(nb(e.selection.getSel()),U.fromDom(e.getBody())),Zl=(e,n)=>Bm(e,"table",n),kk=e=>{const n=e.startContainer,o=e.startOffset;return ke(n)?o===0?N.some(U.fromDom(n)):N.none():N.from(n.childNodes[o]).map(U.fromDom)},Ok=e=>{const n=e.endContainer,o=e.endOffset;return ke(n)?o===n.data.length?N.some(U.fromDom(n)):N.none():N.from(n.childNodes[o-1]).map(U.fromDom)},fw=e=>Dm(e).fold(Fe([e]),n=>[e].concat(fw(n))),_y=e=>_a(e).fold(Fe([e]),n=>un(n)==="br"?Ta(n).map(o=>[e].concat(_y(o))).getOr([]):[e].concat(_y(n))),ky=(e,n)=>qs(kk(n),Ok(n),(o,r)=>{const a=Vo(fw(e),_e(bn,o)),u=Vo(_y(e),_e(bn,r));return a.isSome()&&u.isSome()}).getOr(!1),Oy=(e,n,o,r)=>{const a=o,u=new zn(o,a),f=so(e.schema.getMoveCaretBeforeOnEnterElements(),(y,x)=>!_t(["td","th","table"],x.toLowerCase()));let b=o;do{if(ke(b)&&Me.trim(b.data).length!==0){r?n.setStart(b,0):n.setEnd(b,b.data.length);return}if(f[b.nodeName]){r?n.setStartBefore(b):b.nodeName==="BR"?n.setEndBefore(b):n.setEndAfter(b);return}}while(b=r?u.next():u.prev());a.nodeName==="BODY"&&(r?n.setStart(a,0):n.setEnd(a,a.childNodes.length))},sb=e=>{const n=e.selection.getSel();return Se(n)&&n.rangeCount>0},qu=(e,n)=>{const o=Nf(e);o.length>0?ge(o,r=>{const a=r.dom,u=e.dom.createRng();u.setStartBefore(a),u.setEndAfter(a),n(u,!0)}):n(e.selection.getRng(),!1)},gw=(e,n,o)=>{const r=_S(e,n);o(r),e.moveToBookmark(r)},Ih=e=>wc(e==null?void 0:e.nodeType),Ay=e=>Je(e)&&!Hc(e)&&!Lc(e)&&!si(e),Ak=(e,n)=>{if(Ay(n)&&!/^(TD|TH)$/.test(n.nodeName)){const o=e.getAttrib(n,"data-mce-selected"),r=parseInt(o,10);return!isNaN(r)&&r>0}else return!1},Fh=(e,n,o)=>{const{selection:r,dom:a}=e,u=r.getNode(),f=Jt(u);gw(r,!0,()=>{n()}),f&&Jt(u)&&a.isChildOf(u,e.getBody())?e.selection.select(u):o(r.getStart())&&Rk(a,r)},Rk=(e,n)=>{var o,r;const a=n.getRng(),{startContainer:u,startOffset:f}=a,b=n.getNode();if(!Ak(e,b)&&Je(u)){const y=u.childNodes,x=e.getRoot();let O;if(f{if(e){const r=n?"nextSibling":"previousSibling";for(e=o?e:e[r];e;e=e[r])if(Je(e)||!Io(e))return e}},Ko=(e,n)=>!!e.getTextBlockElements()[n.nodeName.toLowerCase()]||qt(e,n),jl=(e,n,o)=>e.schema.isValidChild(n,o),Io=(e,n=!1)=>{if(Se(e)&&ke(e)){const o=n?e.data.replace(/ /g," "):e.data;return _u(o)}else return!1},aa=e=>Se(e)&&ke(e)&&e.length===0,rb=(e,n)=>{const o="[data-mce-cef-wrappable]",r=vf(e),a=_c(r)?o:`${o},${r}`;return Ea(U.fromDom(n),a)},Lh=(e,n)=>{const o=e.dom;return Ay(n)&&o.getContentEditable(n)==="false"&&rb(e,n)&&o.select('[contenteditable="true"]',n).length===0},vi=(e,n)=>Y(e)?e(n):(Se(n)&&(e=e.replace(/%(\w+)/g,(o,r)=>n[r]||o)),e),cb=(e,n)=>(e=e||"",n=n||"",e=""+(e.nodeName||e),n=""+(n.nodeName||n),e.toLowerCase()===n.toLowerCase()),ab=(e,n)=>{if(an(e))return null;{let o=String(e);return(n==="color"||n==="backgroundColor")&&(o=Xm(o)),n==="fontWeight"&&e===700&&(o="bold"),n==="fontFamily"&&(o=o.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),o}},Pf=(e,n,o)=>{const r=e.getStyle(n,o);return ab(r,o)},hw=(e,n)=>{let o;return e.getParent(n,r=>Je(r)?(o=e.getStyle(r,"text-decoration"),!!o&&o!=="none"):!1),o},Hh=(e,n,o)=>e.getParents(n,o,e.getRoot()),Ry=(e,n,o)=>{const r=e.formatter.get(n);return Se(r)&&to(r,o)},Dy=(e,n)=>Ry(e,n,r=>{const a=u=>Y(u)||u.length>1&&u.charAt(0)==="%";return to(["styles","attributes"],u=>Kn(r,u).exists(f=>{const b=An(f)?f:xm(f);return to(b,a)}))}),Dk=(e,n,o)=>{const r=["inline","block","selector","attributes","styles","classes"],a=u=>so(u,(f,b)=>to(r,y=>y===b));return Ry(e,n,u=>{const f=a(u);return Ry(e,o,b=>{const y=a(b);return vd(f,y)})})},yi=e=>Jr(e,"block"),ib=e=>yi(e)&&e.wrapper===!0,$f=e=>yi(e)&&e.wrapper!==!0,zs=e=>Jr(e,"selector"),Uo=e=>Jr(e,"inline"),lb=e=>zs(e)&&Uo(e)&&Eo(Kn(e,"mixed"),!0),Vh=e=>zs(e)&&e.expand!==!1&&!Uo(e),ub=e=>{const n=[];let o=e;for(;o;){if(ke(o)&&o.data!==ks||o.childNodes.length>1)return[];Je(o)&&n.push(o),o=o.firstChild}return n},zh=e=>ub(e).length>0,Uh=e=>Lc(e.dom)&&zh(e.dom),If=Hc,pw=Hh,Wh=Io,bw=Ko,vw=e=>Dn(e)&&e.getAttribute("data-mce-bogus")&&!e.nextSibling,yw=(e,n)=>{let o=n;for(;o;){if(Je(o)&&e.getContentEditable(o))return e.getContentEditable(o)==="false"?o:n;o=o.parentNode}return n},ia=(e,n,o,r)=>{const a=n.data;if(e){for(let u=o;u>0;u--)if(r(a.charAt(u-1)))return u}else for(let u=o;uia(e,n,o,r=>tb(r)||Bf(r)),$a=(e,n,o)=>ia(e,n,o,Gu),Hr=(e,n,o,r,a,u)=>{let f;const b=e.getParent(o,e.isBlock)||n,y=(O,A,M)=>{const L=Nu(e),V=a?L.backwards:L.forwards;return N.from(V(O,A,(I,z)=>If(I.parentNode)?-1:(f=I,M(a,I,z)),b))};return y(o,r,Qs).bind(O=>u?y(O.container,O.offset+(a?-1:0),$a):N.some(O)).orThunk(()=>f?N.some({container:f,offset:a?0:f.length}):N.none())},Zh=(e,n,o,r,a)=>{const u=r[a];ke(r)&&_c(r.data)&&u&&(r=u);const f=pw(e,r);for(let b=0;b{var a;let u=o;const f=e.getRoot(),b=n[0];if(yi(b)&&(u=b.wrapper?null:e.getParent(o,b.block,f)),!u){const y=(a=e.getParent(o,"LI,TD,TH,SUMMARY"))!==null&&a!==void 0?a:f;u=e.getParent(ke(o)?o.parentNode:o,x=>x!==f&&bw(e.schema,x),y)}if(u&&yi(b)&&b.wrapper&&(u=pw(e,u,"ul,ol").reverse()[0]||u),!u)for(u=o;u&&u[r]&&!e.isBlock(u[r])&&(u=u[r],!cb(u,"br")););return u||o},Cw=(e,n,o,r)=>{const a=o.parentNode;return Se(o[r])?!1:a===n||an(a)||e.isBlock(a)?!0:Cw(e,n,a,r)},jh=(e,n,o,r,a)=>{let u=o;const f=a?"previousSibling":"nextSibling",b=e.getRoot();if(ke(o)&&!Wh(o)&&(a?r>0:rIf(e.parentNode)||If(e),Gl=(e,n,o,r=!1)=>{let{startContainer:a,startOffset:u,endContainer:f,endOffset:b}=n;const y=o[0];return Je(a)&&a.hasChildNodes()&&(a=hc(a,u),ke(a)&&(u=0)),Je(f)&&f.hasChildNodes()&&(f=hc(f,n.collapsed?b:b-1),ke(f)&&(b=f.data.length)),a=yw(e,a),f=yw(e,f),Mk(a)&&(a=If(a)?a:a.parentNode,n.collapsed?a=a.previousSibling||a:a=a.nextSibling||a,ke(a)&&(u=n.collapsed?a.length:0)),Mk(f)&&(f=If(f)?f:f.parentNode,n.collapsed?f=f.nextSibling||f:f=f.previousSibling||f,ke(f)&&(b=n.collapsed?0:f.length)),n.collapsed&&(Hr(e,e.getRoot(),a,u,!0,r).each(({container:A,offset:M})=>{a=A,u=M}),Hr(e,e.getRoot(),f,b,!1,r).each(({container:A,offset:M})=>{f=A,b=M})),(Uo(y)||y.block_expand)&&((!Uo(y)||!ke(a)||u===0)&&(a=jh(e,o,a,u,!0)),(!Uo(y)||!ke(f)||b===f.data.length)&&(f=jh(e,o,f,b,!1))),Vh(y)&&(a=Zh(e,o,n,a,"previousSibling"),f=Zh(e,o,n,f,"nextSibling")),(yi(y)||zs(y))&&(a=db(e,o,a,"previousSibling"),f=db(e,o,f,"nextSibling"),yi(y)&&(e.isBlock(a)||(a=jh(e,o,a,u,!0)),e.isBlock(f)||(f=jh(e,o,f,b,!1)))),Je(a)&&a.parentNode&&(u=e.nodeIndex(a),a=a.parentNode),Je(f)&&f.parentNode&&(b=e.nodeIndex(f)+1,f=f.parentNode),{startContainer:a,startOffset:u,endContainer:f,endOffset:b}},Gh=(e,n,o)=>{var r;const a=n.startOffset,u=hc(n.startContainer,a),f=n.endOffset,b=hc(n.endContainer,f-1),y=z=>{const G=z[0];ke(G)&&G===u&&a>=G.data.length&&z.splice(0,1);const X=z[z.length-1];return f===0&&z.length>0&&X===b&&ke(X)&&z.splice(z.length-1,1),z},x=(z,G,X)=>{const J=[];for(;z&&z!==X;z=z[G])J.push(z);return J},O=(z,G)=>e.getParent(z,X=>X.parentNode===G,G),A=(z,G,X)=>{const J=X?"nextSibling":"previousSibling";for(let ne=z,Ce=ne.parentNode;ne&&ne!==G;ne=Ce){Ce=ne.parentNode;const Oe=x(ne===z?ne:ne[J],J);Oe.length&&(X||Oe.reverse(),o(y(Oe)))}};if(u===b)return o(y([u]));const M=(r=e.findCommonAncestor(u,b))!==null&&r!==void 0?r:e.getRoot();if(e.isChildOf(u,b))return A(u,M,!0);if(e.isChildOf(b,u))return A(b,M);const L=O(u,M)||u,V=O(b,M)||b;A(u,L,!0);const I=x(L===u?L:L.nextSibling,"nextSibling",V===b?V.nextSibling:V);I.length&&o(y(I)),A(b,V)},My=['pre[class*=language-][contenteditable="false"]',"figure.image","div[data-ephox-embed-iri]","div.tiny-pageembed","div.mce-toc","div[data-mce-toc]"],Sw=e=>Ks(e)&&ai(e)===ks,ww=(e,n,o,r)=>Oc(n).fold(()=>"skipping",a=>r==="br"||Sw(n)?"valid":bS(n)?"existing":Lc(n.dom)?"caret":to(My,u=>Ea(n,u))?"valid-block":!jl(e,o,r)||!jl(e,un(a),o)?"invalid-child":"valid"),By=(e,n)=>{const o=Gl(e.dom,n,[{inline:"span"}]);n.setStart(o.startContainer,o.startOffset),n.setEnd(o.endContainer,o.endOffset),e.selection.setRng(n)},mb=(e,n,o,r,a,u)=>{const{uid:f=n,...b}=o;_d(e,_1()),Yn(e,`${rf()}`,f),Yn(e,`${Xi()}`,r);const{attributes:y={},classes:x=[]}=a(f,b);if(Ja(e,y),k_(e,x),u){x.length>0&&Yn(e,`${af()}`,x.join(","));const O=Cr(y);O.length>0&&Yn(e,`${Ud()}`,O.join(","))}},Bn=e=>{kd(e,_1()),$o(e,`${rf()}`),$o(e,`${Xi()}`),$o(e,`${cf()}`);const n=Ni(e,`${Ud()}`).map(r=>r.split(",")).getOr([]),o=Ni(e,`${af()}`).map(r=>r.split(",")).getOr([]);ge(n,r=>$o(e,r)),CS(e,o),$o(e,`${af()}`),$o(e,`${Ud()}`)},ql=(e,n,o,r,a)=>{const u=U.fromTag("span",e);return mb(u,n,o,r,a,!1),u},xw=(e,n,o,r,a,u)=>{const f=[],b=ql(e.getDoc(),o,u,r,a),y=Bu(),x=()=>{y.clear()},O=()=>y.get().getOrThunk(()=>{const V=gc(b);return f.push(V),y.set(V),V}),A=V=>{ge(V,M)},M=V=>{switch(ww(e,V,"span",un(V))){case"invalid-child":{x();const z=Es(V);A(z),x();break}case"valid-block":{x(),mb(V,o,u,r,a,!0);break}case"valid":{const z=O();q0(V,z);break}}},L=V=>{const I=Dt(V,U.fromDom);A(I)};return Gh(e.dom,n,V=>{x(),L(V)}),f},Ny=(e,n,o,r)=>{e.undoManager.transact(()=>{const a=e.selection,u=a.getRng(),f=Nf(e).length>0,b=Wd("mce-annotation");if(u.collapsed&&!f&&By(e,u),a.getRng().collapsed&&!f){const y=ql(e.getDoc(),b,r,n,o.decorate);$m(y,dn),a.getRng().insertNode(y.dom),a.select(y.dom)}else gw(a,!1,()=>{qu(e,y=>{xw(e,y,b,n,o.decorate,r)})})})},Py=e=>{const n=yS();$c(e,n);const o=Ys(e,n),r=xa("span"),a=u=>{ge(u,f=>{r(f)?ni(f):Bn(f)})};return{register:(u,f)=>{n.register(u,f)},annotate:(u,f)=>{n.lookup(u).each(b=>{Ny(e,u,b,f)})},annotationChanged:(u,f)=>{o.addListener(u,f)},remove:u=>{vo(e,N.some(u)).each(({elements:f})=>{const b=e.selection.getBookmark();a(f),e.selection.moveToBookmark(b)})},removeAll:u=>{const f=e.selection.getBookmark();We(k1(e,u),(b,y)=>{a(b)}),e.selection.moveToBookmark(f)},getAll:u=>{const f=k1(e,u);return wn(f,b=>Dt(b,y=>y.dom))}}},nm=e=>({getBookmark:_e(Mf,e),moveToBookmark:_e(eb,e)});nm.isBookmarkNode=Hc;const $y=(e,n,o)=>o.collapsed?!1:to(o.getClientRects(),r=>wS(r,e,n)),Iy=(e,n)=>e.dispatch("PreProcess",n),Bk=(e,n)=>e.dispatch("PostProcess",n),Ff=e=>{e.dispatch("remove")},Lf=e=>{e.dispatch("detach")},Fy=(e,n)=>{e.dispatch("SwitchMode",{mode:n})},Ly=(e,n,o,r,a)=>{e.dispatch("ObjectResizeStart",{target:n,width:o,height:r,origin:a})},Ia=(e,n,o,r,a)=>{e.dispatch("ObjectResized",{target:n,width:o,height:r,origin:a})},Ku=e=>{e.dispatch("PreInit")},Nk=e=>{e.dispatch("PostRender")},qh=e=>{e.dispatch("Init")},Pk=(e,n)=>{e.dispatch("PlaceholderToggle",{state:n})},bc=(e,n,o)=>{e.dispatch(n,o)},er=(e,n,o,r)=>{e.dispatch("FormatApply",{format:n,node:o,vars:r})},om=(e,n,o,r)=>{e.dispatch("FormatRemove",{format:n,node:o,vars:r})},nD=(e,n)=>e.dispatch("BeforeSetContent",n),Ew=(e,n)=>e.dispatch("SetContent",n),$k=(e,n)=>e.dispatch("BeforeGetContent",n),Zt=(e,n)=>e.dispatch("GetContent",n),Hy=(e,n)=>{e.dispatch("AutocompleterStart",n)},Tw=(e,n)=>{e.dispatch("AutocompleterUpdate",n)},Vy=e=>{e.dispatch("AutocompleterEnd")},Ik=(e,n,o)=>e.dispatch("PastePreProcess",{content:n,internal:o}),Fk=(e,n,o)=>e.dispatch("PastePostProcess",{node:n,internal:o}),_w=(e,n)=>e.dispatch("PastePlainTextToggle",{state:n}),Lk=(e,n)=>e.dispatch("EditableRootStateChange",{state:n}),Ye={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,ESC:27,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,modifierPressed:e=>e.shiftKey||e.ctrlKey||e.altKey||Ye.metaKeyPressed(e),metaKeyPressed:e=>Ze.os.isMacOS()||Ze.os.isiOS()?e.metaKey:e.ctrlKey&&!e.altKey},Yu="data-mce-selected",kw="table,img,figure.image,hr,video,span.mce-preview-object,details",Kh=Math.abs,Yh=Math.round,Hk={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]},oD=e=>e.type==="longpress"||e.type.indexOf("touch")===0,sD=(e,n)=>{const o=n.dom,r=n.getDoc(),a=document,u=n.getBody();let f,b,y,x,O,A,M,L,V,I,z,G,X,J,ne,Ce,Oe;const Ue=Re=>Se(Re)&&(Er(Re)||o.is(Re,"figure.image")),fe=Re=>_o(Re)||o.hasClass(Re,"mce-preview-object"),le=(Re,Tt)=>{if(oD(Re)){const en=Re.touches[0];return Ue(Re.target)&&!$y(en.clientX,en.clientY,Tt)}else return Ue(Re.target)&&!$y(Re.clientX,Re.clientY,Tt)},xe=Re=>{const Tt=Re.target;le(Re,n.selection.getRng())&&!Re.isDefaultPrevented()&&n.selection.select(Tt)},je=Re=>o.hasClass(Re,"mce-preview-object")&&Se(Re.firstElementChild)?[Re,Re.firstElementChild]:o.is(Re,"figure.image")?[Re.querySelector("img")]:[Re],ct=Re=>{const Tt=pf(n);return!Tt||Re.getAttribute("data-mce-resize")==="false"||Re===n.getBody()?!1:o.hasClass(Re,"mce-preview-object")&&Se(Re.firstElementChild)?Ea(U.fromDom(Re.firstElementChild),Tt):Ea(U.fromDom(Re),Tt)},Mt=Re=>fe(Re)?o.create("img",{src:Ze.transparentSrc}):Re.cloneNode(!0),zt=(Re,Tt,en)=>{if(Se(en)){const On=je(Re);ge(On,jn=>{jn.style[Tt]||!n.schema.isValid(jn.nodeName.toLowerCase(),Tt)?o.setStyle(jn,Tt,en):o.setAttrib(jn,Tt,""+en)})}},_n=(Re,Tt,en)=>{zt(Re,"width",Tt),zt(Re,"height",en)},Zn=Re=>{let Tt,en,On,jn,jr;Tt=Re.screenX-A,en=Re.screenY-M,J=Tt*x[2]+I,ne=en*x[3]+z,J=J<5?5:J,ne=ne<5?5:ne,(Ue(f)||fe(f))&&IS(n)!==!1?On=!Ye.modifierPressed(Re):On=Ye.modifierPressed(Re),On&&(Kh(Tt)>Kh(en)?(ne=Yh(J*G),J=Yh(ne/G)):(J=Yh(ne/G),ne=Yh(J*G))),_n(b,J,ne),jn=x.startPos.x+Tt,jr=x.startPos.y+en,jn=jn>0?jn:0,jr=jr>0?jr:0,o.setStyles(y,{left:jn,top:jr,display:"block"}),y.innerHTML=J+" × "+ne,x[2]<0&&b.clientWidth<=J&&o.setStyle(b,"left",L+(I-J)),x[3]<0&&b.clientHeight<=ne&&o.setStyle(b,"top",V+(z-ne)),Tt=u.scrollWidth-Ce,en=u.scrollHeight-Oe,Tt+en!==0&&o.setStyles(y,{left:jn-Tt,top:jr-en}),X||(Ly(n,f,I,z,"corner-"+x.name),X=!0)},Mo=()=>{const Re=X;X=!1,Re&&(zt(f,"width",J),zt(f,"height",ne)),o.unbind(r,"mousemove",Zn),o.unbind(r,"mouseup",Mo),a!==r&&(o.unbind(a,"mousemove",Zn),o.unbind(a,"mouseup",Mo)),o.remove(b),o.remove(y),o.remove(O),or(f),Re&&(Ia(n,f,J,ne,"corner-"+x.name),o.setAttrib(f,"style",o.getAttrib(f,"style"))),n.nodeChanged()},or=Re=>{nn();const Tt=o.getPos(Re,u),en=Tt.x,On=Tt.y,jn=Re.getBoundingClientRect(),jr=jn.width||jn.right-jn.left,fa=jn.height||jn.bottom-jn.top;f!==Re&&(Pe(),f=Re,J=ne=0);const ld=n.dispatch("ObjectSelected",{target:Re});ct(Re)&&!ld.isDefaultPrevented()?We(Hk,(Gr,pl)=>{const Ot=gn=>{const lo=je(f)[0];A=gn.screenX,M=gn.screenY,I=lo.clientWidth,z=lo.clientHeight,G=z/I,x=Gr,x.name=pl,x.startPos={x:jr*Gr[0]+en,y:fa*Gr[1]+On},Ce=u.scrollWidth,Oe=u.scrollHeight,O=o.add(u,"div",{class:"mce-resize-backdrop","data-mce-bogus":"all"}),o.setStyles(O,{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}),b=Mt(f),o.addClass(b,"mce-clonedresizable"),o.setAttrib(b,"data-mce-bogus","all"),b.contentEditable="false",o.setStyles(b,{left:en,top:On,margin:0}),_n(b,jr,fa),b.removeAttribute(Yu),u.appendChild(b),o.bind(r,"mousemove",Zn),o.bind(r,"mouseup",Mo),a!==r&&(o.bind(a,"mousemove",Zn),o.bind(a,"mouseup",Mo)),y=o.add(u,"div",{class:"mce-resize-helper","data-mce-bogus":"all"},I+" × "+z)};let tn=o.get("mceResizeHandle"+pl);tn&&o.remove(tn),tn=o.add(u,"div",{id:"mceResizeHandle"+pl,"data-mce-bogus":"all",class:"mce-resizehandle",unselectable:!0,style:"cursor:"+pl+"-resize; margin:0; padding:0"}),o.bind(tn,"mousedown",gn=>{gn.stopImmediatePropagation(),gn.preventDefault(),Ot(gn)}),Gr.elm=tn,o.setStyles(tn,{left:jr*Gr[0]+en-tn.offsetWidth/2,top:fa*Gr[1]+On-tn.offsetHeight/2})}):Pe(!1)},Ms=dh(or,0),Pe=(Re=!0)=>{Ms.cancel(),nn(),f&&Re&&f.removeAttribute(Yu),We(Hk,(Tt,en)=>{const On=o.get("mceResizeHandle"+en);On&&(o.unbind(On),o.remove(On))})},Ge=(Re,Tt)=>o.isChildOf(Re,Tt),cn=Re=>{if(X||n.removed||n.composing)return;const Tt=Re.type==="mousedown"?Re.target:e.getNode(),en=Ii(U.fromDom(Tt),kw).map(jn=>jn.dom).filter(jn=>o.isEditable(jn.parentElement)||jn.nodeName==="IMG"&&o.isEditable(jn)).getOrUndefined(),On=Se(en)?o.getAttrib(en,Yu,"1"):"1";if(ge(o.select(`img[${Yu}],hr[${Yu}]`),jn=>{jn.removeAttribute(Yu)}),Se(en)&&Ge(en,u)&&n.hasFocus()){nt();const jn=e.getStart(!0);if(Ge(jn,en)&&Ge(e.getEnd(!0),en)){o.setAttrib(en,Yu,On),Ms.throttle(en);return}}Pe()},nn=()=>{We(Hk,Re=>{Re.elm&&(o.unbind(Re.elm),delete Re.elm)})},nt=()=>{try{n.getDoc().execCommand("enableObjectResizing",!1,"false")}catch{}};return n.on("init",()=>{nt(),n.on("NodeChange ResizeEditor ResizeWindow ResizeContent drop",cn),n.on("keyup compositionend",Re=>{f&&f.nodeName==="TABLE"&&cn(Re)}),n.on("hide blur",Pe),n.on("contextmenu longpress",xe,!0)}),n.on("remove",nn),{isResizable:ct,showResizeRect:or,hideResizeRect:Pe,updateResizeRect:cn,destroy:()=>{Ms.cancel(),f=b=O=null}}},WF=(e,n)=>{n.fold(o=>{e.setStartBefore(o.dom)},(o,r)=>{e.setStart(o.dom,r)},o=>{e.setStartAfter(o.dom)})},Vk=(e,n)=>{n.fold(o=>{e.setEndBefore(o.dom)},(o,r)=>{e.setEnd(o.dom,r)},o=>{e.setEndAfter(o.dom)})},Ow=(e,n,o)=>{const r=e.document.createRange();return WF(r,n),Vk(r,o),r},bt=(e,n,o,r,a)=>{const u=e.document.createRange();return u.setStart(n.dom,o),u.setEnd(r.dom,a),u},Kl=gi.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Aw=(e,n,o)=>n(U.fromDom(o.startContainer),o.startOffset,U.fromDom(o.endContainer),o.endOffset),zk=(e,n)=>n.match({domRange:o=>({ltr:Fe(o),rtl:N.none}),relative:(o,r)=>({ltr:yd(()=>Ow(e,o,r)),rtl:yd(()=>N.some(Ow(e,r,o)))}),exact:(o,r,a,u)=>({ltr:yd(()=>bt(e,o,r,a,u)),rtl:yd(()=>N.some(bt(e,a,u,o,r)))})}),Xh=(e,n)=>{const o=n.ltr();return o.collapsed?n.rtl().filter(a=>a.collapsed===!1).map(a=>Kl.rtl(U.fromDom(a.endContainer),a.endOffset,U.fromDom(a.startContainer),a.startOffset)).getOrThunk(()=>Aw(e,Kl.ltr,o)):Aw(e,Kl.ltr,o)},Uk=(e,n)=>{const o=zk(e,n);return Xh(e,o)};Kl.ltr,Kl.rtl;const zy={create:(e,n,o,r)=>({start:e,soffset:n,finish:o,foffset:r})},Dw=(e,n,o)=>{var r,a;return N.from((a=(r=e.dom).caretPositionFromPoint)===null||a===void 0?void 0:a.call(r,n,o)).bind(u=>{if(u.offsetNode===null)return N.none();const f=e.dom.createRange();return f.setStart(u.offsetNode,u.offset),f.collapse(),N.some(f)})},fb=(e,n,o)=>{var r,a;return N.from((a=(r=e.dom).caretRangeFromPoint)===null||a===void 0?void 0:a.call(r,n,o))},Wk=(()=>document.caretPositionFromPoint?Dw:document.caretRangeFromPoint?fb:N.none)(),Zk=(e,n,o)=>{const r=U.fromDom(e.document);return Wk(r,n,o).map(a=>zy.create(U.fromDom(a.startContainer),a.startOffset,U.fromDom(a.endContainer),a.endOffset))},Hf=gi.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Uy=(e,n,o,r)=>e.fold(n,o,r),Mw=e=>e.fold(Co,Co,Co),jk=Hf.before,Gk=Hf.on,gb=Hf.after,sl={before:jk,on:Gk,after:gb,cata:Uy,getStart:Mw},hb=gi.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),mn=e=>hb.exact(e.start,e.soffset,e.finish,e.foffset),qk=e=>e.match({domRange:n=>U.fromDom(n.startContainer),relative:(n,o)=>sl.getStart(n),exact:(n,o,r,a)=>n}),Yl=hb.domRange,rl=hb.relative,pb=hb.exact,Vc=e=>{const n=qk(e);return Rm(n)},bb=zy.create,Xl={domRange:Yl,relative:rl,exact:pb,exactFromRange:mn,getWin:Vc,range:bb},Vf=(e,n)=>{const o=un(e);return o==="input"?sl.after(e):_t(["br","img"],o)?n===0?sl.before(e):sl.after(e):sl.on(e,n)},Jh=(e,n)=>{const o=e.fold(sl.before,Vf,sl.after),r=n.fold(sl.before,Vf,sl.after);return Xl.relative(o,r)},Wy=(e,n,o,r)=>{const a=Vf(e,n),u=Vf(o,r);return Xl.relative(a,u)},Kk=e=>e.match({domRange:n=>{const o=U.fromDom(n.startContainer),r=U.fromDom(n.endContainer);return Wy(o,n.startOffset,r,n.endOffset)},relative:Jh,exact:Wy}),Zy=(e,n)=>{const r=(n||document).createDocumentFragment();return ge(e,a=>{r.appendChild(a.dom)}),U.fromDom(r)},Yk=e=>{const n=Xl.getWin(e).dom,o=(a,u,f,b)=>bt(n,a,u,f,b),r=Kk(e);return Uk(n,r).match({ltr:o,rtl:o})},Yt=(e,n,o)=>Zk(e,n,o),zc=(e,n,o)=>{const r=Rm(U.fromDom(o));return Yt(r.dom,e,n).map(a=>{const u=o.createRange();return u.setStart(a.start.dom,a.soffset),u.setEnd(a.finish.dom,a.foffset),u}).getOrUndefined()},Jl=(e,n)=>Se(e)&&Se(n)&&e.startContainer===n.startContainer&&e.startOffset===n.startOffset&&e.endContainer===n.endContainer&&e.endOffset===n.endOffset,Xk=(e,n,o)=>{let r=e;for(;r&&r!==n;){if(o(r))return r;r=r.parentNode}return null},zf=(e,n,o)=>Xk(e,n,o)!==null,rn=(e,n,o)=>zf(e,n,r=>r.nodeName===o),Jk=(e,n)=>Fs(e)&&!zf(e,n,Lc),jy=(e,n,o)=>{const r=n.parentNode;if(r){const a=new zn(n,e.getParent(r,e.isBlock)||e.getRoot());let u;for(;u=a[o?"prev":"next"]();)if(Dn(u))return!0}return!1},l=(e,n)=>{var o;return((o=e.previousSibling)===null||o===void 0?void 0:o.nodeName)===n},m=(e,n)=>{let o=n;for(;o&&o!==e;){if(Jt(o))return!0;o=o.parentNode}return!1},h=(e,n,o,r,a)=>{const u=e.getRoot(),f=e.schema.getNonEmptyElements(),b=a.parentNode;let y,x;if(!b)return N.none();const O=e.getParent(b,e.isBlock)||u;if(r&&Dn(a)&&n&&e.isEmpty(O))return N.some(ae(b,e.nodeIndex(a)));const A=new zn(a,O);for(;x=A[r?"prev":"next"]();){if(e.getContentEditableParent(x)==="false"||Jk(x,u))return N.none();if(ke(x)&&x.data.length>0)return rn(x,u,"A")?N.none():N.some(ae(x,r?x.data.length:0));if(e.isBlock(x)||f[x.nodeName.toLowerCase()])return N.none();y=x}return Ol(y)?N.none():o&&y?N.some(ae(y,0)):N.none()},v=(e,n,o,r)=>{const a=e.getRoot();let u,f=!1,b=o?r.startContainer:r.endContainer,y=o?r.startOffset:r.endOffset;const x=Je(b)&&y===b.childNodes.length,O=e.schema.getNonEmptyElements();let A=o;if(Fs(b))return N.none();if(Je(b)&&y>b.childNodes.length-1&&(A=!1),Yg(b)&&(b=a,y=0),b===a){if(A&&(u=b.childNodes[y>0?y-1:0],u&&(Fs(u)||O[u.nodeName]||Fi(u))))return N.none();if(b.hasChildNodes()){if(y=Math.min(!A&&y>0?y-1:y,b.childNodes.length-1),b=b.childNodes[y],y=ke(b)&&x?b.data.length:0,!n&&b===a.lastChild&&Fi(b)||m(a,b)||Fs(b)||ye(b))return N.none();if(b.hasChildNodes()&&!Fi(b)){u=b;const M=new zn(b,a);do{if(Jt(u)||Fs(u)){f=!1;break}if(ke(u)&&u.data.length>0){y=A?0:u.data.length,b=u,f=!0;break}if(O[u.nodeName.toLowerCase()]&&!$s(u)){y=e.nodeIndex(u),b=u.parentNode,A||y++,f=!0;break}}while(u=A?M.next():M.prev())}}}return n&&(ke(b)&&y===0&&h(e,x,n,!0,b).each(M=>{b=M.container(),y=M.offset(),f=!0}),Je(b)&&(u=b.childNodes[y],u||(u=b.childNodes[y-1]),u&&Dn(u)&&!l(u,"A")&&!jy(e,u,!1)&&!jy(e,u,!0)&&h(e,x,n,!0,u).each(M=>{b=M.container(),y=M.offset(),f=!0}))),A&&!n&&ke(b)&&y===b.data.length&&h(e,x,n,!1,b).each(M=>{b=M.container(),y=M.offset(),f=!0}),f&&b?N.some(ae(b,y)):N.none()},w=(e,n)=>{const o=n.collapsed,r=n.cloneRange(),a=ae.fromRangeStart(n);return v(e,o,!0,r).each(u=>{(!o||!ae.isAbove(a,u))&&r.setStart(u.container(),u.offset())}),o||v(e,o,!1,r).each(u=>{r.setEnd(u.container(),u.offset())}),o&&r.collapse(!0),Jl(n,r)?N.none():N.some(r)},T=(e,n)=>e.splitText(n),D=e=>{let n=e.startContainer,o=e.startOffset,r=e.endContainer,a=e.endOffset;if(n===r&&ke(n)){if(o>0&&oo){a=a-o;const u=T(r,a).previousSibling;n=r=u,a=u.data.length,o=0}else a=0}else if(ke(n)&&o>0&&o0&&a({walk:(u,f)=>Gh(e,u,f),split:D,expand:(u,f={type:"word"})=>{if(f.type==="word"){const b=Gl(e,u,[{inline:"span"}]),y=e.createRng();return y.setStart(b.startContainer,b.startOffset),y.setEnd(b.endContainer,b.endOffset),y}return u},normalize:u=>w(e,u).fold(Ee,f=>(u.setStart(f.startContainer,f.startOffset),u.setEnd(f.endContainer,f.endOffset),!0))});$.compareRanges=Jl,$.getCaretRangeFromPoint=zc,$.getSelectedNode=Dv,$.getNode=hc;const Z=((e,n)=>{const o=(b,y)=>{if(!wc(y)&&!y.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+y);const x=b.dom;wu(x)&&(x.style[e]=y+"px")},r=b=>{const y=n(b);if(y<=0||y===null){const x=ns(b,e);return parseFloat(x)||0}return y},a=r,u=(b,y)=>wo(y,(x,O)=>{const A=ns(b,O),M=A===void 0?0:parseInt(A,10);return isNaN(M)?x:x+M},0);return{set:o,get:r,getOuter:a,aggregate:u,max:(b,y,x)=>{const O=u(b,x);return y>O?y-O:0}}})("height",e=>{const n=e.dom;return Mm(e)?n.getBoundingClientRect().height:n.offsetHeight}),te=e=>Z.get(e),Te=()=>U.fromDom(document),He=(e,n)=>e.view(n).fold(Fe([]),r=>{const a=e.owner(r),u=He(e,a);return[r].concat(u)}),Le=(e,n)=>{const o=n.owner(e);return He(n,o)};var pe=Object.freeze({__proto__:null,view:e=>{var n;return(e.dom===document?N.none():N.from((n=e.dom.defaultView)===null||n===void 0?void 0:n.frameElement)).map(U.fromDom)},owner:e=>_l(e)});const Qe=e=>{const n=Te(),o=Oa(n),r=Le(e,pe),a=Fm(e),u=hd(r,(f,b)=>{const y=Fm(b);return{left:f.left+y.left,top:f.top+y.top}},{left:0,top:0});return Im(u.left+a.left+o.left,u.top+a.top+o.top)},wt=e=>un(e)==="textarea",It=(e,n)=>e.dispatch("ScrollIntoView",n).isDefaultPrevented(),Gn=(e,n)=>{e.dispatch("AfterScrollIntoView",n)},us=(e,n)=>{const o=Es(e);if(o.length===0||wt(e))return{element:e,offset:n};if(n{const o=r_(e),r=te(e);return{element:e,bottom:o.top+r,height:r,pos:o,cleanup:n}},Vr=(e,n)=>{const o=us(e,n),r=U.fromHtml(''+ks+"");return hs(o.element,r),yo(r,()=>xn(r))},sm=e=>yo(U.fromDom(e),vt),rm=(e,n,o,r)=>{hr(e,(a,u)=>vb(e,n,o,r),o)},Gy=(e,n,o,r,a)=>{const u={elm:r.element.dom,alignToTop:a};if(It(e,u))return;const f=Oa(n).top;o(e,n,f,r,a),Gn(e,u)},vb=(e,n,o,r)=>{const a=U.fromDom(e.getBody()),u=U.fromDom(e.getDoc());zo(a);const f=Vr(U.fromDom(o.startContainer),o.startOffset);Gy(e,u,n,f,r),f.cleanup()},kn=(e,n,o,r)=>{const a=U.fromDom(e.getDoc());Gy(e,a,o,sm(n),r)},hr=(e,n,o)=>{const r=o.startContainer,a=o.startOffset,u=o.endContainer,f=o.endOffset;n(U.fromDom(r),U.fromDom(u));const b=e.dom.createRng();b.setStart(r,a),b.setEnd(u,f),e.selection.setRng(o)},Us=(e,n,o,r,a)=>{const u=n.pos;if(r)J0(u.left,u.top,a);else{const f=u.top-o+n.height;J0(-e.getBody().getBoundingClientRect().left,f,a)}},Uc=(e,n,o,r,a,u)=>{const f=r+o,b=a.pos.top,y=a.bottom,x=y-b>=r;bf?Us(e,a,r,x?u!==!1:u===!0,n):y>f&&!x&&Us(e,a,r,u===!0,n)},vc=(e,n,o,r,a)=>{const u=Rm(n).dom.innerHeight;Uc(e,n,o,u,r,a)},Xu=(e,n,o,r,a)=>{const u=Rm(n).dom.innerHeight;Uc(e,n,o,u,r,a);const f=Qe(r.element),b=nv(window);f.topb.bottom&&Q0(r.element,a===!0)},Or=(e,n,o)=>rm(e,vc,n,o),qy=(e,n,o)=>kn(e,n,vc,o),Qh=(e,n,o)=>rm(e,Xu,n,o),cl=(e,n,o)=>kn(e,n,Xu,o),tr=(e,n,o)=>{(e.inline?qy:cl)(e,n,o)},ep=(e,n,o)=>{(e.inline?Or:Qh)(e,n,o)},Bw=(e,n=!1)=>e.dom.focus({preventScroll:n}),Nw=e=>{const n=$i(e).dom;return e.dom===n.activeElement},Uf=(e=Te())=>N.from(e.dom.activeElement).map(U.fromDom),Pw=e=>Uf($i(e)).filter(n=>e.dom.contains(n.dom)),yb=(e,n)=>{const o=Ks(n)?ai(n).length:Es(n).length+1;return e>o?o:e<0?0:e},$w=e=>Xl.range(e.start,yb(e.soffset,e.start),e.finish,yb(e.foffset,e.finish)),cm=(e,n)=>!oi(n.dom)&&(xr(e,n)||bn(e,n)),rD=e=>n=>cm(e,n.start)&&cm(e,n.finish),ZF=e=>e.inline||Ze.browser.isFirefox(),jF=e=>Xl.range(U.fromDom(e.startContainer),e.startOffset,U.fromDom(e.endContainer),e.endOffset),GF=e=>{const n=e.getSelection();return(!n||n.rangeCount===0?N.none():N.from(n.getRangeAt(0))).map(jF)},qF=e=>{const n=Rm(e);return GF(n.dom).filter(rD(e))},cD=(e,n)=>N.from(n).filter(rD(e)).map($w),aD=e=>{const n=document.createRange();try{return n.setStart(e.start.dom,e.soffset),n.setEnd(e.finish.dom,e.foffset),N.some(n)}catch{return N.none()}},Cb=e=>{const n=ZF(e)?qF(U.fromDom(e.getBody())):N.none();e.bookmark=n.isSome()?n:e.bookmark},Qk=e=>(e.bookmark?e.bookmark:N.none()).bind(o=>cD(U.fromDom(e.getBody()),o)).bind(aD),KF=e=>{Qk(e).each(n=>e.selection.setRng(n))},lD={isEditorUIElement:e=>{const n=e.className.toString();return n.indexOf("tox-")!==-1||n.indexOf("mce-")!==-1}},uD=(e,n)=>(wc(n)||(n=0),setTimeout(e,n)),dD=(e,n)=>(wc(n)||(n=0),setInterval(e,n)),Fa={setEditorTimeout:(e,n,o)=>uD(()=>{e.removed||n()},o),setEditorInterval:(e,n,o)=>{const r=dD(()=>{e.removed?clearInterval(r):n()},o);return r}},YF=e=>e.type==="nodechange"&&e.selectionChange,XF=(e,n)=>{const o=()=>{n.throttle()};Un.DOM.bind(document,"mouseup",o),e.on("remove",()=>{Un.DOM.unbind(document,"mouseup",o)})},JF=(e,n)=>{e.on("mouseup touchend",o=>{n.throttle()})},QF=(e,n)=>{JF(e,n),e.on("keyup NodeChange AfterSetSelectionRange",o=>{YF(o)||Cb(e)})},Iw=e=>{const n=dh(()=>{Cb(e)},0);e.on("init",()=>{e.inline&&XF(e,n),QF(e,n)}),e.on("remove",()=>{n.cancel()})};let tp;const Fw=Un.DOM,mD=e=>Je(e)&&lD.isEditorUIElement(e),Lw=e=>{const n=e.classList;return n!==void 0?n.contains("tox-edit-area")||n.contains("tox-edit-area__iframe")||n.contains("mce-content-body"):!1},Hw=(e,n)=>{const o=VS(e);return Fw.getParent(n,a=>mD(a)||(o?e.dom.is(a,o):!1))!==null},e4=e=>{try{const n=$i(U.fromDom(e.getElement()));return Uf(n).fold(()=>document.body,o=>o.dom)}catch{return document.body}},e6=(e,n)=>{const o=n.editor;Iw(o);const r=(a,u)=>{if(ik(a)&&a.inline!==!0){const f=U.fromDom(a.getContainer());u(f,"tox-edit-focus")}};o.on("focusin",()=>{const a=e.focusedEditor;Lw(e4(o))&&r(o,_d),a!==o&&(a&&a.dispatch("blur",{focusedEditor:o}),e.setActive(o),e.focusedEditor=o,o.dispatch("focus",{blurredEditor:a}),o.focus(!0))}),o.on("focusout",()=>{Fa.setEditorTimeout(o,()=>{const a=e.focusedEditor;(!Lw(e4(o))||a!==o)&&r(o,kd),!Hw(o,e4(o))&&a===o&&(o.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null)})}),tp||(tp=a=>{const u=e.activeEditor;u&&Gg(a).each(f=>{const b=f;b.ownerDocument===document&&b!==document.body&&!Hw(u,b)&&e.focusedEditor===u&&(u.dispatch("blur",{focusedEditor:null}),e.focusedEditor=null)})},Fw.bind(document,"focusin",tp))},t6=(e,n)=>{e.focusedEditor===n.editor&&(e.focusedEditor=null),!e.activeEditor&&tp&&(Fw.unbind(document,"focusin",tp),tp=null)},n6=e=>{e.on("AddEditor",_e(e6,e)),e.on("RemoveEditor",_e(t6,e))},o6=(e,n)=>e.dom.getParent(n,o=>e.dom.getContentEditable(o)==="true"),s6=e=>e.collapsed?N.from(hc(e.startContainer,e.startOffset)).map(U.fromDom):N.none(),r6=(e,n)=>s6(n).bind(o=>Vi(o)?N.some(o):xr(e,o)?N.none():N.some(e)),fD=(e,n)=>{r6(U.fromDom(e.getBody()),n).bind(o=>kr(o.dom)).fold(()=>{e.selection.normalize()},o=>e.selection.setRng(o.toRange()))},t4=e=>{if(e.setActive)try{e.setActive()}catch{e.focus()}else e.focus()},c6=e=>Nw(e)||Pw(e).isSome(),a6=e=>Se(e.iframeElement)&&Nw(U.fromDom(e.iframeElement)),Vw=e=>{const n=e.getBody();return n&&c6(U.fromDom(n))},gD=e=>{const n=$i(U.fromDom(e.getElement()));return Uf(n).filter(o=>!Lw(o.dom)&&Hw(e,o.dom)).isSome()},Wf=e=>e.inline?Vw(e):a6(e),hD=e=>Wf(e)||gD(e),i6=e=>{const n=e.selection,o=e.getBody();let r=n.getRng();e.quirks.refreshContentEditable(),Se(e.bookmark)&&!Wf(e)&&Qk(e).each(u=>{e.selection.setRng(u),r=u});const a=o6(e,n.getNode());if(a&&e.dom.isChildOf(a,o)){t4(a),fD(e,r),n4(e);return}e.inline||(Ze.browser.isOpera()||t4(o),e.getWin().focus()),(Ze.browser.isFirefox()||e.inline)&&(t4(o),fD(e,r)),n4(e)},n4=e=>e.editorManager.setActive(e),l6=(e,n)=>{e.removed||(n?n4(e):i6(e))},pD=(e,n)=>n.collapsed?e.isEditable(n.startContainer):e.isEditable(n.startContainer)&&e.isEditable(n.endContainer),bD=(e,n,o,r,a)=>{const u=o?n.startContainer:n.endContainer,f=o?n.startOffset:n.endOffset;return N.from(u).map(U.fromDom).map(b=>!r||!n.collapsed?Su(b,a(b,f)).getOr(b):b).bind(b=>ar(b)?N.some(b):Oc(b).filter(ar)).map(b=>b.dom).getOr(e)},o4=(e,n,o=!1)=>bD(e,n,!0,o,(r,a)=>Math.min(nc(r),a)),vD=(e,n,o=!1)=>bD(e,n,!1,o,(r,a)=>a>0?a-1:a),s4=(e,n)=>{const o=e;for(;e&&ke(e)&&e.length===0;)e=n?e.nextSibling:e.previousSibling;return e||o},yD=(e,n)=>{if(!n)return e;let o=n.startContainer,r=n.endContainer;const a=n.startOffset,u=n.endOffset;let f=n.commonAncestorContainer;n.collapsed||(o===r&&u-a<2&&o.hasChildNodes()&&(f=o.childNodes[a]),ke(o)&&ke(r)&&(o.length===a?o=s4(o.nextSibling,!0):o=o.parentNode,u===0?r=s4(r.previousSibling,!1):r=r.parentNode,o&&o===r&&(f=o)));const b=ke(f)?f.parentNode:f;return xu(b)?b:e},u6=(e,n,o,r)=>{const a=[],u=e.getRoot(),f=e.getParent(o||o4(u,n,n.collapsed),e.isBlock),b=e.getParent(r||vD(u,n,n.collapsed),e.isBlock);if(f&&f!==u&&a.push(f),f&&b&&f!==b){let y;const x=new zn(f,u);for(;(y=x.next())&&y!==b;)e.isBlock(y)&&a.push(y)}return b&&f!==b&&b!==u&&a.push(b),a},d6=(e,n,o)=>N.from(n).bind(r=>N.from(r.parentNode).map(a=>{const u=e.nodeIndex(r),f=e.createRng();return f.setStart(a,u),f.setEnd(a,u+1),o&&(Oy(e,f,r,!0),Oy(e,f,r,!1)),f})),r4=(e,n)=>Dt(n,o=>{const r=e.dispatch("GetSelectionRange",{range:o});return r.range!==o?r.range:o}),m6=e=>un(e)==="img"?1:rv(e).fold(()=>Es(e).length,n=>n.length),f6=e=>rv(e).filter(n=>n.trim().length!==0||n.indexOf(dn)>-1).isSome(),g6=e=>mo(e)&&wr(e,"contenteditable")==="false",h6=["img","br"],CD=e=>f6(e)||_t(h6,un(e))||g6(e),p6=e=>ir(e,CD),b6=e=>v6(e,CD),v6=(e,n)=>{const o=r=>{const a=Es(r);for(let u=a.length-1;u>=0;u--){const f=a[u];if(n(f))return N.some(f);const b=o(f);if(b.isSome())return b}return N.none()};return o(e)},SD="[data-mce-autocompleter]",y6=(e,n)=>{if(wD(U.fromDom(e.getBody())).isNone()){const o=U.fromHtml('',e.getDoc());Zo(o,U.fromDom(n.extractContents())),n.insertNode(o.dom),Oc(o).each(r=>r.dom.normalize()),b6(o).map(r=>{e.selection.setCursorLocation(r.dom,m6(r))})}},C6=e=>Ii(e,SD),wD=e=>Rc(e,SD),S6=(e,n)=>wD(n).each(o=>{const r=e.selection.getBookmark();ni(o),e.selection.moveToBookmark(r)}),w6={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11},zw=(e,n,o)=>{const r=o?"lastChild":"firstChild",a=o?"prev":"next";if(e[r])return e[r];if(e!==n){let u=e[a];if(u)return u;for(let f=e.parent;f&&f!==n;f=f.parent)if(u=f[a],u)return u}},x6=e=>{var n;const o=(n=e.value)!==null&&n!==void 0?n:"";if(!_u(o))return!1;const r=e.parent;return!(r&&(r.name!=="span"||r.attr("style"))&&/^[ ]+$/.test(o))},lt=e=>{const n=e.name==="a"&&!e.attr("href")&&e.attr("id");return e.attr("name")||e.attr("id")&&!e.firstChild||e.attr("data-mce-bookmark")||n};class zr{static create(n,o){const r=new zr(n,w6[n]||1);return o&&We(o,(a,u)=>{r.attr(u,a)}),r}constructor(n,o){this.name=n,this.type=o,o===1&&(this.attributes=[],this.attributes.map={})}replace(n){const o=this;return n.parent&&n.remove(),o.insert(n,o),o.remove(),o}attr(n,o){const r=this;if(!q(n))return Se(n)&&We(n,(u,f)=>{r.attr(f,u)}),r;const a=r.attributes;if(a){if(o!==void 0){if(o===null){if(n in a.map){delete a.map[n];let u=a.length;for(;u--;)if(a[u].name===n)return a.splice(u,1),r}return r}if(n in a.map){let u=a.length;for(;u--;)if(a[u].name===n){a[u].value=o;break}}else a.push({name:n,value:o});return a.map[n]=o,r}return a.map[n]}}clone(){const n=this,o=new zr(n.name,n.type),r=n.attributes;if(r){const a=[];a.map={};for(let u=0,f=r.length;uq(e.nodeValue)&&e.nodeValue.includes(ks),Uw=e=>`${e.length===0?"":`${Dt(e,n=>`[${n}]`).join(",")},`}[data-mce-bogus="all"]`,E6=(e,n)=>n.querySelectorAll(Uw(e)),TD=e=>document.createTreeWalker(e,NodeFilter.SHOW_COMMENT,n=>ED(n)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP),_D=e=>document.createTreeWalker(e,NodeFilter.SHOW_TEXT,n=>{if(ED(n)){const o=n.parentNode;return o&&Et(xD,o.nodeName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}else return NodeFilter.FILTER_SKIP}),T6=e=>TD(e).nextNode()!==null,_6=e=>_D(e).nextNode()!==null,Ww=(e,n)=>n.querySelector(Uw(e))!==null,kD=(e,n)=>{ge(E6(e,n),o=>{const r=U.fromDom(o);wr(r,"data-mce-bogus")==="all"?xn(r):ge(e,a=>{yu(r,a)&&$o(r,a)})})},k6=e=>{let n=e.nextNode();for(;n!==null;)n.nodeValue=null,n=e.nextNode()},O6=_(k6,TD),kt=_(k6,_D),OD=(e,n)=>{const o=[{condition:_e(Ww,n),action:_e(kD,n)},{condition:T6,action:O6},{condition:_6,action:kt}];let r=e,a=!1;return ge(o,({condition:u,action:f})=>{u(r)&&(a||(r=e.cloneNode(!0),a=!0),f(r))}),r},Nt=e=>{const n=Ts(e,"[data-mce-bogus]");ge(n,o=>{wr(o,"data-mce-bogus")==="all"?xn(o):Tu(o)?(hs(o,U.fromText(Jg)),xn(o)):ni(o)})},c4=e=>{const n=Ts(e,"input");ge(n,o=>{$o(o,"name")})},dj=(e,n)=>{const o=mr(e),r=new RegExp(`^(<${o}[^>]*>( | |\\s| |
    |)<\\/${o}>[\r -]*|
    [\r -]*)$`);return n.replace(r,"")},mj=(e,n)=>{const o=e.getDoc(),r=$i(U.fromDom(e.getBody())),a=U.fromTag("div",o);Yn(a,"data-mce-bogus","all"),sc(a,{position:"fixed",left:"-9999999px",top:"0"}),$m(a,n.innerHTML),Nt(a),c4(a);const u=LR(r);Zo(u,a);const f=Bc(a.dom.innerText);return xn(a),f},A6=(e,n,o)=>{let r;return n.format==="raw"?r=Me.trim(Bc(OD(o,e.serializer.getTempAttrs()).innerHTML)):n.format==="text"?r=mj(e,o):n.format==="tree"?r=e.serializer.serialize(o,n):r=dj(e,e.serializer.serialize(o,n)),n.format!=="text"&&!ss(U.fromDom(o))&&q(r)?Me.trim(r):r},fj=(e,n)=>N.from(e.getBody()).fold(Fe(n.format==="tree"?new zr("body",11):""),o=>A6(e,n,o)),R6=Me.makeMap,AD=e=>{const n=[];e=e||{};const o=e.indent,r=R6(e.indent_before||""),a=R6(e.indent_after||""),u=Hd.getEncodeFunc(e.entity_encoding||"raw",e.entities),f=e.element_format!=="xhtml";return{start:(b,y,x)=>{if(o&&r[b]&&n.length>0){const O=n[n.length-1];O.length>0&&O!==` -`&&n.push(` -`)}if(n.push("<",b),y)for(let O=0,A=y.length;O0){const O=n[n.length-1];O.length>0&&O!==` -`&&n.push(` -`)}},end:b=>{let y;n.push(""),o&&a[b]&&n.length>0&&(y=n[n.length-1],y.length>0&&y!==` -`&&n.push(` -`))},text:(b,y)=>{b.length>0&&(n[n.length]=y?b:u(b))},cdata:b=>{n.push("")},comment:b=>{n.push("")},pi:(b,y)=>{y?n.push(""):n.push(""),o&&n.push(` -`)},doctype:b=>{n.push("",o?` -`:"")},reset:()=>{n.length=0},getContent:()=>n.join("").replace(/\n$/,"")}},Zf=(e={},n=$l())=>{const o=AD(e);return e.validate="validate"in e?e.validate:!0,{serialize:a=>{const u=e.validate,f={3:y=>{var x;o.text((x=y.value)!==null&&x!==void 0?x:"",y.raw)},8:y=>{var x;o.comment((x=y.value)!==null&&x!==void 0?x:"")},7:y=>{o.pi(y.name,y.value)},10:y=>{var x;o.doctype((x=y.value)!==null&&x!==void 0?x:"")},4:y=>{var x;o.cdata((x=y.value)!==null&&x!==void 0?x:"")},11:y=>{let x=y;if(x=x.firstChild)do b(x);while(x=x.next)}};o.reset();const b=y=>{var x;const O=f[y.type];if(O)O(y);else{const A=y.name,M=A in n.getVoidElements();let L=y.attributes;if(u&&L&&L.length>1){const V=[];V.map={};const I=n.getElementRule(y.name);if(I){for(let z=0,G=I.attributesOrder.length;z{yt.add(n)});const RD=["font","text-decoration","text-emphasis"],a4=(e,n)=>Cr(e.parseStyle(e.getAttrib(n,"style"))),D6=e=>yt.has(e),Ky=(e,n)=>Bs(a4(e,n),o=>!D6(o)),DD=e=>pt(e,n=>to(RD,o=>fs(n,o))),M6=(e,n,o)=>{const r=a4(e,n),a=a4(e,o),u=f=>{var b,y;const x=(b=e.getStyle(n,f))!==null&&b!==void 0?b:"",O=(y=e.getStyle(o,f))!==null&&y!==void 0?y:"";return Hn(x)&&Hn(O)&&x!==O};return to(r,f=>{const b=y=>to(y,x=>x===f);if(!b(a)&&b(RD)){const y=DD(a);return to(y,u)}else return u(f)})},MD=(e,n,o)=>N.from(o.container()).filter(ke).exists(r=>{const a=e?0:-1;return n(r.data.charAt(o.offset()+a))}),i4=_e(MD,!0,Bf),Zw=_e(MD,!1,Bf),B6=e=>{const n=e.container();return ke(n)&&(n.data.length===0||ic(n.data)&&nm.isBookmarkNode(n.parentNode))},np=(e,n)=>o=>Rh(e?0:-1,o).filter(n).isSome(),N6=e=>Er(e)&&ns(U.fromDom(e),"display")==="block",BD=e=>Jt(e)&&!n1(e),P6=np(!0,N6),$6=np(!1,N6),Yy=np(!0,_o),Sb=np(!1,_o),ND=np(!0,Fi),Ft=np(!1,Fi),am=np(!0,BD),Ql=np(!1,BD),PD=e=>e.slice(0,-1),$D=(e,n,o)=>xr(n,e)?PD(z0(e,r=>o(r)||bn(r,n))):[],l4=(e,n)=>$D(e,n,Ee),Ju=(e,n)=>[e].concat(l4(e,n)),jw=(e,n,o)=>Na(e,n,o,B6),I6=e=>n=>e.isBlock(un(n)),u4=(e,n,o)=>Vo(Ju(U.fromDom(n.container()),e),I6(o)),ID=(e,n,o,r)=>jw(e,n.dom,o).forall(a=>u4(n,o,r).fold(()=>!hi(a,o,n.dom),u=>!hi(a,o,n.dom)&&xr(u,U.fromDom(a.container())))),FD=(e,n,o,r)=>u4(n,o,r).fold(()=>jw(e,n.dom,o).forall(a=>!hi(a,o,n.dom)),a=>jw(e,a.dom,o).isNone()),d4=_e(FD,!1),LD=_e(FD,!0),F6=_e(ID,!1),L6=_e(ID,!0),H6=e=>K1(e).exists(Tu),Gw=(e,n,o,r)=>{const a=pt(Ju(U.fromDom(o.container()),n),f=>r.isBlock(un(f))),u=yr(a).getOr(n);return Rs(e,u.dom,o).filter(H6)},Xy=(e,n,o)=>K1(n).exists(Tu)||Gw(!0,e,n,o).isSome(),Jy=(e,n,o)=>vk(n).exists(Tu)||Gw(!1,e,n,o).isSome(),V6=_e(Gw,!1),z6=_e(Gw,!0),HD=e=>ae.isTextPosition(e)&&!e.isAtStart()&&!e.isAtEnd(),VD=(e,n,o)=>{const r=pt(Ju(U.fromDom(n.container()),e),a=>o.isBlock(un(a)));return yr(r).getOr(e)},zD=(e,n,o)=>HD(n)?Zw(n):Zw(n)||Lr(VD(e,n,o).dom,n).exists(Zw),UD=(e,n,o)=>HD(n)?i4(n):i4(n)||gr(VD(e,n,o).dom,n).exists(i4),U6=e=>_t(["pre","pre-wrap"],e),m4=e=>K1(e).bind(n=>sa(n,ar)).exists(n=>U6(ns(n,"white-space"))),WD=(e,n)=>Lr(e.dom,n).isNone(),W6=(e,n)=>gr(e.dom,n).isNone(),Z6=(e,n,o)=>WD(e,n)||W6(e,n)||d4(e,n,o)||LD(e,n,o)||Jy(e,n,o)||Xy(e,n,o),op=e=>Se(e)&&Jt(e)&&Vu(e),ZD=(e,n)=>o=>op(new zn(o,e)[n]()),jD=(e,n)=>{const o=gr(e.dom,n).getOr(n),r=ZD(e.dom,"next");return n.isAtEnd()&&(r(n.container())||r(o.container()))},j6=(e,n)=>{const o=Lr(e.dom,n).getOr(n),r=ZD(e.dom,"prev");return n.isAtStart()&&(r(n.container())||r(o.container()))},GD=(e,n,o)=>m4(n)?!1:Z6(e,n,o)||zD(e,n,o)||UD(e,n,o),wb=(e,n,o)=>m4(n)?!1:d4(e,n,o)||F6(e,n,o)||Jy(e,n,o)||zD(e,n,o)||j6(e,n),qD=e=>{const n=e.container(),o=e.offset();return ke(n)&&om4(n)?!1:LD(e,n,o)||L6(e,n,o)||Xy(e,n,o)||UD(e,n,o)||jD(e,n),qw=(e,n,o)=>wb(e,n,o)||xb(e,qD(n),o),Ur=(e,n)=>tb(e.charAt(n)),KD=(e,n)=>Bf(e.charAt(n)),G6=e=>{const n=e.container();return ke(n)&&Zs(n.data,dn)},q6=e=>{const n=e.split("");return Dt(n,(o,r)=>tb(o)&&r>0&&r{const a=n.data,u=ae(n,0);return!o&&Ur(a,0)&&!qw(e,u,r)?(n.data=" "+a.slice(1),!0):o&&KD(a,0)&&wb(e,u,r)?(n.data=dn+a.slice(1),!0):!1},K6=e=>{const n=e.data,o=q6(n);return o!==n?(e.data=o,!0):!1},jf=(e,n,o,r)=>{const a=n.data,u=ae(n,a.length-1);return!o&&Ur(a,a.length-1)&&!qw(e,u,r)?(n.data=a.slice(0,-1)+" ",!0):o&&KD(a,a.length-1)&&xb(e,u,r)?(n.data=a.slice(0,-1)+dn,!0):!1},Y6=(e,n,o)=>{const r=n.container();if(!ke(r))return N.none();if(G6(n)){const a=YD(e,r,!1,o)||K6(r)||jf(e,r,!1,o);return ln(a,n)}else if(qw(e,n,o)){const a=YD(e,r,!0,o)||jf(e,r,!0,o);return ln(a,n)}else return N.none()},X6=e=>{const n=U.fromDom(e.getBody());e.selection.isCollapsed()&&Y6(n,ae.fromRangeStart(e.selection.getRng()),e.schema).each(o=>{e.selection.setRng(o.toRange())})},io=(e,n,o,r)=>{if(o===0)return;const a=U.fromDom(e),u=To(a,x=>r.isBlock(un(x))).getOr(a),f=e.data.slice(n,n+o),b=n+o>=e.data.length&&xb(u,ae(e,e.data.length),r),y=n===0&&wb(u,ae(e,0),r);e.replaceData(n,o,$d(f,4,y,b))},sp=(e,n,o)=>{const r=e.data.slice(n),a=r.length-Ng(r).length;io(e,n,a,o)},XD=(e,n,o)=>{const r=e.data.slice(0,n),a=r.length-_m(r).length;io(e,n-a,a,o)},Ds=(e,n,o,r,a=!0)=>{const u=_m(e.data).length,f=a?e:n,b=a?n:e;return a?f.appendData(b.data):f.insertData(0,b.data),xn(U.fromDom(b)),r&&sp(f,u,o),f},J6=(e,n)=>{const o=e.container(),r=e.offset();return!ae.isTextPosition(e)&&o===n.parentNode&&r>ae.before(n).offset()},Q6=(e,n)=>J6(n,e)?ae(n.container(),n.offset()-1):n,im=e=>ke(e)?ae(e,0):ae.before(e),Cn=e=>ke(e)?ae(e,e.data.length):ae.after(e),f4=e=>Go(e.previousSibling)?N.some(Cn(e.previousSibling)):e.previousSibling?Pa(e.previousSibling):N.none(),g4=e=>Go(e.nextSibling)?N.some(im(e.nextSibling)):e.nextSibling?kr(e.nextSibling):N.none(),e7=(e,n)=>N.from(n.previousSibling?n.previousSibling:n.parentNode).bind(o=>Lr(e,ae.before(o))).orThunk(()=>gr(e,ae.after(n))),t7=(e,n)=>gr(e,ae.after(n)).orThunk(()=>Lr(e,ae.before(n))),n7=(e,n)=>f4(n).orThunk(()=>g4(n)).orThunk(()=>e7(e,n)),la=(e,n)=>g4(n).orThunk(()=>f4(n)).orThunk(()=>t7(e,n)),al=(e,n,o)=>e?la(n,o):n7(n,o),JD=(e,n,o)=>al(e,n,o).map(_e(Q6,o)),Kw=(e,n,o)=>{o.fold(()=>{e.focus()},r=>{e.selection.setRng(r.toRange(),n)})},h4=e=>n=>n.dom===e,Yw=(e,n)=>n&&Et(e.schema.getBlockElements(),un(n)),QD=(e,n)=>{if(fo(e)){const o=U.fromHtml('
    ');return n?ge(Es(e),r=>{Uh(r)||xn(r)}):Pm(e),Zo(e,o),N.some(ae.before(o.dom))}else return N.none()},Qy=(e,n,o,r)=>{const a=Ta(e).filter(Ks),u=Zg(e).filter(Ks);return xn(e),pu(a,u,n,(f,b,y)=>{const x=f.dom,O=b.dom,A=x.data.length;return Ds(x,O,o,r),y.container()===O?ae(x,A):y}).orThunk(()=>(r&&(a.each(f=>XD(f.dom,f.dom.length,o)),u.each(f=>sp(f.dom,0,o))),n))},Xw=(e,n)=>Et(e.schema.getTextInlineElements(),un(n)),lm=(e,n,o,r=!0,a=!1)=>{const u=JD(n,e.getBody(),o.dom),f=To(o,_e(Yw,e),h4(e.getBody())),b=Qy(o,u,e.schema,Xw(e,o));e.dom.isEmpty(e.getBody())?(e.setContent(""),e.selection.setCursorLocation()):f.bind(y=>QD(y,a)).fold(()=>{r&&Kw(e,n,b)},y=>{r&&Kw(e,n,N.some(y))})},eM=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,e2=e=>eM.test(e),rp=(e,n)=>Ea(U.fromDom(n),j_(e))&&!qt(e.schema,n)&&e.dom.isEditable(n),tM=e=>{var n;return Un.DOM.getStyle(e,"direction",!0)==="rtl"||e2((n=e.textContent)!==null&&n!==void 0?n:"")},eu=(e,n,o)=>pt(Un.DOM.getParents(o.container(),"*",n),e),Ws=(e,n,o)=>{const r=eu(e,n,o);return N.from(r[r.length-1])},t2=(e,n,o)=>{const r=zl(n,e),a=zl(o,e);return Se(r)&&r===a},Ci=e=>Ui(e)||r1(e),Si=(e,n)=>{const o=n.container(),r=n.offset();return e?Pr(o)?ke(o.nextSibling)?ae(o.nextSibling,0):ae.after(o):Ui(n)?ae(o,r+1):n:Pr(o)?ke(o.previousSibling)?ae(o.previousSibling,o.previousSibling.data.length):ae.before(o):r1(n)?ae(o,r-1):n},Fn=_e(Si,!0),nM=_e(Si,!1),Gf=(e,n)=>{const o=r=>r.stopImmediatePropagation();e.on("beforeinput input",o,!0),e.getDoc().execCommand(n),e.off("beforeinput input",o)},n2=e=>{e.execCommand("delete")},Jw=e=>Gf(e,"Delete"),p4=e=>Gf(e,"ForwardDelete"),b4=e=>n=>Eo(Oc(n),e,bn),o7=e=>oe(e)||Hi(e),Eb=(e,n)=>xr(e,n)?sa(n,o7,b4(e)):N.none(),v4=(e,n=!0)=>{e.dom.isEmpty(e.getBody())&&e.setContent("",{no_selection:!n})},y4=(e,n,o)=>qs(kr(o),Pa(o),(r,a)=>{const u=Si(!0,r),f=Si(!1,a),b=Si(!1,n);return e?gr(o,b).exists(y=>y.isEqual(f)&&n.isEqual(u)):Lr(o,b).exists(y=>y.isEqual(u)&&n.isEqual(f))}).getOr(!0),C4=e=>(e_(e)?Ta(e):_a(e)).bind(C4).orThunk(()=>N.some(e)),Qw=(e,n,o,r=!0)=>{var a;n.deleteContents();const u=C4(o).getOr(o),f=U.fromDom((a=e.dom.getParent(u.dom,e.dom.isBlock))!==null&&a!==void 0?a:o.dom);if(f.dom===e.getBody()?v4(e,r):fo(f)&&(zi(f),r&&e.selection.setCursorLocation(f.dom,0)),!bn(o,f)){const b=Eo(Oc(f),o)?[]:IC(f);ge(b.concat(Es(o)),y=>{!bn(y,f)&&!xr(y,f)&&fo(y)&&xn(y)})}},oM=(e,n,o)=>To(e,n,o).isSome(),ex=(e,n)=>j0(e,n).isSome(),sM=(e,n)=>ir(e,n).isSome(),s7=e=>n=>bn(e,n),S4=e=>Ts(e,"td,th"),rM=(e,n)=>Zl(U.fromDom(e),n),r7=e=>qs(e.startTable,e.endTable,(n,o)=>{const r=sM(n,u=>bn(u,o)),a=sM(o,u=>bn(u,n));return!r&&!a?e:{...e,startTable:r?N.none():e.startTable,endTable:a?N.none():e.endTable,isSameTable:!1,isMultiTable:!1}}).getOr(e),cM=e=>r7(e),c7=(e,n)=>{const o=rM(e.startContainer,n),r=rM(e.endContainer,n),a=o.isSome(),u=r.isSome(),f=qs(o,r,bn).getOr(!1);return cM({startTable:o,endTable:r,isStartInTable:a,isEndInTable:u,isSameTable:f,isMultiTable:!f&&a&&u})},w4=(e,n)=>({start:e,end:n}),aM=(e,n,o)=>({rng:e,table:n,cells:o}),o2=gi.generate([{singleCellTable:["rng","cell"]},{fullTable:["table"]},{partialTable:["cells","outsideDetails"]},{multiTable:["startTableCells","endTableCells","betweenRng"]}]),s2=(e,n)=>Ii(U.fromDom(e),"td,th",n),Tb=e=>!bn(e.start,e.end),iM=(e,n)=>Zl(e.start,n).bind(o=>Zl(e.end,n).bind(r=>ln(bn(o,r),o))),a7=(e,n)=>!Tb(e)&&iM(e,n).exists(o=>{const r=o.dom.rows;return r.length===1&&r[0].cells.length===1}),lM=(e,n)=>{const o=s2(e.startContainer,n),r=s2(e.endContainer,n);return qs(o,r,w4)},i7=e=>n=>Zl(n,e).bind(o=>mu(S4(o)).map(r=>w4(n,r))),uM=e=>n=>Zl(n,e).bind(o=>yr(S4(o)).map(r=>w4(r,n))),Wc=e=>n=>iM(n,e).map(o=>aM(n,o,S4(o))),dM=(e,n,o,r)=>{if(o.collapsed||!e.forall(Tb))return N.none();if(n.isSameTable){const a=e.bind(Wc(r));return N.some({start:a,end:a})}else{const a=s2(o.startContainer,r),u=s2(o.endContainer,r),f=a.bind(i7(r)).bind(Wc(r)),b=u.bind(uM(r)).bind(Wc(r));return N.some({start:f,end:b})}},x4=(e,n)=>Yr(e,o=>bn(o,n)),r2=e=>qs(x4(e.cells,e.rng.start),x4(e.cells,e.rng.end),(n,o)=>e.cells.slice(n,o+1)),E4=(e,n,o)=>e.exists(r=>a7(r,o)&&ky(r.start,n)),T4=(e,n)=>{const{startTable:o,endTable:r}=n,a=e.cloneRange();return o.each(u=>a.setStartAfter(u.dom)),r.each(u=>a.setEndBefore(u.dom)),a},mM=(e,n,o,r)=>dM(e,n,o,r).bind(({start:a,end:u})=>a.or(u)).bind(a=>{const{isSameTable:u}=n,f=r2(a).getOr([]);if(u&&a.cells.length===f.length)return N.some(o2.fullTable(a.table));if(f.length>0){if(u)return N.some(o2.partialTable(f,N.none()));{const b=T4(o,n);return N.some(o2.partialTable(f,N.some({...n,rng:b})))}}else return N.none()}),l7=(e,n,o,r)=>dM(e,n,o,r).bind(({start:a,end:u})=>{const f=a.bind(r2).getOr([]),b=u.bind(r2).getOr([]);if(f.length>0&&b.length>0){const y=T4(o,n);return N.some(o2.multiTable(f,b,y))}else return N.none()}),u7=(e,n)=>{const o=s7(e),r=lM(n,o),a=c7(n,o);return E4(r,n,o)?r.map(u=>o2.singleCellTable(n,u.start)):a.isMultiTable?l7(r,a,n,o):mM(r,a,n,o)},tx=e=>ge(e,n=>{$o(n,"contenteditable"),zi(n)}),fM=(e,n)=>N.from(e.dom.getParent(n,e.dom.isBlock)).map(U.fromDom),il=(e,n,o)=>{o.each(r=>{n?xn(r):(zi(r),e.selection.setCursorLocation(r.dom,0))})},_4=(e,n,o,r)=>{const a=o.cloneRange();r?(a.setStart(o.startContainer,o.startOffset),a.setEndAfter(n.dom.lastChild)):(a.setStartBefore(n.dom.firstChild),a.setEnd(o.endContainer,o.endOffset)),O4(e,a,n,!1).each(u=>u())},gM=e=>{const n=Nf(e),o=U.fromDom(e.selection.getNode());Xg(o.dom)&&fo(o)?e.selection.setCursorLocation(o.dom,0):e.selection.collapse(!0),n.length>1&&to(n,r=>bn(r,o))&&Yn(o,"data-mce-selected","1")},d7=(e,n,o)=>N.some(()=>{const r=e.selection.getRng(),a=o.bind(({rng:u,isStartInTable:f})=>{const b=fM(e,f?u.endContainer:u.startContainer);u.deleteContents(),il(e,f,b.filter(fo));const y=f?n[0]:n[n.length-1];return _4(e,y,r,f),fo(y)?N.none():N.some(f?n.slice(1):n.slice(0,-1))}).getOr(n);tx(a),gM(e)}),k4=(e,n,o,r)=>N.some(()=>{const a=e.selection.getRng(),u=n[0],f=o[o.length-1];_4(e,u,a,!0),_4(e,f,a,!1);const b=fo(u)?n:n.slice(1),y=fo(f)?o:o.slice(0,-1);tx(b.concat(y)),r.deleteContents(),gM(e)}),O4=(e,n,o,r=!0)=>N.some(()=>{Qw(e,n,o,r)}),_b=(e,n)=>N.some(()=>lm(e,!1,n)),m7=(e,n,o)=>u7(n,o).bind(r=>r.fold(_e(O4,e),_e(_b,e),_e(d7,e),_e(k4,e))),kb=(e,n)=>a2(e,n),wi=(e,n,o,r)=>cp(n,r).fold(()=>m7(e,n,o),a=>kb(e,a)),c2=(e,n,o)=>{const r=U.fromDom(e.getBody()),a=e.selection.getRng();return o.length!==0?d7(e,o,N.none()):wi(e,r,a,n)},Nn=(e,n)=>Vo(Ju(n,e),ac),cp=(e,n)=>Vo(Ju(n,e),xa("caption")),hM=(e,n,o,r,a)=>Wl(o,e.getBody(),a).bind(u=>Nn(n,U.fromDom(u.getNode())).bind(f=>bn(f,r)?N.none():N.some(vt))),a2=(e,n)=>N.some(()=>{zi(n),e.selection.setCursorLocation(n.dom,0)}),A4=(e,n,o,r)=>kr(e.dom).bind(a=>Pa(e.dom).map(u=>n?o.isEqual(a)&&r.isEqual(u):o.isEqual(u)&&r.isEqual(a))).getOr(!0),R4=(e,n)=>a2(e,n),D4=(e,n,o)=>cp(e,U.fromDom(o.getNode())).fold(()=>N.some(vt),r=>ln(!bn(r,n),vt)),M4=(e,n,o,r,a)=>Wl(o,e.getBody(),a).fold(()=>N.some(vt),u=>A4(r,o,a,u)?R4(e,r):D4(n,r,u)),nx=(e,n,o,r)=>{const a=ae.fromRangeStart(e.selection.getRng());return Nn(o,r).bind(u=>fo(u)?a2(e,u):hM(e,o,n,u,a))},B4=(e,n,o,r)=>{const a=ae.fromRangeStart(e.selection.getRng());return fo(r)?a2(e,r):M4(e,o,n,r,a)},N4=(e,n)=>e?ND(n):Ft(n),pM=(e,n)=>{const o=ae.fromRangeStart(e.selection.getRng());return N4(n,o)||Rs(n,e.getBody(),o).exists(r=>N4(n,r))},bM=(e,n,o)=>{const r=U.fromDom(e.getBody());return cp(r,o).fold(()=>nx(e,n,r,o).orThunk(()=>ln(pM(e,n),vt)),a=>B4(e,n,r,a))},ox=(e,n)=>{const o=U.fromDom(e.selection.getStart(!0)),r=Nf(e);return e.selection.isCollapsed()&&r.length===0?bM(e,n,o):c2(e,o,r)},qf=(e,n)=>{let o=n;for(;o&&o!==e;){if(lr(o)||Jt(o))return o;o=o.parentNode}return null},Ob=["data-ephox-","data-mce-","data-alloy-","data-snooker-","_"],vM=Me.each,i2=e=>{const n=e.dom,o=new Set(e.serializer.getTempAttrs()),r=(u,f)=>{if(u.nodeName!==f.nodeName||u.nodeType!==f.nodeType)return!1;const b=x=>{const O={};return vM(n.getAttribs(x),A=>{const M=A.nodeName.toLowerCase();M!=="style"&&!a(M)&&(O[M]=n.getAttrib(x,M))}),O},y=(x,O)=>{for(const A in x)if(Et(x,A)){const M=O[A];if(ws(M)||x[A]!==M)return!1;delete O[A]}for(const A in O)if(Et(O,A))return!1;return!0};return Je(u)&&Je(f)&&(!y(b(u),b(f))||!y(n.parseStyle(n.getAttrib(u,"style")),n.parseStyle(n.getAttrib(f,"style"))))?!1:!Hc(u)&&!Hc(f)},a=u=>to(Ob,f=>fs(u,f))||o.has(u);return{compare:r,isAttributeInternal:a}},yM=e=>["h1","h2","h3","h4","h5","h6"].includes(e.name),f7=e=>e.name==="summary",CM=(e,n)=>{let o=e;for(;o=o.walk();)n(o)},P4=(e,n,o,r)=>{const a=o.name;for(let u=0,f=e.length;u{const r={nodes:{},attributes:{}};return o.firstChild&&CM(o,a=>{P4(e,n,a,r)}),r},l2=(e,n)=>{const o=(r,a)=>{We(r,u=>{const f=Xr(u.nodes);ge(u.filter.callbacks,b=>{for(let y=f.length-1;y>=0;y--){const x=f[y];(!(a?x.attr(u.filter.name)!==void 0:x.name===u.filter.name)||an(x.parent))&&f.splice(y,1)}f.length>0&&b(f,u.filter.name,n)})})};o(e.nodes,!1),o(e.attributes,!0)},$4=(e,n,o,r={})=>{const a=SM(e,n,o);l2(a,r)},sx=(e,n,o,r)=>{if((e.pad_empty_with_br||n.insert)&&o(r)){const u=new zr("br",1);n.insert&&u.attr("data-mce-bogus","1"),r.empty().append(u)}else r.empty().append(new zr("#text",3)).value=dn},wM=e=>{var n;return I4(e,"#text")&&((n=e==null?void 0:e.firstChild)===null||n===void 0?void 0:n.value)===dn},I4=(e,n)=>{const o=e==null?void 0:e.firstChild;return Se(o)&&o===e.lastChild&&o.name===n},xM=(e,n)=>{const o=e.getElementRule(n.name);return(o==null?void 0:o.paddEmpty)===!0},Ab=(e,n,o,r)=>r.isEmpty(n,o,a=>xM(e,a)),EM=(e,n)=>Se(e)&&(n(e)||e.name==="br"),TM=e=>{let n;for(let o=e;o;o=o.parent){const r=o.attr("contenteditable");if(r==="false")break;r==="true"&&(n=o)}return N.from(n)},rx=(e,n,o=e.parent)=>{if(n.getSpecialElements()[e.name])e.empty().remove();else{const r=e.children();for(const a of r)o&&!n.isValidChild(o.name,a.name)&&rx(a,n,o);e.unwrap()}},cx=(e,n,o,r=vt)=>{const a=n.getTextBlockElements(),u=n.getNonEmptyElements(),f=n.getWhitespaceElements(),b=Me.makeMap("tr,td,th,tbody,thead,tfoot,table,summary"),y=new Set,x=O=>O!==o&&!b[O.name];for(let O=0;O1)if(ax(n,A,M))rx(A,n);else{I.reverse(),L=I[0].clone(),r(L);let z=L;for(let G=0;G0?(V=I[G].clone(),r(V),z.append(V)):V=z;for(let X=I[G].firstChild;X&&X!==I[G+1];){const J=X.next;V.append(X),X=J}z=V}Ab(n,u,f,L)?M.insert(A,I[0],!0):(M.insert(L,I[0],!0),M.insert(A,L)),M=I[0],(Ab(n,u,f,M)||I4(M,"br"))&&M.empty().remove()}else if(A.parent){if(A.name==="li"){let z=A.prev;if(z&&(z.name==="ul"||z.name==="ol")){z.append(A);continue}if(z=A.next,z&&(z.name==="ul"||z.name==="ol")&&z.firstChild){z.insert(A,z.firstChild,!0);continue}const G=new zr("ul",1);r(G),A.wrap(G);continue}if(n.isValidChild(A.parent.name,"div")&&n.isValidChild("div",A.name)){const z=new zr("div",1);r(z),A.wrap(z)}else rx(A,n)}}},F4=(e,n)=>{let o=e;for(;o;){if(o.name===n)return!0;o=o.parent}return!1},ax=(e,n,o=n.parent)=>o?e.children[n.name]&&!e.isValidChild(o.name,n.name)||n.name==="a"&&F4(o,"a")?!0:f7(o)&&yM(n)?!((o==null?void 0:o.firstChild)===n&&(o==null?void 0:o.lastChild)===n):!1:!1,_M=(e,n,o,r)=>{const a=document.createRange();return a.setStart(e,n),a.setEnd(o,r),a},kM=e=>{const n=ae.fromRangeStart(e),o=ae.fromRangeEnd(e),r=e.commonAncestorContainer;return Rs(!1,r,o).map(a=>!hi(n,o,r)&&hi(n,a,r)?_M(n.container(),n.offset(),a.container(),a.offset()):e).getOr(e)},ix=e=>e.collapsed?e:kM(e),OM=e=>Se(e.firstChild)&&e.firstChild===e.lastChild,AM=e=>e.name==="br"||e.value===dn,L4=(e,n)=>e.getBlockElements()[n.name]&&OM(n)&&AM(n.firstChild),lx=(e,n)=>{const o=e.getNonEmptyElements();return Se(n)&&(n.isEmpty(o)||L4(e,n))},ux=(e,n)=>{let o=n.firstChild,r=n.lastChild;return o&&o.name==="meta"&&(o=o.next),r&&r.attr("id")==="mce_marker"&&(r=r.prev),lx(e,r)&&(r=r==null?void 0:r.prev),!o||o!==r?!1:o.name==="ul"||o.name==="ol"},dx=e=>{var n,o;const r=e.firstChild,a=e.lastChild;return r&&r.nodeName==="META"&&((n=r.parentNode)===null||n===void 0||n.removeChild(r)),a&&a.id==="mce_marker"&&((o=a.parentNode)===null||o===void 0||o.removeChild(a)),e},RM=(e,n,o)=>{const r=n.serialize(o),a=e.createFragment(r);return dx(a)},mx=e=>{var n;return pt((n=e==null?void 0:e.childNodes)!==null&&n!==void 0?n:[],o=>o.nodeName==="LI")},H4=e=>e.data===dn||Dn(e),u2=e=>Se(e==null?void 0:e.firstChild)&&e.firstChild===e.lastChild&&H4(e.firstChild),V4=e=>!e.firstChild||u2(e),DM=e=>e.length>0&&V4(e[e.length-1])?e.slice(0,-1):e,Kf=(e,n)=>{const o=e.getParent(n,e.isBlock);return o&&o.nodeName==="LI"?o:null},z4=(e,n)=>!!Kf(e,n),U4=(e,n)=>{const o=n.cloneRange(),r=n.cloneRange();return o.setStartBefore(e),r.setEndAfter(e),[o.cloneContents(),r.cloneContents()]},d2=(e,n)=>{const o=ae.before(e),a=pi(n).next(o);return a?a.toRange():null},um=(e,n)=>{const o=ae.after(e),a=pi(n).prev(o);return a?a.toRange():null},MM=(e,n,o,r)=>{const a=U4(e,r),u=e.parentNode;return u&&(u.insertBefore(a[0],e),Me.each(n,f=>{u.insertBefore(f,e)}),u.insertBefore(a[1],e),u.removeChild(e)),um(n[n.length-1],o)},g7=(e,n,o)=>{const r=e.parentNode;return r&&Me.each(n,a=>{r.insertBefore(a,e)}),d2(e,o)},BM=(e,n,o,r)=>(r.insertAfter(n.reverse(),e),um(n[0],o)),NM=(e,n,o,r)=>{const a=RM(n,e,r),u=Kf(n,o.startContainer),f=DM(mx(a.firstChild)),b=1,y=2,x=n.getRoot(),O=A=>{const M=ae.fromRangeStart(o),L=pi(n.getRoot()),V=A===b?L.prev(M):L.next(M),I=V==null?void 0:V.getNode();return I?Kf(n,I)!==u:!0};return u?O(b)?g7(u,f,x):O(y)?BM(u,f,x,n):MM(u,f,x,o):null},h7=["pre"],gj=(e,n,o,r)=>{var a;const u=n.firstChild,f=n.lastChild,b=f.attr("data-mce-type")==="bookmark"?f.prev:f,y=u===b,x=_t(h7,u.name);if(y&&x){const O=u.attr("contenteditable")!=="false",A=((a=e.getParent(o,e.isBlock))===null||a===void 0?void 0:a.nodeName.toLowerCase())===u.name,M=N.from(qf(r,o)).forall(lr);return O&&A&&M}else return!1},W4=Xg,Z4=(e,n,o)=>{if(Se(o)){const r=e.getParent(n.endContainer,W4);return o===r&&ky(U.fromDom(o),n)}else return!1},tu=(e,n,o)=>{var r;if(o.getAttribute("data-mce-bogus")==="all")(r=o.parentNode)===null||r===void 0||r.insertBefore(e.dom.createFragment(n),o);else{const a=o.firstChild,u=o.lastChild;!a||a===u&&a.nodeName==="BR"?e.dom.setHTML(o,n):e.selection.setContent(n,{no_events:!0})}},j4=(e,n,o)=>{N.from(e.getParent(n,"td,th")).map(U.fromDom).each(r=>mt(r,o))},fx=(e,n)=>{const o=e.schema.getTextInlineElements(),r=e.dom;if(n){const a=e.getBody(),u=i2(e);Me.each(r.select("*[data-mce-fragment]"),f=>{if(Se(o[f.nodeName.toLowerCase()])&&Ky(r,f)){for(let y=f.parentElement;Se(y)&&y!==a&&!M6(r,f,y);y=y.parentElement)if(u.compare(y,f)){r.remove(f,!0);break}}})}},G4=e=>{let n=e;for(;n=n.walk();)n.type===1&&n.attr("data-mce-fragment","1")},p7=e=>{Me.each(e.getElementsByTagName("*"),n=>{n.removeAttribute("data-mce-fragment")})},PM=e=>!!e.getAttribute("data-mce-fragment"),b7=(e,n)=>Se(n)&&!e.schema.getVoidElements()[n.nodeName],$M=(e,n)=>{var o,r,a;let u;const f=e.dom,b=e.selection;if(!n)return;b.scrollIntoView(n);const y=qf(e.getBody(),n);if(y&&f.getContentEditable(y)==="false"){f.remove(n),b.select(y);return}let x=f.createRng();const O=n.previousSibling;if(ke(O)){x.setStart(O,(r=(o=O.nodeValue)===null||o===void 0?void 0:o.length)!==null&&r!==void 0?r:0);const L=n.nextSibling;ke(L)&&(O.appendData(L.data),(a=L.parentNode)===null||a===void 0||a.removeChild(L))}else x.setStartBefore(n),x.setEndBefore(n);const A=L=>{let V=ae.fromRangeStart(L);return V=pi(e.getBody()).next(V),V==null?void 0:V.toRange()},M=f.getParent(n,f.isBlock);if(f.remove(n),M&&f.isEmpty(M)){const L=W4(M);Pm(U.fromDom(M)),x.setStart(M,0),x.setEnd(M,0),!L&&!PM(M)&&(u=A(x))?(x=u,f.remove(M)):f.add(M,f.create("br",L?{}:{"data-mce-bogus":"1"}))}b.setRng(x)},q4=e=>{const n=e.dom,o=ix(e.selection.getRng());e.selection.setRng(o);const r=n.getParent(o.startContainer,W4);Z4(n,o,r)?O4(e,o,U.fromDom(r)):o.startContainer===o.endContainer&&o.endOffset-o.startOffset===1&&ke(o.startContainer.childNodes[o.startOffset])?o.deleteContents():e.getDoc().execCommand("Delete",!1)},v7=e=>{for(let n=e;n;n=n.walk())if(n.attr("id")==="mce_marker")return N.some(n);return N.none()},IM=(e,n,o)=>{var r;return to(o.children(),yM)&&((r=e.getParent(n,e.isBlock))===null||r===void 0?void 0:r.nodeName)==="SUMMARY"},y7=(e,n,o)=>{var r,a;const u=e.selection,f=e.dom,b=e.parser,y=o.merge,x=Zf({validate:!0},e.schema),O='';o.preserve_zwsp||(n=Bc(n)),n.indexOf("{$caret}")===-1&&(n+="{$caret}"),n=n.replace(/\{\$caret\}/,O);let A=u.getRng();const M=A.startContainer,L=e.getBody();M===L&&u.isCollapsed()&&f.isBlock(L.firstChild)&&b7(e,L.firstChild)&&f.isEmpty(L.firstChild)&&(A=f.createRng(),A.setStart(L.firstChild,0),A.setEnd(L.firstChild,0),u.setRng(A)),u.isCollapsed()||q4(e);const V=u.getNode(),I={context:V.nodeName.toLowerCase(),data:o.data,insert:!0},z=b.parse(n,I);if(o.paste===!0&&ux(e.schema,z)&&z4(f,V))return A=NM(x,f,u.getRng(),z),A&&u.setRng(A),n;o.paste===!0&&gj(f,z,V,e.getBody())&&((r=z.firstChild)===null||r===void 0||r.unwrap()),G4(z);let G=z.lastChild;if(G&&G.attr("id")==="mce_marker"){const X=G;for(G=G.prev;G;G=G.walk(!0))if(G.type===3||!f.isBlock(G.name)){G.parent&&e.schema.isValidChild(G.parent.name,"span")&&G.parent.insert(X,G,G.name==="br");break}}if(e._selectionOverrides.showBlockCaretContainer(V),!I.invalid&&!IM(f,V,z))n=x.serialize(z),tu(e,n,V);else{e.selection.setContent(O);let X=u.getNode(),J;const ne=e.getBody();for(Yg(X)?X=J=ne:J=X;J&&J!==ne;)X=J,J=J.parentNode;n=X===ne?ne.innerHTML:f.getOuterHTML(X);const Ce=b.parse(n),Oe=v7(Ce),Ue=Oe.bind(TM).getOr(Ce);Oe.each(je=>je.replace(z));const fe=z.children(),le=(a=z.parent)!==null&&a!==void 0?a:Ce;z.unwrap();const xe=pt(fe,je=>ax(e.schema,je,le));cx(xe,e.schema,Ue),$4(b.getNodeFilters(),b.getAttributeFilters(),Ce),n=x.serialize(Ce),X===ne?f.setHTML(ne,n):f.setOuterHTML(X,n)}return fx(e,y),$M(e,f.get("mce_marker")),p7(e.getBody()),j4(f,u.getStart(),e.schema),rS(e.schema,e.getBody(),u.getStart()),n},Yf=e=>e instanceof zr,FM=e=>{Wf(e)&&kr(e.getBody()).each(n=>{const o=n.getNode(),r=Fi(o)?kr(o).getOr(n):n;e.selection.setRng(r.toRange())})},K4=(e,n,o)=>{e.dom.setHTML(e.getBody(),n),o!==!0&&FM(e)},LM=(e,n,o,r)=>{if(o=Bc(o),o.length===0||/^\s+$/.test(o)){const a='
    ';n.nodeName==="TABLE"?o=""+a+"":/^(UL|OL)$/.test(n.nodeName)&&(o="
  • "+a+"
  • ");const u=mr(e);return e.schema.isValidChild(n.nodeName.toLowerCase(),u.toLowerCase())?(o=a,o=e.dom.createHTML(u,Ch(e),o)):o||(o=a),K4(e,o,r.no_selection),{content:o,html:o}}else{r.format!=="raw"&&(o=Zf({validate:!1},e.schema).serialize(e.parser.parse(o,{isRootContent:!0,insert:!0})));const a=ss(U.fromDom(n))?o:Me.trim(o);return K4(e,a,r.no_selection),{content:a,html:a}}},C7=(e,n,o,r)=>{$4(e.parser.getNodeFilters(),e.parser.getAttributeFilters(),o);const a=Zf({validate:!1},e.schema).serialize(o),u=Bc(ss(U.fromDom(n))?a:Me.trim(a));return K4(e,u,r.no_selection),{content:o,html:u}},S7=(e,n,o)=>N.from(e.getBody()).map(r=>Yf(n)?C7(e,r,n,o):LM(e,r,n,o)).getOr({content:n,html:Yf(o.content)?"":o.content}),HM=e=>Y(e)?e:Ee,w7=(e,n,o)=>{let r=e.dom;const a=HM(o);for(;r.parentNode;){r=r.parentNode;const u=U.fromDom(r),f=n(u);if(f.isSome())return f;if(a(u))break}return N.none()},Y4=(e,n,o)=>{const r=n(e),a=HM(o);return r.orThunk(()=>a(e)?N.none():w7(e,n,a))},gx=cb,VM=(e,n,o)=>{const r=e.formatter.get(o);if(r)for(let a=0;a{const u=e.dom.getRoot();if(n===u)return!1;const f=e.dom.getParent(n,b=>VM(e,b,o)?!0:b.parentNode===u||!!ed(e,b,o,r,!0));return!!ed(e,f,o,r,a)},Qu=(e,n,o)=>Uo(o)&&gx(n,o.inline)||yi(o)&&gx(n,o.block)?!0:zs(o)?Je(n)&&e.is(n,o.selector):!1,zM=(e,n,o,r,a,u)=>{const f=o[r],b=r==="attributes";if(Y(o.onmatch))return o.onmatch(n,o,r);if(f){if(_0(f)){for(let y=0;y{const u=e.formatter.get(o),f=e.dom;if(u&&Je(n))for(let b=0;b{if(r)return m2(e,r,n,o,a);if(r=e.selection.getNode(),m2(e,r,n,o,a))return!0;const u=e.selection.getStart();return!!(u!==r&&m2(e,u,n,o,a))},UM=(e,n,o)=>{const r=[],a={},u=e.selection.getStart();return e.dom.getParent(u,f=>{for(let b=0;b{const o=a=>bn(a,U.fromDom(e.getBody())),r=(a,u)=>ed(e,a.dom,u)?N.some(u):N.none();return N.from(e.selection.getStart(!0)).bind(a=>Y4(U.fromDom(a),u=>pd(n,f=>r(u,f)),o)).getOrNull()},x7=(e,n)=>{const o=e.formatter.get(n),r=e.dom;if(o&&e.selection.isEditable()){const a=e.selection.getStart(),u=Hh(r,a);for(let f=o.length-1;f>=0;f--){const b=o[f];if(!zs(b))return!0;for(let y=u.length-1;y>=0;y--)if(r.is(u[y],b.selector))return!0}}return!1},ZM=(e,n,o)=>wo(o,(r,a)=>{const u=Dy(e,a);return e.formatter.matchNode(n,a,{},u)?r.concat([a]):r},[]),f2=ks,ap=(e,n)=>e.importNode(n,!0),X4=e=>{if(e){const n=new zn(e,e);for(let o=n.current();o;o=n.next())if(ke(o))return o}return null},hx=e=>{const n=U.fromTag("span");return Ja(n,{id:J1,"data-mce-bogus":"1","data-mce-type":"format-caret"}),e&&Zo(n,U.fromText(f2)),n},jM=e=>{const n=X4(e);return n&&n.data.charAt(0)===f2&&n.deleteData(0,1),n},Db=(e,n,o)=>{const r=e.dom,a=e.selection;if(zh(n))lm(e,!1,U.fromDom(n),o,!0);else{const u=a.getRng(),f=r.getParent(n,r.isBlock),b=u.startContainer,y=u.startOffset,x=u.endContainer,O=u.endOffset,A=jM(n);r.remove(n,!0),b===A&&y>0&&u.setStart(A,y-1),x===A&&O>0&&u.setEnd(A,O-1),f&&r.isEmpty(f)&&zi(U.fromDom(f)),a.setRng(u)}},px=(e,n,o)=>{const r=e.dom,a=e.selection;if(n)Db(e,n,o);else if(n=Qd(e.getBody(),a.getStart()),!n)for(;n=r.get(J1);)Db(e,n,o)},E7=(e,n,o)=>{var r,a;const u=e.dom,f=u.getParent(o,_e(Ko,e.schema));f&&u.isEmpty(f)?(r=o.parentNode)===null||r===void 0||r.replaceChild(n,o):(UR(U.fromDom(o)),u.isEmpty(o)?(a=o.parentNode)===null||a===void 0||a.replaceChild(n,o):u.insertAfter(n,o))},J4=(e,n)=>(e.appendChild(n),n),GM=(e,n)=>{var o;const r=hd(e,(u,f)=>J4(u,f.cloneNode(!1)),n),a=(o=r.ownerDocument)!==null&&o!==void 0?o:document;return J4(r,a.createTextNode(f2))},T7=(e,n,o,r,a,u)=>{const f=e.formatter,b=e.dom,y=pt(Cr(f.get()),A=>A!==r&&!Zs(A,"removeformat")),x=ZM(e,o,y);if(pt(x,A=>!Dk(e,A,r)).length>0){const A=o.cloneNode(!1);return b.add(n,A),f.remove(r,a,A,u),b.remove(A),N.some(A)}else return N.none()},bx=(e,n,o)=>{let r;const a=e.selection,u=e.formatter.get(n);if(!u)return;const f=a.getRng();let b=f.startOffset;const x=f.startContainer.nodeValue;r=Qd(e.getBody(),a.getStart());const O=/[^\s\u00a0\u00ad\u200b\ufeff]/;if(x&&b>0&&b{const a=e.dom,u=e.selection;let f=!1;const b=e.formatter.get(n);if(!b)return;const y=u.getRng(),x=y.startContainer,O=y.startOffset;let A=x;ke(x)&&(O!==x.data.length&&(f=!0),A=A.parentNode);const M=[];let L;for(;A;){if(ed(e,A,n,o,r)){L=A;break}A.nextSibling&&(f=!0),M.push(A),A=A.parentNode}if(L)if(f){const V=u.getBookmark();y.collapse(!0);let I=Gl(a,y,b,!0);I=D(I),e.formatter.remove(n,o,I,r),u.moveToBookmark(V)}else{const V=Qd(e.getBody(),L),I=Se(V)?a.getParents(L.parentNode,Ke,V):[],z=hx(!1).dom;E7(e,z,V??L);const G=T7(e,z,L,n,o,r),X=GM([...M,...G.toArray(),...I],z);V&&Db(e,V,Se(V)),u.setCursorLocation(X,1),a.isEmpty(L)&&a.remove(L)}},Q4=(e,n,o)=>{const r=e.selection,a=e.getBody();px(e,null,o),(n===8||n===46)&&r.isCollapsed()&&r.getStart().innerHTML===f2&&px(e,Qd(a,r.getStart()),!0),(n===37||n===39)&&px(e,Qd(a,r.getStart()),!0)},_7=e=>ke(e)&&El(e.data,dn),k7=e=>{e.on("mouseup keydown",n=>{Q4(e,n.keyCode,_7(e.selection.getRng().endContainer))})},e3=e=>{const n=hx(!1),o=GM(e,n.dom);return{caretContainer:n,caretPosition:ae(o,0)}},vx=(e,n)=>{const{caretContainer:o,caretPosition:r}=e3(n);return hs(U.fromDom(e),o),xn(U.fromDom(e)),r},KM=(e,n)=>{const{caretContainer:o,caretPosition:r}=e3(n);return e.insertNode(o.dom),r},YM=(e,n)=>{if(Lc(n.dom))return!1;const o=e.schema.getTextInlineElements();return Et(o,un(n))&&!Lc(n.dom)&&!si(n.dom)},g2={},XM=jo(["pre"]),yx=(e,n)=>{g2[e]||(g2[e]=[]),g2[e].push(n)},dm=(e,n)=>{Et(g2,e)&&ge(g2[e],o=>{o(n)})};yx("pre",e=>{const n=e.selection.getRng(),o=a=>u=>{const f=u.previousSibling;return XM(f)&&_t(a,f)},r=(a,u)=>{const f=U.fromDom(u),b=_l(f).dom;xn(f),Vn(U.fromDom(a),[U.fromTag("br",b),U.fromTag("br",b),...Es(f)])};if(!n.collapsed){const a=e.selection.getSelectedBlocks(),u=pt(pt(a,XM),o(a));ge(u,f=>{r(f.previousSibling,f)})}});const JM=["fontWeight","fontStyle","color","fontSize","fontFamily"],t3=e=>En(e.styles)&&to(Cr(e.styles),n=>_t(JM,n)),Wo=e=>Vo(e,n=>Uo(n)&&n.inline==="span"&&t3(n)),Cx=(e,n)=>{const o=e.get(n);return An(o)?Wo(o):N.none()},Sx=(e,n)=>Lr(n,ae.fromRangeStart(e)).isNone(),td=(e,n)=>gr(n,ae.fromRangeEnd(e)).exists(o=>!Dn(o.getNode())||gr(n,o).isSome())===!1,n3=e=>n=>s1(n)&&e.isEditable(n),QM=e=>{const n=e.getSelectedBlocks(),o=e.getRng();if(e.isCollapsed())return[];if(n.length===1)return Sx(o,n[0])&&td(o,n[0])?n:[];{const r=yr(n).filter(f=>Sx(o,f)).toArray(),a=mu(n).filter(f=>td(o,f)).toArray(),u=n.slice(1,-1);return r.concat(u).concat(a)}},h2=e=>pt(QM(e),n3(e.dom)),eB=e=>pt(e.getSelectedBlocks(),n3(e.dom)),o3=Me.each,Xf=e=>Je(e)&&!Hc(e)&&!Lc(e)&&!si(e),tB=(e,n)=>{for(let o=e;o;o=o[n]){if(ke(o)&&Hn(o.data))return e;if(Je(o)&&!Hc(o))return o}return e},Jf=(e,n,o)=>{const r=i2(e),a=xu(n)&&e.dom.isEditable(n),u=xu(o)&&e.dom.isEditable(o);if(a&&u){const f=tB(n,"previousSibling"),b=tB(o,"nextSibling");if(r.compare(f,b)){for(let y=f.nextSibling;y&&y!==b;){const x=y;y=y.nextSibling,f.appendChild(x)}return e.dom.remove(b),Me.each(Me.grep(b.childNodes),y=>{f.appendChild(y)}),f}}return o},nB=(e,n,o,r)=>{var a;if(r&&n.merge_siblings!==!1){const u=(a=Jf(e,ze(r),r))!==null&&a!==void 0?a:r;Jf(e,u,ze(u,!0))}},Qf=(e,n,o)=>{if(n.clear_child_styles){const r=n.links?"*:not(a)":"*";o3(e.select(r,o),a=>{Xf(a)&&e.isEditable(a)&&o3(n.styles,(u,f)=>{e.setStyle(a,f,"")})})}},ua=(e,n,o)=>{o3(e.childNodes,r=>{Xf(r)&&(n(r)&&o(r),r.hasChildNodes()&&ua(r,n,o))})},wx=(e,n)=>{n.nodeName==="SPAN"&&e.getAttribs(n).length===0&&e.remove(n,!0)},xx=(e,n)=>o=>!!(o&&Pf(e,o,n)),oB=(e,n,o)=>r=>{e.setStyle(r,n,o),r.getAttribute("style")===""&&r.removeAttribute("style"),wx(e,r)},ip=gi.generate([{keep:[]},{rename:["name"]},{removed:[]}]),Ex=/^(src|href|style)$/,s3=Me.each,da=cb,Tx=e=>/^(TR|TH|TD)$/.test(e.nodeName),r3=(e,n,o)=>e.isChildOf(n,o)&&n!==o&&!e.isBlock(o),_x=(e,n,o)=>{let r=n[o?"startContainer":"endContainer"],a=n[o?"startOffset":"endOffset"];if(Je(r)){const u=r.childNodes.length-1;!o&&a&&a--,r=r.childNodes[a>u?u:a]}return ke(r)&&o&&a>=r.data.length&&(r=new zn(r,e.getBody()).next()||r),ke(r)&&!o&&a===0&&(r=new zn(r,e.getBody()).prev()||r),r},kx=(e,n)=>{const o=n?"firstChild":"lastChild",r=e[o];return Tx(e)&&r?e.nodeName==="TR"&&r[o]||r:e},mm=(e,n,o,r)=>{var a;const u=e.create(o,r);return(a=n.parentNode)===null||a===void 0||a.insertBefore(u,n),u.appendChild(n),u},Ox=(e,n,o,r,a)=>{const u=U.fromDom(n),f=U.fromDom(e.create(r,a)),b=o?Ac(u):U0(u);return Vn(f,b),o?(hs(u,f),qg(f,u)):(ti(u,f),Zo(f,u)),f.dom},O7=(e,n)=>n.links&&e.nodeName==="A",c3=(e,n,o)=>{const r=n.parentNode;let a;const u=e.dom,f=mr(e);yi(o)&&r===u.getRoot()&&(!o.list_block||!da(n,o.list_block))&&ge(Xr(n.childNodes),b=>{jl(e,f,b.nodeName.toLowerCase())?a?a.appendChild(b):(a=mm(u,b,f),u.setAttribs(a,Ch(e))):a=null}),!(lb(o)&&!da(o.inline,n))&&u.remove(n,!0)},sB=(e,n,o)=>wc(e)?{name:n,value:null}:{name:e,value:vi(n,o)},rB=(e,n)=>{e.getAttrib(n,"style")===""&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style"))},cB=(e,n,o,r,a)=>{let u=!1;s3(o.styles,(f,b)=>{const{name:y,value:x}=sB(b,f,r),O=ab(x,y);(o.remove_similar||Q(x)||!Je(a)||da(Pf(e,a,y),O))&&e.setStyle(n,y,""),u=!0}),u&&rB(e,n)},A7=(e,n,o)=>{n==="removeformat"?ge(eB(e.selection),r=>{ge(JM,a=>e.dom.setStyle(r,a,"")),rB(e.dom,r)}):Cx(e.formatter,n).each(r=>{ge(eB(e.selection),a=>cB(e.dom,a,r,o,null))})},Mb=(e,n,o,r,a)=>{const u=e.dom,f=i2(e),b=e.schema;if(Uo(n)&&oh(b,n.inline)&&qt(b,r)&&r.parentElement===e.getBody())return c3(e,r,n),ip.removed();if(!n.ceFalseOverride&&r&&u.getContentEditableParent(r)==="false"||r&&!Qu(u,r,n)&&!O7(r,n))return ip.keep();const y=r,x=n.preserve_attributes;if(Uo(n)&&n.remove==="all"&&An(x)){const O=pt(u.getAttribs(y),A=>_t(x,A.name.toLowerCase()));if(u.removeAllAttribs(y),ge(O,A=>u.setAttrib(y,A.name,A.value)),O.length>0)return ip.rename("span")}if(n.remove!=="all"){cB(u,y,n,o,a),s3(n.attributes,(A,M)=>{const{name:L,value:V}=sB(M,A,o);if(n.remove_similar||Q(V)||!Je(a)||da(u.getAttrib(a,L),V)){if(L==="class"){const I=u.getAttrib(y,L);if(I){let z="";if(ge(I.split(/\s+/),G=>{/mce\-\w+/.test(G)&&(z+=(z?" ":"")+G)}),z){u.setAttrib(y,L,z);return}}}if(Ex.test(L)&&y.removeAttribute("data-mce-"+L),L==="style"&&jo(["li"])(y)&&u.getStyle(y,"list-style-type")==="none"){y.removeAttribute(L),u.setStyle(y,"list-style-type","none");return}L==="class"&&y.removeAttribute("className"),y.removeAttribute(L)}}),s3(n.classes,A=>{A=vi(A,o),(!Je(a)||u.hasClass(a,A))&&u.removeClass(y,A)});const O=u.getAttribs(y);for(let A=0;A{let u;return n.parentNode&&ge(Hh(e.dom,n.parentNode).reverse(),f=>{if(!u&&Je(f)&&f.id!=="_start"&&f.id!=="_end"){const b=ed(e,f,o,r,a);b&&b.split!==!1&&(u=f)}}),u},aB=(e,n,o,r)=>Mb(e,n,o,r,r).fold(Fe(r),a=>(e.dom.createFragment().appendChild(r),e.dom.rename(r,a)),Fe(null)),a3=(e,n,o,r,a,u,f,b)=>{var y,x;let O,A;const M=e.dom;if(o){const L=o.parentNode;for(let V=r.parentNode;V&&V!==L;V=V.parentNode){let I=M.clone(V,!1);for(let z=0;z{const u=e.formatter.get(n),f=u[0],b=e.dom,y=e.selection,x=I=>{const z=R7(e,I,n,o,a);return a3(e,u,z,I,I,!0,f,o)},O=I=>Hc(I)&&Je(I)&&(I.id==="_start"||I.id==="_end"),A=I=>to(u,z=>Bb(e,z,o,I,I)),M=I=>{const z=Xr(I.childNodes),X=A(I)||to(u,Ce=>Qu(b,I,Ce)),J=I.parentNode;if(!X&&Se(J)&&Vh(f)&&A(J),f.deep&&z.length)for(let Ce=0;Ce{Je(I)&&e.dom.getStyle(I,"text-decoration")===Ce&&I.parentNode&&hw(b,I.parentNode)===Ce&&Bb(e,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:Ce}},void 0,I)})},L=I=>{const z=b.get(I?"_start":"_end");if(z){let G=z[I?"firstChild":"lastChild"];return O(G)&&(G=G[I?"firstChild":"lastChild"]),ke(G)&&G.data.length===0&&(G=I?z.previousSibling||z.nextSibling:z.nextSibling||z.previousSibling),b.remove(z,!0),G}else return null},V=I=>{let z,G,X=Gl(b,I,u,I.collapsed);if(f.split){if(X=D(X),z=_x(e,X,!0),G=_x(e,X),z!==G){if(z=kx(z,!0),G=kx(G,!1),r3(b,z,G)){const ne=N.from(z.firstChild).getOr(z);x(Ox(b,ne,!0,"span",{id:"_start","data-mce-type":"bookmark"})),L(!0);return}if(r3(b,G,z)){const ne=N.from(G.lastChild).getOr(G);x(Ox(b,ne,!1,"span",{id:"_end","data-mce-type":"bookmark"})),L(!1);return}z=mm(b,z,"span",{id:"_start","data-mce-type":"bookmark"}),G=mm(b,G,"span",{id:"_end","data-mce-type":"bookmark"});const J=b.createRng();J.setStartAfter(z),J.setEndBefore(G),Gh(b,J,ne=>{ge(ne,Ce=>{!Hc(Ce)&&!Hc(Ce.parentNode)&&x(Ce)})}),x(z),x(G),z=L(!0),G=L()}else z=G=x(z);X.startContainer=z.parentNode?z.parentNode:z,X.startOffset=b.nodeIndex(z),X.endContainer=G.parentNode?G.parentNode:G,X.endOffset=b.nodeIndex(G)+1}Gh(b,X,J=>{ge(J,M)})};if(r){if(Ih(r)){const I=b.createRng();I.setStartBefore(r),I.setEndAfter(r),V(I)}else V(r);om(e,n,r,o);return}!y.isCollapsed()||!Uo(f)||Nf(e).length?(Fh(e,()=>qu(e,V),I=>Uo(f)&&Rb(e,n,o,I)),e.nodeChanged()):qM(e,n,o,a),A7(e,n,o),om(e,n,r,o)},i3=(e,n,o,r,a)=>{(r||e.selection.isEditable())&&D7(e,n,o,r,a)},Bb=(e,n,o,r,a)=>Mb(e,n,o,r,a).fold(Ee,u=>(e.dom.rename(r,u),!0),Ke),iB=Me.each,M7=(e,n,o,r)=>{const a=u=>{if(xu(u)&&Je(u.parentNode)&&e.isEditable(u)){const f=hw(e,u.parentNode);e.getStyle(u,"color")&&f?e.setStyle(u,"text-decoration",f):e.getStyle(u,"text-decoration")===f&&e.setStyle(u,"text-decoration",null)}};n.styles&&(n.styles.color||n.styles.textDecoration)&&(Me.walk(r,a,"childNodes"),a(r))},B7=(e,n,o,r)=>{if(n.styles&&n.styles.backgroundColor){const a=xx(e,"fontSize");ua(r,u=>a(u)&&e.isEditable(u),oB(e,"backgroundColor",vi(n.styles.backgroundColor,o)))}},N7=(e,n,o,r)=>{if(Uo(n)&&(n.inline==="sub"||n.inline==="sup")){const a=xx(e,"fontSize");ua(r,f=>a(f)&&e.isEditable(f),oB(e,"fontSize",""));const u=pt(e.select(n.inline==="sup"?"sub":"sup",r),e.isEditable);e.remove(u,!0)}},P7=(e,n,o,r)=>{iB(n,a=>{Uo(a)&&iB(e.dom.select(a.inline,r),u=>{Xf(u)&&Bb(e,a,o,u,a.exact?u:null)}),Qf(e.dom,a,r)})},$7=(e,n,o,r,a)=>{const u=a.parentNode;ed(e,u,o,r)&&Bb(e,n,r,a)||n.merge_with_parents&&u&&e.dom.getParent(u,f=>ed(e,f,o,r)?(Bb(e,n,r,a),!0):!1)},Ax=Me.each,I7=(e,n,o,r)=>{if(HS(e)&&Uo(n)&&o.parentNode){const a=iS(e.schema),u=ex(U.fromDom(o),f=>Lc(f.dom));return Jr(a,r)&&fo(U.fromDom(o.parentNode),!1)&&!u}else return!1},lB=(e,n,o,r)=>{if(Ax(o.styles,(a,u)=>{e.setStyle(n,u,vi(a,r))}),o.styles){const a=e.getAttrib(n,"style");a&&e.setAttrib(n,"data-mce-style",a)}},F7=(e,n,o,r)=>{const a=e.formatter.get(n),u=a[0],f=!r&&e.selection.isCollapsed(),b=e.dom,y=e.selection,x=(V,I=u)=>{Y(I.onformat)&&I.onformat(V,I,o,r),lB(b,V,I,o),Ax(I.attributes,(z,G)=>{b.setAttrib(V,G,vi(z,o))}),Ax(I.classes,z=>{const G=vi(z,o);b.hasClass(V,G)||b.addClass(V,G)})},O=(V,I)=>{let z=!1;return Ax(V,G=>zs(G)?b.getContentEditable(I)==="false"&&!G.ceFalseOverride||Se(G.collapsed)&&G.collapsed!==f?!0:b.is(I,G.selector)&&!Lc(I)?(x(I,G),z=!0,!1):!0:!1),z},A=V=>{if(q(V)){const I=b.create(V);return x(I),I}else return null},M=(V,I,z)=>{const G=[];let X=!0;const J=u.inline||u.block,ne=A(J),Ce=fe=>ib(u)&&ed(e,fe,n,o),Oe=(fe,le,xe)=>{const je=$f(u)&&Ko(e.schema,fe)&&jl(e,le,J);return xe&&je},Ue=(fe,le,xe,je)=>{const ct=fe.nodeName.toLowerCase(),Mt=jl(e,J,ct)&&jl(e,le,J),zt=!z&&ke(fe)&&ic(fe.data),_n=Lc(fe),Zn=!Uo(u)||!V.isBlock(fe);return(xe||je)&&Mt&&!zt&&!_n&&Zn};Gh(V,I,fe=>{let le;const xe=je=>{let ct=!1,Mt=X,zt=!1;const _n=je.parentNode,Zn=_n.nodeName.toLowerCase(),Mo=V.getContentEditable(je);Se(Mo)&&(Mt=X,X=Mo==="true",ct=!0,zt=Lh(e,je));const or=X&&!ct;if(Dn(je)&&!I7(e,u,je,Zn)){le=null,yi(u)&&V.remove(je);return}if(Ce(je)){le=null;return}if(Oe(je,Zn,or)){const Ms=V.rename(je,J);x(Ms),G.push(Ms),le=null;return}if(zs(u)){let Ms=O(a,je);if(!Ms&&Se(_n)&&Vh(u)&&(Ms=O(a,_n)),!Uo(u)||Ms){le=null;return}}Se(ne)&&Ue(je,Zn,or,zt)?(le||(le=V.clone(ne,!1),_n.insertBefore(le,je),G.push(le)),zt&&ct&&(X=Mt),le.appendChild(je)):(le=null,ge(Xr(je.childNodes),xe),ct&&(X=Mt),le=null)};ge(fe,xe)}),u.links===!0&&ge(G,fe=>{const le=xe=>{xe.nodeName==="A"&&x(xe,u),ge(Xr(xe.childNodes),le)};le(fe)}),ge(G,fe=>{const le=ct=>{let Mt=0;return ge(ct.childNodes,zt=>{!aa(zt)&&!Hc(zt)&&Mt++}),Mt},xe=ct=>Vo(ct.childNodes,Ay).filter(zt=>V.getContentEditable(zt)!=="false"&&Qu(V,zt,u)).map(zt=>{const _n=V.clone(zt,!1);return x(_n),V.replace(_n,ct,!0),V.remove(zt,!0),_n}).getOr(ct),je=le(fe);if((G.length>1||!V.isBlock(fe))&&je===0){V.remove(fe,!0);return}(Uo(u)||yi(u)&&u.wrapper)&&(!u.exact&&je===1&&(fe=xe(fe)),P7(e,a,o,fe),$7(e,u,n,o,fe),B7(V,u,o,fe),M7(V,u,o,fe),N7(V,u,o,fe),nB(e,u,o,fe))})},L=Ih(r)?r:y.getNode();if(b.getContentEditable(L)==="false"&&!Lh(e,L)){r=L,O(a,r),er(e,n,r,o);return}if(u){if(r)if(Ih(r)){if(!O(a,r)){const V=b.createRng();V.setStartBefore(r),V.setEndAfter(r),M(b,Gl(b,V,a),!0)}}else M(b,r,!0);else!f||!Uo(u)||Nf(e).length?(y.setRng(ix(y.getRng())),Fh(e,()=>{qu(e,(V,I)=>{const z=I?V:Gl(b,V,a);M(b,z,!1)})},Ke),e.nodeChanged()):bx(e,n,o),Cx(e.formatter,n).each(V=>{ge(h2(e.selection),I=>lB(b,I,V,o))});dm(n,e)}er(e,n,r,o)},uB=(e,n,o,r)=>{(r||e.selection.isEditable())&&F7(e,n,o,r)},dB=e=>Et(e,"vars"),L7=(e,n)=>{e.set({}),n.on("NodeChange",o=>{fB(n,o.element,e.get())}),n.on("FormatApply FormatRemove",o=>{const r=N.from(o.node).map(a=>Ih(a)?a:a.startContainer).bind(a=>Je(a)?N.some(a):N.from(a.parentElement)).getOrThunk(()=>l3(n));fB(n,r,e.get())})},l3=e=>e.selection.getStart(),mB=(e,n,o,r,a)=>Fp(n,b=>{const y=e.formatter.matchNode(b,o,a??{},r);return!ws(y)},b=>VM(e,b,o)?!0:r?!1:Se(e.formatter.matchNode(b,o,a,!0))),lp=(e,n)=>{const o=n??l3(e);return pt(Hh(e.dom,o),r=>Je(r)&&!si(r))},fB=(e,n,o)=>{const r=lp(e,n);We(o,(a,u)=>{const f=b=>{const y=mB(e,r,u,b.similar,dB(b)?b.vars:void 0),x=y.isSome();if(b.state.get()!==x){b.state.set(x);const O=y.getOr(n);dB(b)?b.callback(x,{node:O,format:u,parents:r}):ge(b.callbacks,A=>A(x,{node:O,format:u,parents:r}))}};ge([a.withSimilar,a.withoutSimilar],f),ge(a.withVars,f)})},H7=(e,n,o,r,a,u)=>{const f=n.get();ge(o.split(","),b=>{const y=Kn(f,b).getOrThunk(()=>{const O={withSimilar:{state:ao(!1),similar:!0,callbacks:[]},withoutSimilar:{state:ao(!1),similar:!1,callbacks:[]},withVars:[]};return f[b]=O,O}),x=()=>{const O=lp(e);return mB(e,O,b,a,u).isSome()};if(ws(u)){const O=a?y.withSimilar:y.withoutSimilar;O.callbacks.push(r),O.callbacks.length===1&&O.state.set(x())}else y.withVars.push({state:ao(x()),similar:a,vars:u,callback:r})}),n.set(f)},V7=(e,n,o)=>{const r=e.get();ge(n.split(","),a=>Kn(r,a).each(u=>{r[a]={withSimilar:{...u.withSimilar,callbacks:pt(u.withSimilar.callbacks,f=>f!==o)},withoutSimilar:{...u.withoutSimilar,callbacks:pt(u.withoutSimilar.callbacks,f=>f!==o)},withVars:pt(u.withVars,f=>f.callback!==o)}})),e.set(r)},z7=(e,n,o,r,a,u)=>(H7(e,n,o,r,a,u),{unbind:()=>V7(n,o,r)}),gB=(e,n,o,r)=>{const a=e.formatter.get(n);a&&(Rb(e,n,o,r)&&(!("toggle"in a[0])||a[0].toggle)?i3(e,n,o,r):uB(e,n,o,r))},hB=Me.explode,pB=()=>{const e={};return{addFilter:(a,u)=>{ge(hB(a),f=>{Et(e,f)||(e[f]={name:f,callbacks:[]}),e[f].callbacks.push(u)})},getFilters:()=>xm(e),removeFilter:(a,u)=>{ge(hB(a),f=>{if(Et(e,f))if(Se(u)){const b=e[f],y=pt(b.callbacks,x=>x!==u);y.length>0?b.callbacks=y:delete e[f]}else delete e[f]})}}},U7=(e,n)=>{ge(n,o=>{e.attr(o,null)})},W7=(e,n,o)=>{e.addNodeFilter("font",r=>{ge(r,a=>{const u=n.parse(a.attr("style")),f=a.attr("color"),b=a.attr("face"),y=a.attr("size");f&&(u.color=f),b&&(u["font-family"]=b),y&&Sd(y).each(x=>{u["font-size"]=o[x-1]}),a.name="span",a.attr("style",n.serialize(u)),U7(a,["color","face","size"])})})},Z7=(e,n,o)=>{e.addNodeFilter("strike",r=>{const a=n.type!=="html4";ge(r,u=>{if(a)u.name="s";else{const f=o.parse(u.attr("style"));f["text-decoration"]="line-through",u.name="span",u.attr("style",o.serialize(f))}})})},j7=(e,n,o)=>{var r;const a=b1();n.convert_fonts_to_spans&&W7(e,a,Me.explode((r=n.font_size_legacy_values)!==null&&r!==void 0?r:"")),Z7(e,o,a)},G7=(e,n,o)=>{n.inline_styles&&j7(e,n,o)},bB=(e,n,o)=>{n.addNodeFilter("br",(r,a,u)=>{const f=Me.extend({},o.getBlockElements()),b=o.getNonEmptyElements(),y=o.getWhitespaceElements();f.body=1;const x=O=>O.name in f||Ml(o,O);for(let O=0,A=r.length;Ofetch(e).then(n=>n.ok?n.blob():Promise.reject()).catch(()=>Promise.reject({message:`Cannot convert ${e} to Blob. Resource might not exist or is inaccessible.`,uriType:"blob"})),K7=e=>{const n=/([a-z0-9+\/=\s]+)/i.exec(e);return n?n[1]:""},p2=e=>{const[n,...o]=e.split(","),r=o.join(","),a=/data:([^/]+\/[^;]+)(;.+)?/.exec(n);if(a){const u=a[2]===";base64",f=u?K7(r):decodeURIComponent(r);return N.some({type:a[1],data:f,base64Encoded:u})}else return N.none()},u3=(e,n,o=!0)=>{let r=n;if(o)try{r=atob(n)}catch{return N.none()}const a=new Uint8Array(r.length);for(let u=0;unew Promise((n,o)=>{p2(e).bind(({type:r,data:a,base64Encoded:u})=>u3(r,a,u)).fold(()=>o("Invalid data URI"),n)}),b2=e=>fs(e,"blob:")?q7(e):fs(e,"data:")?hj(e):Promise.reject("Unknown URI format"),d3=e=>new Promise((n,o)=>{const r=new FileReader;r.onloadend=()=>{n(r.result)},r.onerror=()=>{var a;o((a=r.error)===null||a===void 0?void 0:a.message)},r.readAsDataURL(e)});let v2=0;const y2=e=>(e||"blobid")+v2++,m3=(e,n,o)=>p2(e).bind(({data:r,type:a,base64Encoded:u})=>{if(n&&!u)return N.none();{const f=u?r:btoa(r);return o(f,a)}}),Y7=(e,n,o)=>{const r=e.create(y2(),n,o);return e.add(r),r},vB=(e,n,o=!1)=>m3(n,o,(r,a)=>N.from(e.getByData(r,a)).orThunk(()=>u3(a,r).map(u=>Y7(e,u,r)))),pj=(e,n)=>{const o=()=>Promise.reject("Invalid data URI");if(fs(n,"blob:")){const r=e.getByUri(n);return Se(r)?Promise.resolve(r):b2(n).then(a=>d3(a).then(u=>m3(u,!1,f=>N.some(Y7(e,a,f))).getOrThunk(o)))}else return fs(n,"data:")?vB(e,n).fold(o,r=>Promise.resolve(r)):Promise.reject("Unknown image data format")},X7=e=>Se(e.attr("data-mce-bogus")),J7=e=>e.attr("src")===Ze.transparentSrc||Se(e.attr("data-mce-placeholder")),bj=(e,n)=>{const{blob_cache:o}=n;if(o){const r=a=>{const u=a.attr("src");J7(a)||X7(a)||an(u)||vB(o,u,!0).each(f=>{a.attr("src",f.blobUri())})};e.addAttributeFilter("src",a=>ge(a,r))}},f3=(e,n)=>fs(e,`${n}/`),yB=(e,n,o,r,a)=>{let u;ws(e)?u="iframe":f3(e,"image")?u="img":f3(e,"video")?u="video":f3(e,"audio")?u="audio":u="iframe";const f=new zr(u,1);return f.attr(u==="audio"?{src:n}:{src:n,width:o,height:r}),(u==="audio"||u==="video")&&f.attr("controls",""),u==="iframe"&&a&&f.attr("sandbox",""),f},Q7=(e,n)=>{const o=e.schema;n.remove_trailing_brs&&bB(n,e,o),e.addAttributeFilter("href",a=>{let u=a.length;const f=y=>y.split(" ").filter(O=>O.length>0).concat(["noopener"]).sort().join(" "),b=y=>{const x=y?Me.trim(y):"";return/\b(noopener)\b/g.test(x)?x:f(x)};if(!n.allow_unsafe_link_target)for(;u--;){const y=a[u];y.name==="a"&&y.attr("target")==="_blank"&&y.attr("rel",b(y.attr("rel")))}}),n.allow_html_in_named_anchor||e.addAttributeFilter("id,name",a=>{let u=a.length,f,b,y,x;for(;u--;)if(x=a[u],x.name==="a"&&x.firstChild&&!x.attr("href"))for(y=x.parent,f=x.lastChild;f&&y;)b=f.prev,y.insert(f,x),f=b}),n.fix_list_elements&&e.addNodeFilter("ul,ol",a=>{let u=a.length,f,b;for(;u--;)if(f=a[u],b=f.parent,b&&(b.name==="ul"||b.name==="ol"))if(f.prev&&f.prev.name==="li")f.prev.append(f);else{const y=new zr("li",1);y.attr("style","list-style-type: none"),f.wrap(y)}});const r=o.getValidClasses();n.validate&&r&&e.addAttributeFilter("class",a=>{var u;let f=a.length;for(;f--;){const b=a[f],y=(u=b.attr("class"))!==null&&u!==void 0?u:"",x=Me.explode(y," ");let O="";for(let A=0;Age(a,u=>{u.replace(yB(u.attr("type"),u.name==="object"?u.attr("data"):u.attr("src"),u.attr("width"),u.attr("height"),n.sandbox_iframes))})),n.sandbox_iframes&&e.addNodeFilter("iframe",a=>ge(a,u=>u.attr("sandbox","")))};/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:g3,setPrototypeOf:CB,isFrozen:Rx,getPrototypeOf:SB,getOwnPropertyDescriptor:bs}=Object;let{freeze:La,seal:nu,create:e8}=Object,{apply:wB,construct:Ha}=typeof Reflect<"u"&&Reflect;La||(La=function(n){return n}),nu||(nu=function(n){return n}),wB||(wB=function(n,o,r){return n.apply(o,r)}),Ha||(Ha=function(n,o){return new n(...o)});const up=Ei(Array.prototype.forEach),fm=Ei(Array.prototype.pop),ll=Ei(Array.prototype.push),Dx=Ei(String.prototype.toLowerCase),h3=Ei(String.prototype.toString),dp=Ei(String.prototype.match),nd=Ei(String.prototype.replace),Nb=Ei(String.prototype.indexOf),xB=Ei(String.prototype.trim),xi=Ei(Object.prototype.hasOwnProperty),Zc=Ei(RegExp.prototype.test),Pb=t8(TypeError);function Ei(e){return function(n){for(var o=arguments.length,r=new Array(o>1?o-1:0),a=1;a2&&arguments[2]!==void 0?arguments[2]:Dx;CB&&CB(e,null);let r=n.length;for(;r--;){let a=n[r];if(typeof a=="string"){const u=o(a);u!==a&&(Rx(n)||(n[r]=u),a=u)}e[a]=!0}return e}function n8(e){for(let n=0;n/gm),OB=nu(/\${[\w\W]*}/gm),AB=nu(/^data-[\-\w.\u00B7-\uFFFF]/),RB=nu(/^aria-[\-\w]+$/),C3=nu(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),DB=nu(/^(?:\w+script|data):/i),r8=nu(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),MB=nu(/^html$/i),c8=nu(/^[a-z][.\w]*(-[.\w]+)+$/i);var Nx=Object.freeze({__proto__:null,MUSTACHE_EXPR:s8,ERB_EXPR:kB,TMPLIT_EXPR:OB,DATA_ATTR:AB,ARIA_ATTR:RB,IS_ALLOWED_URI:C3,IS_SCRIPT_OR_DATA:DB,ATTR_WHITESPACE:r8,DOCTYPE_NAME:MB,CUSTOM_ELEMENT:c8});const gm={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},BB=function(){return typeof window>"u"?null:window},NB=function(n,o){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let r=null;const a="data-tt-policy-suffix";o&&o.hasAttribute(a)&&(r=o.getAttribute(a));const u="dompurify"+(r?"#"+r:"");try{return n.createPolicy(u,{createHTML(f){return f},createScriptURL(f){return f}})}catch{return console.warn("TrustedTypes policy "+u+" could not be created."),null}};function S2(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:BB();const n=Ut=>S2(Ut);if(n.version="3.1.7",n.removed=[],!e||!e.document||e.document.nodeType!==gm.document)return n.isSupported=!1,n;let{document:o}=e;const r=o,a=r.currentScript,{DocumentFragment:u,HTMLTemplateElement:f,Node:b,Element:y,NodeFilter:x,NamedNodeMap:O=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:A,DOMParser:M,trustedTypes:L}=e,V=y.prototype,I=C2(V,"cloneNode"),z=C2(V,"remove"),G=C2(V,"nextSibling"),X=C2(V,"childNodes"),J=C2(V,"parentNode");if(typeof f=="function"){const Ut=o.createElement("template");Ut.content&&Ut.content.ownerDocument&&(o=Ut.content.ownerDocument)}let ne,Ce="";const{implementation:Oe,createNodeIterator:Ue,createDocumentFragment:fe,getElementsByTagName:le}=o,{importNode:xe}=r;let je={};n.isSupported=typeof g3=="function"&&typeof J=="function"&&Oe&&Oe.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:ct,ERB_EXPR:Mt,TMPLIT_EXPR:zt,DATA_ATTR:_n,ARIA_ATTR:Zn,IS_SCRIPT_OR_DATA:Mo,ATTR_WHITESPACE:or,CUSTOM_ELEMENT:Ms}=Nx;let{IS_ALLOWED_URI:Pe}=Nx,Ge=null;const cn=Ln({},[...EB,...p3,...Mx,...fp,..._B]);let nn=null;const nt=Ln({},[...b3,...v3,...y3,...Bx]);let ot=Object.seal(e8(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Re=null,Tt=null,en=!0,On=!0,jn=!1,jr=!0,fa=!1,ld=!0,Gr=!1,pl=!1,Ot=!1,tn=!1,gn=!1,lo=!1,go=!0,Ri=!1;const p0="user-content-";let b0=!0,ud=!1,dd={},Sg=null;const v0=Ln({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let yC=null;const BT=Ln({},["audio","video","img","source","image","track"]);let Dp=null;const NT=Ln({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),wg="http://www.w3.org/1998/Math/MathML",y0="http://www.w3.org/2000/svg",bl="http://www.w3.org/1999/xhtml";let md=bl,C0=!1,S0=null;const CC=Ln({},[wg,y0,bl],h3);let Mp=null;const AR=["application/xhtml+xml","text/html"],PT="text/html";let vr=null,xg=null;const Sm=o.createElement("form"),SC=function(ue){return ue instanceof RegExp||ue instanceof Function},ce=function(){let ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(xg&&xg===ue)){if((!ue||typeof ue!="object")&&(ue={}),ue=mp(ue),Mp=AR.indexOf(ue.PARSER_MEDIA_TYPE)===-1?PT:ue.PARSER_MEDIA_TYPE,vr=Mp==="application/xhtml+xml"?h3:Dx,Ge=xi(ue,"ALLOWED_TAGS")?Ln({},ue.ALLOWED_TAGS,vr):cn,nn=xi(ue,"ALLOWED_ATTR")?Ln({},ue.ALLOWED_ATTR,vr):nt,S0=xi(ue,"ALLOWED_NAMESPACES")?Ln({},ue.ALLOWED_NAMESPACES,h3):CC,Dp=xi(ue,"ADD_URI_SAFE_ATTR")?Ln(mp(NT),ue.ADD_URI_SAFE_ATTR,vr):NT,yC=xi(ue,"ADD_DATA_URI_TAGS")?Ln(mp(BT),ue.ADD_DATA_URI_TAGS,vr):BT,Sg=xi(ue,"FORBID_CONTENTS")?Ln({},ue.FORBID_CONTENTS,vr):v0,Re=xi(ue,"FORBID_TAGS")?Ln({},ue.FORBID_TAGS,vr):{},Tt=xi(ue,"FORBID_ATTR")?Ln({},ue.FORBID_ATTR,vr):{},dd=xi(ue,"USE_PROFILES")?ue.USE_PROFILES:!1,en=ue.ALLOW_ARIA_ATTR!==!1,On=ue.ALLOW_DATA_ATTR!==!1,jn=ue.ALLOW_UNKNOWN_PROTOCOLS||!1,jr=ue.ALLOW_SELF_CLOSE_IN_ATTR!==!1,fa=ue.SAFE_FOR_TEMPLATES||!1,ld=ue.SAFE_FOR_XML!==!1,Gr=ue.WHOLE_DOCUMENT||!1,tn=ue.RETURN_DOM||!1,gn=ue.RETURN_DOM_FRAGMENT||!1,lo=ue.RETURN_TRUSTED_TYPE||!1,Ot=ue.FORCE_BODY||!1,go=ue.SANITIZE_DOM!==!1,Ri=ue.SANITIZE_NAMED_PROPS||!1,b0=ue.KEEP_CONTENT!==!1,ud=ue.IN_PLACE||!1,Pe=ue.ALLOWED_URI_REGEXP||C3,md=ue.NAMESPACE||bl,ot=ue.CUSTOM_ELEMENT_HANDLING||{},ue.CUSTOM_ELEMENT_HANDLING&&SC(ue.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ot.tagNameCheck=ue.CUSTOM_ELEMENT_HANDLING.tagNameCheck),ue.CUSTOM_ELEMENT_HANDLING&&SC(ue.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ot.attributeNameCheck=ue.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),ue.CUSTOM_ELEMENT_HANDLING&&typeof ue.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ot.allowCustomizedBuiltInElements=ue.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),fa&&(On=!1),gn&&(tn=!0),dd&&(Ge=Ln({},_B),nn=[],dd.html===!0&&(Ln(Ge,EB),Ln(nn,b3)),dd.svg===!0&&(Ln(Ge,p3),Ln(nn,v3),Ln(nn,Bx)),dd.svgFilters===!0&&(Ln(Ge,Mx),Ln(nn,v3),Ln(nn,Bx)),dd.mathMl===!0&&(Ln(Ge,fp),Ln(nn,y3),Ln(nn,Bx))),ue.ADD_TAGS&&(Ge===cn&&(Ge=mp(Ge)),Ln(Ge,ue.ADD_TAGS,vr)),ue.ADD_ATTR&&(nn===nt&&(nn=mp(nn)),Ln(nn,ue.ADD_ATTR,vr)),ue.ADD_URI_SAFE_ATTR&&Ln(Dp,ue.ADD_URI_SAFE_ATTR,vr),ue.FORBID_CONTENTS&&(Sg===v0&&(Sg=mp(Sg)),Ln(Sg,ue.FORBID_CONTENTS,vr)),b0&&(Ge["#text"]=!0),Gr&&Ln(Ge,["html","head","body"]),Ge.table&&(Ln(Ge,["tbody"]),delete Re.tbody),ue.TRUSTED_TYPES_POLICY){if(typeof ue.TRUSTED_TYPES_POLICY.createHTML!="function")throw Pb('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof ue.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Pb('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ne=ue.TRUSTED_TYPES_POLICY,Ce=ne.createHTML("")}else ne===void 0&&(ne=NB(L,a)),ne!==null&&typeof Ce=="string"&&(Ce=ne.createHTML(""));La&&La(ue),xg=ue}},ie=Ln({},["mi","mo","mn","ms","mtext"]),Ne=Ln({},["annotation-xml"]),Ae=Ln({},["title","style","font","a","script"]),ut=Ln({},[...p3,...Mx,...o8]),Xt=Ln({},[...fp,...TB]),uo=function(ue){let st=J(ue);(!st||!st.tagName)&&(st={namespaceURI:md,tagName:"template"});const Lt=Dx(ue.tagName),Jo=Dx(st.tagName);return S0[ue.namespaceURI]?ue.namespaceURI===y0?st.namespaceURI===bl?Lt==="svg":st.namespaceURI===wg?Lt==="svg"&&(Jo==="annotation-xml"||ie[Jo]):!!ut[Lt]:ue.namespaceURI===wg?st.namespaceURI===bl?Lt==="math":st.namespaceURI===y0?Lt==="math"&&Ne[Jo]:!!Xt[Lt]:ue.namespaceURI===bl?st.namespaceURI===y0&&!Ne[Jo]||st.namespaceURI===wg&&!ie[Jo]?!1:!Xt[Lt]&&(Ae[Lt]||!ut[Lt]):!!(Mp==="application/xhtml+xml"&&S0[ue.namespaceURI]):!1},Xo=function(ue){ll(n.removed,{element:ue});try{J(ue).removeChild(ue)}catch{z(ue)}},ds=function(ue,st){try{ll(n.removed,{attribute:st.getAttributeNode(ue),from:st})}catch{ll(n.removed,{attribute:null,from:st})}if(st.removeAttribute(ue),ue==="is"&&!nn[ue])if(tn||gn)try{Xo(st)}catch{}else try{st.setAttribute(ue,"")}catch{}},w0=function(ue){let st=null,Lt=null;if(Ot)ue=""+ue;else{const qr=dp(ue,/^[\r\n\t ]+/);Lt=qr&&qr[0]}Mp==="application/xhtml+xml"&&md===bl&&(ue=''+ue+"");const Jo=ne?ne.createHTML(ue):ue;if(md===bl)try{st=new M().parseFromString(Jo,Mp)}catch{}if(!st||!st.documentElement){st=Oe.createDocument(md,"template",null);try{st.documentElement.innerHTML=C0?Ce:Jo}catch{}}const Cc=st.body||st.documentElement;return ue&&Lt&&Cc.insertBefore(o.createTextNode(Lt),Cc.childNodes[0]||null),md===bl?le.call(st,Gr?"html":"body")[0]:Gr?st.documentElement:Cc},x0=function(ue){return Ue.call(ue.ownerDocument||ue,ue,x.SHOW_ELEMENT|x.SHOW_COMMENT|x.SHOW_TEXT|x.SHOW_PROCESSING_INSTRUCTION|x.SHOW_CDATA_SECTION,null)},$T=function(ue){return ue instanceof A&&(typeof ue.nodeName!="string"||typeof ue.textContent!="string"||typeof ue.removeChild!="function"||!(ue.attributes instanceof O)||typeof ue.removeAttribute!="function"||typeof ue.setAttribute!="function"||typeof ue.namespaceURI!="string"||typeof ue.insertBefore!="function"||typeof ue.hasChildNodes!="function")},RR=function(ue){return typeof b=="function"&&ue instanceof b},fd=function(ue,st,Lt){je[ue]&&up(je[ue],Jo=>{Jo.call(n,st,Lt,xg)})},MF=function(ue){let st=null;if(fd("beforeSanitizeElements",ue,null),$T(ue))return Xo(ue),!0;const Lt=vr(ue.nodeName);if(fd("uponSanitizeElement",ue,{tagName:Lt,allowedTags:Ge}),ue.hasChildNodes()&&!RR(ue.firstElementChild)&&Zc(/<[/\w]/g,ue.innerHTML)&&Zc(/<[/\w]/g,ue.textContent)||ue.nodeType===gm.progressingInstruction||ld&&ue.nodeType===gm.comment&&Zc(/<[/\w]/g,ue.data))return Xo(ue),!0;if(!Ge[Lt]||Re[Lt]){if(!Re[Lt]&&BF(Lt)&&(ot.tagNameCheck instanceof RegExp&&Zc(ot.tagNameCheck,Lt)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(Lt)))return!1;if(b0&&!Sg[Lt]){const Jo=J(ue)||ue.parentNode,Cc=X(ue)||ue.childNodes;if(Cc&&Jo){const qr=Cc.length;for(let ga=qr-1;ga>=0;--ga){const vl=I(Cc[ga],!0);vl.__removalCount=(ue.__removalCount||0)+1,Jo.insertBefore(vl,G(ue))}}}return Xo(ue),!0}return ue instanceof y&&!uo(ue)||(Lt==="noscript"||Lt==="noembed"||Lt==="noframes")&&Zc(/<\/no(script|embed|frames)/i,ue.innerHTML)?(Xo(ue),!0):(fa&&ue.nodeType===gm.text&&(st=ue.textContent,up([ct,Mt,zt],Jo=>{st=nd(st,Jo," ")}),ue.textContent!==st&&(ll(n.removed,{element:ue.cloneNode()}),ue.textContent=st)),fd("afterSanitizeElements",ue,null),!1)},DR=function(ue,st,Lt){if(go&&(st==="id"||st==="name")&&(Lt in o||Lt in Sm))return!1;if(!(On&&!Tt[st]&&Zc(_n,st))){if(!(en&&Zc(Zn,st))){if(!nn[st]||Tt[st]){if(!(BF(ue)&&(ot.tagNameCheck instanceof RegExp&&Zc(ot.tagNameCheck,ue)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(ue))&&(ot.attributeNameCheck instanceof RegExp&&Zc(ot.attributeNameCheck,st)||ot.attributeNameCheck instanceof Function&&ot.attributeNameCheck(st))||st==="is"&&ot.allowCustomizedBuiltInElements&&(ot.tagNameCheck instanceof RegExp&&Zc(ot.tagNameCheck,Lt)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(Lt))))return!1}else if(!Dp[st]){if(!Zc(Pe,nd(Lt,or,""))){if(!((st==="src"||st==="xlink:href"||st==="href")&&ue!=="script"&&Nb(Lt,"data:")===0&&yC[ue])){if(!(jn&&!Zc(Mo,nd(Lt,or,"")))){if(Lt)return!1}}}}}}return!0},BF=function(ue){return ue!=="annotation-xml"&&dp(ue,Ms)},NF=function(ue){fd("beforeSanitizeAttributes",ue,null);const{attributes:st}=ue;if(!st)return;const Lt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:nn};let Jo=st.length;for(;Jo--;){const Cc=st[Jo],{name:qr,namespaceURI:ga,value:vl}=Cc,wC=vr(qr);let Sc=qr==="value"?vl:xB(vl);const PF=Sc;if(Lt.attrName=wC,Lt.attrValue=Sc,Lt.keepAttr=!0,Lt.forceKeepAttr=void 0,fd("uponSanitizeAttribute",ue,Lt),Sc=Lt.attrValue,Lt.forceKeepAttr)continue;if(!Lt.keepAttr){ds(qr,ue);continue}if(!jr&&Zc(/\/>/i,Sc)){ds(qr,ue);continue}fa&&up([ct,Mt,zt],IF=>{Sc=nd(Sc,IF," ")});const $F=vr(ue.nodeName);if(!DR($F,wC,Sc)){ds(qr,ue);continue}if(Ri&&(wC==="id"||wC==="name")&&(ds(qr,ue),Sc=p0+Sc),ld&&Zc(/((--!?|])>)|<\/(style|title)/i,Sc)){ds(qr,ue);continue}if(ne&&typeof L=="object"&&typeof L.getAttributeType=="function"&&!ga)switch(L.getAttributeType($F,wC)){case"TrustedHTML":{Sc=ne.createHTML(Sc);break}case"TrustedScriptURL":{Sc=ne.createScriptURL(Sc);break}}if(Sc!==PF)try{ga?ue.setAttributeNS(ga,qr,Sc):ue.setAttribute(qr,Sc),$T(ue)?Xo(ue):fm(n.removed)}catch{}}fd("afterSanitizeAttributes",ue,null)},sj=function Ut(ue){let st=null;const Lt=x0(ue);for(fd("beforeSanitizeShadowDOM",ue,null);st=Lt.nextNode();)fd("uponSanitizeShadowNode",st,null),!MF(st)&&(st.content instanceof u&&Ut(st.content),NF(st));fd("afterSanitizeShadowDOM",ue,null)};return n.sanitize=function(Ut){let ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},st=null,Lt=null,Jo=null,Cc=null;if(C0=!Ut,C0&&(Ut=""),typeof Ut!="string"&&!RR(Ut))if(typeof Ut.toString=="function"){if(Ut=Ut.toString(),typeof Ut!="string")throw Pb("dirty is not a string, aborting")}else throw Pb("toString is not a function");if(!n.isSupported)return Ut;if(pl||ce(ue),n.removed=[],typeof Ut=="string"&&(ud=!1),ud){if(Ut.nodeName){const vl=vr(Ut.nodeName);if(!Ge[vl]||Re[vl])throw Pb("root node is forbidden and cannot be sanitized in-place")}}else if(Ut instanceof b)st=w0(""),Lt=st.ownerDocument.importNode(Ut,!0),Lt.nodeType===gm.element&&Lt.nodeName==="BODY"||Lt.nodeName==="HTML"?st=Lt:st.appendChild(Lt);else{if(!tn&&!fa&&!Gr&&Ut.indexOf("<")===-1)return ne&&lo?ne.createHTML(Ut):Ut;if(st=w0(Ut),!st)return tn?null:lo?Ce:""}st&&Ot&&Xo(st.firstChild);const qr=x0(ud?Ut:st);for(;Jo=qr.nextNode();)MF(Jo)||(Jo.content instanceof u&&sj(Jo.content),NF(Jo));if(ud)return Ut;if(tn){if(gn)for(Cc=fe.call(st.ownerDocument);st.firstChild;)Cc.appendChild(st.firstChild);else Cc=st;return(nn.shadowroot||nn.shadowrootmode)&&(Cc=xe.call(r,Cc,!0)),Cc}let ga=Gr?st.outerHTML:st.innerHTML;return Gr&&Ge["!doctype"]&&st.ownerDocument&&st.ownerDocument.doctype&&st.ownerDocument.doctype.name&&Zc(MB,st.ownerDocument.doctype.name)&&(ga=" -`+ga),fa&&up([ct,Mt,zt],vl=>{ga=nd(ga,vl," ")}),ne&&lo?ne.createHTML(ga):ga},n.setConfig=function(){let Ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ce(Ut),pl=!0},n.clearConfig=function(){xg=null,pl=!1},n.isValidAttribute=function(Ut,ue,st){xg||ce({});const Lt=vr(Ut),Jo=vr(ue);return DR(Lt,Jo,st)},n.addHook=function(Ut,ue){typeof ue=="function"&&(je[Ut]=je[Ut]||[],ll(je[Ut],ue))},n.removeHook=function(Ut){if(je[Ut])return fm(je[Ut])},n.removeHooks=function(Ut){je[Ut]&&(je[Ut]=[])},n.removeAllHooks=function(){je={}},n}var PB=S2();const $B=Me.each,eg=Me.trim,S3=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],IB={ftp:21,http:80,https:443,mailto:25},w2=["img","video"],FB=(e,n)=>Se(e)?!e:Se(n)?!_t(w2,n):!0,w3=e=>{try{return decodeURIComponent(e)}catch{return unescape(e)}},x3=(e,n,o)=>{const r=w3(n).replace(/\s/g,"");return e.allow_script_urls?!1:/((java|vb)script|mhtml):/i.test(r)?!0:e.allow_html_data_urls?!1:/^data:image\//i.test(r)?FB(e.allow_svg_data_urls,o)&&/^data:image\/svg\+xml/i.test(r):/^data:/i.test(r)};class Ti{static parseDataUri(n){let o;const r=decodeURIComponent(n).split(","),a=/data:([^;]+)/.exec(r[0]);return a&&(o=a[1]),{type:o,data:r[1]}}static isDomSafe(n,o,r={}){if(r.allow_script_urls)return!0;{const a=Hd.decode(n).replace(/[\s\u0000-\u001F]+/g,"");return!x3(r,a,o)}}static getDocumentBaseUrl(n){var o;let r;return n.protocol.indexOf("http")!==0&&n.protocol!=="file:"?r=(o=n.href)!==null&&o!==void 0?o:"":r=n.protocol+"//"+n.host+n.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(r)&&(r=r.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(r)||(r+="/")),r}constructor(n,o={}){this.path="",this.directory="",n=eg(n),this.settings=o;const r=o.base_uri,a=this;if(/^([\w\-]+):([^\/]{2})/i.test(n)||/^\s*#/.test(n)){a.source=n;return}const u=n.indexOf("//")===0;if(n.indexOf("/")===0&&!u&&(n=(r&&r.protocol||"http")+"://mce_host"+n),!/^[\w\-]*:?\/\//.test(n)){const b=r?r.path:new Ti(document.location.href).directory;if((r==null?void 0:r.protocol)==="")n="//mce_host"+a.toAbsPath(b,n);else{const y=/([^#?]*)([#?]?.*)/.exec(n);y&&(n=(r&&r.protocol||"http")+"://mce_host"+a.toAbsPath(b,y[1])+y[2])}}n=n.replace(/@@/g,"(mce_at)");const f=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?(\[[a-zA-Z0-9:.%]+\]|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(n);f&&$B(S3,(b,y)=>{let x=f[y];x&&(x=x.replace(/\(mce_at\)/g,"@@")),a[b]=x}),r&&(a.protocol||(a.protocol=r.protocol),a.userInfo||(a.userInfo=r.userInfo),!a.port&&a.host==="mce_host"&&(a.port=r.port),(!a.host||a.host==="mce_host")&&(a.host=r.host),a.source=""),u&&(a.protocol="")}setPath(n){const o=/^(.*?)\/?(\w+)?$/.exec(n);o&&(this.path=o[0],this.directory=o[1],this.file=o[2]),this.source="",this.getURI()}toRelative(n){if(n==="./")return n;const o=new Ti(n,{base_uri:this});if(o.host!=="mce_host"&&this.host!==o.host&&o.host||this.port!==o.port||this.protocol!==o.protocol&&o.protocol!=="")return o.getURI();const r=this.getURI(),a=o.getURI();if(r===a||r.charAt(r.length-1)==="/"&&r.substr(0,r.length-1)===a)return r;let u=this.toRelPath(this.path,o.path);return o.query&&(u+="?"+o.query),o.anchor&&(u+="#"+o.anchor),u}toAbsolute(n,o){const r=new Ti(n,{base_uri:this});return r.getURI(o&&this.isSameOrigin(r))}isSameOrigin(n){if(this.host==n.host&&this.protocol==n.protocol){if(this.port==n.port)return!0;const o=this.protocol?IB[this.protocol]:null;if(o&&(this.port||o)==(n.port||o))return!0}return!1}toRelPath(n,o){let r=0,a="",u,f;const b=n.substring(0,n.lastIndexOf("/")).split("/"),y=o.split("/");if(b.length>=y.length){for(u=0,f=b.length;u=y.length||b[u]!==y[u]){r=u+1;break}}if(b.length=b.length||b[u]!==y[u]){r=u+1;break}}if(r===1)return o;for(u=0,f=b.length-(r-1);u{A&&b.push(A)});const y=[];for(let A=f.length-1;A>=0;A--)if(!(f[A].length===0||f[A]===".")){if(f[A]===".."){r++;continue}if(r>0){r--;continue}y.push(f[A])}const x=b.length-r;let O;return x<=0?O=ho(y).join("/"):O=b.slice(0,x).join("/")+"/"+ho(y).join("/"),O.indexOf("/")!==0&&(O="/"+O),a&&O.lastIndexOf("/")!==O.length-1&&(O+=a),O}getURI(n=!1){let o;return(!this.source||n)&&(o="",n||(this.protocol?o+=this.protocol+"://":o+="//",this.userInfo&&(o+=this.userInfo+"@"),this.host&&(o+=this.host),this.port&&(o+=":"+this.port)),this.path&&(o+=this.path),this.query&&(o+="?"+this.query),this.anchor&&(o+="#"+this.anchor),this.source=o),this.source}}const a8=Me.makeMap("src,href,data,background,action,formaction,poster,xlink:href"),E3="data-mce-type";let LB=0;const Px=(e,n,o,r,a)=>{var u,f,b,y;const x=n.validate,O=o.getSpecialElements();e.nodeType===$0&&!n.allow_conditional_comments&&/^\[if/i.test((u=e.nodeValue)!==null&&u!==void 0?u:"")&&(e.nodeValue=" "+e.nodeValue);const A=(f=a==null?void 0:a.tagName)!==null&&f!==void 0?f:e.nodeName.toLowerCase();if(r!=="html"&&o.isValid(r)){Se(a)&&(a.allowedTags[A]=!0);return}if(e.nodeType!==Td||A==="body")return;const M=U.fromDom(e),L=yu(M,E3),V=wr(M,"data-mce-bogus");if(!L&&q(V)){V==="all"?xn(M):ni(M);return}const I=o.getElementRule(A);if(x&&!I){Et(O,A)?xn(M):ni(M);return}else Se(a)&&(a.allowedTags[A]=!0);if(x&&I&&!L){if(ge((b=I.attributesForced)!==null&&b!==void 0?b:[],z=>{Yn(M,z.name,z.value==="{$uid}"?`mce_${LB++}`:z.value)}),ge((y=I.attributesDefault)!==null&&y!==void 0?y:[],z=>{yu(M,z.name)||Yn(M,z.name,z.value==="{$uid}"?`mce_${LB++}`:z.value)}),I.attributesRequired&&!to(I.attributesRequired,z=>yu(M,z))){ni(M);return}if(I.removeEmptyAttrs&&Qa(M)){ni(M);return}I.outputName&&I.outputName!==A&&mi(M,I.outputName)}},i8=(e,n,o,r,a)=>{const u=e.tagName.toLowerCase(),{attrName:f,attrValue:b}=a;a.keepAttr=T3(n,o,r,u,f,b),a.keepAttr?(a.allowedAttributes[f]=!0,VB(f,o)&&(a.attrValue=f),n.allow_svg_data_urls&&fs(b,"data:image/svg+xml")&&(a.forceKeepAttr=!0)):HB(e,f)&&(a.forceKeepAttr=!0)},T3=(e,n,o,r,a,u)=>o!=="html"&&!li(r)?!0:!(a in a8&&x3(e,u,r))&&(!e.validate||n.isValid(r,a)||fs(a,"data-")||fs(a,"aria-")),HB=(e,n)=>e.hasAttribute(E3)&&(n==="id"||n==="class"||n==="style"),VB=(e,n)=>e in n.getBoolAttrs(),l8=(e,n,o,r)=>{const{attributes:a}=e;for(let u=a.length-1;u>=0;u--){const f=a[u],b=f.name,y=f.value;!T3(n,o,r,e.tagName.toLowerCase(),b,y)&&!HB(e,b)?e.removeAttribute(b):VB(b,o)&&e.setAttribute(b,b)}},u8=(e,n,o)=>{const r=PB();return r.addHook("uponSanitizeElement",(a,u)=>{Px(a,e,n,o.track(a),u)}),r.addHook("uponSanitizeAttribute",(a,u)=>{i8(a,e,n,o.current(),u)}),r},d8=(e,n)=>{const r={...{IN_PLACE:!0,ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_TAGS:["#comment","#cdata-section","body"],ALLOWED_ATTR:[],SAFE_FOR_XML:!1}};return r.PARSER_MEDIA_TYPE=n,e.allow_script_urls?r.ALLOWED_URI_REGEXP=/.*/:e.allow_html_data_urls&&(r.ALLOWED_URI_REGEXP=/^(?!(\w+script|mhtml):)/i),r},m8=e=>{const n=["type","href","role","arcrole","title","show","actuate","label","from","to"].map(r=>`xlink:${r}`),o={IN_PLACE:!0,USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},ALLOWED_ATTR:n};return PB().sanitize(e,o),e.innerHTML},f8=(e,n)=>{const o=Ou();if(e.sanitize){const r=u8(e,n,o);return{sanitizeHtmlElement:(u,f)=>{r.sanitize(u,d8(e,f)),r.removed=[],o.reset()},sanitizeNamespaceElement:m8}}else return{sanitizeHtmlElement:(u,f)=>{const b=document.createNodeIterator(u,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_TEXT);let y;for(;y=b.nextNode();){const x=o.track(y);Px(y,e,n,x),Je(y)&&l8(y,e,n,x)}o.reset()},sanitizeNamespaceElement:vt}},zB=Me.makeMap,UB=Me.extend,x2=(e,n,o,r)=>{const a=e.name,u=a in o&&a!=="title"&&a!=="textarea"&&a!=="noscript",f=n.childNodes;for(let b=0,y=f.length;b{const r=[];for(let a=e,u=a;a;u=a,a=a.walk()){const f=a;ge(n,b=>b(f)),an(f.parent)&&f!==e?a=u:r.push(f)}for(let a=r.length-1;a>=0;a--){const u=r[a];ge(o,f=>f(u))}},g8=(e,n,o,r)=>{const a=o.validate,u=n.getNonEmptyElements(),f=n.getWhitespaceElements(),b=UB(zB("script,style,head,html,body,title,meta,param"),n.getBlockElements()),y=iS(n),x=/[ \t\r\n]+/g,O=/^[ \t\r\n]+/,A=/[ \t\r\n]+$/,M=X=>{let J=X.parent;for(;Se(J);){if(J.name in f)return!0;J=J.parent}return!1},L=X=>{let J=X;for(;Se(J);){if(J.name in y)return Ab(n,u,f,J);J=J.parent}return!1},V=X=>X.name in b||Ml(n,X)||li(X.name)&&X.parent===e,I=(X,J)=>{const ne=J?X.prev:X.next;return Se(ne)||an(X.parent)?!1:V(X.parent)&&(X.parent!==e||r.isRootContent===!0)};return[X=>{var J;if(X.type===3&&!M(X)){let ne=(J=X.value)!==null&&J!==void 0?J:"";ne=ne.replace(x," "),(EM(X.prev,V)||I(X,!0))&&(ne=ne.replace(O,"")),ne.length===0?X.remove():X.value=ne}},X=>{var J;if(X.type===1){const ne=n.getElementRule(X.name);if(a&&ne){const Ce=Ab(n,u,f,X);ne.paddInEmptyBlock&&Ce&&L(X)?sx(o,r,V,X):ne.removeEmpty&&Ce?V(X)?X.remove():X.unwrap():ne.paddEmpty&&(Ce||wM(X))&&sx(o,r,V,X)}}else if(X.type===3&&!M(X)){let ne=(J=X.value)!==null&&J!==void 0?J:"";(X.next&&V(X.next)||I(X,!1))&&(ne=ne.replace(A,"")),ne.length===0?X.remove():X.value=ne}}]},$x=(e,n)=>{var o;const r=(o=n.forced_root_block)!==null&&o!==void 0?o:e.forced_root_block;return r===!1?"":r===!0?"p":r},ul=(e={},n=$l())=>{const o=pB(),r=pB(),a={validate:!0,root_name:"body",sanitize:!0,...e},u=new DOMParser,f=f8(a,n),b=(J,ne,Ce="html")=>{const Oe=Ce==="xhtml"?"application/xhtml+xml":"text/html",Ue=Et(n.getSpecialElements(),ne.toLowerCase()),fe=Ue?`<${ne}>${J}`:J,le=Ce==="xhtml"?`${fe}`:`${fe}`,xe=u.parseFromString(le,Oe).body;return f.sanitizeHtmlElement(xe,Oe),Ue?xe.firstChild:xe},y=o.addFilter,x=o.getFilters,O=o.removeFilter,A=r.addFilter,M=r.getFilters,L=r.removeFilter,V=(J,ne)=>{ax(n,J)&&ne.push(J)},I=(J,ne)=>{const Ce=q(ne.attr(E3)),Oe=ne.type===1&&!Et(J,ne.name)&&!Ml(n,ne)&&!li(ne.name);return ne.type===3||Oe&&!Ce},z=(J,ne)=>{const Ce=UB(zB("script,style,head,html,body,title,meta,param"),n.getBlockElements()),Oe=/^[ \t\r\n]+/,Ue=/[ \t\r\n]+$/;let fe=J.firstChild,le=null;const xe=je=>{var ct,Mt;je&&(fe=je.firstChild,fe&&fe.type===3&&(fe.value=(ct=fe.value)===null||ct===void 0?void 0:ct.replace(Oe,"")),fe=je.lastChild,fe&&fe.type===3&&(fe.value=(Mt=fe.value)===null||Mt===void 0?void 0:Mt.replace(Ue,"")))};if(n.isValidChild(J.name,ne.toLowerCase())){for(;fe;){const je=fe.next;I(Ce,fe)?(le||(le=new zr(ne,1),le.attr(a.forced_root_block_attrs),J.insert(le,fe)),le.append(fe)):(xe(le),le=null),fe=je}xe(le)}},X={schema:n,addAttributeFilter:A,getAttributeFilters:M,removeAttributeFilter:L,addNodeFilter:y,getNodeFilters:x,removeNodeFilter:O,parse:(J,ne={})=>{var Ce;const Oe=a.validate,Ue=(Ce=ne.context)!==null&&Ce!==void 0?Ce:a.root_name,fe=b(J,Ue,ne.format);nh(n,fe);const le=new zr(Ue,11);x2(le,fe,n.getSpecialElements(),f.sanitizeNamespaceElement),fe.innerHTML="";const[xe,je]=g8(le,n,a,ne),ct=[],Mt=Oe?Mo=>V(Mo,ct):vt,zt={nodes:{},attributes:{}},_n=Mo=>P4(x(),M(),Mo,zt);if(Wr(le,[xe,_n],[je,Mt]),ct.reverse(),Oe&&ct.length>0)if(ne.context){const{pass:Mo,fail:or}=rr(ct,Ms=>Ms.parent===le);cx(or,n,le,_n),ne.invalid=Mo.length>0}else cx(ct,n,le,_n);const Zn=$x(a,ne);return Zn&&(le.name==="body"||ne.isRootContent)&&z(le,Zn),ne.invalid||l2(zt,ne),le}};return Q7(X,a),G7(X,a,n),X},WB=e=>Yf(e)?Zf({validate:!1}).serialize(e):e,jc=(e,n,o)=>{const r=WB(e),a=n(r);if(a.isDefaultPrevented())return a;if(Yf(e))if(a.content!==r){const u=ul({validate:!1,forced_root_block:!1,...o}).parse(a.content,{context:e.name});return{...a,content:u}}else return{...a,content:e};else return a},tg=(e,n)=>{if(n.no_events)return $r.value(n);{const o=$k(e,n);return o.isDefaultPrevented()?$r.error(Zt(e,{content:"",...o}).content):$r.value(o)}},_3=(e,n,o)=>o.no_events?n:jc(n,a=>Zt(e,{...o,content:a}),{sanitize:Sf(e),sandbox_iframes:j1(e)}).content,k3=(e,n)=>{if(n.no_events)return $r.value(n);{const o=jc(n.content,r=>nD(e,{...n,content:r}),{sanitize:Sf(e),sandbox_iframes:j1(e)});return o.isDefaultPrevented()?(Ew(e,o),$r.error(void 0)):$r.value(o)}},Ix=(e,n,o)=>{o.no_events||Ew(e,{...o,content:n})},O3=(e,n,o)=>({element:e,width:n,rows:o}),A3=(e,n)=>({element:e,cells:n}),E2=(e,n)=>({x:e,y:n}),Fx=(e,n)=>Ni(e,n).bind(Sd).getOr(1),h8=(e,n,o,r,a)=>{const u=Fx(a,"rowspan"),f=Fx(a,"colspan"),b=e.rows;for(let y=o;y{const r=e.rows;return!!(r[o]?r[o].cells:[])[n]},p8=(e,n,o)=>{for(;ZB(e,n,o);)n++;return n},Lx=e=>wo(e,(n,o)=>o.cells.length>n?o.cells.length:n,0),Hx=(e,n)=>{const o=e.rows;for(let r=0;r{const u=[],f=e.rows;for(let b=o;b<=a;b++){const y=f[b].cells,x=n{const r=n.x,a=n.y,u=o.x,f=o.y,b=a{const o=gc(e.element),r=U.fromTag("tbody");return Vn(r,n),Zo(o,r),o},R3=e=>Dt(e.rows,n=>{const o=Dt(n.cells,a=>{const u=A1(a);return $o(u,"colspan"),$o(u,"rowspan"),u}),r=gc(n.element);return Vn(r,o),r}),v8=e=>{const n=O3(gc(e),0,[]);return ge(Ts(e,"tr"),(o,r)=>{ge(Ts(o,"td,th"),(a,u)=>{h8(n,p8(n,u,r),r,o,a)})}),O3(n.element,Lx(n.rows),n.rows)},Vx=e=>od(e,R3(e)),D3=(e,n,o)=>Hx(e,n).bind(r=>Hx(e,o).map(a=>b8(e,r,a))),GB=e=>Vo(e,n=>un(n)==="ul"||un(n)==="ol"),qB=(e,n)=>Vo(e,o=>un(o)==="li"&&ky(o,n)).fold(Fe([]),o=>GB(e).map(r=>{const a=U.fromTag(un(r)),u=so(G0(r),(f,b)=>fs(b,"list-style"));return sc(a,u),[U.fromTag("li"),a]}).getOr([])),KB=(e,n)=>{const o=wo(n,(r,a)=>(Zo(a,r),a),e);return n.length>0?Zy([o]):o},y8=e=>Hi(e)?Oc(e).filter(cc).fold(Fe([]),n=>[e,n]):cc(e)?[e]:[],C8=(e,n,o)=>{const r=U.fromDom(n.commonAncestorContainer),a=Ju(r,e),u=pt(a,y=>o.isWrapper(un(y))),f=qB(a,n),b=u.concat(f.length?f:y8(r));return Dt(b,gc)},YB=()=>Zy([]),S8=(e,n,o)=>KB(U.fromDom(n.cloneContents()),C8(e,n,o)),w8=(e,n)=>Bm(n,"table",_e(bn,e)),XB=(e,n)=>w8(e,n[0]).bind(o=>{const r=n[0],a=n[n.length-1],u=v8(o);return D3(u,r,a).map(f=>Zy([Vx(f)]))}).getOrThunk(YB),x8=(e,n,o)=>n.length>0&&n[0].collapsed?YB():S8(e,n[0],o),E8=(e,n,o)=>{const r=_k(n,e);return r.length>0?XB(e,r):x8(e,n,o)},zx=(e,n)=>n>=0&&nBc(e.innerText),B3=e=>e.map(n=>n.nodeName).getOr("div").toLowerCase(),N3=e=>N.from(e.selection.getRng()).map(n=>{var o;const r=N.from(e.dom.getParent(n.commonAncestorContainer,e.dom.isBlock)),a=e.getBody(),u=B3(r),f=U.fromDom(n.cloneContents());Nt(f),c4(f);const b=e.dom.add(a,u,{"data-mce-bogus":"all",style:"overflow: hidden; opacity: 0;"},f.dom),y=M3(b),x=Bc((o=b.textContent)!==null&&o!==void 0?o:"");if(e.dom.remove(b),zx(x,0)||zx(x,x.length-1)){const O=r.getOr(a),A=M3(O),M=A.indexOf(y);if(M===-1)return y;{const L=zx(A,M-1),V=zx(A,M+y.length);return(L?" ":"")+y+(V?" ":"")}}else return y}).getOr(""),JB=(e,n)=>{const o=e.selection.getRng(),r=e.dom.create("body"),a=e.selection.getSel(),u=r4(e,nb(a)),f=n.contextual?E8(U.fromDom(e.getBody()),u,e.schema).dom:o.cloneContents();return f&&r.appendChild(f),e.selection.serializer.serialize(r,n)},P3=(e,n)=>{if(n.format==="text")return N3(e);{const o=JB(e,n);return n.format==="tree"?o:e.selection.isCollapsed()?"":o}},QB=(e,n)=>({...e,format:n,get:!0,selection:!0,getInner:!0}),eN=(e,n,o={})=>{const r=QB(o,n);return tg(e,r).fold(Co,a=>{const u=P3(e,a);return _3(e,u,a)})},T2=0,$3=1,I3=2,tN=(e,n)=>{const o=e.length+n.length+2,r=new Array(o),a=new Array(o),u=(O,A,M)=>({start:O,end:A,diag:M}),f=(O,A,M,L,V)=>{const I=y(O,A,M,L);if(I===null||I.start===A&&I.diag===A-L||I.end===O&&I.diag===O-M){let z=O,G=M;for(;zL-M?(V.push([I3,e[z]]),++z):(V.push([$3,n[G]]),++G)}else{f(O,I.start,M,I.start-I.diag,V);for(let z=I.start;z{let V=O;for(;V-A{const V=A-O,I=L-M;if(V===0||I===0)return null;const z=V-I,G=I+V,X=(G%2===0?G:G+1)/2;r[1+X]=O,a[1+X]=A+1;let J,ne,Ce,Oe,Ue;for(J=0;J<=X;++J){for(ne=-J;ne<=J;ne+=2){for(Ce=ne+X,ne===-J||ne!==J&&r[Ce-1]=O&&Ue>=M&&e[Oe]===n[Ue];)a[Ce]=Oe--,Ue--;if(z%2===0&&-J<=ne&&ne<=J&&a[Ce]<=r[Ce+z])return b(a[Ce],ne+O-M,A,L)}}return null},x=[];return f(0,e.length,0,n.length,x),x},F3=e=>Je(e)?e.outerHTML:ke(e)?Hd.encodeRaw(e.data,!1):Ol(e)?"":"",L3=e=>{let n;const o=document.createElement("div"),r=document.createDocumentFragment();for(e&&(o.innerHTML=e);n=o.firstChild;)r.appendChild(n);return r},T8=(e,n,o)=>{const r=L3(n);if(e.hasChildNodes()&&o{if(e.hasChildNodes()&&n{let o=0;ge(e,r=>{r[0]===T2?o++:r[0]===$3?(T8(n,r[1],o),o++):r[0]===I3&&Ux(n,o)})},k8=(e,n)=>pt(Dt(Xr(e.childNodes),n?_(Bc,F3):F3),o=>o.length>0),O8=(e,n)=>{const o=Dt(Xr(n.childNodes),F3);return _8(tN(o,e),n),n},nN=yd(()=>document.implementation.createHTMLDocument("undo")),oN=e=>e.querySelector("iframe")!==null,A8=e=>({type:"fragmented",fragments:e,content:"",bookmark:null,beforeBookmark:null}),R8=e=>({type:"complete",fragments:null,content:e,bookmark:null,beforeBookmark:null}),Wx=e=>{const n=e.serializer.getTempAttrs(),o=OD(e.getBody(),n);return oN(o)?A8(k8(o,!0)):R8(Bc(o.innerHTML))},H3=(e,n,o)=>{const r=o?n.beforeBookmark:n.bookmark;n.type==="fragmented"?O8(n.fragments,e.getBody()):e.setContent(n.content,{format:"raw",no_selection:Se(r)&&iw(r)?!r.isFakeCaret:!0}),r&&(e.selection.moveToBookmark(r),e.selection.scrollIntoView())},V3=e=>e.type==="fragmented"?e.fragments.join(""):e.content,z3=e=>{const n=U.fromTag("body",nN());return $m(n,V3(e)),ge(Ts(n,"*[data-mce-bogus]"),ni),Wt(n)},vj=(e,n)=>V3(e)===V3(n),D8=(e,n)=>z3(e)===z3(n),U3=(e,n)=>!e||!n?!1:vj(e,n)?!0:D8(e,n),W3=e=>e.get()===0,Zx=(e,n,o)=>{W3(o)&&(e.typing=n)},sN=(e,n)=>{e.typing&&(Zx(e,!1,n),e.add())},M8=e=>{e.typing&&(e.typing=!1,e.add())},B8=(e,n,o)=>{W3(n)&&o.set(gf(e.selection))},rN=(e,n,o,r,a,u,f)=>{const b=Wx(e),y=Me.extend(u||{},b);if(!W3(r)||e.removed)return null;const x=n.data[o.get()];if(e.dispatch("BeforeAddUndo",{level:y,lastLevel:x,originalEvent:f}).isDefaultPrevented()||x&&U3(x,y))return null;n.data[o.get()]&&a.get().each(M=>{n.data[o.get()].beforeBookmark=M});const O=xh(e);if(O&&n.data.length>O){for(let M=0;M0?(e.setDirty(!0),e.dispatch("AddUndo",A),e.dispatch("change",A)):e.dispatch("AddUndo",A),y},N8=(e,n,o)=>{n.data=[],o.set(0),n.typing=!1,e.dispatch("ClearUndos")},P8=(e,n,o,r,a)=>{if(n.transact(r)){const u=n.data[o.get()].bookmark,f=n.data[o.get()-1];H3(e,f,!0),n.transact(a)&&(n.data[o.get()-1].beforeBookmark=u)}},$8=(e,n,o)=>{let r;return n.get(){let a;return n.typing&&(n.add(),n.typing=!1,Zx(n,!1,o)),r.get()>0&&(r.set(r.get()-1),a=n.data[r.get()],H3(e,a,!0),e.setDirty(!0),e.dispatch("Undo",{level:a})),a},F8=e=>{e.clear(),e.add()},yj=(e,n,o)=>o.get()>0||n.typing&&n.data[0]&&!U3(Wx(e),n.data[0]),Cj=(e,n)=>n.get()(sN(e,n),e.beforeChange(),e.ignore(o),e.add()),H8=(e,n)=>{try{e.set(e.get()+1),n()}finally{e.set(e.get()-1)}},Sj=(e,n)=>{const o=e.dom,r=Se(n)?n:e.getBody();ge(o.select("table,a",r),a=>{switch(a.nodeName){case"TABLE":const u=J_(e),f=o.getAttrib(a,"border");(!f||f==="0")&&e.hasVisual?o.addClass(a,u):o.removeClass(a,u);break;case"A":if(!o.getAttrib(a,"href")){const b=o.getAttrib(a,"name")||a.id,y=US(e);b&&e.hasVisual?o.addClass(a,y):o.removeClass(a,y)}break}}),e.dispatch("VisualAid",{element:n,hasVisual:e.hasVisual})},cN=e=>({init:{bindEvents:vt},undoManager:{beforeChange:(n,o)=>B8(e,n,o),add:(n,o,r,a,u,f)=>rN(e,n,o,r,a,u,f),undo:(n,o,r)=>I8(e,n,o,r),redo:(n,o)=>$8(e,n,o),clear:(n,o)=>N8(e,n,o),reset:n=>F8(n),hasUndo:(n,o)=>yj(e,n,o),hasRedo:(n,o)=>Cj(n,o),transact:(n,o,r)=>L8(n,o,r),ignore:(n,o)=>H8(n,o),extra:(n,o,r,a)=>P8(e,n,o,r,a)},formatter:{match:(n,o,r,a)=>Rb(e,n,o,r,a),matchAll:(n,o)=>UM(e,n,o),matchNode:(n,o,r,a)=>ed(e,n,o,r,a),canApply:n=>x7(e,n),closest:n=>WM(e,n),apply:(n,o,r)=>uB(e,n,o,r),remove:(n,o,r,a)=>i3(e,n,o,r,a),toggle:(n,o,r)=>gB(e,n,o,r),formatChanged:(n,o,r,a,u)=>z7(e,n,o,r,a,u)},editor:{getContent:n=>fj(e,n),setContent:(n,o)=>S7(e,n,o),insertContent:(n,o)=>y7(e,n,o),addVisual:n=>Sj(e,n)},selection:{getContent:(n,o)=>eN(e,n,o)},autocompleter:{addDecoration:n=>y6(e,n),removeDecoration:()=>S6(e,U.fromDom(e.getBody()))},raw:{getModel:()=>N.none()}}),Do=e=>{const n=x=>En(x)?x:{},{init:o,undoManager:r,formatter:a,editor:u,selection:f,autocompleter:b,raw:y}=e;return{init:{bindEvents:o.bindEvents},undoManager:{beforeChange:r.beforeChange,add:r.add,undo:r.undo,redo:r.redo,clear:r.clear,reset:r.reset,hasUndo:r.hasUndo,hasRedo:r.hasRedo,transact:(x,O,A)=>r.transact(A),ignore:(x,O)=>r.ignore(O),extra:(x,O,A,M)=>r.extra(A,M)},formatter:{match:(x,O,A,M)=>a.match(x,n(O),M),matchAll:a.matchAll,matchNode:a.matchNode,canApply:x=>a.canApply(x),closest:x=>a.closest(x),apply:(x,O,A)=>a.apply(x,n(O)),remove:(x,O,A,M)=>a.remove(x,n(O)),toggle:(x,O,A)=>a.toggle(x,n(O)),formatChanged:(x,O,A,M,L)=>a.formatChanged(O,A,M,L)},editor:{getContent:x=>u.getContent(x),setContent:(x,O)=>({content:u.setContent(x,O),html:""}),insertContent:(x,O)=>(u.insertContent(x),""),addVisual:u.addVisual},selection:{getContent:(x,O)=>f.getContent(O)},autocompleter:{addDecoration:b.addDecoration,removeDecoration:b.removeDecoration},raw:{getModel:()=>N.some(y.getRawModel())}}},Z3=()=>{const e=Fe(null),n=Fe("");return{init:{bindEvents:vt},undoManager:{beforeChange:vt,add:e,undo:e,redo:e,clear:vt,reset:vt,hasUndo:Ee,hasRedo:Ee,transact:e,ignore:vt,extra:vt},formatter:{match:Ee,matchAll:Fe([]),matchNode:Fe(void 0),canApply:Ee,closest:n,apply:vt,remove:vt,toggle:vt,formatChanged:Fe({unbind:vt})},editor:{getContent:n,setContent:Fe({content:"",html:""}),insertContent:Fe(""),addVisual:vt},selection:{getContent:n},autocompleter:{addDecoration:vt,removeDecoration:vt},raw:{getModel:Fe(N.none())}}},hm=e=>Et(e.plugins,"rtc"),V8=e=>Kn(e.plugins,"rtc").bind(n=>N.from(n.setup)),z8=e=>{const n=e;return V8(e).fold(()=>(n.rtcInstance=cN(e),N.none()),o=>(n.rtcInstance=Z3(),N.some(()=>o().then(r=>(n.rtcInstance=Do(r),r.rtc.isRemote)))))},ng=e=>e.rtcInstance?e.rtcInstance:cN(e),vs=e=>{const n=e.rtcInstance;if(n)return n;throw new Error("Failed to get RTC instance not yet initialized.")},wj=(e,n,o)=>{vs(e).undoManager.beforeChange(n,o)},pr=(e,n,o,r,a,u,f)=>vs(e).undoManager.add(n,o,r,a,u,f),aN=(e,n,o,r)=>vs(e).undoManager.undo(n,o,r),iN=(e,n,o)=>vs(e).undoManager.redo(n,o),lN=(e,n,o)=>{vs(e).undoManager.clear(n,o)},U8=(e,n)=>{vs(e).undoManager.reset(n)},W8=(e,n,o)=>vs(e).undoManager.hasUndo(n,o),jx=(e,n,o)=>vs(e).undoManager.hasRedo(n,o),Z8=(e,n,o,r)=>vs(e).undoManager.transact(n,o,r),j3=(e,n,o)=>{vs(e).undoManager.ignore(n,o)},j8=(e,n,o,r,a)=>{vs(e).undoManager.extra(n,o,r,a)},uN=(e,n,o,r,a)=>vs(e).formatter.match(n,o,r,a),dN=(e,n,o)=>vs(e).formatter.matchAll(n,o),G3=(e,n,o,r,a)=>vs(e).formatter.matchNode(n,o,r,a),mN=(e,n)=>vs(e).formatter.canApply(n),q3=(e,n)=>vs(e).formatter.closest(n),G8=(e,n,o,r)=>{vs(e).formatter.apply(n,o,r)},q8=(e,n,o,r,a)=>{vs(e).formatter.remove(n,o,r,a)},K8=(e,n,o,r)=>{vs(e).formatter.toggle(n,o,r)},_i=(e,n,o,r,a,u)=>vs(e).formatter.formatChanged(n,o,r,a,u),Y8=(e,n)=>ng(e).editor.getContent(n),X8=(e,n,o)=>ng(e).editor.setContent(n,o),J8=(e,n,o)=>ng(e).editor.insertContent(n,o),Q8=(e,n,o)=>vs(e).selection.getContent(n,o),eL=(e,n)=>vs(e).editor.addVisual(n),K3=e=>vs(e).init.bindEvents(),tL=(e,n)=>vs(e).autocompleter.addDecoration(n),nL=e=>vs(e).autocompleter.removeDecoration(),oL=(e,n={})=>{const o=n.format?n.format:"html";return Q8(e,o,n)},_2=e=>e.dom.length===0?(xn(e),N.none()):N.some(e),sL=(e,n)=>e.filter(o=>nm.isBookmarkNode(o.dom)).bind(n?Zg:Ta),rL=(e,n,o,r,a)=>{const u=e.dom,f=n.dom,b=r?u.length:f.length;r?(Ds(u,f,a,!1,!r),o.setStart(f,b)):(Ds(f,u,a,!1,!r),o.setEnd(f,b))},fN=(e,n,o)=>{Oc(e).each(r=>{const a=e.dom;n&&wb(r,ae(a,0),o)?sp(a,0,o):!n&&xb(r,ae(a,a.length),o)&&XD(a,a.length,o)})},Gx=(e,n,o,r,a)=>{e.bind(u=>((r?XD:sp)(u.dom,r?u.dom.length:0,a),n.filter(Ks).map(b=>rL(u,b,o,r,a)))).orThunk(()=>sL(n,r).or(n).filter(Ks).map(f=>fN(f,r,a)))},cL=(e,n,o)=>{const r=N.from(n.firstChild).map(U.fromDom),a=N.from(n.lastChild).map(U.fromDom);e.deleteContents(),e.insertNode(n);const u=r.bind(Ta).filter(Ks).bind(_2),f=a.bind(Zg).filter(Ks).bind(_2);Gx(u,r,e,!0,o),Gx(f,a,e,!1,o),e.collapse(!1)},aL=(e,n)=>({format:"html",...e,set:!0,selection:!0,content:n}),xj=(e,n)=>{if(n.format!=="raw"){const o=e.selection.getRng(),r=e.dom.getParent(o.commonAncestorContainer,e.dom.isBlock),a=r?{context:r.nodeName.toLowerCase()}:{},u=e.parser.parse(n.content,{forced_root_block:!1,...a,...n});return Zf({validate:!1},e.schema).serialize(u)}else return n.content},iL=(e,n,o={})=>{const r=aL(o,n);k3(e,r).each(a=>{const u=xj(e,a),f=e.selection.getRng();cL(f,f.createContextualFragment(u),e.schema),e.selection.setRng(f),ep(e,f),Ix(e,u,a)})},gN=(e,n,o)=>{if(Et(e,n)){const r=pt(e[n],a=>a!==o);r.length===0?delete e[n]:e[n]=r}};var hN=(e,n)=>{let o,r;const a=(b,y)=>Vo(y,x=>e.is(x,b)),u=b=>e.getParents(b,void 0,e.getRoot()),f=()=>{o={},r={},n.on("NodeChange",b=>{const y=b.element,x=u(y),O={};We(o,(A,M)=>{a(M,x).each(L=>{r[M]||(ge(A,V=>{V(!0,{node:L,selector:M,parents:x})}),r[M]=A),O[M]=A})}),We(r,(A,M)=>{O[M]||(delete r[M],ge(A,L=>{L(!1,{node:y,selector:M,parents:x})}))})})};return{selectorChangedWithUnbind:(b,y)=>(o||f(),o[b]||(o[b]=[]),o[b].push(y),a(b,u(n.selection.getStart())).each(()=>{r[b]=o[b]}),{unbind:()=>{gN(o,b,y),gN(r,b,y)}})}};const Y3=e=>!!(e&&e.ownerDocument)&&xr(U.fromDom(e.ownerDocument),U.fromDom(e)),lL=e=>e?Y3(e.startContainer)&&Y3(e.endContainer):!1,og=(e,n,o,r)=>{let a,u;const{selectorChangedWithUnbind:f}=hN(e,r),b=(Pe,Ge)=>{const cn=e.createRng();Se(Pe)&&Se(Ge)?(cn.setStart(Pe,Ge),cn.setEnd(Pe,Ge),ne(cn),G(!1)):(Oy(e,cn,r.getBody(),!0),ne(cn))},y=Pe=>oL(r,Pe),x=(Pe,Ge)=>iL(r,Pe,Ge),O=Pe=>o4(r.getBody(),J(),Pe),A=Pe=>vD(r.getBody(),J(),Pe),M=(Pe,Ge)=>or.getBookmark(Pe,Ge),L=Pe=>or.moveToBookmark(Pe),V=(Pe,Ge)=>(d6(e,Pe,Ge).each(ne),Pe),I=()=>{const Pe=J(),Ge=X();return!Pe||Pe.item?!1:Pe.compareEndPoints?Pe.compareEndPoints("StartToEnd",Pe)===0:!Ge||Pe.collapsed},z=()=>{const Pe=J(),Ge=r.getBody().querySelectorAll('[data-mce-selected="1"]');return Ge.length>0?Bs(Ge,cn=>e.isEditable(cn.parentElement)):pD(e,Pe)},G=Pe=>{const Ge=J();Ge.collapse(!!Pe),ne(Ge)},X=()=>n.getSelection?n.getSelection():n.document.selection,J=()=>{let Pe;const Ge=(nn,nt,ot)=>{try{return nt.compareBoundaryPoints(nn,ot)}catch{return-1}},cn=n.document;if(Se(r.bookmark)&&!Wf(r)){const nn=Qk(r);if(nn.isSome())return nn.map(nt=>r4(r,[nt])[0]).getOr(cn.createRange())}try{const nn=X();nn&&!oi(nn.anchorNode)&&(nn.rangeCount>0?Pe=nn.getRangeAt(0):Pe=cn.createRange(),Pe=r4(r,[Pe])[0])}catch{}if(Pe||(Pe=cn.createRange()),Yg(Pe.startContainer)&&Pe.collapsed){const nn=e.getRoot();Pe.setStart(nn,0),Pe.setEnd(nn,0)}return a&&u&&(Ge(Pe.START_TO_START,Pe,a)===0&&Ge(Pe.END_TO_END,Pe,a)===0?Pe=u:(a=null,u=null)),Pe},ne=(Pe,Ge)=>{if(!lL(Pe))return;const cn=X();if(Pe=r.dispatch("SetSelectionRange",{range:Pe,forward:Ge}).range,cn){u=Pe;try{cn.removeAllRanges(),cn.addRange(Pe)}catch{}Ge===!1&&cn.extend&&(cn.collapse(Pe.endContainer,Pe.endOffset),cn.extend(Pe.startContainer,Pe.startOffset)),a=cn.rangeCount>0?cn.getRangeAt(0):null}if(!Pe.collapsed&&Pe.startContainer===Pe.endContainer&&(cn!=null&&cn.setBaseAndExtent)&&Pe.endOffset-Pe.startOffset<2&&Pe.startContainer.hasChildNodes()){const nt=Pe.startContainer.childNodes[Pe.startOffset];nt&&nt.nodeName==="IMG"&&(cn.setBaseAndExtent(Pe.startContainer,Pe.startOffset,Pe.endContainer,Pe.endOffset),(cn.anchorNode!==Pe.startContainer||cn.focusNode!==Pe.endContainer)&&cn.setBaseAndExtent(nt,0,nt,1))}r.dispatch("AfterSetSelectionRange",{range:Pe,forward:Ge})},Ce=Pe=>(x(e.getOuterHTML(Pe)),Pe),Oe=()=>yD(r.getBody(),J()),Ue=(Pe,Ge)=>u6(e,J(),Pe,Ge),fe=()=>{const Pe=X(),Ge=Pe==null?void 0:Pe.anchorNode,cn=Pe==null?void 0:Pe.focusNode;if(!Pe||!Ge||!cn||oi(Ge)||oi(cn))return!0;const nn=e.createRng(),nt=e.createRng();try{nn.setStart(Ge,Pe.anchorOffset),nn.collapse(!0),nt.setStart(cn,Pe.focusOffset),nt.collapse(!0)}catch{return!0}return nn.compareBoundaryPoints(nn.START_TO_START,nt)<=0},Mo={dom:e,win:n,serializer:o,editor:r,expand:(Pe={type:"word"})=>ne($(e).expand(J(),Pe)),collapse:G,setCursorLocation:b,getContent:y,setContent:x,getBookmark:M,moveToBookmark:L,select:V,isCollapsed:I,isEditable:z,isForward:fe,setNode:Ce,getNode:Oe,getSel:X,setRng:ne,getRng:J,getStart:O,getEnd:A,getSelectedBlocks:Ue,normalize:()=>{const Pe=J(),Ge=X();if(!tm(Ge)&&sb(r)){const cn=w(e,Pe);return cn.each(nn=>{ne(nn,fe())}),cn.getOr(Pe)}return Pe},selectorChanged:(Pe,Ge)=>(f(Pe,Ge),Mo),selectorChangedWithUnbind:f,getScrollContainer:()=>{let Pe,Ge=e.getRoot();for(;Ge&&Ge.nodeName!=="BODY";){if(Ge.scrollHeight>Ge.clientHeight){Pe=Ge;break}Ge=Ge.parentNode}return Pe},scrollIntoView:(Pe,Ge)=>{Se(Pe)?tr(r,Pe,Ge):ep(r,J(),Ge)},placeCaretAt:(Pe,Ge)=>ne(zc(Pe,Ge,r.getDoc())),getBoundingClientRect:()=>{const Pe=J();return Pe.collapsed?ae.fromRangeStart(Pe).getClientRects()[0]:Pe.getBoundingClientRect()},destroy:()=>{n=a=u=null,Ms.destroy()}},or=nm(Mo),Ms=sD(Mo,r);return Mo.bookmarkManager=or,Mo.controlSelection=Ms,Mo},$b=(e,n,o)=>{e.addAttributeFilter("data-mce-tabindex",(r,a)=>{let u=r.length;for(;u--;){const f=r[u];f.attr("tabindex",f.attr("data-mce-tabindex")),f.attr(a,null)}}),e.addAttributeFilter("src,href,style",(r,a)=>{const u="data-mce-"+a,f=n.url_converter,b=n.url_converter_scope;let y=r.length;for(;y--;){const x=r[y];let O=x.attr(u);O!==void 0?(x.attr(a,O.length>0?O:null),x.attr(u,null)):(O=x.attr(a),a==="style"?O=o.serializeStyle(o.parseStyle(O),x.name):f&&(O=f.call(b,O,a,x.name)),x.attr(a,O.length>0?O:null))}}),e.addAttributeFilter("class",r=>{let a=r.length;for(;a--;){const u=r[a];let f=u.attr("class");f&&(f=f.replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),u.attr("class",f.length>0?f:null))}}),e.addAttributeFilter("data-mce-type",(r,a,u)=>{let f=r.length;for(;f--;){const b=r[f];b.attr("data-mce-type")==="bookmark"&&!u.cleanup&&(N.from(b.firstChild).exists(x=>{var O;return!ic((O=x.value)!==null&&O!==void 0?O:"")})?b.unwrap():b.remove())}}),e.addNodeFilter("script,style",(r,a)=>{var u;const f=y=>y.replace(/()/g,` -`).replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"");let b=r.length;for(;b--;){const y=r[b],x=y.firstChild,O=(u=x==null?void 0:x.value)!==null&&u!==void 0?u:"";if(a==="script"){const A=y.attr("type");A&&y.attr("type",A==="mce-no/type"?null:A.replace(/^mce\-/,"")),n.element_format==="xhtml"&&x&&O.length>0&&(x.value=`// `)}else n.element_format==="xhtml"&&x&&O.length>0&&(x.value=``)}}),e.addNodeFilter("#comment",r=>{let a=r.length;for(;a--;){const u=r[a],f=u.value;n.preserve_cdata&&(f==null?void 0:f.indexOf("[CDATA["))===0?(u.name="#cdata",u.type=4,u.value=o.decode(f.replace(/^\[CDATA\[|\]\]$/g,""))):(f==null?void 0:f.indexOf("mce:protected "))===0&&(u.name="#text",u.type=3,u.raw=!0,u.value=unescape(f).substr(14))}}),e.addNodeFilter("xml:namespace,input",(r,a)=>{let u=r.length;for(;u--;){const f=r[u];f.type===7?f.remove():f.type===1&&a==="input"&&!f.attr("type")&&f.attr("type","text")}}),e.addAttributeFilter("data-mce-type",r=>{ge(r,a=>{a.attr("data-mce-type")==="format-caret"&&(a.isEmpty(e.schema.getNonEmptyElements())?a.remove():a.unwrap())})}),e.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-block,data-mce-type,data-mce-resize,data-mce-placeholder",(r,a)=>{let u=r.length;for(;u--;)r[u].attr(a,null)}),n.remove_trailing_brs&&bB(n,e,e.schema)},k2=e=>{const n=r=>(r==null?void 0:r.name)==="br",o=e.lastChild;if(n(o)){const r=o.prev;n(r)&&(o.remove(),r.remove())}},pN=(e,n,o)=>{let r;const a=e.dom;let u=n.cloneNode(!0);const f=document.implementation;if(f.createHTMLDocument){const b=f.createHTMLDocument("");Me.each(u.nodeName==="BODY"?u.childNodes:[u],y=>{b.body.appendChild(b.importNode(y,!0))}),u.nodeName!=="BODY"?u=b.body.firstChild:u=b.body,r=a.doc,a.doc=b}return Iy(e,{...o,node:u}),r&&(a.doc=r),u},bN=(e,n)=>Se(e)&&e.hasEventListeners("PreProcess")&&!n.no_events,uL=(e,n,o)=>bN(e,o)?pN(e,n,o):n,vN=(e,n,o)=>{Me.inArray(n,o)===-1&&(e.addAttributeFilter(o,(r,a)=>{let u=r.length;for(;u--;)r[u].attr(a,null)}),n.push(o))},dL=(e,n,o)=>!n.no_events&&e?Bk(e,{...n,content:o}).content:o,mL=(e,n,o)=>{const r=Bc(o.getInner?n.innerHTML:e.getOuterHTML(n));return o.selection||ss(U.fromDom(n))?r:Me.trim(r)},fL=(e,n,o)=>{const r=o.selection?{forced_root_block:!1,...o}:o,a=e.parse(n,r);return k2(a),a},gL=(e,n,o)=>Zf(e,n).serialize(o),yN=(e,n,o,r,a)=>{const u=gL(n,o,r);return dL(e,a,u)},hL=(e,n)=>{const o=["data-mce-selected"],r={entity_encoding:"named",remove_trailing_brs:!0,pad_empty_with_br:!1,...e},a=n&&n.dom?n.dom:Un.DOM,u=n&&n.schema?n.schema:$l(r),f=ul(r,u);$b(f,r,a);const b=(y,x={})=>{const O={format:"html",...x},A=uL(n,y,O),M=mL(a,A,O),L=fL(f,M,O);return O.format==="tree"?L:yN(n,r,u,L,O)};return{schema:u,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:b,addRules:u.addValidElements,setRules:u.setValidElements,addTempAttr:_e(vN,f,o),getTempAttrs:Fe(o),getNodeFilters:f.getNodeFilters,getAttributeFilters:f.getAttributeFilters,removeNodeFilter:f.removeNodeFilter,removeAttributeFilter:f.removeAttributeFilter}},CN=(e,n)=>{const o=hL(e,n);return{schema:o.schema,addNodeFilter:o.addNodeFilter,addAttributeFilter:o.addAttributeFilter,serialize:o.serialize,addRules:o.addRules,setRules:o.setRules,addTempAttr:o.addTempAttr,getTempAttrs:o.getTempAttrs,getNodeFilters:o.getNodeFilters,getAttributeFilters:o.getAttributeFilters,removeNodeFilter:o.removeNodeFilter,removeAttributeFilter:o.removeAttributeFilter}},O2="html",SN=(e,n)=>({...e,format:n,get:!0,getInner:!0}),wN=(e,n={})=>{const o=n.format?n.format:O2,r=SN(n,o);return tg(e,r).fold(Co,a=>{const u=Y8(e,a);return _3(e,u,a)})},pL="html",bL=(e,n)=>({format:pL,...e,set:!0,content:n}),X3=(e,n,o={})=>{const r=bL(o,n);return k3(e,r).map(a=>{const u=X8(e,a.content,a);return Ix(e,u.html,a),u.content}).getOr(n)},xN="autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists".split(","),vL="template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format".split(","),yL="bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor".split(","),EN=[{name:"template",replacedWith:"Advanced Template"},{name:"rtc"}],TN=(e,n)=>{const o=pt(n,r=>Et(e,r));return po(o)},Ej=e=>{const n=TN(e,xN),o=e.forced_root_block;return(o===!1||o==="")&&n.push("forced_root_block (false only)"),po(n)},ou=e=>TN(e,vL),qx=(e,n)=>{const o=Me.makeMap(e.plugins," "),a=pt(n,u=>Et(o,u));return po(a)},CL=e=>qx(e,yL),SL=e=>qx(e,EN.map(n=>n.name)),wL=(e,n)=>{const o=Ej(e),r=CL(n),a=r.length>0,u=o.length>0,f=n.theme==="mobile";if(a||u||f){const b=` -- `,y=f?` - -Themes:${b}mobile`:"",x=a?` - -Plugins:${b}${r.join(b)}`:"",O=u?` - -Options:${b}${o.join(b)}`:"";console.warn("The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information."+y+x+O)}},xL=e=>Vo(EN,n=>n.name===e).fold(()=>e,n=>n.replacedWith?`${e}, replaced by ${n.replacedWith}`:e),Sn=(e,n)=>{const o=ou(e),r=SL(n),a=r.length>0,u=o.length>0;if(a||u){const f=` -- `,b=a?` - -Plugins:${f}${r.map(xL).join(f)}`:"",y=u?` - -Options:${f}${o.join(f)}`:"";console.warn("The following deprecated features are currently enabled but will be removed soon."+b+y)}},Tj=(e,n)=>{wL(e,n),Sn(e,n)},Kx=Un.DOM,EL=e=>{Kx.setStyle(e.id,"display",e.orgDisplay)},Jn=e=>N.from(e).each(n=>n.destroy()),TL=e=>{const n=e;n.contentAreaContainer=n.formElement=n.container=n.editorContainer=null,n.bodyElement=n.contentDocument=n.contentWindow=null,n.iframeElement=n.targetElm=null;const o=e.selection;if(o){const r=o.dom;n.selection=o.win=o.dom=r.doc=null}},A2=e=>{const n=e.formElement;n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,delete n._mceOldSubmit),Kx.unbind(n,"submit reset",e.formEventDelegate))},_L=e=>{if(!e.removed){const{_selectionOverrides:n,editorUpload:o}=e,r=e.getBody(),a=e.getElement();r&&e.save({is_removing:!0}),e.removed=!0,e.unbindAllNativeEvents(),e.hasHiddenInput&&Se(a==null?void 0:a.nextSibling)&&Kx.remove(a.nextSibling),Ff(e),e.editorManager.remove(e),!e.inline&&r&&EL(e),Lf(e),Kx.remove(e.getContainer()),Jn(n),Jn(o),e.destroy()}},kL=(e,n)=>{const{selection:o,dom:r}=e;if(!e.destroyed){if(!n&&!e.removed){e.remove();return}n||(e.editorManager.off("beforeunload",e._beforeUnload),e.theme&&e.theme.destroy&&e.theme.destroy(),Jn(o),Jn(r)),A2(e),TL(e),e.destroyed=!0}},R2=(()=>{const e={};return{add:(a,u)=>{e[a]=u},get:a=>e[a]?e[a]:{icons:{}},has:a=>Et(e,a)}})(),ki=ur.ModelManager,Gc=(e,n)=>n.dom[e],Ib=(e,n)=>parseInt(ns(n,e),10),sg=_e(Gc,"clientWidth"),sd=_e(Gc,"clientHeight"),D2=_e(Ib,"margin-top"),J3=_e(Ib,"margin-left"),Q3=e=>e.dom.getBoundingClientRect(),_N=(e,n,o)=>{const r=sg(e),a=sd(e);return n>=0&&o>=0&&n<=r&&o<=a},kN=(e,n,o,r)=>{const a=Q3(n),u=e?a.left+n.dom.clientLeft+J3(n):0,f=e?a.top+n.dom.clientTop+D2(n):0,b=o-u,y=r-f;return{x:b,y}},OL=(e,n,o)=>{const r=U.fromDom(e.getBody()),a=e.inline?r:V0(r),u=kN(e.inline,a,n,o);return _N(a,u.x,u.y)},AL=e=>N.from(e).map(U.fromDom),ON=e=>{const n=e.inline?e.getBody():e.getContentAreaContainer();return AL(n).map(Mm).getOr(!1)};var AN=()=>{const e=()=>{throw new Error("Theme did not provide a NotificationManager implementation.")};return{open:e,close:e,getArgs:e}};const eO=e=>{const n=[],o=()=>{const M=e.theme;return M&&M.getNotificationManagerImpl?M.getNotificationManagerImpl():AN()},r=()=>N.from(n[0]),a=(M,L)=>M.type===L.type&&M.text===L.text&&!M.progressBar&&!M.timeout&&!L.progressBar&&!L.timeout,u=()=>{ge(n,M=>{M.reposition()})},f=M=>{n.push(M)},b=M=>{Yr(n,L=>L===M).each(L=>{n.splice(L,1)})},y=(M,L=!0)=>e.removed||!ON(e)?{}:(L&&e.dispatch("BeforeOpenNotification",{notification:M}),Vo(n,V=>a(o().getArgs(V),M)).getOrThunk(()=>{e.editorManager.setActive(e);const V=o().open(M,()=>{b(V),u(),hD(e)&&r().fold(()=>e.focus(),I=>Bw(U.fromDom(I.getEl())))});return f(V),u(),e.dispatch("OpenNotification",{notification:{...V}}),V})),x=()=>{r().each(M=>{o().close(M),b(M),u()})},O=Fe(n);return(M=>{M.on("SkinLoaded",()=>{const L=G_(M);L&&y({text:L,type:"warning",timeout:0},!1),u()}),M.on("show ResizeEditor ResizeWindow NodeChange",()=>{requestAnimationFrame(u)}),M.on("remove",()=>{ge(n.slice(),L=>{o().close(L)})})})(e),{open:y,close:x,getNotifications:O}},gp=ur.PluginManager,pm=ur.ThemeManager;var kj=()=>{const e=()=>{throw new Error("Theme did not provide a WindowManager implementation.")};return{open:e,openUrl:e,alert:e,confirm:e,close:e}};const RN=e=>{let n=[];const o=()=>{const I=e.theme;return I&&I.getWindowManagerImpl?I.getWindowManagerImpl():kj()},r=(I,z)=>(...G)=>z?z.apply(I,G):void 0,a=I=>{e.dispatch("OpenWindow",{dialog:I})},u=I=>{e.dispatch("CloseWindow",{dialog:I})},f=I=>{n.push(I),a(I)},b=I=>{u(I),n=pt(n,z=>z!==I),n.length===0&&e.focus()},y=()=>N.from(n[n.length-1]),x=I=>{e.editorManager.setActive(e),Cb(e),e.ui.show();const z=I();return f(z),z},O=(I,z)=>x(()=>o().open(I,z,b)),A=I=>x(()=>o().openUrl(I,b)),M=(I,z,G)=>{const X=o();X.alert(I,r(G||X,z))},L=(I,z,G)=>{const X=o();X.confirm(I,r(G||X,z))},V=()=>{y().each(I=>{o().close(I),b(I)})};return e.on("remove",()=>{ge(n,I=>{o().close(I)})}),{open:O,openUrl:A,alert:M,confirm:L,close:V}},RL=(e,n)=>{e.notificationManager.open({type:"error",text:n})},Yx=(e,n)=>{e._skinLoaded?RL(e,n):e.on("SkinLoaded",()=>{RL(e,n)})},DL=(e,n)=>{Yx(e,Ma.translate(["Failed to upload image: {0}",n]))},Va=(e,n,o)=>{bc(e,n,{message:o}),console.error(o)},Xx=(e,n,o)=>o?`Failed to load ${e}: ${o} from url ${n}`:`Failed to load ${e} url: ${n}`,Oj=(e,n,o)=>{Va(e,"PluginLoadError",Xx("plugin",n,o))},ML=(e,n,o)=>{Va(e,"IconsLoadError",Xx("icons",n,o))},M2=(e,n,o)=>{Va(e,"LanguageLoadError",Xx("language",n,o))},BL=(e,n,o)=>{Va(e,"ThemeLoadError",Xx("theme",n,o))},DN=(e,n,o)=>{Va(e,"ModelLoadError",Xx("model",n,o))},MN=(e,n,o)=>{const r=Ma.translate(["Failed to initialize plugin: {0}",n]);bc(e,"PluginLoadError",{message:r}),B2(r,o),Yx(e,r)},B2=(e,...n)=>{const o=window.console;o&&(o.error?o.error(e,...n):o.log(e,...n))},NL=e=>/^[a-z0-9\-]+$/i.test(e),tO=e=>"content/"+e+"/content.css",rg=e=>tinymce.Resource.has(tO(e)),PL=e=>BN(e,ty(e)),$L=e=>BN(e,$S(e)),BN=(e,n)=>{const o=e.editorManager.baseURL+"/skins/content",a=`content${e.editorManager.suffix}.css`;return Dt(n,u=>rg(u)?u:NL(u)&&!e.inline?`${o}/${u}/${a}`:e.documentBaseURI.toAbsolute(u))},IL=e=>{e.contentCSS=e.contentCSS.concat(PL(e),$L(e))},FL=e=>e?Xr(e.getElementsByTagName("img")):[],LL=(e,n)=>{const o={};return{findAll:(a,u=Ke)=>{const f=pt(FL(a),y=>{const x=y.src;return y.hasAttribute("data-mce-bogus")||y.hasAttribute("data-mce-placeholder")||!x||x===Ze.transparentSrc?!1:fs(x,"blob:")?!e.isUploaded(x)&&u(y):fs(x,"data:")?u(y):!1}),b=Dt(f,y=>{const x=y.src;if(Et(o,x))return o[x].then(O=>q(O)?O:{image:y,blobInfo:O.blobInfo});{const O=pj(n,x).then(A=>(delete o[x],{image:y,blobInfo:A})).catch(A=>(delete o[x],A));return o[x]=O,O}});return Promise.all(b)}}},NN=()=>{let o={};const r=(M,L)=>({status:M,resultUri:L}),a=M=>M in o;return{hasBlobUri:a,getResultUri:M=>{const L=o[M];return L?L.resultUri:null},isPending:M=>a(M)?o[M].status===1:!1,isUploaded:M=>a(M)?o[M].status===2:!1,markPending:M=>{o[M]=r(1,null)},markUploaded:(M,L)=>{o[M]=r(2,L)},removeFailed:M=>{delete o[M]},destroy:()=>{o={}}}};let HL=0;const VL=()=>{const e=()=>Math.round(Math.random()*4294967295).toString(36);return"s"+new Date().getTime().toString(36)+e()+e()+e()},Jx=e=>e+HL+++VL(),zL=()=>{let e=[];const n=A=>({"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png","image/apng":"apng","image/avif":"avif","image/svg+xml":"svg","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"})[A.toLowerCase()]||"dat",o=(A,M,L,V,I)=>{if(q(A))return r({id:A,name:V,filename:I,blob:M,base64:L});if(En(A))return r(A);throw new Error("Unknown input type")},r=A=>{if(!A.blob||!A.base64)throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");const M=A.id||Jx("blobid"),L=A.name||M,V=A.blob;return{id:Fe(M),name:Fe(L),filename:Fe(A.filename||L+"."+n(V.type)),blob:Fe(V),base64:Fe(A.base64),blobUri:Fe(A.blobUri||URL.createObjectURL(V)),uri:Fe(A.uri)}},a=A=>{f(A.id())||e.push(A)},u=A=>Vo(e,A).getOrUndefined(),f=A=>u(M=>M.id()===A);return{create:o,add:a,get:f,getByUri:A=>u(M=>M.blobUri()===A),getByData:(A,M)=>u(L=>L.base64()===A&&L.blob().type===M),findFirst:u,removeByUri:A=>{e=pt(e,M=>M.blobUri()===A?(URL.revokeObjectURL(M.blobUri()),!1):!0)},destroy:()=>{ge(e,A=>{URL.revokeObjectURL(A.blobUri())}),e=[]}}},UL=(e,n)=>{const o={},r=(I,z)=>I?I.replace(/\/$/,"")+"/"+z.replace(/^\//,""):z,a=(I,z)=>new Promise((G,X)=>{const J=new XMLHttpRequest;J.open("POST",n.url),J.withCredentials=n.credentials,J.upload.onprogress=Ce=>{z(Ce.loaded/Ce.total*100)},J.onerror=()=>{X("Image upload failed due to a XHR Transport error. Code: "+J.status)},J.onload=()=>{if(J.status<200||J.status>=300){X("HTTP Error: "+J.status);return}const Ce=JSON.parse(J.responseText);if(!Ce||!q(Ce.location)){X("Invalid JSON: "+J.responseText);return}G(r(n.basePath,Ce.location))};const ne=new FormData;ne.append("file",I.blob(),I.filename()),J.send(ne)}),u=Y(n.handler)?n.handler:a,f=()=>new Promise(I=>{I([])}),b=(I,z)=>({url:z,blobInfo:I,status:!0}),y=(I,z)=>({url:"",blobInfo:I,status:!1,error:z}),x=(I,z)=>{Me.each(o[I],G=>{G(z)}),delete o[I]},O=(I,z,G)=>(e.markPending(I.blobUri()),new Promise(X=>{let J,ne;try{const Ce=()=>{J&&(J.close(),ne=vt)},Oe=fe=>{Ce(),e.markUploaded(I.blobUri(),fe),x(I.blobUri(),b(I,fe)),X(b(I,fe))},Ue=fe=>{Ce(),e.removeFailed(I.blobUri()),x(I.blobUri(),y(I,fe)),X(y(I,fe))};ne=fe=>{fe<0||fe>100||N.from(J).orThunk(()=>N.from(G).map(Ho)).each(le=>{J=le,le.progressBar.value(fe)})},z(I,ne).then(Oe,fe=>{Ue(q(fe)?{message:fe}:fe)})}catch(Ce){X(y(I,Ce))}})),A=I=>I===a,M=I=>{const z=I.blobUri();return new Promise(G=>{o[z]=o[z]||[],o[z].push(G)})},L=(I,z)=>(I=Me.grep(I,G=>!e.isUploaded(G.blobUri())),Promise.all(Me.map(I,G=>e.isPending(G.blobUri())?M(G):O(G,u,z))));return{upload:(I,z)=>!n.url&&A(u)?f():L(I,z)}},WL=e=>()=>e.notificationManager.open({text:e.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0}),Fb=(e,n)=>UL(n,{url:z_(e),basePath:U_(e),credentials:Jv(e),handler:W_(e)}),ZL=e=>{const n=NN(),o=Fb(e,n);return{upload:(r,a=!0)=>o.upload(r,a?WL(e):void 0)}},nO=(e,n)=>e.dom.isEmpty(n.dom)&&Se(e.schema.getTextBlockElements()[un(n)]),jL=e=>n=>{nO(e,n)&&Zo(n,U.fromHtml('
    '))},GL=e=>{const n=zL();let o,r;const a=NN(),u=[],f=J=>ne=>e.selection?J(ne):[],b=J=>J+(J.indexOf("?")===-1?"?":"&")+new Date().getTime(),y=(J,ne,Ce)=>{let Oe=0;do Oe=J.indexOf(ne,Oe),Oe!==-1&&(J=J.substring(0,Oe)+Ce+J.substr(Oe+ne.length),Oe+=Ce.length-ne.length+1);while(Oe!==-1);return J},x=(J,ne,Ce)=>{const Oe=`src="${Ce}"${Ce===Ze.transparentSrc?' data-mce-placeholder="1"':""}`;return J=y(J,`src="${ne}"`,Oe),J=y(J,'data-mce-src="'+ne+'"','data-mce-src="'+Ce+'"'),J},O=(J,ne)=>{ge(e.undoManager.data,Ce=>{Ce.type==="fragmented"?Ce.fragments=Dt(Ce.fragments,Oe=>x(Oe,J,ne)):Ce.content=x(Ce.content,J,ne)})},A=(J,ne)=>{const Ce=e.convertURL(ne,"src");O(J.src,ne),Ja(U.fromDom(J),{src:Sh(e)?b(ne):ne,"data-mce-src":Ce})},M=()=>(o||(o=Fb(e,a)),z().then(f(J=>{const ne=Dt(J,Ce=>Ce.blobInfo);return o.upload(ne,WL(e)).then(f(Ce=>{const Oe=[];let Ue=!1;const fe=Dt(Ce,(le,xe)=>{const{blobInfo:je,image:ct}=J[xe];let Mt=!1;return le.status&&PS(e)?(le.url&&!Zs(ct.src,le.url)&&(Ue=!0),n.removeByUri(ct.src),hm(e)||A(ct,le.url)):le.error&&(le.error.remove&&(O(ct.src,Ze.transparentSrc),Oe.push(ct),Mt=!0),DL(e,le.error.message)),{element:ct,status:le.status,uploadUri:le.url,blobInfo:je,removed:Mt}});return Oe.length>0&&!hm(e)?e.undoManager.transact(()=>{ge(e1(Oe),le=>{const xe=Oc(le);xn(le),xe.each(jL(e)),n.removeByUri(le.dom.src)})}):Ue&&e.undoManager.dispatchChange(),fe}))}))),L=()=>NS(e)?M():Promise.resolve([]),V=J=>Bs(u,ne=>ne(J)),I=J=>{u.push(J)},z=()=>(r||(r=LL(a,n)),r.findAll(e.getBody(),V).then(f(J=>{const ne=pt(J,Ce=>q(Ce)?(Yx(e,Ce),!1):Ce.uriType!=="blob");return hm(e)||ge(ne,Ce=>{O(Ce.image.src,Ce.blobInfo.blobUri()),Ce.image.src=Ce.blobInfo.blobUri(),Ce.image.removeAttribute("data-mce-src")}),ne}))),G=()=>{n.destroy(),a.destroy(),r=o=null},X=J=>J.replace(/src="(blob:[^"]+)"/g,(ne,Ce)=>{const Oe=a.getResultUri(Ce);if(Oe)return'src="'+Oe+'"';let Ue=n.getByUri(Ce);return Ue||(Ue=wo(e.editorManager.get(),(fe,le)=>fe||le.editorUpload&&le.editorUpload.blobCache.getByUri(Ce),void 0)),Ue?'src="data:'+Ue.blob().type+";base64,"+Ue.base64()+'"':ne});return e.on("SetContent",()=>{NS(e)?L():z()}),e.on("RawSaveContent",J=>{J.content=X(J.content)}),e.on("GetContent",J=>{J.source_view||J.format==="raw"||J.format==="tree"||(J.content=X(J.content))}),e.on("PostRender",()=>{e.parser.addNodeFilter("img",J=>{ge(J,ne=>{const Ce=ne.attr("src");if(!Ce||n.getByUri(Ce))return;const Oe=a.getResultUri(Ce);Oe&&ne.attr("src",Oe)})})}),{blobCache:n,addFilter:I,uploadImages:M,uploadImagesAuto:L,scanForImages:z,destroy:G}},qL=e=>{const n=e.dom,o=e.schema.type,r={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"left"},inherit:!1,preview:!1},{selector:"img,audio,video",collapsed:!1,styles:{float:"left"},preview:"font-family font-size"},{selector:"table",collapsed:!1,styles:{marginLeft:"0px",marginRight:"auto"},onformat:a=>{n.setStyle(a,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"},{selector:".mce-preview-object",ceFalseOverride:!0,styles:{display:"table",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{marginLeft:"auto",marginRight:"auto"},preview:!1}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size"},{selector:"img,audio,video",collapsed:!1,styles:{float:"right"},preview:"font-family font-size"},{selector:"table",collapsed:!1,styles:{marginRight:"0px",marginLeft:"auto"},onformat:a=>{n.setStyle(a,"float",null)},preview:"font-family font-size"},{selector:".mce-preview-object,[data-ephox-embed-iri]",ceFalseOverride:!0,styles:{float:"right"},preview:!1}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre",styles:{textAlign:"justify"},inherit:!1,preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all",preserve_attributes:["class","style"]}],italic:[{inline:"em",remove:"all",preserve_attributes:["class","style"]},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all",preserve_attributes:["class","style"]}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all",preserve_attributes:["class","style"]}],strikethrough:(()=>{const a={inline:"span",styles:{textDecoration:"line-through"},exact:!0},u={inline:"strike",remove:"all",preserve_attributes:["class","style"]},f={inline:"s",remove:"all",preserve_attributes:["class","style"]};return o!=="html4"?[f,a,u]:[a,f,u]})(),forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",toggle:!1,styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",toggle:!1,styles:{fontSize:"%value"},clear_child_styles:!0},lineheight:{selector:"h1,h2,h3,h4,h5,h6,p,li,td,th,div",styles:{lineHeight:"%value"}},fontsize_class:{inline:"span",attributes:{class:"%value"}},blockquote:{block:"blockquote",wrapper:!0,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:(a,u,f)=>Je(a)&&a.hasAttribute("href"),onformat:(a,u,f)=>{Me.each(f,(b,y)=>{n.setAttrib(a,y,b)})}},lang:{inline:"span",clear_child_styles:!0,remove_similar:!0,attributes:{lang:"%value","data-mce-lang":a=>{var u;return(u=a==null?void 0:a.customValue)!==null&&u!==void 0?u:null}}},removeformat:[{selector:"b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return Me.each("p h1 h2 h3 h4 h5 h6 div address pre dt dd samp".split(/\s/),a=>{r[a]={block:a,remove:"all"}}),r},PN={remove_similar:!0,inherit:!1},dl={selector:"td,th",...PN},hp={tablecellbackgroundcolor:{styles:{backgroundColor:"%value"},...dl},tablecellverticalalign:{styles:{"vertical-align":"%value"},...dl},tablecellbordercolor:{styles:{borderColor:"%value"},...dl},tablecellclass:{classes:["%value"],...dl},tableclass:{selector:"table",classes:["%value"],...PN},tablecellborderstyle:{styles:{borderStyle:"%value"},...dl},tablecellborderwidth:{styles:{borderWidth:"%value"},...dl}},Qx=Fe(hp),eE=e=>{const n={},o=f=>Se(f)?n[f]:n,r=f=>Et(n,f),a=(f,b)=>{f&&(q(f)?(An(b)||(b=[b]),ge(b,y=>{ws(y.deep)&&(y.deep=!zs(y)),ws(y.split)&&(y.split=!zs(y)||Uo(y)),ws(y.remove)&&zs(y)&&!Uo(y)&&(y.remove="none"),zs(y)&&Uo(y)&&(y.mixed=!0,y.block_expand=!0),q(y.classes)&&(y.classes=y.classes.split(/\s+/))}),n[f]=b):We(f,(y,x)=>{a(x,y)}))},u=f=>(f&&n[f]&&delete n[f],n);return a(qL(e)),a(Qx()),a(K_(e)),{get:o,has:r,register:a,unregister:u}},rd=Me.each,Ar=Un.DOM,Lb=e=>Se(e)&&En(e),N2=(e,n)=>{const o=n&&n.schema||$l({}),r=(y,x)=>{x.classes.length>0&&Ar.addClass(y,x.classes.join(" ")),Ar.setAttribs(y,x.attrs)},a=y=>{const x=q(y)?{name:y,classes:[],attrs:{}}:y,O=Ar.create(x.name);return r(O,x),O},u=(y,x)=>{const O=o.getElementRule(y.nodeName.toLowerCase()),A=O==null?void 0:O.parentsRequired;return A&&A.length?x&&_t(A,x)?x:A[0]:!1},f=(y,x,O)=>{let A;const M=x[0],L=Lb(M)?M.name:void 0,V=u(y,L);if(V)L===V?(A=M,x=x.slice(1)):A=V;else if(M)A=M,x=x.slice(1);else if(!O)return y;const I=A?a(A):Ar.create("div");I.appendChild(y),O&&Me.each(O,G=>{const X=a(G);I.insertBefore(X,y)});const z=Lb(A)?A.siblings:void 0;return f(I,x,z)},b=Ar.create("div");if(e.length>0){const y=e[0],x=a(y),O=Lb(y)?y.siblings:void 0;b.appendChild(f(x,e.slice(1),O))}return b},$N=e=>{e=Me.trim(e);let n="div";const o={name:n,classes:[],attrs:{},selector:e};return e!=="*"&&(n=e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,(r,a,u,f,b)=>{switch(a){case"#":o.attrs.id=u;break;case".":o.classes.push(u);break;case":":Me.inArray("checked disabled enabled read-only required".split(" "),u)!==-1&&(o.attrs[u]=u);break}if(f==="["){const y=b.match(/([\w\-]+)(?:\=\"([^\"]+))?/);y&&(o.attrs[y[1]]=y[2])}return""})),o.name=n||"div",o},oO=e=>q(e)?(e=e.split(/\s*,\s*/)[0],e=e.replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),Me.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/),n=>{const o=Me.map(n.split(/(?:~\+|~|\+)/),$N),r=o.pop();return o.length&&(r.siblings=o),r}).reverse()):[],sO=(e,n)=>{let o="",r=LS(e);if(r==="")return"";const a=M=>q(M)?M.replace(/%(\w+)/g,""):"",u=(M,L)=>Ar.getStyle(L??e.getBody(),M,!0);if(q(n)){const M=e.formatter.get(n);if(!M)return"";n=M[0]}if("preview"in n){const M=n.preview;if(M===!1)return"";r=M||r}let f=n.block||n.inline||"span",b;const y=oO(n.selector);y.length>0?(y[0].name||(y[0].name=f),f=n.selector,b=N2(y,e)):b=N2([f],e);const x=Ar.select(f,b)[0]||b.firstChild;rd(n.styles,(M,L)=>{const V=a(M);V&&Ar.setStyle(x,L,V)}),rd(n.attributes,(M,L)=>{const V=a(M);V&&Ar.setAttrib(x,L,V)}),rd(n.classes,M=>{const L=a(M);Ar.hasClass(x,L)||Ar.addClass(x,L)}),e.dispatch("PreviewFormats"),Ar.setStyles(b,{position:"absolute",left:-65535}),e.getBody().appendChild(b);const O=u("fontSize"),A=/px$/.test(O)?parseInt(O,10):0;return rd(r.split(" "),M=>{let L=u(M,x);if(!(M==="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(L)&&(L=u(M),Xm(L).toLowerCase()==="#ffffff"))&&!(M==="color"&&Xm(L).toLowerCase()==="#000000")){if(M==="font-size"&&/em|%$/.test(L)){if(A===0)return;L=parseFloat(L)/(/%$/.test(L)?100:1)*A+"px"}M==="border"&&L&&(o+="padding:0 2px;"),o+=M+":"+L+";"}}),e.dispatch("AfterPreviewFormats"),Ar.remove(b),o},IN=e=>{e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(let n=1;n<=6;n++)e.addShortcut("access+"+n,"",["FormatBlock",!1,"h"+n]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])},rO=e=>{const n=eE(e),o=ao({});return IN(e),k7(e),hm(e)||L7(o,e),{get:n.get,has:n.has,register:n.register,unregister:n.unregister,apply:(r,a,u)=>{G8(e,r,a,u)},remove:(r,a,u,f)=>{q8(e,r,a,u,f)},toggle:(r,a,u)=>{K8(e,r,a,u)},match:(r,a,u,f)=>uN(e,r,a,u,f),closest:r=>q3(e,r),matchAll:(r,a)=>dN(e,r,a),matchNode:(r,a,u,f)=>G3(e,r,a,u,f),canApply:r=>mN(e,r),formatChanged:(r,a,u,f)=>_i(e,o,r,a,u,f),getCssText:_e(sO,e)}},pp=e=>{switch(e.toLowerCase()){case"undo":case"redo":case"mcefocus":return!0;default:return!1}},FN=(e,n,o)=>{const r=ao(!1),a=y=>{Zx(n,!1,o),n.add({},y)};e.on("init",()=>{n.add()}),e.on("BeforeExecCommand",y=>{const x=y.command;pp(x)||(sN(n,o),n.beforeChange())}),e.on("ExecCommand",y=>{const x=y.command;pp(x)||a(y)}),e.on("ObjectResizeStart cut",()=>{n.beforeChange()}),e.on("SaveContent ObjectResized blur",a),e.on("dragend",a),e.on("keyup",y=>{const x=y.keyCode;if(y.isDefaultPrevented())return;const O=Ze.os.isMacOS()&&y.key==="Meta";(x>=33&&x<=36||x>=37&&x<=40||x===45||y.ctrlKey||O)&&(a(),e.nodeChanged()),(x===46||x===8)&&e.nodeChanged(),r.get()&&n.typing&&!U3(Wx(e),n.data[0])&&(e.isDirty()||e.setDirty(!0),e.dispatch("TypingUndo"),r.set(!1),e.nodeChanged())}),e.on("keydown",y=>{const x=y.keyCode;if(y.isDefaultPrevented())return;if(x>=33&&x<=36||x>=37&&x<=40||x===45){n.typing&&a(y);return}const O=y.ctrlKey&&!y.altKey||y.metaKey;if((x<16||x>20)&&x!==224&&x!==91&&!n.typing&&!O){n.beforeChange(),Zx(n,!0,o),n.add({},y),r.set(!0);return}(Ze.os.isMacOS()?y.metaKey:y.ctrlKey&&!y.altKey)&&n.beforeChange()}),e.on("mousedown",y=>{n.typing&&a(y)});const u=y=>y.inputType==="insertReplacementText",f=y=>y.inputType==="insertText"&&y.data===null,b=y=>y.inputType==="insertFromPaste"||y.inputType==="insertFromDrop";e.on("input",y=>{y.inputType&&(u(y)||f(y)||b(y))&&a(y)}),e.on("AddUndo Undo Redo ClearUndos",y=>{y.isDefaultPrevented()||e.nodeChanged()})},LN=e=>{e.addShortcut("meta+z","","Undo"),e.addShortcut("meta+y,meta+shift+z","","Redo")},cO=e=>{const n=Bu(),o=ao(0),r=ao(0),a={data:[],typing:!1,beforeChange:()=>{wj(e,o,n)},add:(u,f)=>pr(e,a,r,o,n,u,f),dispatchChange:()=>{e.setDirty(!0);const u=Wx(e);u.bookmark=gf(e.selection),e.dispatch("change",{level:u,lastLevel:Mg(a.data,r.get()).getOrUndefined()})},undo:()=>aN(e,a,o,r),redo:()=>iN(e,r,a.data),clear:()=>{lN(e,a,r)},reset:()=>{U8(e,a)},hasUndo:()=>W8(e,a,r),hasRedo:()=>jx(e,a,r),transact:u=>Z8(e,a,o,u),ignore:u=>{j3(e,o,u)},extra:(u,f)=>{j8(e,a,r,u,f)}};return hm(e)||FN(e,a,o),LN(e),a},tE=[9,27,Ye.HOME,Ye.END,19,20,44,144,145,33,34,45,16,17,18,91,92,93,Ye.DOWN,Ye.UP,Ye.LEFT,Ye.RIGHT].concat(Ze.browser.isFirefox()?[224]:[]),aO="data-mce-placeholder",iO=e=>e.type==="keydown"||e.type==="keyup",lO=e=>{const n=e.keyCode;return n===Ye.BACKSPACE||n===Ye.DELETE},HN=e=>{if(iO(e)){const n=e.keyCode;return!lO(e)&&(Ye.metaKeyPressed(e)||e.altKey||n>=112&&n<=123||_t(tE,n))}else return!1},bm=e=>iO(e)&&!(lO(e)||e.type==="keyup"&&e.keyCode===229),cg=(e,n,o)=>{if(fo(U.fromDom(n),!1)){const r=n.firstElementChild;return r?e.getStyle(n.firstElementChild,"padding-left")||e.getStyle(n.firstElementChild,"padding-right")?!1:o===r.nodeName.toLowerCase():!0}else return!1},ml=e=>{var n;const o=e.dom,r=mr(e),a=(n=YR(e))!==null&&n!==void 0?n:"",u=(f,b)=>{if(HN(f))return;const y=e.getBody(),x=bm(f)?!1:cg(o,y,r);(o.getAttrib(y,aO)!==""!==x||b)&&(o.setAttrib(y,aO,x?a:null),o.setAttrib(y,"aria-placeholder",x?a:null),Pk(e,x),e.on(x?"keydown":"keyup",u),e.off(x?"keyup":"keydown",u))};Hn(a)&&e.on("init",f=>{u(f,!0),e.on("change SetContent ExecCommand",u),e.on("paste",b=>Fa.setEditorTimeout(e,()=>u(b)))})},KL=(e,n)=>({block:e,position:n}),YL=(e,n)=>({from:e,to:n}),uO=(e,n)=>{const o=U.fromDom(e),r=U.fromDom(n.container());return Eb(o,r).map(a=>KL(a,n))},XL=e=>!bn(e.from.block,e.to.block),VN=(e,n)=>sa(n,a=>ac(a)||lr(a.dom),a=>bn(a,e)).filter(ar).getOr(e),JL=(e,n)=>{const o=U.fromDom(e);return bn(VN(o,n.from.block),VN(o,n.to.block))},QL=e=>Jt(e.from.block.dom)===!1&&Jt(e.to.block.dom)===!1,eH=e=>{const n=o=>oe(o)||d1(o.dom);return n(e.from.block)&&n(e.to.block)},tH=(e,n,o)=>Dn(o.position.getNode())&&!fo(o.block)?Df(!1,o.block.dom).bind(r=>r.isEqual(o.position)?Rs(n,e,r).bind(a=>uO(e,a)):N.some(o)).getOr(o):o,nH=(e,n,o)=>{const r=uO(e,ae.fromRangeStart(o)),a=r.bind(u=>Rs(n,e,u.position).bind(f=>uO(e,f).map(b=>tH(e,n,b))));return qs(r,a,YL).filter(u=>XL(u)&&JL(e,u)&&QL(u)&&eH(u))},oH=(e,n,o)=>o.collapsed?nH(e,n,o):N.none(),sH=(e,n)=>{const o=Es(e);return Yr(o,r=>n.isBlock(un(r))).fold(Fe(o),r=>o.slice(0,r))},nE=(e,n)=>{const o=sH(e,n);return ge(o,xn),o},oE=(e,n)=>{const o=Ju(n,e);return Vo(o.reverse(),r=>fo(r)).each(xn)},zN=e=>pt(U0(e),n=>!fo(n)).length===0,rH=(e,n,o,r,a)=>{if(fo(o))return zi(o),kr(o.dom);zN(a)&&fo(n)&&hs(a,U.fromTag("br"));const u=Lr(o.dom,ae.before(a.dom));return ge(nE(n,r),f=>{hs(a,f)}),oE(e,n),u},cH=(e,n)=>e.isInline(un(n)),UN=(e,n,o,r)=>{if(fo(o)){if(fo(n)){const f=hd((b=>{const y=(x,O)=>Dm(x).fold(()=>O,A=>cH(r,A)?y(A,O.concat(gc(A))):O);return y(b,[])})(o),(b,y)=>(q0(b,y),y),Nr());Pm(n),Zo(n,f)}return xn(o),kr(n.dom)}const a=Pa(o.dom);return ge(nE(n,r),u=>{Zo(o,u)}),oE(e,n),a},WN=(e,n)=>{const o=Ju(n,e);return N.from(o[o.length-1])},dO=(e,n)=>xr(n,e)?WN(n,e):N.none(),mO=(e,n)=>{Df(e,n.dom).bind(o=>N.from(o.getNode())).map(U.fromDom).filter(Tu).each(xn)},fO=(e,n,o,r)=>(mO(!0,n),mO(!1,o),dO(n,o).fold(_e(UN,e,n,o,r),_e(rH,e,n,o,r))),sE=(e,n,o,r,a)=>n?fO(e,r,o,a):fO(e,o,r,a),gO=(e,n)=>{const o=U.fromDom(e.getBody());return oH(o.dom,n,e.selection.getRng()).map(a=>()=>{sE(o,n,a.from.block,a.to.block,e.schema).each(u=>{e.selection.setRng(u.toRange())})})},aH=(e,n,o)=>{const r=n.getRng();return qs(Eb(e,U.fromDom(r.startContainer)),Eb(e,U.fromDom(r.endContainer)),(a,u)=>bn(a,u)?N.none():N.some(()=>{r.deleteContents(),sE(e,!0,a,u,o).each(f=>{n.setRng(f.toRange())})})).getOr(N.none())},su=(e,n)=>{const o=U.fromDom(n),r=_e(bn,e);return To(o,ac,r).isSome()},fl=(e,n)=>su(e,n.startContainer)||su(e,n.endContainer),rE=(e,n)=>{const o=Lr(e.dom,ae.fromRangeStart(n)).isNone(),r=gr(e.dom,ae.fromRangeEnd(n)).isNone();return!fl(e,n)&&o&&r},ZN=e=>N.some(()=>{e.setContent(""),e.selection.setCursorLocation()}),cE=e=>{const n=U.fromDom(e.getBody()),o=e.selection.getRng();return rE(n,o)?ZN(e):aH(n,e.selection,e.schema)},aE=(e,n)=>e.selection.isCollapsed()?N.none():cE(e),cd=(e,n,o,r,a)=>N.from(n._selectionOverrides.showCaret(e,o,r,a)),jN=e=>{const n=e.ownerDocument.createRange();return n.selectNode(e),n},Hb=(e,n)=>e.dispatch("BeforeObjectSelected",{target:n}).isDefaultPrevented()?N.none():N.some(jN(n)),GN=(e,n,o)=>{const r=Cy(1,e.getBody(),n),a=ae.fromRangeStart(r),u=a.getNode();if(G1(u))return cd(1,e,u,!a.isAtEnd(),!1);const f=a.getNode(!0);if(G1(f))return cd(1,e,f,!1,!1);const b=qf(e.dom.getRoot(),a.getNode());return G1(b)?cd(1,e,b,!1,o):N.none()},iE=(e,n,o)=>n.collapsed?GN(e,n,o).getOr(n):n,lE=e=>am(e)||Yy(e),hO=e=>Ql(e)||Sb(e),iH=(e,n)=>{ke(n)&&n.data.length===0&&e.remove(n)},qN=(e,n,o,r,a,u)=>{cd(r,e,u.getNode(!a),a,!0).each(f=>{if(n.collapsed){const b=n.cloneRange();a?b.setEnd(f.startContainer,f.startOffset):b.setStart(f.endContainer,f.endOffset),b.deleteContents()}else n.deleteContents();e.selection.setRng(f)}),iH(e.dom,o)},lH=(e,n)=>{const o=e.selection.getRng();if(!ke(o.commonAncestorContainer))return N.none();const r=n?Ro.Forwards:Ro.Backwards,a=pi(e.getBody()),u=_e(rw,n?a.next:a.prev),f=n?lE:hO,b=Wu(r,e.getBody(),o),y=u(b),x=y&&Si(n,y);if(!x||!Sy(b,x))return N.none();if(f(x))return N.some(()=>qN(e,o,b.getNode(),r,n,x));const O=u(x);return O&&f(O)&&Sy(x,O)?N.some(()=>qN(e,o,b.getNode(),r,n,O)):N.none()},pO=(e,n)=>lH(e,n),uE=(e,n)=>{const o=e.getBody();return n?kr(o).filter(am):Pa(o).filter(Ql)},bO=e=>{const n=e.selection.getRng();return!n.collapsed&&(uE(e,!0).exists(o=>o.isEqual(ae.fromRangeStart(n)))||uE(e,!1).exists(o=>o.isEqual(ae.fromRangeEnd(n))))},uH=e=>Se(e)&&(ac(U.fromDom(e))||Hi(U.fromDom(e))),qc=gi.generate([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),dH=(e,n)=>{const o=n.getNode(!e),r=e?"after":"before";return Je(o)&&o.getAttribute("data-mce-caret")===r},mH=(e,n,o,r,a)=>{const u=f=>a.isInline(f.nodeName.toLowerCase())&&!hi(o,r,e);return sw(!n,o).fold(()=>sw(n,r).fold(Ee,u),u)},KN=(e,n,o,r)=>{const a=r.getNode(!n);return Eb(U.fromDom(e),U.fromDom(o.getNode())).map(u=>fo(u)?qc.remove(u.dom):qc.moveToElement(a)).orThunk(()=>N.some(qc.moveToElement(a)))},YN=(e,n,o,r)=>Rs(n,e,o).bind(a=>uH(a.getNode())||mH(e,n,o,a,r)?N.none():n&&Jt(a.getNode())||!n&&Jt(a.getNode(!0))?KN(e,n,o,a):n&&Ql(o)||!n&&am(o)?N.some(qc.moveToPosition(a)):N.none()),fH=(e,n)=>an(n)?N.none():e&&Jt(n.nextSibling)?N.some(qc.moveToElement(n.nextSibling)):!e&&Jt(n.previousSibling)?N.some(qc.moveToElement(n.previousSibling)):N.none(),gH=(e,n,o)=>o.fold(r=>N.some(qc.remove(r)),r=>N.some(qc.moveToElement(r)),r=>hi(n,r,e)?N.none():N.some(qc.moveToPosition(r))),hH=(e,n,o,r)=>dH(n,o)?fH(n,o.getNode(!n)).orThunk(()=>YN(e,n,o,r)):YN(e,n,o,r).bind(a=>gH(e,o,a)),dE=(e,n,o,r)=>{const a=Cy(n?1:-1,e,o),u=ae.fromRangeStart(a),f=U.fromDom(e);return!n&&Ql(u)?N.some(qc.remove(u.getNode(!0))):n&&am(u)?N.some(qc.remove(u.getNode())):!n&&am(u)&&Jy(f,u,r)?V6(f,u,r).map(b=>qc.remove(b.getNode())):n&&Ql(u)&&Xy(f,u,r)?z6(f,u,r).map(b=>qc.remove(b.getNode())):hH(e,n,u,r)},vO=(e,n)=>o=>(e._selectionOverrides.hideFakeCaret(),lm(e,n,U.fromDom(o)),!0),pH=(e,n)=>o=>{const r=n?ae.before(o):ae.after(o);return e.selection.setRng(r.toRange()),!0},bH=e=>n=>(e.selection.setRng(n.toRange()),!0),XN=(e,n)=>N.from(qf(e.getBody(),n)),vH=(e,n)=>{const o=e.selection.getNode();return XN(e,o).filter(Jt).fold(()=>dE(e.getBody(),n,e.selection.getRng(),e.schema).map(r=>()=>r.fold(vO(e,n),pH(e,n),bH(e))),()=>N.some(vt))},JN=e=>{ge(Ts(e,".mce-offscreen-selection"),xn)},yH=(e,n)=>{const o=e.selection.getNode();return Jt(o)&&!Xg(o)?XN(e,o.parentNode).filter(Jt).fold(()=>N.some(()=>{JN(U.fromDom(e.getBody())),lm(e,n,U.fromDom(e.selection.getNode())),v4(e)}),()=>N.some(vt)):bO(e)?N.some(()=>{Qw(e,e.selection.getRng(),U.fromDom(e.getBody()))}):N.none()},QN=e=>{const n=e.dom,o=e.selection,r=qf(e.getBody(),o.getNode());if(lr(r)&&n.isBlock(r)&&n.isEmpty(r)){const a=n.create("br",{"data-mce-bogus":"1"});n.setHTML(r,""),r.appendChild(a),o.setRng(ae.before(a).toRange())}return!0},P2=(e,n)=>e.selection.isCollapsed()?vH(e,n):yH(e,n),CH=(e,n)=>{const o=ae.fromRangeStart(e.selection.getRng());return Rs(n,e.getBody(),o).filter(r=>n?P6(r):$6(r)).bind(r=>Rh(n?0:-1,r)).map(r=>()=>e.selection.select(r))},yO=(e,n)=>e.selection.isCollapsed()?CH(e,n):N.none(),Vb=ke,eP=e=>Vb(e)&&e.data[0]===ks,tP=e=>Vb(e)&&e.data[e.data.length-1]===ks,nP=e=>{var n;return((n=e.ownerDocument)!==null&&n!==void 0?n:document).createTextNode(ks)},SH=e=>{var n;if(Vb(e.previousSibling))return tP(e.previousSibling)||e.previousSibling.appendData(ks),e.previousSibling;if(Vb(e))return eP(e)||e.insertData(0,ks),e;{const o=nP(e);return(n=e.parentNode)===null||n===void 0||n.insertBefore(o,e),o}},mE=e=>{var n,o;if(Vb(e.nextSibling))return eP(e.nextSibling)||e.nextSibling.insertData(0,ks),e.nextSibling;if(Vb(e))return tP(e)||e.appendData(ks),e;{const r=nP(e);return e.nextSibling?(n=e.parentNode)===null||n===void 0||n.insertBefore(r,e.nextSibling):(o=e.parentNode)===null||o===void 0||o.appendChild(r),r}},bp=(e,n)=>e?SH(n):mE(n),wH=_e(bp,!0),xH=_e(bp,!1),$2=(e,n)=>ke(e.container())?bp(n,e.container()):bp(n,e.getNode()),oP=(e,n)=>{const o=n.get();return o&&e.container()===o&&Pr(o)},CO=(e,n)=>n.fold(o=>{ls(e.get());const r=wH(o);return e.set(r),N.some(ae(r,r.length-1))},o=>kr(o).map(r=>{if(oP(r,e)){const a=e.get();return ae(a,1)}else{ls(e.get());const a=$2(r,!0);return e.set(a),ae(a,1)}}),o=>Pa(o).map(r=>{if(oP(r,e)){const a=e.get();return ae(a,a.length-1)}else{ls(e.get());const a=$2(r,!1);return e.set(a),ae(a,a.length-1)}}),o=>{ls(e.get());const r=xH(o);return e.set(r),N.some(ae(r,1))}),sP=(e,n)=>{for(let o=0;o{const o=zl(n,e);return o||e},EH=(e,n,o)=>{const r=Fn(o),a=rP(n,r.container());return Ws(e,a,r).fold(()=>gr(a,r).bind(_e(Ws,e,a)).map(u=>yc.before(u)),N.none)},TH=(e,n)=>Qd(e,n)===null,cP=(e,n,o)=>Ws(e,n,o).filter(_e(TH,n)),_H=(e,n,o)=>{const r=nM(o);return cP(e,n,r).bind(a=>Lr(a,r).isNone()?N.some(yc.start(a)):N.none())},kH=(e,n,o)=>{const r=Fn(o);return cP(e,n,r).bind(a=>gr(a,r).isNone()?N.some(yc.end(a)):N.none())},OH=(e,n,o)=>{const r=nM(o),a=rP(n,r.container());return Ws(e,a,r).fold(()=>Lr(a,r).bind(_e(Ws,e,a)).map(u=>yc.after(u)),N.none)},AH=e=>!tM(I2(e)),nr=(e,n,o)=>sP([EH,_H,kH,OH],[e,n,o]).filter(AH),I2=e=>e.fold(Co,Co,Co,Co),SO=e=>e.fold(Fe("before"),Fe("start"),Fe("end"),Fe("after")),F2=e=>e.fold(yc.before,yc.before,yc.after,yc.after),wO=e=>e.fold(yc.start,yc.start,yc.end,yc.end),aP=(e,n)=>SO(e)===SO(n)&&I2(e)===I2(n),RH=(e,n,o,r,a,u)=>qs(Ws(n,o,r),Ws(n,o,a),(f,b)=>f!==b&&t2(o,f,b)?yc.after(e?f:b):u).getOr(u),iP=(e,n)=>e.fold(Ke,o=>!aP(o,n)),DH=(e,n,o,r,a)=>{const u=Si(e,a);return Rs(e,o,u).map(_e(Si,e)).fold(()=>r.map(F2),y=>nr(n,o,y).map(_e(RH,e,n,o,u,y)).filter(_e(iP,r))).filter(AH)},MH=(e,n)=>e?n.fold(_(N.some,yc.start),N.none,_(N.some,yc.after),N.none):n.fold(N.none,_(N.some,yc.before),N.none,_(N.some,yc.end)),BH=(e,n,o,r)=>{const a=Si(e,r),u=nr(n,o,a);return nr(n,o,a).bind(_e(MH,e)).orThunk(()=>DH(e,n,o,u,r))},zb=e=>Y(e.selection.getSel().modify),xO=(e,n,o)=>{const r=e?1:-1;return n.setRng(ae(o.container(),o.offset()+r).toRange()),n.getSel().modify("move",e?"forward":"backward","word"),!0},lP=(e,n)=>{const o=n.selection.getRng(),r=e?ae.fromRangeEnd(o):ae.fromRangeStart(o);return zb(n)?e&&Ui(r)?xO(!0,n.selection,r):!e&&r1(r)?xO(!1,n.selection,r):!1:!1};var ru;(function(e){e[e.Br=0]="Br",e[e.Block=1]="Block",e[e.Wrap=2]="Wrap",e[e.Eol=3]="Eol"})(ru||(ru={}));const Ub=(e,n)=>e===Ro.Backwards?ho(n):n,NH=(e,n,o)=>e===Ro.Forwards?n.next(o):n.prev(o),PH=(e,n,o,r)=>Dn(r.getNode(n===Ro.Forwards))?ru.Br:hi(o,r)===!1?ru.Block:ru.Wrap,uP=(e,n,o,r)=>{const a=pi(o);let u=r;const f=[];for(;u;){const b=NH(n,a,u);if(!b)break;if(Dn(b.getNode(!1)))return n===Ro.Forwards?{positions:Ub(n,f).concat([b]),breakType:ru.Br,breakAt:N.some(b)}:{positions:Ub(n,f),breakType:ru.Br,breakAt:N.some(b)};if(!b.isVisible()){u=b;continue}if(e(u,b)){const y=PH(o,n,u,b);return{positions:Ub(n,f),breakType:y,breakAt:N.some(b)}}f.push(b),u=b}return{positions:Ub(n,f),breakType:ru.Eol,breakAt:N.none()}},$H=(e,n,o,r)=>n(o,r).breakAt.map(a=>{const u=n(o,a).positions;return e===Ro.Backwards?u.concat(a):[a].concat(u)}).getOr([]),dP=(e,n)=>wo(e,(o,r)=>o.fold(()=>N.some(r),a=>qs(yr(a.getClientRects()),yr(r.getClientRects()),(u,f)=>{const b=Math.abs(n-u.left);return Math.abs(n-f.left)<=b?r:a}).or(o)),N.none()),EO=(e,n)=>yr(n.getClientRects()).bind(o=>dP(e,o.left)),Kc=_e(uP,ae.isAbove,-1),L2=_e(uP,ae.isBelow,1),mP=_e($H,-1,Kc),ag=_e($H,1,L2),TO=(e,n)=>Kc(e,n).breakAt.isNone(),fP=(e,n)=>L2(e,n).breakAt.isNone(),fE=e=>kr(e).map(n=>[n].concat(L2(e,n).positions)).getOr([]),IH=e=>Pa(e).map(n=>Kc(e,n).positions.concat(n)).getOr([]),FH=(e,n)=>EO(mP(e,n),n),LH=(e,n)=>EO(ag(e,n),n),HH=Jt,gP=(e,n)=>Math.abs(e.left-n),hP=(e,n)=>Math.abs(e.right-n),vm=e=>Jr(e,"node"),pP=(e,n)=>Tc(e,(o,r)=>{const a=Math.min(gP(o,n),hP(o,n)),u=Math.min(gP(r,n),hP(r,n));return u===a&&vm(r)&&HH(r.node)||u{const n=o=>Dt(o,r=>{const a=jd(r);return a.node=e,a});if(Je(e))return n(e.getClientRects());if(ke(e)){const o=e.ownerDocument.createRange();return o.setStart(e,0),o.setEnd(e,e.data.length),n(o.getClientRects())}else return[]},bP=e=>ba(e,VH);var H2;(function(e){e[e.Up=-1]="Up",e[e.Down=1]="Down"})(H2||(H2={}));const zH=(e,n,o,r)=>{let a=r;for(;a=Tf(a,e,c1,n);)if(o(a))return},gE=(e,n,o,r,a,u)=>{let f=0;const b=[],y=A=>{let M=bP([A]);e===-1&&(M=M.reverse());for(let L=0;L0&&n(V,va(b))&&f++,V.line=f,a(V))return!0;b.push(V)}}return!1},x=va(u.getClientRects());if(!x)return b;const O=u.getNode();return O&&(y(O),zH(e,r,y,O)),b},_O=(e,n)=>n.line>e,kO=(e,n)=>n.line===e,vP=_e(gE,H2.Up,Pu,qd),yP=_e(gE,H2.Down,qd,Pu),OO=e=>va(e.getClientRects()),UH=(e,n,o,r)=>{const a=pi(n);let u,f,b,y;const x=[];let O=0;e===1?(u=a.next,f=qd,b=Pu,y=ae.after(r)):(u=a.prev,f=Pu,b=qd,y=ae.before(r));const A=OO(y);do{if(!y.isVisible())continue;const M=OO(y);if(b(M,A))continue;x.length>0&&f(M,va(x))&&O++;const L=jd(M);if(L.position=y,L.line=O,o(L))return x;x.push(L)}while(y=u(y));return x},Wb=e=>n=>_O(e,n),Zb=e=>n=>kO(e,n),ad=(e,n)=>{e.selection.setRng(n),ep(e,e.selection.getRng())},hE=(e,n,o)=>N.some(iE(e,n,o)),AO=(e,n,o,r,a,u)=>{const f=n===Ro.Forwards,b=pi(e.getBody()),y=_e(rw,f?b.next:b.prev),x=f?r:a;if(!o.collapsed){const V=Dv(o);if(u(V))return cd(n,e,V,n===Ro.Backwards,!1);if(bO(e)){const I=o.cloneRange();return I.collapse(n===Ro.Backwards),N.from(I)}}const O=Wu(n,e.getBody(),o);if(x(O))return Hb(e,O.getNode(!f));let A=y(O);const M=eS(o);if(A)A=Si(f,A);else return M?N.some(o):N.none();if(x(A))return cd(n,e,A.getNode(!f),f,!1);const L=y(A);return L&&x(L)&&Sy(A,L)?cd(n,e,L.getNode(!f),f,!1):M?hE(e,A.toRange(),!1):N.none()},RO=(e,n,o,r,a,u)=>{const f=Wu(n,e.getBody(),o),b=va(f.getClientRects()),y=n===H2.Down,x=e.getBody();if(!b)return N.none();if(bO(e)){const z=y?ae.fromRangeEnd(o):ae.fromRangeStart(o);return(y?LH:FH)(x,z).orThunk(()=>N.from(z)).map(X=>X.toRange())}const A=(y?yP:vP)(x,Wb(1),f),M=pt(A,Zb(1)),L=b.left,V=pP(M,L);if(V&&u(V.node)){const z=Math.abs(L-V.left),G=Math.abs(L-V.right);return cd(n,e,V.node,ziE(e,z.toRange(),!1)):N.none()},jb=(e,n)=>{const o=e.selection.getRng(),r=n?ae.fromRangeEnd(o):ae.fromRangeStart(o),a=vy(r.container(),e.getBody());if(n){const u=L2(a,r);return mu(u.positions)}else{const u=Kc(a,r);return yr(u.positions)}},pE=(e,n,o)=>jb(e,n).filter(o).exists(r=>(e.selection.setRng(r.toRange()),!0)),ig=(e,n)=>{const o=e.dom.createRng();o.setStart(n.container(),n.offset()),o.setEnd(n.container(),n.offset()),e.selection.setRng(o)},CP=(e,n)=>{e?n.setAttribute("data-mce-selected","inline-boundary"):n.removeAttribute("data-mce-selected")},DO=(e,n,o)=>CO(n,o).map(r=>(ig(e,r),o)),WH=(e,n,o)=>{const r=ae.fromRangeStart(e);if(e.collapsed)return r;{const a=ae.fromRangeEnd(e);return o?Lr(n,a).getOr(a):gr(n,r).getOr(r)}},ZH=(e,n,o)=>{const r=e.getBody(),a=WH(e.selection.getRng(),r,o),u=_e(rp,e);return BH(o,u,r,a).bind(b=>DO(e,n,b))},SP=(e,n,o)=>{const r=Dt(Ts(U.fromDom(n.getRoot()),'*[data-mce-selected="inline-boundary"]'),f=>f.dom),a=pt(r,e),u=pt(o,e);ge(Hp(a,u),_e(CP,!1)),ge(Hp(u,a),_e(CP,!0))},jH=(e,n)=>{const o=n.get();if(e.selection.isCollapsed()&&!e.composing&&o){const r=ae.fromRangeStart(e.selection.getRng());ae.isTextPosition(r)&&!Ci(r)&&(ig(e,QS(o,r)),n.set(null))}},wP=(e,n,o,r)=>{if(n.selection.isCollapsed()){const a=pt(r,e);ge(a,u=>{const f=ae.fromRangeStart(n.selection.getRng());nr(e,n.getBody(),f).bind(b=>DO(n,o,b))})}},GH=(e,n,o)=>Yd(e)?ZH(e,n,o).isSome():!1,xP=(e,n,o)=>Yd(n)?lP(e,n):!1,qH=e=>{const n=ao(null),o=_e(rp,e);return e.on("NodeChange",r=>{Yd(e)&&(SP(o,e.dom,r.parents),jH(e,n),wP(o,e,n,r.parents))}),n},KH=_e(xP,!0),YH=_e(xP,!1),bE=(e,n,o)=>{if(Yd(e)){const r=jb(e,n).getOrThunk(()=>{const a=e.selection.getRng();return n?ae.fromRangeEnd(a):ae.fromRangeStart(a)});return nr(_e(rp,e),e.getBody(),r).exists(a=>{const u=F2(a);return CO(o,u).exists(f=>(ig(e,f),!0))})}else return!1},XH=(e,n)=>{const o=document.createRange();return o.setStart(e.container(),e.offset()),o.setEnd(n.container(),n.offset()),o},JH=e=>qs(kr(e),Pa(e),(n,o)=>{const r=Si(!0,n),a=Si(!1,o);return gr(e,r).forall(u=>u.isEqual(a))}).getOr(!0),EP=(e,n)=>o=>CO(n,o).map(r=>()=>ig(e,r)),MO=(e,n,o,r)=>{const a=e.getBody(),u=_e(rp,e);e.undoManager.ignore(()=>{e.selection.setRng(XH(o,r)),Jw(e),nr(u,a,ae.fromRangeStart(e.selection.getRng())).map(wO).bind(EP(e,n)).each(Dr)}),e.nodeChanged()},QH=(e,n)=>{const o=zl(n,e);return o||e},vp=(e,n,o,r)=>{const a=QH(e.getBody(),r.container()),u=_e(rp,e),f=nr(u,a,r);return f.bind(y=>o?y.fold(Fe(N.some(wO(y))),N.none,Fe(N.some(F2(y))),N.none):y.fold(N.none,Fe(N.some(F2(y))),N.none,Fe(N.some(wO(y))))).map(EP(e,n)).getOrThunk(()=>{const y=Wl(o,a,r),x=y.bind(O=>nr(u,a,O));return qs(f,x,()=>Ws(u,a,r).bind(O=>JH(O)?N.some(()=>{lm(e,o,U.fromDom(O))}):N.none())).getOrThunk(()=>x.bind(()=>y.map(O=>()=>{o?MO(e,n,r,O):MO(e,n,O,r)})))})},vE=(e,n,o)=>{if(e.selection.isCollapsed()&&Yd(e)){const r=ae.fromRangeStart(e.selection.getRng());return vp(e,n,o,r)}return N.none()},BO=e=>nc(e)>1,NO=(e,n)=>{const o=U.fromDom(e.getBody()),r=U.fromDom(e.selection.getStart()),a=Ju(r,o);return Yr(a,n).fold(Fe(a),u=>a.slice(0,u))},PO=e=>nc(e)===1,lg=e=>NO(e,n=>e.schema.isBlock(un(n))||BO(n)),TP=e=>NO(e,n=>e.schema.isBlock(un(n))),za=(e,n)=>{const o=_e(YM,e);return ba(n,r=>o(r)?[r.dom]:[])},ug=e=>{const n=TP(e);return za(e,n)},$O=(e,n,o,r)=>{const a=za(n,r);if(a.length===0)lm(n,e,o);else{const u=vx(o.dom,a);n.selection.setRng(u.toRange())}},eV=(e,n)=>{const o=pt(lg(e),PO);return mu(o).bind(r=>{const a=ae.fromRangeStart(e.selection.getRng());return y4(n,a,r.dom)&&!Uh(r)?N.some(()=>$O(n,e,r,o)):N.none()})},_P=(e,n)=>{const o=n.parentElement;return Dn(n)&&!Q(o)&&e.dom.isEmpty(o)},tV=e=>Uh(U.fromDom(e)),kP=(e,n)=>{const o=e.selection.getStart(),r=_P(e,o)||tV(o)?vx(o,n):KM(e.selection.getRng(),n);e.selection.setRng(r.toRange())},nV=(e,n)=>{const o=Hp(n,ug(e));o.length>0&&kP(e,o)},OP=e=>ke(e.startContainer),oV=e=>e.startOffset===0&&OP(e),AP=(e,n)=>{const o=n.startContainer.parentElement;return!Q(o)&&YM(e,U.fromDom(o))},sV=e=>{const n=e.startContainer.parentNode,o=e.endContainer.parentNode;return!Q(n)&&!Q(o)&&n.isEqualNode(o)},rV=e=>{const n=e.endContainer;return e.endOffset===(ke(n)?n.length:n.childNodes.length)},Gb=e=>sV(e)&&rV(e),IO=e=>!e.endContainer.isEqualNode(e.commonAncestorContainer),RP=e=>Gb(e)||IO(e),DP=e=>{const n=e.selection.getRng();return oV(n)&&AP(e,n)&&RP(n)},FO=e=>{if(DP(e)){const n=ug(e);return N.some(()=>{Jw(e),nV(e,n)})}else return N.none()},LO=(e,n)=>e.selection.isCollapsed()?eV(e,n):FO(e),cV=(e,n)=>oM(e,o=>Lc(o.dom),o=>n.isBlock(un(o))),aV=e=>cV(U.fromDom(e.selection.getStart()),e.schema),iV=e=>{const n=e.selection.getRng();return n.collapsed&&(OP(n)||e.dom.isEmpty(n.startContainer))&&!aV(e)},V2=e=>(iV(e)&&kP(e,[]),!0),HO=(e,n,o)=>Se(o)?N.some(()=>{e._selectionOverrides.hideFakeCaret(),lm(e,n,U.fromDom(o))}):N.none(),lV=(e,n)=>{const o=n?Yy:Sb,r=n?Ro.Forwards:Ro.Backwards,a=Wu(r,e.getBody(),e.selection.getRng());return o(a)?HO(e,n,a.getNode(!n)):N.from(Si(n,a)).filter(u=>o(u)&&Sy(a,u)).bind(u=>HO(e,n,u.getNode(!n)))},MP=(e,n)=>{const o=e.selection.getNode();return _o(o)?HO(e,n,o):N.none()},VO=(e,n)=>e.selection.isCollapsed()?lV(e,n):MP(e,n),uV=e=>sa(e,n=>lr(n.dom)||Jt(n.dom)).exists(n=>lr(n.dom)),Yc=e=>Sd(e??"").getOr(0),BP=(e,n)=>{const o=e||Br(n)?"margin":"padding",r=ns(n,"direction")==="rtl"?"-right":"-left";return o+r},zO=(e,n,o,r,a,u)=>{const f=BP(o,U.fromDom(u)),b=Yc(e.getStyle(u,f));if(n==="outdent"){const y=Math.max(0,b-r);e.setStyle(u,f,y?y+a:"")}else{const y=b+r+a;e.setStyle(u,f,y)}},NP=(e,n)=>Bs(n,o=>{const r=BP(L1(e),o),a=os(o,r).map(Yc).getOr(0);return e.dom.getContentEditable(o.dom)!=="false"&&a>0}),yE=e=>{const n=$P(e);return!e.mode.isReadOnly()&&(n.length>1||NP(e,n))},PP=e=>cc(e)||Hi(e),dV=e=>Oc(e).exists(PP),$P=e=>pt(e1(e.selection.getSelectedBlocks()),n=>!PP(n)&&!dV(n)&&uV(n)),IP=(e,n)=>{var o,r;const{dom:a}=e,u=ey(e),f=(r=(o=/[a-z%]+$/i.exec(u))===null||o===void 0?void 0:o[0])!==null&&r!==void 0?r:"px",b=Yc(u),y=L1(e);ge($P(e),x=>{zO(a,n,y,b,f,x.dom)})},mV=e=>IP(e,"indent"),UO=e=>IP(e,"outdent"),FP=e=>{if(e.selection.isCollapsed()&&yE(e)){const n=e.dom,o=e.selection.getRng(),r=ae.fromRangeStart(o),a=n.getParent(o.startContainer,n.isBlock);if(a!==null&&d4(U.fromDom(a),r,e.schema))return N.some(()=>UO(e))}return N.none()},LP=(e,n,o)=>pd([FP,P2,pO,(r,a)=>vE(r,n,a),gO,ox,yO,VO,aE,LO],r=>r(e,o)).filter(r=>e.selection.isEditable()),z2=(e,n)=>{LP(e,n,!1).fold(()=>{e.selection.isEditable()&&(Jw(e),v4(e))},Dr)},ym=(e,n)=>{LP(e,n,!0).fold(()=>{e.selection.isEditable()&&p4(e)},Dr)},yp=(e,n)=>{e.addCommand("delete",()=>{z2(e,n)}),e.addCommand("forwardDelete",()=>{ym(e,n)})},U2=5,WO=400,CE=e=>e.touches===void 0||e.touches.length!==1?N.none():N.some(e.touches[0]),HP=(e,n)=>{const o=Math.abs(e.clientX-n.x),r=Math.abs(e.clientY-n.y);return o>U2||r>U2},fV=e=>{const n=Bu(),o=ao(!1),r=T1(a=>{e.dispatch("longpress",{...a,type:"longpress"}),o.set(!0)},WO);e.on("touchstart",a=>{CE(a).each(u=>{r.cancel();const f={x:u.clientX,y:u.clientY,target:a.target};r.throttle(a),o.set(!1),n.set(f)})},!0),e.on("touchmove",a=>{r.cancel(),CE(a).each(u=>{n.on(f=>{HP(u,f)&&(n.clear(),o.set(!1),e.dispatch("longpresscancel"))})})},!0),e.on("touchend touchcancel",a=>{r.cancel(),a.type!=="touchcancel"&&n.get().filter(u=>u.target.isEqualNode(a.target)).each(()=>{o.get()?a.preventDefault():e.dispatch("tap",{...a,type:"tap"})})},!0)},SE=(e,n)=>Et(e,n.nodeName),VP=(e,n)=>ke(n)?!0:Je(n)?!SE(e.getBlockElements(),n)&&!Hc(n)&&!qt(e,n)&&!mv(n):!1,gV=(e,n,o)=>to(l4(U.fromDom(o),U.fromDom(n)),r=>SE(e,r.dom)),hV=(e,n)=>{if(ke(n)){if(n.data.length===0)return!0;if(/^\s+$/.test(n.data))return!n.nextSibling||SE(e,n.nextSibling)||mv(n.nextSibling)}return!1},zP=e=>e.dom.create(mr(e),Ch(e)),pV=e=>{const n=e.dom,o=e.selection,r=e.schema,a=r.getBlockElements(),u=o.getStart(),f=e.getBody();let b,y,x=!1;const O=mr(e);if(!u||!Je(u))return;const A=f.nodeName.toLowerCase();if(!r.isValidChild(A,O.toLowerCase())||gV(a,f,u))return;const M=o.getRng(),{startContainer:L,startOffset:V,endContainer:I,endOffset:z}=M,G=Wf(e);let X=f.firstChild;for(;X;)if(Je(X)&&u1(r,X),VP(r,X)){if(hV(a,X)){y=X,X=X.nextSibling,n.remove(y);continue}b||(b=zP(e),f.insertBefore(b,X),x=!0),y=X,X=X.nextSibling,b.appendChild(y)}else b=null,X=X.nextSibling;x&&G&&(M.setStart(L,V),M.setEnd(I,z),o.setRng(M),e.nodeChanged())},UP=(e,n,o)=>{const r=U.fromDom(zP(e)),a=Nr();Zo(r,a),o(n,r);const u=document.createRange();return u.setStartBefore(a.dom),u.setEndBefore(a.dom),u},bV=e=>{e.on("NodeChange",_e(pV,e))},ZO=e=>n=>(" "+n.attr("class")+" ").indexOf(e)!==-1,WP=(e,n,o)=>function(r){const a=arguments,u=a[a.length-2],f=u>0?n.charAt(u-1):"";if(f==='"')return r;if(f===">"){const b=n.lastIndexOf("<",u);if(b!==-1&&n.substring(b,u).indexOf('contenteditable="false"')!==-1)return r}return''+e.dom.encode(typeof a[1]=="string"?a[1]:a[0])+""},Aj=(e,n,o)=>{let r=n.length,a=o.content;if(o.format!=="raw"){for(;r--;)a=a.replace(n[r],WP(e,a,ly(e)));o.content=a}},Rj=(e,n)=>Bs(e,o=>{const r=n.match(o);return r!==null&&r[0].length===n.length}),Dj=e=>{const n="contenteditable",o=" "+Me.trim(qS(e))+" ",r=" "+Me.trim(ly(e))+" ",a=ZO(o),u=ZO(r),f=ak(e);f.length>0&&e.on("BeforeSetContent",b=>{Aj(e,f,b)}),e.parser.addAttributeFilter("class",b=>{let y=b.length;for(;y--;){const x=b[y];a(x)?x.attr(n,"true"):u(x)&&x.attr(n,"false")}}),e.serializer.addAttributeFilter(n,b=>{let y=b.length;for(;y--;){const x=b[y];if(!a(x)&&!u(x))continue;const O=x.attr("data-mce-content");f.length>0&&O?Rj(f,O)?(x.name="#text",x.type=3,x.raw=!0,x.value=O):x.remove():x.attr(n,null)}})},vV=e=>Rc(U.fromDom(e.getBody()),"*[data-mce-caret]").map(n=>n.dom).getOrNull(),yV=(e,n)=>{n.hasAttribute("data-mce-caret")&&(Al(n),e.selection.setRng(e.selection.getRng()),e.selection.scrollIntoView(n))},Mj=(e,n)=>{const o=vV(e);if(o){if(n.type==="compositionstart"){n.preventDefault(),n.stopPropagation(),yV(e,o);return}av(o)&&(yV(e,o),e.undoManager.add())}},CV=e=>{e.on("keyup compositionstart",_e(Mj,e))},ZP=Jt,Bj=(e,n,o)=>AO(n,e,o,am,Ql,ZP),SV=(e,n,o)=>RO(n,e,o,u=>am(u)||ND(u),u=>Ql(u)||Ft(u),ZP),ma=e=>{const n=e.dom.create(mr(e));return n.innerHTML='
    ',n},jO=(e,n,o)=>{const r=pi(e.getBody()),a=_e(rw,n===1?r.next:r.prev);if(o.collapsed){const u=e.dom.getParent(o.startContainer,"PRE");if(!u)return;if(!a(ae.fromRangeStart(o))){const b=U.fromDom(ma(e));n===1?ti(U.fromDom(u),b):hs(U.fromDom(u),b),e.selection.select(b.dom,!0),e.selection.collapse()}}},W2=(e,n)=>{const o=n?Ro.Forwards:Ro.Backwards,r=e.selection.getRng();return Bj(o,e,r).orThunk(()=>(jO(e,o,r),N.none()))},wV=(e,n)=>{const o=n?1:-1,r=e.selection.getRng();return SV(o,e,r).orThunk(()=>(jO(e,o,r),N.none()))},jP=(e,n)=>{const o=n?e.getEnd(!0):e.getStart(!0);return tM(o)?!n:n},GO=(e,n)=>W2(e,jP(e.selection,n)).exists(o=>(ad(e,o),!0)),wE=(e,n)=>wV(e,n).exists(o=>(ad(e,o),!0)),GP=(e,n)=>pE(e,n,n?Ql:am),xE=(e,n)=>uE(e,!n).map(o=>{const r=o.toRange(),a=e.selection.getRng();return n?r.setStart(a.startContainer,a.startOffset):r.setEnd(a.endContainer,a.endOffset),r}).exists(o=>(ad(e,o),!0)),qP=e=>_t(["figcaption"],un(e)),xV=(e,n,o)=>{const r=_e(bn,n);return sa(U.fromDom(e.container()),a=>o.isBlock(un(a)),r).filter(qP)},EV=(e,n,o)=>n?fP(e.dom,o):TO(e.dom,o),TV=(e,n)=>{const o=U.fromDom(e.getBody()),r=ae.fromRangeStart(e.selection.getRng());return xV(r,o,e.schema).exists(()=>{if(EV(o,n,r)){const u=UP(e,o,n?Zo:qg);return e.selection.setRng(u),!0}else return!1})},EE=(e,n)=>e.selection.isCollapsed()?TV(e,n):!1,_V=(e,n,o)=>{const r=e.selection.getRng(),a=ae.fromRangeStart(r);return e.getBody().firstChild===n&&TO(o,a)?(e.execCommand("InsertNewBlockBefore"),!0):!1},kV=(e,n)=>{const o=e.selection.getRng(),r=ae.fromRangeStart(o);return e.getBody().lastChild===n&&fP(n,r)?(e.execCommand("InsertNewBlockAfter"),!0):!1},Nj=(e,n)=>n?N.from(e.dom.getParent(e.selection.getNode(),"details")).map(o=>kV(e,o)).getOr(!1):N.from(e.dom.getParent(e.selection.getNode(),"summary")).bind(o=>N.from(e.dom.getParent(o,"details")).map(r=>_V(e,r,o))).getOr(!1),KP=(e,n)=>Nj(e,n),qO={shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0},Pj=e=>Dt(e,n=>({...qO,...n})),OV=e=>Dt(e,n=>({...qO,...n})),YP=(e,n)=>n.keyCode===e.keyCode&&n.shiftKey===e.shiftKey&&n.altKey===e.altKey&&n.ctrlKey===e.ctrlKey&&n.metaKey===e.metaKey,AV=(e,n)=>ba(Pj(e),o=>YP(o,n)?[o]:[]),KO=(e,n)=>ba(OV(e),o=>YP(o,n)?[o]:[]),St=(e,...n)=>()=>e.apply(null,n),qb=(e,n)=>Vo(AV(e,n),o=>o.action()),YO=(e,n)=>pd(KO(e,n),o=>o.action()),XP=(e,n)=>{const o=n?Ro.Forwards:Ro.Backwards,r=e.selection.getRng();return AO(e,o,r,Yy,Sb,_o).exists(a=>(ad(e,a),!0))},JP=(e,n)=>{const o=n?1:-1,r=e.selection.getRng();return RO(e,o,r,Yy,Sb,_o).exists(a=>(ad(e,a),!0))},TE=(e,n)=>pE(e,n,n?Sb:Yy),QP=gi.generate([{none:["current"]},{first:["current"]},{middle:["current","target"]},{last:["current"]}]),Z2={...QP,none:e=>QP.none(e)},RV=(e,n)=>Oi(e,n,Ke),Oi=(e,n,o)=>ba(Es(e),r=>Ea(r,n)?o(r)?[r]:[]:Oi(r,n,o)),e5=(e,n,o=Ee)=>{if(o(n))return N.none();if(_t(e,un(n)))return N.some(n);const r=a=>Ea(a,"table")||o(a);return Bm(n,e.join(","),r)},t5=(e,n)=>e5(["td","th"],e,n),Ij=e=>RV(e,"th,td"),DV=(e,n)=>Ii(e,"table",n),n5=(e,n,o,r,a=Ke)=>{const u=r===1;if(!u&&o<=0)return Z2.first(e[0]);if(u&&o>=e.length-1)return Z2.last(e[e.length-1]);{const f=o+r,b=e[f];return a(b)?Z2.middle(n,b):n5(e,n,f,r,a)}},MV=(e,n)=>DV(e,n).bind(o=>{const r=Ij(o);return Yr(r,u=>bn(e,u)).map(u=>({index:u,all:r}))}),BV=(e,n,o)=>MV(e,o).fold(()=>Z2.none(e),a=>n5(a.all,e,a.index,1,n)),_E=(e,n,o)=>MV(e,o).fold(()=>Z2.none(),a=>n5(a.all,e,a.index,-1,n)),NV=(e,n)=>({left:e.left-n,top:e.top-n,right:e.right+n*2,bottom:e.bottom+n*2,width:e.width+n,height:e.height+n}),XO=(e,n)=>ba(n,o=>{const r=NV(jd(o.getBoundingClientRect()),-1);return[{x:r.left,y:e(r),cell:o},{x:r.right,y:e(r),cell:o}]}),o5=(e,n,o)=>wo(e,(r,a)=>r.fold(()=>N.some(a),u=>{const f=Math.sqrt(Math.abs(u.x-n)+Math.abs(u.y-o)),b=Math.sqrt(Math.abs(a.x-n)+Math.abs(a.y-o));return N.some(b{const u=Ts(U.fromDom(o),"td,th,caption").map(b=>b.dom),f=pt(XO(e,u),b=>n(b,a));return o5(f,r,a).map(b=>b.cell)},s5=e=>e.bottom,PV=e=>e.top,$V=(e,n)=>e.ye.y>n,FV=_e(JO,s5,$V),kE=_e(JO,PV,IV),LV=(e,n)=>yr(n.getClientRects()).bind(o=>FV(e,o.left,o.top)).bind(o=>EO(IH(o),n)),HV=(e,n)=>mu(n.getClientRects()).bind(o=>kE(e,o.left,o.top)).bind(o=>EO(fE(o),n)),VV=(e,n,o)=>o.breakAt.exists(r=>e(n,r).breakAt.isSome()),QO=e=>e.breakType===ru.Wrap&&e.positions.length===0,zV=e=>e.breakType===ru.Br&&e.positions.length===1,r5=(e,n,o)=>{const r=e(n,o);return QO(r)||!Dn(o.getNode())&&zV(r)?!VV(e,n,r):r.breakAt.isNone()},c5=_e(r5,Kc),UV=_e(r5,L2),WV=(e,n,o)=>{const r=ae.fromRangeStart(n);return Df(!e,o).exists(a=>a.isEqual(r))},ZV=(e,n,o,r)=>{const a=e.selection.getRng(),u=n?1:-1;return Oh()&&WV(n,a,o)?(cd(u,e,o,!n,!1).each(f=>{ad(e,f)}),!0):!1},jV=(e,n,o)=>LV(n,o).orThunk(()=>yr(o.getClientRects()).bind(r=>dP(mP(e,ae.before(n)),r.left))).getOr(ae.before(n)),GV=(e,n,o)=>HV(n,o).orThunk(()=>yr(o.getClientRects()).bind(r=>dP(ag(e,ae.after(n)),r.left))).getOr(ae.after(n)),a5=(e,n)=>{const o=n.getNode(e);return Fi(o)?N.some(o):N.none()},eA=(e,n,o)=>{n.undoManager.transact(()=>{const r=e?ti:hs,a=UP(n,U.fromDom(o),r);ad(n,a)})},i5=(e,n,o)=>{const r=a5(!!n,o),a=n===!1;r.fold(()=>ad(e,o.toRange()),u=>Df(a,e.getBody()).filter(f=>f.isEqual(o)).fold(()=>ad(e,o.toRange()),f=>eA(n,e,u)))},l5=(e,n,o,r)=>{const a=e.selection.getRng(),u=ae.fromRangeStart(a),f=e.getBody();if(!n&&c5(r,u)){const b=jV(f,o,u);return i5(e,n,b),!0}else if(n&&UV(r,u)){const b=GV(f,o,u);return i5(e,n,b),!0}else return!1},u5=(e,n,o)=>N.from(e.dom.getParent(e.selection.getNode(),"td,th")).bind(r=>N.from(e.dom.getParent(r,"table")).map(a=>o(e,n,a,r))).getOr(!1),d5=(e,n)=>u5(e,n,ZV),tA=(e,n)=>u5(e,n,l5),qV=e=>{const n=Xl.exact(e,0,e,0);return Yk(n)},m5=(e,n,o)=>o.fold(N.none,N.none,(r,a)=>p6(a).map(u=>qV(u)),r=>(e.execCommand("mceTableInsertRowAfter"),f5(e,n,r))),f5=(e,n,o)=>m5(e,n,BV(o,$t)),ys=(e,n,o)=>m5(e,n,_E(o,$t)),g5=(e,n)=>{const o=["table","li","dl"],r=U.fromDom(e.getBody()),a=b=>{const y=un(b);return bn(b,r)||_t(o,y)},u=e.selection.getRng(),f=U.fromDom(n?u.endContainer:u.startContainer);return t5(f,a).map(b=>(DV(b,a).each(O=>{e.model.table.clearSelectedCells(O.dom)}),e.selection.collapse(!n),(n?f5:ys)(e,a,b).each(O=>{e.selection.setRng(O)}),!0)).getOr(!1)},KV=(e,n,o)=>{const r=Ze.os.isMacOS()||Ze.os.isiOS();qb([{keyCode:Ye.RIGHT,action:St(GO,e,!0)},{keyCode:Ye.LEFT,action:St(GO,e,!1)},{keyCode:Ye.UP,action:St(wE,e,!1)},{keyCode:Ye.DOWN,action:St(wE,e,!0)},...r?[{keyCode:Ye.UP,action:St(xE,e,!1),metaKey:!0,shiftKey:!0},{keyCode:Ye.DOWN,action:St(xE,e,!0),metaKey:!0,shiftKey:!0}]:[],{keyCode:Ye.RIGHT,action:St(d5,e,!0)},{keyCode:Ye.LEFT,action:St(d5,e,!1)},{keyCode:Ye.UP,action:St(tA,e,!1)},{keyCode:Ye.DOWN,action:St(tA,e,!0)},{keyCode:Ye.UP,action:St(tA,e,!1)},{keyCode:Ye.UP,action:St(KP,e,!1)},{keyCode:Ye.DOWN,action:St(KP,e,!0)},{keyCode:Ye.RIGHT,action:St(XP,e,!0)},{keyCode:Ye.LEFT,action:St(XP,e,!1)},{keyCode:Ye.UP,action:St(JP,e,!1)},{keyCode:Ye.DOWN,action:St(JP,e,!0)},{keyCode:Ye.RIGHT,action:St(GH,e,n,!0)},{keyCode:Ye.LEFT,action:St(GH,e,n,!1)},{keyCode:Ye.RIGHT,ctrlKey:!r,altKey:r,action:St(KH,e,n)},{keyCode:Ye.LEFT,ctrlKey:!r,altKey:r,action:St(YH,e,n)},{keyCode:Ye.UP,action:St(EE,e,!1)},{keyCode:Ye.DOWN,action:St(EE,e,!0)}],o).each(a=>{o.preventDefault()})},YV=(e,n)=>{e.on("keydown",o=>{o.isDefaultPrevented()||KV(e,n,o)})},gl=(e,n)=>({container:e,offset:n}),Kb=Un.DOM,j2=e=>n=>e===n?-1:0,dg=e=>n=>e.isBlock(n)||_t(["BR","IMG","HR","INPUT"],n.nodeName)||e.getContentEditable(n)==="false",G2=(e,n,o)=>{if(ke(e)&&n>=0)return N.some(gl(e,n));{const r=Nu(Kb);return N.from(r.backwards(e,n,j2(e),o)).map(a=>gl(a.container,a.container.data.length))}},h5=(e,n,o)=>{if(ke(e)&&n>=e.length)return N.some(gl(e,n));{const r=Nu(Kb);return N.from(r.forwards(e,n,j2(e),o)).map(a=>gl(a.container,0))}},q2=(e,n,o)=>{if(!ke(e))return N.none();const r=e.data;if(n>=0&&n<=r.length)return N.some(gl(e,n));{const a=Nu(Kb);return N.from(a.backwards(e,n,j2(e),o)).bind(u=>{const f=u.container.data;return q2(u.container,n+f.length,o)})}},OE=(e,n,o)=>{if(!ke(e))return N.none();const r=e.data;if(n<=r.length)return N.some(gl(e,n));{const a=Nu(Kb);return N.from(a.forwards(e,n,j2(e),o)).bind(u=>OE(u.container,n-r.length,o))}},K2=(e,n,o,r,a)=>{const u=Nu(e,dg(e));return N.from(u.backwards(n,o,r,a))},p5=e=>e.collapsed&&ke(e.startContainer),Y2=e=>Bc(e.toString().replace(/\u00A0/g," ")),X2=e=>e!==""&&`  \f -\r \v`.indexOf(e)!==-1,Cp=(e,n)=>e.substring(n.length),J2=(e,n,o)=>{let r;const a=o.charAt(0);for(r=n-1;r>=0;r--){const u=e.charAt(r);if(X2(u))return N.none();if(a===u&&Zs(e,o,r,n))break}return N.some(r)},hl=(e,n,o,r=0)=>{if(!p5(n))return N.none();const a={text:"",offset:0},u=(b,y,x)=>(a.text=x+a.text,a.offset+=y,J2(a.text,a.offset,o).getOr(y)),f=e.getParent(n.startContainer,e.isBlock)||e.getRoot();return K2(e,n.startContainer,n.startOffset,u,f).bind(b=>{const y=n.cloneRange();if(y.setStart(b.container,b.offset),y.setEnd(n.endContainer,n.endOffset),y.collapsed)return N.none();const x=Y2(y);return x.lastIndexOf(o)!==0||Cp(x,o).lengthC6(U.fromDom(n.startContainer)).fold(()=>hl(e,n,o,r),a=>{const u=e.createRng();u.selectNode(a.dom);const f=Y2(u);return N.some({range:u,text:Cp(f,o),trigger:o})}),b5=e=>e.nodeType===Hg,v5=e=>e.nodeType===Td,y5=e=>{if(b5(e))return gl(e,e.data.length);{const n=e.childNodes;return n.length>0?y5(n[n.length-1]):gl(e,n.length)}},nA=(e,n)=>{const o=e.childNodes;return o.length>0&&n0&&v5(e)&&o.length===n?y5(o[o.length-1]):gl(e,n)},XV=(e,n)=>{var o;const r=(o=e.getParent(n.container,e.isBlock))!==null&&o!==void 0?o:e.getRoot();return K2(e,n.container,n.offset,(a,u)=>u===0?-1:u,r).filter(a=>{const u=a.container.data.charAt(a.offset-1);return!X2(u)}).isSome()},JV=e=>n=>{const o=nA(n.startContainer,n.startOffset);return!XV(e,o)},Q2=(e,n,o)=>pd(o.triggers,r=>Yb(e,n,r)),QV=(e,n)=>{const o=n(),r=e.selection.getRng();return Q2(e.dom,r,o).bind(a=>C5(e,n,a))},C5=(e,n,o,r={})=>{var a;const u=n(),b=(a=e.selection.getRng().startContainer.nodeValue)!==null&&a!==void 0?a:"",y=pt(u.lookupByTrigger(o.trigger),O=>o.text.length>=O.minChars&&O.matches.getOrThunk(()=>JV(e.dom))(o.range,b,o.text));if(y.length===0)return N.none();const x=Promise.all(Dt(y,O=>O.fetch(o.text,O.maxResults,r).then(M=>({matchText:o.text,items:M,columns:O.columns,onAction:O.onAction,highlightOn:O.highlightOn}))));return N.some({lookupData:x,context:o})};var cu;(function(e){e[e.Error=0]="Error",e[e.Value=1]="Value"})(cu||(cu={}));const oA=(e,n,o)=>e.stype===cu.Error?n(e.serror):o(e.svalue),ez=e=>{const n=[],o=[];return ge(e,r=>{oA(r,a=>o.push(a),a=>n.push(a))}),{values:n,errors:o}},tz=(e,n)=>e.stype===cu.Error?{stype:cu.Error,serror:n(e.serror)}:e,nz=(e,n)=>e.stype===cu.Value?{stype:cu.Value,svalue:n(e.svalue)}:e,oz=(e,n)=>e.stype===cu.Value?n(e.svalue):e,sz=(e,n)=>e.stype===cu.Error?n(e.serror):e,S5=e=>({stype:cu.Value,svalue:e}),w5=e=>({stype:cu.Error,serror:e}),br={fromResult:e=>e.fold(w5,S5),toResult:e=>oA(e,$r.error,$r.value),svalue:S5,partition:ez,serror:w5,bind:oz,bindError:sz,map:nz,mapError:tz,fold:oA},AE=e=>En(e)&&Cr(e).length>100?" removed due to size":JSON.stringify(e,null,2),x5=e=>{const n=e.length>10?e.slice(0,10).concat([{path:[],getErrorInfo:Fe("... (only showing first ten failures)")}]):e;return Dt(n,o=>"Failed path: ("+o.path.join(" > ")+`) -`+o.getErrorInfo())},eC=(e,n)=>br.serror([{path:e,getErrorInfo:n}]),rz=(e,n,o)=>eC(e,()=>'Could not find valid *required* value for "'+n+'" in '+AE(o)),cz=(e,n)=>eC(e,()=>'Choice schema did not contain choice key: "'+n+'"'),az=(e,n,o)=>eC(e,()=>'The chosen schema: "'+o+'" did not exist in branches: '+AE(n)),iz=(e,n)=>eC(e,Fe(n)),E5=(e,n,o,r)=>Kn(o,r).fold(()=>az(e,o,r),u=>u.extract(e.concat(["branch: "+r]),n)),lz=(e,n)=>({extract:(a,u)=>Kn(u,e).fold(()=>cz(a,e),b=>E5(a,u,n,b)),toString:()=>"chooseOn("+e+"). Possible values: "+Cr(n)}),T5=(e,n)=>n,uz=(e,n)=>Ip(e)&&Ip(n)?tC(e,n):n,sA=e=>(...n)=>{if(n.length===0)throw new Error("Can't merge zero objects");const o={};for(let r=0;r({tag:"required",process:{}}),mz=e=>({tag:"defaultedThunk",process:e}),rA=e=>mz(Fe(e)),fz=()=>({tag:"option",process:{}}),gz=(e,n)=>e.length>0?br.svalue(tC(n,dz.apply(void 0,e))):br.svalue(n),cA=e=>_(br.serror,Lp)(e),k5={consolidateObj:(e,n)=>{const o=br.partition(e);return o.errors.length>0?cA(o.errors):gz(o.values,n)},consolidateArr:e=>{const n=br.partition(e);return n.errors.length>0?cA(n.errors):br.svalue(n.values)}},hz=(e,n,o,r)=>({tag:"field",key:e,newKey:n,presence:o,prop:r}),pz=(e,n)=>({tag:"custom",newKey:e,instantiator:n}),O5=(e,n,o)=>{switch(e.tag){case"field":return n(e.key,e.newKey,e.presence,e.prop);case"custom":return o(e.newKey,e.instantiator)}},RE=e=>{const n=(r,a)=>br.bindError(e(a),u=>iz(r,u)),o=Fe("val");return{extract:n,toString:o}},A5=RE(br.svalue),bz=(e,n,o,r)=>Kn(n,o).fold(()=>rz(e,o,n),r),R5=(e,n,o,r)=>{const a=Kn(e,n).getOrThunk(()=>o(e));return r(a)},vz=(e,n,o)=>o(Kn(e,n)),yz=(e,n,o,r)=>{const a=Kn(e,n).map(u=>u===!0?o(e):u);return r(a)},Cz=(e,n,o,r,a)=>{const u=b=>a.extract(n.concat([r]),b),f=b=>b.fold(()=>br.svalue(N.none()),y=>{const x=a.extract(n.concat([r]),y);return br.map(x,N.some)});switch(e.tag){case"required":return bz(n,o,r,u);case"defaultedThunk":return R5(o,r,e.process,u);case"option":return vz(o,r,f);case"defaultedOptionThunk":return yz(o,r,e.process,f);case"mergeWithThunk":return R5(o,r,Fe({}),b=>{const y=tC(e.process(o),b);return u(y)})}},Sz=(e,n,o)=>{const r={},a=[];for(const u of o)O5(u,(f,b,y,x)=>{const O=Cz(y,e,n,f,x);br.fold(O,A=>{a.push(...A)},A=>{r[b]=A})},(f,b)=>{r[f]=b(n)});return a.length>0?br.serror(a):br.svalue(r)},aA=e=>({extract:(r,a)=>Sz(r,a,e),toString:()=>`obj{ -`+Dt(e,a=>O5(a,(u,f,b,y)=>u+" -> "+y.toString(),(u,f)=>"state("+u+")")).join(` -`)+"}"}),D5=e=>({extract:(r,a)=>{const u=Dt(a,(f,b)=>e.extract(r.concat(["["+b+"]"]),f));return k5.consolidateArr(u)},toString:()=>"array("+e.toString()+")"}),zj=e=>RE(n=>e(n).fold(br.serror,br.svalue)),wz=(e,n,o)=>{const r=n.extract([e],o);return br.mapError(r,a=>({input:o,errors:a}))},DE=(e,n,o)=>br.toResult(wz(e,n,o)),M5=e=>`Errors: -`+x5(e.errors).join(` -`)+` - -Input object: `+AE(e.input),iA=(e,n)=>lz(e,wn(n,aA)),xz=Fe(A5),nC=(e,n)=>RE(o=>{const r=typeof o;return e(o)?br.svalue(o):br.serror(`Expected type: ${n} but got: ${r}`)}),B5=nC(wc,"number"),ME=nC(q,"string"),Ez=nC(sn,"boolean"),lA=nC(Y,"function"),Xb=hz,N5=pz,uA=e=>zj(n=>_t(e,n)?$r.value(n):$r.error(`Unsupported value: "${n}", choose one of "${e.join(", ")}".`)),P5=(e,n)=>Xb(e,e,_5(),n),$5=e=>P5(e,ME),I5=e=>P5(e,lA),F5=(e,n)=>Xb(e,e,_5(),D5(n)),dA=(e,n)=>Xb(e,e,fz(),n),BE=e=>dA(e,ME),Tz=e=>dA(e,lA),_z=(e,n)=>Xb(e,e,rA(n),xz()),Jb=(e,n,o)=>Xb(e,e,rA(n),o),Cs=(e,n)=>Jb(e,n,B5),id=(e,n)=>Jb(e,n,ME),L5=(e,n,o)=>Jb(e,n,uA(o)),H5=(e,n)=>Jb(e,n,Ez),mA=(e,n)=>Jb(e,n,lA),kz=(e,n,o)=>Jb(e,n,D5(o)),Oz=$5("type"),Az=I5("fetch"),NE=I5("onAction"),Qb=mA("onSetup",()=>vt),Uj=BE("text"),Rz=BE("icon"),Dz=BE("tooltip"),au=BE("label"),Mz=H5("active",!1),Bz=H5("enabled",!0),fA=H5("primary",!1),Nz=e=>_z("columns",e),Sp=e=>id("type",e),V5=aA([Oz,$5("trigger"),Cs("minChars",1),Nz(1),Cs("maxResults",10),Tz("matches"),Az,NE,kz("highlightOn",[],ME)]),Pz=e=>DE("Autocompleter",V5,{trigger:e.ch,...e}),gA=[Bz,Dz,Rz,Uj,Qb],z5=[Mz].concat(gA),U5=[mA("predicate",Ee),L5("scope","node",["node","editor"]),L5("position","selection",["node","selection","line"])],W5=gA.concat([Sp("contextformbutton"),fA,NE,N5("original",Co)]),hA=z5.concat([Sp("contextformbutton"),fA,NE,N5("original",Co)]),pA=gA.concat([Sp("contextformbutton")]),bA=z5.concat([Sp("contextformtogglebutton")]),$z=iA("type",{contextformbutton:W5,contextformtogglebutton:hA});aA([Sp("contextform"),mA("initValue",Fe("")),au,F5("commands",$z),dA("launch",iA("type",{contextformbutton:pA,contextformtogglebutton:bA}))].concat(U5));const Iz=e=>{const n=e.ui.registry.getAll().popups,o=wn(n,f=>Pz(f).fold(b=>{throw new Error(M5(b))},Co)),r=Up(fu(o,f=>f.trigger)),a=xm(o);return{dataset:o,triggers:r,lookupByTrigger:f=>pt(a,b=>b.trigger===f)}},Fz=(e,n)=>{const o=T1(n.load,50);e.on("keypress compositionend",r=>{r.which!==27&&o.throttle()}),e.on("keydown",r=>{const a=r.which;a===8?o.throttle():a===27&&n.cancelIfNecessary()}),e.on("remove",o.cancel)},Lz=e=>{const n=Bu(),o=ao(!1),r=n.isSet,a=()=>{r()&&(nL(e),Vy(e),o.set(!1),n.clear())},u=x=>{r()||(tL(e,x.range),n.set({trigger:x.trigger,matchLength:x.text.length}))},f=yd(()=>Iz(e)),b=x=>n.get().map(O=>Yb(e.dom,e.selection.getRng(),O.trigger).bind(A=>C5(e,f,A,x))).getOrThunk(()=>QV(e,f)),y=x=>{b(x).fold(a,O=>{u(O.context),O.lookupData.then(A=>{n.get().map(M=>{const L=O.context;M.trigger===L.trigger&&(L.text.length-M.matchLength>=10?a():(n.set({...M,matchLength:L.text.length}),o.get()?Tw(e,{lookupData:A}):(o.set(!0),Hy(e,{lookupData:A}))))})})})};e.addCommand("mceAutocompleterReload",(x,O)=>{const A=En(O)?O.fetchOptions:{};y(A)}),e.addCommand("mceAutocompleterClose",a),Fz(e,{cancelIfNecessary:a,load:y})},j5=Ya().browser.isSafari(),G5=e=>zi(U.fromDom(e)),vA=(e,n)=>{var o;return e.startOffset===0&&e.endOffset===((o=n.textContent)===null||o===void 0?void 0:o.length)},PE=(e,n)=>N.from(e.getParent(n.container(),"details")),$E=(e,n)=>PE(e,n).isSome(),Hz=(e,n)=>{const o=N.from(e.getParent(n.startContainer,"details")),r=N.from(e.getParent(n.endContainer,"details"));if(o.isSome()||r.isSome()){const a=o.bind(u=>N.from(e.select("summary",u)[0]));return N.some({startSummary:a,startDetails:o,endDetails:r})}else return N.none()},Vz=(e,n)=>kr(n).exists(o=>o.isEqual(e)),zz=(e,n)=>Pa(n).exists(o=>Dn(o.getNode())&&Lr(n,o).exists(r=>r.isEqual(e))||o.isEqual(e)),Uz=(e,n)=>n.startSummary.exists(o=>Vz(e,o)),Wz=(e,n)=>n.startSummary.exists(o=>zz(e,o)),q5=(e,n)=>n.startDetails.exists(o=>Lr(o,e).forall(r=>n.startSummary.exists(a=>!a.contains(e.container())&&a.contains(r.container())))),yA=(e,n,o)=>o.startDetails.exists(r=>gr(e,n).forall(a=>!r.contains(a.container()))),CA=(e,n)=>{const o=n.getNode();ws(o)||e.selection.setCursorLocation(o,n.offset())},SA=(e,n,o)=>{const r=e.dom.getParent(n.container(),"details");if(r&&!r.open){const a=e.dom.select("summary",r)[0];a&&(o?kr(a):Pa(a)).each(f=>CA(e,f))}else CA(e,n)},Zz=(e,n)=>{const o=y=>y.contains(e.startContainer),r=y=>y.contains(e.endContainer),a=n.startSummary.exists(o),u=n.startSummary.exists(r),f=n.startDetails.forall(y=>n.endDetails.forall(x=>y!==x));return(a||u)&&!(a&&u)||f},K5=(e,n,o)=>{const{dom:r,selection:a}=e,u=e.getBody();if(o==="character"){const f=ae.fromRangeStart(a.getRng()),b=r.getParent(f.container(),r.isBlock),y=PE(r,f),x=b&&r.isEmpty(b),O=Q(b==null?void 0:b.previousSibling),A=Q(b==null?void 0:b.nextSibling);return x&&(n?A:O)&&Wl(!n,u,f).exists(V=>$E(r,V)&&!Lg(y,PE(r,V)))?!0:Wl(n,u,f).fold(Ee,M=>{const L=PE(r,M);if($E(r,M)&&!Lg(y,L)){if(n||SA(e,M,!1),b&&x){if(n&&O)return!0;if(!n&&A)return!0;SA(e,M,n),e.dom.remove(b)}return!0}else return!1})}else return!1},jz=(e,n,o,r)=>{const u=e.selection.getRng(),f=ae.fromRangeStart(u),b=e.getBody();return r==="selection"?Zz(u,n):o?Wz(f,n)||yA(b,f,n):Uz(f,n)||q5(f,n)},IE=(e,n,o)=>Hz(e.dom,e.selection.getRng()).fold(()=>K5(e,n,o),r=>jz(e,r,n,o)||K5(e,n,o)),Y5=(e,n,o)=>{const r=e.selection,a=r.getNode(),u=r.getRng(),f=ae.fromRangeStart(u);return rc(a)?(o==="selection"&&vA(u,a)||y4(n,f,a)?G5(a):e.undoManager.transact(()=>{const b=r.getSel();let{anchorNode:y,anchorOffset:x,focusNode:O,focusOffset:A}=b??{};const M=()=>{Se(y)&&Se(x)&&Se(O)&&Se(A)&&(b==null||b.setBaseAndExtent(y,x,O,A))},L=()=>{y=b==null?void 0:b.anchorNode,x=b==null?void 0:b.anchorOffset,O=b==null?void 0:b.focusNode,A=b==null?void 0:b.focusOffset},V=(z,G)=>{ge(z.childNodes,X=>{Ih(X)&&G.appendChild(X)})},I=e.dom.create("span",{"data-mce-bogus":"1"});V(a,I),a.appendChild(I),M(),(o==="word"||o==="line")&&(b==null||b.modify("extend",n?"right":"left",o)),!r.isCollapsed()&&vA(r.getRng(),I)?G5(a):(e.execCommand(n?"ForwardDelete":"Delete"),L(),V(I,a),M()),e.dom.remove(I)}),!0):!1},mg=(e,n,o)=>IE(e,n,o)||j5&&Y5(e,n,o)?N.some(vt):N.none(),X5=e=>(n,o,r={})=>{const a=n.getBody(),u={bubbles:!0,composed:!0,data:null,isComposing:!1,detail:0,view:null,target:a,currentTarget:a,eventPhase:Event.AT_TARGET,originalTarget:a,explicitOriginalTarget:a,isTrusted:!1,srcElement:a,cancelable:!1,preventDefault:vt,inputType:o},f=Jm(new InputEvent(e));return n.dispatch(e,{...f,...u,...r})},oC=X5("input"),wA=X5("beforeinput"),Gz=Ya(),qz=Gz.os,J5=qz.isMacOS()||qz.isiOS(),Kz=Gz.browser.isFirefox(),Yz=(e,n,o)=>{const r=o.keyCode===Ye.BACKSPACE?"deleteContentBackward":"deleteContentForward",a=e.selection.isCollapsed(),u=a?"character":"selection",f=b=>a?b?"word":"line":"selection";YO([{keyCode:Ye.BACKSPACE,action:St(FP,e)},{keyCode:Ye.BACKSPACE,action:St(P2,e,!1)},{keyCode:Ye.DELETE,action:St(P2,e,!0)},{keyCode:Ye.BACKSPACE,action:St(pO,e,!1)},{keyCode:Ye.DELETE,action:St(pO,e,!0)},{keyCode:Ye.BACKSPACE,action:St(vE,e,n,!1)},{keyCode:Ye.DELETE,action:St(vE,e,n,!0)},{keyCode:Ye.BACKSPACE,action:St(ox,e,!1)},{keyCode:Ye.DELETE,action:St(ox,e,!0)},{keyCode:Ye.BACKSPACE,action:St(mg,e,!1,u)},{keyCode:Ye.DELETE,action:St(mg,e,!0,u)},...J5?[{keyCode:Ye.BACKSPACE,altKey:!0,action:St(mg,e,!1,f(!0))},{keyCode:Ye.DELETE,altKey:!0,action:St(mg,e,!0,f(!0))},{keyCode:Ye.BACKSPACE,metaKey:!0,action:St(mg,e,!1,f(!1))}]:[{keyCode:Ye.BACKSPACE,ctrlKey:!0,action:St(mg,e,!1,f(!0))},{keyCode:Ye.DELETE,ctrlKey:!0,action:St(mg,e,!0,f(!0))}],{keyCode:Ye.BACKSPACE,action:St(yO,e,!1)},{keyCode:Ye.DELETE,action:St(yO,e,!0)},{keyCode:Ye.BACKSPACE,action:St(VO,e,!1)},{keyCode:Ye.DELETE,action:St(VO,e,!0)},{keyCode:Ye.BACKSPACE,action:St(aE,e,!1)},{keyCode:Ye.DELETE,action:St(aE,e,!0)},{keyCode:Ye.BACKSPACE,action:St(gO,e,!1)},{keyCode:Ye.DELETE,action:St(gO,e,!0)},{keyCode:Ye.BACKSPACE,action:St(LO,e,!1)},{keyCode:Ye.DELETE,action:St(LO,e,!0)}],o).filter(b=>e.selection.isEditable()).each(b=>{o.preventDefault(),wA(e,r).isDefaultPrevented()||(b(),oC(e,r))})},Wj=(e,n,o)=>qb([{keyCode:Ye.BACKSPACE,action:St(QN,e)},{keyCode:Ye.DELETE,action:St(QN,e)},...J5?[{keyCode:Ye.BACKSPACE,altKey:!0,action:St(V2,e)},{keyCode:Ye.DELETE,altKey:!0,action:St(V2,e)},...o?[{keyCode:Kz?224:91,action:St(V2,e)}]:[]]:[{keyCode:Ye.BACKSPACE,ctrlKey:!0,action:St(V2,e)},{keyCode:Ye.DELETE,ctrlKey:!0,action:St(V2,e)}]],n),Xz=(e,n)=>{let o=!1;e.on("keydown",r=>{o=r.keyCode===Ye.BACKSPACE,r.isDefaultPrevented()||Yz(e,n,r)}),e.on("keyup",r=>{r.isDefaultPrevented()||Wj(e,r,o),o=!1})},Fo=e=>{for(;e;){if(Je(e)||ke(e)&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}return null},fg=(e,n)=>{const o=e.dom,r=e.schema.getMoveCaretBeforeOnEnterElements();if(!n)return;if(/^(LI|DT|DD)$/.test(n.nodeName)){const u=Fo(n.firstChild);u&&/^(UL|OL|DL)$/.test(u.nodeName)&&n.insertBefore(o.doc.createTextNode(dn),n.firstChild)}const a=o.createRng();if(n.normalize(),n.hasChildNodes()){const u=new zn(n,n);let f=n,b;for(;b=u.current();){if(ke(b)){a.setStart(b,0),a.setEnd(b,0);break}if(r[b.nodeName.toLowerCase()]){a.setStartBefore(b),a.setEndBefore(b);break}f=b,b=u.next()}b||(a.setStart(f,0),a.setEnd(f,0))}else Dn(n)?n.nextSibling&&o.isBlock(n.nextSibling)?(a.setStartBefore(n),a.setEndBefore(n)):(a.setStartAfter(n),a.setEndAfter(n)):(a.setStart(n,0),a.setEnd(n,0));e.selection.setRng(a),ep(e,a)},Ua=(e,n)=>{const o=e.getRoot();let r,a=n;for(;a!==o&&a&&e.getContentEditable(a)!=="false";){if(e.getContentEditable(a)==="true"){r=a;break}a=a.parentNode}return a!==o?r:o},FE=e=>N.from(e.dom.getParent(e.selection.getStart(!0),e.dom.isBlock)),Q5=e=>FE(e).fold(Fe(""),n=>n.nodeName.toUpperCase()),Jz=e=>FE(e).filter(n=>Hi(U.fromDom(n))).isSome(),e0=e=>{e.innerHTML='
    '},xA=(e,n,o)=>{const r=e.dom;N.from(o.style).map(r.parseStyle).each(y=>{const O={...G0(U.fromDom(n)),...y};r.setStyles(n,O)});const a=N.from(o.class).map(y=>y.split(/\s+/)),u=N.from(n.className).map(y=>pt(y.split(/\s+/),x=>x!==""));qs(a,u,(y,x)=>{const O=pt(x,M=>!_t(y,M)),A=[...y,...O];r.setAttrib(n,"class",A.join(" "))});const f=["style","class"],b=so(o,(y,x)=>!_t(f,x));r.setAttribs(n,b)},t0=(e,n)=>{if(mr(e).toLowerCase()===n.tagName.toLowerCase()){const r=Ch(e);xA(e,n,r)}},EA=(e,n,o,r,a=!0,u,f)=>{const b=e.dom,y=e.schema,x=mr(e),O=o?o.nodeName.toUpperCase():"";let A=n;const M=y.getTextInlineElements();let L;u||O==="TABLE"||O==="HR"?L=b.create(u||x,f||{}):L=o.cloneNode(!1);let V=L;if(!a)b.setAttrib(L,"style",null),b.setAttrib(L,"class",null);else do if(M[A.nodeName]){if(Lc(A)||Hc(A))continue;const I=A.cloneNode(!1);b.setAttrib(I,"id",""),L.hasChildNodes()?(I.appendChild(L.firstChild),L.appendChild(I)):(V=I,L.appendChild(I))}while((A=A.parentNode)&&A!==r);return t0(e,L),e0(V),L},Qz=(e,n)=>e.dom.getParent(n,ye),e9=(e,n,o)=>{let r=n;for(;r&&r!==e&&Q(r.nextSibling);){const a=r.parentElement;if(!a||!o(a))return ye(a);r=a}return!1},t9=(e,n,o)=>!n&&o.nodeName.toLowerCase()===mr(e)&&e.dom.isEmpty(o)&&e9(e.getBody(),o,r=>Et(e.schema.getTextBlockElements(),r.nodeName.toLowerCase())),n9=(e,n,o)=>{var r,a,u;const f=n(mr(e)),b=Qz(e,o);b&&(e.dom.insertAfter(f,b),fg(e,f),((u=(a=(r=o.parentElement)===null||r===void 0?void 0:r.childNodes)===null||a===void 0?void 0:a.length)!==null&&u!==void 0?u:0)>1&&e.dom.remove(o))},o9=(e,n)=>e.firstChild&&e.firstChild.nodeName===n,e$=e=>{var n;return((n=e.parentNode)===null||n===void 0?void 0:n.firstChild)===e},t$=(e,n)=>{const o=e==null?void 0:e.parentNode;return Se(o)&&o.nodeName===n},n$=e=>Se(e)&&/^(OL|UL|LI)$/.test(e.nodeName),TA=e=>Se(e)&&/^(LI|DT|DD)$/.test(e.nodeName),s9=e=>n$(e)&&n$(e.parentNode),LE=e=>{const n=e.parentNode;return TA(n)?n:e},sC=(e,n,o)=>{let r=e[o?"firstChild":"lastChild"];for(;r&&!Je(r);)r=r[o?"nextSibling":"previousSibling"];return r===n},_A=e=>wo(fu(G0(U.fromDom(e)),(n,o)=>`${o}: ${n};`),(n,o)=>n+o,""),r9=(e,n,o,r,a)=>{const u=e.dom,f=e.selection.getRng(),b=o.parentNode;if(o===e.getBody()||!b)return;s9(o)&&(a="LI");const y=TA(r)?_A(r):void 0;let x=TA(r)&&y?n(a,{style:_A(r)}):n(a);if(sC(o,r,!0)&&sC(o,r,!1))if(t$(o,"LI")){const O=LE(o);u.insertAfter(x,O),e$(o)?u.remove(O):u.remove(o)}else u.replace(x,o);else if(sC(o,r,!0))t$(o,"LI")?(u.insertAfter(x,LE(o)),x.appendChild(u.doc.createTextNode(" ")),x.appendChild(o)):b.insertBefore(x,o),u.remove(r);else if(sC(o,r,!1))u.insertAfter(x,LE(o)),u.remove(r);else{o=LE(o);const O=f.cloneRange();O.setStartAfter(r),O.setEndAfter(o);const A=O.extractContents();if(a==="LI"&&o9(A,"LI")){const M=pt(Dt(x.children,U.fromDom),So(xa("br")));x=A.firstChild,u.insertAfter(A,o),ge(M,L=>qg(U.fromDom(x),L)),y&&x.setAttribute("style",y)}else u.insertAfter(A,o),u.insertAfter(x,o);u.remove(r)}fg(e,x)},c9=e=>{ge(ov(U.fromDom(e),Ks),n=>{const o=n.dom;o.nodeValue=Bc(o.data)})},Zj=(e,n)=>{const o=e.dom.getParent(n,"ol,ul,dl");return o!==null&&e.dom.getContentEditableParent(o)==="false"},kA=(e,n)=>n&&n.nodeName==="A"&&e.isEmpty(n),OA=(e,n)=>e.nodeName===n||e.previousSibling&&e.previousSibling.nodeName===n,AA=(e,n)=>Se(n)&&e.isBlock(n)&&!/^(TD|TH|CAPTION|FORM)$/.test(n.nodeName)&&!/^(fixed|absolute)/i.test(n.style.position)&&e.isEditable(n.parentNode)&&e.getContentEditable(n)!=="false",a9=(e,n,o)=>{var r;const a=[];if(!o)return;let u=o;for(;u=u.firstChild;){if(e.isBlock(u))return;Je(u)&&!n[u.nodeName.toLowerCase()]&&a.push(u)}let f=a.length;for(;f--;)u=a[f],(!u.hasChildNodes()||u.firstChild===u.lastChild&&((r=u.firstChild)===null||r===void 0?void 0:r.nodeValue)===""||kA(e,u))&&e.remove(u)},HE=(e,n,o)=>ke(n)?e?o===1&&n.data.charAt(o-1)===ks?0:o:o===n.data.length-1&&n.data.charAt(o)===ks?n.data.length:o:o,i9=e=>{const n=e.cloneRange();return n.setStart(e.startContainer,HE(!0,e.startContainer,e.startOffset)),n.setEnd(e.endContainer,HE(!1,e.endContainer,e.endOffset)),n},o$=e=>{let n=e;do ke(n)&&(n.data=n.data.replace(/^[\r\n]+/,"")),n=n.firstChild;while(n)},l9=(e,n,o,r,a)=>{var u,f;const b=e.dom,y=(u=Ua(b,r))!==null&&u!==void 0?u:b.getRoot();let x=b.getParent(r,b.isBlock);if(!x||!AA(b,x)){if(x=x||y,!x.hasChildNodes()){const L=b.create(n);return t0(e,L),x.appendChild(L),o.setStart(L,0),o.setEnd(L,0),L}let O=r;for(;O&&O.parentNode!==x;)O=O.parentNode;let A;for(;O&&!b.isBlock(O);)A=O,O=O.previousSibling;const M=(f=A==null?void 0:A.parentElement)===null||f===void 0?void 0:f.nodeName;if(A&&M&&e.schema.isValidChild(M,n.toLowerCase())){const L=A.parentNode,V=b.create(n);for(t0(e,V),L.insertBefore(V,A),O=A;O&&!b.isBlock(O);){const I=O.nextSibling;V.appendChild(O),O=I}o.setStart(r,a),o.setEnd(r,a)}}return r},u9=(e,n)=>{n.normalize();const o=n.lastChild;(!o||Je(o)&&/^(left|right)$/gi.test(e.getStyle(o,"float",!0)))&&e.add(n,"br")},jj=(e,n)=>{const o=BS(e);return an(n)?!1:q(o)?_t(Me.explode(o),n.nodeName.toLowerCase()):o},s$={insert:(e,n)=>{let o,r,a,u,f=!1;const b=e.dom,y=e.schema,x=y.getNonEmptyElements(),O=e.selection.getRng(),A=mr(e),M=U.fromDom(O.startContainer),L=Su(M,O.startOffset),V=L.exists(xe=>mo(xe)&&!$t(xe)),I=O.collapsed&&V,z=(xe,je)=>EA(e,o,Oe,Ce,V_(e),xe,je),G=xe=>{const je=HE(xe,o,r);if(ke(o)&&(xe?je>0:je{let xe;return/^(H[1-6]|PRE|FIGURE)$/.test(a)&&Ue!=="HGROUP"?xe=z(A):xe=z(),jj(e,u)&&AA(b,u)&&b.isEmpty(Oe,void 0,{includeZwsp:!0})?xe=b.split(u,Oe):b.insertAfter(xe,Oe),fg(e,xe),xe};w(b,O).each(xe=>{O.setStart(xe.startContainer,xe.startOffset),O.setEnd(xe.endContainer,xe.endOffset)}),o=O.startContainer,r=O.startOffset;const J=!!(n&&n.shiftKey),ne=!!(n&&n.ctrlKey);Je(o)&&o.hasChildNodes()&&!I&&(f=r>o.childNodes.length-1,o=o.childNodes[Math.min(r,o.childNodes.length-1)]||o,f&&ke(o)?r=o.data.length:r=0);const Ce=Ua(b,o);if(!Ce||Zj(e,o))return;J||(o=l9(e,A,O,o,r));let Oe=b.getParent(o,b.isBlock)||b.getRoot();u=Se(Oe==null?void 0:Oe.parentNode)?b.getParent(Oe.parentNode,b.isBlock):null,a=Oe?Oe.nodeName.toUpperCase():"";const Ue=u?u.nodeName.toUpperCase():"";if(Ue==="LI"&&!ne){const xe=u;Oe=xe,u=xe.parentNode,a=Ue}if(Je(u)&&t9(e,J,Oe))return n9(e,z,Oe);if(/^(LI|DT|DD)$/.test(a)&&Je(u)&&b.isEmpty(Oe)){r9(e,z,u,Oe,A);return}if(!I&&(Oe===e.getBody()||!AA(b,Oe)))return;const fe=Oe.parentNode;let le;if(I)le=z(A),L.fold(()=>{Zo(M,U.fromDom(le))},xe=>{hs(xe,U.fromDom(le))}),e.selection.setCursorLocation(le,0);else if(Qg(Oe))le=Al(Oe),b.isEmpty(Oe)&&e0(Oe),t0(e,le),fg(e,le);else if(G(!1))le=X();else if(G(!0)&&fe){le=fe.insertBefore(z(),Oe);const xe=W0(U.fromDom(O.startContainer))&&O.collapsed;fg(e,OA(Oe,"HR")||xe?le:Oe)}else{const xe=i9(O).cloneRange();xe.setEndAfter(Oe);const je=xe.extractContents();c9(je),o$(je),le=je.firstChild,b.insertAfter(je,Oe),a9(b,x,le),u9(b,Oe),b.isEmpty(Oe)&&e0(Oe),le.normalize(),b.isEmpty(le)?(b.remove(le),X()):(t0(e,le),fg(e,le))}b.setAttrib(le,"id",""),e.dispatch("NewBlock",{newBlock:le})},fakeEventName:"insertParagraph"},d9=(e,n,o)=>{const r=new zn(n,o);let a;const u=e.getNonEmptyElements();for(;a=r.next();)if(u[a.nodeName.toLowerCase()]||ke(a)&&a.length>0)return!0;return!1},r$=(e,n,o)=>{const r=e.dom.createRng();o?(r.setStartBefore(n),r.setEndBefore(n)):(r.setStartAfter(n),r.setEndAfter(n)),e.selection.setRng(r),ep(e,r)},m9=(e,n)=>{const o=e.selection,r=e.dom,a=o.getRng();let u,f=!1;w(r,a).each(L=>{a.setStart(L.startContainer,L.startOffset),a.setEnd(L.endContainer,L.endOffset)});let b=a.startOffset,y=a.startContainer;if(Je(y)&&y.hasChildNodes()){const L=b>y.childNodes.length-1;y=y.childNodes[Math.min(b,y.childNodes.length-1)]||y,L&&ke(y)?b=y.data.length:b=0}let x=r.getParent(y,r.isBlock);const O=x&&x.parentNode?r.getParent(x.parentNode,r.isBlock):null,A=O?O.nodeName.toUpperCase():"",M=!!(n&&n.ctrlKey);A==="LI"&&!M&&(x=O),ke(y)&&b>=y.data.length&&(d9(e.schema,y,x||r.getRoot())||(u=r.create("br"),a.insertNode(u),a.setStartAfter(u),a.setEndAfter(u),f=!0)),u=r.create("br"),$v(r,a,u),r$(e,u,f),e.undoManager.add()},f9=(e,n)=>{const o=U.fromTag("br");hs(U.fromDom(n),o),e.undoManager.add()},g9=(e,n)=>{h9(e.getBody(),n)||ti(U.fromDom(n),U.fromTag("br"));const o=U.fromTag("br");ti(U.fromDom(n),o),r$(e,o.dom,!1),e.undoManager.add()},VE=e=>Dn(e.getNode()),h9=(e,n)=>VE(ae.after(n))?!0:gr(e,ae.after(n)).map(o=>Dn(o.getNode())).getOr(!1),c$=e=>e&&e.nodeName==="A"&&"href"in e,RA=e=>e.fold(Ee,c$,c$,Ee),DA=e=>{const n=_e(rp,e),o=ae.fromRangeStart(e.selection.getRng());return nr(n,e.getBody(),o).filter(RA)},p9=(e,n)=>{n.fold(vt,_e(f9,e),_e(g9,e),vt)},b9={insert:(e,n)=>{const o=DA(e);o.isSome()?o.each(_e(p9,e)):m9(e,n)},fakeEventName:"insertLineBreak"},a$=(e,n)=>FE(e).filter(o=>n.length>0&&Ea(U.fromDom(o),n)).isSome(),v9=e=>a$(e,H_(e)),qj=e=>a$(e,Yv(e)),Wa=gi.generate([{br:[]},{block:[]},{none:[]}]),iu=(e,n)=>qj(e),i$=e=>(n,o)=>Jz(n)===e,MA=(e,n)=>(o,r)=>Q5(o)===e.toUpperCase()===n,y9=e=>{const n=Ua(e.dom,e.selection.getStart());return an(n)},rC=e=>MA("pre",e),C9=()=>MA("summary",!0),zE=e=>(n,o)=>F_(n)===e,S9=(e,n)=>v9(e),UE=(e,n)=>n,w9=e=>{const n=mr(e),o=Ua(e.dom,e.selection.getStart());return Se(o)&&e.schema.isValidChild(o.nodeName,n)},BA=e=>{const n=e.selection.getRng(),o=U.fromDom(n.startContainer),a=Su(o,n.startOffset).map(u=>mo(u)&&!$t(u));return n.collapsed&&a.getOr(!0)},Za=(e,n)=>(o,r)=>wo(e,(u,f)=>u&&f(o,r),!0)?N.some(n):N.none(),WE=(e,n)=>sP([Za([iu],Wa.none()),Za([rC(!0),y9],Wa.none()),Za([C9()],Wa.br()),Za([rC(!0),zE(!1),UE],Wa.br()),Za([rC(!0),zE(!1)],Wa.block()),Za([rC(!0),zE(!0),UE],Wa.block()),Za([rC(!0),zE(!0)],Wa.br()),Za([i$(!0),UE],Wa.br()),Za([i$(!0)],Wa.block()),Za([S9],Wa.br()),Za([UE],Wa.br()),Za([w9],Wa.block()),Za([BA],Wa.block())],[e,!!(n&&n.shiftKey)]).getOr(Wa.none()),ZE=(e,n,o)=>{n.selection.isCollapsed()||n2(n),!(Se(o)&&wA(n,e.fakeEventName).isDefaultPrevented())&&(e.insert(n,o),Se(o)&&oC(n,e.fakeEventName))},l$=(e,n)=>{const o=()=>ZE(b9,e,n),r=()=>ZE(s$,e,n),a=WE(e,n);switch(L_(e)){case"linebreak":a.fold(o,o,vt);break;case"block":a.fold(r,r,vt);break;case"invert":a.fold(r,o,vt);break;default:a.fold(o,r,vt);break}},u$=Ya(),x9=u$.os.isiOS()&&u$.browser.isSafari(),d$=(e,n)=>{n.isDefaultPrevented()||(n.preventDefault(),M8(e.undoManager),e.undoManager.transact(()=>{l$(e,n)}))},m$=e=>{if(!e.collapsed)return!1;const n=e.startContainer;if(ke(n)){const o=/^[\uAC00-\uD7AF\u1100-\u11FF\u3130-\u318F\uA960-\uA97F\uD7B0-\uD7FF]$/,r=n.data.charAt(e.startOffset-1);return o.test(r)}else return!1},E9=e=>{let n=N.none();const o=a=>{n=N.some(a.selection.getBookmark()),a.undoManager.add()},r=(a,u)=>{a.undoManager.undo(),n.fold(vt,f=>a.selection.moveToBookmark(f)),d$(a,u),n=N.none()};e.on("keydown",a=>{a.keyCode===Ye.ENTER&&(x9&&m$(e.selection.getRng())?o(e):d$(e,a))}),e.on("keyup",a=>{a.keyCode===Ye.ENTER&&n.each(()=>r(e,a))})},f$=(e,n,o)=>{const r=Ze.os.isMacOS()||Ze.os.isiOS();qb([{keyCode:Ye.END,action:St(GP,e,!0)},{keyCode:Ye.HOME,action:St(GP,e,!1)},...r?[]:[{keyCode:Ye.HOME,action:St(xE,e,!1),ctrlKey:!0,shiftKey:!0},{keyCode:Ye.END,action:St(xE,e,!0),ctrlKey:!0,shiftKey:!0}],{keyCode:Ye.END,action:St(TE,e,!0)},{keyCode:Ye.HOME,action:St(TE,e,!1)},{keyCode:Ye.END,action:St(bE,e,!0,n)},{keyCode:Ye.HOME,action:St(bE,e,!1,n)}],o).each(a=>{o.preventDefault()})},g$=(e,n)=>{e.on("keydown",o=>{o.isDefaultPrevented()||f$(e,n,o)})},T9=e=>{e.on("input",n=>{n.isComposing||X6(e)})},_9=Ya(),NA=(e,n,o)=>{qb([{keyCode:Ye.PAGE_UP,action:St(bE,e,!1,n)},{keyCode:Ye.PAGE_DOWN,action:St(bE,e,!0,n)}],o)},h$=e=>e.stopImmediatePropagation(),p$=e=>e.keyCode===Ye.PAGE_UP||e.keyCode===Ye.PAGE_DOWN,cC=(e,n,o)=>{o&&!e.get()?n.on("NodeChange",h$,!0):!o&&e.get()&&n.off("NodeChange",h$),e.set(o)},k9=(e,n)=>{if(_9.os.isMacOS())return;const o=ao(!1);e.on("keydown",r=>{p$(r)&&cC(o,e,!0)}),e.on("keyup",r=>{r.isDefaultPrevented()||NA(e,n,r),p$(r)&&o.get()&&(cC(o,e,!1),e.nodeChanged())})},PA=e=>{e.on("beforeinput",n=>{(!e.selection.isEditable()||to(n.getTargetRanges(),o=>!pD(e.dom,o)))&&n.preventDefault()})},jE=(e,n)=>{const o=n.container(),r=n.offset();return ke(o)?(o.insertData(r,e),N.some(ae(o,r+e.length))):K1(n).map(a=>{const u=U.fromText(e);return n.isAtEnd()?ti(a,u):hs(a,u),ae(u.dom,e.length)})},$A=_e(jE,dn),b$=_e(jE," "),Kj=(e,n,o)=>GD(e,n,o)?$A(n):b$(n),gg=e=>n=>n.fold(o=>Lr(e.dom,ae.before(o)),o=>kr(o),o=>Pa(o),o=>gr(e.dom,ae.after(o))),O9=(e,n,o)=>r=>GD(e,r,o)?$A(n):b$(n),v$=e=>n=>{e.selection.setRng(n.toRange()),e.nodeChanged()},A9=(e,n)=>e.isEditable(e.getParent(n,"summary")),GE=e=>{const n=ae.fromRangeStart(e.selection.getRng()),o=U.fromDom(e.getBody());if(e.selection.isCollapsed()){const r=_e(rp,e),a=ae.fromRangeStart(e.selection.getRng());return nr(r,e.getBody(),a).bind(gg(o)).map(u=>()=>O9(o,n,e.schema)(u).each(v$(e)))}else return N.none()},y$=e=>{const n=()=>{const o=U.fromDom(e.getBody());e.selection.isCollapsed()||e.getDoc().execCommand("Delete");const r=ae.fromRangeStart(e.selection.getRng());Kj(o,r,e.schema).each(v$(e))};return ln(Ze.browser.isFirefox()&&e.selection.isEditable()&&A9(e.dom,e.selection.getRng().startContainer),n)},C$=(e,n)=>{YO([{keyCode:Ye.SPACEBAR,action:St(GE,e)},{keyCode:Ye.SPACEBAR,action:St(y$,e)}],n).each(o=>{n.preventDefault(),wA(e,"insertText",{data:" "}).isDefaultPrevented()||(o(),oC(e,"insertText",{data:" "}))})},R9=e=>{e.on("keydown",n=>{n.isDefaultPrevented()||C$(e,n)})},S$=e=>fk(e)?[{keyCode:Ye.TAB,action:St(g5,e,!0)},{keyCode:Ye.TAB,shiftKey:!0,action:St(g5,e,!1)}]:[],D9=(e,n)=>{qb([...S$(e)],n).each(o=>{n.preventDefault()})},M9=e=>{e.on("keydown",n=>{n.isDefaultPrevented()||D9(e,n)})},B9=e=>{if(e.addShortcut("Meta+P","","mcePrint"),Lz(e),hm(e))return ao(null);{const n=qH(e);return PA(e),CV(e),YV(e,n),Xz(e,n),E9(e),R9(e),T9(e),M9(e),g$(e,n),k9(e,n),n}};class w${constructor(n){this.lastPath=[],this.editor=n;let o;const r=this;"onselectionchange"in n.getDoc()||n.on("NodeChange click mouseup keyup focus",a=>{const u=n.selection.getRng(),f={startContainer:u.startContainer,startOffset:u.startOffset,endContainer:u.endContainer,endOffset:u.endOffset};(a.type==="nodechange"||!Jl(f,o))&&n.dispatch("SelectionChange"),o=f}),n.on("contextmenu",()=>{n.dispatch("SelectionChange")}),n.on("SelectionChange",()=>{const a=n.selection.getStart(!0);a&&sb(n)&&!r.isSameElementPath(a)&&n.dom.isChildOf(a,n.getBody())&&n.nodeChanged({selectionChange:!0})}),n.on("mouseup",a=>{!a.isDefaultPrevented()&&sb(n)&&(n.selection.getNode().nodeName==="IMG"?Fa.setEditorTimeout(n,()=>{n.nodeChanged()}):n.nodeChanged())})}nodeChanged(n={}){const o=this.editor.selection;let r;if(this.editor.initialized&&o&&!V1(this.editor)&&!this.editor.mode.isReadOnly()){const a=this.editor.getBody();r=o.getStart(!0)||a,(r.ownerDocument!==this.editor.getDoc()||!this.editor.dom.isChildOf(r,a))&&(r=a);const u=[];this.editor.dom.getParent(r,f=>f===a?!0:(u.push(f),!1)),this.editor.dispatch("NodeChange",{...n,element:r,parents:u})}}isSameElementPath(n){let o;const r=this.editor,a=ho(r.dom.getParents(n,Ke,r.getBody()));if(a.length===this.lastPath.length){for(o=a.length;o>=0&&a[o]===this.lastPath[o];o--);if(o===-1)return this.lastPath=a,!0}return this.lastPath=a,!1}}const qE=Wd("image"),N9=e=>{const n=e;return N.from(n[qE])},IA=(e,n)=>{const o=e;o[qE]=n},KE=Wd("event"),YE=e=>{const n=e;return N.from(n[KE])},aC=e=>n=>{const o=n;o[KE]=e},x$=(e,n)=>aC(n)(e),E$=aC(0),P9=aC(2),XE=aC(1),I9=(e=>n=>{const o=n;return N.from(o[KE]).exists(r=>r===e)})(0),F9=()=>Object.freeze({length:0,item:e=>null}),JE=Wd("mode"),L9=e=>{const n=e;return N.from(n[JE])},QE=e=>n=>{const o=n;o[JE]=e},T$=(e,n)=>QE(n)(e),_$=QE(0),FA=QE(2),k$=QE(1),O$=e=>n=>{const o=n;return N.from(o[JE]).exists(r=>r===e)},wp=O$(0),A$=O$(1),H9=(e,n)=>({...n,get length(){return n.length},add:(o,r)=>{if(wp(e))if(q(o)){if(!ws(r))return n.add(o,r)}else return n.add(o);return null},remove:o=>{wp(e)&&n.remove(o)},clear:()=>{wp(e)&&n.clear()}}),V9=["none","copy","link","move"],z9=["none","copy","copyLink","copyMove","link","linkMove","move","all","uninitialized"],LA=()=>{const e=new window.DataTransfer;let n="move",o="all";const r={get dropEffect(){return n},set dropEffect(a){_t(V9,a)&&(n=a)},get effectAllowed(){return o},set effectAllowed(a){I9(r)&&_t(z9,a)&&(o=a)},get items(){return H9(r,e.items)},get files(){return A$(r)?F9():e.files},get types(){return e.types},setDragImage:(a,u,f)=>{wp(r)&&(IA(r,{image:a,x:u,y:f}),e.setDragImage(a,u,f))},getData:a=>A$(r)?"":e.getData(a),setData:(a,u)=>{wp(r)&&e.setData(a,u)},clearData:a=>{wp(r)&&e.clearData(a)}};return _$(r),r},n0=e=>{const n=LA(),o=L9(e);return FA(e),E$(n),n.dropEffect=e.dropEffect,n.effectAllowed=e.effectAllowed,N9(e).each(r=>n.setDragImage(r.image,r.x,r.y)),ge(e.types,r=>{r!=="Files"&&n.setData(r,e.getData(r))}),ge(e.files,r=>n.items.add(r)),YE(e).each(r=>{x$(n,r)}),o.each(r=>{T$(e,r),T$(n,r)}),n},U9=e=>{const n=e.getData("text/html");return n===""?N.none():N.some(n)},R$=(e,n)=>e.setData("text/html",n),HA="x-tinymce/html",eT=Fe(HA),VA="",W9=e=>VA+e,D$=e=>e.replace(VA,""),M$=e=>e.indexOf(VA)!==-1,Z9=e=>!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e),Yj=(e,n)=>{let o="<"+e;const r=fu(n,(a,u)=>u+'="'+Hd.encodeAllRaw(a)+'"');return r.length&&(o+=" "+r.join(" ")),o+">"},tT=(e,n,o)=>{const r=e.split(/\n\n/),a=Yj(n,o),u="",f=Dt(r,y=>y.split(/\n/).join("
    ")),b=y=>a+y+u;return f.length===1?f[0]:Dt(f,b).join("")},B$="%MCEPASTEBIN%",j9=(e,n)=>{const{dom:o,selection:r}=e,a=e.getBody();n.set(r.getRng());const u=o.add(e.getBody(),"div",{id:"mcepastebin",class:"mce-pastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0"},B$);Ze.browser.isFirefox()&&o.setStyle(u,"left",o.getStyle(a,"direction",!0)==="rtl"?65535:-65535),o.bind(u,"beforedeactivate focusin focusout",f=>{f.stopPropagation()}),u.focus(),r.select(u,!0)},G9=(e,n)=>{const o=e.dom;if(zA(e)){let r;const a=n.get();for(;r=zA(e);)o.remove(r),o.unbind(r);a&&e.selection.setRng(a)}n.set(null)},zA=e=>e.dom.get("mcepastebin"),q9=e=>Se(e)&&e.id==="mcepastebin",K9=e=>{const n=e.dom,o=(f,b)=>{f.appendChild(b),n.remove(b,!0)},[r,...a]=pt(e.getBody().childNodes,q9);ge(a,f=>{o(r,f)});const u=n.select("div[id=mcepastebin]",r);for(let f=u.length-1;f>=0;f--){const b=n.create("div");r.insertBefore(b,u[f]),o(b,u[f])}return r?r.innerHTML:""},N$=e=>e===B$,Y9=e=>{const n=ao(null);return{create:()=>j9(e,n),remove:()=>G9(e,n),getEl:()=>zA(e),getHtml:()=>K9(e),getLastRng:n.get}},P$=(e,n)=>(Me.each(n,o=>{uu(o,RegExp)?e=e.replace(o,""):e=e.replace(o[0],o[1])}),e),X9=e=>{const n=$l(),o=ul({},n);let r="";const a=n.getVoidElements(),u=Me.makeMap("script noscript style textarea video audio iframe object"," "),f=n.getBlockElements(),b=y=>{const x=y.name,O=y;if(x==="br"){r+=` -`;return}if(x!=="wbr"){if(a[x]&&(r+=" "),u[x]){r+=" ";return}if(y.type===3&&(r+=y.value),!(y.name in n.getVoidElements())){let A=y.firstChild;if(A)do b(A);while(A=A.next)}f[x]&&O.next&&(r+=` -`,x==="p"&&(r+=` -`))}};return e=P$(e,[//g]),b(o.parse(e)),r},$$=e=>(e=P$(e,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig,/|/g,[/( ?)\u00a0<\/span>( ?)/g,(o,r,a)=>!r&&!a?" ":dn],/
    /g,/
    $/i]),e),J9=e=>{let n=0;return()=>e+n++},Q9=e=>{const n=e.toLowerCase(),o={jpg:"jpeg",jpe:"jpeg",jfi:"jpeg",jif:"jpeg",jfif:"jpeg",pjpeg:"jpeg",pjp:"jpeg",svg:"svg+xml"};return Me.hasOwn(o,n)?"image/"+o[n]:"image/"+n},Wn=(e,n)=>{const o=ul({sanitize:Sf(e),sandbox_iframes:j1(e)},e.schema);o.addNodeFilter("meta",a=>{Me.each(a,u=>{u.remove()})});const r=o.parse(n,{forced_root_block:!1,isRootContent:!0});return Zf({validate:!0},e.schema).serialize(r)},I$=(e,n)=>({content:e,cancelled:n}),F$=(e,n,o)=>{const r=e.dom.create("div",{style:"display:none"},n),a=Fk(e,r,o);return I$(a.node.innerHTML,a.isDefaultPrevented())},eU=(e,n,o)=>{const r=Ik(e,n,o),a=Wn(e,r.content);return e.hasEventListeners("PastePostProcess")&&!r.isDefaultPrevented()?F$(e,a,o):I$(a,r.isDefaultPrevented())},UA=(e,n,o)=>eU(e,n,o),nT=(e,n)=>(e.insertContent(n,{merge:ay(e),paste:!0}),!0),WA=e=>/^https?:\/\/[\w\-\/+=.,!;:&%@^~(){}?#]+$/i.test(e),tU=(e,n)=>WA(n)&&to(KS(e),o=>El(n.toLowerCase(),`.${o.toLowerCase()}`)),L$=(e,n,o)=>(e.undoManager.extra(()=>{o(e,n)},()=>{e.insertContent('')}),!0),ZA=(e,n,o)=>(e.undoManager.extra(()=>{o(e,n)},()=>{e.execCommand("mceInsertLink",!1,n)}),!0),nU=(e,n,o)=>!e.selection.isCollapsed()&&WA(n)?ZA(e,n,o):!1,oU=(e,n,o)=>tU(e,n)?L$(e,n,o):!1,sU=(e,n)=>{Me.each([nU,oU,nT],o=>!o(e,n,nT))},H$=(e,n,o)=>{o||!GS(e)?nT(e,n):sU(e,n)},rU=J9("mceclip"),cU=e=>{const n=LA();return R$(n,e),FA(n),n},xp=(e,n,o,r,a)=>{const u=UA(e,n,o);if(!u.cancelled){const f=u.content,b=()=>H$(e,f,r);a?wA(e,"insertFromPaste",{dataTransfer:cU(f)}).isDefaultPrevented()||(b(),oC(e,"insertFromPaste")):b()}},oT=(e,n,o,r)=>{const a=o||M$(n);xp(e,D$(n),a,!1,r)},hg=(e,n,o)=>{const r=e.dom.encode(n).replace(/\r\n/g,` -`),a=$d(r,rk(e)),u=tT(a,mr(e),Ch(e));xp(e,u,!1,!0,o)},o0=e=>{const n={};if(e&&e.types)for(let o=0;on in e&&e[n].length>0,V$=e=>pg(e,"text/html")||pg(e,"text/plain"),s0=(e,n)=>{const o=n.match(/([\s\S]+?)(?:\.[a-z0-9.]+)$/i);return Se(o)?e.dom.encode(o[1]):void 0},aU=(e,n,o,r)=>{const a=rU(),u=Sh(e)&&Se(o.name),f=u?s0(e,o.name):a,b=u?o.name:void 0,y=n.create(a,o,r,f,b);return n.add(y),y},jA=(e,n)=>{p2(n.uri).each(({data:o,type:r,base64Encoded:a})=>{const u=a?o:btoa(o),f=n.file,b=e.editorUpload.blobCache,y=b.getByData(u,r),x=y??aU(e,b,f,u);oT(e,``,!1,!0)})},iU=e=>e.type==="paste",z$=e=>Promise.all(Dt(e,n=>d3(n).then(o=>({file:n,uri:o})))),U$=e=>{const n=KS(e);return o=>fs(o.type,"image/")&&to(n,r=>Q9(r)===o.type)},GA=(e,n)=>{const o=n.items?ba(Xr(n.items),a=>a.kind==="file"?[a.getAsFile()]:[]):[],r=n.files?Xr(n.files):[];return pt(o.length>0?o:r,U$(e))},qA=(e,n,o)=>{const r=iU(n)?n.clipboardData:n.dataTransfer;if(U1(e)&&r){const a=GA(e,r);if(a.length>0)return n.preventDefault(),z$(a).then(u=>{o&&e.selection.setRng(o),ge(u,f=>{jA(e,f)})}),!0}return!1},lU=e=>{var n,o;return Ze.os.isAndroid()&&((o=(n=e.clipboardData)===null||n===void 0?void 0:n.items)===null||o===void 0?void 0:o.length)===0},uU=e=>Ye.metaKeyPressed(e)&&e.keyCode===86||e.shiftKey&&e.keyCode===45,sT=(e,n,o,r,a)=>{let u=$$(o);const f=pg(n,eT())||M$(o),b=!f&&Z9(u),y=WA(u);(N$(u)||!u.length||b&&!y)&&(r=!0),(r||y)&&(pg(n,"text/plain")&&b?u=n["text/plain"]:u=X9(u)),!N$(u)&&(r?hg(e,u,a):oT(e,u,f,a))},dU=(e,n,o)=>{let r;const a=()=>n.getLastRng()||e.selection.getRng();e.on("keydown",u=>{uU(u)&&!u.isDefaultPrevented()&&(r=u.shiftKey&&u.keyCode===86)}),e.on("paste",u=>{if(u.isDefaultPrevented()||lU(u))return;const f=o.get()==="text"||r;r=!1;const b=o0(u.clipboardData);!V$(b)&&qA(e,u,a())||(pg(b,"text/html")?(u.preventDefault(),sT(e,b,b["text/html"],f,!0)):pg(b,"text/plain")&&pg(b,"text/uri-list")?(u.preventDefault(),sT(e,b,b["text/plain"],f,!0)):(n.create(),Fa.setEditorTimeout(e,()=>{const y=n.getHtml();n.remove(),sT(e,b,y,f,!1)},0)))})},W$=e=>{const n=a=>fs(a,"webkit-fake-url"),o=a=>fs(a,"data:"),r=a=>{var u;return((u=a.data)===null||u===void 0?void 0:u.paste)===!0};e.parser.addNodeFilter("img",(a,u,f)=>{if(!U1(e)&&r(f))for(const b of a){const y=b.attr("src");q(y)&&!b.attr("data-mce-object")&&y!==Ze.transparentSrc&&(n(y)||!W1(e)&&o(y))&&b.remove()}})},KA=(e,n,o)=>{dU(e,n,o),W$(e)},Z$=(e,n)=>{n.get()==="text"?(n.set("html"),_w(e,!1)):(n.set("text"),_w(e,!0)),e.focus()},mU=(e,n)=>{e.addCommand("mceTogglePlainTextPaste",()=>{Z$(e,n)}),e.addCommand("mceInsertClipboardContent",(o,r)=>{r.html&&oT(e,r.html,r.internal,!1),r.text&&hg(e,r.text,!1)})},fU=(e,n,o)=>{if(e)try{return e.clearData(),e.setData("text/html",n),e.setData("text/plain",o),e.setData(eT(),n),!0}catch{return!1}else return!1},j$=(e,n,o,r)=>{fU(e.clipboardData,n.html,n.text)?(e.preventDefault(),r()):o(n.html,r)},YA=e=>(n,o)=>{const{dom:r,selection:a}=e,u=r.create("div",{contenteditable:"false","data-mce-bogus":"all"}),f=r.create("div",{contenteditable:"true"},n);r.setStyles(u,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),u.appendChild(f),r.add(e.getBody(),u);const b=a.getRng();f.focus();const y=r.createRng();y.selectNodeContents(f),a.setRng(y),Fa.setEditorTimeout(e,()=>{a.setRng(b),r.remove(u),o()},0)},rT=e=>({html:W9(e.selection.getContent({contextual:!0})),text:e.selection.getContent({format:"text"})}),gU=e=>!!e.dom.getParent(e.selection.getStart(),"td[data-mce-selected],th[data-mce-selected]",e.getBody()),XA=e=>!e.selection.isCollapsed()||gU(e),G$=e=>n=>{!n.isDefaultPrevented()&&XA(e)&&e.selection.isEditable()&&j$(n,rT(e),YA(e),()=>{if(Ze.browser.isChromium()||Ze.browser.isFirefox()){const o=e.selection.getRng();Fa.setEditorTimeout(e,()=>{e.selection.setRng(o),e.execCommand("Delete")},0)}else e.execCommand("Delete")})},hU=e=>n=>{!n.isDefaultPrevented()&&XA(e)&&j$(n,rT(e),YA(e),vt)},q$=e=>{e.on("cut",G$(e)),e.on("copy",hU(e))},K$=(e,n)=>{var o,r;return $.getCaretRangeFromPoint((o=n.clientX)!==null&&o!==void 0?o:0,(r=n.clientY)!==null&&r!==void 0?r:0,e.getDoc())},pU=e=>{const n=e["text/plain"];return n?n.indexOf("file://")===0:!1},Y$=(e,n)=>{e.focus(),n&&e.selection.setRng(n)},bU=e=>to(e.files,n=>/^image\//.test(n.type)),vU=(e,n,o,r)=>{const a=e.getParent(o,f=>qt(n,f));if(!Q(e.getParent(o,"summary")))return!0;if(a&&Et(r,"text/html")){const f=new DOMParser().parseFromString(r["text/html"],"text/html").body;return!Q(f.querySelector(a.nodeName.toLowerCase()))}else return!1},cT=e=>{e.on("input",n=>{const o=r=>Q(r.querySelector("summary"));if(n.inputType==="deleteByDrag"){const r=pt(e.dom.select("details"),o);ge(r,a=>{Dn(a.firstChild)&&a.firstChild.remove();const u=e.dom.create("summary");u.appendChild(Nr().dom),a.prepend(u)})}})},yU=(e,n)=>{ok(e)&&e.on("dragend dragover draggesture dragdrop drop drag",o=>{o.preventDefault(),o.stopPropagation()}),U1(e)||e.on("drop",o=>{const r=o.dataTransfer;r&&bU(r)&&o.preventDefault()}),e.on("drop",o=>{if(o.isDefaultPrevented())return;const r=K$(e,o);if(an(r))return;const a=o0(o.dataTransfer),u=pg(a,eT());if((!V$(a)||pU(a))&&qA(e,o,r))return;const f=a[eT()],b=f||a["text/html"]||a["text/plain"],y=vU(e.dom,e.schema,r.startContainer,a),x=n.get();x&&!y||b&&(o.preventDefault(),Fa.setEditorTimeout(e,()=>{e.undoManager.transact(()=>{(f||x&&y)&&e.execCommand("Delete"),Y$(e,r);const O=$$(b);a["text/html"]?oT(e,O,u,!0):hg(e,O,!0)})}))}),e.on("dragstart",o=>{n.set(!0)}),e.on("dragover dragend",o=>{U1(e)&&!n.get()&&(o.preventDefault(),Y$(e,K$(e,o))),o.type==="dragend"&&n.set(!1)}),cT(e)},X$=e=>{const n=a=>u=>{a(e,u)},o=sk(e);Y(o)&&e.on("PastePreProcess",n(o));const r=jS(e);Y(r)&&e.on("PastePostProcess",n(r))},CU=(e,n)=>{e.on("PastePreProcess",o=>{o.content=n(e,o.content,o.internal)})},SU=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,JA=e=>Me.trim(e).replace(SU,Xm).toLowerCase(),J$=(e,n,o)=>{const r=ry(e);if(o||r==="all"||!cy(e))return n;const a=r?r.split(/[, ]/):[];if(a&&r!=="none"){const u=e.dom,f=e.selection.getNode();n=n.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,(b,y,x,O)=>{const A=u.parseStyle(u.decode(x)),M={};for(let V=0;V]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return n=n.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,(u,f,b,y)=>f+' style="'+b+'"'+y),n},wU=e=>{(Ze.browser.isChromium()||Ze.browser.isSafari())&&CU(e,J$)},xU=e=>{const n=ao(!1),o=ao(iy(e)?"text":"html"),r=Y9(e);wU(e),mU(e,o),X$(e),e.on("PreInit",()=>{q$(e),yU(e,n),KA(e,r,o)})},EU=e=>{e.on("click",n=>{e.dom.getParent(n.target,"details")&&n.preventDefault()})},TU=e=>{e.parser.addNodeFilter("details",n=>{const o=As(e);ge(n,r=>{o==="expanded"?r.attr("open","open"):o==="collapsed"&&r.attr("open",null)})}),e.serializer.addNodeFilter("details",n=>{const o=XR(e);ge(n,r=>{o==="expanded"?r.attr("open","open"):o==="collapsed"&&r.attr("open",null)})})},_U=e=>{EU(e),TU(e)},Q$=Dn,eI=ke,kU=e=>Jt(e.dom),OU=e=>lr(e.dom),tI=e=>n=>bn(U.fromDom(e),n),AU=(e,n,o)=>sa(U.fromDom(e),r=>OU(r)||o.isBlock(un(r)),tI(n)).getOr(U.fromDom(n)).dom,nI=(e,n)=>sa(U.fromDom(e),kU,tI(n)),oI=(e,n,o)=>{const r=new zn(e,n),a=o?r.next.bind(r):r.prev.bind(r);let u=e;for(let f=o?e:a();f&&!Q$(f);f=a())Go(f)&&(u=f);return u},RU=(e,n,o)=>{const a=ae.fromRangeStart(e).getNode(),u=AU(a,n,o),f=oI(a,u,!1),b=oI(a,u,!0),y=document.createRange();return nI(f,u).fold(()=>{eI(f)?y.setStart(f,0):y.setStartBefore(f)},x=>y.setStartBefore(x.dom)),nI(b,u).fold(()=>{eI(b)?y.setEnd(b,b.data.length):y.setEndAfter(b)},x=>y.setEndAfter(x.dom)),y},sI=e=>{const n=RU(e.selection.getRng(),e.getBody(),e.schema);e.selection.setRng(ix(n))},rI=e=>{e.on("mousedown",n=>{n.detail>=3&&(n.preventDefault(),sI(e))})};var r0;(function(e){e.Before="before",e.After="after"})(r0||(r0={}));const DU=(e,n)=>Math.abs(e.left-n),MU=(e,n)=>Math.abs(e.right-n),BU=(e,n)=>e>=n.top&&e<=n.bottom,NU=(e,n)=>e.topn.top,PU=(e,n)=>{const o=A_(e,n)/Math.min(e.height,n.height);return NU(e,n)&&o>.5},$U=(e,n)=>{const o=pt(e,r=>BU(n,r));return O_(o).fold(()=>[[],e],r=>{const{pass:a,fail:u}=rr(e,f=>PU(f,r));return[a,u]})},aT=(e,n)=>({node:e.node,position:DU(e,n)n>e.left&&n{const a=A=>Go(A.node)?N.some(A):Je(A.node)?QA(Xr(A.node.childNodes),n,o,!1):N.none(),u=(A,M,L)=>a(M).filter(V=>Math.abs(L(A,n,o)-L(V,n,o))<2&&ke(V.node)),f=(A,M)=>{const L=po(A,(V,I)=>M(V,n,o)-M(I,n,o));return pd(L,a).map(V=>r&&!ke(V.node)&&L.length>1?u(V,L[1],M).getOr(V):V)},[b,y]=$U(bP(e),o),{pass:x,fail:O}=rr(y,A=>A.topf(O,Rv)).orThunk(()=>f(x,Rv))},aI=(e,n,o,r)=>{const a=(u,f)=>{const b=x=>Je(x)&&x.classList.contains("mce-drag-container"),y=pt(u.dom.childNodes,So(b));return f.fold(()=>QA(y,o,r,!0),x=>{const O=pt(y,A=>A!==x.dom);return QA(O,o,r,!0)}).orThunk(()=>(bn(u,e)?N.none():Wg(u)).bind(O=>a(O,N.some(u))))};return a(n,N.none())},iI=(e,n,o)=>{const r=U.fromDom(e),a=_l(r),f=U.fromPoint(a,n,o).filter(b=>xr(r,b)).getOr(r);return aI(r,f,n,o)},iT=(e,n,o)=>iI(e,n,o).filter(r=>Ef(r.node)).map(r=>aT(r,n)),lI=e=>{var n,o;const r=e.getBoundingClientRect(),a=e.ownerDocument,u=a.documentElement,f=a.defaultView;return{top:r.top+((n=f==null?void 0:f.scrollY)!==null&&n!==void 0?n:0)-u.clientTop,left:r.left+((o=f==null?void 0:f.scrollX)!==null&&o!==void 0?o:0)-u.clientLeft}},uI=e=>e.inline?lI(e.getBody()):{left:0,top:0},IU=e=>{const n=e.getBody();return e.inline?{left:n.scrollLeft,top:n.scrollTop}:{left:0,top:0}},dI=e=>{const n=e.getBody(),o=e.getDoc().documentElement,r={left:n.scrollLeft,top:n.scrollTop},a={left:n.scrollLeft||o.scrollLeft,top:n.scrollTop||o.scrollTop};return e.inline?r:a},FU=(e,n)=>{if(n.target.ownerDocument!==e.getDoc()){const o=lI(e.getContentAreaContainer()),r=dI(e);return{left:n.pageX-o.left+r.left,top:n.pageY-o.top+r.top}}return{left:n.pageX,top:n.pageY}},mI=(e,n,o)=>({pageX:o.left-e.left+n.left,pageY:o.top-e.top+n.top}),LU=(e,n)=>mI(uI(e),IU(e),FU(e,n)),fI=e=>({target:e,srcElement:e}),HU=(e,n,o,r)=>({...n,dataTransfer:r,type:e,...fI(o)}),iC=(e,n,o)=>{const r=xc("Function not supported on simulated event.");return{bubbles:!0,cancelBubble:!1,cancelable:!0,composed:!1,currentTarget:null,defaultPrevented:!1,eventPhase:0,isTrusted:!0,returnValue:!1,timeStamp:0,type:e,composedPath:r,initEvent:r,preventDefault:vt,stopImmediatePropagation:vt,stopPropagation:vt,AT_TARGET:window.Event.AT_TARGET,BUBBLING_PHASE:window.Event.BUBBLING_PHASE,CAPTURING_PHASE:window.Event.CAPTURING_PHASE,NONE:window.Event.NONE,altKey:!1,button:0,buttons:0,clientX:0,clientY:0,ctrlKey:!1,metaKey:!1,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,shiftKey:!1,x:0,y:0,detail:0,view:null,which:0,initUIEvent:r,initMouseEvent:r,getModifierState:r,dataTransfer:o,...fI(n)}},VU=(e,n)=>{const o=n0(e);return n==="dragstart"?(E$(o),_$(o)):n==="drop"?(P9(o),FA(o)):(XE(o),k$(o)),o},zU=(e,n,o,r)=>{const a=VU(o,e);return ws(r)?iC(e,n,a):HU(e,r,n,a)},lC=32,UU=100,lT=8,uT=16,gI=Jt,WU=R_(gI,lr),dT=(e,n,o)=>gI(o)&&o!==n&&e.isEditable(o.parentElement),hI=(e,n,o)=>an(n)||n===o||e.dom.isChildOf(n,o)?!1:e.dom.isEditable(n),pI=(e,n,o,r)=>{const a=e.dom,u=n.cloneNode(!0);a.setStyles(u,{width:o,height:r}),a.setAttrib(u,"data-mce-selected",null);const f=a.create("div",{class:"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return a.setStyles(f,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:o,height:r}),a.setStyles(u,{margin:0,boxSizing:"border-box"}),f.appendChild(u),f},ZU=(e,n)=>{e.parentNode!==n&&n.appendChild(e)},mT=(e,n)=>o=>()=>{const r=e==="left"?o.scrollX:o.scrollY;o.scroll({[e]:r+n,behavior:"smooth"})},bI=mT("left",-lC),jU=mT("left",lC),vI=mT("top",-lC),fT=mT("top",lC),eR=(e,n,o,r,a,u,f,b,y,x,O,A)=>{let M=0,L=0;e.style.left=n.pageX+"px",e.style.top=n.pageY+"px",n.pageX+o>a&&(M=n.pageX+o-a),n.pageY+r>u&&(L=n.pageY+r-u),e.style.width=o-M+"px",e.style.height=r-L+"px";const V=y.clientHeight,I=y.clientWidth,z=f+y.getBoundingClientRect().top,G=b+y.getBoundingClientRect().left;O.on(X=>{X.intervalId.clear(),X.dragging&&A&&(f+lT>=V?X.intervalId.set(fT(x)):f-lT<=0?X.intervalId.set(vI(x)):b+lT>=I?X.intervalId.set(jU(x)):b-lT<=0?X.intervalId.set(bI(x)):z+uT>=window.innerHeight?X.intervalId.set(fT(window)):z-uT<=0?X.intervalId.set(vI(window)):G+uT>=window.innerWidth?X.intervalId.set(jU(window)):G-uT<=0&&X.intervalId.set(bI(window)))})},uC=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},GU=(e,n)=>{const o=e.getParent(n.parentNode,e.isBlock);uC(n),o&&o!==e.getRoot()&&e.isEmpty(o)&&zi(U.fromDom(o))},qU=e=>e.button===0,yI=(e,n)=>({pageX:n.pageX-e.relX,pageY:n.pageY+5}),KU=(e,n)=>o=>{if(qU(o)){const r=Vo(n.dom.getParents(o.target),WU).getOr(null);if(Se(r)&&dT(n.dom,n.getBody(),r)){const a=n.dom.getPos(r),u=n.getBody(),f=n.getDoc().documentElement;e.set({element:r,dataTransfer:LA(),dragging:!1,screenX:o.screenX,screenY:o.screenY,maxX:(n.inline?u.scrollWidth:f.offsetWidth)-2,maxY:(n.inline?u.scrollHeight:f.offsetHeight)-2,relX:o.pageX-a.x,relY:o.pageY-a.y,width:r.offsetWidth,height:r.offsetHeight,ghost:pI(n,r,r.offsetWidth,r.offsetHeight),intervalId:__(UU)})}}},tR=(e,n,o)=>{e._selectionOverrides.hideFakeCaret(),iT(e.getBody(),n,o).fold(()=>e.selection.placeCaretAt(n,o),r=>{const a=e._selectionOverrides.showCaret(1,r.node,r.position===r0.Before,!1);a?e.selection.setRng(a):e.selection.placeCaretAt(n,o)})},c0=(e,n,o,r,a)=>{n==="dragstart"&&R$(r,e.dom.getOuterHTML(o));const u=zU(n,o,r,a);return e.dispatch(n,u)},YU=(e,n)=>{const o=dh((a,u)=>tR(n,a,u),0);n.on("remove",o.cancel);const r=e;return a=>e.on(u=>{const f=Math.max(Math.abs(a.screenX-u.screenX),Math.abs(a.screenY-u.screenY));if(!u.dragging&&f>10){const b=c0(n,"dragstart",u.element,u.dataTransfer,a);if(Se(b.dataTransfer)&&(u.dataTransfer=b.dataTransfer),b.isDefaultPrevented())return;u.dragging=!0,n.focus()}if(u.dragging){const b=a.currentTarget===n.getDoc().documentElement,y=yI(u,LU(n,a));ZU(u.ghost,n.getBody()),eR(u.ghost,y,u.width,u.height,u.maxX,u.maxY,a.clientY,a.clientX,n.getContentAreaContainer(),n.getWin(),r,b),o.throttle(a.clientX,a.clientY)}})},XU=e=>{const n=e.getSel();if(Se(n)){const r=n.getRangeAt(0).startContainer;return ke(r)?r.parentNode:r}else return null},CI=(e,n)=>o=>{e.on(r=>{var a;if(r.intervalId.clear(),r.dragging){if(hI(n,XU(n.selection),r.element)){const u=(a=n.getDoc().elementFromPoint(o.clientX,o.clientY))!==null&&a!==void 0?a:n.getBody();c0(n,"drop",u,r.dataTransfer,o).isDefaultPrevented()||n.undoManager.transact(()=>{GU(n.dom,r.element),U9(r.dataTransfer).each(b=>n.insertContent(b)),n._selectionOverrides.hideFakeCaret()})}c0(n,"dragend",n.getBody(),r.dataTransfer,o)}}),wI(e)},SI=(e,n,o)=>{e.on(r=>{r.intervalId.clear(),r.dragging&&o.fold(()=>c0(n,"dragend",r.element,r.dataTransfer),a=>c0(n,"dragend",r.element,r.dataTransfer,a))}),wI(e)},Xj=(e,n)=>o=>SI(e,n,N.some(o)),wI=e=>{e.on(n=>{n.intervalId.clear(),uC(n.ghost)}),e.clear()},JU=e=>{const n=Bu(),o=Un.DOM,r=document,a=KU(n,e),u=YU(n,e),f=CI(n,e),b=Xj(n,e);e.on("mousedown",a),e.on("mousemove",u),e.on("mouseup",f),o.bind(r,"mousemove",u),o.bind(r,"mouseup",b),e.on("remove",()=>{o.unbind(r,"mousemove",u),o.unbind(r,"mouseup",b)}),e.on("keydown",y=>{y.keyCode===Ye.ESC&&SI(n,e,N.none())})},QU=e=>{const n=a=>{if(!a.isDefaultPrevented()){const u=a.dataTransfer;u&&(_t(u.types,"Files")||u.files.length>0)&&(a.preventDefault(),a.type==="drop"&&Yx(e,"Dropped file type is not supported"))}},o=a=>{Hw(e,a.target)&&n(a)},r=()=>{const a=Un.DOM,u=e.dom,f=document,b=e.inline?e.getBody():e.getDoc(),y=["drop","dragover"];ge(y,x=>{a.bind(f,x,o),u.bind(b,x,n)}),e.on("remove",()=>{ge(y,x=>{a.unbind(f,x,o),u.unbind(b,x,n)})})};e.on("init",()=>{Fa.setEditorTimeout(e,r,0)})},xI=e=>{JU(e),z1(e)&&QU(e)},eW=e=>{const n=dh(()=>{if(!e.removed&&e.getBody().contains(document.activeElement)){const o=e.selection.getRng();if(o.collapsed){const r=iE(e,o,!1);e.selection.setRng(r)}}},0);e.on("focus",()=>{n.throttle()}),e.on("blur",()=>{n.cancel()})},EI=e=>{e.on("init",()=>{e.on("focusin",n=>{const o=n.target;if(_o(o)){const r=qf(e.getBody(),o),a=Jt(r)?r:o;e.selection.getNode()!==a&&Hb(e,a).each(u=>e.selection.setRng(u))}})})},dC=Jt,TI=(e,n)=>qf(e.getBody(),n),tW=e=>{const n=e.selection,o=e.dom,r=e.getBody(),a=hy(e,r,o.isBlock,()=>Wf(e)),u="sel-"+o.uniqueId(),f="data-mce-selected";let b;const y=Ue=>Se(Ue)&&o.hasClass(Ue,"mce-offscreen-selection"),x=Ue=>Ue!==r&&(dC(Ue)||_o(Ue))&&o.isChildOf(Ue,r)&&o.isEditable(Ue.parentNode),O=Ue=>{Ue&&n.setRng(Ue)},A=(Ue,fe,le,xe=!0)=>e.dispatch("ShowCaret",{target:fe,direction:Ue,before:le}).isDefaultPrevented()?null:(xe&&n.scrollIntoView(fe,Ue===-1),a.show(le,fe)),M=Ue=>{Ue.hasAttribute("data-mce-caret")&&(Al(Ue),n.scrollIntoView(Ue))},L=()=>{e.on("click",fe=>{o.isEditable(fe.target)||(fe.preventDefault(),e.focus())}),e.on("blur NewBlock",ne),e.on("ResizeWindow FullscreenStateChanged",a.reposition),e.on("tap",fe=>{const le=fe.target,xe=TI(e,le);dC(xe)?(fe.preventDefault(),Hb(e,xe).each(J)):x(le)&&Hb(e,le).each(J)},!0),e.on("mousedown",fe=>{const le=fe.target;if(le!==r&&le.nodeName!=="HTML"&&!o.isChildOf(le,r)||!OL(e,fe.clientX,fe.clientY))return;ne(),Oe();const xe=TI(e,le);dC(xe)?(fe.preventDefault(),Hb(e,xe).each(J)):iT(r,fe.clientX,fe.clientY).each(je=>{fe.preventDefault();const ct=A(1,je.node,je.position===r0.Before,!1);O(ct),xu(xe)?xe.focus():e.getBody().focus()})}),e.on("keypress",fe=>{Ye.modifierPressed(fe)||dC(n.getNode())&&fe.preventDefault()}),e.on("GetSelectionRange",fe=>{let le=fe.range;if(b){if(!b.parentNode){b=null;return}le=le.cloneRange(),le.selectNode(b),fe.range=le}}),e.on("SetSelectionRange",fe=>{fe.range=z(fe.range);const le=J(fe.range,fe.forward);le&&(fe.range=le)});const Ue=fe=>Je(fe)&&fe.id==="mcepastebin";e.on("AfterSetSelectionRange",fe=>{const le=fe.range,xe=le.startContainer.parentElement;!I(le)&&!Ue(xe)&&Oe(),y(xe)||ne()}),xI(e),eW(e),EI(e)},V=Ue=>Fs(Ue)||Bd(Ue)||Hm(Ue),I=Ue=>V(Ue.startContainer)||V(Ue.endContainer),z=Ue=>{const fe=e.schema.getVoidElements(),le=o.createRng(),xe=Ue.startContainer,je=Ue.startOffset,ct=Ue.endContainer,Mt=Ue.endOffset;return Et(fe,xe.nodeName.toLowerCase())?je===0?le.setStartBefore(xe):le.setStartAfter(xe):le.setStart(xe,je),Et(fe,ct.nodeName.toLowerCase())?Mt===0?le.setEndBefore(ct):le.setEndAfter(ct):le.setEnd(ct,Mt),le},G=(Ue,fe)=>{const le=U.fromDom(e.getBody()),xe=e.getDoc(),je=Rc(le,"#"+u).getOrThunk(()=>{const zt=U.fromHtml('
    ',xe);return Yn(zt,"id",u),Zo(le,zt),zt}),ct=o.createRng();Pm(je),Vn(je,[U.fromText(dn,xe),U.fromDom(fe),U.fromText(dn,xe)]),ct.setStart(je.dom.firstChild,1),ct.setEnd(je.dom.lastChild,0),sc(je,{top:o.getPos(Ue,e.getBody()).y+"px"}),Bw(je);const Mt=n.getSel();return Mt&&(Mt.removeAllRanges(),Mt.addRange(ct)),ct},X=Ue=>{const fe=Ue.cloneNode(!0),le=e.dispatch("ObjectSelected",{target:Ue,targetClone:fe});if(le.isDefaultPrevented())return null;const xe=G(Ue,le.targetClone),je=U.fromDom(Ue);return ge(Ts(U.fromDom(e.getBody()),`*[${f}]`),ct=>{bn(je,ct)||$o(ct,f)}),o.getAttrib(Ue,f)||Ue.setAttribute(f,"1"),b=Ue,Oe(),xe},J=(Ue,fe)=>{if(!Ue)return null;if(Ue.collapsed){if(!I(Ue)){const ct=fe?1:-1,Mt=Wu(ct,r,Ue),zt=Mt.getNode(!fe);if(Se(zt)){if(Ef(zt))return A(ct,zt,fe?!Mt.isAtEnd():!1,!1);if(Pr(zt)&&Jt(zt.nextSibling)){const Zn=o.createRng();return Zn.setStart(zt,0),Zn.setEnd(zt,0),Zn}}const _n=Mt.getNode(fe);if(Se(_n)){if(Ef(_n))return A(ct,_n,fe?!1:!Mt.isAtEnd(),!1);if(Pr(_n)&&Jt(_n.previousSibling)){const Zn=o.createRng();return Zn.setStart(_n,1),Zn.setEnd(_n,1),Zn}}}return null}let le=Ue.startContainer,xe=Ue.startOffset;const je=Ue.endOffset;if(ke(le)&&xe===0&&dC(le.parentNode)&&(le=le.parentNode,xe=o.nodeIndex(le),le=le.parentNode),!Je(le))return null;if(je===xe+1&&le===Ue.endContainer){const ct=le.childNodes[xe];if(x(ct))return X(ct)}return null},ne=()=>{b&&b.removeAttribute(f),Rc(U.fromDom(e.getBody()),"#"+u).each(xn),b=null},Ce=()=>{a.destroy(),b=null},Oe=()=>{a.hide()};return hm(e)||L(),{showCaret:A,showBlockCaretContainer:M,hideFakeCaret:Oe,destroy:Ce}},nW=(e,n)=>{let o=n;for(let r=e.previousSibling;ke(r);r=r.previousSibling)o+=r.data.length;return o},_I=(e,n,o,r,a)=>{if(ke(o)&&(r<0||r>o.data.length))return[];const u=a&&ke(o)?[nW(o,r)]:[r];let f=o;for(;f!==n&&f.parentNode;)u.push(e.nodeIndex(f,a)),f=f.parentNode;return f===n?u.reverse():[]},gT=(e,n,o,r,a,u,f=!1)=>{const b=_I(e,n,o,r,f),y=_I(e,n,a,u,f);return{start:b,end:y}},oW=(e,n)=>{const o=n.slice(),r=o.pop();return wc(r)?wo(o,(u,f)=>u.bind(b=>N.from(b.childNodes[f])),N.some(e)).bind(u=>ke(u)&&(r<0||r>u.data.length)?N.none():N.some({node:u,offset:r})):N.none()},kI=(e,n)=>oW(e,n.start).bind(({node:o,offset:r})=>oW(e,n.end).map(({node:a,offset:u})=>{const f=document.createRange();return f.setStart(o,r),f.setEnd(a,u),f})),OI=(e,n,o,r=!1)=>gT(e,n,o.startContainer,o.startOffset,o.endContainer,o.endOffset,r),a0=(e,n,o)=>{if(n&&e.isEmpty(n)&&!o(n)){const r=n.parentNode;e.remove(n,ke(n.firstChild)&&_u(n.firstChild.data)),a0(e,r,o)}},i0=(e,n,o,r=!0)=>{const a=n.startContainer.parentNode,u=n.endContainer.parentNode;n.deleteContents(),r&&!o(n.startContainer)&&(ke(n.startContainer)&&n.startContainer.data.length===0&&e.remove(n.startContainer),ke(n.endContainer)&&n.endContainer.data.length===0&&e.remove(n.endContainer),a0(e,a,o),a!==u&&a0(e,u,o))},nR=(e,n)=>N.from(e.dom.getParent(n.startContainer,e.dom.isBlock)),AI=(e,n,o)=>{const r=e.dynamicPatternsLookup({text:o,block:n});return{...e,blockPatterns:F1(r).concat(e.blockPatterns),inlinePatterns:Zv(r).concat(e.inlinePatterns)}},RI=(e,n,o,r)=>{const a=e.createRng();return a.setStart(n,0),a.setEnd(o,r),a.toString()},DI=e=>/^\s[^\s]/.test(e),mC=(e,n,o)=>{h5(n,0,n).each(a=>{const u=a.container;OE(u,o.start.length,n).each(y=>{const x=e.createRng();x.setStart(u,0),x.setEnd(y.container,y.offset),i0(e,x,O=>O===n)});const f=U.fromDom(u),b=ai(f);DI(b)&&Mc(f,b.slice(1))})},MI=(e,n)=>{const o=e.dom,r=n.pattern,a=kI(o.getRoot(),n.range).getOrDie("Unable to resolve path range"),u=(f,b)=>{const y=b.get(f);return An(y)&&yr(y).exists(x=>Et(x,"block"))};return nR(e,a).each(f=>{r.type==="block-format"?u(r.format,e.formatter)&&e.undoManager.transact(()=>{mC(e.dom,f,r),e.formatter.apply(r.format)}):r.type==="block-command"&&e.undoManager.transact(()=>{mC(e.dom,f,r),e.execCommand(r.cmd,!1,r.value)})}),!0},BI=e=>po(e,(n,o)=>o.start.length-n.start.length),sW=(e,n)=>{const o=BI(e),r=n.replace(dn," ");return Vo(o,a=>n.indexOf(a.start)===0||r.indexOf(a.start)===0)},rW=(e,n,o,r)=>{var a;const u=e.dom,f=mr(e);if(!u.is(n,f))return[];const b=(a=n.textContent)!==null&&a!==void 0?a:"";return sW(o.blockPatterns,b).map(y=>Me.trim(b).length===y.start.length?[]:[{pattern:y,range:gT(u,u.getRoot(),n,0,n,0,r)}]).getOr([])},NI=(e,n)=>{if(n.length===0)return;const o=e.selection.getBookmark();ge(n,r=>MI(e,r)),e.selection.moveToBookmark(o)},PI=(e,n)=>e.create("span",{"data-mce-type":"bookmark",id:n}),hT=(e,n)=>{const o=e.createRng();return o.setStartAfter(n.start),o.setEndBefore(n.end),o},$I=(e,n,o)=>{const r=kI(e.getRoot(),o).getOrDie("Unable to resolve path range"),a=r.startContainer,u=r.endContainer,f=r.endOffset===0?u:u.splitText(r.endOffset),b=r.startOffset===0?a:a.splitText(r.startOffset),y=b.parentNode,x=f.parentNode;return{prefix:n,end:x.insertBefore(PI(e,n+"-end"),f),start:y.insertBefore(PI(e,n+"-start"),b)}},pT=(e,n,o)=>{a0(e,e.get(n.prefix+"-end"),o),a0(e,e.get(n.prefix+"-start"),o)},oR=e=>e.start.length===0,cW=e=>(n,o)=>{const a=n.data.substring(0,o),u=a.lastIndexOf(e.charAt(e.length-1)),f=a.lastIndexOf(e);return f!==-1?f+e.length:u!==-1?u+1:-1},II=(e,n,o,r)=>{const a=n.start;return K2(e,r.container,r.offset,cW(a),o).bind(f=>{var b,y;const x=(y=(b=o.textContent)===null||b===void 0?void 0:b.indexOf(a))!==null&&y!==void 0?y:-1;if(x!==-1&&f.offset>=x+a.length){const A=e.createRng();return A.setStart(f.container,f.offset-a.length),A.setEnd(f.container,f.offset),N.some(A)}else{const A=f.offset-a.length;return q2(f.container,A,o).map(M=>{const L=e.createRng();return L.setStart(M.container,M.offset),L.setEnd(f.container,f.offset),L}).filter(M=>M.toString()===a).orThunk(()=>II(e,n,o,gl(f.container,0)))}})},aW=(e,n,o,r,a,u=!1)=>{if(n.start.length===0&&!u){const f=e.createRng();return f.setStart(o,r),f.setEnd(o,r),N.some(f)}return G2(o,r,a).bind(f=>II(e,n,a,f).bind(y=>{var x;if(u){if(y.endContainer===f.container&&y.endOffset===f.offset)return N.none();if(f.offset===0&&((x=y.endContainer.textContent)===null||x===void 0?void 0:x.length)===y.endOffset)return N.none()}return N.some(y)}))},iW=(e,n,o,r)=>{const a=e.dom,u=a.getRoot(),f=o.pattern,b=o.position.container,y=o.position.offset;return q2(b,y-o.pattern.end.length,n).bind(x=>{const O=gT(a,u,x.container,x.offset,b,y,r);if(oR(f))return N.some({matches:[{pattern:f,startRng:O,endRng:O}],position:x});{const A=bT(e,o.remainingPatterns,x.container,x.offset,n,r),M=A.getOr({matches:[],position:x}),L=M.position;return aW(a,f,L.container,L.offset,n,A.isNone()).map(I=>{const z=OI(a,u,I,r);return{matches:M.matches.concat([{pattern:f,startRng:z,endRng:O}]),position:gl(I.startContainer,I.startOffset)}})}})},bT=(e,n,o,r,a,u)=>{const f=e.dom;return G2(o,r,f.getRoot()).bind(b=>{const y=RI(f,a,o,r);for(let x=0;x0)return bT(e,n,o,r-1,a,u);if(M.isSome())return M}return N.none()})},sR=(e,n,o)=>{e.selection.setRng(o),n.type==="inline-format"?ge(n.format,r=>{e.formatter.apply(r)}):e.execCommand(n.cmd,!1,n.value)},FI=(e,n,o,r)=>{const a=hT(e.dom,o);i0(e.dom,a,r),sR(e,n,a)},rR=(e,n,o,r,a)=>{const u=e.dom,f=hT(u,r),b=hT(u,o);i0(u,b,a),i0(u,f,a);const y={prefix:o.prefix,start:o.end,end:r.start},x=hT(u,y);sR(e,n,x)},cR=(e,n)=>{const o=Wd("mce_textpattern"),r=hd(n,(a,u)=>{const f=$I(e,o+`_end${a.length}`,u.endRng);return a.concat([{...u,endMarker:f}])},[]);return hd(r,(a,u)=>{const f=r.length-a.length-1,b=oR(u.pattern)?u.endMarker:$I(e,o+`_start${f}`,u.startRng);return a.concat([{...u,startMarker:b}])},[])},lW=e=>po(e,(n,o)=>o.end.length-n.end.length),aR=(e,n)=>{const o=Bs(e,r=>to(n,a=>r.pattern.start===a.pattern.start&&r.pattern.end===a.pattern.end));return e.length===n.length?o?e:n:e.length>n.length?e:n},LI=(e,n,o,r,a,u)=>{const f=bT(e,a.inlinePatterns,o,r,n,u).fold(()=>[],y=>y.matches),b=bT(e,lW(a.inlinePatterns),o,r,n,u).fold(()=>[],y=>y.matches);return aR(f,b)},HI=(e,n)=>{if(n.length===0)return;const o=e.dom,r=e.selection.getBookmark(),a=cR(o,n);ge(a,u=>{const f=o.getParent(u.startMarker.start,o.isBlock),b=y=>y===f;oR(u.pattern)?FI(e,u.pattern,u.endMarker,b):rR(e,u.pattern,u.startMarker,u.endMarker,b),pT(o,u.endMarker,b),pT(o,u.startMarker,b)}),e.selection.moveToBookmark(r)},VI=(e,n)=>{const o=e.selection.getRng();return nR(e,o).map(r=>{var a;const u=Math.max(0,o.startOffset),f=AI(n,r,(a=r.textContent)!==null&&a!==void 0?a:""),b=LI(e,r,o.startContainer,u,f,!0),y=rW(e,r,f,!0);return y.length>0||b.length>0?(e.undoManager.add(),e.undoManager.extra(()=>{e.execCommand("mceInsertNewLine")},()=>{a_(e),HI(e,b),NI(e,y);const x=e.selection.getRng(),O=G2(x.startContainer,x.startOffset,e.dom.getRoot());e.execCommand("mceInsertNewLine"),O.each(A=>{const M=A.container;M.data.charAt(A.offset-1)===Jg&&(M.deleteData(A.offset-1,1),a0(e.dom,M.parentNode,L=>L===e.dom.getRoot()))})}),!0):!1}).getOr(!1)},uW=(e,n)=>{const o=e.selection.getRng();nR(e,o).map(r=>{const a=Math.max(0,o.startOffset-1),u=RI(e.dom,r,o.startContainer,a),f=AI(n,r,u),b=LI(e,r,o.startContainer,a,f,!1);b.length>0&&e.undoManager.transact(()=>{HI(e,b)})})},zI=(e,n,o)=>{for(let r=0;rzI(e,n,(o,r)=>o===r.keyCode&&!Ye.modifierPressed(r)),mW=(e,n)=>zI(e,n,(o,r)=>o.charCodeAt(0)===r.charCode),fW=e=>{const n=[",",".",";",":","!","?"],o=[32],r=()=>Ir(Z1(e),ck(e)),a=()=>dy(e);e.on("keydown",f=>{if(f.keyCode===13&&!Ye.modifierPressed(f)&&e.selection.isCollapsed()){const b=r();(b.inlinePatterns.length>0||b.blockPatterns.length>0||a())&&VI(e,b)&&f.preventDefault()}},!0);const u=()=>{if(e.selection.isCollapsed()){const f=r();(f.inlinePatterns.length>0||a())&&uW(e,f)}};e.on("keyup",f=>{dW(o,f)&&u()}),e.on("keypress",f=>{mW(n,f)&&Fa.setEditorTimeout(e,u)})},gW=e=>{fW(e)},hW=e=>{const n=Me.each,o=Ye.BACKSPACE,r=Ye.DELETE,a=e.dom,u=e.selection,f=e.parser,b=Ze.browser,y=b.isFirefox(),x=b.isChromium()||b.isSafari(),O=Ze.deviceType.isiPhone()||Ze.deviceType.isiPad(),A=Ze.os.isMacOS()||Ze.os.isiOS(),M=(nt,ot)=>{try{e.getDoc().execCommand(nt,!1,String(ot))}catch{}},L=nt=>nt.isDefaultPrevented(),V=()=>{const nt=Re=>{const Tt=a.create("body"),en=Re.cloneContents();return Tt.appendChild(en),u.serializer.serialize(Tt,{format:"html"})},ot=Re=>{const Tt=nt(Re),en=a.createRng();en.selectNode(e.getBody());const On=nt(en);return Tt===On};e.on("keydown",Re=>{const Tt=Re.keyCode;if(!L(Re)&&(Tt===r||Tt===o)&&e.selection.isEditable()){const en=e.selection.isCollapsed(),On=e.getBody();if(en&&!fo(U.fromDom(On))||!en&&!ot(e.selection.getRng()))return;Re.preventDefault(),e.setContent(""),On.firstChild&&a.isBlock(On.firstChild)?e.selection.setCursorLocation(On.firstChild,0):e.selection.setCursorLocation(On,0),e.nodeChanged()}})},I=()=>{e.shortcuts.add("meta+a",null,"SelectAll")},z=()=>{e.inline||a.bind(e.getDoc(),"mousedown mouseup",nt=>{let ot;if(nt.target===e.getDoc().documentElement)if(ot=u.getRng(),e.getBody().focus(),nt.type==="mousedown"){if(Fs(ot.startContainer))return;u.placeCaretAt(nt.clientX,nt.clientY)}else u.setRng(ot)})},G=()=>{e.on("keydown",nt=>{if(!L(nt)&&nt.keyCode===o){if(!e.getBody().getElementsByTagName("hr").length)return;if(u.isCollapsed()&&u.getRng().startOffset===0){const ot=u.getNode(),Re=ot.previousSibling;if(ot.nodeName==="HR"){a.remove(ot),nt.preventDefault();return}Re&&Re.nodeName&&Re.nodeName.toLowerCase()==="hr"&&(a.remove(Re),nt.preventDefault())}}})},X=()=>{Range.prototype.getClientRects||e.on("mousedown",nt=>{if(!L(nt)&&nt.target.nodeName==="HTML"){const ot=e.getBody();ot.blur(),Fa.setEditorTimeout(e,()=>{ot.focus()})}})},J=()=>{const nt=US(e);e.on("click",ot=>{const Re=ot.target;/^(IMG|HR)$/.test(Re.nodeName)&&a.isEditable(Re)&&(ot.preventDefault(),e.selection.select(Re),e.nodeChanged()),Re.nodeName==="A"&&a.hasClass(Re,nt)&&Re.childNodes.length===0&&a.isEditable(Re.parentNode)&&(ot.preventDefault(),u.select(Re))})},ne=()=>{const nt=()=>{const Re=a.getAttribs(u.getStart().cloneNode(!1));return()=>{const Tt=u.getStart();Tt!==e.getBody()&&(a.setAttrib(Tt,"style",null),n(Re,en=>{Tt.setAttributeNode(en.cloneNode(!0))}))}},ot=()=>!u.isCollapsed()&&a.getParent(u.getStart(),a.isBlock)!==a.getParent(u.getEnd(),a.isBlock);e.on("keypress",Re=>{let Tt;return!L(Re)&&(Re.keyCode===8||Re.keyCode===46)&&ot()?(Tt=nt(),e.getDoc().execCommand("delete",!1),Tt(),Re.preventDefault(),!1):!0}),a.bind(e.getDoc(),"cut",Re=>{if(!L(Re)&&ot()){const Tt=nt();Fa.setEditorTimeout(e,()=>{Tt()})}})},Ce=()=>{e.on("keydown",nt=>{if(!L(nt)&&nt.keyCode===o&&u.isCollapsed()&&u.getRng().startOffset===0){const ot=u.getNode().previousSibling;if(ot&&ot.nodeName&&ot.nodeName.toLowerCase()==="table")return nt.preventDefault(),!1}return!0})},Oe=()=>{e.on("keydown",nt=>{if(L(nt)||nt.keyCode!==Ye.BACKSPACE)return;let ot=u.getRng();const Re=ot.startContainer,Tt=ot.startOffset,en=a.getRoot();let On=Re;if(!(!ot.collapsed||Tt!==0)){for(;On.parentNode&&On.parentNode.firstChild===On&&On.parentNode!==en;)On=On.parentNode;On.nodeName==="BLOCKQUOTE"&&(e.formatter.toggle("blockquote",void 0,On),ot=a.createRng(),ot.setStart(Re,0),ot.setEnd(Re,0),u.setRng(ot))}})},Ue=()=>{const nt=()=>{M("StyleWithCSS",!1),M("enableInlineTableEditing",!1),pf(e)||M("enableObjectResizing",!1)};Eh(e)||e.on("BeforeExecCommand mousedown",nt)},fe=()=>{const nt=()=>{n(a.select("a:not([data-mce-block])"),ot=>{var Re;let Tt=ot.parentNode;const en=a.getRoot();if((Tt==null?void 0:Tt.lastChild)===ot){for(;Tt&&!a.isBlock(Tt);){if(((Re=Tt.parentNode)===null||Re===void 0?void 0:Re.lastChild)!==Tt||Tt===en)return;Tt=Tt.parentNode}a.add(Tt,"br",{"data-mce-bogus":1})}})};e.on("SetContent ExecCommand",ot=>{(ot.type==="setcontent"||ot.command==="mceInsertLink")&&nt()})},le=()=>{e.on("init",()=>{M("DefaultParagraphSeparator",mr(e))})},xe=nt=>{const ot=nt.getBody(),Re=nt.selection.getRng();return Re.startContainer===Re.endContainer&&Re.startContainer===ot&&Re.startOffset===0&&Re.endOffset===ot.childNodes.length},je=()=>{e.on("keyup focusin mouseup",nt=>{!Ye.modifierPressed(nt)&&!xe(e)&&u.normalize()},!0)},ct=()=>{e.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")},Mt=()=>{e.inline||e.on("keydown",()=>{document.activeElement===document.body&&e.getWin().focus()})},zt=()=>{e.inline||(e.contentStyles.push("body {min-height: 150px}"),e.on("click",nt=>{let ot;nt.target.nodeName==="HTML"&&(ot=e.selection.getRng(),e.getBody().focus(),e.selection.setRng(ot),e.selection.normalize(),e.nodeChanged())}))},_n=()=>{A&&e.on("keydown",nt=>{Ye.metaKeyPressed(nt)&&!nt.shiftKey&&(nt.keyCode===37||nt.keyCode===39)&&(nt.preventDefault(),e.selection.getSel().modify("move",nt.keyCode===37?"backward":"forward","lineboundary"))})},Zn=()=>{e.on("click",nt=>{let ot=nt.target;do if(ot.tagName==="A"){nt.preventDefault();return}while(ot=ot.parentNode)}),e.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")},Mo=()=>{e.on("init",()=>{e.dom.bind(e.getBody(),"submit",nt=>{nt.preventDefault()})})},or=()=>{f.addNodeFilter("br",nt=>{let ot=nt.length;for(;ot--;)nt[ot].attr("class")==="Apple-interchange-newline"&&nt[ot].remove()})},Ms=vt,Pe=()=>{if(!y||e.removed)return!1;const nt=e.selection.getSel();return!nt||!nt.rangeCount||nt.rangeCount===0},Ge=()=>{x&&(z(),J(),Mo(),I(),O&&(Mt(),zt(),Zn())),y&&(X(),Ue(),ct(),_n())},cn=()=>{e.on("drop",nt=>{var ot;const Re=(ot=nt.dataTransfer)===null||ot===void 0?void 0:ot.getData("text/html");q(Re)&&/^]*>$/.test(Re)&&e.dispatch("dragend",new window.DragEvent("dragend",nt))})},nn=()=>{Oe(),V(),Ze.windowsPhone||je(),x&&(z(),J(),le(),Mo(),Ce(),or(),O?(Mt(),zt(),Zn()):I()),y&&(G(),X(),ne(),Ue(),fe(),ct(),_n(),Ce(),cn())};return hm(e)?Ge():nn(),{refreshContentEditable:Ms,isHidden:Pe}},vT=Un.DOM,pW=(e,n)=>{const o=U.fromDom(e.getBody()),r=LC($i(o)),a=U.fromTag("style");Yn(a,"type","text/css"),Zo(a,U.fromText(n)),Zo(r,a),e.on("remove",()=>{xn(a)})},iR=e=>e.inline?e.getElement().nodeName.toLowerCase():void 0,lR=e=>so(e,n=>ws(n)===!1),UI=e=>{const n=e.options.get,o=e.editorUpload.blobCache;return lR({allow_conditional_comments:n("allow_conditional_comments"),allow_html_data_urls:n("allow_html_data_urls"),allow_svg_data_urls:n("allow_svg_data_urls"),allow_html_in_named_anchor:n("allow_html_in_named_anchor"),allow_script_urls:n("allow_script_urls"),allow_unsafe_link_target:n("allow_unsafe_link_target"),convert_unsafe_embeds:n("convert_unsafe_embeds"),convert_fonts_to_spans:n("convert_fonts_to_spans"),fix_list_elements:n("fix_list_elements"),font_size_legacy_values:n("font_size_legacy_values"),forced_root_block:n("forced_root_block"),forced_root_block_attrs:n("forced_root_block_attrs"),preserve_cdata:n("preserve_cdata"),inline_styles:n("inline_styles"),root_name:iR(e),sandbox_iframes:n("sandbox_iframes"),sanitize:n("xss_sanitization"),validate:!0,blob_cache:o,document:e.getDoc()})},WI=e=>{const n=e.options.get;return lR({custom_elements:n("custom_elements"),extended_valid_elements:n("extended_valid_elements"),invalid_elements:n("invalid_elements"),invalid_styles:n("invalid_styles"),schema:n("schema"),valid_children:n("valid_children"),valid_classes:n("valid_classes"),valid_elements:n("valid_elements"),valid_styles:n("valid_styles"),verify_html:n("verify_html"),padd_empty_block_inline_children:n("format_empty_lines")})},bW=e=>{const n=e.options.get;return{...UI(e),...WI(e),...lR({remove_trailing_brs:n("remove_trailing_brs"),pad_empty_with_br:n("pad_empty_with_br"),url_converter:n("url_converter"),url_converter_scope:n("url_converter_scope"),element_format:n("element_format"),entities:n("entities"),entity_encoding:n("entity_encoding"),indent:n("indent"),indent_after:n("indent_after"),indent_before:n("indent_before")})}},vW=e=>{const n=ul(UI(e),e.schema);return n.addAttributeFilter("src,href,style,tabindex",(o,r)=>{const a=e.dom,u="data-mce-"+r;let f=o.length;for(;f--;){const b=o[f];let y=b.attr(r);if(y&&!b.attr(u)){if(y.indexOf("data:")===0||y.indexOf("blob:")===0)continue;r==="style"?(y=a.serializeStyle(a.parseStyle(y),b.name),y.length||(y=null),b.attr(u,y),b.attr(r,y)):r==="tabindex"?(b.attr(u,y),b.attr(r,null)):b.attr(u,e.convertURL(y,r,b.name))}}}),n.addNodeFilter("script",o=>{let r=o.length;for(;r--;){const a=o[r],u=a.attr("type")||"no/type";u.indexOf("mce-")!==0&&a.attr("type","mce-"+u)}}),uy(e)&&n.addNodeFilter("#cdata",o=>{var r;let a=o.length;for(;a--;){const u=o[a];u.type=8,u.name="#comment",u.value="[CDATA["+e.dom.encode((r=u.value)!==null&&r!==void 0?r:"")+"]]"}}),n.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",o=>{let r=o.length;const a=e.schema.getNonEmptyElements();for(;r--;){const u=o[r];u.isEmpty(a)&&u.getAll("br").length===0&&u.append(new zr("br",1))}}),n},yW=e=>{const n=WS(e);n&&Fa.setEditorTimeout(e,()=>{let o;n===!0?o=e:o=e.editorManager.get(n),o&&!o.destroyed&&(o.focus(),o.selection.scrollIntoView())},100)},yT=e=>{const n=e.dom.getRoot();!e.inline&&(!sb(e)||e.selection.getStart(!0)===n)&&kr(n).each(o=>{const r=o.getNode(),a=Fi(r)?kr(r).getOr(o):o;e.selection.setRng(a.toRange())})},CW=e=>{e.bindPendingEventDelegates(),e.initialized=!0,qh(e),e.focus(!0),yT(e),e.nodeChanged({initial:!0});const n=ek(e);Y(n)&&n.call(e,e),yW(e)},uR=e=>e.inline?e.ui.styleSheetLoader:e.dom.styleSheetLoader,SW=(e,n,o)=>{const{pass:r,fail:a}=rr(n,b=>tinymce.Resource.has(tO(b))),f=[...r.map(b=>{const y=tinymce.Resource.get(tO(b));return q(y)?Promise.resolve(uR(e).loadRawCss(b,y)):Promise.resolve()}),uR(e).loadAll(a)];return e.inline?f:f.concat([e.ui.styleSheetLoader.loadAll(o)])},ZI=e=>{const n=uR(e),o=$S(e),r=e.contentCSS,a=()=>{n.unloadAll(r),e.inline||e.ui.styleSheetLoader.unloadAll(o)},u=()=>{e.removed?a():e.on("remove",a)};if(e.contentStyles.length>0){let y="";Me.each(e.contentStyles,x=>{y+=x+`\r -`}),e.dom.addStyle(y)}const f=Promise.all(SW(e,r,o)).then(u).catch(u),b=H1(e);return b&&pW(e,b),f},wW=e=>{const n=e.getDoc(),o=e.getBody();Ku(e),nk(e)||(n.body.spellcheck=!1,vT.setAttrib(o,"spellcheck","false")),e.quirks=hW(e),Nk(e);const r=Z_(e);r!==void 0&&(o.dir=r);const a=ZS(e);a&&e.on("BeforeSetContent",u=>{Me.each(a,f=>{u.content=u.content.replace(f,b=>"")})}),e.on("SetContent",()=>{e.addVisual(e.getBody())}),e.on("compositionstart compositionend",u=>{e.composing=u.type==="compositionstart"})},xW=e=>{hm(e)||e.load({initial:!0,format:"html"}),e.startContent=e.getContent({format:"raw"})},dR=e=>{e.removed!==!0&&(xW(e),CW(e))},EW=e=>{let n=!1;const o=setTimeout(()=>{n||e.setProgressState(!0)},500);return()=>{clearTimeout(o),n=!0,e.setProgressState(!1)}},jI=e=>{const n=e.getElement();let o=e.getDoc();e.inline&&(vT.addClass(n,"mce-content-body"),e.contentDocument=o=document,e.contentWindow=window,e.bodyElement=n,e.contentAreaContainer=n);const r=e.getBody();r.disabled=!0,e.readonly=Eh(e),e._editableRoot=ca(e),!e.readonly&&e.hasEditableRoot()&&(e.inline&&vT.getStyle(r,"position",!0)==="static"&&(r.style.position="relative"),r.contentEditable="true"),r.disabled=!1,e.editorUpload=GL(e),e.schema=$l(WI(e)),e.dom=Un(o,{keep_values:!0,url_converter:e.convertURL,url_converter_scope:e,update_styles:!0,root_element:e.inline?e.getBody():null,collect:e.inline,schema:e.schema,contentCssCors:Vl(e),referrerPolicy:Vt(e),onSetAttrib:f=>{e.dispatch("SetAttrib",f)},force_hex_color:wf(e)}),e.parser=vW(e),e.serializer=CN(bW(e),e),e.selection=og(e.dom,e.getWin(),e.serializer,e),e.annotator=Py(e),e.formatter=rO(e),e.undoManager=cO(e),e._nodeChangeDispatcher=new w$(e),e._selectionOverrides=tW(e),fV(e),_U(e),Dj(e),hm(e)||(rI(e),gW(e));const a=B9(e);yp(e,a),bV(e),ml(e),xU(e);const u=z8(e);wW(e),u.fold(()=>{const f=EW(e);ZI(e).then(()=>{dR(e),f()})},f=>{e.setProgressState(!0),ZI(e).then(()=>{f().then(b=>{e.setProgressState(!1),dR(e),K3(e)},b=>{e.notificationManager.open({type:"error",text:String(b)}),dR(e),K3(e)})})})},GI=Ke,TW=(e,n,o)=>t1(e,n,GI,o),CT=Un.DOM,_W=(e,n,o,r)=>{const a=U.fromTag("iframe");return r.each(u=>Yn(a,"tabindex",u)),Ja(a,o),Ja(a,{id:e+"_ifr",frameBorder:"0",allowTransparency:"true",title:n}),_d(a,"tox-edit-area__iframe"),a},kW=e=>{let n=MS(e)+"";Gv(e)!==e.documentBaseUrl&&(n+=''),n+='';const o=qv(e),r=I_(e),a=e.translate(Q_(e));return Kv(e)&&(n+=''),n+=`
    `,n},qI=(e,n)=>{const o=e.translate("Rich Text Area"),r=Ni(U.fromDom(e.getElement()),"tabindex").bind(Sd),a=_W(e.id,o,jv(e),r).dom;a.onload=()=>{a.onload=null,e.dispatch("load")},e.contentAreaContainer=n.iframeContainer,e.iframeElement=a,e.iframeHTML=kW(e),CT.add(n.iframeContainer,a)},fC=e=>{const n=e.iframeElement,o=()=>{e.contentDocument=n.contentDocument,jI(e)};if(lk(e)||Ze.browser.isFirefox()){const r=e.getDoc();r.open(),r.write(e.iframeHTML),r.close(),o()}else{const r=TW(U.fromDom(n),"load",()=>{r.unbind(),o()});n.srcdoc=e.iframeHTML}},OW=(e,n)=>{qI(e,n),n.editorContainer&&(n.editorContainer.style.display=e.orgDisplay,e.hidden=CT.isHidden(n.editorContainer)),e.getElement().style.display="none",CT.setAttrib(e.id,"aria-hidden","true"),e.getElement().style.visibility=e.orgVisibility,fC(e)},mR=Un.DOM,AW=(e,n,o)=>{const r=gp.get(o),a=gp.urls[o]||e.documentBaseUrl.replace(/\/$/,"");if(o=Me.trim(o),r&&Me.inArray(n,o)===-1){if(e.plugins[o])return;try{const u=r(e,a)||{};e.plugins[o]=u,Y(u.init)&&(u.init(e,a),n.push(o))}catch(u){MN(e,o,u)}}},RW=e=>e.replace(/^\-/,""),DW=e=>{const n=[];ge(Th(e),o=>{AW(e,n,RW(o))})},MW=e=>{const n=Me.trim(Xv(e)),o=e.ui.registry.getAll().icons,r={...R2.get("default").icons,...R2.get(n).icons};We(r,(a,u)=>{Et(o,u)||e.ui.registry.addIcon(u,a)})},KI=e=>{const n=bf(e);if(q(n)){const o=pm.get(n);e.theme=o(e,pm.urls[n])||{},Y(e.theme.init)&&e.theme.init(e,pm.urls[n]||e.documentBaseUrl.replace(/\/$/,""))}else e.theme={}},BW=e=>{const n=ny(e),o=ki.get(n);e.model=o(e,ki.urls[n])},YI=e=>{const n=e.theme.renderUI;return n?n():JI(e)},NW=e=>{const n=e.getElement(),r=bf(e)(e,n);return r.editorContainer.nodeType&&(r.editorContainer.id=r.editorContainer.id||e.id+"_parent"),r.iframeContainer&&r.iframeContainer.nodeType&&(r.iframeContainer.id=r.iframeContainer.id||e.id+"_iframecontainer"),r.height=r.iframeHeight?r.iframeHeight:n.offsetHeight,r},XI=(e,n)=>({editorContainer:e,iframeContainer:n,api:{}}),PW=e=>{const n=mR.create("div");return mR.insertAfter(n,e),XI(n,n)},JI=e=>{const n=e.getElement();return e.inline?XI(null):PW(n)},$W=e=>{const n=e.getElement();return e.orgDisplay=n.style.display,q(bf(e))?YI(e):Y(bf(e))?NW(e):JI(e)},IW=(e,n)=>{const o={show:N.from(n.show).getOr(vt),hide:N.from(n.hide).getOr(vt),isEnabled:N.from(n.isEnabled).getOr(Ke),setEnabled:r=>{e.mode.isReadOnly()||N.from(n.setEnabled).each(a=>a(r))}};e.ui={...e.ui,...o}},FW=async e=>{e.dispatch("ScriptsLoaded"),MW(e),KI(e),BW(e),DW(e);const n=await $W(e);IW(e,N.from(n.api).getOr({})),e.editorContainer=n.editorContainer,IL(e),e.inline?jI(e):OW(e,{editorContainer:n.editorContainer,iframeContainer:n.iframeContainer})},Ep=Un.DOM,QI=e=>e.charAt(0)==="-",eF=(e,n)=>{const o=Qv(n),r=fr(n);if(!Ma.hasCode(o)&&o!=="en"){const a=Hn(r)?r:`${n.editorManager.baseURL}/langs/${o}.js`;e.add(a).catch(()=>{M2(n,a,o)})}},fR=(e,n)=>{const o=bf(e);if(q(o)&&!QI(o)&&!Et(pm.urls,o)){const r=q_(e),a=r?e.documentBaseURI.toAbsolute(r):`themes/${o}/theme${n}.js`;pm.load(o,a).catch(()=>{BL(e,a,o)})}},tF=(e,n)=>{const o=ny(e);if(o!=="plugin"&&!Et(ki.urls,o)){const r=FS(e),a=q(r)?e.documentBaseURI.toAbsolute(r):`models/${o}/model${n}.js`;ki.load(o,a).catch(()=>{DN(e,a,o)})}},nF=e=>N.from(Kd(e)).filter(Hn).map(n=>({url:n,name:N.none()})),oF=(e,n,o)=>N.from(n).filter(r=>Hn(r)&&!R2.has(r)).map(r=>({url:`${e.editorManager.baseURL}/icons/${r}/icons${o}.js`,name:N.some(r)})),LW=(e,n,o)=>{const r=oF(n,"default",o),a=nF(n).orThunk(()=>oF(n,Xv(n),""));ge(Ns([r,a]),u=>{e.add(u.url).catch(()=>{ML(n,u.url,u.name.getOrUndefined())})})},HW=(e,n)=>{const o=(r,a)=>{gp.load(r,a).catch(()=>{Oj(e,a,r)})};We(Lu(e),(r,a)=>{o(a,r),e.options.set("plugins",Th(e).concat(a))}),ge(Th(e),r=>{r=Me.trim(r),r&&!gp.urls[r]&&!QI(r)&&o(r,`plugins/${r}/plugin${n}.js`)})},sF=e=>{const n=bf(e);return!q(n)||Se(pm.get(n))},rF=e=>{const n=ny(e);return Se(ki.get(n))},VW=(e,n)=>{const o=qo.ScriptLoader,r=()=>{!e.removed&&sF(e)&&rF(e)&&FW(e)};fR(e,n),tF(e,n),eF(o,e),LW(o,e,n),HW(e,n),o.loadQueue().then(r,r)},zW=(e,n)=>pv.forElement(e,{contentCssCors:yf(n),referrerPolicy:Vt(n)}),gR=e=>{const n=e.id;Ma.setCode(Qv(e));const o=()=>{Ep.unbind(window,"ready",o),e.render()};if(!fc.Event.domLoaded){Ep.bind(window,"ready",o);return}if(!e.getElement())return;const r=U.fromDom(e.getElement()),a=Vg(r);e.on("remove",()=>{du(r.dom.attributes,f=>$o(r,f.name)),Ja(r,a)}),e.ui.styleSheetLoader=zW(r,e),oy(e)?e.inline=!0:(e.orgVisibility=e.getElement().style.visibility,e.getElement().style.visibility="hidden");const u=e.getElement().form||Ep.getParent(n,"form");u&&(e.formElement=u,Y_(e)&&!o1(e.getElement())&&(Ep.insertAfter(Ep.create("input",{type:"hidden",name:n}),n),e.hasHiddenInput=!0),e.formEventDelegate=f=>{e.dispatch(f.type,f)},Ep.bind(u,"submit reset",e.formEventDelegate),e.on("reset",()=>{e.resetContent()}),zS(e)&&!u.submit.nodeType&&!u.submit.length&&!u._mceOldSubmit&&(u._mceOldSubmit=u.submit,u.submit=()=>(e.editorManager.triggerSave(),e.setDirty(!1),u._mceOldSubmit(u)))),e.windowManager=RN(e),e.notificationManager=eO(e),mk(e)&&e.on("GetContent",f=>{f.save&&(f.content=Ep.encode(f.content))}),tl(e)&&e.on("submit",()=>{e.initialized&&e.save()}),wh(e)&&(e._beforeUnload=()=>{e.initialized&&!e.destroyed&&!e.isHidden()&&e.save({format:"raw",no_events:!0,set_dirty:!1})},e.editorManager.on("BeforeUnload",e._beforeUnload)),e.editorManager.add(e),VW(e,e.suffix)},ST=(e,n)=>{e._editableRoot!==n&&(e._editableRoot=n,e.readonly||(e.getBody().contentEditable=String(e.hasEditableRoot()),e.nodeChanged()),Lk(e,n))},wT=e=>e._editableRoot,Cm=(e,n)=>({sections:Fe(e),options:Fe(n)}),gC=Ya().deviceType,Tp=gC.isPhone(),cF=gC.isTablet(),hC=e=>{if(an(e))return[];{const n=An(e)?e:e.split(/[ ,]/),o=Dt(n,Cd);return pt(o,Hn)}},UW=(e,n)=>{const o=bd(n,(r,a)=>_t(e,a));return Cm(o.t,o.f)},aF=(e,n,o={})=>{const r=e.sections(),a=Kn(r,n).getOr({});return Me.extend({},o,a)},hR=(e,n)=>Et(e.sections(),n),pR=(e,n)=>hR(e,n)?e.sections()[n]:{},xT=(e,n)=>({...{table_grid:!1,object_resizing:!1,resize:!1,toolbar_mode:Kn(e,"toolbar_mode").getOr("scrolling"),toolbar_sticky:!1},...n?{menubar:!1}:{}}),bg=(e,n)=>{var o;const r=(o=n.external_plugins)!==null&&o!==void 0?o:{};return e&&e.external_plugins?Me.extend({},e.external_plugins,r):r},_p=(e,n)=>[...hC(e),...hC(n)],iF=(e,n,o,r)=>e&&hR(n,"mobile")?r:o,WW=(e,n,o,r)=>{const a=hC(o.forced_plugins),u=hC(r.plugins),f=pR(n,"mobile"),b=f.plugins?hC(f.plugins):u,y=iF(e,n,u,b),x=_p(a,y);return Me.extend(r,{forced_plugins:a,plugins:x})},ZW=(e,n)=>e&&hR(n,"mobile"),jW=(e,n,o,r,a)=>{var u;const f=e?{mobile:xT((u=a.mobile)!==null&&u!==void 0?u:{},n)}:{},b=UW(["mobile"],tC(f,a)),y=Me.extend(o,r,b.options(),ZW(e,b)?aF(b,"mobile"):{},{external_plugins:bg(r,b.options())});return WW(e,b,r,y)},GW=(e,n)=>jW(Tp||cF,Tp,n,e,n),qW=(e,n)=>eL(e,n),KW=e=>{const n=(r,a)=>{e.formatter.toggle(r,a),e.nodeChanged()},o=r=>()=>{ge("left,center,right,justify".split(","),a=>{r!==a&&e.formatter.remove("align"+a)}),r!=="none"&&n("align"+r)};e.editorCommands.addCommands({JustifyLeft:o("left"),JustifyCenter:o("center"),JustifyRight:o("right"),JustifyFull:o("justify"),JustifyNone:o("none")})},lF=e=>{const n=o=>()=>{const r=e.selection,a=r.isCollapsed()?[e.dom.getParent(r.getNode(),e.dom.isBlock)]:r.getSelectedBlocks();return to(a,u=>Se(e.formatter.matchNode(u,o)))};e.editorCommands.addCommands({JustifyLeft:n("alignleft"),JustifyCenter:n("aligncenter"),JustifyRight:n("alignright"),JustifyFull:n("alignjustify")},"state")},YW=e=>{KW(e),lF(e)},XW=e=>{e.editorCommands.addCommands({"Cut,Copy,Paste":n=>{const o=e.getDoc();let r;try{o.execCommand(n)}catch{r=!0}if(n==="paste"&&!o.queryCommandEnabled(n)&&(r=!0),r||!o.queryCommandSupported(n)){let a=e.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");(Ze.os.isMacOS()||Ze.os.isiOS())&&(a=a.replace(/Ctrl\+/g,"⌘+")),e.notificationManager.open({text:a,type:"error"})}}})},JW=(e,n,o,r)=>{const a=U.fromDom(e.getRoot());return wb(a,ae.fromRangeStart(n),r)?o=o.replace(/^ /," "):o=o.replace(/^ /," "),xb(a,ae.fromRangeEnd(n),r)?o=o.replace(/( | )()?$/," "):o=o.replace(/ ()?$/," "),o},Jj=e=>{if(typeof e!="string"){const n=Me.extend({paste:e.paste,data:{paste:e.paste}},e);return{content:e.content,details:n}}return{content:e,details:{}}},QW=(e,n)=>{const o=e.selection,r=e.dom;return/^ | $/.test(n)?JW(r,o.getRng(),n,e.schema):n},l0=(e,n)=>{if(e.selection.isEditable()){const{content:o,details:r}=Jj(n);k3(e,{...r,content:QW(e,o),format:"html",set:!1,selection:!0}).each(a=>{const u=J8(e,a.content,r);Ix(e,u,a),e.addVisual()})}},eZ=e=>{e.editorCommands.addCommands({mceCleanup:()=>{const n=e.selection.getBookmark();e.setContent(e.getContent()),e.selection.moveToBookmark(n)},insertImage:(n,o,r)=>{l0(e,e.dom.createHTML("img",{src:r}))},insertHorizontalRule:()=>{e.execCommand("mceInsertContent",!1,"
    ")},insertText:(n,o,r)=>{l0(e,e.dom.encode(r))},insertHTML:(n,o,r)=>{l0(e,r)},mceInsertContent:(n,o,r)=>{l0(e,r)},mceSetContent:(n,o,r)=>{e.setContent(r)},mceReplaceContent:(n,o,r)=>{e.execCommand("mceInsertContent",!1,r.replace(/\{\$selection\}/g,e.selection.getContent({format:"text"})))},mceNewDocument:()=>{e.setContent(Cf(e))}})},tZ={"font-size":"size","font-family":"face"},uF=xa("font"),nZ=(e,n,o)=>{const r=u=>os(u,e).orThunk(()=>uF(u)?Kn(tZ,e).bind(f=>Ni(u,f)):N.none()),a=u=>bn(U.fromDom(n),u);return Y4(U.fromDom(o),u=>r(u),a)},dF=e=>e.replace(/[\'\"\\]/g,"").replace(/,\s+/g,","),oZ=(e,n)=>N.from(Un.DOM.getStyle(n,e,!0)),ET=e=>(n,o)=>N.from(o).map(U.fromDom).filter(ar).bind(r=>nZ(e,n,r.dom).or(oZ(e,r.dom))).getOr(""),sZ=ET("font-size"),rZ=_(dF,ET("font-family")),cZ=e=>kr(e.getBody()).bind(n=>{const o=n.container();return N.from(ke(o)?o.parentNode:o)}),aZ=e=>N.from(e.selection.getRng()).bind(n=>{const o=e.getBody();return n.startContainer===o&&n.startOffset===0?N.none():N.from(e.selection.getStart(!0))}),mF=(e,n)=>aZ(e).orThunk(_e(cZ,e)).map(U.fromDom).filter(ar).bind(n),pC=(e,n)=>mF(e,Lo(N.some,n)),bR=(e,n)=>{if(/^[0-9.]+$/.test(n)){const o=parseInt(n,10);if(o>=1&&o<=7){const r=uk(e),a=dk(e);return a.length>0?a[o-1]||n:r[o-1]||n}else return n}else return n},vR=e=>{const n=e.split(/\s*,\s*/);return Dt(n,o=>o.indexOf(" ")!==-1&&!(fs(o,'"')||fs(o,"'"))?`'${o}'`:o).join(",")},iZ=(e,n)=>{const o=bR(e,n);e.formatter.toggle("fontname",{value:vR(o)}),e.nodeChanged()},Qj=e=>pC(e,n=>rZ(e.getBody(),n.dom)).getOr(""),eG=(e,n)=>{e.formatter.toggle("fontsize",{value:bR(e,n)}),e.nodeChanged()},lZ=e=>pC(e,n=>sZ(e.getBody(),n.dom)).getOr(""),fF=e=>pC(e,n=>{const o=U.fromDom(e.getBody()),r=Y4(n,u=>os(u,"line-height"),_e(bn,o)),a=()=>{const u=parseFloat(ns(n,"line-height")),f=parseFloat(ns(n,"font-size"));return String(u/f)};return r.getOrThunk(a)}).getOr(""),uZ=(e,n)=>{e.formatter.toggle("lineheight",{value:String(n)}),e.nodeChanged()},dZ=e=>{const n=(o,r)=>{e.formatter.toggle(o,r),e.nodeChanged()};e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":o=>{n(o)},"ForeColor,HiliteColor":(o,r,a)=>{n(o,{value:a})},BackColor:(o,r,a)=>{n("hilitecolor",{value:a})},FontName:(o,r,a)=>{iZ(e,a)},FontSize:(o,r,a)=>{eG(e,a)},LineHeight:(o,r,a)=>{uZ(e,a)},Lang:(o,r,a)=>{var u;n(o,{value:a.code,customValue:(u=a.customCode)!==null&&u!==void 0?u:null})},RemoveFormat:o=>{e.formatter.remove(o)},mceBlockQuote:()=>{n("blockquote")},FormatBlock:(o,r,a)=>{n(q(a)?a:"p")},mceToggleFormat:(o,r,a)=>{n(a)}})},mZ=e=>{const n=o=>e.formatter.match(o);e.editorCommands.addCommands({"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":o=>n(o),mceBlockQuote:()=>n("blockquote")},"state"),e.editorCommands.addQueryValueHandler("FontName",()=>Qj(e)),e.editorCommands.addQueryValueHandler("FontSize",()=>lZ(e)),e.editorCommands.addQueryValueHandler("LineHeight",()=>fF(e))},tG=e=>{dZ(e),mZ(e)},nG=e=>{e.editorCommands.addCommands({mceAddUndoLevel:()=>{e.undoManager.add()},mceEndUndoLevel:()=>{e.undoManager.add()},Undo:()=>{e.undoManager.undo()},Redo:()=>{e.undoManager.redo()}})},gF=e=>{e.editorCommands.addCommands({Indent:()=>{mV(e)},Outdent:()=>{UO(e)}}),e.editorCommands.addCommands({Outdent:()=>yE(e)},"state")},hF=e=>{const n=(o,r,a)=>{const u=q(a)?{href:a}:a,f=e.dom.getParent(e.selection.getNode(),"a");En(u)&&q(u.href)&&(u.href=u.href.replace(/ /g,"%20"),(!f||!u.href)&&e.formatter.remove("link"),u.href&&e.formatter.apply("link",u,f))};e.editorCommands.addCommands({unlink:()=>{if(e.selection.isEditable()){if(e.selection.isCollapsed()){const o=e.dom.getParent(e.selection.getStart(),"a");o&&e.dom.remove(o,!0);return}e.formatter.remove("link")}},mceInsertLink:n,createLink:n})},fZ=e=>{e.editorCommands.addCommands({"InsertUnorderedList,InsertOrderedList":n=>{e.getDoc().execCommand(n);const o=e.dom.getParent(e.selection.getNode(),"ol,ul");if(o){const r=o.parentNode;if(r&&/^(H[1-6]|P|ADDRESS|PRE)$/.test(r.nodeName)){const a=e.selection.getBookmark();e.dom.split(r,o),e.selection.moveToBookmark(a)}}}})},gZ=e=>{e.editorCommands.addCommands({"InsertUnorderedList,InsertOrderedList":n=>{const o=e.dom.getParent(e.selection.getNode(),"ul,ol");return o&&(n==="insertunorderedlist"&&o.tagName==="UL"||n==="insertorderedlist"&&o.tagName==="OL")}},"state")},hZ=e=>{fZ(e),gZ(e)},oG=(e,n,o,r)=>{const a=e.dom,u=b=>a.isBlock(b)&&b.parentElement===o,f=u(n)?n:a.getParent(r,u,o);return N.from(f).map(U.fromDom)},pZ=(e,n)=>{const o=e.dom,r=e.selection.getRng(),a=n?e.selection.getStart():e.selection.getEnd(),u=n?r.startContainer:r.endContainer,f=Ua(o,u);if(!f||!f.isContentEditable)return;const b=n?hs:ti,y=mr(e);oG(e,a,f,u).each(x=>{const O=EA(e,u,x.dom,f,!1,y);b(x,U.fromDom(O)),e.selection.setCursorLocation(O,0),e.dispatch("NewBlock",{newBlock:O}),oC(e,"insertParagraph")})},sG=e=>pZ(e,!0),bZ=e=>pZ(e,!1),rG=e=>{e.editorCommands.addCommands({InsertNewBlockBefore:()=>{sG(e)},InsertNewBlockAfter:()=>{bZ(e)}})},vZ=e=>{e.editorCommands.addCommands({insertParagraph:()=>{ZE(s$,e)},mceInsertNewLine:(n,o,r)=>{l$(e,r)},InsertLineBreak:(n,o,r)=>{ZE(b9,e)}})},kp=e=>{e.editorCommands.addCommands({mceSelectNodeDepth:(n,o,r)=>{let a=0;e.dom.getParent(e.selection.getNode(),u=>Je(u)&&a++===r?(e.selection.select(u),!1):!0,e.getBody())},mceSelectNode:(n,o,r)=>{e.selection.select(r)},selectAll:()=>{const n=e.dom.getParent(e.selection.getStart(),lr);if(n){const o=e.dom.createRng();o.selectNodeContents(n),e.selection.setRng(o)}}})},yR=e=>{e.editorCommands.addCommands({mceRemoveNode:(n,o,r)=>{const a=r??e.selection.getNode();if(a!==e.getBody()){const u=e.selection.getBookmark();e.dom.remove(a,!0),e.selection.moveToBookmark(u)}},mcePrint:()=>{e.getWin().print()},mceFocus:(n,o,r)=>{l6(e,r===!0)},mceToggleVisualAid:()=>{e.hasVisual=!e.hasVisual,e.addVisual()}})},TT=e=>{YW(e),XW(e),nG(e),kp(e),eZ(e),hF(e),gF(e),rG(e),vZ(e),hZ(e),tG(e),yR(e)},pF=["toggleview"],CR=e=>_t(pF,e.toLowerCase());class SR{constructor(n){this.commands={state:{},exec:{},value:{}},this.editor=n}execCommand(n,o=!1,r,a){const u=this.editor,f=n.toLowerCase(),b=a==null?void 0:a.skip_focus;if(u.removed||(f!=="mcefocus"&&(!/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(f)&&!b?u.focus():KF(u)),u.dispatch("BeforeExecCommand",{command:n,ui:o,value:r}).isDefaultPrevented()))return!1;const x=this.commands.exec[f];return Y(x)?(x(f,o,r),u.dispatch("ExecCommand",{command:n,ui:o,value:r}),!0):!1}queryCommandState(n){if(!CR(n)&&this.editor.quirks.isHidden()||this.editor.removed)return!1;const o=n.toLowerCase(),r=this.commands.state[o];return Y(r)?r(o):!1}queryCommandValue(n){if(!CR(n)&&this.editor.quirks.isHidden()||this.editor.removed)return"";const o=n.toLowerCase(),r=this.commands.value[o];return Y(r)?r(o):""}addCommands(n,o="exec"){const r=this.commands;We(n,(a,u)=>{ge(u.toLowerCase().split(","),f=>{r[o][f]=a})})}addCommand(n,o,r){const a=n.toLowerCase();this.commands.exec[a]=(u,f,b)=>o.call(r??this.editor,f,b)}queryCommandSupported(n){const o=n.toLowerCase();return!!this.commands.exec[o]}addQueryStateHandler(n,o,r){this.commands.state[n.toLowerCase()]=()=>o.call(r??this.editor)}addQueryValueHandler(n,o,r){this.commands.value[n.toLowerCase()]=()=>o.call(r??this.editor)}}const Op="data-mce-contenteditable",yZ=(e,n,o)=>{Cu(e,n)&&!o?kd(e,n):o&&_d(e,n)},wR=(e,n,o)=>{try{e.getDoc().execCommand(n,!1,String(o))}catch{}},_T=(e,n)=>{e.dom.contentEditable=n?"true":"false"},vg=e=>{ge(Ts(e,'*[contenteditable="true"]'),n=>{Yn(n,Op,"true"),_T(n,!1)})},CZ=e=>{ge(Ts(e,`*[${Op}="true"]`),n=>{$o(n,Op),_T(n,!0)})},bF=e=>{N.from(e.selection.getNode()).each(n=>{n.removeAttribute("data-mce-selected")})},SZ=e=>{e.selection.setRng(e.selection.getRng())},kT=(e,n)=>{const o=U.fromDom(e.getBody());yZ(o,"mce-content-readonly",n),n?(e.selection.controlSelection.hideResizeRect(),e._selectionOverrides.hideFakeCaret(),bF(e),e.readonly=!0,_T(o,!1),vg(o)):(e.readonly=!1,e.hasEditableRoot()&&_T(o,!0),CZ(o),wR(e,"StyleWithCSS",!1),wR(e,"enableInlineTableEditing",!1),wR(e,"enableObjectResizing",!1),hD(e)&&e.focus(),SZ(e),e.nodeChanged())},Ap=e=>e.readonly,vF=e=>{e.parser.addAttributeFilter("contenteditable",n=>{Ap(e)&&ge(n,o=>{o.attr(Op,o.attr("contenteditable")),o.attr("contenteditable","false")})}),e.serializer.addAttributeFilter(Op,n=>{Ap(e)&&ge(n,o=>{o.attr("contenteditable",o.attr(Op))})}),e.serializer.addTempAttr(Op)},wZ=e=>{e.serializer?vF(e):e.on("PreInit",()=>{vF(e)})},yF=e=>e.type==="click",xZ=["copy"],EZ=e=>_t(xZ,e.type),TZ=(e,n)=>Ii(n,"a",r=>bn(r,U.fromDom(e.getBody()))).bind(r=>Ni(r,"href")),xR=(e,n)=>{if(yF(n)&&!Ye.metaKeyPressed(n)){const o=U.fromDom(n.target);TZ(e,o).each(r=>{if(n.preventDefault(),/^#/.test(r)){const a=e.dom.select(`${r},[name="${Tm(r,"#")}"]`);a.length&&e.selection.scrollIntoView(a[0],!0)}else window.open(r,"_blank","rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes")})}else EZ(n)&&e.dispatch(n.type,n)},_Z=e=>{e.on("ShowCaret",n=>{Ap(e)&&n.preventDefault()}),e.on("ObjectSelected",n=>{Ap(e)&&n.preventDefault()})},kZ=Me.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel"," ");class Yo{static isNative(n){return!!kZ[n.toLowerCase()]}constructor(n){this.bindings={},this.settings=n||{},this.scope=this.settings.scope||this,this.toggleEvent=this.settings.toggleEvent||Ee}fire(n,o){return this.dispatch(n,o)}dispatch(n,o){const r=n.toLowerCase(),a=Qm(r,o??{},this.scope);this.settings.beforeFire&&this.settings.beforeFire(a);const u=this.bindings[r];if(u)for(let f=0,b=u.length;f{this.toggleEvent(y,!1),delete this.bindings[y]}),this;if(f){if(!o)f.length=0;else{const b=rr(f,y=>y.func===o);f=b.fail,this.bindings[u]=f,ge(b.pass,y=>{y.removed=!0})}f.length||(this.toggleEvent(n,!1),delete this.bindings[u])}}}else We(this.bindings,(r,a)=>{this.toggleEvent(a,!1)}),this.bindings={};return this}once(n,o,r){return this.on(n,o,r,{once:!0})}has(n){n=n.toLowerCase();const o=this.bindings[n];return!(!o||o.length===0)}}const bC=e=>(e._eventDispatcher||(e._eventDispatcher=new Yo({scope:e,toggleEvent:(n,o)=>{Yo.isNative(n)&&e.toggleNativeEvent&&e.toggleNativeEvent(n,o)}})),e._eventDispatcher),ER={fire(e,n,o){return this.dispatch(e,n,o)},dispatch(e,n,o){const r=this;if(r.removed&&e!=="remove"&&e!=="detach")return Qm(e.toLowerCase(),n??{},r);const a=bC(r).dispatch(e,n);if(o!==!1&&r.parent){let u=r.parent();for(;u&&!a.isPropagationStopped();)u.dispatch(e,a,!1),u=u.parent?u.parent():void 0}return a},on(e,n,o){return bC(this).on(e,n,o)},off(e,n){return bC(this).off(e,n)},once(e,n){return bC(this).once(e,n)},hasEventListeners(e){return bC(this).has(e)}},u0=Un.DOM;let yg;const d0=(e,n)=>{if(n==="selectionchange")return e.getDoc();if(!e.inline&&/^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(n))return e.getDoc().documentElement;const o=Fu(e);return o?(e.eventRoot||(e.eventRoot=u0.select(o)[0]),e.eventRoot):e.getBody()},OZ=e=>!e.hidden&&!Ap(e),CF=(e,n,o)=>{OZ(e)?e.dispatch(n,o):Ap(e)&&xR(e,o)},SF=(e,n)=>{if(e.delegates||(e.delegates={}),e.delegates[n]||e.removed)return;const o=d0(e,n);if(Fu(e)){if(yg||(yg={},e.editorManager.on("removeEditor",()=>{e.editorManager.activeEditor||yg&&(We(yg,(a,u)=>{e.dom.unbind(d0(e,u))}),yg=null)})),yg[n])return;const r=a=>{const u=a.target,f=e.editorManager.get();let b=f.length;for(;b--;){const y=f[b].getBody();(y===u||u0.isChildOf(u,y))&&CF(f[b],n,a)}};yg[n]=r,u0.bind(o,n,r)}else{const r=a=>{CF(e,n,a)};u0.bind(o,n,r),e.delegates[n]=r}},wF={...ER,bindPendingEventDelegates(){const e=this;Me.each(e._pendingNativeEvents,n=>{SF(e,n)})},toggleNativeEvent(e,n){const o=this;e==="focus"||e==="blur"||o.removed||(n?o.initialized?SF(o,e):o._pendingNativeEvents?o._pendingNativeEvents.push(e):o._pendingNativeEvents=[e]:o.initialized&&o.delegates&&(o.dom.unbind(d0(o,e),e,o.delegates[e]),delete o.delegates[e]))},unbindAllNativeEvents(){const e=this,n=e.getBody(),o=e.dom;e.delegates&&(We(e.delegates,(r,a)=>{e.dom.unbind(d0(e,a),a,r)}),delete e.delegates),!e.inline&&n&&o&&(n.onload=null,o.unbind(e.getWin()),o.unbind(e.getDoc())),o&&(o.unbind(n),o.unbind(e.getContainer()))}},AZ=e=>q(e)?{value:e.split(/[ ,]/),valid:!0}:Rn(e,q)?{value:e,valid:!0}:{valid:!1,message:"The value must be a string[] or a comma/space separated string."},RZ=e=>{const n=(()=>{switch(e){case"array":return An;case"boolean":return sn;case"function":return Y;case"number":return wc;case"object":return En;case"string":return q;case"string[]":return AZ;case"object[]":return o=>Rn(o,En);case"regexp":return o=>uu(o,RegExp);default:return Ke}})();return o=>Ai(o,n,`The value must be a ${e}.`)},DZ=e=>q(e.processor),xF=(e,n)=>{const o=_c(n.message)?"":`. ${n.message}`;return e+o},Rp=e=>e.valid,Ai=(e,n,o="")=>{const r=n(e);return sn(r)?r?{value:e,valid:!0}:{valid:!1,message:o}:r},MZ=(e,n,o)=>{if(!ws(n)){const r=Ai(n,o);if(Rp(r))return r.value;console.error(xF(`Invalid default value passed for the "${e}" option`,r))}},BZ=(e,n)=>{const o={},r={},a=(A,M,L)=>{const V=Ai(M,L);return Rp(V)?(r[A]=V.value,!0):(console.warn(xF(`Invalid value passed for the ${A} option`,V)),!1)},u=(A,M)=>{const L=DZ(M)?RZ(M.processor):M.processor,V=MZ(A,M.default,L);o[A]={...M,default:V,processor:L},Kn(r,A).orThunk(()=>Kn(n,A)).each(z=>a(A,z,L))},f=A=>Et(o,A);return{register:u,isRegistered:f,get:A=>Kn(r,A).orThunk(()=>Kn(o,A).map(M=>M.default)).getOrUndefined(),set:(A,M)=>{if(f(A)){const L=o[A];return L.immutable?(console.error(`"${A}" is an immutable option and cannot be updated`),!1):a(A,M,L.processor)}else return console.warn(`"${A}" is not a registered option. Ensure the option has been registered before setting a value.`),!1},unset:A=>{const M=f(A);return M&&delete r[A],M},isSet:A=>Et(r,A)}},NZ=["design","readonly"],EF=(e,n,o,r)=>{const a=o[n.get()],u=o[r];try{u.activate()}catch(f){console.error(`problem while activating editor mode ${r}:`,f);return}a.deactivate(),a.editorReadOnly!==u.editorReadOnly&&kT(e,u.editorReadOnly),n.set(r),Fy(e,r)},PZ=(e,n,o,r)=>{if(r!==o.get()){if(!Et(n,r))throw new Error(`Editor mode '${r}' is invalid`);e.initialized?EF(e,o,n,r):e.on("init",()=>EF(e,o,n,r))}},$Z=(e,n,o)=>{if(_t(NZ,n))throw new Error(`Cannot override default mode ${n}`);return{...e,[n]:{...o,deactivate:()=>{try{o.deactivate()}catch(r){console.error(`problem while deactivating editor mode ${n}:`,r)}}}}},IZ=e=>{const n=ao("design"),o=ao({design:{activate:vt,deactivate:vt,editorReadOnly:!1},readonly:{activate:vt,deactivate:vt,editorReadOnly:!0}});return wZ(e),_Z(e),{isReadOnly:()=>Ap(e),set:r=>PZ(e,o.get(),n,r),get:()=>n.get(),register:(r,a)=>{o.set($Z(o.get(),r,a))}}},TR=Me.each,_R=Me.explode,cG={f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},TF=Me.makeMap("alt,ctrl,shift,meta,access"),FZ=e=>e in TF,LZ=e=>{const n={},o=Ze.os.isMacOS()||Ze.os.isiOS();TR(_R(e.toLowerCase(),"+"),u=>{FZ(u)?n[u]=!0:/^[0-9]{2,}$/.test(u)?n.keyCode=parseInt(u,10):(n.charCode=u.charCodeAt(0),n.keyCode=cG[u]||u.toUpperCase().charCodeAt(0))});const r=[n.keyCode];let a;for(a in TF)n[a]?r.push(a):n[a]=!1;return n.id=r.join(","),n.access&&(n.alt=!0,o?n.ctrl=!0:n.shift=!0),n.meta&&(o?n.meta=!0:(n.ctrl=!0,n.meta=!1)),n};class _F{constructor(n){this.shortcuts={},this.pendingPatterns=[],this.editor=n;const o=this;n.on("keyup keypress keydown",r=>{(o.hasModifier(r)||o.isFunctionKey(r))&&!r.isDefaultPrevented()&&(TR(o.shortcuts,a=>{o.matchShortcut(r,a)&&(o.pendingPatterns=a.subpatterns.slice(0),r.type==="keydown"&&o.executeShortcutAction(a))}),o.matchShortcut(r,o.pendingPatterns[0])&&(o.pendingPatterns.length===1&&r.type==="keydown"&&o.executeShortcutAction(o.pendingPatterns[0]),o.pendingPatterns.shift()))})}add(n,o,r,a){const u=this,f=u.normalizeCommandFunc(r);return TR(_R(Me.trim(n)),b=>{const y=u.createShortcut(b,o,f,a);u.shortcuts[y.id]=y}),!0}remove(n){const o=this.createShortcut(n);return this.shortcuts[o.id]?(delete this.shortcuts[o.id],!0):!1}normalizeCommandFunc(n){const o=this,r=n;return typeof r=="string"?()=>{o.editor.execCommand(r,!1,null)}:Me.isArray(r)?()=>{o.editor.execCommand(r[0],r[1],r[2])}:r}createShortcut(n,o,r,a){const u=Me.map(_R(n,">"),LZ);return u[u.length-1]=Me.extend(u[u.length-1],{func:r,scope:a||this.editor}),Me.extend(u[0],{desc:this.editor.translate(o),subpatterns:u.slice(1)})}hasModifier(n){return n.altKey||n.ctrlKey||n.metaKey}isFunctionKey(n){return n.type==="keydown"&&n.keyCode>=112&&n.keyCode<=123}matchShortcut(n,o){return!o||o.ctrl!==n.ctrlKey||o.meta!==n.metaKey||o.alt!==n.altKey||o.shift!==n.shiftKey?!1:n.keyCode===o.keyCode||n.charCode&&n.charCode===o.charCode?(n.preventDefault(),!0):!1}executeShortcutAction(n){return n.func?n.func.call(n.scope):null}}const HZ=()=>{const e={},n={},o={},r={},a={},u={},f={},b={},y=(O,A)=>(M,L)=>{O[M.toLowerCase()]={...L,type:A}},x=(O,A)=>r[O.toLowerCase()]=A;return{addButton:y(e,"button"),addGroupToolbarButton:y(e,"grouptoolbarbutton"),addToggleButton:y(e,"togglebutton"),addMenuButton:y(e,"menubutton"),addSplitButton:y(e,"splitbutton"),addMenuItem:y(n,"menuitem"),addNestedMenuItem:y(n,"nestedmenuitem"),addToggleMenuItem:y(n,"togglemenuitem"),addAutocompleter:y(o,"autocompleter"),addContextMenu:y(a,"contextmenu"),addContextToolbar:y(u,"contexttoolbar"),addContextForm:y(u,"contextform"),addSidebar:y(f,"sidebar"),addView:y(b,"views"),addIcon:x,getAll:()=>({buttons:e,menuItems:n,icons:r,popups:o,contextMenus:a,contextToolbars:u,sidebars:f,views:b})}},VZ=()=>{const e=HZ();return{addAutocompleter:e.addAutocompleter,addButton:e.addButton,addContextForm:e.addContextForm,addContextMenu:e.addContextMenu,addContextToolbar:e.addContextToolbar,addIcon:e.addIcon,addMenuButton:e.addMenuButton,addMenuItem:e.addMenuItem,addNestedMenuItem:e.addNestedMenuItem,addSidebar:e.addSidebar,addSplitButton:e.addSplitButton,addToggleButton:e.addToggleButton,addGroupToolbarButton:e.addGroupToolbarButton,addToggleMenuItem:e.addToggleMenuItem,addView:e.addView,getAll:e.getAll}},m0=Un.DOM,kF=Me.extend,zZ=Me.each;class OT{constructor(n,o,r){this.plugins={},this.contentCSS=[],this.contentStyles=[],this.loadedCSS={},this.isNotDirty=!1,this.composing=!1,this.destroyed=!1,this.hasHiddenInput=!1,this.iframeElement=null,this.initialized=!1,this.readonly=!1,this.removed=!1,this.startContent="",this._pendingNativeEvents=[],this._skinLoaded=!1,this._editableRoot=!0,this.editorManager=r,this.documentBaseUrl=r.documentBaseURL,kF(this,wF);const a=this;this.id=n,this.hidden=!1;const u=GW(r.defaultOptions,o);this.options=BZ(a,u),DS(a);const f=this.options.get;f("deprecation_warnings")&&Tj(o,u);const b=f("suffix");b&&(r.suffix=b),this.suffix=r.suffix;const y=f("base_url");y&&r._setBaseUrl(y),this.baseUri=r.baseURI;const x=Vt(a);x&&(qo.ScriptLoader._setReferrerPolicy(x),Un.DOM.styleSheetLoader._setReferrerPolicy(x));const O=yf(a);Se(O)&&Un.DOM.styleSheetLoader._setContentCssCors(O),ur.languageLoad=f("language_load"),ur.baseURL=r.baseURL,this.setDirty(!1),this.documentBaseURI=new Ti(Gv(a),{base_uri:this.baseUri}),this.baseURI=this.baseUri,this.inline=oy(a),this.hasVisual=X_(a),this.shortcuts=new _F(this),this.editorCommands=new SR(this),TT(this);const A=f("cache_suffix");A&&(Ze.cacheSuffix=A.replace(/^[\?\&]+/,"")),this.ui={registry:VZ(),styleSheetLoader:void 0,show:vt,hide:vt,setEnabled:vt,isEnabled:Ke},this.mode=IZ(a),r.dispatch("SetupEditor",{editor:this});const M=sy(a);Y(M)&&M.call(a,a)}render(){gR(this)}focus(n){this.execCommand("mceFocus",!1,n)}hasFocus(){return Wf(this)}translate(n){return Ma.translate(n)}getParam(n,o,r){const a=this.options;return a.isRegistered(n)||(Se(r)?a.register(n,{processor:r,default:o}):a.register(n,{processor:Ke,default:o})),!a.isSet(n)&&!ws(o)?o:a.get(n)}hasPlugin(n,o){return _t(Th(this),n)?o?gp.get(n)!==void 0:!0:!1}nodeChanged(n){this._nodeChangeDispatcher.nodeChanged(n)}addCommand(n,o,r){this.editorCommands.addCommand(n,o,r)}addQueryStateHandler(n,o,r){this.editorCommands.addQueryStateHandler(n,o,r)}addQueryValueHandler(n,o,r){this.editorCommands.addQueryValueHandler(n,o,r)}addShortcut(n,o,r,a){this.shortcuts.add(n,o,r,a)}execCommand(n,o,r,a){return this.editorCommands.execCommand(n,o,r,a)}queryCommandState(n){return this.editorCommands.queryCommandState(n)}queryCommandValue(n){return this.editorCommands.queryCommandValue(n)}queryCommandSupported(n){return this.editorCommands.queryCommandSupported(n)}show(){const n=this;n.hidden&&(n.hidden=!1,n.inline?n.getBody().contentEditable="true":(m0.show(n.getContainer()),m0.hide(n.id)),n.load(),n.dispatch("show"))}hide(){const n=this;n.hidden||(n.save(),n.inline?(n.getBody().contentEditable="false",n===n.editorManager.focusedEditor&&(n.editorManager.focusedEditor=null)):(m0.hide(n.getContainer()),m0.setStyle(n.id,"display",n.orgDisplay)),n.hidden=!0,n.dispatch("hide"))}isHidden(){return this.hidden}setProgressState(n,o){this.dispatch("ProgressState",{state:n,time:o})}load(n={}){const o=this,r=o.getElement();if(o.removed)return"";if(r){const a={...n,load:!0},u=o1(r)?r.value:r.innerHTML,f=o.setContent(u,a);return a.no_events||o.dispatch("LoadContent",{...a,element:r}),f}else return""}save(n={}){const o=this;let r=o.getElement();if(!r||!o.initialized||o.removed)return"";const a={...n,save:!0,element:r};let u=o.getContent(a);const f={...a,content:u};if(f.no_events||o.dispatch("SaveContent",f),f.format==="raw"&&o.dispatch("RawSaveContent",f),u=f.content,o1(r))r.value=u;else{(n.is_removing||!o.inline)&&(r.innerHTML=u);const b=m0.getParent(o.id,"form");b&&zZ(b.elements,y=>y.name===o.id?(y.value=u,!1):!0)}return f.element=a.element=r=null,f.set_dirty!==!1&&o.setDirty(!1),u}setContent(n,o){return X3(this,n,o)}getContent(n){return wN(this,n)}insertContent(n,o){o&&(n=kF({content:n},o)),this.execCommand("mceInsertContent",!1,n)}resetContent(n){n===void 0?X3(this,this.startContent,{format:"raw"}):X3(this,n),this.undoManager.reset(),this.setDirty(!1),this.nodeChanged()}isDirty(){return!this.isNotDirty}setDirty(n){const o=!this.isNotDirty;this.isNotDirty=!n,n&&n!==o&&this.dispatch("dirty")}getContainer(){const n=this;return n.container||(n.container=n.editorContainer||m0.get(n.id+"_parent")),n.container}getContentAreaContainer(){return this.contentAreaContainer}getElement(){return this.targetElm||(this.targetElm=m0.get(this.id)),this.targetElm}getWin(){const n=this;if(!n.contentWindow){const o=n.iframeElement;o&&(n.contentWindow=o.contentWindow)}return n.contentWindow}getDoc(){const n=this;if(!n.contentDocument){const o=n.getWin();o&&(n.contentDocument=o.document)}return n.contentDocument}getBody(){var n,o;const r=this.getDoc();return(o=(n=this.bodyElement)!==null&&n!==void 0?n:r==null?void 0:r.body)!==null&&o!==void 0?o:null}convertURL(n,o,r){const a=this,u=a.options.get,f=tk(a);if(Y(f))return f.call(a,n,r,!0,o);if(!u("convert_urls")||r==="link"||En(r)&&r.nodeName==="LINK"||n.indexOf("file:")===0||n.length===0)return n;const b=new Ti(n);return b.protocol!=="http"&&b.protocol!=="https"&&b.protocol!==""?n:u("relative_urls")?a.documentBaseURI.toRelative(n):(n=a.documentBaseURI.toAbsolute(n,u("remove_script_host")),n)}addVisual(n){qW(this,n)}setEditableRoot(n){ST(this,n)}hasEditableRoot(){return wT(this)}remove(){_L(this)}destroy(n){kL(this,n)}uploadImages(){return this.editorUpload.uploadImages()}_scanForImages(){return this.editorUpload.scanForImages()}}const f0=Un.DOM,AT=Me.each;let OF=!1,RT,Xc=[];const DT=e=>{const n=e.type;AT(Cg.get(),o=>{switch(n){case"scroll":o.dispatch("ScrollWindow",e);break;case"resize":o.dispatch("ResizeWindow",e);break}})},AF=e=>{if(e!==OF){const n=Un.DOM;e?(n.bind(window,"resize",DT),n.bind(window,"scroll",DT)):(n.unbind(window,"resize",DT),n.unbind(window,"scroll",DT)),OF=e}},RF=e=>{const n=Xc;return Xc=pt(Xc,o=>e!==o),Cg.activeEditor===e&&(Cg.activeEditor=Xc.length>0?Xc[0]:null),Cg.focusedEditor===e&&(Cg.focusedEditor=null),n.length!==Xc.length},UZ=e=>{e&&e.initialized&&!(e.getContainer()||e.getBody()).parentNode&&(RF(e),e.unbindAllNativeEvents(),e.destroy(!0),e.removed=!0)},WZ=document.compatMode!=="CSS1Compat",Cg={...ER,baseURI:null,baseURL:null,defaultOptions:{},documentBaseURL:null,suffix:null,majorVersion:"6",minorVersion:"8.6",releaseDate:"TBD",i18n:Ma,activeEditor:null,focusedEditor:null,setup(){const e=this;let n="",o="",r=Ti.getDocumentBaseUrl(document.location);/^[^:]+:\/\/\/?[^\/]+\//.test(r)&&(r=r.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(r)||(r+="/"));const a=window.tinymce||window.tinyMCEPreInit;if(a)n=a.base||a.baseURL,o=a.suffix;else{const u=document.getElementsByTagName("script");for(let f=0;f{ur.PluginManager.urls[u]=a})},init(e){const n=this;let o;const r=Me.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu"," "),a=(O,A)=>O.inline&&A.tagName.toLowerCase()in r,u=O=>{let A=O.id;return A||(A=Kn(O,"name").filter(M=>!f0.get(M)).getOrThunk(f0.uniqueId),O.setAttribute("id",A)),A},f=O=>{const A=e[O];if(A)return A.apply(n,[])},b=O=>Ze.browser.isIE()||Ze.browser.isEdge()?(B2("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers"),[]):WZ?(B2("Failed to initialize the editor as the document is not in standards mode. TinyMCE requires standards mode."),[]):q(O.selector)?f0.select(O.selector):Se(O.target)?[O.target]:[];let y=O=>{o=O};const x=()=>{let O=0;const A=[];let M;const L=(V,I,z)=>{const G=new OT(V,I,n);A.push(G),G.on("init",()=>{++O===M.length&&y(A)}),G.targetElm=G.targetElm||z,G.render()};f0.unbind(window,"ready",x),f("onpageload"),M=Vp(b(e)),Me.each(M,V=>{UZ(n.get(V.id))}),M=Me.grep(M,V=>!n.get(V.id)),M.length===0?y([]):AT(M,V=>{a(e,V)?B2("Could not initialize inline editor on invalid inline target element",V):L(u(V),e,V)})};return f0.bind(window,"ready",x),new Promise(O=>{o?O(o):y=A=>{O(A)}})},get(e){return arguments.length===0?Xc.slice(0):q(e)?Vo(Xc,n=>n.id===e).getOr(null):wc(e)&&Xc[e]?Xc[e]:null},add(e){const n=this,o=n.get(e.id);return o===e||(o===null&&Xc.push(e),AF(!0),n.activeEditor=e,n.dispatch("AddEditor",{editor:e}),RT||(RT=r=>{const a=n.dispatch("BeforeUnload");if(a.returnValue)return r.preventDefault(),r.returnValue=a.returnValue,a.returnValue},window.addEventListener("beforeunload",RT))),e},createEditor(e,n){return this.add(new OT(e,n,this))},remove(e){const n=this;let o;if(!e){for(let r=Xc.length-1;r>=0;r--)n.remove(Xc[r]);return}if(q(e)){AT(f0.select(e),r=>{o=n.get(r.id),o&&n.remove(o)});return}return o=e,Q(n.get(o.id))?null:(RF(o)&&n.dispatch("RemoveEditor",{editor:o}),Xc.length===0&&window.removeEventListener("beforeunload",RT),o.remove(),AF(Xc.length>0),o)},execCommand(e,n,o){var r;const a=this,u=En(o)?(r=o.id)!==null&&r!==void 0?r:o.index:o;switch(e){case"mceAddEditor":{if(!a.get(u)){const f=o.options;new OT(u,f,a).render()}return!0}case"mceRemoveEditor":{const f=a.get(u);return f&&f.remove(),!0}case"mceToggleEditor":{const f=a.get(u);return f?(f.isHidden()?f.show():f.hide(),!0):(a.execCommand("mceAddEditor",!1,o),!0)}}return a.activeEditor?a.activeEditor.execCommand(e,n,o):!1},triggerSave:()=>{AT(Xc,e=>{e.save()})},addI18n:(e,n)=>{Ma.add(e,n)},translate:e=>Ma.translate(e),setActive(e){const n=this.activeEditor;this.activeEditor!==e&&(n&&n.dispatch("deactivate",{relatedTarget:e}),e.dispatch("activate",{relatedTarget:n})),this.activeEditor=e},_setBaseUrl(e){this.baseURL=new Ti(this.documentBaseURL).toAbsolute(e.replace(/\/+$/,"")),this.baseURI=new Ti(this.baseURL)}};Cg.setup();const ZZ=(()=>{const e=Bu(),n=u=>({items:u,types:Cr(u),getType:f=>Kn(u,f).getOrUndefined()}),o=u=>{e.set(u)},r=()=>e.get().getOrUndefined(),a=e.clear;return{FakeClipboardItem:n,write:o,read:r,clear:a}})(),kR=Math.min,g0=Math.max,MT=Math.round,DF=(e,n,o)=>{let r=n.x,a=n.y;const u=e.w,f=e.h,b=n.w,y=n.h,x=(o||"").split("");return x[0]==="b"&&(a+=y),x[1]==="r"&&(r+=b),x[0]==="c"&&(a+=MT(y/2)),x[1]==="c"&&(r+=MT(b/2)),x[3]==="b"&&(a-=f),x[4]==="r"&&(r-=u),x[3]==="c"&&(a-=MT(f/2)),x[4]==="c"&&(r-=MT(u/2)),h0(r,a,u,f)},jZ=(e,n,o,r)=>{for(let a=0;a=o.x&&u.x+u.w<=o.w+o.x&&u.y>=o.y&&u.y+u.h<=o.h+o.y)return r[a]}return null},GZ=(e,n,o)=>h0(e.x-n,e.y-o,e.w+n*2,e.h+o*2),qZ=(e,n)=>{const o=g0(e.x,n.x),r=g0(e.y,n.y),a=kR(e.x+e.w,n.x+n.w),u=kR(e.y+e.h,n.y+n.h);return a-o<0||u-r<0?null:h0(o,r,a-o,u-r)},KZ=(e,n,o)=>{let r=e.x,a=e.y,u=e.x+e.w,f=e.y+e.h;const b=n.x+n.w,y=n.y+n.h,x=g0(0,n.x-r),O=g0(0,n.y-a),A=g0(0,u-b),M=g0(0,f-y);return r+=x,a+=O,o&&(u+=x,f+=O,r-=A,a-=M),u-=A,f-=M,h0(r,a,u-r,f-a)},h0=(e,n,o,r)=>({x:e,y:n,w:o,h:r}),XZ={inflate:GZ,relativePosition:DF,findBestRelativePosition:jZ,intersect:qZ,clamp:KZ,create:h0,fromClientRect:e=>h0(e.left,e.top,e.width,e.height)},JZ=(e,n,o=1e3)=>{let r=!1,a=null;const u=x=>(...O)=>{r||(r=!0,a!==null&&(clearTimeout(a),a=null),x.apply(null,O))},f=u(e),b=u(n);return{start:(...x)=>{!r&&a===null&&(a=setTimeout(()=>b.apply(null,x),o))},resolve:f,reject:b}},QZ=(()=>{const e={},n={},o={};return{load:(y,x)=>{const O=`Script at URL "${x}" failed to load`,A=`Script at URL "${x}" did not call \`tinymce.Resource.add('${y}', data)\` within 1 second`;if(e[y]!==void 0)return e[y];{const M=new Promise((L,V)=>{const I=JZ(L,V);n[y]=I.resolve,qo.ScriptLoader.loadScript(x).then(()=>I.start(A),()=>I.reject(O))});return e[y]=M,M}},add:(y,x)=>{n[y]!==void 0&&(n[y](x),delete n[y]),e[y]=Promise.resolve(x),o[y]=x},has:y=>y in o,get:y=>o[y],unload:y=>{delete e[y]}}})(),ej=()=>(()=>{let e={},n=[];const o={getItem:r=>{const a=e[r];return a||null},setItem:(r,a)=>{n.push(r),e[r]=String(a)},key:r=>n[r],removeItem:r=>{n=n.filter(a=>a===r),delete e[r]},clear:()=>{n=[],e={}},length:0};return Object.defineProperty(o,"length",{get:()=>n.length,configurable:!1,enumerable:!1}),o})();let vC;try{const e="__storage_test__";vC=window.localStorage,vC.setItem(e,e),vC.removeItem(e)}catch{vC=ej()}var tj=vC;const nj={geom:{Rect:XZ},util:{Delay:Fa,Tools:Me,VK:Ye,URI:Ti,EventDispatcher:Yo,Observable:ER,I18n:Ma,LocalStorage:tj,ImageUploader:ZL},dom:{EventUtils:fc,TreeWalker:zn,TextSeeker:Nu,DOMUtils:Un,ScriptLoader:qo,RangeUtils:$,Serializer:CN,StyleSheetLoader:gv,ControlSelection:sD,BookmarkManager:nm,Selection:og,Event:fc.Event},html:{Styles:b1,Entities:Hd,Node:zr,Schema:$l,DomParser:ul,Writer:AD,Serializer:Zf},Env:Ze,AddOnManager:ur,Annotator:Py,Formatter:rO,UndoManager:cO,EditorCommands:SR,WindowManager:RN,NotificationManager:eO,EditorObservable:wF,Shortcuts:_F,Editor:OT,FocusManager:lD,EditorManager:Cg,DOM:Un.DOM,ScriptLoader:qo.ScriptLoader,PluginManager:gp,ThemeManager:pm,ModelManager:ki,IconManager:R2,Resource:QZ,FakeClipboard:ZZ,trim:Me.trim,isArray:Me.isArray,is:Me.is,toArray:Me.toArray,makeMap:Me.makeMap,each:Me.each,map:Me.map,grep:Me.grep,inArray:Me.inArray,extend:Me.extend,walk:Me.walk,resolve:Me.resolve,explode:Me.explode,_addCacheSuffix:Me._addCacheSuffix},OR=Me.extend(Cg,nj),lG=e=>{try{UT.exports=e}catch{}};(e=>{window.tinymce=e,window.tinyMCE=e})(OR),lG(OR)})()})(JG);tinymce.IconManager.add("default",{icons:{"accessibility-check":'',"accordion-toggle":'',accordion:'',"action-next":'',"action-prev":'',addtag:'',"ai-prompt":'',ai:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"arrow-left":'',"arrow-right":'',bold:'',bookmark:'',"border-style":'',"border-width":'',brightness:'',browse:'',cancel:'',"cell-background-color":'',"cell-border-color":'',"change-case":'',"character-count":'',"checklist-rtl":'',checklist:'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',close:'',"code-sample":'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',"comment-add":'',comment:'',contrast:'',copy:'',crop:'',"cut-column":'',"cut-row":'',cut:'',"document-properties":'',drag:'',"duplicate-column":'',"duplicate-row":'',duplicate:'',"edit-block":'',"edit-image":'',"embed-page":'',embed:'',emoji:'',export:'',fill:'',"flip-horizontally":'',"flip-vertically":'',footnote:'',"format-painter":'',format:'',fullscreen:'',gallery:'',gamma:'',help:'',"highlight-bg-color":'',home:'',"horizontal-rule":'',"image-options":'',image:'',indent:'',info:'',"insert-character":'',"insert-time":'',invert:'',italic:'',language:'',"line-height":'',line:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-square":'',"list-num-default-rtl":'',"list-num-default":'',"list-num-lower-alpha-rtl":'',"list-num-lower-alpha":'',"list-num-lower-greek-rtl":'',"list-num-lower-greek":'',"list-num-lower-roman-rtl":'',"list-num-lower-roman":'',"list-num-upper-alpha-rtl":'',"list-num-upper-alpha":'',"list-num-upper-roman-rtl":'',"list-num-upper-roman":'',lock:'',ltr:'',minus:'',"more-drawer":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',"ordered-list-rtl":'',"ordered-list":'',orientation:'',outdent:'',"page-break":'',paragraph:'',"paste-column-after":'',"paste-column-before":'',"paste-row-after":'',"paste-row-before":'',"paste-text":'',paste:'',"permanent-pen":'',plus:'',preferences:'',preview:'',print:'',quote:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"rotate-left":'',"rotate-right":'',rtl:'',save:'',search:'',"select-all":'',selected:'',send:'',settings:'',sharpen:'',sourcecode:'',"spell-check":'',"strike-through":'',subscript:'',superscript:'',"table-caption":'',"table-cell-classes":'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-classes":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-numbering-rtl":'',"table-row-numbering":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',"template-add":'',template:'',"temporary-placeholder":'',"text-color":'',"text-size-decrease":'',"text-size-increase":'',toc:'',translate:'',typography:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unselected:'',upload:'',user:'',"vertical-align":'',visualblocks:'',visualchars:'',warning:'',"zoom-in":'',"zoom-out":''}});(function(){const UT=Object.getPrototypeOf,E0=(t,s,c)=>{var i;return c(t,s.prototype)?!0:((i=t.constructor)===null||i===void 0?void 0:i.name)===s.name},WT=t=>{const s=typeof t;return t===null?"null":s==="object"&&Array.isArray(t)?"array":s==="object"&&E0(t,String,(c,i)=>i.isPrototypeOf(c))?"string":s},Ag=t=>s=>WT(s)===t,Rg=t=>s=>typeof s===t,gd=t=>s=>t===s,Dg=(t,s)=>pa(t)&&E0(t,s,(c,i)=>UT(c)===i),hn=Ag("string"),pa=Ag("object"),xC=t=>Dg(t,Object),Di=Ag("array"),lu=gd(null),Sl=Rg("boolean"),Kr=gd(void 0),Mi=t=>t==null,sr=t=>!Mi(t),gt=Rg("function"),Ga=Rg("number"),uu=(t,s)=>{if(Di(t)){for(let c=0,i=t.length;c{},En=t=>()=>t(),Ip=(t,s)=>(...c)=>t(s.apply(null,c)),An=(t,s)=>c=>t(s(c)),Q=t=>()=>t,sn=t=>t,ws=(t,s)=>t===s;function an(t,...s){return(...c)=>{const i=s.concat(c);return t.apply(null,i)}}const Se=t=>s=>!t(s),Y=t=>()=>{throw new Error(t)},wc=t=>t(),Rn=Q(!1),vt=Q(!0);class _{constructor(s,c){this.tag=s,this.value=c}static some(s){return new _(!0,s)}static none(){return _.singletonNone}fold(s,c){return this.tag?c(this.value):s()}isSome(){return this.tag}isNone(){return!this.tag}map(s){return this.tag?_.some(s(this.value)):_.none()}bind(s){return this.tag?s(this.value):_.none()}exists(s){return this.tag&&s(this.value)}forall(s){return!this.tag||s(this.value)}filter(s){return!this.tag||s(this.value)?this:_.none()}getOr(s){return this.tag?this.value:s}or(s){return this.tag?this:s}getOrThunk(s){return this.tag?this.value:s()}orThunk(s){return this.tag?this:s()}getOrDie(s){if(this.tag)return this.value;throw new Error(s??"Called getOrDie on None")}static from(s){return sr(s)?_.some(s):_.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(s){this.tag&&s(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}_.singletonNone=new _(!1);const Lo=Array.prototype.slice,Fe=Array.prototype.indexOf,Co=Array.prototype.push,Rt=(t,s)=>Fe.call(t,s),_e=(t,s)=>{const c=Rt(t,s);return c===-1?_.none():_.some(c)},So=(t,s)=>Rt(t,s)>-1,xc=(t,s)=>{for(let c=0,i=t.length;c{const c=[];for(let i=0;i{const c=[];for(let i=0;i{const c=t.length,i=new Array(c);for(let d=0;d{for(let c=0,i=t.length;c{for(let c=t.length-1;c>=0;c--){const i=t[c];s(i,c)}},wm=(t,s)=>{const c=[],i=[];for(let d=0,g=t.length;d{const c=[];for(let i=0,d=t.length;i(N(t,(i,d)=>{c=s(c,i,d)}),c),eo=(t,s,c)=>(Ke(t,(i,d)=>{c=s(c,i,d)}),c),ZT=(t,s,c)=>{for(let i=0,d=t.length;iZT(t,s,Rn),to=(t,s)=>{for(let c=0,i=t.length;c{const s=[];for(let c=0,i=t.length;cDt(Ee(t,s)),du=(t,s)=>{for(let c=0,i=t.length;c{const s=Lo.call(t,0);return s.reverse(),s},pt=(t,s)=>qn(t,c=>!So(s,c)),hd=(t,s)=>{const c={};for(let i=0,d=t.length;i[t],Fp=(t,s)=>{const c=Lo.call(t,0);return c.sort(s),c},Vo=(t,s)=>s>=0&&sVo(t,0),Lp=t=>Vo(t,t.length-1),ba=gt(Array.from)?Array.from:t=>Lo.call(t),Bs=(t,s)=>{for(let c=0;c{const c=ho(t);for(let i=0,d=c.length;iMg(t,(c,i)=>({k:i,v:s(c,i)})),Mg=(t,s)=>{const c={};return ms(t,(i,d)=>{const g=s(i,d);c[g.k]=g.v}),c},yr=t=>(s,c)=>{t[c]=s},mu=(t,s,c,i)=>{ms(t,(d,g)=>{(s(d,g)?c:i)(d,g)})},Xr=(t,s)=>{const c={},i={};return mu(t,s,yr(c),yr(i)),{t:c,f:i}},pd=(t,s)=>{const c={};return mu(t,s,yr(c),q),c},Vp=(t,s)=>{const c=[];return ms(t,(i,d)=>{c.push(s(i,d))}),c},Cr=(t,s)=>{const c=ho(t);for(let i=0,d=c.length;iVp(t,sn),We=(t,s)=>wn(t,s)?_.from(t[s]):_.none(),wn=(t,s)=>Hp.call(t,s),ta=(t,s)=>wn(t,s)&&t[s]!==void 0&&t[s]!==null,Ec=(t,s,c=ws)=>t.exists(i=>c(i,s)),zp=(t,s,c=ws)=>fu(t,s,c).getOr(t.isNone()&&s.isNone()),bd=t=>{const s=[],c=i=>{s.push(i)};for(let i=0;i{const s=[];for(let c=0;ct.isSome()&&s.isSome()?_.some(c(t.getOrDie(),s.getOrDie())):_.none(),xm=(t,s,c,i)=>t.isSome()&&s.isSome()&&c.isSome()?_.some(i(t.getOrDie(),s.getOrDie(),c.getOrDie())):_.none(),Kn=(t,s)=>t!=null?_.some(s(t)):_.none(),Et=(t,s)=>t?_.some(s):_.none(),Jr=(t,s)=>t+s,vd=(t,s)=>t.substring(s),Up=(t,s,c)=>s===""||t.length>=s.length&&t.substr(c,c+s.length)===s,_0=(t,s)=>es(t,s)?vd(t,s.length):t,Qr=(t,s)=>Bi(t,s)?t:Jr(t,s),cr=(t,s,c=0,i)=>{const d=t.indexOf(s,c);return d!==-1?Kr(i)?!0:d+s.length<=i:!1},es=(t,s)=>Up(t,s,0),Bi=(t,s)=>Up(t,s,t.length-s.length),wl=(t=>s=>s.replace(t,""))(/^\s+|\s+$/g),Tc=t=>t.length>0,Bo=t=>!Tc(t),va=t=>t.style!==void 0&>(t.style.getPropertyValue),yd=(t,s)=>{const i=(s||document).createElement("div");if(i.innerHTML=t,!i.hasChildNodes()||i.childNodes.length>1){const d="HTML does not have a single root node";throw console.error(d,t),new Error(d)}return xl(i.childNodes[0])},jT=(t,s)=>{const i=(s||document).createElement(t);return xl(i)},GT=(t,s)=>{const i=(s||document).createTextNode(t);return xl(i)},xl=t=>{if(t==null)throw new Error("Node cannot be null or undefined");return{dom:t}},ee={fromHtml:yd,fromTag:jT,fromText:GT,fromDom:xl,fromPoint:(t,s,c)=>_.from(t.dom.elementFromPoint(s,c)).map(xl)},ec=typeof window<"u"?window:Function("return this;")(),Em=(t,s)=>{let c=s??ec;for(let i=0;i{const c=t.split(".");return Em(c,s)},k0=(t,s)=>EC(t,s),no=(t,s)=>{const c=k0(t,s);if(c==null)throw new Error(t+" not available on this browser");return c},O0=Object.getPrototypeOf,qT=t=>no("HTMLElement",t),Bg=t=>{const s=EC("ownerDocument.defaultView",t);return pa(t)&&(qT(s).prototype.isPrototypeOf(t)||/^HTML\w*Element$/.test(O0(t).constructor.name))},Tm=9,Zs=11,fs=1,El=3,ya=t=>t.dom.nodeName.toLowerCase(),Cd=t=>t.dom.nodeType,Ng=t=>s=>Cd(s)===t,_m=t=>Hn(t)&&Bg(t.dom),Hn=Ng(fs),_c=Ng(El),KT=Ng(Tm),Sd=Ng(Zs),gu=t=>s=>Hn(s)&&ya(s)===t,na=(t,s)=>{const c=t.dom;if(c.nodeType!==fs)return!1;{const i=c;if(i.matches!==void 0)return i.matches(s);if(i.msMatchesSelector!==void 0)return i.msMatchesSelector(s);if(i.webkitMatchesSelector!==void 0)return i.webkitMatchesSelector(s);if(i.mozMatchesSelector!==void 0)return i.mozMatchesSelector(s);throw new Error("Browser lacks native selectors")}},No=t=>t.nodeType!==fs&&t.nodeType!==Tm&&t.nodeType!==Zs||t.childElementCount===0,YT=(t,s)=>{const c=s===void 0?document:s.dom;return No(c)?[]:Ee(c.querySelectorAll(t),ee.fromDom)},TC=(t,s)=>{const c=s===void 0?document:s.dom;return No(c)?_.none():_.from(c.querySelector(t)).map(ee.fromDom)},$n=(t,s)=>t.dom===s.dom,oa=(t,s)=>{const c=t.dom,i=s.dom;return c===i?!1:c.contains(i)},kc=t=>ee.fromDom(t.dom.ownerDocument),js=t=>KT(t)?t:kc(t),Zp=t=>ee.fromDom(js(t).dom.documentElement),wd=t=>ee.fromDom(js(t).dom.defaultView),Ca=t=>_.from(t.dom.parentNode).map(ee.fromDom),xd=t=>Ca(t),qa=t=>_.from(t.dom.parentElement).map(ee.fromDom),_C=(t,s)=>{const c=gt(s)?s:Rn;let i=t.dom;const d=[];for(;i.parentNode!==null&&i.parentNode!==void 0;){const g=i.parentNode,p=ee.fromDom(g);if(d.push(p),c(p)===!0)break;i=g}return d},A0=t=>_.from(t.dom.offsetParent).map(ee.fromDom),kC=t=>_.from(t.dom.nextSibling).map(ee.fromDom),Ka=t=>Ee(t.dom.childNodes,ee.fromDom),hu=(t,s)=>{const c=t.dom.childNodes;return _.from(c[s]).map(ee.fromDom)},jp=t=>hu(t,0),Gp=(t,s)=>({element:t,offset:s}),R0=(t,s)=>{const c=Ka(t);return c.length>0&&sSd(t)&&sr(t.dom.host),Pg=gt(Element.prototype.attachShadow)&>(Node.prototype.getRootNode),OC=Q(Pg),ro=Pg?t=>ee.fromDom(t.dom.getRootNode()):js,Sa=t=>D0(t)?t:ee.fromDom(js(t).dom.body),XT=t=>M0(t).isSome(),M0=t=>{const s=ro(t);return D0(s)?_.some(s):_.none()},Ya=t=>ee.fromDom(t.dom.host),JT=t=>{if(OC()&&sr(t.target)){const s=ee.fromDom(t.target);if(Hn(s)&&qp(s)&&t.composed&&t.composedPath){const c=t.composedPath();if(c)return Yr(c)}}return _.from(t.target)},qp=t=>sr(t.dom.shadowRoot),xs=t=>{const s=_c(t)?t.dom.parentNode:t.dom;if(s==null||s.ownerDocument===null)return!1;const c=s.ownerDocument;return M0(ee.fromDom(s)).fold(()=>c.body.contains(s),An(xs,Ya))},Gs=()=>Ed(ee.fromDom(document)),Ed=t=>{const s=t.dom.body;if(s==null)throw new Error("Body is not available yet");return ee.fromDom(s)},AC=(t,s,c)=>{if(hn(c)||Sl(c)||Ga(c))t.setAttribute(s,c+"");else throw console.error("Invalid call to Attribute.set. Key ",s,":: Value ",c,":: Element ",t),new Error("Attribute value was not simple")},Ze=(t,s,c)=>{AC(t.dom,s,c)},$g=(t,s)=>{const c=t.dom;ms(s,(i,d)=>{AC(c,d,i)})},xo=(t,s)=>{const c=t.dom.getAttribute(s);return c===null?void 0:c},Sr=(t,s)=>_.from(xo(t,s)),B0=(t,s)=>{const c=t.dom;return c&&c.hasAttribute?c.hasAttribute(s):!1},Po=(t,s)=>{t.dom.removeAttribute(s)},QT=t=>eo(t.dom.attributes,(s,c)=>(s[c.name]=c.value,s),{}),Ig=(t,s,c)=>{if(!hn(c))throw console.error("Invalid call to CSS.set. Property ",s,":: Value ",c,":: Element ",t),new Error("CSS value must be a string: "+c);va(t)&&t.style.setProperty(s,c)},Fg=(t,s)=>{va(t)&&t.style.removeProperty(s)},Bt=(t,s,c)=>{const i=t.dom;Ig(i,s,c)},tc=(t,s)=>{const c=t.dom;ms(s,(i,d)=>{Ig(c,d,i)})},Me=(t,s)=>{const c=t.dom;ms(s,(i,d)=>{i.fold(()=>{Fg(c,d)},g=>{Ig(c,d,g)})})},Eo=(t,s)=>{const c=t.dom,d=window.getComputedStyle(c).getPropertyValue(s);return d===""&&!xs(t)?Lg(c,s):d},Lg=(t,s)=>va(t)?t.style.getPropertyValue(s):"",Ns=(t,s)=>{const c=t.dom,i=Lg(c,s);return _.from(i).filter(d=>d.length>0)},qs=t=>{const s={},c=t.dom;if(va(c))for(let i=0;i{const i=ee.fromTag(t);return Bt(i,s,c),Ns(i,s).isSome()},ln=(t,s)=>{const c=t.dom;Fg(c,s),Ec(Sr(t,"style").map(wl),"")&&Po(t,"style")},Tl=t=>t.dom.offsetWidth,Ps=(t,s)=>{const c=(C,S)=>{if(!Ga(S)&&!S.match(/^[0-9]+$/))throw new Error(t+".set accepts only positive integer values. Value was "+S);const E=C.dom;va(E)&&(E.style[t]=S+"px")},i=C=>{const S=s(C);if(S<=0||S===null){const E=Eo(C,t);return parseFloat(E)||0}return S},d=i,g=(C,S)=>eo(S,(E,k)=>{const R=Eo(C,k),B=R===void 0?0:parseInt(R,10);return isNaN(B)?E:E+B},0);return{set:c,get:i,getOuter:d,aggregate:g,max:(C,S,E)=>{const k=g(C,E);return S>k?S-k:0}}},km=Ps("height",t=>{const s=t.dom;return xs(t)?s.getBoundingClientRect().height:s.offsetHeight}),ts=t=>km.get(t),bu=t=>km.getOuter(t),N0=(t,s)=>{const c=["margin-top","border-top-width","padding-top","padding-bottom","border-bottom-width","margin-bottom"],i=km.max(t,s,c);Bt(t,"max-height",i+"px")},P0=(t,s)=>({left:t,top:s,translate:(i,d)=>P0(t+i,s+d)}),pn=P0,$0=t=>{const s=t.getBoundingClientRect();return pn(s.left,s.top)},vu=(t,s)=>t!==void 0?t:s!==void 0?s:0,wa=t=>{const s=t.dom.ownerDocument,c=s.body,i=s.defaultView,d=s.documentElement;if(c===t.dom)return pn(c.offsetLeft,c.offsetTop);const g=vu(i==null?void 0:i.pageYOffset,d.scrollTop),p=vu(i==null?void 0:i.pageXOffset,d.scrollLeft),C=vu(d.clientTop,c.clientTop),S=vu(d.clientLeft,c.clientLeft);return Td(t).translate(p-S,g-C)},Td=t=>{const s=t.dom,i=s.ownerDocument.body;return i===s?pn(i.offsetLeft,i.offsetTop):xs(t)?$0(s):pn(0,0)},Hg=Ps("width",t=>t.dom.offsetWidth),un=(t,s)=>Hg.set(t,s),gs=t=>Hg.get(t),Xa=t=>Hg.getOuter(t),e_=(t,s)=>{const c=["margin-left","border-left-width","padding-left","padding-right","border-right-width","margin-right"],i=Hg.max(t,s,c);Bt(t,"max-width",i+"px")},mo=t=>{let s=!1,c;return(...i)=>(s||(s=!0,c=t.apply(null,i)),c)},ar=(t,s,c,i)=>{const d=t.isiOS()&&/ipad/i.test(c)===!0,g=t.isiOS()&&!d,p=t.isiOS()||t.isAndroid(),C=p||i("(pointer:coarse)"),S=d||!g&&p&&i("(min-device-width:768px)"),E=g||p&&!S,k=s.isSafari()&&t.isiOS()&&/safari/i.test(c)===!1,R=!E&&!S&&!k;return{isiPad:Q(d),isiPhone:Q(g),isTablet:Q(S),isPhone:Q(E),isTouch:Q(C),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:Q(k),isDesktop:Q(R)}},Ks=(t,s)=>{for(let c=0;c{const c=Ks(t,s);if(!c)return{major:0,minor:0};const i=d=>Number(s.replace(c,"$"+d));return Kp(i(1),i(2))},I0=(t,s)=>{const c=String(s).toLowerCase();return t.length===0?xa():RC(t,c)},xa=()=>Kp(0,0),Kp=(t,s)=>({major:t,minor:s}),Yn={nu:Kp,detect:I0,unknown:xa},Ja=(t,s)=>Bs(s.brands,c=>{const i=c.brand.toLowerCase();return _t(t,d=>{var g;return i===((g=d.brand)===null||g===void 0?void 0:g.toLowerCase())}).map(d=>({current:d.name,version:Yn.nu(parseInt(c.version,10),0)}))}),wr=(t,s)=>{const c=String(s).toLowerCase();return _t(t,i=>i.search(c))},Ni=(t,s)=>wr(t,s).map(c=>{const i=Yn.detect(c.versionRegexes,s);return{current:c.name,version:i}}),yu=(t,s)=>wr(t,s).map(c=>{const i=Yn.detect(c.versionRegexes,s);return{current:c.name,version:i}}),$o=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Qa=t=>s=>cr(s,t),Vg=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:t=>cr(t,"edge/")&&cr(t,"chrome")&&cr(t,"safari")&&cr(t,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,$o],search:t=>cr(t,"chrome")&&!cr(t,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:t=>cr(t,"msie")||cr(t,"trident")},{name:"Opera",versionRegexes:[$o,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Qa("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Qa("firefox")},{name:"Safari",versionRegexes:[$o,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:t=>(cr(t,"safari")||cr(t,"mobile/"))&&cr(t,"applewebkit")}],zg=[{name:"Windows",search:Qa("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:t=>cr(t,"iphone")||cr(t,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Qa("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:Qa("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Qa("linux"),versionRegexes:[]},{name:"Solaris",search:Qa("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Qa("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:Qa("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],DC={browsers:Q(Vg),oses:Q(zg)},F0="Edge",ei="Chromium",Ug="IE",Mr="Opera",Yp="Firefox",L0="Safari",_d=()=>H0({current:void 0,version:Yn.unknown()}),H0=t=>{const s=t.current,c=t.version,i=d=>()=>s===d;return{current:s,version:c,isEdge:i(F0),isChromium:i(ei),isIE:i(Ug),isOpera:i(Mr),isFirefox:i(Yp),isSafari:i(L0)}},kd={unknown:_d,nu:H0,edge:Q(F0),chromium:Q(ei),ie:Q(Ug),opera:Q(Mr),firefox:Q(Yp),safari:Q(L0)},MC="Windows",Cu="iOS",BC="Android",NC="Linux",PC="macOS",Om="Solaris",$C="FreeBSD",U="ChromeOS",Am=()=>Ea({current:void 0,version:Yn.unknown()}),Ea=t=>{const s=t.current,c=t.version,i=d=>()=>s===d;return{current:s,version:c,isWindows:i(MC),isiOS:i(Cu),isAndroid:i(BC),isMacOS:i(PC),isLinux:i(NC),isSolaris:i(Om),isFreeBSD:i($C),isChromeOS:i(U)}},Xp={unknown:Am,nu:Ea,windows:Q(MC),ios:Q(Cu),android:Q(BC),linux:Q(NC),macos:Q(PC),solaris:Q(Om),freebsd:Q($C),chromeos:Q(U)},t_={detect:(t,s,c)=>{const i=DC.browsers(),d=DC.oses(),g=s.bind(S=>Ja(i,S)).orThunk(()=>Ni(i,t)).fold(kd.unknown,kd.nu),p=yu(d,t).fold(Xp.unknown,Xp.nu),C=ar(p,g,t,c);return{browser:g,os:p,deviceType:C}}},bn=t=>window.matchMedia(t).matches;let xr=mo(()=>t_.detect(navigator.userAgent,_.from(navigator.userAgentData),bn));const Pi=()=>xr(),_l=(t,s,c,i,d,g,p)=>({target:t,x:s,y:c,stop:i,prevent:d,kill:g,raw:p}),V0=t=>{const s=ee.fromDom(JT(t).getOr(t.target)),c=()=>t.stopPropagation(),i=()=>t.preventDefault(),d=Ip(i,c);return _l(s,t.clientX,t.clientY,c,i,d,t)},Rm=(t,s)=>c=>{t(c)&&s(V0(c))},Oc=(t,s,c,i,d)=>{const g=Rm(c,i);return t.dom.addEventListener(s,g,d),{unbind:an(IC,t,s,g,d)}},Wg=(t,s,c,i)=>Oc(t,s,c,i,!1),z0=(t,s,c,i)=>Oc(t,s,c,i,!0),IC=(t,s,c,i)=>{t.dom.removeEventListener(s,c,i)},Ta=(t,s)=>{Ca(t).each(i=>{i.dom.insertBefore(s.dom,t.dom)})},Zg=(t,s)=>{kC(t).fold(()=>{Ca(t).each(d=>{Ac(d,s)})},i=>{Ta(i,s)})},U0=(t,s)=>{jp(t).fold(()=>{Ac(t,s)},i=>{t.dom.insertBefore(s.dom,i.dom)})},Ac=(t,s)=>{t.dom.appendChild(s.dom)},Es=(t,s,c)=>{hu(t,c).fold(()=>{Ac(t,s)},i=>{Ta(i,s)})},Su=(t,s)=>{Ke(s,c=>{Ac(t,c)})},Dm=t=>{t.dom.textContent="",Ke(Ka(t),s=>{_a(s)})},_a=t=>{const s=t.dom;s.parentNode!==null&&s.parentNode.removeChild(s)},nc=t=>{const s=t!==void 0?t.dom:document,c=s.body.scrollLeft||s.documentElement.scrollLeft,i=s.body.scrollTop||s.documentElement.scrollTop;return pn(c,i)},W0=(t,s,c)=>{const d=(c!==void 0?c.dom:document).defaultView;d&&d.scrollTo(t,s)},FC=t=>{const s=t===void 0?window:t;return Pi().browser.isFirefox()?_.none():_.from(s.visualViewport)},jg=(t,s,c,i)=>({x:t,y:s,width:c,height:i,right:t+c,bottom:s+i}),Z0=t=>{const s=t===void 0?window:t,c=s.document,i=nc(ee.fromDom(c));return FC(s).fold(()=>{const d=s.document.documentElement,g=d.clientWidth,p=d.clientHeight;return jg(i.left,i.top,g,p)},d=>jg(Math.max(d.pageLeft,i.left),Math.max(d.pageTop,i.top),d.width,d.height))},Jp=()=>ee.fromDom(document),$i=(t,s)=>t.view(s).fold(Q([]),i=>{const d=t.owner(i),g=$i(t,d);return[i].concat(g)}),LC=(t,s)=>{const c=s.owner(t),i=$i(s,c);return _.some(i)};var n_=Object.freeze({__proto__:null,view:t=>{var s;return(t.dom===document?_.none():_.from((s=t.dom.defaultView)===null||s===void 0?void 0:s.frameElement)).map(ee.fromDom)},owner:t=>kc(t)});const Gg=t=>{const s=Jp(),c=nc(s);return LC(t,n_).fold(an(wa,t),d=>{const g=Td(t),p=Qo(d,(C,S)=>{const E=Td(S);return{left:C.left+E.left,top:C.top+E.top}},{left:0,top:0});return pn(p.left+g.left+c.left,p.top+g.top+c.top)})},HC=(t,s,c)=>({point:t,width:s,height:c}),Mm=(t,s,c,i)=>({x:t,y:s,width:c,height:i}),bo=(t,s,c,i)=>({x:t,y:s,width:c,height:i,right:t+c,bottom:s+i}),To=t=>{const s=wa(t),c=Xa(t),i=bu(t);return bo(s.left,s.top,c,i)},sa=t=>{const s=Gg(t),c=Xa(t),i=bu(t);return bo(s.left,s.top,c,i)},j0=(t,s)=>{const c=Math.max(t.x,s.x),i=Math.max(t.y,s.y),d=Math.min(t.right,s.right),g=Math.min(t.bottom,s.bottom),p=d-c,C=g-i;return bo(c,i,p,C)},o_=(t,s)=>eo(s,(c,i)=>j0(c,i),t),ir=()=>Z0(window);var Bm=tinymce.util.Tools.resolve("tinymce.ThemeManager");const Rc=t=>{const s=g=>g(t),c=Q(t),i=()=>d,d={tag:!0,inner:t,fold:(g,p)=>p(t),isValue:vt,isError:Rn,map:g=>$t.value(g(t)),mapError:i,bind:s,exists:s,forall:s,getOr:c,or:i,getOrThunk:c,orThunk:i,getOrDie:c,each:g=>{g(t)},toOptional:()=>_.some(t)};return d},Ii=t=>{const s=()=>c,c={tag:!1,inner:t,fold:(i,d)=>i(t),isValue:Rn,isError:vt,map:s,mapError:i=>$t.error(i(t)),bind:s,exists:Rn,forall:vt,getOr:sn,or:sn,getOrThunk:wc,orThunk:wc,getOrDie:Y(String(t)),each:q,toOptional:_.none};return c},$t={value:Rc,error:Ii,fromOption:(t,s)=>t.fold(()=>Ii(s),Rc)};var oc;(function(t){t[t.Error=0]="Error",t[t.Value=1]="Value"})(oc||(oc={}));const wu=(t,s,c)=>t.stype===oc.Error?s(t.serror):c(t.svalue),Nm=t=>{const s=[],c=[];return Ke(t,i=>{wu(i,d=>c.push(d),d=>s.push(d))}),{values:s,errors:c}},zC=(t,s)=>t.stype===oc.Error?{stype:oc.Error,serror:s(t.serror)}:t,UC=(t,s)=>t.stype===oc.Value?{stype:oc.Value,svalue:s(t.svalue)}:t,sc=(t,s)=>t.stype===oc.Value?s(t.svalue):t,ns=(t,s)=>t.stype===oc.Error?s(t.serror):t,Dc=t=>({stype:oc.Value,svalue:t}),os=t=>({stype:oc.Error,serror:t}),zo={fromResult:t=>t.fold(os,Dc),toResult:t=>wu(t,$t.error,$t.value),svalue:Dc,partition:Nm,serror:os,bind:sc,bindError:ns,map:UC,mapError:zC,fold:wu},hs=(t,s,c,i)=>({tag:"field",key:t,newKey:s,presence:c,prop:i}),ti=(t,s)=>({tag:"custom",newKey:t,instantiator:s}),qg=(t,s,c)=>{switch(t.tag){case"field":return s(t.key,t.newKey,t.presence,t.prop);case"custom":return c(t.newKey,t.instantiator)}},Zo=(t,s)=>s,q0=(t,s)=>xC(t)&&xC(s)?Vn(t,s):s,WC=t=>(...s)=>{if(s.length===0)throw new Error("Can't merge zero objects");const c={};for(let i=0;i({tag:"required",process:{}}),ni=t=>({tag:"defaultedThunk",process:t}),K0=t=>ni(Q(t)),e1=()=>({tag:"option",process:{}}),Wt=t=>({tag:"mergeWithThunk",process:t}),$m=t=>Wt(Q(t)),ZC=(t,s)=>t.length>0?zo.svalue(Vn(s,Pm.apply(void 0,t))):zo.svalue(s),Y0=t=>Ip(zo.serror,Dt)(t),jC={consolidateObj:(t,s)=>{const c=zo.partition(t);return c.errors.length>0?Y0(c.errors):ZC(c.values,s)},consolidateArr:t=>{const s=zo.partition(t);return s.errors.length>0?Y0(s.errors):zo.svalue(s.values)}},t1=t=>pa(t)&&ho(t).length>100?" removed due to size":JSON.stringify(t,null,2),X0=t=>{const s=t.length>10?t.slice(0,10).concat([{path:[],getErrorInfo:Q("... (only showing first ten failures)")}]):t;return Ee(s,c=>"Failed path: ("+c.path.join(" > ")+`) -`+c.getErrorInfo())},Od=(t,s)=>zo.serror([{path:t,getErrorInfo:s}]),Im=(t,s,c)=>Od(t,()=>'Could not find valid *required* value for "'+s+'" in '+t1(c)),GC=(t,s)=>Od(t,()=>'Choice schema did not contain choice key: "'+s+'"'),ka=(t,s,c)=>Od(t,()=>'The chosen schema: "'+c+'" did not exist in branches: '+t1(s)),r_=(t,s)=>Od(t,()=>"There are unsupported fields: ["+s.join(", ")+"] specified"),Fm=(t,s)=>Od(t,Q(s)),Oa=t=>{const s=(i,d)=>zo.bindError(t(d),g=>Fm(i,g)),c=Q("val");return{extract:s,toString:c}},J0=Oa(zo.svalue),Q0=(t,s,c,i)=>We(s,c).fold(()=>Im(t,c,s),i),ev=(t,s,c,i)=>{const d=We(t,s).getOrThunk(()=>c(t));return i(d)},tv=(t,s,c)=>c(We(t,s)),nv=(t,s,c,i)=>{const d=We(t,s).map(g=>g===!0?c(t):g);return i(d)},qC=(t,s,c,i,d)=>{const g=C=>d.extract(s.concat([i]),C),p=C=>C.fold(()=>zo.svalue(_.none()),S=>{const E=d.extract(s.concat([i]),S);return zo.map(E,_.some)});switch(t.tag){case"required":return Q0(s,c,i,g);case"defaultedThunk":return ev(c,i,t.process,g);case"option":return tv(c,i,p);case"defaultedOptionThunk":return nv(c,i,t.process,p);case"mergeWithThunk":return ev(c,i,Q({}),C=>{const S=Vn(t.process(c),C);return g(S)})}},ov=(t,s,c)=>{const i={},d=[];for(const g of c)qg(g,(p,C,S,E)=>{const k=qC(S,t,s,p,E);zo.fold(k,R=>{d.push(...R)},R=>{i[C]=R})},(p,C)=>{i[p]=C(s)});return d.length>0?zo.serror(d):zo.svalue(i)},Ts=t=>({extract:(i,d)=>t().extract(i,d),toString:()=>t().toString()}),KC=t=>ho(pd(t,sr)),zn=t=>{const s=rt(t),c=Qo(t,(d,g)=>qg(g,p=>Vn(d,{[p]:!0}),Q(d)),{});return{extract:(d,g)=>{const p=Sl(g)?[]:KC(g),C=qn(p,S=>!ta(c,S));return C.length===0?s.extract(d,g):r_(d,C)},toString:s.toString}},rt=t=>({extract:(i,d)=>ov(i,d,t),toString:()=>`obj{ -`+Ee(t,d=>qg(d,(g,p,C,S)=>g+" -> "+S.toString(),(g,p)=>"state("+g+")")).join(` -`)+"}"}),oi=t=>({extract:(i,d)=>{const g=Ee(d,(p,C)=>t.extract(i.concat(["["+C+"]"]),p));return jC.consolidateArr(g)},toString:()=>"array("+t.toString()+")"}),Je=(t,s)=>{const c=s!==void 0?s:sn;return{extract:(g,p)=>{const C=[];for(const S of t){const E=S.extract(g,p);if(E.stype===oc.Value)return{stype:oc.Value,svalue:c(E.svalue)};C.push(E)}return jC.consolidateArr(C)},toString:()=>"oneOf("+Ee(t,g=>g.toString()).join(", ")+")"}},xu=(t,s)=>{const c=(g,p)=>oi(Oa(t)).extract(g,p);return{extract:(g,p)=>{const C=ho(p),S=c(g,C);return zo.bind(S,E=>{const k=Ee(E,R=>hs(R,R,xn(),s));return rt(k).extract(g,p)})},toString:()=>"setOf("+s.toString()+")"}},zR=(t,s)=>{const c=mo(s);return{extract:(g,p)=>c().extract(g,p),toString:()=>c().toString()}},kl=Ip(oi,rt),jo=Q(J0),Ad=(t,s)=>Oa(c=>{const i=typeof c;return t(c)?zo.svalue(c):zo.serror(`Expected type: ${s} but got: ${i}`)}),Kg=Ad(Ga,"number"),_s=Ad(hn,"string"),si=Ad(Sl,"boolean"),n1=Ad(gt,"function"),Fi=t=>{if(Object(t)!==t)return!0;switch({}.toString.call(t).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(t).every(s=>Fi(t[s]));default:return!1}},YC=Oa(t=>Fi(t)?zo.svalue(t):zo.serror("Expected value to be acceptable for sending via postMessage")),o1=(t,s,c,i)=>We(c,i).fold(()=>ka(t,c,i),g=>g.extract(t.concat(["branch: "+i]),s)),ke=(t,s)=>({extract:(d,g)=>We(g,t).fold(()=>GC(d,t),C=>o1(d,g,s,C)),toString:()=>"chooseOn("+t+"). Possible values: "+ho(s)}),XC=()=>oi(J0),Eu=t=>Oa(s=>t(s).fold(zo.serror,zo.svalue)),Ol=(t,s)=>xu(c=>zo.fromResult(t(c)),s),Yg=(t,s,c)=>{const i=s.extract([t],c);return zo.mapError(i,d=>({input:c,errors:d}))},co=(t,s,c)=>zo.toResult(Yg(t,s,c)),Dn=t=>t.fold(s=>{throw new Error(lr(s))},sn),Er=(t,s,c)=>Dn(co(t,s,c)),lr=t=>`Errors: -`+X0(t.errors).join(` -`)+` - -Input object: `+t1(t.input),Jt=(t,s)=>ke(t,po(s,rt)),Xg=(t,s)=>zR(t,s),$s=hs,_o=ti,s1=t=>Eu(s=>So(t,s)?$t.value(s):$t.error(`Unsupported value: "${s}", choose one of "${t.join(", ")}".`)),ye=t=>$s(t,t,xn(),jo()),rc=(t,s)=>$s(t,t,xn(),s),Jg=t=>rc(t,Kg),dn=t=>rc(t,_s),ri=(t,s)=>$s(t,t,xn(),s1(s)),c_=t=>rc(t,si),ci=t=>rc(t,n1),sv=(t,s)=>$s(t,t,e1(),Oa(c=>zo.serror("The field: "+t+" is forbidden. "+s))),ai=(t,s)=>$s(t,t,xn(),rt(s)),rv=(t,s)=>$s(t,t,xn(),kl(s)),Mc=(t,s)=>$s(t,t,xn(),oi(s)),vn=t=>$s(t,t,e1(),jo()),Li=(t,s)=>$s(t,t,e1(),s),Rd=t=>Li(t,Kg),Is=t=>Li(t,_s),cv=(t,s)=>Li(t,s1(s)),Dd=t=>Li(t,n1),Md=(t,s)=>Li(t,oi(s)),Br=(t,s)=>Li(t,rt(s)),Tu=(t,s)=>Li(t,zn(s)),oe=(t,s)=>$s(t,t,K0(s),jo()),cc=(t,s,c)=>$s(t,t,K0(s),c),Hi=(t,s)=>cc(t,s,Kg),Vi=(t,s)=>cc(t,s,_s),ac=(t,s,c)=>cc(t,s,s1(c)),ss=(t,s)=>cc(t,s,si),ps=(t,s)=>cc(t,s,n1),UR=(t,s)=>cc(t,s,YC),Nr=(t,s,c)=>cc(t,s,oi(c)),zi=(t,s,c)=>cc(t,s,rt(c)),mt=t=>{let s=t;return{get:()=>s,set:d=>{s=d}}},ic={generate:t=>{if(!Di(t))throw new Error("cases must be an array");if(t.length===0)throw new Error("there must be at least one case");const s=[],c={};return Ke(t,(i,d)=>{const g=ho(i);if(g.length!==1)throw new Error("one and only one name per case");const p=g[0],C=i[p];if(c[p]!==void 0)throw new Error("duplicate key detected:"+p);if(p==="cata")throw new Error("cannot have a case named cata (sorry)");if(!Di(C))throw new Error("case arguments must be an array");s.push(p),c[p]=(...S)=>{const E=S.length;if(E!==C.length)throw new Error("Wrong number of arguments to case "+p+". Expected "+C.length+" ("+C+"), got "+E);return{fold:(...R)=>{if(R.length!==t.length)throw new Error("Wrong number of arguments to fold. Expected "+t.length+", got "+R.length);return R[d].apply(null,S)},match:R=>{const B=ho(R);if(s.length!==B.length)throw new Error("Wrong number of arguments to match. Expected: "+s.join(",")+` -Actual: `+B.join(","));if(!du(s,F=>So(B,F)))throw new Error("Not all branches were specified when using match. Specified: "+B.join(", ")+` -Required: `+s.join(", "));return R[p].apply(null,S)},log:R=>{console.log(R,{constructors:s,constructor:p,params:S})}}}}),c}};ic.generate([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const Bc=t=>{const s=[],c=[];return Ke(t,i=>{i.fold(d=>{s.push(d)},d=>{c.push(d)})}),{errors:s,values:c}},a_=(t,s)=>{const c={};return ms(t,(i,d)=>{So(s,d)||(c[d]=i)}),c},i_=(t,s)=>({[t]:s}),Lm=t=>{const s={};return Ke(t,c=>{s[c.key]=c.value}),s},Qg=(t,s)=>a_(t,s),Pr=(t,s)=>i_(t,s),Fs=t=>Lm(t),av=(t,s)=>t.length===0?$t.value(s):$t.value(Vn(s,Pm.apply(void 0,t))),l_=t=>$t.error(Dt(t)),Ui=(t,s)=>{const c=Bc(t);return c.errors.length>0?l_(c.errors):av(c.values,s)},r1=t=>gt(t)?t:Rn,JC=(t,s,c)=>{let i=t.dom;const d=r1(c);for(;i.parentNode;){i=i.parentNode;const g=ee.fromDom(i),p=s(g);if(p.isSome())return p;if(d(g))break}return _.none()},Bd=(t,s,c)=>{const i=s(t),d=r1(c);return i.orThunk(()=>d(t)?_.none():JC(t,s,d))},Hm=(t,s)=>$n(t.element,s.event.target),QC={can:vt,abort:Rn,run:q},Al=t=>{if(!ta(t,"can")&&!ta(t,"abort")&&!ta(t,"run"))throw new Error("EventHandler defined by: "+JSON.stringify(t,null,2)+" does not have can, abort, or run!");return{...QC,...t}},eS=(t,s)=>(...c)=>eo(t,(i,d)=>i&&s(d).apply(void 0,c),!0),tS=(t,s)=>(...c)=>eo(t,(i,d)=>i||s(d).apply(void 0,c),!1),iv=t=>gt(t)?{can:vt,abort:Rn,run:t}:t,lv=t=>{const s=eS(t,d=>d.can),c=tS(t,d=>d.abort);return{can:s,abort:c,run:(...d)=>{Ke(t,g=>{g.run.apply(void 0,d)})}}},Os=Q,Wi=Os("touchstart"),Vm=Os("touchmove"),Nd=Os("touchend"),nS=Os("touchcancel"),Go=Os("mousedown"),zm=Os("mousemove"),Um=Os("mouseout"),uv=Os("mouseup"),Rl=Os("mouseover"),lc=Os("focusin"),c1=Os("focusout"),Aa=Os("keydown"),_u=Os("keyup"),Pd=Os("input"),Wm=Os("change"),Dl=Os("click"),u_=Os("transitioncancel"),$d=Os("transitionend"),dv=Os("transitionstart"),oS=Os("selectstart"),ko=t=>Q("alloy."+t),Zm={tap:ko("tap")},ii=ko("focus"),ku=ko("blur.post"),Id=ko("paste.post"),Fd=ko("receive"),uc=ko("execute"),fo=ko("focus.item"),li=Zm.tap,mv=ko("longpress"),eh=ko("sandbox.close"),a1=ko("typeahead.cancel"),Ou=ko("system.init"),th=ko("system.touchmove"),i1=ko("system.touchend"),Zi=ko("system.scroll"),ui=ko("system.resize"),Nc=ko("system.attached"),Au=ko("system.detached"),Ru=ko("system.dismissRequested"),sS=ko("system.repositionRequested"),l1=ko("focusmanager.shifted"),nh=ko("slotcontainer.visibility"),u1=ko("system.external.element.scroll"),rS=ko("change.tab"),d1=ko("dismiss.tab"),oh=ko("highlight"),sh=ko("dehighlight"),qt=(t,s)=>{rh(t,t.element,s,{})},it=(t,s,c)=>{rh(t,t.element,s,c)},Ml=t=>{qt(t,uc())},m1=(t,s,c)=>{rh(t,s,c,{})},rh=(t,s,c,i)=>{const d={target:s,...i};t.getSystem().triggerEvent(c,s,d)},d_=(t,s,c,i)=>{const d={...i,target:s};t.getSystem().triggerEvent(c,s,d)},fv=(t,s,c,i)=>{t.getSystem().triggerEvent(c,s,i.event)},In=t=>Fs(t),gv=(t,s)=>({key:t,value:Al({abort:s})}),hv=(t,s)=>({key:t,value:Al({can:s})}),pv=t=>({key:t,value:Al({run:(s,c)=>{c.event.prevent()}})}),be=(t,s)=>({key:t,value:Al({run:s})}),f1=(t,s,c)=>({key:t,value:Al({run:(i,d)=>{s.apply(void 0,[i,d].concat(c))}})}),m_=t=>s=>be(t,s),ch=t=>s=>({key:t,value:Al({run:(c,i)=>{Hm(c,i)&&s(c,i)}})}),f_=(t,s)=>be(t,(c,i)=>{c.getSystem().getByUid(s).each(d=>{fv(d,d.element,t,i)})}),jm=(t,s,c)=>{const i=s.partUids[c];return f_(t,i)},bv=(t,s)=>be(t,(c,i)=>{const d=i.event,g=c.getSystem().getByDom(d.target).getOrThunk(()=>Bd(d.target,C=>c.getSystem().getByDom(C).toOptional(),Rn).getOr(c));s(c,g,i)}),Bl=t=>be(t,(s,c)=>{c.cut()}),g_=t=>be(t,(s,c)=>{c.stop()}),ji=(t,s)=>ch(t)(s),Mn=ch(Nc()),Gi=ch(Au()),vv=ch(Ou()),Ra=m_(uc()),Nl=(t,s)=>{const i=(s||document).createElement("div");return i.innerHTML=t,Ka(ee.fromDom(i))},yv=t=>t.dom.innerHTML,Ld=(t,s)=>{const i=kc(t).dom,d=ee.fromDom(i.createDocumentFragment()),g=Nl(s,i);Su(d,g),Dm(t),Ac(t,d)},cS=t=>{const s=ee.fromTag("div"),c=ee.fromDom(t.dom.cloneNode(!0));return Ac(s,c),yv(s)},g1=(t,s)=>ee.fromDom(t.dom.cloneNode(s)),Cv=t=>g1(t,!1),h_=t=>g1(t,!0),Sv=t=>{if(D0(t))return"#shadow-root";{const s=Cv(t);return cS(s)}},qi=t=>Sv(t),WR=(t,s,c)=>$n(s,t.element)&&!$n(s,c),wv=In([hv(ii(),(t,s)=>{const c=s.event,i=c.originator,d=c.target;return WR(t,i,d)?(console.warn(ii()+` did not get interpreted by the desired target. -Originator: `+qi(i)+` -Target: `+qi(d)+` -Check the `+ii()+" event handlers"),!1):!0})]);var Hd=Object.freeze({__proto__:null,events:wv});let Ls=0;const Xe=t=>{const c=new Date().getTime(),i=Math.floor(Math.random()*1e9);return Ls++,t+"_"+i+Ls+String(c)},p_=Q("alloy-id-"),xv=Q("data-alloy-id"),b_=p_(),aS=xv(),Vd=(t,s)=>{const c=Xe(b_+t);return Gm(s,c),c},Gm=(t,s)=>{Object.defineProperty(t.dom,aS,{value:s,writable:!0})},ah=t=>{const s=Hn(t)?t.dom[aS]:null;return _.from(s)},qm=t=>Xe(t),h1=sn,Pl=t=>{const s=d=>`The component must be in a context to execute: ${d}`+(t?` -`+qi(t().element)+" is not in context.":""),c=d=>()=>{throw new Error(s(d))},i=d=>()=>{console.warn(s(d))};return{debugInfo:Q("fake"),triggerEvent:i("triggerEvent"),triggerFocus:i("triggerFocus"),triggerEscape:i("triggerEscape"),broadcast:i("broadcast"),broadcastOn:i("broadcastOn"),broadcastEvent:i("broadcastEvent"),build:c("build"),buildOrPatch:c("buildOrPatch"),addToWorld:c("addToWorld"),removeFromWorld:c("removeFromWorld"),addToGui:c("addToGui"),removeFromGui:c("removeFromGui"),getByUid:c("getByUid"),getByDom:c("getByDom"),isConnected:Rn}},di=Pl(),ih=(t,s,c)=>{const i=c.toString(),d=i.indexOf(")")+1,g=i.indexOf("("),p=i.substring(g+1,d-1).split(/,\s*/);return t.toFunctionAnnotation=()=>({name:s,parameters:ra(p.slice(0,1).concat(p.slice(3)))}),t},ra=t=>Ee(t,s=>Bi(s,"/*")?s.substring(0,s.length-2):s),p1=(t,s)=>{const c=t.toString(),i=c.indexOf(")")+1,d=c.indexOf("("),g=c.substring(d+1,i-1).split(/,\s*/);return t.toFunctionAnnotation=()=>({name:s,parameters:ra(g)}),t},iS=(t,s)=>{const c=s.toString(),i=c.indexOf(")")+1,d=c.indexOf("("),g=c.substring(d+1,i-1).split(/,\s*/);return t.toFunctionAnnotation=()=>({name:"OVERRIDE",parameters:ra(g.slice(1))}),t},Km=Xe("alloy-premade"),$l=t=>(Object.defineProperty(t.element.dom,Km,{value:t.uid,writable:!0}),Pr(Km,t)),v_=t=>wn(t.dom,Km),Ym=t=>We(t,Km),zd=t=>iS((s,...c)=>t(s.getApis(),s,...c),t),Da={init:()=>dc({readState:Q("No State required")})},dc=t=>t,y_=(t,s)=>{const c=Ee(s,d=>Br(d.name(),[ye("config"),oe("state",Da)])),i=co("component.behaviours",rt(c),t.behaviours).fold(d=>{throw new Error(lr(d)+` -Complete spec: -`+JSON.stringify(t,null,2))},sn);return{list:s,data:po(i,d=>{const g=d.map(p=>({config:p.config,state:p.state.init(p.config)}));return Q(g)})}},lS=t=>t.list,uS=t=>t.data,Ev=(t,s)=>{const c={};return ms(t,(i,d)=>{ms(i,(g,p)=>{const C=We(c,p).getOr([]);c[p]=C.concat([s(d,g)])})}),c},mc=t=>({classes:Kr(t.classes)?[]:t.classes,attributes:Kr(t.attributes)?{}:t.attributes,styles:Kr(t.styles)?{}:t.styles}),Xm=(t,s)=>({...t,attributes:{...t.attributes,...s.attributes},styles:{...t.styles,...s.styles},classes:t.classes.concat(s.classes)}),b1=(t,s,c,i)=>{const d={...s};Ke(c,k=>{d[k.name()]=k.exhibit(t,i)});const g=Ev(d,(k,R)=>({name:k,modification:R})),p=k=>Qo(k,(R,B)=>({...B.modification,...R}),{}),C=Qo(g.classes,(k,R)=>R.modification.concat(k),[]),S=p(g.attributes),E=p(g.styles);return mc({classes:C,attributes:S,styles:E})},v1=(t,s,c,i)=>{try{const d=Fp(c,(g,p)=>{const C=g[s],S=p[s],E=i.indexOf(C),k=i.indexOf(S);if(E===-1)throw new Error("The ordering for "+t+" does not have an entry for "+C+`. -Order specified: `+JSON.stringify(i,null,2));if(k===-1)throw new Error("The ordering for "+t+" does not have an entry for "+S+`. -Order specified: `+JSON.stringify(i,null,2));return E({handler:t,purpose:s}),dS=(t,s)=>({cHandler:t,purpose:s}),Tv=(t,s)=>dS(an.apply(void 0,[t.handler].concat(s)),t.purpose),Jm=t=>t.cHandler,Qm=(t,s)=>({name:t,handler:s}),y1=(t,s)=>{const c={};return Ke(t,i=>{c[i.name()]=i.handlers(s)}),c},S_=(t,s,c)=>{const i={...c,...y1(s,t)};return Ev(i,Qm)},C1=(t,s,c,i)=>{const d=S_(t,c,i);return _v(d,s)},ef=t=>{const s=iv(t);return(c,i,...d)=>{const g=[c,i].concat(d);s.abort.apply(void 0,g)?i.stop():s.can.apply(void 0,g)&&s.run.apply(void 0,g)}},w_=(t,s)=>$t.error(["The event ("+t+`) has more than one behaviour that listens to it. -When this occurs, you must specify an event ordering for the behaviours in your spec (e.g. [ "listing", "toggling" ]). -The behaviours that can trigger it are: `+JSON.stringify(Ee(s,c=>c.name),null,2)]),lh=(t,s,c)=>{const i=s[c];return i?v1("Event: "+c,"name",t,i).map(d=>{const g=Ee(d,p=>p.handler);return lv(g)}):w_(c,t)},_v=(t,s)=>{const c=Vp(t,(i,d)=>(i.length===1?$t.value(i[0].handler):lh(i,s,d)).map(p=>{const C=ef(p),S=i.length>1?qn(s[d],E=>xc(i,k=>k.name===E)).join(" > "):i[0].name;return Pr(d,C_(C,S))}));return Ui(c,{})},fc="alloy.base.behaviour",S1=rt([$s("dom","dom",xn(),rt([ye("tag"),oe("styles",{}),oe("classes",[]),oe("attributes",{}),vn("value"),vn("innerHtml")])),ye("components"),ye("uid"),oe("events",{}),oe("apis",{}),$s("eventOrder","eventOrder",$m({[uc()]:["disabling",fc,"toggling","typeaheadevents"],[ii()]:[fc,"focusing","keying"],[Ou()]:[fc,"disabling","toggling","representing"],[Pd()]:[fc,"representing","streaming","invalidating"],[Au()]:[fc,"representing","item-events","tooltipping"],[Go()]:["focusing",fc,"item-type-events"],[Wi()]:["focusing",fc,"item-type-events"],[Rl()]:["item-type-events","tooltipping"],[Fd()]:["receiving","reflecting","tooltipping"]}),jo()),vn("domModification")]),mS=t=>co("custom.definition",S1,t),w1=t=>({...t.dom,uid:t.uid,domChildren:Ee(t.components,s=>s.element)}),ZR=t=>t.domModification.fold(()=>mc({}),mc),x1=t=>t.events,Du=(t,s)=>{const c=xo(t,s);return c===void 0||c===""?[]:c.split(" ")},Ki=(t,s,c)=>{const d=Du(t,s).concat([c]);return Ze(t,s,d.join(" ")),!0},kv=(t,s,c)=>{const i=qn(Du(t,s),d=>d!==c);return i.length>0?Ze(t,s,i.join(" ")):Po(t,s),!1},tf=t=>t.dom.classList!==void 0,E1=t=>Du(t,"class"),fS=(t,s)=>Ki(t,"class",s),Un=(t,s)=>kv(t,"class",s),x_=(t,s)=>So(E1(t),s)?Un(t,s):fS(t,s),Oo=(t,s)=>{tf(t)?t.dom.classList.add(s):fS(t,s)},gS=t=>{(tf(t)?t.dom.classList:E1(t)).length===0&&Po(t,"class")},oo=(t,s)=>{tf(t)?t.dom.classList.remove(s):Un(t,s),gS(t)},nf=(t,s)=>{const c=tf(t)?t.dom.classList.toggle(s):x_(t,s);return gS(t),c},qo=(t,s)=>tf(t)&&t.dom.classList.contains(s),ao=(t,s)=>{Ke(s,c=>{Oo(t,c)})},Pc=(t,s)=>{Ke(s,c=>{oo(t,c)})},Ov=(t,s)=>{Ke(s,c=>{nf(t,c)})},Hs=(t,s)=>du(s,c=>qo(t,c)),uh=t=>{const s=t.dom.classList,c=new Array(s.length);for(let i=0;itf(t)?uh(t):E1(t),Yi=t=>t.dom.value,sf=(t,s)=>{if(s===void 0)throw new Error("Value.set was undefined");t.dom.value=s},Mu=(t,s,c)=>hu(t,s).map(d=>{if(c.exists(p=>!$n(p,d))){const p=c.map(ya).getOr("span"),C=ee.fromTag(p);return Ta(d,C),C}else return d}),Il=(t,s,c)=>{c.fold(()=>Ac(t,s),i=>{$n(i,s)||(Ta(i,s),_a(i))})},E_=(t,s,c)=>{const i=Ee(s,c),d=Ka(t);return Ke(d.slice(i.length),_a),i},hS=(t,s,c,i)=>{const d=hu(t,s),g=i(c,d),p=Mu(t,s,d);return Il(t,g.element,p),g},jR=(t,s,c)=>E_(t,s,(i,d)=>hS(t,d,i,c)),GR=(t,s)=>E_(t,s,(c,i)=>{const d=hu(t,i);return Il(t,c,d),c}),Ma=(t,s)=>{const c=ho(t),i=ho(s),d=pt(i,c),g=Xr(t,(p,C)=>!wn(s,C)||p!==s[C]).t;return{toRemove:d,toSet:g}},ur=(t,s)=>{const{class:c,style:i,...d}=QT(s),{toSet:g,toRemove:p}=Ma(t.attributes,d),C=()=>{Ke(p,re=>Po(s,re)),$g(s,g)},S=qs(s),{toSet:E,toRemove:k}=Ma(t.styles,S),R=()=>{Ke(k,re=>ln(s,re)),tc(s,E)},B=of(s),P=pt(B,t.classes),F=pt(t.classes,B),W=()=>{ao(s,F),Pc(s,P)},se=re=>{Ld(s,re)},K=()=>{const re=t.domChildren;GR(s,re)},j=()=>{const re=s,we=t.value.getOrUndefined();we!==Yi(re)&&sf(re,we??"")};return C(),W(),R(),t.innerHtml.fold(K,se),j(),s},T_=t=>{const s=ee.fromTag(t.tag);$g(s,t.attributes),ao(s,t.classes),tc(s,t.styles),t.innerHtml.each(i=>Ld(s,i));const c=t.domChildren;return Su(s,c),t.value.each(i=>{sf(s,i)}),s},__=(t,s)=>{try{const c=ur(t,s);return _.some(c)}catch{return _.none()}},Bu=t=>t.innerHtml.isSome()&&t.domChildren.length>0,dh=(t,s)=>{const c=d=>ya(d)===t.tag&&!Bu(t)&&!v_(d),i=s.filter(c).bind(d=>__(t,d)).getOrThunk(()=>T_(t));return Gm(i,t.uid),i},T1=t=>{const s=We(t,"behaviours").getOr({});return ge(ho(s),c=>{const i=s[c];return sr(i)?[i.me]:[]})},_1=(t,s)=>y_(t,s),Xi=t=>{const s=T1(t);return _1(t,s)},rf=(t,s,c)=>{const i=w1(t),d=ZR(t),g={"alloy.base.modification":d},p=s.length>0?b1(c,g,s,i):d;return Xm(i,p)},cf=(t,s,c)=>{const i={"alloy.base.behaviour":x1(t)};return C1(c,t.eventOrder,s,i).getOrDie()},af=(t,s)=>{const c=()=>re,i=mt(di),d=Dn(mS(t)),g=Xi(t),p=lS(g),C=uS(g),S=rf(d,p,C),E=dh(S,s),k=cf(d,p,C),R=mt(d.components),B=we=>{i.set(we)},P=()=>{i.set(Pl(c))},F=()=>{const we=Ka(E),he=ge(we,me=>i.get().getByDom(me).fold(()=>[],wo));R.set(he)},W=we=>{const he=C;return(gt(he[we.name()])?he[we.name()]:()=>{throw new Error("Could not find "+we.name()+" in "+JSON.stringify(t,null,2))})()},se=we=>gt(C[we.name()]),K=()=>d.apis,j=we=>C[we]().map(he=>he.state.readState()).getOr("not enabled"),re={uid:t.uid,getSystem:i.get,config:W,hasConfigured:se,spec:t,readState:j,getApis:K,connect:B,disconnect:P,element:E,syncComponents:F,components:R.get,events:k};return re},Ud=(t,s)=>{const c=We(t,"components").getOr([]);return s.fold(()=>Ee(c,Ys),i=>Ee(c,(d,g)=>k1(d,hu(i,g))))},pS=(t,s)=>{const{events:c,...i}=h1(t),d=Ud(i,s),g={...i,events:{...Hd,...c},components:d};return $t.value(af(g,s))},vo=t=>{const s=ee.fromText(t);return bS({element:s})},bS=t=>{const s=Er("external.component",zn([ye("element"),vn("uid")]),t),c=mt(Pl()),i=C=>{c.set(C)},d=()=>{c.set(Pl(()=>p))},g=s.uid.getOrThunk(()=>qm("external"));Gm(s.element,g);const p={uid:g,getSystem:c.get,config:_.none,hasConfigured:Rn,connect:i,disconnect:d,getApis:()=>({}),element:s.element,spec:t,readState:Q("No state"),syncComponents:q,components:Q([]),events:{}};return $l(p)},lf=qm,vS=t=>wn(t,"uid"),k1=(t,s)=>Ym(t).getOrThunk(()=>{const c=vS(t)?t:{uid:lf(""),...t};return pS(c,s).getOrDie()}),Ys=t=>k1(t,_.none()),$c=$l;var yS=(t,s,c,i,d)=>t(c,i)?_.some(c):gt(d)&&d(c)?_.none():s(c,i,d);const O1=(t,s,c)=>{let i=t.dom;const d=gt(c)?c:Rn;for(;i.parentNode;){i=i.parentNode;const g=ee.fromDom(i);if(s(g))return _.some(g);if(d(g))break}return _.none()},Wd=(t,s,c)=>yS((d,g)=>g(d),O1,t,s,c),k_=(t,s)=>{const c=d=>s(ee.fromDom(d));return _t(t.dom.childNodes,c).map(ee.fromDom)},CS=(t,s)=>{const c=i=>{for(let d=0;dWd(t,s,c).isSome(),gc=(t,s,c)=>O1(t,i=>na(i,s),c),A1=(t,s)=>k_(t,c=>na(c,s)),Ao=(t,s)=>TC(s,t),mi=(t,s,c)=>yS((d,g)=>na(d,g),gc,t,s,c),uf="aria-controls",Nu=t=>Wd(t,c=>{if(!Hn(c))return!1;const i=xo(c,"id");return i!==void 0&&i.indexOf(uf)>-1}).bind(c=>{const i=xo(c,"id"),d=ro(c);return Ao(d,`[${uf}="${i}"]`)}),Zd=()=>{const t=Xe(uf);return{id:t,link:i=>{Ze(i,uf,t)},unlink:i=>{Po(i,uf)}}},jd=(t,s)=>Nu(s).exists(c=>Fl(t,c)),Fl=(t,s)=>Av(s,c=>$n(c,t.element),Rn)||jd(t,s),SS="unknown";var Gd;(function(t){t[t.STOP=0]="STOP",t[t.NORMAL=1]="NORMAL",t[t.LOGGING=2]="LOGGING"})(Gd||(Gd={}));const Pu=mt({}),qd=(t,s)=>{const c=[],i=new Date().getTime();return{logEventCut:(d,g,p)=>{c.push({outcome:"cut",target:g,purpose:p})},logEventStopped:(d,g,p)=>{c.push({outcome:"stopped",target:g,purpose:p})},logNoParent:(d,g,p)=>{c.push({outcome:"no-parent",target:g,purpose:p})},logEventNoHandlers:(d,g)=>{c.push({outcome:"no-handlers-left",target:g})},logEventResponse:(d,g,p)=>{c.push({outcome:"response",purpose:p,target:g})},write:()=>{const d=new Date().getTime();So(["mousemove","mouseover","mouseout",Ou()],t)||console.log(t,{event:t,time:d-i,target:s.dom,sequence:Ee(c,g=>So(["cut","stopped","response"],g.outcome)?"{"+g.purpose+"} "+g.outcome+" at ("+qi(g.target)+")":g.outcome)})}}},wS=(t,s,c)=>{switch(We(Pu.get(),t).orThunk(()=>{const d=ho(Pu.get());return Bs(d,g=>t.indexOf(g)>-1?_.some(Pu.get()[g]):_.none())}).getOr(Gd.NORMAL)){case Gd.NORMAL:return c(Dv());case Gd.LOGGING:{const d=qd(t,s),g=c(d);return d.write(),g}case Gd.STOP:return!0}},O_=["alloy/data/Fields","alloy/debugging/Debugging"],Rv=()=>{const t=new Error;if(t.stack!==void 0){const s=t.stack.split(` -`);return _t(s,c=>c.indexOf("alloy")>0&&!xc(O_,i=>c.indexOf(i)>-1)).getOr(SS)}else return SS},A_={logEventCut:q,logEventStopped:q,logNoParent:q,logEventNoHandlers:q,logEventResponse:q,write:q},R1=(t,s,c)=>wS(t,s,c),Dv=Q(A_),hc=Q([ye("menu"),ye("selectedMenu")]),xS=Q([ye("item"),ye("selectedItem")]);Q(rt(xS().concat(hc())));const df=Q(rt(xS())),ES=ai("initSize",[ye("numColumns"),ye("numRows")]),R_=()=>rc("markers",df()),mh=()=>ai("markers",[ye("backgroundMenu")].concat(hc()).concat(xS())),$u=t=>ai("markers",Ee(t,ye)),D1=(t,s,c)=>(Rv(),$s(s,s,c,Eu(i=>$t.value((...d)=>i.apply(void 0,d))))),Qt=t=>D1("onHandler",t,K0(q)),pc=t=>D1("onKeyboardHandler",t,K0(_.none)),fi=t=>D1("onHandler",t,xn()),Mv=t=>D1("onKeyboardHandler",t,xn()),Tn=(t,s)=>_o(t,Q(s)),fh=t=>_o(t,sn),Bv=Q(ES),rs=(t,s,c,i,d,g,p,C=!1)=>({x:t,y:s,bubble:c,direction:i,placement:d,restriction:g,label:`${p}-${d}`,alwaysFit:C}),Ji=ic.generate([{southeast:[]},{southwest:[]},{northeast:[]},{northwest:[]},{south:[]},{north:[]},{east:[]},{west:[]}]),Iu=(t,s,c,i,d,g,p,C,S)=>t.fold(s,c,i,d,g,p,C,S),Nv=(t,s,c,i)=>t.fold(s,s,i,i,s,i,c,c),M1=(t,s,c,i)=>t.fold(s,i,s,i,c,c,s,i),gh=Ji.southeast,Pv=Ji.southwest,B1=Ji.northeast,Qi=Ji.northwest,Ll=Ji.south,D_=Ji.north,ae=Ji.east,hh=Ji.west,mf=(t,s,c,i)=>{const d=t+s;return d>i?c:dMath.min(Math.max(t,s),c),$v=(t,s)=>{switch(s){case 1:return t.x;case 0:return t.x+t.width;case 2:return t.y;case 3:return t.y+t.height}},Xn=(t,s)=>hd(["left","right","top","bottom"],c=>We(s,c).map(i=>$v(t,i))),N1=(t,s,c)=>{const i=(S,E)=>s[S].map(k=>{const R=S==="top"||S==="bottom",B=R?c.top:c.left,F=(S==="left"||S==="top"?Math.max:Math.min)(k,E)+B;return R?Ic(F,t.y,t.bottom):Ic(F,t.x,t.right)}).getOr(E),d=i("left",t.x),g=i("top",t.y),p=i("right",t.right),C=i("bottom",t.bottom);return bo(d,g,p-d,C-g)},Hl="layout",Iv=t=>t.x,P1=(t,s)=>t.x+t.width/2-s.width/2,Fv=(t,s)=>t.x+t.width-s.width,ph=(t,s)=>t.y-s.height,ff=t=>t.y+t.height,Lv=(t,s)=>t.y+t.height/2-s.height/2,M_=t=>t.x+t.width,Tr=(t,s)=>t.x-s.width,cs=(t,s,c)=>rs(Iv(t),ff(t),c.southeast(),gh(),"southeast",Xn(t,{left:1,top:3}),Hl),Vs=(t,s,c)=>rs(Fv(t,s),ff(t),c.southwest(),Pv(),"southwest",Xn(t,{right:0,top:3}),Hl),_r=(t,s,c)=>rs(Iv(t),ph(t,s),c.northeast(),B1(),"northeast",Xn(t,{left:1,bottom:2}),Hl),Xs=(t,s,c)=>rs(Fv(t,s),ph(t,s),c.northwest(),Qi(),"northwest",Xn(t,{right:0,bottom:2}),Hl),dr=(t,s,c)=>rs(P1(t,s),ph(t,s),c.north(),D_(),"north",Xn(t,{bottom:2}),Hl),as=(t,s,c)=>rs(P1(t,s),ff(t),c.south(),Ll(),"south",Xn(t,{top:3}),Hl),Hv=(t,s,c)=>rs(M_(t),Lv(t,s),c.east(),ae(),"east",Xn(t,{left:0}),Hl),bh=(t,s,c)=>rs(Tr(t,s),Lv(t,s),c.west(),hh(),"west",Xn(t,{right:1}),Hl),Vv=()=>[cs,Vs,_r,Xs,as,dr,Hv,bh],vh=()=>[Vs,cs,Xs,_r,as,dr,Hv,bh],zv=()=>[_r,Xs,cs,Vs,dr,as],TS=()=>[Xs,_r,Vs,cs,dr,as],$1=()=>[cs,Vs,_r,Xs,as,dr],Uv=()=>[Vs,cs,Xs,_r,as,dr],B_=(t,s)=>s.universal?t:qn(t,c=>So(s.channels,c));var _S=Object.freeze({__proto__:null,events:t=>In([be(Fd(),(s,c)=>{const i=t.channels,d=ho(i),g=c,p=B_(d,g);Ke(p,C=>{const S=i[C],E=S.schema,k=Er("channel["+C+`] data -Receiver: `+qi(s.element),E,g.data);S.onReceive(s,k)})})])}),P_=[rc("channels",Ol($t.value,zn([fi("onReceive"),oe("schema",jo())])))];const gf=(t,s,c)=>Ra(i=>{c(i,t,s)}),I1=(t,s,c)=>vv((i,d)=>{c(i,t,s)}),kS=(t,s,c,i,d,g)=>{const p=zn(t),C=Br(s,[Tu("config",t)]);return gi(p,C,s,c,i,d,g)},qR=(t,s,c,i,d,g)=>{const p=t,C=Br(s,[Li("config",t)]);return gi(p,C,s,c,i,d,g)},$r=(t,s,c)=>ih((d,...g)=>{const p=[d].concat(g);return d.config({name:Q(t)}).fold(()=>{throw new Error("We could not find any behaviour configuration for: "+t+". Using API: "+c)},C=>{const S=Array.prototype.slice.call(p,1);return s.apply(void 0,[d,C.config,C.state].concat(S))})},c,s),KR=t=>({key:t,value:void 0}),gi=(t,s,c,i,d,g,p)=>{const C=R=>ta(R,c)?R[c]():_.none(),S=po(d,(R,B)=>$r(c,R,B)),k={...po(g,(R,B)=>p1(R,B)),...S,revoke:an(KR,c),config:R=>{const B=Er(c+"-config",t,R);return{key:c,value:{config:B,me:k,configAsRaw:mo(()=>Er(c+"-config",t,R)),initialConfig:R,state:p}}},schema:Q(s),exhibit:(R,B)=>fu(C(R),We(i,"exhibit"),(P,F)=>F(B,P.config,P.state)).getOrThunk(()=>mc({})),name:Q(c),handlers:R=>C(R).map(B=>We(i,"events").getOr(()=>({}))(B.config,B.state)).getOr({})};return k},Be=t=>Fs(t),Wv=zn([ye("fields"),ye("name"),oe("active",{}),oe("apis",{}),oe("state",Da),oe("extra",{})]),is=t=>{const s=Er("Creating behaviour: "+t.name,Wv,t);return kS(s.fields,s.name,s.active,s.apis,s.extra,s.state)},OS=zn([ye("branchKey"),ye("branches"),ye("name"),oe("active",{}),oe("apis",{}),oe("state",Da),oe("extra",{})]),F1=t=>{const s=Er("Creating behaviour: "+t.name,OS,t);return qR(Jt(s.branchKey,s.branches),s.name,s.active,s.apis,s.extra,s.state)},Zv=Q(void 0),Ir=is({fields:P_,name:"receiving",active:_S});var AS=Object.freeze({__proto__:null,exhibit:(t,s)=>mc({classes:[],styles:s.useFixed()?{}:{position:"relative"}})});const Fr=(t,s=!1)=>t.dom.focus({preventScroll:s}),hf=t=>t.dom.blur(),yh=t=>{const s=ro(t).dom;return t.dom===s.activeElement},el=(t=Jp())=>_.from(t.dom.activeElement).map(ee.fromDom),Ba=t=>el(ro(t)).filter(s=>t.dom.contains(s.dom)),qe=(t,s)=>{const c=ro(s),i=el(c).bind(g=>{const p=C=>$n(g,C);return p(s)?_.some(s):CS(s,p)}),d=t(s);return i.each(g=>{el(c).filter(p=>$n(p,g)).fold(()=>{Fr(g)},q)}),d},Fc=(t,s,c,i,d)=>{const g=p=>p+"px";return{position:t,left:s.map(g),top:c.map(g),right:i.map(g),bottom:d.map(g)}},RS=t=>({...t,position:_.some(t.position)}),DS=(t,s)=>{Me(t,RS(s))},jv=ic.generate([{none:[]},{relative:["x","y","width","height"]},{fixed:["x","y","width","height"]}]),MS=(t,s,c,i,d,g)=>{const p=s.rect,C=p.x-c,S=p.y-i,E=p.width,k=p.height,R=d-(C+E),B=g-(S+k),P=_.some(C),F=_.some(S),W=_.some(R),se=_.some(B),K=_.none();return Iu(s.direction,()=>Fc(t,P,F,K,K),()=>Fc(t,K,F,W,K),()=>Fc(t,P,K,K,se),()=>Fc(t,K,K,W,se),()=>Fc(t,P,F,K,K),()=>Fc(t,P,K,K,se),()=>Fc(t,P,F,K,K),()=>Fc(t,K,F,W,K))},Gv=(t,s)=>t.fold(()=>{const c=s.rect;return Fc("absolute",_.some(c.x),_.some(c.y),_.none(),_.none())},(c,i,d,g)=>MS("absolute",s,c,i,d,g),(c,i,d,g)=>MS("fixed",s,c,i,d,g)),qv=(t,s)=>{const c=an(Gg,s),i=t.fold(c,c,()=>{const p=nc();return Gg(s).translate(-p.left,-p.top)}),d=Xa(s),g=bu(s);return bo(i.left,i.top,d,g)},I_=(t,s)=>s.fold(()=>t.fold(ir,ir,bo),c=>t.fold(Q(c),Q(c),()=>{const i=Kv(t,c.x,c.y);return bo(i.left,i.top,c.width,c.height)})),Kv=(t,s,c)=>{const i=pn(s,c),d=()=>{const g=nc();return i.translate(-g.left,-g.top)};return t.fold(Q(i),Q(i),d)},F_=(t,s,c,i)=>t.fold(s,c,i);jv.none;const mr=jv.relative,Ch=jv.fixed,L_=(t,s)=>({anchorBox:t,origin:s}),H_=(t,s)=>L_(t,s),Yv="data-alloy-placement",V_=(t,s)=>{Ze(t,Yv,s)},BS=t=>Sr(t,Yv),NS=t=>Po(t,Yv),Sh=ic.generate([{fit:["reposition"]},{nofit:["reposition","visibleW","visibleH","isVisible"]}]),PS=(t,s)=>{const{x:c,y:i,right:d,bottom:g}=s,{x:p,y:C,right:S,bottom:E,width:k,height:R}=t,B=p>=c&&p<=d,P=C>=i&&C<=g,F=B&&P,W=S<=d&&S>=c,se=E<=g&&E>=i,K=W&&se,j=Math.min(k,p>=c?d-p:S-c),re=Math.min(R,C>=i?g-C:E-i);return{originInBounds:F,sizeInBounds:K,visibleW:j,visibleH:re}},Xv=(t,s)=>{const{x:c,y:i,right:d,bottom:g}=s,{x:p,y:C,width:S,height:E}=t,k=Math.max(c,d-S),R=Math.max(i,g-E),B=Ic(p,c,k),P=Ic(C,i,R),F=Math.min(B+S,d)-B,W=Math.min(P+E,g)-P;return bo(B,P,F,W)},Kd=(t,s,c)=>{const i=Q(s.bottom-c.y),d=Q(c.bottom-s.y),g=Nv(t,d,d,i),p=Q(s.right-c.x),C=Q(c.right-s.x);return{maxWidth:M1(t,C,C,p),maxHeight:g}},z_=(t,s,c,i)=>{const d=t.bubble,g=d.offset,p=N1(i,t.restriction,g),C=t.x+g.left,S=t.y+g.top,E=bo(C,S,s,c),{originInBounds:k,sizeInBounds:R,visibleW:B,visibleH:P}=PS(E,p),F=k&&R,W=F?E:Xv(E,p),se=W.width>0&&W.height>0,{maxWidth:K,maxHeight:j}=Kd(t.direction,W,i),re={rect:W,maxHeight:j,maxWidth:K,direction:t.direction,placement:t.placement,classes:{on:d.classesOn,off:d.classesOff},layout:t.label,testY:S};return F||t.alwaysFit?Sh.fit(re):Sh.nofit(re,B,P,se)},U_=(t,s,c,i,d,g)=>{const p=i.width,C=i.height,S=(k,R,B,P,F)=>{const W=k(c,i,d,t,g),se=z_(W,p,C,g);return se.fold(Q(se),(K,j,re,we)=>(F===we?re>P||j>B:!F&&we)?se:Sh.nofit(R,B,P,F))};return eo(s,(k,R)=>{const B=an(S,R);return k.fold(Q(k),B)},Sh.nofit({rect:c,maxHeight:i.height,maxWidth:i.width,direction:gh(),placement:"southeast",classes:{on:[],off:[]},layout:"none",testY:c.y},-1,-1,!1)).fold(sn,sn)},Jv=t=>{const s=mt(_.none()),c=()=>s.get().each(t);return{clear:()=>{c(),s.set(_.none())},isSet:()=>s.get().isSome(),get:()=>s.get(),set:C=>{c(),s.set(_.some(C))}}},W_=()=>Jv(t=>t.destroy()),Vl=()=>Jv(t=>t.unbind()),Vt=()=>{const t=Jv(q);return{...t,on:c=>t.get().each(c)}},Qv=vt,fr=(t,s,c)=>Wg(t,s,Qv,c),L1=(t,s,c)=>z0(t,s,Qv,c),ey=V0,ty=["top","bottom","right","left"],H1="data-alloy-transition-timer",$S=(t,s)=>Hs(t,s.classes),Z_=(t,s,c)=>c.exists(i=>{const d=t.mode;return d==="all"?!0:i[d]!==s[d]}),j_=(t,s)=>{const c=i=>parseFloat(i).toFixed(3);return Cr(s,(i,d)=>{const g=t[d].map(c),p=i.map(c);return!zp(g,p)}).isSome()},pf=t=>{const s=g=>{const C=Eo(t,g).split(/\s*,\s*/);return qn(C,Tc)},c=g=>{if(hn(g)&&/^[\d.]+/.test(g)){const p=parseFloat(g);return Bi(g,"ms")?p:p*1e3}else return 0},i=s("transition-delay"),d=s("transition-duration");return eo(d,(g,p,C)=>{const S=c(i[C])+c(p);return Math.max(g,S)},0)},IS=(t,s)=>{const c=Vl(),i=Vl();let d;const g=E=>{var k;const R=(k=E.raw.pseudoElement)!==null&&k!==void 0?k:"";return $n(E.target,t)&&Bo(R)&&So(ty,E.raw.propertyName)},p=E=>{if(Mi(E)||g(E)){c.clear(),i.clear();const k=E==null?void 0:E.raw.type;(Mi(k)||k===$d())&&(clearTimeout(d),Po(t,H1),Pc(t,s.classes))}},C=fr(t,dv(),E=>{g(E)&&(C.unbind(),c.set(fr(t,$d(),p)),i.set(fr(t,u_(),p)))}),S=pf(t);requestAnimationFrame(()=>{d=setTimeout(p,S+17),Ze(t,H1,d)})},YR=(t,s)=>{ao(t,s.classes),Sr(t,H1).each(c=>{clearTimeout(parseInt(c,10)),Po(t,H1)}),IS(t,s)},Fu=(t,s,c,i,d,g)=>{const p=Z_(i,d,g);if(p||$S(t,i)){Bt(t,"position",c.position);const C=qv(s,t),S=Gv(s,{...d,rect:C}),E=hd(ty,k=>S[k]);j_(c,E)&&(Me(t,E),p&&YR(t,i),Tl(t))}else Pc(t,i.classes)},G_=t=>({width:Xa(t),height:bu(t)}),bf=(t,s,c,i)=>{ln(s,"max-height"),ln(s,"max-width");const d=G_(s);return U_(s,i.preference,t,d,c,i.bounds)},q_=(t,s)=>{const c=s.classes;Pc(t,c.off),ao(t,c.on)},ny=(t,s,c)=>{const i=c.maxHeightFunction;i(t,s.maxHeight)},FS=(t,s,c)=>{const i=c.maxWidthFunction;i(t,s.maxWidth)},Yd=(t,s,c)=>{const i=Gv(c.origin,s);c.transition.each(d=>{Fu(t,c.origin,i,d,s,c.lastPlacement)}),DS(t,i)},K_=(t,s)=>{V_(t,s.placement)},LS=(t,s)=>{N0(t,Math.floor(s))},HS=Q((t,s)=>{LS(t,s),tc(t,{"overflow-x":"hidden","overflow-y":"auto"})}),vf=Q((t,s)=>{LS(t,s)}),VS=(t,s,c)=>t[s]===void 0?c:t[s],oy=(t,s,c,i,d,g,p,C)=>{const S=VS(p,"maxHeightFunction",HS()),E=VS(p,"maxWidthFunction",q),k=t.anchorBox,R=t.origin,B={bounds:I_(R,g),origin:R,preference:i,maxHeightFunction:S,maxWidthFunction:E,lastPlacement:d,transition:C};return Y_(k,s,c,B)},Y_=(t,s,c,i)=>{const d=bf(t,s,c,i);return Yd(s,d,i),K_(s,d),q_(s,d),ny(s,d,i),FS(s,d,i),{layout:d.layout,placement:d.placement}},zS=["valignCentre","alignLeft","alignRight","alignCentre","top","bottom","left","right","inset"],tl=(t,s,c,i=1)=>{const d=t*i,g=s*i,p=S=>We(c,S).getOr([]),C=(S,E,k)=>{const R=pt(zS,k);return{offset:pn(S,E),classesOn:ge(k,p),classesOff:ge(R,p)}};return{southeast:()=>C(-t,s,["top","alignLeft"]),southwest:()=>C(t,s,["top","alignRight"]),south:()=>C(-t/2,s,["top","alignCentre"]),northeast:()=>C(-t,-s,["bottom","alignLeft"]),northwest:()=>C(t,-s,["bottom","alignRight"]),north:()=>C(-t/2,-s,["bottom","alignCentre"]),east:()=>C(t,-s/2,["valignCentre","left"]),west:()=>C(-t,-s/2,["valignCentre","right"]),insetNortheast:()=>C(d,g,["top","alignLeft","inset"]),insetNorthwest:()=>C(-d,g,["top","alignRight","inset"]),insetNorth:()=>C(-d/2,g,["top","alignCentre","inset"]),insetSoutheast:()=>C(d,-g,["bottom","alignLeft","inset"]),insetSouthwest:()=>C(-d,-g,["bottom","alignRight","inset"]),insetSouth:()=>C(-d/2,-g,["bottom","alignCentre","inset"]),insetEast:()=>C(-d,-g/2,["valignCentre","right","inset"]),insetWest:()=>C(d,-g/2,["valignCentre","left","inset"])}},wh=()=>tl(0,0,{}),xh=sn,V1=(t,s)=>c=>Eh(c)==="rtl"?s:t,Eh=t=>Eo(t,"direction")==="rtl"?"rtl":"ltr";var ca;(function(t){t.TopToBottom="toptobottom",t.BottomToTop="bottomtotop"})(ca||(ca={}));const yf="data-alloy-vertical-dir",Th=t=>Av(t,s=>Hn(s)&&xo(s,"data-alloy-vertical-dir")===ca.BottomToTop),Lu=()=>Br("layouts",[ye("onLtr"),ye("onRtl"),vn("onBottomLtr"),vn("onBottomRtl")]),z1=(t,s,c,i,d,g,p)=>{const C=p.map(Th).getOr(!1),S=s.layouts.map(P=>P.onLtr(t)),E=s.layouts.map(P=>P.onRtl(t)),k=C?s.layouts.bind(P=>P.onBottomLtr.map(F=>F(t))).or(S).getOr(d):S.getOr(c),R=C?s.layouts.bind(P=>P.onBottomRtl.map(F=>F(t))).or(E).getOr(g):E.getOr(i);return V1(k,R)(t)},X_=(t,s,c)=>{const i=s.hotspot,d=qv(c,i.element),g=z1(t.element,s,$1(),Uv(),zv(),TS(),_.some(s.hotspot.element));return _.some(xh({anchorBox:d,bubble:s.bubble.getOr(wh()),overrides:s.overrides,layouts:g}))};var J_=[ye("hotspot"),vn("bubble"),oe("overrides",{}),Lu(),Tn("placement",X_)];const US=(t,s,c)=>{const i=Kv(c,s.x,s.y),d=bo(i.left,i.top,s.width,s.height),g=z1(t.element,s,Vv(),vh(),Vv(),vh(),_.none());return _.some(xh({anchorBox:d,bubble:s.bubble,overrides:s.overrides,layouts:g}))};var Q_=[ye("x"),ye("y"),oe("height",0),oe("width",0),oe("bubble",wh()),oe("overrides",{}),Lu(),Tn("placement",US)];const sy=ic.generate([{screen:["point"]},{absolute:["point","scrollLeft","scrollTop"]}]),ek=t=>t.fold(sn,(s,c,i)=>s.translate(-c,-i)),tk=t=>t.fold(sn,sn),WS=t=>eo(t,(s,c)=>s.translate(c.left,c.top),pn(0,0)),nk=t=>{const s=Ee(t,ek);return WS(s)},ZS=t=>{const s=Ee(t,tk);return WS(s)},ok=sy.screen,U1=sy.absolute,sk=(t,s,c)=>{const i=wd(c.root).dom,d=g=>{const p=kc(g),C=kc(t.element);return $n(p,C)};return _.from(i.frameElement).map(ee.fromDom).filter(d).map(wa)},jS=(t,s,c)=>{const i=kc(t.element),d=nc(i),g=sk(t,s,c).getOr(d);return U1(g,d.left,d.top)},Cf=(t,s,c,i)=>{const d=ok(pn(t,s));return _.some(HC(d,c,i))},ry=(t,s,c,i,d)=>t.map(g=>{const p=[s,g.point],C=F_(i,()=>ZS(p),()=>ZS(p),()=>nk(p)),S=Mm(C.left,C.top,g.width,g.height),E=c.showAbove?zv():$1(),k=c.showAbove?TS():Uv(),R=z1(d,c,E,k,E,k,_.none());return xh({anchorBox:S,bubble:c.bubble.getOr(wh()),overrides:c.overrides,layouts:R})}),cy=(t,s,c)=>{const i=jS(t,c,s);return s.node.filter(xs).bind(d=>{const g=d.dom.getBoundingClientRect(),p=Cf(g.left,g.top,g.width,g.height),C=s.node.getOr(t.element);return ry(p,i,s,c,C)})};var ay=[ye("node"),ye("root"),vn("bubble"),Lu(),oe("overrides",{}),oe("showAbove",!1),Tn("placement",cy)];const GS="\uFEFF",iy=" ",W1={create:(t,s,c,i)=>({start:t,soffset:s,finish:c,foffset:i})},Z1=ic.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ck=(t,s,c,i)=>t.fold(s,c,i),ly=t=>t.fold(sn,sn,sn),qS=Z1.before,ak=Z1.on,uy=Z1.after,ik={before:qS,on:ak,after:uy,cata:ck,getStart:ly},Sf=ic.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),lk=t=>Sf.exact(t.start,t.soffset,t.finish,t.foffset),dy=t=>t.match({domRange:s=>ee.fromDom(s.startContainer),relative:(s,c)=>ik.getStart(s),exact:(s,c,i,d)=>s}),uk=Sf.domRange,dk=Sf.relative,mk=Sf.exact,KS=t=>{const s=dy(t);return wd(s)},fk=W1.create,As={domRange:uk,relative:dk,exact:mk,exactFromRange:lk,getWin:KS,range:fk},XR=(t,s)=>{s.fold(c=>{t.setStartBefore(c.dom)},(c,i)=>{t.setStart(c.dom,i)},c=>{t.setStartAfter(c.dom)})},wf=(t,s)=>{s.fold(c=>{t.setEndBefore(c.dom)},(c,i)=>{t.setEnd(c.dom,i)},c=>{t.setEndAfter(c.dom)})},j1=(t,s,c)=>{const i=t.document.createRange();return XR(i,s),wf(i,c),i},YS=(t,s,c,i,d)=>{const g=t.document.createRange();return g.setStart(s.dom,c),g.setEnd(i.dom,d),g},my=t=>({left:t.left,top:t.top,right:t.right,bottom:t.bottom,width:t.width,height:t.height}),XS=t=>{const s=t.getClientRects(),c=s.length>0?s[0]:t.getBoundingClientRect();return c.width>0||c.height>0?_.some(c).map(my):_.none()},JS=t=>{const s=t.getBoundingClientRect();return s.width>0||s.height>0?_.some(s).map(my):_.none()},Xd=ic.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),_h=(t,s,c)=>s(ee.fromDom(c.startContainer),c.startOffset,ee.fromDom(c.endContainer),c.endOffset),gk=(t,s)=>s.match({domRange:c=>({ltr:Q(c),rtl:_.none}),relative:(c,i)=>({ltr:mo(()=>j1(t,c,i)),rtl:mo(()=>_.some(j1(t,i,c)))}),exact:(c,i,d,g)=>({ltr:mo(()=>YS(t,c,i,d,g)),rtl:mo(()=>_.some(YS(t,d,g,c,i)))})}),hk=(t,s)=>{const c=s.ltr();return c.collapsed?s.rtl().filter(d=>d.collapsed===!1).map(d=>Xd.rtl(ee.fromDom(d.endContainer),d.endOffset,ee.fromDom(d.startContainer),d.startOffset)).getOrThunk(()=>_h(t,Xd.ltr,c)):_h(t,Xd.ltr,c)},kh=(t,s)=>{const c=gk(t,s);return hk(t,c)},fy=(t,s)=>kh(t,s).match({ltr:(i,d,g,p)=>{const C=t.document.createRange();return C.setStart(i.dom,d),C.setEnd(g.dom,p),C},rtl:(i,d,g,p)=>{const C=t.document.createRange();return C.setStart(g.dom,p),C.setEnd(i.dom,d),C}});Xd.ltr,Xd.rtl;const QS=(t,s,c)=>qn(_C(t,c),s),ls=(t,s)=>YT(s,t),ew=(t,s,c,i)=>{const g=kc(t).dom.createRange();return g.setStart(t.dom,s),g.setEnd(c.dom,i),g},gy=(t,s,c,i)=>{const d=ew(t,s,c,i),g=$n(t,c)&&s===i;return d.collapsed&&!g},JR=t=>_.from(t.getSelection()),xf=t=>{if(t.rangeCount>0){const s=t.getRangeAt(0),c=t.getRangeAt(t.rangeCount-1);return _.some(W1.create(ee.fromDom(s.startContainer),s.startOffset,ee.fromDom(c.endContainer),c.endOffset))}else return _.none()},pk=t=>{if(t.anchorNode===null||t.focusNode===null)return xf(t);{const s=ee.fromDom(t.anchorNode),c=ee.fromDom(t.focusNode);return gy(s,t.anchorOffset,c,t.focusOffset)?_.some(W1.create(s,t.anchorOffset,c,t.focusOffset)):xf(t)}},tw=t=>JR(t).filter(s=>s.rangeCount>0).bind(pk),hy=(t,s)=>{const c=fy(t,s);return XS(c)},Oh=(t,s)=>{const c=fy(t,s);return JS(c)},Ef=((t,s)=>{const c=g=>{if(!t(g))throw new Error("Can only get "+s+" value of a "+s+" node");return i(g).getOr("")},i=g=>t(g)?_.from(g.dom.nodeValue):_.none();return{get:c,getOption:i,set:(g,p)=>{if(!t(g))throw new Error("Can only set raw "+s+" value of a "+s+" node");g.dom.nodeValue=p}}})(_c,"text"),bk=t=>Ef.get(t),Hu=(t,s)=>({element:t,offset:s}),nw=(t,s)=>{const c=Ka(t);if(c.length===0)return Hu(t,s);if(s_c(t)?Hu(t,s):nw(t,s),zu=t=>t.foffset!==void 0,py=(t,s)=>s.getSelection.getOrThunk(()=>()=>tw(t))().map(i=>{if(zu(i)){const d=Vu(i.start,i.soffset),g=Vu(i.finish,i.foffset);return As.range(d.element,d.offset,g.element,g.offset)}else return i}),ow=(t,s,c)=>{const i=wd(s.root).dom,d=jS(t,c,s),g=py(i,s).bind(S=>{if(zu(S))return Oh(i,As.exactFromRange(S)).orThunk(()=>{const k=ee.fromText(GS);Ta(S.start,k);const R=hy(i,As.exact(k,0,k,1));return _a(k),R}).bind(k=>Cf(k.left,k.top,k.width,k.height));{const E=po(S,R=>R.dom.getBoundingClientRect()),k={left:Math.min(E.firstCell.left,E.lastCell.left),right:Math.max(E.firstCell.right,E.lastCell.right),top:Math.min(E.firstCell.top,E.lastCell.top),bottom:Math.max(E.firstCell.bottom,E.lastCell.bottom)};return Cf(k.left,k.top,k.right-k.left,k.bottom-k.top)}}),C=py(i,s).bind(S=>zu(S)?Hn(S.start)?_.some(S.start):qa(S.start):_.some(S.firstCell)).getOr(t.element);return ry(g,d,s,c,C)};var QR=[vn("getSelection"),ye("root"),vn("bubble"),Lu(),oe("overrides",{}),oe("showAbove",!1),Tn("placement",ow)];const by="link-layout",Uu=t=>t.x+t.width,nl=(t,s)=>t.x-s.width,Ah=(t,s)=>t.y-s.height+t.height,Tf=t=>t.y,vy=(t,s,c)=>rs(Uu(t),Tf(t),c.southeast(),gh(),"southeast",Xn(t,{left:0,top:2}),by),zl=(t,s,c)=>rs(nl(t,s),Tf(t),c.southwest(),Pv(),"southwest",Xn(t,{right:1,top:2}),by),hi=(t,s,c)=>rs(Uu(t),Ah(t,s),c.northeast(),B1(),"northeast",Xn(t,{left:0,bottom:3}),by),Rh=(t,s,c)=>rs(nl(t,s),Ah(t,s),c.northwest(),Qi(),"northwest",Xn(t,{right:1,bottom:3}),by),q1=()=>[vy,zl,hi,Rh],Dh=()=>[zl,vy,Rh,hi],yy=(t,s,c)=>{const i=qv(c,s.item.element),d=z1(t.element,s,q1(),Dh(),q1(),Dh(),_.none());return _.some(xh({anchorBox:i,bubble:wh(),overrides:s.overrides,layouts:d}))};var _f=[ye("item"),Lu(),oe("overrides",{}),Tn("placement",yy)],Mh=Jt("type",{selection:QR,node:ay,hotspot:J_,submenu:_f,makeshift:Q_});const Cy=[Mc("classes",_s),ac("mode","all",["all","layout","placement"])],sw=[oe("useFixed",Rn),vn("getBounds")],Wu=[rc("anchor",Mh),Br("transition",Cy)],K1=()=>{const t=document.documentElement;return Ch(0,0,t.clientWidth,t.clientHeight)},vk=t=>{const s=wa(t.element),c=t.element.dom.getBoundingClientRect();return mr(s.left,s.top,c.width,c.height)},rw=(t,s,c,i,d,g)=>{const p=H_(s.anchorBox,t);return oy(p,i.element,s.bubble,s.layouts,d,c,s.overrides,g)},Sy=(t,s,c,i,d)=>{const g=_.none();Ro(t,s,c,i,d,g)},Ro=(t,s,c,i,d,g)=>{const p=Er("placement.info",rt(Wu),d),C=p.anchor,S=i.element,E=c.get(i.uid);qe(()=>{Bt(S,"position","fixed");const k=Ns(S,"visibility");Bt(S,"visibility","hidden");const R=s.useFixed()?K1():vk(t);C.placement(t,C,R).each(B=>{const P=g.orThunk(()=>s.getBounds.map(wc)),F=rw(R,B,P,i,E,p.transition);c.set(i.uid,F)}),k.fold(()=>{ln(S,"visibility")},B=>{Bt(S,"visibility",B)}),Ns(S,"left").isNone()&&Ns(S,"top").isNone()&&Ns(S,"right").isNone()&&Ns(S,"bottom").isNone()&&Ec(Ns(S,"position"),"fixed")&&ln(S,"position")},S)};var cw=Object.freeze({__proto__:null,position:Sy,positionWithinBounds:Ro,getMode:(t,s,c)=>s.useFixed()?"fixed":"absolute",reset:(t,s,c,i)=>{const d=i.element;Ke(["position","left","right","top","bottom"],g=>ln(d,g)),NS(d),c.clear(i.uid)}}),Zu=Object.freeze({__proto__:null,init:()=>{let t={};return dc({readState:()=>t,clear:d=>{sr(d)?delete t[d]:t={}},set:(d,g)=>{t[d]=g},get:d=>We(t,d)})}});const Js=is({fields:sw,name:"positioning",active:AS,apis:cw,state:Zu}),kf=t=>t.getSystem().isConnected(),Bh=t=>{qt(t,Au());const s=t.components();Ke(s,Bh)},Of=t=>{const s=t.components();Ke(s,Of),qt(t,Nc())},wy=(t,s)=>{t.getSystem().addToWorld(s),xs(t.element)&&Of(s)},Af=t=>{Bh(t),t.getSystem().removeFromWorld(t)},Jd=(t,s)=>{Ac(t.element,s.element)},pi=t=>{Ke(t.components(),s=>_a(s.element)),Dm(t.element),t.syncComponents()},yk=(t,s,c)=>{const i=t.components();pi(t);const d=c(s),g=pt(i,d);Ke(g,p=>{Bh(p),t.getSystem().removeFromWorld(p)}),Ke(d,p=>{kf(p)?Jd(t,p):(t.getSystem().addToWorld(p),Jd(t,p),xs(t.element)&&Of(p))}),t.syncComponents()},Ck=(t,s,c)=>{const i=t.components(),d=ge(s,C=>Ym(C).toArray());Ke(i,C=>{So(d,C)||Af(C)});const g=c(s),p=pt(i,g);Ke(p,C=>{kf(C)&&Af(C)}),Ke(g,C=>{kf(C)||wy(t,C)}),t.syncComponents()},ju=(t,s)=>{Rf(t,s,Ac)},Rf=(t,s,c)=>{t.getSystem().addToWorld(s),c(t.element,s.element),xs(t.element)&&Of(s),t.syncComponents()},X1=t=>{Bh(t),_a(t.element),t.getSystem().removeFromWorld(t)},ol=t=>{const s=Ca(t.element).bind(c=>t.getSystem().getByDom(c).toOptional());X1(t),s.each(c=>{c.syncComponents()})},xy=t=>{const s=t.components();Ke(s,X1),Dm(t.element),t.syncComponents()},Rs=(t,s)=>{Na(t,s,Ac)},Wl=(t,s)=>{Na(t,s,Zg)},Na=(t,s,c)=>{c(t,s.element);const i=Ka(s.element);Ke(i,d=>{s.getByDom(d).each(Of)})},Df=t=>{const s=Ka(t.element);Ke(s,c=>{t.getByDom(c).each(Bh)}),_a(t.element)},gr=(t,s,c,i)=>{c.get().each(p=>{xy(t)});const d=s.getAttachPoint(t);ju(d,t);const g=t.getSystem().build(i);return ju(t,g),c.set(g),g},Lr=(t,s,c,i)=>{const d=gr(t,s,c,i);return s.onOpen(t,d),d},kr=(t,s,c,i)=>c.get().map(()=>gr(t,s,c,i)),Pa=(t,s,c,i,d)=>{Nh(t,s),Lr(t,s,c,i),d(),Ph(t,s)},J1=(t,s,c)=>{c.get().each(i=>{xy(t),ol(t),s.onClose(t,i),c.clear()})},Lc=(t,s,c)=>c.isOpen(),Qd=(t,s,c,i)=>Lc(t,s,c)&&c.get().exists(d=>s.isPartOf(t,d,i)),Ey=(t,s,c)=>c.get(),Sk=(t,s,c,i)=>{Ns(t.element,s).fold(()=>{Po(t.element,c)},d=>{Ze(t.element,c,d)}),Bt(t.element,s,i)},aw=(t,s,c)=>{Sr(t.element,c).fold(()=>ln(t.element,s),i=>Bt(t.element,s,i))},Nh=(t,s,c)=>{const i=s.getAttachPoint(t);Bt(t.element,"position",Js.getMode(i)),Sk(t,"visibility",s.cloakVisibilityAttr,"hidden")},iw=t=>xc(["top","left","right","bottom"],s=>Ns(t,s).isSome()),Ph=(t,s,c)=>{iw(t.element)||ln(t.element,"position"),aw(t,"visibility",s.cloakVisibilityAttr)};var Q1=Object.freeze({__proto__:null,cloak:Nh,decloak:Ph,open:Lr,openWhileCloaked:Pa,close:J1,isOpen:Lc,isPartOf:Qd,getState:Ey,setContent:kr}),lw=Object.freeze({__proto__:null,events:(t,s)=>In([be(eh(),(c,i)=>{J1(c,t,s)})])}),xk=[Qt("onOpen"),Qt("onClose"),ye("isPartOf"),ye("getAttachPoint"),oe("cloakVisibilityAttr","data-precloak-visibility")],uw=Object.freeze({__proto__:null,init:()=>{const t=Vt(),s=Q("not-implemented");return dc({readState:s,isOpen:t.isSet,clear:t.clear,set:t.set,get:t.get})}});const Kt=is({fields:xk,name:"sandboxing",active:lw,apis:Q1,state:uw}),bi=Q("dismiss.popups"),em=Q("reposition.popups"),Ty=Q("mouse.released"),dw=zn([oe("isExtraPart",Rn),Br("fireEventInstead",[oe("event",Ru())])]),$h=t=>{const s=Er("Dismissal",dw,t);return{[bi()]:{schema:zn([ye("target")]),onReceive:(c,i)=>{Kt.isOpen(c)&&(Kt.isPartOf(c,i.target)||s.isExtraPart(c,i.target)||s.fireEventInstead.fold(()=>Kt.close(c),g=>qt(c,g.event)))}}}},Ek=zn([Br("fireEventInstead",[oe("event",sS())]),ci("doReposition")]),Mf=t=>{const s=Er("Reposition",Ek,t);return{[em()]:{onReceive:c=>{Kt.isOpen(c)&&s.fireEventInstead.fold(()=>s.doReposition(c),i=>qt(c,i.event))}}}},eb=(t,s,c)=>{s.store.manager.onLoad(t,s,c)},Hc=(t,s,c)=>{s.store.manager.onUnload(t,s,c)};var Gu=Object.freeze({__proto__:null,onLoad:eb,onUnload:Hc,setValue:(t,s,c,i)=>{s.store.manager.setValue(t,s,c,i)},getValue:(t,s,c)=>s.store.manager.getValue(t,s,c),getState:(t,s,c)=>c}),ob=Object.freeze({__proto__:null,events:(t,s)=>{const c=t.resetOnDom?[Mn((i,d)=>{eb(i,t,s)}),Gi((i,d)=>{Hc(i,t,s)})]:[I1(t,s,eb)];return In(c)}});const tm=()=>{const t=mt(null),s=()=>({mode:"memory",value:t.get()}),c=()=>t.get()===null,i=()=>{t.set(null)};return dc({set:t.set,get:t.get,isNotSet:c,clear:i,readState:s})},Tk=()=>dc({readState:q}),mw=()=>{const t=mt({}),s=mt({});return dc({readState:()=>({mode:"dataset",dataByValue:t.get(),dataByText:s.get()}),lookup:p=>We(t.get(),p).orThunk(()=>We(s.get(),p)),update:p=>{const C=t.get(),S=s.get(),E={},k={};Ke(p,R=>{E[R.value]=R,We(R,"meta").each(B=>{We(B,"text").each(P=>{k[P]=R})})}),t.set({...C,...E}),s.set({...S,...k})},clear:()=>{t.set({}),s.set({})}})};var Nf=Object.freeze({__proto__:null,memory:tm,dataset:mw,manual:Tk,init:t=>t.store.manager.state(t)});const Zl=(t,s,c,i)=>{const d=s.store;c.update([i]),d.setValue(t,i),s.onSetValue(t,i)},kk=(t,s,c)=>{const i=s.store,d=i.getDataKey(t);return c.lookup(d).getOrThunk(()=>i.getFallbackEntry(d))},Ok=(t,s,c)=>{s.store.initialValue.each(d=>{Zl(t,s,c,d)})},fw=(t,s,c)=>{c.clear()};var _y=[vn("initialValue"),ye("getFallbackEntry"),ye("getDataKey"),ye("setValue"),Tn("manager",{setValue:Zl,getValue:kk,onLoad:Ok,onUnload:fw,state:mw})];const ky=(t,s,c)=>s.store.getValue(t),Oy=(t,s,c,i)=>{s.store.setValue(t,i),s.onSetValue(t,i)},sb=(t,s,c)=>{s.store.initialValue.each(i=>{s.store.setValue(t,i)})};var qu=[ye("getValue"),oe("setValue",q),vn("initialValue"),Tn("manager",{setValue:Oy,getValue:ky,onLoad:sb,onUnload:q,state:Da.init})];const gw=(t,s,c,i)=>{c.set(i),s.onSetValue(t,i)},Ih=(t,s,c)=>c.get(),Ay=(t,s,c)=>{s.store.initialValue.each(i=>{c.isNotSet()&&c.set(i)})},Ak=(t,s,c)=>{c.clear()};var Fh=[vn("initialValue"),Tn("manager",{setValue:gw,getValue:Ih,onLoad:Ay,onUnload:Ak,state:tm})],Rk=[cc("store",{mode:"memory"},Jt("mode",{memory:Fh,manual:qu,dataset:_y})),Qt("onSetValue"),oe("resetOnDom",!1)];const ze=is({fields:Rk,name:"representing",active:ob,apis:Gu,extra:{setValueFrom:(t,s)=>{const c=ze.getValue(s);ze.setValue(t,c)}},state:Nf}),Ko=(t,s)=>zi(t,{},Ee(s,c=>sv(c.name(),"Cannot configure "+c.name()+" for "+t)).concat([_o("dump",sn)])),jl=t=>t.dump,Io=(t,s)=>({...Be(s),...t.dump}),aa={field:Ko,augment:Io,get:jl},rb="placeholder",Lh=ic.generate([{single:["required","valueThunk"]},{multiple:["required","valueThunks"]}]),vi=t=>wn(t,"uiType"),cb=(t,s,c,i)=>t.exists(d=>d!==c.owner)?Lh.single(!0,Q(c)):We(i,c.name).fold(()=>{throw new Error("Unknown placeholder component: "+c.name+` -Known: [`+ho(i)+`] -Namespace: `+t.getOr("none")+` -Spec: `+JSON.stringify(c,null,2))},d=>d.replace()),ab=(t,s,c,i)=>vi(c)&&c.uiType===rb?cb(t,s,c,i):Lh.single(!1,Q(c)),Pf=(t,s,c,i)=>ab(t,s,c,i).fold((g,p)=>{const C=vi(c)?p(s,c.config,c.validated):p(s),S=We(C,"components").getOr([]),E=ge(S,k=>Pf(t,s,k,i));return[{...C,components:E}]},(g,p)=>{if(vi(c)){const C=p(s,c.config,c.validated);return c.validated.preprocess.getOr(sn)(C)}else return p(s)}),hw=(t,s,c,i)=>ge(c,d=>Pf(t,s,d,i)),Hh=(t,s)=>{let c=!1;const i=()=>c,d=()=>{if(c)throw new Error("Trying to use the same placeholder more than once: "+t);return c=!0,s},g=()=>s.fold((p,C)=>p,(p,C)=>p);return{name:Q(t),required:g,used:i,replace:d}},Ry=(t,s,c,i)=>{const d=po(i,(p,C)=>Hh(C,p)),g=hw(t,s,c,d);return ms(d,p=>{if(p.used()===!1&&p.required())throw new Error("Placeholder: "+p.name()+` was not found in components list -Namespace: `+t.getOr("none")+` -Components: `+JSON.stringify(s.components,null,2))}),g},Dy=Lh.single,Dk=Lh.multiple,yi=Q(rb),ib=ic.generate([{required:["data"]},{external:["data"]},{optional:["data"]},{group:["data"]}]),$f=oe("factory",{sketch:sn}),zs=oe("schema",[]),Uo=ye("name"),lb=$s("pname","pname",ni(t=>""),jo()),Vh=_o("schema",()=>[vn("preprocess")]),ub=oe("defaults",Q({})),zh=oe("overrides",Q({})),Uh=rt([$f,zs,Uo,lb,ub,zh]),If=rt([$f,zs,Uo,ub,zh]),pw=rt([$f,zs,Uo,lb,ub,zh]),Wh=rt([$f,Vh,Uo,ye("unit"),lb,ub,zh]),bw=t=>t.fold(_.some,_.none,_.some,_.some),vw=t=>{const s=c=>c.name;return t.fold(s,s,s,s)},yw=t=>t.fold(sn,sn,sn,sn),ia=(t,s)=>c=>{const i=Er("Converting part type",s,c);return t(i)},Qs=ia(ib.required,Uh),$a=ia(ib.external,If),Hr=ia(ib.optional,pw),Zh=ia(ib.group,Wh),db=Q("entirety");var Cw=Object.freeze({__proto__:null,required:Qs,external:$a,optional:Hr,group:Zh,asNamedPart:bw,name:vw,asCommon:yw,original:db});const jh=(t,s,c,i)=>Vn(s.defaults(t,c,i),c,{uid:t.partUids[s.name]},s.overrides(t,c,i)),Mk=(t,s,c)=>{const i={},d={};return Ke(c,g=>{g.fold(p=>{i[p.pname]=Dy(!0,(C,S,E)=>p.factory.sketch(jh(C,p,S,E)))},p=>{const C=s.parts[p.name];d[p.name]=Q(p.factory.sketch(jh(s,p,C[db()]),C))},p=>{i[p.pname]=Dy(!1,(C,S,E)=>p.factory.sketch(jh(C,p,S,E)))},p=>{i[p.pname]=Dk(!0,(C,S,E)=>{const k=C[p.name];return Ee(k,R=>p.factory.sketch(Vn(p.defaults(C,R,E),R,p.overrides(C,R))))})})}),{internals:Q(i),externals:Q(d)}},Gl=(t,s)=>{const c={};return Ke(s,i=>{bw(i).each(d=>{const g=Gh(t,d.pname);c[d.name]=p=>{const C=Er("Part: "+d.name+" in "+t,rt(d.schema),p);return{...g,config:p,validated:C}}})}),c},Gh=(t,s)=>({uiType:yi(),owner:t,name:s}),My=(t,s,c)=>({uiType:yi(),owner:t,name:s,config:c,validated:{}}),Sw=t=>ge(t,s=>s.fold(_.none,_.some,_.none,_.none).map(c=>ai(c.name,c.schema.concat([fh(db())]))).toArray()),ww=t=>Ee(t,vw),By=(t,s,c)=>Mk(t,s,c),mb=(t,s,c)=>Ry(_.some(t),s,s.components,c),Bn=(t,s,c)=>{const i=s.partUids[c];return t.getSystem().getByUid(i).toOptional()},ql=(t,s,c)=>Bn(t,s,c).getOrDie("Could not find part: "+c),xw=(t,s,c)=>{const i={},d=s.partUids,g=t.getSystem();return Ke(c,p=>{i[p]=Q(g.getByUid(d[p]))}),i},Ny=(t,s)=>{const c=t.getSystem();return po(s.partUids,(i,d)=>Q(c.getByUid(i)))},Py=t=>ho(t.partUids),nm=(t,s,c)=>{const i={},d=s.partUids,g=t.getSystem();return Ke(c,p=>{i[p]=Q(g.getByUid(d[p]).getOrDie())}),i},$y=(t,s)=>{const c=ww(s);return Fs(Ee(c,i=>({key:i,value:t+"-"+i})))},Iy=t=>$s("partUids","partUids",Wt(s=>$y(s.uid,t)),jo());var Bk=Object.freeze({__proto__:null,generate:Gl,generateOne:My,schemas:Sw,names:ww,substitutes:By,components:mb,defaultUids:$y,defaultUidsSchema:Iy,getAllParts:Ny,getAllPartNames:Py,getPart:Bn,getPartOrDie:ql,getParts:xw,getPartsOrDie:nm});const Ff=(t,s)=>(t.length>0?[ai("parts",t)]:[]).concat([ye("uid"),oe("dom",{}),oe("components",[]),fh("originalSpec"),oe("debug.sketcher",{})]).concat(s),Lf=(t,s,c,i,d)=>{const g=Ff(i,d);return Er(t+" [SpecSchema]",zn(g.concat(s)),c)},Fy=(t,s,c,i)=>{const d=Ku(i),g=Lf(t,s,d,[],[]);return c(g,d)},Ly=(t,s,c,i,d)=>{const g=Ku(d),p=Sw(c),C=Iy(c),S=Lf(t,s,g,p,[C]),E=By(t,S,c),k=mb(t,S,E.internals());return i(S,k,g,E.externals())},Ia=t=>wn(t,"uid"),Ku=t=>Ia(t)?t:{...t,uid:qm("uid")},Nk=t=>t.uid!==void 0,qh=zn([ye("name"),ye("factory"),ye("configFields"),oe("apis",{}),oe("extraApis",{})]),Pk=zn([ye("name"),ye("factory"),ye("configFields"),ye("partFields"),oe("apis",{}),oe("extraApis",{})]),bc=t=>{const s=Er("Sketcher for "+t.name,qh,t),c=g=>Fy(s.name,s.configFields,s.factory,g),i=po(s.apis,zd),d=po(s.extraApis,(g,p)=>p1(g,p));return{name:s.name,configFields:s.configFields,sketch:c,...i,...d}},er=t=>{const s=Er("Sketcher for "+t.name,Pk,t),c=p=>Ly(s.name,s.configFields,s.partFields,s.factory,p),i=Gl(s.name,s.partFields),d=po(s.apis,zd),g=po(s.extraApis,(p,C)=>p1(p,C));return{name:s.name,partFields:s.partFields,configFields:s.configFields,sketch:c,parts:i,...d,...g}},om=t=>gu("input")(t)&&xo(t,"type")!=="radio"||gu("textarea")(t);var Ew=Object.freeze({__proto__:null,getCurrent:(t,s,c)=>s.find(t)});const $k=[ye("find")],Zt=is({fields:$k,name:"composing",apis:Ew}),Hy=["input","button","textarea","select"],Tw=(t,s,c)=>{(s.disabled()?kw:Kh)(t,s)},Vy=(t,s)=>s.useNative===!0&&So(Hy,ya(t.element)),Ik=t=>B0(t.element,"disabled"),Fk=t=>{Ze(t.element,"disabled","disabled")},_w=t=>{Po(t.element,"disabled")},Lk=t=>xo(t.element,"aria-disabled")==="true",Ye=t=>{Ze(t.element,"aria-disabled","true")},Yu=t=>{Ze(t.element,"aria-disabled","false")},kw=(t,s,c)=>{s.disableClass.each(d=>{Oo(t.element,d)}),(Vy(t,s)?Fk:Ye)(t),s.onDisabled(t)},Kh=(t,s,c)=>{s.disableClass.each(d=>{oo(t.element,d)}),(Vy(t,s)?_w:Yu)(t),s.onEnabled(t)},Yh=(t,s)=>Vy(t,s)?Ik(t):Lk(t);var oD=Object.freeze({__proto__:null,enable:Kh,disable:kw,isDisabled:Yh,onLoad:Tw,set:(t,s,c,i)=>{(i?kw:Kh)(t,s)}}),Vk=Object.freeze({__proto__:null,exhibit:(t,s)=>mc({classes:s.disabled()?s.disableClass.toArray():[]}),events:(t,s)=>In([gv(uc(),(c,i)=>Yh(c,t)),I1(t,s,Tw)])}),Ow=[ps("disabled",Rn),oe("useNative",!0),vn("disableClass"),Qt("onDisabled"),Qt("onEnabled")];const bt=is({fields:Ow,name:"disabling",active:Vk,apis:oD}),Kl=(t,s,c,i)=>{const d=ls(t.element,"."+s.highlightClass);Ke(d,g=>{xc(i,C=>$n(C.element,g))||(oo(g,s.highlightClass),t.getSystem().getByDom(g).each(C=>{s.onDehighlight(t,C),qt(C,sh())}))})},Aw=(t,s,c)=>Kl(t,s,c,[]),zk=(t,s,c,i)=>{fb(t,s,c,i)&&(oo(i.element,s.highlightClass),s.onDehighlight(t,i),qt(i,sh()))},Xh=(t,s,c,i)=>{Kl(t,s,c,[i]),fb(t,s,c,i)||(Oo(i.element,s.highlightClass),s.onHighlight(t,i),qt(i,oh()))},Uk=(t,s,c)=>{Hf(t,s).each(i=>{Xh(t,s,c,i)})},Rw=(t,s,c)=>{Uy(t,s).each(i=>{Xh(t,s,c,i)})},zy=(t,s,c,i)=>{Zk(t,s,c,i).fold(d=>{throw d},d=>{Xh(t,s,c,d)})},Dw=(t,s,c,i)=>{const d=gb(t,s);_t(d,i).each(p=>{Xh(t,s,c,p)})},fb=(t,s,c,i)=>qo(i.element,s.highlightClass),Wk=(t,s,c)=>Ao(t.element,"."+s.highlightClass).bind(i=>t.getSystem().getByDom(i).toOptional()),Zk=(t,s,c,i)=>{const d=ls(t.element,"."+s.itemClass);return _.from(d[i]).fold(()=>$t.error(new Error("No element found with index "+i)),t.getSystem().getByDom)},Hf=(t,s,c)=>Ao(t.element,"."+s.itemClass).bind(i=>t.getSystem().getByDom(i).toOptional()),Uy=(t,s,c)=>{const i=ls(t.element,"."+s.itemClass);return(i.length>0?_.some(i[i.length-1]):_.none()).bind(g=>t.getSystem().getByDom(g).toOptional())},Mw=(t,s,c,i)=>{const d=ls(t.element,"."+s.itemClass);return to(d,p=>qo(p,s.highlightClass)).bind(p=>{const C=mf(p,i,0,d.length-1);return t.getSystem().getByDom(d[C]).toOptional()})},jk=(t,s,c)=>Mw(t,s,c,-1),Gk=(t,s,c)=>Mw(t,s,c,1),gb=(t,s,c)=>{const i=ls(t.element,"."+s.itemClass);return bd(Ee(i,d=>t.getSystem().getByDom(d).toOptional()))};var sl=Object.freeze({__proto__:null,dehighlightAll:Aw,dehighlight:zk,highlight:Xh,highlightFirst:Uk,highlightLast:Rw,highlightAt:zy,highlightBy:Dw,isHighlighted:fb,getHighlighted:Wk,getFirst:Hf,getLast:Uy,getPrevious:jk,getNext:Gk,getCandidates:gb}),hb=[ye("highlightClass"),ye("itemClass"),Qt("onHighlight"),Qt("onDehighlight")];const mn=is({fields:hb,name:"highlighting",apis:sl}),qk=[8],Yl=[9],rl=[13],pb=[27],Vc=[32],bb=[37],Xl=[38],Vf=[39],Jh=[40],Wy=(t,s,c)=>{const i=rr(t.slice(0,s)),d=rr(t.slice(s+1));return _t(i.concat(d),c)},Kk=(t,s,c)=>{const i=rr(t.slice(0,s));return _t(i,c)},Zy=(t,s,c)=>{const i=t.slice(0,s),d=t.slice(s+1);return _t(d.concat(i),c)},Yk=(t,s,c)=>{const i=t.slice(s+1);return _t(i,c)},Yt=t=>s=>{const c=s.raw;return So(t,c.which)},zc=t=>s=>du(t,c=>c(s)),Jl=t=>t.raw.shiftKey===!0,Xk=t=>t.raw.ctrlKey===!0,zf=Se(Jl),rn=(t,s)=>({matches:t,classification:s}),Jk=(t,s)=>_t(t,i=>i.matches(s)).map(i=>i.classification),jy=(t,s,c)=>{s.exists(d=>c.exists(g=>$n(g,d)))||it(t,l1(),{prevFocus:s,newFocus:c})},l=()=>{const t=c=>Ba(c.element);return{get:t,set:(c,i)=>{const d=t(c);c.getSystem().triggerFocus(i,c.element);const g=t(c);jy(c,d,g)}}},m=()=>{const t=c=>mn.getHighlighted(c).map(i=>i.element);return{get:t,set:(c,i)=>{const d=t(c);c.getSystem().getByDom(i).fold(q,p=>{mn.highlight(c,p)});const g=t(c);jy(c,d,g)}}};var h;(function(t){t.OnFocusMode="onFocus",t.OnEnterOrSpaceMode="onEnterOrSpace",t.OnApiMode="onApi"})(h||(h={}));const v=(t,s,c,i,d)=>{const g=()=>t.concat([oe("focusManager",l()),cc("focusInside","onFocus",Eu(E=>So(["onFocus","onEnterOrSpace","onApi"],E)?$t.value(E):$t.error("Invalid value for focusInside"))),Tn("handler",S),Tn("state",s),Tn("sendFocusIn",d)]),p=(E,k,R,B,P)=>{const F=R(E,k,B,P);return Jk(F,k.event).bind(W=>W(E,k,B,P))},S={schema:g,processKey:p,toEvents:(E,k)=>{const R=E.focusInside!==h.OnFocusMode?_.none():d(E).map(F=>be(ii(),(W,se)=>{F(W,E,k),se.stop()})),B=(F,W)=>{const se=Yt(Vc.concat(rl))(W.event);E.focusInside===h.OnEnterOrSpaceMode&&se&&Hm(F,W)&&d(E).each(K=>{K(F,E,k),W.stop()})},P=[be(Aa(),(F,W)=>{p(F,W,c,E,k).fold(()=>{B(F,W)},se=>{W.stop()})}),be(_u(),(F,W)=>{p(F,W,i,E,k).each(se=>{W.stop()})})];return In(R.toArray().concat(P))}};return S},w=t=>{const s=[vn("onEscape"),vn("onEnter"),oe("selector",'[data-alloy-tabstop="true"]:not(:disabled)'),oe("firstTabstop",0),oe("useTabstopAt",vt),vn("visibilitySelector")].concat([t]),c=(K,j)=>{const re=K.visibilitySelector.bind(we=>mi(j,we)).getOr(j);return ts(re)>0},i=(K,j)=>{const re=ls(K.element,j.selector),we=qn(re,he=>c(j,he));return _.from(we[j.firstTabstop])},d=(K,j)=>j.focusManager.get(K).bind(re=>mi(re,j.selector)),g=(K,j)=>c(K,j)&&K.useTabstopAt(j),p=(K,j,re)=>{i(K,j).each(we=>{j.focusManager.set(K,we)})},C=(K,j,re,we,he)=>he(j,re,me=>g(we,me)).fold(()=>we.cyclic?_.some(!0):_.none(),me=>(we.focusManager.set(K,me),_.some(!0))),S=(K,j,re,we)=>{const he=ls(K.element,re.selector);return d(K,re).bind(me=>to(he,an($n,me)).bind($e=>C(K,he,$e,re,we)))},E=(K,j,re)=>{const we=re.cyclic?Wy:Kk;return S(K,j,re,we)},k=(K,j,re)=>{const we=re.cyclic?Zy:Yk;return S(K,j,re,we)},R=K=>xd(K).bind(jp).exists(j=>$n(j,K)),B=(K,j,re)=>d(K,re).filter(we=>!re.useTabstopAt(we)).bind(we=>(R(we)?E:k)(K,j,re)),P=(K,j,re)=>re.onEnter.bind(we=>we(K,j)),F=(K,j,re)=>re.onEscape.bind(we=>we(K,j)),W=Q([rn(zc([Jl,Yt(Yl)]),E),rn(Yt(Yl),k),rn(zc([zf,Yt(rl)]),P)]),se=Q([rn(Yt(pb),F),rn(Yt(Yl),B)]);return v(s,Da.init,W,se,()=>_.some(p))};var T=w(_o("cyclic",Rn)),D=w(_o("cyclic",vt));const $=(t,s,c)=>(m1(t,c,uc()),_.some(!0)),H=(t,s,c)=>om(c)&&Yt(Vc)(s.event)?_.none():$(t,s,c),Z=(t,s)=>_.some(!0),te=[oe("execute",H),oe("useSpace",!1),oe("useEnter",!0),oe("useControlEnter",!1),oe("useDown",!1)],Te=(t,s,c)=>c.execute(t,s,t.element),He=(t,s,c,i)=>{const d=c.useSpace&&!om(t.element)?Vc:[],g=c.useEnter?rl:[],p=c.useDown?Jh:[],C=d.concat(g).concat(p);return[rn(Yt(C),Te)].concat(c.useControlEnter?[rn(zc([Xk,Yt(rl)]),Te)]:[])},Le=(t,s,c,i)=>c.useSpace&&!om(t.element)?[rn(Yt(Vc),Z)]:[];var ve=v(te,Da.init,He,Le,()=>_.none());const Ve=()=>{const t=Vt();return dc({readState:()=>t.get().map(d=>({numRows:String(d.numRows),numColumns:String(d.numColumns)})).getOr({numRows:"?",numColumns:"?"}),setGridSize:(d,g)=>{t.set({numRows:d,numColumns:g})},getNumRows:()=>t.get().map(d=>d.numRows),getNumColumns:()=>t.get().map(d=>d.numColumns)})};var Qe=Object.freeze({__proto__:null,flatgrid:Ve,init:t=>t.state(t)});const wt=t=>(s,c,i,d)=>{const g=t(s.element);return yo(g,s,c,i,d)},It=(t,s)=>{const c=V1(t,s);return wt(c)},Gn=(t,s)=>{const c=V1(s,t);return wt(c)},us=t=>(s,c,i,d)=>yo(t,s,c,i,d),yo=(t,s,c,i,d)=>i.focusManager.get(s).bind(p=>t(s.element,p,i,d)).map(p=>(i.focusManager.set(s,p),!0)),Vr=us,sm=us,rm=us,Gy=t=>t.offsetWidth<=0&&t.offsetHeight<=0,vb=t=>!Gy(t.dom),kn=(t,s)=>to(t,s).map(c=>({index:c,candidates:t})),hr=(t,s,c)=>{const i=p=>$n(p,s),d=ls(t,c),g=qn(d,vb);return kn(g,i)},Us=(t,s)=>to(t,c=>$n(s,c)),Uc=(t,s,c,i)=>{const d=Math.floor(s/c),g=s%c;return i(d,g).bind(p=>{const C=p.row*c+p.column;return C>=0&&CUc(t,s,i,(g,p)=>{const S=g===c-1?t.length-g*i:i,E=mf(p,d,0,S-1);return _.some({row:g,column:E})}),Xu=(t,s,c,i,d)=>Uc(t,s,i,(g,p)=>{const C=mf(g,d,0,c-1),E=C===c-1?t.length-C*i:i,k=Ic(p,0,E-1);return _.some({row:C,column:k})}),Or=(t,s,c,i)=>vc(t,s,c,i,1),qy=(t,s,c,i)=>vc(t,s,c,i,-1),Qh=(t,s,c,i)=>Xu(t,s,c,i,-1),cl=(t,s,c,i)=>Xu(t,s,c,i,1),tr=[ye("selector"),oe("execute",H),pc("onEscape"),oe("captureTab",!1),Bv()],ep=(t,s,c)=>{Ao(t.element,s.selector).each(i=>{s.focusManager.set(t,i)})},Bw=(t,s)=>s.focusManager.get(t).bind(c=>mi(c,s.selector)),Nw=(t,s,c,i)=>Bw(t,c).bind(d=>c.execute(t,s,d)),Uf=t=>(s,c,i,d)=>hr(s,c,i.selector).bind(g=>t(g.candidates,g.index,d.getNumRows().getOr(i.initSize.numRows),d.getNumColumns().getOr(i.initSize.numColumns))),Pw=(t,s,c)=>c.captureTab?_.some(!0):_.none(),yb=(t,s,c)=>c.onEscape(t,s),$w=Uf(qy),cm=Uf(Or),rD=Uf(Qh),ZF=Uf(cl),jF=Q([rn(Yt(bb),It($w,cm)),rn(Yt(Vf),Gn($w,cm)),rn(Yt(Xl),Vr(rD)),rn(Yt(Jh),sm(ZF)),rn(zc([Jl,Yt(Yl)]),Pw),rn(zc([zf,Yt(Yl)]),Pw),rn(Yt(Vc.concat(rl)),Nw)]),GF=Q([rn(Yt(pb),yb),rn(Yt(Vc),Z)]);var qF=v(tr,Ve,jF,GF,()=>_.some(ep));const cD=(t,s,c,i,d)=>{const g=C=>ya(C)==="button"&&xo(C,"disabled")==="disabled",p=(C,S,E)=>d(C,S,i,0,E.length-1,E[S],k=>g(E[k])?p(C,k,E):_.from(E[k]));return hr(t,c,s).bind(C=>{const S=C.index,E=C.candidates;return p(S,S,E)})},aD=(t,s,c,i)=>cD(t,s,c,i,(d,g,p,C,S,E,k)=>{const R=Ic(g+p,C,S);return R===d?_.from(E):k(R)}),Cb=(t,s,c,i)=>cD(t,s,c,i,(d,g,p,C,S,E,k)=>{const R=mf(g,p,C,S);return R===d?_.none():k(R)}),Qk=[ye("selector"),oe("getInitial",_.none),oe("execute",H),pc("onEscape"),oe("executeOnMove",!1),oe("allowVertical",!0),oe("allowHorizontal",!0),oe("cycles",!0)],KF=(t,s)=>s.focusManager.get(t).bind(c=>mi(c,s.selector)),iD=(t,s,c)=>KF(t,c).bind(i=>c.execute(t,s,i)),lD=(t,s,c)=>{s.getInitial(t).orThunk(()=>Ao(t.element,s.selector)).each(i=>{s.focusManager.set(t,i)})},uD=(t,s,c)=>(c.cycles?Cb:aD)(t,c.selector,s,-1),dD=(t,s,c)=>(c.cycles?Cb:aD)(t,c.selector,s,1),Fa=t=>(s,c,i,d)=>t(s,c,i,d).bind(()=>i.executeOnMove?iD(s,c,i):_.some(!0)),YF=(t,s,c)=>c.onEscape(t,s),XF=(t,s,c,i)=>{const d=[...c.allowHorizontal?bb:[]].concat(c.allowVertical?Xl:[]),g=[...c.allowHorizontal?Vf:[]].concat(c.allowVertical?Jh:[]);return[rn(Yt(d),Fa(It(uD,dD))),rn(Yt(g),Fa(Gn(uD,dD))),rn(Yt(rl),iD),rn(Yt(Vc),iD)]},JF=Q([rn(Yt(Vc),Z),rn(Yt(pb),YF)]);var QF=v(Qk,Da.init,XF,JF,()=>_.some(lD));const Iw=(t,s,c)=>_.from(t[s]).bind(i=>_.from(i[c]).map(d=>({rowIndex:s,columnIndex:c,cell:d}))),tp=(t,s,c,i)=>{const g=t[s].length,p=mf(c,i,0,g-1);return Iw(t,s,p)},Fw=(t,s,c,i)=>{const d=mf(c,i,0,t.length-1),g=t[d].length,p=Ic(s,0,g-1);return Iw(t,d,p)},mD=(t,s,c,i)=>{const g=t[s].length,p=Ic(c+i,0,g-1);return Iw(t,s,p)},Lw=(t,s,c,i)=>{const d=Ic(c+i,0,t.length-1),g=t[d].length,p=Ic(s,0,g-1);return Iw(t,d,p)},Hw=(t,s,c)=>tp(t,s,c,1),e4=(t,s,c)=>tp(t,s,c,-1),e6=(t,s,c)=>Fw(t,c,s,-1),t6=(t,s,c)=>Fw(t,c,s,1),n6=(t,s,c)=>mD(t,s,c,-1),o6=(t,s,c)=>mD(t,s,c,1),s6=(t,s,c)=>Lw(t,c,s,-1),r6=(t,s,c)=>Lw(t,c,s,1),fD=[ai("selectors",[ye("row"),ye("cell")]),oe("cycles",!0),oe("previousSelector",_.none),oe("execute",H)],t4=(t,s,c)=>{s.previousSelector(t).orThunk(()=>{const d=s.selectors;return Ao(t.element,d.cell)}).each(d=>{s.focusManager.set(t,d)})},c6=(t,s,c)=>Ba(t.element).bind(i=>c.execute(t,s,i)),a6=(t,s)=>Ee(t,c=>ls(c,s.selectors.cell)),Vw=(t,s)=>(c,i,d)=>{const g=d.cycles?t:s;return mi(i,d.selectors.row).bind(p=>{const C=ls(p,d.selectors.cell);return Us(C,i).bind(S=>{const E=ls(c,d.selectors.row);return Us(E,p).bind(k=>{const R=a6(E,d);return g(R,k,S).map(B=>B.cell)})})})},gD=Vw(e4,n6),Wf=Vw(Hw,o6),hD=Vw(e6,s6),i6=Vw(t6,r6),n4=Q([rn(Yt(bb),It(gD,Wf)),rn(Yt(Vf),Gn(gD,Wf)),rn(Yt(Xl),Vr(hD)),rn(Yt(Jh),sm(i6)),rn(Yt(Vc.concat(rl)),c6)]),l6=Q([rn(Yt(Vc),Z)]);var pD=v(fD,Da.init,n4,l6,()=>_.some(t4));const bD=[ye("selector"),oe("execute",H),oe("moveOnTab",!1)],o4=(t,s,c)=>c.focusManager.get(t).bind(i=>c.execute(t,s,i)),vD=(t,s,c)=>{Ao(t.element,s.selector).each(i=>{s.focusManager.set(t,i)})},s4=(t,s,c)=>Cb(t,c.selector,s,-1),yD=(t,s,c)=>Cb(t,c.selector,s,1),u6=(t,s,c,i)=>c.moveOnTab?rm(s4)(t,s,c,i):_.none(),d6=(t,s,c,i)=>c.moveOnTab?rm(yD)(t,s,c,i):_.none(),r4=Q([rn(Yt(Xl),rm(s4)),rn(Yt(Jh),rm(yD)),rn(zc([Jl,Yt(Yl)]),u6),rn(zc([zf,Yt(Yl)]),d6),rn(Yt(rl),o4),rn(Yt(Vc),o4)]),m6=Q([rn(Yt(Vc),Z)]);var f6=v(bD,Da.init,r4,m6,()=>_.some(vD));const g6=[pc("onSpace"),pc("onEnter"),pc("onShiftEnter"),pc("onLeft"),pc("onRight"),pc("onTab"),pc("onShiftTab"),pc("onUp"),pc("onDown"),pc("onEscape"),oe("stopSpaceKeyup",!1),vn("focusIn")],h6=(t,s,c)=>[rn(Yt(Vc),c.onSpace),rn(zc([zf,Yt(rl)]),c.onEnter),rn(zc([Jl,Yt(rl)]),c.onShiftEnter),rn(zc([Jl,Yt(Yl)]),c.onShiftTab),rn(zc([zf,Yt(Yl)]),c.onTab),rn(Yt(Xl),c.onUp),rn(Yt(Jh),c.onDown),rn(Yt(bb),c.onLeft),rn(Yt(Vf),c.onRight),rn(Yt(Vc),c.onSpace)],CD=(t,s,c)=>[...c.stopSpaceKeyup?[rn(Yt(Vc),Z)]:[],rn(Yt(pb),c.onEscape)];var p6=v(g6,Da.init,h6,CD,t=>t.focusIn);const b6=T.schema(),v6=D.schema(),SD=QF.schema(),y6=qF.schema(),C6=pD.schema(),wD=ve.schema(),S6=f6.schema(),w6=p6.schema();var zw=Object.freeze({__proto__:null,acyclic:b6,cyclic:v6,flow:SD,flatgrid:y6,matrix:C6,execution:wD,menu:S6,special:w6});const x6=t=>ta(t,"setGridSize"),lt=F1({branchKey:"mode",branches:zw,name:"keying",active:{events:(t,s)=>t.handler.toEvents(t,s)},apis:{focusIn:(t,s,c)=>{s.sendFocusIn(s).fold(()=>{t.getSystem().triggerFocus(t.element,t.element)},i=>{i(t,s,c)})},setGridSize:(t,s,c,i,d)=>{x6(c)?c.setGridSize(i,d):console.error("Layout does not support setGridSize")}},state:Qe}),zr=(t,s)=>{qe(()=>{yk(t,s,()=>Ee(s,t.getSystem().build))},t.element)},xD=(t,s)=>{qe(()=>{Ck(t,s,()=>jR(t.element,s,t.getSystem().buildOrPatch))},t.element)},ED=(t,s,c,i)=>{Af(s);const d=hS(t.element,c,i,t.getSystem().buildOrPatch);wy(t,d),t.syncComponents()},Uw=(t,s,c)=>{const i=t.getSystem().build(c);Rf(t,i,s)},E6=(t,s,c,i)=>{ol(s),Uw(t,(d,g)=>Es(d,g,c),i)},TD=(t,s,c,i)=>(s.reuseDom?xD:zr)(t,i),_D=(t,s,c,i)=>{Uw(t,Ac,i)},T6=(t,s,c,i)=>{Uw(t,U0,i)},_6=(t,s,c,i)=>{const d=Ww(t);_t(d,p=>$n(i.element,p.element)).each(ol)},Ww=(t,s)=>t.components(),kD=(t,s,c,i,d)=>{const g=Ww(t);return _.from(g[i]).map(p=>(d.fold(()=>ol(p),C=>{(s.reuseDom?ED:E6)(t,p,i,C)}),p))};var O6=Object.freeze({__proto__:null,append:_D,prepend:T6,remove:_6,replaceAt:kD,replaceBy:(t,s,c,i,d)=>{const g=Ww(t);return to(g,i).bind(p=>kD(t,s,c,p,d))},set:TD,contents:Ww});const kt=is({fields:[ss("reuseDom",!0)],name:"replacing",apis:O6}),OD=(t,s)=>{const c=In(s);return is({fields:[ye("enabled")],name:t,active:{events:Q(c)}})},Nt=(t,s)=>{const c=OD(t,s);return{key:t,value:{config:{},me:c,configAsRaw:Q({}),initialConfig:{},state:Da}}},c4=(t,s)=>{s.ignore||(Fr(t.element),s.onFocus(t))};var A6=Object.freeze({__proto__:null,focus:c4,blur:(t,s)=>{s.ignore||hf(t.element)},isFocused:t=>yh(t.element)}),AD=Object.freeze({__proto__:null,exhibit:(t,s)=>{const c=s.ignore?{}:{attributes:{tabindex:"-1"}};return mc(c)},events:t=>In([be(ii(),(s,c)=>{c4(s,t),c.stop()})].concat(t.stopMousedown?[be(Go(),(s,c)=>{c.event.prevent()})]:[]))}),Zf=[Qt("onFocus"),oe("stopMousedown",!1),oe("ignore",!1)];const yt=is({fields:Zf,name:"focusing",active:AD,apis:A6}),RD=t=>({init:()=>{const c=mt(t);return{get:()=>c.get(),set:C=>c.set(C),clear:()=>c.set(t),readState:()=>c.get()}}}),a4=(t,s,c)=>{const i=s.aria;i.update(t,i,c.get())},D6=(t,s,c)=>{s.toggleClass.each(i=>{c.get()?Oo(t.element,i):oo(t.element,i)})},Ky=(t,s,c,i)=>{const d=c.get();c.set(i),D6(t,s,c),a4(t,s,c),d!==i&&s.onToggled(t,i)},DD=(t,s,c)=>{Ky(t,s,c,!c.get())},M6=(t,s,c)=>{Ky(t,s,c,!0)},MD=(t,s,c)=>{Ky(t,s,c,!1)},i4=(t,s,c)=>c.get(),Zw=(t,s,c)=>{Ky(t,s,c,s.selected)};var B6=Object.freeze({__proto__:null,onLoad:Zw,toggle:DD,isOn:i4,on:M6,off:MD,set:Ky}),BD=Object.freeze({__proto__:null,exhibit:()=>mc({}),events:(t,s)=>{const c=gf(t,s,DD),i=I1(t,s,Zw);return In(Dt([t.toggleOnExecute?[c]:[],[i]]))}});const P6=(t,s,c)=>{Ze(t.element,"aria-pressed",c),s.syncWithExpanded&&Sb(t,s,c)},$6=(t,s,c)=>{Ze(t.element,"aria-selected",c)},Yy=(t,s,c)=>{Ze(t.element,"aria-checked",c)},Sb=(t,s,c)=>{Ze(t.element,"aria-expanded",c)};var ND=[oe("selected",!1),vn("toggleClass"),oe("toggleOnExecute",!0),Qt("onToggled"),cc("aria",{mode:"none"},Jt("mode",{pressed:[oe("syncWithExpanded",!1),Tn("update",P6)],checked:[Tn("update",Yy)],expanded:[Tn("update",Sb)],selected:[Tn("update",$6)],none:[Tn("update",q)]}))];const Ft=is({fields:ND,name:"toggling",active:BD,apis:B6,state:RD(!1)}),am=()=>{const t=(s,c)=>{c.stop(),Ml(s)};return[be(Dl(),t),be(li(),t),Bl(Wi()),Bl(Go())]},Ql=t=>{const s=c=>Ra((i,d)=>{c(i),d.stop()});return In(Dt([t.map(s).toArray(),am()]))},PD="alloy.item-hover",$D="alloy.item-focus",l4="alloy.item-toggled",Ju=t=>{(Ba(t.element).isNone()||yt.isFocused(t))&&(yt.isFocused(t)||yt.focus(t),it(t,PD,{item:t}))},jw=t=>{it(t,$D,{item:t})},I6=(t,s)=>{it(t,l4,{item:t,state:s})},u4=Q(PD),ID=Q($D),FD=Q(l4),d4=t=>t.toggling.map(s=>s.exclusive?"menuitemradio":"menuitemcheckbox").getOr("menuitem"),LD=t=>({aria:{mode:"checked"},...pd(t,(s,c)=>c!=="exclusive"),onToggled:(s,c)=>{gt(t.onToggled)&&t.onToggled(s,c),I6(s,c)}}),F6=t=>({dom:t.dom,domModification:{...t.domModification,attributes:{role:d4(t),...t.domModification.attributes,"aria-haspopup":t.hasSubmenu,...t.hasSubmenu?{"aria-expanded":!1}:{}}},behaviours:aa.augment(t.itemBehaviours,[t.toggling.fold(Ft.revoke,s=>Ft.config(LD(s))),yt.config({ignore:t.ignoreFocus,stopMousedown:t.ignoreFocus,onFocus:s=>{jw(s)}}),lt.config({mode:"execution"}),ze.config({store:{mode:"memory",initialValue:t.data}}),Nt("item-type-events",[...am(),be(Rl(),Ju),be(fo(),yt.focus)])]),components:t.components,eventOrder:t.eventOrder}),L6=[ye("data"),ye("components"),ye("dom"),oe("hasSubmenu",!1),vn("toggling"),aa.field("itemBehaviours",[Ft,yt,lt,ze]),oe("ignoreFocus",!1),oe("domModification",{}),Tn("builder",F6),oe("eventOrder",{})],H6=t=>({dom:t.dom,components:t.components,events:In([g_(fo())])}),Gw=[ye("dom"),ye("components"),Tn("builder",H6)],Xy=Q("item-widget"),Jy=Q([Qs({name:"widget",overrides:t=>({behaviours:Be([ze.config({store:{mode:"manual",getValue:s=>t.data,setValue:q}})])})})]),V6=t=>{const s=By(Xy(),t,Jy()),c=mb(Xy(),t,s.internals()),i=g=>Bn(g,t,"widget").map(p=>(lt.focusIn(p),p)),d=(g,p)=>om(p.event.target)?_.none():(()=>(t.autofocus&&p.setSource(g.element),_.none()))();return{dom:t.dom,components:c,domModification:t.domModification,events:In([Ra((g,p)=>{i(g).each(C=>{p.stop()})}),be(Rl(),Ju),be(fo(),(g,p)=>{t.autofocus?i(g):yt.focus(g)})]),behaviours:aa.augment(t.widgetBehaviours,[ze.config({store:{mode:"memory",initialValue:t.data}}),yt.config({ignore:t.ignoreFocus,onFocus:g=>{jw(g)}}),lt.config({mode:"special",focusIn:t.autofocus?g=>{i(g)}:Zv(),onLeft:d,onRight:d,onEscape:(g,p)=>!yt.isFocused(g)&&!t.autofocus?(yt.focus(g),_.some(!0)):(t.autofocus&&p.setSource(g.element),_.none())})])}},z6=[ye("uid"),ye("data"),ye("components"),ye("dom"),oe("autofocus",!1),oe("ignoreFocus",!1),aa.field("widgetBehaviours",[ze,yt,lt]),oe("domModification",{}),Iy(Jy()),Tn("builder",V6)],HD=Jt("type",{widget:z6,item:L6,separator:Gw}),VD=(t,s)=>({mode:"flatgrid",selector:"."+t.markers.item,initSize:{numColumns:s.initSize.numColumns,numRows:s.initSize.numRows},focusManager:t.focusManager}),zD=(t,s)=>({mode:"matrix",selectors:{row:s.rowSelector,cell:"."+t.markers.item},previousSelector:s.previousSelector,focusManager:t.focusManager}),UD=(t,s)=>({mode:"menu",selector:"."+t.markers.item,moveOnTab:s.moveOnTab,focusManager:t.focusManager}),U6=Q([Zh({factory:{sketch:t=>{const s=Er("menu.spec item",HD,t);return s.builder(s)}},name:"items",unit:"item",defaults:(t,s)=>wn(s,"uid")?s:{...s,uid:qm("item")},overrides:(t,s)=>({type:s.type,ignoreFocus:t.fakeFocus,domModification:{classes:[t.markers.item]}})})]),m4=Q([ye("value"),ye("items"),ye("dom"),ye("components"),oe("eventOrder",{}),Ko("menuBehaviours",[mn,ze,Zt,lt]),cc("movement",{mode:"menu",moveOnTab:!0},Jt("mode",{grid:[Bv(),Tn("config",VD)],matrix:[Tn("config",zD),ye("rowSelector"),oe("previousSelector",_.none)],menu:[oe("moveOnTab",!0),Tn("config",UD)]})),R_(),oe("fakeFocus",!1),oe("focusManager",l()),Qt("onHighlight"),Qt("onDehighlight")]),WD=Q("alloy.menu-focus"),W6=(t,s)=>{const c=ls(t.element,'[role="menuitemradio"][aria-checked="true"]');Ke(c,i=>{$n(i,s.element)||t.getSystem().getByDom(i).each(d=>{Ft.off(d)})})},Z6=(t,s,c,i)=>({uid:t.uid,dom:t.dom,markers:t.markers,behaviours:Io(t.menuBehaviours,[mn.config({highlightClass:t.markers.selectedItem,itemClass:t.markers.item,onHighlight:t.onHighlight,onDehighlight:t.onDehighlight}),ze.config({store:{mode:"memory",initialValue:t.value}}),Zt.config({find:_.some}),lt.config(t.movement.config(t,t.movement))]),events:In([be(ID(),(d,g)=>{const p=g.event;d.getSystem().getByDom(p.target).each(C=>{mn.highlight(d,C),g.stop(),it(d,WD(),{menu:d,item:C})})}),be(u4(),(d,g)=>{const p=g.event.item;mn.highlight(d,p)}),be(FD(),(d,g)=>{const{item:p,state:C}=g.event;C&&xo(p.element,"role")==="menuitemradio"&&W6(d,p)})]),components:s,eventOrder:t.eventOrder,domModification:{attributes:{role:"menu"}}}),op=er({name:"Menu",configFields:m4(),partFields:U6(),factory:Z6}),ZD=t=>Mg(t,(s,c)=>({k:s,v:c})),jD=(t,s,c,i)=>We(c,i).bind(d=>We(t,d).bind(g=>{const p=jD(t,s,c,g);return _.some([g].concat(p))})).getOr([]),j6=(t,s)=>{const c={};ms(t,(p,C)=>{Ke(p,S=>{c[S]=C})});const i=s,d=ZD(s),g=po(d,(p,C)=>[C].concat(jD(c,i,d,C)));return po(c,p=>We(g,p).getOr([p]))},GD=()=>{const t=mt({}),s=mt({}),c=mt({}),i=Vt(),d=mt({}),g=()=>{t.set({}),s.set({}),c.set({}),i.clear()},p=()=>i.get().isNone(),C=(he,me)=>{s.set({...s.get(),[he]:{type:"prepared",menu:me}})},S=(he,me,De,$e)=>{i.set(he),t.set(De),s.set(me),d.set($e);const Pt=j6($e,De);c.set(Pt)},E=he=>Cr(t.get(),(me,De)=>me===he),k=(he,me,De)=>W(he).bind($e=>E(he).bind(Pt=>me(Pt).map(tt=>({triggeredMenu:$e,triggeringItem:tt,triggeringPath:De})))),R=(he,me)=>{const De=qn(K(he).toArray(),$e=>W($e).isSome());return We(c.get(),he).bind($e=>{const Pt=rr(De.concat($e)),tt=ge(Pt,(ft,Ct)=>k(ft,me,Pt.slice(0,Ct+1)).fold(()=>Ec(i.get(),ft)?[]:[_.none()],yn=>[_.some(yn)]));return so(tt)})},B=he=>We(t.get(),he).map(me=>{const De=We(c.get(),he).getOr([]);return[me].concat(De)}),P=he=>We(c.get(),he).bind(me=>me.length>1?_.some(me.slice(1)):_.none()),F=he=>We(c.get(),he),W=he=>se(he).bind(wb),se=he=>We(s.get(),he),K=he=>We(t.get(),he);return{setMenuBuilt:C,setContents:S,expand:B,refresh:F,collapse:P,lookupMenu:se,lookupItem:K,otherMenus:he=>{const me=d.get();return pt(ho(me),he)},getPrimary:()=>i.get().bind(W),getMenus:()=>s.get(),clear:g,isClear:p,getTriggeringPath:R}},wb=t=>t.type==="prepared"?_.some(t.menu):_.none(),qD={init:GD,extractPreparedMenu:wb},xb=Xe("tiered-menu-item-highlight"),qw=Xe("tiered-menu-item-dehighlight");var Ur;(function(t){t[t.HighlightMenuAndItem=0]="HighlightMenuAndItem",t[t.HighlightJustMenu=1]="HighlightJustMenu",t[t.HighlightNone=2]="HighlightNone"})(Ur||(Ur={}));const KD=(t,s)=>{const c=Vt(),i=(Ie,et,xt)=>po(xt,(jt,ht)=>{const At=()=>op.sketch({...jt,value:ht,markers:t.markers,fakeFocus:t.fakeFocus,onHighlight:(Pn,fn)=>{it(Pn,xb,{menuComp:Pn,itemComp:fn})},onDehighlight:(Pn,fn)=>{it(Pn,qw,{menuComp:Pn,itemComp:fn})},focusManager:t.fakeFocus?m():l()});return ht===et?{type:"prepared",menu:Ie.getSystem().build(At())}:{type:"notbuilt",nbMenu:At}}),d=qD.init(),g=Ie=>{const et=i(Ie,t.data.primary,t.data.menus),xt=S();return d.setContents(t.data.primary,et,t.data.expansions,xt),d.getPrimary()},p=Ie=>ze.getValue(Ie).value,C=(Ie,et,xt)=>Bs(et,jt=>{if(!jt.getSystem().isConnected())return _.none();const ht=mn.getCandidates(jt);return _t(ht,At=>p(At)===xt)}),S=Ie=>po(t.data.menus,(et,xt)=>ge(et.items,jt=>jt.type==="separator"?[]:[jt.data.value])),E=mn.highlight,k=(Ie,et)=>{E(Ie,et),mn.getHighlighted(et).orThunk(()=>mn.getFirst(et)).each(xt=>{t.fakeFocus?mn.highlight(et,xt):m1(Ie,xt.element,fo())})},R=(Ie,et)=>bd(Ee(et,xt=>Ie.lookupMenu(xt).bind(jt=>jt.type==="prepared"?_.some(jt.menu):_.none()))),B=(Ie,et,xt)=>{const jt=R(et,et.otherMenus(xt));Ke(jt,ht=>{Pc(ht.element,[t.markers.backgroundMenu]),t.stayInDom||kt.remove(Ie,ht)})},P=Ie=>c.get().getOrThunk(()=>{const et={},xt=ls(Ie.element,`.${t.markers.item}`),jt=qn(xt,ht=>xo(ht,"aria-haspopup")==="true");return Ke(jt,ht=>{Ie.getSystem().getByDom(ht).each(At=>{const Pn=p(At);et[Pn]=At})}),c.set(et),et}),F=(Ie,et)=>{const xt=P(Ie);ms(xt,(jt,ht)=>{const At=So(et,ht);Ze(jt.element,"aria-expanded",At)})},W=(Ie,et,xt)=>_.from(xt[0]).bind(jt=>et.lookupMenu(jt).bind(ht=>{if(ht.type==="notbuilt")return _.none();{const At=ht.menu,Pn=R(et,xt.slice(1));return Ke(Pn,fn=>{Oo(fn.element,t.markers.backgroundMenu)}),xs(At.element)||kt.append(Ie,$c(At)),Pc(At.element,[t.markers.backgroundMenu]),k(Ie,At),B(Ie,et,xt),_.some(At)}}));let se;(function(Ie){Ie[Ie.HighlightSubmenu=0]="HighlightSubmenu",Ie[Ie.HighlightParent=1]="HighlightParent"})(se||(se={}));const K=(Ie,et,xt)=>{if(xt.type==="notbuilt"){const jt=Ie.getSystem().build(xt.nbMenu());return d.setMenuBuilt(et,jt),jt}else return xt.menu},j=(Ie,et,xt=se.HighlightSubmenu)=>{if(et.hasConfigured(bt)&&bt.isDisabled(et))return _.some(et);{const jt=p(et);return d.expand(jt).bind(ht=>(F(Ie,ht),_.from(ht[0]).bind(At=>d.lookupMenu(At).bind(Pn=>{const fn=K(Ie,At,Pn);return xs(fn.element)||kt.append(Ie,$c(fn)),t.onOpenSubmenu(Ie,et,fn,rr(ht)),xt===se.HighlightSubmenu?(mn.highlightFirst(fn),W(Ie,d,ht)):(mn.dehighlightAll(fn),_.some(et))}))))}},re=(Ie,et)=>{const xt=p(et);return d.collapse(xt).bind(jt=>(F(Ie,jt),W(Ie,d,jt).map(ht=>(t.onCollapseMenu(Ie,et,ht),ht))))},we=(Ie,et)=>{const xt=p(et);return d.refresh(xt).bind(jt=>(F(Ie,jt),W(Ie,d,jt)))},he=(Ie,et)=>om(et.element)?_.none():j(Ie,et,se.HighlightSubmenu),me=(Ie,et)=>om(et.element)?_.none():re(Ie,et),De=(Ie,et)=>re(Ie,et).orThunk(()=>t.onEscape(Ie,et).map(()=>Ie)),$e=Ie=>(et,xt)=>mi(xt.getSource(),`.${t.markers.item}`).bind(jt=>et.getSystem().getByDom(jt).toOptional().bind(ht=>Ie(et,ht).map(vt))),Pt=In([be(WD(),(Ie,et)=>{const xt=et.event.item;d.lookupItem(p(xt)).each(()=>{const jt=et.event.menu;mn.highlight(Ie,jt);const ht=p(et.event.item);d.refresh(ht).each(At=>B(Ie,d,At))})}),Ra((Ie,et)=>{const xt=et.event.target;Ie.getSystem().getByDom(xt).each(jt=>{p(jt).indexOf("collapse-item")===0&&re(Ie,jt),j(Ie,jt,se.HighlightSubmenu).fold(()=>{t.onExecute(Ie,jt)},q)})}),Mn((Ie,et)=>{g(Ie).each(xt=>{kt.append(Ie,$c(xt)),t.onOpenMenu(Ie,xt),t.highlightOnOpen===Ur.HighlightMenuAndItem?k(Ie,xt):t.highlightOnOpen===Ur.HighlightJustMenu&&E(Ie,xt)})}),be(xb,(Ie,et)=>{t.onHighlightItem(Ie,et.event.menuComp,et.event.itemComp)}),be(qw,(Ie,et)=>{t.onDehighlightItem(Ie,et.event.menuComp,et.event.itemComp)}),...t.navigateOnHover?[be(u4(),(Ie,et)=>{const xt=et.event.item;we(Ie,xt),j(Ie,xt,se.HighlightParent),t.onHover(Ie,xt)})]:[]]),tt=Ie=>mn.getHighlighted(Ie).bind(mn.getHighlighted),ft=Ie=>{tt(Ie).each(et=>{re(Ie,et)})},Ct=Ie=>{d.getPrimary().each(et=>{k(Ie,et)})},yn=Ie=>_.from(Ie.components()[0]).filter(et=>xo(et.element,"role")==="menu"),on={collapseMenu:ft,highlightPrimary:Ct,repositionMenus:Ie=>{d.getPrimary().bind(xt=>tt(Ie).bind(jt=>{const ht=p(jt),At=T0(d.getMenus()),Pn=bd(Ee(At,qD.extractPreparedMenu));return d.getTriggeringPath(ht,fn=>C(Ie,Pn,fn))}).map(jt=>({primary:xt,triggeringPath:jt}))).fold(()=>{yn(Ie).each(xt=>{t.onRepositionMenu(Ie,xt,[])})},({primary:xt,triggeringPath:jt})=>{t.onRepositionMenu(Ie,xt,jt)})}};return{uid:t.uid,dom:t.dom,markers:t.markers,behaviours:Io(t.tmenuBehaviours,[lt.config({mode:"special",onRight:$e(he),onLeft:$e(me),onEscape:$e(De),focusIn:(Ie,et)=>{d.getPrimary().each(xt=>{m1(Ie,xt.element,fo())})}}),mn.config({highlightClass:t.markers.selectedMenu,itemClass:t.markers.menu}),Zt.config({find:Ie=>mn.getHighlighted(Ie)}),kt.config({})]),eventOrder:t.eventOrder,apis:on,events:Pt}},G6=Q("collapse-item"),q6=(t,s,c)=>({primary:t,menus:s,expansions:c}),YD=(t,s)=>({primary:t,menus:Pr(t,s),expansions:{}}),K6=t=>({value:Xe(G6()),meta:{text:t}}),jf=bc({name:"TieredMenu",configFields:[Mv("onExecute"),Mv("onEscape"),fi("onOpenMenu"),fi("onOpenSubmenu"),Qt("onRepositionMenu"),Qt("onCollapseMenu"),oe("highlightOnOpen",Ur.HighlightMenuAndItem),ai("data",[ye("primary"),ye("menus"),ye("expansions")]),oe("fakeFocus",!1),Qt("onHighlightItem"),Qt("onDehighlightItem"),Qt("onHover"),mh(),ye("dom"),oe("navigateOnHover",!0),oe("stayInDom",!1),Ko("tmenuBehaviours",[lt,mn,Zt,kt]),oe("eventOrder",{})],apis:{collapseMenu:(t,s)=>{t.collapseMenu(s)},highlightPrimary:(t,s)=>{t.highlightPrimary(s)},repositionMenus:(t,s)=>{t.repositionMenus(s)}},factory:KD,extraApis:{tieredData:q6,singleData:YD,collapseItem:K6}}),Y6=(t,s,c,i,d)=>{const g=()=>t.lazySink(s),p=i.type==="horizontal"?{layouts:{onLtr:()=>$1(),onRtl:()=>Uv()}}:{},C=E=>E.length===2,S=E=>C(E)?p:{};return jf.sketch({dom:{tag:"div"},data:i.data,markers:i.menu.markers,highlightOnOpen:i.menu.highlightOnOpen,fakeFocus:i.menu.fakeFocus,onEscape:()=>(Kt.close(s),t.onEscape.map(E=>E(s)),_.some(!0)),onExecute:()=>_.some(!0),onOpenMenu:(E,k)=>{Js.positionWithinBounds(g().getOrDie(),k,c,d())},onOpenSubmenu:(E,k,R,B)=>{const P=g().getOrDie();Js.position(P,R,{anchor:{type:"submenu",item:k,...S(B)}})},onRepositionMenu:(E,k,R)=>{const B=g().getOrDie();Js.positionWithinBounds(B,k,c,d()),Ke(R,P=>{const F=S(P.triggeringPath);Js.position(B,P.triggeredMenu,{anchor:{type:"submenu",item:P.triggeringItem,...F}})})}})},X6=(t,s)=>{const c=(B,P)=>t.getRelated(B).exists(W=>Fl(W,P)),i=(B,P)=>{Kt.setContent(B,P)},d=(B,P,F)=>{const W=_.none;g(B,P,F,W)},g=(B,P,F,W)=>{const se=t.lazySink(B).getOrDie();Kt.openWhileCloaked(B,P,()=>Js.positionWithinBounds(se,B,F,W())),ze.setValue(B,_.some({mode:"position",config:F,getBounds:W}))},p=(B,P,F)=>{C(B,P,F,_.none)},C=(B,P,F,W)=>{const se=Y6(t,B,P,F,W);Kt.open(B,se),ze.setValue(B,_.some({mode:"menu",menu:se}))},S=B=>{Kt.isOpen(B)&&(ze.setValue(B,_.none()),Kt.close(B))},E=B=>Kt.getState(B),k=B=>{Kt.isOpen(B)&&ze.getValue(B).each(P=>{switch(P.mode){case"menu":Kt.getState(B).each(jf.repositionMenus);break;case"position":const F=t.lazySink(B).getOrDie();Js.positionWithinBounds(F,B,P.config,P.getBounds());break}})},R={setContent:i,showAt:d,showWithinBounds:g,showMenuAt:p,showMenuWithinBounds:C,hide:S,getContent:E,reposition:k,isOpen:Kt.isOpen};return{uid:t.uid,dom:t.dom,behaviours:Io(t.inlineBehaviours,[Kt.config({isPartOf:(B,P,F)=>Fl(P,F)||c(B,F),getAttachPoint:B=>t.lazySink(B).getOrDie(),onOpen:B=>{t.onShow(B)},onClose:B=>{t.onHide(B)}}),ze.config({store:{mode:"memory",initialValue:_.none()}}),Ir.config({channels:{...$h({isExtraPart:s.isExtraPart,...t.fireDismissalEventInstead.map(B=>({fireEventInstead:{event:B.event}})).getOr({})}),...Mf({...t.fireRepositionEventInstead.map(B=>({fireEventInstead:{event:B.event}})).getOr({}),doReposition:k})}})]),eventOrder:t.eventOrder,apis:R}},io=bc({name:"InlineView",configFields:[ye("lazySink"),Qt("onShow"),Qt("onHide"),Dd("onEscape"),Ko("inlineBehaviours",[Kt,ze,Ir]),Br("fireDismissalEventInstead",[oe("event",Ru())]),Br("fireRepositionEventInstead",[oe("event",sS())]),oe("getRelated",_.none),oe("isExtraPart",Rn),oe("eventOrder",_.none)],factory:X6,apis:{showAt:(t,s,c,i)=>{t.showAt(s,c,i)},showWithinBounds:(t,s,c,i,d)=>{t.showWithinBounds(s,c,i,d)},showMenuAt:(t,s,c,i)=>{t.showMenuAt(s,c,i)},showMenuWithinBounds:(t,s,c,i,d)=>{t.showMenuWithinBounds(s,c,i,d)},hide:(t,s)=>{t.hide(s)},isOpen:(t,s)=>t.isOpen(s),getContent:(t,s)=>t.getContent(s),setContent:(t,s,c)=>{t.setContent(s,c)},reposition:(t,s)=>{t.reposition(s)}}});var sp=tinymce.util.Tools.resolve("tinymce.util.Delay");const Ds=bc({name:"Button",factory:t=>{const s=Ql(t.action),c=t.dom.tag,i=g=>We(t.dom,"attributes").bind(p=>We(p,g)),d=()=>{if(c==="button"){const g=i("type").getOr("button"),p=i("role").map(C=>({role:C})).getOr({});return{type:g,...p}}else return{role:t.role.getOr(i("role").getOr("button"))}};return{uid:t.uid,dom:t.dom,components:t.components,events:s,behaviours:aa.augment(t.buttonBehaviours,[yt.config({}),lt.config({mode:"execution",useSpace:!0,useEnter:!0})]),domModification:{attributes:d()},eventOrder:t.eventOrder}},configFields:[oe("uid",void 0),ye("dom"),oe("components",[]),aa.field("buttonBehaviours",[yt,lt]),vn("action"),vn("role"),oe("eventOrder",{})]}),J6=t=>{const s=t.dom.attributes!==void 0?t.dom.attributes:[];return eo(s,(c,i)=>i.name==="class"?c:{...c,[i.name]:i.value},{})},Q6=t=>Array.prototype.slice.call(t.dom.classList,0),im=t=>{const s=ee.fromHtml(t),c=Ka(s),i=J6(s),d=Q6(s),g=c.length===0?{}:{innerHtml:yv(s)};return{tag:ya(s),classes:d,attributes:i,...g}},Cn=t=>{const s=Nk(t)&&ta(t,"uid")?t.uid:qm("memento");return{get:g=>g.getSystem().getByUid(s).getOrDie(),getOpt:g=>g.getSystem().getByUid(s).toOptional(),asSpec:()=>({...t,uid:s})}};/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:f4,setPrototypeOf:g4,isFrozen:e7,getPrototypeOf:t7,getOwnPropertyDescriptor:n7}=Object;let{freeze:la,seal:al,create:JD}=Object,{apply:Kw,construct:h4}=typeof Reflect<"u"&&Reflect;la||(la=function(s){return s}),al||(al=function(s){return s}),Kw||(Kw=function(s,c,i){return s.apply(c,i)}),h4||(h4=function(s,c){return new s(...c)});const Yw=Ci(Array.prototype.forEach),QD=Ci(Array.prototype.pop),Qy=Ci(Array.prototype.push),Xw=Ci(String.prototype.toLowerCase),lm=Ci(String.prototype.toString),eM=Ci(String.prototype.match),e2=Ci(String.prototype.replace),rp=Ci(String.prototype.indexOf),tM=Ci(String.prototype.trim),eu=Ci(Object.prototype.hasOwnProperty),Ws=Ci(RegExp.prototype.test),t2=Si(TypeError);function Ci(t){return function(s){for(var c=arguments.length,i=new Array(c>1?c-1:0),d=1;d2&&arguments[2]!==void 0?arguments[2]:Xw;g4&&g4(t,null);let i=s.length;for(;i--;){let d=s[i];if(typeof d=="string"){const g=c(d);g!==d&&(e7(s)||(s[i]=g),d=g)}t[d]=!0}return t}function nM(t){for(let s=0;s/gm),S4=al(/\${[\w\W]*}/gm),rM=al(/^data-[\-\w.\u00B7-\uFFFF]/),r7=al(/^aria-[\-\w]+$/),cM=al(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),c7=al(/^(?:\w+script|data):/i),w4=al(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),aM=al(/^html$/i),o2=al(/^[a-z][.\w]*(-[.\w]+)+$/i);var s2=Object.freeze({__proto__:null,MUSTACHE_EXPR:sM,ERB_EXPR:s7,TMPLIT_EXPR:S4,DATA_ATTR:rM,ARIA_ATTR:r7,IS_ALLOWED_URI:cM,IS_SCRIPT_OR_DATA:c7,ATTR_WHITESPACE:w4,DOCTYPE_NAME:aM,CUSTOM_ELEMENT:o2});const Tb={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},iM=function(){return typeof window>"u"?null:window},a7=function(s,c){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let i=null;const d="data-tt-policy-suffix";c&&c.hasAttribute(d)&&(i=c.getAttribute(d));const g="dompurify"+(i?"#"+i:"");try{return s.createPolicy(g,{createHTML(p){return p},createScriptURL(p){return p}})}catch{return console.warn("TrustedTypes policy "+g+" could not be created."),null}};function lM(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:iM();const s=Gt=>lM(Gt);if(s.version="3.1.7",s.removed=[],!t||!t.document||t.document.nodeType!==Tb.document)return s.isSupported=!1,s;let{document:c}=t;const i=c,d=i.currentScript,{DocumentFragment:g,HTMLTemplateElement:p,Node:C,Element:S,NodeFilter:E,NamedNodeMap:k=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:R,DOMParser:B,trustedTypes:P}=t,F=S.prototype,W=n2(F,"cloneNode"),se=n2(F,"remove"),K=n2(F,"nextSibling"),j=n2(F,"childNodes"),re=n2(F,"parentNode");if(typeof p=="function"){const Gt=c.createElement("template");Gt.content&&Gt.content.ownerDocument&&(c=Gt.content.ownerDocument)}let we,he="";const{implementation:me,createNodeIterator:De,createDocumentFragment:$e,getElementsByTagName:Pt}=c,{importNode:tt}=i;let ft={};s.isSupported=typeof f4=="function"&&typeof re=="function"&&me&&me.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ct,ERB_EXPR:yn,TMPLIT_EXPR:dt,DATA_ATTR:on,ARIA_ATTR:Ie,IS_SCRIPT_OR_DATA:et,ATTR_WHITESPACE:xt,CUSTOM_ELEMENT:jt}=s2;let{IS_ALLOWED_URI:ht}=s2,At=null;const Pn=Fn({},[...Jw,...p4,...b4,...Eb,...y4]);let fn=null;const Rr=Fn({},[...C4,...Qw,...oM,...ex]);let Qn=Object.seal(JD(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Jc=null,yl=null,Eg=!0,Tg=!0,Bp=!1,IT=!0,_g=!1,MR=!0,Np=!1,BR=!1,rj=!1,FT=!1,FF=!1,LF=!1,mG=!0,fG=!1;const UG="user-content-";let cj=!0,NR=!1,LT={},HT=null;const gG=Fn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let hG=null;const pG=Fn({},["audio","video","img","source","image","track"]);let aj=null;const bG=Fn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),HF="http://www.w3.org/1998/Math/MathML",VF="http://www.w3.org/2000/svg",Pp="http://www.w3.org/1999/xhtml";let VT=Pp,ij=!1,lj=null;const WG=Fn({},[HF,VF,Pp],lm);let PR=null;const ZG=["application/xhtml+xml","text/html"],jG="text/html";let Qc=null,zT=null;const GG=c.createElement("form"),vG=function(de){return de instanceof RegExp||de instanceof Function},uj=function(){let de=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(zT&&zT===de)){if((!de||typeof de!="object")&&(de={}),de=Gf(de),PR=ZG.indexOf(de.PARSER_MEDIA_TYPE)===-1?jG:de.PARSER_MEDIA_TYPE,Qc=PR==="application/xhtml+xml"?lm:Xw,At=eu(de,"ALLOWED_TAGS")?Fn({},de.ALLOWED_TAGS,Qc):Pn,fn=eu(de,"ALLOWED_ATTR")?Fn({},de.ALLOWED_ATTR,Qc):Rr,lj=eu(de,"ALLOWED_NAMESPACES")?Fn({},de.ALLOWED_NAMESPACES,lm):WG,aj=eu(de,"ADD_URI_SAFE_ATTR")?Fn(Gf(bG),de.ADD_URI_SAFE_ATTR,Qc):bG,hG=eu(de,"ADD_DATA_URI_TAGS")?Fn(Gf(pG),de.ADD_DATA_URI_TAGS,Qc):pG,HT=eu(de,"FORBID_CONTENTS")?Fn({},de.FORBID_CONTENTS,Qc):gG,Jc=eu(de,"FORBID_TAGS")?Fn({},de.FORBID_TAGS,Qc):{},yl=eu(de,"FORBID_ATTR")?Fn({},de.FORBID_ATTR,Qc):{},LT=eu(de,"USE_PROFILES")?de.USE_PROFILES:!1,Eg=de.ALLOW_ARIA_ATTR!==!1,Tg=de.ALLOW_DATA_ATTR!==!1,Bp=de.ALLOW_UNKNOWN_PROTOCOLS||!1,IT=de.ALLOW_SELF_CLOSE_IN_ATTR!==!1,_g=de.SAFE_FOR_TEMPLATES||!1,MR=de.SAFE_FOR_XML!==!1,Np=de.WHOLE_DOCUMENT||!1,FT=de.RETURN_DOM||!1,FF=de.RETURN_DOM_FRAGMENT||!1,LF=de.RETURN_TRUSTED_TYPE||!1,rj=de.FORCE_BODY||!1,mG=de.SANITIZE_DOM!==!1,fG=de.SANITIZE_NAMED_PROPS||!1,cj=de.KEEP_CONTENT!==!1,NR=de.IN_PLACE||!1,ht=de.ALLOWED_URI_REGEXP||cM,VT=de.NAMESPACE||Pp,Qn=de.CUSTOM_ELEMENT_HANDLING||{},de.CUSTOM_ELEMENT_HANDLING&&vG(de.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Qn.tagNameCheck=de.CUSTOM_ELEMENT_HANDLING.tagNameCheck),de.CUSTOM_ELEMENT_HANDLING&&vG(de.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Qn.attributeNameCheck=de.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),de.CUSTOM_ELEMENT_HANDLING&&typeof de.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Qn.allowCustomizedBuiltInElements=de.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),_g&&(Tg=!1),FF&&(FT=!0),LT&&(At=Fn({},y4),fn=[],LT.html===!0&&(Fn(At,Jw),Fn(fn,C4)),LT.svg===!0&&(Fn(At,p4),Fn(fn,Qw),Fn(fn,ex)),LT.svgFilters===!0&&(Fn(At,b4),Fn(fn,Qw),Fn(fn,ex)),LT.mathMl===!0&&(Fn(At,Eb),Fn(fn,oM),Fn(fn,ex))),de.ADD_TAGS&&(At===Pn&&(At=Gf(At)),Fn(At,de.ADD_TAGS,Qc)),de.ADD_ATTR&&(fn===Rr&&(fn=Gf(fn)),Fn(fn,de.ADD_ATTR,Qc)),de.ADD_URI_SAFE_ATTR&&Fn(aj,de.ADD_URI_SAFE_ATTR,Qc),de.FORBID_CONTENTS&&(HT===gG&&(HT=Gf(HT)),Fn(HT,de.FORBID_CONTENTS,Qc)),cj&&(At["#text"]=!0),Np&&Fn(At,["html","head","body"]),At.table&&(Fn(At,["tbody"]),delete Jc.tbody),de.TRUSTED_TYPES_POLICY){if(typeof de.TRUSTED_TYPES_POLICY.createHTML!="function")throw t2('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof de.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw t2('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');we=de.TRUSTED_TYPES_POLICY,he=we.createHTML("")}else we===void 0&&(we=a7(P,d)),we!==null&&typeof he=="string"&&(he=we.createHTML(""));la&&la(de),zT=de}},yG=Fn({},["mi","mo","mn","ms","mtext"]),CG=Fn({},["annotation-xml"]),qG=Fn({},["title","style","font","a","script"]),SG=Fn({},[...p4,...b4,...o7]),wG=Fn({},[...Eb,...v4]),KG=function(de){let at=re(de);(!at||!at.tagName)&&(at={namespaceURI:VT,tagName:"template"});const Ht=Xw(de.tagName),Ss=Xw(at.tagName);return lj[de.namespaceURI]?de.namespaceURI===VF?at.namespaceURI===Pp?Ht==="svg":at.namespaceURI===HF?Ht==="svg"&&(Ss==="annotation-xml"||yG[Ss]):!!SG[Ht]:de.namespaceURI===HF?at.namespaceURI===Pp?Ht==="math":at.namespaceURI===VF?Ht==="math"&&CG[Ss]:!!wG[Ht]:de.namespaceURI===Pp?at.namespaceURI===VF&&!CG[Ss]||at.namespaceURI===HF&&!yG[Ss]?!1:!wG[Ht]&&(qG[Ht]||!SG[Ht]):!!(PR==="application/xhtml+xml"&&lj[de.namespaceURI]):!1},kg=function(de){Qy(s.removed,{element:de});try{re(de).removeChild(de)}catch{se(de)}},$R=function(de,at){try{Qy(s.removed,{attribute:at.getAttributeNode(de),from:at})}catch{Qy(s.removed,{attribute:null,from:at})}if(at.removeAttribute(de),de==="is"&&!fn[de])if(FT||FF)try{kg(at)}catch{}else try{at.setAttribute(de,"")}catch{}},xG=function(de){let at=null,Ht=null;if(rj)de=""+de;else{const ea=eM(de,/^[\r\n\t ]+/);Ht=ea&&ea[0]}PR==="application/xhtml+xml"&&VT===Pp&&(de=''+de+"");const Ss=we?we.createHTML(de):de;if(VT===Pp)try{at=new B().parseFromString(Ss,PR)}catch{}if(!at||!at.documentElement){at=me.createDocument(VT,"template",null);try{at.documentElement.innerHTML=ij?he:Ss}catch{}}const ja=at.body||at.documentElement;return de&&Ht&&ja.insertBefore(c.createTextNode(Ht),ja.childNodes[0]||null),VT===Pp?Pt.call(at,Np?"html":"body")[0]:Np?at.documentElement:ja},EG=function(de){return De.call(de.ownerDocument||de,de,E.SHOW_ELEMENT|E.SHOW_COMMENT|E.SHOW_TEXT|E.SHOW_PROCESSING_INSTRUCTION|E.SHOW_CDATA_SECTION,null)},TG=function(de){return de instanceof R&&(typeof de.nodeName!="string"||typeof de.textContent!="string"||typeof de.removeChild!="function"||!(de.attributes instanceof k)||typeof de.removeAttribute!="function"||typeof de.setAttribute!="function"||typeof de.namespaceURI!="string"||typeof de.insertBefore!="function"||typeof de.hasChildNodes!="function")},_G=function(de){return typeof C=="function"&&de instanceof C},$p=function(de,at,Ht){ft[de]&&Yw(ft[de],Ss=>{Ss.call(s,at,Ht,zT)})},kG=function(de){let at=null;if($p("beforeSanitizeElements",de,null),TG(de))return kg(de),!0;const Ht=Qc(de.nodeName);if($p("uponSanitizeElement",de,{tagName:Ht,allowedTags:At}),de.hasChildNodes()&&!_G(de.firstElementChild)&&Ws(/<[/\w]/g,de.innerHTML)&&Ws(/<[/\w]/g,de.textContent)||de.nodeType===Tb.progressingInstruction||MR&&de.nodeType===Tb.comment&&Ws(/<[/\w]/g,de.data))return kg(de),!0;if(!At[Ht]||Jc[Ht]){if(!Jc[Ht]&&AG(Ht)&&(Qn.tagNameCheck instanceof RegExp&&Ws(Qn.tagNameCheck,Ht)||Qn.tagNameCheck instanceof Function&&Qn.tagNameCheck(Ht)))return!1;if(cj&&!HT[Ht]){const Ss=re(de)||de.parentNode,ja=j(de)||de.childNodes;if(ja&&Ss){const ea=ja.length;for(let Cl=ea-1;Cl>=0;--Cl){const Og=W(ja[Cl],!0);Og.__removalCount=(de.__removalCount||0)+1,Ss.insertBefore(Og,K(de))}}}return kg(de),!0}return de instanceof S&&!KG(de)||(Ht==="noscript"||Ht==="noembed"||Ht==="noframes")&&Ws(/<\/no(script|embed|frames)/i,de.innerHTML)?(kg(de),!0):(_g&&de.nodeType===Tb.text&&(at=de.textContent,Yw([Ct,yn,dt],Ss=>{at=e2(at,Ss," ")}),de.textContent!==at&&(Qy(s.removed,{element:de.cloneNode()}),de.textContent=at)),$p("afterSanitizeElements",de,null),!1)},OG=function(de,at,Ht){if(mG&&(at==="id"||at==="name")&&(Ht in c||Ht in GG))return!1;if(!(Tg&&!yl[at]&&Ws(on,at))){if(!(Eg&&Ws(Ie,at))){if(!fn[at]||yl[at]){if(!(AG(de)&&(Qn.tagNameCheck instanceof RegExp&&Ws(Qn.tagNameCheck,de)||Qn.tagNameCheck instanceof Function&&Qn.tagNameCheck(de))&&(Qn.attributeNameCheck instanceof RegExp&&Ws(Qn.attributeNameCheck,at)||Qn.attributeNameCheck instanceof Function&&Qn.attributeNameCheck(at))||at==="is"&&Qn.allowCustomizedBuiltInElements&&(Qn.tagNameCheck instanceof RegExp&&Ws(Qn.tagNameCheck,Ht)||Qn.tagNameCheck instanceof Function&&Qn.tagNameCheck(Ht))))return!1}else if(!aj[at]){if(!Ws(ht,e2(Ht,xt,""))){if(!((at==="src"||at==="xlink:href"||at==="href")&&de!=="script"&&rp(Ht,"data:")===0&&hG[de])){if(!(Bp&&!Ws(et,e2(Ht,xt,"")))){if(Ht)return!1}}}}}}return!0},AG=function(de){return de!=="annotation-xml"&&eM(de,jt)},RG=function(de){$p("beforeSanitizeAttributes",de,null);const{attributes:at}=de;if(!at)return;const Ht={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:fn};let Ss=at.length;for(;Ss--;){const ja=at[Ss],{name:ea,namespaceURI:Cl,value:Og}=ja,IR=Qc(ea);let ha=ea==="value"?Og:tM(Og);const XG=ha;if(Ht.attrName=IR,Ht.attrValue=ha,Ht.keepAttr=!0,Ht.forceKeepAttr=void 0,$p("uponSanitizeAttribute",de,Ht),ha=Ht.attrValue,Ht.forceKeepAttr)continue;if(!Ht.keepAttr){$R(ea,de);continue}if(!IT&&Ws(/\/>/i,ha)){$R(ea,de);continue}_g&&Yw([Ct,yn,dt],MG=>{ha=e2(ha,MG," ")});const DG=Qc(de.nodeName);if(!OG(DG,IR,ha)){$R(ea,de);continue}if(fG&&(IR==="id"||IR==="name")&&($R(ea,de),ha=UG+ha),MR&&Ws(/((--!?|])>)|<\/(style|title)/i,ha)){$R(ea,de);continue}if(we&&typeof P=="object"&&typeof P.getAttributeType=="function"&&!Cl)switch(P.getAttributeType(DG,IR)){case"TrustedHTML":{ha=we.createHTML(ha);break}case"TrustedScriptURL":{ha=we.createScriptURL(ha);break}}if(ha!==XG)try{Cl?de.setAttributeNS(Cl,ea,ha):de.setAttribute(ea,ha),TG(de)?kg(de):QD(s.removed)}catch{}}$p("afterSanitizeAttributes",de,null)},YG=function Gt(de){let at=null;const Ht=EG(de);for($p("beforeSanitizeShadowDOM",de,null);at=Ht.nextNode();)$p("uponSanitizeShadowNode",at,null),!kG(at)&&(at.content instanceof g&&Gt(at.content),RG(at));$p("afterSanitizeShadowDOM",de,null)};return s.sanitize=function(Gt){let de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},at=null,Ht=null,Ss=null,ja=null;if(ij=!Gt,ij&&(Gt=""),typeof Gt!="string"&&!_G(Gt))if(typeof Gt.toString=="function"){if(Gt=Gt.toString(),typeof Gt!="string")throw t2("dirty is not a string, aborting")}else throw t2("toString is not a function");if(!s.isSupported)return Gt;if(BR||uj(de),s.removed=[],typeof Gt=="string"&&(NR=!1),NR){if(Gt.nodeName){const Og=Qc(Gt.nodeName);if(!At[Og]||Jc[Og])throw t2("root node is forbidden and cannot be sanitized in-place")}}else if(Gt instanceof C)at=xG(""),Ht=at.ownerDocument.importNode(Gt,!0),Ht.nodeType===Tb.element&&Ht.nodeName==="BODY"||Ht.nodeName==="HTML"?at=Ht:at.appendChild(Ht);else{if(!FT&&!_g&&!Np&&Gt.indexOf("<")===-1)return we&&LF?we.createHTML(Gt):Gt;if(at=xG(Gt),!at)return FT?null:LF?he:""}at&&rj&&kg(at.firstChild);const ea=EG(NR?Gt:at);for(;Ss=ea.nextNode();)kG(Ss)||(Ss.content instanceof g&&YG(Ss.content),RG(Ss));if(NR)return Gt;if(FT){if(FF)for(ja=$e.call(at.ownerDocument);at.firstChild;)ja.appendChild(at.firstChild);else ja=at;return(fn.shadowroot||fn.shadowrootmode)&&(ja=tt.call(i,ja,!0)),ja}let Cl=Np?at.outerHTML:at.innerHTML;return Np&&At["!doctype"]&&at.ownerDocument&&at.ownerDocument.doctype&&at.ownerDocument.doctype.name&&Ws(aM,at.ownerDocument.doctype.name)&&(Cl=" -`+Cl),_g&&Yw([Ct,yn,dt],Og=>{Cl=e2(Cl,Og," ")}),we&&LF?we.createHTML(Cl):Cl},s.setConfig=function(){let Gt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};uj(Gt),BR=!0},s.clearConfig=function(){zT=null,BR=!1},s.isValidAttribute=function(Gt,de,at){zT||uj({});const Ht=Qc(Gt),Ss=Qc(de);return OG(Ht,Ss,at)},s.addHook=function(Gt,de){typeof de=="function"&&(ft[Gt]=ft[Gt]||[],Qy(ft[Gt],de))},s.removeHook=function(Gt){if(ft[Gt])return QD(ft[Gt])},s.removeHooks=function(Gt){ft[Gt]&&(ft[Gt]=[])},s.removeAllHooks=function(){ft={}},s}var i7=lM();const uM=t=>i7().sanitize(t);var Wc=tinymce.util.Tools.resolve("tinymce.util.I18n");const dM={indent:!0,outdent:!0,"table-insert-column-after":!0,"table-insert-column-before":!0,"paste-column-after":!0,"paste-column-before":!0,"unordered-list":!0,"list-bull-circle":!0,"list-bull-default":!0,"list-bull-square":!0},x4="temporary-placeholder",r2=t=>()=>We(t,x4).getOr("!not found!"),E4=(t,s)=>{const c=t.toLowerCase();if(Wc.isRtl()){const i=Qr(c,"-rtl");return wn(s,i)?i:c}else return c},T4=(t,s)=>We(s,E4(t,s)),mM=(t,s)=>{const c=s();return T4(t,c).getOrThunk(r2(c))},l7=(t,s,c)=>{const i=s();return T4(t,i).or(c).getOrThunk(r2(i))},u7=t=>Wc.isRtl()?wn(dM,t):!1,tx=()=>Nt("add-focusable",[Mn(t=>{A1(t.element,"svg").each(s=>Ze(s,"focusable","false"))})]),fM=(t,s,c,i)=>{var d,g;const p=u7(s)?["tox-icon--flip"]:[],C=We(c,E4(s,c)).or(i).getOrThunk(r2(c));return{dom:{tag:t.tag,attributes:(d=t.attributes)!==null&&d!==void 0?d:{},classes:t.classes.concat(p),innerHtml:C},behaviours:Be([...(g=t.behaviours)!==null&&g!==void 0?g:[],tx()])}},il=(t,s,c,i=_.none())=>fM(s,t,c(),i),_4=(t,s,c)=>{const i=c(),d=_t(t,g=>wn(i,E4(g,i)));return fM(s,d.getOr(x4),i,_.none())},gM={success:"checkmark",error:"warning",err:"error",warning:"warning",warn:"warning",info:"info"},k4=bc({name:"Notification",factory:t=>{const s=Cn({dom:im(`

    ${uM(t.translationProvider(t.text))}

    `),behaviours:Be([kt.config({})])}),c=P=>({dom:{tag:"div",classes:["tox-bar"],styles:{width:`${P}%`}}}),i=P=>({dom:{tag:"div",classes:["tox-text"],innerHtml:`${P}%`}}),d=Cn({dom:{tag:"div",classes:t.progress?["tox-progress-bar","tox-progress-indicator"]:["tox-progress-bar"]},components:[{dom:{tag:"div",classes:["tox-bar-container"]},components:[c(0)]},i(0)],behaviours:Be([kt.config({})])}),C={updateProgress:(P,F)=>{P.getSystem().isConnected()&&d.getOpt(P).each(W=>{kt.set(W,[{dom:{tag:"div",classes:["tox-bar-container"]},components:[c(F)]},i(F)])})},updateText:(P,F)=>{if(P.getSystem().isConnected()){const W=s.get(P);kt.set(W,[vo(F)])}}},S=Dt([t.icon.toArray(),t.level.toArray(),t.level.bind(P=>_.from(gM[P])).toArray()]),E=Cn(Ds.sketch({dom:{tag:"button",classes:["tox-notification__dismiss","tox-button","tox-button--naked","tox-button--icon"]},components:[il("close",{tag:"span",classes:["tox-icon"],attributes:{"aria-label":t.translationProvider("Close")}},t.iconProvider)],action:P=>{t.onAction(P)}})),k=_4(S,{tag:"div",classes:["tox-notification__icon"]},t.iconProvider),R={dom:{tag:"div",classes:["tox-notification__body"]},components:[s.asSpec()],behaviours:Be([kt.config({})])},B=[k,R];return{uid:t.uid,dom:{tag:"div",attributes:{role:"alert"},classes:t.level.map(P=>["tox-notification","tox-notification--in",`tox-notification--${P}`]).getOr(["tox-notification","tox-notification--in"])},behaviours:Be([yt.config({}),Nt("notification-events",[be(lc(),P=>{E.getOpt(P).each(yt.focus)})])]),components:B.concat(t.progress?[d.asSpec()]:[]).concat(t.closeButton?[E.asSpec()]:[]),apis:C}},configFields:[vn("level"),ye("progress"),vn("icon"),ye("onAction"),ye("text"),ye("iconProvider"),ye("translationProvider"),ss("closeButton",!0)],apis:{updateProgress:(t,s,c)=>{t.updateProgress(s,c)},updateText:(t,s,c)=>{t.updateText(s,c)}}});var O4=(t,s,c)=>{const i=s.backstage.shared,d=()=>{const S=To(ee.fromDom(t.getContentAreaContainer())),E=ir(),k=Ic(E.x,S.x,S.right),R=Ic(E.y,S.y,S.bottom),B=Math.max(S.right,E.right),P=Math.max(S.bottom,E.bottom);return _.some(bo(k,R,B-k,P-R))};return{open:(S,E)=>{const k=()=>{E(),io.hide(B)},R=Ys(k4.sketch({text:S.text,level:So(["success","error","warning","warn","info"],S.type)?S.type:void 0,progress:S.progressBar===!0,icon:S.icon,closeButton:S.closeButton,onAction:k,iconProvider:i.providers.icons,translationProvider:i.providers.translate})),B=Ys(io.sketch({dom:{tag:"div",classes:["tox-notifications-container"]},lazySink:i.getSink,fireDismissalEventInstead:{},...i.header.isPositionedAtTop()?{}:{fireRepositionEventInstead:{}}}));c.add(B),Ga(S.timeout)&&S.timeout>0&&sp.setEditorTimeout(t,()=>{k()},S.timeout);const F={close:k,reposition:()=>{const W=$c(R),se={maxHeightFunction:vf()},K=t.notificationManager.getNotifications();if(K[0]===F){const j={...i.anchors.banner(),overrides:se};io.showWithinBounds(B,W,{anchor:j},d)}else _e(K,F).each(j=>{const re=K[j-1].getEl(),we={type:"node",root:Gs(),node:_.some(ee.fromDom(re)),overrides:se,layouts:{onRtl:()=>[as],onLtr:()=>[as]}};io.showWithinBounds(B,W,{anchor:we},d)})},text:W=>{k4.updateText(R,W)},settings:S,getEl:()=>R.element.dom,progressBar:{value:W=>{k4.updateProgress(R,W)}}};return F},close:S=>{S.close()},getArgs:S=>S.settings}},_b=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),m7=tinymce.util.Tools.resolve("tinymce.EditorManager"),kb=tinymce.util.Tools.resolve("tinymce.Env"),wi;(function(t){t.default="wrap",t.floating="floating",t.sliding="sliding",t.scrolling="scrolling"})(wi||(wi={}));var c2;(function(t){t.auto="auto",t.top="top",t.bottom="bottom"})(c2||(c2={}));const Nn=t=>s=>s.options.get(t),cp=t=>s=>_.from(t(s)),hM=t=>{const s=kb.deviceType.isPhone(),c=kb.deviceType.isTablet()||s,i=t.options.register,d=p=>hn(p)||p===!1,g=p=>hn(p)||Ga(p);i("skin",{processor:p=>hn(p)||p===!1,default:"oxide"}),i("skin_url",{processor:"string"}),i("height",{processor:g,default:Math.max(t.getElement().offsetHeight,400)}),i("width",{processor:g,default:_b.DOM.getStyle(t.getElement(),"width")}),i("min_height",{processor:"number",default:100}),i("min_width",{processor:"number"}),i("max_height",{processor:"number"}),i("max_width",{processor:"number"}),i("style_formats",{processor:"object[]"}),i("style_formats_merge",{processor:"boolean",default:!1}),i("style_formats_autohide",{processor:"boolean",default:!1}),i("line_height_formats",{processor:"string",default:"1 1.1 1.2 1.3 1.4 1.5 2"}),i("font_family_formats",{processor:"string",default:"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"}),i("font_size_formats",{processor:"string",default:"8pt 10pt 12pt 14pt 18pt 24pt 36pt"}),i("font_size_input_default_unit",{processor:"string",default:"pt"}),i("block_formats",{processor:"string",default:"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre"}),i("content_langs",{processor:"object[]"}),i("removed_menuitems",{processor:"string",default:""}),i("menubar",{processor:p=>hn(p)||Sl(p),default:!s}),i("menu",{processor:"object",default:{}}),i("toolbar",{processor:p=>Sl(p)||hn(p)||Di(p)?{value:p,valid:!0}:{valid:!1,message:"Must be a boolean, string or array."},default:!0}),Ho(9,p=>{i("toolbar"+(p+1),{processor:"string"})}),i("toolbar_mode",{processor:"string",default:c?"scrolling":"floating"}),i("toolbar_groups",{processor:"object",default:{}}),i("toolbar_location",{processor:"string",default:c2.auto}),i("toolbar_persist",{processor:"boolean",default:!1}),i("toolbar_sticky",{processor:"boolean",default:t.inline}),i("toolbar_sticky_offset",{processor:"number",default:0}),i("fixed_toolbar_container",{processor:"string",default:""}),i("fixed_toolbar_container_target",{processor:"object"}),i("ui_mode",{processor:"string",default:"combined"}),i("file_picker_callback",{processor:"function"}),i("file_picker_validator_handler",{processor:"function"}),i("file_picker_types",{processor:"string"}),i("typeahead_urls",{processor:"boolean",default:!0}),i("anchor_top",{processor:d,default:"#top"}),i("anchor_bottom",{processor:d,default:"#bottom"}),i("draggable_modal",{processor:"boolean",default:!1}),i("statusbar",{processor:"boolean",default:!0}),i("elementpath",{processor:"boolean",default:!0}),i("branding",{processor:"boolean",default:!0}),i("promotion",{processor:"boolean",default:!0}),i("resize",{processor:p=>p==="both"||Sl(p),default:!kb.deviceType.isTouch()}),i("sidebar_show",{processor:"string"}),i("help_accessibility",{processor:"boolean",default:t.hasPlugin("help")}),i("default_font_stack",{processor:"string[]",default:[]})},a2=Nn("readonly"),A4=Nn("height"),R4=Nn("width"),D4=cp(Nn("min_width")),M4=cp(Nn("min_height")),nx=cp(Nn("max_width")),B4=cp(Nn("max_height")),N4=cp(Nn("style_formats")),pM=Nn("style_formats_merge"),bM=Nn("style_formats_autohide"),ox=Nn("content_langs"),qf=Nn("removed_menuitems"),Ob=Nn("toolbar_mode"),vM=Nn("toolbar_groups"),i2=Nn("toolbar_location"),yM=Nn("fixed_toolbar_container"),f7=Nn("fixed_toolbar_container_target"),CM=Nn("toolbar_persist"),P4=Nn("toolbar_sticky_offset"),SM=Nn("menubar"),l2=Nn("toolbar"),$4=Nn("file_picker_callback"),sx=Nn("file_picker_validator_handler"),wM=Nn("font_size_input_default_unit"),I4=Nn("file_picker_types"),xM=Nn("typeahead_urls"),Ab=Nn("anchor_top"),EM=Nn("anchor_bottom"),TM=Nn("draggable_modal"),rx=Nn("statusbar"),cx=Nn("elementpath"),F4=Nn("branding"),ax=Nn("resize"),_M=Nn("paste_as_text"),kM=Nn("sidebar_show"),ix=Nn("promotion"),OM=Nn("help_accessibility"),AM=Nn("default_font_stack"),L4=t=>t.options.get("skin")===!1,lx=t=>t.options.get("menubar")!==!1,ux=t=>{const s=t.options.get("skin_url");if(L4(t))return s;if(s)return t.documentBaseURI.toAbsolute(s);{const c=t.options.get("skin");return m7.baseURL+"/skins/ui/"+c}},dx=t=>_.from(t.options.get("skin_url")),RM=t=>t.options.get("line_height_formats").split(" "),mx=t=>{const s=l2(t),c=hn(s),i=Di(s)&&s.length>0;return!u2(t)&&(i||c||s===!0)},H4=t=>{const s=Ho(9,i=>t.options.get("toolbar"+(i+1))),c=qn(s,hn);return Et(c.length>0,c)},u2=t=>H4(t).fold(()=>{const s=l2(t);return uu(s,hn)&&s.length>0},vt),V4=t=>i2(t)===c2.bottom,DM=t=>{var s;if(!t.inline)return _.none();const c=(s=yM(t))!==null&&s!==void 0?s:"";if(c.length>0)return Ao(Gs(),c);const i=f7(t);return sr(i)?_.some(ee.fromDom(i)):_.none()},Kf=t=>t.inline&&DM(t).isSome(),z4=t=>DM(t).getOrThunk(()=>Sa(ro(ee.fromDom(t.getElement())))),U4=t=>t.inline&&!lx(t)&&!mx(t)&&!u2(t),d2=t=>(t.options.get("toolbar_sticky")||t.inline)&&!Kf(t)&&!U4(t),um=t=>!Kf(t)&&t.options.get("ui_mode")==="split",MM=t=>{const s=t.options.get("menu");return po(s,c=>({...c,items:c.items}))};var g7=Object.freeze({__proto__:null,get ToolbarMode(){return wi},get ToolbarLocation(){return c2},register:hM,getSkinUrl:ux,getSkinUrlOption:dx,isReadOnly:a2,isSkinDisabled:L4,getHeightOption:A4,getWidthOption:R4,getMinWidthOption:D4,getMinHeightOption:M4,getMaxWidthOption:nx,getMaxHeightOption:B4,getUserStyleFormats:N4,shouldMergeStyleFormats:pM,shouldAutoHideStyleFormats:bM,getLineHeightFormats:RM,getContentLanguages:ox,getRemovedMenuItems:qf,isMenubarEnabled:lx,isMultipleToolbars:u2,isToolbarEnabled:mx,isToolbarPersist:CM,getMultipleToolbarsOption:H4,getUiContainer:z4,useFixedContainer:Kf,isSplitUiMode:um,getToolbarMode:Ob,isDraggableModal:TM,isDistractionFree:U4,isStickyToolbar:d2,getStickyToolbarOffset:P4,getToolbarLocation:i2,isToolbarLocationBottom:V4,getToolbarGroups:vM,getMenus:MM,getMenubar:SM,getToolbar:l2,getFilePickerCallback:$4,getFilePickerTypes:I4,useTypeaheadUrls:xM,getAnchorTop:Ab,getAnchorBottom:EM,getFilePickerValidatorHandler:sx,getFontSizeInputDefaultUnit:wM,useStatusBar:rx,useElementPath:cx,promotionEnabled:ix,useBranding:F4,getResize:ax,getPasteAsText:_M,getSidebarShow:kM,useHelpAccessibility:OM,getDefaultFontStack:AM});const BM="[data-mce-autocompleter]",NM=t=>mi(t,BM),h7=t=>Ao(t,BM),W4={setup:(t,s)=>{const c=(d,g)=>{it(d,Aa(),{raw:g})},i=()=>t.getMenu().bind(mn.getHighlighted);s.on("keydown",d=>{const g=d.which;t.isActive()&&(t.isMenuOpen()?g===13?(i().each(Ml),d.preventDefault()):g===40?(i().fold(()=>{t.getMenu().each(mn.highlightFirst)},p=>{c(p,d)}),d.preventDefault(),d.stopImmediatePropagation()):(g===37||g===38||g===39)&&i().each(p=>{c(p,d),d.preventDefault(),d.stopImmediatePropagation()}):(g===13||g===38||g===40)&&t.cancelIfNecessary())}),s.on("NodeChange",d=>{t.isActive()&&!t.isProcessingAction()&&NM(ee.fromDom(d.element)).isNone()&&t.cancelIfNecessary()})}};var Z4;(function(t){t[t.CLOSE_ON_EXECUTE=0]="CLOSE_ON_EXECUTE",t[t.BUBBLE_TO_SANDBOX=1]="BUBBLE_TO_SANDBOX"})(Z4||(Z4={}));var tu=Z4;const j4="tox-menu-nav__js",fx="tox-collection__item",G4="tox-swatch",p7={normal:j4,color:G4},PM="tox-collection__item--enabled",b7="tox-collection__group-heading",$M="tox-collection__item-icon",q4="tox-collection__item-label",v7="tox-collection__item-accessory",IM="tox-collection__item-caret",y7="tox-collection__item-checkmark",Yf="tox-collection__item--active",FM="tox-collection__item-container",K4="tox-collection__item-container--column",LM="tox-collection__item-container--row",C7="tox-collection__item-container--align-right",S7="tox-collection__item-container--align-left",HM="tox-collection__item-container--valign-top",w7="tox-collection__item-container--valign-middle",Y4="tox-collection__item-container--valign-bottom",gx=t=>We(p7,t).getOr(j4),VM=t=>t==="color"?"tox-swatches":"tox-menu",m2=t=>({backgroundMenu:"tox-background-menu",selectedMenu:"tox-selected-menu",selectedItem:"tox-collection__item--active",hasIcons:"tox-menu--has-icons",menu:VM(t),tieredMenu:"tox-tiered-menu"}),Qu=t=>{const s=m2(t);return{backgroundMenu:s.backgroundMenu,selectedMenu:s.selectedMenu,menu:s.menu,selectedItem:s.selectedItem,item:gx(t)}},zM=(t,s,c)=>{const i=m2(c);return{tag:"div",classes:Dt([[i.menu,`tox-menu-${s}-column`],t?[i.hasIcons]:[]])}},ed=[op.parts.items({})],Rb=(t,s,c)=>{const i=m2(c);return{dom:{tag:"div",classes:Dt([[i.tieredMenu]])},markers:Qu(c)}},UM=Q([vn("data"),oe("inputAttributes",{}),oe("inputStyles",{}),oe("tag","input"),oe("inputClasses",[]),Qt("onSetValue"),oe("styles",{}),oe("eventOrder",{}),Ko("inputBehaviours",[ze,yt]),oe("selectOnFocus",!0)]),WM=t=>Be([yt.config({onFocus:t.selectOnFocus?s=>{const c=s.element,i=Yi(c);c.dom.setSelectionRange(0,i.length)}:q})]),x7=t=>({...WM(t),...Io(t.inputBehaviours,[ze.config({store:{mode:"manual",...t.data.map(s=>({initialValue:s})).getOr({}),getValue:s=>Yi(s.element),setValue:(s,c)=>{Yi(s.element)!==c&&sf(s.element,c)}},onSetValue:t.onSetValue})])}),ZM=t=>({tag:t.tag,attributes:{type:"text",...t.inputAttributes},styles:t.inputStyles,classes:t.inputClasses}),f2=(t,s)=>({uid:t.uid,dom:ZM(t),components:[],behaviours:x7(t),eventOrder:t.eventOrder}),ap=bc({name:"Input",configFields:UM(),factory:f2}),X4=Xe("refetch-trigger-event"),hx=Xe("redirect-menu-item-interaction"),jM="tox-menu__searcher",Db=t=>Ao(t.element,`.${jM}`).bind(s=>t.getSystem().getByDom(s).toOptional()),px=Db,E7=(t,s)=>{ze.setValue(t,s.fetchPattern),t.element.dom.selectionStart=s.selectionStart,t.element.dom.selectionEnd=s.selectionEnd},J4=t=>{const s=ze.getValue(t),c=t.element.dom.selectionStart,i=t.element.dom.selectionEnd;return{fetchPattern:s,selectionStart:c,selectionEnd:i}},GM=(t,s)=>{Sr(s.element,"id").each(c=>Ze(t.element,"aria-activedescendant",c))},T7=t=>{const s=(d,g)=>(g.cut(),_.none()),c=(d,g)=>{const p={interactionEvent:g.event,eventType:g.event.raw.type};return it(d,hx,p),_.some(!0)},i="searcher-events";return{dom:{tag:"div",classes:[fx]},components:[ap.sketch({inputClasses:[jM,"tox-textfield"],inputAttributes:{...t.placeholder.map(d=>({placeholder:t.i18n(d)})).getOr({}),type:"search","aria-autocomplete":"list"},inputBehaviours:Be([Nt(i,[be(Pd(),d=>{qt(d,X4)}),be(Aa(),(d,g)=>{g.event.raw.key==="Escape"&&g.stop()})]),lt.config({mode:"special",onLeft:s,onRight:s,onSpace:s,onEnter:c,onEscape:c,onUp:c,onDown:c})]),eventOrder:{keydown:[i,lt.name()]}})]}},bx="tox-collection--results__js",qM=t=>{var s;return t.dom?{...t,dom:{...t.dom,attributes:{...(s=t.dom.attributes)!==null&&s!==void 0?s:{},id:Xe("aria-item-search-result-id"),"aria-selected":"false"}}}:t},Q4=(t,s)=>c=>{const i=Dr(c,s);return Ee(i,d=>({dom:t,components:d}))},_7=t=>({dom:{tag:"div",classes:["tox-menu","tox-swatches-menu"]},components:[{dom:{tag:"div",classes:["tox-swatches"]},components:[op.parts.items({preprocess:t!=="auto"?Q4({tag:"div",classes:["tox-swatches__row"]},t):sn})]}]}),k7=t=>({dom:{tag:"div",classes:["tox-menu","tox-collection","tox-collection--toolbar","tox-collection--toolbar-lg"]},components:[op.parts.items({preprocess:Q4({tag:"div",classes:["tox-collection__group"]},t)})]}),e3=(t,s)=>{const c=[];let i=[];return Ke(t,(d,g)=>{s(d,g)?(i.length>0&&c.push(i),i=[],(wn(d.dom,"innerHtml")||d.components&&d.components.length>0)&&i.push(d)):i.push(d)}),i.length>0&&c.push(i),Ee(c,d=>({dom:{tag:"div",classes:["tox-collection__group"]},components:d}))},vx=(t,s,c)=>op.parts.items({preprocess:i=>{const d=Ee(i,c);return t!=="auto"&&t>1?Q4({tag:"div",classes:["tox-collection__group"]},t)(d):e3(d,(g,p)=>s[p].type==="separator")}}),KM=(t,s,c=!0)=>({dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(t===1?["tox-collection--list"]:["tox-collection--grid"])},components:[vx(t,s,sn)]}),YM=(t,s,c=!0)=>{const i=Xe("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection",bx].concat(t===1?["tox-collection--list"]:["tox-collection--grid"]),attributes:{id:i}},components:[vx(t,s,qM)]}},g2=(t,s,c)=>{const i=Xe("aria-controls-search-results");return{dom:{tag:"div",classes:["tox-menu","tox-collection"].concat(t===1?["tox-collection--list"]:["tox-collection--grid"])},components:[T7({i18n:Wc.translate,placeholder:c.placeholder}),{dom:{tag:"div",classes:[...t===1?["tox-collection--list"]:["tox-collection--grid"],bx],attributes:{id:i}},components:[vx(t,s,qM)]}]}},XM=(t,s=!0)=>({dom:{tag:"div",classes:["tox-collection","tox-collection--horizontal"]},components:[op.parts.items({preprocess:c=>e3(c,(i,d)=>t[d].type==="separator")})]}),yx=t=>xc(t,s=>"icon"in s&&s.icon!==void 0),dm=t=>(console.error(lr(t)),console.log(t),_.none()),JM=(t,s,c,i,d)=>{const g=XM(c);return{value:t,dom:g.dom,components:g.components,items:c}},t3=(t,s,c,i,d)=>{const g=()=>d.menuType!=="searchable"?KM(i,c):d.searchMode.searchMode==="search-with-field"?g2(i,c,d.searchMode):YM(i,c);if(d.menuType==="color"){const p=_7(i);return{value:t,dom:p.dom,components:p.components,items:c}}else if(d.menuType==="normal"&&i==="auto"){const p=KM(i,c);return{value:t,dom:p.dom,components:p.components,items:c}}else if(d.menuType==="normal"||d.menuType==="searchable"){const p=g();return{value:t,dom:p.dom,components:p.components,items:c}}else if(d.menuType==="listpreview"&&i!=="auto"){const p=k7(i);return{value:t,dom:p.dom,components:p.components,items:c}}else return{value:t,dom:zM(s,i,d.menuType),components:ed,items:c}},Wo=dn("type"),Cx=dn("name"),Sx=dn("label"),td=dn("text"),n3=dn("title"),QM=dn("icon"),h2=dn("value"),eB=ci("fetch"),o3=ci("getSubmenuItems"),Xf=ci("onAction"),tB=ci("onItemAction"),Jf=ps("onSetup",()=>q),nB=Is("name"),Qf=Is("text"),ua=Is("icon"),wx=Is("tooltip"),xx=Is("label"),oB=Is("shortcut"),ip=Dd("select"),Ex=ss("active",!1),s3=ss("borderless",!1),da=ss("enabled",!0),Tx=ss("primary",!1),r3=t=>oe("columns",t),_x=oe("meta",{}),kx=ps("onAction",q),mm=t=>Vi("type",t),Ox=t=>$s("name","name",ni(()=>Xe(`${t}-name`)),_s),O7=t=>$s("value","value",ni(()=>Xe(`${t}-value`)),jo()),c3=rt([Wo,Qf]),sB=t=>co("separatormenuitem",c3,t),rB=rt([mm("autocompleteitem"),Ex,da,_x,h2,Qf,ua]),cB=t=>co("Autocompleter.Separator",c3,t),A7=t=>co("Autocompleter.Item",rB,t),Mb=[da,wx,ua,Qf,Jf],R7=rt([Wo,Xf].concat(Mb)),aB=t=>co("toolbarbutton",R7,t),a3=[Ex].concat(Mb),D7=rt(a3.concat([Wo,Xf])),i3=t=>co("ToggleButton",D7,t),Bb=[ps("predicate",Rn),ac("scope","node",["node","editor"]),ac("position","selection",["node","selection","line"])],iB=Mb.concat([mm("contextformbutton"),Tx,Xf,_o("original",sn)]),M7=a3.concat([mm("contextformbutton"),Tx,Xf,_o("original",sn)]),B7=Mb.concat([mm("contextformbutton")]),N7=a3.concat([mm("contextformtogglebutton")]),P7=Jt("type",{contextformbutton:iB,contextformtogglebutton:M7}),$7=rt([mm("contextform"),ps("initValue",Q("")),xx,Mc("commands",P7),Li("launch",Jt("type",{contextformbutton:B7,contextformtogglebutton:N7}))].concat(Bb)),Ax=t=>co("ContextForm",$7,t),I7=rt([mm("contexttoolbar"),dn("items")].concat(Bb)),lB=t=>co("ContextToolbar",I7,t),F7=[Wo,dn("src"),Is("alt"),Nr("classes",[],_s)],uB=rt(F7),dB=[Wo,td,nB,Nr("classes",["tox-collection__item-label"],_s)],L7=rt(dB),l3=Ts(()=>ke("type",{cardimage:uB,cardtext:L7,cardcontainer:mB})),mB=rt([Wo,Vi("direction","horizontal"),Vi("align","left"),Vi("valign","middle"),Mc("items",l3)]),lp=[da,Qf,oB,O7("menuitem"),_x],fB=rt([Wo,xx,Mc("items",l3),Jf,kx].concat(lp)),H7=t=>co("cardmenuitem",fB,t),V7=rt([Wo,Ex,ua].concat(lp)),z7=t=>co("choicemenuitem",V7,t),gB=[Wo,dn("fancytype"),kx],hB=[oe("initData",{})].concat(gB),pB=[Dd("select"),zi("initData",{},[ss("allowCustomColors",!0),Vi("storageKey","default"),Md("colors",jo())])].concat(gB),U7=Jt("fancytype",{inserttable:hB,colorswatch:pB}),W7=t=>co("fancymenuitem",U7,t),Z7=rt([Wo,Jf,kx,ua].concat(lp)),j7=t=>co("menuitem",Z7,t),G7=rt([Wo,o3,Jf,ua].concat(lp)),bB=t=>co("nestedmenuitem",G7,t),q7=rt([Wo,ua,Ex,Jf,Xf].concat(lp)),K7=t=>co("togglemenuitem",q7,t),p2=(t,s,c)=>{const i=ls(t.element,"."+c);if(i.length>0){const d=to(i,g=>{const p=g.dom.getBoundingClientRect().top,C=i[0].dom.getBoundingClientRect().top;return Math.abs(p-C)>s}).getOr(i.length);return _.some({numColumns:d,numRows:Math.ceil(i.length/d)})}else return _.none()},u3=(t,s)=>Be([Nt(t,s)]),b2={namedEvents:u3,unnamedEvents:t=>u3(Xe("unnamed-events"),t)},d3=Xe("tooltip.exclusive"),v2=Xe("tooltip.show"),y2=Xe("tooltip.hide"),m3=(t,s,c)=>{t.getSystem().broadcastOn([d3],{})};var vB=Object.freeze({__proto__:null,hideAllExclusive:m3,setComponents:(t,s,c,i)=>{c.getTooltip().each(d=>{d.getSystem().isConnected()&&kt.set(d,i)})}}),X7=Object.freeze({__proto__:null,events:(t,s)=>{const c=d=>{s.getTooltip().each(g=>{ol(g),t.onHide(d,g),s.clearTooltip()}),s.clearTimer()},i=d=>{if(!s.isShowing()){m3(d);const g=t.lazySink(d).getOrDie(),p=d.getSystem().build({dom:t.tooltipDom,components:t.tooltipComponents,events:In(t.mode==="normal"?[be(Rl(),C=>{qt(d,v2)}),be(Um(),C=>{qt(d,y2)})]:[]),behaviours:Be([kt.config({})])});s.setTooltip(p),ju(g,p),t.onShow(d,p),Js.position(g,p,{anchor:t.anchor(d)})}};return In(Dt([[be(v2,d=>{s.resetTimer(()=>{i(d)},t.delay)}),be(y2,d=>{s.resetTimer(()=>{c(d)},t.delay)}),be(Fd(),(d,g)=>{const p=g;p.universal||So(p.channels,d3)&&c(d)}),Gi(d=>{c(d)})],t.mode==="normal"?[be(lc(),d=>{qt(d,v2)}),be(ku(),d=>{qt(d,y2)}),be(Rl(),d=>{qt(d,v2)}),be(Um(),d=>{qt(d,y2)})]:[be(oh(),(d,g)=>{qt(d,v2)}),be(sh(),d=>{qt(d,y2)})]]))}}),J7=[ye("lazySink"),ye("tooltipDom"),oe("exclusive",!0),oe("tooltipComponents",[]),oe("delay",300),ac("mode","normal",["normal","follow-highlight"]),oe("anchor",t=>({type:"hotspot",hotspot:t,layouts:{onLtr:Q([as,dr,cs,_r,Vs,Xs]),onRtl:Q([as,dr,cs,_r,Vs,Xs])}})),Qt("onHide"),Qt("onShow")],f3=Object.freeze({__proto__:null,init:()=>{const t=Vt(),s=Vt(),c=()=>{t.on(clearTimeout)},i=(g,p)=>{c(),t.set(setTimeout(g,p))},d=Q("not-implemented");return dc({getTooltip:s.get,isShowing:s.isSet,setTooltip:s.set,clearTooltip:s.clear,clearTimer:c,resetTimer:i,readState:d})}});const yB=is({fields:J7,name:"tooltipping",active:X7,state:f3,apis:vB}),Q7=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),g3="silver.readonly",CB=rt([c_("readonly")]),Rx=(t,s)=>{const i=t.mainUi.outerContainer.element,d=[t.mainUi.mothership,...t.uiMotherships];s&&Ke(d,g=>{g.broadcastOn([bi()],{target:i})}),Ke(d,g=>{g.broadcastOn([g3],{readonly:s})})},SB=(t,s)=>{t.on("init",()=>{t.mode.isReadOnly()&&Rx(s,!0)}),t.on("SwitchMode",()=>Rx(s,t.mode.isReadOnly())),a2(t)&&t.mode.set("readonly")},bs=()=>Ir.config({channels:{[g3]:{schema:CB,onReceive:(t,s)=>{bt.set(t,s.readonly)}}}}),Ha={item:t=>bt.config({disabled:t,disableClass:"tox-collection__item--state-disabled"}),button:t=>bt.config({disabled:t}),splitButton:t=>bt.config({disabled:t,disableClass:"tox-tbtn--disabled"}),toolbarButton:t=>bt.config({disabled:t,disableClass:"tox-tbtn--disabled",useNative:!1})},up=(t,s)=>{const c=t.getApi(s);return i=>{i(c)}},fm=(t,s)=>Mn(c=>{up(t,c)(d=>{const g=t.onSetup(d);gt(g)&&s.set(g)})}),ll=(t,s)=>Gi(c=>up(t,c)(s.get())),Dx=(t,s)=>Ra((c,i)=>{up(t,c)(t.onAction),!t.triggersSubmenu&&s===tu.CLOSE_ON_EXECUTE&&(c.getSystem().isConnected()&&qt(c,eh()),i.stop())}),h3={[uc()]:["disabling","alloy.base.behaviour","toggling","item-events"]},dp=bd,nd=(t,s,c,i)=>{const d=mt(q);return{type:"item",dom:s.dom,components:dp(s.optComponents),data:t.data,eventOrder:h3,hasSubmenu:t.triggersSubmenu,itemBehaviours:Be([Nt("item-events",[Dx(t,c),fm(t,d),ll(t,d)]),Ha.item(()=>!t.enabled||i.isDisabled()),bs(),kt.config({})].concat(t.itemBehaviours))}},Nb=t=>({value:t.value,meta:{text:t.text.getOr(""),...t.meta}}),xB=t=>{const s=kb.os.isMacOS()||kb.os.isiOS(),d=s?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl",access:"Shift+Alt"},g=t.split("+"),p=Ee(g,C=>{const S=C.toLowerCase().trim();return wn(d,S)?d[S]:C});return s?p.join(""):p.join("+")},xi=(t,s,c=[$M])=>il(t,{tag:"div",classes:c},s),Zc=t=>({dom:{tag:"div",classes:[q4]},components:[vo(Wc.translate(t))]}),Pb=(t,s)=>({dom:{tag:"div",classes:s,innerHtml:t}}),Ei=(t,s)=>({dom:{tag:"div",classes:[q4]},components:[{dom:{tag:t.tag,styles:t.styles},components:[vo(Wc.translate(s))]}]}),t8=t=>({dom:{tag:"div",classes:[v7]},components:[vo(xB(t))]}),Ln=t=>xi("checkmark",t,[y7]),n8=t=>xi("chevron-right",t,[IM]),mp=t=>xi("chevron-down",t,[IM]),C2=(t,s)=>{const c=t.direction==="vertical"?K4:LM,i=t.align==="left"?S7:C7;return{dom:{tag:"div",classes:[FM,c,i,(()=>{switch(t.valign){case"top":return HM;case"middle":return w7;case"bottom":return Y4}})()]},components:s}},EB=(t,s,c)=>({dom:{tag:"img",classes:s,attributes:{src:t,alt:c.getOr("")}}}),p3=(t,s,c)=>{const i="custom",d="remove",g=t.ariaLabel,p=t.value,C=t.iconContent.map(E=>l7(E,s.icons,c));return{dom:(()=>{const E=G4,k=C.getOr(""),B={tag:"div",attributes:g.map(P=>({title:s.translate(P)})).getOr({}),classes:[E]};return p===i?{...B,tag:"button",classes:[...B.classes,"tox-swatches__picker-btn"],innerHtml:k}:p===d?{...B,classes:[...B.classes,"tox-swatch--remove"],innerHtml:k}:sr(p)?{...B,attributes:{...B.attributes,"data-mce-color":p},styles:{"background-color":p},innerHtml:k}:B})(),optComponents:[]}},Mx=t=>{const s=t.map(c=>({attributes:{title:Wc.translate(c),id:Xe("menu-item")}})).getOr({});return{tag:"div",classes:[j4,fx],...s}},o8=(t,s,c,i)=>{const d={tag:"div",classes:[$M]},g=B=>il(B,d,s.icons,i),p=()=>_.some({dom:d}),C=c?t.iconContent.map(g).orThunk(p):_.none(),S=t.checkMark,E=_.from(t.meta).fold(()=>Zc,B=>wn(B,"style")?an(Ei,B.style):Zc),k=t.htmlContent.fold(()=>t.textContent.map(E),B=>_.some(Pb(B,[q4])));return{dom:Mx(t.ariaLabel),optComponents:[C,k,t.shortcutContent.map(t8),S,t.caret]}},fp=(t,s,c,i=_.none())=>t.presets==="color"?p3(t,s,i):o8(t,s,c,i),TB=(t,s)=>We(t,"tooltipWorker").map(c=>[yB.config({lazySink:s.getSink,tooltipDom:{tag:"div",classes:["tox-tooltip-worker-container"]},tooltipComponents:[],anchor:i=>({type:"submenu",item:i,overrides:{maxHeightFunction:vf}}),mode:"follow-highlight",onShow:(i,d)=>{c(g=>{yB.setComponents(i,[bS({element:ee.fromDom(g)})])})}})]).getOr([]),_B=t=>_b.DOM.encode(t),b3=(t,s)=>{const c=Wc.translate(t),i=_B(c);if(s.length>0){const d=new RegExp(Q7(s),"gi");return i.replace(d,g=>`${g}`)}else return i},v3=(t,s,c,i,d,g,p,C=!0)=>{const S=fp({presets:i,textContent:_.none(),htmlContent:c?t.text.map(E=>b3(E,s)):_.none(),ariaLabel:t.text,iconContent:t.icon,shortcutContent:_.none(),checkMark:_.none(),caret:_.none(),value:t.value},p.providers,C,t.icon);return nd({data:Nb(t),enabled:t.enabled,getApi:Q({}),onAction:E=>d(t.value,t.meta),onSetup:Q(q),triggersSubmenu:!1,itemBehaviours:TB(t.meta,p)},S,g,p.providers)},y3=(t,s)=>Ee(t,c=>{switch(c.type){case"cardcontainer":return C2(c,y3(c.items,s));case"cardimage":return EB(c.src,c.classes,c.alt);case"cardtext":const d=c.name.exists(g=>So(s.cardText.highlightOn,g))?_.from(s.cardText.matchText).getOr(""):"";return Pb(b3(c.text,d),c.classes)}}),Bx=(t,s,c,i)=>{const d=p=>({isEnabled:()=>!bt.isDisabled(p),setEnabled:C=>{bt.set(p,!C),Ke(ls(p.element,"*"),S=>{p.getSystem().getByDom(S).each(E=>{E.hasConfigured(bt)&&bt.set(E,!C)})})}}),g={dom:Mx(t.label),optComponents:[_.some({dom:{tag:"div",classes:[FM,LM]},components:y3(t.items,i)})]};return nd({data:Nb({text:_.none(),...t}),enabled:t.enabled,getApi:d,onAction:t.onAction,onSetup:t.onSetup,triggersSubmenu:!1,itemBehaviours:_.from(i.itemBehaviours).getOr([])},g,s,c.providers)},s8=(t,s,c,i,d,g,p,C=!0)=>{const S=k=>({setActive:R=>{Ft.set(k,R)},isActive:()=>Ft.isOn(k),isEnabled:()=>!bt.isDisabled(k),setEnabled:R=>bt.set(k,!R)}),E=fp({presets:c,textContent:s?t.text:_.none(),htmlContent:_.none(),ariaLabel:t.text,iconContent:t.icon,shortcutContent:s?t.shortcut:_.none(),checkMark:s?_.some(Ln(p.icons)):_.none(),caret:_.none(),value:t.value},p,C);return Vn(nd({data:Nb(t),enabled:t.enabled,getApi:S,onAction:k=>i(t.value),onSetup:k=>(k.setActive(d),q),triggersSubmenu:!1,itemBehaviours:[]},E,g,p),{toggling:{toggleClass:PM,toggleOnExecute:!1,selected:t.active,exclusive:!0}})},kB=Gl(Xy(),Jy()),OB=t=>({value:DB(t)}),AB=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,RB=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,C3=t=>AB.test(t)||RB.test(t),DB=t=>_0(t,"#").toUpperCase(),r8=t=>C3(t)?_.some({value:DB(t)}):_.none(),MB=t=>({value:t.value.replace(AB,(c,i,d,g)=>i+i+d+d+g+g)}),c8=t=>{const s=MB(t),c=RB.exec(s.value);return c===null?["FFFFFF","FF","FF","FF"]:c},Nx=t=>{const s=t.toString(16);return(s.length===1?"0"+s:s).toUpperCase()},gm=t=>{const s=Nx(t.red)+Nx(t.green)+Nx(t.blue);return OB(s)},BB=Math.min,NB=Math.max,S2=Math.round,PB=/^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i,$B=/^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i,eg=(t,s,c,i)=>({red:t,green:s,blue:c,alpha:i}),S3=t=>{const s=parseInt(t,10);return s.toString()===t&&s>=0&&s<=255},IB=t=>{let s,c,i;const d=(t.hue||0)%360;let g=t.saturation/100,p=t.value/100;if(g=NB(0,BB(g,1)),p=NB(0,BB(p,1)),g===0)return s=c=i=S2(255*p),eg(s,c,i,1);const C=d/60,S=p*g,E=S*(1-Math.abs(C%2-1)),k=p-S;switch(Math.floor(C)){case 0:s=S,c=E,i=0;break;case 1:s=E,c=S,i=0;break;case 2:s=0,c=S,i=E;break;case 3:s=0,c=E,i=S;break;case 4:s=E,c=0,i=S;break;case 5:s=S,c=0,i=E;break;default:s=c=i=0}return s=S2(255*(s+k)),c=S2(255*(c+k)),i=S2(255*(i+k)),eg(s,c,i,1)},w2=t=>{const s=c8(t),c=parseInt(s[1],16),i=parseInt(s[2],16),d=parseInt(s[3],16);return eg(c,i,d,1)},FB=(t,s,c,i)=>{const d=parseInt(t,10),g=parseInt(s,10),p=parseInt(c,10),C=parseFloat(i);return eg(d,g,p,C)},w3=t=>{if(t==="transparent")return _.some(eg(0,0,0,0));const s=PB.exec(t);if(s!==null)return _.some(FB(s[1],s[2],s[3],"1"));const c=$B.exec(t);return c!==null?_.some(FB(c[1],c[2],c[3],c[4])):_.none()},x3=t=>`rgba(${t.red},${t.green},${t.blue},${t.alpha})`,Ti=eg(255,0,0,1),a8=t=>{t.dispatch("SkinLoaded")},E3=(t,s)=>{t.dispatch("SkinLoadError",s)},LB=t=>{t.dispatch("ResizeEditor")},Px=(t,s)=>{t.dispatch("ResizeContent",s)},i8=(t,s)=>{t.dispatch("ScrollContent",s)},T3=(t,s)=>{t.dispatch("TextColorChange",s)},HB=(t,s)=>{t.dispatch("AfterProgressState",{state:s})},VB=(t,s)=>t.dispatch("ResolveName",{name:s.nodeName.toLowerCase(),target:s}),l8=(t,s)=>{t.dispatch("ToggleToolbarDrawer",{state:s})},u8=(t,s)=>{t.dispatch("StylesTextUpdate",s)},d8=(t,s)=>{t.dispatch("AlignTextUpdate",s)},m8=(t,s)=>{t.dispatch("FontSizeTextUpdate",s)},f8=(t,s)=>{t.dispatch("FontSizeInputTextUpdate",s)},zB=(t,s)=>{t.dispatch("BlocksTextUpdate",s)},UB=(t,s)=>{t.dispatch("FontFamilyTextUpdate",s)},x2=(t,s)=>()=>{t(),s()},Wr=t=>ul(t,"NodeChange",s=>{s.setEnabled(t.selection.isEditable())}),g8=(t,s)=>c=>{const i=Vl(),d=()=>{c.setActive(t.formatter.match(s));const g=t.formatter.formatChanged(s,c.setActive);i.set(g)};return t.initialized?d():t.once("init",d),()=>{t.off("init",d),i.clear()}},$x=(t,s)=>c=>{const i=Wr(t)(c),d=g8(t,s)(c);return()=>{i(),d()}},ul=(t,s,c)=>i=>{const d=()=>c(i),g=()=>{c(i),t.on(s,d)};return t.initialized?g():t.once("init",g),()=>{t.off("init",g),t.off(s,d)}},WB=t=>s=>()=>{t.undoManager.transact(()=>{t.focus(),t.execCommand("mceToggleFormat",!1,s.format)})},jc=(t,s)=>()=>t.execCommand(s);var tg=tinymce.util.Tools.resolve("tinymce.util.LocalStorage");const _3={},k3=(t,s=10)=>{const c=tg.getItem(t),i=hn(c)?JSON.parse(c):[],g=(E=>s-E.length<0?E.slice(0,s):E)(i),p=E=>{_e(g,E).each(C),g.unshift(E),g.length>s&&g.pop(),tg.setItem(t,JSON.stringify(g))},C=E=>{g.splice(E,1)};return{add:p,state:()=>g.slice(0)}},Ix=t=>We(_3,t).getOrThunk(()=>{const s=`tinymce-custom-colors-${t}`,c=tg.getItem(s);if(Mi(c)){const d=tg.getItem("tinymce-custom-colors");tg.setItem(s,sr(d)?d:"[]")}const i=k3(s,10);return _3[t]=i,i}),O3=t=>Ee(Ix(t).state(),s=>({type:"choiceitem",text:s,icon:"checkmark",value:s})),A3=(t,s)=>{Ix(t).add(s)},E2=(t,s,c)=>({hue:t,saturation:s,value:c}),Fx=t=>{let s=0,c=0,i=0;const d=t.red/255,g=t.green/255,p=t.blue/255,C=Math.min(d,Math.min(g,p)),S=Math.max(d,Math.max(g,p));if(C===S)return i=C,E2(0,0,i*100);const E=d===C?g-p:p===C?d-g:p-d;return s=d===C?3:p===C?1:5,s=60*(s-E/(S-C)),c=(S-C)/S,i=S,E2(Math.round(s),Math.round(c*100),Math.round(i*100))},h8=t=>Fx(w2(t)),ZB=t=>gm(IB(t)),p8=t=>r8(t).orThunk(()=>w3(t).map(gm)).getOrThunk(()=>{const s=document.createElement("canvas");s.height=1,s.width=1;const c=s.getContext("2d");c.clearRect(0,0,s.width,s.height),c.fillStyle="#FFFFFF",c.fillStyle=t,c.fillRect(0,0,1,1);const i=c.getImageData(0,0,1,1).data,d=i[0],g=i[1],p=i[2],C=i[3];return gm(eg(d,g,p,C))}),Lx="forecolor",Hx="hilitecolor",jB=5,b8=t=>{const s=[];for(let c=0;cs=>s.options.get(t),R3="#000000",v8=t=>{const s=t.options.register,c=d=>uu(d,hn)?{value:b8(d),valid:!0}:{valid:!1,message:"Must be an array of strings."},i=d=>Ga(d)&&d>0?{value:d,valid:!0}:{valid:!1,message:"Must be a positive number."};s("color_map",{processor:c,default:["#BFEDD2","Light Green","#FBEEB8","Light Yellow","#F8CAC6","Light Red","#ECCAFA","Light Purple","#C2E0F4","Light Blue","#2DC26B","Green","#F1C40F","Yellow","#E03E2D","Red","#B96AD9","Purple","#3598DB","Blue","#169179","Dark Turquoise","#E67E23","Orange","#BA372A","Dark Red","#843FA1","Dark Purple","#236FA1","Dark Blue","#ECF0F1","Light Gray","#CED4D9","Medium Gray","#95A5A6","Gray","#7E8C8D","Dark Gray","#34495E","Navy Blue","#000000","Black","#ffffff","White"]}),s("color_map_background",{processor:c}),s("color_map_foreground",{processor:c}),s("color_cols",{processor:i,default:D3(t)}),s("color_cols_foreground",{processor:i,default:GB(t,Lx)}),s("color_cols_background",{processor:i,default:GB(t,Hx)}),s("custom_colors",{processor:"boolean",default:!0}),s("color_default_foreground",{processor:"string",default:R3}),s("color_default_background",{processor:"string",default:R3})},Vx=(t,s)=>s===Lx&&t.options.isSet("color_map_foreground")?od("color_map_foreground")(t):s===Hx&&t.options.isSet("color_map_background")?od("color_map_background")(t):od("color_map")(t),D3=(t,s="default")=>Math.max(jB,Math.ceil(Math.sqrt(Vx(t,s).length))),GB=(t,s)=>{const c=od("color_cols")(t),i=D3(t,s);return c===D3(t)?i:c},qB=(t,s="default")=>Math.round((()=>s===Lx?od("color_cols_foreground")(t):s===Hx?od("color_cols_background")(t):od("color_cols")(t))()),KB=od("custom_colors"),y8=od("color_default_foreground"),C8=od("color_default_background"),YB="rgba(0, 0, 0, 0)",S8=t=>w3(t).exists(s=>s.alpha!==0),w8=t=>Bd(t,s=>{if(Hn(s)){const c=Eo(s,"background-color");return Et(S8(c),c)}else return _.none()}).getOr(YB),XB=(t,s)=>{const c=ee.fromDom(t.selection.getStart()),i=s==="hilitecolor"?w8(c):Eo(c,"color");return w3(i).map(d=>"#"+gm(d).value)},x8=(t,s,c)=>{t.undoManager.transact(()=>{t.focus(),t.formatter.apply(s,{value:c}),t.nodeChanged()})},E8=(t,s)=>{t.undoManager.transact(()=>{t.focus(),t.formatter.remove(s,{value:null},void 0,!0),t.nodeChanged()})},zx=t=>{t.addCommand("mceApplyTextcolor",(s,c)=>{x8(t,s,c)}),t.addCommand("mceRemoveTextcolor",s=>{E8(t,s)})},M3=t=>{const s="choiceitem",c={type:s,text:"Remove color",icon:"color-swatch-remove-color",value:"remove"};return t?[c,{type:s,text:"Custom color",icon:"color-picker",value:"custom"}]:[c]},B3=(t,s,c,i)=>{c==="custom"?tN(t)(g=>{g.each(p=>{A3(s,p),t.execCommand("mceApplyTextcolor",s,p),i(p)})},XB(t,s).getOr(R3)):c==="remove"?(i(""),t.execCommand("mceRemoveTextcolor",s)):(i(c),t.execCommand("mceApplyTextcolor",s,c))},N3=(t,s,c)=>t.concat(O3(s).concat(M3(c))),JB=(t,s,c)=>i=>{i(N3(t,s,c))},P3=(t,s,c)=>{const i=s==="forecolor"?"tox-icon-text-color__color":"tox-icon-highlight-bg-color__color";t.setIconFill(i,c)},QB=(t,s)=>{t.setTooltip(s)},eN=(t,s)=>c=>{const i=XB(t,s);return Ec(i,c.toUpperCase())},T2=(t,s,c)=>{if(Bo(c))return s==="forecolor"?"Text color":"Background color";const i=s==="forecolor"?"Text color {0}":"Background color {0}",d=N3(Vx(t,s),s,!1),g=_t(d,p=>p.value===c).getOr({text:""}).text;return t.translate([i,t.translate(g)])},$3=(t,s,c,i)=>{t.ui.registry.addSplitButton(s,{tooltip:T2(t,c,i.get()),presets:"color",icon:s==="forecolor"?"text-color":"highlight-bg-color",select:eN(t,c),columns:qB(t,c),fetch:JB(Vx(t,c),c,KB(t)),onAction:d=>{B3(t,c,i.get(),q)},onItemAction:(d,g)=>{B3(t,c,g,p=>{i.set(p),T3(t,{name:s,color:p})})},onSetup:d=>{P3(d,s,i.get());const g=p=>{p.name===s&&(P3(d,p.name,p.color),QB(d,T2(t,c,p.color)))};return t.on("TextColorChange",g),x2(Wr(t)(d),()=>{t.off("TextColorChange",g)})}})},I3=(t,s,c,i,d)=>{t.ui.registry.addNestedMenuItem(s,{text:i,icon:s==="forecolor"?"text-color":"highlight-bg-color",onSetup:g=>(QB(g,T2(t,c,d.get())),P3(g,s,d.get()),Wr(t)(g)),getSubmenuItems:()=>[{type:"fancymenuitem",fancytype:"colorswatch",select:eN(t,c),initData:{storageKey:c},onAction:g=>{B3(t,c,g.value,p=>{d.set(p),T3(t,{name:s,color:p})})}}]})},tN=t=>(s,c)=>{let i=!1;const d=C=>{const E=C.getData().colorpicker;i?(s(_.from(E)),C.close()):t.windowManager.alert(t.translate(["Invalid hex color code: {0}",E]))},g=(C,S)=>{S.name==="hex-valid"&&(i=S.value)},p={colorpicker:c};t.windowManager.open({title:"Color Picker",size:"normal",body:{type:"panel",items:[{type:"colorpicker",name:"colorpicker",label:"Color"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:p,onAction:g,onSubmit:d,onClose:q,onCancel:()=>{s(_.none())}})},F3=t=>{zx(t);const s=y8(t),c=C8(t),i=mt(s),d=mt(c);$3(t,"forecolor","forecolor",i),$3(t,"backcolor","hilitecolor",d),I3(t,"forecolor","forecolor","Text color",i),I3(t,"backcolor","hilitecolor","Background color",d)},L3=(t,s,c,i,d,g,p,C)=>{const S=yx(s),k=T8(s,c,i,d!=="color"?"normal":"color",g,p,C);return t3(t,S,k,i,{menuType:d})},T8=(t,s,c,i,d,g,p)=>bd(Ee(t,C=>C.type==="choiceitem"?z7(C).fold(dm,S=>_.some(s8(S,c===1,i,s,g(S.value),d,p,yx(t)))):_.none())),Ux=(t,s)=>{const c=Qu(s);return t===1?{mode:"menu",moveOnTab:!0}:t==="auto"?{mode:"grid",selector:"."+c.item,initSize:{numColumns:1,numRows:1}}:{mode:"matrix",rowSelector:"."+(s==="color"?"tox-swatches__row":"tox-collection__group"),previousSelector:d=>s==="color"?Ao(d.element,"[aria-checked=true]"):_.none()}},_8=(t,s)=>t===1?{mode:"menu",moveOnTab:!1,selector:".tox-collection__item"}:t==="auto"?{mode:"flatgrid",selector:".tox-collection__item",initSize:{numColumns:1,numRows:1}}:{mode:"matrix",selectors:{row:s==="color"?".tox-swatches__row":".tox-collection__group",cell:s==="color"?`.${G4}`:`.${fx}`}},k8=(t,s)=>{const c=O8(t,s),i=s.colorinput.getColorCols(t.initData.storageKey),d="color",p={...L3(Xe("menu-value"),c,C=>{t.onAction({value:C})},i,d,tu.CLOSE_ON_EXECUTE,t.select.getOr(Rn),s.shared.providers),markers:Qu(d),movement:Ux(i,d)};return{type:"widget",data:{value:Xe("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[kB.widget(op.sketch(p))]}},O8=(t,s)=>{const c=t.initData.allowCustomColors&&s.colorinput.hasCustomColors();return t.initData.colors.fold(()=>N3(s.colorinput.getColors(t.initData.storageKey),t.initData.storageKey,c),i=>i.concat(M3(c)))},nN=Xe("cell-over"),oN=Xe("cell-execute"),A8=t=>(s,c)=>t.shared.providers.translate(["{0} columns, {1} rows",c,s]),R8=(t,s,c)=>{const i=p=>it(p,nN,{row:t,col:s}),d=p=>it(p,oN,{row:t,col:s}),g=(p,C)=>{C.stop(),d(p)};return Ys({dom:{tag:"div",attributes:{role:"button","aria-label":c}},behaviours:Be([Nt("insert-table-picker-cell",[be(Rl(),yt.focus),be(uc(),d),be(Dl(),g),be(li(),g)]),Ft.config({toggleClass:"tox-insert-table-picker__selected",toggleOnExecute:!1}),yt.config({onFocus:i})])})},Wx=(t,s,c)=>{const i=[];for(let d=0;d{for(let g=0;gge(t,s=>Ee(s,$c)),z3=(t,s)=>vo(`${s}x${t}`),D8={inserttable:(t,s)=>{const d=A8(s),g=Wx(d,10,10),p=z3(0,0),C=Cn({dom:{tag:"span",classes:["tox-insert-table-picker__label"]},components:[p],behaviours:Be([kt.config({})])});return{type:"widget",data:{value:Xe("widget-id")},dom:{tag:"div",classes:["tox-fancymenuitem"]},autofocus:!0,components:[kB.widget({dom:{tag:"div",classes:["tox-insert-table-picker"]},components:V3(g).concat(C.asSpec()),behaviours:Be([Nt("insert-table-picker",[Mn(S=>{kt.set(C.get(S),[p])}),bv(nN,(S,E,k)=>{const{row:R,col:B}=k.event;H3(g,R,B,10,10),kt.set(C.get(S),[z3(R+1,B+1)])}),bv(oN,(S,E,k)=>{const{row:R,col:B}=k.event;t.onAction({numRows:R+1,numColumns:B+1}),qt(S,eh())})]),lt.config({initSize:{numRows:10,numColumns:10},mode:"flatgrid",selector:'[role="button"]'})])})]}},colorswatch:k8},U3=(t,s)=>We(D8,t.fancytype).map(c=>c(t,s)),W3=(t,s,c,i=!0,d=!1)=>{const g=d?mp(c.icons):n8(c.icons),p=S=>({isEnabled:()=>!bt.isDisabled(S),setEnabled:E=>bt.set(S,!E),setIconFill:(E,k)=>{Ao(S.element,`svg path[class="${E}"], rect[class="${E}"]`).each(R=>{Ze(R,"fill",k)})},setTooltip:E=>{const k=c.translate(E);$g(S.element,{"aria-label":k,title:k})}}),C=fp({presets:"normal",iconContent:t.icon,textContent:t.text,htmlContent:_.none(),ariaLabel:t.text,caret:_.some(g),checkMark:_.none(),shortcutContent:t.shortcut},c,i);return nd({data:Nb(t),getApi:p,enabled:t.enabled,onAction:q,onSetup:t.onSetup,triggersSubmenu:!0,itemBehaviours:[]},C,s,c)},Zx=(t,s,c,i=!0)=>{const d=p=>({isEnabled:()=>!bt.isDisabled(p),setEnabled:C=>bt.set(p,!C)}),g=fp({presets:"normal",iconContent:t.icon,textContent:t.text,htmlContent:_.none(),ariaLabel:t.text,caret:_.none(),checkMark:_.none(),shortcutContent:t.shortcut},c,i);return nd({data:Nb(t),getApi:d,enabled:t.enabled,onAction:t.onAction,onSetup:t.onSetup,triggersSubmenu:!1,itemBehaviours:[]},g,s,c)},sN=t=>({type:"separator",dom:{tag:"div",classes:[fx,b7]},components:t.text.map(vo).toArray()}),M8=(t,s,c,i=!0)=>{const d=p=>({setActive:C=>{Ft.set(p,C)},isActive:()=>Ft.isOn(p),isEnabled:()=>!bt.isDisabled(p),setEnabled:C=>bt.set(p,!C)}),g=fp({iconContent:t.icon,textContent:t.text,htmlContent:_.none(),ariaLabel:t.text,checkMark:_.some(Ln(c.icons)),caret:_.none(),shortcutContent:t.shortcut,presets:"normal",meta:t.meta},c,i);return Vn(nd({data:Nb(t),enabled:t.enabled,getApi:d,onAction:t.onAction,onSetup:t.onSetup,triggersSubmenu:!1,itemBehaviours:[]},g,s,c),{toggling:{toggleClass:PM,toggleOnExecute:!1,selected:t.active}})},B8=v3,rN=sN,N8=Zx,P8=W3,$8=M8,I8=U3,F8=Bx;var L8=Object.freeze({__proto__:null,getCoupled:(t,s,c,i)=>c.getOrCreate(t,s,i),getExistingCoupled:(t,s,c,i)=>c.getExisting(t,s,i)}),H8=[rc("others",Ol($t.value,jo()))],cN=Object.freeze({__proto__:null,init:()=>{const t={},s=(g,p)=>{if(ho(g.others).length===0)throw new Error("Cannot find any known coupled components");return We(t,p)},c=(g,p,C)=>s(p,C).getOrThunk(()=>{const E=We(p.others,C).getOrDie("No information found for coupled component: "+C)(g),k=g.getSystem().build(E);return t[C]=k,k}),i=(g,p,C)=>s(p,C).orThunk(()=>(We(p.others,C).getOrDie("No information found for coupled component: "+C),_.none())),d=Q({});return dc({readState:d,getExisting:i,getOrCreate:c})}});const Do=is({fields:H8,name:"coupling",apis:L8,state:cN}),Z3=t=>{let s=_.none(),c=[];const i=E=>Z3(k=>{d(R=>{k(E(R))})}),d=E=>{p()?S(E):c.push(E)},g=E=>{p()||(s=_.some(E),C(c),c=[])},p=()=>s.isSome(),C=E=>{Ke(E,S)},S=E=>{s.each(k=>{setTimeout(()=>{E(k)},0)})};return t(g),{get:d,map:i,isReady:p}},V8={nu:Z3,pure:t=>Z3(s=>{s(t)})},z8=t=>{setTimeout(()=>{throw t},0)},ng=t=>{const s=S=>{t().then(S,z8)};return{map:S=>ng(()=>t().then(S)),bind:S=>ng(()=>t().then(E=>S(E).toPromise())),anonBind:S=>ng(()=>t().then(()=>S.toPromise())),toLazy:()=>V8.nu(s),toCached:()=>{let S=null;return ng(()=>(S===null&&(S=t()),S))},toPromise:t,get:s}},pr={nu:t=>ng(()=>new Promise(t)),pure:t=>ng(()=>Promise.resolve(t))},aN=Q("sink"),iN=Q(Hr({name:aN(),overrides:Q({dom:{tag:"div"},behaviours:Be([Js.config({useFixed:vt})]),events:In([Bl(Aa()),Bl(Go()),Bl(Dl())])})})),lN=(t,s)=>{const c=t.getHotspot(s).getOr(s),i="hotspot",d=t.getAnchorOverrides();return t.layouts.fold(()=>({type:i,hotspot:c,overrides:d}),g=>({type:i,hotspot:c,overrides:d,layouts:g}))},U8=(t,s,c)=>{const i=t.fetch;return i(c).map(s)},W8=(t,s,c,i,d,g,p)=>{const C=U8(t,s,i),S=uN(i,t);return C.map(E=>E.bind(k=>_.from(jf.sketch({...g.menu(),uid:qm(""),data:k,highlightOnOpen:p,onOpenMenu:(R,B)=>{const P=S().getOrDie();Js.position(P,B,{anchor:c}),Kt.decloak(d)},onOpenSubmenu:(R,B,P)=>{const F=S().getOrDie();Js.position(F,P,{anchor:{type:"submenu",item:B}}),Kt.decloak(d)},onRepositionMenu:(R,B,P)=>{const F=S().getOrDie();Js.position(F,B,{anchor:c}),Ke(P,W=>{Js.position(F,W.triggeredMenu,{anchor:{type:"submenu",item:W.triggeringItem}})})},onEscape:()=>(yt.focus(i),Kt.close(d),_.some(!0))}))))},jx=(t,s,c,i,d,g,p)=>{const C=lN(t,c);return W8(t,s,C,c,i,d,p).map(E=>(E.fold(()=>{Kt.isOpen(i)&&Kt.close(i)},k=>{Kt.cloak(i),Kt.open(i,k),g(i)}),i))},Z8=(t,s,c,i,d,g,p)=>(Kt.close(i),pr.pure(i)),j3=(t,s,c,i,d,g)=>{const p=Do.getCoupled(c,"sandbox");return(Kt.isOpen(p)?Z8:jx)(t,s,c,p,i,d,g)},j8=(t,s,c)=>{const i=Zt.getCurrent(s).getOr(s),d=gs(t.element);c?Bt(i.element,"min-width",d+"px"):un(i.element,d)},uN=(t,s)=>t.getSystem().getByUid(s.uid+"-"+aN()).map(c=>()=>$t.value(c)).getOrThunk(()=>s.lazySink.fold(()=>()=>$t.error(new Error("No internal sink is specified, nor could an external sink be found")),c=>()=>c(t))),dN=t=>{Kt.getState(t).each(s=>{jf.repositionMenus(s)})},G3=(t,s,c)=>{const i=Zd(),d=(C,S)=>{const E=lN(t,s);i.link(s.element),t.matchWidth&&j8(E.hotspot,S,t.useMinWidth),t.onOpen(E,C,S),c!==void 0&&c.onOpen!==void 0&&c.onOpen(C,S)},g=(C,S)=>{i.unlink(s.element),c!==void 0&&c.onClose!==void 0&&c.onClose(C,S)},p=uN(s,t);return{dom:{tag:"div",classes:t.sandboxClasses,attributes:{id:i.id,role:"listbox"}},behaviours:aa.augment(t.sandboxBehaviours,[ze.config({store:{mode:"memory",initialValue:s}}),Kt.config({onOpen:d,onClose:g,isPartOf:(C,S,E)=>Fl(S,E)||Fl(s,E),getAttachPoint:()=>p().getOrDie()}),Zt.config({find:C=>Kt.getState(C).bind(S=>Zt.getCurrent(S))}),Ir.config({channels:{...$h({isExtraPart:Rn}),...Mf({doReposition:dN})}})])}},mN=t=>{const s=Do.getCoupled(t,"sandbox");dN(s)},q3=()=>[oe("sandboxClasses",[]),aa.field("sandboxBehaviours",[Zt,Ir,Kt,ze])],G8=Q([ye("dom"),ye("fetch"),Qt("onOpen"),pc("onExecute"),oe("getHotspot",_.some),oe("getAnchorOverrides",Q({})),Lu(),Ko("dropdownBehaviours",[Ft,Do,lt,yt]),ye("toggleClass"),oe("eventOrder",{}),vn("lazySink"),oe("matchWidth",!1),oe("useMinWidth",!1),vn("role")].concat(q3())),q8=Q([$a({schema:[mh(),oe("fakeFocus",!1)],name:"menu",defaults:t=>({onExecute:t.onExecute})}),iN()]),K8=(t,s,c,i)=>{const d=k=>We(t.dom,"attributes").bind(R=>We(R,k)),g=k=>{Kt.getState(k).each(R=>{jf.highlightPrimary(R)})},p=(k,R,B)=>j3(t,sn,k,i,R,B),C=k=>{p(k,g,Ur.HighlightMenuAndItem).get(q)},S={expand:k=>{Ft.isOn(k)||p(k,q,Ur.HighlightNone).get(q)},open:k=>{Ft.isOn(k)||p(k,q,Ur.HighlightMenuAndItem).get(q)},refetch:k=>Do.getExistingCoupled(k,"sandbox").fold(()=>p(k,q,Ur.HighlightMenuAndItem).map(q),B=>jx(t,sn,k,B,i,q,Ur.HighlightMenuAndItem).map(q)),isOpen:Ft.isOn,close:k=>{Ft.isOn(k)&&p(k,q,Ur.HighlightMenuAndItem).get(q)},repositionMenus:k=>{Ft.isOn(k)&&mN(k)}},E=(k,R)=>(Ml(k),_.some(!0));return{uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.dropdownBehaviours,[Ft.config({toggleClass:t.toggleClass,aria:{mode:"expanded"}}),Do.config({others:{sandbox:k=>G3(t,k,{onOpen:()=>Ft.on(k),onClose:()=>Ft.off(k)})}}),lt.config({mode:"special",onSpace:E,onEnter:E,onDown:(k,R)=>{if(_i.isOpen(k)){const B=Do.getCoupled(k,"sandbox");g(B)}else _i.open(k);return _.some(!0)},onEscape:(k,R)=>_i.isOpen(k)?(_i.close(k),_.some(!0)):_.none()}),yt.config({})]),events:Ql(_.some(C)),eventOrder:{...t.eventOrder,[uc()]:["disabling","toggling","alloy.base.behaviour"]},apis:S,domModification:{attributes:{"aria-haspopup":"true",...t.role.fold(()=>({}),k=>({role:k})),...t.dom.tag==="button"?{type:d("type").getOr("button")}:{}}}}},_i=er({name:"Dropdown",configFields:G8(),partFields:q8(),factory:K8,apis:{open:(t,s)=>t.open(s),refetch:(t,s)=>t.refetch(s),expand:(t,s)=>t.expand(s),close:(t,s)=>t.close(s),isOpen:(t,s)=>t.isOpen(s),repositionMenus:(t,s)=>t.repositionMenus(s)}}),Y8=t=>{switch(t.searchMode){case"no-search":return{menuType:"normal"};default:return{menuType:"searchable",searchMode:t}}},X8=t=>{const s=ze.getValue(t),c=Db(t).map(J4);_i.refetch(s).get(()=>{const i=Do.getCoupled(s,"sandbox");c.each(d=>Db(i).each(g=>E7(g,d)))})},J8=(t,s)=>{Q8(t).each(c=>{d_(t,c.element,s.event.eventType,s.event.interactionEvent)})},Q8=t=>Kt.getState(t).bind(mn.getHighlighted).bind(mn.getHighlighted),eL=t=>qo(t.element,bx)?_.some(t.element):Ao(t.element,"."+bx),K3=(t,s,c)=>{px(t).each(i=>{GM(i,c),eL(s).each(g=>{Sr(g,"id").each(p=>Ze(i.element,"aria-controls",p))})}),Ze(c.element,"aria-selected","true")},tL=(t,s,c)=>{Ze(c.element,"aria-selected","false")},nL=t=>{px(t).each(s=>yt.focus(s))},oL=t=>Do.getExistingCoupled(t,"sandbox").bind(Db).map(J4).map(c=>c.fetchPattern).getOr("");var _2;(function(t){t[t.ContentFocus=0]="ContentFocus",t[t.UiFocus=1]="UiFocus"})(_2||(_2={}));const sL=(t,s,c,i,d)=>{const g=c.shared.providers,p=C=>d?{...C,shortcut:_.none(),icon:C.text.isSome()?_.none():C.icon}:C;switch(t.type){case"menuitem":return j7(t).fold(dm,C=>_.some(N8(p(C),s,g,i)));case"nestedmenuitem":return bB(t).fold(dm,C=>_.some(P8(p(C),s,g,i,d)));case"togglemenuitem":return K7(t).fold(dm,C=>_.some($8(p(C),s,g,i)));case"separator":return sB(t).fold(dm,C=>_.some(rN(C)));case"fancymenuitem":return W7(t).fold(dm,C=>I8(C,c));default:return console.error("Unknown item in general menu",t),_.none()}},rL=(t,s,c,i,d,g,p)=>{const C=i===1,S=!C||yx(t);return bd(Ee(t,E=>{switch(E.type){case"separator":return cB(E).fold(dm,k=>_.some(rN(k)));case"cardmenuitem":return H7(E).fold(dm,k=>_.some(F8({...k,onAction:R=>{k.onAction(R),c(k.value,k.meta)}},d,g,{itemBehaviours:TB(k.meta,g),cardText:{matchText:s,highlightOn:p}})));case"autocompleteitem":default:return A7(E).fold(dm,k=>_.some(B8(k,s,C,"normal",c,d,g,S)))}}))},fN=(t,s,c,i,d,g)=>{const p=yx(s),C=bd(Ee(s,k=>{const R=P=>d?!wn(P,"text"):p,B=P=>sL(P,c,i,R(P),d);return k.type==="nestedmenuitem"&&k.getSubmenuItems().length<=0?B({...k,enabled:!1}):B(k)})),S=Y8(g);return(d?JM:t3)(t,p,C,1,S)},Gx=t=>jf.singleData(t.value,t),cL=(t,s,c,i)=>{const d=Ux(s,i),g=Qu(i);return{data:Gx({...t,movement:d,menuBehaviours:b2.unnamedEvents(s!=="auto"?[]:[Mn((p,C)=>{p2(p,4,g.item).each(({numColumns:S,numRows:E})=>{lt.setGridSize(p,E,S)})})])}),menu:{markers:Qu(i),fakeFocus:c===_2.ContentFocus}}},aL=(t,s)=>NM(ee.fromDom(s.startContainer)).map(c=>{const i=t.createRng();return i.selectNode(c.dom),i}),iL={register:(t,s)=>{const c=Xe("autocompleter"),i=mt(!1),d=mt(!1),g=Ys(io.sketch({dom:{tag:"div",classes:["tox-autocompleter"],attributes:{id:c}},components:[],fireDismissalEventInstead:{},inlineBehaviours:Be([Nt("dismissAutocompleter",[be(Ru(),()=>k()),be(oh(),(se,K)=>{Sr(K.event.target,"id").each(j=>Ze(ee.fromDom(t.getBody()),"aria-activedescendant",j))})])]),lazySink:s.getSink})),p=()=>io.isOpen(g),C=d.get,S=()=>{if(p()){io.hide(g),t.dom.remove(c,!1);const se=ee.fromDom(t.getBody());Sr(se,"aria-owns").filter(K=>K===c).each(()=>{Po(se,"aria-owns"),Po(se,"aria-activedescendant")})}},E=()=>io.getContent(g).bind(se=>Vo(se.components(),0)),k=()=>t.execCommand("mceAutocompleterClose"),R=se=>{const K=Bs(se,j=>_.from(j.columns)).getOr(1);return ge(se,j=>{const re=j.items;return rL(re,j.matchText,(we,he)=>{const me=t.selection.getRng();aL(t.dom,me).each(De=>{const $e={hide:()=>k(),reload:Pt=>{S(),t.execCommand("mceAutocompleterReload",!1,{fetchOptions:Pt})}};i.set(!0),j.onAction($e,De,we,he),i.set(!1)})},K,tu.BUBBLE_TO_SANDBOX,s,j.highlightOn)})},B=(se,K)=>{h7(ee.fromDom(t.getBody())).each(j=>{const re=Bs(se,we=>_.from(we.columns)).getOr(1);io.showMenuAt(g,{anchor:{type:"node",root:ee.fromDom(t.getBody()),node:_.from(j)}},cL(t3("autocompleter-value",!0,K,re,{menuType:"normal"}),re,_2.ContentFocus,"normal"))}),E().each(mn.highlightFirst)},P=se=>{const K=R(se);K.length>0?(B(se,K),Ze(ee.fromDom(t.getBody()),"aria-owns",c),t.inline||F()):S()},F=()=>{t.dom.get(c)&&t.dom.remove(c,!1);const se=t.getDoc().documentElement,K=t.selection.getNode(),j=h_(g.element);tc(j,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px",top:`${K.offsetTop}px`,left:`${K.offsetLeft}px`}),t.dom.add(se,j.dom),Ao(j,'[role="menu"]').each(re=>{ln(re,"position"),ln(re,"max-height")})};t.on("AutocompleterStart",({lookupData:se})=>{d.set(!0),i.set(!1),P(se)}),t.on("AutocompleterUpdate",({lookupData:se})=>P(se)),t.on("AutocompleterEnd",()=>{S(),d.set(!1),i.set(!1)});const W={cancelIfNecessary:k,isMenuOpen:p,isActive:C,isProcessingAction:i.get,getMenu:E};W4.setup(W,t)}},gN=["visible","hidden","clip"],hN=t=>wl(t).length>0&&!So(gN,t),Y3=t=>{if(_m(t)){const s=Eo(t,"overflow-x"),c=Eo(t,"overflow-y");return hN(s)||hN(c)}else return!1},lL=t=>{const s=QS(t,Y3),c=s.length===0?M0(t).map(Ya).map(i=>QS(i,Y3)).getOr([]):s;return Yr(c).map(i=>({element:i,others:c.slice(1)}))},og=(t,s)=>um(t)?lL(s):_.none(),$b=t=>{const s=[...Ee(t.others,To),ir()];return o_(To(t.element),s)},k2=(t,s,c)=>mi(t,s,c).isSome(),pN=(t,s)=>{let c=null;return{cancel:()=>{c!==null&&(clearTimeout(c),c=null)},schedule:(...g)=>{c=setTimeout(()=>{t.apply(null,g),c=null},s)}}},bN=5,uL=400,vN=t=>{const s=t.raw;return s.touches===void 0||s.touches.length!==1?_.none():_.some(s.touches[0])},dL=(t,s)=>{const c=Math.abs(t.clientX-s.x),i=Math.abs(t.clientY-s.y);return c>bN||i>bN},mL=t=>{const s=Vt(),c=mt(!1),i=pN(E=>{t.triggerEvent(mv(),E),c.set(!0)},uL),d=E=>(vN(E).each(k=>{i.cancel();const R={x:k.clientX,y:k.clientY,target:E.target};i.schedule(E),c.set(!1),s.set(R)}),_.none()),g=E=>(i.cancel(),vN(E).each(k=>{s.on(R=>{dL(k,R)&&s.clear()})}),_.none()),p=E=>{i.cancel();const k=R=>$n(R.target,E.target);return s.get().filter(k).map(R=>c.get()?(E.prevent(),!1):t.triggerEvent(li(),E))},C=Fs([{key:Wi(),value:d},{key:Vm(),value:g},{key:Nd(),value:p}]);return{fireIfReady:(E,k)=>We(C,k).bind(R=>R(E))}},fL=t=>t.raw.which===qk[0]&&!So(["input","textarea"],ya(t.target))&&!k2(t.target,'[contenteditable="true"]'),gL=(t,s)=>{const c={stopBackspace:!0,...s},i=["touchstart","touchmove","touchend","touchcancel","gesturestart","mousedown","mouseup","mouseover","mousemove","mouseout","click"],d=mL(c),g=Ee(i.concat(["selectstart","input","contextmenu","change","transitionend","transitioncancel","drag","dragstart","dragend","dragenter","dragleave","dragover","drop","keyup"]),P=>fr(t,P,F=>{d.fireIfReady(F,P).each(se=>{se&&F.kill()}),c.triggerEvent(P,F)&&F.kill()})),p=Vt(),C=fr(t,"paste",P=>{d.fireIfReady(P,"paste").each(W=>{W&&P.kill()}),c.triggerEvent("paste",P)&&P.kill(),p.set(setTimeout(()=>{c.triggerEvent(Id(),P)},0))}),S=fr(t,"keydown",P=>{c.triggerEvent("keydown",P)?P.kill():c.stopBackspace&&fL(P)&&P.prevent()}),E=fr(t,"focusin",P=>{c.triggerEvent("focusin",P)&&P.kill()}),k=Vt(),R=fr(t,"focusout",P=>{c.triggerEvent("focusout",P)&&P.kill(),k.set(setTimeout(()=>{c.triggerEvent(ku(),P)},0))});return{unbind:()=>{Ke(g,P=>{P.unbind()}),S.unbind(),E.unbind(),R.unbind(),C.unbind(),p.on(clearTimeout),k.on(clearTimeout)}}},yN=(t,s)=>{const c=We(t,"target").getOr(s);return mt(c)},hL=(t,s)=>{const c=mt(!1),i=mt(!1);return{stop:()=>{c.set(!0)},cut:()=>{i.set(!0)},isStopped:c.get,isCut:i.get,event:t,setSource:s.set,getSource:s.get}},CN=t=>{const s=mt(!1);return{stop:()=>{s.set(!0)},cut:q,isStopped:s.get,isCut:Rn,event:t,setSource:Y("Cannot set source of a broadcasted event"),getSource:Y("Cannot get source of a broadcasted event")}},O2=ic.generate([{stopped:[]},{resume:["element"]},{complete:[]}]),SN=(t,s,c,i,d,g)=>{const p=t(s,i),C=hL(c,d);return p.fold(()=>(g.logEventNoHandlers(s,i),O2.complete()),S=>{const E=S.descHandler;return Jm(E)(C),C.isStopped()?(g.logEventStopped(s,S.element,E.purpose),O2.stopped()):C.isCut()?(g.logEventCut(s,S.element,E.purpose),O2.complete()):Ca(S.element).fold(()=>(g.logNoParent(s,S.element,E.purpose),O2.complete()),R=>(g.logEventResponse(s,S.element,E.purpose),O2.resume(R)))})},wN=(t,s,c,i,d,g)=>SN(t,s,c,i,d,g).fold(vt,p=>wN(t,s,c,p,d,g),Rn),pL=(t,s,c,i,d)=>{const g=yN(c,i);return SN(t,s,c,i,g,d)},bL=(t,s,c)=>{const i=CN(s);return Ke(t,d=>{const g=d.descHandler;Jm(g)(i)}),i.isStopped()},X3=(t,s,c,i)=>xN(t,s,c,c.target,i),xN=(t,s,c,i,d)=>{const g=yN(c,i);return wN(t,s,c,i,g,d)},vL=(t,s)=>({element:t,descHandler:s}),yL=(t,s)=>({id:t,descHandler:s}),EN=()=>{const t={},s=(p,C,S)=>{ms(S,(E,k)=>{const R=t[k]!==void 0?t[k]:{};R[C]=Tv(E,p),t[k]=R})},c=(p,C)=>ah(C).bind(S=>We(p,S)).map(S=>vL(C,S));return{registerId:s,unregisterId:p=>{ms(t,(C,S)=>{wn(C,p)&&delete C[p]})},filterByType:p=>We(t,p).map(C=>Vp(C,(S,E)=>yL(E,S))).getOr([]),find:(p,C,S)=>We(t,C).bind(E=>Bd(S,k=>c(E,k),p))}},TN=()=>{const t=EN(),s={},c=E=>{const k=E.element;return ah(k).getOrThunk(()=>Vd("uid-",E.element))},i=(E,k)=>{const R=s[k];if(R===E)g(E);else throw new Error('The tagId "'+k+'" is already used by: '+qi(R.element)+` -Cannot use it for: `+qi(E.element)+` -The conflicting element is`+(xs(R.element)?" ":" not ")+"already in the DOM")},d=E=>{const k=c(E);ta(s,k)&&i(E,k);const R=[E];t.registerId(R,k,E.events),s[k]=E},g=E=>{ah(E.element).each(k=>{delete s[k],t.unregisterId(k)})};return{find:(E,k,R)=>t.find(E,k,R),filter:E=>t.filterByType(E),register:d,unregister:g,getById:E=>We(s,E)}},ou=bc({name:"Container",factory:t=>{const{attributes:s,...c}=t.dom;return{uid:t.uid,dom:{tag:"div",attributes:{role:"presentation",...s},...c},components:t.components,behaviours:jl(t.containerBehaviours),events:t.events,domModification:t.domModification,eventOrder:t.eventOrder}},configFields:[oe("components",[]),Ko("containerBehaviours",[]),oe("events",{}),oe("domModification",{}),oe("eventOrder",{})]}),qx=t=>{const s=K=>Ca(t.element).fold(vt,j=>$n(K,j)),c=TN(),i=(K,j)=>c.find(s,K,j),d=gL(t.element,{triggerEvent:(K,j)=>R1(K,j.target,re=>X3(i,K,j,re))}),g={debugInfo:Q("real"),triggerEvent:(K,j,re)=>{R1(K,j,we=>xN(i,K,re,j,we))},triggerFocus:(K,j)=>{ah(K).fold(()=>{Fr(K)},re=>{R1(ii(),K,we=>(pL(i,ii(),{originator:j,kill:q,prevent:q,target:K},K,we),!1))})},triggerEscape:(K,j)=>{g.triggerEvent("keydown",K.element,j.event)},getByUid:K=>W(K),getByDom:K=>se(K),build:Ys,buildOrPatch:k1,addToGui:K=>{S(K)},removeFromGui:K=>{E(K)},addToWorld:K=>{p(K)},removeFromWorld:K=>{C(K)},broadcast:K=>{B(K)},broadcastOn:(K,j)=>{P(K,j)},broadcastEvent:(K,j)=>{F(K,j)},isConnected:vt},p=K=>{K.connect(g),_c(K.element)||(c.register(K),Ke(K.components(),p),g.triggerEvent(Ou(),K.element,{target:K.element}))},C=K=>{_c(K.element)||(Ke(K.components(),C),c.unregister(K)),K.disconnect()},S=K=>{ju(t,K)},E=K=>{ol(K)},k=()=>{d.unbind(),_a(t.element)},R=K=>{const j=c.filter(Fd());Ke(j,re=>{const we=re.descHandler;Jm(we)(K)})},B=K=>{R({universal:!0,data:K})},P=(K,j)=>{R({universal:!1,channels:K,data:j})},F=(K,j)=>{const re=c.filter(K);return bL(re,j)},W=K=>c.getById(K).fold(()=>$t.error(new Error('Could not find component with uid: "'+K+'" in system.')),$t.value),se=K=>{const j=ah(K).getOr("not found");return W(j)};return p(t),{root:t,element:t.element,destroy:k,add:S,remove:E,getByUid:W,getByDom:se,addToWorld:p,removeFromWorld:C,broadcast:B,broadcastOn:P,broadcastEvent:F}},CL=(t,s)=>({dom:{tag:"div",classes:["tox-bar","tox-form__controls-h-stack"]},components:Ee(t.items,s.interpreter)}),SL=Q([oe("prefix","form-field"),Ko("fieldBehaviours",[Zt,ze])]),wL=Q([Hr({schema:[ye("dom")],name:"label"}),Hr({factory:{sketch:t=>({uid:t.uid,dom:{tag:"span",styles:{display:"none"},attributes:{"aria-hidden":"true"},innerHtml:t.text}})},schema:[ye("text")],name:"aria-descriptor"}),Qs({factory:{sketch:t=>{const s=Qg(t,["factory"]);return t.factory.sketch(s)}},schema:[ye("factory")],name:"field"})]),xL=(t,s,c,i)=>{const d=Io(t.fieldBehaviours,[Zt.config({find:C=>Bn(C,t,"field")}),ze.config({store:{mode:"manual",getValue:C=>Zt.getCurrent(C).bind(ze.getValue),setValue:(C,S)=>{Zt.getCurrent(C).each(E=>{ze.setValue(E,S)})}}})]),g=In([Mn((C,S)=>{const E=xw(C,t,["label","field","aria-descriptor"]);E.field().each(k=>{const R=Xe(t.prefix);E.label().each(B=>{Ze(B.element,"for",R),Ze(k.element,"id",R)}),E["aria-descriptor"]().each(B=>{const P=Xe(t.prefix);Ze(B.element,"id",P),Ze(k.element,"aria-describedby",P)})})})]),p={getField:C=>Bn(C,t,"field"),getLabel:C=>Bn(C,t,"label")};return{uid:t.uid,dom:t.dom,components:s,behaviours:d,events:g,apis:p}},Sn=er({name:"FormField",configFields:SL(),partFields:wL(),factory:xL,apis:{getField:(t,s)=>t.getField(s),getLabel:(t,s)=>t.getLabel(s)}});var Kx=Object.freeze({__proto__:null,exhibit:(t,s)=>mc({attributes:Fs([{key:s.tabAttr,value:"true"}])})}),EL=[oe("tabAttr","data-alloy-tabstop")];const Jn=is({fields:EL,name:"tabstopping",active:Kx});var TL=tinymce.util.Tools.resolve("tinymce.html.Entities");const A2=(t,s,c,i)=>{const d=kL(t,s,c,i);return Sn.sketch(d)},_L=(t,s)=>A2(t,s,[],[]),kL=(t,s,c,i)=>({dom:R2(c),components:t.toArray().concat([s]),fieldBehaviours:Be(i)}),_j=()=>R2([]),R2=t=>({tag:"div",classes:["tox-form__group"].concat(t)}),ki=(t,s)=>Sn.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[vo(s.translate(t))]}),Gc=Xe("form-component-change"),Ib=Xe("form-close"),sg=Xe("form-cancel"),sd=Xe("form-action"),D2=Xe("form-submit"),J3=Xe("form-block"),Q3=Xe("form-unblock"),_N=Xe("form-tabchange"),kN=Xe("form-resize"),OL=(t,s,c)=>{const i=t.label.map(P=>ki(P,s)),d=s.icons(),g=P=>{var F;return(F=d[P])!==null&&F!==void 0?F:P},p=P=>(F,W)=>{mi(W.event.target,"[data-collection-item-value]").each(se=>{P(F,W,se,xo(se,"data-collection-item-value"))})},C=(P,F)=>{const W=Ee(F,j=>{const re=Wc.translate(j.text),we=t.columns===1?`
    ${re}
    `:"",he=`
    ${g(j.icon)}
    `,me={_:" "," - ":" ","-":" "},De=re.replace(/\_| \- |\-/g,Pt=>me[Pt]);return`
    ${he}${we}
    `}),se=t.columns!=="auto"&&t.columns>1?Dr(W,t.columns):[W],K=Ee(se,j=>`
    ${j.join("")}
    `);Ld(P.element,K.join(""))},S=p((P,F,W,se)=>{F.stop(),s.isDisabled()||it(P,sd,{name:t.name,value:se})}),E=[be(Rl(),p((P,F,W)=>{Fr(W)})),be(Dl(),S),be(li(),S),be(lc(),p((P,F,W)=>{Ao(P.element,"."+Yf).each(se=>{oo(se,Yf)}),Oo(W,Yf)})),be(c1(),p(P=>{Ao(P.element,"."+Yf).each(F=>{oo(F,Yf)})})),Ra(p((P,F,W,se)=>{it(P,sd,{name:t.name,value:se})}))],k=(P,F)=>Ee(ls(P.element,".tox-collection__item"),F),R=Sn.parts.field({dom:{tag:"div",classes:["tox-collection"].concat(t.columns!==1?["tox-collection--grid"]:["tox-collection--list"])},components:[],factory:{sketch:sn},behaviours:Be([bt.config({disabled:s.isDisabled,onDisabled:P=>{k(P,F=>{Oo(F,"tox-collection__item--state-disabled"),Ze(F,"aria-disabled",!0)})},onEnabled:P=>{k(P,F=>{oo(F,"tox-collection__item--state-disabled"),Po(F,"aria-disabled")})}}),bs(),kt.config({}),ze.config({store:{mode:"memory",initialValue:c.getOr([])},onSetValue:(P,F)=>{C(P,F),t.columns==="auto"&&p2(P,5,"tox-collection__item").each(({numRows:W,numColumns:se})=>{lt.setGridSize(P,W,se)}),qt(P,kN)}}),Jn.config({}),lt.config(_8(t.columns,"normal")),Nt("collection-events",E)]),eventOrder:{[uc()]:["disabling","alloy.base.behaviour","collection-events"]}});return A2(i,R,["tox-form__group--collection"],[])},AL=["input","textarea"],ON=t=>{const s=ya(t);return So(AL,s)},AN=(t,s)=>{const c=s.getRoot(t).getOr(t.element);oo(c,s.invalidClass),s.notify.each(i=>{ON(t.element)&&Ze(t.element,"aria-invalid",!1),i.getContainer(t).each(d=>{Ld(d,i.validHtml)}),i.onValid(t)})},eO=(t,s,c,i)=>{const d=s.getRoot(t).getOr(t.element);Oo(d,s.invalidClass),s.notify.each(g=>{ON(t.element)&&Ze(t.element,"aria-invalid",!0),g.getContainer(t).each(p=>{Ld(p,i)}),g.onInvalid(t,i)})},gp=(t,s,c)=>s.validator.fold(()=>pr.pure($t.value(!0)),i=>i.validate(t)),pm=(t,s,c)=>(s.notify.each(i=>{i.onValidate(t)}),gp(t,s).map(i=>t.getSystem().isConnected()?i.fold(d=>(eO(t,s,c,d),$t.error(d)),d=>(AN(t,s),$t.value(d))):$t.error("No longer in system")));var RN=Object.freeze({__proto__:null,markValid:AN,markInvalid:eO,query:gp,run:pm,isInvalid:(t,s)=>{const c=s.getRoot(t).getOr(t.element);return qo(c,s.invalidClass)}}),Yx=Object.freeze({__proto__:null,events:(t,s)=>t.validator.map(c=>In([be(c.onEvent,i=>{pm(i,t,s).get(sn)})].concat(c.validateOnLoad?[Mn(i=>{pm(i,t,s).get(q)})]:[]))).getOr({})}),DL=[ye("invalidClass"),oe("getRoot",_.none),Br("notify",[oe("aria","alert"),oe("getContainer",_.none),oe("validHtml",""),Qt("onValid"),Qt("onInvalid"),Qt("onValidate")]),Br("validator",[ye("validate"),oe("onEvent","input"),oe("validateOnLoad",!0)])];const Va=is({fields:DL,name:"invalidating",active:Yx,apis:RN,extra:{validation:t=>s=>{const c=ze.getValue(s);return pr.pure(t(c))}}});var ML=Object.freeze({__proto__:null,events:()=>In([gv(oS(),vt)]),exhibit:()=>mc({styles:{"-webkit-user-select":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"-moz-none"},attributes:{unselectable:"on"}})});const M2=is({fields:[],name:"unselecting",active:ML}),BL=(t,s)=>_i.sketch({dom:t.dom,components:t.components,toggleClass:"mce-active",dropdownBehaviours:Be([Ha.button(s.providers.isDisabled),bs(),M2.config({}),Jn.config({})]),layouts:t.layouts,sandboxClasses:["tox-dialog__popups"],lazySink:s.getSink,fetch:c=>pr.nu(i=>t.fetch(i)).map(i=>_.from(Gx(Vn(L3(Xe("menu-value"),i,d=>{t.onItemAction(c,d)},t.columns,t.presets,tu.CLOSE_ON_EXECUTE,Rn,s.providers),{movement:Ux(t.columns,t.presets)})))),parts:{menu:Rb(!1,1,t.presets)}}),DN=Xe("color-input-change"),MN=Xe("color-swatch-change"),B2=Xe("color-picker-cancel"),NL=(t,s,c,i)=>{const d=Sn.parts.field({factory:ap,inputClasses:["tox-textfield"],data:i,onSetValue:E=>Va.run(E).get(q),inputBehaviours:Be([bt.config({disabled:s.providers.isDisabled}),bs(),Jn.config({}),Va.config({invalidClass:"tox-textbox-field-invalid",getRoot:E=>qa(E.element),notify:{onValid:E=>{const k=ze.getValue(E);it(E,DN,{color:k})}},validator:{validateOnLoad:!1,validate:E=>{const k=ze.getValue(E);if(k.length===0)return pr.pure($t.value(!0));{const R=ee.fromTag("span");Bt(R,"background-color",k);const B=Ns(R,"background-color").fold(()=>$t.error("blah"),P=>$t.value(k));return pr.pure(B)}}}})]),selectOnFocus:!1}),g=t.label.map(E=>ki(E,s.providers)),p=(E,k)=>{it(E,MN,{value:k})},C=(E,k)=>{S.getOpt(E).each(R=>{k==="custom"?c.colorPicker(B=>{B.fold(()=>qt(R,B2),P=>{p(R,P),A3(t.storageKey,P)})},"#ffffff"):k==="remove"?p(R,""):p(R,k)})},S=Cn(BL({dom:{tag:"span",attributes:{"aria-label":s.providers.translate("Color swatch")}},layouts:{onRtl:()=>[Vs,cs,as],onLtr:()=>[cs,Vs,as]},components:[],fetch:JB(c.getColors(t.storageKey),t.storageKey,c.hasCustomColors()),columns:c.getColorCols(t.storageKey),presets:"color",onItemAction:C},s));return Sn.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:g.toArray().concat([{dom:{tag:"div",classes:["tox-color-input"]},components:[d,S.asSpec()]}]),fieldBehaviours:Be([Nt("form-field-events",[be(DN,(E,k)=>{S.getOpt(E).each(R=>{Bt(R.element,"background-color",k.event.color)}),it(E,Gc,{name:t.name})}),be(MN,(E,k)=>{Sn.getField(E).each(R=>{ze.setValue(R,k.event.value),Zt.getCurrent(E).each(yt.focus)})}),be(B2,(E,k)=>{Sn.getField(E).each(R=>{Zt.getCurrent(E).each(yt.focus)})})])])})},tO=Hr({schema:[ye("dom")],name:"label"}),rg=t=>Hr({name:""+t+"-edge",overrides:s=>s.model.manager.edgeActions[t].fold(()=>({}),i=>({events:In([f1(Wi(),(d,g,p)=>i(d,p),[s]),f1(Go(),(d,g,p)=>i(d,p),[s]),f1(zm(),(d,g,p)=>{p.mouseIsDown.get()&&i(d,p)},[s])])}))}),PL=rg("top-left"),$L=rg("top"),BN=rg("top-right"),IL=rg("right"),FL=rg("bottom-right"),LL=rg("bottom"),NN=rg("bottom-left"),HL=rg("left"),VL=Qs({name:"thumb",defaults:Q({dom:{styles:{position:"absolute"}}}),overrides:t=>({events:In([jm(Wi(),t,"spectrum"),jm(Vm(),t,"spectrum"),jm(Nd(),t,"spectrum"),jm(Go(),t,"spectrum"),jm(zm(),t,"spectrum"),jm(uv(),t,"spectrum")])})}),Jx=t=>Jl(t.event),zL=Qs({schema:[_o("mouseIsDown",()=>mt(!1))],name:"spectrum",overrides:t=>{const c=t.model.manager,i=(d,g)=>c.getValueFromEvent(g).map(p=>c.setValueFrom(d,t,p));return{behaviours:Be([lt.config({mode:"special",onLeft:(d,g)=>c.onLeft(d,t,Jx(g)),onRight:(d,g)=>c.onRight(d,t,Jx(g)),onUp:(d,g)=>c.onUp(d,t,Jx(g)),onDown:(d,g)=>c.onDown(d,t,Jx(g))}),Jn.config({}),yt.config({})]),events:In([be(Wi(),i),be(Vm(),i),be(Go(),i),be(zm(),(d,g)=>{t.mouseIsDown.get()&&i(d,g)})])}}});var UL=[tO,HL,IL,$L,LL,PL,BN,NN,FL,VL,zL];const Fb=Q("slider.change.value"),ZL=t=>t.type.indexOf("touch")!==-1,nO=t=>{const s=t.event.raw;if(ZL(s)){const c=s;return c.touches!==void 0&&c.touches.length===1?_.some(c.touches[0]).map(i=>pn(i.clientX,i.clientY)):_.none()}else{const c=s;return c.clientX!==void 0?_.some(c).map(i=>pn(i.clientX,i.clientY)):_.none()}},jL="top",GL="right",qL="bottom",PN="left",dl=t=>t.model.minX,hp=t=>t.model.minY,Qx=t=>t.model.minX-1,eE=t=>t.model.minY-1,rd=t=>t.model.maxX,Ar=t=>t.model.maxY,Lb=t=>t.model.maxX+1,N2=t=>t.model.maxY+1,$N=(t,s,c)=>s(t)-c(t),oO=t=>$N(t,rd,dl),sO=t=>$N(t,Ar,hp),IN=t=>oO(t)/2,rO=t=>sO(t)/2,pp=(t,s)=>s?t.stepSize*t.speedMultiplier:t.stepSize,FN=t=>t.snapToGrid,LN=t=>t.snapStart,cO=t=>t.rounded,tE=(t,s)=>t[s+"-edge"]!==void 0,aO=t=>tE(t,PN),iO=t=>tE(t,GL),lO=t=>tE(t,jL),HN=t=>tE(t,qL),bm=t=>t.model.value.get(),cg=(t,s)=>({x:t,y:s}),ml=(t,s)=>{it(t,Fb(),{value:s})},KL=(t,s)=>{ml(t,cg(Qx(s),eE(s)))},YL=(t,s)=>{ml(t,eE(s))},uO=(t,s)=>{ml(t,cg(IN(s),eE(s)))},XL=(t,s)=>{ml(t,cg(Lb(s),eE(s)))},VN=(t,s)=>{ml(t,Lb(s))},JL=(t,s)=>{ml(t,cg(Lb(s),rO(s)))},QL=(t,s)=>{ml(t,cg(Lb(s),N2(s)))},eH=(t,s)=>{ml(t,N2(s))},tH=(t,s)=>{ml(t,cg(IN(s),N2(s)))},nH=(t,s)=>{ml(t,cg(Qx(s),N2(s)))},oH=(t,s)=>{ml(t,Qx(s))},sH=(t,s)=>{ml(t,cg(Qx(s),rO(s)))},nE=(t,s,c,i)=>tc?c:t===s?s-1:Math.max(s,t-i),oE=(t,s,c,i)=>t>c?t:tMath.max(s,Math.min(c,t)),rH=(t,s,c,i,d)=>d.fold(()=>{const g=t-s,p=Math.round(g/i)*i;return zN(s+p,s-1,c+1)},g=>{const p=(t-g)%i,C=Math.round(p/i),S=Math.floor((t-g)/i),E=Math.floor((c-g)/i),k=Math.min(E,S+C),R=g+k*i;return Math.max(g,R)}),cH=(t,s,c)=>Math.min(c,Math.max(t,s))-s,UN=t=>{const{min:s,max:c,range:i,value:d,step:g,snap:p,snapStart:C,rounded:S,hasMinEdge:E,hasMaxEdge:k,minBound:R,maxBound:B,screenRange:P}=t,F=E?s-1:s,W=k?c+1:c;if(dB)return W;{const se=cH(d,R,B),K=zN(se/P*i+s,F,W);return p&&K>=s&&K<=c?rH(K,s,c,g,C):S?Math.round(K):K}},WN=t=>{const{min:s,max:c,range:i,value:d,hasMinEdge:g,hasMaxEdge:p,maxBound:C,maxOffset:S,centerMinEdge:E,centerMaxEdge:k}=t;return dc?p?C:k:(d-s)/i*S},dO="top",mO="right",fO="bottom",sE="left",gO="width",aH="height",su=t=>t.element.dom.getBoundingClientRect(),fl=(t,s)=>t[s],rE=t=>{const s=su(t);return fl(s,sE)},ZN=t=>{const s=su(t);return fl(s,mO)},cE=t=>{const s=su(t);return fl(s,dO)},aE=t=>{const s=su(t);return fl(s,fO)},cd=t=>{const s=su(t);return fl(s,gO)},jN=t=>{const s=su(t);return fl(s,aH)},Hb=(t,s,c)=>(t+s)/2-c,GN=(t,s)=>{const c=su(t),i=su(s),d=fl(c,sE),g=fl(c,mO),p=fl(i,sE);return Hb(d,g,p)},iE=(t,s)=>{const c=su(t),i=su(s),d=fl(c,dO),g=fl(c,fO),p=fl(i,dO);return Hb(d,g,p)},lE=(t,s)=>{it(t,Fb(),{value:s})},hO=(t,s,c)=>{const i={min:dl(s),max:rd(s),range:oO(s),value:c,step:pp(s),snap:FN(s),snapStart:LN(s),rounded:cO(s),hasMinEdge:aO(s),hasMaxEdge:iO(s),minBound:rE(t),maxBound:ZN(t),screenRange:cd(t)};return UN(i)},iH=(t,s,c)=>{const i=hO(t,s,c);return lE(t,i),i},qN=(t,s)=>{const c=dl(s);lE(t,c)},lH=(t,s)=>{const c=rd(s);lE(t,c)},pO=(t,s,c,i)=>{const g=(t>0?oE:nE)(bm(c),dl(c),rd(c),pp(c,i));return lE(s,g),_.some(g)},uE=t=>(s,c,i)=>pO(t,s,c,i).map(vt),bO=t=>nO(t).map(c=>c.left),uH=(t,s,c,i,d)=>{const p=cd(t),C=i.bind(k=>_.some(GN(k,t))).getOr(0),S=d.bind(k=>_.some(GN(k,t))).getOr(p),E={min:dl(s),max:rd(s),range:oO(s),value:c,hasMinEdge:aO(s),hasMaxEdge:iO(s),minBound:rE(t),minOffset:0,maxBound:ZN(t),maxOffset:p,centerMinEdge:C,centerMaxEdge:S};return WN(E)},qc=(t,s,c,i,d,g)=>{const p=uH(s,g,c,i,d);return rE(s)-rE(t)+p},dH=(t,s,c,i)=>{const d=bm(c),g=qc(t,i.getSpectrum(t),d,i.getLeftEdge(t),i.getRightEdge(t),c),p=gs(s.element)/2;Bt(s.element,"left",g-p+"px")},mH=uE(-1),KN=uE(1),YN=_.none,fH=_.none,gH={"top-left":_.none(),top:_.none(),"top-right":_.none(),right:_.some(VN),"bottom-right":_.none(),bottom:_.none(),"bottom-left":_.none(),left:_.some(oH)};var hH=Object.freeze({__proto__:null,setValueFrom:iH,setToMin:qN,setToMax:lH,findValueOfOffset:hO,getValueFromEvent:bO,findPositionOfValue:qc,setPositionFromValue:dH,onLeft:mH,onRight:KN,onUp:YN,onDown:fH,edgeActions:gH});const dE=(t,s)=>{it(t,Fb(),{value:s})},vO=(t,s,c)=>{const i={min:hp(s),max:Ar(s),range:sO(s),value:c,step:pp(s),snap:FN(s),snapStart:LN(s),rounded:cO(s),hasMinEdge:lO(s),hasMaxEdge:HN(s),minBound:cE(t),maxBound:aE(t),screenRange:jN(t)};return UN(i)},pH=(t,s,c)=>{const i=vO(t,s,c);return dE(t,i),i},bH=(t,s)=>{const c=hp(s);dE(t,c)},XN=(t,s)=>{const c=Ar(s);dE(t,c)},vH=(t,s,c,i)=>{const g=(t>0?oE:nE)(bm(c),hp(c),Ar(c),pp(c,i));return dE(s,g),_.some(g)},JN=t=>(s,c,i)=>vH(t,s,c,i).map(vt),yH=t=>nO(t).map(c=>c.top),QN=(t,s,c,i,d)=>{const p=jN(t),C=i.bind(k=>_.some(iE(k,t))).getOr(0),S=d.bind(k=>_.some(iE(k,t))).getOr(p),E={min:hp(s),max:Ar(s),range:sO(s),value:c,hasMinEdge:lO(s),hasMaxEdge:HN(s),minBound:cE(t),minOffset:0,maxBound:aE(t),maxOffset:p,centerMinEdge:C,centerMaxEdge:S};return WN(E)},P2=(t,s,c,i,d,g)=>{const p=QN(s,g,c,i,d);return cE(s)-cE(t)+p},CH=(t,s,c,i)=>{const d=bm(c),g=P2(t,i.getSpectrum(t),d,i.getTopEdge(t),i.getBottomEdge(t),c),p=ts(s.element)/2;Bt(s.element,"top",g-p+"px")},yO=_.none,Vb=_.none,eP=JN(-1),tP=JN(1),nP={"top-left":_.none(),top:_.some(YL),"top-right":_.none(),right:_.none(),"bottom-right":_.none(),bottom:_.some(eH),"bottom-left":_.none(),left:_.none()};var SH=Object.freeze({__proto__:null,setValueFrom:pH,setToMin:bH,setToMax:XN,findValueOfOffset:vO,getValueFromEvent:yH,findPositionOfValue:P2,setPositionFromValue:CH,onLeft:yO,onRight:Vb,onUp:eP,onDown:tP,edgeActions:nP});const mE=(t,s)=>{it(t,Fb(),{value:s})},bp=(t,s)=>({x:t,y:s}),wH=(t,s,c)=>{const i=hO(t,s,c.left),d=vO(t,s,c.top),g=bp(i,d);return mE(t,g),g},xH=(t,s,c,i,d)=>{const g=t>0?oE:nE,p=s?bm(i).x:g(bm(i).x,dl(i),rd(i),pp(i,d)),C=s?g(bm(i).y,hp(i),Ar(i),pp(i,d)):bm(i).y;return mE(c,bp(p,C)),_.some(p)},$2=(t,s)=>(c,i,d)=>xH(t,s,c,i,d).map(vt),oP=(t,s)=>{const c=dl(s),i=hp(s);mE(t,bp(c,i))},CO=(t,s)=>{const c=rd(s),i=Ar(s);mE(t,bp(c,i))},sP=t=>nO(t),yc=(t,s,c,i)=>{const d=bm(c),g=qc(t,i.getSpectrum(t),d.x,i.getLeftEdge(t),i.getRightEdge(t),c),p=P2(t,i.getSpectrum(t),d.y,i.getTopEdge(t),i.getBottomEdge(t),c),C=gs(s.element)/2,S=ts(s.element)/2;Bt(s.element,"left",g-C+"px"),Bt(s.element,"top",p-S+"px")},rP=$2(-1,!1),EH=$2(1,!1),TH=$2(-1,!0),cP=$2(1,!0),_H={"top-left":_.some(KL),top:_.some(uO),"top-right":_.some(XL),right:_.some(JL),"bottom-right":_.some(QL),bottom:_.some(tH),"bottom-left":_.some(nH),left:_.some(sH)};var kH=Object.freeze({__proto__:null,setValueFrom:wH,setToMin:oP,setToMax:CO,getValueFromEvent:sP,setPositionFromValue:yc,onLeft:rP,onRight:EH,onUp:TH,onDown:cP,edgeActions:_H});const OH=[oe("stepSize",1),oe("speedMultiplier",10),oe("onChange",q),oe("onChoose",q),oe("onInit",q),oe("onDragStart",q),oe("onDragEnd",q),oe("snapToGrid",!1),oe("rounded",!0),vn("snapStart"),rc("model",Jt("mode",{x:[oe("minX",0),oe("maxX",100),_o("value",t=>mt(t.mode.minX)),ye("getInitialValue"),Tn("manager",hH)],y:[oe("minY",0),oe("maxY",100),_o("value",t=>mt(t.mode.minY)),ye("getInitialValue"),Tn("manager",SH)],xy:[oe("minX",0),oe("maxX",100),oe("minY",0),oe("maxY",100),_o("value",t=>mt({x:t.mode.minX,y:t.mode.minY})),ye("getInitialValue"),Tn("manager",kH)]})),Ko("sliderBehaviours",[lt,ze]),_o("mouseIsDown",()=>mt(!1))],nr=er({name:"Slider",configFields:OH,partFields:UL,factory:(t,s,c,i)=>{const d=he=>ql(he,t,"thumb"),g=he=>ql(he,t,"spectrum"),p=he=>Bn(he,t,"left-edge"),C=he=>Bn(he,t,"right-edge"),S=he=>Bn(he,t,"top-edge"),E=he=>Bn(he,t,"bottom-edge"),k=t.model,R=k.manager,B=(he,me)=>{R.setPositionFromValue(he,me,t,{getLeftEdge:p,getRightEdge:C,getTopEdge:S,getBottomEdge:E,getSpectrum:g})},P=(he,me)=>{k.value.set(me);const De=d(he);B(he,De)},F=(he,me)=>{P(he,me);const De=d(he);return t.onChange(he,De,me),_.some(!0)},W=he=>{R.setToMin(he,t)},se=he=>{R.setToMax(he,t)},K=he=>{const me=()=>{Bn(he,t,"thumb").each($e=>{const Pt=k.value.get();t.onChoose(he,$e,Pt)})},De=t.mouseIsDown.get();t.mouseIsDown.set(!1),De&&me()},j=(he,me)=>{me.stop(),t.mouseIsDown.set(!0),t.onDragStart(he,d(he))},re=(he,me)=>{me.stop(),t.onDragEnd(he,d(he)),K(he)},we=he=>{Bn(he,t,"spectrum").map(lt.focusIn)};return{uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.sliderBehaviours,[lt.config({mode:"special",focusIn:we}),ze.config({store:{mode:"manual",getValue:he=>k.value.get(),setValue:P}}),Ir.config({channels:{[Ty()]:{onReceive:K}}})]),events:In([be(Fb(),(he,me)=>{F(he,me.event.value)}),Mn((he,me)=>{const De=k.getInitialValue();k.value.set(De);const $e=d(he);B(he,$e);const Pt=g(he);t.onInit(he,$e,Pt,k.value.get())}),be(Wi(),j),be(Nd(),re),be(Go(),(he,me)=>{we(he),j(he,me)}),be(uv(),re)]),apis:{resetToMin:W,resetToMax:se,setValue:P,refresh:B},domModification:{styles:{position:"relative"}}}},apis:{setValue:(t,s,c)=>{t.setValue(s,c)},resetToMin:(t,s)=>{t.resetToMin(s)},resetToMax:(t,s)=>{t.resetToMax(s)},refresh:(t,s)=>{t.refresh(s)}}}),I2=Xe("rgb-hex-update"),SO=Xe("slider-update"),F2=Xe("palette-update"),wO=(t,s)=>{const c=nr.parts.spectrum({dom:{tag:"div",classes:[s("hue-slider-spectrum")],attributes:{role:"presentation"}}}),i=nr.parts.thumb({dom:{tag:"div",classes:[s("hue-slider-thumb")],attributes:{role:"presentation"}}});return nr.sketch({dom:{tag:"div",classes:[s("hue-slider")],attributes:{role:"slider","aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":120}},rounded:!1,model:{mode:"y",getInitialValue:Q(0)},components:[c,i],sliderBehaviours:Be([yt.config({})]),onChange:(d,g,p)=>{Ze(d.element,"aria-valuenow",Math.floor(360-p*3.6)),it(d,SO,{value:p})}})},aP="form",RH=[Ko("formBehaviours",[ze])],iP=t=>"",DH=t=>{const s=(()=>{const g=[];return{field:(C,S)=>(g.push(C),My(aP,iP(C),S)),record:Q(g)}})(),c=t(s),i=s.record(),d=Ee(i,g=>Qs({name:g,pname:iP(g)}));return Ly(aP,RH,d,BH,c)},MH=(t,s)=>t.fold(()=>$t.error(s),$t.value),BH=(t,s)=>({uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.formBehaviours,[ze.config({store:{mode:"manual",getValue:c=>{const i=Ny(c,t);return po(i,(d,g)=>d().bind(p=>{const C=Zt.getCurrent(p);return MH(C,new Error(`Cannot find a current component to extract the value from for form part '${g}': `+qi(p.element)))}).map(ze.getValue))},setValue:(c,i)=>{ms(i,(d,g)=>{Bn(c,t,g).each(p=>{Zt.getCurrent(p).each(C=>{ze.setValue(C,d)})})})}}})]),apis:{getField:(c,i)=>Bn(c,t,i).bind(Zt.getCurrent)}}),zb={getField:zd((t,s,c)=>t.getField(s,c)),sketch:DH},xO=Xe("valid-input"),lP=Xe("invalid-input"),ru=Xe("validating-input"),Ub="colorcustom.rgb.",NH=(t,s,c,i)=>{const d=(B,P)=>Va.config({invalidClass:s("invalid"),notify:{onValidate:F=>{it(F,ru,{type:B})},onValid:F=>{it(F,xO,{type:B,value:ze.getValue(F)})},onInvalid:F=>{it(F,lP,{type:B,value:ze.getValue(F)})}},validator:{validate:F=>{const W=ze.getValue(F),se=P(W)?$t.value(!0):$t.error(t("aria.input.invalid"));return pr.pure(se)},validateOnLoad:!1}}),g=(B,P,F,W,se)=>{const K=t(Ub+"range"),j=Sn.parts.label({dom:{tag:"label",attributes:{"aria-label":W}},components:[vo(F)]}),re=Sn.parts.field({data:se,factory:ap,inputAttributes:{type:"text",...P==="hex"?{"aria-live":"polite"}:{}},inputClasses:[s("textfield")],inputBehaviours:Be([d(P,B),Jn.config({})]),onSetValue:De=>{Va.isInvalid(De)&&Va.run(De).get(q)}}),we=[j,re],he=P!=="hex"?[Sn.parts["aria-descriptor"]({text:K})]:[],me=we.concat(he);return{dom:{tag:"div",attributes:{role:"presentation"}},components:me}},p=(B,P)=>{const F=gm(P);return zb.getField(B,"hex").each(W=>{yt.isFocused(W)||ze.setValue(B,{hex:F.value})}),F},C=(B,P)=>{const F=P.red,W=P.green,se=P.blue;ze.setValue(B,{red:F,green:W,blue:se})},S=Cn({dom:{tag:"div",classes:[s("rgba-preview")],styles:{"background-color":"white"},attributes:{role:"presentation"}}}),E=(B,P)=>{S.getOpt(B).each(F=>{Bt(F.element,"background-color","#"+P.value)})};return bc({factory:()=>{const B={red:mt(_.some(255)),green:mt(_.some(255)),blue:mt(_.some(255)),hex:mt(_.some("ffffff"))},P=(Ct,yn)=>{const dt=w2(yn);C(Ct,dt),K(dt)},F=Ct=>B[Ct].get(),W=(Ct,yn)=>{B[Ct].set(yn)},se=()=>F("red").bind(Ct=>F("green").bind(yn=>F("blue").map(dt=>eg(Ct,yn,dt,1)))),K=Ct=>{const yn=Ct.red,dt=Ct.green,on=Ct.blue;W("red",_.some(yn)),W("green",_.some(dt)),W("blue",_.some(on))},j=(Ct,yn)=>{const dt=yn.event;dt.type!=="hex"?W(dt.type,_.none()):i(Ct)},re=(Ct,yn)=>{c(Ct);const dt=OB(yn);W("hex",_.some(dt.value));const on=w2(dt);C(Ct,on),K(on),it(Ct,I2,{hex:dt}),E(Ct,dt)},we=(Ct,yn,dt)=>{const on=parseInt(dt,10);W(yn,_.some(on)),se().each(Ie=>{const et=p(Ct,Ie);it(Ct,I2,{hex:et}),E(Ct,et)})},he=Ct=>Ct.type==="hex",me=(Ct,yn)=>{const dt=yn.event;he(dt)?re(Ct,dt.value):we(Ct,dt.type,dt.value)},De=Ct=>({label:t(Ub+Ct+".label"),description:t(Ub+Ct+".description")}),$e=De("red"),Pt=De("green"),tt=De("blue"),ft=De("hex");return Vn(zb.sketch(Ct=>({dom:{tag:"form",classes:[s("rgb-form")],attributes:{"aria-label":t("aria.color.picker")}},components:[Ct.field("red",Sn.sketch(g(S3,"red",$e.label,$e.description,255))),Ct.field("green",Sn.sketch(g(S3,"green",Pt.label,Pt.description,255))),Ct.field("blue",Sn.sketch(g(S3,"blue",tt.label,tt.description,255))),Ct.field("hex",Sn.sketch(g(C3,"hex",ft.label,ft.description,"ffffff"))),S.asSpec()],formBehaviours:Be([Va.config({invalidClass:s("form-invalid")}),Nt("rgb-form-events",[be(xO,me),be(lP,j),be(ru,j)])])})),{apis:{updateHex:(Ct,yn)=>{ze.setValue(Ct,{hex:yn.value}),P(Ct,yn),E(Ct,yn)}}})},name:"RgbForm",configFields:[],apis:{updateHex:(B,P,F)=>{B.updateHex(P,F)}},extraApis:{}})},PH=(t,s)=>{const c=nr.parts.spectrum({dom:{tag:"canvas",attributes:{role:"presentation"},classes:[s("sv-palette-spectrum")]}}),i=nr.parts.thumb({dom:{tag:"div",attributes:{role:"presentation"},classes:[s("sv-palette-thumb")],innerHtml:``}}),d=(E,k)=>{const{width:R,height:B}=E,P=E.getContext("2d");if(P===null)return;P.fillStyle=k,P.fillRect(0,0,R,B);const F=P.createLinearGradient(0,0,R,0);F.addColorStop(0,"rgba(255,255,255,1)"),F.addColorStop(1,"rgba(255,255,255,0)"),P.fillStyle=F,P.fillRect(0,0,R,B);const W=P.createLinearGradient(0,0,0,B);W.addColorStop(0,"rgba(0,0,0,0)"),W.addColorStop(1,"rgba(0,0,0,1)"),P.fillStyle=W,P.fillRect(0,0,R,B)},g=(E,k)=>{const R=E.components()[0].element.dom,B=E2(k,100,100),P=IB(B);d(R,x3(P))},p=(E,k)=>{const R=Fx(w2(k));nr.setValue(E,{x:R.saturation,y:100-R.value}),Ze(E.element,"aria-valuetext",t(["Saturation {0}%, Brightness {1}%",R.saturation,R.value]))};return bc({factory:E=>{const k=Q({x:0,y:0}),R=(F,W,se)=>{Ga(se)||Ze(F.element,"aria-valuetext",t(["Saturation {0}%, Brightness {1}%",Math.floor(se.x),Math.floor(100-se.y)])),it(F,F2,{value:se})},B=(F,W,se,K)=>{d(se.element.dom,x3(Ti))},P=Be([Zt.config({find:_.some}),yt.config({})]);return nr.sketch({dom:{tag:"div",attributes:{role:"slider","aria-valuetext":t(["Saturation {0}%, Brightness {1}%",0,0])},classes:[s("sv-palette")]},model:{mode:"xy",getInitialValue:k},rounded:!1,components:[c,i],onChange:R,onInit:B,sliderBehaviours:P})},name:"SaturationBrightnessPalette",configFields:[],apis:{setHue:(E,k,R)=>{g(k,R)},setThumb:(E,k,R)=>{p(k,R)}},extraApis:{}})},uP=(t,s)=>{const c=d=>{const g=NH(t,s,d.onValidHex,d.onInvalidHex),p=PH(t,s),C=me=>(100-me)/100*360,S=me=>100-me/360*100,E={paletteRgba:mt(Ti),paletteHue:mt(0)},k=Cn(wO(t,s)),R=Cn(p.sketch({})),B=Cn(g.sketch({})),P=(me,De,$e)=>{R.getOpt(me).each(Pt=>{p.setHue(Pt,$e)})},F=(me,De)=>{B.getOpt(me).each($e=>{g.updateHex($e,De)})},W=(me,De,$e)=>{k.getOpt(me).each(Pt=>{nr.setValue(Pt,S($e))})},se=(me,De)=>{R.getOpt(me).each($e=>{p.setThumb($e,De)})},K=(me,De)=>{const $e=w2(me);E.paletteRgba.set($e),E.paletteHue.set(De)},j=(me,De,$e,Pt)=>{K(De,$e),Ke(Pt,tt=>{tt(me,De,$e)})},re=()=>{const me=[F];return(De,$e)=>{const Pt=$e.event.value,tt=E.paletteHue.get(),ft=E2(tt,Pt.x,100-Pt.y),Ct=ZB(ft);j(De,Ct,tt,me)}},we=()=>{const me=[P,F];return(De,$e)=>{const Pt=C($e.event.value),tt=E.paletteRgba.get(),ft=Fx(tt),Ct=E2(Pt,ft.saturation,ft.value),yn=ZB(Ct);j(De,yn,Pt,me)}},he=()=>{const me=[P,W,se];return(De,$e)=>{const Pt=$e.event.hex,tt=h8(Pt);j(De,Pt,tt.hue,me)}};return{uid:d.uid,dom:d.dom,components:[R.asSpec(),k.asSpec(),B.asSpec()],behaviours:Be([Nt("colour-picker-events",[be(I2,he()),be(F2,re()),be(SO,we())]),Zt.config({find:me=>B.getOpt(me)}),lt.config({mode:"acyclic"})])}};return bc({name:"ColourPicker",configFields:[ye("dom"),oe("onValidHex",q),oe("onInvalidHex",q)],factory:c})},Kc={self:()=>Zt.config({find:_.some}),memento:t=>Zt.config({find:t.getOpt}),childAt:t=>Zt.config({find:s=>hu(s.element,t).bind(c=>s.getSystem().getByDom(c).toOptional())})},L2=rt([oe("preprocess",sn),oe("postprocess",sn)]),mP=(t,s)=>{const c=Er("RepresentingConfigs.memento processors",L2,s);return ze.config({store:{mode:"manual",getValue:i=>{const d=t.get(i),g=ze.getValue(d);return c.postprocess(g)},setValue:(i,d)=>{const g=c.preprocess(d),p=t.get(i);ze.setValue(p,g)}}})},ag=(t,s,c)=>ze.config({store:{mode:"manual",...t.map(i=>({initialValue:i})).getOr({}),getValue:s,setValue:c}}),TO=(t,s,c)=>ag(t,i=>s(i.element),(i,d)=>c(i.element,d)),fP=t=>TO(t,yv,Ld),fE=t=>ze.config({store:{mode:"memory",initialValue:t}}),IH={"colorcustom.rgb.red.label":"R","colorcustom.rgb.red.description":"Red component","colorcustom.rgb.green.label":"G","colorcustom.rgb.green.description":"Green component","colorcustom.rgb.blue.label":"B","colorcustom.rgb.blue.description":"Blue component","colorcustom.rgb.hex.label":"#","colorcustom.rgb.hex.description":"Hex color code","colorcustom.rgb.range":"Range 0 to 255","aria.color.picker":"Color Picker","aria.input.invalid":"Invalid input"},FH=t=>s=>hn(s)?t.translate(IH[s]):t.translate(s),LH=(t,s,c)=>{const i=S=>"tox-"+S,d=uP(FH(s),i),g=S=>{it(S,sd,{name:"hex-valid",value:!0})},p=S=>{it(S,sd,{name:"hex-valid",value:!1})},C=Cn(d.sketch({dom:{tag:"div",classes:[i("color-picker-container")],attributes:{role:"presentation"}},onValidHex:g,onInvalidHex:p}));return{dom:{tag:"div"},components:[C.asSpec()],behaviours:Be([ag(c,S=>{const E=C.get(S);return Zt.getCurrent(E).bind(B=>ze.getValue(B).hex).map(B=>"#"+_0(B,"#")).getOr("")},(S,E)=>{const k=/^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/,R=_.from(k.exec(E)).bind(F=>Vo(F,1)),B=C.get(S);Zt.getCurrent(B).fold(()=>{console.log("Can not find form")},F=>{ze.setValue(F,{hex:R.getOr("")}),zb.getField(F,"hex").each(W=>{qt(W,Pd())})})}),Kc.self()])}};var HH=tinymce.util.Tools.resolve("tinymce.Resource");const gP=t=>wn(t,"init"),hP=t=>{const s=Vt(),c=Cn({dom:{tag:t.tag}}),i=Vt();return{dom:{tag:"div",classes:["tox-custom-editor"]},behaviours:Be([Nt("custom-editor-events",[Mn(d=>{c.getOpt(d).each(g=>{(gP(t)?t.init(g.element.dom):HH.load(t.scriptId,t.scriptUrl).then(p=>p(g.element.dom,t.settings))).then(p=>{i.on(C=>{p.setValue(C)}),i.clear(),s.set(p)})})})]),ag(_.none(),()=>s.get().fold(()=>i.get().getOr(""),d=>d.getValue()),(d,g)=>{s.get().fold(()=>i.set(g),p=>p.setValue(g))}),Kc.self()]),components:[c.asSpec()]}};var vm=tinymce.util.Tools.resolve("tinymce.util.Tools");const pP=(t,s)=>{const c=vm.explode(s.getOption("images_file_types")),i=d=>xc(c,g=>Bi(d.name.toLowerCase(),`.${g.toLowerCase()}`));return qn(ba(t),i)},VH=(t,s,c)=>{const i=(B,P)=>{P.stop()},d=B=>(P,F)=>{Ke(B,W=>{W(P,F)})},g=(B,P)=>{var F;if(!bt.isDisabled(B)){const W=P.event.raw;C(B,(F=W.dataTransfer)===null||F===void 0?void 0:F.files)}},p=(B,P)=>{const F=P.event.raw.target;C(B,F.files)},C=(B,P)=>{P&&(ze.setValue(B,pP(P,s)),it(B,Gc,{name:t.name}))},S=Cn({dom:{tag:"input",attributes:{type:"file",accept:"image/*"},styles:{display:"none"}},behaviours:Be([Nt("input-file-events",[Bl(Dl()),Bl(li())])])}),E=B=>({uid:B.uid,dom:{tag:"div",classes:["tox-dropzone-container"]},behaviours:Be([fE(c.getOr([])),Kc.self(),bt.config({}),Ft.config({toggleClass:"dragenter",toggleOnExecute:!1}),Nt("dropzone-events",[be("dragenter",d([i,Ft.toggle])),be("dragleave",d([i,Ft.toggle])),be("dragover",i),be("drop",d([i,g])),be(Wm(),p)])]),components:[{dom:{tag:"div",classes:["tox-dropzone"],styles:{}},components:[{dom:{tag:"p"},components:[vo(s.translate("Drop an image here"))]},Ds.sketch({dom:{tag:"button",styles:{position:"relative"},classes:["tox-button","tox-button--secondary"]},components:[vo(s.translate("Browse for an image")),S.asSpec()],action:P=>{S.get(P).element.dom.click()},buttonBehaviours:Be([Jn.config({}),Ha.button(s.isDisabled),bs()])})]}]}),k=t.label.map(B=>ki(B,s)),R=Sn.parts.field({factory:{sketch:E}});return A2(k,R,["tox-form__group--stretched"],[])},bP=(t,s)=>({dom:{tag:"div",classes:["tox-form__grid",`tox-form__grid--${t.columns}col`]},components:Ee(t.items,s.interpreter)}),H2=(t,s)=>{let c=null,i=null;return{cancel:()=>{lu(c)||(clearTimeout(c),c=null,i=null)},throttle:(...p)=>{i=p,lu(c)&&(c=setTimeout(()=>{const C=i;c=null,i=null,t.apply(null,C)},s))}}},zH=(t,s)=>{let c=null;return{cancel:()=>{lu(c)||(clearTimeout(c),c=null)},throttle:(...g)=>{lu(c)&&(c=setTimeout(()=>{c=null,t.apply(null,g)},s))}}},gE=(t,s)=>{let c=null;const i=()=>{lu(c)||(clearTimeout(c),c=null)};return{cancel:i,throttle:(...g)=>{i(),c=setTimeout(()=>{c=null,t.apply(null,g)},s)}}},_O=Xe("alloy-fake-before-tabstop"),kO=Xe("alloy-fake-after-tabstop"),vP=t=>({dom:{tag:"div",styles:{width:"1px",height:"1px",outline:"none"},attributes:{tabindex:"0"},classes:t},behaviours:Be([yt.config({ignore:!0}),Jn.config({})])}),yP=(t,s)=>({dom:{tag:"div",classes:["tox-navobj",...t.getOr([])]},components:[vP([_O]),s,vP([kO])],behaviours:Be([Kc.childAt(1)])}),OO=(t,s)=>{it(t,Aa(),{raw:{which:9,shiftKey:s}})},UH=(t,s)=>{const c=s.element;qo(c,_O)?OO(t,!0):qo(c,kO)&&OO(t,!1)},Wb=t=>k2(t,["."+_O,"."+kO].join(","),Rn),Zb=Xe("update-dialog"),ad=Xe("update-title"),hE=Xe("update-body"),AO=Xe("update-footer"),RO=Xe("body-send-message"),jb=Xe("dialog-focus-shifted"),pE=Pi().browser,ig=pE.isSafari(),CP=pE.isFirefox(),DO=ig||CP,WH=pE.isChromium(),ZH=({scrollTop:t,scrollHeight:s,clientHeight:c})=>Math.ceil(t)+c>=s,SP=(t,s)=>t.scrollTo(0,s==="bottom"?99999999:s),jH=(t,s)=>{const c=t.body;return _.from(!/^1))?c:t.documentElement)},wP=(t,s,c)=>{const i=t.dom;_.from(i.contentDocument).fold(c,d=>{let g=0;const p=jH(d,s).map(S=>(g=S.scrollTop,S)).forall(ZH),C=()=>{const S=i.contentWindow;sr(S)&&(p?SP(S,"bottom"):!p&&DO&&g!==0&&SP(S,g))};ig&&i.addEventListener("load",C,{once:!0}),d.open(),d.write(s),d.close(),ig||C()})},xP=Et(DO,ig?500:200).map(t=>H2(wP,t)),qH=(t,s)=>{const c=mt(t.getOr(""));return{getValue:i=>c.get(),setValue:(i,d)=>{if(c.get()!==d){const g=i.element,p=()=>Ze(g,"srcdoc",d);s?xP.fold(Q(wP),C=>C.throttle)(g,d,p):p()}c.set(d)}}},KH=(t,s,c)=>{const i="tox-dialog__iframe",d=t.transparent?[]:[`${i}--opaque`],g=t.border?["tox-navobj-bordered"]:[],p={...t.label.map(R=>({title:R})).getOr({}),...c.map(R=>({srcdoc:R})).getOr({}),...t.sandboxed?{sandbox:"allow-scripts allow-same-origin"}:{}},C=qH(c,t.streamContent),S=t.label.map(R=>ki(R,s)),E=R=>yP(_.from(g),{uid:R.uid,dom:{tag:"iframe",attributes:p,classes:[i,...d]},behaviours:Be([Jn.config({}),yt.config({}),ag(c,C.getValue,C.setValue),Ir.config({channels:{[jb]:{onReceive:(B,P)=>{P.newFocus.each(F=>{qa(B.element).each(W=>{($n(B.element,F)?Oo:oo)(W,"tox-navobj-bordered-focus")})})}}}})])}),k=Sn.parts.field({factory:{sketch:E}});return A2(S,k,["tox-form__group--stretched"],[])},YH=t=>new Promise((s,c)=>{const i=()=>{g(),s(t)},d=[fr(t,"load",i),fr(t,"error",()=>{g(),c("Unable to load data from image: "+t.dom.src)})],g=()=>Ke(d,p=>p.unbind());t.dom.complete&&i()}),bE=(t,s,c,i,d)=>{const g=c*d,p=i*d,C=Math.max(0,t/2-g/2),S=Math.max(0,s/2-p/2);return{left:C.toString()+"px",top:S.toString()+"px",width:g.toString()+"px",height:p.toString()+"px"}},XH=(t,s,c)=>{const i=gs(t),d=ts(t);return Math.min(i/s,d/c,1)},JH=(t,s)=>{const c=mt(s.getOr({url:""})),i=Cn({dom:{tag:"img",classes:["tox-imagepreview__image"],attributes:s.map(S=>({src:S.url})).getOr({})}}),d=Cn({dom:{tag:"div",classes:["tox-imagepreview__container"],attributes:{role:"presentation"}},components:[i.asSpec()]}),g=(S,E)=>{const k={url:E.url};E.zoom.each(B=>k.zoom=B),E.cachedWidth.each(B=>k.cachedWidth=B),E.cachedHeight.each(B=>k.cachedHeight=B),c.set(k);const R=()=>{const{cachedWidth:B,cachedHeight:P,zoom:F}=k;if(!Kr(B)&&!Kr(P)){if(Kr(F)){const se=XH(S.element,B,P);k.zoom=se}const W=bE(gs(S.element),ts(S.element),B,P,k.zoom);d.getOpt(S).each(se=>{tc(se.element,W)})}};i.getOpt(S).each(B=>{const P=B.element;E.url!==xo(P,"src")&&(Ze(P,"src",E.url),oo(S.element,"tox-imagepreview__loaded")),R(),YH(P).then(F=>{S.getSystem().isConnected()&&(Oo(S.element,"tox-imagepreview__loaded"),k.cachedWidth=F.dom.naturalWidth,k.cachedHeight=F.dom.naturalHeight,R())})})},p={};t.height.each(S=>p.height=S);const C=s.map(S=>({url:S.url,zoom:_.from(S.zoom),cachedWidth:_.from(S.cachedWidth),cachedHeight:_.from(S.cachedHeight)}));return{dom:{tag:"div",classes:["tox-imagepreview"],styles:p,attributes:{role:"presentation"}},components:[d.asSpec()],behaviours:Be([Kc.self(),ag(C,()=>c.get(),g)])}},EP=(t,s)=>{const c="tox-label",i=t.align==="center"?[`${c}--center`]:[],d=t.align==="end"?[`${c}--end`]:[],g={dom:{tag:"label",classes:[c,...i,...d]},components:[vo(s.providers.translate(t.label))]},p=Ee(t.items,s.interpreter);return{dom:{tag:"div",classes:["tox-form__group"]},components:[g,...p],behaviours:Be([Kc.self(),kt.config({}),fP(_.none()),lt.config({mode:"acyclic"})])}},MO=Xe("toolbar.button.execute"),QH=t=>Ra((s,c)=>{up(t,s)(i=>{it(s,MO,{buttonApi:i}),t.onAction(i)})}),vp=Xe("common-button-display-events"),vE={[uc()]:["disabling","alloy.base.behaviour","toggling","toolbar-button-events"],[Nc()]:["toolbar-button-events",vp],[Go()]:["focusing","alloy.base.behaviour",vp]},BO=t=>Bt(t.element,"width",Eo(t.element,"width")),NO=(t,s,c)=>il(t,{tag:"span",classes:["tox-icon","tox-tbtn__icon-wrap"],behaviours:c},s),PO=(t,s)=>NO(t,s,[]),lg=(t,s)=>NO(t,s,[kt.config({})]),TP=(t,s,c)=>({dom:{tag:"span",classes:[`${s}__select-label`]},components:[vo(c.translate(t))],behaviours:Be([kt.config({})])}),za=Xe("update-menu-text"),ug=Xe("update-menu-icon"),$O=(t,s,c)=>{const i=mt(q),d=t.text.map(B=>Cn(TP(B,s,c.providers))),g=t.icon.map(B=>Cn(lg(B,c.providers.icons))),p=(B,P)=>{const F=ze.getValue(B);return yt.focus(F),it(F,"keydown",{raw:P.event.raw}),_i.close(F),_.some(!0)},C=t.role.fold(()=>({}),B=>({role:B})),S=t.tooltip.fold(()=>({}),B=>{const P=c.providers.translate(B);return{title:P,"aria-label":P}}),E=il("chevron-down",{tag:"div",classes:[`${s}__select-chevron`]},c.providers.icons),k=Xe("common-button-display-events");return Cn(_i.sketch({...t.uid?{uid:t.uid}:{},...C,dom:{tag:"button",classes:[s,`${s}--select`].concat(Ee(t.classes,B=>`${s}--${B}`)),attributes:{...S}},components:dp([g.map(B=>B.asSpec()),d.map(B=>B.asSpec()),_.some(E)]),matchWidth:!0,useMinWidth:!0,onOpen:(B,P,F)=>{t.searchable&&nL(F)},dropdownBehaviours:Be([...t.dropdownBehaviours,Ha.button(()=>t.disabled||c.providers.isDisabled()),bs(),M2.config({}),kt.config({}),Nt("dropdown-events",[fm(t,i),ll(t,i)]),Nt(k,[Mn((B,P)=>BO(B))]),Nt("menubutton-update-display-text",[be(za,(B,P)=>{d.bind(F=>F.getOpt(B)).each(F=>{kt.set(F,[vo(c.providers.translate(P.event.text))])})}),be(ug,(B,P)=>{g.bind(F=>F.getOpt(B)).each(F=>{kt.set(F,[lg(P.event.icon,c.providers.icons)])})})])]),eventOrder:Vn(vE,{mousedown:["focusing","alloy.base.behaviour","item-type-events","normal-dropdown-events"],[Nc()]:["toolbar-button-events","dropdown-events",k]}),sandboxBehaviours:Be([lt.config({mode:"special",onLeft:p,onRight:p}),Nt("dropdown-sandbox-events",[be(X4,(B,P)=>{X8(B),P.stop()}),be(hx,(B,P)=>{J8(B,P),P.stop()})])]),lazySink:c.getSink,toggleClass:`${s}--active`,parts:{menu:{...Rb(!1,t.columns,t.presets),fakeFocus:t.searchable,onHighlightItem:K3,onCollapseMenu:(B,P,F)=>{mn.getHighlighted(F).each(W=>{K3(B,F,W)})},onDehighlightItem:tL}},getAnchorOverrides:()=>({maxHeightFunction:(B,P)=>{HS()(B,P-10)}}),fetch:B=>pr.nu(an(t.fetch,B))})).asSpec()},eV=t=>hn(t),_P=t=>t.type==="separator",tV=t=>wn(t,"getSubmenuItems"),kP={type:"separator"},nV=(t,s)=>{const c=eo(t,(i,d)=>eV(d)?d===""?i:d==="|"?i.length>0&&!_P(i[i.length-1])?i.concat([kP]):i:wn(s,d.toLowerCase())?i.concat([s[d.toLowerCase()]]):i:i.concat([d]),[]);return c.length>0&&_P(c[c.length-1])&&c.pop(),c},OP=(t,s)=>{const c=t.getSubmenuItems(),i=AP(c,s),d=Vn(i.menus,{[t.value]:i.items}),g=Vn(i.expansions,{[t.value]:t.value});return{item:t,menus:d,expansions:g}},oV=t=>{const s=We(t,"value").getOrThunk(()=>Xe("generated-menu-item"));return Vn({value:s},t)},AP=(t,s)=>{const c=nV(hn(t)?t.split(" "):t,s);return Qo(c,(i,d)=>{if(tV(d)){const g=oV(d),p=OP(g,s);return{menus:Vn(i.menus,p.menus),items:[p.item,...i.items],expansions:Vn(i.expansions,p.expansions)}}else return{...i,items:[d,...i.items]}},{menus:{},expansions:{},items:[]})},sV=t=>t.search.fold(()=>({searchMode:"no-search"}),s=>({searchMode:"search-with-field",placeholder:s.placeholder})),rV=t=>t.search.fold(()=>({searchMode:"no-search"}),s=>({searchMode:"search-with-results"})),Gb=(t,s,c,i)=>{const d=Xe("primary-menu"),g=AP(t,c.shared.providers.menuItems());if(g.items.length===0)return _.none();const p=sV(i),C=fN(d,g.items,s,c,i.isHorizontalMenu,p),S=rV(i),E=po(g.menus,(R,B)=>fN(B,R,s,c,!1,S)),k=Vn(E,Pr(d,C));return _.from(jf.tieredData(d,k,g.expansions))},IO=t=>!wn(t,"items"),RP="data-value",DP=(t,s,c,i)=>Ee(c,d=>IO(d)?{type:"togglemenuitem",text:d.text,value:d.value,active:d.value===i,onAction:()=>{ze.setValue(t,d.value),it(t,Gc,{name:s}),yt.focus(t)}}:{type:"nestedmenuitem",text:d.text,getSubmenuItems:()=>DP(t,s,d.items,i)}),FO=(t,s)=>Bs(t,c=>IO(c)?Et(c.value===s,c):FO(c.items,s)),LO=(t,s,c)=>{const i=s.shared.providers,d=c.bind(S=>FO(t.items,S)).orThunk(()=>Yr(t.items).filter(IO)),g=t.label.map(S=>ki(S,i)),p=Sn.parts.field({dom:{},factory:{sketch:S=>$O({uid:S.uid,text:d.map(E=>E.text),icon:_.none(),tooltip:t.label,role:_.none(),fetch:(E,k)=>{const R=DP(E,t.name,t.items,ze.getValue(E));k(Gb(R,tu.CLOSE_ON_EXECUTE,s,{isHorizontalMenu:!1,search:_.none()}))},onSetup:Q(q),getApi:Q({}),columns:1,presets:"normal",classes:[],dropdownBehaviours:[Jn.config({}),ag(d.map(E=>E.value),E=>xo(E.element,RP),(E,k)=>{FO(t.items,k).each(R=>{Ze(E.element,RP,R.value),it(E,za,{text:R.text})})})]},"tox-listbox",s.shared)}}),C={dom:{tag:"div",classes:["tox-listboxfield"]},components:[p]};return Sn.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:Dt([g.toArray(),[C]]),fieldBehaviours:Be([bt.config({disabled:Q(!t.enabled),onDisabled:S=>{Sn.getField(S).each(bt.disable)},onEnabled:S=>{Sn.getField(S).each(bt.enable)}})])})},cV=(t,s)=>({dom:{tag:"div",classes:t.classes},components:Ee(t.items,s.shared.interpreter)}),aV=(t,s)=>{const c=Ee(t.options,d=>({dom:{tag:"option",value:d.value,innerHtml:d.text}})),i=t.data.map(d=>Pr("initialValue",d)).getOr({});return{uid:t.uid,dom:{tag:"select",classes:t.selectClasses,attributes:t.selectAttributes},components:c,behaviours:Io(t.selectBehaviours,[yt.config({}),ze.config({store:{mode:"manual",getValue:d=>Yi(d.element),setValue:(d,g)=>{const p=Yr(t.options);_t(t.options,S=>S.value===g).isSome()?sf(d.element,g):d.element.dom.selectedIndex===-1&&g===""&&p.each(S=>sf(d.element,S.value))},...i}})])}},iV=bc({name:"HtmlSelect",configFields:[ye("options"),Ko("selectBehaviours",[yt,ze]),oe("selectClasses",[]),oe("selectAttributes",{}),vn("data")],factory:aV}),V2=(t,s,c)=>{const i=Ee(t.items,S=>({text:s.translate(S.text),value:S.value})),d=t.label.map(S=>ki(S,s)),g=Sn.parts.field({dom:{},...c.map(S=>({data:S})).getOr({}),selectAttributes:{size:t.size},options:i,factory:iV,selectBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled()}),Jn.config({}),Nt("selectbox-change",[be(Wm(),(S,E)=>{it(S,Gc,{name:t.name})})])])}),p=t.size>1?_.none():_.some(il("chevron-down",{tag:"div",classes:["tox-selectfield__icon-js"]},s.icons)),C={dom:{tag:"div",classes:["tox-selectfield"]},components:Dt([[g],p.toArray()])};return Sn.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:Dt([d.toArray(),[C]]),fieldBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled(),onDisabled:S=>{Sn.getField(S).each(bt.disable)},onEnabled:S=>{Sn.getField(S).each(bt.enable)}}),bs()])})},HO=Q([oe("field1Name","field1"),oe("field2Name","field2"),fi("onLockedChange"),$u(["lockClass"]),oe("locked",!1),aa.field("coupledFieldBehaviours",[Zt,ze])]),lV=(t,s,c)=>Bn(t,s,c).bind(Zt.getCurrent),MP=(t,s)=>Qs({factory:Sn,name:t,overrides:c=>({fieldBehaviours:Be([Nt("coupled-input-behaviour",[be(Pd(),i=>{lV(i,c,s).each(d=>{Bn(i,c,"lock").each(g=>{Ft.isOn(g)&&c.onLockedChange(i,d,g)})})})])])})}),VO=Q([MP("field1","field2"),MP("field2","field1"),Qs({factory:Ds,schema:[ye("dom")],name:"lock",overrides:t=>({buttonBehaviours:Be([Ft.config({selected:t.locked,toggleClass:t.markers.lockClass,aria:{mode:"pressed"}})])})})]),uV=(t,s,c,i)=>({uid:t.uid,dom:t.dom,components:s,behaviours:aa.augment(t.coupledFieldBehaviours,[Zt.config({find:_.some}),ze.config({store:{mode:"manual",getValue:d=>{const g=nm(d,t,["field1","field2"]);return{[t.field1Name]:ze.getValue(g.field1()),[t.field2Name]:ze.getValue(g.field2())}},setValue:(d,g)=>{const p=nm(d,t,["field1","field2"]);ta(g,t.field1Name)&&ze.setValue(p.field1(),g[t.field1Name]),ta(g,t.field2Name)&&ze.setValue(p.field2(),g[t.field2Name])}}})]),apis:{getField1:d=>Bn(d,t,"field1"),getField2:d=>Bn(d,t,"field2"),getLock:d=>Bn(d,t,"lock")}}),Yc=er({name:"FormCoupledInputs",configFields:HO(),partFields:VO(),factory:uV,apis:{getField1:(t,s)=>t.getField1(s),getField2:(t,s)=>t.getField2(s),getLock:(t,s)=>t.getLock(s)}}),BP=t=>{const s={"":0,px:0,pt:1,mm:1,pc:2,ex:2,em:2,ch:2,rem:2,cm:3,in:4,"%":4},c=d=>d in s?s[d]:1;let i=t.value.toFixed(c(t.unit));return i.indexOf(".")!==-1&&(i=i.replace(/\.?0*$/,"")),i+t.unit},zO=t=>{const c=/^\s*(\d+(?:\.\d+)?)\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\s*$/.exec(t);if(c!==null){const i=parseFloat(c[1]),d=c[2];return $t.value({value:i,unit:d})}else return $t.error(t)},NP=(t,s)=>{const c={"":96,px:96,pt:72,cm:2.54,pc:12,mm:25.4,in:1},i=d=>wn(c,d);return t.unit===s?_.some(t.value):i(t.unit)&&i(s)?c[t.unit]===c[s]?_.some(t.value):_.some(t.value/c[t.unit]*c[s]):_.none()},yE=t=>_.none(),PP=(t,s)=>c=>NP(c,s).map(i=>({value:i*t,unit:s})),dV=(t,s)=>{const c=zO(t).toOptional(),i=zO(s).toOptional();return fu(c,i,(d,g)=>NP(d,g.unit).map(p=>g.value/p).map(p=>PP(p,g.unit)).getOr(yE)).getOr(yE)},$P=(t,s)=>{let c=yE;const i=Xe("ratio-event"),d=R=>il(R,{tag:"span",classes:["tox-icon","tox-lock-icon__"+R]},s.icons),g=Yc.parts.lock({dom:{tag:"button",classes:["tox-lock","tox-button","tox-button--naked","tox-button--icon"],attributes:{title:s.translate(t.label.getOr("Constrain proportions"))}},components:[d("lock"),d("unlock")],buttonBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled()}),bs(),Jn.config({})])}),p=R=>({dom:{tag:"div",classes:["tox-form__group"]},components:R}),C=R=>Sn.parts.field({factory:ap,inputClasses:["tox-textfield"],inputBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled()}),bs(),Jn.config({}),Nt("size-input-events",[be(lc(),(B,P)=>{it(B,i,{isField1:R})}),be(Wm(),(B,P)=>{it(B,Gc,{name:t.name})})])]),selectOnFocus:!1}),S=R=>({dom:{tag:"label",classes:["tox-label"]},components:[vo(s.translate(R))]}),E=Yc.parts.field1(p([Sn.parts.label(S("Width")),C(!0)])),k=Yc.parts.field2(p([Sn.parts.label(S("Height")),C(!1)]));return Yc.sketch({dom:{tag:"div",classes:["tox-form__group"]},components:[{dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:[E,k,p([S(iy),g])]}],field1Name:"width",field2Name:"height",locked:!0,markers:{lockClass:"tox-locked"},onLockedChange:(R,B,P)=>{zO(ze.getValue(R)).each(F=>{c(F).each(W=>{ze.setValue(B,BP(W))})})},coupledFieldBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled(),onDisabled:R=>{Yc.getField1(R).bind(Sn.getField).each(bt.disable),Yc.getField2(R).bind(Sn.getField).each(bt.disable),Yc.getLock(R).each(bt.disable)},onEnabled:R=>{Yc.getField1(R).bind(Sn.getField).each(bt.enable),Yc.getField2(R).bind(Sn.getField).each(bt.enable),Yc.getLock(R).each(bt.enable)}}),bs(),Nt("size-input-events2",[be(i,(R,B)=>{const P=B.event.isField1,F=P?Yc.getField1(R):Yc.getField2(R),W=P?Yc.getField2(R):Yc.getField1(R),se=F.map(ze.getValue).getOr(""),K=W.map(ze.getValue).getOr("");c=dV(se,K)})])])})},IP=(t,s,c)=>{const i=nr.parts.label({dom:{tag:"label",classes:["tox-label"]},components:[vo(s.translate(t.label))]}),d=nr.parts.spectrum({dom:{tag:"div",classes:["tox-slider__rail"],attributes:{role:"presentation"}}}),g=nr.parts.thumb({dom:{tag:"div",classes:["tox-slider__handle"],attributes:{role:"presentation"}}});return nr.sketch({dom:{tag:"div",classes:["tox-slider"],attributes:{role:"presentation"}},model:{mode:"x",minX:t.min,maxX:t.max,getInitialValue:Q(c.getOrThunk(()=>(Math.abs(t.max)-Math.abs(t.min))/2))},components:[i,d,g],sliderBehaviours:Be([Kc.self(),yt.config({})]),onChoose:(p,C,S)=>{it(p,Gc,{name:t.name,value:S})}})},mV=(t,s)=>{const c=C=>({dom:{tag:"th",innerHtml:s.translate(C)}}),i=C=>({dom:{tag:"thead"},components:[{dom:{tag:"tr"},components:Ee(C,c)}]}),d=C=>({dom:{tag:"td",innerHtml:s.translate(C)}}),g=C=>({dom:{tag:"tr"},components:Ee(C,d)}),p=C=>({dom:{tag:"tbody"},components:Ee(C,g)});return{dom:{tag:"table",classes:["tox-dialog__table"]},components:[i(t.header),p(t.cells)],behaviours:Be([Jn.config({}),yt.config({})])}},UO=(t,s)=>{const c=t.label.map(P=>ki(P,s)),i=[bt.config({disabled:()=>t.disabled||s.isDisabled()}),bs(),lt.config({mode:"execution",useEnter:t.multiline!==!0,useControlEnter:t.multiline===!0,execute:P=>(qt(P,D2),_.some(!0))}),Nt("textfield-change",[be(Pd(),(P,F)=>{it(P,Gc,{name:t.name})}),be(Id(),(P,F)=>{it(P,Gc,{name:t.name})})]),Jn.config({})],d=t.validation.map(P=>Va.config({getRoot:F=>qa(F.element),invalidClass:"tox-invalid",validator:{validate:F=>{const W=ze.getValue(F),se=P.validator(W);return pr.pure(se===!0?$t.value(W):$t.error(se))},validateOnLoad:P.validateOnLoad}})).toArray(),g=t.placeholder.fold(Q({}),P=>({placeholder:s.translate(P)})),p=t.inputMode.fold(Q({}),P=>({inputmode:P})),C={...g,...p},S=Sn.parts.field({tag:t.multiline===!0?"textarea":"input",...t.data.map(P=>({data:P})).getOr({}),inputAttributes:C,inputClasses:[t.classname],inputBehaviours:Be(Dt([i,d])),selectOnFocus:!1,factory:ap}),E=t.multiline?{dom:{tag:"div",classes:["tox-textarea-wrap"]},components:[S]}:S,R=(t.flex?["tox-form__group--stretched"]:[]).concat(t.maximized?["tox-form-group--maximize"]:[]),B=[bt.config({disabled:()=>t.disabled||s.isDisabled(),onDisabled:P=>{Sn.getField(P).each(bt.disable)},onEnabled:P=>{Sn.getField(P).each(bt.enable)}}),bs()];return A2(c,E,R,B)},FP=(t,s,c)=>UO({name:t.name,multiline:!1,label:t.label,inputMode:t.inputMode,placeholder:t.placeholder,flex:!1,disabled:!t.enabled,classname:"tox-textfield",validation:_.none(),maximized:t.maximized,data:c},s),LP=(t,s,c)=>UO({name:t.name,multiline:!0,label:t.label,inputMode:_.none(),placeholder:t.placeholder,flex:!0,disabled:!t.enabled,classname:"tox-textarea",validation:_.none(),maximized:t.maximized,data:c},s),z2=(t,s)=>s.getAnimationRoot.fold(()=>t.element,c=>c(t)),ym=t=>t.dimension.property,yp=(t,s)=>t.dimension.getDimension(s),U2=(t,s)=>{const c=z2(t,s);Pc(c,[s.shrinkingClass,s.growingClass])},WO=(t,s)=>{oo(t.element,s.openClass),Oo(t.element,s.closedClass),Bt(t.element,ym(s),"0px"),Tl(t.element)},CE=(t,s)=>{oo(t.element,s.closedClass),Oo(t.element,s.openClass),ln(t.element,ym(s))},HP=(t,s,c,i)=>{c.setCollapsed(),Bt(t.element,ym(s),yp(s,t.element)),U2(t,s),WO(t,s),s.onStartShrink(t),s.onShrunk(t)},fV=(t,s,c,i)=>{const d=i.getOrThunk(()=>yp(s,t.element));c.setCollapsed(),Bt(t.element,ym(s),d),Tl(t.element);const g=z2(t,s);oo(g,s.growingClass),Oo(g,s.shrinkingClass),WO(t,s),s.onStartShrink(t)},SE=(t,s,c)=>{const i=yp(s,t.element);(i==="0px"?HP:fV)(t,s,c,_.some(i))},VP=(t,s,c)=>{const i=z2(t,s),d=qo(i,s.shrinkingClass),g=yp(s,t.element);CE(t,s);const p=yp(s,t.element);(d?()=>{Bt(t.element,ym(s),g),Tl(t.element)}:()=>{WO(t,s)})(),oo(i,s.shrinkingClass),Oo(i,s.growingClass),CE(t,s),Bt(t.element,ym(s),p),c.setExpanded(),s.onStartGrow(t)},gV=(t,s,c)=>{if(c.isExpanded()){ln(t.element,ym(s));const i=yp(s,t.element);Bt(t.element,ym(s),i)}},hV=(t,s,c)=>{c.isExpanded()||VP(t,s,c)},zP=(t,s,c)=>{c.isExpanded()&&SE(t,s,c)},pV=(t,s,c)=>{c.isExpanded()&&HP(t,s,c)},UP=(t,s,c)=>c.isExpanded(),bV=(t,s,c)=>c.isCollapsed(),ZO=(t,s,c)=>{const i=z2(t,s);return qo(i,s.growingClass)===!0},WP=(t,s,c)=>{const i=z2(t,s);return qo(i,s.shrinkingClass)===!0};var vV=Object.freeze({__proto__:null,refresh:gV,grow:hV,shrink:zP,immediateShrink:pV,hasGrown:UP,hasShrunk:bV,isGrowing:ZO,isShrinking:WP,isTransitioning:(t,s,c)=>ZO(t,s)||WP(t,s),toggleGrow:(t,s,c)=>{(c.isExpanded()?SE:VP)(t,s,c)},disableTransitions:U2,immediateGrow:(t,s,c)=>{c.isExpanded()||(CE(t,s),Bt(t.element,ym(s),yp(s,t.element)),U2(t,s),c.setExpanded(),s.onStartGrow(t),s.onGrown(t))}}),CV=Object.freeze({__proto__:null,exhibit:(t,s,c)=>{const i=s.expanded;return mc(i?{classes:[s.openClass],styles:{}}:{classes:[s.closedClass],styles:Pr(s.dimension.property,"0px")})},events:(t,s)=>In([ji($d(),(c,i)=>{i.event.raw.propertyName===t.dimension.property&&(U2(c,t),s.isExpanded()&&ln(c.element,t.dimension.property),(s.isExpanded()?t.onGrown:t.onShrunk)(c))})])}),ZP=[ye("closedClass"),ye("openClass"),ye("shrinkingClass"),ye("growingClass"),vn("getAnimationRoot"),Qt("onShrunk"),Qt("onStartShrink"),Qt("onGrown"),Qt("onStartGrow"),oe("expanded",!1),rc("dimension",Jt("property",{width:[Tn("property","width"),Tn("getDimension",t=>gs(t)+"px")],height:[Tn("property","height"),Tn("getDimension",t=>ts(t)+"px")]}))],SV=Object.freeze({__proto__:null,init:t=>{const s=mt(t.expanded),c=()=>"expanded: "+s.get();return dc({isExpanded:()=>s.get()===!0,isCollapsed:()=>s.get()===!1,setCollapsed:an(s.set,!1),setExpanded:an(s.set,!0),readState:c})}});const ma=is({fields:ZP,name:"sliding",active:CV,apis:vV,state:SV}),jO=t=>({isEnabled:()=>!bt.isDisabled(t),setEnabled:s=>bt.set(t,!s),setActive:s=>{const c=t.element;s?(Oo(c,"tox-tbtn--enabled"),Ze(c,"aria-pressed",!0)):(oo(c,"tox-tbtn--enabled"),Po(c,"aria-pressed"))},isActive:()=>qo(t.element,"tox-tbtn--enabled"),setText:s=>{it(t,za,{text:s})},setIcon:s=>it(t,ug,{icon:s})}),W2=(t,s,c,i,d=!0)=>$O({text:t.text,icon:t.icon,tooltip:t.tooltip,searchable:t.search.isSome(),role:i,fetch:(g,p)=>{const C={pattern:t.search.isSome()?oL(g):""};t.fetch(S=>{p(Gb(S,tu.CLOSE_ON_EXECUTE,c,{isHorizontalMenu:!1,search:t.search}))},C,jO(g))},onSetup:t.onSetup,getApi:jO,columns:1,presets:"normal",classes:[],dropdownBehaviours:[...d?[Jn.config({})]:[]]},s,c.shared),wV=(t,s,c)=>{const i=g=>p=>{const C=!p.isActive();p.setActive(C),g.storage.set(C),c.shared.getSink().each(S=>{s().getOpt(S).each(E=>{Fr(E.element),it(E,sd,{name:g.name,value:g.storage.get()})})})},d=g=>p=>{p.setActive(g.storage.get())};return g=>{g(Ee(t,p=>{const C=p.text.fold(()=>({}),S=>({text:S}));return{type:p.type,active:!1,...C,onAction:i(p),onSetup:d(p)}}))}},jP=t=>({dom:{tag:"span",classes:["tox-tree__label"],attributes:{title:t,"aria-label":t}},components:[vo(t)]}),GO=Xe("leaf-label-event-id"),wE=({leaf:t,onLeafAction:s,visible:c,treeId:i,selectedId:d,backstage:g})=>{const p=t.menu.map(S=>W2(S,"tox-mbtn",g,_.none(),c)),C=[jP(t.title)];return p.each(S=>C.push(S)),Ds.sketch({dom:{tag:"div",classes:["tox-tree--leaf__label","tox-trbtn"].concat(c?["tox-tree--leaf__label--visible"]:[])},components:C,role:"treeitem",action:S=>{s(t.id),S.getSystem().broadcastOn([`update-active-item-${i}`],{value:t.id})},eventOrder:{[Aa()]:[GO,"keying"]},buttonBehaviours:Be([...c?[Jn.config({})]:[],Ft.config({toggleClass:"tox-trbtn--enabled",toggleOnExecute:!1,aria:{mode:"selected"}}),Ir.config({channels:{[`update-active-item-${i}`]:{onReceive:(S,E)=>{(E.value===t.id?Ft.on:Ft.off)(S)}}}}),Nt(GO,[Mn((S,E)=>{d.each(k=>{(k===t.id?Ft.on:Ft.off)(S)})}),be(Aa(),(S,E)=>{const k=E.event.raw.code==="ArrowLeft",R=E.event.raw.code==="ArrowRight";k?(gc(S.element,".tox-tree--directory").each(B=>{S.getSystem().getByDom(B).each(P=>{A1(B,".tox-tree--directory__label").each(F=>{P.getSystem().getByDom(F).each(yt.focus)})})}),E.stop()):R&&E.stop()})])])})},GP=(t,s,c)=>il(t,{tag:"span",classes:["tox-tree__icon-wrap","tox-icon"],behaviours:c},s),xE=(t,s)=>GP(t,s,[]),qP=Xe("directory-label-event-id"),xV=({directory:t,visible:s,noChildren:c,backstage:i})=>{const d=t.menu.map(C=>W2(C,"tox-mbtn",i,_.none())),g=[{dom:{tag:"div",classes:["tox-chevron"]},components:[xE("chevron-right",i.shared.providers.icons)]},jP(t.title)];d.each(C=>{g.push(C)});const p=C=>{gc(C.element,".tox-tree--directory").each(S=>{C.getSystem().getByDom(S).each(E=>{const k=!Ft.isOn(E);Ft.toggle(E),it(C,"expand-tree-node",{expanded:k,node:t.id})})})};return Ds.sketch({dom:{tag:"div",classes:["tox-tree--directory__label","tox-trbtn"].concat(s?["tox-tree--directory__label--visible"]:[])},components:g,action:p,eventOrder:{[Aa()]:[qP,"keying"]},buttonBehaviours:Be([...s?[Jn.config({})]:[],Nt(qP,[be(Aa(),(C,S)=>{const E=S.event.raw.code==="ArrowRight",k=S.event.raw.code==="ArrowLeft";E&&c&&S.stop(),(E||k)&&gc(C.element,".tox-tree--directory").each(R=>{C.getSystem().getByDom(R).each(B=>{!Ft.isOn(B)&&E||Ft.isOn(B)&&k?(p(C),S.stop()):k&&!Ft.isOn(B)&&(gc(B.element,".tox-tree--directory").each(P=>{A1(P,".tox-tree--directory__label").each(F=>{B.getSystem().getByDom(F).each(yt.focus)})}),S.stop())})})})])])})},EV=({children:t,onLeafAction:s,visible:c,treeId:i,expandedIds:d,selectedId:g,backstage:p})=>({dom:{tag:"div",classes:["tox-tree--directory__children"]},components:t.map(C=>C.type==="leaf"?wE({leaf:C,selectedId:g,onLeafAction:s,visible:c,treeId:i,backstage:p}):EE({directory:C,expandedIds:d,selectedId:g,onLeafAction:s,labelTabstopping:c,treeId:i,backstage:p})),behaviours:Be([ma.config({dimension:{property:"height"},closedClass:"tox-tree--directory__children--closed",openClass:"tox-tree--directory__children--open",growingClass:"tox-tree--directory__children--growing",shrinkingClass:"tox-tree--directory__children--shrinking",expanded:c}),kt.config({})])}),TV=Xe("directory-event-id"),EE=({directory:t,onLeafAction:s,labelTabstopping:c,treeId:i,backstage:d,expandedIds:g,selectedId:p})=>{const{children:C}=t,S=mt(g),E=R=>C.map(B=>B.type==="leaf"?wE({leaf:B,selectedId:p,onLeafAction:s,visible:R,treeId:i,backstage:d}):EE({directory:B,expandedIds:S.get(),selectedId:p,onLeafAction:s,labelTabstopping:R,treeId:i,backstage:d})),k=g.includes(t.id);return{dom:{tag:"div",classes:["tox-tree--directory"],attributes:{role:"treeitem"}},components:[xV({directory:t,visible:c,noChildren:t.children.length===0,backstage:d}),EV({children:C,expandedIds:g,selectedId:p,onLeafAction:s,visible:k,treeId:i,backstage:d})],behaviours:Be([Nt(TV,[Mn((R,B)=>{Ft.set(R,k)}),be("expand-tree-node",(R,B)=>{const{expanded:P,node:F}=B.event;S.set(P?[...S.get(),F]:S.get().filter(W=>W!==F))})]),Ft.config({...t.children.length>0?{aria:{mode:"expanded"}}:{},toggleClass:"tox-tree--directory--expanded",onToggled:(R,B)=>{const P=R.components()[1],F=E(B);B?ma.grow(P):ma.shrink(P),kt.set(P,F)}})])}},_V=Xe("tree-event-id"),kV=(t,s)=>{const c=t.onLeafAction.getOr(q),i=t.onToggleExpand.getOr(q),d=t.defaultExpandedIds,g=mt(d),p=mt(t.defaultSelectedId),C=Xe("tree-id"),S=(E,k)=>t.items.map(R=>R.type==="leaf"?wE({leaf:R,selectedId:E,onLeafAction:c,visible:!0,treeId:C,backstage:s}):EE({directory:R,selectedId:E,onLeafAction:c,expandedIds:k,labelTabstopping:!0,treeId:C,backstage:s}));return{dom:{tag:"div",classes:["tox-tree"],attributes:{role:"tree"}},components:S(p.get(),g.get()),behaviours:Be([lt.config({mode:"flow",selector:".tox-tree--leaf__label--visible, .tox-tree--directory__label--visible",cycles:!1}),Nt(_V,[be("expand-tree-node",(E,k)=>{const{expanded:R,node:B}=k.event;g.set(R?[...g.get(),B]:g.get().filter(P=>P!==B)),i(g.get(),{expanded:R,node:B})})]),Ir.config({channels:{[`update-active-item-${C}`]:{onReceive:(E,k)=>{p.set(_.some(k.value)),kt.set(E,S(_.some(k.value),g.get()))}}}}),kt.config({})])}};var KP=Object.freeze({__proto__:null,events:(t,s)=>{const i=t.stream.streams.setup(t,s);return In([be(t.event,i),Gi(()=>s.cancel())].concat(t.cancelEvent.map(d=>[be(d,()=>s.cancel())]).getOr([])))}});const qO=t=>{const s=mt(null);return dc({readState:()=>({timer:s.get()!==null?"set":"unset"}),setTimer:g=>{s.set(g)},cancel:()=>{const g=s.get();g!==null&&g.cancel()}})};var OV=Object.freeze({__proto__:null,throttle:qO,init:t=>t.stream.streams.state(t)});const YP=(t,s)=>{const c=t.stream,i=gE(t.onStream,c.delay);return s.setTimer(i),(d,g)=>{i.throttle(d,g),c.stopEvent&&g.stop()}};var AV=[rc("stream",Jt("mode",{throttle:[ye("delay"),oe("stopEvent",!0),Tn("streams",{setup:YP,state:qO})]})),oe("event","input"),vn("cancelEvent"),fi("onStream")];const KO=is({fields:AV,name:"streaming",active:KP,state:OV}),St=(t,s,c)=>{const i=ze.getValue(c);ze.setValue(s,i),YO(s)},qb=(t,s)=>{const c=t.element,i=Yi(c),d=c.dom;xo(c,"type")!=="number"&&s(d,i)},YO=t=>{qb(t,(s,c)=>s.setSelectionRange(c.length,c.length))},XP=(t,s)=>{qb(t,(c,i)=>c.setSelectionRange(s,i.length))},JP=(t,s,c)=>{if(t.selectsOver){const i=ze.getValue(s),d=t.getDisplayText(i),g=ze.getValue(c);return t.getDisplayText(g).indexOf(d)===0?_.some(()=>{St(t,s,c),XP(s,d.length)}):_.none()}else return _.none()},TE=Q("alloy.typeahead.itemexecute"),QP=(t,s,c,i)=>{const d=(R,B,P)=>{t.previewing.set(!1);const F=Do.getCoupled(R,"sandbox");if(Kt.isOpen(F))Zt.getCurrent(F).each(W=>{mn.getHighlighted(W).fold(()=>{P(W)},()=>{fv(F,W.element,"keydown",B)})});else{const W=se=>{Zt.getCurrent(se).each(P)};jx(t,p(R),R,F,i,W,Ur.HighlightMenuAndItem).get(q)}},g=WM(t),p=R=>B=>B.map(P=>{const F=T0(P.menus),W=ge(F,K=>qn(K.items,j=>j.type==="item"));return ze.getState(R).update(Ee(W,K=>K.data)),P}),C=R=>Zt.getCurrent(R),S="typeaheadevents",E=[yt.config({}),ze.config({onSetValue:t.onSetValue,store:{mode:"dataset",getDataKey:R=>Yi(R.element),getFallbackEntry:R=>({value:R,meta:{}}),setValue:(R,B)=>{sf(R.element,t.model.getDisplayText(B))},...t.initialData.map(R=>Pr("initialValue",R)).getOr({})}}),KO.config({stream:{mode:"throttle",delay:t.responseTime,stopEvent:!1},onStream:(R,B)=>{const P=Do.getCoupled(R,"sandbox");if(yt.isFocused(R)&&Yi(R.element).length>=t.minChars){const W=C(P).bind(K=>mn.getHighlighted(K).map(ze.getValue));t.previewing.set(!0);const se=K=>{C(P).each(j=>{W.fold(()=>{t.model.selectsOver&&mn.highlightFirst(j)},re=>{mn.highlightBy(j,we=>ze.getValue(we).value===re.value),mn.getHighlighted(j).orThunk(()=>(mn.highlightFirst(j),_.none()))})})};jx(t,p(R),R,P,i,se,Ur.HighlightJustMenu).get(q)}},cancelEvent:a1()}),lt.config({mode:"special",onDown:(R,B)=>(d(R,B,mn.highlightFirst),_.some(!0)),onEscape:R=>{const B=Do.getCoupled(R,"sandbox");return Kt.isOpen(B)?(Kt.close(B),_.some(!0)):_.none()},onUp:(R,B)=>(d(R,B,mn.highlightLast),_.some(!0)),onEnter:R=>{const B=Do.getCoupled(R,"sandbox"),P=Kt.isOpen(B);if(P&&!t.previewing.get())return C(B).bind(F=>mn.getHighlighted(F)).map(F=>(it(R,TE(),{item:F}),!0));{const F=ze.getValue(R);return qt(R,a1()),t.onExecute(B,R,F),P&&Kt.close(B),_.some(!0)}}}),Ft.config({toggleClass:t.markers.openClass,aria:{mode:"expanded"}}),Do.config({others:{sandbox:R=>G3(t,R,{onOpen:()=>Ft.on(R),onClose:()=>{t.lazyTypeaheadComp.get().each(B=>Po(B.element,"aria-activedescendant")),Ft.off(R)}})}}),Nt(S,[Mn(R=>{t.lazyTypeaheadComp.set(_.some(R))}),Gi(R=>{t.lazyTypeaheadComp.set(_.none())}),Ra(R=>{const B=q;j3(t,p(R),R,i,B,Ur.HighlightMenuAndItem).get(q)}),be(TE(),(R,B)=>{const P=Do.getCoupled(R,"sandbox");St(t.model,R,B.event.item),qt(R,a1()),t.onItemExecute(R,P,B.event.item,ze.getValue(R)),Kt.close(P),YO(R)})].concat(t.dismissOnBlur?[be(ku(),R=>{const B=Do.getCoupled(R,"sandbox");Ba(B.element).isNone()&&Kt.close(B)})]:[]))],k={[Au()]:[ze.name(),KO.name(),S],...t.eventOrder};return{uid:t.uid,dom:ZM(Vn(t,{inputAttributes:{role:"combobox","aria-autocomplete":"list","aria-haspopup":"true"}})),behaviours:{...g,...Io(t.typeaheadBehaviours,E)},eventOrder:k}},$j=Q([vn("lazySink"),ye("fetch"),oe("minChars",5),oe("responseTime",1e3),Qt("onOpen"),oe("getHotspot",_.some),oe("getAnchorOverrides",Q({})),oe("layouts",_.none()),oe("eventOrder",{}),zi("model",{},[oe("getDisplayText",t=>t.meta!==void 0&&t.meta.text!==void 0?t.meta.text:t.value),oe("selectsOver",!0),oe("populateFromBrowse",!0)]),Qt("onSetValue"),pc("onExecute"),Qt("onItemExecute"),oe("inputClasses",[]),oe("inputAttributes",{}),oe("inputStyles",{}),oe("matchWidth",!0),oe("useMinWidth",!1),oe("dismissOnBlur",!0),$u(["openClass"]),vn("initialData"),Ko("typeaheadBehaviours",[yt,ze,KO,lt,Ft,Do]),_o("lazyTypeaheadComp",()=>mt(_.none)),_o("previewing",()=>mt(!0))].concat(UM()).concat(q3())),Z2=Q([$a({schema:[mh()],name:"menu",overrides:t=>({fakeFocus:!0,onHighlightItem:(s,c,i)=>{t.previewing.get()?t.lazyTypeaheadComp.get().each(d=>{JP(t.model,d,i).fold(()=>{t.model.selectsOver?(mn.dehighlight(c,i),t.previewing.set(!0)):t.previewing.set(!1)},g=>{g(),t.previewing.set(!1)})}):t.lazyTypeaheadComp.get().each(d=>{t.model.populateFromBrowse&&St(t.model,d,i),Sr(i.element,"id").each(g=>Ze(d.element,"aria-activedescendant",g))})},onExecute:(s,c)=>t.lazyTypeaheadComp.get().map(i=>(it(i,TE(),{item:c}),!0)),onHover:(s,c)=>{t.previewing.set(!1),t.lazyTypeaheadComp.get().each(i=>{t.model.populateFromBrowse&&St(t.model,i,c)})}})})]),RV=er({name:"Typeahead",configFields:$j(),partFields:Z2(),factory:QP}),Oi=t=>({...t,toCached:()=>Oi(t.toCached()),bindFuture:S=>Oi(t.bind(E=>E.fold(k=>pr.pure($t.error(k)),k=>S(k)))),bindResult:S=>Oi(t.map(E=>E.bind(S))),mapResult:S=>Oi(t.map(E=>E.map(S))),mapError:S=>Oi(t.map(E=>E.mapError(S))),foldResult:(S,E)=>t.map(k=>k.fold(S,E)),withTimeout:(S,E)=>Oi(pr.nu(k=>{let R=!1;const B=setTimeout(()=>{R=!0,k($t.error(E()))},S);t.get(P=>{R||(clearTimeout(B),k(P))})}))}),e5=t=>Oi(pr.nu(t)),t5=t=>Oi(pr.pure($t.value(t))),BV={nu:e5,wrap:Oi,pure:t5,value:t5,error:t=>Oi(pr.pure($t.error(t))),fromResult:t=>Oi(pr.pure(t)),fromFuture:t=>Oi(t.map($t.value)),fromPromise:t=>e5(s=>{t.then(c=>{s($t.value(c))},c=>{s($t.error(c))})})},_E=(t,s,c=[],i,d,g)=>{const p=s.fold(()=>({}),E=>({action:E})),C={buttonBehaviours:Be([Ha.button(()=>!t.enabled||g.isDisabled()),bs(),Jn.config({}),Nt("button press",[pv("click"),pv("mousedown")])].concat(c)),eventOrder:{click:["button press","alloy.base.behaviour"],mousedown:["button press","alloy.base.behaviour"]},...p},S=Vn(C,{dom:i});return Vn(S,{components:d})},NV=(t,s,c,i=[])=>{const d=t.tooltip.map(S=>({"aria-label":c.translate(S),title:c.translate(S)})).getOr({}),g={tag:"button",classes:["tox-tbtn"],attributes:d},p=t.icon.map(S=>PO(S,c.icons)),C=dp([p]);return _E(t,s,i,g,C,c)},XO=t=>{switch(t){case"primary":return["tox-button"];case"toolbar":return["tox-tbtn"];case"secondary":default:return["tox-button","tox-button--secondary"]}},o5=(t,s,c,i=[],d=[])=>{const g=c.translate(t.text),p=t.icon.map(B=>PO(B,c.icons)),C=[p.getOrThunk(()=>vo(g))],S=t.buttonType.getOr(!t.primary&&!t.borderless?"secondary":"primary"),R={tag:"button",classes:[...XO(S),...p.isSome()?["tox-button--icon"]:[],...t.borderless?["tox-button--naked"]:[],...d],attributes:{title:g}};return _E(t,s,i,R,C,c)},JO=(t,s,c,i=[],d=[])=>{const g=o5(t,_.some(s),c,i,d);return Ds.sketch(g)},s5=(t,s)=>c=>{s==="custom"?it(c,sd,{name:t,value:{}}):s==="submit"?qt(c,D2):s==="cancel"?qt(c,sg):console.error("Unknown button type: ",s)},PV=(t,s)=>s==="menu",$V=(t,s)=>s==="custom"||s==="cancel"||s==="submit",IV=(t,s)=>s==="togglebutton",FV=(t,s)=>{var c,i;const d=t.icon.map(j=>lg(j,s.icons)).map(Cn),g=j=>{it(j,sd,{name:t.name,value:{setIcon:re=>{d.map(we=>we.getOpt(j).each(he=>{kt.set(he,[lg(re,s.icons)])}))}}})},p=t.buttonType.getOr(t.primary?"primary":"secondary"),C={...t,name:(c=t.name)!==null&&c!==void 0?c:"",primary:p==="primary",tooltip:_.from(t.tooltip),enabled:(i=t.enabled)!==null&&i!==void 0?i:!1,borderless:!1},S=C.tooltip.map(j=>({"aria-label":s.translate(j),title:s.translate(j)})).getOr({}),E=XO(p??"secondary"),k=t.icon.isSome()&&t.text.isSome(),R={tag:"button",classes:[...E.concat(t.icon.isSome()?["tox-button--icon"]:[]),...t.active?["tox-button--enabled"]:[],...k?["tox-button--icon-and-text"]:[]],attributes:S},B=[],P=s.translate(t.text.getOr("")),F=vo(P),se=[...dp([d.map(j=>j.asSpec())]),...t.text.isSome()?[F]:[]],K=_E(C,_.some(g),B,R,se,s);return Ds.sketch(K)},kE=(t,s,c)=>{if(PV(t,s)){const i=()=>p,d=t,g={...t,type:"menubutton",search:_.none(),onSetup:C=>(C.setEnabled(t.enabled),q),fetch:wV(d.items,i,c)},p=Cn(W2(g,"tox-tbtn",c,_.none()));return p.asSpec()}else if($V(t,s)){const i=s5(t.name,s),d={...t,borderless:!1};return JO(d,i,c.shared.providers,[])}else{if(IV(t,s))return FV(t,c.shared.providers);throw console.error("Unknown footer button type: ",s),new Error("Unknown footer button type")}},LV=(t,s)=>{const c=s5(t.name,"custom");return _L(_.none(),Sn.parts.field({factory:Ds,...o5(t,_.some(c),s,[fE(""),Kc.self()])}))},HV={type:"separator"},VV=t=>({type:"menuitem",value:t.url,text:t.title,meta:{attach:t.attach},onAction:q}),QO=(t,s)=>({type:"menuitem",value:s,text:t,meta:{attach:void 0},onAction:q}),zV=t=>Ee(t,VV),r5=(t,s)=>qn(s,c=>c.type===t),c5=(t,s)=>zV(r5(t,s)),UV=t=>c5("header",t.targets),WV=t=>c5("anchor",t.targets),ZV=t=>_.from(t.anchorTop).map(s=>QO("",s)).toArray(),jV=t=>_.from(t.anchorBottom).map(s=>QO("",s)).toArray(),GV=t=>Ee(t,s=>QO(s,s)),a5=t=>eo(t,(s,c)=>s.length===0||c.length===0?s.concat(c):s.concat(HV,c),[]),eA=(t,s)=>{const c=t.toLowerCase();return qn(s,i=>{var d;const g=i.meta!==void 0&&i.meta.text!==void 0?i.meta.text:i.text,p=(d=i.value)!==null&&d!==void 0?d:"";return cr(g.toLowerCase(),c)||cr(p.toLowerCase(),c)})},i5=(t,s,c)=>{var i,d;const g=ze.getValue(s),p=(d=(i=g==null?void 0:g.meta)===null||i===void 0?void 0:i.text)!==null&&d!==void 0?d:g.value;return c.getLinkInformation().fold(()=>[],S=>{const E=eA(p,GV(c.getHistory(t)));return t==="file"?a5([E,eA(p,UV(S)),eA(p,Dt([ZV(S),WV(S),jV(S)]))]):E})},l5=Xe("aria-invalid"),u5=(t,s,c,i)=>{const d=s.shared.providers,g=j=>{const re=ze.getValue(j);c.addToHistory(re.value,t.filetype)},p={...i.map(j=>({initialData:j})).getOr({}),dismissOnBlur:!0,inputClasses:["tox-textfield"],sandboxClasses:["tox-dialog__popups"],inputAttributes:{"aria-errormessage":l5,type:"url"},minChars:0,responseTime:0,fetch:j=>{const re=i5(t.filetype,j,c),we=Gb(re,tu.BUBBLE_TO_SANDBOX,s,{isHorizontalMenu:!1,search:_.none()});return pr.pure(we)},getHotspot:j=>F.getOpt(j),onSetValue:(j,re)=>{j.hasConfigured(Va)&&Va.run(j).get(q)},typeaheadBehaviours:Be([...c.getValidationHandler().map(j=>Va.config({getRoot:re=>qa(re.element),invalidClass:"tox-control-wrap--status-invalid",notify:{onInvalid:(re,we)=>{k.getOpt(re).each(he=>{Ze(he.element,"title",d.translate(we))})}},validator:{validate:re=>{const we=ze.getValue(re);return BV.nu(he=>{j({type:t.filetype,url:we.value},me=>{if(me.status==="invalid"){const De=$t.error(me.message);he(De)}else{const De=$t.value(me.message);he(De)}})})},validateOnLoad:!1}})).toArray(),bt.config({disabled:()=>!t.enabled||d.isDisabled()}),Jn.config({}),Nt("urlinput-events",[be(Pd(),j=>{const re=Yi(j.element),we=re.trim();we!==re&&sf(j.element,we),t.filetype==="file"&&it(j,Gc,{name:t.name})}),be(Wm(),j=>{it(j,Gc,{name:t.name}),g(j)}),be(Id(),j=>{it(j,Gc,{name:t.name}),g(j)})])]),eventOrder:{[Pd()]:["streaming","urlinput-events","invalidating"]},model:{getDisplayText:j=>j.value,selectsOver:!1,populateFromBrowse:!1},markers:{openClass:"tox-textfield--popup-open"},lazySink:s.shared.getSink,parts:{menu:Rb(!1,1,"normal")},onExecute:(j,re,we)=>{it(re,D2,{})},onItemExecute:(j,re,we,he)=>{g(j),it(j,Gc,{name:t.name})}},C=Sn.parts.field({...p,factory:RV}),S=t.label.map(j=>ki(j,d)),k=Cn(((j,re,we=j,he=j)=>il(we,{tag:"div",classes:["tox-icon","tox-control-wrap__status-icon-"+j],attributes:{title:d.translate(he),"aria-live":"polite",...re.fold(()=>({}),me=>({id:me}))}},d.icons))("invalid",_.some(l5),"warning")),R=Cn({dom:{tag:"div",classes:["tox-control-wrap__status-icon-wrap"]},components:[k.asSpec()]}),B=c.getUrlPicker(t.filetype),P=Xe("browser.url.event"),F=Cn({dom:{tag:"div",classes:["tox-control-wrap"]},components:[C,R.asSpec()],behaviours:Be([bt.config({disabled:()=>!t.enabled||d.isDisabled()})])}),W=Cn(JO({name:t.name,icon:_.some("browse"),text:t.picker_text.or(t.label).getOr(""),enabled:t.enabled,primary:!1,buttonType:_.none(),borderless:!0},j=>qt(j,P),d,[],["tox-browse-url"])),se=()=>({dom:{tag:"div",classes:["tox-form__controls-h-stack"]},components:Dt([[F.asSpec()],B.map(()=>W.asSpec()).toArray()])}),K=j=>{Zt.getCurrent(j).each(re=>{const we=ze.getValue(re),he={fieldname:t.name,...we};B.each(me=>{me(he).get(De=>{ze.setValue(re,De),it(j,Gc,{name:t.name})})})})};return Sn.sketch({dom:_j(),components:S.toArray().concat([se()]),fieldBehaviours:Be([bt.config({disabled:()=>!t.enabled||d.isDisabled(),onDisabled:j=>{Sn.getField(j).each(bt.disable),W.getOpt(j).each(bt.disable)},onEnabled:j=>{Sn.getField(j).each(bt.enable),W.getOpt(j).each(bt.enable)}}),bs(),Nt("url-input-events",[be(P,K)])])})},d5=(t,s)=>{const c=mM(t.icon,s.icons);return ou.sketch({dom:{tag:"div",attributes:{role:"alert"},classes:["tox-notification","tox-notification--in",`tox-notification--${t.level}`]},components:[{dom:{tag:"div",classes:["tox-notification__icon"],innerHtml:t.url?void 0:c},components:t.url?[Ds.sketch({dom:{tag:"button",classes:["tox-button","tox-button--naked","tox-button--icon"],innerHtml:c,attributes:{title:s.translate(t.iconTooltip)}},action:i=>it(i,sd,{name:"alert-banner",value:t.url}),buttonBehaviours:Be([tx()])})]:void 0},{dom:{tag:"div",classes:["tox-notification__body"],innerHtml:s.translate(t.text)}}]})},tA=(t,s)=>{t.dom.checked=s},qV=t=>t.dom.checked,m5=(t,s,c)=>{const i=S=>(S.element.dom.click(),_.some(!0)),d=Sn.parts.field({factory:{sketch:sn},dom:{tag:"input",classes:["tox-checkbox__input"],attributes:{type:"checkbox"}},behaviours:Be([Kc.self(),bt.config({disabled:()=>!t.enabled||s.isDisabled(),onDisabled:S=>{qa(S.element).each(E=>Oo(E,"tox-checkbox--disabled"))},onEnabled:S=>{qa(S.element).each(E=>oo(E,"tox-checkbox--disabled"))}}),Jn.config({}),yt.config({}),TO(c,qV,tA),lt.config({mode:"special",onEnter:i,onSpace:i,stopSpaceKeyup:!0}),Nt("checkbox-events",[be(Wm(),(S,E)=>{it(S,Gc,{name:t.name})})])])}),g=Sn.parts.label({dom:{tag:"span",classes:["tox-checkbox__label"]},components:[vo(s.translate(t.label))],behaviours:Be([M2.config({})])}),p=S=>il(S==="checked"?"selected":"unselected",{tag:"span",classes:["tox-icon","tox-checkbox-icon__"+S]},s.icons),C=Cn({dom:{tag:"div",classes:["tox-checkbox__icons"]},components:[p("checked"),p("unchecked")]});return Sn.sketch({dom:{tag:"label",classes:["tox-checkbox"]},components:[d,C.asSpec(),g],fieldBehaviours:Be([bt.config({disabled:()=>!t.enabled||s.isDisabled()}),bs()])})},f5=t=>t.presets==="presentation"?ou.sketch({dom:{tag:"div",classes:["tox-form__group"],innerHtml:t.html}}):ou.sketch({dom:{tag:"div",classes:["tox-form__group"],innerHtml:t.html,attributes:{role:"document"}},containerBehaviours:Be([Jn.config({}),yt.config({})])}),ys=t=>(s,c,i,d)=>We(c,"name").fold(()=>t(c,d,_.none()),g=>s.field(g,t(c,d,We(i,g)))),g5=t=>(s,c,i,d)=>{const g=Vn(c,{source:"dynamic"});return ys(t)(s,g,i,d)},KV={bar:ys((t,s)=>CL(t,s.shared)),collection:ys((t,s,c)=>OL(t,s.shared.providers,c)),alertbanner:ys((t,s)=>d5(t,s.shared.providers)),input:ys((t,s,c)=>FP(t,s.shared.providers,c)),textarea:ys((t,s,c)=>LP(t,s.shared.providers,c)),label:ys((t,s)=>EP(t,s.shared)),iframe:g5((t,s,c)=>KH(t,s.shared.providers,c)),button:ys((t,s)=>LV(t,s.shared.providers)),checkbox:ys((t,s,c)=>m5(t,s.shared.providers,c)),colorinput:ys((t,s,c)=>NL(t,s.shared,s.colorinput,c)),colorpicker:ys((t,s,c)=>LH(t,s.shared.providers,c)),dropzone:ys((t,s,c)=>VH(t,s.shared.providers,c)),grid:ys((t,s)=>bP(t,s.shared)),listbox:ys((t,s,c)=>LO(t,s,c)),selectbox:ys((t,s,c)=>V2(t,s.shared.providers,c)),sizeinput:ys((t,s)=>$P(t,s.shared.providers)),slider:ys((t,s,c)=>IP(t,s.shared.providers,c)),urlinput:ys((t,s,c)=>u5(t,s,s.urlinput,c)),customeditor:ys(hP),htmlpanel:ys(f5),imagepreview:ys((t,s,c)=>JH(t,c)),table:ys((t,s)=>mV(t,s.shared.providers)),tree:ys((t,s)=>kV(t,s)),panel:ys((t,s)=>cV(t,s))},YV={field:(t,s)=>s,record:Q([])},gl=(t,s,c,i)=>{const d=Vn(i,{shared:{interpreter:g=>Kb(t,g,c,d)}});return Kb(t,s,c,d)},Kb=(t,s,c,i)=>We(KV,s.type).fold(()=>(console.error(`Unknown factory type "${s.type}", defaulting to container: `,s),s),d=>d(t,s,c,i)),j2=(t,s,c)=>Kb(YV,t,s,c),dg="layout-inset",G2=t=>t.x,h5=(t,s)=>t.x+t.width/2-s.width/2,q2=(t,s)=>t.x+t.width-s.width,OE=t=>t.y,K2=(t,s)=>t.y+t.height-s.height,p5=(t,s)=>t.y+t.height/2-s.height/2,Y2=(t,s,c)=>rs(q2(t,s),K2(t,s),c.insetSouthwest(),Qi(),"southwest",Xn(t,{right:0,bottom:3}),dg),X2=(t,s,c)=>rs(G2(t),K2(t,s),c.insetSoutheast(),B1(),"southeast",Xn(t,{left:1,bottom:3}),dg),Cp=(t,s,c)=>rs(q2(t,s),OE(t),c.insetNorthwest(),Pv(),"northwest",Xn(t,{right:0,top:2}),dg),J2=(t,s,c)=>rs(G2(t),OE(t),c.insetNortheast(),gh(),"northeast",Xn(t,{left:1,top:2}),dg),hl=(t,s,c)=>rs(h5(t,s),OE(t),c.insetNorth(),Ll(),"north",Xn(t,{top:2}),dg),Yb=(t,s,c)=>rs(h5(t,s),K2(t,s),c.insetSouth(),D_(),"south",Xn(t,{bottom:3}),dg),b5=(t,s,c)=>rs(q2(t,s),p5(t,s),c.insetEast(),hh(),"east",Xn(t,{right:0}),dg),v5=(t,s,c)=>rs(G2(t),p5(t,s),c.insetWest(),ae(),"west",Xn(t,{left:1}),dg),y5=t=>{switch(t){case"north":return hl;case"northeast":return J2;case"northwest":return Cp;case"south":return Yb;case"southeast":return X2;case"southwest":return Y2;case"east":return b5;case"west":return v5}},nA=(t,s,c,i,d)=>BS(i).map(y5).getOr(hl)(t,s,c,i,d),XV=t=>{switch(t){case"north":return Yb;case"northeast":return X2;case"northwest":return Y2;case"south":return hl;case"southeast":return J2;case"southwest":return Cp;case"east":return v5;case"west":return b5}},JV=(t,s,c,i,d)=>BS(i).map(XV).getOr(hl)(t,s,c,i,d),Q2={valignCentre:[],alignCentre:[],alignLeft:[],alignRight:[],right:[],left:[],bottom:[],top:[]},QV=(t,s,c)=>{const d={maxHeightFunction:vf()},g=()=>({type:"node",root:Sa(ro(t())),node:_.from(t()),bubble:tl(12,12,Q2),layouts:{onRtl:()=>[J2],onLtr:()=>[Cp]},overrides:d}),p=()=>({type:"hotspot",hotspot:s(),bubble:tl(-12,12,Q2),layouts:{onRtl:()=>[cs,Vs,as],onLtr:()=>[Vs,cs,as]},overrides:d});return()=>c()?g():p()},C5=(t,s,c,i)=>{const g={maxHeightFunction:vf()},p=()=>({type:"node",root:Sa(ro(s())),node:_.from(s()),bubble:tl(12,12,Q2),layouts:{onRtl:()=>[hl],onLtr:()=>[hl]},overrides:g}),C=()=>t?{type:"node",root:Sa(ro(s())),node:_.from(s()),bubble:tl(0,-bu(s()),Q2),layouts:{onRtl:()=>[dr],onLtr:()=>[dr]},overrides:g}:{type:"hotspot",hotspot:c(),bubble:tl(0,0,Q2),layouts:{onRtl:()=>[dr],onLtr:()=>[dr]},overrides:g};return()=>i()?p():C()},cu=(t,s,c)=>{const i=()=>({type:"node",root:Sa(ro(t())),node:_.from(t()),layouts:{onRtl:()=>[hl],onLtr:()=>[hl]}}),d=()=>({type:"hotspot",hotspot:s(),layouts:{onRtl:()=>[as],onLtr:()=>[as]}});return()=>c()?i():d()},oA=(t,s)=>()=>({type:"selection",root:s(),getSelection:()=>{const c=t.selection.getRng(),i=t.model.table.getSelectedCells();if(i.length>1){const d=i[0],g=i[i.length-1],p={firstCell:ee.fromDom(d),lastCell:ee.fromDom(g)};return _.some(p)}return _.some(As.range(ee.fromDom(c.startContainer),c.startOffset,ee.fromDom(c.endContainer),c.endOffset))}}),ez=t=>s=>({type:"node",root:t(),node:s}),tz=(t,s,c,i)=>{const d=Kf(t),g=()=>ee.fromDom(t.getBody()),p=()=>ee.fromDom(t.getContentAreaContainer()),C=()=>d||!i();return{inlineDialog:QV(p,s,C),inlineBottomDialog:C5(t.inline,p,c,C),banner:cu(p,s,C),cursor:oA(t,g),node:ez(g)}},nz=t=>(s,c)=>{tN(t)(s,c)},oz=t=>()=>KB(t),sz=t=>s=>Vx(t,s),S5=t=>s=>qB(t,s),w5=t=>({colorPicker:nz(t),hasCustomColors:oz(t),getColors:sz(t),getColorCols:S5(t)}),Fj=t=>()=>TM(t),Lj=t=>({isDraggableModal:Fj(t)}),br=t=>{const s=mt(V4(t)?"bottom":"top");return{isPositionedAtTop:()=>s.get()==="top",getDockingMode:s.get,setDockingMode:s.set}},AE=t=>ta(t,"items"),x5=t=>ta(t,"format"),eC=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",format:"bold"},{title:"Italic",format:"italic"},{title:"Underline",format:"underline"},{title:"Strikethrough",format:"strikethrough"},{title:"Superscript",format:"superscript"},{title:"Subscript",format:"subscript"},{title:"Code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Align",items:[{title:"Left",format:"alignleft"},{title:"Center",format:"aligncenter"},{title:"Right",format:"alignright"},{title:"Justify",format:"alignjustify"}]}],rz=t=>wn(t,"items"),cz=t=>wn(t,"block"),az=t=>wn(t,"inline"),iz=t=>wn(t,"selector"),E5=t=>eo(t,(s,c)=>{if(rz(c)){const i=E5(c.items);return{customFormats:s.customFormats.concat(i.customFormats),formats:s.formats.concat([{title:c.title,items:i.formats}])}}else if(az(c)||cz(c)||iz(c)){const d=`custom-${hn(c.name)?c.name:c.title.toLowerCase()}`;return{customFormats:s.customFormats.concat([{name:d,format:c}]),formats:s.formats.concat([{title:c.title,format:d,icon:c.icon}])}}else return{...s,formats:s.formats.concat(c)}},{customFormats:[],formats:[]}),lz=(t,s)=>{const c=E5(s),i=d=>{Ke(d,g=>{t.formatter.has(g.name)||t.formatter.register(g.name,g.format)})};return t.formatter?i(c.customFormats):t.on("init",()=>{i(c.customFormats)}),c.formats},T5=t=>N4(t).map(s=>{const c=lz(t,s);return pM(t)?eC.concat(c):c}).getOr(eC),uz=t=>{const s=ho(t);return s.length===1&&So(s,"title")},sA=(t,s,c)=>({...t,type:"formatter",isSelected:s(t.format),getStylePreview:c(t.format)}),tC=(t,s,c,i)=>{const d=S=>sA(S,c,i),g=S=>{const E=C(S.items);return{...S,type:"submenu",getStyleItems:Q(E)}},p=S=>{const E=hn(S.name)?S.name:Xe(S.title),k=`custom-${E}`,R={...S,type:"formatter",format:k,isSelected:c(k),getStylePreview:i(k)};return t.formatter.register(E,R),R},C=S=>Ee(S,E=>AE(E)?g(E):x5(E)?d(E):uz(E)?{...E,type:"separator"}:p(E));return C(s)},dz=t=>{const s=C=>()=>t.formatter.match(C),c=C=>()=>{const S=t.formatter.get(C);return S!==void 0?_.some({tag:S.length>0&&(S[0].inline||S[0].block)||"div",styles:t.dom.parseStyle(t.formatter.getCssText(C))}):_.none()},i=mt([]),d=mt([]),g=mt(!1);return t.on("PreInit",C=>{const S=T5(t),E=tC(t,S,s,c);i.set(E)}),t.on("addStyleModifications",C=>{const S=tC(t,C.items,s,c);d.set(S),g.set(C.replace)}),{getData:()=>{const C=g.get()?[]:i.get(),S=d.get();return C.concat(S)}}},_5=t=>sr(t)&&t.nodeType===1,mz=vm.trim,rA=t=>s=>!!(_5(s)&&(s.contentEditable===t||s.getAttribute("data-mce-contenteditable")===t)),fz=rA("true"),gz=rA("false"),cA=(t,s,c,i,d)=>({type:t,title:s,url:c,level:i,attach:d}),Hj=t=>{let s=t;for(;s=s.parentNode;){const c=s.contentEditable;if(c&&c!=="inherit")return fz(s)}return!1},Vj=(t,s)=>Ee(ls(ee.fromDom(s),t),c=>c.dom),k5=t=>t.innerText||t.textContent,hz=t=>t.id?t.id:Xe("h"),pz=t=>t&&t.nodeName==="A"&&(t.id||t.name)!==void 0,O5=t=>pz(t)&&A5(t),RE=t=>t&&/^(H[1-6])$/.test(t.nodeName),A5=t=>Hj(t)&&!gz(t),bz=t=>RE(t)&&A5(t),R5=t=>RE(t)?parseInt(t.nodeName.substr(1),10):0,vz=t=>{var s;const c=hz(t),i=()=>{t.id=c};return cA("header",(s=k5(t))!==null&&s!==void 0?s:"","#"+c,R5(t),i)},yz=t=>{const s=t.id||t.name,c=k5(t);return cA("anchor",c||"#"+s,"#"+s,0,q)},Cz=t=>Ee(qn(t,bz),vz),Sz=t=>Ee(qn(t,O5),yz),aA=t=>Vj("h1,h2,h3,h4,h5,h6,a:not([href])",t),D5=t=>mz(t.title).length>0,wz={find:t=>{const s=aA(t);return qn(Cz(s).concat(Sz(s)),D5)}},DE="tinymce-url-history",M5=5,iA=t=>hn(t)&&/^https?/.test(t),xz=t=>Di(t)&&t.length<=M5&&du(t,iA),nC=t=>pa(t)&&Cr(t,s=>!xz(s)).isNone(),B5=()=>{const t=tg.getItem(DE);if(t===null)return{};let s;try{s=JSON.parse(t)}catch(c){if(c instanceof SyntaxError)return console.log("Local storage "+DE+" was not valid JSON",c),{};throw c}return nC(s)?s:(console.log("Local storage "+DE+" was not valid format",s),{})},ME=t=>{if(!nC(t))throw new Error(`Bad format for history: -`+JSON.stringify(t));tg.setItem(DE,JSON.stringify(t))},Ez=t=>{const s=B5();return We(s,t).getOr([])},lA=(t,s)=>{if(!iA(t))return;const c=B5(),i=We(c,s).getOr([]),d=qn(i,g=>g!==t);c[s]=[t].concat(d).slice(0,M5),ME(c)},Xb=t=>!!t,N5=t=>po(vm.makeMap(t,/[, ]/),Xb),uA=t=>_.from($4(t)),P5=t=>{const s=_.from(I4(t)).filter(Xb).map(N5);return uA(t).fold(Rn,c=>s.fold(vt,i=>ho(i).length>0?i:!1))},$5=(t,s)=>{const c=P5(t);return Sl(c)?c?uA(t):_.none():c[s]?uA(t):_.none()},I5=(t,s)=>$5(t,s).map(c=>i=>pr.nu(d=>{const g=(C,S)=>{if(!hn(C))throw new Error("Expected value to be string");if(S!==void 0&&!pa(S))throw new Error("Expected meta to be a object");d({value:C,meta:S})},p={filetype:s,fieldname:i.fieldname,..._.from(i.meta).getOr({})};c.call(t,g,i.value,p)})),F5=t=>_.from(t).filter(hn).getOrUndefined(),dA=t=>xM(t)?_.some({targets:wz.find(t.getBody()),anchorTop:F5(Ab(t)),anchorBottom:F5(EM(t))}):_.none(),BE=t=>_.from(sx(t)),Tz=t=>({getHistory:Ez,addToHistory:lA,getLinkInformation:()=>dA(t),getValidationHandler:()=>BE(t),getUrlPicker:s=>I5(t,s)}),_z=(t,s,c,i)=>{const d=mt(!1),g=br(s),p={icons:()=>s.ui.registry.getAll().icons,menuItems:()=>s.ui.registry.getAll().menuItems,translate:Wc.translate,isDisabled:()=>s.mode.isReadOnly()||!s.ui.isEnabled(),getOption:s.options.get},C=Tz(s),S=dz(s),E=w5(s),k=Lj(s),R=()=>d.get(),B=se=>d.set(se),P={shared:{providers:p,anchors:tz(s,c,i,g.isPositionedAtTop),header:g},urlinput:C,styles:S,colorinput:E,dialog:k,isContextMenuOpen:R,setContextMenuState:B},F={...P,shared:{...P.shared,interpreter:se=>j2(se,{},F),getSink:t.popup}},W={...P,shared:{...P.shared,interpreter:se=>j2(se,{},W),getSink:t.dialog}};return{popup:F,dialog:W}},Jb=(t,s,c)=>{const i=(me,De)=>{Ke([s,...c],$e=>{$e.broadcastEvent(me,De)})},d=(me,De)=>{Ke([s,...c],$e=>{$e.broadcastOn([me],De)})},g=me=>d(bi(),{target:me.target}),p=Jp(),C=fr(p,"touchstart",g),S=fr(p,"touchmove",me=>i(th(),me)),E=fr(p,"touchend",me=>i(i1(),me)),k=fr(p,"mousedown",g),R=fr(p,"mouseup",me=>{me.raw.button===0&&d(Ty(),{target:me.target})}),B=me=>d(bi(),{target:ee.fromDom(me.target)}),P=me=>{me.button===0&&d(Ty(),{target:ee.fromDom(me.target)})},F=()=>{Ke(t.editorManager.get(),me=>{t!==me&&me.dispatch("DismissPopups",{relatedTarget:t})})},W=me=>i(Zi(),ey(me)),se=me=>{d(em(),{}),i(ui(),ey(me))},K=ro(ee.fromDom(t.getElement())),j=L1(K,"scroll",me=>{requestAnimationFrame(()=>{const De=t.getContainer();if(De!=null){const Pt=og(t,s.element).map(tt=>[tt.element,...tt.others]).getOr([]);xc(Pt,tt=>$n(tt,me.target))&&(t.dispatch("ElementScroll",{target:me.target.dom}),i(u1(),me))}})}),re=()=>d(em(),{}),we=me=>{me.state&&d(bi(),{target:ee.fromDom(t.getContainer())})},he=me=>{d(bi(),{target:ee.fromDom(me.relatedTarget.getContainer())})};t.on("PostRender",()=>{t.on("click",B),t.on("tap",B),t.on("mouseup",P),t.on("mousedown",F),t.on("ScrollWindow",W),t.on("ResizeWindow",se),t.on("ResizeEditor",re),t.on("AfterProgressState",we),t.on("DismissPopups",he)}),t.on("remove",()=>{t.off("click",B),t.off("tap",B),t.off("mouseup",P),t.off("mousedown",F),t.off("ScrollWindow",W),t.off("ResizeWindow",se),t.off("ResizeEditor",re),t.off("AfterProgressState",we),t.off("DismissPopups",he),k.unbind(),C.unbind(),S.unbind(),E.unbind(),R.unbind(),j.unbind()}),t.on("detach",()=>{Ke([s,...c],Df),Ke([s,...c],me=>me.destroy())})},Cs=Bk,id=Cw,L5=Q([oe("shell",!1),ye("makeItem"),oe("setupItem",q),aa.field("listBehaviours",[kt])]),mA=Hr({name:"items",overrides:()=>({behaviours:Be([kt.config({})])})}),kz=Q([mA]),Oz=Q("CustomList"),Az=(t,s,c,i)=>{const d=(C,S)=>{p(C).fold(()=>{throw console.error("Custom List was defined to not be a shell, but no item container was specified in components"),new Error("Custom List was defined to not be a shell, but no item container was specified in components")},E=>{const k=kt.contents(E),R=S.length,B=R-k.length,P=B>0?Ho(B,()=>t.makeItem()):[],F=k.slice(R);Ke(F,se=>kt.remove(E,se)),Ke(P,se=>kt.append(E,se));const W=kt.contents(E);Ke(W,(se,K)=>{t.setupItem(C,se,S[K],K)})})},g=t.shell?{behaviours:[kt.config({})],components:[]}:{behaviours:[],components:s},p=C=>t.shell?_.some(C):Bn(C,t,"items");return{uid:t.uid,dom:t.dom,components:g.components,behaviours:Io(t.listBehaviours,g.behaviours),apis:{setItems:d}}},NE=er({name:Oz(),configFields:L5(),partFields:kz(),factory:Az,apis:{setItems:(t,s,c)=>{t.setItems(s,c)}}}),Qb=Q([ye("dom"),oe("shell",!0),Ko("toolbarBehaviours",[kt])]),Rz=Q([Hr({name:"groups",overrides:()=>({behaviours:Be([kt.config({})])})})]),Dz=(t,s,c,i)=>{const d=(C,S)=>{g(C).fold(()=>{throw console.error("Toolbar was defined to not be a shell, but no groups container was specified in components"),new Error("Toolbar was defined to not be a shell, but no groups container was specified in components")},E=>{kt.set(E,S)})},g=C=>t.shell?_.some(C):Bn(C,t,"groups"),p=t.shell?{behaviours:[kt.config({})],components:[]}:{behaviours:[],components:s};return{uid:t.uid,dom:t.dom,components:p.components,behaviours:Io(t.toolbarBehaviours,p.behaviours),apis:{setGroups:d,refresh:q},domModification:{attributes:{role:"group"}}}},au=er({name:"Toolbar",configFields:Qb(),partFields:Rz(),factory:Dz,apis:{setGroups:(t,s,c)=>{t.setGroups(s,c)}}}),Mz=q,Bz=Rn,fA=Q([]);var Nz=Object.freeze({__proto__:null,setup:Mz,isDocked:Bz,getBehaviours:fA});const Sp=t=>(Ec(Ns(t,"position"),"fixed")?_.none():A0(t)).orThunk(()=>{const i=ee.fromTag("span");return Ca(t).bind(d=>{Ac(d,i);const g=A0(i);return _a(i),g})}),V5=t=>Sp(t).map(wa).getOrThunk(()=>pn(0,0)),Pz=(t,s)=>{const c=t.element;Oo(c,s.transitionClass),oo(c,s.fadeOutClass),Oo(c,s.fadeInClass),s.onShow(t)},gA=(t,s)=>{const c=t.element;Oo(c,s.transitionClass),oo(c,s.fadeInClass),Oo(c,s.fadeOutClass),s.onHide(t)},z5=(t,s)=>t.ys.y,U5=(t,s)=>t.y>=s.y,W5=(t,s)=>t.bottom<=s.bottom,hA=(t,s,c)=>({location:"top",leftX:s,topY:c.bounds.y-t.y}),pA=(t,s,c)=>({location:"bottom",leftX:s,bottomY:t.bottom-c.bounds.bottom}),bA=t=>t.box.x-t.win.x,$z=(t,s,c)=>{const i=s.win,d=s.box,g=bA(s);return Bs(t,p=>{switch(p){case"bottom":return W5(d,c.bounds)?_.none():_.some(pA(i,g,c));case"top":return U5(d,c.bounds)?_.none():_.some(hA(i,g,c));default:return _.none()}}).getOr({location:"no-dock"})},Iz=(t,s,c)=>du(t,i=>{switch(i){case"bottom":return W5(s,c.bounds);case"top":return U5(s,c.bounds)}}),Fz=(t,s)=>{const c=s.optScrollEnv.fold(Q(t.bounds.y),i=>i.scrollElmTop+(t.bounds.y-i.currentScrollTop));return pn(t.bounds.x,c)},Lz=(t,s)=>{const c=s.optScrollEnv.fold(Q(t.y),i=>t.y+i.currentScrollTop-i.scrollElmTop);return pn(t.x,c)},Z5=(t,s,c)=>c.getInitialPos().map(i=>{const d=Fz(i,s);return{box:bo(d.left,d.top,gs(t),ts(t)),location:i.location}}),j5=(t,s,c,i,d)=>{const g=Lz(s,c),p=bo(g.left,g.top,s.width,s.height);i.setInitialPos({style:qs(t),position:Eo(t,"position")||"static",bounds:p,location:d.location})},G5=(t,s,c,i,d)=>{i.getInitialPos().fold(()=>j5(t,s,c,i,d),()=>q)},vA=(t,s,c)=>c.getInitialPos().bind(i=>{var d;switch(c.clearInitialPos(),i.position){case"static":return _.some({morph:"static"});case"absolute":const g=Sp(t).getOr(Gs()),p=To(g),C=(d=g.dom.scrollTop)!==null&&d!==void 0?d:0;return _.some({morph:"absolute",positionCss:Fc("absolute",We(i.style,"left").map(S=>s.x-p.x),We(i.style,"top").map(S=>s.y-p.y+C),We(i.style,"right").map(S=>p.right-s.right),We(i.style,"bottom").map(S=>p.bottom-s.bottom))});default:return _.none()}}),PE=(t,s,c)=>Z5(t,s,c).filter(({box:i})=>Iz(c.getModes(),i,s)).bind(({box:i})=>vA(t,i,c)),$E=t=>{switch(t.location){case"top":return _.some({morph:"fixed",positionCss:Fc("fixed",_.some(t.leftX),_.some(t.topY),_.none(),_.none())});case"bottom":return _.some({morph:"fixed",positionCss:Fc("fixed",_.some(t.leftX),_.none(),_.none(),_.some(t.bottomY))});default:return _.none()}},Hz=(t,s,c)=>{const i=To(t),d=ir(),g=$z(c.getModes(),{win:d,box:i},s);return g.location==="top"||g.location==="bottom"?(j5(t,i,s,c,g),$E(g)):_.none()},Vz=(t,s,c)=>PE(t,s,c).orThunk(()=>s.optScrollEnv.bind(i=>Z5(t,s,c)).bind(({box:i,location:d})=>{const g=ir(),p=bA({win:g,box:i}),C=d==="top"?hA(g,p,s):pA(g,p,s);return $E(C)})),zz=(t,s,c)=>{const i=t.element;return Ec(Ns(i,"position"),"fixed")?Vz(i,s,c):Hz(i,s,c)},Uz=(t,s,c)=>{const i=t.element;return Z5(i,s,c).bind(({box:d})=>vA(i,d,c))},Wz=(t,s,c,i)=>{const d=To(t),g=ir(),p=bA({win:g,box:d}),C=i(g,p,s);return C.location==="bottom"||C.location==="top"?(G5(t,d,s,c,C),$E(C)):_.none()},q5=(t,s,c)=>{c.setDocked(!1),Ke(["left","right","top","bottom","position"],i=>ln(t.element,i)),s.onUndocked(t)},yA=(t,s,c,i)=>{const d=i.position==="fixed";c.setDocked(d),DS(t.element,i),(d?s.onDocked:s.onUndocked)(t)},CA=(t,s,c,i,d=!1)=>{s.contextual.each(g=>{g.lazyContext(t).each(p=>{const C=z5(p,i.bounds);C!==c.isVisible()&&(c.setVisible(C),d&&!C?(ao(t.element,[g.fadeOutClass]),g.onHide(t)):(C?Pz:gA)(t,g))})})},SA=(t,s,c,i,d)=>{CA(t,s,c,i,!0),yA(t,s,c,d.positionCss)},Zz=(t,s,c,i,d)=>{switch(d.morph){case"static":return q5(t,s,c);case"absolute":return yA(t,s,c,d.positionCss);case"fixed":return SA(t,s,c,i,d)}},K5=(t,s,c)=>{const i=s.lazyViewport(t);CA(t,s,c,i),zz(t,i,c).each(d=>{Zz(t,s,c,i,d)})},jz=(t,s,c)=>{const i=t.element;c.setDocked(!1);const d=s.lazyViewport(t);Uz(t,d,c).each(g=>{switch(g.morph){case"static":{q5(t,s,c);break}case"absolute":{yA(t,s,c,g.positionCss);break}}}),c.setVisible(!0),s.contextual.each(g=>{Pc(i,[g.fadeInClass,g.fadeOutClass,g.transitionClass]),g.onShow(t)}),IE(t,s,c)},IE=(t,s,c)=>{t.getSystem().isConnected()&&K5(t,s,c)},Y5=(t,s,c)=>{c.isDocked()&&jz(t,s,c)},mg=t=>(s,c,i)=>{const d=c.lazyViewport(s);Wz(s.element,d,i,t).each(p=>{SA(s,c,i,d,p)})},X5=mg(hA),oC=mg(pA);var J5=Object.freeze({__proto__:null,refresh:IE,reset:Y5,isDocked:(t,s,c)=>c.isDocked(),getModes:(t,s,c)=>c.getModes(),setModes:(t,s,c,i)=>c.setModes(i),forceDockToTop:X5,forceDockToBottom:oC}),Kz=Object.freeze({__proto__:null,events:(t,s)=>In([ji($d(),(c,i)=>{t.contextual.each(d=>{qo(c.element,d.transitionClass)&&(Pc(c.element,[d.transitionClass,d.fadeInClass]),(s.isVisible()?d.onShown:d.onHidden)(c)),i.stop()})}),be(Zi(),(c,i)=>{IE(c,t,s)}),be(u1(),(c,i)=>{IE(c,t,s)}),be(ui(),(c,i)=>{Y5(c,t,s)})])}),Yz=[Br("contextual",[dn("fadeInClass"),dn("fadeOutClass"),dn("transitionClass"),ci("lazyContext"),Qt("onShow"),Qt("onShown"),Qt("onHide"),Qt("onHidden")]),ps("lazyViewport",()=>({bounds:ir(),optScrollEnv:_.none()})),Nr("modes",["top","bottom"],_s),Qt("onDocked"),Qt("onUndocked")],Xz=Object.freeze({__proto__:null,init:t=>{const s=mt(!1),c=mt(!0),i=Vt(),d=mt(t.modes),g=()=>`docked: ${s.get()}, visible: ${c.get()}, modes: ${d.get().join(",")}`;return dc({isDocked:s.get,setDocked:s.set,getInitialPos:i.get,setInitialPos:i.set,clearInitialPos:i.clear,isVisible:c.get,setVisible:c.set,getModes:d.get,setModes:d.set,readState:g})}});const Fo=is({fields:Yz,name:"docking",active:Kz,apis:J5,state:Xz}),fg=Q(Xe("toolbar-height-change")),Ua={fadeInClass:"tox-editor-dock-fadein",fadeOutClass:"tox-editor-dock-fadeout",transitionClass:"tox-editor-dock-transition"},FE="tox-tinymce--toolbar-sticky-on",Q5="tox-tinymce--toolbar-sticky-off",Jz=(t,s)=>{const c=kc(s),d=wd(s).dom.innerHeight,g=nc(c),p=ee.fromDom(t.elm),C=sa(p),S=ts(p),E=C.y,k=E+S,R=wa(s),B=ts(s),P=R.top,F=P+B,W=Math.abs(P-g.top)<2,se=Math.abs(F-(g.top+d))<2;if(W&&EP){const K=E-d+S+B;W0(g.left,K,c)}},e0=(t,s)=>So(Fo.getModes(t),s),xA=t=>{const s=i=>bu(i)+(parseInt(Eo(i,"margin-top"),10)||0)+(parseInt(Eo(i,"margin-bottom"),10)||0),c=t.element;qa(c).each(i=>{const d="padding-"+Fo.getModes(t)[0];if(Fo.isDocked(t)){const g=gs(i);Bt(c,"width",g+"px"),Bt(i,d,s(c)+"px")}else ln(c,"width"),ln(i,d)})},t0=(t,s)=>{s?(oo(t,Ua.fadeOutClass),ao(t,[Ua.transitionClass,Ua.fadeInClass])):(oo(t,Ua.fadeInClass),ao(t,[Ua.fadeOutClass,Ua.transitionClass]))},EA=(t,s)=>{const c=ee.fromDom(t.getContainer());s?(Oo(c,FE),oo(c,Q5)):(Oo(c,Q5),oo(c,FE))},Qz=(t,s)=>{const c=kc(s);el(c).filter(i=>!$n(s,i)).filter(i=>$n(i,ee.fromDom(c.dom.body))||oa(t,i)).each(()=>Fr(s))},e9=(t,s)=>Ba(t).orThunk(()=>s().toOptional().bind(c=>Ba(c.element))),t9=(t,s,c)=>{t.inline||(s.header.isPositionedAtTop()||t.on("ResizeEditor",()=>{c().each(Fo.reset)}),t.on("ResizeWindow ResizeEditor",()=>{c().each(xA)}),t.on("SkinLoaded",()=>{c().each(i=>{Fo.isDocked(i)?Fo.reset(i):Fo.refresh(i)})}),t.on("FullscreenStateChanged",()=>{c().each(Fo.reset)})),t.on("AfterScrollIntoView",i=>{c().each(d=>{Fo.refresh(d);const g=d.element;vb(g)&&Jz(i,g)})}),t.on("PostRender",()=>{EA(t,!1)})},n9=t=>t().map(Fo.isDocked).getOr(!1),o9=()=>[Ir.config({channels:{[fg()]:{onReceive:xA}}})],e$=(t,s)=>{const c=Vt(),i=s.getSink,d=C=>{i().each(S=>C(S.element))},g=C=>{t.inline||xA(C),EA(t,Fo.isDocked(C)),C.getSystem().broadcastOn([em()],{}),i().each(S=>S.getSystem().broadcastOn([em()],{}))},p=t.inline?[]:o9();return[yt.config({}),Fo.config({contextual:{lazyContext:C=>{const S=bu(C.element),E=t.inline?t.getContentAreaContainer():t.getContainer();return _.from(E).map(k=>{const R=To(ee.fromDom(k));return og(t,C.element).fold(()=>{const P=R.height-S,F=R.y+(e0(C,"top")?0:S);return bo(R.x,F,R.width,P)},P=>{const F=j0(R,$b(P)),W=e0(C,"top")?F.y:F.y+S;return bo(F.x,W,F.width,F.height-S)})})},onShow:()=>{d(C=>t0(C,!0))},onShown:C=>{d(S=>Pc(S,[Ua.transitionClass,Ua.fadeInClass])),c.get().each(S=>{Qz(C.element,S),c.clear()})},onHide:C=>{e9(C.element,i).fold(c.clear,c.set),d(S=>t0(S,!1))},onHidden:()=>{d(C=>Pc(C,[Ua.transitionClass]))},...Ua},lazyViewport:C=>og(t,C.element).fold(()=>{const E=ir(),k=P4(t),R=E.y+(e0(C,"top")?k:0),B=E.height-(e0(C,"bottom")?k:0);return{bounds:bo(E.x,R,E.width,B),optScrollEnv:_.none()}},E=>({bounds:$b(E),optScrollEnv:_.some({currentScrollTop:E.element.dom.scrollTop,scrollElmTop:wa(E.element).top})})),modes:[s.header.getDockingMode()],onDocked:g,onUndocked:g}),...p]};var t$=Object.freeze({__proto__:null,setup:t9,isDocked:n9,getBehaviours:e$});const n$=t=>{const s=t.editor,c=t.sticky?e$:fA;return{uid:t.uid,dom:t.dom,components:t.components,behaviours:Be(c(s,t.sharedBackstage))}},TA=rt([Wo,rc("items",Je([kl([Cx,Mc("items",_s)]),_s]))].concat(Mb)),s9=t=>co("GroupToolbarButton",TA,t),LE=[Is("text"),Is("tooltip"),Is("icon"),cc("search",!1,Je([si,rt([Is("placeholder")])],t=>Sl(t)?t?_.some({placeholder:_.none()}):_.none():_.some(t))),ci("fetch"),ps("onSetup",()=>q)],sC=rt([Wo,...LE]),_A=t=>co("menubutton",sC,t),r9=rt([Wo,wx,ua,Qf,ip,eB,Jf,ac("presets","normal",["normal","color","listpreview"]),r3(1),Xf,tB]),c9=t=>co("SplitButton",r9,t);var kA=bc({factory:(t,s)=>{const c=(d,g)=>{const p=Ee(g,C=>{const S={type:"menubutton",text:C.text,fetch:k=>{k(C.getItems())}},E=_A(S).mapError(k=>lr(k)).getOrDie();return W2(E,"tox-mbtn",s.backstage,_.some("menuitem"))});kt.set(d,p)},i={focus:lt.focusIn,setMenus:c};return{uid:t.uid,dom:t.dom,components:[],behaviours:Be([kt.config({}),Nt("menubar-events",[Mn(d=>{t.onSetup(d)}),be(Rl(),(d,g)=>{Ao(d.element,".tox-mbtn--active").each(p=>{mi(g.event.target,".tox-mbtn").each(C=>{$n(p,C)||d.getSystem().getByDom(p).each(S=>{d.getSystem().getByDom(C).each(E=>{_i.expand(E),_i.close(S),yt.focus(E)})})})})}),be(l1(),(d,g)=>{g.event.prevFocus.bind(p=>d.getSystem().getByDom(p).toOptional()).each(p=>{g.event.newFocus.bind(C=>d.getSystem().getByDom(C).toOptional()).each(C=>{_i.isOpen(p)&&(_i.expand(C),_i.close(p))})})})]),lt.config({mode:"flow",selector:".tox-mbtn",onEscape:d=>(t.onEscape(d),_.some(!0))}),Jn.config({})]),apis:i,domModification:{attributes:{role:"menubar"}}}},name:"silver.Menubar",configFields:[ye("dom"),ye("uid"),ye("onEscape"),ye("backstage"),oe("onSetup",q)],apis:{focus:(t,s)=>{t.focus(s)},setMenus:(t,s,c)=>{t.setMenus(s,c)}}});const OA="⚡️Upgrade",AA="https://www.tiny.cloud/tinymce-self-hosted-premium-features/?utm_campaign=self_hosted_upgrade_promo&utm_source=tiny&utm_medium=referral",a9=t=>({uid:t.uid,dom:t.dom,components:[{dom:{tag:"a",attributes:{href:AA,rel:"noopener",target:"_blank","aria-hidden":"true"},classes:["tox-promotion-link"],innerHtml:OA}}]}),HE="container",i9=[Ko("slotBehaviours",[])],o$=t=>"",l9=t=>{const s=(()=>{const g=[];return{slot:(C,S)=>(g.push(C),My(HE,o$(C),S)),record:Q(g)}})(),c=t(s),i=s.record(),d=Ee(i,g=>Qs({name:g,pname:o$(g)}));return Ly(HE,i9,d,u9,c)},u9=(t,s)=>{const c=W=>Py(t),i=(W,se)=>Bn(W,t,se),d=(W,se)=>(K,j)=>Bn(K,t,j).map(re=>W(re,j)).getOr(se),g=W=>(se,K)=>{Ke(K,j=>W(se,j))},p=(W,se)=>xo(W.element,"aria-hidden")!=="true",C=(W,se)=>{if(!p(W)){const K=W.element;ln(K,"display"),Po(K,"aria-hidden"),it(W,nh(),{name:se,visible:!0})}},S=(W,se)=>{if(p(W)){const K=W.element;Bt(K,"display","none"),Ze(K,"aria-hidden","true"),it(W,nh(),{name:se,visible:!1})}},E=d(p,!1),k=d(S),R=g(k),B=W=>R(W,c()),P=d(C),F={getSlotNames:c,getSlot:i,isShowing:E,hideSlot:k,hideAllSlots:B,showSlot:P};return{uid:t.uid,dom:t.dom,components:s,behaviours:jl(t.slotBehaviours),apis:F}},Zr={...po({getSlotNames:(t,s)=>t.getSlotNames(s),getSlot:(t,s,c)=>t.getSlot(s,c),isShowing:(t,s,c)=>t.isShowing(s,c),hideSlot:(t,s,c)=>t.hideSlot(s,c),hideAllSlots:(t,s)=>t.hideAllSlots(s),showSlot:(t,s,c)=>t.showSlot(s,c)},t=>zd(t)),sketch:l9},Gj=rt([ua,wx,ps("onShow",q),ps("onHide",q),Jf]),s$=t=>co("sidebar",Gj,t),d9=t=>{const{sidebars:s}=t.ui.registry.getAll();Ke(ho(s),c=>{const i=s[c],d=()=>Ec(_.from(t.queryCommandValue("ToggleSidebar")),c);t.ui.registry.addToggleButton(c,{icon:i.icon,tooltip:i.tooltip,onAction:g=>{t.execCommand("ToggleSidebar",!1,c),g.setActive(d())},onSetup:g=>{g.setActive(d());const p=()=>g.setActive(d());return t.on("ToggleSidebar",p),()=>{t.off("ToggleSidebar",p)}}})})},r$=t=>({element:()=>t.element.dom}),m9=(t,s)=>{const c=Ee(ho(s),i=>{const d=s[i],g=Dn(s$(d));return{name:i,getApi:r$,onSetup:g.onSetup,onShow:g.onShow,onHide:g.onHide}});return Ee(c,i=>{const d=mt(q);return t.slot(i.name,{dom:{tag:"div",classes:["tox-sidebar__pane"]},behaviours:b2.unnamedEvents([fm(i,d),ll(i,d),be(nh(),(g,p)=>{const C=p.event;_t(c,E=>E.name===C.name).each(E=>{(C.visible?E.onShow:E.onHide)(E.getApi(g))})})])})})},f9=t=>Zr.sketch(s=>({dom:{tag:"div",classes:["tox-sidebar__pane-container"]},components:m9(s,t),slotBehaviours:b2.unnamedEvents([Mn(c=>Zr.hideAllSlots(c))])})),g9=(t,s,c)=>{Zt.getCurrent(t).each(d=>{kt.set(d,[f9(s)]);const g=c==null?void 0:c.toLowerCase();hn(g)&&wn(s,g)&&Zt.getCurrent(d).each(p=>{Zr.showSlot(p,g),ma.immediateGrow(d),ln(d.element,"width"),VE(t.element,"region")})})},VE=(t,s)=>{Ze(t,"role",s)},h9=(t,s)=>{Zt.getCurrent(t).each(i=>{Zt.getCurrent(i).each(g=>{ma.hasGrown(i)?Zr.isShowing(g,s)?(ma.shrink(i),VE(t.element,"presentation")):(Zr.hideAllSlots(g),Zr.showSlot(g,s),VE(t.element,"region")):(Zr.hideAllSlots(g),Zr.showSlot(g,s),ma.grow(i),VE(t.element,"region"))})})},c$=t=>Zt.getCurrent(t).bind(c=>ma.isGrowing(c)||ma.hasGrown(c)?Zt.getCurrent(c).bind(g=>_t(Zr.getSlotNames(g),p=>Zr.isShowing(g,p))):_.none()),RA=Xe("FixSizeEvent"),DA=Xe("AutoSizeEvent"),p9=t=>({uid:t.uid,dom:{tag:"div",classes:["tox-sidebar"],attributes:{role:"presentation"}},components:[{dom:{tag:"div",classes:["tox-sidebar__slider"]},components:[],behaviours:Be([Jn.config({}),yt.config({}),ma.config({dimension:{property:"width"},closedClass:"tox-sidebar--sliding-closed",openClass:"tox-sidebar--sliding-open",shrinkingClass:"tox-sidebar--sliding-shrinking",growingClass:"tox-sidebar--sliding-growing",onShrunk:s=>{Zt.getCurrent(s).each(Zr.hideAllSlots),qt(s,DA)},onGrown:s=>{qt(s,DA)},onStartGrow:s=>{it(s,RA,{width:Ns(s.element,"width").getOr("")})},onStartShrink:s=>{it(s,RA,{width:gs(s.element)+"px"})}}),kt.config({}),Zt.config({find:s=>{const c=kt.contents(s);return Yr(c)}})])}],behaviours:Be([Kc.childAt(0),Nt("sidebar-sliding-events",[be(RA,(s,c)=>{Bt(s.element,"width",c.event.width)}),be(DA,(s,c)=>{ln(s.element,"width")})])])});var a$=Object.freeze({__proto__:null,block:(t,s,c,i)=>{Ze(t.element,"aria-busy",!0);const d=s.getRoot(t).getOr(t),g=Be([lt.config({mode:"special",onTab:()=>_.some(!0),onShiftTab:()=>_.some(!0)}),yt.config({})]),p=i(d,g),C=d.getSystem().build(p);kt.append(d,$c(C)),C.hasConfigured(lt)&&s.focus&<.focusIn(C),c.isBlocked()||s.onBlock(t),c.blockWith(()=>kt.remove(d,C))},unblock:(t,s,c)=>{Po(t.element,"aria-busy"),c.isBlocked()&&s.onUnblock(t),c.clear()},isBlocked:(t,s,c)=>c.isBlocked()}),v9=[ps("getRoot",_.none),ss("focus",!0),Qt("onBlock"),Qt("onUnblock")],Wa=Object.freeze({__proto__:null,init:()=>{const t=W_(),s=c=>{t.set({destroy:c})};return dc({readState:t.isSet,blockWith:s,clear:t.clear,isBlocked:t.isSet})}});const iu=is({fields:v9,name:"blocking",apis:a$,state:Wa}),i$=t=>(s,c)=>({dom:{tag:"div",attributes:{"aria-label":t.translate("Loading..."),tabindex:"0"},classes:["tox-throbber__busy-spinner"]},components:[{dom:im('
    ')}]}),MA=t=>Zt.getCurrent(t).each(s=>Fr(s.element,!0)),y9=(t,s)=>{const c="tabindex",i=`data-mce-${c}`;_.from(t.iframeElement).map(ee.fromDom).each(d=>{s?(Sr(d,c).each(g=>Ze(d,i,g)),Ze(d,c,-1)):(Po(d,c),Sr(d,i).each(g=>{Ze(d,c,g),Po(d,i)}))})},rC=(t,s,c,i)=>{const d=s.element;if(y9(t,c),c)iu.block(s,i$(i)),ln(d,"display"),Po(d,"aria-hidden"),t.hasFocus()&&MA(s);else{const g=Zt.getCurrent(s).exists(p=>yh(p.element));iu.unblock(s),Bt(d,"display","none"),Ze(d,"aria-hidden","true"),g&&t.focus()}},C9=t=>({uid:t.uid,dom:{tag:"div",attributes:{"aria-hidden":"true"},classes:["tox-throbber"],styles:{display:"none"}},behaviours:Be([kt.config({}),iu.config({focus:!1}),Zt.config({find:s=>Yr(s.components())})]),components:[]}),zE=t=>t.type==="focusin",S9=t=>zE(t)?(t.composed?Yr(t.composedPath()):_.from(t.target)).map(ee.fromDom).filter(Hn).exists(c=>qo(c,"mce-pastebin")):!1,UE=(t,s,c)=>{const i=mt(!1),d=Vt(),g=C=>{i.get()&&!S9(C)&&(C.preventDefault(),MA(s()),t.editorManager.setActive(t))};t.inline||t.on("PreInit",()=>{t.dom.bind(t.getWin(),"focusin",g),t.on("BeforeExecCommand",C=>{C.command.toLowerCase()==="mcefocus"&&C.value!==!0&&g(C)})});const p=C=>{C!==i.get()&&(i.set(C),rC(t,s(),C,c.providers),HB(t,C))};t.on("ProgressState",C=>{if(d.on(clearTimeout),Ga(C.time)){const S=sp.setEditorTimeout(t,()=>p(C.state),C.time);d.set(S)}else p(C.state),d.clear()})},w9=(t,s)=>eo(t,(d,g)=>s(g,d.len).fold(Q(d),C=>({len:C.finish,list:d.list.concat([C])})),{len:0,list:[]}).list,BA=(t,s,c)=>({within:t,extra:s,withinWidth:c}),Za=(t,s,c)=>{const i=w9(t,(C,S)=>{const E=c(C);return _.some({element:C,start:S,finish:S+E,width:E})}),d=qn(i,C=>C.finish<=s),g=Qo(d,(C,S)=>C+S.width,0),p=i.slice(d.length);return{within:d,extra:p,withinWidth:g}},WE=t=>Ee(t,s=>s.element),ZE=(t,s,c)=>{const i=WE(t.concat(s));return BA(i,[],c)},l$=(t,s,c,i)=>{const d=WE(t).concat([c]);return BA(d,WE(s),i)},u$=(t,s,c)=>BA(WE(t),[],c),x9=(t,s,c)=>{const i=Za(s,t,c);return i.extra.length===0?_.some(i):_.none()},d$=(t,s,c,i)=>{const d=x9(t,s,c).getOrThunk(()=>Za(s,t-c(i),c)),g=d.within,p=d.extra,C=d.withinWidth;return p.length===1&&p[0].width<=c(i)?ZE(g,p,C):p.length>=1?l$(g,p,i,C):u$(g,p,C)},m$=(t,s)=>{const c=Ee(s,i=>$c(i));au.setGroups(t,c)},E9=t=>Bs(t,s=>Ba(s.element).bind(c=>s.getSystem().getByDom(c).toOptional())),f$=(t,s,c)=>{const i=s.builtGroups.get();if(i.length===0)return;const d=ql(t,s,"primary"),g=Do.getCoupled(t,"overflowGroup");Bt(d.element,"visibility","hidden");const p=i.concat([g]),C=E9(p);c([]),m$(d,p);const S=gs(d.element),E=d$(S,s.builtGroups.get(),k=>gs(k.element),g);E.extra.length===0?(kt.remove(d,g),c([])):(m$(d,E.within),c(E.extra)),ln(d.element,"visibility"),Tl(d.element),C.each(yt.focus)},g$=Q([Ko("splitToolbarBehaviours",[Do]),_o("builtGroups",()=>mt([]))]),T9=Q([$u(["overflowToggledClass"]),Dd("getOverflowBounds"),ye("lazySink"),_o("overflowGroups",()=>mt([])),Qt("onOpened"),Qt("onClosed")].concat(g$())),_9=Q([Qs({factory:au,schema:Qb(),name:"primary"}),$a({schema:Qb(),name:"overflow"}),$a({name:"overflow-button"}),$a({name:"overflow-group"})]),NA=Q((t,s)=>{e_(t,Math.floor(s))}),h$=Q([$u(["toggledClass"]),ye("lazySink"),ci("fetch"),Dd("getBounds"),Br("fireDismissalEventInstead",[oe("event",Ru())]),Lu(),Qt("onToggled")]),p$=Q([$a({name:"button",overrides:t=>({dom:{attributes:{"aria-haspopup":"true"}},buttonBehaviours:Be([Ft.config({toggleClass:t.markers.toggledClass,aria:{mode:"expanded"},toggleOnExecute:!1,onToggled:t.onToggled})])})}),$a({factory:au,schema:Qb(),name:"toolbar",overrides:t=>({toolbarBehaviours:Be([lt.config({mode:"cyclic",onEscape:s=>(Bn(s,t,"button").each(yt.focus),_.none())})])})})]),cC=Vt(),k9=(t,s)=>{cC.set(!0),PA(t,s),cC.clear()},PA=(t,s)=>{const c=Do.getCoupled(t,"toolbarSandbox");Kt.isOpen(c)?Kt.close(c):Kt.open(c,s.toolbar())},jE=(t,s,c,i)=>{const d=c.getBounds.map(p=>p()),g=c.lazySink(t).getOrDie();Js.positionWithinBounds(g,s,{anchor:{type:"hotspot",hotspot:t,layouts:i,overrides:{maxWidthFunction:NA()}}},d)},$A=(t,s,c,i,d)=>{au.setGroups(s,d),jE(t,s,c,i),Ft.on(t)},b$=(t,s,c)=>{const i=Zd(),d=(p,C)=>{const S=cC.get().getOr(!1);c.fetch().get(E=>{$A(t,C,c,s.layouts,E),i.link(t.element),S||lt.focusIn(C)})},g=()=>{Ft.off(t),cC.get().getOr(!1)||yt.focus(t),i.unlink(t.element)};return{dom:{tag:"div",attributes:{id:i.id}},behaviours:Be([lt.config({mode:"special",onEscape:p=>(Kt.close(p),_.some(!0))}),Kt.config({onOpen:d,onClose:g,isPartOf:(p,C,S)=>Fl(C,S)||Fl(t,S),getAttachPoint:()=>c.lazySink(t).getOrDie()}),Ir.config({channels:{...$h({isExtraPart:Rn,...c.fireDismissalEventInstead.map(p=>({fireEventInstead:{event:p.event}})).getOr({})}),...Mf({doReposition:()=>{Kt.getState(Do.getCoupled(t,"toolbarSandbox")).each(p=>{jE(t,p,c,s.layouts)})}})}})])}},gg=er({name:"FloatingToolbarButton",factory:(t,s,c,i)=>({...Ds.sketch({...i.button(),action:d=>{PA(d,i)},buttonBehaviours:aa.augment({dump:i.button().buttonBehaviours},[Do.config({others:{toolbarSandbox:d=>b$(d,c,t)}})])}),apis:{setGroups:(d,g)=>{Kt.getState(Do.getCoupled(d,"toolbarSandbox")).each(p=>{$A(d,p,t,c.layouts,g)})},reposition:d=>{Kt.getState(Do.getCoupled(d,"toolbarSandbox")).each(g=>{jE(d,g,t,c.layouts)})},toggle:d=>{PA(d,i)},toggleWithoutFocusing:d=>{k9(d,i)},getToolbar:d=>Kt.getState(Do.getCoupled(d,"toolbarSandbox")),isOpen:d=>Kt.isOpen(Do.getCoupled(d,"toolbarSandbox"))}}),configFields:h$(),partFields:p$(),apis:{setGroups:(t,s,c)=>{t.setGroups(s,c)},reposition:(t,s)=>{t.reposition(s)},toggle:(t,s)=>{t.toggle(s)},toggleWithoutFocusing:(t,s)=>{t.toggleWithoutFocusing(s)},getToolbar:(t,s)=>t.getToolbar(s),isOpen:(t,s)=>t.isOpen(s)}}),O9=Q([ye("items"),$u(["itemSelector"]),Ko("tgroupBehaviours",[lt])]),v$=Q([Zh({name:"items",unit:"item"})]),A9=(t,s,c,i)=>({uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.tgroupBehaviours,[lt.config({mode:"flow",selector:t.markers.itemSelector})]),domModification:{attributes:{role:"toolbar"}}}),GE=er({name:"ToolbarGroup",configFields:O9(),partFields:v$(),factory:A9}),y$=t=>Ee(t,s=>$c(s)),C$=(t,s,c)=>{f$(t,c,i=>{c.overflowGroups.set(i),s.getOpt(t).each(d=>{gg.setGroups(d,y$(i))})})},R9=(t,s,c,i)=>{const d=Cn(gg.sketch({fetch:()=>pr.nu(g=>{g(y$(t.overflowGroups.get()))}),layouts:{onLtr:()=>[Vs,cs],onRtl:()=>[cs,Vs],onBottomLtr:()=>[Xs,_r],onBottomRtl:()=>[_r,Xs]},getBounds:c.getOverflowBounds,lazySink:t.lazySink,fireDismissalEventInstead:{},markers:{toggledClass:t.markers.overflowToggledClass},parts:{button:i["overflow-button"](),toolbar:i.overflow()},onToggled:(g,p)=>t[p?"onOpened":"onClosed"](g)}));return{uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.splitToolbarBehaviours,[Do.config({others:{overflowGroup:()=>GE.sketch({...i["overflow-group"](),items:[d.asSpec()]})}})]),apis:{setGroups:(g,p)=>{t.builtGroups.set(Ee(p,g.getSystem().build)),C$(g,d,t)},refresh:g=>C$(g,d,t),toggle:g=>{d.getOpt(g).each(p=>{gg.toggle(p)})},toggleWithoutFocusing:g=>{d.getOpt(g).each(gg.toggleWithoutFocusing)},isOpen:g=>d.getOpt(g).map(gg.isOpen).getOr(!1),reposition:g=>{d.getOpt(g).each(p=>{gg.reposition(p)})},getOverflow:g=>d.getOpt(g).bind(gg.getToolbar)},domModification:{attributes:{role:"group"}}}},S$=er({name:"SplitFloatingToolbar",configFields:T9(),partFields:_9(),factory:R9,apis:{setGroups:(t,s,c)=>{t.setGroups(s,c)},refresh:(t,s)=>{t.refresh(s)},reposition:(t,s)=>{t.reposition(s)},toggle:(t,s)=>{t.toggle(s)},toggleWithoutFocusing:(t,s)=>{t.toggle(s)},isOpen:(t,s)=>t.isOpen(s),getOverflow:(t,s)=>t.getOverflow(s)}}),D9=Q([$u(["closedClass","openClass","shrinkingClass","growingClass","overflowToggledClass"]),Qt("onOpened"),Qt("onClosed")].concat(g$())),M9=Q([Qs({factory:au,schema:Qb(),name:"primary"}),Qs({factory:au,schema:Qb(),name:"overflow",overrides:t=>({toolbarBehaviours:Be([ma.config({dimension:{property:"height"},closedClass:t.markers.closedClass,openClass:t.markers.openClass,shrinkingClass:t.markers.shrinkingClass,growingClass:t.markers.growingClass,onShrunk:s=>{Bn(s,t,"overflow-button").each(c=>{Ft.off(c),yt.focus(c)}),t.onClosed(s)},onGrown:s=>{lt.focusIn(s),t.onOpened(s)},onStartGrow:s=>{Bn(s,t,"overflow-button").each(Ft.on)}}),lt.config({mode:"acyclic",onEscape:s=>(Bn(s,t,"overflow-button").each(yt.focus),_.some(!0))})])})}),$a({name:"overflow-button",overrides:t=>({buttonBehaviours:Be([Ft.config({toggleClass:t.markers.overflowToggledClass,aria:{mode:"pressed"},toggleOnExecute:!1})])})}),$a({name:"overflow-group"})]),B9=(t,s)=>Bn(t,s,"overflow").map(ma.hasGrown).getOr(!1),w$=(t,s)=>{Bn(t,s,"overflow-button").bind(()=>Bn(t,s,"overflow")).each(c=>{qE(t,s),ma.toggleGrow(c)})},qE=(t,s)=>{Bn(t,s,"overflow").each(c=>{f$(t,s,i=>{const d=Ee(i,g=>$c(g));au.setGroups(c,d)}),Bn(t,s,"overflow-button").each(i=>{ma.hasGrown(c)&&Ft.on(i)}),ma.refresh(c)})},N9=(t,s,c,i)=>{const d="alloy.toolbar.toggle",g=(p,C)=>{const S=Ee(C,p.getSystem().build);t.builtGroups.set(S)};return{uid:t.uid,dom:t.dom,components:s,behaviours:Io(t.splitToolbarBehaviours,[Do.config({others:{overflowGroup:p=>GE.sketch({...i["overflow-group"](),items:[Ds.sketch({...i["overflow-button"](),action:C=>{qt(p,d)}})]})}}),Nt("toolbar-toggle-events",[be(d,p=>{w$(p,t)})])]),apis:{setGroups:(p,C)=>{g(p,C),qE(p,t)},refresh:p=>qE(p,t),toggle:p=>w$(p,t),isOpen:p=>B9(p,t)},domModification:{attributes:{role:"group"}}}},IA=er({name:"SplitSlidingToolbar",configFields:D9(),partFields:M9(),factory:N9,apis:{setGroups:(t,s,c)=>{t.setGroups(s,c)},refresh:(t,s)=>{t.refresh(s)},toggle:(t,s)=>{t.toggle(s)},isOpen:(t,s)=>t.isOpen(s)}}),KE=t=>{const s=t.title.fold(()=>({}),c=>({attributes:{title:c}}));return{dom:{tag:"div",classes:["tox-toolbar__group"],...s},components:[GE.parts.items({})],items:t.items,markers:{itemSelector:"*:not(.tox-split-button) > .tox-tbtn:not([disabled]), .tox-split-button:not([disabled]), .tox-toolbar-nav-js:not([disabled]), .tox-number-input:not([disabled])"},tgroupBehaviours:Be([Jn.config({}),yt.config({})])}},YE=t=>GE.sketch(KE(t)),aC=(t,s)=>{const c=Mn(i=>{const d=Ee(t.initGroups,YE);au.setGroups(i,d)});return Be([Ha.toolbarButton(t.providers.isDisabled),bs(),lt.config({mode:s,onEscape:t.onEscape,selector:".tox-toolbar__group"}),Nt("toolbar-events",[c])])},x$=t=>{const s=t.cyclicKeying?"cyclic":"acyclic";return{uid:t.uid,dom:{tag:"div",classes:["tox-toolbar-overlord"]},parts:{"overflow-group":KE({title:_.none(),items:[]}),"overflow-button":NV({name:"more",icon:_.some("more-drawer"),enabled:!0,tooltip:_.some("Reveal or hide additional toolbar items"),primary:!1,buttonType:_.none(),borderless:!1},_.none(),t.providers)},splitToolbarBehaviours:aC(t,s)}},E$=t=>{const s=x$(t),c=4,i=S$.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}});return S$.sketch({...s,lazySink:t.getSink,getOverflowBounds:()=>{const d=t.moreDrawerData.lazyHeader().element,g=sa(d),p=Zp(d),C=sa(p),S=Math.max(p.dom.scrollHeight,C.height);return bo(g.x+c,C.y,g.width-c*2,S)},parts:{...s.parts,overflow:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:t.attributes}}},components:[i],markers:{overflowToggledClass:"tox-tbtn--enabled"},onOpened:d=>t.onToggled(d,!0),onClosed:d=>t.onToggled(d,!1)})},P9=t=>{const s=IA.parts.primary({dom:{tag:"div",classes:["tox-toolbar__primary"]}}),c=IA.parts.overflow({dom:{tag:"div",classes:["tox-toolbar__overflow"]}}),i=x$(t);return IA.sketch({...i,components:[s,c],markers:{openClass:"tox-toolbar__overflow--open",closedClass:"tox-toolbar__overflow--closed",growingClass:"tox-toolbar__overflow--growing",shrinkingClass:"tox-toolbar__overflow--shrinking",overflowToggledClass:"tox-tbtn--enabled"},onOpened:d=>{d.getSystem().broadcastOn([fg()],{type:"opened"}),t.onToggled(d,!0)},onClosed:d=>{d.getSystem().broadcastOn([fg()],{type:"closed"}),t.onToggled(d,!1)}})},XE=t=>{const s=t.cyclicKeying?"cyclic":"acyclic";return au.sketch({uid:t.uid,dom:{tag:"div",classes:["tox-toolbar"].concat(t.type===wi.scrolling?["tox-toolbar--scrolling"]:[])},components:[au.parts.groups({})],toolbarBehaviours:aC(t,s)})},$9=[Qf,ua,Is("tooltip"),ac("buttonType","secondary",["primary","secondary"]),ss("borderless",!1),ci("onAction")],I9=[...$9,td,ri("type",["button"])],F9=[...$9,ss("active",!1),ri("type",["togglebutton"])],JE={button:I9,togglebutton:F9},L9=[ri("type",["group"]),Nr("buttons",[],Jt("type",JE))],QE=Jt("type",{...JE,group:L9}),T$=rt([Nr("buttons",[],QE),ci("onShow"),ci("onHide")]),_$=t=>co("view",T$,t),FA=(t,s)=>{var c,i;const d=t.type==="togglebutton",g=t.icon.map(re=>lg(re,s.icons)).map(Cn),C=(()=>re=>{const we=De=>{g.map($e=>$e.getOpt(re).each(Pt=>{kt.set(Pt,[lg(De,s.icons)])}))},he=De=>{const $e=re.element;De?(Oo($e,"tox-button--enabled"),Ze($e,"aria-pressed",!0)):(oo($e,"tox-button--enabled"),Po($e,"aria-pressed"))},me=()=>qo(re.element,"tox-button--enabled");if(d)return t.onAction({setIcon:we,setActive:he,isActive:me});if(t.type==="button")return t.onAction({setIcon:we})})(),S={...t,name:d?t.text.getOr(t.icon.getOr("")):(c=t.text)!==null&&c!==void 0?c:t.icon.getOr(""),primary:t.buttonType==="primary",buttonType:_.from(t.buttonType),tooltip:t.tooltip,icon:t.icon,enabled:!0,borderless:t.borderless},E=XO((i=t.buttonType)!==null&&i!==void 0?i:"secondary"),k=d?t.text.map(s.translate):_.some(s.translate(t.text)),R=k.map(vo),B=S.tooltip.or(k).map(re=>({"aria-label":s.translate(re),title:s.translate(re)})).getOr({}),P=g.map(re=>re.asSpec()),F=dp([P,R]),W=t.icon.isSome()&&R.isSome(),se={tag:"button",classes:E.concat(...t.icon.isSome()&&!W?["tox-button--icon"]:[]).concat(...W?["tox-button--icon-and-text"]:[]).concat(...t.borderless?["tox-button--naked"]:[]).concat(...t.type==="togglebutton"&&t.active?["tox-button--enabled"]:[]),attributes:B},K=[],j=_E(S,_.some(C),K,se,F,s);return Ds.sketch(j)},k$=(t,s)=>FA(t,s),O$=(t,s)=>({dom:{tag:"div",classes:["tox-view__toolbar__group"]},components:Ee(t.buttons,c=>k$(c,s))}),wp=Pi().deviceType,A$=wp.isPhone(),H9=wp.isTablet(),V9=t=>{let s=!1;const c=Ee(t.buttons,i=>i.type==="group"?(s=!0,O$(i,t.providers)):k$(i,t.providers));return{uid:t.uid,dom:{tag:"div",classes:[s?"tox-view__toolbar":"tox-view__header",...A$||H9?["tox-view--mobile","tox-view--scrolling"]:[]]},behaviours:Be([yt.config({}),lt.config({mode:"flow",selector:"button, .tox-button",focusInside:h.OnEnterOrSpaceMode})]),components:s?c:[ou.sketch({dom:{tag:"div",classes:["tox-view__header-start"]},components:[]}),ou.sketch({dom:{tag:"div",classes:["tox-view__header-end"]},components:c})]}},z9=t=>({uid:t.uid,dom:{tag:"div",classes:["tox-view__pane"]}}),LA=(t,s,c,i)=>{const d={getPane:g=>Cs.getPart(g,t,"pane"),getOnShow:g=>t.viewConfig.onShow,getOnHide:g=>t.viewConfig.onHide};return{uid:t.uid,dom:t.dom,components:s,apis:d}};var n0=er({name:"silver.View",configFields:[ye("viewConfig")],partFields:[Hr({factory:{sketch:V9},schema:[ye("buttons"),ye("providers")],name:"header"}),Hr({factory:{sketch:z9},schema:[],name:"pane"})],factory:LA,apis:{getPane:(t,s)=>t.getPane(s),getOnShow:(t,s)=>t.getOnShow(s),getOnHide:(t,s)=>t.getOnHide(s)}});const U9=(t,s,c)=>Vp(s,(i,d)=>{const g=Dn(_$(i));return t.slot(d,n0.sketch({dom:{tag:"div",classes:["tox-view"]},viewConfig:g,components:[...g.buttons.length>0?[n0.parts.header({buttons:g.buttons,providers:c})]:[],n0.parts.pane({})]}))}),R$=(t,s)=>Zr.sketch(c=>({dom:{tag:"div",classes:["tox-view-wrap__slot-container"]},components:U9(c,t,s),slotBehaviours:b2.unnamedEvents([Mn(i=>Zr.hideAllSlots(i))])})),HA=t=>_t(Zr.getSlotNames(t),s=>Zr.isShowing(t,s)),eT=t=>{const s=t.element;Bt(s,"display","none"),Ze(s,"aria-hidden","true")},VA=t=>{const s=t.element;ln(s,"display"),Po(s,"aria-hidden")},W9=t=>({getContainer:Q(t)}),D$=(t,s,c)=>{Zr.getSlot(t,s).each(i=>{n0.getPane(i).each(d=>{c(i)(W9(d.element.dom))})})},M$=(t,s)=>D$(t,s,n0.getOnShow),Z9=(t,s)=>D$(t,s,n0.getOnHide);var tT=bc({factory:(t,s)=>{const g={setViews:(p,C)=>{kt.set(p,[R$(C,s.backstage.shared.providers)])},whichView:p=>Zt.getCurrent(p).bind(HA),toggleView:(p,C,S,E)=>Zt.getCurrent(p).exists(k=>{const R=HA(k),B=R.exists(F=>E===F),P=Zr.getSlot(k,E).isSome();return P&&(Zr.hideAllSlots(k),B?(eT(p),C()):(S(),VA(p),Zr.showSlot(k,E),M$(k,E)),R.each(F=>Z9(k,F))),P})};return{uid:t.uid,dom:{tag:"div",classes:["tox-view-wrap"],attributes:{"aria-hidden":"true"},styles:{display:"none"}},components:[],behaviours:Be([kt.config({}),Zt.config({find:p=>{const C=kt.contents(p);return Yr(C)}})]),apis:g}},name:"silver.ViewWrapper",configFields:[ye("backstage")],apis:{setViews:(t,s,c)=>t.setViews(s,c),toggleView:(t,s,c,i,d)=>t.toggleView(s,c,i,d),whichView:(t,s)=>t.whichView(s)}});const B$=(t,s,c)=>{let i=!1;const d={getSocket:g=>Cs.getPart(g,t,"socket"),setSidebar:(g,p,C)=>{Cs.getPart(g,t,"sidebar").each(S=>g9(S,p,C))},toggleSidebar:(g,p)=>{Cs.getPart(g,t,"sidebar").each(C=>h9(C,p))},whichSidebar:g=>Cs.getPart(g,t,"sidebar").bind(c$).getOrNull(),getHeader:g=>Cs.getPart(g,t,"header"),getToolbar:g=>Cs.getPart(g,t,"toolbar"),setToolbar:(g,p)=>{Cs.getPart(g,t,"toolbar").each(C=>{const S=Ee(p,YE);C.getApis().setGroups(C,S)})},setToolbars:(g,p)=>{Cs.getPart(g,t,"multiple-toolbar").each(C=>{const S=Ee(p,E=>Ee(E,YE));NE.setItems(C,S)})},refreshToolbar:g=>{Cs.getPart(g,t,"toolbar").each(C=>C.getApis().refresh(C))},toggleToolbarDrawer:g=>{Cs.getPart(g,t,"toolbar").each(p=>{Kn(p.getApis().toggle,C=>C(p))})},toggleToolbarDrawerWithoutFocusing:g=>{Cs.getPart(g,t,"toolbar").each(p=>{Kn(p.getApis().toggleWithoutFocusing,C=>C(p))})},isToolbarDrawerToggled:g=>Cs.getPart(g,t,"toolbar").bind(p=>_.from(p.getApis().isOpen).map(C=>C(p))).getOr(!1),getThrobber:g=>Cs.getPart(g,t,"throbber"),focusToolbar:g=>{Cs.getPart(g,t,"toolbar").orThunk(()=>Cs.getPart(g,t,"multiple-toolbar")).each(C=>{lt.focusIn(C)})},setMenubar:(g,p)=>{Cs.getPart(g,t,"menubar").each(C=>{kA.setMenus(C,p)})},focusMenubar:g=>{Cs.getPart(g,t,"menubar").each(p=>{kA.focus(p)})},setViews:(g,p)=>{Cs.getPart(g,t,"viewWrapper").each(C=>{tT.setViews(C,p)})},toggleView:(g,p)=>Cs.getPart(g,t,"viewWrapper").exists(C=>tT.toggleView(C,()=>d.showMainView(g),()=>d.hideMainView(g),p)),whichView:g=>Cs.getPart(g,t,"viewWrapper").bind(tT.whichView).getOrNull(),hideMainView:g=>{i=d.isToolbarDrawerToggled(g),i&&d.toggleToolbarDrawer(g),Cs.getPart(g,t,"editorContainer").each(p=>{const C=p.element;Bt(C,"display","none"),Ze(C,"aria-hidden","true")})},showMainView:g=>{i&&d.toggleToolbarDrawer(g),Cs.getPart(g,t,"editorContainer").each(p=>{const C=p.element;ln(C,"display"),Po(C,"aria-hidden")})}};return{uid:t.uid,dom:t.dom,components:s,apis:d,behaviours:t.behaviours}},j9=id.optional({factory:kA,name:"menubar",schema:[ye("backstage")]}),G9=t=>t.type===wi.sliding?P9:t.type===wi.floating?E$:XE,zA=id.optional({factory:{sketch:t=>NE.sketch({uid:t.uid,dom:t.dom,listBehaviours:Be([lt.config({mode:"acyclic",selector:".tox-toolbar"})]),makeItem:()=>XE({type:t.type,uid:Xe("multiple-toolbar-item"),cyclicKeying:!1,initGroups:[],providers:t.providers,onEscape:()=>(t.onEscape(),_.some(!0))}),setupItem:(s,c,i,d)=>{au.setGroups(c,i)},shell:!0})},name:"multiple-toolbar",schema:[ye("dom"),ye("onEscape")]}),q9=id.optional({factory:{sketch:t=>{const s=G9(t),c={type:t.type,uid:t.uid,onEscape:()=>(t.onEscape(),_.some(!0)),onToggled:(i,d)=>t.onToolbarToggled(d),cyclicKeying:!1,initGroups:[],getSink:t.getSink,providers:t.providers,moreDrawerData:{lazyToolbar:t.lazyToolbar,lazyMoreButton:t.lazyMoreButton,lazyHeader:t.lazyHeader},attributes:t.attributes};return s(c)}},name:"toolbar",schema:[ye("dom"),ye("onEscape"),ye("getSink")]}),K9=id.optional({factory:{sketch:n$},name:"header",schema:[ye("dom")]}),N$=id.optional({factory:{sketch:a9},name:"promotion",schema:[ye("dom")]}),Y9=id.optional({name:"socket",schema:[ye("dom")]}),P$=id.optional({factory:{sketch:p9},name:"sidebar",schema:[ye("dom")]}),X9=id.optional({factory:{sketch:C9},name:"throbber",schema:[ye("dom")]}),$$=id.optional({factory:tT,name:"viewWrapper",schema:[ye("backstage")]}),J9=t=>({uid:t.uid,dom:{tag:"div",classes:["tox-editor-container"]},components:t.components}),Q9=id.optional({factory:{sketch:J9},name:"editorContainer",schema:[]});var Wn=er({name:"OuterContainer",factory:B$,configFields:[ye("dom"),ye("behaviours")],partFields:[K9,j9,q9,zA,Y9,P$,N$,X9,$$,Q9],apis:{getSocket:(t,s)=>t.getSocket(s),setSidebar:(t,s,c,i)=>{t.setSidebar(s,c,i)},toggleSidebar:(t,s,c)=>{t.toggleSidebar(s,c)},whichSidebar:(t,s)=>t.whichSidebar(s),getHeader:(t,s)=>t.getHeader(s),getToolbar:(t,s)=>t.getToolbar(s),setToolbar:(t,s,c)=>{t.setToolbar(s,c)},setToolbars:(t,s,c)=>{t.setToolbars(s,c)},refreshToolbar:(t,s)=>t.refreshToolbar(s),toggleToolbarDrawer:(t,s)=>{t.toggleToolbarDrawer(s)},toggleToolbarDrawerWithoutFocusing:(t,s)=>{t.toggleToolbarDrawerWithoutFocusing(s)},isToolbarDrawerToggled:(t,s)=>t.isToolbarDrawerToggled(s),getThrobber:(t,s)=>t.getThrobber(s),setMenubar:(t,s,c)=>{t.setMenubar(s,c)},focusMenubar:(t,s)=>{t.focusMenubar(s)},focusToolbar:(t,s)=>{t.focusToolbar(s)},setViews:(t,s,c)=>{t.setViews(s,c)},toggleView:(t,s,c)=>t.toggleView(s,c),whichView:(t,s)=>t.whichView(s)}});const I$="file edit view insert format tools table help",F$={file:{title:"File",items:"newdocument restoredraft | preview | export print | deleteallconversations"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall | searchreplace"},view:{title:"View",items:"code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments"},insert:{title:"Insert",items:"image link media addcomment pageembed template inserttemplate codesample inserttable accordion | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents footnotes | mergetags | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat"},tools:{title:"Tools",items:"aidialog aishortcuts | spellchecker spellcheckerlanguage | autocorrect capitalization | a11ycheck code typography wordcount addtemplate"},table:{title:"Table",items:"inserttable | cell row column | advtablesort | tableprops deletetable"},help:{title:"Help",items:"help"}},eU=(t,s,c)=>{const i=qf(c).split(/[ ,]/);return{text:t.title,getItems:()=>ge(t.items,d=>{const g=d.toLowerCase();return g.trim().length===0?[]:xc(i,p=>p===g)?[]:g==="separator"||g==="|"?[{type:"separator"}]:s.menuItems[g]?[s.menuItems[g]]:[]})}},UA=t=>t.split(" "),nT=(t,s)=>{const c={...F$,...s.menus},i=ho(s.menus).length>0,d=s.menubar===void 0||s.menubar===!0?UA(I$):UA(s.menubar===!1?"":s.menubar),g=qn(d,C=>{const S=wn(F$,C);return i?S||We(s.menus,C).exists(E=>wn(E,"items")):S}),p=Ee(g,C=>{const S=c[C];return eU({title:S.title,items:UA(S.items)},s,t)});return qn(p,C=>{const S=E=>hn(E)||E.type!=="separator";return C.getItems().length>0&&xc(C.getItems(),S)})},WA=t=>{const s=()=>{t._skinLoaded=!0,a8(t)};return()=>{t.initialized?s():t.on("init",s)}},tU=(t,s)=>()=>E3(t,{message:s}),L$=(t,s,c)=>(t.on("remove",()=>c.unload(s)),c.load(s)),ZA=(t,s,c,i)=>(t.on("remove",()=>i.unloadRawCss(s)),i.loadRawCss(s,c)),nU=async(t,s)=>{const i="ui/"+dx(t).getOr("default")+"/skin.css",d=tinymce.Resource.get(i);if(hn(d))return Promise.resolve(ZA(t,i,d,t.ui.styleSheetLoader));{const g=s+"/skin.min.css";return L$(t,g,t.ui.styleSheetLoader)}},oU=async(t,s)=>{if(XT(ee.fromDom(t.getElement()))){const d="ui/"+dx(t).getOr("default")+"/skin.shadowdom.css",g=tinymce.Resource.get(d);if(hn(g))return ZA(t,d,g,_b.DOM.styleSheetLoader),Promise.resolve();{const p=s+"/skin.shadowdom.min.css";return L$(t,p,_b.DOM.styleSheetLoader)}}},sU=async(t,s)=>{dx(s).fold(()=>{const i=ux(s);i&&s.contentCSS.push(i+(t?"/content.inline":"/content")+".min.css")},i=>{const d="ui/"+i+(t?"/content.inline":"/content")+".css",g=tinymce.Resource.get(d);if(hn(g))ZA(s,d,g,s.ui.styleSheetLoader);else{const p=ux(s);p&&s.contentCSS.push(p+(t?"/content.inline":"/content")+".min.css")}});const c=ux(s);if(!L4(s)&&hn(c))return Promise.all([nU(s,c),oU(s,c)]).then()},H$=(t,s)=>sU(t,s).then(WA(s),tU(s,"Skin could not be loaded")),rU=an(H$,!1),cU=an(H$,!0),xp=(t,s,c)=>t.translate([s,t.translate(c)]),oT=(t,s)=>{const c=(p,C,S,E)=>{const k=t.shared.providers.translate(p.title);if(p.type==="separator")return _.some({type:"separator",text:k});if(p.type==="submenu"){const R=ge(p.getStyleItems(),B=>i(B,C,E));return C===0&&R.length<=0?_.none():_.some({type:"nestedmenuitem",text:k,enabled:R.length>0,getSubmenuItems:()=>ge(p.getStyleItems(),B=>i(B,C,E))})}else return _.some({type:"togglemenuitem",text:k,icon:p.icon,active:p.isSelected(E),enabled:!S,onAction:s.onAction(p),...p.getStylePreview().fold(()=>({}),R=>({meta:{style:R}}))})},i=(p,C,S)=>{const E=p.type==="formatter"&&s.isInvalid(p);return C===0?E?[]:c(p,C,!1,S).toArray():c(p,C,E,S).toArray()},d=p=>{const C=s.getCurrentValue(),S=s.shouldHide?0:1;return ge(p,E=>i(E,S,C))};return{validateItems:d,getFetch:(p,C)=>(S,E)=>{const k=C(),R=d(k),B=Gb(R,tu.CLOSE_ON_EXECUTE,p,{isHorizontalMenu:!1,search:_.none()});E(B)}}},hg=(t,s,c)=>{const i=c.dataset,d=i.type==="basic"?()=>Ee(i.data,g=>sA(g,c.isSelectedFor,c.getPreviewFor)):i.getData;return{items:oT(s,c),getStyleItems:d}},o0=(t,s,c,i,d)=>{const{items:g,getStyleItems:p}=hg(t,s,c),C=E=>({getComponent:Q(E),setTooltip:k=>{const R=s.shared.providers.translate(k);$g(E.element,{"aria-label":R,title:R})}}),S=E=>{const k=R=>E.setTooltip(xp(t,i,R.value));return t.on(d,k),x2(ul(t,"NodeChange",R=>{const B=R.getComponent();c.updateText(B),bt.set(R.getComponent(),!t.selection.isEditable())})(E),()=>t.off(d,k))};return $O({text:c.icon.isSome()?_.none():c.text,icon:c.icon,tooltip:_.from(c.tooltip),role:_.none(),fetch:g.getFetch(s,p),onSetup:S,getApi:C,columns:1,presets:"normal",classes:c.icon.isSome()?[]:["bespoke"],dropdownBehaviours:[]},"tox-tbtn",s.shared)},pg=t=>Ee(t,s=>{let c=s,i=s;const d=s.split("=");return d.length>1&&(c=d[0],i=d[1]),{title:c,format:i}}),V$=t=>({type:"basic",data:t});var s0;(function(t){t[t.SemiColon=0]="SemiColon",t[t.Space=1]="Space"})(s0||(s0={}));const aU=(t,s)=>s===s0.SemiColon?t.replace(/;$/,"").split(";"):t.split(" "),jA=(t,s,c)=>{const i=t.options.get(s);return{type:"basic",data:pg(aU(i,c))}},iU="Align",z$="Alignment {0}",U$="left",GA=[{title:"Left",icon:"align-left",format:"alignleft",command:"JustifyLeft"},{title:"Center",icon:"align-center",format:"aligncenter",command:"JustifyCenter"},{title:"Right",icon:"align-right",format:"alignright",command:"JustifyRight"},{title:"Justify",icon:"align-justify",format:"alignjustify",command:"JustifyFull"}],qA=t=>{const s=()=>_t(GA,C=>t.formatter.match(C.format)),c=C=>()=>t.formatter.match(C),i=C=>_.none,d=C=>{const E=s().fold(Q(U$),k=>k.title.toLowerCase());it(C,ug,{icon:`align-${E}`}),d8(t,{value:E})},g=V$(GA),p=C=>()=>_t(GA,S=>S.format===C.format).each(S=>t.execCommand(S.command));return{tooltip:xp(t,z$,U$),text:_.none(),icon:_.some("align-left"),isSelectedFor:c,getCurrentValue:_.none,getPreviewFor:i,onAction:p,updateText:d,dataset:g,shouldHide:!1,isInvalid:C=>!t.formatter.canApply(C.format)}},lU=(t,s)=>o0(t,s,qA(t),z$,"AlignTextUpdate"),uU=(t,s)=>{const c=hg(t,s,qA(t));t.ui.registry.addNestedMenuItem("align",{text:s.shared.providers.translate(iU),onSetup:Wr(t),getSubmenuItems:()=>c.items.validateItems(c.getStyleItems())})},sT=(t,s)=>{const c=s(),i=Ee(c,d=>d.format);return _.from(t.formatter.closest(i)).bind(d=>_t(c,g=>g.format===d)).orThunk(()=>Et(t.formatter.match("p"),{title:"Paragraph",format:"p"}))},dU="Blocks",W$="Block {0}",KA="Paragraph",Z$=t=>{const s=g=>()=>t.formatter.match(g),c=g=>()=>{const p=t.formatter.get(g);return p?_.some({tag:p.length>0&&(p[0].inline||p[0].block)||"div",styles:t.dom.parseStyle(t.formatter.getCssText(g))}):_.none()},i=g=>{const C=sT(t,()=>d.data).fold(Q(KA),S=>S.title);it(g,za,{text:C}),zB(t,{value:C})},d=jA(t,"block_formats",s0.SemiColon);return{tooltip:xp(t,W$,KA),text:_.some(KA),icon:_.none(),isSelectedFor:s,getCurrentValue:_.none,getPreviewFor:c,onAction:WB(t),updateText:i,dataset:d,shouldHide:!1,isInvalid:g=>!t.formatter.canApply(g.format)}},mU=(t,s)=>o0(t,s,Z$(t),W$,"BlocksTextUpdate"),fU=(t,s)=>{const c=hg(t,s,Z$(t));t.ui.registry.addNestedMenuItem("blocks",{text:dU,onSetup:Wr(t),getSubmenuItems:()=>c.items.validateItems(c.getStyleItems())})},j$="Fonts",YA="Font {0}",rT="System Font",gU=["-apple-system","Segoe UI","Roboto","Helvetica Neue","sans-serif"],XA=t=>{const s=t.split(/\s*,\s*/);return Ee(s,c=>c.replace(/^['"]+|['"]+$/g,""))},G$=(t,s)=>s.length>0&&du(s,c=>t.indexOf(c.toLowerCase())>-1),hU=(t,s)=>{if(t.indexOf("-apple-system")===0||s.length>0){const c=XA(t.toLowerCase());return G$(c,gU)||G$(c,s)}else return!1},q$=t=>{const s=()=>{const S=F=>F?XA(F)[0]:"",E=t.queryCommandValue("FontName"),k=C.data,R=E?E.toLowerCase():"",B=AM(t);return{matchOpt:_t(k,F=>{const W=F.format;return W.toLowerCase()===R||S(W).toLowerCase()===S(R).toLowerCase()}).orThunk(()=>Et(hU(R,B),{title:rT,format:R})),font:E}},c=S=>E=>E.exists(k=>k.format===S),i=()=>{const{matchOpt:S}=s();return S},d=S=>()=>_.some({tag:"div",styles:S.indexOf("dings")===-1?{"font-family":S}:{}}),g=S=>()=>{t.undoManager.transact(()=>{t.focus(),t.execCommand("FontName",!1,S.format)})},p=S=>{const{matchOpt:E,font:k}=s(),R=E.fold(Q(k),B=>B.title);it(S,za,{text:R}),UB(t,{value:R})},C=jA(t,"font_family_formats",s0.SemiColon);return{tooltip:xp(t,YA,rT),text:_.some(rT),icon:_.none(),isSelectedFor:c,getCurrentValue:i,getPreviewFor:d,onAction:g,updateText:p,dataset:C,shouldHide:!1,isInvalid:Rn}},K$=(t,s)=>o0(t,s,q$(t),YA,"FontFamilyTextUpdate"),pU=(t,s)=>{const c=hg(t,s,q$(t));t.ui.registry.addNestedMenuItem("fontfamily",{text:s.shared.providers.translate(j$),onSetup:Wr(t),getSubmenuItems:()=>c.items.validateItems(c.getStyleItems())})},Y$={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},bU=(()=>{const t="[0-9]+",c="[eE]"+("[+-]?"+t),i="\\.",d=C=>`(?:${C})?`,p=`[+-]?(?:${["Infinity",t+i+d(t)+d(c),i+t+d(c),t+d(c)].join("|")})`;return new RegExp(`^(${p})(.*)$`)})(),vU=(t,s)=>xc(s,c=>xc(Y$[c],i=>t===i)),cT=(t,s)=>_.from(bU.exec(t)).bind(i=>{const d=Number(i[1]),g=i[2];return vU(g,s)?_.some({value:d,unit:g}):_.none()}),yU=(t,s)=>cT(t,s).map(({value:c,unit:i})=>c+i),X$={tab:Q(9),escape:Q(27),enter:Q(13),backspace:Q(8),delete:Q(46),left:Q(37),up:Q(38),right:Q(39),down:Q(40),space:Q(32),home:Q(36),end:Q(35),pageUp:Q(33),pageDown:Q(34)},CU=(t,s,c)=>{let i=_.none();const d=j=>j.map(re=>ze.getValue(re)).getOr(""),g=ul(t,"NodeChange SwitchMode",j=>{const re=j.getComponent();i=_.some(re),c.updateInputValue(re),bt.set(re,!t.selection.isEditable())}),p=j=>({getComponent:Q(j)}),C=mt(q),S=Xe("custom-number-input-events"),E=(j,re,we)=>{const he=d(i),me=c.getNewValue(he,j),De=he.length-`${me}`.length,$e=i.map(tt=>tt.element.dom.selectionStart-De),Pt=i.map(tt=>tt.element.dom.selectionEnd-De);c.onAction(me,we),i.each(tt=>{ze.setValue(tt,me),re&&($e.each(ft=>tt.element.dom.selectionStart=ft),Pt.each(ft=>tt.element.dom.selectionEnd=ft))})},k=(j,re)=>E((we,he)=>we-he,j,re),R=(j,re)=>E((we,he)=>we+he,j,re),B=j=>qa(j.element).fold(_.none,re=>(Fr(re),_.some(!0))),P=j=>yh(j.element)?(jp(j.element).each(re=>Fr(re)),_.some(!0)):_.none(),F=(j,re,we,he)=>{const me=mt(q),De=s.shared.providers.translate(we),$e=Xe("altExecuting"),Pt=ul(t,"NodeChange SwitchMode",ft=>{bt.set(ft.getComponent(),!t.selection.isEditable())}),tt=ft=>{bt.isDisabled(ft)||j(!0)};return Ds.sketch({dom:{tag:"button",attributes:{title:De,"aria-label":De},classes:he.concat(re)},components:[PO(re,s.shared.providers.icons)],buttonBehaviours:Be([bt.config({}),Nt($e,[fm({onSetup:Pt,getApi:p},me),ll({getApi:p},me),be(Aa(),(ft,Ct)=>{(Ct.event.raw.keyCode===X$.space()||Ct.event.raw.keyCode===X$.enter())&&(bt.isDisabled(ft)||j(!1))}),be(Dl(),tt),be(Nd(),tt)])]),eventOrder:{[Aa()]:[$e,"keying"],[Dl()]:[$e,"alloy.base.behaviour"],[Nd()]:[$e,"alloy.base.behaviour"]}})},W=Cn(F(j=>k(!1,j),"minus","Decrease font size",[])),se=Cn(F(j=>R(!1,j),"plus","Increase font size",[])),K=Cn({dom:{tag:"div",classes:["tox-input-wrapper"]},components:[ap.sketch({inputBehaviours:Be([bt.config({}),Nt(S,[fm({onSetup:g,getApi:p},C),ll({getApi:p},C)]),Nt("input-update-display-text",[be(za,(j,re)=>{ze.setValue(j,re.event.text)}),be(c1(),j=>{c.onAction(ze.getValue(j))}),be(Wm(),j=>{c.onAction(ze.getValue(j))})]),lt.config({mode:"special",onEnter:j=>(E(sn,!0,!0),_.some(!0)),onEscape:B,onUp:j=>(R(!0,!1),_.some(!0)),onDown:j=>(k(!0,!1),_.some(!0)),onLeft:(j,re)=>(re.cut(),_.none()),onRight:(j,re)=>(re.cut(),_.none())})])})],behaviours:Be([yt.config({}),lt.config({mode:"special",onEnter:P,onSpace:P,onEscape:B}),Nt("input-wrapper-events",[be(Rl(),j=>{Ke([W,se],re=>{const we=ee.fromDom(re.get(j).element.dom);yh(we)&&hf(we)})})])])});return{dom:{tag:"div",classes:["tox-number-input"]},components:[W.asSpec(),K.asSpec(),se.asSpec()],behaviours:Be([yt.config({}),lt.config({mode:"flow",focusInside:h.OnEnterOrSpaceMode,cycles:!1,selector:"button, .tox-input-wrapper",onEscape:j=>yh(j.element)?_.none():(Fr(j.element),_.some(!0))})])}},SU="Font sizes",JA="Font size {0}",J$="12pt",wU={"8pt":"1","10pt":"2","12pt":"3","14pt":"4","18pt":"5","24pt":"6","36pt":"7"},xU={"xx-small":"7pt","x-small":"8pt",small:"10pt",medium:"12pt",large:"14pt","x-large":"18pt","xx-large":"24pt"},EU=(t,s)=>{const c=Math.pow(10,s);return Math.round(t*c)/c},TU=(t,s)=>/[0-9.]+px$/.test(t)?EU(parseInt(t,10)*72/96,s||0)+"pt":We(xU,t).getOr(t),_U=t=>We(wU,t).getOr(""),Q$=t=>{const s=()=>{let S=_.none();const E=C.data,k=t.queryCommandValue("FontSize");if(k)for(let R=3;S.isNone()&&R>=0;R--){const B=TU(k,R),P=_U(B);S=_t(E,F=>F.format===k||F.format===B||F.format===P)}return{matchOpt:S,size:k}},c=S=>E=>E.exists(k=>k.format===S),i=()=>{const{matchOpt:S}=s();return S},d=Q(_.none),g=S=>()=>{t.undoManager.transact(()=>{t.focus(),t.execCommand("FontSize",!1,S.format)})},p=S=>{const{matchOpt:E,size:k}=s(),R=E.fold(Q(k),B=>B.title);it(S,za,{text:R}),m8(t,{value:R})},C=jA(t,"font_size_formats",s0.Space);return{tooltip:xp(t,JA,J$),text:_.some(J$),icon:_.none(),isSelectedFor:c,getPreviewFor:d,getCurrentValue:i,onAction:g,updateText:p,dataset:C,shouldHide:!1,isInvalid:Rn}},eI=(t,s)=>o0(t,s,Q$(t),JA,"FontSizeTextUpdate"),kU=t=>{var s;const c={step:1};return(s={em:{step:.1},cm:{step:.1},in:{step:.1},pc:{step:.1},ch:{step:.1},rem:{step:.1}}[t])!==null&&s!==void 0?s:c},OU=16,tI=t=>t>=0,AU=t=>{const s=()=>t.queryCommandValue("FontSize");return{updateInputValue:i=>it(i,za,{text:s()}),onAction:(i,d)=>t.execCommand("FontSize",!1,i,{skip_focus:!d}),getNewValue:(i,d)=>{cT(i,["unsupportedLength","empty"]);const g=s(),p=cT(i,["unsupportedLength","empty"]).or(cT(g,["unsupportedLength","empty"])),C=p.map(B=>B.value).getOr(OU),S=wM(t),E=p.map(B=>B.unit).filter(B=>B!=="").getOr(S),k=d(C,kU(E).step),R=`${tI(k)?k:C}${E}`;return R!==g&&f8(t,{value:R}),R}}},nI=(t,s)=>CU(t,s,AU(t)),oI=(t,s)=>{const c=hg(t,s,Q$(t));t.ui.registry.addNestedMenuItem("fontsize",{text:SU,onSetup:Wr(t),getSubmenuItems:()=>c.items.validateItems(c.getStyleItems())})},RU="Formats",sI="Format {0}",rI=(t,s)=>{const c="Paragraph",i=p=>()=>t.formatter.match(p),d=p=>()=>{const C=t.formatter.get(p);return C!==void 0?_.some({tag:C.length>0&&(C[0].inline||C[0].block)||"div",styles:t.dom.parseStyle(t.formatter.getCssText(p))}):_.none()},g=p=>{const C=R=>AE(R)?ge(R.items,C):x5(R)?[{title:R.title,format:R.format}]:[],S=ge(T5(t),C),k=sT(t,Q(S)).fold(Q(c),R=>R.title);it(p,za,{text:k}),u8(t,{value:k})};return{tooltip:xp(t,sI,c),text:_.some(c),icon:_.none(),isSelectedFor:i,getCurrentValue:_.none,getPreviewFor:d,onAction:WB(t),updateText:g,shouldHide:bM(t),isInvalid:p=>!t.formatter.canApply(p.format),dataset:s}},r0=(t,s)=>{const c={type:"advanced",...s.styles};return o0(t,s,rI(t,c),sI,"StylesTextUpdate")},DU=(t,s)=>{const c={type:"advanced",...s.styles},i=hg(t,s,rI(t,c));t.ui.registry.addNestedMenuItem("styles",{text:RU,onSetup:Wr(t),getSubmenuItems:()=>i.items.validateItems(i.getStyleItems())})},MU=Q([ye("toggleClass"),ye("fetch"),fi("onExecute"),oe("getHotspot",_.some),oe("getAnchorOverrides",Q({})),Lu(),fi("onItemExecute"),vn("lazySink"),ye("dom"),Qt("onOpen"),Ko("splitDropdownBehaviours",[Do,lt,yt]),oe("matchWidth",!1),oe("useMinWidth",!1),oe("eventOrder",{}),vn("role")].concat(q3())),BU=Qs({factory:Ds,schema:[ye("dom")],name:"arrow",defaults:()=>({buttonBehaviours:Be([yt.revoke()])}),overrides:t=>({dom:{tag:"span",attributes:{role:"presentation"}},action:s=>{s.getSystem().getByUid(t.uid).each(Ml)},buttonBehaviours:Be([Ft.config({toggleOnExecute:!1,toggleClass:t.toggleClass})])})}),NU=Qs({factory:Ds,schema:[ye("dom")],name:"button",defaults:()=>({buttonBehaviours:Be([yt.revoke()])}),overrides:t=>({dom:{tag:"span",attributes:{role:"presentation"}},action:s=>{s.getSystem().getByUid(t.uid).each(c=>{t.onExecute(c,s)})}})}),PU=Q([BU,NU,Hr({factory:{sketch:t=>({uid:t.uid,dom:{tag:"span",styles:{display:"none"},attributes:{"aria-hidden":"true"},innerHtml:t.text}})},schema:[ye("text")],name:"aria-descriptor"}),$a({schema:[mh()],name:"menu",defaults:t=>({onExecute:(s,c)=>{s.getSystem().getByUid(t.uid).each(i=>{t.onItemExecute(i,s,c)})}})}),iN()]),$U=(t,s,c,i)=>{const d=k=>{Zt.getCurrent(k).each(R=>{mn.highlightFirst(R),lt.focusIn(R)})},g=k=>{j3(t,sn,k,i,d,Ur.HighlightMenuAndItem).get(q)},p=k=>(g(k),_.some(!0)),C=k=>{const R=ql(k,t,"button");return Ml(R),_.some(!0)},S={...In([Mn((k,R)=>{Bn(k,t,"aria-descriptor").each(P=>{const F=Xe("aria");Ze(P.element,"id",F),Ze(k.element,"aria-describedby",F)})})]),...Ql(_.some(g))},E={repositionMenus:k=>{Ft.isOn(k)&&mN(k)}};return{uid:t.uid,dom:t.dom,components:s,apis:E,eventOrder:{...t.eventOrder,[uc()]:["disabling","toggling","alloy.base.behaviour"]},events:S,behaviours:Io(t.splitDropdownBehaviours,[Do.config({others:{sandbox:k=>{const R=ql(k,t,"arrow");return G3(t,k,{onOpen:()=>{Ft.on(R),Ft.on(k)},onClose:()=>{Ft.off(R),Ft.off(k)}})}}}),lt.config({mode:"special",onSpace:C,onEnter:C,onDown:p}),yt.config({}),Ft.config({toggleOnExecute:!1,aria:{mode:"expanded"}})]),domModification:{attributes:{role:t.role.getOr("button"),"aria-haspopup":!0}}}},aT=er({name:"SplitDropdown",configFields:MU(),partFields:PU(),factory:$U,apis:{repositionMenus:(t,s)=>t.repositionMenus(s)}}),cI=t=>({isEnabled:()=>!bt.isDisabled(t),setEnabled:s=>bt.set(t,!s),setText:s=>it(t,za,{text:s}),setIcon:s=>it(t,ug,{icon:s})}),QA=t=>({setActive:s=>{Ft.set(t,s)},isActive:()=>Ft.isOn(t),isEnabled:()=>!bt.isDisabled(t),setEnabled:s=>bt.set(t,!s),setText:s=>it(t,za,{text:s}),setIcon:s=>it(t,ug,{icon:s})}),aI=(t,s)=>t.map(c=>({"aria-label":s.translate(c),title:s.translate(c)})).getOr({}),iI=Xe("focus-button"),iT=(t,s,c,i,d)=>{const g=s.map(C=>Cn(TP(C,"tox-tbtn",d))),p=t.map(C=>Cn(lg(C,d.icons)));return{dom:{tag:"button",classes:["tox-tbtn"].concat(s.isSome()?["tox-tbtn--select"]:[]),attributes:aI(c,d)},components:dp([p.map(C=>C.asSpec()),g.map(C=>C.asSpec())]),eventOrder:{[Go()]:["focusing","alloy.base.behaviour",vp],[Nc()]:[vp,"toolbar-group-button-events"]},buttonBehaviours:Be([Ha.toolbarButton(d.isDisabled),bs(),Nt(vp,[Mn((C,S)=>BO(C)),be(za,(C,S)=>{g.bind(E=>E.getOpt(C)).each(E=>{kt.set(E,[vo(d.translate(S.event.text))])})}),be(ug,(C,S)=>{p.bind(E=>E.getOpt(C)).each(E=>{kt.set(E,[lg(S.event.icon,d.icons)])})}),be(Go(),(C,S)=>{S.event.prevent(),qt(C,iI)})])].concat(i.getOr([])))}},lI=(t,s,c,i)=>{const d=s.shared,g=mt(q),p={toolbarButtonBehaviours:[],getApi:cI,onSetup:t.onSetup},C=[Nt("toolbar-group-button-events",[fm(p,g),ll(p,g)])];return gg.sketch({lazySink:d.getSink,fetch:()=>pr.nu(S=>{S(Ee(c(t.items),YE))}),markers:{toggledClass:"tox-tbtn--enabled"},parts:{button:iT(t.icon,t.text,t.tooltip,_.some(C),d.providers),toolbar:{dom:{tag:"div",classes:["tox-toolbar__overflow"],attributes:i}}}})},uI=(t,s,c)=>{var i;const d=mt(q),g=iT(t.icon,t.text,t.tooltip,_.none(),c);return Ds.sketch({dom:g.dom,components:g.components,eventOrder:vE,buttonBehaviours:{...Be([Nt("toolbar-button-events",[QH({onAction:t.onAction,getApi:s.getApi}),fm(s,d),ll(s,d)]),Ha.toolbarButton(()=>!t.enabled||c.isDisabled()),bs()].concat(s.toolbarButtonBehaviours)),[vp]:(i=g.buttonBehaviours)===null||i===void 0?void 0:i[vp]}})},IU=(t,s)=>dI(t,s,[]),dI=(t,s,c)=>uI(t,{toolbarButtonBehaviours:c.length>0?[Nt("toolbarButtonWith",c)]:[],getApi:cI,onSetup:t.onSetup},s),FU=(t,s)=>mI(t,s,[]),mI=(t,s,c)=>uI(t,{toolbarButtonBehaviours:[kt.config({}),Ft.config({toggleClass:"tox-tbtn--enabled",aria:{mode:"pressed"},toggleOnExecute:!1})].concat(c.length>0?[Nt("toolbarToggleButtonWith",c)]:[]),getApi:QA,onSetup:t.onSetup},s),LU=(t,s,c)=>i=>pr.nu(d=>s.fetch(d)).map(d=>_.from(Gx(Vn(L3(Xe("menu-value"),d,g=>{s.onItemAction(t(i),g)},s.columns,s.presets,tu.CLOSE_ON_EXECUTE,s.select.getOr(Rn),c),{movement:Ux(s.columns,s.presets),menuBehaviours:b2.unnamedEvents(s.columns!=="auto"?[]:[Mn((g,p)=>{p2(g,4,gx(s.presets)).each(({numRows:C,numColumns:S})=>{lt.setGridSize(g,C,S)})})])})))),fI=(t,s)=>{const c=g=>({isEnabled:()=>!bt.isDisabled(g),setEnabled:p=>bt.set(g,!p),setIconFill:(p,C)=>{Ao(g.element,`svg path[class="${p}"], rect[class="${p}"]`).each(S=>{Ze(S,"fill",C)})},setActive:p=>{Ze(g.element,"aria-pressed",p),Ao(g.element,"span").each(C=>{g.getSystem().getByDom(C).each(S=>Ft.set(S,p))})},isActive:()=>Ao(g.element,"span").exists(p=>g.getSystem().getByDom(p).exists(Ft.isOn)),setText:p=>Ao(g.element,"span").each(C=>g.getSystem().getByDom(C).each(S=>it(S,za,{text:p}))),setIcon:p=>Ao(g.element,"span").each(C=>g.getSystem().getByDom(C).each(S=>it(S,ug,{icon:p}))),setTooltip:p=>{const C=s.providers.translate(p);$g(g.element,{"aria-label":C,title:C})}}),i=mt(q),d={getApi:c,onSetup:t.onSetup};return aT.sketch({dom:{tag:"div",classes:["tox-split-button"],attributes:{"aria-pressed":!1,...aI(t.tooltip,s.providers)}},onExecute:g=>{const p=c(g);p.isEnabled()&&t.onAction(p)},onItemExecute:(g,p,C)=>{},splitDropdownBehaviours:Be([Ha.splitButton(s.providers.isDisabled),bs(),Nt("split-dropdown-events",[Mn((g,p)=>BO(g)),be(iI,yt.focus),fm(d,i),ll(d,i)]),M2.config({})]),eventOrder:{[Nc()]:["alloy.base.behaviour","split-dropdown-events"]},toggleClass:"tox-tbtn--enabled",lazySink:s.getSink,fetch:LU(c,t,s.providers),parts:{menu:Rb(!1,t.columns,t.presets)},components:[aT.parts.button(iT(t.icon,t.text,_.none(),_.some([Ft.config({toggleClass:"tox-tbtn--enabled",toggleOnExecute:!1})]),s.providers)),aT.parts.arrow({dom:{tag:"button",classes:["tox-tbtn","tox-split-button__chevron"],innerHtml:mM("chevron-down",s.providers.icons)},buttonBehaviours:Be([Ha.splitButton(s.providers.isDisabled),bs(),tx()])}),aT.parts["aria-descriptor"]({text:s.providers.translate("To open the popup, press Shift+Enter")})]})},HU=[{name:"history",items:["undo","redo"]},{name:"ai",items:["aidialog","aishortcuts"]},{name:"styles",items:["styles"]},{name:"formatting",items:["bold","italic"]},{name:"alignment",items:["alignleft","aligncenter","alignright","alignjustify"]},{name:"indentation",items:["outdent","indent"]},{name:"permanent pen",items:["permanentpen"]},{name:"comments",items:["addcomment"]}],iC=(t,s)=>(c,i,d)=>{const g=t(c).mapError(p=>lr(p)).getOrDie();return s(g,i,d)},VU={button:iC(aB,(t,s)=>IU(t,s.shared.providers)),togglebutton:iC(i3,(t,s)=>FU(t,s.shared.providers)),menubutton:iC(_A,(t,s)=>W2(t,"tox-tbtn",s,_.none(),!1)),splitbutton:iC(c9,(t,s)=>fI(t,s.shared)),grouptoolbarbutton:iC(s9,(t,s,c)=>{const i=c.ui.registry.getAll().buttons,d=p=>dT(c,{buttons:i,toolbar:p,allowToolbarGroups:!1},s,_.none()),g={[yf]:s.shared.header.isPositionedAtTop()?ca.TopToBottom:ca.BottomToTop};switch(Ob(c)){case wi.floating:return lI(t,s,d,g);default:throw new Error("Toolbar groups are only supported when using floating toolbar mode")}})},zU=(t,s,c)=>We(VU,t.type).fold(()=>(console.error("skipping button defined by",t),_.none()),i=>_.some(i(t,s,c))),lC={styles:r0,fontsize:eI,fontsizeinput:nI,fontfamily:K$,blocks:mU,align:lU},UU=t=>{const s=Ee(HU,c=>{const i=qn(c.items,d=>wn(t,d)||wn(lC,d));return{name:c.name,items:i}});return qn(s,c=>c.items.length>0)},lT=t=>{const s=t.split("|");return Ee(s,c=>({items:c.trim().split(" ")}))},uT=t=>uu(t,s=>wn(s,"name")&&wn(s,"items")),gI=t=>{const s=t.toolbar,c=t.buttons;return s===!1?[]:s===void 0||s===!0?UU(c):hn(s)?lT(s):uT(s)?s:(console.error("Toolbar type should be string, string[], boolean or ToolbarGroup[]"),[])},WU=(t,s,c,i,d,g)=>We(s,c.toLowerCase()).orThunk(()=>g.bind(p=>Bs(p,C=>We(s,C+c.toLowerCase())))).fold(()=>We(lC,c.toLowerCase()).map(p=>p(t,d)),p=>p.type==="grouptoolbarbutton"&&!i?(console.warn(`Ignoring the '${c}' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested.`),_.none()):zU(p,d,t)),dT=(t,s,c,i)=>{const d=gI(s),g=Ee(d,p=>{const C=ge(p.items,S=>S.trim().length===0?[]:WU(t,s.buttons,S,s.allowToolbarGroups,c,i).toArray());return{title:_.from(t.translate(p.name)),items:C}});return qn(g,p=>p.items.length>0)},hI=(t,s,c,i)=>{const d=s.mainUi.outerContainer,g=c.toolbar,p=c.buttons;if(uu(g,hn)){const C=g.map(S=>{const E={toolbar:S,buttons:p,allowToolbarGroups:c.allowToolbarGroups};return dT(t,E,i,_.none())});Wn.setToolbars(d,C)}else Wn.setToolbar(d,dT(t,c,i,_.none()))},pI=Pi(),ZU=pI.os.isiOS()&&pI.os.version.major<=12,mT=(t,s)=>{const{uiMotherships:c}=s,i=t.dom;let d=t.getWin();const g=t.getDoc().documentElement,p=mt(pn(d.innerWidth,d.innerHeight)),C=mt(pn(g.offsetWidth,g.offsetHeight)),S=()=>{const B=p.get();(B.left!==d.innerWidth||B.top!==d.innerHeight)&&(p.set(pn(d.innerWidth,d.innerHeight)),Px(t))},E=()=>{const B=t.getDoc().documentElement,P=C.get();(P.left!==B.offsetWidth||P.top!==B.offsetHeight)&&(C.set(pn(B.offsetWidth,B.offsetHeight)),Px(t))},k=B=>{i8(t,B)};i.bind(d,"resize",S),i.bind(d,"scroll",k);const R=L1(ee.fromDom(t.getBody()),"load",E);t.on("hide",()=>{Ke(c,B=>{Bt(B.element,"display","none")})}),t.on("show",()=>{Ke(c,B=>{ln(B.element,"display")})}),t.on("NodeChange",E),t.on("remove",()=>{R.unbind(),i.unbind(d,"resize",S),i.unbind(d,"scroll",k),d=null})},bI=(t,s,c)=>{um(t)&&Wl(c.mainUi.mothership.element,c.popupUi.mothership),Rs(s,c.dialogUi.mothership)};var vI=Object.freeze({__proto__:null,render:(t,s,c,i,d)=>{const{mainUi:g,uiMotherships:p}=s,C=mt(0),S=g.outerContainer;rU(t);const E=ee.fromDom(d.targetNode),k=Sa(ro(E));Wl(E,g.mothership),bI(t,k,s),t.on("SkinLoaded",()=>{Wn.setSidebar(S,c.sidebar,kM(t)),hI(t,s,c,i),C.set(t.getWin().innerWidth),Wn.setMenubar(S,nT(t,c)),Wn.setViews(S,c.views),mT(t,s)});const R=Wn.getSocket(S).getOrDie("Could not find expected socket element");if(ZU){tc(R.element,{overflow:"scroll","-webkit-overflow-scrolling":"touch"});const W=zH(()=>{t.dispatch("ScrollContent")},20),se=fr(R.element,"scroll",W.throttle);t.on("remove",se.unbind)}SB(t,s),t.addCommand("ToggleSidebar",(W,se)=>{Wn.toggleSidebar(S,se),t.dispatch("ToggleSidebar")}),t.addQueryValueHandler("ToggleSidebar",()=>{var W;return(W=Wn.whichSidebar(S))!==null&&W!==void 0?W:""}),t.addCommand("ToggleView",(W,se)=>{if(Wn.toggleView(S,se)){const K=S.element;g.mothership.broadcastOn([bi()],{target:K}),Ke(p,j=>{j.broadcastOn([bi()],{target:K})}),lu(Wn.whichView(S))&&(t.focus(),t.nodeChanged(),Wn.refreshToolbar(S))}}),t.addQueryValueHandler("ToggleView",()=>{var W;return(W=Wn.whichView(S))!==null&&W!==void 0?W:""});const B=Ob(t),P=()=>{Wn.refreshToolbar(s.mainUi.outerContainer)};(B===wi.sliding||B===wi.floating)&&t.on("ResizeWindow ResizeEditor ResizeContent",()=>{const W=t.getWin().innerWidth;W!==C.get()&&(P(),C.set(W))});const F={setEnabled:W=>{Rx(s,!W)},isEnabled:()=>!bt.isDisabled(S)};return{iframeContainer:R.element.dom,editorContainer:S.element.dom,api:F}}});const fT=t=>/^[0-9\.]+(|px)$/i.test(""+t)?_.some(parseInt(""+t,10)):_.none(),eR=t=>Ga(t)?t+"px":t,uC=(t,s,c)=>{const i=s.filter(g=>tt>g);return i.or(d).getOr(t)},GU=t=>{const s=A4(t),c=M4(t),i=B4(t);return fT(s).map(d=>uC(d,c,i))},qU=t=>GU(t).getOr(A4(t)),yI=t=>{const s=R4(t),c=D4(t),i=nx(t);return fT(s).map(d=>uC(d,c,i))},KU=t=>yI(t).getOr(R4(t)),{ToolbarLocation:tR,ToolbarMode:c0}=g7,YU=40,XU=(t,s,c,i,d)=>{const{mainUi:g,uiMotherships:p}=c,C=_b.DOM,S=Kf(t),E=d2(t),k=nx(t).or(yI(t)),R=i.shared.header,B=R.isPositionedAtTop,P=Ob(t),F=P===c0.sliding||P===c0.floating,W=mt(!1),se=()=>W.get()&&!t.removed,K=dt=>F?dt.fold(Q(0),on=>on.components().length>1?ts(on.components()[1].element):0):0,j=dt=>{switch(i2(t)){case tR.auto:const on=Wn.getToolbar(g.outerContainer),Ie=K(on),et=ts(dt.element)-Ie,xt=To(s);if(xt.y>et)return"top";{const ht=Zp(s),At=Math.max(ht.dom.scrollHeight,ts(ht));return xt.bottom{d.on(on=>{Fo.setModes(on,[dt]),R.setDockingMode(dt);const Ie=B()?ca.TopToBottom:ca.BottomToTop;Ze(on.element,yf,Ie)})},we=()=>{d.on(dt=>{const on=k.getOrThunk(()=>{const Ie=fT(Eo(Gs(),"margin-left")).getOr(0);return gs(Gs())-wa(s).left+Ie});Bt(dt.element,"max-width",on+"px")})},he=dt=>{d.on(on=>{const Ie=Wn.getToolbar(g.outerContainer),et=K(Ie),xt=To(s),{top:jt,left:ht}=me(t,g.outerContainer.element).fold(()=>({top:B()?Math.max(xt.y-ts(on.element)+et,0):xt.bottom,left:xt.x}),fn=>{var Rr;const Qn=To(fn),Jc=(Rr=fn.dom.scrollTop)!==null&&Rr!==void 0?Rr:0,yl=$n(fn,Gs()),Eg=yl?Math.max(xt.y-ts(on.element)+et,0):xt.y-Qn.y+Jc-ts(on.element)+et;return{top:B()?Eg:xt.bottom,left:yl?xt.x:xt.x-Qn.x}}),At={position:"absolute",left:Math.round(ht)+"px",top:Math.round(jt)+"px"},Pn=dt.map(fn=>{const Rr=nc(),Qn=150,Jc=window.innerWidth-(ht-Rr.left);return{width:Math.max(Math.min(fn,Jc),Qn)+"px"}}).getOr({});tc(g.outerContainer.element,{...At,...Pn})})},me=(dt,on)=>um(dt)?Sp(on):_.none(),De=()=>{Ke(p,dt=>{dt.broadcastOn([em()],{})})},$e=()=>{if(S)return _.none();if(wa(g.outerContainer.element).left+Xa(g.outerContainer.element)>=window.innerWidth-YU||Ns(g.outerContainer.element,"width").isSome()){Bt(g.outerContainer.element,"position","absolute"),Bt(g.outerContainer.element,"left","0px"),ln(g.outerContainer.element,"width");const on=Xa(g.outerContainer.element);return _.some(on)}else return _.none()},Pt=dt=>{if(!se())return;S||we();const on=S?_.none():$e();F&&Wn.refreshToolbar(g.outerContainer),S||he(on),E&&d.on(dt),De()},tt=()=>S||!E||!se()?!1:d.get().exists(dt=>{const on=R.getDockingMode(),Ie=j(dt);return Ie!==on?(re(Ie),!0):!1});return{isVisible:se,isPositionedAtTop:B,show:()=>{W.set(!0),Bt(g.outerContainer.element,"display","flex"),C.addClass(t.getBody(),"mce-edit-focus"),Ke(p,dt=>{ln(dt.element,"display")}),tt(),um(t)?Pt(dt=>Fo.isDocked(dt)?Fo.reset(dt):Fo.refresh(dt)):Pt(Fo.refresh)},hide:()=>{W.set(!1),Bt(g.outerContainer.element,"display","none"),C.removeClass(t.getBody(),"mce-edit-focus"),Ke(p,dt=>{Bt(dt.element,"display","none")})},update:Pt,updateMode:()=>{tt()&&Pt(Fo.reset)},repositionPopups:De}},CI=(t,s)=>{const c=To(t);return{pos:s?c.y:c.bottom,bounds:c}},SI=(t,s,c,i)=>{const d=mt(CI(s,c.isPositionedAtTop())),g=E=>{const{pos:k,bounds:R}=CI(s,c.isPositionedAtTop()),{pos:B,bounds:P}=d.get(),F=R.height!==P.height||R.width!==P.width;d.set({pos:k,bounds:R}),F&&Px(t,E),c.isVisible()&&(B!==k?c.update(Fo.reset):F&&(c.updateMode(),c.repositionPopups()))};i||(t.on("activate",c.show),t.on("deactivate",c.hide)),t.on("SkinLoaded ResizeWindow",()=>c.update(Fo.reset)),t.on("NodeChange keydown",E=>{requestAnimationFrame(()=>g(E))});let p=0;const C=gE(()=>c.update(Fo.refresh),33);t.on("ScrollWindow",()=>{const E=nc().left;E!==p&&(p=E,C.throttle()),c.updateMode()}),um(t)&&t.on("ElementScroll",E=>{c.update(Fo.refresh)});const S=Vl();S.set(L1(ee.fromDom(t.getBody()),"load",E=>g(E.raw))),t.on("remove",()=>{S.clear()})};var wI=Object.freeze({__proto__:null,render:(t,s,c,i,d)=>{const{mainUi:g}=s,p=Vt(),C=ee.fromDom(d.targetNode),S=XU(t,C,s,i,p),E=CM(t);cU(t);const k=()=>{if(p.isSet()){S.show();return}p.set(Wn.getHeader(g.outerContainer).getOrDie());const B=z4(t);um(t)?(Wl(C,g.mothership),Wl(C,s.popupUi.mothership)):Rs(B,g.mothership),Rs(B,s.dialogUi.mothership),hI(t,s,c,i),Wn.setMenubar(g.outerContainer,nT(t,c)),S.show(),SI(t,C,S,E),t.nodeChanged()};t.on("show",k),t.on("hide",S.hide),E||(t.on("focus",k),t.on("blur",S.hide)),t.on("init",()=>{(t.hasFocus()||E)&&k()}),SB(t,s);const R={show:k,hide:S.hide,setEnabled:B=>{Rx(s,!B)},isEnabled:()=>!bt.isDisabled(g.outerContainer)};return{editorContainer:g.outerContainer.element.dom,api:R}}});const JU=()=>{const t=Vt(),s=Vt(),c=Vt();return{dialogUi:t,popupUi:s,mainUi:c,getUiMotherships:()=>{const g=t.get().map(C=>C.mothership),p=s.get().map(C=>C.mothership);return g.fold(()=>p.toArray(),C=>p.fold(()=>[C],S=>$n(C.element,S.element)?[C]:[C,S]))},lazyGetInOuterOrDie:(g,p)=>()=>c.get().bind(C=>p(C.outerContainer)).getOrDie(`Could not find ${g} element in OuterContainer`)}},QU="contexttoolbar-show",xI="contexttoolbar-hide",eW=t=>({hide:()=>qt(t,eh()),getValue:()=>ze.getValue(t)}),EI=(t,s)=>be(MO,(c,i)=>{const d=t.get(c),g=eW(d);s.onAction(g,i.event.buttonApi)}),dC=(t,s,c)=>{const{primary:i,...d}=s.original,g=Dn(aB({...d,type:"button",onAction:q}));return dI(g,c,[EI(t,s)])},TI=(t,s,c)=>{const{primary:i,...d}=s.original,g=Dn(i3({...d,type:"togglebutton",onAction:q}));return mI(g,c,[EI(t,s)])},tW=t=>t.type==="contextformtogglebutton",nW=(t,s,c)=>tW(s)?TI(t,s,c):dC(t,s,c),_I=(t,s,c)=>{const i=Ee(s,p=>Cn(nW(t,p,c)));return{asSpecs:()=>Ee(i,p=>p.asSpec()),findPrimary:p=>Bs(s,(C,S)=>C.primary?_.from(i[S]).bind(E=>E.getOpt(p)).filter(Se(bt.isDisabled)):_.none())}},gT=(t,s)=>{const c=t.label.fold(()=>({}),g=>({"aria-label":g})),i=Cn(ap.sketch({inputClasses:["tox-toolbar-textfield","tox-toolbar-nav-js"],data:t.initValue(),inputAttributes:c,selectOnFocus:!0,inputBehaviours:Be([lt.config({mode:"special",onEnter:g=>d.findPrimary(g).map(p=>(Ml(p),!0)),onLeft:(g,p)=>(p.cut(),_.none()),onRight:(g,p)=>(p.cut(),_.none())})])})),d=_I(i,t.commands,s);return[{title:_.none(),items:[i.asSpec()]},{title:_.none(),items:d.asSpecs()}]},kI={renderContextForm:(t,s,c)=>XE({type:t,uid:Xe("context-toolbar"),initGroups:gT(s,c),onEscape:_.none,cyclicKeying:!0,providers:c}),buildInitGroups:gT},OI=(t,s,c)=>s.bottom-t.y>=c&&t.bottom-s.y>=c,a0=t=>{const s=t.getBoundingClientRect();if(s.height<=0&&s.width<=0){const c=R0(ee.fromDom(t.startContainer),t.startOffset).element;return(_c(c)?Ca(c):_.some(c)).filter(Hn).map(d=>d.dom.getBoundingClientRect()).getOr(s)}else return s},i0=t=>{const s=t.selection.getRng(),c=a0(s);if(t.inline){const i=nc();return bo(i.left+c.left,i.top+c.top,c.width,c.height)}else{const i=sa(ee.fromDom(t.getBody()));return bo(i.x+c.left,i.y+c.top,c.width,c.height)}},nR=(t,s)=>s.filter(c=>xs(c)&&_m(c)).map(sa).getOrThunk(()=>i0(t)),AI=(t,s,c)=>{const i=Math.max(t.x+c,s.x),d=Math.min(t.right-c,s.right);return{x:i,width:d-i}},RI=(t,s,c,i,d,g)=>{const p=ee.fromDom(t.getContainer()),C=Ao(p,".tox-editor-header").getOr(p),S=To(C),E=S.y>=s.bottom,k=i&&!E;if(t.inline&&k)return{y:Math.max(S.bottom+g,c.y),bottom:c.bottom};if(t.inline&&!k)return{y:c.y,bottom:Math.min(S.y-g,c.bottom)};const R=d==="line"?To(p):s;return k?{y:Math.max(S.bottom+g,c.y),bottom:Math.min(R.bottom-g,c.bottom)}:{y:Math.max(R.y+g,c.y),bottom:Math.min(S.y-g,c.bottom)}},DI=(t,s,c,i=0)=>{const d=Z0(window),g=To(ee.fromDom(t.getContentAreaContainer())),p=lx(t)||mx(t)||u2(t),{x:C,width:S}=AI(g,d,i);if(t.inline&&!p)return bo(C,d.y,S,d.height);{const E=s.header.isPositionedAtTop(),{y:k,bottom:R}=RI(t,g,d,E,c,i);return bo(C,k,S,R-k)}},mC=12,MI={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"],inset:["tox-pop--inset"]},BI={maxHeightFunction:vf(),maxWidthFunction:NA()},sW=(t,s)=>{const c=t.selection.getRng(),i=R0(ee.fromDom(c.startContainer),c.startOffset);return c.startContainer===c.endContainer&&c.startOffset===c.endOffset-1&&$n(i.element,s)},rW=(t,s,c)=>{const i=Ns(t,"position");Bt(t,"position",s);const d=c(t);return i.each(g=>Bt(t,"position",g)),d},NI=t=>t==="node",PI=(t,s,c,i,d)=>{const g=i0(t),p=i.lastElement().exists(C=>$n(c,C));if(sW(t,c))return p?nA:hl;if(p)return rW(s,i.getMode(),()=>OI(g,To(s),-20)&&!i.isReposition()?JV:nA);{const C=i.getMode()==="fixed"?d.y+nc().top:d.y,S=ts(s)+mC;return C+S<=g.y?hl:Yb}},hT=(t,s,c,i)=>{const d=S=>(E,k,R,B,P)=>{const F=PI(t,B,S,c,P),W={...E,y:P.y,height:P.height};return{...F(W,k,R,B,P),alwaysFit:!0}},g=S=>NI(i)?[d(S)]:[];return s?{onLtr:S=>[as,cs,Vs,_r,Xs,dr].concat(g(S)),onRtl:S=>[as,Vs,cs,Xs,_r,dr].concat(g(S))}:{onLtr:S=>[dr,as,_r,cs,Xs,Vs].concat(g(S)),onRtl:S=>[dr,as,Xs,Vs,_r,cs].concat(g(S))}},$I=(t,s,c,i)=>s==="line"?{bubble:tl(mC,0,MI),layouts:{onLtr:()=>[Hv],onRtl:()=>[bh]},overrides:BI}:{bubble:tl(0,mC,MI,1/mC),layouts:hT(t,c,i,s),overrides:BI},pT=(t,s)=>{const c=qn(s,g=>g.predicate(t.dom)),{pass:i,fail:d}=wm(c,g=>g.type==="contexttoolbar");return{contextToolbars:i,contextForms:d}},oR=t=>{if(t.length<=1)return t;{const s=g=>xc(t,p=>p.position===g),c=g=>qn(t,p=>p.position===g),i=s("selection"),d=s("node");if(i||d)if(d&&i){const g=c("node"),p=Ee(c("selection"),C=>({...C,position:"node"}));return g.concat(p)}else return c(i?"selection":"node");else return c("line")}},cW=t=>{if(t.length<=1)return t;{const s=i=>_t(t,d=>d.position===i);return s("selection").orThunk(()=>s("node")).orThunk(()=>s("line")).map(i=>i.position).fold(()=>[],i=>qn(t,d=>d.position===i))}},II=(t,s,c)=>{const i=pT(t,s);if(i.contextForms.length>0)return _.some({elem:t,toolbars:[i.contextForms[0]]});{const d=pT(t,c);if(d.contextForms.length>0)return _.some({elem:t,toolbars:[d.contextForms[0]]});if(i.contextToolbars.length>0||d.contextToolbars.length>0){const g=oR(i.contextToolbars.concat(d.contextToolbars));return _.some({elem:t,toolbars:g})}else return _.none()}},aW=(t,s,c)=>t(s)?_.none():JC(s,i=>{if(Hn(i)){const{contextToolbars:d,contextForms:g}=pT(i,c.inNodeScope),p=g.length>0?g:cW(d);return p.length>0?_.some({elem:i,toolbars:p}):_.none()}else return _.none()},t),iW=(t,s)=>{const c=ee.fromDom(s.getBody()),i=p=>$n(p,c),d=p=>!i(p)&&!oa(c,p),g=ee.fromDom(s.selection.getNode());return d(g)?_.none():II(g,t.inNodeScope,t.inEditorScope).orThunk(()=>aW(i,g,t))},bT=(t,s)=>{const c={},i=[],d=[],g={},p={},C=(k,R)=>{const B=Dn(Ax(R));c[k]=B,B.launch.map(P=>{g["form:"+k]={...R.launch,type:P.type==="contextformtogglebutton"?"togglebutton":"button",onAction:()=>{s(B)}}}),B.scope==="editor"?d.push(B):i.push(B),p[k]=B},S=(k,R)=>{lB(R).each(B=>{R.scope==="editor"?d.push(B):i.push(B),p[k]=B})},E=ho(t);return Ke(E,k=>{const R=t[k];R.type==="contextform"?C(k,R):R.type==="contexttoolbar"&&S(k,R)}),{forms:c,inNodeScope:i,inEditorScope:d,lookupTable:p,formNavigators:g}},sR=Xe("forward-slide"),FI=Xe("backward-slide"),rR=Xe("change-slide-event"),cR="tox-pop--resizing",lW=t=>{const s=mt([]);return io.sketch({dom:{tag:"div",classes:["tox-pop"]},fireDismissalEventInstead:{event:"doNotDismissYet"},onShow:c=>{s.set([]),io.getContent(c).each(i=>{ln(i.element,"visibility")}),oo(c.element,cR),ln(c.element,"width")},inlineBehaviours:Be([Nt("context-toolbar-events",[ji($d(),(c,i)=>{i.event.raw.propertyName==="width"&&(oo(c.element,cR),ln(c.element,"width"))}),be(rR,(c,i)=>{const d=c.element;ln(d,"width");const g=gs(d);io.setContent(c,i.event.contents),Oo(d,cR);const p=gs(d);Bt(d,"width",g+"px"),io.getContent(c).each(C=>{i.event.focus.bind(S=>(Fr(S),Ba(d))).orThunk(()=>(lt.focusIn(C),el(ro(d))))}),setTimeout(()=>{Bt(c.element,"width",p+"px")},0)}),be(sR,(c,i)=>{io.getContent(c).each(d=>{s.set(s.get().concat([{bar:d,focus:el(ro(c.element))}]))}),it(c,rR,{contents:i.event.forwardContents,focus:_.none()})}),be(FI,(c,i)=>{Lp(s.get()).each(d=>{s.set(s.get().slice(0,s.get().length-1)),it(c,rR,{contents:$c(d.bar),focus:d.focus})})})]),lt.config({mode:"special",onEscape:c=>Lp(s.get()).fold(()=>t.onEscape(),i=>(qt(c,FI),_.some(!0)))})]),lazySink:()=>$t.value(t.sink)})},aR="tox-pop--transition",LI=(t,s,c,i)=>{const d=i.backstage,g=d.shared,p=Pi().deviceType.isTouch,C=Vt(),S=Vt(),E=Vt(),k=Ys(lW({sink:c,onEscape:()=>(t.focus(),_.some(!0))})),R=()=>{const tt=E.get().getOr("node"),ft=NI(tt)?1:0;return DI(t,g,tt,ft)},B=()=>!t.removed&&!(p()&&d.isContextMenuOpen()),P=tt=>Ec(fu(tt,C.get(),$n),!0),F=()=>{if(B()){const tt=R(),ft=Ec(E.get(),"node")?nR(t,C.get()):i0(t);return tt.height<=0||!OI(ft,tt,.01)}else return!0},W=()=>{C.clear(),S.clear(),E.clear(),io.hide(k)},se=()=>{if(io.isOpen(k)){const tt=k.element;ln(tt,"display"),F()?Bt(tt,"display","none"):(S.set(0),io.reposition(k))}},K=tt=>({dom:{tag:"div",classes:["tox-pop__dialog"]},components:[tt],behaviours:Be([lt.config({mode:"acyclic"}),Nt("pop-dialog-wrap-events",[Mn(ft=>{t.shortcuts.add("ctrl+F9","focus statusbar",()=>lt.focusIn(ft))}),Gi(ft=>{t.shortcuts.remove("ctrl+F9")})])])}),j=mo(()=>bT(s,tt=>{const ft=he([tt]);it(k,sR,{forwardContents:K(ft)})})),re=(tt,ft)=>dT(t,{buttons:tt,toolbar:ft.items,allowToolbarGroups:!1},i.backstage,_.some(["form:"])),we=(tt,ft)=>kI.buildInitGroups(tt,ft),he=tt=>{const{buttons:ft}=t.ui.registry.getAll(),Ct=j(),yn={...ft,...Ct.formNavigators},dt=Ob(t)===wi.scrolling?wi.scrolling:wi.default,on=Dt(Ee(tt,Ie=>Ie.type==="contexttoolbar"?re(yn,Ie):we(Ie,g.providers)));return XE({type:dt,uid:Xe("context-toolbar"),initGroups:on,onEscape:_.none,cyclicKeying:!0,providers:g.providers})},me=(tt,ft)=>{const Ct=tt==="node"?g.anchors.node(ft):g.anchors.cursor(),yn=$I(t,tt,p(),{lastElement:C.get,isReposition:()=>Ec(S.get(),0),getMode:()=>Js.getMode(c)});return Vn(Ct,yn)},De=(tt,ft)=>{if(Pt.cancel(),!B())return;const Ct=he(tt),yn=tt[0].position,dt=me(yn,ft);E.set(yn),S.set(1);const on=k.element;ln(on,"display"),P(ft)||(oo(on,aR),Js.reset(c,k)),io.showWithinBounds(k,K(Ct),{anchor:dt,transition:{classes:[aR],mode:"placement"}},()=>_.some(R())),ft.fold(C.clear,C.set),F()&&Bt(on,"display","none")};let $e=!1;const Pt=gE(()=>{if(!(!t.hasFocus()||t.removed||$e))if(qo(k.element,aR))Pt.throttle();else{const tt=j();iW(tt,t).fold(W,ft=>{De(ft.toolbars,_.some(ft.elem))})}},17);t.on("init",()=>{t.on("remove",W),t.on("ScrollContent ScrollWindow ObjectResized ResizeEditor longpress",se),t.on("click keyup focus SetContent",Pt.throttle),t.on(xI,W),t.on(QU,tt=>{const ft=j();We(ft.lookupTable,tt.toolbarKey).each(Ct=>{De([Ct],Et(tt.target!==t,tt.target)),io.getContent(k).each(lt.focusIn)})}),t.on("focusout",tt=>{sp.setEditorTimeout(t,()=>{Ba(c.element).isNone()&&Ba(k.element).isNone()&&W()},0)}),t.on("SwitchMode",()=>{t.mode.isReadOnly()&&W()}),t.on("AfterProgressState",tt=>{tt.state?W():t.hasFocus()&&Pt.throttle()}),t.on("dragstart",()=>{$e=!0}),t.on("dragend drop",()=>{$e=!1}),t.on("NodeChange",tt=>{Ba(k.element).fold(Pt.throttle,q)})})},HI=t=>{Ke([{name:"alignleft",text:"Align left",cmd:"JustifyLeft",icon:"align-left"},{name:"aligncenter",text:"Align center",cmd:"JustifyCenter",icon:"align-center"},{name:"alignright",text:"Align right",cmd:"JustifyRight",icon:"align-right"},{name:"alignjustify",text:"Justify",cmd:"JustifyFull",icon:"align-justify"}],c=>{t.ui.registry.addToggleButton(c.name,{tooltip:c.text,icon:c.icon,onAction:jc(t,c.cmd),onSetup:$x(t,c.name)})}),t.ui.registry.addButton("alignnone",{tooltip:"No alignment",icon:"align-none",onSetup:Wr(t),onAction:jc(t,"JustifyNone")})},VI=(t,s)=>{const c=()=>{const i=s.getOptions(t),d=s.getCurrent(t).map(s.hash),g=Vt();return Ee(i,p=>({type:"togglemenuitem",text:s.display(p),onSetup:C=>{const S=k=>{k&&(g.on(R=>R.setActive(!1)),g.set(C)),C.setActive(k)};S(Ec(d,s.hash(p)));const E=s.watcher(t,p,S);return()=>{g.clear(),E()}},onAction:()=>s.setCurrent(t,p)}))};t.ui.registry.addMenuButton(s.name,{tooltip:s.text,icon:s.icon,fetch:i=>i(c()),onSetup:s.onToolbarSetup}),t.ui.registry.addNestedMenuItem(s.name,{type:"nestedmenuitem",text:s.text,getSubmenuItems:c,onSetup:s.onMenuSetup})},uW=t=>({name:"lineheight",text:"Line height",icon:"line-height",getOptions:RM,hash:s=>yU(s,["fixed","relative","empty"]).getOr(s),display:sn,watcher:(s,c,i)=>s.formatter.formatChanged("lineheight",i,!1,{value:c}).unbind,getCurrent:s=>_.from(s.queryCommandValue("LineHeight")),setCurrent:(s,c)=>s.execCommand("LineHeight",!1,c),onToolbarSetup:Wr(t),onMenuSetup:Wr(t)}),zI=t=>_.from(ox(t)).map(c=>({name:"language",text:"Language",icon:"language",getOptions:Q(c),hash:i=>Kr(i.customCode)?i.code:`${i.code}/${i.customCode}`,display:i=>i.title,watcher:(i,d,g)=>{var p;return i.formatter.formatChanged("lang",g,!1,{value:d.code,customValue:(p=d.customCode)!==null&&p!==void 0?p:null}).unbind},getCurrent:i=>{const d=ee.fromDom(i.selection.getNode());return Bd(d,g=>_.some(g).filter(Hn).bind(p=>Sr(p,"lang").map(S=>{const E=Sr(p,"data-mce-lang").getOrUndefined();return{code:S,customCode:E,title:""}})))},setCurrent:(i,d)=>i.execCommand("Lang",!1,d),onToolbarSetup:i=>{const d=Vl();return i.setActive(t.formatter.match("lang",{},void 0,!0)),d.set(t.formatter.formatChanged("lang",i.setActive,!0)),x2(d.clear,Wr(t)(i))},onMenuSetup:Wr(t)})),dW=t=>{VI(t,uW(t)),zI(t).each(s=>VI(t,s))},mW=(t,s)=>{uU(t,s),pU(t,s),DU(t,s),fU(t,s),oI(t,s)},fW=t=>ul(t,"NodeChange",s=>{s.setEnabled(t.queryCommandState("outdent")&&t.selection.isEditable())}),gW=t=>{t.ui.registry.addButton("outdent",{tooltip:"Decrease indent",icon:"outdent",onSetup:fW(t),onAction:jc(t,"outdent")}),t.ui.registry.addButton("indent",{tooltip:"Increase indent",icon:"indent",onSetup:Wr(t),onAction:jc(t,"indent")})},hW=t=>{gW(t)},vT=(t,s)=>c=>{c.setActive(s.get());const i=d=>{s.set(d.state),c.setActive(d.state)};return t.on("PastePlainTextToggle",i),x2(()=>t.off("PastePlainTextToggle",i),Wr(t)(c))},pW=t=>{const s=mt(_M(t)),c=()=>t.execCommand("mceTogglePlainTextPaste");t.ui.registry.addToggleButton("pastetext",{active:!1,icon:"paste-text",tooltip:"Paste as text",onAction:c,onSetup:vT(t,s)}),t.ui.registry.addToggleMenuItem("pastetext",{text:"Paste as text",icon:"paste-text",onAction:c,onSetup:vT(t,s)})},iR=(t,s)=>()=>{t.execCommand("mceToggleFormat",!1,s)},lR=t=>{vm.each([{name:"bold",text:"Bold",icon:"bold"},{name:"italic",text:"Italic",icon:"italic"},{name:"underline",text:"Underline",icon:"underline"},{name:"strikethrough",text:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",icon:"superscript"}],(s,c)=>{t.ui.registry.addToggleButton(s.name,{tooltip:s.text,icon:s.icon,onSetup:$x(t,s.name),onAction:iR(t,s.name)})});for(let s=1;s<=6;s++){const c="h"+s;t.ui.registry.addToggleButton(c,{text:c.toUpperCase(),tooltip:"Heading "+s,onSetup:$x(t,c),onAction:iR(t,c)})}},UI=t=>{vm.each([{name:"copy",text:"Copy",action:"Copy",icon:"copy"},{name:"help",text:"Help",action:"mceHelp",icon:"help"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all"},{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"print",text:"Print",action:"mcePrint",icon:"print"}],s=>{t.ui.registry.addButton(s.name,{tooltip:s.text,icon:s.icon,onAction:jc(t,s.action)})}),vm.each([{name:"cut",text:"Cut",action:"Cut",icon:"cut"},{name:"paste",text:"Paste",action:"Paste",icon:"paste"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"remove",text:"Remove",action:"Delete",icon:"remove"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],s=>{t.ui.registry.addButton(s.name,{tooltip:s.text,icon:s.icon,onSetup:Wr(t),onAction:jc(t,s.action)})})},WI=t=>{vm.each([{name:"blockquote",text:"Blockquote",action:"mceBlockQuote",icon:"quote"}],s=>{t.ui.registry.addToggleButton(s.name,{tooltip:s.text,icon:s.icon,onAction:jc(t,s.action),onSetup:$x(t,s.name)})})},bW=t=>{lR(t),UI(t),WI(t)},vW=t=>{vm.each([{name:"newdocument",text:"New document",action:"mceNewDocument",icon:"new-document"},{name:"copy",text:"Copy",action:"Copy",icon:"copy",shortcut:"Meta+C"},{name:"selectall",text:"Select all",action:"SelectAll",icon:"select-all",shortcut:"Meta+A"},{name:"print",text:"Print...",action:"mcePrint",icon:"print",shortcut:"Meta+P"}],s=>{t.ui.registry.addMenuItem(s.name,{text:s.text,icon:s.icon,shortcut:s.shortcut,onAction:jc(t,s.action)})}),vm.each([{name:"bold",text:"Bold",action:"Bold",icon:"bold",shortcut:"Meta+B"},{name:"italic",text:"Italic",action:"Italic",icon:"italic",shortcut:"Meta+I"},{name:"underline",text:"Underline",action:"Underline",icon:"underline",shortcut:"Meta+U"},{name:"strikethrough",text:"Strikethrough",action:"Strikethrough",icon:"strike-through"},{name:"subscript",text:"Subscript",action:"Subscript",icon:"subscript"},{name:"superscript",text:"Superscript",action:"Superscript",icon:"superscript"},{name:"removeformat",text:"Clear formatting",action:"RemoveFormat",icon:"remove-formatting"},{name:"cut",text:"Cut",action:"Cut",icon:"cut",shortcut:"Meta+X"},{name:"paste",text:"Paste",action:"Paste",icon:"paste",shortcut:"Meta+V"},{name:"hr",text:"Horizontal line",action:"InsertHorizontalRule",icon:"horizontal-rule"}],s=>{t.ui.registry.addMenuItem(s.name,{text:s.text,icon:s.icon,shortcut:s.shortcut,onSetup:Wr(t),onAction:jc(t,s.action)})}),t.ui.registry.addMenuItem("codeformat",{text:"Code",icon:"sourcecode",onSetup:Wr(t),onAction:iR(t,"code")})},yW=t=>{bW(t),vW(t)},yT=(t,s)=>ul(t,"Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",c=>{c.setEnabled(!t.mode.isReadOnly()&&t.undoManager[s]())}),CW=t=>{t.ui.registry.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onSetup:yT(t,"hasUndo"),onAction:jc(t,"undo")}),t.ui.registry.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onSetup:yT(t,"hasRedo"),onAction:jc(t,"redo")})},uR=t=>{t.ui.registry.addButton("undo",{tooltip:"Undo",icon:"undo",enabled:!1,onSetup:yT(t,"hasUndo"),onAction:jc(t,"undo")}),t.ui.registry.addButton("redo",{tooltip:"Redo",icon:"redo",enabled:!1,onSetup:yT(t,"hasRedo"),onAction:jc(t,"redo")})},SW=t=>{CW(t),uR(t)},ZI=t=>ul(t,"VisualAid",s=>{s.setActive(t.hasVisual)}),wW=t=>{t.ui.registry.addToggleMenuItem("visualaid",{text:"Visual aids",onSetup:ZI(t),onAction:jc(t,"mceToggleVisualAid")})},xW=t=>{t.ui.registry.addButton("visualaid",{tooltip:"Visual aids",text:"Visual aids",onAction:jc(t,"mceToggleVisualAid")})},dR=t=>{xW(t),wW(t)},EW=(t,s)=>{HI(t),yW(t),mW(t,s),SW(t),F3(t),dR(t),hW(t),dW(t),pW(t)},jI=t=>hn(t)?t.split(/[ ,]/):t,GI=t=>s=>s.options.get(t),TW=t=>{const s=t.options.register;s("contextmenu_avoid_overlap",{processor:"string",default:""}),s("contextmenu_never_use_native",{processor:"boolean",default:!1}),s("contextmenu",{processor:c=>c===!1?{value:[],valid:!0}:hn(c)||uu(c,hn)?{value:jI(c),valid:!0}:{valid:!1,message:"Must be false or a string."},default:"link linkchecker image editimage table spellchecker configurepermanentpen"})},CT=GI("contextmenu_never_use_native"),_W=GI("contextmenu_avoid_overlap"),kW=t=>qI(t).length===0,qI=t=>{const s=t.ui.registry.getAll().contextMenus,c=t.options.get("contextmenu");return t.options.isSet("contextmenu")?c:qn(c,i=>wn(s,i))},fC=(t,s)=>({type:"makeshift",x:t,y:s}),OW=(t,s,c)=>fC(t.x+s,t.y+c),mR=t=>t.type==="longpress"||t.type.indexOf("touch")===0,AW=t=>{if(mR(t)){const s=t.touches[0];return fC(s.pageX,s.pageY)}else return fC(t.pageX,t.pageY)},RW=t=>{if(mR(t)){const s=t.touches[0];return fC(s.clientX,s.clientY)}else return fC(t.clientX,t.clientY)},DW=(t,s)=>{const c=_b.DOM.getPos(t);return OW(s,c.x,c.y)},MW=(t,s)=>s.type==="contextmenu"||s.type==="longpress"?t.inline?AW(s):DW(t.getContentAreaContainer(),RW(s)):KI(t),KI=t=>({type:"selection",root:ee.fromDom(t.selection.getNode())}),BW=t=>({type:"node",node:_.some(ee.fromDom(t.selection.getNode())),root:ee.fromDom(t.getBody())}),YI=(t,s,c)=>{switch(c){case"node":return BW(t);case"point":return MW(t,s);case"selection":return KI(t)}},NW=(t,s,c,i,d,g)=>{const p=c(),C=YI(t,s,g);Gb(p,tu.CLOSE_ON_EXECUTE,i,{isHorizontalMenu:!1,search:_.none()}).map(S=>{s.preventDefault(),io.showMenuAt(d,{anchor:C},{menu:{markers:Qu("normal")},data:S})})},XI={onLtr:()=>[as,cs,Vs,_r,Xs,dr,hl,Yb,J2,X2,Cp,Y2],onRtl:()=>[as,Vs,cs,Xs,_r,dr,hl,Yb,Cp,Y2,J2,X2]},PW=12,JI={valignCentre:[],alignCentre:[],alignLeft:["tox-pop--align-left"],alignRight:["tox-pop--align-right"],right:["tox-pop--right"],left:["tox-pop--left"],bottom:["tox-pop--bottom"],top:["tox-pop--top"]},$W=(t,s)=>{const c=t.selection;if(c.isCollapsed()||s.touches.length<1)return!1;{const i=s.touches[0],d=c.getRng();return hy(t.getWin(),As.domRange(d)).exists(p=>p.left<=i.clientX&&p.right>=i.clientX&&p.top<=i.clientY&&p.bottom>=i.clientY)}},IW=t=>{const s=t.selection.getRng(),c=()=>{sp.setEditorTimeout(t,()=>{t.selection.setRng(s)},10),g()};t.once("touchend",c);const i=p=>{p.preventDefault(),p.stopImmediatePropagation()};t.on("mousedown",i,!0);const d=()=>g();t.once("longpresscancel",d);const g=()=>{t.off("touchend",c),t.off("longpresscancel",d),t.off("mousedown",i)}},FW=(t,s,c)=>{const i=YI(t,s,c);return{bubble:tl(0,c==="point"?PW:0,JI),layouts:XI,overrides:{maxWidthFunction:NA(),maxHeightFunction:vf()},...i}},Ep=(t,s,c,i,d,g,p)=>{const C=FW(t,s,g);Gb(c,tu.CLOSE_ON_EXECUTE,i,{isHorizontalMenu:!0,search:_.none()}).map(S=>{s.preventDefault();const E=p?Ur.HighlightMenuAndItem:Ur.HighlightNone;io.showMenuWithinBounds(d,{anchor:C},{menu:{markers:Qu("normal"),highlightOnOpen:E},data:S,type:"horizontal"},()=>_.some(DI(t,i.shared,g==="node"?"node":"selection"))),t.dispatch(xI)})},QI=(t,s,c,i,d,g)=>{const p=Pi(),C=p.os.isiOS(),S=p.os.isMacOS(),E=p.os.isAndroid(),k=p.deviceType.isTouch(),R=()=>!(E||C||S&&k),B=()=>{const P=c();Ep(t,s,P,i,d,g,R())};if((S||C)&&g!=="node"){const P=()=>{IW(t),B()};$W(t,s)?P():(t.once("selectionchange",P),t.once("touchend",()=>t.off("selectionchange",P)))}else B()},eF=t=>hn(t)?t==="|":t.type==="separator",fR={type:"separator"},tF=t=>{const s=c=>({text:c.text,icon:c.icon,enabled:c.enabled,shortcut:c.shortcut});if(hn(t))return t;switch(t.type){case"separator":return fR;case"submenu":return{type:"nestedmenuitem",...s(t),getSubmenuItems:()=>{const i=t.getSubmenuItems();return hn(i)?i:Ee(i,tF)}};default:const c=t;return{type:"menuitem",...s(c),onAction:En(c.onAction)}}},nF=(t,s)=>{if(s.length===0)return t;const i=Lp(t).filter(d=>!eF(d)).fold(()=>[],d=>[fR]);return t.concat(i).concat(s).concat([fR])},oF=(t,s,c)=>{const i=eo(s,(d,g)=>We(t,g.toLowerCase()).map(p=>{const C=p.update(c);if(hn(C)&&Tc(wl(C)))return nF(d,C.split(" "));if(Di(C)&&C.length>0){const S=Ee(C,tF);return nF(d,S)}else return d}).getOrThunk(()=>d.concat([g])),[]);return i.length>0&&eF(i[i.length-1])&&i.pop(),i},LW=(t,s)=>s.ctrlKey&&!CT(t),HW=t=>t.type==="longpress"||wn(t,"touches"),sF=(t,s)=>!HW(s)&&(s.button!==2||s.target===t.getBody()&&s.pointerType===""),rF=(t,s)=>sF(t,s)?t.selection.getStart(!0):s.target,VW=(t,s)=>{const c=_W(t),i=sF(t,s)?"selection":"point";if(Tc(c)){const d=rF(t,s);return k2(ee.fromDom(d),c)?"node":i}else return i},zW=(t,s,c)=>{const d=Pi().deviceType.isTouch,g=Ys(io.sketch({dom:{tag:"div"},lazySink:s,onEscape:()=>t.focus(),onShow:()=>c.setContextMenuState(!0),onHide:()=>c.setContextMenuState(!1),fireDismissalEventInstead:{},inlineBehaviours:Be([Nt("dismissContextMenu",[be(Ru(),(S,E)=>{Kt.close(S),t.focus()})])])})),p=()=>io.hide(g),C=S=>{if(CT(t)&&S.preventDefault(),LW(t,S)||kW(t))return;const E=VW(t,S),k=()=>{const B=rF(t,S),P=t.ui.registry.getAll(),F=qI(t);return oF(P.contextMenus,F,B)};(d()?QI:NW)(t,S,k,c,g,E)};t.on("init",()=>{const S="ResizeEditor ScrollContent ScrollWindow longpresscancel"+(d()?"":" ResizeWindow");t.on(S,p),t.on("longpress contextmenu",C)})},gR=ic.generate([{offset:["x","y"]},{absolute:["x","y"]},{fixed:["x","y"]}]),ST=t=>s=>s.translate(-t.left,-t.top),wT=t=>s=>s.translate(t.left,t.top),Cm=t=>(s,c)=>eo(t,(i,d)=>d(i),pn(s,c)),gC=(t,s,c)=>t.fold(Cm([wT(c),ST(s)]),Cm([ST(s)]),Cm([])),Tp=(t,s,c)=>t.fold(Cm([wT(c)]),Cm([]),Cm([wT(s)])),cF=(t,s,c)=>t.fold(Cm([]),Cm([ST(c)]),Cm([wT(s),ST(c)])),hC=(t,s,c,i,d,g)=>{const p=Tp(t,d,g),C=Tp(s,d,g);return Math.abs(p.left-C.left)<=c&&Math.abs(p.top-C.top)<=i},UW=(t,s,c,i,d,g)=>{const p=Tp(t,d,g),C=Tp(s,d,g),S=Math.abs(p.left-C.left),E=Math.abs(p.top-C.top);return pn(S,E)},aF=(t,s,c)=>{const i=t.fold((d,g)=>({position:_.some("absolute"),left:_.some(d+"px"),top:_.some(g+"px")}),(d,g)=>({position:_.some("absolute"),left:_.some(d-c.left+"px"),top:_.some(g-c.top+"px")}),(d,g)=>({position:_.some("fixed"),left:_.some(d+"px"),top:_.some(g+"px")}));return{right:_.none(),bottom:_.none(),...i}},hR=(t,s,c)=>t.fold((i,d)=>xT(i+s,d+c),(i,d)=>bg(i+s,d+c),(i,d)=>_p(i+s,d+c)),pR=(t,s,c,i)=>{const d=(g,p)=>(C,S)=>{const E=g(s,c,i);return p(C.getOr(E.left),S.getOr(E.top))};return t.fold(d(cF,xT),d(Tp,bg),d(gC,_p))},xT=gR.offset,bg=gR.absolute,_p=gR.fixed,iF=(t,s)=>{const c=xo(t,s);return Kr(c)?NaN:parseInt(c,10)},WW=(t,s)=>{const c=t.element,i=iF(c,s.leftAttr),d=iF(c,s.topAttr);return isNaN(i)||isNaN(d)?_.none():_.some(pn(i,d))},ZW=(t,s,c)=>{const i=t.element;Ze(i,s.leftAttr,c.left+"px"),Ze(i,s.topAttr,c.top+"px")},jW=(t,s)=>{const c=t.element;Po(c,s.leftAttr),Po(c,s.topAttr)},GW=(t,s,c,i)=>WW(t,s).fold(()=>c,d=>_p(d.left+i.left,d.top+i.top)),qW=(t,s,c,i,d,g)=>{const p=GW(t,s,c,i),C=s.mustSnap?YW(t,s,p,d,g):XW(t,s,p,d,g),S=gC(p,d,g);return ZW(t,s,S),C.fold(()=>({coord:_p(S.left,S.top),extra:_.none()}),E=>({coord:E.output,extra:E.extra}))},KW=(t,s)=>{jW(t,s)},lF=(t,s,c,i)=>Bs(t,d=>{const g=d.sensor;return hC(s,g,d.range.left,d.range.top,c,i)?_.some({output:pR(d.output,s,c,i),extra:d.extra}):_.none()}),YW=(t,s,c,i,d)=>{const g=s.getSnapPoints(t);return lF(g,c,i,d).orThunk(()=>eo(g,(S,E)=>{const k=E.sensor,R=UW(c,k,E.range.left,E.range.top,i,d);return S.deltas.fold(()=>({deltas:_.some(R),snap:_.some(E)}),B=>{const P=(R.left+R.top)/2,F=(B.left+B.top)/2;return P<=F?{deltas:_.some(R),snap:_.some(E)}:S})},{deltas:_.none(),snap:_.none()}).snap.map(S=>({output:pR(S.output,c,i,d),extra:S.extra})))},XW=(t,s,c,i,d)=>{const g=s.getSnapPoints(t);return lF(g,c,i,d)},JW=(t,s,c)=>({coord:pR(t.output,t.output,s,c),extra:t.extra});var QW=Object.freeze({__proto__:null,snapTo:(t,s,c,i)=>{const d=s.getTarget(t.element);if(s.repositionTarget){const g=kc(t.element),p=nc(g),C=V5(d),S=JW(i,p,C),E=aF(S.coord,p,C);Me(d,E)}}});const l0="data-initial-z-index",eZ=t=>{Ca(t.element).filter(Hn).each(s=>{Sr(s,l0).fold(()=>ln(s,"z-index"),c=>Bt(s,"z-index",c)),Po(s,l0)})},tZ=t=>{Ca(t.element).filter(Hn).each(s=>{Ns(s,"z-index").each(c=>{Ze(s,l0,c)}),Bt(s,"z-index",Eo(t.element,"z-index"))})},uF=(t,s)=>{t.getSystem().addToGui(s),tZ(s)},nZ=t=>{eZ(t),t.getSystem().removeFromGui(t)},dF=(t,s,c)=>t.getSystem().build(ou.sketch({dom:{styles:{left:"0px",top:"0px",width:"100%",height:"100%",position:"fixed","z-index":"1000000000000000"},classes:[s]},events:c}));var oZ=Br("snaps",[ye("getSnapPoints"),Qt("onSensor"),ye("leftAttr"),ye("topAttr"),oe("lazyViewport",ir),oe("mustSnap",!1)]);const ET=[oe("useFixed",Rn),ye("blockerClass"),oe("getTarget",sn),oe("onDrag",q),oe("repositionTarget",!0),oe("onDrop",q),ps("getBounds",ir),oZ],sZ=t=>xm(Ns(t,"left"),Ns(t,"top"),Ns(t,"position"),(s,c,i)=>(i==="fixed"?_p:xT)(parseInt(s,10),parseInt(c,10))).getOrThunk(()=>{const s=wa(t);return bg(s.left,s.top)}),rZ=(t,s,c,i,d)=>{const g=d.bounds,p=Tp(s,c,i),C=Ic(p.left,g.x,g.x+g.width-d.width),S=Ic(p.top,g.y,g.y+g.height-d.height),E=bg(C,S);return s.fold(()=>{const k=cF(E,c,i);return xT(k.left,k.top)},Q(E),()=>{const k=gC(E,c,i);return _p(k.left,k.top)})},cZ=(t,s,c,i,d,g,p)=>{const C=s.fold(()=>{const S=hR(c,g.left,g.top),E=gC(S,i,d);return _p(E.left,E.top)},S=>{const E=qW(t,S,c,g,i,d);return E.extra.each(k=>{S.onSensor(t,k)}),E.coord});return rZ(t,C,i,d,p)},aZ=(t,s,c,i)=>{const d=s.getTarget(t.element);if(s.repositionTarget){const g=kc(t.element),p=nc(g),C=V5(d),S=sZ(d),E=cZ(t,s.snaps,S,p,C,i,c),k=aF(E,p,C);Me(d,k)}s.onDrag(t,d,i)},mF=(t,s)=>({bounds:t.getBounds(),height:bu(s.element),width:Xa(s.element)}),pC=(t,s,c,i,d)=>{const g=c.update(i,d),p=c.getStartData().getOrThunk(()=>mF(s,t));g.each(C=>{aZ(t,s,p,C)})},bR=(t,s,c,i)=>{s.each(nZ),c.snaps.each(g=>{KW(t,g)});const d=c.getTarget(t.element);i.reset(),c.onDrop(t,d)},vR=t=>(s,c)=>{const i=d=>{c.setStartData(mF(s,d))};return In([be(Zi(),d=>{c.getStartData().each(()=>i(d))}),...t(s,c,i)])},iZ=t=>In([be(Go(),t.forceDrop),be(uv(),t.drop),be(zm(),(s,c)=>{t.move(c.event)}),be(Um(),t.delayDrop)]);var lZ=Object.freeze({__proto__:null,getData:t=>_.from(pn(t.x,t.y)),getDelta:(t,s)=>pn(s.left-t.left,s.top-t.top)});const fF=(t,s,c)=>[be(Go(),(i,d)=>{if(d.event.raw.button!==0)return;d.stop();const p=()=>bR(i,_.some(E),t,s),C=pN(p,200),S={drop:p,delayDrop:C.schedule,forceDrop:p,move:R=>{C.cancel(),pC(i,t,s,lZ,R)}},E=dF(i,t.blockerClass,iZ(S));(()=>{c(i),uF(i,E)})()})],uZ=[...ET,Tn("dragger",{handlers:vR(fF)})],dZ=t=>In([be(Wi(),t.forceDrop),be(Nd(),t.drop),be(nS(),t.drop),be(Vm(),(s,c)=>{t.move(c.event)})]),mZ=t=>{const s=t[0];return _.some(pn(s.clientX,s.clientY))};var gF=Object.freeze({__proto__:null,getData:t=>{const c=t.raw.touches;return c.length===1?mZ(c):_.none()},getDelta:(t,s)=>pn(s.left-t.left,s.top-t.top)});const hF=(t,s,c)=>{const i=Vt(),d=g=>{bR(g,i.get(),t,s),i.clear()};return[be(Wi(),(g,p)=>{p.stop();const C=()=>d(g),S={drop:C,delayDrop:q,forceDrop:C,move:R=>{pC(g,t,s,gF,R)}},E=dF(g,t.blockerClass,dZ(S));i.set(E),(()=>{c(g),uF(g,E)})()}),be(Vm(),(g,p)=>{p.stop(),pC(g,t,s,gF,p.event)}),be(Nd(),(g,p)=>{p.stop(),d(g)}),be(nS(),d)]},fZ=[...ET,Tn("dragger",{handlers:vR(hF)})],gZ=(t,s,c)=>[...fF(t,s,c),...hF(t,s,c)],hZ=[...ET,Tn("dragger",{handlers:vR(gZ)})];var bZ=Object.freeze({__proto__:null,mouse:uZ,touch:fZ,mouseOrTouch:hZ}),vZ=Object.freeze({__proto__:null,init:()=>{let t=_.none(),s=_.none();const c=()=>{t=_.none(),s=_.none()},i=(S,E)=>{const k=t.map(R=>S.getDelta(R,E));return t=_.some(E),k},d=(S,E)=>S.getData(E).bind(k=>i(S,k)),g=S=>{s=_.some(S)},p=()=>s,C=Q({});return dc({readState:C,reset:c,update:d,getStartData:p,setStartData:g})}});const kp=F1({branchKey:"mode",branches:bZ,name:"dragging",active:{events:(t,s)=>t.dragger.handlers(t,s)},extra:{snap:t=>({sensor:t.sensor,range:t.range,output:t.output,extra:_.from(t.extra)})},state:vZ,apis:QW}),yR=40,TT=yR/2,pF=(t,s,c,i,d,g)=>t.fold(()=>kp.snap({sensor:bg(c-TT,i-TT),range:pn(d,g),output:bg(_.some(c),_.some(i)),extra:{td:s}}),p=>{const C=c-TT,S=i-TT,E=yR,k=yR,R=p.element.dom.getBoundingClientRect();return kp.snap({sensor:bg(C,S),range:pn(E,k),output:bg(_.some(c-R.width/2),_.some(i-R.height/2)),extra:{td:s}})}),CR=(t,s,c)=>{const i=(d,g)=>d.exists(p=>$n(p,g));return{getSnapPoints:t,leftAttr:"data-drag-left",topAttr:"data-drag-top",onSensor:(d,g)=>{const p=g.td;i(s.get(),p)||(s.set(p),c(p))},mustSnap:!0}},SR=t=>Cn(Ds.sketch({dom:{tag:"div",classes:["tox-selector"]},buttonBehaviours:Be([kp.config({mode:"mouseOrTouch",blockerClass:"blocker",snaps:t}),M2.config({})]),eventOrder:{mousedown:["dragging","alloy.base.behaviour"],touchstart:["dragging","alloy.base.behaviour"]}})),Op=(t,s)=>{const c=mt([]),i=mt([]),d=mt(!1),g=Vt(),p=Vt(),C=De=>{const $e=sa(De);return pF(P.getOpt(s),De,$e.x,$e.y,$e.width,$e.height)},S=()=>Ee(c.get(),De=>C(De)),E=De=>{const $e=sa(De);return pF(F.getOpt(s),De,$e.right,$e.bottom,$e.width,$e.height)},k=()=>Ee(i.get(),De=>E(De)),R=CR(S,g,De=>{p.get().each($e=>{t.dispatch("TableSelectorChange",{start:De,finish:$e})})}),B=CR(k,p,De=>{g.get().each($e=>{t.dispatch("TableSelectorChange",{start:$e,finish:De})})}),P=SR(R),F=SR(B),W=Ys(P.asSpec()),se=Ys(F.asSpec()),K=(De,$e,Pt,tt)=>{const ft=$e.dom.getBoundingClientRect();ln(De.element,"display");const Ct=wd(ee.fromDom(t.getBody())).dom.innerHeight,yn=Pt(ft),dt=tt(ft,Ct);(yn||dt)&&Bt(De.element,"display","none")},j=(De,$e,Pt,tt)=>{const ft=Pt($e);kp.snapTo(De,ft),K(De,$e,dt=>dt[tt]<0,(dt,on)=>dt[tt]>on)},re=De=>j(W,De,C,"top"),we=()=>g.get().each(re),he=De=>j(se,De,E,"bottom"),me=()=>p.get().each(he);Pi().deviceType.isTouch()&&(t.on("TableSelectionChange",De=>{d.get()||(ju(s,W),ju(s,se),d.set(!0)),g.set(De.start),p.set(De.finish),De.otherCells.each($e=>{c.set($e.upOrLeftCells),i.set($e.downOrRightCells),re(De.start),he(De.finish)})}),t.on("ResizeEditor ResizeWindow ScrollContent",()=>{we(),me()}),t.on("TableSelectionClear",()=>{d.get()&&(ol(W),ol(se),d.set(!1)),g.clear(),p.clear()}))};var yZ=` - - -`;const wR=t=>t.nodeName==="BR"||!!t.getAttribute("data-mce-bogus")||t.getAttribute("data-mce-type")==="bookmark",_T=(t,s,c)=>{var i;const d=(i=s.delimiter)!==null&&i!==void 0?i:"›",g=(E,k,R)=>Ds.sketch({dom:{tag:"div",classes:["tox-statusbar__path-item"],attributes:{"data-index":R,"aria-level":R+1}},components:[vo(E)],action:B=>{t.focus(),t.selection.select(k),t.nodeChanged()},buttonBehaviours:Be([Ha.button(c.isDisabled),bs()])}),p=()=>({dom:{tag:"div",classes:["tox-statusbar__path-divider"],attributes:{"aria-hidden":!0}},components:[vo(` ${d} `)]}),C=E=>eo(E,(k,R,B)=>{const P=g(R.name,R.element,B);return B===0?k.concat([P]):k.concat([p(),P])},[]),S=E=>{const k=[];let R=E.length;for(;R-- >0;){const B=E[R];if(B.nodeType===1&&!wR(B)){const P=VB(t,B);if(P.isDefaultPrevented()||k.push({name:P.name,element:B}),P.isPropagationStopped())break}}return k};return{dom:{tag:"div",classes:["tox-statusbar__path"],attributes:{role:"navigation"}},behaviours:Be([lt.config({mode:"flow",selector:"div[role=button]"}),bt.config({disabled:c.isDisabled}),bs(),Jn.config({}),kt.config({}),Nt("elementPathEvents",[Mn((E,k)=>{t.shortcuts.add("alt+F11","focus statusbar elementpath",()=>lt.focusIn(E)),t.on("NodeChange",R=>{const B=S(R.parents),P=B.length>0?C(B):[];kt.set(E,P)})})])]),components:[]}};var vg;(function(t){t[t.None=0]="None",t[t.Both=1]="Both",t[t.Vertical=2]="Vertical"})(vg||(vg={}));const CZ=(t,s,c,i,d)=>{const g={height:uC(i+s.top,M4(t),B4(t))};return c===vg.Both&&(g.width=uC(d+s.left,D4(t),nx(t))),g},bF=(t,s,c)=>{const i=ee.fromDom(t.getContainer()),d=CZ(t,s,c,ts(i),gs(i));ms(d,(g,p)=>{Ga(g)&&Bt(i,p,eR(g))}),LB(t)},SZ=t=>{const s=ax(t);return s===!1?vg.None:s==="both"?vg.Both:vg.Vertical},kT=(t,s,c,i)=>{const g=pn(c*20,i*20);return bF(t,g,s),_.some(!0)},Ap=(t,s)=>{const c=SZ(t);if(c===vg.None)return _.none();const i=c===vg.Both?"Press the arrow keys to resize the editor.":"Press the Up and Down arrow keys to resize the editor.";return _.some(il("resize-handle",{tag:"div",classes:["tox-statusbar__resize-handle"],attributes:{title:s.translate("Resize"),"aria-label":s.translate(i)},behaviours:[kp.config({mode:"mouse",repositionTarget:!1,onDrag:(d,g,p)=>bF(t,p,c),blockerClass:"tox-blocker"}),lt.config({mode:"special",onLeft:()=>kT(t,c,-1,0),onRight:()=>kT(t,c,1,0),onUp:()=>kT(t,c,0,-1),onDown:()=>kT(t,c,0,1)}),Jn.config({}),yt.config({})]},s.icons))},vF=(t,s)=>{const c=(i,d,g)=>kt.set(i,[vo(s.translate(["{0} "+g,d[g]]))]);return Ds.sketch({dom:{tag:"button",classes:["tox-statusbar__wordcount"]},components:[],buttonBehaviours:Be([Ha.button(s.isDisabled),bs(),Jn.config({}),kt.config({}),ze.config({store:{mode:"memory",initialValue:{mode:"words",count:{words:0,characters:0}}}}),Nt("wordcount-events",[Ra(i=>{const d=ze.getValue(i),g=d.mode==="words"?"characters":"words";ze.setValue(i,{mode:g,count:d.count}),c(i,d.count,g)}),Mn(i=>{t.on("wordCountUpdate",d=>{const{mode:g}=ze.getValue(i);ze.setValue(i,{mode:g,count:d.wordCount}),c(i,d.wordCount,g)})})])]),eventOrder:{[uc()]:["disabling","alloy.base.behaviour","wordcount-events"]}})},wZ=(t,s)=>{const c=()=>({dom:{tag:"span",classes:["tox-statusbar__branding"]},components:[{dom:{tag:"a",attributes:{href:"https://www.tiny.cloud/powered-by-tiny?utm_campaign=poweredby&utm_source=tiny&utm_medium=referral&utm_content=v6",rel:"noopener",target:"_blank","aria-label":Wc.translate(["Powered by {0}","Tiny"])},innerHtml:yZ.trim()},behaviours:Be([yt.config({})])}]}),i=()=>{const C=xB("Alt+0"),S="Press {0} for help";return{dom:{tag:"div",classes:["tox-statusbar__help-text"]},components:[vo(Wc.translate([S,C]))]}},d=()=>{const C=[];return t.hasPlugin("wordcount")&&C.push(vF(t,s)),F4(t)&&C.push(c()),{dom:{tag:"div",classes:["tox-statusbar__right-container"]},components:C}},g=()=>{const C=[],S=OM(t),E=cx(t),k=F4(t)||t.hasPlugin("wordcount"),R=()=>{const B="tox-statusbar__text-container--flex-start",P="tox-statusbar__text-container--flex-end",F="tox-statusbar__text-container--space-around";if(S){const W="tox-statusbar__text-container-3-cols";return!k&&!E?[W,F]:k&&!E?[W,P]:[W,B]}return[k&&!E?P:B]};return E&&C.push(_T(t,{},s)),S&&C.push(i()),k&&C.push(d()),C.length>0?[{dom:{tag:"div",classes:["tox-statusbar__text-container",...R()]},components:C}]:[]};return{dom:{tag:"div",classes:["tox-statusbar"]},components:(()=>{const C=g(),S=Ap(t,s);return C.concat(S.toArray())})()}},yF=(t,s)=>s.get().getOrDie(`UI for ${t} has not been rendered`),xZ=(t,s)=>{const c=t.inline,i=c?wI:vI,d=d2(t)?t$:Nz,g=JU(),p=Vt(),C=Vt(),S=Vt(),B=Pi().deviceType.isTouch()?["tox-platform-touch"]:[],P=V4(t),F=Ob(t),W=Cn({dom:{tag:"div",classes:["tox-anchorbar"]}}),se=Cn({dom:{tag:"div",classes:["tox-bottom-anchorbar"]}}),K=()=>g.mainUi.get().map(ht=>ht.outerContainer).bind(Wn.getHeader),j=()=>$t.fromOption(g.dialogUi.get().map(ht=>ht.sink),"UI has not been rendered"),re=()=>$t.fromOption(g.popupUi.get().map(ht=>ht.sink),"(popup) UI has not been rendered"),we=g.lazyGetInOuterOrDie("anchor bar",W.getOpt),he=g.lazyGetInOuterOrDie("bottom anchor bar",se.getOpt),me=g.lazyGetInOuterOrDie("toolbar",Wn.getToolbar),De=g.lazyGetInOuterOrDie("throbber",Wn.getThrobber),$e=_z({popup:re,dialog:j},t,we,he),Pt=()=>{const ht={attributes:{[yf]:P?ca.BottomToTop:ca.TopToBottom}},At=Wn.parts.menubar({dom:{tag:"div",classes:["tox-menubar"]},backstage:$e.popup,onEscape:()=>{t.focus()}}),Pn=Wn.parts.toolbar({dom:{tag:"div",classes:["tox-toolbar"]},getSink:$e.popup.shared.getSink,providers:$e.popup.shared.providers,onEscape:()=>{t.focus()},onToolbarToggled:_g=>{l8(t,_g)},type:F,lazyToolbar:me,lazyHeader:()=>K().getOrDie("Could not find header element"),...ht}),fn=Wn.parts["multiple-toolbar"]({dom:{tag:"div",classes:["tox-toolbar-overlord"]},providers:$e.popup.shared.providers,onEscape:()=>{t.focus()},type:F}),Rr=u2(t),Qn=mx(t),Jc=lx(t),yl=ix(t),Eg=tt(),Tg=Rr||Qn||Jc,Bp=()=>Rr?[fn]:Qn?[Pn]:[],IT=yl?[Eg,At]:[At];return Wn.parts.header({dom:{tag:"div",classes:["tox-editor-header"].concat(Tg?[]:["tox-editor-header--empty"]),...ht},components:Dt([Jc?IT:[],Bp(),Kf(t)?[]:[W.asSpec()]]),sticky:d2(t),editor:t,sharedBackstage:$e.popup.shared})},tt=()=>Wn.parts.promotion({dom:{tag:"div",classes:["tox-promotion"]}}),ft=()=>{const ht=Wn.parts.socket({dom:{tag:"div",classes:["tox-edit-area"]}}),At=Wn.parts.sidebar({dom:{tag:"div",classes:["tox-sidebar"]}});return{dom:{tag:"div",classes:["tox-sidebar-wrap"]},components:[ht,At]}},Ct=()=>{const ht=z4(t),At=$n(Gs(),ht)&&Eo(ht,"display")==="grid",Pn={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-tinymce-aux"].concat(B),attributes:{...Wc.isRtl()?{dir:"rtl"}:{}}},behaviours:Be([Js.config({useFixed:()=>d.isDocked(K)})])},fn={dom:{styles:{width:document.body.clientWidth+"px"}},events:In([be(ui(),Jc=>{Bt(Jc.element,"width",document.body.clientWidth+"px")})])},Rr=Ys(Vn(Pn,At?fn:{})),Qn=qx(Rr);return C.set(Qn),{sink:Rr,mothership:Qn}},yn=()=>{const ht={dom:{tag:"div",classes:["tox","tox-silver-sink","tox-silver-popup-sink","tox-tinymce-aux"].concat(B),attributes:{...Wc.isRtl()?{dir:"rtl"}:{}}},behaviours:Be([Js.config({useFixed:()=>d.isDocked(K),getBounds:()=>s.getPopupSinkBounds()})])},At=Ys(ht),Pn=qx(At);return S.set(Pn),{sink:At,mothership:Pn}},dt=()=>{const ht=Pt(),At=ft(),Pn=Wn.parts.throbber({dom:{tag:"div",classes:["tox-throbber"]},backstage:$e.popup}),fn=Wn.parts.viewWrapper({backstage:$e.popup}),Rr=rx(t)&&!c?_.some(wZ(t,$e.popup.shared.providers)):_.none(),Qn=Dt([P?[]:[ht],c?[]:[At],P?[ht]:[]]),Jc=Wn.parts.editorContainer({components:Dt([Qn,c?[]:[se.asSpec(),...Rr.toArray()]])}),yl=U4(t),Eg={role:"application",...Wc.isRtl()?{dir:"rtl"}:{},...yl?{"aria-hidden":"true"}:{}},Tg=Ys(Wn.sketch({dom:{tag:"div",classes:["tox","tox-tinymce"].concat(c?["tox-tinymce-inline"]:[]).concat(P?["tox-tinymce--toolbar-bottom"]:[]).concat(B),styles:{visibility:"hidden",...yl?{opacity:"0",border:"0"}:{}},attributes:Eg},components:[Jc,...c?[]:[fn],Pn],behaviours:Be([bs(),bt.config({disableClass:"tox-tinymce--disabled"}),lt.config({mode:"cyclic",selector:".tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle"})])})),Bp=qx(Tg);return p.set(Bp),{mothership:Bp,outerContainer:Tg}},on=ht=>{const At=eR(qU(t)),Pn=eR(KU(t));return t.inline||(pu("div","width",Pn)&&Bt(ht.element,"width",Pn),pu("div","height",At)?Bt(ht.element,"height",At):Bt(ht.element,"height","400px")),At},Ie=ht=>{t.addShortcut("alt+F9","focus menubar",()=>{Wn.focusMenubar(ht)}),t.addShortcut("alt+F10","focus toolbar",()=>{Wn.focusToolbar(ht)}),t.addCommand("ToggleToolbarDrawer",(At,Pn)=>{Pn!=null&&Pn.skipFocus?Wn.toggleToolbarDrawerWithoutFocusing(ht):Wn.toggleToolbarDrawer(ht)}),t.addQueryStateHandler("ToggleToolbarDrawer",()=>Wn.isToolbarDrawerToggled(ht))},et=ht=>{const{mainUi:At,popupUi:Pn,uiMotherships:fn}=ht;po(vM(t),(Np,BR)=>{t.ui.registry.addGroupToolbarButton(BR,Np)});const{buttons:Rr,menuItems:Qn,contextToolbars:Jc,sidebars:yl,views:Eg}=t.ui.registry.getAll(),Tg=H4(t),Bp={menuItems:Qn,menus:MM(t),menubar:SM(t),toolbar:Tg.getOrThunk(()=>l2(t)),allowToolbarGroups:F===wi.floating,buttons:Rr,sidebar:yl,views:Eg};Ie(At.outerContainer),Jb(t,At.mothership,fn),d.setup(t,$e.popup.shared,K),EW(t,$e.popup),zW(t,$e.popup.shared.getSink,$e.popup),d9(t),UE(t,De,$e.popup.shared),LI(t,Jc,Pn.sink,{backstage:$e.popup}),Op(t,Pn.sink);const IT=t.getElement(),_g=on(At.outerContainer),MR={targetNode:IT,height:_g};return i.render(t,ht,Bp,$e.popup,MR)},xt=ht=>(S.set(ht.mothership),ht),jt=()=>{const ht=dt(),At=Ct(),Pn=um(t)?yn():xt(At);g.dialogUi.set(At),g.popupUi.set(Pn),g.mainUi.set(ht);const fn={popupUi:Pn,dialogUi:At,mainUi:ht,uiMotherships:g.getUiMotherships()};return et(fn)};return{popups:{backstage:$e.popup,getMothership:()=>yF("popups",S)},dialogs:{backstage:$e.dialog,getMothership:()=>yF("dialogs",C)},renderUI:jt}},EZ=(t,s)=>{const c=Sr(t,"id").fold(()=>{const i=Xe("dialog-label");return Ze(s,"id",i),i},sn);Ze(t,"aria-labelledby",c)},TZ=Q([ye("lazySink"),vn("dragBlockClass"),ps("getBounds",ir),oe("useTabstopAt",vt),oe("firstTabstop",0),oe("eventOrder",{}),Ko("modalBehaviours",[lt]),pc("onExecute"),Mv("onEscape")]),xR={sketch:sn},_Z=Q([Hr({name:"draghandle",overrides:(t,s)=>({behaviours:Be([kp.config({mode:"mouse",getTarget:c=>gc(c,'[role="dialog"]').getOr(c),blockerClass:t.dragBlockClass.getOrDie(new Error(`The drag blocker class was not specified for a dialog with a drag handle: -`+JSON.stringify(s,null,2)).message),getBounds:t.getDragBounds})])})}),Qs({schema:[ye("dom")],name:"title"}),Qs({factory:xR,schema:[ye("dom")],name:"close"}),Qs({factory:xR,schema:[ye("dom")],name:"body"}),Hr({factory:xR,schema:[ye("dom")],name:"footer"}),$a({factory:{sketch:(t,s)=>({...t,dom:s.dom,components:s.components})},schema:[oe("dom",{tag:"div",styles:{position:"fixed",left:"0px",top:"0px",right:"0px",bottom:"0px"}}),oe("components",[])],name:"blocker"})]),kZ=(t,s,c,i)=>{const d=Vt(),g=P=>{d.set(P);const F=t.lazySink(P).getOrDie(),W=i.blocker(),se=F.getSystem().build({...W,components:W.components.concat([$c(P)]),behaviours:Be([yt.config({}),Nt("dialog-blocker-events",[ji(lc(),()=>{iu.isBlocked(P)?q():lt.focusIn(P)})])])});ju(F,se),lt.focusIn(P)},p=P=>{d.clear(),Ca(P.element).each(F=>{P.getSystem().getByDom(F).each(W=>{ol(W)})})},C=P=>ql(P,t,"body"),S=P=>Bn(P,t,"footer"),E=(P,F)=>{iu.block(P,F)},k=P=>{iu.unblock(P)},R=Xe("modal-events"),B={...t.eventOrder,[Nc()]:[R].concat(t.eventOrder["alloy.system.attached"]||[])};return{uid:t.uid,dom:t.dom,components:s,apis:{show:g,hide:p,getBody:C,getFooter:S,setIdle:k,setBusy:E},eventOrder:B,domModification:{attributes:{role:"dialog","aria-modal":"true"}},behaviours:Io(t.modalBehaviours,[kt.config({}),lt.config({mode:"cyclic",onEnter:t.onExecute,onEscape:t.onEscape,useTabstopAt:t.useTabstopAt,firstTabstop:t.firstTabstop}),iu.config({getRoot:d.get}),Nt(R,[Mn(P=>{EZ(P.element,ql(P,t,"title").element)})])])}},Yo=er({name:"ModalDialog",configFields:TZ(),partFields:_Z(),factory:kZ,apis:{show:(t,s)=>{t.show(s)},hide:(t,s)=>{t.hide(s)},getBody:(t,s)=>t.getBody(s),getFooter:(t,s)=>t.getFooter(s),setBusy:(t,s,c)=>{t.setBusy(s,c)},setIdle:(t,s)=>{t.setIdle(s)}}}),bC=rt([Wo,Cx].concat(lp)),ER=si,u0=[Ox("button"),ua,ac("align","end",["start","end"]),Tx,da,cv("buttonType",["primary","secondary"])],yg=[...u0,td],d0=[ri("type",["submit","cancel","custom"]),...yg],OZ=[ri("type",["menu"]),Qf,wx,ua,Mc("items",bC),...u0],CF=[...u0,ri("type",["togglebutton"]),dn("tooltip"),ua,Qf,ss("active",!1)],SF=Jt("type",{submit:d0,cancel:d0,custom:d0,menu:OZ,togglebutton:CF}),wF=[Wo,td,ri("level",["info","warn","error","success"]),QM,oe("url","")],AZ=rt(wF),RZ=t=>[Wo,t],DZ=[Wo,td,da,Ox("button"),ua,s3,cv("buttonType",["primary","secondary","toolbar"]),Tx],xF=rt(DZ),Rp=[Wo,Cx],Ai=Rp.concat([xx]),MZ=Rp.concat([Sx,da]),BZ=rt(MZ),NZ=si,EF=Ai.concat([r3("auto")]),PZ=rt(EF),$Z=kl([h2,td,QM]),IZ=Ai.concat([Vi("storageKey","default")]),TR=rt(IZ),_R=_s,TF=rt(Ai),FZ=_s,LZ=Rp.concat([Vi("tag","textarea"),dn("scriptId"),dn("scriptUrl"),UR("settings",void 0)]),_F=Rp.concat([Vi("tag","textarea"),ci("init")]),HZ=Eu(t=>co("customeditor.old",zn(_F),t).orThunk(()=>co("customeditor.new",zn(LZ),t))),VZ=_s,kF=rt(Ai),zZ=XC(),OT=t=>[Wo,Jg("columns"),t],f0=[Wo,dn("html"),ac("presets","presentation",["presentation","document"])],AT=rt(f0),OF=Ai.concat([ss("border",!1),ss("sandboxed",!0),ss("streamContent",!1),ss("transparent",!0)]),RT=rt(OF),Xc=_s,DT=rt(Rp.concat([Is("height")])),AF=rt([dn("url"),Rd("zoom"),Rd("cachedWidth"),Rd("cachedHeight")]),RF=Ai.concat([Is("inputMode"),Is("placeholder"),ss("maximized",!1),da]),UZ=rt(RF),WZ=_s,Cg=t=>[Wo,Sx,t,ac("align","start",["start","center","end"])],aG=[td,h2],ZZ=[td,Mc("items",Xg("items",()=>kR))],kR=Je([rt(aG),rt(ZZ)]),g0=Ai.concat([Mc("items",kR),da]),MT=rt(g0),DF=_s,jZ=Ai.concat([rv("items",[td,h2]),Hi("size",1),da]),GZ=rt(jZ),qZ=_s,KZ=Ai.concat([ss("constrain",!0),da]),h0=rt(KZ),YZ=rt([dn("width"),dn("height")]),XZ=Rp.concat([Sx,Hi("min",0),Hi("max",0)]),JZ=rt(XZ),iG=Kg,QZ=[Wo,Mc("header",_s),Mc("cells",oi(_s))],ej=rt(QZ),vC=Ai.concat([Is("placeholder"),ss("maximized",!1),da]),tj=rt(vC),nj=_s,OR=[ri("type",["directory","leaf"]),n3,dn("id"),Li("menu",sC)],oj=rt(OR),e=OR.concat([Mc("children",Xg("children",()=>ke("type",{directory:n,leaf:oj})))]),n=rt(e),o=ke("type",{directory:n,leaf:oj}),r=[Wo,Mc("items",o),Dd("onLeafAction"),Dd("onToggleExpand"),Nr("defaultExpandedIds",[],_s),Is("defaultSelectedId")],a=rt(r),u=Ai.concat([ac("filetype","file",["image","media","file"]),da,Is("picker_text")]),f=rt(u),b=rt([h2,_x]),y=t=>$s("items","items",xn(),oi(Eu(s=>co(`Checking item of ${t}`,x,s).fold(c=>$t.error(lr(c)),c=>$t.value(c))))),x=Ts(()=>ke("type",{alertbanner:AZ,bar:rt(RZ(y("bar"))),button:xF,checkbox:BZ,colorinput:TR,colorpicker:TF,dropzone:kF,grid:rt(OT(y("grid"))),iframe:RT,input:UZ,listbox:MT,selectbox:GZ,sizeinput:h0,slider:JZ,textarea:tj,urlinput:f,customeditor:HZ,htmlpanel:AT,imagepreview:DT,collection:PZ,label:rt(Cg(y("label"))),table:ej,tree:a,panel:A})),O=[Wo,oe("classes",[]),Mc("items",x)],A=rt(O),M=[Ox("tab"),n3,Mc("items",x)],L=[Wo,rv("tabs",M)],V=rt(L),I=yg,z=SF,G=rt([dn("title"),rc("body",ke("type",{panel:A,tabpanel:V})),Vi("size","normal"),Nr("buttons",[],z),oe("initialData",{}),ps("onAction",q),ps("onChange",q),ps("onSubmit",q),ps("onClose",q),ps("onCancel",q),ps("onTabChange",q)]),X=t=>co("dialog",G,t),J=rt([ri("type",["cancel","custom"]),...I]),ne=rt([dn("title"),dn("url"),Rd("height"),Rd("width"),Md("buttons",J),ps("onAction",q),ps("onCancel",q),ps("onClose",q),ps("onMessage",q)]),Ce=t=>co("dialog",ne,t),Oe=t=>pa(t)?[t].concat(ge(T0(t),Oe)):Di(t)?ge(t,Oe):[],Ue=t=>hn(t.type)&&hn(t.name),fe={checkbox:NZ,colorinput:_R,colorpicker:FZ,dropzone:zZ,input:WZ,iframe:Xc,imagepreview:AF,selectbox:qZ,sizeinput:YZ,slider:iG,listbox:DF,size:YZ,textarea:nj,urlinput:b,customeditor:VZ,collection:$Z,togglemenuitem:ER},le=t=>_.from(fe[t.type]),xe=t=>qn(Oe(t),Ue),je=t=>{const s=xe(t),c=ge(s,i=>le(i).fold(()=>[],d=>[rc(i.name,d)]));return rt(c)},ct=t=>{var s;const c=Dn(X(t)),i=je(t),d=(s=t.initialData)!==null&&s!==void 0?s:{};return{internalDialog:c,dataValidator:i,initialData:d}},Mt={open:(t,s)=>{const c=ct(s);return t(c.internalDialog,c.initialData,c.dataValidator)},openUrl:(t,s)=>{const c=Dn(Ce(s));return t(c)},redial:t=>ct(t)};var _n=Object.freeze({__proto__:null,events:(t,s)=>{const c=(i,d)=>{t.updateState.each(g=>{const p=g(i,d);s.set(p)}),t.renderComponents.each(g=>{const p=g(d,s.get());(t.reuseDom?xD:zr)(i,p)})};return In([be(Fd(),(i,d)=>{const g=d;if(!g.universal){const p=t.channel;So(g.channels,p)&&c(i,g.data)}}),Mn((i,d)=>{t.initialData.each(g=>{c(i,g)})})])}}),Mo=Object.freeze({__proto__:null,getState:(t,s,c)=>c}),or=[ye("channel"),vn("renderComponents"),vn("updateState"),vn("initialData"),ss("reuseDom",!0)],Pe=Object.freeze({__proto__:null,init:()=>{const t=mt(_.none()),s=()=>t.set(_.none());return{readState:()=>t.get().getOr("none"),get:t.get,set:t.set,clear:s}}});const Ge=is({fields:or,name:"reflecting",active:_n,apis:Mo,state:Pe}),cn=t=>{const s=[],c={};return ms(t,(i,d)=>{i.fold(()=>{s.push(d)},g=>{c[d]=g})}),s.length>0?$t.error(s):$t.value(c)},nn=(t,s,c)=>{const i=Cn(zb.sketch(d=>({dom:{tag:"div",classes:["tox-form"].concat(t.classes)},components:Ee(t.items,g=>gl(d,g,s,c))})));return{dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[i.asSpec()]}],behaviours:Be([lt.config({mode:"acyclic",useTabstopAt:Se(Wb)}),Kc.memento(i),mP(i,{postprocess:d=>cn(d).fold(g=>(console.error(g),{}),sn)}),Nt("dialog-body-panel",[be(lc(),(d,g)=>{d.getSystem().broadcastOn([jb],{newFocus:_.some(g.event.target)})})])])}},nt=(t,s)=>({uid:t.uid,dom:t.dom,components:t.components,events:Ql(t.action),behaviours:Io(t.tabButtonBehaviours,[yt.config({}),lt.config({mode:"execution",useSpace:!0,useEnter:!0}),ze.config({store:{mode:"memory",initialValue:t.value}})]),domModification:t.domModification}),ot=bc({name:"TabButton",configFields:[oe("uid",void 0),ye("value"),$s("dom","dom",Wt(()=>({attributes:{role:"tab",id:Xe("aria"),"aria-selected":"false"}})),jo()),vn("action"),oe("domModification",{}),Ko("tabButtonBehaviours",[yt,lt,ze]),ye("view")],factory:nt}),Re=Q([ye("tabs"),ye("dom"),oe("clickToDismiss",!1),Ko("tabbarBehaviours",[mn,lt]),$u(["tabClass","selectedClass"])]),Tt=Zh({factory:ot,name:"tabs",unit:"tab",overrides:t=>{const s=(i,d)=>{mn.dehighlight(i,d),it(i,d1(),{tabbar:i,button:d})},c=(i,d)=>{mn.highlight(i,d),it(i,rS(),{tabbar:i,button:d})};return{action:i=>{const d=i.getSystem().getByUid(t.uid).getOrDie(),g=mn.isHighlighted(d,i);(()=>g&&t.clickToDismiss?s:g?q:c)()(d,i)},domModification:{classes:[t.markers.tabClass]}}}}),en=Q([Tt]),On=(t,s,c,i)=>({uid:t.uid,dom:t.dom,components:s,"debug.sketcher":"Tabbar",domModification:{attributes:{role:"tablist"}},behaviours:Io(t.tabbarBehaviours,[mn.config({highlightClass:t.markers.selectedClass,itemClass:t.markers.tabClass,onHighlight:(d,g)=>{Ze(g.element,"aria-selected","true")},onDehighlight:(d,g)=>{Ze(g.element,"aria-selected","false")}}),lt.config({mode:"flow",getInitial:d=>mn.getHighlighted(d).map(g=>g.element),selector:"."+t.markers.tabClass,executeOnMove:!0})])}),jn=er({name:"Tabbar",configFields:Re(),partFields:en(),factory:On}),jr=(t,s)=>({uid:t.uid,dom:t.dom,behaviours:Io(t.tabviewBehaviours,[kt.config({})]),domModification:{attributes:{role:"tabpanel"}}}),fa=bc({name:"Tabview",configFields:[Ko("tabviewBehaviours",[kt])],factory:jr}),ld=Q([oe("selectFirst",!0),Qt("onChangeTab"),Qt("onDismissTab"),oe("tabs",[]),Ko("tabSectionBehaviours",[])]),Gr=Qs({factory:jn,schema:[ye("dom"),ai("markers",[ye("tabClass"),ye("selectedClass")])],name:"tabbar",defaults:t=>({tabs:t.tabs})}),pl=Qs({factory:fa,name:"tabview"}),Ot=Q([Gr,pl]),tn=(t,s,c,i)=>{const d=p=>{const C=ze.getValue(p);Bn(p,t,"tabview").each(S=>{_t(t.tabs,k=>k.value===C).each(k=>{const R=k.view();Sr(p.element,"id").each(B=>{Ze(S.element,"aria-labelledby",B)}),kt.set(S,R),t.onChangeTab(S,p,R)})})},g=(p,C)=>{Bn(p,t,"tabbar").each(S=>{C(S).each(Ml)})};return{uid:t.uid,dom:t.dom,components:s,behaviours:jl(t.tabSectionBehaviours),events:In(Dt([t.selectFirst?[Mn((p,C)=>{g(p,mn.getFirst)})]:[],[be(rS(),(p,C)=>{const S=C.event.button;d(S)}),be(d1(),(p,C)=>{const S=C.event.button;t.onDismissTab(p,S)})]])),apis:{getViewItems:p=>Bn(p,t,"tabview").map(C=>kt.contents(C)).getOr([]),showTab:(p,C)=>{g(p,E=>{const k=mn.getCandidates(E);return _t(k,B=>ze.getValue(B)===C).filter(B=>!mn.isHighlighted(E,B))})}}}},gn=er({name:"TabSection",configFields:ld(),partFields:Ot(),factory:tn,apis:{getViewItems:(t,s)=>t.getViewItems(s),showTab:(t,s,c)=>{t.showTab(s,c)}}}),lo=(t,s,c)=>Ee(t,(i,d)=>{kt.set(c,t[d].view());const g=s.dom.getBoundingClientRect();return kt.set(c,[]),g.height}),go=t=>Yr(Fp(t,(s,c)=>s>c?-1:s{const i=Zp(t).dom,d=gc(t,".tox-dialog-wrap").getOr(t),g=Eo(d,"position")==="fixed";let p;g?p=Math.max(i.clientHeight,window.innerHeight):p=Math.max(i.offsetHeight,i.scrollHeight);const C=ts(s),E=s.dom.offsetLeft>=c.dom.offsetLeft+gs(c)?Math.max(ts(c),C):C,k=parseInt(Eo(t,"margin-top"),10)||0,R=parseInt(Eo(t,"margin-bottom"),10)||0,P=ts(t)+k+R-E;return p-P},p0=(t,s)=>{Yr(t).each(c=>gn.showTab(s,c.value))},b0=(t,s)=>{Bt(t,"height",s+"px"),Bt(t,"flex-basis",s+"px")},ud=(t,s,c)=>{gc(t,'[role="dialog"]').each(i=>{Ao(i,'[role="tablist"]').each(d=>{c.get().map(g=>(Bt(s,"height","0"),Bt(s,"flex-basis","0"),Math.min(g,Ri(i,s,d)))).each(g=>{b0(s,g)})})})},dd=t=>Ao(t,'[role="tabpanel"]'),Sg=t=>{const s=Vt();return{extraEvents:[Mn(d=>{const g=d.element;dd(g).each(p=>{Bt(p,"visibility","hidden"),d.getSystem().getByDom(p).toOptional().each(C=>{const S=lo(t,p,C);go(S).fold(s.clear,s.set)}),ud(g,p,s),ln(p,"visibility"),p0(t,d),requestAnimationFrame(()=>{ud(g,p,s)})})}),be(ui(),d=>{const g=d.element;dd(g).each(p=>{ud(g,p,s)})}),be(kN,(d,g)=>{const p=d.element;dd(p).each(C=>{const S=el(ro(C));Bt(C,"visibility","hidden");const E=Ns(C,"height").map(B=>parseInt(B,10));ln(C,"height"),ln(C,"flex-basis");const k=C.dom.getBoundingClientRect().height;E.forall(B=>k>B)?(s.set(k),ud(p,C,s)):E.each(B=>{b0(C,B)}),ln(C,"visibility"),S.each(Fr)})})],selectFirst:!1}},v0="send-data-to-section",yC="send-data-to-view",BT=(t,s,c)=>{const i=mt({}),d=E=>{const k=ze.getValue(E),R=cn(k).getOr({}),B=i.get(),P=Vn(B,R);i.set(P)},g=E=>{const k=i.get();ze.setValue(E,k)},p=mt(null),C=Ee(t.tabs,E=>({value:E.name,dom:{tag:"div",classes:["tox-dialog__body-nav-item"]},components:[vo(c.shared.providers.translate(E.title))],view:()=>[zb.sketch(k=>({dom:{tag:"div",classes:["tox-form"]},components:Ee(E.items,R=>gl(k,R,s,c)),formBehaviours:Be([lt.config({mode:"acyclic",useTabstopAt:Se(Wb)}),Nt("TabView.form.events",[Mn(g),Gi(d)]),Ir.config({channels:Fs([{key:v0,value:{onReceive:d}},{key:yC,value:{onReceive:g}}])})])}))]})),S=Sg(C);return gn.sketch({dom:{tag:"div",classes:["tox-dialog__body"]},onChangeTab:(E,k,R)=>{const B=ze.getValue(k);it(E,_N,{name:B,oldName:p.get()}),p.set(B)},tabs:C,components:[gn.parts.tabbar({dom:{tag:"div",classes:["tox-dialog__body-nav"]},components:[jn.parts.tabs({})],markers:{tabClass:"tox-tab",selectedClass:"tox-dialog__body-nav-item--active"},tabbarBehaviours:Be([Jn.config({})])}),gn.parts.tabview({dom:{tag:"div",classes:["tox-dialog__body-content"]}})],selectFirst:S.selectFirst,tabSectionBehaviours:Be([Nt("tabpanel",S.extraEvents),lt.config({mode:"acyclic"}),Zt.config({find:E=>Yr(gn.getViewItems(E))}),ag(_.none(),E=>(E.getSystem().broadcastOn([v0],{}),i.get()),(E,k)=>{i.set(k),E.getSystem().broadcastOn([yC],{})})])})},Dp=(t,s,c,i,d)=>{const g=S=>{const E=S.body;switch(E.type){case"tabpanel":return[BT(E,S.initialData,i)];default:return[nn(E,S.initialData,i)]}},p=(S,E)=>_.some({isTabPanel:()=>E.body.type==="tabpanel"}),C={"aria-live":"polite"};return{dom:{tag:"div",classes:["tox-dialog__content-js"],attributes:{...c.map(S=>({id:S})).getOr({}),...d?C:{}}},components:[],behaviours:Be([Kc.childAt(0),Ge.config({channel:`${hE}-${s}`,updateState:p,renderComponents:g,initialData:t})])}},NT=(t,s,c,i,d)=>Dp(t,s,_.some(c),i,d),wg=(t,s,c)=>{const i=Dp(t,s,_.none(),c,!1);return Yo.parts.body(i)},y0=t=>{const s={dom:{tag:"div",classes:["tox-dialog__content-js"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-iframe"]},components:[yP(_.none(),{dom:{tag:"iframe",attributes:{src:t.url}},behaviours:Be([Jn.config({}),yt.config({})])})]}],behaviours:Be([lt.config({mode:"acyclic",useTabstopAt:Se(Wb)})])};return Yo.parts.body(s)},bl=kb.deviceType.isTouch(),md=(t,s)=>({dom:{tag:"div",styles:{display:"none"},classes:["tox-dialog__header"]},components:[t,s]}),C0=(t,s)=>Yo.parts.close(Ds.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":s.translate("Close")}},action:t,buttonBehaviours:Be([Jn.config({})])})),S0=()=>Yo.parts.title({dom:{tag:"div",classes:["tox-dialog__title"],innerHtml:"",styles:{display:"none"}}}),CC=(t,s)=>Yo.parts.body({dom:{tag:"div",classes:["tox-dialog__body"]},components:[{dom:{tag:"div",classes:["tox-dialog__body-content"]},components:[{dom:im(`

    ${uM(s.translate(t))}

    `)}]}]}),Mp=t=>Yo.parts.footer({dom:{tag:"div",classes:["tox-dialog__footer"]},components:t}),AR=(t,s)=>[ou.sketch({dom:{tag:"div",classes:["tox-dialog__footer-start"]},components:t}),ou.sketch({dom:{tag:"div",classes:["tox-dialog__footer-end"]},components:s})],PT=t=>{const s="tox-dialog",c=s+"-wrap",i=c+"__backdrop",d=s+"__disable-scroll";return Yo.sketch({lazySink:t.lazySink,onEscape:g=>(t.onEscape(g),_.some(!0)),useTabstopAt:g=>!Wb(g),firstTabstop:t.firstTabstop,dom:{tag:"div",classes:[s].concat(t.extraClasses),styles:{position:"relative",...t.extraStyles}},components:[t.header,t.body,...t.footer.toArray()],parts:{blocker:{dom:im(`
    `),components:[{dom:{tag:"div",classes:bl?[i,i+"--opaque"]:[i]}}]}},dragBlockClass:c,modalBehaviours:Be([yt.config({}),Nt("dialog-events",t.dialogEvents.concat([ji(lc(),(g,p)=>{iu.isBlocked(g)?q():lt.focusIn(g)}),be(l1(),(g,p)=>{g.getSystem().broadcastOn([jb],{newFocus:p.event.newFocus})})])),Nt("scroll-lock",[Mn(()=>{Oo(Gs(),d)}),Gi(()=>{oo(Gs(),d)})]),...t.extraBehaviours]),eventOrder:{[uc()]:["dialog-events"],[Nc()]:["scroll-lock","dialog-events","alloy.base.behaviour"],[Au()]:["alloy.base.behaviour","dialog-events","scroll-lock"],...t.eventOrder}})},vr=t=>Ds.sketch({dom:{tag:"button",classes:["tox-button","tox-button--icon","tox-button--naked"],attributes:{type:"button","aria-label":t.translate("Close"),title:t.translate("Close")}},buttonBehaviours:Be([Jn.config({})]),components:[il("close",{tag:"span",classes:["tox-icon"]},t.icons)],action:s=>{qt(s,sg)}}),xg=(t,s,c,i)=>{const d=g=>[vo(i.translate(g.title))];return{dom:{tag:"div",classes:["tox-dialog__title"],attributes:{...c.map(g=>({id:g})).getOr({})}},components:[],behaviours:Be([Ge.config({channel:`${ad}-${s}`,initialData:t,renderComponents:d})])}},Sm=()=>({dom:im('
    ')}),SC=(t,s,c,i)=>ou.sketch({dom:im('
    '),components:[xg(t,s,_.some(c),i),Sm(),vr(i)],containerBehaviours:Be([kp.config({mode:"mouse",blockerClass:"blocker",getTarget:d=>mi(d,'[role="dialog"]').getOrDie(),snaps:{getSnapPoints:()=>[],leftAttr:"data-drag-left",topAttr:"data-drag-top"}})])}),ce=(t,s,c)=>{const i=Yo.parts.title(xg(t,s,_.none(),c)),d=Yo.parts.draghandle(Sm()),g=Yo.parts.close(vr(c)),p=[i].concat(t.draggable?[d]:[]).concat([g]);return ou.sketch({dom:im('
    '),components:p})},ie=(t,s,c)=>ce({title:c.shared.providers.translate(t),draggable:c.dialog.isDraggableModal()},s,c.shared.providers),Ne=(t,s,c,i)=>({dom:{tag:"div",classes:["tox-dialog__busy-spinner"],attributes:{"aria-label":c.translate(t)},styles:{left:"0px",right:"0px",bottom:"0px",top:`${i.getOr(0)}px`,position:"absolute"}},behaviours:s,components:[{dom:im('
    ')}]}),Ae=(t,s,c)=>({onClose:()=>c.closeWindow(),onBlock:i=>{const d=Ao(t().element,".tox-dialog__header").map(g=>ts(g));Yo.setBusy(t(),(g,p)=>Ne(i.message,p,s,d))},onUnblock:()=>{Yo.setIdle(t())}}),ut="tox-dialog--fullscreen",Xt="tox-dialog--width-lg",uo="tox-dialog--width-md",Xo=t=>{switch(t){case"large":return _.some(Xt);case"medium":return _.some(uo);default:return _.none()}},ds=(t,s)=>{const c=ee.fromDom(s.element.dom);qo(c,ut)||(Pc(c,[Xt,uo]),Xo(t).each(i=>Oo(c,i)))},w0=(t,s)=>{const c=ee.fromDom(t.element.dom),i=of(c),d=_t(i,g=>g===Xt||g===uo).or(Xo(s));Ov(c,[ut,...d.toArray()])},x0=(t,s,c)=>Ys(PT({...t,firstTabstop:1,lazySink:c.shared.getSink,extraBehaviours:[fE({}),...t.extraBehaviours],onEscape:i=>{qt(i,sg)},dialogEvents:s,eventOrder:{[Fd()]:[Ge.name(),Ir.name()],[Nc()]:["scroll-lock",Ge.name(),"messages","dialog-events","alloy.base.behaviour"],[Au()]:["alloy.base.behaviour","dialog-events","messages",Ge.name(),"scroll-lock"]}})),$T=(t,s={})=>{const c=i=>{const d=Ee(i.items,g=>{const p=We(s,g.name).getOr(mt(!1));return{...g,storage:p}});return{...i,items:d}};return Ee(t,i=>i.type==="menu"?c(i):i)},RR=t=>eo(t,(s,c)=>c.type==="menu"?eo(c.items,(d,g)=>(d[g.name]=g.storage,d),s):s,{}),fd=(t,s)=>[bv(lc(),UH),t(Ib,(c,i,d,g)=>{el(ro(g.element)).fold(q,hf),s.onClose(),i.onClose()}),t(sg,(c,i,d,g)=>{i.onCancel(c),qt(g,Ib)}),be(Q3,(c,i)=>s.onUnblock()),be(J3,(c,i)=>s.onBlock(i.event))],MF=(t,s)=>{const c=(d,g)=>be(d,(p,C)=>{i(p,(S,E)=>{g(t(),S,C.event,p)})}),i=(d,g)=>{Ge.getState(d).get().each(p=>{g(p,d)})};return[...fd(c,s),c(sd,(d,g,p)=>{g.onAction(d,{name:p.name})})]},DR=(t,s,c)=>{const i=(g,p)=>be(g,(C,S)=>{d(C,(E,k)=>{p(t(),E,S.event,C)})}),d=(g,p)=>{Ge.getState(g).get().each(C=>{p(C.internalDialog,g)})};return[...fd(i,s),i(D2,(g,p)=>p.onSubmit(g)),i(Gc,(g,p,C)=>{p.onChange(g,{name:C.name})}),i(sd,(g,p,C,S)=>{const E=()=>S.getSystem().isConnected()?lt.focusIn(S):void 0,k=P=>B0(P,"disabled")||Sr(P,"aria-disabled").exists(F=>F==="true"),R=ro(S.element),B=el(R);p.onAction(g,{name:C.name,value:C.value}),el(R).fold(E,P=>{k(P)||B.exists(F=>oa(P,F)&&k(F))?E():c().toOptional().filter(F=>!oa(F.element,P)).each(E)})}),i(_N,(g,p,C)=>{p.onTabChange(g,{newTabName:C.name,oldTabName:C.oldName})}),Gi(g=>{const p=t();ze.setValue(g,p.getData())})]},BF=(t,s)=>kE(t,t.type,s),NF=(t,s,c)=>_t(s,i=>i.name===c).bind(i=>i.memento.getOpt(t)),sj=(t,s)=>{const c=s.map(C=>C.footerButtons).getOr([]),i=wm(c,C=>C.align==="start"),d=(C,S)=>ou.sketch({dom:{tag:"div",classes:[`tox-dialog__footer-${C}`]},components:Ee(S,E=>E.memento.asSpec())}),g=d("start",i.pass),p=d("end",i.fail);return[g,p]},Ut=(t,s,c)=>{const i=(d,g)=>{const p=Ee(g.buttons,S=>{const E=Cn(BF(S,c));return{name:S.name,align:S.align,memento:E}}),C=S=>NF(d,p,S);return _.some({lookupByName:C,footerButtons:p})};return{dom:im(''),components:[],behaviours:Be([Ge.config({channel:`${AO}-${s}`,initialData:t,updateState:i,renderComponents:sj})])}},ue=(t,s,c)=>Ut(t,s,c),st=(t,s,c)=>Yo.parts.footer(Ut(t,s,c)),Lt=(t,s)=>{if(t.getRoot().getSystem().isConnected()){const i=Zt.getCurrent(t.getFormWrapper()).getOr(t.getFormWrapper());return zb.getField(i,s).orThunk(()=>t.getFooter().bind(p=>Ge.getState(p).get()).bind(p=>p.lookupByName(s)))}else return _.none()},Jo=(t,s)=>{const c=t.getRoot();return Ge.getState(c).get().map(i=>Dn(co("data",i.dataValidator,s))).getOr(s)},Cc=(t,s,c)=>{const i=F=>{const W=t.getRoot();W.getSystem().isConnected()&&F(W)},P={getData:()=>{const F=t.getRoot(),W=F.getSystem().isConnected()?t.getFormWrapper():F,se=ze.getValue(W),K=po(c,j=>j.get());return{...se,...K}},setData:F=>{i(W=>{const se=P.getData(),K=Vn(se,F),j=Jo(t,K),re=t.getFormWrapper();ze.setValue(re,j),ms(c,(we,he)=>{wn(K,he)&&we.set(K[he])})})},setEnabled:(F,W)=>{Lt(t,F).each(W?bt.enable:bt.disable)},focus:F=>{Lt(t,F).each(yt.focus)},block:F=>{if(!hn(F))throw new Error("The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument");i(W=>{it(W,J3,{message:F})})},unblock:()=>{i(F=>{qt(F,Q3)})},showTab:F=>{i(W=>{const se=t.getBody();Ge.getState(se).get().exists(j=>j.isTabPanel())&&Zt.getCurrent(se).each(j=>{gn.showTab(j,F)})})},redial:F=>{i(W=>{const se=t.getId(),K=s(F),j=$T(K.internalDialog.buttons,c);W.getSystem().broadcastOn([`${Zb}-${se}`],K),W.getSystem().broadcastOn([`${ad}-${se}`],K.internalDialog),W.getSystem().broadcastOn([`${hE}-${se}`],K.internalDialog),W.getSystem().broadcastOn([`${AO}-${se}`],{...K.internalDialog,buttons:j}),P.setData(K.initialData)})},close:()=>{i(F=>{qt(F,Ib)})},toggleFullscreen:t.toggleFullscreen};return P},qr=(t,s,c)=>{const i=Xe("dialog"),d=t.internalDialog,g=ie(d.title,i,c),p=mt(d.size),C=Xo(p.get()).toArray(),S=(j,re)=>(p.set(re.internalDialog.size),ds(re.internalDialog.size,j),_.some(re)),E=wg({body:d.body,initialData:d.initialData},i,c),k=$T(d.buttons),R=RR(k),B=Et(k.length!==0,st({buttons:k},i,c)),P=DR(()=>K,Ae(()=>W,c.shared.providers,s),c.shared.getSink),F={id:i,header:g,body:E,footer:B,extraClasses:C,extraBehaviours:[Ge.config({channel:`${Zb}-${i}`,updateState:S,initialData:t})],extraStyles:{}},W=x0(F,P,c),se=(()=>{const j=()=>{const we=Yo.getBody(W);return Zt.getCurrent(we).getOr(we)},re=()=>{w0(W,p.get())};return{getId:Q(i),getRoot:Q(W),getBody:()=>Yo.getBody(W),getFooter:()=>Yo.getFooter(W),getFormWrapper:j,toggleFullscreen:re}})(),K=Cc(se,s.redial,R);return{dialog:W,instanceApi:K}},ga=(t,s,c,i=!1,d)=>{const g=Xe("dialog"),p=Xe("dialog-label"),C=Xe("dialog-content"),S=t.internalDialog,E=mt(S.size),k=Xo(E.get()).toArray(),R=(me,De)=>(E.set(De.internalDialog.size),ds(De.internalDialog.size,me),d(),_.some(De)),B=Cn(SC({title:S.title,draggable:!0},g,p,c.shared.providers)),P=Cn(NT({body:S.body,initialData:S.initialData},g,C,c,i)),F=$T(S.buttons),W=RR(F),se=Et(F.length!==0,Cn(ue({buttons:F},g,c))),K=DR(()=>he,{onBlock:me=>{iu.block(re,(De,$e)=>{const Pt=B.getOpt(re).map(tt=>ts(tt.element));return Ne(me.message,$e,c.shared.providers,Pt)})},onUnblock:()=>{iu.unblock(re)},onClose:()=>s.closeWindow()},c.shared.getSink),re=Ys({dom:{tag:"div",classes:["tox-dialog","tox-dialog-inline",...k],attributes:{role:"dialog","aria-labelledby":p}},eventOrder:{[Fd()]:[Ge.name(),Ir.name()],[uc()]:["execute-on-form"],[Nc()]:["reflecting","execute-on-form"]},behaviours:Be([lt.config({mode:"cyclic",onEscape:me=>(qt(me,Ib),_.some(!0)),useTabstopAt:me=>!Wb(me)&&(ya(me)!=="button"||xo(me,"disabled")!=="disabled"),firstTabstop:1}),Ge.config({channel:`${Zb}-${g}`,updateState:R,initialData:t}),yt.config({}),Nt("execute-on-form",K.concat([ji(lc(),(me,De)=>{lt.focusIn(me)}),be(l1(),(me,De)=>{me.getSystem().broadcastOn([jb],{newFocus:De.event.newFocus})})])),iu.config({getRoot:()=>_.some(re)}),kt.config({}),fE({})]),components:[B.asSpec(),P.asSpec(),...se.map(me=>me.asSpec()).toArray()]}),we=()=>{w0(re,E.get())},he=Cc({getId:Q(g),getRoot:Q(re),getFooter:()=>se.map(me=>me.get(re)),getBody:()=>P.get(re),getFormWrapper:()=>{const me=P.get(re);return Zt.getCurrent(me).getOr(me)},toggleFullscreen:we},s.redial,W);return{dialog:re,instanceApi:he}};var vl=tinymce.util.Tools.resolve("tinymce.util.URI");const wC=t=>{const s=p=>{t.getSystem().isConnected()&&p(t)};return{block:p=>{if(!hn(p))throw new Error("The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument");s(C=>{it(C,J3,{message:p})})},unblock:()=>{s(p=>{qt(p,Q3)})},close:()=>{s(p=>{qt(p,Ib)})},sendMessage:p=>{s(C=>{C.getSystem().broadcastOn([RO],p)})}}},Sc=["insertContent","setContent","execCommand","close","block","unblock"],PF=t=>pa(t)&&Sc.indexOf(t.mceAction)!==-1,$F=t=>!PF(t)&&pa(t)&&wn(t,"mceAction"),IF=(t,s,c)=>{switch(c.mceAction){case"insertContent":t.insertContent(c.content);break;case"setContent":t.setContent(c.content);break;case"execCommand":const i=Sl(c.ui)?c.ui:!1;t.execCommand(c.cmd,i,c.value);break;case"close":s.close();break;case"block":s.block(c.message);break;case"unblock":s.unblock();break}},$G=(t,s,c,i)=>{const d=Xe("dialog"),g=ie(t.title,d,i),p=y0(t),C=t.buttons.bind(re=>re.length===0?_.none():_.some(st({buttons:re},d,i))),S=MF(()=>j,Ae(()=>K,i.shared.providers,s)),E={...t.height.fold(()=>({}),re=>({height:re+"px","max-height":re+"px"})),...t.width.fold(()=>({}),re=>({width:re+"px","max-width":re+"px"}))},k=t.width.isNone()&&t.height.isNone()?["tox-dialog--width-lg"]:[],R=new vl(t.url,{base_uri:new vl(window.location.href)}),B=`${R.protocol}://${R.host}${R.port?":"+R.port:""}`,P=Vl(),F=(re,we)=>_.some(we),W=[Ge.config({channel:`${Zb}-${d}`,updateState:F,initialData:t}),Nt("messages",[Mn(()=>{const re=fr(ee.fromDom(window),"message",we=>{if(R.isSameOrigin(new vl(we.raw.origin))){const he=we.raw.data;PF(he)?IF(c,j,he):$F(he)&&t.onMessage(j,he)}});P.set(re)}),Gi(P.clear)]),Ir.config({channels:{[RO]:{onReceive:(re,we)=>{Ao(re.element,"iframe").each(he=>{const me=he.dom.contentWindow;sr(me)&&me.postMessage(we,B)})}}}})],K=x0({id:d,header:g,body:p,footer:C,extraClasses:k,extraBehaviours:W,extraStyles:E},S,i),j=wC(K);return{dialog:K,instanceApi:j}},IG=t=>{const s=t.shared;return{open:(i,d)=>{const g=()=>{Yo.hide(E),d()},p=Cn(kE({name:"close-alert",text:"OK",primary:!0,buttonType:_.some("primary"),align:"end",enabled:!0,icon:_.none()},"cancel",t)),C=S0(),S=C0(g,s.providers),E=Ys(PT({lazySink:()=>s.getSink(),header:md(C,S),body:CC(i,s.providers),footer:_.some(Mp(AR([],[p.asSpec()]))),onEscape:g,extraClasses:["tox-alert-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[be(sg,g)],eventOrder:{}}));Yo.show(E);const k=p.get(E);yt.focus(k)}}},FG=t=>{const s=t.shared;return{open:(i,d)=>{const g=B=>{Yo.hide(k),d(B)},p=Cn(kE({name:"yes",text:"Yes",primary:!0,buttonType:_.some("primary"),align:"end",enabled:!0,icon:_.none()},"submit",t)),C=kE({name:"no",text:"No",primary:!1,buttonType:_.some("secondary"),align:"end",enabled:!0,icon:_.none()},"cancel",t),S=S0(),E=C0(()=>g(!1),s.providers),k=Ys(PT({lazySink:()=>s.getSink(),header:md(S,E),body:CC(i,s.providers),footer:_.some(Mp(AR([],[C,p.asSpec()]))),onEscape:()=>g(!1),extraClasses:["tox-confirm-dialog"],extraBehaviours:[],extraStyles:{},dialogEvents:[be(sg,()=>g(!1)),be(D2,()=>g(!0))],eventOrder:{}}));Yo.show(k);const R=p.get(k);yt.focus(R)}}},uG=(t,s)=>Dn(co("data",s,t)),dG=t=>k2(t,".tox-alert-dialog")||k2(t,".tox-confirm-dialog"),LG=(t,s,c)=>s&&c?[]:[Fo.config({contextual:{lazyContext:()=>_.some(To(ee.fromDom(t.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition"},modes:["top"],lazyViewport:i=>og(t,i.element).map(g=>({bounds:$b(g),optScrollEnv:_.some({currentScrollTop:g.element.dom.scrollTop,scrollElmTop:wa(g.element).top})})).getOrThunk(()=>({bounds:ir(),optScrollEnv:_.none()}))})],HG=t=>{const s=t.editor,c=d2(s),i=IG(t.backstages.dialog),d=FG(t.backstages.dialog),g=(F,W,se)=>{if(!Kr(W)){if(W.inline==="toolbar")return E(F,t.backstages.popup.shared.anchors.inlineDialog(),se,W);if(W.inline==="bottom")return k(F,t.backstages.popup.shared.anchors.inlineBottomDialog(),se,W);if(W.inline==="cursor")return E(F,t.backstages.popup.shared.anchors.cursor(),se,W)}return S(F,se)},p=(F,W)=>C(F,W),C=(F,W)=>{const se=K=>{const j=$G(K,{closeWindow:()=>{Yo.hide(j.dialog),W(j.instanceApi)}},s,t.backstages.dialog);return Yo.show(j.dialog),j.instanceApi};return Mt.openUrl(se,F)},S=(F,W)=>{const se=(K,j,re)=>{const we=j,me=qr({dataValidator:re,initialData:we,internalDialog:K},{redial:Mt.redial,closeWindow:()=>{Yo.hide(me.dialog),W(me.instanceApi)}},t.backstages.dialog);return Yo.show(me.dialog),me.instanceApi.setData(we),me.instanceApi};return Mt.open(se,F)},E=(F,W,se,K)=>{const j=(re,we,he)=>{const me=uG(we,he),De=Vt(),$e=t.backstages.popup.shared.header.isPositionedAtTop(),Pt={dataValidator:he,initialData:me,internalDialog:re},tt=()=>De.on(dt=>{io.reposition(dt),(!c||!$e)&&Fo.refresh(dt)}),ft=ga(Pt,{redial:Mt.redial,closeWindow:()=>{De.on(io.hide),s.off("ResizeEditor",tt),De.clear(),se(ft.instanceApi)}},t.backstages.popup,K.ariaAttrs,tt),Ct=Ys(io.sketch({lazySink:t.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:K.persistent?{event:"doNotDismissYet"}:{},...$e?{}:{fireRepositionEventInstead:{}},inlineBehaviours:Be([Nt("window-manager-inline-events",[be(Ru(),(dt,on)=>{qt(ft.dialog,sg)})]),...LG(s,c,$e)]),isExtraPart:(dt,on)=>dG(on)}));De.set(Ct);const yn=()=>{const dt=s.inline?Gs():ee.fromDom(s.getContainer()),on=To(dt);return _.some(on)};return io.showWithinBounds(Ct,$c(ft.dialog),{anchor:W},yn),(!c||!$e)&&(Fo.refresh(Ct),s.on("ResizeEditor",tt)),ft.instanceApi.setData(me),lt.focusIn(ft.dialog),ft.instanceApi};return Mt.open(j,F)},k=(F,W,se,K)=>{const j=(re,we,he)=>{const me=uG(we,he),De=Vt(),$e=t.backstages.popup.shared.header.isPositionedAtTop(),Pt={dataValidator:he,initialData:me,internalDialog:re},tt=()=>De.on(dt=>{io.reposition(dt),Fo.refresh(dt)}),ft=ga(Pt,{redial:Mt.redial,closeWindow:()=>{De.on(io.hide),s.off("ResizeEditor ScrollWindow ElementScroll",tt),De.clear(),se(ft.instanceApi)}},t.backstages.popup,K.ariaAttrs,tt),Ct=Ys(io.sketch({lazySink:t.backstages.popup.shared.getSink,dom:{tag:"div",classes:[]},fireDismissalEventInstead:K.persistent?{event:"doNotDismissYet"}:{},...$e?{}:{fireRepositionEventInstead:{}},inlineBehaviours:Be([Nt("window-manager-inline-events",[be(Ru(),(dt,on)=>{qt(ft.dialog,sg)})]),Fo.config({contextual:{lazyContext:()=>_.some(To(ee.fromDom(s.getContentAreaContainer()))),fadeInClass:"tox-dialog-dock-fadein",fadeOutClass:"tox-dialog-dock-fadeout",transitionClass:"tox-dialog-dock-transition"},modes:["top","bottom"],lazyViewport:dt=>og(s,dt.element).map(Ie=>({bounds:$b(Ie),optScrollEnv:_.some({currentScrollTop:Ie.element.dom.scrollTop,scrollElmTop:wa(Ie.element).top})})).getOrThunk(()=>({bounds:ir(),optScrollEnv:_.none()}))})]),isExtraPart:(dt,on)=>dG(on)}));De.set(Ct);const yn=()=>t.backstages.popup.shared.getSink().toOptional().bind(dt=>{const on=og(s,dt.element),Ie=15,et=on.map(ht=>$b(ht)).getOr(ir()),xt=To(ee.fromDom(s.getContentAreaContainer())),jt=j0(xt,et);return _.some(bo(jt.x,jt.y,jt.width,jt.height-Ie))});return io.showWithinBounds(Ct,$c(ft.dialog),{anchor:W},yn),Fo.refresh(Ct),s.on("ResizeEditor ScrollWindow ElementScroll ResizeWindow",tt),ft.instanceApi.setData(me),lt.focusIn(ft.dialog),ft.instanceApi};return Mt.open(j,F)};return{open:g,openUrl:p,alert:(F,W)=>{i.open(F,W)},close:F=>{F.close()},confirm:(F,W)=>{d.open(F,W)}}},VG=t=>{hM(t),v8(t),TW(t)};var zG=()=>{Bm.add("silver",t=>{VG(t);let s=()=>ir();const{dialogs:c,popups:i,renderUI:d}=xZ(t,{getPopupSinkBounds:()=>s()}),g=()=>{const S=d();return og(t,i.getMothership().element).each(k=>{s=()=>$b(k)}),S};iL.register(t,i.backstage.shared);const p=HG({editor:t,backstages:{popup:i.backstage,dialog:c.backstage}}),C=()=>O4(t,{backstage:i.backstage},i.getMothership());return{renderUI:g,getWindowManagerImpl:Q(p),getNotificationManagerImpl:C}})};zG()})();(function(){var UT=tinymce.util.Tools.resolve("tinymce.ModelManager");const E0=(l,m,h)=>{var v;return h(l,m.prototype)?!0:((v=l.constructor)===null||v===void 0?void 0:v.name)===m.name},WT=l=>{const m=typeof l;return l===null?"null":m==="object"&&Array.isArray(l)?"array":m==="object"&&E0(l,String,(h,v)=>v.isPrototypeOf(h))?"string":m},Ag=l=>m=>WT(m)===l,Rg=l=>m=>typeof m===l,gd=l=>m=>l===m,Dg=Ag("string"),hn=Ag("object"),pa=Ag("array"),xC=gd(null),Di=Rg("boolean"),lu=gd(void 0),Sl=l=>l==null,Kr=l=>!Sl(l),Mi=Rg("function"),sr=Rg("number"),gt=()=>{},Ga=(l,m)=>(...h)=>l(m.apply(null,h)),uu=(l,m)=>h=>l(m(h)),q=l=>()=>l,En=l=>l,Ip=(l,m)=>l===m;function An(l,...m){return(...h)=>{const v=m.concat(h);return l.apply(null,v)}}const Q=l=>m=>!l(m),sn=l=>()=>{throw new Error(l)},ws=l=>l(),an=q(!1),Se=q(!0);class Y{constructor(m,h){this.tag=m,this.value=h}static some(m){return new Y(!0,m)}static none(){return Y.singletonNone}fold(m,h){return this.tag?h(this.value):m()}isSome(){return this.tag}isNone(){return!this.tag}map(m){return this.tag?Y.some(m(this.value)):Y.none()}bind(m){return this.tag?m(this.value):Y.none()}exists(m){return this.tag&&m(this.value)}forall(m){return!this.tag||m(this.value)}filter(m){return!this.tag||m(this.value)?this:Y.none()}getOr(m){return this.tag?this.value:m}or(m){return this.tag?this:m}getOrThunk(m){return this.tag?this.value:m()}orThunk(m){return this.tag?this:m()}getOrDie(m){if(this.tag)return this.value;throw new Error(m??"Called getOrDie on None")}static from(m){return Kr(m)?Y.some(m):Y.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(m){this.tag&&m(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}Y.singletonNone=new Y(!1);const wc=Array.prototype.slice,Rn=Array.prototype.indexOf,vt=Array.prototype.push,_=(l,m)=>Rn.call(l,m),Lo=(l,m)=>_(l,m)>-1,Fe=(l,m)=>{for(let h=0,v=l.length;h{const h=[];for(let v=0;v{const h=l.length,v=new Array(h);for(let w=0;w{for(let h=0,v=l.length;h{for(let h=l.length-1;h>=0;h--){const v=l[h];m(v,h)}},xc=(l,m)=>{const h=[],v=[];for(let w=0,T=l.length;w{const h=[];for(let v=0,w=l.length;v(So(l,(v,w)=>{h=m(h,v,w)}),h),Ee=(l,m,h)=>(_e(l,(v,w)=>{h=m(h,v,w)}),h),Ke=(l,m,h)=>{for(let v=0,w=l.length;vKe(l,m,an),wm=(l,m)=>{for(let h=0,v=l.length;h{const m=[];for(let h=0,v=l.length;hqn(Rt(l,m)),eo=(l,m)=>{for(let h=0,v=l.length;h{const m=wc.call(l,0);return m.reverse(),m},_t=(l,m)=>{const h={};for(let v=0,w=l.length;v{const h=wc.call(l,0);return h.sort(m),h},Dt=(l,m)=>m>=0&&mDt(l,0),du=l=>Dt(l,l.length-1),rr=(l,m)=>{for(let h=0;h{const h=pt(l);for(let v=0,w=h.length;vVo(l,(h,v)=>({k:v,v:m(h,v)})),Vo=(l,m)=>{const h={};return wo(l,(v,w)=>{const T=m(v,w);h[T.k]=T.v}),h},Yr=l=>(m,h)=>{l[h]=m},Lp=(l,m,h,v)=>{wo(l,(w,T)=>{(m(w,T)?h:v)(w,T)})},ba=(l,m)=>{const h={};return Lp(l,m,Yr(h),gt),h},Bs=(l,m)=>{const h=[];return wo(l,(v,w)=>{h.push(m(v,w))}),h},ho=l=>Bs(l,En),Hp=(l,m)=>ms(l,m)?Y.from(l[m]):Y.none(),ms=(l,m)=>hd.call(l,m),po=(l,m)=>ms(l,m)&&l[m]!==void 0&&l[m]!==null,Mg=l=>{for(const m in l)if(hd.call(l,m))return!1;return!0},yr=typeof window<"u"?window:Function("return this;")(),mu=(l,m)=>{let h=m??yr;for(let v=0;v{const h=l.split(".");return mu(h,m)},pd=(l,m)=>Xr(l,m),Vp=(l,m)=>{const h=pd(l,m);if(h==null)throw new Error(l+" not available on this browser");return h},Cr=Object.getPrototypeOf,T0=l=>Vp("HTMLElement",l),We=l=>{const m=Xr("ownerDocument.defaultView",l);return hn(l)&&(T0(m).prototype.isPrototypeOf(l)||/^HTML\w*Element$/.test(Cr(l).constructor.name))},wn=8,ta=9,Ec=11,zp=1,bd=3,so=l=>l.dom.nodeName.toLowerCase(),fu=l=>l.dom.nodeType,xm=l=>m=>fu(m)===l,Kn=l=>fu(l)===wn||so(l)==="#comment",Et=l=>Jr(l)&&We(l.dom),Jr=xm(zp),vd=xm(bd),Up=xm(ta),_0=xm(Ec),Qr=l=>m=>Jr(m)&&so(m)===l,cr=(l,m,h)=>{if(Dg(h)||Di(h)||sr(h))l.setAttribute(m,h+"");else throw console.error("Invalid call to Attribute.set. Key ",m,":: Value ",h,":: Element ",l),new Error("Attribute value was not simple")},es=(l,m,h)=>{cr(l.dom,m,h)},Bi=(l,m)=>{const h=l.dom;wo(m,(v,w)=>{cr(h,w,v)})},Wp=(l,m)=>{wo(m,(h,v)=>{h.fold(()=>{Bo(l,v)},w=>{cr(l.dom,v,w)})})},wl=(l,m)=>{const h=l.dom.getAttribute(m);return h===null?void 0:h},Tc=(l,m)=>Y.from(wl(l,m)),Bo=(l,m)=>{l.dom.removeAttribute(m)},va=l=>Ee(l.dom.attributes,(m,h)=>(m[h.name]=h.value,m),{}),yd=(l,m)=>{const v=(m||document).createElement("div");if(v.innerHTML=l,!v.hasChildNodes()||v.childNodes.length>1){const w="HTML does not have a single root node";throw console.error(w,l),new Error(w)}return xl(v.childNodes[0])},jT=(l,m)=>{const v=(m||document).createElement(l);return xl(v)},GT=(l,m)=>{const v=(m||document).createTextNode(l);return xl(v)},xl=l=>{if(l==null)throw new Error("Node cannot be null or undefined");return{dom:l}},ee={fromHtml:yd,fromTag:jT,fromText:GT,fromDom:xl,fromPoint:(l,m,h)=>Y.from(l.dom.elementFromPoint(m,h)).map(xl)},ec=(l,m)=>{const h=l.dom;if(h.nodeType!==zp)return!1;{const v=h;if(v.matches!==void 0)return v.matches(m);if(v.msMatchesSelector!==void 0)return v.msMatchesSelector(m);if(v.webkitMatchesSelector!==void 0)return v.webkitMatchesSelector(m);if(v.mozMatchesSelector!==void 0)return v.mozMatchesSelector(m);throw new Error("Browser lacks native selectors")}},Em=l=>l.nodeType!==zp&&l.nodeType!==ta&&l.nodeType!==Ec||l.childElementCount===0,EC=(l,m)=>{const h=m===void 0?document:m.dom;return Em(h)?[]:Rt(h.querySelectorAll(l),ee.fromDom)},k0=(l,m)=>{const h=m===void 0?document:m.dom;return Em(h)?Y.none():Y.from(h.querySelector(l)).map(ee.fromDom)},no=(l,m)=>l.dom===m.dom,O0=(l,m)=>{const h=l.dom,v=m.dom;return h===v?!1:h.contains(v)},qT=ec,Bg=l=>ee.fromDom(l.dom.ownerDocument),Tm=l=>Up(l)?l:Bg(l),Zs=l=>ee.fromDom(Tm(l).dom.documentElement),fs=l=>ee.fromDom(Tm(l).dom.defaultView),El=l=>Y.from(l.dom.parentNode).map(ee.fromDom),ya=l=>Y.from(l.dom.parentElement).map(ee.fromDom),Cd=(l,m)=>{const h=Mi(m)?m:an;let v=l.dom;const w=[];for(;v.parentNode!==null&&v.parentNode!==void 0;){const T=v.parentNode,D=ee.fromDom(T);if(w.push(D),h(D)===!0)break;v=T}return w},Ng=l=>Y.from(l.dom.previousSibling).map(ee.fromDom),_m=l=>Y.from(l.dom.nextSibling).map(ee.fromDom),Hn=l=>Rt(l.dom.childNodes,ee.fromDom),_c=(l,m)=>{const h=l.dom.childNodes;return Y.from(h[m]).map(ee.fromDom)},KT=l=>_c(l,0),Sd=(l,m)=>{El(l).each(v=>{v.dom.insertBefore(m.dom,l.dom)})},gu=(l,m)=>{_m(l).fold(()=>{El(l).each(w=>{No(w,m)})},v=>{Sd(v,m)})},na=(l,m)=>{KT(l).fold(()=>{No(l,m)},v=>{l.dom.insertBefore(m.dom,v.dom)})},No=(l,m)=>{l.dom.appendChild(m.dom)},YT=(l,m,h)=>{_c(l,h).fold(()=>{No(l,m)},v=>{Sd(v,m)})},TC=(l,m)=>{Sd(l,m),No(m,l)},$n=(l,m)=>{_e(m,(h,v)=>{const w=v===0?l:m[v-1];gu(w,h)})},oa=(l,m)=>{_e(m,h=>{No(l,h)})},kc=l=>{l.dom.textContent="",_e(Hn(l),m=>{js(m)})},js=l=>{const m=l.dom;m.parentNode!==null&&m.parentNode.removeChild(m)},Zp=l=>{const m=Hn(l);m.length>0&&$n(l,m),js(l)},wd=(l,m)=>ee.fromDom(l.dom.cloneNode(m)),Ca=l=>wd(l,!1),xd=l=>wd(l,!0),qa=(l,m)=>{const h=ee.fromTag(m),v=va(l);return Bi(h,v),h},_C=(l,m)=>{const h=qa(l,m),v=Hn(xd(l));return oa(h,v),h},A0=(l,m)=>{const h=qa(l,m);gu(l,h);const v=Hn(l);return oa(h,v),js(l),h},kC=["tfoot","thead","tbody","colgroup"],Ka=l=>Lo(kC,l),hu=(l,m)=>({rows:l,columns:m}),jp=(l,m)=>({row:l,column:m}),Gp=(l,m,h)=>({element:l,rowspan:m,colspan:h}),R0=(l,m,h,v)=>({element:l,rowspan:m,colspan:h,isNew:v}),D0=(l,m,h,v,w,T)=>({element:l,rowspan:m,colspan:h,row:v,column:w,isLocked:T}),Pg=(l,m,h)=>({element:l,cells:m,section:h}),OC=(l,m,h,v)=>({element:l,cells:m,section:h,isNew:v}),ro=(l,m,h)=>({element:l,isNew:m,isLocked:h}),Sa=(l,m,h,v)=>({element:l,cells:m,section:h,isNew:v}),XT=(l,m,h,v)=>({startRow:l,startCol:m,finishRow:h,finishCol:v}),M0=(l,m,h)=>({element:l,colspan:m,column:h}),Ya=(l,m)=>({element:l,columns:m}),JT=l=>_0(l)&&Kr(l.dom.host),qp=Mi(Element.prototype.attachShadow)&&Mi(Node.prototype.getRootNode),xs=q(qp),Gs=qp?l=>ee.fromDom(l.dom.getRootNode()):Tm,Ed=l=>{const m=Gs(l);return JT(m)?Y.some(m):Y.none()},AC=l=>ee.fromDom(l.dom.host),Ze=l=>{if(xs()&&Kr(l.target)){const m=ee.fromDom(l.target);if(Jr(m)&&$g(m)&&l.composed&&l.composedPath){const h=l.composedPath();if(h)return ge(h)}}return Y.from(l.target)},$g=l=>Kr(l.dom.shadowRoot),xo=l=>{const m=vd(l)?l.dom.parentNode:l.dom;if(m==null||m.ownerDocument===null)return!1;const h=m.ownerDocument;return Ed(ee.fromDom(m)).fold(()=>h.body.contains(m),uu(xo,AC))},Sr=()=>B0(ee.fromDom(document)),B0=l=>{const m=l.dom.body;if(m==null)throw new Error("Body is not available yet");return ee.fromDom(m)},Po=(l,m,h)=>Ho(Cd(l,h),m),QT=(l,m)=>Ho(Hn(l),m),Ig=(l,m)=>{let h=[];return _e(Hn(l),v=>{m(v)&&(h=h.concat([v])),h=h.concat(Ig(v,m))}),h},Fg=(l,m,h)=>Po(l,v=>ec(v,m),h),Bt=(l,m)=>QT(l,h=>ec(h,m)),tc=(l,m)=>EC(m,l);var Me=(l,m,h,v,w)=>l(h,v)?Y.some(h):Mi(w)&&w(h)?Y.none():m(h,v,w);const Eo=(l,m,h)=>{let v=l.dom;const w=Mi(h)?h:an;for(;v.parentNode;){v=v.parentNode;const T=ee.fromDom(v);if(m(T))return Y.some(T);if(w(T))break}return Y.none()},Lg=(l,m,h)=>Me((w,T)=>T(w),Eo,l,m,h),Ns=(l,m)=>{const h=w=>m(ee.fromDom(w));return N(l.dom.childNodes,h).map(ee.fromDom)},qs=(l,m)=>{const h=v=>{for(let w=0;wEo(l,v=>ec(v,m),h),ln=(l,m)=>Ns(l,h=>ec(h,m)),Tl=(l,m)=>k0(m,l),Ps=(l,m,h)=>Me((w,T)=>ec(w,T),pu,l,m,h),km=(l,m,h=Ip)=>l.exists(v=>h(v,m)),ts=l=>{const m=[],h=v=>{m.push(v)};for(let v=0;vl!=null?m(l):Y.none(),N0=(l,m)=>l?Y.some(m):Y.none(),P0=(l,m,h)=>m===""||l.length>=m.length&&l.substr(h,h+m.length)===m,pn=(l,m,h=0,v)=>{const w=l.indexOf(m,h);return w!==-1?lu(v)?!0:w+m.length<=v:!1},$0=(l,m)=>P0(l,m,0),vu=(l,m)=>P0(l,m,l.length-m.length),Td=(l=>m=>m.replace(l,""))(/^\s+|\s+$/g),Hg=l=>l.length>0,un=l=>{const m=parseFloat(l);return isNaN(m)?Y.none():Y.some(m)},gs=l=>l.style!==void 0&&Mi(l.style.getPropertyValue),Xa=(l,m,h)=>{if(!Dg(h))throw console.error("Invalid call to CSS.set. Property ",m,":: Value ",h,":: Element ",l),new Error("CSS value must be a string: "+h);gs(l)&&l.style.setProperty(m,h)},e_=(l,m)=>{gs(l)&&l.style.removeProperty(m)},mo=(l,m,h)=>{const v=l.dom;Xa(v,m,h)},ar=(l,m)=>{const h=l.dom;wo(m,(v,w)=>{Xa(h,w,v)})},Ks=(l,m)=>{const h=l.dom,w=window.getComputedStyle(h).getPropertyValue(m);return w===""&&!xo(l)?RC(h,m):w},RC=(l,m)=>gs(l)?l.style.getPropertyValue(m):"",I0=(l,m)=>{const h=l.dom,v=RC(h,m);return Y.from(v).filter(w=>w.length>0)},xa=(l,m)=>{const h=l.dom;e_(h,m),km(Tc(l,"style").map(Td),"")&&Bo(l,"style")},Kp=(l,m)=>{const h=l.dom,v=m.dom;gs(h)&&gs(v)&&(v.style.cssText=h.style.cssText)},Yn=(l,m,h=0)=>Tc(l,m).map(v=>parseInt(v,10)).getOr(h),Ja=(l,m)=>Yn(l,m,1),wr=l=>Qr("col")(l)?Yn(l,"span",1)>1:Ja(l,"colspan")>1,Ni=l=>Ja(l,"rowspan")>1,yu=(l,m)=>parseInt(Ks(l,m),10),$o=q(10),Qa=q(10),Vg=(l,m)=>zg(l,m,Se),zg=(l,m,h)=>Qo(Hn(l),v=>ec(v,m)?h(v)?[v]:[]:zg(v,m,h)),DC=(l,m,h=an)=>{if(h(m))return Y.none();if(Lo(l,so(m)))return Y.some(m);const v=w=>ec(w,"table")||h(w);return pu(m,l.join(","),v)},F0=(l,m)=>DC(["td","th"],l,m),ei=l=>Vg(l,"th,td"),Ug=l=>ec(l,"colgroup")?Bt(l,"col"):Qo(L0(l),m=>Bt(m,"col")),Mr=(l,m)=>Ps(l,"table",m),Yp=l=>Vg(l,"tr"),L0=l=>Mr(l).fold(q([]),m=>Bt(m,"colgroup")),_d=(l,m)=>Rt(l,h=>{if(so(h)==="colgroup"){const v=Rt(Ug(h),w=>{const T=Yn(w,"span",1);return Gp(w,1,T)});return Pg(h,v,"colgroup")}else{const v=Rt(ei(h),w=>{const T=Yn(w,"rowspan",1),D=Yn(w,"colspan",1);return Gp(w,T,D)});return Pg(h,v,m(h))}}),H0=l=>El(l).map(m=>{const h=so(m);return Ka(h)?h:"tbody"}).getOr("tbody"),kd=l=>{const m=Yp(l),v=[...L0(l),...m];return _d(v,H0)},MC=(l,m)=>_d(l,()=>m),Cu=l=>{let m=!1,h;return(...v)=>(m||(m=!0,h=l.apply(null,v)),h)},BC=(l,m,h,v)=>{const w=l.isiOS()&&/ipad/i.test(h)===!0,T=l.isiOS()&&!w,D=l.isiOS()||l.isAndroid(),$=D||v("(pointer:coarse)"),H=w||!T&&D&&v("(min-device-width:768px)"),Z=T||D&&!H,te=m.isSafari()&&l.isiOS()&&/safari/i.test(h)===!1,Te=!Z&&!H&&!te;return{isiPad:q(w),isiPhone:q(T),isTablet:q(H),isPhone:q(Z),isTouch:q($),isAndroid:l.isAndroid,isiOS:l.isiOS,isWebView:q(te),isDesktop:q(Te)}},NC=(l,m)=>{for(let h=0;h{const h=NC(l,m);if(!h)return{major:0,minor:0};const v=w=>Number(m.replace(h,"$"+w));return U(v(1),v(2))},Om=(l,m)=>{const h=String(m).toLowerCase();return l.length===0?$C():PC(l,h)},$C=()=>U(0,0),U=(l,m)=>({major:l,minor:m}),Am={nu:U,detect:Om,unknown:$C},Ea=(l,m)=>rr(m.brands,h=>{const v=h.brand.toLowerCase();return N(l,w=>{var T;return v===((T=w.brand)===null||T===void 0?void 0:T.toLowerCase())}).map(w=>({current:w.name,version:Am.nu(parseInt(h.version,10),0)}))}),Xp=(l,m)=>{const h=String(m).toLowerCase();return N(l,v=>v.search(h))},FR=(l,m)=>Xp(l,m).map(h=>{const v=Am.detect(h.versionRegexes,m);return{current:h.name,version:v}}),t_=(l,m)=>Xp(l,m).map(h=>{const v=Am.detect(h.versionRegexes,m);return{current:h.name,version:v}}),bn=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,xr=l=>m=>pn(m,l),Pi=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:l=>pn(l,"edge/")&&pn(l,"chrome")&&pn(l,"safari")&&pn(l,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,bn],search:l=>pn(l,"chrome")&&!pn(l,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:l=>pn(l,"msie")||pn(l,"trident")},{name:"Opera",versionRegexes:[bn,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:xr("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:xr("firefox")},{name:"Safari",versionRegexes:[bn,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:l=>(pn(l,"safari")||pn(l,"mobile/"))&&pn(l,"applewebkit")}],_l=[{name:"Windows",search:xr("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:l=>pn(l,"iphone")||pn(l,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:xr("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:xr("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:xr("linux"),versionRegexes:[]},{name:"Solaris",search:xr("sunos"),versionRegexes:[]},{name:"FreeBSD",search:xr("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:xr("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],V0={browsers:q(Pi),oses:q(_l)},Rm="Edge",Oc="Chromium",Wg="IE",z0="Opera",IC="Firefox",Ta="Safari",Zg=()=>U0({current:void 0,version:Am.unknown()}),U0=l=>{const m=l.current,h=l.version,v=w=>()=>m===w;return{current:m,version:h,isEdge:v(Rm),isChromium:v(Oc),isIE:v(Wg),isOpera:v(z0),isFirefox:v(IC),isSafari:v(Ta)}},Ac={unknown:Zg,nu:U0,edge:q(Rm),chromium:q(Oc),ie:q(Wg),opera:q(z0),firefox:q(IC),safari:q(Ta)},Es="Windows",Su="iOS",Dm="Android",_a="Linux",nc="macOS",W0="Solaris",FC="FreeBSD",jg="ChromeOS",Z0=()=>Jp({current:void 0,version:Am.unknown()}),Jp=l=>{const m=l.current,h=l.version,v=w=>()=>m===w;return{current:m,version:h,isWindows:v(Es),isiOS:v(Su),isAndroid:v(Dm),isMacOS:v(nc),isLinux:v(_a),isSolaris:v(W0),isFreeBSD:v(FC),isChromeOS:v(jg)}},$i={unknown:Z0,nu:Jp,windows:q(Es),ios:q(Su),android:q(Dm),linux:q(_a),macos:q(nc),solaris:q(W0),freebsd:q(FC),chromeos:q(jg)},LR={detect:(l,m,h)=>{const v=V0.browsers(),w=V0.oses(),T=m.bind(H=>Ea(v,H)).orThunk(()=>FR(v,l)).fold(Ac.unknown,Ac.nu),D=t_(w,l).fold($i.unknown,$i.nu),$=BC(D,T,l,h);return{browser:T,os:D,deviceType:$}}},HR=l=>window.matchMedia(l).matches;let n_=Cu(()=>LR.detect(navigator.userAgent,Y.from(navigator.userAgentData),HR));const Gg=()=>n_(),HC=(l,m)=>{const h=($,H)=>{if(!sr(H)&&!H.match(/^[0-9]+$/))throw new Error(l+".set accepts only positive integer values. Value was "+H);const Z=$.dom;gs(Z)&&(Z.style[l]=H+"px")},v=$=>{const H=m($);if(H<=0||H===null){const Z=Ks($,l);return parseFloat(Z)||0}return H},w=v,T=($,H)=>Ee(H,(Z,te)=>{const Te=Ks($,te),He=Te===void 0?0:parseInt(Te,10);return isNaN(He)?Z:Z+He},0);return{set:h,get:v,getOuter:w,aggregate:T,max:($,H,Z)=>{const te=T($,Z);return H>te?H-te:0}}},Mm=(l,m)=>un(l).getOr(m),bo=(l,m,h)=>Mm(Ks(l,m),h),To=(l,m,h,v)=>{const w=bo(l,`padding-${h}`,0),T=bo(l,`padding-${v}`,0),D=bo(l,`border-${h}-width`,0),$=bo(l,`border-${v}-width`,0);return m-w-T-D-$},sa=(l,m)=>{const h=l.dom,v=h.getBoundingClientRect().width||h.offsetWidth;return m==="border-box"?v:To(l,v,"left","right")},j0=l=>bo(l,"height",l.dom.offsetHeight),o_=l=>bo(l,"width",l.dom.offsetWidth),ir=l=>sa(l,"content-box"),Bm=HC("width",l=>l.dom.offsetWidth),Rc=l=>Bm.get(l),Ii=l=>Bm.getOuter(l),VC=ir,$t=o_,oc=(l,m,h)=>{const v=l.cells,w=v.slice(0,m),T=v.slice(m),D=w.concat(h).concat(T);return zC(l,D)},wu=(l,m,h)=>oc(l,m,[h]),Nm=(l,m,h)=>{const v=l.cells;v[m]=h},zC=(l,m)=>Sa(l.element,m,l.section,l.isNew),UC=(l,m)=>{const h=l.cells,v=Rt(h,m);return Sa(l.element,v,l.section,l.isNew)},sc=(l,m)=>l.cells[m],ns=(l,m)=>sc(l,m).element,Dc=l=>l.cells.length,os=l=>{const m=xc(l,h=>h.section==="colgroup");return{rows:m.fail,cols:m.pass}},G0=(l,m,h)=>{const v=Rt(l.cells,h);return Sa(m(l.element),v,l.section,!0)},Qp="data-snooker-locked-cols",zo=l=>Tc(l,Qp).bind(m=>Y.from(m.match(/\d+/g))).map(m=>_t(m,Se)),hs=l=>{const m=Ee(os(l).rows,(v,w)=>(_e(w.cells,(T,D)=>{T.isLocked&&(v[D]=!0)}),v),{}),h=Bs(m,(v,w)=>parseInt(w,10));return to(h)},ti=(l,m)=>l+","+m,qg=(l,m,h)=>Y.from(l.access[ti(m,h)]),Zo=(l,m,h)=>{const v=q0(l,w=>h(m,w.element));return v.length>0?Y.some(v[0]):Y.none()},q0=(l,m)=>{const h=Qo(l.all,v=>v.cells);return Ho(h,m)},WC=l=>{const m={};let h=0;return _e(l.cells,v=>{const w=v.colspan;Co(w,T=>{const D=h+T;m[D]=M0(v.element,w,D)}),h+=w}),m},Vn=l=>{const m={},h=[],w=ge(l).map(Le=>Le.element).bind(Mr).bind(zo).getOr({});let T=0,D=0,$=0;const{pass:H,fail:Z}=xc(l,Le=>Le.section==="colgroup");_e(Z,Le=>{const ve=[];_e(Le.cells,Ve=>{let pe=0;for(;m[ti($,pe)]!==void 0;)pe++;const Qe=po(w,pe.toString()),wt=D0(Ve.element,Ve.rowspan,Ve.colspan,$,pe,Qe);for(let It=0;It{const ve=WC(Le);return{colgroups:[Ya(Le.element,ho(ve))],columns:ve}}).getOrThunk(()=>({colgroups:[],columns:{}}));return{grid:hu(T,D),access:m,all:h,columns:te,colgroups:Te}},Wt={fromTable:l=>{const m=kd(l);return Vn(m)},generate:Vn,getAt:qg,findItem:Zo,filterItems:q0,justCells:l=>Qo(l.all,m=>m.cells),justColumns:l=>ho(l.columns),hasColumns:l=>pt(l.columns).length>0,getColumnAt:(l,m)=>Y.from(l.columns[m])},$m=(l,m=Se)=>{const h=l.grid,v=Co(h.columns,En),w=Co(h.rows,En);return Rt(v,T=>ZC(()=>Qo(w,Z=>Wt.getAt(l,Z,T).filter(te=>te.column===T).toArray()),Z=>Z.colspan===1&&m(Z.element),()=>Wt.getAt(l,0,T)))},ZC=(l,m,h)=>{const v=l();return N(v,m).orThunk(()=>Y.from(v[0]).orThunk(h)).map(D=>D.element)},Y0=l=>{const m=l.grid,h=Co(m.rows,En),v=Co(m.columns,En);return Rt(h,w=>ZC(()=>Qo(v,H=>Wt.getAt(l,w,H).filter(Z=>Z.row===w).fold(q([]),Z=>[Z])),H=>H.rowspan===1,()=>Wt.getAt(l,w,0)))},VR=(l,m)=>{if(m<0||m>=l.length-1)return Y.none();const h=l[m].fold(()=>{const w=ZT(l.slice(0,m));return rr(w,(T,D)=>T.map($=>({value:$,delta:D+1})))},w=>Y.some({value:w,delta:0})),v=l[m+1].fold(()=>{const w=l.slice(m+1);return rr(w,(T,D)=>T.map($=>({value:$,delta:D+1})))},w=>Y.some({value:w,delta:1}));return h.bind(w=>v.map(T=>{const D=T.delta+w.delta;return Math.abs(T.value-w.value)/D}))},s_=(l,m)=>h=>jC(h)==="rtl"?m:l,jC=l=>Ks(l,"direction")==="rtl"?"rtl":"ltr",t1=HC("height",l=>{const m=l.dom;return xo(l)?m.getBoundingClientRect().height:m.offsetHeight}),X0=l=>t1.get(l),Od=l=>t1.getOuter(l),Im=j0,GC=(l,m)=>({left:l,top:m,translate:(v,w)=>GC(l+v,m+w)}),ka=GC,r_=l=>{const m=l.getBoundingClientRect();return ka(m.left,m.top)},Fm=(l,m)=>l!==void 0?l:m!==void 0?m:0,Oa=l=>{const m=l.dom.ownerDocument,h=m.body,v=m.defaultView,w=m.documentElement;if(h===l.dom)return ka(h.offsetLeft,h.offsetTop);const T=Fm(v==null?void 0:v.pageYOffset,w.scrollTop),D=Fm(v==null?void 0:v.pageXOffset,w.scrollLeft),$=Fm(w.clientTop,h.clientTop),H=Fm(w.clientLeft,h.clientLeft);return J0(l).translate(D-H,T-$)},J0=l=>{const m=l.dom,v=m.ownerDocument.body;return v===m?ka(v.offsetLeft,v.offsetTop):xo(l)?r_(m):ka(0,0)},Q0=(l,m)=>({row:l,y:m}),ev=(l,m)=>({col:l,x:m}),tv=l=>Oa(l).left+Ii(l),nv=l=>Oa(l).left,qC=(l,m)=>ev(l,nv(m)),ov=(l,m)=>ev(l,tv(m)),Ts=l=>Oa(l).top,KC=(l,m)=>Q0(l,Ts(m)),zn=(l,m)=>Q0(l,Ts(m)+Od(m)),rt=(l,m,h)=>{if(h.length===0)return[];const v=Rt(h.slice(1),(T,D)=>T.map($=>l(D,$))),w=h[h.length-1].map(T=>m(h.length-1,T));return v.concat([w])},oi=l=>-l,Je={delta:En,positions:l=>rt(KC,zn,l),edge:Ts},kl=s_({delta:En,edge:nv,positions:l=>rt(qC,ov,l)},{delta:oi,edge:tv,positions:l=>rt(ov,qC,l)}),jo={delta:(l,m)=>kl(m).delta(l,m),positions:(l,m)=>kl(m).positions(l,m),edge:l=>kl(l).edge(l)},Ad={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Kg=(()=>{const l="[0-9]+",h="[eE]"+("[+-]?"+l),v="\\.",w=$=>`(?:${$})?`,D=`[+-]?(?:${["Infinity",l+v+w(l)+w(h),v+l+w(h),l+w(h)].join("|")})`;return new RegExp(`^(${D})(.*)$`)})(),_s=(l,m)=>Fe(m,h=>Fe(Ad[h],v=>l===v)),si=(l,m)=>Y.from(Kg.exec(l)).bind(v=>{const w=Number(v[1]),T=v[2];return _s(T,m)?Y.some({value:w,unit:T}):Y.none()}),n1=/(\d+(\.\d+)?)%/,Fi=/(\d+(\.\d+)?)px|em/,YC=Qr("col"),o1=(l,m,h)=>{const v=ya(l).getOrThunk(()=>B0(Bg(l)));return m(l)/h(v)*100},ke=(l,m)=>{mo(l,"width",m+"px")},XC=(l,m)=>{mo(l,"width",m+"%")},Eu=(l,m)=>{mo(l,"height",m+"px")},Ol=l=>Im(l)+"px",Yg=(l,m,h,v)=>{const w=Mr(l).map(T=>{const D=h(T);return Math.floor(m/100*D)}).getOr(m);return v(l,w),w},co=(l,m,h,v)=>{const w=parseFloat(l);return vu(l,"%")&&so(m)!=="table"?Yg(m,w,h,v):w},Dn=l=>{const m=Ol(l);return m?co(m,l,X0,Eu):X0(l)},Er=(l,m,h)=>{const v=h(l),w=Ja(l,m);return v/w},lr=(l,m)=>I0(l,m).orThunk(()=>Tc(l,m).map(h=>h+"px")),Jt=l=>lr(l,"width"),Xg=l=>lr(l,"height"),$s=l=>o1(l,Rc,VC),_o=l=>YC(l)?Rc(l):$t(l),s1=l=>Er(l,"rowspan",Dn),ye=l=>Jt(l).bind(h=>si(h,["fixed","relative","empty"])),rc=(l,m,h)=>{mo(l,"width",m+h)},Jg=l=>Rc(l)+"px",dn=l=>o1(l,Rc,VC)+"%",ri=l=>Jt(l).exists(m=>n1.test(m)),c_=l=>Jt(l).exists(m=>Fi.test(m)),ci=l=>Jt(l).isNone(),sv=q(n1),ai=Qr("col"),rv=l=>Jt(l).getOrThunk(()=>_o(l)+"px"),Mc=l=>Xg(l).getOrThunk(()=>s1(l)+"px"),vn=l=>Rt(Wt.justColumns(l),m=>Y.from(m.element)),Li=l=>{const m=Gg().browser,h=m.isChromium()||m.isFirefox();return ai(l)?h:!0},Rd=(l,m,h,v,w,T)=>l.filter(v).fold(()=>T(VR(h,m)),D=>w(D)),Is=(l,m,h,v)=>{const w=$m(l),T=Wt.hasColumns(l)?vn(l):w,D=[Y.some(jo.edge(m))].concat(Rt(jo.positions(w,m),H=>H.map(Z=>Z.x))),$=Q(wr);return Rt(T,(H,Z)=>Rd(H,Z,D,$,te=>{if(Li(te))return h(te);{const Te=bu(w[Z],En);return Rd(Te,Z,D,$,He=>v(Y.some(Rc(He))),v)}},v))},cv=l=>l.map(m=>m+"px").getOr(""),Dd=(l,m)=>Is(l,m,rv,cv),Md=(l,m,h)=>Is(l,m,$s,v=>v.fold(()=>h.minCellWidth(),w=>w/h.pixelWidth()*100)),Br=(l,m,h)=>Is(l,m,_o,v=>v.getOrThunk(h.minCellWidth)),Tu=(l,m,h,v,w)=>{const T=Y0(l),D=[Y.some(h.edge(m))].concat(Rt(h.positions(T,m),$=>$.map(H=>H.y)));return Rt(T,($,H)=>Rd($,H,D,Q(Ni),v,w))},oe=(l,m,h)=>Tu(l,m,h,s1,v=>v.getOrThunk(Qa)),cc=(l,m,h)=>Tu(l,m,h,Mc,cv),Hi=(l,m)=>()=>xo(l)?m(l):parseFloat(I0(l,"width").getOr("0")),Vi=l=>{const m=Hi(l,Rc),h=q(0);return{width:m,pixelWidth:m,getWidths:(w,T)=>Br(w,l,T),getCellDelta:h,singleColumnWidth:q([0]),minCellWidth:h,setElementWidth:gt,adjustTableWidth:gt,isRelative:!0,label:"none"}},ac=l=>{const m=Hi(l,H=>parseFloat(dn(H))),h=Hi(l,Rc);return{width:m,pixelWidth:h,getWidths:(H,Z)=>Md(H,l,Z),getCellDelta:H=>H/h()*100,singleColumnWidth:(H,Z)=>[100-H],minCellWidth:()=>$o()/h()*100,setElementWidth:XC,adjustTableWidth:H=>{const Z=m(),te=H/100*Z,Te=Z+te;XC(l,Te)},isRelative:!0,label:"percent"}},ss=l=>{const m=Hi(l,Rc);return{width:m,pixelWidth:m,getWidths:(D,$)=>Br(D,l,$),getCellDelta:En,singleColumnWidth:(D,$)=>[Math.max($o(),D+$)-D],minCellWidth:$o,setElementWidth:ke,adjustTableWidth:D=>{const $=m()+D;ke(l,$)},isRelative:!1,label:"pixel"}},ps=(l,m)=>sv().exec(m)!==null?ac(l):ss(l),Nr={getTableSize:l=>Jt(l).fold(()=>Vi(l),h=>ps(l,h)),pixelSize:ss,percentageSize:ac,noneSize:Vi},zi=(l,m,h,v,w,T)=>({minRow:l,minCol:m,maxRow:h,maxCol:v,allCells:w,selectedCells:T}),mt=(l,m)=>{const h=l.grid.columns;let w=l.grid.rows,T=h,D=0,$=0;const H=[],Z=[];return wo(l.access,te=>{if(H.push(te),m(te)){Z.push(te);const Te=te.row,He=Te+te.rowspan-1,Le=te.column,ve=Le+te.colspan-1;TeD&&(D=He),Le$&&($=ve)}}),zi(w,T,D,$,H,Z)},ks=(l,m,h)=>{const v=l[h].element,w=ee.fromTag("td");No(w,ee.fromTag("br")),(m?No:na)(v,w)},ic=(l,m,h,v)=>{const w=Ho(l,$=>$.section!=="colgroup"),T=m.grid.columns,D=m.grid.rows;for(let $=0;$h.maxRow||Zh.maxCol||(Wt.getAt(m,$,Z).filter(v).isNone()?ks(w,H,$):H=!0)}},Bc=(l,m,h,v)=>{wo(h.columns,D=>{(D.columnm.maxCol)&&js(D.element)});const w=Ho(Vg(l,"tr"),D=>D.dom.childElementCount===0);_e(w,js),(m.minCol===m.maxCol||m.minRow===m.maxRow)&&_e(Vg(l,"th,td"),D=>{Bo(D,"rowspan"),Bo(D,"colspan")}),Bo(l,Qp),Bo(l,"data-snooker-col-series"),Nr.getTableSize(l).adjustTableWidth(v)},a_=(l,m,h,v)=>{if(v.minCol===0&&m.grid.columns===v.maxCol+1)return 0;const w=Br(m,l,h),T=Ee(w,(Z,te)=>Z+te,0),H=Ee(w.slice(v.minCol,v.maxCol+1),(Z,te)=>Z+te,0)/T*h.pixelWidth()-h.pixelWidth();return h.getCellDelta(H)},i_=(l,m)=>{const h=He=>ec(He.element,m),v=xd(l),w=kd(v),T=Nr.getTableSize(l),D=Wt.generate(w),$=mt(D,h),H="th:not("+m+"),td:not("+m+")",Z=zg(v,"th,td",He=>ec(He,H));_e(Z,js),ic(w,D,$,h);const te=Wt.fromTable(l),Te=a_(l,te,T,$);return Bc(v,$,D,Te),v},Lm=" ",Pr=((l,m)=>{const h=T=>{if(!l(T))throw new Error("Can only get "+m+" value of a "+m+" node");return v(T).getOr("")},v=T=>l(T)?Y.from(T.dom.nodeValue):Y.none();return{get:h,getOption:v,set:(T,D)=>{if(!l(T))throw new Error("Can only set raw "+m+" value of a "+m+" node");T.dom.nodeValue=D}}})(vd,"text"),Fs=l=>Pr.get(l),av=l=>Pr.getOption(l),l_=(l,m)=>Pr.set(l,m),Ui=l=>so(l)==="img"?1:av(l).fold(()=>Hn(l).length,m=>m.length),r1=l=>av(l).filter(m=>m.trim().length!==0||m.indexOf(Lm)>-1).isSome(),JC=l=>Et(l)&&wl(l,"contenteditable")==="false",Bd=["img","br"],Hm=l=>r1(l)||Lo(Bd,so(l))||JC(l),QC=l=>qs(l,Hm),Al=l=>eS(l,Hm),eS=(l,m)=>{const h=v=>{const w=Hn(v);for(let T=w.length-1;T>=0;T--){const D=w[T];if(m(D))return Y.some(D);const $=h(D);if($.isSome())return $}return Y.none()};return h(l)},tS={scope:["row","col"]},iv=l=>()=>{const m=ee.fromTag("td",l.dom);return No(m,ee.fromTag("br",l.dom)),m},lv=l=>()=>ee.fromTag("col",l.dom),Os=l=>()=>ee.fromTag("colgroup",l.dom),Wi=l=>()=>ee.fromTag("tr",l.dom),Vm=(l,m,h)=>{const v=_C(l,m);return wo(h,(w,T)=>{w===null?Bo(v,T):es(v,T,w)}),v},Nd=l=>l,nS=(l,m,h)=>QC(l).map(w=>{const T=h.join(","),D=Fg(w,T,$=>no($,l));return Dr(D,($,H)=>{const Z=Ca(H);return No($,Z),Z},m)}).getOr(m),Go=(l,m)=>{wo(tS,(h,v)=>Tc(l,v).filter(w=>Lo(h,w)).each(w=>es(m,v,w)))},zm=(l,m,h)=>{const v=(D,$)=>{Kp(D.element,$),xa($,"height"),D.colspan!==1&&xa($,"width")},w=D=>{const $=ee.fromTag(so(D.element),m.dom),H=h.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),Z=H.length>0?nS(D.element,$,H):$;return No(Z,ee.fromTag("br")),v(D,$),Go(D.element,$),l(D.element,$),$};return{col:D=>{const $=ee.fromTag(so(D.element),m.dom);return v(D,$),l(D.element,$),$},colgroup:Os(m),row:Wi(m),cell:w,replace:Vm,colGap:lv(m),gap:iv(m)}},Um=l=>({col:lv(l),colgroup:Os(l),row:Wi(l),cell:iv(l),replace:Nd,colGap:lv(l),gap:iv(l)}),uv=(l,m)=>{const v=(m||document).createElement("div");return v.innerHTML=l,Hn(ee.fromDom(v))},Rl=l=>Rt(l,ee.fromDom),lc=l=>m=>m.options.get(l),c1="100%",Aa=l=>{var m;const h=l.dom,v=(m=h.getParent(l.selection.getStart(),h.isBlock))!==null&&m!==void 0?m:l.getBody();return VC(ee.fromDom(v))+"px"},_u=(l,m)=>Id(l)||!uc(l)?m:ku(l)?{...m,width:Aa(l)}:{...m,width:c1},Pd=(l,m)=>Id(l)||uc(l)?m:ku(l)?{...m,width:Aa(l)}:{...m,width:c1},Wm=l=>{const m=l.options.register;m("table_clone_elements",{processor:"string[]"}),m("table_use_colgroups",{processor:"boolean",default:!0}),m("table_header_type",{processor:h=>{const v=Lo(["section","cells","sectionCells","auto"],h);return v?{value:h,valid:v}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),m("table_sizing_mode",{processor:"string",default:"auto"}),m("table_default_attributes",{processor:"object",default:{border:"1"}}),m("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),m("table_column_resizing",{processor:h=>{const v=Lo(["preservetable","resizetable"],h);return v?{value:h,valid:v}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),m("table_resize_bars",{processor:"boolean",default:!0}),m("table_style_by_css",{processor:"boolean",default:!0}),m("table_merge_content_on_paste",{processor:"boolean",default:!0})},Dl=l=>Y.from(l.options.get("table_clone_elements")),u_=l=>{const m=l.options.get("object_resizing");return Lo(m.split(","),"table")},$d=lc("table_header_type"),dv=lc("table_column_resizing"),oS=l=>dv(l)==="preservetable",ko=l=>dv(l)==="resizetable",Zm=lc("table_sizing_mode"),ii=l=>Zm(l)==="relative",ku=l=>Zm(l)==="fixed",Id=l=>Zm(l)==="responsive",Fd=lc("table_resize_bars"),uc=lc("table_style_by_css"),fo=lc("table_merge_content_on_paste"),li=l=>{const m=l.options,h=m.get("table_default_attributes");return m.isSet("table_default_attributes")?h:Pd(l,h)},mv=l=>{const m=l.options,h=m.get("table_default_styles");return m.isSet("table_default_styles")?h:_u(l,h)},eh=lc("table_use_colgroups"),a1=l=>Ps(l,"[contenteditable]"),Ou=(l,m=!1)=>xo(l)?l.dom.isContentEditable:a1(l).fold(q(m),h=>th(h)==="true"),th=l=>l.dom.contentEditable,i1=l=>ee.fromDom(l.getBody()),Zi=l=>m=>no(m,i1(l)),ui=l=>{Bo(l,"data-mce-style");const m=h=>Bo(h,"data-mce-style");_e(ei(l),m),_e(Ug(l),m),_e(Yp(l),m)},Nc=l=>ee.fromDom(l.selection.getStart()),Au=l=>l.getBoundingClientRect().width,Ru=l=>l.getBoundingClientRect().height,sS=(l,m)=>{const h=l.dom.getStyle(m,"width")||l.dom.getAttrib(m,"width");return Y.from(h).filter(Hg)},l1=l=>/^(\d+(\.\d+)?)%$/.test(l),nh=l=>/^(\d+(\.\d+)?)px$/.test(l),u1=l=>Lg(l,Qr("table")).exists(Ou),rS=(l,m)=>{const h=m.column,v=m.column+m.colspan-1,w=m.row,T=m.row+m.rowspan-1;return h<=l.finishCol&&v>=l.startCol&&w<=l.finishRow&&T>=l.startRow},d1=(l,m)=>m.column>=l.startCol&&m.column+m.colspan-1<=l.finishCol&&m.row>=l.startRow&&m.row+m.rowspan-1<=l.finishRow,oh=(l,m)=>{let h=!0;const v=An(d1,m);for(let w=m.startRow;w<=m.finishRow;w++)for(let T=m.startCol;T<=m.finishCol;T++)h=h&&Wt.getAt(l,w,T).exists(v);return h?Y.some(m):Y.none()},sh=(l,m)=>XT(Math.min(l.row,m.row),Math.min(l.column,m.column),Math.max(l.row+l.rowspan-1,m.row+m.rowspan-1),Math.max(l.column+l.colspan-1,m.column+m.colspan-1)),qt=(l,m,h)=>{const v=Wt.findItem(l,m,no),w=Wt.findItem(l,h,no);return v.bind(T=>w.map(D=>sh(T,D)))},it=(l,m,h)=>qt(l,m,h).bind(v=>oh(l,v)),Ml=(l,m,h,v)=>Wt.findItem(l,m,no).bind(w=>{const T=h>0?w.row+w.rowspan-1:w.row,D=v>0?w.column+w.colspan-1:w.column;return Wt.getAt(l,T+h,D+v).map(H=>H.element)}),m1=(l,m,h)=>qt(l,m,h).map(v=>{const w=Wt.filterItems(l,An(rS,v));return Rt(w,T=>T.element)}),rh=(l,m)=>{const h=(v,w)=>O0(w,v);return Wt.findItem(l,m,h).map(v=>v.element)},d_=(l,m,h)=>Mr(l).bind(v=>{const w=hv(v);return Ml(w,l,m,h)}),fv=(l,m,h)=>{const v=hv(l);return m1(v,m,h)},In=(l,m,h,v,w)=>{const T=hv(l),D=no(l,h)?Y.some(m):rh(T,m),$=no(l,w)?Y.some(v):rh(T,v);return D.bind(H=>$.bind(Z=>m1(T,H,Z)))},gv=(l,m,h)=>{const v=hv(l);return it(v,m,h)},hv=Wt.fromTable;var pv=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],be=()=>{const l=Z=>ee.fromDom(Z.dom.cloneNode(!1)),m=Z=>Tm(Z).dom,h=Z=>Jr(Z)?so(Z)==="body"?!0:Lo(pv,so(Z)):!1,v=Z=>Jr(Z)?Lo(["br","img","hr","input"],so(Z)):!1,w=Z=>Jr(Z)&&wl(Z,"contenteditable")==="false",T=(Z,te)=>Z.dom.compareDocumentPosition(te.dom),D=(Z,te)=>{const Te=va(Z);Bi(te,Te)},$=Z=>{const te=so(Z);return Lo(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],te)},H=Z=>Jr(Z)?Tc(Z,"lang"):Y.none();return{up:q({selector:pu,closest:Ps,predicate:Eo,all:Cd}),down:q({selector:tc,predicate:Ig}),styles:q({get:Ks,getRaw:I0,set:mo,remove:xa}),attrs:q({get:wl,set:es,remove:Bo,copyTo:D}),insert:q({before:Sd,after:gu,afterAll:$n,append:No,appendAll:oa,prepend:na,wrap:TC}),remove:q({unwrap:Zp,remove:js}),create:q({nu:ee.fromTag,clone:l,text:ee.fromText}),query:q({comparePosition:T,prevSibling:Ng,nextSibling:_m}),property:q({children:Hn,name:so,parent:El,document:m,isText:vd,isComment:Kn,isElement:Jr,isSpecial:$,getLanguage:H,getText:Fs,setText:l_,isBoundary:h,isEmptyTag:v,isNonEditable:w}),eq:no,is:qT}};const f1=(l,m,h,v)=>{const w=h[0],T=h.slice(1);return v(l,m,w,T)},m_=(l,m,h)=>h.length>0?f1(l,m,h,ch):Y.none(),ch=(l,m,h,v)=>{const w=m(l,h);return Dr(v,(T,D)=>{const $=m(l,D);return f_(l,T,$)},w)},f_=(l,m,h)=>m.bind(v=>h.filter(An(l.eq,v))),jm=(l,m)=>An(l.eq,m),bv=(l,m,h,v=an)=>{const w=[m].concat(l.up().all(m)),T=[h].concat(l.up().all(h)),D=te=>wm(te,v).fold(()=>te,He=>te.slice(0,He+1)),$=D(w),H=D(T),Z=N($,te=>Fe(H,jm(l,te)));return{firstpath:$,secondpath:H,shared:Z}},Bl=m_,g_=bv,ji=be(),Mn=(l,m)=>Bl(ji,(h,v)=>l(v),m),Gi=(l,m,h)=>g_(ji,l,m,h),vv=l=>pu(l,"table"),Ra=(l,m,h)=>{const v=w=>T=>h!==void 0&&h(T)||no(T,w);return no(l,m)?Y.some({boxes:Y.some([l]),start:l,finish:m}):vv(l).bind(w=>vv(m).bind(T=>{if(no(w,T))return Y.some({boxes:fv(w,l,m),start:l,finish:m});if(O0(w,T)){const D=Fg(m,"td,th",v(w)),$=D.length>0?D[D.length-1]:m;return Y.some({boxes:In(w,l,w,m,T),start:l,finish:$})}else if(O0(T,w)){const D=Fg(l,"td,th",v(T)),$=D.length>0?D[D.length-1]:l;return Y.some({boxes:In(T,l,w,m,T),start:l,finish:$})}else return Gi(l,m).shared.bind(D=>Ps(D,"table",h).bind($=>{const H=Fg(m,"td,th",v($)),Z=H.length>0?H[H.length-1]:m,te=Fg(l,"td,th",v($)),Te=te.length>0?te[te.length-1]:l;return Y.some({boxes:In($,l,w,m,T),start:Te,finish:Z})}))}))},Nl=(l,m)=>{const h=tc(l,m);return h.length>0?Y.some(h):Y.none()},yv=(l,m)=>N(l,h=>ec(h,m)),Ld=(l,m,h)=>Tl(l,m).bind(v=>Tl(l,h).bind(w=>Mn(vv,[v,w]).map(T=>({first:v,last:w,table:T})))),cS=(l,m)=>pu(l,"table").bind(h=>Tl(h,m).bind(v=>Ra(v,l).bind(w=>w.boxes.map(T=>({boxes:T,start:w.start,finish:w.finish}))))),g1=(l,m,h,v,w)=>yv(l,w).bind(T=>d_(T,m,h).bind(D=>cS(D,v))),Cv=(l,m)=>Nl(l,m),h_=(l,m,h)=>Ld(l,m,h).bind(v=>{const w=H=>no(l,H),T="thead,tfoot,tbody,table",D=pu(v.first,T,w),$=pu(v.last,T,w);return D.bind(H=>$.bind(Z=>no(H,Z)?gv(v.table,v.first,v.last):Y.none()))}),Sv=En,qi=l=>{const m=(v,w)=>Tc(v,w).exists(T=>parseInt(T,10)>1),h=v=>m(v,"rowspan")||m(v,"colspan");return l.length>0&&eo(l,h)?Y.some(l):Y.none()},WR=(l,m,h)=>m.length<=1?Y.none():h_(l,h.firstSelectedSelector,h.lastSelectedSelector).map(v=>({bounds:v,cells:m})),wv="data-mce-selected",Hd="td["+wv+"],th["+wv+"]",Ls="["+wv+"]",Xe="data-mce-first-selected",p_="td["+Xe+"],th["+Xe+"]",xv="data-mce-last-selected",b_="td["+xv+"],th["+xv+"]",aS=Ls,Vd={selected:wv,selectedSelector:Hd,firstSelected:Xe,firstSelectedSelector:p_,lastSelected:xv,lastSelectedSelector:b_},Gm=(l,m,h)=>({element:h,mergable:WR(m,l,Vd),unmergable:qi(l),selection:Sv(l)}),ah=(l,m,h)=>({element:l,clipboard:m,generators:h}),qm=(l,m,h,v)=>({selection:Sv(l),clipboard:h,generators:v}),h1=l=>Mr(l).bind(m=>Cv(m,Vd.firstSelectedSelector)).fold(q(l),m=>m[0]),Pl=l=>(m,h)=>{const v=so(m),w=v==="col"||v==="colgroup"?h1(m):m;return Ps(w,l,h)},di=Pl("th,td,caption"),ih=Pl("th,td"),ra=l=>Rl(l.model.table.getSelectedCells()),p1=l=>Ho(ra(l),m=>ec(m,Vd.selectedSelector)),iS=l=>Mr(l[0]).map(m=>{const h=i_(m,aS);return ui(h),[h]}),Km=(l,m)=>Rt(m,h=>l.selection.serializer.serialize(h.dom,{})).join(""),$l=l=>Rt(l,m=>m.dom.innerText).join(""),v_=(l,m)=>{l.on("BeforeGetContent",h=>{const v=w=>{h.preventDefault(),iS(w).each(T=>{h.content=h.format==="text"?$l(T):Km(l,T)})};if(h.selection===!0){const w=p1(l);w.length>=1&&v(w)}}),l.on("BeforeSetContent",h=>{if(h.selection===!0&&h.paste===!0){const v=ra(l);ge(v).each(w=>{Mr(w).each(T=>{const D=Ho(uv(h.content),H=>so(H)!=="meta"),$=Qr("table");if(fo(l)&&D.length===1&&$(D[0])){h.preventDefault();const H=ee.fromDom(l.getDoc()),Z=Um(H),te=ah(w,D[0],Z);m.pasteCells(T,te).each(()=>{l.focus()})}})})}})},Ym=(l,m)=>({element:l,offset:m}),zd=(l,m,h)=>l.property().isText(m)&&l.property().getText(m).trim().length===0||l.property().isComment(m)?h(m).bind(v=>zd(l,v,h).orThunk(()=>Y.some(v))):Y.none(),Da=(l,m)=>l.property().isText(m)?l.property().getText(m).length:l.property().children(m).length,dc=(l,m)=>{const h=zd(l,m,l.query().prevSibling).getOr(m);if(l.property().isText(h))return Ym(h,Da(l,h));const v=l.property().children(h);return v.length>0?dc(l,v[v.length-1]):Ym(h,Da(l,h))},y_=dc,lS=be(),uS=l=>y_(lS,l),Ev=(l,m)=>{wr(l)||ye(l).each(v=>{const w=v.value/2;rc(l,w,v.unit),rc(m,w,v.unit)})},mc=l=>Rt(l,q(0)),Xm=(l,m,h,v,w)=>w(l.slice(0,m)).concat(v).concat(w(l.slice(h))),b1=l=>(m,h,v,w)=>{if(l(v)){const T=Math.max(w,m[h]-Math.abs(v)),D=Math.abs(T-m[h]);return v>=0?D:-D}else return v},v1=b1(l=>l<0),C_=b1(Se),dS=()=>{const l=($,H,Z,te,Te)=>{const He=v1($,H,te,Te);return Xm($,H,Z+1,[He,0],mc)},m=($,H,Z,te)=>{const Te=(100+Z)/100,He=Math.max(te,($[H]+Z)/Te);return Rt($,(Le,ve)=>(ve===H?He:Le/Te)-Le)},h=($,H,Z,te,Te,He)=>He?m($,H,te,Te):l($,H,Z,te,Te);return{resizeTable:($,H)=>$(H),clampTableDelta:v1,calcLeftEdgeDeltas:h,calcMiddleDeltas:($,H,Z,te,Te,He,Le)=>h($,Z,te,Te,He,Le),calcRightEdgeDeltas:($,H,Z,te,Te,He)=>{if(He)return m($,Z,te,Te);{const Le=v1($,Z,te,Te);return mc($.slice(0,Z)).concat([Le])}},calcRedestributedWidths:($,H,Z,te)=>{if(te){const He=(H+Z)/H,Le=Rt($,ve=>ve/He);return{delta:He*100-100,newSizes:Le}}else return{delta:Z,newSizes:$}}}},Tv=()=>{const l=(D,$,H,Z,te)=>{const Te=Z>=0?H:$,He=C_(D,Te,Z,te);return Xm(D,$,H+1,[He,-He],mc)};return{resizeTable:(D,$,H)=>{H&&D($)},clampTableDelta:(D,$,H,Z,te)=>{if(te){if(H>=0)return H;{const Te=Ee(D,(He,Le)=>He+Le-Z,0);return Math.max(-Te,H)}}else return v1(D,$,H,Z)},calcLeftEdgeDeltas:l,calcMiddleDeltas:(D,$,H,Z,te,Te)=>l(D,H,Z,te,Te),calcRightEdgeDeltas:(D,$,H,Z,te,Te)=>{if(Te)return mc(D);{const He=Z/D.length;return Rt(D,q(He))}},calcRedestributedWidths:(D,$,H,Z)=>({delta:0,newSizes:D})}},Jm=l=>Wt.fromTable(l).grid,Qm=Qr("th"),y1=l=>eo(l,m=>Qm(m.element)),S_=(l,m)=>l&&m?"sectionCells":l?"section":"cells",C1=l=>{const m=l.section==="thead",h=km(ef(l.cells),"th");return l.section==="tfoot"?{type:"footer"}:m||h?{type:"header",subType:S_(m,h)}:{type:"body"}},ef=l=>{const m=Ho(l,h=>Qm(h.element));return m.length===0?Y.some("td"):m.length===l.length?Y.some("th"):Y.none()},w_=l=>{const m=Rt(l,w=>C1(w).type),h=Lo(m,"header"),v=Lo(m,"footer");if(!h&&!v)return Y.some("body");{const w=Lo(m,"body");return h&&!w&&!v?Y.some("header"):!h&&!w&&v?Y.some("footer"):Y.none()}},lh=l=>rr(l.all,m=>{const h=C1(m);return h.type==="header"?Y.from(h.subType):Y.none()}),_v=(l,m,h)=>ro(h(l.element,m),!0,l.isLocked),fc=(l,m)=>l.section!==m?Sa(l.element,l.cells,m,l.isNew):l,S1=()=>({transformRow:fc,transformCell:(l,m,h)=>{const v=h(l.element,m),w=so(v)!=="td"?A0(v,"td"):v;return ro(w,l.isNew,l.isLocked)}}),mS=()=>({transformRow:fc,transformCell:_v}),w1=()=>({transformRow:(l,m)=>fc(l,m==="thead"?"tbody":m),transformCell:_v}),Du={getTableSectionType:(l,m)=>{const h=Wt.fromTable(l);switch(lh(h).getOr(m)){case"section":return S1();case"sectionCells":return mS();case"cells":return w1()}},section:S1,sectionCells:mS,cells:w1,fallback:()=>({transformRow:En,transformCell:_v})},Ki=(l,m,h,v)=>{h===v?Bo(l,m):es(l,m,h)},kv=(l,m,h)=>{du(Bt(l,m)).fold(()=>na(l,h),v=>gu(v,h))},tf=(l,m)=>{const h=ln(l,m).getOrThunk(()=>{const v=ee.fromTag(m,Bg(l).dom);return m==="thead"?kv(l,"caption,colgroup",v):m==="colgroup"?kv(l,"caption",v):No(l,v),v});return kc(h),h},E1=(l,m)=>{const h=[],v=[],w=Le=>Rt(Le,ve=>{ve.isNew&&h.push(ve.element);const Ve=ve.element;return kc(Ve),_e(ve.cells,pe=>{pe.isNew&&v.push(pe.element),Ki(pe.element,"colspan",pe.colspan,1),Ki(pe.element,"rowspan",pe.rowspan,1),No(Ve,pe.element)}),Ve}),T=Le=>Qo(Le,ve=>Rt(ve.cells,Ve=>(Ki(Ve.element,"span",Ve.colspan,1),Ve.element))),D=(Le,ve)=>{const Ve=tf(l,ve),Qe=(ve==="colgroup"?T:w)(Le);oa(Ve,Qe)},$=Le=>{ln(l,Le).each(js)},H=(Le,ve)=>{Le.length>0?D(Le,ve):$(ve)},Z=[],te=[],Te=[],He=[];return _e(m,Le=>{switch(Le.section){case"thead":Z.push(Le);break;case"tbody":te.push(Le);break;case"tfoot":Te.push(Le);break;case"colgroup":He.push(Le);break}}),H(He,"colgroup"),H(Z,"thead"),H(te,"tbody"),H(Te,"tfoot"),{newRows:h,newCells:v}},fS=l=>Rt(l,m=>{const h=Ca(m.element);return _e(m.cells,v=>{const w=xd(v.element);Ki(w,"colspan",v.colspan,1),Ki(w,"rowspan",v.rowspan,1),No(h,w)}),h}),Un=(l,m)=>Rt(l,h=>sc(h,m)),x_=(l,m)=>l[m],Oo=(l,m)=>{if(l.length===0)return 0;const h=l[0];return wm(l,w=>!m(h.element,w.element)).getOr(l.length)},gS=(l,m,h,v)=>{const w=x_(l,m),T=w.section==="colgroup",D=Oo(w.cells.slice(h),v),$=T?1:Oo(Un(l.slice(m),h),v);return{colspan:D,rowspan:$}},oo=(l,m)=>{const h=Rt(l,w=>Rt(w.cells,an)),v=(w,T,D,$)=>{for(let H=w;H{const D=Qo(w.cells,($,H)=>{if(h[T][H]===!1){const Z=gS(l,T,H,m);return v(T,H,Z.rowspan,Z.colspan),[R0($.element,Z.rowspan,Z.colspan,$.isNew)]}else return[]});return OC(w.element,D,w.section,w.isNew)})},nf=(l,m,h)=>{const v=[];_e(l.colgroups,w=>{const T=[];for(let D=0;Dro(H.element,h,!1)).getOrThunk(()=>ro(m.colGap(),!0,!1));T.push($)}v.push(Sa(w.element,T,"colgroup",h))});for(let w=0;wro(te.element,h,te.isLocked)).getOrThunk(()=>ro(m.gap(),!0,!1));T.push(Z)}const D=l.all[w],$=Sa(D.element,T,D.section,h);v.push($)}return v},qo=(l,m)=>nf(l,m,!1),ao=l=>oo(l,no),Pc=(l,m)=>rr(l.all,h=>N(h.cells,v=>no(m,v.element))),Ov=(l,m,h)=>{const v=Rt(m.selection,T=>F0(T).bind(D=>Pc(l,D)).filter(h)),w=ts(v);return N0(w.length>0,w)},Hs=(l,m,h,v,w)=>(T,D,$,H)=>{const Z=Wt.fromTable(T),te=Y.from(H==null?void 0:H.section).getOrThunk(Du.fallback);return m(Z,D).map(He=>{const Le=qo(Z,$),ve=l(Le,He,no,w($),te),Ve=hs(ve.grid),pe=ao(ve.grid);return{info:He,grid:pe,cursor:ve.cursor,lockedColumns:Ve}}).bind(He=>{const Le=E1(T,He.grid),ve=Y.from(H==null?void 0:H.sizing).getOrThunk(()=>Nr.getTableSize(T)),Ve=Y.from(H==null?void 0:H.resize).getOrThunk(Tv);return h(T,He.grid,He.info,{sizing:ve,resize:Ve,section:te}),v(T),Bo(T,Qp),He.lockedColumns.length>0&&es(T,Qp,He.lockedColumns.join(",")),Y.some({cursor:He.cursor,newRows:Le.newRows,newCells:Le.newCells})})},uh=(l,m)=>F0(m.element).bind(h=>Pc(l,h).map(v=>({...v,generators:m.generators,clipboard:m.clipboard}))),of=(l,m)=>Ov(l,m,Se).map(h=>({cells:h,generators:m.generators,clipboard:m.clipboard})),Yi=(l,m)=>m.mergable,sf=(l,m)=>m.unmergable,Mu=(l,m)=>Ov(l,m,Se),Il=(l,m)=>Ov(l,m,h=>!h.isLocked),E_=(l,m)=>Pc(l,m).exists(h=>!h.isLocked),hS=(l,m)=>eo(m,h=>E_(l,h)),jR=(l,m)=>Yi(l,m).filter(h=>hS(l,h.cells)),GR=(l,m)=>sf(l,m).filter(h=>hS(l,h)),Ma=(l,m,h,v)=>{const w=os(l).rows;if(w.length===0)return l;for(let T=m.startRow;T<=m.finishRow;T++)for(let D=m.startCol;D<=m.finishCol;D++){const $=w[T],H=sc($,D).isLocked;Nm($,D,ro(v(),!1,H))}return l},ur=(l,m,h,v)=>{const w=os(l).rows;let T=!0;for(let D=0;DEe(l,(h,v)=>Fe(h,w=>m(w.element,v.element))?h:h.concat([v]),[]),__=(l,m,h,v)=>(m>0&&m{const T=w.cells[m-1];let D=0;const $=v();for(;w.cells.length>m+D&&h(T.element,w.cells[m+D].element);)Nm(w,m+D,ro($,!0,w.cells[m+D].isLocked)),D++}),l),Bu=(l,m,h,v)=>{const w=os(l).rows;if(m>0&&m{let H=Y.none();for(let Z=m;Z{Nm(Te,te,ro(ve,!0,He.isLocked))}))}})}return l},dh=l=>{const m=T=>T(l),h=q(l),v=()=>w,w={tag:!0,inner:l,fold:(T,D)=>D(l),isValue:Se,isError:an,map:T=>Xi.value(T(l)),mapError:v,bind:m,exists:m,forall:m,getOr:h,or:v,getOrThunk:h,orThunk:v,getOrDie:h,each:T=>{T(l)},toOptional:()=>Y.some(l)};return w},T1=l=>{const m=()=>h,h={tag:!1,inner:l,fold:(v,w)=>v(l),isValue:an,isError:Se,map:m,mapError:v=>Xi.error(v(l)),bind:m,exists:an,forall:Se,getOr:En,or:En,getOrThunk:ws,orThunk:ws,getOrDie:sn(String(l)),each:gt,toOptional:Y.none};return h},Xi={value:dh,error:T1,fromOption:(l,m)=>l.fold(()=>T1(m),dh)},rf=(l,m,h)=>{if(l.row>=m.length||l.column>Dc(m[0]))return Xi.error("invalid start address out of table bounds, row: "+l.row+", column: "+l.column);const v=m.slice(l.row),w=v[0].cells.slice(l.column),T=Dc(h[0]),D=h.length;return Xi.value({rowDelta:v.length-D,colDelta:w.length-T})},cf=(l,m)=>{const h=Dc(l[0]),v=Dc(m[0]);return{rowDelta:0,colDelta:h-v}},af=(l,m)=>{const h=l.length,v=m.length;return{rowDelta:h-v,colDelta:0}},Ud=(l,m,h,v)=>{const w=m.section==="colgroup"?h.col:h.cell;return Co(l,T=>ro(w(),!0,v(T)))},pS=(l,m,h,v)=>{const w=l[l.length-1];return l.concat(Co(m,()=>{const T=w.section==="colgroup"?h.colgroup:h.row,D=G0(w,T,En),$=Ud(D.cells.length,D,h,H=>ms(v,H.toString()));return zC(D,$)}))},vo=(l,m,h,v)=>Rt(l,w=>{const T=Ud(m,w,h,an);return oc(w,v,T)}),bS=(l,m,h)=>Rt(l,v=>Ee(h,(w,T)=>{const D=Ud(1,v,m,Se)[0];return wu(w,T,D)},v)),lf=(l,m,h)=>{const v=m.colDelta<0?vo:En,w=m.rowDelta<0?pS:En,T=hs(l),D=Dc(l[0]),$=Fe(T,te=>te===D-1),H=v(l,Math.abs(m.colDelta),h,$?D-1:D),Z=hs(H);return w(H,Math.abs(m.rowDelta),h,_t(Z,Se))},vS=(l,m,h,v)=>{const w=sc(l[m],h),T=An(v,w.element),D=l[m];return l.length>1&&Dc(D)>1&&(h>0&&T(ns(D,h-1))||h0&&T(ns(l[m-1],h))||m{const D=l.row,$=l.column,H=h.length,Z=Dc(h[0]),te=D+H,Te=$+Z+T.length,He=_t(T,Se);for(let Le=D;Le{const v=Dc(m[0]),w=os(m).cols.length+l.row,T=Co(v-l.column,$=>$+l.column),D=N(T,$=>eo(h,H=>H!==$)).getOr(v-1);return{row:w,column:D}},$c=(l,m,h)=>Ho(h,v=>v>=l.column&&v<=Dc(m[0])+l.column),yS=(l,m,h,v,w)=>{const T=hs(m),D=Ys(l,m,T),$=os(h).rows,H=$c(D,$,T);return rf(D,m,$).map(te=>{const Te={...te,colDelta:te.colDelta-H.length},He=lf(m,Te,v),Le=hs(He),ve=$c(D,$,Le);return k1(D,He,$,v,w,ve)})},O1=(l,m,h,v,w)=>{__(m,l,w,v.cell);const T=af(h,m),D=lf(h,T,v),$=af(m,D),H=lf(m,$,v);return Rt(H,(Z,te)=>oc(Z,l,D[te].cells))},Wd=(l,m,h,v,w)=>{Bu(m,l,w,v.cell);const T=hs(m),D=cf(m,h),$={...D,colDelta:D.colDelta-T.length},H=lf(m,$,v),{cols:Z,rows:te}=os(H),Te=hs(H),He=cf(h,m),Le={...He,colDelta:He.colDelta+Te.length},ve=bS(h,v,Te),Ve=lf(ve,Le,v);return[...Z,...te.slice(0,l),...Ve,...te.slice(l,te.length)]},k_=(l,m,h,v)=>G0(l,w=>v(w,h),m),CS=(l,m,h,v,w)=>{const{rows:T,cols:D}=os(l),$=T.slice(0,m),H=T.slice(m),Z=k_(T[h],(te,Te)=>m>0&&m{if(h==="colgroup"||!v){const $=sc(l,w);return ro(D($.element,T),!0,!1)}else return sc(l,m)},gc=(l,m,h,v,w)=>Rt(l,T=>{const D=m>0&&mQo(l,h=>{const v=h.cells,w=Dr(m,(T,D)=>D>=0&&D0?[Sa(h.element,w,h.section,h.isNew)]:[]}),Ao=(l,m,h)=>{const{rows:v,cols:w}=os(l);return[...w,...v.slice(0,m),...v.slice(h+1)]},mi=(l,m,h,v)=>ns(l[m],h)!==void 0&&m>0&&v(ns(l[m-1],h),ns(l[m],h)),uf=(l,m,h)=>m>0&&h(ns(l,m-1),ns(l,m)),Nu=(l,m,h,v)=>mi(l,m,h,v)||uf(l[m],h,v),Zd=(l,m)=>eo(m,En)&&y1(l.cells)?Se:(v,w,T)=>!(so(v.element)==="th"&&m[T]),jd=(l,m)=>eo(m,En)&&y1(l)?Se:(v,w,T)=>!(so(v.element)==="th"&&m[w]),Fl=(l,m,h,v)=>{const w=D=>D==="row"?Ni(m):wr(m),T=D=>w(D)?`${D}group`:D;return l?Qm(m)?T(h):null:v&&Qm(m)?T(h==="row"?"col":"row"):null},SS=(l,m)=>(h,v,w)=>Y.some(Fl(l,h.element,"col",m[w])),Gd=(l,m)=>(h,v)=>Y.some(Fl(l,h.element,"row",m[v])),Pu=(l,m,h)=>ro(h(l.element,m),!0,l.isLocked),qd=(l,m,h,v,w,T,D)=>{const $=H=>Fe(m,Z=>h(H.element,Z.element));return Rt(l,(H,Z)=>UC(H,(te,Te)=>{if($(te)){const He=D(te,Z,Te)?w(te,h,v):te;return T(He,Z,Te).each(Le=>{Wp(He.element,{scope:Y.from(Le)})}),He}else return te}))},wS=(l,m,h)=>Qo(l,(v,w)=>Nu(l,w,m,h)?[]:[sc(v,m)]),O_=(l,m,h)=>{const v=l[m];return Qo(v.cells,(w,T)=>Nu(l,m,T,h)?[]:[w])},Rv=(l,m,h,v,w)=>{const T=os(l).rows,D=Qo(m,te=>wS(T,te,v)),$=Rt(T,te=>y1(te.cells)),H=jd(D,$),Z=Gd(h,$);return qd(l,D,v,w,Pu,Z,H)},A_=(l,m,h,v,w,T,D)=>{const{cols:$,rows:H}=os(l),Z=H[m[0]],te=Qo(m,pe=>O_(H,pe,w)),Te=Rt(Z.cells,(pe,Qe)=>y1(wS(H,Qe,w))),He=[...H];_e(m,pe=>{He[pe]=D.transformRow(H[pe],h)});const Le=[...$,...He],ve=Zd(Z,Te),Ve=SS(v,Te);return qd(Le,te,w,T,D.transformCell,Ve,ve)},R1=(l,m,h,v)=>{const w=os(l).rows,T=Rt(m,D=>sc(w[D.row],D.column));return qd(l,T,h,v,Pu,Y.none,Se)},hc={generate:l=>{if(!pa(l))throw new Error("cases must be an array");if(l.length===0)throw new Error("there must be at least one case");const m=[],h={};return _e(l,(v,w)=>{const T=pt(v);if(T.length!==1)throw new Error("one and only one name per case");const D=T[0],$=v[D];if(h[D]!==void 0)throw new Error("duplicate key detected:"+D);if(D==="cata")throw new Error("cannot have a case named cata (sorry)");if(!pa($))throw new Error("case arguments must be an array");m.push(D),h[D]=(...H)=>{const Z=H.length;if(Z!==$.length)throw new Error("Wrong number of arguments to case "+D+". Expected "+$.length+" ("+$+"), got "+Z);return{fold:(...Te)=>{if(Te.length!==l.length)throw new Error("Wrong number of arguments to fold. Expected "+l.length+", got "+Te.length);return Te[w].apply(null,H)},match:Te=>{const He=pt(Te);if(m.length!==He.length)throw new Error("Wrong number of arguments to match. Expected: "+m.join(",")+` -Actual: `+He.join(","));if(!eo(m,ve=>Lo(He,ve)))throw new Error("Not all branches were specified when using match. Specified: "+He.join(", ")+` -Required: `+m.join(", "));return Te[D].apply(null,H)},log:Te=>{console.log(Te,{constructors:m,constructor:D,params:H})}}}}),h}},df={...hc.generate([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},ES=(l,m)=>l.length===0?df.none():l.length===1?df.only(0):m===0?df.left(0,1):m===l.length-1?df.right(m-1,m):m>0&&m{const T=l.slice(0),D=ES(l,m),$=q(Rt(T,q(0))),H=He=>v.singleColumnWidth(T[He],h),Z=(He,Le)=>w.calcLeftEdgeDeltas(T,He,Le,h,v.minCellWidth(),v.isRelative),te=(He,Le,ve)=>w.calcMiddleDeltas(T,He,Le,ve,h,v.minCellWidth(),v.isRelative),Te=(He,Le)=>w.calcRightEdgeDeltas(T,He,Le,h,v.minCellWidth(),v.isRelative);return D.fold($,H,Z,te,Te)},mh=(l,m,h)=>{let v=0;for(let w=l;w{const h=Wt.justCells(l);return Rt(h,v=>{const w=mh(v.column,v.column+v.colspan,m);return{element:v.element,width:w,colspan:v.colspan}})},D1=(l,m)=>{const h=Wt.justColumns(l);return Rt(h,(v,w)=>({element:v.element,width:m[w],colspan:v.colspan}))},Qt=(l,m)=>{const h=Wt.justCells(l);return Rt(h,v=>{const w=mh(v.row,v.row+v.rowspan,m);return{element:v.element,height:w,rowspan:v.rowspan}})},pc=(l,m)=>Rt(l.all,(h,v)=>({element:h.element,height:m[v]})),fi=l=>Dr(l,(m,h)=>m+h,0),Mv=(l,m)=>Wt.hasColumns(l)?D1(l,m):$u(l,m),Tn=(l,m,h)=>{const v=Mv(l,m);_e(v,w=>{h.setElementWidth(w.element,w.width)})},fh=(l,m,h,v,w)=>{const T=Wt.fromTable(l),D=w.getCellDelta(m),$=w.getWidths(T,w),H=h===T.grid.columns-1,Z=v.clampTableDelta($,h,D,w.minCellWidth(),H),te=R_($,h,Z,w,v),Te=Rt(te,(He,Le)=>He+$[Le]);Tn(T,Te,w),v.resizeTable(w.adjustTableWidth,Z,H)},Bv=(l,m,h,v)=>{const w=Wt.fromTable(l),T=oe(w,l,v),D=Rt(T,(te,Te)=>h===Te?Math.max(m+te,Qa()):te),$=Qt(w,D),H=pc(w,D);_e(H,te=>{Eu(te.element,te.height)}),_e($,te=>{Eu(te.element,te.height)});const Z=fi(D);Eu(l,Z)},rs=(l,m,h,v,w)=>{const T=Wt.generate(m),D=v.getWidths(T,v),$=v.pixelWidth(),{newSizes:H,delta:Z}=w.calcRedestributedWidths(D,$,h.pixelDelta,v.isRelative);Tn(T,H,v),v.adjustTableWidth(Z)},Ji=(l,m,h,v)=>{const w=Wt.generate(m),T=v.getWidths(w,v);Tn(w,T,v)},Iu=l=>Ee(l,(h,v)=>Fe(h,T=>T.column===v.column)?h:h.concat([v]),[]).sort((h,v)=>h.column-v.column),Nv=Qr("col"),M1=Qr("colgroup"),gh=l=>so(l)==="tr"||M1(l),Pv=l=>{const m=Yn(l,"colspan",1),h=Yn(l,"rowspan",1);return{element:l,colspan:m,rowspan:h}},B1=(l,m=Pv)=>{const h=$=>Nv($.element)?l.col($):l.cell($),v=$=>M1($.element)?l.colgroup($):l.row($),w=$=>{if(gh($))return v({element:$});{const H=$,Z=h(m(H));return T=Y.some({item:H,replacement:Z}),Z}};let T=Y.none();return{getOrInit:($,H)=>T.fold(()=>w($),Z=>H($,Z.item)?Z.replacement:w($))}},Qi=l=>m=>{const h=[],v=(D,$)=>N(h,H=>$(H.item,D)),w=D=>{const $=l==="td"?{scope:null}:{},H=m.replace(D,l,$);return h.push({item:D,sub:H}),H};return{replaceOrInit:(D,$)=>{if(gh(D)||Nv(D))return D;{const H=D;return v(H,$).fold(()=>w(H),Z=>$(D,Z.item)?Z.sub:w(H))}}}},Ll=l=>Tc(l,"scope").map(m=>m.substr(0,3)),ae={modification:B1,transform:Qi,merging:l=>({unmerge:v=>{const w=Ll(v);return w.each(T=>es(v,"scope",T)),()=>{const T=l.cell({element:v,colspan:1,rowspan:1});return xa(T,"width"),xa(v,"width"),w.each(D=>es(T,"scope",D)),T}},merge:v=>{const w=()=>{const T=ts(Rt(v,Ll));if(T.length===0)return Y.none();{const D=T[0],$=["row","col"];return Fe(T,Z=>Z!==D&&Lo($,Z))?Y.none():Y.from(D)}};return xa(v[0],"width"),w().fold(()=>Bo(v[0],"scope"),T=>es(v[0],"scope",T+"group")),q(v[0])}})},hh=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],mf=(l,m)=>{const h=l.property().name(m);return Lo(["ol","ul"],h)},Ic=(l,m)=>{const h=l.property().name(m);return Lo(hh,h)},$v=(l,m)=>Lo(["br","img","hr","input"],l.property().name(m)),Xn=be(),N1=l=>Ic(Xn,l),Hl=l=>mf(Xn,l),Iv=l=>$v(Xn,l),P1=l=>{const m=Qr("br"),h=H=>eo(H,Z=>m(Z)||vd(Z)&&Fs(Z).trim().length===0),v=H=>so(H)==="li"||Eo(H,Hl).isSome(),w=H=>_m(H).map(Z=>N1(Z)?!0:Iv(Z)?so(Z)!=="img":!1).getOr(!1),T=H=>Al(H).bind(Z=>{const te=w(Z);return El(Z).map(Te=>te===!0||v(Te)||m(Z)||N1(Te)&&!no(H,Te)?[]:[ee.fromTag("br")])}).getOr([]),$=(()=>{const H=Qo(l,Z=>{const te=Hn(Z);return h(te)?[]:te.concat(T(Z))});return H.length===0?[ee.fromTag("br")]:H})();kc(l[0]),oa(l[0],$)},Fv=l=>Ou(l,!0),ph=l=>{ei(l).length===0&&js(l)},ff=(l,m)=>({grid:l,cursor:m}),Lv=l=>rr(l,m=>rr(m.cells,h=>{const v=h.element;return N0(Fv(v),v)})),M_=(l,m,h)=>{var v,w;const T=os(l).rows;return Y.from((w=(v=T[m])===null||v===void 0?void 0:v.cells[h])===null||w===void 0?void 0:w.element).filter(Fv).orThunk(()=>Lv(T))},Tr=(l,m,h)=>{const v=M_(l,m,h);return ff(l,v)},cs=l=>Ee(l,(h,v)=>Fe(h,T=>T.row===v.row)?h:h.concat([v]),[]).sort((h,v)=>h.row-v.row),Vs=(l,m,h,v)=>{const w=m[0].row,T=cs(m),D=Dr(T,($,H)=>({grid:CS($.grid,w,H.row+$.delta,h,v.getOrInit),delta:$.delta+1}),{grid:l,delta:0}).grid;return Tr(D,w,m[0].column)},_r=(l,m,h,v)=>{const w=cs(m),T=w[w.length-1],D=T.row+T.rowspan,$=Dr(w,(H,Z)=>CS(H,D,Z.row,h,v.getOrInit),l);return Tr($,D,m[0].column)},Xs=(l,m,h,v)=>{const w=m.details,T=Iu(w),D=T[0].column,$=Dr(T,(H,Z)=>({grid:gc(H.grid,D,Z.column+H.delta,h,v.getOrInit),delta:H.delta+1}),{grid:l,delta:0}).grid;return Tr($,w[0].row,D)},dr=(l,m,h,v)=>{const w=m.details,T=w[w.length-1],D=T.column+T.colspan,$=Iu(w),H=Dr($,(Z,te)=>gc(Z,D,te.column,h,v.getOrInit),l);return Tr(H,w[0].row,D)},as=(l,m,h,v)=>{const w=Iu(m),T=Rt(w,$=>$.column),D=Rv(l,T,!0,h,v.replaceOrInit);return Tr(D,m[0].row,m[0].column)},Hv=(l,m,h,v)=>{const w=R1(l,m,h,v.replaceOrInit);return Tr(w,m[0].row,m[0].column)},bh=(l,m,h,v)=>{const w=Iu(m),T=Rt(w,$=>$.column),D=Rv(l,T,!1,h,v.replaceOrInit);return Tr(D,m[0].row,m[0].column)},Vv=(l,m,h,v)=>{const w=R1(l,m,h,v.replaceOrInit);return Tr(w,m[0].row,m[0].column)},vh=(l,m)=>(h,v,w,T,D)=>{const $=cs(v),H=Rt($,te=>te.row),Z=A_(h,H,l,m,w,T.replaceOrInit,D);return Tr(Z,v[0].row,v[0].column)},zv=vh("thead",!0),TS=vh("tbody",!1),$1=vh("tfoot",!1),Uv=(l,m,h,v)=>{const w=Iu(m.details),T=A1(l,Rt(w,$=>$.column)),D=T.length>0?T[0].cells.length-1:0;return Tr(T,w[0].row,Math.min(w[0].column,D))},B_=(l,m,h,v)=>{const w=cs(m),T=Ao(l,w[0].row,w[w.length-1].row),D=T.length>0?T.length-1:0;return Tr(T,Math.min(m[0].row,D),m[0].column)},N_=(l,m,h,v)=>{const w=m.cells;P1(w);const T=Ma(l,m.bounds,h,v.merge(w));return ff(T,Y.from(w[0]))},_S=(l,m,h,v)=>{const T=Dr(m,(D,$)=>ur(D,$,h,v.unmerge($)),l);return ff(T,Y.from(m[0]))},P_=(l,m,h,v)=>{const T=((H,Z)=>{const te=Wt.fromTable(H);return nf(te,Z,!0)})(m.clipboard,m.generators),D=jp(m.row,m.column);return yS(D,l,T,m.generators,h).fold(()=>ff(l,Y.some(m.element)),H=>Tr(H,m.row,m.column))},gf=(l,m,h)=>{const v=MC(l,h.section),w=Wt.generate(v);return nf(w,m,!0)},I1=(l,m,h,v)=>{const w=os(l).rows,T=m.cells[0].column,D=w[m.cells[0].row],$=gf(m.clipboard,m.generators,D),H=O1(T,l,$,m.generators,h);return Tr(H,m.cells[0].row,m.cells[0].column)},kS=(l,m,h,v)=>{const w=os(l).rows,T=m.cells[m.cells.length-1].column+m.cells[m.cells.length-1].colspan,D=w[m.cells[0].row],$=gf(m.clipboard,m.generators,D),H=O1(T,l,$,m.generators,h);return Tr(H,m.cells[0].row,m.cells[0].column)},qR=(l,m,h,v)=>{const w=os(l).rows,T=m.cells[0].row,D=w[T],$=gf(m.clipboard,m.generators,D),H=Wd(T,l,$,m.generators,h);return Tr(H,m.cells[0].row,m.cells[0].column)},$r=(l,m,h,v)=>{const w=os(l).rows,T=m.cells[m.cells.length-1].row+m.cells[m.cells.length-1].rowspan,D=w[m.cells[0].row],$=gf(m.clipboard,m.generators,D),H=Wd(T,l,$,m.generators,h);return Tr(H,m.cells[0].row,m.cells[0].column)},KR=(l,m)=>{const h=Wt.fromTable(l);return Mu(h,m).bind(w=>{const T=w[w.length-1],D=w[0].column,$=T.column+T.colspan,H=qn(Rt(h.all,Z=>Ho(Z.cells,te=>te.column>=D&&te.column<$)));return ef(H)}).getOr("")},gi=(l,m)=>{const h=Wt.fromTable(l);return Mu(h,m).bind(ef).getOr("")},Be=(l,m)=>{const h=Wt.fromTable(l);return Mu(h,m).bind(w=>{const T=w[w.length-1],D=w[0].row,$=T.row+T.rowspan,H=h.all.slice(D,$);return w_(H)}).getOr("")},Wv=(l,m,h,v)=>Ji(l,m,h,v.sizing),is=(l,m,h,v)=>rs(l,m,h,v.sizing,v.resize),OS=(l,m)=>Fe(m,h=>h.column===0&&h.isLocked),F1=(l,m)=>Fe(m,h=>h.column+h.colspan>=l.grid.columns&&h.isLocked),Zv=(l,m)=>{const h=$m(l),v=Iu(m);return Ee(v,(w,T)=>{const $=h[T.column].map(Ii).getOr(0);return w+$},0)},Ir=l=>(m,h)=>Mu(m,h).filter(v=>!(l?OS:F1)(m,v)).map(v=>({details:v,pixelDelta:Zv(m,v)})),$_=(l,m)=>Il(l,m).map(h=>({details:h,pixelDelta:-Zv(l,h)})),AS=l=>(m,h)=>of(m,h).filter(v=>!(l?OS:F1)(m,v.cells)),Fr=ae.transform("th"),hf=ae.transform("td"),yh=Hs(Vs,Mu,gt,gt,ae.modification),el=Hs(_r,Mu,gt,gt,ae.modification),Ba=Hs(Xs,Ir(!0),is,gt,ae.modification),qe=Hs(dr,Ir(!1),is,gt,ae.modification),Fc=Hs(Uv,$_,is,ph,ae.modification),RS=Hs(B_,Mu,gt,ph,ae.modification),DS=Hs(as,Il,gt,gt,Fr),jv=Hs(bh,Il,gt,gt,hf),MS=Hs(zv,Il,gt,gt,Fr),Gv=Hs(TS,Il,gt,gt,hf),qv=Hs($1,Il,gt,gt,hf),I_=Hs(Hv,Il,gt,gt,Fr),Kv=Hs(Vv,Il,gt,gt,hf),F_=Hs(N_,jR,Wv,gt,ae.merging),mr=Hs(_S,GR,Wv,gt,ae.merging),Ch=Hs(P_,uh,Wv,gt,ae.modification),L_=Hs(I1,AS(!0),gt,gt,ae.modification),H_=Hs(kS,AS(!1),gt,gt,ae.modification),Yv=Hs(qR,of,gt,gt,ae.modification),V_=Hs($r,of,gt,gt,ae.modification),BS=KR,NS=gi,Sh=Be,PS=(l,m)=>l.dispatch("NewRow",{node:m}),Xv=(l,m)=>l.dispatch("NewCell",{node:m}),Kd=(l,m,h)=>{l.dispatch("TableModified",{...h,table:m})},z_=(l,m,h,v,w)=>{l.dispatch("TableSelectionChange",{cells:m,start:h,finish:v,otherCells:w})},U_=l=>{l.dispatch("TableSelectionClear")},Jv=(l,m,h,v,w)=>{l.dispatch("ObjectResizeStart",{target:m,width:h,height:v,origin:w})},W_=(l,m,h,v,w)=>{l.dispatch("ObjectResized",{target:m,width:h,height:v,origin:w})},Vl={structure:!1,style:!0},Vt={structure:!0,style:!1},Qv={structure:!0,style:!0},fr=(l,m)=>ii(l)?Nr.percentageSize(m):ku(l)?Nr.pixelSize(m):Nr.getTableSize(m),L1=(l,m,h)=>{const v=Or=>so(i1(Or))==="table",w=Or=>!v(l)||Jm(Or).rows>1,T=Or=>!v(l)||Jm(Or).columns>1,D=Dl(l),$=ko(l)?gt:Ev,H=Or=>{switch($d(l)){case"section":return Du.section();case"sectionCells":return Du.sectionCells();case"cells":return Du.cells();default:return Du.getTableSectionType(Or,"section")}},Z=(Or,qy)=>qy.cursor.fold(()=>{const Qh=ei(Or);return ge(Qh).filter(xo).map(cl=>{h.clearSelectedCells(Or.dom);const tr=l.dom.createRng();return tr.selectNode(cl.dom),l.selection.setRng(tr),es(cl,"data-mce-selected","1"),tr})},Qh=>{const cl=uS(Qh),tr=l.dom.createRng();return tr.setStart(cl.element.dom,cl.offset),tr.setEnd(cl.element.dom,cl.offset),l.selection.setRng(tr),h.clearSelectedCells(Or.dom),Y.some(tr)}),te=(Or,qy,Qh,cl)=>(tr,ep,Bw=!1)=>{ui(tr);const Nw=ee.fromDom(l.getDoc()),Uf=zm(Qh,Nw,D),Pw={sizing:fr(l,tr),resize:ko(l)?dS():Tv(),section:H(tr)};return qy(tr)?Or(tr,ep,Uf,Pw).bind(yb=>{m.refresh(tr.dom),_e(yb.newRows,cm=>{PS(l,cm.dom)}),_e(yb.newCells,cm=>{Xv(l,cm.dom)});const $w=Z(tr,yb);return xo(tr)&&(ui(tr),Bw||Kd(l,tr.dom,cl)),$w.map(cm=>({rng:cm,effect:cl}))}):Y.none()},Te=te(RS,w,gt,Vt),He=te(Fc,T,gt,Vt),Le=te(yh,Se,gt,Vt),ve=te(el,Se,gt,Vt),Ve=te(Ba,Se,$,Vt),pe=te(qe,Se,$,Vt),Qe=te(F_,Se,gt,Vt),wt=te(mr,Se,gt,Vt),It=te(L_,Se,gt,Vt),Gn=te(H_,Se,gt,Vt),us=te(Yv,Se,gt,Vt),yo=te(V_,Se,gt,Vt),Vr=te(Ch,Se,gt,Qv),sm=te(I_,Se,gt,Vt),rm=te(Kv,Se,gt,Vt),Gy=te(DS,Se,gt,Vt),vb=te(jv,Se,gt,Vt),kn=te(MS,Se,gt,Vt),hr=te(Gv,Se,gt,Vt),Us=te(qv,Se,gt,Vt);return{deleteRow:Te,deleteColumn:He,insertRowsBefore:Le,insertRowsAfter:ve,insertColumnsBefore:Ve,insertColumnsAfter:pe,mergeCells:Qe,unmergeCells:wt,pasteColsBefore:It,pasteColsAfter:Gn,pasteRowsBefore:us,pasteRowsAfter:yo,pasteCells:Vr,makeCellsHeader:sm,unmakeCellsHeader:rm,makeColumnsHeader:Gy,unmakeColumnsHeader:vb,makeRowsHeader:kn,makeRowsBody:hr,makeRowsFooter:Us,getTableRowType:Sh,getTableCellType:NS,getTableColType:BS}},ey=(l,m,h)=>{const v=Yn(l,m,1);h===1||v<=1?Bo(l,m):es(l,m,Math.min(h,v))},ty=(l,m)=>h=>{const v=h.column+h.colspan-1,w=h.column;return v>=l&&w{if(Wt.hasColumns(l)){const v=Ho(Wt.justColumns(l),ty(m,h)),w=Rt(v,D=>{const $=xd(D.element);return ey($,"span",h-m),$}),T=ee.fromTag("colgroup");return oa(T,w),[T]}else return[]},$S=(l,m,h)=>Rt(l.all,v=>{const w=Ho(v.cells,ty(m,h)),T=Rt(w,$=>{const H=xd($.element);return ey(H,"colspan",h-m),H}),D=ee.fromTag("tr");return oa(D,T),D}),Z_=(l,m)=>{const h=Wt.fromTable(l);return Il(h,m).map(w=>{const T=w[w.length-1],D=w[0].column,$=T.column+T.colspan,H=H1(h,D,$),Z=$S(h,D,$);return[...H,...Z]})},j_=(l,m,h)=>{const v=Wt.fromTable(l);return Mu(v,m).bind(T=>{const D=nf(v,h,!1),H=os(D).rows.slice(T[0].row,T[T.length-1].row+T[T.length-1].rowspan),Z=Qo(H,Te=>{const He=Ho(Te.cells,Le=>!Le.isLocked);return He.length>0?[{...Te,cells:He}]:[]}),te=ao(Z);return N0(te.length>0,te)}).map(T=>fS(T))},pf=hc.generate([{invalid:["raw"]},{pixels:["value"]},{percent:["value"]}]),IS=(l,m,h)=>{const v=h.substring(0,h.length-l.length),w=parseFloat(v);return v===w.toString()?m(w):pf.invalid(h)},Fu={...pf,from:l=>vu(l,"%")?IS("%",pf.percent,l):vu(l,"px")?IS("px",pf.pixels,l):pf.invalid(l)},G_=(l,m)=>Rt(l,h=>Fu.from(h).fold(()=>h,w=>w/m*100+"%",w=>w+"%")),bf=(l,m,h)=>{const v=h/m;return Rt(l,w=>Fu.from(w).fold(()=>w,D=>D*v+"px",D=>D/100*h+"px"))},q_=(l,m)=>{const h=l.fold(()=>q(""),v=>{const w=v/m;return q(w+"px")},()=>{const v=100/m;return q(v+"%")});return Co(m,h)},ny=(l,m,h)=>l.fold(()=>m,v=>bf(m,h,v),v=>G_(m,h)),FS=(l,m,h)=>{const v=Fu.from(h),w=eo(l,T=>T==="0px")?q_(v,l.length):ny(v,l,m);return HS(w)},Yd=(l,m)=>l.length===0?m:Dr(l,(h,v)=>Fu.from(v).fold(q(0),En,En)+h,0),K_=(l,m)=>{const h=Math.floor(l);return{value:h+m,remainder:l-h}},LS=(l,m)=>Fu.from(l).fold(q(l),h=>h+m+"px",h=>h+m+"%"),HS=l=>{if(l.length===0)return l;const m=Dr(l,(v,w)=>{const T=Fu.from(w).fold(()=>({value:w,remainder:0}),D=>K_(D,"px"),D=>({value:D+"%",remainder:0}));return{output:[T.value].concat(v.output),remainder:v.remainder+T.remainder}},{output:[],remainder:0}),h=m.output;return h.slice(0,h.length-1).concat([LS(h[h.length-1],Math.round(m.remainder))])},vf=Fu.from,VS=(l,m,h)=>{_e(m,v=>{const w=l.slice(v.column,v.colspan+v.column),T=Yd(w,$o());mo(v.element,"width",T+h)})},oy=(l,m,h)=>{_e(m,(v,w)=>{const T=Yd([l[w]],$o());mo(v.element,"width",T+h)})},Y_=(l,m,h,v)=>{_e(h,w=>{const T=l.slice(w.row,w.rowspan+w.row),D=Yd(T,Qa());mo(w.element,"height",D+v)}),_e(m,(w,T)=>{mo(w.element,"height",l[T])})},zS=l=>vf(l).fold(q("px"),q("px"),q("%")),tl=(l,m,h)=>{const v=Wt.fromTable(l),w=v.all,T=Wt.justCells(v),D=Wt.justColumns(v);m.each($=>{const H=zS($),Z=Rc(l),te=Dd(v,l),Te=FS(te,Z,$);Wt.hasColumns(v)?oy(Te,D,H):VS(Te,T,H),mo(l,"width",$)}),h.each($=>{const H=zS($),Z=X0(l),te=cc(v,l,Je),Te=FS(te,Z,$);Y_(Te,w,T,H),mo(l,"height",$)})},wh=ri,xh=c_,V1=ci,Eh=l=>{Bo(l,"width")},ca=l=>{const m=dn(l);tl(l,Y.some(m),Y.none()),Eh(l)},yf=l=>{const m=Jg(l);tl(l,Y.some(m),Y.none()),Eh(l)},Th=l=>{xa(l,"width");const m=Ug(l),h=m.length>0?m:ei(l);_e(h,v=>{xa(v,"width"),Eh(v)}),Eh(l)},Lu={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},z1=()=>ee.fromTag("th"),X_=()=>ee.fromTag("td"),J_=()=>ee.fromTag("col"),US=(l,m,h,v)=>{const w=ee.fromTag("tr");for(let T=0;T{const m=ee.fromTag("colgroup");return Co(l,()=>No(m,J_())),m},sy=(l,m,h,v)=>Co(l,w=>US(m,h,v,w)),ek=(l,m,h,v,w,T=Lu)=>{const D=ee.fromTag("table"),$=w!=="cells";ar(D,T.styles),Bi(D,T.attributes),T.colGroups&&No(D,Q_(m));const H=Math.min(l,h);if($&&h>0){const Le=ee.fromTag("thead");No(D,Le);const Ve=sy(h,m,w==="sectionCells"?H:0,v);oa(Le,Ve)}const Z=ee.fromTag("tbody");No(D,Z);const te=$?l-H:l,He=sy(te,m,$?0:h,v);return oa(Z,He),D},tk=l=>l.dom.innerHTML,WS=l=>{const m=ee.fromTag("div"),h=ee.fromDom(l.dom.cloneNode(!0));return No(m,h),tk(m)},nk=(l,m)=>{l.selection.select(m.dom,!0),l.selection.collapse(!0)},ZS=(l,m)=>{Tl(m,"td,th").each(An(nk,l))},ok=(l,m)=>{_e(tc(m,"tr"),h=>{PS(l,h.dom),_e(tc(h,"th,td"),v=>{Xv(l,v.dom)})})},U1=l=>Dg(l)&&l.indexOf("%")!==-1,sk=(l,m,h,v,w)=>{const T=mv(l),D={styles:T,attributes:li(l),colGroups:eh(l)};return l.undoManager.ignore(()=>{const $=ek(h,m,w,v,$d(l),D);es($,"data-mce-id","__mce");const H=WS($);l.insertContent(H),l.addVisual()}),Tl(i1(l),'table[data-mce-id="__mce"]').map($=>(ku(l)?yf($):Id(l)?Th($):(ii(l)||U1(T.width))&&ca($),ui($),Bo($,"data-mce-id"),ok(l,$),ZS(l,$),$.dom)).getOrNull()},jS=(l,m,h,v={})=>{const w=T=>sr(T)&&T>0;if(w(m)&&w(h)){const T=v.headerRows||0,D=v.headerColumns||0;return sk(l,h,m,D,T)}else return console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table."),null};var Cf=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const ry="x-tinymce/dom-table-",cy=ry+"rows",ay=ry+"columns",GS=l=>{const m=Cf.FakeClipboardItem(l);Cf.write([m])},iy=l=>{var m;const h=(m=Cf.read())!==null&&m!==void 0?m:[];return rr(h,v=>Y.from(v.getType(l)))},rk=l=>{iy(l).isSome()&&Cf.clear()},W1=l=>{l.fold(ck,m=>GS({[cy]:m}))},Z1=()=>iy(cy),ck=()=>rk(cy),ly=l=>{l.fold(ak,m=>GS({[ay]:m}))},qS=()=>iy(ay),ak=()=>rk(ay),uy=l=>di(Nc(l),Zi(l)).filter(u1),ik=l=>ih(Nc(l),Zi(l)).filter(u1),Sf=(l,m)=>{const h=Zi(l),v=()=>uy(l).each(pe=>{Mr(pe,h).filter(Q(h)).each(Qe=>{const wt=ee.fromText("");if(gu(Qe,wt),js(Qe),l.dom.isEmpty(l.getBody()))l.setContent(""),l.selection.setCursorLocation();else{const It=l.dom.createRng();It.setStart(wt.dom,0),It.setEnd(wt.dom,0),l.selection.setRng(It),l.nodeChanged()}})}),w=pe=>uy(l).each(Qe=>{Id(l)||ku(l)||ii(l)||Mr(Qe,h).each(It=>{pe==="relative"&&!wh(It)?ca(It):pe==="fixed"&&!xh(It)?yf(It):pe==="responsive"&&!V1(It)&&Th(It),ui(It),Kd(l,It.dom,Vt)})}),T=pe=>Mr(pe,h),D=pe=>ik(l).bind(Qe=>T(Qe).map(wt=>pe(wt,Qe))),$=(pe,Qe)=>{D(wt=>{l.formatter.toggle("tableclass",{value:Qe},wt.dom),Kd(l,wt.dom,Vl)})},H=(pe,Qe)=>{D(wt=>{const It=ra(l),us=eo(It,yo=>l.formatter.match("tablecellclass",{value:Qe},yo.dom))?l.formatter.remove:l.formatter.apply;_e(It,yo=>us("tablecellclass",{value:Qe},yo.dom)),Kd(l,wt.dom,Vl)})},Z=()=>{uy(l).each(pe=>{Mr(pe,h).each(Qe=>{ln(Qe,"caption").fold(()=>{const wt=ee.fromTag("caption");No(wt,ee.fromText("Caption")),YT(Qe,wt,0),l.selection.setCursorLocation(wt.dom,0)},wt=>{Qr("caption")(pe)&&k0("td",Qe).each(It=>l.selection.setCursorLocation(It.dom,0)),js(wt)}),Kd(l,Qe.dom,Vt)})})},te=pe=>{l.focus()},Te=(pe,Qe=!1)=>D((wt,It)=>{const Gn=Gm(ra(l),wt,It);pe(wt,Gn,Qe).each(te)}),He=()=>D((pe,Qe)=>{const wt=Gm(ra(l),pe,Qe),It=zm(gt,ee.fromDom(l.getDoc()),Y.none());return j_(pe,wt,It)}),Le=()=>D((pe,Qe)=>{const wt=Gm(ra(l),pe,Qe);return Z_(pe,wt)}),ve=(pe,Qe)=>Qe().each(wt=>{const It=Rt(wt,Gn=>xd(Gn));D((Gn,us)=>{const yo=Um(ee.fromDom(l.getDoc())),Vr=qm(ra(l),us,It,yo);pe(Gn,Vr).each(te)})}),Ve=pe=>(Qe,wt)=>Hp(wt,"type").each(It=>{Te(pe(It),wt.no_events)});wo({mceTableSplitCells:()=>Te(m.unmergeCells),mceTableMergeCells:()=>Te(m.mergeCells),mceTableInsertRowBefore:()=>Te(m.insertRowsBefore),mceTableInsertRowAfter:()=>Te(m.insertRowsAfter),mceTableInsertColBefore:()=>Te(m.insertColumnsBefore),mceTableInsertColAfter:()=>Te(m.insertColumnsAfter),mceTableDeleteCol:()=>Te(m.deleteColumn),mceTableDeleteRow:()=>Te(m.deleteRow),mceTableCutCol:()=>Le().each(pe=>{ly(pe),Te(m.deleteColumn)}),mceTableCutRow:()=>He().each(pe=>{W1(pe),Te(m.deleteRow)}),mceTableCopyCol:()=>Le().each(pe=>ly(pe)),mceTableCopyRow:()=>He().each(pe=>W1(pe)),mceTablePasteColBefore:()=>ve(m.pasteColsBefore,qS),mceTablePasteColAfter:()=>ve(m.pasteColsAfter,qS),mceTablePasteRowBefore:()=>ve(m.pasteRowsBefore,Z1),mceTablePasteRowAfter:()=>ve(m.pasteRowsAfter,Z1),mceTableDelete:v,mceTableCellToggleClass:H,mceTableToggleClass:$,mceTableToggleCaption:Z,mceTableSizingMode:(pe,Qe)=>w(Qe),mceTableCellType:Ve(pe=>pe==="th"?m.makeCellsHeader:m.unmakeCellsHeader),mceTableColType:Ve(pe=>pe==="th"?m.makeColumnsHeader:m.unmakeColumnsHeader),mceTableRowType:Ve(pe=>{switch(pe){case"header":return m.makeRowsHeader;case"footer":return m.makeRowsFooter;default:return m.makeRowsBody}})},(pe,Qe)=>l.addCommand(Qe,pe)),l.addCommand("mceInsertTable",(pe,Qe)=>{jS(l,Qe.rows,Qe.columns,Qe.options)}),l.addCommand("mceTableApplyCellStyle",(pe,Qe)=>{const wt=us=>"tablecell"+us.toLowerCase().replace("-","");if(!hn(Qe))return;const It=Ho(ra(l),u1);if(It.length===0)return;const Gn=ba(Qe,(us,yo)=>l.formatter.has(wt(yo))&&Dg(us));Mg(Gn)||(wo(Gn,(us,yo)=>{const Vr=wt(yo);_e(It,sm=>{us===""?l.formatter.remove(Vr,{value:null},sm.dom,!0):l.formatter.apply(Vr,{value:us},sm.dom)})}),T(It[0]).each(us=>Kd(l,us.dom,Vl)))})},lk=(l,m)=>{const h=Zi(l),v=w=>ih(Nc(l)).bind(T=>Mr(T,h).map(D=>{const $=Gm(ra(l),D,T);return w(D,$)})).getOr("");wo({mceTableRowType:()=>v(m.getTableRowType),mceTableCellType:()=>v(m.getTableCellType),mceTableColType:()=>v(m.getTableColType)},(w,T)=>l.addQueryValueHandler(T,w))},dy=hc.generate([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),uk=(l,m,h,v)=>l.fold(m,h,v),dk=l=>l.fold(En,En,En),mk=dy.before,KS=dy.on,fk=dy.after,As={before:mk,on:KS,after:fk,cata:uk,getStart:dk},wf={create:(l,m)=>({selection:l,kill:m})},j1=(l,m)=>{const h=l.document.createRange();return h.selectNode(m.dom),h},YS=(l,m)=>{const h=l.document.createRange();return my(h,m),h},my=(l,m)=>l.selectNodeContents(m.dom),XS=(l,m)=>{m.fold(h=>{l.setStartBefore(h.dom)},(h,v)=>{l.setStart(h.dom,v)},h=>{l.setStartAfter(h.dom)})},JS=(l,m)=>{m.fold(h=>{l.setEndBefore(h.dom)},(h,v)=>{l.setEnd(h.dom,v)},h=>{l.setEndAfter(h.dom)})},Xd=(l,m,h)=>{const v=l.document.createRange();return XS(v,m),JS(v,h),v},_h=(l,m,h,v,w)=>{const T=l.document.createRange();return T.setStart(m.dom,h),T.setEnd(v.dom,w),T},gk=l=>({left:l.left,top:l.top,right:l.right,bottom:l.bottom,width:l.width,height:l.height}),hk=l=>{const m=l.getClientRects(),h=m.length>0?m[0]:l.getBoundingClientRect();return h.width>0||h.height>0?Y.some(h).map(gk):Y.none()},kh=hc.generate([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),fy=(l,m,h)=>m(ee.fromDom(h.startContainer),h.startOffset,ee.fromDom(h.endContainer),h.endOffset),QS=(l,m)=>m.match({domRange:h=>({ltr:q(h),rtl:Y.none}),relative:(h,v)=>({ltr:Cu(()=>Xd(l,h,v)),rtl:Cu(()=>Y.some(Xd(l,v,h)))}),exact:(h,v,w,T)=>({ltr:Cu(()=>_h(l,h,v,w,T)),rtl:Cu(()=>Y.some(_h(l,w,T,h,v)))})}),ls=(l,m)=>{const h=m.ltr();return h.collapsed?m.rtl().filter(w=>w.collapsed===!1).map(w=>kh.rtl(ee.fromDom(w.endContainer),w.endOffset,ee.fromDom(w.startContainer),w.startOffset)).getOrThunk(()=>fy(l,kh.ltr,h)):fy(l,kh.ltr,h)},ew=(l,m)=>{const h=QS(l,m);return ls(l,h)},gy=(l,m)=>ew(l,m).match({ltr:(v,w,T,D)=>{const $=l.document.createRange();return $.setStart(v.dom,w),$.setEnd(T.dom,D),$},rtl:(v,w,T,D)=>{const $=l.document.createRange();return $.setStart(T.dom,D),$.setEnd(v.dom,w),$}});kh.ltr,kh.rtl;const xf={create:(l,m,h,v)=>({start:l,soffset:m,finish:h,foffset:v})},tw={create:(l,m,h,v)=>({start:As.on(l,m),finish:As.on(h,v)})},hy=(l,m)=>{const h=gy(l,m);return xf.create(ee.fromDom(h.startContainer),h.startOffset,ee.fromDom(h.endContainer),h.endOffset)},Oh=tw.create,G1=(l,m,h,v,w,T,D)=>no(h,w)&&v===T?Y.none():Ps(h,"td,th",m).bind($=>Ps(w,"td,th",m).bind(H=>Ef(l,m,$,H,D))),Ef=(l,m,h,v,w)=>no(h,v)?Y.none():Ra(h,v,m).bind(T=>{const D=T.boxes.getOr([]);return D.length>1?(w(l,D,T.start,T.finish),Y.some(wf.create(Y.some(Oh(h,0,h,Ui(h))),!0))):Y.none()}),bk=(l,m,h,v,w)=>{const T=D=>(w.clearBeforeUpdate(h),w.selectRange(h,D.boxes,D.start,D.finish),D.boxes);return g1(v,l,m,w.firstSelectedSelector,w.lastSelectedSelector).map(T)},Hu=(l,m)=>({item:l,mode:m}),nw=(l,m,h,v=Vu)=>l.property().parent(m).map(w=>Hu(w,v)),Vu=(l,m,h,v=zu)=>h.sibling(l,m).map(w=>Hu(w,v)),zu=(l,m,h,v=zu)=>{const w=l.property().children(m);return h.first(w).map(D=>Hu(D,v))},py=[{current:nw,next:Vu,fallback:Y.none()},{current:Vu,next:zu,fallback:Y.some(nw)},{current:zu,next:zu,fallback:Y.some(Vu)}],ow=(l,m,h,v,w=py)=>N(w,D=>D.current===h).bind(D=>D.current(l,m,v,D.next).orThunk(()=>D.fallback.bind($=>ow(l,m,$,v)))),Uu={left:()=>({sibling:(h,v)=>h.query().prevSibling(v),first:h=>h.length>0?Y.some(h[h.length-1]):Y.none()}),right:()=>({sibling:(h,v)=>h.query().nextSibling(v),first:h=>h.length>0?Y.some(h[0]):Y.none()})},nl=(l,m,h,v,w,T)=>ow(l,m,v,w).bind($=>T($.item)?Y.none():h($.item)?Y.some($.item):nl(l,$.item,h,$.mode,w,T)),Ah=(l,m,h,v)=>nl(l,m,h,Vu,Uu.left(),v),Tf=(l,m,h,v)=>nl(l,m,h,Vu,Uu.right(),v),vy=l=>m=>l.property().children(m).length===0,zl=(l,m,h)=>Rh(l,m,vy(l),h),hi=(l,m,h)=>q1(l,m,vy(l),h),Rh=Ah,q1=Tf,Dh=be(),yy=(l,m)=>zl(Dh,l,m),_f=(l,m)=>hi(Dh,l,m),Mh=(l,m,h)=>Rh(Dh,l,m,h),Cy=(l,m,h)=>q1(Dh,l,m,h),sw=(l,m,h)=>Eo(l,m,h).isSome(),Wu=hc.generate([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),K1=(l,m,h)=>{const v=l.getRect(m),w=l.getRect(h);return w.right>v.left&&w.leftPs(l,"tr"),Ro={...Wu,verify:(l,m,h,v,w,T,D)=>Ps(v,"td,th",D).bind($=>Ps(m,"td,th",D).map(H=>no($,H)?no(v,$)&&Ui($)===w?T(H):Wu.none("in same cell"):Mn(vk,[$,H]).fold(()=>K1(l,H,$)?Wu.success():T(H),Z=>T(H)))).getOr(Wu.none("default")),cata:(l,m,h,v,w)=>l.fold(m,h,v,w)},eD=(l,m,h,v)=>({parent:l,children:m,element:h,index:v}),Ul=l=>El(l).bind(m=>{const h=Hn(m);return cw(h,l).map(v=>eD(m,h,l,v))}),cw=(l,m)=>wm(l,An(no,m)),Y1=Qr("br"),Zu=(l,m,h)=>m(l,h).bind(v=>vd(v)&&Fs(v).trim().length===0?Zu(v,m,h):Y.some(v)),Js=(l,m,h)=>h.traverse(m).orThunk(()=>Zu(m,h.gather,l)).map(h.relative),kf=(l,m)=>_c(l,m).filter(Y1).orThunk(()=>_c(l,m-1).filter(Y1)),Bh=(l,m,h,v)=>kf(m,h).bind(w=>v.traverse(w).fold(()=>Zu(w,v.gather,l).map(v.relative),T=>Ul(T).map(D=>As.on(D.parent,D.index)))),Of=(l,m,h,v)=>(Y1(m)?Js(l,m,v):Bh(l,m,h,v)).map(T=>({start:T,finish:T})),wy=l=>Ro.cata(l,m=>Y.none(),()=>Y.none(),m=>Y.some(Ym(m,0)),m=>Y.some(Ym(m,Ui(m)))),Af=(l,m)=>({left:l.left,top:l.top+m,right:l.right,bottom:l.bottom+m}),Jd=(l,m)=>({left:l.left,top:l.top-m,right:l.right,bottom:l.bottom-m}),pi=(l,m,h)=>({left:l.left+m,top:l.top+h,right:l.right+m,bottom:l.bottom+h}),yk=l=>l.top,Ck=l=>l.bottom,ju=(l,m,h)=>h>=0&&h0?l.getRangedRect(m,h-1,m,h):Y.none(),Rf=l=>({left:l.left,top:l.top,right:l.right,bottom:l.bottom}),X1=(l,m)=>Y.some(l.getRect(m)),ol=(l,m,h)=>Jr(m)?X1(l,m).map(Rf):vd(m)?ju(l,m,h).map(Rf):Y.none(),xy=(l,m)=>Jr(m)?X1(l,m).map(Rf):vd(m)?l.getRangedRect(m,0,m,Ui(m)).map(Rf):Y.none(),Rs=5,Wl=100,Na=hc.generate([{none:[]},{retry:["caret"]}]),Df=(l,m)=>l.leftm.right,gr=(l,m,h)=>Lg(m,N1).fold(an,v=>xy(l,v).exists(w=>Df(h,w))),Lr=(l,m,h,v,w)=>{const T=Af(w,Rs);return Math.abs(h.bottom-v.bottom)<1||h.top>w.bottom?Na.retry(T):h.top===w.bottom?Na.retry(Af(w,1)):gr(l,m,w)?Na.retry(pi(T,Rs,0)):Na.none()},Pa={point:yk,adjuster:(l,m,h,v,w)=>{const T=Jd(w,Rs);return Math.abs(h.top-v.top)<1||h.bottoml.elementFromPoint(m,h).filter(v=>so(v)==="table").isSome(),Qd=(l,m,h,v,w)=>Ey(l,m,h,m.move(v,Rs),w),Ey=(l,m,h,v,w)=>w===0?Y.some(v):Lc(l,v.left,m.point(v))?Qd(l,m,h,v,w-1):l.situsFromPoint(v.left,m.point(v)).bind(T=>T.start.fold(Y.none,D=>xy(l,D).bind($=>m.adjuster(l,D,$,h,v).fold(Y.none,H=>Ey(l,m,h,H,w-1))).orThunk(()=>Y.some(v)),Y.none)),Sk=(l,m,h)=>l.point(m)>h.getInnerHeight()?Y.some(l.point(m)-h.getInnerHeight()):l.point(m)<0?Y.some(-l.point(m)):Y.none(),aw=(l,m,h)=>{const v=l.move(h,Rs),w=Ey(m,l,h,v,Wl).getOr(v);return Sk(l,w,m).fold(()=>m.situsFromPoint(w.left,l.point(w)),T=>(m.scrollBy(0,T),m.situsFromPoint(w.left,l.point(w)-T)))},Nh={tryUp:An(aw,Pa),tryDown:An(aw,J1),getJumpSize:q(Rs)},iw=20,Ph=(l,m,h)=>l.getSelection().bind(v=>Of(m,v.finish,v.foffset,h).fold(()=>Y.some(Ym(v.finish,v.foffset)),w=>{const T=l.fromSitus(w),D=Ro.verify(l,v.finish,v.foffset,T.finish,T.foffset,h.failure,m);return wy(D)})),Q1=(l,m,h,v,w,T)=>T===0?Y.none():xk(l,m,h,v,w).bind(D=>{const $=l.fromSitus(D),H=Ro.verify(l,h,v,$.finish,$.foffset,w.failure,m);return Ro.cata(H,()=>Y.none(),()=>Y.some(D),Z=>no(h,Z)&&v===0?wk(l,h,v,Jd,w):Q1(l,m,Z,0,w,T-1),Z=>no(h,Z)&&v===Ui(Z)?wk(l,h,v,Af,w):Q1(l,m,Z,Ui(Z),w,T-1))}),wk=(l,m,h,v,w)=>ol(l,m,h).bind(T=>lw(l,w,v(T,Nh.getJumpSize()))),lw=(l,m,h)=>{const v=Gg().browser;return v.isChromium()||v.isSafari()||v.isFirefox()?m.retry(l,h):Y.none()},xk=(l,m,h,v,w)=>ol(l,h,v).bind(T=>lw(l,w,T)),tD=(l,m,h)=>Ph(l,m,h).bind(v=>Q1(l,m,v.element,v.offset,h,iw).map(l.fromSitus)),uw=(l,m)=>sw(l,h=>El(h).exists(v=>no(v,m))),Kt=(l,m,h,v,w)=>Ps(v,"td,th",m).bind(T=>Ps(T,"table",m).bind(D=>uw(w,D)?tD(l,m,h).bind($=>Ps($.finish,"td,th",m).map(H=>({start:T,finish:H,range:$}))):Y.none())),bi=(l,m,h,v,w,T)=>T(v,m).orThunk(()=>Kt(l,m,h,v,w).map(D=>{const $=D.range;return wf.create(Y.some(Oh($.start,$.soffset,$.finish,$.foffset)),!0)})),em=(l,m)=>Ps(l,"tr",m).bind(h=>Ps(h,"table",m).bind(v=>{const w=tc(v,"tr");return no(h,w[0])?Mh(v,T=>Al(T).isSome(),m).map(T=>{const D=Ui(T);return wf.create(Y.some(Oh(T,D,T,D)),!0)}):Y.none()})),Ty=(l,m)=>Ps(l,"tr",m).bind(h=>Ps(h,"table",m).bind(v=>{const w=tc(v,"tr");return no(h,w[w.length-1])?Cy(v,T=>QC(T).isSome(),m).map(T=>wf.create(Y.some(Oh(T,0,T,0)),!0)):Y.none()})),dw=(l,m,h,v,w,T,D)=>Kt(l,h,v,w,T).bind($=>Ef(m,h,$.start,$.finish,D)),$h=l=>{let m=l;return{get:()=>m,set:w=>{m=w}}},Ek=l=>{const m=$h(Y.none()),h=()=>m.get().each(l);return{clear:()=>{h(),m.set(Y.none())},isSet:()=>m.get().isSome(),get:()=>m.get(),set:$=>{h(),m.set(Y.some($))}}},Mf=()=>{const l=Ek(gt);return{...l,on:h=>l.get().each(h)}},eb=(l,m)=>Ps(l,"td,th",m),Hc=l=>ya(l).exists(Ou),UF=(l,m,h,v)=>{const w=Mf(),T=w.clear,D=te=>{w.on(Te=>{v.clearBeforeUpdate(m),eb(te.target,h).each(He=>{Ra(Te,He,h).each(Le=>{const ve=Le.boxes.getOr([]);if(ve.length===1){const Ve=ve[0],pe=th(Ve)==="false",Qe=km(a1(te.target),Ve,no);pe&&Qe&&(v.selectRange(m,ve,Ve,Ve),l.selectContents(Ve))}else ve.length>1&&(v.selectRange(m,ve,Le.start,Le.finish),l.selectContents(He))})})})};return{clearstate:T,mousedown:te=>{v.clear(m),eb(te.target,h).filter(Hc).each(w.set)},mouseover:te=>{D(te)},mouseup:te=>{D(te),T()}}},tb={traverse:_m,gather:_f,relative:As.before,retry:Nh.tryDown,failure:Ro.failedDown},Bf={traverse:Ng,gather:yy,relative:As.before,retry:Nh.tryUp,failure:Ro.failedUp},Gu=l=>m=>m===l,nb=Gu(38),ob=Gu(40),tm=l=>l>=37&&l<=40,Tk={isBackward:Gu(37),isForward:Gu(39)},mw={isBackward:Gu(39),isForward:Gu(37)},_k=l=>{const m=l!==void 0?l.dom:document,h=m.body.scrollLeft||m.documentElement.scrollLeft,v=m.body.scrollTop||m.documentElement.scrollTop;return ka(h,v)},Nf=(l,m,h)=>{const w=(h!==void 0?h.dom:document).defaultView;w&&w.scrollBy(l,m)},Zl=hc.generate([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),kk=l=>Zl.exact(l.start,l.soffset,l.finish,l.foffset),Ok=l=>l.match({domRange:m=>ee.fromDom(m.startContainer),relative:(m,h)=>As.getStart(m),exact:(m,h,v,w)=>m}),fw=Zl.domRange,_y=Zl.relative,ky=Zl.exact,Oy=l=>{const m=Ok(l);return fs(m)},sb=xf.create,qu={domRange:fw,relative:_y,exact:ky,exactFromRange:kk,getWin:Oy,range:sb},gw=(l,m,h)=>{var v,w;return Y.from((w=(v=l.dom).caretPositionFromPoint)===null||w===void 0?void 0:w.call(v,m,h)).bind(T=>{if(T.offsetNode===null)return Y.none();const D=l.dom.createRange();return D.setStart(T.offsetNode,T.offset),D.collapse(),Y.some(D)})},Ih=(l,m,h)=>{var v,w;return Y.from((w=(v=l.dom).caretRangeFromPoint)===null||w===void 0?void 0:w.call(v,m,h))},Ay=(()=>document.caretPositionFromPoint?gw:document.caretRangeFromPoint?Ih:Y.none)(),Ak=(l,m,h)=>{const v=ee.fromDom(l.document);return Ay(v,m,h).map(w=>xf.create(ee.fromDom(w.startContainer),w.startOffset,ee.fromDom(w.endContainer),w.endOffset))},Fh=(l,m)=>{const h=so(l);return h==="input"?As.after(l):Lo(["br","img"],h)?m===0?As.before(l):As.after(l):As.on(l,m)},Rk=(l,m)=>{const h=l.fold(As.before,Fh,As.after),v=m.fold(As.before,Fh,As.after);return qu.relative(h,v)},ze=(l,m,h,v)=>{const w=Fh(l,m),T=Fh(h,v);return qu.relative(w,T)},Ko=(l,m,h,v)=>{const T=Bg(l).dom.createRange();return T.setStart(l.dom,m),T.setEnd(h.dom,v),T},jl=(l,m,h,v)=>{const w=Ko(l,m,h,v),T=no(l,h)&&m===v;return w.collapsed&&!T},Io=l=>Y.from(l.getSelection()),aa=(l,m)=>{Io(l).each(h=>{h.removeAllRanges(),h.addRange(m)})},rb=(l,m,h,v,w)=>{const T=_h(l,m,h,v,w);aa(l,T)},Lh=(l,m,h,v,w,T)=>{m.collapse(h.dom,v),m.extend(w.dom,T)},vi=(l,m)=>ew(l,m).match({ltr:(h,v,w,T)=>{rb(l,h,v,w,T)},rtl:(h,v,w,T)=>{Io(l).each(D=>{if(D.setBaseAndExtent)D.setBaseAndExtent(h.dom,v,w.dom,T);else if(D.extend)try{Lh(l,D,h,v,w,T)}catch{rb(l,w,T,h,v)}else rb(l,w,T,h,v)})}}),cb=(l,m,h,v,w)=>{const T=ze(m,h,v,w);vi(l,T)},ab=(l,m,h)=>{const v=Rk(m,h);vi(l,v)},Pf=l=>{if(l.rangeCount>0){const m=l.getRangeAt(0),h=l.getRangeAt(l.rangeCount-1);return Y.some(xf.create(ee.fromDom(m.startContainer),m.startOffset,ee.fromDom(h.endContainer),h.endOffset))}else return Y.none()},hw=l=>{if(l.anchorNode===null||l.focusNode===null)return Pf(l);{const m=ee.fromDom(l.anchorNode),h=ee.fromDom(l.focusNode);return jl(m,l.anchorOffset,h,l.focusOffset)?Y.some(xf.create(m,l.anchorOffset,h,l.focusOffset)):Pf(l)}},Hh=(l,m,h=!0)=>{const w=(h?YS:j1)(l,m);aa(l,w)},Ry=l=>Io(l).filter(m=>m.rangeCount>0).bind(hw),Dy=l=>Ry(l).map(m=>qu.exact(m.start,m.soffset,m.finish,m.foffset)),Dk=(l,m)=>{const h=gy(l,m);return hk(h)},yi=(l,m,h)=>Ak(l,m,h),ib=l=>{Io(l).each(m=>m.removeAllRanges())},$f=l=>({elementFromPoint:(pe,Qe)=>ee.fromPoint(ee.fromDom(l.document),pe,Qe),getRect:pe=>pe.dom.getBoundingClientRect(),getRangedRect:(pe,Qe,wt,It)=>{const Gn=qu.exact(pe,Qe,wt,It);return Dk(l,Gn)},getSelection:()=>Dy(l).map(pe=>hy(l,pe)),fromSitus:pe=>{const Qe=qu.relative(pe.start,pe.finish);return hy(l,Qe)},situsFromPoint:(pe,Qe)=>yi(l,pe,Qe).map(wt=>tw.create(wt.start,wt.soffset,wt.finish,wt.foffset)),clearSelection:()=>{ib(l)},collapseSelection:(pe=!1)=>{Dy(l).each(Qe=>Qe.fold(wt=>wt.collapse(pe),(wt,It)=>{const Gn=pe?wt:It;ab(l,Gn,Gn)},(wt,It,Gn,us)=>{const yo=pe?wt:Gn,Vr=pe?It:us;cb(l,yo,Vr,yo,Vr)}))},setSelection:pe=>{cb(l,pe.start,pe.soffset,pe.finish,pe.foffset)},setRelativeSelection:(pe,Qe)=>{ab(l,pe,Qe)},selectNode:pe=>{Hh(l,pe,!1)},selectContents:pe=>{Hh(l,pe)},getInnerHeight:()=>l.innerHeight,getScrollY:()=>_k(ee.fromDom(l.document)).top,scrollBy:(pe,Qe)=>{Nf(pe,Qe,ee.fromDom(l.document))}}),zs=(l,m)=>({rows:l,cols:m}),Uo=(l,m,h,v)=>{const w=$f(l),T=UF(w,m,h,v);return{clearstate:T.clearstate,mousedown:T.mousedown,mouseover:T.mouseover,mouseup:T.mouseup}},lb=l=>Lg(l,Et).exists(Ou),Vh=(l,m)=>lb(l)||lb(m),ub=(l,m,h,v)=>{const w=$f(l),T=()=>(v.clear(m),Y.none());return{keydown:(H,Z,te,Te,He,Le)=>{const ve=H.raw,Ve=ve.which,pe=ve.shiftKey===!0;return Nl(m,v.selectedSelector).fold(()=>(tm(Ve)&&!pe&&v.clearBeforeUpdate(m),tm(Ve)&&pe&&!Vh(Z,Te)?Y.none:ob(Ve)&&pe?An(dw,w,m,h,tb,Te,Z,v.selectRange):nb(Ve)&&pe?An(dw,w,m,h,Bf,Te,Z,v.selectRange):ob(Ve)?An(bi,w,h,tb,Te,Z,Ty):nb(Ve)?An(bi,w,h,Bf,Te,Z,em):Y.none),wt=>{const It=Gn=>()=>rr(Gn,yo=>bk(yo.rows,yo.cols,m,wt,v)).fold(()=>Ld(m,v.firstSelectedSelector,v.lastSelectedSelector).map(yo=>{const Vr=ob(Ve)||Le.isForward(Ve)?As.after:As.before;return w.setRelativeSelection(As.on(yo.first,0),Vr(yo.table)),v.clear(m),wf.create(Y.none(),!0)}),yo=>Y.some(wf.create(Y.none(),!0)));return tm(Ve)&&pe&&!Vh(Z,Te)?Y.none:ob(Ve)&&pe?It([zs(1,0)]):nb(Ve)&&pe?It([zs(-1,0)]):Le.isBackward(Ve)&&pe?It([zs(0,-1),zs(-1,0)]):Le.isForward(Ve)&&pe?It([zs(0,1),zs(1,0)]):tm(Ve)&&!pe?T:Y.none})()},keyup:(H,Z,te,Te,He)=>Nl(m,v.selectedSelector).fold(()=>{const Le=H.raw,ve=Le.which;return Le.shiftKey===!0&&tm(ve)&&Vh(Z,Te)?G1(m,h,Z,te,Te,He,v.selectRange):Y.none()},Y.none)}},zh=(l,m,h,v)=>{const w=$f(l);return(T,D)=>{v.clearBeforeUpdate(m),Ra(T,D,h).each($=>{const H=$.boxes.getOr([]);v.selectRange(m,H,$.start,$.finish),w.selectContents(D),w.collapseSelection()})}},Uh=(l,m)=>{const h=wl(l,m);return h===void 0||h===""?[]:h.split(" ")},If=(l,m,h)=>{const w=Uh(l,m).concat([h]);return es(l,m,w.join(" ")),!0},pw=(l,m,h)=>{const v=Ho(Uh(l,m),w=>w!==h);return v.length>0?es(l,m,v.join(" ")):Bo(l,m),!1},Wh=l=>l.dom.classList!==void 0,bw=l=>Uh(l,"class"),vw=(l,m)=>If(l,"class",m),yw=(l,m)=>pw(l,"class",m),ia=(l,m)=>{Wh(l)?l.dom.classList.add(m):vw(l,m)},Qs=l=>{(Wh(l)?l.dom.classList:bw(l)).length===0&&Bo(l,"class")},$a=(l,m)=>{Wh(l)?l.dom.classList.remove(m):yw(l,m),Qs(l)},Hr=(l,m)=>Wh(l)&&l.dom.classList.contains(m),Zh=(l,m)=>{_e(m,h=>{$a(l,h)})},db=l=>m=>{ia(m,l)},Cw=l=>m=>{Zh(m,l)},Gl={byClass:l=>{const m=db(l.selected),h=Cw([l.selected,l.lastSelected,l.firstSelected]),v=T=>{const D=tc(T,l.selectedSelector);_e(D,h)};return{clearBeforeUpdate:v,clear:v,selectRange:(T,D,$,H)=>{v(T),_e(D,m),ia($,l.firstSelected),ia(H,l.lastSelected)},selectedSelector:l.selectedSelector,firstSelectedSelector:l.firstSelectedSelector,lastSelectedSelector:l.lastSelectedSelector}},byAttr:(l,m,h)=>{const v=H=>{Bo(H,l.selected),Bo(H,l.firstSelected),Bo(H,l.lastSelected)},w=H=>{es(H,l.selected,"1")},T=H=>{D(H),h()},D=H=>{const Z=tc(H,`${l.selectedSelector},${l.firstSelectedSelector},${l.lastSelectedSelector}`);_e(Z,v)};return{clearBeforeUpdate:D,clear:T,selectRange:(H,Z,te,Te)=>{T(H),_e(Z,w),es(te,l.firstSelected,"1"),es(Te,l.lastSelected,"1"),m(Z,te,Te)},selectedSelector:l.selectedSelector,firstSelectedSelector:l.firstSelectedSelector,lastSelectedSelector:l.lastSelectedSelector}}},Gh=(l,m,h,v)=>{switch(l.tag){case"none":return m();case"single":return v(l.element);case"multiple":return h(l.elements)}},My=()=>({tag:"none"}),Sw=l=>({tag:"multiple",elements:l}),ww=l=>({tag:"single",element:l}),By=(l,m,h)=>({get:()=>Cv(l(),h).fold(()=>m().fold(My,ww),Sw)}),mb=(l,m)=>{const h=l.slice(0,m[m.length-1].row+1),v=ao(h);return Qo(v,w=>{const T=w.cells.slice(0,m[m.length-1].column+1);return Rt(T,D=>D.element)})},Bn=(l,m)=>{const h=l.slice(m[0].row+m[0].rowspan-1,l.length),v=ao(h);return Qo(v,w=>{const T=w.cells.slice(m[0].column+m[0].colspan-1,w.cells.length);return Rt(T,D=>D.element)})},ql=(l,m,h)=>{const v=Wt.fromTable(l);return Mu(v,m).map(T=>{const D=nf(v,h,!1),{rows:$}=os(D),H=mb($,T),Z=Bn($,T);return{upOrLeftCells:H,downOrRightCells:Z}})},xw=(l,m,h,v,w,T,D)=>({target:l,x:m,y:h,stop:v,prevent:w,kill:T,raw:D}),Ny=l=>{const m=ee.fromDom(Ze(l).getOr(l.target)),h=()=>l.stopPropagation(),v=()=>l.preventDefault(),w=Ga(v,h);return xw(m,l.clientX,l.clientY,h,v,w,l)},Py=(l,m)=>h=>{l(h)&&m(Ny(h))},nm=(l,m,h,v,w)=>{const T=Py(h,v);return l.dom.addEventListener(m,T,w),{unbind:An(Iy,l,m,T,w)}},$y=(l,m,h,v)=>nm(l,m,h,v,!1),Iy=(l,m,h,v)=>{l.dom.removeEventListener(m,h,v)},Bk=Se,Ff=(l,m,h)=>$y(l,m,Bk,h),Lf=Ny,Fy=l=>!Hr(ee.fromDom(l.target),"ephox-snooker-resizer-bar"),Ly=(l,m)=>{const h=By(()=>ee.fromDom(l.getBody()),()=>ih(Nc(l),Zi(l)),Vd.selectedSelector),v=(H,Z,te)=>{Mr(Z).each(He=>{const Le=Dl(l),ve=zm(gt,ee.fromDom(l.getDoc()),Le),Ve=ra(l),pe=ql(He,{selection:Ve},ve);z_(l,H,Z,te,pe)})},w=()=>U_(l),T=Gl.byAttr(Vd,v,w);return l.on("init",H=>{const Z=l.getWin(),te=i1(l),Te=Zi(l),He=()=>{const kn=l.selection,hr=ee.fromDom(kn.getStart()),Us=ee.fromDom(kn.getEnd());Mn(Mr,[hr,Us]).fold(()=>T.clear(te),gt)},Le=Uo(Z,te,Te,T),ve=ub(Z,te,Te,T),Ve=zh(Z,te,Te,T),pe=kn=>kn.raw.shiftKey===!0;l.on("TableSelectorChange",kn=>Ve(kn.start,kn.finish));const Qe=(kn,hr)=>{pe(kn)&&(hr.kill&&kn.kill(),hr.selection.each(Us=>{const Uc=qu.relative(Us.start,Us.finish),vc=gy(Z,Uc);l.selection.setRng(vc)}))},wt=kn=>{const hr=Lf(kn);if(hr.raw.shiftKey&&tm(hr.raw.which)){const Us=l.selection.getRng(),Uc=ee.fromDom(Us.startContainer),vc=ee.fromDom(Us.endContainer);ve.keyup(hr,Uc,Us.startOffset,vc,Us.endOffset).each(Xu=>{Qe(hr,Xu)})}},It=kn=>{const hr=Lf(kn);m.hide();const Us=l.selection.getRng(),Uc=ee.fromDom(Us.startContainer),vc=ee.fromDom(Us.endContainer),Xu=s_(Tk,mw)(ee.fromDom(l.selection.getStart()));ve.keydown(hr,Uc,Us.startOffset,vc,Us.endOffset,Xu).each(Or=>{Qe(hr,Or)}),m.show()},Gn=kn=>kn.button===0,us=kn=>kn.buttons===void 0?!0:(kn.buttons&1)!==0,yo=kn=>{Le.clearstate()},Vr=kn=>{Gn(kn)&&Fy(kn)&&Le.mousedown(Lf(kn))},sm=kn=>{us(kn)&&Fy(kn)&&Le.mouseover(Lf(kn))},rm=kn=>{Gn(kn)&&Fy(kn)&&Le.mouseup(Lf(kn))},vb=(()=>{const kn=$h(ee.fromDom(te)),hr=$h(0);return{touchEnd:Uc=>{const vc=ee.fromDom(Uc.target);if(Qr("td")(vc)||Qr("th")(vc)){const Xu=kn.get(),Or=hr.get();no(Xu,vc)&&Uc.timeStamp-Or<300&&(Uc.preventDefault(),Ve(vc,vc))}kn.set(vc),hr.set(Uc.timeStamp)}}})();l.on("dragstart",yo),l.on("mousedown",Vr),l.on("mouseover",sm),l.on("mouseup",rm),l.on("touchend",vb.touchEnd),l.on("keyup",wt),l.on("keydown",It),l.on("NodeChange",He)}),l.on("PreInit",()=>{l.serializer.addTempAttr(Vd.firstSelected),l.serializer.addTempAttr(Vd.lastSelected)}),{getSelectedCells:()=>Gh(h.get(),q([]),H=>Rt(H,Z=>Z.dom),H=>[H.dom]),clearSelectedCells:H=>T.clear(ee.fromDom(H))}},Ia=l=>{let m=[];return{bind:T=>{if(T===void 0)throw new Error("Event bind error: undefined handler");m.push(T)},unbind:T=>{m=Ho(m,D=>D!==T)},trigger:(...T)=>{const D={};_e(l,($,H)=>{D[$]=T[H]}),_e(m,$=>{$(D)})}}},Ku=l=>{const m=Fp(l,v=>({bind:v.bind,unbind:v.unbind})),h=Fp(l,v=>v.trigger);return{registry:m,trigger:h}},Nk=(l,m)=>{let h=null;const v=()=>{xC(h)||(clearTimeout(h),h=null)};return{cancel:v,throttle:(...T)=>{v(),h=setTimeout(()=>{h=null,l.apply(null,T)},m)}}},qh=l=>l.slice(0).sort(),Pk=(l,m)=>{throw new Error("All required keys ("+qh(l).join(", ")+") were not specified. Specified keys were: "+qh(m).join(", ")+".")},bc=l=>{throw new Error("Unsupported keys for object: "+qh(l).join(", "))},er=(l,m)=>{if(!pa(m))throw new Error("The "+l+" fields must be an array. Was: "+m+".");_e(m,h=>{if(!Dg(h))throw new Error("The value "+h+" in the "+l+" fields was not a string.")})},om=(l,m)=>{throw new Error("All values need to be of type: "+m+". Keys ("+qh(l).join(", ")+") were not.")},nD=l=>{const m=qh(l);N(m,(v,w)=>w{throw new Error("The field: "+v+" occurs more than once in the combined fields: ["+m.join(", ")+"].")})},Ew=(l,m)=>$k(l,m,{validate:Mi,label:"function"}),$k=(l,m,h)=>{if(m.length===0)throw new Error("You must specify at least one required field.");return er("required",m),nD(m),v=>{const w=pt(v);eo(m,$=>Lo(w,$))||Pk(m,w),l(m,w);const D=Ho(m,$=>!h.validate(v[$],$));return D.length>0&&om(D,h.label),v}},Zt=(l,m)=>{const h=Ho(m,v=>!Lo(l,v));h.length>0&&bc(h)},Hy=l=>Ew(Zt,l),Tw=Hy(["compare","extract","mutate","sink"]),Vy=Hy(["element","start","stop","destroy"]),Ik=Hy(["forceDrop","drop","move","delayDrop"]),Fk=()=>{let l=Y.none();const m=()=>{l=Y.none()},h=(T,D)=>{const $=l.map(H=>T.compare(H,D));return l=Y.some(D),$},v=(T,D)=>{D.extract(T).each(H=>{h(D,H).each(te=>{w.trigger.move(te)})})},w=Ku({move:Ia(["info"])});return{onEvent:v,reset:m,events:w.registry}},_w=()=>{const l=Ku({move:Ia(["info"])});return{onEvent:gt,reset:gt,events:l.registry}},Lk=()=>{const l=_w(),m=Fk();let h=l;return{on:()=>{h.reset(),h=m},off:()=>{h.reset(),h=l},isOn:()=>h===m,onEvent:($,H)=>{h.onEvent($,H)},events:m.events}},Ye=(l,m,h)=>{let v=!1;const w=Ku({start:Ia([]),stop:Ia([])}),T=Lk(),D=()=>{ve.stop(),T.isOn()&&(T.off(),w.trigger.stop())},$=Nk(D,200),H=pe=>{ve.start(pe),T.on(),w.trigger.start()},Z=pe=>{$.cancel(),T.onEvent(pe,m)};T.events.move.bind(pe=>{m.mutate(l,pe.info)});const te=()=>{v=!0},Te=()=>{v=!1},He=()=>v,Le=pe=>(...Qe)=>{v&&pe.apply(null,Qe)},ve=m.sink(Ik({forceDrop:D,drop:Le(D),move:Le(Z),delayDrop:Le($.throttle)}),h),Ve=()=>{ve.destroy()};return{element:ve.element,go:H,on:te,off:Te,isActive:He,destroy:Ve,events:w.registry}},Yu=l=>{const m=l.replace(/\./g,"-");return{resolve:v=>m+"-"+v}},Kh=Yu("ephox-dragster").resolve,Yh=l=>{const m={layerClass:Kh("blocker"),...l},h=ee.fromTag("div");return es(h,"role","presentation"),ar(h,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),ia(h,Kh("blocker")),ia(h,m.layerClass),{element:q(h),destroy:()=>{js(h)}}};var Vk=Tw({compare:(l,m)=>ka(m.left-l.left,m.top-l.top),extract:l=>Y.some(ka(l.x,l.y)),sink:(l,m)=>{const h=Yh(m),v=Ff(h.element(),"mousedown",l.forceDrop),w=Ff(h.element(),"mouseup",l.drop),T=Ff(h.element(),"mousemove",l.move),D=Ff(h.element(),"mouseout",l.delayDrop),$=()=>{h.destroy(),w.unbind(),T.unbind(),D.unbind(),v.unbind()},H=te=>{No(te,h.element())},Z=()=>{js(h.element())};return Vy({element:h.element,start:H,stop:Z,destroy:$})},mutate:(l,m)=>{l.mutate(m.left,m.top)}});const Ow=(l,m={})=>{var h;const v=(h=m.mode)!==null&&h!==void 0?h:Vk;return Ye(l,v,m)},Kl=Yu("ephox-snooker").resolve,Aw=()=>{const l=Ku({drag:Ia(["xDelta","yDelta"])});return{mutate:(h,v)=>{l.trigger.drag(h,v)},events:l.registry}},zk=()=>{const l=Ku({drag:Ia(["xDelta","yDelta","target"])});let m=Y.none();const h=Aw();return h.events.drag.bind(T=>{m.each(D=>{l.trigger.drag(T.xDelta,T.yDelta,D)})}),{assign:T=>{m=Y.some(T)},get:()=>m,mutate:h.mutate,events:l.registry}},Xh=(l,m,h,v,w)=>{const T=ee.fromTag("div");return ar(T,{position:"absolute",left:m-v/2+"px",top:h+"px",height:w+"px",width:v+"px"}),Bi(T,{"data-column":l,role:"presentation"}),T},Uk=(l,m,h,v,w)=>{const T=ee.fromTag("div");return ar(T,{position:"absolute",left:m+"px",top:h-w/2+"px",height:w+"px",width:v+"px"}),Bi(T,{"data-row":l,role:"presentation"}),T},Rw=Kl("resizer-bar"),zy=Kl("resizer-rows"),Dw=Kl("resizer-cols"),fb=7,Wk=(l,m)=>Qo(l.all,(h,v)=>m(h.element)?[v]:[]),Zk=(l,m)=>{const h=[];return Co(l.grid.columns,v=>{Wt.getColumnAt(l,v).map(T=>T.element).forall(m)&&h.push(v)}),Ho(h,v=>{const w=Wt.filterItems(l,T=>T.column===v);return eo(w,T=>m(T.element))})},Hf=l=>{const m=tc(l.parent(),"."+Rw);_e(m,js)},Uy=(l,m,h)=>{const v=l.origin();_e(m,w=>{w.each(T=>{const D=h(v,T);ia(D,Rw),No(l.parent(),D)})})},Mw=(l,m,h,v)=>{Uy(l,m,(w,T)=>{const D=Xh(T.col,T.x-w.left,h.top-w.top,fb,v);return ia(D,Dw),D})},jk=(l,m,h,v)=>{Uy(l,m,(w,T)=>{const D=Uk(T.row,h.left-w.left,T.y-w.top,v,fb);return ia(D,zy),D})},Gk=(l,m,h,v,w)=>{const T=Oa(h),D=m.isResizable,$=v.length>0?Je.positions(v,h):[],H=$.length>0?Wk(l,D):[],Z=Ho($,(Le,ve)=>Fe(H,Ve=>ve===Ve));jk(m,Z,T,Ii(h));const te=w.length>0?jo.positions(w,h):[],Te=te.length>0?Zk(l,D):[],He=Ho(te,(Le,ve)=>Fe(Te,Ve=>ve===Ve));Mw(m,He,T,Od(h))},gb=(l,m)=>{if(Hf(l),l.isResizable(m)){const h=Wt.fromTable(m),v=Y0(h),w=$m(h);Gk(h,l,m,v,w)}},sl=(l,m)=>{const h=tc(l.parent(),"."+Rw);_e(h,m)},hb=l=>{sl(l,m=>{mo(m,"display","none")})},mn=l=>{sl(l,m=>{mo(m,"display","block")})},qk=l=>Hr(l,zy),Yl=l=>Hr(l,Dw),rl=Kl("resizer-bar-dragging"),pb=l=>{const m=zk(),h=Ow(m,{});let v=Y.none();const w=(ve,Ve)=>Y.from(wl(ve,Ve));m.events.drag.bind(ve=>{w(ve.target,"data-row").each(Ve=>{const pe=yu(ve.target,"top");mo(ve.target,"top",pe+ve.yDelta+"px")}),w(ve.target,"data-column").each(Ve=>{const pe=yu(ve.target,"left");mo(ve.target,"left",pe+ve.xDelta+"px")})});const T=(ve,Ve)=>{const pe=yu(ve,Ve),Qe=Yn(ve,"data-initial-"+Ve,0);return pe-Qe};h.events.stop.bind(()=>{m.get().each(ve=>{v.each(Ve=>{w(ve,"data-row").each(pe=>{const Qe=T(ve,"top");Bo(ve,"data-initial-top"),Le.trigger.adjustHeight(Ve,Qe,parseInt(pe,10))}),w(ve,"data-column").each(pe=>{const Qe=T(ve,"left");Bo(ve,"data-initial-left"),Le.trigger.adjustWidth(Ve,Qe,parseInt(pe,10))}),gb(l,Ve)})})});const D=(ve,Ve)=>{Le.trigger.startAdjust(),m.assign(ve),es(ve,"data-initial-"+Ve,yu(ve,Ve)),ia(ve,rl),mo(ve,"opacity","0.2"),h.go(l.parent())},$=Ff(l.parent(),"mousedown",ve=>{qk(ve.target)&&D(ve.target,"top"),Yl(ve.target)&&D(ve.target,"left")}),H=ve=>no(ve,l.view()),Z=ve=>Ps(ve,"table",H).filter(Ou),te=Ff(l.view(),"mouseover",ve=>{Z(ve.target).fold(()=>{xo(ve.target)&&Hf(l)},Ve=>{h.isActive()&&(v=Y.some(Ve),gb(l,Ve))})}),Te=()=>{$.unbind(),te.unbind(),h.destroy(),Hf(l)},He=ve=>{gb(l,ve)},Le=Ku({adjustHeight:Ia(["table","delta","row"]),adjustWidth:Ia(["table","delta","column"]),startAdjust:Ia([])});return{destroy:Te,refresh:He,on:h.on,off:h.off,hideBars:An(hb,l),showBars:An(mn,l),events:Le.registry}},bb={create:(l,m,h)=>{const v=Je,w=jo,T=pb(l),D=Ku({beforeResize:Ia(["table","type"]),afterResize:Ia(["table","type"]),startDrag:Ia([])});return T.events.adjustHeight.bind($=>{const H=$.table;D.trigger.beforeResize(H,"row");const Z=v.delta($.delta,H);Bv(H,Z,$.row,v),D.trigger.afterResize(H,"row")}),T.events.startAdjust.bind($=>{D.trigger.startDrag()}),T.events.adjustWidth.bind($=>{const H=$.table;D.trigger.beforeResize(H,"col");const Z=w.delta($.delta,H),te=h(H);fh(H,Z,$.column,m,te),D.trigger.afterResize(H,"col")}),{on:T.on,off:T.off,refreshBars:T.refresh,hideBars:T.hideBars,showBars:T.showBars,destroy:T.destroy,events:D.registry}}},Wy={only:(l,m)=>{const h=Up(l)?Zs(l):l;return{parent:q(h),view:q(l),origin:q(ka(0,0)),isResizable:m}},detached:(l,m,h)=>{const v=()=>Oa(m);return{parent:q(m),view:q(l),origin:v,isResizable:h}},body:(l,m,h)=>({parent:q(m),view:q(l),origin:q(ka(0,0)),isResizable:h})},Kk=()=>{const l=ee.fromTag("div");return ar(l,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),No(Sr(),l),l},Zy=(l,m)=>l.inline?Wy.body(ee.fromDom(l.getBody()),Kk(),m):Wy.only(ee.fromDom(l.getDoc()),m),Yk=(l,m)=>{l.inline&&js(m.parent())},Yt=l=>Kr(l)&&l.nodeName==="TABLE",zc="bar-",Jl=l=>wl(l,"data-mce-resize")!=="false",Xk=l=>{const m=Wt.fromTable(l);Wt.hasColumns(m)||_e(ei(l),h=>{const v=Ks(h,"width");mo(h,"width",v),Bo(h,"width")})},zf=l=>{const m=Mf(),h=Mf(),v=Mf();let w,T;const D=ve=>fr(l,ve),$=()=>oS(l)?Tv():dS(),H=ve=>Jm(ve).columns,Z=(ve,Ve,pe)=>{const Qe=vu(Ve,"e");if(T===""&&ca(ve),pe!==w&&T!==""){mo(ve,"width",T);const wt=$(),It=D(ve),Gn=oS(l)||Qe?H(ve)-1:0;fh(ve,pe-w,Gn,wt,It)}else if(l1(T)){const wt=parseFloat(T.replace("%","")),It=pe*wt/w;mo(ve,"width",It+"%")}nh(T)&&Xk(ve)},te=()=>{h.on(ve=>{ve.destroy()}),v.on(ve=>{Yk(l,ve)})};return l.on("init",()=>{const ve=Zy(l,Jl);if(v.set(ve),u_(l)&&Fd(l)){const Ve=$(),pe=bb.create(ve,Ve,D);pe.on(),pe.events.startDrag.bind(Qe=>{m.set(l.selection.getRng())}),pe.events.beforeResize.bind(Qe=>{const wt=Qe.table.dom;Jv(l,wt,Au(wt),Ru(wt),zc+Qe.type)}),pe.events.afterResize.bind(Qe=>{const wt=Qe.table,It=wt.dom;ui(wt),m.on(Gn=>{l.selection.setRng(Gn),l.focus()}),W_(l,It,Au(It),Ru(It),zc+Qe.type),l.undoManager.add()}),h.set(pe)}}),l.on("ObjectResizeStart",ve=>{const Ve=ve.target;if(Yt(Ve)){const pe=ee.fromDom(Ve);_e(l.dom.select(".mce-clonedresizable"),Qe=>{l.dom.addClass(Qe,"mce-"+dv(l)+"-columns")}),!xh(pe)&&ku(l)?yf(pe):!wh(pe)&&ii(l)&&ca(pe),V1(pe)&&$0(ve.origin,zc)&&ca(pe),w=ve.width,T=Id(l)?"":sS(l,Ve).getOr("")}}),l.on("ObjectResized",ve=>{const Ve=ve.target;if(Yt(Ve)){const pe=ee.fromDom(Ve),Qe=ve.origin;$0(Qe,"corner-")&&Z(pe,Qe,ve.width),ui(pe),Kd(l,pe.dom,Vl)}}),l.on("SwitchMode",()=>{h.on(ve=>{l.mode.isReadOnly()?ve.hideBars():ve.showBars()})}),l.on("dragstart dragend",ve=>{h.on(Ve=>{ve.type==="dragstart"?(Ve.hideBars(),Ve.off()):(Ve.on(),Ve.showBars())})}),l.on("remove",()=>{te()}),{refresh:ve=>{h.on(Ve=>Ve.refreshBars(ee.fromDom(ve)))},hide:()=>{h.on(ve=>ve.hideBars())},show:()=>{h.on(ve=>ve.showBars())}}},rn=l=>{Wm(l);const m=zf(l),h=Ly(l,m),v=L1(l,m,h);return Sf(l,v),lk(l,v),v_(l,v),{getSelectedCells:h.getSelectedCells,clearSelectedCells:h.clearSelectedCells}},Jk=l=>({table:rn(l)});var jy=()=>{UT.add("dom",Jk)};jy()})(); diff --git a/public/build/assets/tinymce-c9a62ee6.js b/public/build/assets/tinymce-c9a62ee6.js deleted file mode 100644 index e803aa00b..000000000 --- a/public/build/assets/tinymce-c9a62ee6.js +++ /dev/null @@ -1 +0,0 @@ -import"./tinymce-7862aad6.js"; diff --git a/public/build/assets/tinymce-ede989c3.css b/public/build/assets/tinymce-ede989c3.css deleted file mode 100644 index 861bc92ed..000000000 --- a/public/build/assets/tinymce-ede989c3.css +++ /dev/null @@ -1,11 +0,0 @@ -.tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:2px solid #eee;border-radius:10px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#fff;border:2px solid #eee;border-radius:10px;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border-radius:6px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:#0065d81a;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#006ce7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#0060ce}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#0054b4}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:#ffa50014;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#8f5d00}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#8f5d00}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:#cc00001a;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:#78ab461a;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#527530}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#527530}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{font-size:14px;margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#eee;border-radius:10px;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar,.tox .tox-bottom-anchorbar,.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#006ce7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#006ce7;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;position:relative;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button:before{border-radius:6px;bottom:-1px;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #006ce7,0 0 0 3px #006ce740;content:"";left:-1px;opacity:0;pointer-events:none;position:absolute;right:-1px;top:-1px}.tox .tox-button[disabled]{background-color:#006ce7;background-image:none;border-color:#006ce7;box-shadow:none;color:#ffffff80;cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#0060ce;background-image:none;border-color:#0060ce;box-shadow:none;color:#fff}.tox .tox-button:focus-visible:not(:disabled):before{opacity:1}.tox .tox-button:hover:not(:disabled){background-color:#0060ce;background-image:none;border-color:#0060ce;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#0054b4;background-image:none;border-color:#0054b4;box-shadow:none;color:#fff}.tox .tox-button.tox-button--enabled{background-color:#0054b4;background-image:none;border-color:#0054b4;box-shadow:none;color:#fff}.tox .tox-button.tox-button--enabled[disabled]{background-color:#0054b4;background-image:none;border-color:#0054b4;box-shadow:none;color:#ffffff80;cursor:not-allowed}.tox .tox-button.tox-button--enabled:focus:not(:disabled){background-color:#00489b;background-image:none;border-color:#00489b;box-shadow:none;color:#fff}.tox .tox-button.tox-button--enabled:hover:not(:disabled){background-color:#00489b;background-image:none;border-color:#00489b;box-shadow:none;color:#fff}.tox .tox-button.tox-button--enabled:active:not(:disabled){background-color:#003c81;background-image:none;border-color:#003c81;box-shadow:none;color:#fff}.tox .tox-button--icon-and-text,.tox .tox-button.tox-button--icon-and-text,.tox .tox-button.tox-button--secondary.tox-button--icon-and-text{display:flex;padding:5px 4px}.tox .tox-button--icon-and-text .tox-icon svg,.tox .tox-button.tox-button--icon-and-text .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon-and-text .tox-icon svg{display:block;fill:currentColor}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:#222f3e80}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--secondary.tox-button--enabled{background-color:#a8c8ed;background-image:none;border-color:#a8c8ed;box-shadow:none;color:#222f3e}.tox .tox-button--secondary.tox-button--enabled[disabled]{background-color:#a8c8ed;background-image:none;border-color:#a8c8ed;box-shadow:none;color:#222f3e80}.tox .tox-button--secondary.tox-button--enabled:focus:not(:disabled){background-color:#93bbe9;background-image:none;border-color:#93bbe9;box-shadow:none;color:#222f3e}.tox .tox-button--secondary.tox-button--enabled:hover:not(:disabled){background-color:#93bbe9;background-image:none;border-color:#93bbe9;box-shadow:none;color:#222f3e}.tox .tox-button--secondary.tox-button--enabled:active:not(:disabled){background-color:#7daee4;background-image:none;border-color:#7daee4;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#222f3e1f;border-color:transparent;box-shadow:unset;color:#222f3e80}.tox .tox-button--naked:hover:not(:disabled){background-color:#222f3e1f;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#222f3e1f;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#222f3e2e;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:6px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:3px;width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:#222f3e4d}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#006ce7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#006ce7}.tox .tox-checkbox--disabled{color:#222f3e80;cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:#222f3e80}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:#222f3e80}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:#222f3e80}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:6px;box-shadow:inset 0 0 0 1px #006ce7;padding:3px}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#e3e3e3;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#fcfcfc;color:#222f3eb3;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#222f3e;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item,.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#cce2fa}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#cce2fa}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#cce2fa;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;max-width:100%;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:#222f3eb3;display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret:after{content:"";font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:#222f3e80;cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:#222f3e80}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #e3e3e3;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:28px;margin:6px 1px 5px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid transparent}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid transparent}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-spectrum:focus,.tox .tox-sv-palette-spectrum:focus{outline:#08f solid}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette,.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:5px 0 6px 11px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px #7f7f7f4d inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#cce2fa}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#222f3e;height:24px;margin:3px;width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 8px #222f3e1a;padding:8px 8px 16px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:#222f3eb3;font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay:after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient:after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:#222f3eb3}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#222f3e;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:#ffffffbf;bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#eee;border-radius:10px;border-style:solid;border-width:0;box-shadow:0 16px 16px -10px #222f3e26,0 0 40px 1px #222f3e26;display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 16px);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding:16px}@media only screen and (min-width:768px){.tox .tox-dialog__body-nav{max-width:11em}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:#222f3eb3;display:inline-block;flex-shrink:0;font-size:14px;line-height:1.3;margin-bottom:8px;max-width:13em;text-decoration:none}.tox .tox-dialog__body-nav-item:focus{background-color:#006ce71a}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #006ce7;color:#006ce7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:min(650px,calc(100vh - 110px));overflow:auto;-webkit-overflow-scrolling:touch;padding:16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#006ce7;cursor:pointer;text-decoration:underline}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#003c81;text-decoration:underline}.tox .tox-dialog__body-content a:focus-visible{border-radius:1px;outline:2px solid #006ce7;outline-offset:2px}.tox .tox-dialog__body-content a:active{color:#00244e;text-decoration:underline}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content strong{font-weight:700}.tox .tox-dialog__body-content ul{list-style-type:disc}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{padding-inline-start:2.5rem}.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{margin-bottom:16px}.tox .tox-dialog__body-content dd,.tox .tox-dialog__body-content dl,.tox .tox-dialog__body-content dt,.tox .tox-dialog__body-content ol,.tox .tox-dialog__body-content ul{display:block;margin-inline-end:0;margin-inline-start:0}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--center{text-align:center}.tox .tox-dialog__body-content .tox-form__group .tox-label.tox-label--end{text-align:end}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:none;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:#ffffffbf;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #626262}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe{min-height:200px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-navobj-bordered{position:relative}.tox .tox-navobj-bordered:before{border:1px solid #eee;border-radius:6px;content:"";top:0;right:0;bottom:0;left:0;opacity:1;pointer-events:none;position:absolute;z-index:1}.tox .tox-navobj-bordered-focus.tox-navobj-bordered:before{border-color:#006ce7;box-shadow:0 0 0 2px #006ce740;outline:0}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #eee;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:#222f3eb3;margin:0 0 16px}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area:before{border:2px solid #2d6adf;border-radius:4px;content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area:before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #eee}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#fff;border-bottom:none;box-shadow:0 2px 2px -2px #222f3e1a,0 8px 8px -4px #222f3e12;padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #e3e3e3;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#fff;box-shadow:0 2px 2px -2px #222f3e33,0 8px 8px -4px #222f3e26;padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 2px 2px -2px #222f3e33,0 8px 8px -4px #222f3e26}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:#222f3e33;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#006ce7;cursor:pointer}.tox .tox-color-input span:before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:6px;box-sizing:border-box;content:"";height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:#222f3eb3;display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - 4px)}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - 4px)}.tox .tox-form__controls-h-stack,.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 2px #006ce740;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#006ce7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:#222f3ed9;cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 2px #006ce740;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#eee;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:#006ce780;border-color:#006ce780}.tox .tox-insert-table-picker__label{color:#222f3eb3;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 4px}.tox .tox-menu.tox-collection.tox-collection--toolbar,.tox .tox-menu.tox-collection.tox-collection--grid{padding:8px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}.tox .tox-dialog__popups .tox-menu .tox-collection__item-label{word-break:break-all}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 11px 0 12px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:5px 1px 6px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity .15s ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#517342}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f5cccc;border-color:#f0b3b3;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#77181f}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fff5cc;border-color:#fff0b3;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#7a6e25}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d6e7fb;border-color:#c1dbf9;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#2a64a6}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{align-self:center;color:#222f3e;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition:after,.tox .tox-pop--transition:before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop:after,.tox .tox-pop:before{border-style:solid;content:"";display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset:after,.tox .tox-pop.tox-pop--inset:before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom:after,.tox .tox-pop.tox-pop--bottom:before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom:after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom:before{border-color:#eee transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top:after,.tox .tox-pop.tox-pop--top:before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top:after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top:before{border-color:transparent transparent #eee transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left:after,.tox .tox-pop.tox-pop--left:before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left:after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left:before{border-color:transparent #eee transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right:after,.tox .tox-pop.tox-pop--right:before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right:after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right:before{border-color:transparent transparent transparent #eee;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left:after,.tox .tox-pop.tox-pop--align-left:before{left:20px}.tox .tox-pop.tox-pop--align-right:after,.tox .tox-pop.tox-pop--align-right:before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container,.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #eee;border-radius:6px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#006ce7;border:2px solid #0054b4;border-radius:6px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:#222f3eb3;border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,to,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #e3e3e3;color:#222f3eb3;display:flex;flex:0 0 auto;font-size:14px;font-weight:400;height:25px;overflow:hidden;padding:0 8px;position:relative;text-transform:none}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__right-container{display:flex;justify-content:flex-end;white-space:nowrap}.tox .tox-statusbar__help-text{text-align:center}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:space-between;overflow:hidden}@media only screen and (min-width:768px){.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__help-text,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__path,.tox .tox-statusbar__text-container.tox-statusbar__text-container-3-cols>.tox-statusbar__right-container{flex:0 0 calc(100% / 3)}}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-end{justify-content:flex-end}.tox .tox-statusbar__text-container.tox-statusbar__text-container--flex-start{justify-content:flex-start}.tox .tox-statusbar__text-container.tox-statusbar__text-container--space-around{justify-content:space-around}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}@media only screen and (max-width:767px){.tox .tox-statusbar__text-container .tox-statusbar__help-text{display:none}.tox .tox-statusbar__text-container .tox-statusbar__help-text:only-child{display:block}}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#222f3eb3;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e;cursor:pointer}.tox .tox-statusbar__branding svg{fill:#222f3ecc;height:1.14em;vertical-align:-.28em;width:3.6em}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-bottom:3px;padding-left:1ch;padding-right:3px}.tox .tox-statusbar__resize-handle svg{display:block;fill:#222f3e80}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px 1px 5px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:#fff9;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:6px 1px 5px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#cce2fa;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled .tox-tbtn--enabled svg{fill:#222f3e80}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:#222f3e80}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn--enabled.tox-tbtn--disabled svg,.tox .tox-tbtn--enabled:hover.tox-tbtn--disabled svg{fill:#222f3e80}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:42px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:56px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-number-input{border-radius:3px;display:flex;margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-number-input .tox-input-wrapper{background:#f7f7f7;display:flex;pointer-events:none;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background:#cce2fa}.tox .tox-number-input input{border-radius:3px;color:#222f3e;font-size:14px;margin:2px 0;pointer-events:all;width:60px}.tox .tox-number-input input:hover{background:#cce2fa;color:#222f3e}.tox .tox-number-input input:focus{background:#fff;color:#222f3e}.tox .tox-number-input input:disabled{background:0 0;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-number-input button{background:#f7f7f7;color:#222f3e;height:28px;text-align:center;width:24px}.tox .tox-number-input button svg{display:block;fill:#222f3e;margin:0 auto;transform:scale(.67)}.tox .tox-number-input button:focus{background:#cce2fa}.tox .tox-number-input button:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:hover svg{fill:#222f3e}.tox .tox-number-input button:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:active svg{fill:#222f3e}.tox .tox-number-input button:disabled{background:0 0;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-number-input button:disabled svg{fill:#222f3e80}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#cce2fa}.tox .tox-tbtn--select{margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:#222f3e80}.tox .tox-tbtn--bespoke{background:#f7f7f7}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:4px}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-tbtn--disabled .tox-tbtn__select-label,.tox .tox-tbtn--select:disabled .tox-tbtn__select-label{cursor:not-allowed}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:6px 1px 5px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #cce2fa inset}.tox .tox-split-button:focus{background:#cce2fa;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:#222f3e80}.tox .tox-split-button .tox-tbtn{margin:0}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:#222f3e80}.tox.tox-platform-touch .tox-split-button .tox-tbtn--select{padding:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled svg #tox-icon-highlight-bg-color__color,.tox .tox-split-button.tox-tbtn--disabled svg #tox-icon-text-color__color{opacity:.6}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#fff;background-image:repeating-linear-gradient(#e3e3e3 0 1px,transparent 1px 39px);background-position:center top 40px;background-repeat:no-repeat;background-size:calc(100% - 22px) calc(100% - 41px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 22px) calc(100% + -0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid transparent;margin-top:-1px;padding-bottom:1px;padding-top:1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;background-position:center top 43px;background-size:calc(100% - 16px) calc(100% - 51px);border:none;border-radius:6px;box-shadow:0 0 2px #222f3e33,0 4px 8px #222f3e26;overscroll-behavior:none;padding:4px 0}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 22px) calc(100% - 51px);padding:4px 0}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0;padding:0 11px 0 12px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid transparent}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid transparent}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:6px;box-shadow:0 2px 4px #222f3e4d;color:#ffffffbf;font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translate(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translate(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0 0 0 8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#222f3e}.tox .tox-tree .tox-trbtn:focus{background:#cce2fa;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:active svg{fill:#222f3e}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:#222f3e80;cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:#222f3e80}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--shrinking) .tox-chevron{transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--growing) .tox-chevron,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:has(+.tox-tree--directory__children--open) .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#fff;display:flex;flex:1;flex-direction:column}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:8px 8px 0;position:relative}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;padding:8px 8px 0}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;width:100%}.tox .tox-view__pane_panel{border:1px solid #eee;border-radius:6px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #eee;border-radius:6px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #eee;border-radius:6px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-dialog-loading:before{background-color:#00000080;content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js,.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}/** -* http://prismjs.com/ -* @license MIT -* @author Lea Verou -* @see https://github.com/PrismJS/prism/blob/master/LICENSE -* -* Dracula Theme originally by Zeno Rocha [@zenorocha] -* https://draculatheme.com/ -* -* Ported for PrismJS by Albert Vallverdu [@byverdu] -*/body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) th,table:not([cellpadding]) td{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) th,table[border]:not([border="0"]):not([style*=border-width]) td{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) th,table[border]:not([border="0"]):not([style*=border-style]) td{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) th,table[border]:not([border="0"]):not([style*=border-color]) td{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/build/manifest.json b/public/build/manifest.json index ed7b66236..4c7ef7260 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -61,7 +61,7 @@ "src": "resources/js/app.js" }, "resources/js/tinymce.js": { - "file": "assets/tinymce-c9a62ee6.js", + "file": "assets/tinymce-580bfc24.js", "imports": [ "resources/sass/tinymce.scss" ], @@ -75,9 +75,9 @@ }, "resources/sass/tinymce.scss": { "css": [ - "assets/tinymce-ede989c3.css" + "assets/tinymce-049ecb70.css" ], - "file": "assets/tinymce-7862aad6.js", + "file": "assets/tinymce-4bed85b8.js", "isEntry": true, "src": "resources/sass/tinymce.scss" } diff --git a/public/vendor/tinymce/CHANGELOG.md b/public/vendor/tinymce/CHANGELOG.md index 73e51897f..7ee055095 100644 --- a/public/vendor/tinymce/CHANGELOG.md +++ b/public/vendor/tinymce/CHANGELOG.md @@ -2,9 +2,653 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), +and is generated by [Changie](https://github.com/miniscruff/changie). -## Unreleased +## 8.5.0 - 2026-04-29 + +### Added +- New `content_language` option to set the `lang` attribute on the iframe's `html` element or the inline editor's target element. #TINY-11214 + +### Improved +- Improved visual styling of inline diff highlights in Suggested Edits and TinyMCE AI plugin. #TINY-13958 + +### Fixed +- Script and style elements would incorrectly be removed by DomPurify when considered valid in the schema. #TINY-9655 +- Iframe elements with children would incorrectly be removed by DomPurify. #TINY-9655 +- Certain combinations of divs inside of lists would cause issues turning off lists. #TINY-14070 +- Certain selections would delete the editor body, causing issues. #TINY-14149 +- URIs with non-Latin1 characters were returning an error. #TINY-13938 +- Alert and confirm dialogs were not announced properly by some screen readers. #TINY-13812 + +## 8.4.0 - 2026-03-31 + +### Added +- New `view_show` option to display a specified view on initialization. #TINY-11967 +- New `errorHandler` option for `dropzone` dialog components. #TINY-13420 +- The noneditable feature can now be disabled with the new `allow_noneditable` option. #TINY-10121 +- Editor option `content_id` for uniquely identifying the edited document. #TINY-13379 +- New `table_default_header_rows` and `table_default_header_cols` options to set the default header size for new tables #TINY-13391 + +### Improved +- The file upload feature of `link` and `image` dialogs now provide feedback when an unsupported file type is selected. #TINY-13420 +- Directionality buttons now only appear active when directionality is set on the selected block. #TINY-13337 +- Directionality buttons now always toggle the directionality attribute on selected blocks. #TINY-13337 + +### Changed +- The `border-color` style with multiple rgb colors would be compressed into `border` incorrectly #TINY-13393 +- Element Path now uses the ARIA-role "group" with an aria-label #TINY-13338 + +### Fixed +- Now `link` dialog allows uploading empty files. #TINY-13421 +- The `link` dialog now allows uploading empty files. #TINY-13421 +- Bundled content CSS is now loaded into preview iframes. #TINY-13190 +- Attempting to remove a link after a `contentEditable="false"` element was not possible. #TINY-13108 +- Some formatting was not applied to items in multilevel list. #TINY-13324 +- Dialogs did not retain focus when using the block/unblock API. #TINY-12918 +- Setting width via Table Properties did not apply when `table_style_by_css` was `false`. #TINY-12797 + +### Security +- Updated DOMPurify version to 3.3.2. #TINY-14180 + +## 8.3.2 - 2026-01-14 + +### Fixed +- The `uc-video` element is no longer refreshed on undo/redo. #TINY-12884 + +## 8.3.1 - 2025-12-17 + +### Fixed +- Views could not be opened during the `init` event. #TINY-13463 + +## 8.3.0 - 2025-12-10 + +### Added +- New `documents_file_types` option. #TINY-13278 +- New `files_upload_handler` and `link_uploadtab` options in the Link plugin. #TINY-13278 +- New upload tab to the link dialog when `files_upload_handler`, `documents_file_types`, and `link_uploadtab` are all specified. #TINY-13278 +- New options for `dropzone` dialog components: `dropAreaLabel`, `buttonLabel`, `allowedFileTypes` and `allowedFileExtensions`. #TINY-13278 + +### Improved +- Accordions can now be opened and closed when the editor is in a read-only state. #TINY-12316 +- An editor notification is now shown when a premium plugin is not allowed for a given license key. #TINY-12937 + +### Fixed +- Help Plugin did not contain an entry for the Fullpage HTML plugin. #TINY-13183 +- Accordions could be toggled when the editor was in a disabled state. #TINY-12315 +- Removing a line height sometimes did not remove it from all selected lines. #TINY-13053 +- The `font-size` style on `li` elements was not copied to new list items. #TINY-13224 +- Toolbar split button chevron tooltip is now the same as the main button tooltip unless explicitly set. #TINY-13271 +- Inline formats were not applied to the marker of a list item when its content was a single block element. #TINY-13197 + +## 8.2.2 - 2025-11-17 + +### Fixed +- Ability to load licensekeymanager in different hosting scenarios. #TINY-13203 + +## 8.2.1 - 2025-11-06 + +### Fixed +- Resizing the editor's height would add a fixed width value. #TINY-13138 +- Help Plugin did not contain an entry for the Fullpage HTML plugin. #TINY-13183 + +## 8.2.0 - 2025-10-23 + +### Improved +- Some elements would be given an extra newline by the serializer when indented. #TINY-12857 + +### Fixed +- UI elements like focus outlines and placeholders would be visible after printing. #TINY-12584 +- The `open` attribute on `
    ` elements is now normalized to `open="open"` when the accordion plugin is enabled. #TINY-12862 +- Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered. #TINY-12289 +- The editor would upon gaining focus scroll to the center of the editor on some browsers if the top of the editor was out of frame. #TINY-12626 +- Some UI elements related to dragging elements were not properly filtered out when fetching content. #TINY-12384 +- The cursor could get stuck around an absolute CEF element when navigating using arrow keys. #TINY-10526 +- The schema will now allow the `property` RDFa attribute on `meta` elements. #TINY-12858 +- Corrected type of `undoManager.add` method. The `event` parameter is type `EditorEvent` not `Event`. #TINY-12936 +- Chromium browsers would in certain situations scroll the editor unexpectedly when dragging content over the editor. #INT-3373 +- Support for setting component urls for custom elements. #TINY-13006 +- Reverted toolbar button width to `auto`. #TINY-13097 +- Addressed split buttons rendering narrower than in TinyMCE 7, ensuring consistent sizing across the toolbar. #TINY-13111 + +## 8.1.2 - 2025-09-18 + +### Fixed +- Some sidebar UI components were not rendering correctly. #TINY-12925 + +## 8.1.1 - 2025-09-17 + +### Fixed +- Reset rules for CSS were not applying correctly. #TINY-12920 + +## 8.1.0 - 2025-09-17 + +### Improved +- The editor `DomParser` API can now parse full documents when the API's `root_name` option is set to `#document`. #TINY-12589 +- Tooltips can be hovered over to keep open. #TINY-12053 +- Default avatars are now generated with a consistent color based on the user id. #TINY-12532 +- Reverted split button design change. #TINY-12593 +- `editor.getContent()` now includes `indent` and `entity_encoding` properties to control HTML formatting. #TINY-12786 + +### Deprecated +- Deprecated `content_css_cors` config option. #TINY-12578 + +### Fixed +- Clicking on a non selectable element when the selection is off screen no longer scrolls to the selection. #TINY-12245 +- Using CMD+backspace would not preserve inline formatting. #TINY-12071 +- Navigating between elements with `contenteditable="true"` was not possible on Firefox using the keyboard. #TINY-12459 +- NVDA would announce `iframe_aria_text` multiple times. #TINY-11296 +- Cursor movement did not operate correctly after a `figure` was selected. #TINY-12458 +- Links inserted with `&` encoding are now decoded to `&` before inserting. #TINY-12504 +- Attribute `aria-errormessage` was incorrectly added to url input fields by default. #TINY-12037 +- Splitting list items by pressing enter did not move the cursor due to an error in the browser console. #TINY-12830 + +## 8.0.2 - 2025-08-14 + +### Fixed +- Reverted split button design change. #TINY-12593 + +## 8.0.1 - 2025-07-28 + +### Fixed +- Updated missing changelogs. #TINY-12581 + +## 8.0.0 - 2025-07-23 + +### Added +- New `pageUid` property on the `tinymce` global instance. #TINY-12021 +- New `editorUid` property on editor instances. #TINY-12021 +- New `UserLookup` API to provide consistent user management and fetching/caching user information across TinyMCE plugins. #TINY-11974 +- New toolbar icons for suggested edits plugin. #TINY-12070 +- New `crossorigin` option that sets the `crossorigin` attribute on scripts loaded by the editor. #TINY-12228 +- New `allow_html_in_comments` option to allow HTML like contents inside comment data. #TINY-12220 +- New `list_max_depth` option that limits the maximum list indent depth. #TINY-11937 +- Support for TinyMCE 8 license keys and license key manager. #TINY-12001 + +### Improved +- Focus is now restored to a dialog after closing an alert, confirmation or another dialog. #TINY-12038 +- Resize handles are more accessible with `role` and `aria-valuetext` attributes. #TINY-11421 +- Toolbar drawer now closes when the editor loses focus. #TINY-12125 +- The `translate` API now automatically replaces three dots in a row with an ellipsis character. #TINY-12155 +- Tooltips can now be closed by pressing the escape key. #TINY-12054 +- Instructions on how to navigate the color swatch, image select and insert table widget are now announced by the screen readers. #TINY-12189 +- When `editor.resetContent()` is used, the resulting `SetContent` event now has the `initial` flag set in the event arguments. #TINY-12146 +- Updated Image plugin decorative image check to align with accessibility standard #TINY-12545 + +### Changed +- DomParser no longer tries to fix some nodes when parsed with a context. #TINY-11927 +- Split buttons are now rendered as separate action and chevron buttons. #TINY-8665 +- Moved essential parts of the `lists` plugin into core. #TINY-12121 +- Cut action now uses the editor delete implementation instead of the native `execCommand('Delete')` function. #TINY-12171 +- Comments with HTML like content, attributes with HTML like values, elements with HTML Comment like textContent are no longer retained while content sanitization is active. #TINY-12056 +- Added space to promotion message for ease of reading. #TINY-12271 + +### Deprecated +- Deprecated `skipFocus` option for ToggleToolbarDrawer command. To skip focus use `skip_focus` option. #TINY-12044 +- Deprecated 'editor.selection.setContent' method. #TINY-11692 + +### Removed +- Removed undocumented `documentBaseUrl` property from `Editor` instances. `documentBaseURI` is the supported property. #TINY-12182 + +### Fixed +- Long tooltips could overflow narrow browser windows. #TINY-11884 +- Pressing Tab to create a new row in tables with a non-editable final row would freeze the editor. #TINY-12018 +- Fixed an issue where the context form API `onSetup` was referencing the incorrect element. #TINY-11912 +- Attempting to add a newline directly after a block element such as an image would cause an error. #TINY-12045 +- It wasn't possible to navigate out of a `figcaption` using the left and right arrow keys in Firefox. #TINY-11982 +- Nested font sizes were causing too much spacing between lines. #TINY-12073 +- New list item was not inserted correctly when existing list item had a block element inside. #TINY-12102 +- Deleting a whole element would sometimes replace the tag name of adjacent content. #TINY-11868 +- HTML schema did not treat `colgroup` or `col` elements as block elements. #TINY-12092 +- Inserting HTML fragments with invalid contents now retains more of the structure. #TINY-11927 +- The `contextform` subtoolbar is no longer dismissed when using the toolbar back button in inline editors. #TINY-12118 +- Tabbing when a `figure` was selected didn't move the selection on the `figcaption` correctly. #TINY-11753 +- Strikethrough format could be added outside font size format, which renders incorrectly in some browsers. #TINY-12004 +- Using arrow navigation between buttons when a button had the mouse over could stop the navigation. #TINY-12163 +- Codesample dialog would not disable spellcheck as expected. #TINY-12120 +- Cutting a whole HTML element would add an empty paragraph. #TINY-12171 +- Added better support for template elements. #TINY-12157 +- Tooltips no longer show above editor views. #TINY-12289 +- `onboarding` plugin overlay now shows above popups. #TINY-12522 + +## 7.9.1 - 2025-05-29 + +### Improved +- Update `Notices` file and minified notices. #TINY-12091 + +## 7.9.0 - 2025-05-15 + +### Added +- Added new `disc` style option for unordered lists. #TINY-12015 + +### Improved +- The resize cursor now points in the correct direction for each resize mode. Patch contributed by daniloff200. ##GH-10189 +- If `style_formats` is empty, the button is now disabled. #TINY-12005 +- Inline dialog dropdowns reposition when the dialog is dragged or the window is scrolled. #TINY-11368 +- Bullet list icons were have been updated to better represent the default styles. #TINY-12014 + +### Changed +- The ContextFormSizeInput lock button is now centered instead of aligned to the end. #TINY-11916 +- Changed the default value of `advlist_bullet_styles` option to `default,disc,circle,square`. #TINY-12083 + +### Fixed +- Autolink no longer overrides already existing links when autolinking. #TINY-11836 +- Removed the deprecated CSS media selector `-ms-high-contrast`. #TINY-11876 +- The `mceInsertContent` command no longer deletes the parent block element when an anchor is selected. #TINY-11953 +- Table resizers are now visible when inline editor has a z-index property. #TINY-11981 +- Tabbing inside a `figcaption` element no longer displays two text insertion carets. #TINY-11997 +- Pressing Enter before a floating image no longer duplicates the image. #TINY-11676 +- Editor did not scroll into viewport on receiving focus on Chrome and Safari. #TINY-12017 +- Select UI elements was not properly styled on Chrome version 136. #TINY-12131 + +## 7.8.0 - 2025-04-09 + +### Added +- New subtoolbar support for context toolbars. #TINY-11748 +- New `extended_mathml_attributes` and `extended_mathml_elements` options. #TINY-11756 +- New `onboarding` option. #TINY-11931 + +### Improved +- Focus outline was misaligned with comment card border on saving an edit. #TINY-11329 +- The `editor.selection.scrollIntoView()` method now pads the target scroll area with a small margin, ensuring content doesn't sit at the very edge of the viewport. #TINY-11786 + +### Changed +- Changed promotional text and link. #TINY-11905 + +### Fixed +- Setting editor height to a `pt` or `em` value was ignoring min/max height settings. #TINY-11108 + +## 7.7.2 - 2025-03-19 + +### Fixed +- Error was thrown when pressing tab in the last cell of a non-editable table. #TINY-11797 +- Error was thrown when trying to use the context form API after a component was detached. #TINY-11781 +- Deleting an empty block within an
  • element would move cursor to the end of the
  • . #TINY-11763 +- Deleting an empty block that was between two lists would throw an Error when all three elements were nested inside a list. #TINY-11763 + +## 7.7.1 - 2025-03-05 + +### Fixed +- Skin UI content CSS was truncated when bundling, causing CSS styles to be missing. #TINY-11875 +- Context forms used to disappear if their input was disabled in the `onSetup` API. #TINY-11890 + +## 7.7.0 - 2025-02-20 + +### Added +- `link_attributes_postprocess` option that allows overriding attributes of a link that would be inserted through the link dialog. #TINY-11707 + +### Improved +- Improved visual indication of keyboard focus in annotations that contain an image. #TINY-11596 +- The type now defaults to `info` when `editor.notificationManager.open()` is used without a specified type or with an invalid one. #TINY-11661 + +### Changed +- Updated the `link` plugin behavior to move the cursor outside of the link when inserted or edited via the UI. Patch contributed by Philipp91. #GH-9998 + +### Fixed +- Keyboard navigation for size inputs in context forms. #TINY-11394 +- Keyboard navigation for context form sliders. #TINY-11482 +- The `insertContent` API was not replacing selected non-editable elements correctly. #TINY-11714 +- Context toolbar inputs had incorrect margins. #TINY-11624 +- Iframe aria text no longer suggests opening the help dialog when the help plugin is not enabled. #TINY-11672 +- Preview dialog no longer opens anchor links in a new tab. #TINY-11740 +- The `float` property was not properly removed on the image when converting a image into a captioned image. #TINY-11670 +- Expanding selection to word didn't work inside inline editing host elements. #TINY-11304 +- The `semantics` element in MathML was not properly retained when `annotation` elements were allowed. #TINY-11755 +- It was possible to tab to a toolbar group that had all children disabled. #TINY-11665 +- Keyboard navigation would get stuck on the 'more' toolbar button. #TINY-11762 +- Toolbar groups had both a `title` attribute and a custom tooltip, causing overlapping tooltips #TINY-11768 +- Toolbar text field did not render focus correctly. #TINY-11658 + +## 7.6.1 - 2025-01-22 + +### Fixed +- Text input was prevented in form elements in the contents of the editor. #TINY-11446 +- Opening a notification when the toolbar is positioned at the bottom of the editor threw an error. #TINY-11498 +- Table resize bars were not properly aligned for inline editors inside scrollable containers. #TINY-11215 + +## 7.6.0 - 2024-12-11 + +### Added +- It is now possible to create labeled groups in context toolbars. #TINY-11095 +- New `contextsliderform` and `contextsizeinput` context form types. #TINY-11342 +- New `back` function in `ContextFormApi` to go back to the previous toolbar. #TINY-11344 +- New `QuickbarInsertImage` command that is executed by the `quickimage` button. #TINY-11399 +- New `onSetup` function to the context form API. #TINY-11494 +- New `placeholder` to the context form input field API. #TINY-11459 +- New `disabled` option to restore the previous `readonly` mode behavior, allowing the editor to be displayed in a disabled state. #TINY-11488 + +### Improved +- Base64 data was not properly decoded due to unhandled URL-encoded characters. #TINY-9548 +- The `latin` list style type is now recognized as an alias for the `alpha` list style type. #TINY-11515 + +### Fixed +- Image selection was removed when calling `editor.nodeChanged()` while having focus inside the editor UI. #TINY-11437 +- Tooltip would not show for group toolbar button. #TINY-11391 +- Changing the table row type when a `contenteditable=false` cell was selected would not work as expected. #TINY-11383 +- The `samp` format was being applied as a `block` level format, instead of an `inline` format. #TINY-11390 +- Removed title attribute from dialog tree elements as they already have a tooltip. #TINY-11470 +- Fixed CSS bundling for skin UI content CSS. #TINY-11558 +- Fixed incorrect resource keys for CSS bundling JS files. #TINY-11558 + +## 7.5.0 - 2024-11-06 + +### Added +- Added support for using raw CSS in the list of possible colours, using the `color_map_raw` property. #GH-9788 + +### Improved +- Improved color picker aria support. #TINY-11291 + +### Fixed +- Autocompleter would not activate after applying an inline format like font size in some cases. #TINY-11273 +- The `toolbar-sticky-offset` would still be applied after entering fullscreen mode. #TINY-11137 +- Text and background color toolbar buttons would not be fully greyed out in readonly mode. #TINY-11313 +- Closing a nested modal dialog would lose focus from the editor. #TINY-11153 +- Inability to type '{' character on German keyboard layouts. #TINY-11395 + +## 7.4.1 - 2024-10-10 + +### Fixed +- Invalid HTML elements within SVG elements were not removed. #TINY-11332 + +## 7.4.0 - 2024-10-09 + +### Added +- New `context` property for all ui components. This allows buttons and menu items to be enabled or disabled based on whether their context matches a given predicate; status updates are checked on `init`, `NodeChange`, and `SwitchMode` events. #TINY-11211 +- Tree component now allows the addition of a custom icon. #TINY-11131 +- Added focus function to view button api. #TINY-11122 +- New option `allow_mathml_annotation_encodings` to opt-in to keep math annotations with specific encodings. #TINY-11166 +- Added global `color-active` LESS variable for use in editor skins. #TINY-11266 + +### Improved +- In read-only mode the editor now allows normal cursor movement and block element selection, including video playback. #TINY-11264 +- Pasting a table now places the cursor after the table instead of into the last cell. #TINY-11082 +- Dialog list dropdown menus now close when the browser window resizes. #TINY-11123 + +### Fixed +- Mouse hover on partially visible dialog collection elements no longer scrolls. #TINY-9915 +- Caret would unexpectedly shift to the non-editable table row above when pressing Enter. #TINY-11077 +- Deleting a selection in a list element would sometimes prevent the `input` event from being dispatched. #TINY-11100 +- Placing the cursor after a table with a br after it would misplace added newlines before the table instead of after. #TINY-11110 +- Sidebar could not be toggled until the skin was loaded. #TINY-11155 +- The image dialog lost focus after closing an image upload error alert. #TINY-11159 +- Copying tables to the clipboard did not correctly separate cells and rows for the "text/plain" MIME type. #TINY-10847 +- The editor resize handle was incorrectly rendered when all components were removed from the status bar. #TINY-11257 + +## 7.3.0 - 2024-08-07 + +### Added +- Colorpicker number input fields now show an error tooltip and error icon when invalid text has been entered. #TINY-10799 +- New `format-code` icon. #TINY-11018 + +### Improved +- When a full document was loaded as editor content the head elements were added to the body. #TINY-11053 + +### Fixed +- Unnecessary nbsp entities were inserted when typing at the edges of inline elements. #TINY-10854 +- Fixed JavaScript error when inserting a table using the context menu by adjusting the event order in `renderInsertTableMenuItem`. #TINY-6887 +- Notifications didn't position and resize properly when resizing the editor or toggling views. #TINY-10894 +- The pattern commands would execute even if the command was not enabled. #TINY-10994 +- Split button popups were incorrectly positioned when switching to fullscreen mode if the editor was inside a scrollable container. #TINY-10973 +- Sequential html comments would in some cases generate unwanted elements. #TINY-10955 +- The listbox component had a fixed width and was not a responsive ui element. #TINY-10884 +- Prevent default mousedown on toolbar buttons was causing misplaced focus bugs. #TINY-10638 +- Attempting to use focus commands on an editor where the cursor had last been in certain contentEditable="true" elements would fail. #TINY-11085 +- Colorpicker's hex-based input field showed the wrong validation error message. #TINY-11115 + +## 7.2.1 - 2024-07-03 + +### Fixed +- Text content could move unexpectedly when deleting a paragraph. #TINY-10590 +- Cursor would shift to the start of the editor body when focus was shifted to a noneditable cell of a table. #TINY-10127 +- Long translations of the bottom help text would cause minor graphical issues. #TINY-10961 +- Open Link button was disabled when selection partially covered a link or when multiple links were selected. #TINY-11009 + +## 7.2.0 - 2024-06-19 + +### Added +- Added `options.debug` API that logs the initial raw editor options to console. #TINY-10605 +- Added `referrerpolicy` as a valid attribute for an iframe element. #TINY-10374 +- New `onInit` and `stretched` properties to the `HtmlPanel` dialog component. #TINY-10900 +- Added support for querying the state of the `mceTogglePlainTextPaste` command. #TINY-10938 +- Added `for` option to dialog label components to improve accessibility. The value must be another component on the same dialog. #TINY-10971 + +### Improved +- Dialog slider components now emit an onChange event when using arrow keys. #TINY-10428 +- Accessibility for element path buttons, added tooltip to describe the button and removed incorrect `aria-level` attribute. #TINY-10891 +- Improve merging of inserted inline elements by removing nodes with redundant inheritable styles. #TINY-10869 +- Improved Find & Replace dialog accessibility by changing placeholders to labels. #TINY-10871 + +### Changed +- Replaced tiny branding logo with `Build with TinyMCE` text and logo. #TINY-11001 + +### Fixed +- Deleting in a `div` with preceeding `br` elements would sometimes throw errors. #TINY-10840 +- `autoresize_bottom_margin` was not reliably applied in some situations. #TINY-10793 +- Fixed cases where adding a newline around a br, table or img would not move the cursor to a new line. #TINY-10384 +- Focusing on `contenteditable="true"` element when using `editable_root: false` and inline mode causing selection to be shifted. #TINY-10820 +- Corrected the `role` attribute on listbox dialog components to `combobox` when there are no nested menu items. #TINY-10807 +- HTML entities that were double decoded in `noscript` elements caused an XSS vulnerability. #TINY-11019 +- It was possible to inject XSS HTML that was not matching the regexp when using the `noneditable_regexp` option. #TINY-11022 + +## 7.1.2 - 2024-06-05 + +### Fixed +- CSS color values set to `transparent` were incorrectly converted to '#000000`. #TINY-10916 + +## 7.1.1 - 2024-05-22 + +### Fixed +- Insert/Edit image dialog lost focus after the image upload completed. #TINY-10885 +- Deleting into a list from a paragraph that has an `img` tag could cause extra inline styles to be added. #TINY-10892 +- Resolved an issue where emojis configured with the `emojiimages` database were not loading correctly due to a broken CDN. #TINY-10878 +- Iframes in dialogs were not rendering rounded borders correctly. #TINY-10901 +- Autocompleter possible values are no longer capped at a length of 10. #TINY-10942 + +## 7.1.0 - 2024-05-08 + +### Added +- Parser support for math elements. #TINY-10809 +- New `math-equation` icon. #TINY-10804 + +### Improved +- Included `itemprop`, `itemscope` and `itemtype` as valid HTML5 attributes in the core schema. #TINY-9932 +- Notification accessibility improvements: added tooltips, keyboard navigation and shortcut to focus on notifications. #TINY-6925 +- Removed `aria-pressed` from the `More` button in sliding toolbar mode and replaced it with `aria-expanded`. #TINY-10795 +- The editor UI now renders correctly in Windows High Contrast Mode. #TINY-10781 + +### Fixed +- Backspacing in certain html setups resulted in data moving around unexpectedly. #TINY-10590 +- Dialog title markup changed to use an `h1` element instead of `div`. #TINY-10800 +- Dialog title was not announced in macOS VoiceOver, dialogs now use `aria-label` instead of `aria-labelledby` on macOS. #TINY-10808 +- Theme loader did not respect the suffix when it was loading skin CSS files. #TINY-10602 +- Custom block elements with colon characters would throw errors. #TINY-10813 +- Tab navigation in views didn't work. #TINY-10780 +- Video and audio elements could not be played on Safari. #TINY-10774 +- `ToggleToolbarDrawer` command did not toggle the toolbar in `sliding` mode when `{skipFocus: true}` parameter was passed. #TINY-10726 +- The buttons in the custom view header were clipped on when overflowing. #TINY-10741 +- In the custom view, the scrollbar of the container was not visible if its height was greater than the editor. #TINY-10741 +- Fixed accessibility issue by removing duplicate `role="menu"` attribute from color swatches. #TINY-10806 +- Fullscreen mode now prevents focus from leaving the editor. #TINY-10597 +- Open link context menu action did not work with selection surrounding a link. #TINY-10391 +- Styles were not retained when toggling a list on and off. #TINY-10837 +- Caret and placeholder text were invisible in Windows High Contrast Mode. #TINY-9811 +- Firefox did not announce the iframe title when `iframe_aria_text` was set. #TINY-10718 +- Notification width was not constrained to the width of the editor. #TINY-10886 +- Open link context menu action was not enabled for links on images. #TINY-10391 + +## 7.0.1 - 2024-04-10 + +### Fixed +- Toggle list behavior generated wrong html when the `forced_root_block` option was set to `div`. #TINY-10488 +- Tapping inside a composed text on Firefox Android would not close the autocompleter. #TINY-10715 +- An inline editor toolbar now behaves correctly in horizontally scrolled containers. #TINY-10684 +- Tooltips unintended shrinking and incorrectly positioned when shown in horizontally scrollable container. #TINY-10797 +- The status bar was invisible when the editor's height is short. #TINY-10705 + +## 7.0.0 - 2024-03-20 + +### Added +- New `license_key` option that must be set to `gpl` or a valid license key. #TINY-10681 +- New custom tooltip functionality, tooltip will be shown when hovering with a mouse or with keyboard focus. #TINY-9275 +- New `sandbox_iframes_exclusions` option that holds a list of URL host names to be excluded from iframe sandboxing when `sandbox_iframes` is set to `true`. #TINY-10350 +- Added 'getAllEmojis' api function to the emoticons plugin. #TINY-10572 +- Element preset support for the `valid_children` option and Schema.addValidChildren API. #TINY-9979 +- A new `trigger` property for block text pattern configurations, allowing pattern activation with either Space or Enter keys. #TINY-10324 +- onFocus callback for CustomEditor dialog component. #TINY-10596 +- icons for the import from Word, export to Word and export to PDF premium plugins. #TINY-10612 +- `data` is now a valid element in the Schema. #TINY-10611 +- More advanced schema config for custom elements. #TINY-9980 +- Custom tooltip for autocompleter, now visible on both mouse hover and keyboard focus, except single column cases. #TINY-9638 + +### Improved +- Included keyboard shortcut in custom tooltip for `ToolbarButton` and `ToolbarToggleButton`. #TINY-10487 +- Improved showing which element has focus for keyboard navigation. #TINY-9176 +- Custom tooltips will now show for items in `collection` which is rendered inside a dialog, on mouse hover and keyboard focus. #TINY-9637 +- Autocompleter will now work with IMEs. #TINY-10637 +- Make table ghost element better reflect height changes when resizing. #TINY-10658 + +### Changed +- TinyMCE is now licensed GPL Version 2 or later. #TINY-10578 +- `convert_unsafe_embeds` editor option is now defaulted to `true`. #TINY-10351 +- `sandbox_iframes` editor option is now defaulted to `true`. #TINY-10350 +- The DOMUtils.isEmpty API function has been modified to consider nodes containing only comments as empty. #TINY-10459 +- The `highlight_on_focus` option now defaults to true, adding a focus outline to every editor. #TINY-10574 +- Delay before the tooltip to show up, from 800ms to 300ms. #TINY-10475 +- Now `tox-view__pane` has `position: relative` instead of `static`. #TINY-10561 +- Update outbound link for statusbar Tiny logo #TINY-10494 +- Remove the height field from the `table` plugin cell dialog. The `table` plugin row dialog now controls the row height by setting the height on the `tr` element, not the `td` elements. #TINY-10617 +- Change table height resizing handling to remove heights from `td`/`th` elements and only apply to `tr` elements. #TINY-10589 +- Removed incorrect `aria-placeholder` attribute from editor body when `placeholder` option is set. #TINY-10452 +- The `tooltip` property for dialog's footer `togglebutton` is now optional. #TINY-10672 +- Changed the `media_url_resolver` option to use promises. #TINY-9154 +- `Styles` bespoke toolbar button fallback changed to `Formats` if `Paragraph` is not configured in `style_formats` option. #TINY-10603 +- Updated deprecation/removed console message. #TINY-10694 + +### Removed +- Deprecated `force_hex_color` option, with the default now being all colors are forced to hex format as lower case. #TINY-10436 +- Deprecated `remove_trailing_brs` option from DomParser. #TINY-10454 +- `title` attribute on buttons with visible label. #TINY-10453 +- `InsertOrderedList` and `InsertUnorderedList` commands from core, these now only exist in the `lists` plugin. #TINY-10644 +- `closeButton` from the notification API, close buttons in notifications are now required. #TINY-10646 +- The autocompleter `ch` configuration property has been removed. Use the `trigger` property instead. #TINY-8929 +- Deprecated `template` plugin. #TINY-10654 + +### Fixed +- When deleting the last row in a table, the cursor would jump to the first cell (top left), instead of moving to the next adjacent cell in some cases. #TINY-6309 +- Heading formatting would be partially applied to the content within the `summary` element when the caret was positioned between words. #TINY-10312 +- Moving focus to the outside of the editor after having clicked a menu would not fire a `blur` event as expected. #TINY-10310 +- Autocomplete would sometimes cause corrupt data when starting during text composition. #TINY-10317 +- Inline mode with persisted toolbar would show regardless of the skin being loaded, causing css issues. #TINY-10482 +- Table classes couldn't be removed via setting an empty value in `table_class_list`. Also fixed being forced to pick the first class option. #TINY-6653 +- Directly right clicking on a ol's li in FireFox didn't enable the button `List Properties...` in the context menu. #TINY-10490 +- The `link_default_target` option wasn't considered when inserting a link via `quicklink` toolbar. #TINY-10439 +- When inline editor toolbar wrapped to multiple lines the top wasn't always calculated correctly. #TINY-10580 +- Removed manually dispatching dragend event on drop in Firefox. #TINY-10389 +- Slovenian help dialog content had a dot in the wrong place. #TINY-10601 +- Pressing Backspace at the start of an empty `summary` element within a `details` element nested in a list item no longer removes the `summary` element. #TINY-10303 +- The toolbar width was miscalculated for the inline editor positioned inside a scrollable container. #TINY-10581 +- Fixed incorrect object processor for `event_root` option. #TINY-10433 +- Adding newline after using `selection.setContent` to insert a block element would throw an unhandled exception. #TINY-10560 +- Floating toolbar buttons in inline editor incorrectly wrapped into multiple rows on window resizing or zooming. #TINY-10570 +- When setting table border width and `table_style_by_css` is true, only the border attribute is set to 0 and border-width styling is no longer used. #TINY-10308 +- Clicking to the left or right of a non-editable div in Firefox would show two cursors. #TINY-10314 + +## 6.8.3 - 2024-02-08 + +### Changed +- Update outbound TinyMCE website links. #TINY-10491 + +### Fixed +- The floating toolbar would not be fully visible when the editor was placed inside a scrollable container. #TINY-10335 +- ShadowDOM skin was not loaded properly when used with js bundling feature. #TINY-10451 + +## 6.8.2 - 2023-12-11 + +### Fixed +- Bespoke select toolbar buttons including `fontfamily`, `fontsize`, `blocks`, and `styles` incorrectly used plural words in their accessible names. #TINY-10426 +- The `align` bespoke select toolbar button had an accessible name that was misleading and grammatically incorrect in certain cases. #TINY-10435 +- Accessible names of bespoke select toolbar buttons including `align`, `fontfamily`, `fontsize`, `blocks`, and `styles` were incorrectly translated. #TINY-10426 #TINY-10435 +- Clicking inside table cells with heavily nested content could cause the browser to hang. #TINY-10380 +- Toggling a list that contains an LI element having another list as its first child would remove the remaining content within that LI element. #TINY-10414 + +## 6.8.1 - 2023-11-29 + +### Improved +- Colorpicker now includes the Brightness/Saturation selector and hue slider in the keyboard navigable items. #TINY-9287 + +### Fixed +- Translation syntax for announcement text in the table grid was incorrectly formatted. #TINY-10141 +- The functions `schema.isWrapper` and `schema.isInline` did not exclude node names that started with `#` which should not be considered as elements. #TINY-10385 + +## 6.8.0 - 2023-11-22 + +### Added +- CSS files are now also generated as separate JS files to improve bundling of all resources. #TINY-10352 +- Added new `StylesheetLoader.loadRawCss` API that can be used to load CSS into a style element. #TINY-10352 +- Added new `StylesheetLoader.unloadRawCss` API that can be used to unload CSS that was loaded into a style element. #TINY-10352 +- Added `force_hex_color` editor option. Option `'always'` converts all RGB & RGBA colours to hex, `'rgb_only'` will only convert RGB and *not* RGBA colours to hex, `'off'` won't convert any colours to hex. #TINY-9819 +- Added `default_font_stack` editor option that makes it possible to define what is considered a system font stack. #TINY-10290 +- New `sandbox_iframes` option that controls whether iframe elements will be added a `sandbox=""` attribute to mitigate malicious intent. #TINY-10348 +- New `convert_unsafe_embeds` option that controls whether `` and `` elements will be converted to more restrictive alternatives, namely `` for image MIME types, `