]> _ Git - fluidbook-toolbox.git/commitdiff
wait #7239 @3
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 20 Dec 2024 11:43:40 +0000 (12:43 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 20 Dec 2024 11:43:40 +0000 (12:43 +0100)
.docker/images/php-alpha/Dockerfile
.docker/images/php-dev/Dockerfile
.docker/images/php/Dockerfile
.env.prod
app/Fluidbook/Compiler/Compiler.php
app/Http/Controllers/Admin/Operations/Tools/StaticSiteUploader.php
app/Http/Controllers/Admin/Operations/Tools/WebflowOperation.php
app/Models/ToolWebflow.php
app/Services/Webflow.php
composer.lock
resources/yt-dlp/cookies.txt [new file with mode: 0644]

index c16d7e286073bcbd68d66101bca4f6e9910080d6..69e9c7e3441683501677a09486a97d8bd5b08685 100644 (file)
@@ -83,7 +83,7 @@ RUN cd /root;wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.
 RUN cd /root;wget https://github.com/RazrFalcon/svgcleaner/releases/download/v0.9.5/svgcleaner_linux_x86_64_0.9.5.tar.gz; tar xvzf svgcleaner_linux_x86_64_0.9.5.tar.gz;mv svgcleaner /usr/local/bin
 RUN cd /root;wget https://github.com/astraw/svg_stack/archive/refs/tags/0.1.0.tar.gz; tar xvzf 0.1.0.tar.gz;mv svg_stack-0.1.0 /usr/local/svg_stack
 
-RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
+RUN curl -L https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
 
 RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
 
index c16d7e286073bcbd68d66101bca4f6e9910080d6..69e9c7e3441683501677a09486a97d8bd5b08685 100644 (file)
@@ -83,7 +83,7 @@ RUN cd /root;wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.
 RUN cd /root;wget https://github.com/RazrFalcon/svgcleaner/releases/download/v0.9.5/svgcleaner_linux_x86_64_0.9.5.tar.gz; tar xvzf svgcleaner_linux_x86_64_0.9.5.tar.gz;mv svgcleaner /usr/local/bin
 RUN cd /root;wget https://github.com/astraw/svg_stack/archive/refs/tags/0.1.0.tar.gz; tar xvzf 0.1.0.tar.gz;mv svg_stack-0.1.0 /usr/local/svg_stack
 
-RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
+RUN curl -L https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
 
 RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
 
index c16d7e286073bcbd68d66101bca4f6e9910080d6..69e9c7e3441683501677a09486a97d8bd5b08685 100644 (file)
@@ -83,7 +83,7 @@ RUN cd /root;wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.
 RUN cd /root;wget https://github.com/RazrFalcon/svgcleaner/releases/download/v0.9.5/svgcleaner_linux_x86_64_0.9.5.tar.gz; tar xvzf svgcleaner_linux_x86_64_0.9.5.tar.gz;mv svgcleaner /usr/local/bin
 RUN cd /root;wget https://github.com/astraw/svg_stack/archive/refs/tags/0.1.0.tar.gz; tar xvzf 0.1.0.tar.gz;mv svg_stack-0.1.0 /usr/local/svg_stack
 
-RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
+RUN curl -L https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp
 
 RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
 
index 7b624f167faa87e5b3d6599314abc7cea4a632b8..9f1e45ffabee5a99c9acd8a8190c621081e4aea6 100644 (file)
--- a/.env.prod
+++ b/.env.prod
@@ -73,5 +73,10 @@ TIMEZONE=Europe/Paris
 VAPID_PUBLIC_KEY=BNtDSMlXpG39rcsC-nwW_wfsVpfnpzGpM6hW3YpPFt1xERu7ux8Ve1BH3nYVE-Y-3VCO_n_WTHk8X4ak6j6gpRA
 VAPID_PRIVATE_KEY=GYvIMn542hv5XERqkz61aC923Lm76luB5O33jeayjD8
 
-WEBFLOW_CLIENT_ID=34e42c1b564bafed681ff256b38525dcdcf9d3b0e8ceff7b052406b992ad9e09
-WEBFLOW_CLIENT_SECRET=3884a44cc09f576428589032182c6b36c6a478e3b477f44749b2a9a7dfbad8db
+# Cube
+WEBFLOW_0_CLIENT_ID=34e42c1b564bafed681ff256b38525dcdcf9d3b0e8ceff7b052406b992ad9e09
+WEBFLOW_0_CLIENT_SECRET=3884a44cc09f576428589032182c6b36c6a478e3b477f44749b2a9a7dfbad8db
+
+#Ludo
+WEBFLOW_1_CLIENT_ID=e9e0587367d05f16e56fe534b32740e07376d2e28ea12d747e85cf9e82185f01
+WEBFLOW_1_CLIENT_SECRET=aa3168287f8b125844833a2a91f6b3ab8e0384cd0e5ea788e0e3ac1cafd8128b
index 754f04e280fee5993fbed0f85f36f5aaa798543c..8ed2e85d3b471df2c9989931cafb907e65b306ef 100644 (file)
@@ -34,6 +34,7 @@ use Cubist\Util\Graphics\Color;
 use Cubist\Util\Graphics\Image;
 use Cubist\Util\PHP;
 use Cubist\Util\Text;
+use Cubist\Util\YoutubeDL;
 use Cubist\Util\Zip;
 use DOMDocument;
 use DOMElement;
@@ -303,6 +304,7 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError
     function __construct(FluidbookPublication $book, $scormVariant = false, $phonegap = false, $phonegapVersion = 'latest', $dir = null, $standalone = false, $appcache = false, $home = false, FluidbookTheme $theme = null, $hybrid = false, Command $command = null)
     {
         ExcelToArray::setCache($book->protected_path('fluidbookpublication/cache/exceltoarray'));
+        YoutubeDL::setCookiesFile(resource_path('yt-dlp/cookies.txt'), 'firefox');
 
         parent::__construct();
 
index 3264cb0a7171a34f5a13abaa75b0b86f91043c82..826453596550d08fd2cf27f1f18ab5210bda28b8 100644 (file)
@@ -17,19 +17,27 @@ trait StaticSiteUploader
     {
         return [
             'cubedesigners-v8' => ['id' => 'cubedesigners-v8',
-                'label' => __('Cubedesigners V8'),
+                'label' => 'Cubedesigners V8',
                 'server' => 'cloudatlas.cubedesigners.com',
                 'user' => 'staticupload',
-                'password' => '',
+                'password' => 'tV8q34Ytda6svudeamMM',
                 'path' => '/home/staticupload/cubedesigners-v8',
                 'url' => 'https://v8.cubedesigners.com/'],
             'caumes-armatures' => ['id' => 'caumes-armatures',
-                'label' => __('Caumes Armatures'),
+                'label' => 'Caumes Armatures',
                 'server' => 'ssh.cluster006.ovh.net',
                 'user' => 'caumesar',
                 'password' => 'e5I4Gtt7hx',
                 'path' => '/home/caumesar/',
-                'url' => 'https://www.caumesarmatures.fr']
+                'url' => 'https://www.caumesarmatures.fr'],
+            'delaplantealetoile' => ['id' => 'delaplantealetoile',
+                'label' => 'De la plante à l\'étoile',
+                'server' => 'cloudatlas.cubedesigners.com',
+                'user' => 'staticupload',
+                'password' => 'tV8q34Ytda6svudeamMM',
+                'path' => '/home/staticupload/delaplantealetoile',
+                'url' => 'https://www.delaplantealetoile.com//'],
+
         ];
     }
 
@@ -82,7 +90,7 @@ trait StaticSiteUploader
             $site = static::getSites()[$site];
         }
 
