Sélectionner une page

Maximiser la Visibilité de Votre Entreprise en Ligne avec l’Optimisation SEO

L’optimisation SEO (Search Engine Optimization) est devenue incontournable pour toute entreprise souhaitant prospérer en ligne. Que vous soyez une petite entreprise de quartier ou une multinationale, le référencement naturel joue un rôle capital dans la visibilité de votre site internet.

Présentation de l’importance de l’optimisation SEO

L’optimisation SEO permet de faire apparaître votre site en haut des résultats de recherche, augmentant ainsi le trafic organique. Non seulement cela influence directement le nombre de visiteurs, mais cela améliore également votre crédibilité et peut booster vos ventes.

Objectifs de l’article

Dans cet article, nous allons explorer comment maîtriser l’optimisation SEO pour augmenter la visibilité de votre site web. Nous aborderons les différentes facettes du SEO, des mots-clés aux stratégies de contenu, en passant par l’analyse des performances.

Comprendre le SEO

Définition et principes du SEO

Le SEO, ou Search Engine Optimization, désigne l’ensemble des techniques visant à améliorer le positionnement d’un site web sur les moteurs de recherche comme Google. Le SEO repose sur des algorithmes complexes qui évaluent la pertinence et la qualité des contenus pour les utilisateurs.

Différence entre SEO On-Page et Off-Page

Le SEO On-Page concerne les éléments internes de votre site, tels que la structure, le contenu, et les balises HTMEn revanche, le SEO Off-Page porte sur les facteurs externes, comme les backlinks et l’usage des réseaux sociaux pour renforcer la crédibilité du site.

Importance du SEO pour les entreprises

Pour les entreprises, le SEO est plus qu’une simple stratégie marketing; c’est une nécessité. Un bon SEO attire un trafic naturel de qualité, augmente les opportunités commerciales, et donne un avantage concurrentiel.

Recherche et Analyse de Mots-Clés

Identifier les mots-clés pertinents

La première étape de toute stratégie SEO efficace est la recherche de mots-clés pertinents. Ceux-ci doivent refléter les termes que vos clients potentiels utilisent lorsqu’ils effectuent des recherches en ligne.

Utilisation des outils de recherche de mots-clés

Des outils comme Google Keyword Planner ou Ahrefs peuvent être précieux pour identifier les cles pertinents. Ils vous fournissent des données sur le volume de recherche et la concurrence pour chaque mot-clé.

Analyse de la concurrence

Analyser les sites concurrents vous permet de déterminer quelles stratégies fonctionnent. Regardez quels mots-clés ils ciblent et adaptez votre propre stratégie en conséquence.

Optimisation On-Page

Importance des balises HTML (title, meta description, headers)