-        $transfer = SFTP::getInstance($site['server'], $site['user'], $site['password'], $site['path'], $site['port'] ?? 22);
+        $transfer = SFTP::getInstance($site['server'], $site['user'], $site['password'], $site['path'], $site['port'] ?? 22, false);
         $transfer->copy($from, $path, true);
     }
 }
index 2d77b38952383ae2e3c3573173714fa9abaa150b..85ada3536667e27241cfe65ad63154fd3dca8fef 100644 (file)
@@ -31,7 +31,7 @@ trait WebflowOperation
                 abort(401);
             }
             $wf = ToolWebflow::withoutGlobalScopes()->find($id);
-            Webflow::setToken($wf->webflow_api_token);
+            $wf->initWebflowApiClient();
             return response()->json($wf->getEditableData());
         });
 
index 0fdc6b534e6a7c8656fc6790b00b212355a1d370..69441d89d4d6a69ddfec89fb5987ddc7059bd35f 100644 (file)
@@ -52,6 +52,7 @@ class ToolWebflow extends ToolboxTranslatableModel
 
         $this->addField('name', Text::class, __('Projet'), ['translatable' => false, 'column' => true, 'tab' => __('Paramètres')]);
         $this->addField('webflow', Text::class, __('URL du projet webflow'), ['translatable' => false, 'prefix' => 'https://', 'suffix' => '.webflow.io', 'column' => true, 'hint' => __('ex : :url', ['url' => 'https://projet.webflow.io']), 'tab' => __('Paramètres')]);
+        $this->addField('webflow_account', SelectFromArray::class, __('Compte Webflow'), ['translatable' => false, 'default' => 0, 'options' => [0 => 'Cubedesigners', 1 => 'Ludo'], 'tab' => __('Paramètres')]);
         $this->addField('webflow_api_token', Text::class, __('Token de l\'API Webflow'), ['translatable' => false, 'tab' => __('Paramètres')]);
         $this->addField('webflow_api_login', LinkButton::class, __('Récupérer un token'), ['translatable' => false, 'when' => ["webflow_api_token" => ''], 'tab' => __('Paramètres'), 'value' => 'https://webflow.com/oauth/authorize?response_type=code&client_id=' . env('WEBFLOW_CLIENT_ID') . '&state=$id&scope=assets%3Aread%20assets%3Awrite%20authorized_user%3Aread%20cms%3Aread%20cms%3Awrite%20custom_code%3Aread%20custom_code%3Awrite%20forms%3Aread%20forms%3Awrite%20pages%3Aread%20pages%3Awrite%20sites%3Aread%20sites%3Awrite']);
         $this->addField('webflow_refresh_on_publish', Checkbox::class, __('Recharger tous les contenus lors de la publication sur Webflow'), ['default' => true, 'tab' => __('Paramètres')]);
@@ -158,12 +159,15 @@ class ToolWebflow extends ToolboxTranslatableModel
 
     protected function saveDataInWebflow()
     {
-        Webflow::setToken($this->webflow_api_token);
+        $this->initWebflowApiClient();
 
         $mainLocale = $this->getMainLocale();
         if (is_string($this->api)) {
             $api = json_decode($this->api, true);
         }
+        if(!isset($api) || null===$api){
+            return false;
+        }
         $seo = $this->getTranslations('seo');
         $images = $this->getTranslations('images');
         $locales = $this->getLocalesCodes();
@@ -349,6 +353,11 @@ class ToolWebflow extends ToolboxTranslatableModel
         stop_measure("Webflow refresh data from api");
     }
 
+    public function initWebflowApiClient(){
+        Webflow::setToken($this->webflow_api_token);
+        Webflow::setClientId(env('WEBFLOW_' . $this->webflow_account . '_CLIENT_ID'), env('WEBFLOW_' . $this->webflow_account . '_CLIENT_SECRET'));
+    }
+
     /**
      * @param $slow bool
      * @param $force bool
@@ -358,7 +367,7 @@ class ToolWebflow extends ToolboxTranslatableModel
     {
         start_measure('Webflow mirror');
 
-        Webflow::setToken($this->webflow_api_token);
+        $this->initWebflowApiClient();
 
         $tmp = Files::tmpdir(null, 'webflow_mirror');
 
@@ -488,14 +497,14 @@ class ToolWebflow extends ToolboxTranslatableModel
     RewriteBase /
     ';
 
-        if($this->force_https){
-            $htaccess.='
+        if ($this->force_https) {
+            $htaccess .= '
     RewriteCond %{HTTPS} off
     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=308,L]
     ';
         }
 
-        $htaccess.='
+        $htaccess .= '
     RewriteCond %{HTTP_HOST} !=' . $domain . '
        RewriteRule ^(.*)$ https://' . $domain . '/$1 [R=301,L]
 
@@ -690,7 +699,7 @@ class ToolWebflow extends ToolboxTranslatableModel
             return parent::onRetrieved();
         }
 
-        Webflow::setToken($this->webflow_api_token);
+        $this->initWebflowApiClient();
         $lock = $this->getLock();
         try {
             $locales = $this->locales_domains;
@@ -754,7 +763,7 @@ class ToolWebflow extends ToolboxTranslatableModel
 
     public function getEditableData($force = false)
     {
-        Webflow::setToken($this->webflow_api_token);
+        $this->initWebflowApiClient();
         return Webflow::getEditableData($this->webflow, $this->getMirrorPath(), $force);
     }
 
index 2800b8dfef3e9629e9d32ff777bd5efc6a634864..58af7dfecc45f8fb944444bd4d50aa9dd181615f 100644 (file)
@@ -19,6 +19,15 @@ class Webflow
     protected static $_allData = [];
     protected static $_editableData = [];
 
+    protected static $client_id = null;
+    protected static $client_secret = null;
+
+    public static function setClientId($client_id, $client_secret)
+    {
+        static::$client_id = $client_id;
+        static::$client_secret = $client_secret;
+    }
+
     public static function setToken($token)
     {
         self::$_token = $token;
@@ -34,8 +43,8 @@ class Webflow
         $response = Http::post('https://api.webflow.com/oauth/access_token',
             array_merge(
                 [
-                    'client_id' => env('WEBFLOW_CLIENT_ID'),
-                    'client_secret' => env('WEBFLOW_CLIENT_SECRET'),
+                    'client_id' => static::$client_id ?? env('WEBFLOW_CLIENT_ID'),
+                    'client_secret' => static::$client_secret ?? env('WEBFLOW_CLIENT_SECRET'),
                     'code' => $code,
                     'grant_type' => 'authorization_code',
 
index ed8a4971d76cfc8723b9e427fe3b88e12133b3cf..544a75697181b363daf860a89d2aab2cf5e39138 100644 (file)
         },
         {
             "name": "aws/aws-sdk-php",
-            "version": "3.334.1",
+            "version": "3.334.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/aws/aws-sdk-php.git",
-                "reference": "3938b3467f64a30fed7ee1762a6785f808a5ae4d"
+                "reference": "2b0be3aded849d3b7bb0b53ea3295c7cecdeeee7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3938b3467f64a30fed7ee1762a6785f808a5ae4d",
-                "reference": "3938b3467f64a30fed7ee1762a6785f808a5ae4d",
+                "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2b0be3aded849d3b7bb0b53ea3295c7cecdeeee7",
+                "reference": "2b0be3aded849d3b7bb0b53ea3295c7cecdeeee7",
                 "shasum": ""
             },
             "require": {
             "support": {
                 "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
                 "issues": "https://github.com/aws/aws-sdk-php/issues",
-                "source": "https://github.com/aws/aws-sdk-php/tree/3.334.1"
+                "source": "https://github.com/aws/aws-sdk-php/tree/3.334.6"
             },
-            "time": "2024-12-05T01:17:41+00:00"
+            "time": "2024-12-13T19:18:29+00:00"
         },
         {
             "name": "backpack/backupmanager",
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-master": "3.14-dev"
-                },
                 "laravel": {
-                    "providers": [
-                        "Barryvdh\\Debugbar\\ServiceProvider"
-                    ],
                     "aliases": {
                         "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar"
-                    }
+                    },
+                    "providers": [
+                        "Barryvdh\\Debugbar\\ServiceProvider"
+                    ]
+                },
+                "branch-alias": {
+                    "dev-master": "3.14-dev"
                 }
             },
             "autoload": {
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_util.git",
-                "reference": "b41d80eef5f2940fa0d170ba2c7f1d42c5ad1d1d"
+                "reference": "e7a5220ef0267b34c6794ce637a0f317f59c207b"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-a16dda.tar",
-                "reference": "b41d80eef5f2940fa0d170ba2c7f1d42c5ad1d1d",
-                "shasum": "4c0d05dccc5288a9b4935aa7f1f28f8b8c99c9ad"
+                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-9c2287.tar",
+                "reference": "e7a5220ef0267b34c6794ce637a0f317f59c207b",
+                "shasum": "0fdc0ba66fb5129c866e5d18233d72cd3c898e39"
             },
             "require": {
                 "cubist/net": "dev-master",
                 }
             ],
             "description": "Utilities class",
-            "time": "2024-11-13T18:12:58+00:00"
+            "time": "2024-12-16T14:41:27+00:00"
         },
         {
             "name": "cviebrock/eloquent-sluggable",
         },
         {
             "name": "doctrine/deprecations",
-            "version": "1.1.3",
+            "version": "1.1.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/deprecations.git",
-                "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
+                "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
-                "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9",
+                "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.1 || ^8.0"
             },
             "require-dev": {
-                "doctrine/coding-standard": "^9",
-                "phpstan/phpstan": "1.4.10 || 1.10.15",
-                "phpstan/phpstan-phpunit": "^1.0",
+                "doctrine/coding-standard": "^9 || ^12",
+                "phpstan/phpstan": "1.4.10 || 2.0.3",
+                "phpstan/phpstan-phpunit": "^1.0 || ^2",
                 "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
-                "psalm/plugin-phpunit": "0.18.4",
-                "psr/log": "^1 || ^2 || ^3",
-                "vimeo/psalm": "4.30.0 || 5.12.0"
+                "psr/log": "^1 || ^2 || ^3"
             },
             "suggest": {
                 "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
             "type": "library",
             "autoload": {
                 "psr-4": {
-                    "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+                    "Doctrine\\Deprecations\\": "src"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "homepage": "https://www.doctrine-project.org/",
             "support": {
                 "issues": "https://github.com/doctrine/deprecations/issues",
-                "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
+                "source": "https://github.com/doctrine/deprecations/tree/1.1.4"
             },
-            "time": "2024-01-30T19:34:25+00:00"
+            "time": "2024-12-07T21:18:45+00:00"
         },
         {
             "name": "doctrine/event-manager",
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/fluidbook_tools.git",
-                "reference": "e972a3b84871e8303497bfa07f70cb358387fdfe"
+                "reference": "d83448e998295ff432eabecece03cb29f5624e4d"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-6340b7.tar",
-                "reference": "e972a3b84871e8303497bfa07f70cb358387fdfe",
-                "shasum": "ae669300904602b1e63fc506b6abc54b90752fce"
+                "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-f65c1b.tar",
+                "reference": "d83448e998295ff432eabecece03cb29f5624e4d",
+                "shasum": "bd719aa721fb1c8b7966dea37e63b576889b7cd9"
             },
             "require": {
                 "barryvdh/laravel-debugbar": "*",
                 }
             ],
             "description": "Fluidbook Tools",
-            "time": "2024-12-05T17:19:15+00:00"
+            "time": "2024-12-11T18:07:06+00:00"
         },
         {
             "name": "fpdf/fpdf",
             "type": "library",
             "extra": {
                 "laravel": {
-                    "providers": [
-                        "Lavary\\Menu\\ServiceProvider"
-                    ],
                     "aliases": {
                         "Menu": "Lavary\\Menu\\Facade"
-                    }
+                    },
+                    "providers": [
+                        "Lavary\\Menu\\ServiceProvider"
+                    ]
                 }
             },
             "autoload": {
         },
         {
             "name": "league/commonmark",
-            "version": "2.5.3",
+            "version": "2.6.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/commonmark.git",
-                "reference": "b650144166dfa7703e62a22e493b853b58d874b0"
+                "reference": "d150f911e0079e90ae3c106734c93137c184f932"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0",
-                "reference": "b650144166dfa7703e62a22e493b853b58d874b0",
+                "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d150f911e0079e90ae3c106734c93137c184f932",
+                "reference": "d150f911e0079e90ae3c106734c93137c184f932",
                 "shasum": ""
             },
             "require": {
                 "phpstan/phpstan": "^1.8.2",
                 "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0",
                 "scrutinizer/ocular": "^1.8.1",
-                "symfony/finder": "^5.3 | ^6.0 || ^7.0",
-                "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0",
+                "symfony/finder": "^5.3 | ^6.0 | ^7.0",
+                "symfony/process": "^5.4 | ^6.0 | ^7.0",
+                "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0",
                 "unleashedtech/php-coding-standard": "^3.1.1",
                 "vimeo/psalm": "^4.24.0 || ^5.0.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "2.6-dev"
+                    "dev-main": "2.7-dev"
                 }
             },
             "autoload": {
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-16T11:46:16+00:00"
+            "time": "2024-12-07T15:34:16+00:00"
         },
         {
             "name": "league/config",
         },
         {
             "name": "league/csv",
-            "version": "9.18.0",
+            "version": "9.20.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/csv.git",
-                "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790"
+                "reference": "553579df208641ada6ffb450b3a151e2fcfa4f31"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/csv/zipball/b02d010e4055ae992247f6ffd1e7b103ef2a0790",
-                "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790",
+                "url": "https://api.github.com/repos/thephpleague/csv/zipball/553579df208641ada6ffb450b3a151e2fcfa4f31",
+                "reference": "553579df208641ada6ffb450b3a151e2fcfa4f31",
                 "shasum": ""
             },
             "require": {
                 "ext-xdebug": "*",
                 "friendsofphp/php-cs-fixer": "^3.64.0",
                 "phpbench/phpbench": "^1.3.1",
-                "phpstan/phpstan": "^1.12.6",
+                "phpstan/phpstan": "^1.12.11",
                 "phpstan/phpstan-deprecation-rules": "^1.2.1",
-                "phpstan/phpstan-phpunit": "^1.4.0",
+                "phpstan/phpstan-phpunit": "^1.4.1",
                 "phpstan/phpstan-strict-rules": "^1.6.1",
-                "phpunit/phpunit": "^10.5.16 || ^11.4.1",
-                "symfony/var-dumper": "^6.4.8 || ^7.1.5"
+                "phpunit/phpunit": "^10.5.16 || ^11.4.3",
+                "symfony/var-dumper": "^6.4.8 || ^7.1.8"
             },
             "suggest": {
                 "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes",
                     "type": "github"
                 }
             ],
-            "time": "2024-10-18T08:14:48+00:00"
+            "time": "2024-12-13T15:49:27+00:00"
         },
         {
             "name": "league/flysystem",
         },
         {
             "name": "league/uri",
-            "version": "7.4.1",
+            "version": "7.5.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/uri.git",
-                "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4"
+                "reference": "81fb5145d2644324614cc532b28efd0215bda430"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/uri/zipball/bedb6e55eff0c933668addaa7efa1e1f2c417cc4",
-                "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4",
+                "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
+                "reference": "81fb5145d2644324614cc532b28efd0215bda430",
                 "shasum": ""
             },
             "require": {
-                "league/uri-interfaces": "^7.3",
+                "league/uri-interfaces": "^7.5",
                 "php": "^8.1"
             },
             "conflict": {
                 "docs": "https://uri.thephpleague.com",
                 "forum": "https://thephpleague.slack.com",
                 "issues": "https://github.com/thephpleague/uri-src/issues",
-                "source": "https://github.com/thephpleague/uri/tree/7.4.1"
+                "source": "https://github.com/thephpleague/uri/tree/7.5.1"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2024-03-23T07:42:40+00:00"
+            "time": "2024-12-08T08:40:02+00:00"
         },
         {
             "name": "league/uri-interfaces",
-            "version": "7.4.1",
+            "version": "7.5.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/uri-interfaces.git",
-                "reference": "8d43ef5c841032c87e2de015972c06f3865ef718"
+                "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/8d43ef5c841032c87e2de015972c06f3865ef718",
-                "reference": "8d43ef5c841032c87e2de015972c06f3865ef718",
+                "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+                "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
                 "shasum": ""
             },
             "require": {
                 "docs": "https://uri.thephpleague.com",
                 "forum": "https://thephpleague.slack.com",
                 "issues": "https://github.com/thephpleague/uri-src/issues",
-                "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.1"
+                "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2024-03-23T07:42:40+00:00"
+            "time": "2024-12-08T08:18:47+00:00"
         },
         {
             "name": "maennchen/zipstream-php",
         },
         {
             "name": "norkunas/youtube-dl-php",
-            "version": "v2.8.1",
+            "version": "v2.9.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/norkunas/youtube-dl-php.git",
-                "reference": "2382ef521bbf1a42f9d99e817060485eb4e26adf"
+                "reference": "3484eb38c4ef9c97b3b1ea00f6952179702ed2d1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/norkunas/youtube-dl-php/zipball/2382ef521bbf1a42f9d99e817060485eb4e26adf",
-                "reference": "2382ef521bbf1a42f9d99e817060485eb4e26adf",
+                "url": "https://api.github.com/repos/norkunas/youtube-dl-php/zipball/3484eb38c4ef9c97b3b1ea00f6952179702ed2d1",
+                "reference": "3484eb38c4ef9c97b3b1ea00f6952179702ed2d1",
                 "shasum": ""
             },
             "require": {
                 "ext-json": "*",
                 "php": ">=7.4.0",
-                "symfony/filesystem": "^4.4|^5.1|^6.0|^7.0",
+                "symfony/filesystem": "^5.1|^6.0|^7.0",
                 "symfony/polyfill-php80": "^1.28",
-                "symfony/process": "^4.4|^5.1|^6.0|^7.0"
+                "symfony/process": "^5.1|^6.0|^7.0"
             },
             "require-dev": {
                 "mikey179/vfsstream": "^1.6.11",
             ],
             "support": {
                 "issues": "https://github.com/norkunas/youtube-dl-php/issues",
-                "source": "https://github.com/norkunas/youtube-dl-php/tree/v2.8.1"
+                "source": "https://github.com/norkunas/youtube-dl-php/tree/v2.9.0"
             },
-            "time": "2024-11-20T10:16:01+00:00"
+            "time": "2024-12-09T04:50:15+00:00"
         },
         {
             "name": "nothingworks/blade-svg",
         },
         {
             "name": "phpoffice/phpspreadsheet",
-            "version": "1.29.5",
+            "version": "1.29.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
-                "reference": "727cb704d5479fe4ddc291497ee471c4ec08f1b6"
+                "reference": "08597725b84570cd6f32bf0ea92e75a803ef28c2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/727cb704d5479fe4ddc291497ee471c4ec08f1b6",
-                "reference": "727cb704d5479fe4ddc291497ee471c4ec08f1b6",
+                "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/08597725b84570cd6f32bf0ea92e75a803ef28c2",
+                "reference": "08597725b84570cd6f32bf0ea92e75a803ef28c2",
                 "shasum": ""
             },
             "require": {
             },
             "require-dev": {
                 "dealerdirect/phpcodesniffer-composer-installer": "dev-main",
-                "dompdf/dompdf": "^1.0 || ^2.0",
+                "dompdf/dompdf": "^1.0 || ^2.0 || ^3.0",
                 "friendsofphp/php-cs-fixer": "^3.2",
                 "mitoteam/jpgraph": "^10.3",
                 "mpdf/mpdf": "^8.1.1",
             ],
             "support": {
                 "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
-                "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.5"
+                "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.6"
             },
-            "time": "2024-11-22T05:57:44+00:00"
+            "time": "2024-12-08T05:49:00+00:00"
         },
         {
             "name": "phpoption/phpoption",
             "type": "library",
             "extra": {
                 "laravel": {
-                    "providers": [
-                        "Prologue\\Alerts\\AlertsServiceProvider"
-                    ],
                     "aliases": {
                         "Alert": "Prologue\\Alerts\\Facades\\Alert"
-                    }
+                    },
+                    "providers": [
+                        "Prologue\\Alerts\\AlertsServiceProvider"
+                    ]
                 }
             },
             "autoload": {
         },
         {
             "name": "spatie/laravel-package-tools",
-            "version": "1.16.6",
+            "version": "1.17.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/spatie/laravel-package-tools.git",
-                "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3"
+                "reference": "9ab30fd24f677e5aa370ea4cf6b41c517d16cf85"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/1f26942dc1e5c49eacfced34fdbc29ed234bd7b3",
-                "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3",
+                "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/9ab30fd24f677e5aa370ea4cf6b41c517d16cf85",
+                "reference": "9ab30fd24f677e5aa370ea4cf6b41c517d16cf85",
                 "shasum": ""
             },
             "require": {
             },
             "require-dev": {
                 "mockery/mockery": "^1.5",
-                "orchestra/testbench": "^7.7|^8.0",
-                "pestphp/pest": "^1.22",
-                "phpunit/phpunit": "^9.5.24",
-                "spatie/pest-plugin-test-time": "^1.1"
+                "orchestra/testbench": "^7.7|^8.0|^9.0",
+                "pestphp/pest": "^1.22|^2",
+                "phpunit/phpunit": "^9.5.24|^10.5",
+                "spatie/pest-plugin-test-time": "^1.1|^2.2"
             },
             "type": "library",
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/spatie/laravel-package-tools/issues",
-                "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.6"
+                "source": "https://github.com/spatie/laravel-package-tools/tree/1.17.0"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2024-11-18T15:02:02+00:00"
+            "time": "2024-12-09T16:29:14+00:00"
         },
         {
             "name": "spatie/laravel-permission",
         },
         {
             "name": "spatie/laravel-translatable",
-            "version": "6.8.0",
+            "version": "6.9.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/spatie/laravel-translatable.git",
-                "reference": "0ef7e8e9d65bb834b7c68f22ec362a6179f50381"
+                "reference": "5f0712701a71054ba9bd6693808c4748f1f4ebda"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/0ef7e8e9d65bb834b7c68f22ec362a6179f50381",
-                "reference": "0ef7e8e9d65bb834b7c68f22ec362a6179f50381",
+                "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/5f0712701a71054ba9bd6693808c4748f1f4ebda",
+                "reference": "5f0712701a71054ba9bd6693808c4748f1f4ebda",
                 "shasum": ""
             },
             "require": {
                 "spatie/laravel-package-tools": "^1.11"
             },
             "require-dev": {
+                "friendsofphp/php-cs-fixer": "^3.64",
                 "mockery/mockery": "^1.4",
                 "orchestra/testbench": "^7.0|^8.0|^9.0",
                 "pestphp/pest": "^1.20|^2.0"
             },
             "type": "library",
             "extra": {
+                "aliases": {
+                    "Translatable": "Spatie\\Translatable\\Facades\\Translatable"
+                },
                 "laravel": {
                     "providers": [
                         "Spatie\\Translatable\\TranslatableServiceProvider"
                     ]
-                },
-                "aliases": {
-                    "Translatable": "Spatie\\Translatable\\Facades\\Translatable"
                 }
             },
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/spatie/laravel-translatable/issues",
-                "source": "https://github.com/spatie/laravel-translatable/tree/6.8.0"
+                "source": "https://github.com/spatie/laravel-translatable/tree/6.9.3"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2024-07-24T14:26:27+00:00"
+            "time": "2024-12-16T12:58:20+00:00"
         },
         {
             "name": "spatie/pdf-to-image",
         },
         {
             "name": "symfony/cache",
-            "version": "v7.2.0",
+            "version": "v7.2.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/cache.git",
-                "reference": "2c926bc348184b4b235f2200fcbe8fcf3c8c5b8a"
+                "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/cache/zipball/2c926bc348184b4b235f2200fcbe8fcf3c8c5b8a",
-                "reference": "2c926bc348184b4b235f2200fcbe8fcf3c8c5b8a",
+                "url": "https://api.github.com/repos/symfony/cache/zipball/e7e983596b744c4539f31e79b0350a6cf5878a20",
+                "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20",
                 "shasum": ""
             },
             "require": {
                 "psr6"
             ],
             "support": {
-                "source": "https://github.com/symfony/cache/tree/v7.2.0"
+                "source": "https://github.com/symfony/cache/tree/v7.2.1"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-11-25T15:21:05+00:00"
+            "time": "2024-12-07T08:08:50+00:00"
         },
         {
             "name": "symfony/cache-contracts",
         },
         {
             "name": "symfony/http-client-contracts",
-            "version": "v3.5.1",
+            "version": "v3.5.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-client-contracts.git",
-                "reference": "c2f3ad828596624ca39ea40f83617ef51ca8bbf9"
+                "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/c2f3ad828596624ca39ea40f83617ef51ca8bbf9",
-                "reference": "c2f3ad828596624ca39ea40f83617ef51ca8bbf9",
+                "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645",
+                "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645",
                 "shasum": ""
             },
             "require": {
             },
             "type": "library",
             "extra": {
+                "thanks": {
+                    "url": "https://github.com/symfony/contracts",
+                    "name": "symfony/contracts"
+                },
                 "branch-alias": {
                     "dev-main": "3.5-dev"
-                },
-                "thanks": {
-                    "name": "symfony/contracts",
-                    "url": "https://github.com/symfony/contracts"
                 }
             },
             "autoload": {
                 "standards"
             ],
             "support": {
-                "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.1"
+                "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-11-25T12:02:18+00:00"
+            "time": "2024-12-07T08:49:48+00:00"
         },
         {
             "name": "symfony/http-foundation",
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             "type": "library",
             "extra": {
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
                 }
             },
             "autoload": {
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-master": "2.15-dev"
-                },
                 "laravel": {
                     "providers": [
                         "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
                     ]
+                },
+                "branch-alias": {
+                    "dev-master": "2.15-dev"
                 }
             },
             "autoload": {
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-develop": "6.x-dev"
-                },
                 "laravel": {
                     "providers": [
                         "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
                     ]
+                },
+                "branch-alias": {
+                    "dev-develop": "6.x-dev"
                 }
             },
             "autoload": {
         },
         {
             "name": "psy/psysh",
-            "version": "v0.12.5",
+            "version": "v0.12.7",
             "source": {
                 "type": "git",
                 "url": "https://github.com/bobthecow/psysh.git",
-                "reference": "36a03ff27986682c22985e56aabaf840dd173cb5"
+                "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/bobthecow/psysh/zipball/36a03ff27986682c22985e56aabaf840dd173cb5",
-                "reference": "36a03ff27986682c22985e56aabaf840dd173cb5",
+                "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
+                "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/bobthecow/psysh/issues",
-                "source": "https://github.com/bobthecow/psysh/tree/v0.12.5"
+                "source": "https://github.com/bobthecow/psysh/tree/v0.12.7"
             },
-            "time": "2024-11-29T06:14:30+00:00"
+            "time": "2024-12-10T01:58:33+00:00"
         },
         {
             "name": "sebastian/cli-parser",
         },
         {
             "name": "spatie/error-solutions",
-            "version": "1.1.1",
+            "version": "1.1.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/spatie/error-solutions.git",
-                "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67"
+                "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/spatie/error-solutions/zipball/ae7393122eda72eed7cc4f176d1e96ea444f2d67",
-                "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67",
+                "url": "https://api.github.com/repos/spatie/error-solutions/zipball/d239a65235a1eb128dfa0a4e4c4ef032ea11b541",
+                "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/spatie/error-solutions/issues",
-                "source": "https://github.com/spatie/error-solutions/tree/1.1.1"
+                "source": "https://github.com/spatie/error-solutions/tree/1.1.2"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2024-07-25T11:06:04+00:00"
+            "time": "2024-12-11T09:51:56+00:00"
         },
         {
             "name": "spatie/flare-client-php",
diff --git a/resources/yt-dlp/cookies.txt b/resources/yt-dlp/cookies.txt
new file mode 100644 (file)
index 0000000..5adc015
--- /dev/null
@@ -0,0 +1,34 @@
+# Netscape HTTP Cookie File
+# This file is generated by yt-dlp.  Do not edit.
+
+.youtube.com   TRUE    /       TRUE    0       YSC     wOPOiBnEg7Y
+.youtube.com   TRUE    /       TRUE    1749915567      VISITOR_PRIVACY_METADATA        CgJGUhIcEhgSFhMLFBUWFwwYGRobHB0eHw4PIBAREiEgPw%3D%3D
+.youtube.com   TRUE    /       TRUE    1768923617      PREF    f6=40000000&tz=Europe.Paris&f7=100
+.youtube.com   TRUE    /       TRUE    1768491544      SOCS    CAISEwgDEgk3MDUyNzA4ODgaAmZyIAEaBgiA2_26Bg
+.youtube.com   TRUE    /       TRUE    1749915567      VISITOR_INFO1_LIVE      hd2yTflXbhI
+.youtube.com   TRUE    /       TRUE    1734365344      GPS     1
+.youtube.com   TRUE    /       FALSE   1768923567      SID     g.a000rQhXlB86E1fFCP-dv6fSOaUYFK_3wYwWj-AME_eDdONulyvGzjlp5P1MWsbeLmWOBX_4BAACgYKAdoSARISFQHGX2MikWfRnc_u5uCSo-4HtU0gjBoVAUF8yKqegZgm0cIXweJUu9uI7o2O0076
+.youtube.com   TRUE    /       TRUE    1765899567      __Secure-1PSIDTS        sidts-CjEB7wV3sWC3ovmr6vyGE8WLOCXBm3FCFUTztC0_A-2TW5CXgNXpYInB7-1Fy6NK32VAEAA
+.youtube.com   TRUE    /       TRUE    1765899567      __Secure-3PSIDTS        sidts-CjEB7wV3sWC3ovmr6vyGE8WLOCXBm3FCFUTztC0_A-2TW5CXgNXpYInB7-1Fy6NK32VAEAA
+.youtube.com   TRUE    /       TRUE    1768923567      __Secure-1PSID  g.a000rQhXlB86E1fFCP-dv6fSOaUYFK_3wYwWj-AME_eDdONulyvGFmNr-EdXf9RmN5akFBW1_gACgYKAZgSARISFQHGX2MiUx4lsL3Du4eJqd2DmOw8AxoVAUF8yKpHx0aNyBn6OKd9F0MGdj1G0076
+.youtube.com   TRUE    /       TRUE    1768923567      __Secure-3PSID  g.a000rQhXlB86E1fFCP-dv6fSOaUYFK_3wYwWj-AME_eDdONulyvG50IyllhYw48hHQI2vUa-JQACgYKAdYSARISFQHGX2Mir3RxFTra7RWB1eCzSxUULBoVAUF8yKoAY-kDwUgPs6IwdW_515c30076
+.youtube.com   TRUE    /       FALSE   1768923567      HSID    AHM8kbmmpVLPrqhQC
+.youtube.com   TRUE    /       TRUE    1768923567      SSID    A9YevWDQV7fbON5JI
+.youtube.com   TRUE    /       FALSE   1768923567      APISID  m-eBYQLGWYFF2Cl9/A9efkYfPKiv3l8cHL
+.youtube.com   TRUE    /       TRUE    1768923567      SAPISID ZG0hpCgzdoBRfXRg/AnM9OsAZZv7YzZsfH
+.youtube.com   TRUE    /       TRUE    1768923567      __Secure-1PAPISID       ZG0hpCgzdoBRfXRg/AnM9OsAZZv7YzZsfH
+.youtube.com   TRUE    /       TRUE    1768923567      __Secure-3PAPISID       ZG0hpCgzdoBRfXRg/AnM9OsAZZv7YzZsfH
+.youtube.com   TRUE    /       TRUE    1768923567      LOGIN_INFO      AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ:QUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw==
+.youtube.com   TRUE    /       FALSE   1765899705      SIDCC   AKEyXzWiQ15sEfp24_5XfbGPaT5ESPtUWNuhjT_ZESSQIQHzQFDE96_CG5NwbDY4ePJ03BZ0SA
+.youtube.com   TRUE    /       TRUE    1765899705      __Secure-1PSIDCC        AKEyXzVUF8FVtL1B7hvmvbwqpiU_sjxIEhc62DLFkQZCDdMqwzqLQx1uPnKlBQffm9KCIN7S
+.youtube.com   TRUE    /       TRUE    1765899705      __Secure-3PSIDCC        AKEyXzWQtvLM1pczHAwAgf5r7LSBrya1ipDmmisxm6OC5uVCWBs1kZh1_EiuxGQEoGP8T3fOVQ
+.youtube.com   TRUE    /       FALSE   1734363574      ST-l3hjtt       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D
+.youtube.com   TRUE    /       FALSE   1734363574      ST-tladcw       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D
+.youtube.com   TRUE    /       FALSE   1734363576      ST-xuwub9       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D
+.youtube.com   TRUE    /       FALSE   1734363620      ST-1hm872z      itct=CNwDEIf2BBgDIhMIqrCD58-sigMVDjHxBR0c1DY7Wg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHg%3D%3D&csn=Vls2BWNfaMsOoj7T&session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D&endpoint=%7B%22clickTrackingParams%22%3A%22CNwDEIf2BBgDIhMIqrCD58-sigMVDjHxBR0c1DY7Wg9GRXdoYXRfdG9fd2F0Y2iaAQUIJBCOHg%3D%3D%22%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2Fshorts%2FWLmHtofPDC8%22%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_SHORTS%22%2C%22rootVe%22%3A37414%7D%7D%2C%22reelWatchEndpoint%22%3A%7B%22videoId%22%3A%22WLmHtofPDC8%22%2C%22playerParams%22%3A%228AEBoAMByAMkuAQFogYVAePzwRO-l8pY89Fu4b93T0sdbMAykAcC%22%2C%22thumbnail%22%3A%7B%22thumbnails%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FWLmHtofPDC8%2Fframe0.jpg%22%2C%22width%22%3A720%2C%22height%22%3A1280%7D%5D%2C%22isOriginalAspectRatio%22%3Atrue%7D%2C%22overlay%22%3A%7B%22reelPlayerOverlayRenderer%22%3A%7B%22style%22%3A%22REEL_PLAYER_OVERLAY_STYLE_SHORTS%22%2C%22trackingParams%22%3A%22COADELC1BCITCKqwg-fPrIoDFQ4x8QUdHNQ2Ow%3D%3D%22%2C%22reelPlayerNavigationModel%22%3A%22REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED%22%7D%7D%2C%22params%22%3A%22CAUwAg%253D%253D%22%2C%22sequenceProvider%22%3A%22REEL_WATCH_SEQUENCE_PROVIDER_RPC%22%2C%22sequenceParams%22%3A%22CgtXTG1IdG9mUERDOCoCGAVQGWgA%22%2C%22loggingContext%22%3A%7B%22vssLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%2C%22qoeLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%7D%2C%22ustreamerConfig%22%3A%22CAw%3D%22%7D%7D
+.youtube.com   TRUE    /       TRUE    1734364217      CONSISTENCY     AKreu9vlDrak9pSCwOst7vu3YOUwuHVuyM5n1lrDSL9kvfMZCtIs2tYGsB5ZAOiFqK5eh_jtlYoufV9gTAC-LOPuIOqgloFYrHrtCVxiaAV7RGUWzf54Lz1i9GM
+.youtube.com   TRUE    /       FALSE   1734363682      ST-12ag5jl      endpoint=%7B%22clickTrackingParams%22%3A%22CBEQ7fkGGAAiEwjYm_T9z6yKAxWe5EkHHV9rNqWaAQUIJBCOHg%3D%3D%22%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2Fshorts%2Foj0i6hMyIhk%22%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_SHORTS%22%2C%22rootVe%22%3A37414%7D%7D%2C%22reelWatchEndpoint%22%3A%7B%22videoId%22%3A%22oj0i6hMyIhk%22%2C%22playerParams%22%3A%228AEByAMTwATDhK2z8b2jprMBogYVAePzwRNA62Oz5E7FPHFXhZTOCZdNqgZDQU9BckJGdnAwNDFoVFA4M2pNbTRrSVk3Z2tVeU82WWVjNFY2WENYQ1NWeUV6T2ZzNkIyNXd3T3NfM1dlR2hFRVFlRZAHArgHi4T2_c-sigM%253D%22%2C%22thumbnail%22%3A%7B%22thumbnails%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2Foj0i6hMyIhk%2Fframe0.jpg%22%2C%22width%22%3A1080%2C%22height%22%3A1920%7D%5D%2C%22isOriginalAspectRatio%22%3Atrue%7D%2C%22overlay%22%3A%7B%22reelPlayerOverlayRenderer%22%3A%7B%22style%22%3A%22REEL_PLAYER_OVERLAY_STYLE_SHORTS%22%2C%22trackingParams%22%3A%22CBIQsLUEIhMI2Jv0_c-sigMVnuRJBx1fazal%22%2C%22reelPlayerNavigationModel%22%3A%22REEL_PLAYER_NAVIGATION_MODEL_UNSPECIFIED%22%7D%7D%2C%22params%22%3A%22CAUaEwiLhPb9z6yKAxVHo_QHHVfsEYMqAA%253D%253D%22%2C%22onPlaybackCommand%22%3A%7B%22clickTrackingParams%22%3A%22CBEQ7fkGGAAiEwjYm_T9z6yKAxWe5EkHHV9rNqU%3D%22%2C%22commandExecutorCommand%22%3A%7B%7D%7D%2C%22loggingContext%22%3A%7B%22vssLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%2C%22qoeLoggingContext%22%3A%7B%22serializedContextData%22%3A%22CgIIDA%253D%253D%22%7D%7D%2C%22ustreamerConfig%22%3A%22CAw%3D%22%7D%7D
+.youtube.com   TRUE    /       FALSE   1734363693      ST-1b   itct=CDcQ8KgHGAAiEwi35YPoz6yKAxXC7kkHHaQHHhc%3D&csn=-dPNlVqItfwZ2oe5&session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D&endpoint=%7B%22clickTrackingParams%22%3A%22CDcQ8KgHGAAiEwi35YPoz6yKAxXC7kkHHaQHHhc%3D%22%2C%22commandMetadata%22%3A%7B%22webCommandMetadata%22%3A%7B%22url%22%3A%22%2F%22%2C%22webPageType%22%3A%22WEB_PAGE_TYPE_BROWSE%22%2C%22rootVe%22%3A3854%2C%22apiUrl%22%3A%22%2Fyoutubei%2Fv1%2Fbrowse%22%7D%7D%2C%22browseEndpoint%22%3A%7B%22browseId%22%3A%22FEwhat_to_watch%22%7D%7D
+.youtube.com   TRUE    /       FALSE   1734363693      ST-yve142       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D
+.youtube.com   TRUE    /       FALSE   1734363704      ST-3opvp5       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D
+.youtube.com   TRUE    /       FALSE   1734363709      ST-uwicob       session_logininfo=AFmmF2swRQIhAMd2EvmCcaqDAo7ww3iPcaSMrxumOtlrmOWnMXosmngWAiBk_dR_1tk4je63xqzVZ5VYU4iMMruNhEhcNEJb6GpDmQ%3AQUQ3MjNmeGpadnVVNGJ2TGVxbzNjN3pFZkJwUHRydExHcVNYQ241TG5ieHJ1MDRqbGN0OUV2OG9jdlNYcENUUS04aVBjVmJqTndncmg4cHVPQnppTEx4V3RMWG9lbVhtY0tXeWhCLVU0MHBsQlNCRGQ0NXduS0stcTFIS1REVERDYTlxdFFIU1F4b2VFMW9WWGxfRzQ4NGhMaTJnWmNQX3RYWmdRbXgwWU1WSjBVMnJJR1NabzB6YzNqTTVSeDBBRzN0c25aNHRYM0xUTUg4SUZxbW5lRWcwNktWYXczVFFyZw%3D%3D