Les balises HTML, telles que les balises </code> et <code><meta description></code>, jouent un rôle crucial dans le SEElles fournissent des informations aux <strong>moteurs de recherche</strong> sur le contenu de vos pages.</p> <h3>Optimisation du contenu et de la structure</h3> <p>Un bon <em>contenu SEO</em> est structuré de manière claire avec des titres et des sous-titres. Utilisez les balises <code></p> <h1></code>, <code></p> <h2></code> et <code></p> <h3></code> pour hiérarchiser vos informations.</p> <h3>Utilisation correcte des mots-clés</h3> <p>Intégrez vos <strong>mots-clés pertinents</strong> de manière naturelle dans votre contenu. Évitez la sur-optimisation, qui peut être pénalisée par <em>Google</em>.</p> <h3>Optimisation des images et des médias</h3> <p>N’oubliez pas d’optimiser vos images en utilisant des balises <code><alt></code> et en compressant les fichiers pour une <em>vitesse de chargement</em> optimale.</p> </section> <section id="optimisation-technique"> <h2>Optimisation Technique</h2> <h3>Vitesse de chargement des pages</h3> <p>Un <em>site web</em> lent peut dissuader les visiteurs et nuire à votre SEUtilisez des outils comme <a href="https://developers.google.com/speed/pagespeed/insights/">PageSpeed Insights</a> pour mesurer et améliorer la <strong>vitesse de chargement</strong> de votre <em>site</em>.</p> <h3>Conception responsive et mobile-friendly</h3> <p>Aujourd’hui, une grande partie du <em>trafic internet</em> provient des appareils mobiles. Assurez-vous que votre <em>site</em> est <em>mobile-friendly</em>, en utilisant des techniques comme le <em>responsive design</em>.</p> <h3>Optimisation des URL et des liens internes</h3> <p>Les URLs doivent être courtes, descriptives et inclure vos <strong>mots-clés pertinents</strong>. Utilisez le <em>maillage interne</em> pour guider les utilisateurs et les moteurs de recherche à travers votre <em>site</em>.</p> <h3>Utilisation des balises schema et des données structurées</h3> <p>Les balises schema et les données structurées aident les <strong>moteurs de recherche</strong> à comprendre le contenu de votre <em>site</em>. Cela peut augmenter vos chances d’obtenir des <em>résultats enrichis</em>.</p> </section> <section id="strategies-contenu"> <h2>Stratégies de Contenu</h2> <h3>Création de contenu de qualité</h3> <p>Le contenu est roi. Créez des <strong>contenus de qualité</strong> qui répondent aux besoins et questions de votre audience. Plus votre contenu est utile, plus il sera partagé et lienné.</p> <h3>Mise à jour régulière du contenu</h3> <p>Un contenu mis à jour régulièrement montre à <em>Google</em> que votre <em>site</em> est actif. Cela peut améliorer votre positionnement dans les <em>résultats de recherche</em>.</p> <h3>Techniques de blogging et guest-blogging</h3> <p>Le blogging et le guest-blogging sont d’excellents moyens d’obtenir des <strong>backlinks</strong> de qualité et d’augmenter la visibilité de votre <em>site</em>.</p> </section> <section id="seo-off-page"> <h2>SEO Off-Page</h2> <h3>Importance des backlinks</h3> <p>Les <strong>backlinks</strong> sont des liens provenant d’autres sites renvoyant vers le vôtre. Ils sont essentiels pour le <strong>référencement naturel</strong>, car ils indiquent aux <strong>moteurs de recherche</strong> que votre <em>site</em> est fiable et pertinent.</p> <h3>Stratégies pour obtenir des liens de qualité</h3> <p>Pour obtenir des liens de qualité, créez du <strong>contenu de qualité</strong> que d’autres voudront partager. Participez à des forums, des blogs invités, et faites du <strong>netlinking</strong> avec des partenaires crédibles.</p> <h3>Utilisation des réseaux sociaux pour renforcer le SEO</h3> <p>Les <strong>réseaux sociaux</strong> augmentent la visibilité de votre <em>contenu SEO</em> et peuvent générer des liens vers votre <em>site</em>. Soyez actif sur des plateformes comme <strong>LinkedIn</strong>, <strong>Twitter</strong>, et <strong>Facebook</strong>.</p> </section> <section id="suivi-analyse"> <h2>Suivi et Analyse</h2> <h3>Utilisation de Google Analytics et Google Search Console</h3> <p>Des outils gratuits comme <strong>Google Analytics</strong> et <strong>Google Search Console</strong> vous permettent de surveiller votre <em>trafic site</em>, de détecter des problèmes techniques, et de mieux comprendre le comportement de vos utilisateurs.</p> <h3>Suivi des performances et ajustements nécessaires</h3> <p>Surveillez régulièrement les <strong>indicateurs clés de performance (KPI)</strong> pour ajuster votre stratégie SEO en conséquence. Cela inclut le taux de rebond, le temps passé sur le <em>site</em>, et les pages par session.</p> <h3>Indicateurs clés de performance (KPI)</h3> <p>Les KPI tels que le classement des <strong>mots-clés</strong>, le nombre de visites organiques, et le taux de conversion sont essentiels pour évaluer l’efficacité de votre <em>stratégie SEO</em>.</p> </section> <section id="conclusion"> <h3>Récapitulatif des points clés</h3> <p>Nous avons couvert l’importance du SEO, comment faire une recherche de <strong>mots-clés</strong>, optimiser votre <em>site</em> On-Page et Off-Page, et l’importance du suivi et de l’analyse des performances. Chaque étape est cruciale pour maximiser la visibilité de votre <em>site</em>.</p> <h3>Derniers conseils pour une optimisation SEO réussie</h3> <p>Restez à jour avec les dernières tendances SEO, adaptez-vous aux changements d’algorithmes, et ne négligez jamais la qualité de votre <em>contenu</em>. Une <em>stratégie SEO</em> bien exécutée peut faire de votre entreprise une référence dans son domaine.</p> </section> <p></body></html></p> </div> <div class="et_post_meta_wrapper"> </div> </article> </div> <div id="sidebar"> <div id="search-2" class="et_pb_widget widget_search"><form role="search" method="get" id="searchform" class="searchform" action="https://www.366jourspour.co/"> <div> <label class="screen-reader-text" for="s">Rechercher :</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Rechercher" /> </div> </form></div><div id="categories-2" class="et_pb_widget widget_categories"><h4 class="widgettitle">Nos thematiques</h4> <ul> <li class="cat-item cat-item-1"><a href="https://www.366jourspour.co/actualites/">Actualités</a> </li> <li class="cat-item cat-item-4"><a href="https://www.366jourspour.co/business/">Business</a> </li> <li class="cat-item cat-item-3"><a href="https://www.366jourspour.co/seo/">SEO</a> </li> <li class="cat-item cat-item-2"><a href="https://www.366jourspour.co/web/">Web</a> </li> </ul> </div><div id="recent-posts-widget-with-thumbnails-2" class="et_pb_widget recent-posts-widget-with-thumbnails"> <div id="rpwwt-recent-posts-widget-with-thumbnails-2" class="rpwwt-widget"> <h4 class="widgettitle">Articles recents</h4> <ul> <li><a href="https://www.366jourspour.co/comment-changer-ladresse-de-livraison-dune-commande/"><img loading="lazy" width="70" height="70" src="https://www.366jourspour.co/wp-content/uploads/2025/08/Changer_ladresse_de_livraison_dune_commande_entreprise_sans_stress_et_eviter_les_erreurs_couteuses-150x150.jpg" class="attachment-75x70 size-75x70 wp-post-image" alt="comment changer l'adresse de livraison d'une commande" decoding="async" /><span class="rpwwt-post-title">Changer l’adresse de livraison d’une commande entreprise sans stress et éviter les erreurs coûteuses</span></a><div class="rpwwt-post-categories">Business</div></li> <li><a href="https://www.366jourspour.co/theme-wordpress-photographe/"><img loading="lazy" width="70" height="70" src="https://www.366jourspour.co/wp-content/uploads/2025/08/Reussir_la_transformation_de_votre_studio_photo_grace_a_un_theme_WordPress_professionnel-150x150.jpg" class="attachment-75x70 size-75x70 wp-post-image" alt="Theme WordPress photographe" decoding="async" /><span class="rpwwt-post-title">Réussir la transformation de votre studio photo grâce à un thème WordPress professionnel</span></a><div class="rpwwt-post-categories">Actualités</div></li> <li><a href="https://www.366jourspour.co/arborescence-site-e-commerce/"><img loading="lazy" width="70" height="70" src="https://www.366jourspour.co/wp-content/uploads/2025/06/Optimiser_l_arborescence_e_commerce_pour_booster_votre_conversion-150x150.webp" class="attachment-75x70 size-75x70 wp-post-image" alt="Arborescence site e-commerce" decoding="async" /><span class="rpwwt-post-title">Optimiser l’arborescence e-commerce pour booster votre conversion</span></a><div class="rpwwt-post-categories">SEO</div></li> <li><a href="https://www.366jourspour.co/conseil-en-communication-digitale/"><img loading="lazy" width="70" height="70" src="https://www.366jourspour.co/wp-content/uploads/2025/06/Maitriser_la_communication_digitale__secrets_pour_une_transformation_reussie-150x150.webp" class="attachment-75x70 size-75x70 wp-post-image" alt="conseil en communication digitale" decoding="async" /><span class="rpwwt-post-title">Maîtriser la communication digitale : secrets pour une transformation réussie</span></a><div class="rpwwt-post-categories">Business</div></li> <li><a href="https://www.366jourspour.co/chute-position-seo/"><img loading="lazy" width="70" height="70" src="https://www.366jourspour.co/wp-content/uploads/2025/05/Perte_de_position_SEO__l_alerte_qui_peut_sauver_votre_entreprise-150x150.webp" class="attachment-75x70 size-75x70 wp-post-image" alt="chute position seo" decoding="async" /><span class="rpwwt-post-title">Perte de position SEO : l’alerte qui peut sauver votre entreprise</span></a><div class="rpwwt-post-categories">SEO</div></li> </ul> </div> </div> </div> </div> </div> </div> <span class="et_pb_scroll_top et-pb-icon"></span> <footer id="main-footer"> <div class="container"> <div id="footer-widgets" class="clearfix"> <div class="footer-widget"><div id="text-3" class="fwidget et_pb_widget widget_text"><h4 class="title">A propos</h4> <div class="textwidget"><p>voir blog à succès comment faire un blog a succes créer blog succes blog aa succes Blog gratuit le plus utilisé site: co creer un blog gratuit et son adresse de blog comment avoir un blog confirme quel blog on le plus de succes creer un blog a succes</p> </div> </div></div><div class="footer-widget"><div id="nav_menu-3" class="fwidget et_pb_widget widget_nav_menu"><h4 class="title">Accès rapide</h4><div class="menu-menu-principal-container"><ul id="menu-menu-principal" class="menu"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-40"><a href="https://www.366jourspour.co/business/">Business</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41"><a href="https://www.366jourspour.co/seo/">SEO</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-42"><a href="https://www.366jourspour.co/web/">Web</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-43"><a href="https://www.366jourspour.co/actualites/">Actualités</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-44"><a href="https://www.366jourspour.co/contact/">Contact</a></li> </ul></div></div></div><div class="footer-widget"><div id="wpsp_widget-3" class="fwidget et_pb_widget widget_wpsp_widget"><h4 class="title">Articles récents</h4><style>.wp-show-posts-columns#wpsp-52{margin-left:-2em;}.wp-show-posts-columns#wpsp-52 .wp-show-posts-inner{margin:0 0 2em 2em;}</style><section id="wpsp-52" class=" wp-show-posts" style=""><article class=" wp-show-posts-single wpsp-clearfix post-684 post type-post status-publish format-standard has-post-thumbnail hentry category-business" itemtype="http://schema.org/CreativeWork" itemscope><div class="wp-show-posts-inner" style=""> <div class="wp-show-posts-image wpsp-image-left "> <a href="https://www.366jourspour.co/comment-changer-ladresse-de-livraison-dune-commande/" title="Changer l’adresse de livraison d’une commande entreprise sans stress et éviter les erreurs coûteuses"> <img loading="lazy" src="https://www.366jourspour.co/wp-content/uploads/2025/08/Changer_ladresse_de_livraison_dune_commande_entreprise_sans_stress_et_eviter_les_erreurs_couteuses-80x60.jpg" alt="Changer l’adresse de livraison d’une commande entreprise sans stress et éviter les erreurs coûteuses" itemprop="image" class="left" /> </a> </div> <header class="wp-show-posts-entry-header"> <span class="wp-show-posts-entry-title" itemprop="headline"><a href="https://www.366jourspour.co/comment-changer-ladresse-de-livraison-dune-commande/" rel="bookmark">Changer l’adresse de livraison d’une commande entreprise sans stress et éviter les erreurs coûteuses</a></span><div class="wp-show-posts-entry-meta wp-show-posts-entry-meta-below-title post-meta-inline"><span class="wp-show-posts-terms wp-show-posts-meta"><a href="https://www.366jourspour.co/business/" rel="tag">Business</a></span></div> </header> </div><div class="wpsp-clear"></div></article><article class=" wp-show-posts-single wpsp-clearfix post-682 post type-post status-publish format-standard has-post-thumbnail hentry category-actualites" itemtype="http://schema.org/CreativeWork" itemscope><div class="wp-show-posts-inner" style=""> <div class="wp-show-posts-image wpsp-image-left "> <a href="https://www.366jourspour.co/theme-wordpress-photographe/" title="Réussir la transformation de votre studio photo grâce à un thème WordPress professionnel"> <img loading="lazy" src="https://www.366jourspour.co/wp-content/uploads/2025/08/Reussir_la_transformation_de_votre_studio_photo_grace_a_un_theme_WordPress_professionnel-80x60.jpg" alt="Réussir la transformation de votre studio photo grâce à un thème WordPress professionnel" itemprop="image" class="left" /> </a> </div> <header class="wp-show-posts-entry-header"> <span class="wp-show-posts-entry-title" itemprop="headline"><a href="https://www.366jourspour.co/theme-wordpress-photographe/" rel="bookmark">Réussir la transformation de votre studio photo grâce à un thème WordPress professionnel</a></span><div class="wp-show-posts-entry-meta wp-show-posts-entry-meta-below-title post-meta-inline"><span class="wp-show-posts-terms wp-show-posts-meta"><a href="https://www.366jourspour.co/actualites/" rel="tag">Actualités</a></span></div> </header> </div><div class="wpsp-clear"></div></article></section></div></div> </div> </div> <div id="footer-bottom"> <div class="container clearfix"> <ul class="et-social-icons"> </ul><div id="footer-info">Copyright 366 Jours Pour 2020 | Tous droits réservés | <a href="/mentions-legales/">Mentions légales</a> | <a href="/sitemap_index.xml">Sitemap</a></div> </div> </div> </footer> </div> </div> <script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Divi/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <script type="text/phast">const lazyloadRunObserver=()=>{const lazyloadBackgrounds=document.querySelectorAll(`.e-con.e-parent:not(.e-lazyloaded)`);const lazyloadBackgroundObserver=new IntersectionObserver((entries)=>{entries.forEach((entry)=>{if(entry.isIntersecting){let lazyloadBackground=entry.target;if(lazyloadBackground){lazyloadBackground.classList.add('e-lazyloaded');} lazyloadBackgroundObserver.unobserve(entry.target);}});},{rootMargin:'200px 0px 200px 0px'});lazyloadBackgrounds.forEach((lazyloadBackground)=>{lazyloadBackgroundObserver.observe(lazyloadBackground);});};const events=['DOMContentLoaded','elementor/lazyload/observe',];events.forEach((event)=>{document.addEventListener(event,lazyloadRunObserver);});</script> <script data-phast-original-src="https://www.366jourspour.co/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" data-phast-params='{"ref":"3JGqH0GuqeU"}' data-phast-original-type="text/javascript" type="text/phast" id="wp-hooks-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" data-phast-params='{"ref":"TfWRMaKezoc"}' data-phast-original-type="text/javascript" type="text/phast" id="wp-i18n-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" id="wp-i18n-js-after">wp.i18n.setLocaleData({'text direction\u0004ltr':['ltr']});</script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.1" data-phast-params='{"ref":"nq-ggketjWE"}' data-phast-original-type="text/javascript" type="text/phast" id="swv-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" id="contact-form-7-js-before">var wpcf7={"api":{"root":"https:\/\/www.366jourspour.co\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":1};</script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.1" data-phast-params='{"ref":"lCu0DHtPmNY"}' data-phast-original-type="text/javascript" type="text/phast" id="contact-form-7-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" data-phast-params='{"ref":"dp_0zr9nFRM"}' data-phast-original-type="text/javascript" type="text/phast" id="jquery-core-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" data-phast-params='{"ref":"xeiIc0Du4gY"}' data-phast-original-type="text/javascript" type="text/phast" id="jquery-migrate-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" id="jquery-js-after">jqueryParams.length&&$.each(jqueryParams,function(e,r){if("function"==typeof r){var n=String(r);n.replace("$","jQuery");var a=new Function("return "+n)();$(document).ready(a)}});</script> <script data-phast-original-type="text/javascript" type="text/phast" id="divi-custom-script-js-extra">var DIVI={"item_count":"%d Item","items_count":"%d Items"};var et_builder_utils_params={"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"};var et_frontend_scripts={"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"};var et_pb_custom={"ajaxurl":"https:\/\/www.366jourspour.co\/wp-admin\/admin-ajax.php","images_uri":"https:\/\/www.366jourspour.co\/wp-content\/themes\/Divi\/images","builder_images_uri":"https:\/\/www.366jourspour.co\/wp-content\/themes\/Divi\/includes\/builder\/images","et_frontend_nonce":"5f37a9a660","subscription_failed":"Veuillez v\u00e9rifier les champs ci-dessous pour vous assurer que vous avez entr\u00e9 les informations correctes.","et_ab_log_nonce":"eb8a9e252c","fill_message":"S'il vous pla\u00eet, remplissez les champs suivants:","contact_error_message":"Veuillez corriger les erreurs suivantes :","invalid":"E-mail non valide","captcha":"Captcha","prev":"Pr\u00e9c\u00e9dent","previous":"Pr\u00e9c\u00e9dente","next":"Prochaine","wrong_captcha":"Vous avez entr\u00e9 le mauvais num\u00e9ro dans le captcha.","wrong_checkbox":"Case \u00e0 cocher","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"360","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"no","is_shortcode_tracking":"","tinymce_uri":"https:\/\/www.366jourspour.co\/wp-content\/themes\/Divi\/includes\/builder\/frontend-builder\/assets\/vendors","accent_color":"#ff6600","waypoints_options":[]};var et_pb_box_shadow_elements=[];</script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/themes/Divi/js/scripts.min.js?ver=4.25.0" data-phast-params='{"ref":"Qy7sxN3Qfjg"}' data-phast-original-type="text/javascript" type="text/phast" id="divi-custom-script-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/jquery.fitvids.js?ver=4.25.0" data-phast-params='{"ref":"tb_bp9B-9NU"}' data-phast-original-type="text/javascript" type="text/phast" id="fitvids-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/themes/Divi/core/admin/js/common.js?ver=4.25.0" data-phast-params='{"ref":"R2RpWaBLWZU"}' data-phast-original-type="text/javascript" type="text/phast" id="et-core-common-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" src="https://www.google.com/recaptcha/api.js?render=6LdrvL4ZAAAAAJsek6aNJneetgpnNmvJ72bqoKOL&ver=3.0" id="google-recaptcha-js"></script> <script data-phast-original-src="https://www.366jourspour.co/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0" data-phast-params='{"ref":"3BDb-EoVkoQ"}' data-phast-original-type="text/javascript" type="text/phast" id="wp-polyfill-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" id="wpcf7-recaptcha-js-before">var wpcf7_recaptcha={"sitekey":"6LdrvL4ZAAAAAJsek6aNJneetgpnNmvJ72bqoKOL","actions":{"homepage":"homepage","contactform":"contactform"}};</script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=6.1.1" data-phast-params='{"ref":"w4jPgGYqD7Y"}' data-phast-original-type="text/javascript" type="text/phast" id="wpcf7-recaptcha-js"></script> <script data-phast-original-type="text/javascript" type="text/phast" id="eael-general-js-extra">var localize={"ajaxurl":"https:\/\/www.366jourspour.co\/wp-admin\/admin-ajax.php","nonce":"93c8fd17f2","i18n":{"added":"Added ","compare":"Compare","loading":"Loading..."},"eael_translate_text":{"required_text":"is a required field","invalid_text":"Invalid","billing_text":"Billing","shipping_text":"Shipping","fg_mfp_counter_text":"of"},"page_permalink":"https:\/\/www.366jourspour.co\/maximiser-la-visibilite-de-votre-entreprise-en-ligne-avec-loptimisation-seo\/","cart_redirectition":"","cart_page_url":"","el_breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"ParticleThemesData":{"default":"{\"particles\":{\"number\":{\"value\":160,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img\/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":true,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"repulse\"},\"onclick\":{\"enable\":true,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nasa":"{\"particles\":{\"number\":{\"value\":250,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img\/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":1,\"random\":true,\"anim\":{\"enable\":true,\"speed\":1,\"opacity_min\":0,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":4,\"size_min\":0.3,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":1,\"direction\":\"none\",\"random\":true,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":600}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":250,\"size\":0,\"duration\":2,\"opacity\":0,\"speed\":3},\"repulse\":{\"distance\":400,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","bubble":"{\"particles\":{\"number\":{\"value\":15,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#1b1e34\"},\"shape\":{\"type\":\"polygon\",\"stroke\":{\"width\":0,\"color\":\"#000\"},\"polygon\":{\"nb_sides\":6},\"image\":{\"src\":\"img\/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":50,\"random\":false,\"anim\":{\"enable\":true,\"speed\":10,\"size_min\":40,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":200,\"color\":\"#ffffff\",\"opacity\":1,\"width\":2},\"move\":{\"enable\":true,\"speed\":8,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":false,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","snow":"{\"particles\":{\"number\":{\"value\":450,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#fff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img\/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":500,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":2},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"bottom\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":0.5}},\"bubble\":{\"distance\":400,\"size\":4,\"duration\":0.3,\"opacity\":1,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nyan_cat":"{\"particles\":{\"number\":{\"value\":150,\"density\":{\"enable\":false,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"star\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"http:\/\/wiki.lexisnexis.com\/academic\/images\/f\/fb\/Itunes_podcast_icon_300.jpg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":4,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":14,\"direction\":\"left\",\"random\":false,\"straight\":true,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":200,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}"},"eael_login_nonce":"e07de8995b","eael_register_nonce":"05078d8df4","eael_lostpassword_nonce":"b8d49fe41d","eael_resetpassword_nonce":"6dd8bb467e"};</script> <script data-phast-original-src="https://www.366jourspour.co/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.3.0" data-phast-params='{"ref":"eVI6XafC0cA"}' data-phast-original-type="text/javascript" type="text/phast" id="eael-general-js"></script> <style>.unlimited-elements-background-overlay{position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:0;}.unlimited-elements-background-overlay.uc-bg-front{z-index:999;}</style> <script data-phast-original-type="text/javascript" type="text/phast">jQuery(document).ready(function(){function ucBackgroundOverlayPutStart(){var objBG=jQuery(".unlimited-elements-background-overlay").not(".uc-bg-attached");if(objBG.length==0) return(false);objBG.each(function(index,bgElement){var objBgElement=jQuery(bgElement);var targetID=objBgElement.data("forid");var location=objBgElement.data("location");switch(location){case"body":case"body_front":var objTarget=jQuery("body");break;case"layout":case"layout_front":var objLayout=jQuery("*[data-id=\""+targetID+"\"]");var objTarget=objLayout.parents(".elementor");if(objTarget.length>1) objTarget=jQuery(objTarget[0]);break;default:var objTarget=jQuery("*[data-id=\""+targetID+"\"]");break;} if(objTarget.length==0) return(true);var objVideoContainer=objTarget.children(".elementor-background-video-container");if(objVideoContainer.length==1) objBgElement.detach().insertAfter(objVideoContainer).show();else objBgElement.detach().prependTo(objTarget).show();var objTemplate=objBgElement.children("template");if(objTemplate.length){var clonedContent=objTemplate[0].content.cloneNode(true);var objScripts=jQuery(clonedContent).find("script");if(objScripts.length) objScripts.attr("type","text/javascript");objBgElement.append(clonedContent);objTemplate.remove();} objBgElement.trigger("bg_attached");objBgElement.addClass("uc-bg-attached");});} ucBackgroundOverlayPutStart();jQuery(document).on('elementor/popup/show',ucBackgroundOverlayPutStart);jQuery("body").on('uc_dom_updated',ucBackgroundOverlayPutStart);});</script> <script data-phast-compiled-js-names="ScriptsProxyService/rewrite-function.js,CSSInlining/ie-fallback.js,CSSInlining/inlined-css-retriever.js,ScriptsDeferring/scripts-loader.js,ScriptsDeferring/rewrite.js">(function phastScripts(phast){phast.scripts=[(function(){phast.config=JSON.parse(atob(phast.config));while(phast.scripts.length){phast.scripts.shift()()} }),(function(){(function(a,b){typeof exports==="object"&&typeof module!=="undefined"?module.exports=b():typeof define==="function"&&define.amd?define(b):a.ES6Promise=b()})(phast,function(){"use strict";function c(ia){var ja=typeof ia;return ia!==null&&(ja==="object"||ja==="function")}function d(ka){return typeof ka==="function"}var e=void 0;if(Array.isArray){e=Array.isArray}else{e=function(la){return Object.prototype.toString.call(la)==="[object Array]"}}var f=e;var g=0;var h=void 0;var i=void 0;var j=function ma(na,oa){w[g]=na;w[g+1]=oa;g+=2;if(g===2){if(i){i(x)}else{z()}}};function k(pa){i=pa}function l(qa){j=qa}var m=typeof window!=="undefined"?window:undefined;var n=m||{};var o=n.MutationObserver||n.WebKitMutationObserver;var p=typeof self==="undefined"&&typeof process!=="undefined"&&{}.toString.call(process)==="[object process]";var q=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function r(){return function(){return process.nextTick(x)}}function s(){if(typeof h!=="undefined"){return function(){h(x)}}return v()}function t(){var ra=0;var sa=new o(x);var ta=document.createTextNode("");sa.observe(ta,{characterData:true});return function(){ta.data=ra=++ra%2}}function u(){var ua=new MessageChannel;ua.port1.onmessage=x;return function(){return ua.port2.postMessage(0)}}function v(){var va=setTimeout;return function(){return va(x,1)}}var w=new Array(1e3);function x(){for(var wa=0;wa<g;wa+=2){var xa=w[wa];var ya=w[wa+1];xa(ya);w[wa]=undefined;w[wa+1]=undefined}g=0}function y(){try{var za=Function("return this")().require("vertx");h=za.runOnLoop||za.runOnContext;return s()}catch(Aa){return v()}}var z=void 0;if(p){z=r()}else if(o){z=t()}else if(q){z=u()}else if(m===undefined&&typeof require==="function"){z=y()}else{z=v()}function A(Ba,Ca){var Da=this;var Ea=new this.constructor(D);if(Ea[C]===undefined){$(Ea)}var Fa=Da._state;if(Fa){var Ga=arguments[Fa-1];j(function(){return W(Fa,Ea,Ga,Da._result)})}else{T(Da,Ea,Ba,Ca)}return Ea}function B(Ha){var Ia=this;if(Ha&&typeof Ha==="object"&&Ha.constructor===Ia){return Ha}var Ja=new Ia(D);P(Ja,Ha);return Ja}var C=Math.random().toString(36).substring(2);function D(){}var E=void 0;var F=1;var G=2;var H={error:null};function I(){return new TypeError("You cannot resolve a promise with itself")}function J(){return new TypeError("A promises callback cannot return that same promise.")}function K(Ka){try{return Ka.then}catch(La){H.error=La;return H}}function L(Ma,Na,Oa,Pa){try{Ma.call(Na,Oa,Pa)}catch(Qa){return Qa}}function M(Ra,Sa,Ta){j(function(Ua){var Va=false;var Wa=L(Ta,Sa,function(Xa){if(Va){return}Va=true;if(Sa!==Xa){P(Ua,Xa)}else{R(Ua,Xa)}},function(Ya){if(Va){return}Va=true;S(Ua,Ya)},"Settle: "+(Ua._label||" unknown promise"));if(!Va&&Wa){Va=true;S(Ua,Wa)}},Ra)}function N(Za,$a){if($a._state===F){R(Za,$a._result)}else if($a._state===G){S(Za,$a._result)}else{T($a,undefined,function(_a){return P(Za,_a)},function(a0){return S(Za,a0)})}}function O(b0,c0,d0){if(c0.constructor===b0.constructor&&d0===A&&c0.constructor.resolve===B){N(b0,c0)}else{if(d0===H){S(b0,H.error);H.error=null}else if(d0===undefined){R(b0,c0)}else if(d(d0)){M(b0,c0,d0)}else{R(b0,c0)}}}function P(e0,f0){if(e0===f0){S(e0,I())}else if(c(f0)){O(e0,f0,K(f0))}else{R(e0,f0)}}function Q(g0){if(g0._onerror){g0._onerror(g0._result)}U(g0)}function R(h0,i0){if(h0._state!==E){return}h0._result=i0;h0._state=F;if(h0._subscribers.length!==0){j(U,h0)}}function S(j0,k0){if(j0._state!==E){return}j0._state=G;j0._result=k0;j(Q,j0)}function T(l0,m0,n0,o0){var p0=l0._subscribers;var q0=p0.length;l0._onerror=null;p0[q0]=m0;p0[q0+F]=n0;p0[q0+G]=o0;if(q0===0&&l0._state){j(U,l0)}}function U(r0){var s0=r0._subscribers;var t0=r0._state;if(s0.length===0){return}var u0=void 0,v0=void 0,w0=r0._result;for(var x0=0;x0<s0.length;x0+=3){u0=s0[x0];v0=s0[x0+t0];if(u0){W(t0,u0,v0,w0)}else{v0(w0)}}r0._subscribers.length=0}function V(y0,z0){try{return y0(z0)}catch(A0){H.error=A0;return H}}function W(B0,C0,D0,E0){var F0=d(D0),G0=void 0,H0=void 0,I0=void 0,J0=void 0;if(F0){G0=V(D0,E0);if(G0===H){J0=true;H0=G0.error;G0.error=null}else{I0=true}if(C0===G0){S(C0,J());return}}else{G0=E0;I0=true}if(C0._state!==E){}else if(F0&&I0){P(C0,G0)}else if(J0){S(C0,H0)}else if(B0===F){R(C0,G0)}else if(B0===G){S(C0,G0)}}function X(K0,L0){try{L0(function M0(N0){P(K0,N0)},function O0(P0){S(K0,P0)})}catch(Q0){S(K0,Q0)}}var Y=0;function Z(){return Y++}function $(R0){R0[C]=Y++;R0._state=undefined;R0._result=undefined;R0._subscribers=[]}function _(){return new Error("Array Methods must be provided an Array")}var aa=function(){function S0(T0,U0){this._instanceConstructor=T0;this.promise=new T0(D);if(!this.promise[C]){$(this.promise)}if(f(U0)){this.length=U0.length;this._remaining=U0.length;this._result=new Array(this.length);if(this.length===0){R(this.promise,this._result)}else{this.length=this.length||0;this._enumerate(U0);if(this._remaining===0){R(this.promise,this._result)}}}else{S(this.promise,_())}}S0.prototype._enumerate=function V0(W0){for(var X0=0;this._state===E&&X0<W0.length;X0++){this._eachEntry(W0[X0],X0)}};S0.prototype._eachEntry=function Y0(Z0,$0){var _0=this._instanceConstructor;var ab=_0.resolve;if(ab===B){var bb=K(Z0);if(bb===A&&Z0._state!==E){this._settledAt(Z0._state,$0,Z0._result)}else if(typeof bb!=="function"){this._remaining--;this._result[$0]=Z0}else if(_0===ga){var cb=new _0(D);O(cb,Z0,bb);this._willSettleAt(cb,$0)}else{this._willSettleAt(new _0(function(db){return db(Z0)}),$0)}}else{this._willSettleAt(ab(Z0),$0)}};S0.prototype._settledAt=function eb(fb,gb,hb){var ib=this.promise;if(ib._state===E){this._remaining--;if(fb===G){S(ib,hb)}else{this._result[gb]=hb}}if(this._remaining===0){R(ib,this._result)}};S0.prototype._willSettleAt=function jb(kb,lb){var mb=this;T(kb,undefined,function(nb){return mb._settledAt(F,lb,nb)},function(ob){return mb._settledAt(G,lb,ob)})};return S0}();function ba(pb){return new aa(this,pb).promise}function ca(qb){var rb=this;if(!f(qb)){return new rb(function(sb,tb){return tb(new TypeError("You must pass an array to race."))})}else{return new rb(function(ub,vb){var wb=qb.length;for(var xb=0;xb<wb;xb++){rb.resolve(qb[xb]).then(ub,vb)}})}}function da(yb){var zb=this;var Ab=new zb(D);S(Ab,yb);return Ab}function ea(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function fa(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var ga=function(){function Bb(Cb){this[C]=Z();this._result=this._state=undefined;this._subscribers=[];if(D!==Cb){typeof Cb!=="function"&&ea();this instanceof Bb?X(this,Cb):fa()}}Bb.prototype.catch=function Db(Eb){return this.then(null,Eb)};Bb.prototype.finally=function Fb(Gb){var Hb=this;var Ib=Hb.constructor;return Hb.then(function(Jb){return Ib.resolve(Gb()).then(function(){return Jb})},function(Kb){return Ib.resolve(Gb()).then(function(){throw Kb})})};return Bb}();ga.prototype.then=A;ga.all=ba;ga.race=ca;ga.resolve=B;ga.reject=da;ga._setScheduler=k;ga._setAsap=l;ga._asap=j;function ha(){var Lb=void 0;if(typeof global!=="undefined"){Lb=global}else if(typeof self!=="undefined"){Lb=self}else{try{Lb=Function("return this")()}catch(Ob){throw new Error("polyfill failed because global object is unavailable in this environment")}}var Mb=Lb.Promise;if(Mb){var Nb=null;try{Nb=Object.prototype.toString.call(Mb.resolve())}catch(Pb){}if(Nb==="[object Promise]"&&!Mb.cast){return}}Lb.Promise=ga}ga.polyfill=ha;ga.Promise=ga;return ga}); }),(function(){function murmurhash3_32_gc(a,b){var c,d,e,f,g,h,i,j,k,l;c=a.length&3;d=a.length-c;e=b;g=3432918353;i=461845907;l=0;while(l<d){k=a.charCodeAt(l)&255|(a.charCodeAt(++l)&255)<<8|(a.charCodeAt(++l)&255)<<16|(a.charCodeAt(++l)&255)<<24;++l;k=(k&65535)*g+(((k>>>16)*g&65535)<<16)&4294967295;k=k<<15|k>>>17;k=(k&65535)*i+(((k>>>16)*i&65535)<<16)&4294967295;e^=k;e=e<<13|e>>>19;f=(e&65535)*5+(((e>>>16)*5&65535)<<16)&4294967295;e=(f&65535)+27492+(((f>>>16)+58964&65535)<<16)}k=0;switch(c){case 3:k^=(a.charCodeAt(l+2)&255)<<16;case 2:k^=(a.charCodeAt(l+1)&255)<<8;case 1:k^=a.charCodeAt(l)&255;k=(k&65535)*g+(((k>>>16)*g&65535)<<16)&4294967295;k=k<<15|k>>>17;k=(k&65535)*i+(((k>>>16)*i&65535)<<16)&4294967295;e^=k}e^=a.length;e^=e>>>16;e=(e&65535)*2246822507+(((e>>>16)*2246822507&65535)<<16)&4294967295;e^=e>>>13;e=(e&65535)*3266489909+(((e>>>16)*3266489909&65535)<<16)&4294967295;e^=e>>>16;return e>>>0}phast.hash=murmurhash3_32_gc; }),(function(){phast.buildServiceUrl=function(a,b){if(a.pathInfo){return appendPathInfo(a.serviceUrl,buildQuery(b))}else{return appendQueryString(a.serviceUrl,buildQuery(b))}};function buildQuery(c){if(typeof c==="string"){return c}var d=[];for(var e in c){if(c.hasOwnProperty(e)){d.push(encodeURIComponent(e)+"="+encodeURIComponent(c[e]))}}return d.join("&")}function appendPathInfo(f,g){var h=btoa(g).replace(/=/g,"").replace(/\//g,"_").replace(/\+/g,"-");var i=j(h+".q.js");return f.replace(/\?.*$/,"").replace(/\/__p__\.js$/,"")+"/"+i;function j(l){return k(k(l).match(/[\s\S]{1,255}/g).join("/"))}function k(m){return m.split("").reverse().join("")}}function appendQueryString(n,o){var p=n.indexOf("?")>-1?"&":"?";return n+p+o} }),(function(){var Promise=phast.ES6Promise.Promise;phast.ResourceLoader=function(a,b){this.get=function(c){return b.get(c).then(function(d){if(typeof d!=="string"){throw new Error("response should be string")}return d}).catch(function(){var e=a.get(c);e.then(function(f){b.set(c,f)});return e})}};phast.ResourceLoader.RequestParams={};phast.ResourceLoader.RequestParams.FaultyParams={};phast.ResourceLoader.RequestParams.fromString=function(g){try{return JSON.parse(g)}catch(h){return phast.ResourceLoader.RequestParams.FaultyParams}};phast.ResourceLoader.BundlerServiceClient=function(i,j,k){var l=phast.ResourceLoader.BundlerServiceClient.RequestsPack;var m=l.PackItem;var n;this.get=function(q){if(q===phast.ResourceLoader.RequestParams.FaultyParams){return Promise.reject(new Error("Parameters did not parse as JSON"))}return new Promise(function(r,s){if(n===undefined){n=new l(j)}n.add(new m({success:r,error:s},q));setTimeout(o);if(n.toQuery().length>4500){console.log("[Phast] Resource loader: Pack got too big; flushing early...");o()}})};function o(){if(n===undefined){return}var t=n;n=undefined;p(t)}function p(u){var v=phast.buildServiceUrl({serviceUrl:i,pathInfo:k},"service=bundler&"+u.toQuery());var w=function(){console.error("[Phast] Request to bundler failed with status",y.status);console.log("URL:",v);u.handleError()};var x=function(){if(y.status>=200&&y.status<300){u.handleResponse(y.responseText)}else{u.handleError()}};var y=new XMLHttpRequest;y.open("GET",v);y.addEventListener("error",w);y.addEventListener("abort",w);y.addEventListener("load",x);y.send()}};phast.ResourceLoader.BundlerServiceClient.RequestsPack=function(z){var A={};this.getLength=function(){var F=0;for(var G in A){F++}return F};this.add=function(H){var I;if(H.params.token){I="token="+H.params.token}else if(H.params.ref){I="ref="+H.params.ref}else{I=""}if(!A[I]){A[I]={params:H.params,requests:[H.request]}}else{A[I].requests.push(H.request)}};this.toQuery=function(){var J=[],K=[],L="";B().forEach(function(M){var N,O;for(var P in A[M].params){if(P==="cacheMarker"){K.push(A[M].params.cacheMarker);continue}N=z[P]?z[P]:P;if(P==="strip-imports"){O=encodeURIComponent(N)}else if(P==="src"){O=encodeURIComponent(N)+"="+encodeURIComponent(C(A[M].params.src,L));L=A[M].params.src}else{O=encodeURIComponent(N)+"="+encodeURIComponent(A[M].params[P])}J.push(O)}});if(K.length>0){J.unshift("c="+phast.hash(K.join("|"),23045))}return E(J.join("&"))};function B(){return Object.keys(A).sort(function(R,S){return Q(R,S)?1:Q(S,R)?-1:0});function Q(T,U){if(typeof A[T].params.src!=="undefined"&&typeof A[U].params.src!=="undefined"){return A[T].params.src>A[U].params.src}return T>U}}function C(V,W){var X=0,Y=Math.pow(36,2)-1;while(X<W.length&&V[X]===W[X]){X++}X=Math.min(X,Y);return D(X)+""+V.substr(X)}function D(Z){var $=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];var _=Z%36;var aa=Math.floor((Z-_)/36);return $[aa]+$[_]}function E(ba){if(!/(^|&)s=/.test(ba)){return ba}return ba.replace(/(%..)|([A-M])|([N-Z])/gi,function(ca,da,ea,fa){if(da){return ca}return String.fromCharCode(ca.charCodeAt(0)+(ea?13:-13))})}this.handleResponse=function(ga){try{var ha=JSON.parse(ga)}catch(ja){this.handleError();return}var ia=B();if(ha.length!==ia.length){console.error("[Phast] Requested",ia.length,"items from bundler, but got",ha.length,"response(s)");this.handleError();return}ha.forEach(function(ka,la){if(ka.status===200){A[ia[la]].requests.forEach(function(ma){ma.success(ka.content)})}else{A[ia[la]].requests.forEach(function(na){na.error(new Error("Got from bundler: "+JSON.stringify(ka)))})}})}.bind(this);this.handleError=function(){for(var oa in A){A[oa].requests.forEach(function(pa){pa.error()})}}};phast.ResourceLoader.BundlerServiceClient.RequestsPack.PackItem=function(qa,ra){this.request=qa;this.params=ra};phast.ResourceLoader.IndexedDBStorage=function(sa){var ta=phast.ResourceLoader.IndexedDBStorage;var ua=ta.logPrefix;var va=ta.requestToPromise;var wa;Ba();this.get=function(Ca){return xa("readonly").then(function(Da){return va(Da.get(Ca)).catch(ya("reading from store"))})};this.store=function(Ea){return xa("readwrite").then(function(Fa){return va(Fa.put(Ea)).catch(ya("writing to store"))})};this.clear=function(){return xa("readwrite").then(function(Ga){return va(Ga.clear())})};this.iterateOnAll=function(Ha){return xa("readonly").then(function(Ia){return za(Ha,Ia.openCursor()).catch(ya("iterating on all"))})};function xa(Ja){return wa.get().then(function(Ka){try{return Ka.transaction(sa.storeName,Ja).objectStore(sa.storeName)}catch(La){console.error(ua,"Could not open store; recreating database:",La);Aa();throw La}})}function ya(Ma){return function(Na){console.error(ua,"Error "+Ma+":",Na);Aa();throw Na}}function za(Oa,Pa){return new Promise(function(Qa,Ra){Pa.onsuccess=function(Sa){var Ta=Sa.target.result;if(Ta){Oa(Ta.value);Ta.continue()}else{Qa()}};Pa.onerror=Ra})}function Aa(){var Ua=wa.dropDB().then(Ba);wa={get:function(){return Promise.reject(new Error("Database is being dropped and recreated"))},dropDB:function(){return Ua}}}function Ba(){wa=new phast.ResourceLoader.IndexedDBStorage.Connection(sa)}};phast.ResourceLoader.IndexedDBStorage.logPrefix="[Phast] Resource loader:";phast.ResourceLoader.IndexedDBStorage.requestToPromise=function(Va){return new Promise(function(Wa,Xa){Va.onsuccess=function(){Wa(Va.result)};Va.onerror=function(){Xa(Va.error)}})};phast.ResourceLoader.IndexedDBStorage.ConnectionParams=function(){this.dbName="phastResourcesCache";this.dbVersion=1;this.storeName="resources"};phast.ResourceLoader.IndexedDBStorage.StoredResource=function(Ya,Za){this.token=Ya;this.content=Za};phast.ResourceLoader.IndexedDBStorage.Connection=function($a){var _a=phast.ResourceLoader.IndexedDBStorage.logPrefix;var a0=phast.ResourceLoader.IndexedDBStorage.requestToPromise;var b0;this.get=c0;this.dropDB=d0;function c0(){if(!b0){b0=e0($a)}return b0}function d0(){return c0().then(function(g0){console.error(_a,"Dropping DB");g0.close();b0=null;return a0(window.indexedDB.deleteDatabase($a.dbName))})}function e0(h0){if(typeof window.indexedDB==="undefined"){return Promise.reject(new Error("IndexedDB is not available"))}var i0=window.indexedDB.open(h0.dbName,h0.dbVersion);i0.onupgradeneeded=function(){f0(i0.result,h0)};return a0(i0).then(function(j0){j0.onversionchange=function(){console.debug(_a,"Closing DB");j0.close();if(b0){b0=null}};return j0}).catch(function(k0){console.log(_a,"IndexedDB cache is not available. This is usually due to using private browsing mode.");throw k0})}function f0(l0,m0){l0.createObjectStore(m0.storeName,{keyPath:"token"})}};phast.ResourceLoader.StorageCache=function(n0,o0){var p0=phast.ResourceLoader.IndexedDBStorage.StoredResource;this.get=function(x0){return s0(r0(x0))};this.set=function(y0,z0){return t0(r0(y0),z0,false)};var q0=null;function r0(A0){return JSON.stringify(A0)}function s0(B0){return o0.get(B0).then(function(C0){if(C0){return Promise.resolve(C0.content)}return Promise.resolve()})}function t0(D0,E0,F0){return w0().then(function(G0){var H0=E0.length+G0;if(H0>n0.maxStorageSize){return F0||E0.length>n0.maxStorageSize?Promise.reject(new Error("Storage quota will be exceeded")):u0(D0,E0)}q0=H0;var I0=new p0(D0,E0);return o0.store(I0)})}function u0(J0,K0){return v0().then(function(){return t0(J0,K0,true)})}function v0(){return o0.clear().then(function(){q0=0})}function w0(){if(q0!==null){return Promise.resolve(q0)}var L0=0;return o0.iterateOnAll(function(M0){L0+=M0.content.length}).then(function(){q0=L0;return Promise.resolve(q0)})}};phast.ResourceLoader.StorageCache.StorageCacheParams=function(){this.maxStorageSize=4.5*1024*1024};phast.ResourceLoader.BlackholeCache=function(){this.get=function(){return Promise.reject()};this.set=function(){return Promise.reject()}};phast.ResourceLoader.make=function(N0,O0,P0){var Q0=S0();var R0=new phast.ResourceLoader.BundlerServiceClient(N0,O0,P0);return new phast.ResourceLoader(R0,Q0);function S0(){var T0=window.navigator.userAgent;if(/safari/i.test(T0)&&!/chrome|android/i.test(T0)){console.log("[Phast] Not using IndexedDB cache on Safari");return new phast.ResourceLoader.BlackholeCache}else{var U0=new phast.ResourceLoader.IndexedDBStorage.ConnectionParams;var V0=new phast.ResourceLoader.IndexedDBStorage(U0);var W0=new phast.ResourceLoader.StorageCache.StorageCacheParams;return new phast.ResourceLoader.StorageCache(W0,V0)}}}; }),(function(){var Promise=phast.ES6Promise;phast.ResourceLoader.instance=phast.ResourceLoader.make(phast.config.resourcesLoader.serviceUrl,phast.config.resourcesLoader.shortParamsMappings,phast.config.resourcesLoader.pathInfo);phast.forEachSelectedElement=function(a,b){Array.prototype.forEach.call(window.document.querySelectorAll(a),b)};phast.once=function(c){var d=false;return function(){if(!d){d=true;c.apply(this,Array.prototype.slice(arguments))}}};phast.on=function(e,f){return new Promise(function(g){e.addEventListener(f,g)})};phast.wait=function(h){return new Promise(function(i){setTimeout(i,h)})};phast.on(document,"DOMContentLoaded").then(function(){var j,k;function l(n){return n&&n.nodeType===8&&/^\s*\[Phast\]/.test(n.textContent)}function m(o){while(o){if(l(o)){return o}o=o.nextSibling}return false}k=m(document.documentElement.nextSibling);if(k===false){k=m(document.body.firstChild)}if(k){j=k.textContent.replace(/^\s+|\s+$/g,"").split("\n");console.groupCollapsed(j.shift());console.log(j.join("\n"));console.groupEnd()}});phast.on(document,"DOMContentLoaded").then(function(){var p=performance.timing;var q=[];q.push(["Downloading phases:"]);q.push([" Look up hostname in DNS + %s ms",t(p.domainLookupEnd-p.fetchStart)]);q.push([" Establish connection + %s ms",t(p.connectEnd-p.domainLookupEnd)]);q.push([" Send request + %s ms",t(p.requestStart-p.connectEnd)]);q.push([" Receive first byte + %s ms",t(p.responseStart-p.requestStart)]);q.push([" Download page + %s ms",t(p.responseEnd-p.responseStart)]);q.push([""]);q.push(["Totals:"]);q.push([" Time to first byte %s ms",t(p.responseStart-p.fetchStart)]);q.push([" (since request start) %s ms",t(p.responseStart-p.requestStart)]);q.push([" Total request time %s ms",t(p.responseEnd-p.fetchStart)]);q.push([" (since request start) %s ms",t(p.responseEnd-p.requestStart)]);q.push([" "]);var r=[];var s=[];q.forEach(function(u){r.push(u.shift());s=s.concat(u)});console.groupCollapsed("[Phast] Client-side performance metrics");console.log.apply(console,[r.join("\n")].concat(s));console.groupEnd();function t(v){v=""+v;while(v.length<4){v=" "+v}return v}}); }),(function(){var config=phast.config["script-proxy-service"];var urlPattern=/^(https?:)?\/\//;var typePattern=/^\s*(application|text)\/(x-)?(java|ecma|j|live)script/i;var cacheMarker=Math.floor((new Date).getTime()/1e3/config.urlRefreshTime);var whitelist=compileWhitelistPatterns(config.whitelist);phast.scripts.push(function(){overrideDOMMethod("appendChild");overrideDOMMethod("insertBefore")});function compileWhitelistPatterns(a){var b=/^(.)(.*)\1([a-z]*)$/i;var c=[];a.forEach(function(d){var e=b.exec(d);if(!e){window.console&&window.console.log("Phast: Not a pattern:",d);return}try{c.push(new RegExp(e[2],e[3]))}catch(f){window.console&&window.console.log("Phast: Failed to compile pattern:",d)}});return c}function checkWhitelist(g){for(var h=0;h<whitelist.length;h++){if(whitelist[h].exec(g)){return true}}return false}function overrideDOMMethod(i){var j=Element.prototype[i];var k=function(){var l=processNode(arguments[0]);var m=j.apply(this,arguments);l();return m};Element.prototype[i]=k;window.addEventListener("load",function(){if(Element.prototype[i]===k){delete Element.prototype[i]}})}function processNode(n){if(!n||n.nodeType!==Node.ELEMENT_NODE||n.tagName!=="SCRIPT"||!urlPattern.test(n.src)||n.type&&!typePattern.test(n.type)||n.src.substr(0,config.serviceUrl.length)===config.serviceUrl||!checkWhitelist(n.src)){return function(){}}var o=n.src;n.src=phast.buildServiceUrl(config,{service:"scripts",src:o,cacheMarker:cacheMarker});n.setAttribute("data-phast-rewritten","");return function(){n.src=o}} }),(function(){(function(){var a=function(){if(!("FontFace"in window)){return false}var b=new FontFace("t",'url( "data:font/woff2;base64,d09GMgABAAAAAADwAAoAAAAAAiQAAACoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAALAogOAE2AiQDBgsGAAQgBSAHIBuDAciO1EZ3I/mL5/+5/rfPnTt9/9Qa8H4cUUZxaRbh36LiKJoVh61XGzw6ufkpoeZBW4KphwFYIJGHB4LAY4hby++gW+6N1EN94I49v86yCpUdYgqeZrOWN34CMQg2tAmthdli0eePIwAKNIIRS4AGZFzdX9lbBUAQlm//f262/61o8PlYO/D1/X4FrWFFgdCQD9DpGJSxmFyjOAGUU4P0qigcNb82GAAA" ) format( "woff2" )',{});b.load()["catch"](function(){});return b.status=="loading"||b.status=="loaded"}();if(a){return}console.log("[Phast] Browser does not support WOFF2, falling back to original stylesheets");Array.prototype.forEach.call(document.querySelectorAll("style[data-phast-ie-fallback-url]"),function(c){var d=document.createElement("link");if(c.hasAttribute("media")){d.setAttribute("media",c.getAttribute("media"))}d.setAttribute("rel","stylesheet");d.setAttribute("href",c.getAttribute("data-phast-ie-fallback-url"));c.parentNode.insertBefore(d,c);c.parentNode.removeChild(c)});Array.prototype.forEach.call(document.querySelectorAll("style[data-phast-nested-inlined]"),function(e){e.parentNode.removeChild(e)})})(); }),(function(){phast.stylesLoading=0;var resourceLoader=phast.ResourceLoader.instance;phast.forEachSelectedElement("style[data-phast-params]",function(a){var b=a.getAttribute("data-phast-params");var c=phast.ResourceLoader.RequestParams.fromString(b);phast.stylesLoading++;resourceLoader.get(c).then(function(d){a.textContent=d;a.removeAttribute("data-phast-params")}).catch(function(e){console.warn("[Phast] Failed to load CSS",c,e);var f=a.getAttribute("data-phast-original-src");if(!f){console.error("[Phast] No data-phast-original-src on <style>!",a);return}console.info("[Phast] Falling back to <link> element for",f);var g=document.createElement("link");g.href=f;g.media=a.media;g.rel="stylesheet";g.addEventListener("load",function(){if(a.parentNode){a.parentNode.removeChild(a)}});a.parentNode.insertBefore(g,a.nextSibling)}).finally(function(){phast.stylesLoading--;if(phast.stylesLoading===0&&phast.onStylesLoaded){phast.onStylesLoaded()}})});(function(){var h=[];phast.forEachSelectedElement("style[data-phast-original-id]",function(i){var j=i.getAttribute("data-phast-original-id");if(h[j]){return}h[j]=true;console.warn("[Phast] The style element with id",j,"has been split into multiple style tags due to @import statements and the id attribute has been removed. Normally, this does not cause any issues.")})})(); }),(function(){var Promise=phast.ES6Promise;var hasCurrentScript=!!document.currentScript;phast.ScriptsLoader={};phast.ScriptsLoader.getScriptsInExecutionOrder=function(a,b){var c=Array.prototype.slice.call(a.querySelectorAll('script[type="text/phast"]')).filter(g);var d=[],e=[];for(var f=0;f<c.length;f++){if(getSrc(c[f])!==undefined&&isDefer(c[f])){e.push(c[f])}else{d.push(c[f])}}return d.concat(e).map(function(j){return b.makeScriptFromElement(j)});function g(k){try{var l=phast.config.scriptsLoader.csp}catch(m){return true}if(l.nonce==null){return true}if(k.nonce===l.nonce){return true}try{h(l,k)}catch(n){console.error("Could not send CSP report due to error:",n)}if(l.reportOnly){console.warn("Script with missing or invalid nonce would not be executed (but report-only mode is enabled):",k);return true}console.warn("Script with missing or invalid nonce will not be executed:",k);return false}function h(o,p){var q={"blocked-uri":getSrc(p),disposition:o.reportOnly?"report":"enforce","document-uri":location.href,referrer:a.referrer,"script-sample":i(p),implementation:"phast"};try{p.dispatchEvent(new SecurityPolicyViolationEvent("securitypolicyviolation",{blockedURI:q["blocked-uri"],disposition:q["disposition"],documentURI:q["document-uri"],effectiveDirective:"script-src-elem",originalPolicy:"phast",referrer:q["referrer"],sample:q["script-sample"],statusCode:200,violatedDirective:"script-src-elem"}))}catch(s){console.error("[Phast] Could not dispatch securitypolicyviolation event",s)}if(!o.reportUri){return}var r={"csp-report":q};fetch(o.reportUri,{method:"POST",headers:{"Content-Type":"application/csp-report"},credentials:"same-origin",redirect:"error",keepalive:true,body:JSON.stringify(r)})}function i(t){if(!t.hasAttribute("src")){return t.textContent.substr(0,40)}}};phast.ScriptsLoader.executeScripts=function(u){var v=u.map(function(x){return x.init()});var w=Promise.resolve();u.forEach(function(y){w=phast.ScriptsLoader.chainScript(w,y)});return w.then(function(){return Promise.all(v).catch(function(){})})};phast.ScriptsLoader.chainScript=function(z,A){var B;try{if(A.describe){B=A.describe()}else{B="unknown script"}}catch(C){B="script.describe() failed"}return z.then(function(){var D=A.execute();D.then(function(){console.debug("✓",B)});return D}).catch(function(E){console.error("✘",B);if(E){console.log(E)}})};var insertBefore=window.Element.prototype.insertBefore;phast.ScriptsLoader.Utilities=function(F){this._document=F;var G=0;function H(R){return new Promise(function(S){var T="PhastCompleteScript"+ ++G;var U=I(R);var V=I(T+"()");window[T]=W;F.body.appendChild(U);F.body.appendChild(V);function W(){S();F.body.removeChild(U);F.body.removeChild(V);delete window[T]}})}function I(X){var Y=F.createElement("script");Y.textContent=X;Y.nonce=phast.config.scriptsLoader.csp.nonce;return Y}function J(Z){var $=F.createElement(Z.nodeName);Array.prototype.forEach.call(Z.attributes,function(_){$.setAttribute(_.nodeName,_.nodeValue)});return $}function K(aa){aa.removeAttribute("data-phast-params");var ba={};Array.prototype.map.call(aa.attributes,function(ca){return ca.nodeName}).map(function(da){var ea=da.match(/^data-phast-original-(.*)/i);if(ea){ba[ea[1].toLowerCase()]=aa.getAttribute(da);aa.removeAttribute(da)}});Object.keys(ba).sort().map(function(fa){aa.setAttribute(fa,ba[fa])});if(!("type"in ba)){aa.removeAttribute("type")}}function L(ga,ha){return new Promise(function(ia,ja){var ka=ha.getAttribute("src");ha.addEventListener("load",ia);ha.addEventListener("error",ja);ha.removeAttribute("src");insertBefore.call(ga.parentNode,ha,ga);ga.parentNode.removeChild(ga);if(ka){ha.setAttribute("src",ka)}})}function M(la,ma){return O(la,function(){return P(la,function(){return H(ma)})})}function N(na,oa){return O(oa,function(){return L(na,oa)})}function O(pa,qa){var ra=pa.nextElementSibling;var sa=Promise.resolve();var ta;if(isAsync(pa)){ta="async"}else if(isDefer(pa)){ta="defer"}F.write=function(xa){if(ta){console.warn("document.write call from "+ta+" script ignored");return}ua(xa)};F.writeln=function(ya){if(ta){console.warn("document.writeln call from "+ta+" script ignored");return}ua(ya+"\n")};function ua(za){var Aa=F.createElement("div");Aa.innerHTML=za;var Ba=va(Aa);if(ra&&ra.parentNode!==pa.parentNode){ra=pa.nextElementSibling}while(Aa.firstChild){pa.parentNode.insertBefore(Aa.firstChild,ra)}Ba.map(wa)}function va(Ca){return Array.prototype.slice.call(Ca.getElementsByTagName("script")).filter(function(Da){var Ea=Da.getAttribute("type");return!Ea||/^(text|application)\/javascript(;|$)/i.test(Ea)})}function wa(Fa){var Ga=new phast.ScriptsLoader.Scripts.Factory(F);var Ha=Ga.makeScriptFromElement(Fa);sa=phast.ScriptsLoader.chainScript(sa,Ha)}return qa().then(function(){return sa}).finally(function(){delete F.write;delete F.writeln})}function P(Ia,Ja){if(hasCurrentScript){try{Object.defineProperty(F,"currentScript",{configurable:true,get:function(){return Ia}})}catch(Ka){console.error("[Phast] Unable to override document.currentScript on this browser: ",Ka)}}return Ja().finally(function(){if(hasCurrentScript){delete F.currentScript}})}function Q(La){var Ma=F.createElement("link");Ma.setAttribute("rel","preload");Ma.setAttribute("as","script");Ma.setAttribute("href",La);F.head.appendChild(Ma)}this.executeString=H;this.copyElement=J;this.restoreOriginals=K;this.replaceElement=L;this.writeProtectAndExecuteString=M;this.writeProtectAndReplaceElement=N;this.addPreload=Q};phast.ScriptsLoader.Scripts={};phast.ScriptsLoader.Scripts.InlineScript=function(Na,Oa){this._utils=Na;this._element=Oa;this.init=function(){return Promise.resolve()};this.execute=function(){var Pa=Oa.textContent.replace(/^\s*<!--.*\n/i,"");Na.restoreOriginals(Oa);return Na.writeProtectAndExecuteString(Oa,Pa)};this.describe=function(){return"inline script"}};phast.ScriptsLoader.Scripts.AsyncBrowserScript=function(Qa,Ra){var Sa;this._utils=Qa;this._element=Ra;this.init=function(){Qa.addPreload(getSrc(Ra));return new Promise(function(Ta){Sa=Ta})};this.execute=function(){var Ua=Qa.copyElement(Ra);Qa.restoreOriginals(Ua);Qa.replaceElement(Ra,Ua).then(Sa).catch(Sa);return Promise.resolve()};this.describe=function(){return"async script at "+getSrc(Ra)}};phast.ScriptsLoader.Scripts.SyncBrowserScript=function(Va,Wa){this._utils=Va;this._element=Wa;this.init=function(){Va.addPreload(getSrc(Wa));return Promise.resolve()};this.execute=function(){var Xa=Va.copyElement(Wa);Va.restoreOriginals(Xa);return Va.writeProtectAndReplaceElement(Wa,Xa)};this.describe=function(){return"sync script at "+getSrc(Wa)}};phast.ScriptsLoader.Scripts.AsyncAJAXScript=function(Ya,Za,$a,_a){this._utils=Ya;this._element=Za;this._fetch=$a;this._fallback=_a;var a0;var b0;this.init=function(){a0=$a(Za);return new Promise(function(c0){b0=c0})};this.execute=function(){a0.then(function(d0){Ya.restoreOriginals(Za);return Ya.writeProtectAndExecuteString(Za,d0).then(b0)}).catch(function(){_a.init();return _a.execute().then(b0)});return Promise.resolve()};this.describe=function(){return"bundled async script at "+Za.getAttribute("data-phast-original-src")}};phast.ScriptsLoader.Scripts.SyncAJAXScript=function(e0,f0,g0,h0){this._utils=e0;this._element=f0;this._fetch=g0;this._fallback=h0;var i0;this.init=function(){i0=g0(f0);return i0};this.execute=function(){return i0.then(function(j0){e0.restoreOriginals(f0);return e0.writeProtectAndExecuteString(f0,j0)}).catch(function(){h0.init();return h0.execute()})};this.describe=function(){return"bundled sync script at "+f0.getAttribute("data-phast-original-src")}};phast.ScriptsLoader.Scripts.Factory=function(k0,l0){var m0=phast.ScriptsLoader.Scripts;var n0=new phast.ScriptsLoader.Utilities(k0);this.makeScriptFromElement=function(q0){var r0;if(q0.getAttribute("data-phast-debug-force-method")&&window.location.host.match(/\.test$/)){return new m0[q0.getAttribute("data-phast-debug-force-method")](n0,q0)}if(o0(q0)){if(isAsync(q0)){r0=new m0.AsyncBrowserScript(n0,q0);return l0?new m0.AsyncAJAXScript(n0,q0,l0,r0):r0}r0=new m0.SyncBrowserScript(n0,q0);return l0?new m0.SyncAJAXScript(n0,q0,l0,r0):r0}if(p0(q0)){return new m0.InlineScript(n0,q0)}if(isAsync(q0)){return new m0.AsyncBrowserScript(n0,q0)}return new m0.SyncBrowserScript(n0,q0)};function o0(s0){return s0.hasAttribute("data-phast-params")}function p0(t0){return!t0.hasAttribute("src")}};function getSrc(u0){if(u0.hasAttribute("data-phast-original-src")){return u0.getAttribute("data-phast-original-src")}else if(u0.hasAttribute("src")){return u0.getAttribute("src")}}function isAsync(v0){return v0.hasAttribute("async")||v0.hasAttribute("data-phast-async")}function isDefer(w0){return w0.hasAttribute("defer")||w0.hasAttribute("data-phast-defer")} }),(function(){var Promise=phast.ES6Promise;var go=phast.once(loadScripts);phast.on(document,"DOMContentLoaded").then(function(){if(phast.stylesLoading){phast.onStylesLoaded=go;setTimeout(go,4e3)}else{Promise.resolve().then(go)}});var loadFiltered=false;window.addEventListener("load",function(a){if(!loadFiltered){a.stopImmediatePropagation()}loadFiltered=true});document.addEventListener("readystatechange",function(b){if(document.readyState==="loading"){b.stopImmediatePropagation()}});var didSetTimeout=false;var originalSetTimeout=window.setTimeout;window.setTimeout=function(c,d){if(!d||d<0){didSetTimeout=true}return originalSetTimeout.apply(window,arguments)};function loadScripts(){var e=new phast.ScriptsLoader.Scripts.Factory(document,fetchScript);var f=phast.ScriptsLoader.getScriptsInExecutionOrder(document,e);if(f.length===0){return}setReadyState("loading");phast.ScriptsLoader.executeScripts(f).then(restoreReadyState)}function setReadyState(g){try{Object.defineProperty(document,"readyState",{configurable:true,get:function(){return g}})}catch(h){console.warn("[Phast] Unable to override document.readyState on this browser: ",h)}}function restoreReadyState(){i().then(function(){setReadyState("interactive");triggerEvent(document,"readystatechange");return i()}).then(function(){triggerEvent(document,"DOMContentLoaded");return i()}).then(function(){delete document["readyState"];triggerEvent(document,"readystatechange");if(loadFiltered){triggerEvent(window,"load")}loadFiltered=true});function i(){return new Promise(function(j){(function k(l){if(didSetTimeout&&l<10){didSetTimeout=false;originalSetTimeout.call(window,function(){k(l+1)})}else{requestAnimationFrame(j)}})(0)})}}function triggerEvent(m,n){var o=document.createEvent("Event");o.initEvent(n,true,true);m.dispatchEvent(o)}function fetchScript(p){return phast.ResourceLoader.instance.get(phast.ResourceLoader.RequestParams.fromString(p.getAttribute("data-phast-params")))} })];(phast.scripts.shift())();})({"config":"eyJyZXNvdXJjZXNMb2FkZXIiOnsic2VydmljZVVybCI6Imh0dHBzOi8vd3d3LjM2NmpvdXJzcG91ci5jby93cC1jb250ZW50L3BsdWdpbnMvcGhhc3RwcmVzcy9waGFzdC5waHA/Iiwic2hvcnRQYXJhbXNNYXBwaW5ncyI6eyJzcmMiOiJzIiwic3RyaXAtaW1wb3J0cyI6ImkiLCJjYWNoZU1hcmtlciI6ImMiLCJ0b2tlbiI6InQiLCJpc1NjcmlwdCI6ImoiLCJyZWYiOiJyIn0sInBhdGhJbmZvIjpmYWxzZX0sInNjcmlwdC1wcm94eS1zZXJ2aWNlIjp7InNlcnZpY2VVcmwiOiJodHRwczovL3d3dy4zNjZqb3Vyc3BvdXIuY28vd3AtY29udGVudC9wbHVnaW5zL3BoYXN0cHJlc3MvcGhhc3QucGhwIiwicGF0aEluZm8iOmZhbHNlLCJ1cmxSZWZyZXNoVGltZSI6NzIwMCwid2hpdGVsaXN0IjpbIn5eaHR0cHM/Oi8vd3d3XFwuMzY2am91cnNwb3VyXFwuY28vfiJdfSwic2NyaXB0c0xvYWRlciI6eyJjc3AiOnsibm9uY2UiOm51bGwsInJlcG9ydE9ubHkiOmZhbHNlLCJyZXBvcnRVcmkiOm51bGx9fX0="});</script></body> </html> <!-- [Phast] Document optimized in 26ms -->