Boostez votre high-tech local grâce à une optimisation de mots clés surprenante

Navigation

Vous cherchez à donner un coup de pouce à votre entreprise high-tech locale ? Vous êtes au bon endroit. Dans cet article, nous allons explorer en profondeur comment une optimisation des mots clés locaux peut être une stratégie gagnante pour améliorer votre présence en ligne de manière significative. Que vous soyez une petite startup ou une entreprise établie souhaitant augmenter votre part de marché, ces techniques peuvent transformer votre approche. Allez, c’est parti !

Boostez votre présence locale avec une stratégie optimisée

La présence locale n’est plus une option, c’est une nécessité surtout dans le secteur high-tech. Aujourd’hui, de plus en plus de consommateurs effectuent des recherches locales avant d’acheter, visitant le magasin ou le site pour recueillir plus d’informations. La compétition est rude, et chaque occasion de se démarquer compte. Bien que cela puisse sembler complexe, tout commence par une stratégie de mots clés locaux bien ficelée qui s’intègre dans un plan de marketing global.

Comprendre l’importance des mots clés locaux

Pourquoi les mots clés locaux sont essentiels pour les entreprises high-tech

Les mots clés locaux vous aident à atteindre votre marché cible directement là où il se trouve. Imaginez que quelqu’un cherche un service de réparation high-tech près de chez lui. S’il utilise des termes tels que « réparation smartphone Lyon », vous avez tout intérêt à figurer en haut des résultats. Selon Moz, « la distance entre la personne qui effectue la recherche et un lieu listé est un facteur crucial. » Cela signifie que la proximité est valorisée par les moteurs de recherche, renforçant ainsi l’importance de l’optimisation locale.

Comment les mots clés locaux influencent le référencement local

Le référencement local diffère du SEO traditionnel en se concentrant sur des résultats pertinents pour l’utilisateur local. En outre, les moteurs de recherche, avec leur algorithme de géolocalisation, donnent la priorité aux entreprises qui optimisent leurs pages autour de mots clés locaux. Cela signifie plus de visibilité et potentiellement plus de clients. De plus, l’utilisation de mots clés spécifiques peut améliorer la pertinence de votre contenu, ce qui est perçu positivement par les moteurs de recherche.

Stratégies pour sélectionner efficacement les mots clés locaux

Outils et techniques pour identifier les mots clés les plus pertinents

L’une des étapes essentielles est de choisir les bons outils pour la recherche de mots clés. Des outils comme Google Keyword Planner, SEMrush ou Ahrefs peuvent vous fournir des données précieuses sur le volume de recherche et la difficulté des mots clés. Utiliser ces plateformes peut vous donner un avantage concurrentiel en vous aidant à trouver des mots clés à faible concurrence mais à fort potentiel. Une astuce : utilisez des termes spécifiques à votre région pour attirer votre cible locale et maximiser l’impact de votre contenu localisé.

  • Google Suggest: Tapez simplement votre service suivi de votre localité pour voir des suggestions précieuses. Ces suggestions sont basées sur les tendances de recherche actuelles et peuvent offrir des idées nouvelles et créatives pour votre contenu.
  • Analyse de tendances: Observer ce que les gens recherchent le plus souvent dans votre secteur à l’aide de Google Trends. Cela peut vous permettre d’anticiper les demandes du marché et de répondre aux besoins croissants de vos clients potentiels.

Analyse de la concurrence locale pour des mots clés uniques

Regardons ce que fait la concurrence. Une analyse poussée de leurs mots clés peut dévoiler des opportunités uniques souvent négligées. La clé ici est de trouver un équilibre entre ce qui fonctionne pour la concurrence et ce qui doit être personnalisé pour votre entreprise. Cherchez à comprendre quels sont les mots clés pour lesquels vos concurrents sont bien classés, puis utilisez ces informations pour peaufiner votre propre stratégie. En outre, une telle analyse vous aide à identifier vos propres lacunes dans la stratégie de mots clés.

Mise en œuvre d’une optimisation de mots clés locale

Comment intégrer efficacement les mots clés dans le contenu web

Passons à l’action, voulez-vous ? Intégrer les mots clés locaux dans votre contenu doit être fait avec soin. Ajoutez-les dans vos titres, textes alt des images, et bien sûr, dans le contenu principal. L’astuce ici est la fluidité ; votre texte doit rester naturel et captivant pour les lecteurs tout en optimisant simultanément pour les moteurs de recherche. Les répétitions excessives ou artificielles peuvent être pénalisantes, il est donc important d’éviter le bourrage de mots clés qui peut nuire à l’expérience utilisateur.

Il est conseillé d’opter pour une approche naturelle, en intégrant les mots clés dans des phrases où ils s’intègrent parfaitement. Prenez soin de ne pas surcharger vos contenus ; la qualité doit primer. En maintes occasions, une bonne pratique consiste à rédiger votre contenu d’abord pour l’audience, et ensuite à l’optimiser pour le SEO.

Importance des balises et méta-descriptions locales

Les balises </code> et <code><meta-description></code> sont ces petits détails qui font toute la différence en matière de SEIncluez votre mot clé principal et votre localisation. Par exemple, un bon titre pourrait être « Service de réparation smartphone à Lyon – [Nom de votre entreprise] ». Les méta-descriptions doivent être courtes et percutantes, tout en reflétant votre activité locale. Une bonne méta-description peut inciter les utilisateurs à cliquer sur votre lien lors de recherches, améliorant ainsi votre taux de clic.</p> <h3>Mesurer et analyser les résultats de votre optimisation locale</h3> <h4>Utiliser Google Analytics pour suivre les performances locales</h4> <p>Une fois votre stratégie mise en place, il est crucial de mesurer son efficacité. Google Analytics est un outil indispensable pour ça. Configurez des tableaux de bord spécifiques pour observer le trafic local et examiner les métriques clés comme le taux de clics et le taux de conversion provenant de recherches locales. En obtenant une image claire des résultats engendrés par vos efforts SEO, vous pouvez identifier les contenus qui fonctionnent le mieux, ajuster vos campagnes et maximiser vos retours sur investissement.</p> <h4>Ajuster votre stratégie en fonction des données recueillies</h4> <p>Finalement, l’adaptabilité est votre meilleur allié. Les données collectées ne servent à rien si elles ne sont pas analysées pour améliorer votre stratégie en continu. Soyez prêt à adapter vos mots clés, ajuster votre contenu, voire reconsidérer votre approche en fonction des résultats observés. N’oubliez pas, le paysage SEO est en perpétuelle évolution, et même les stratégies les plus efficaces nécessitent des ajustements continuels pour maintenir votre entreprise à la pointe de la concurrence.</p> <p>Voilà, vous avez maintenant une compréhension approfondie de comment optimiser vos mots clés locaux pour booster votre business high-tech local. Chaque élément de votre stratégie joue un rôle significatif. C’est le moment de donner à votre entreprise cette visibilité locale qu’elle mérite. En appliquant ces conseils, vous vous assurez une meilleure notoriété et une connexion renforcée avec votre clientèle locale.</p> </div> <div class="elementor-element elementor-element-5562e91 elementor-position-left elementor-position-top elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="5562e91" data-element_type="widget" data-widget_type="image-box.default"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img loading="lazy" width="300" height="300" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-full size-full wp-image-1314 ewww_webp" alt="SEOLyon_Thomas_Bernard" data-src-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2024/11/SEOLyon_Thomas_Bernard.jpg" data-src-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2024/11/SEOLyon_Thomas_Bernard.jpg.webp" data-eio="j" /><noscript><img loading="lazy" width="300" height="300" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2024/11/SEOLyon_Thomas_Bernard.jpg" class="attachment-full size-full wp-image-1314" alt="SEOLyon_Thomas_Bernard" /></noscript></figure><div class="elementor-image-box-content"><h3 class="elementor-image-box-title">Thomas Bernard</h3><p class="elementor-image-box-description">Thomas Bernard est consultant SEO à Lyon, où il aide les entreprises à améliorer leur référencement naturel et à booster leur visibilité sur les moteurs de recherche. Avec son expertise technique et ses connaissances approfondies du marché lyonnais, il guide ses clients dans l'optimisation de leurs sites pour une meilleure conversion. Il s’efforce de maintenir ses stratégies SEO à la pointe des dernières innovations.</p></div></div> </div> </div> <div data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-element elementor-element-e879280 e-con-full e-flex e-con e-child" data-id="e879280" data-element_type="container"> <div class="elementor-element elementor-element-01fc24f elementor-hidden-mobile elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents" data-id="01fc24f" data-element_type="widget" data-settings="{"headings_by_tags":["h2"],"exclude_headings_by_selector":[],"marker_view":"bullets","icon":{"value":"fas fa-chevron-right","library":"fa-solid","rendered_tag":"<svg class=\"e-font-icon-svg e-fas-chevron-right\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"><\/path><\/svg>"},"no_headings_message":"Aucun titre n\u2019a \u00e9t\u00e9 trouv\u00e9 sur cette page.","minimize_box":"yes","minimized_on":"tablet","hierarchical_view":"yes","min_height":{"unit":"px","size":"","sizes":[]},"min_height_tablet":{"unit":"px","size":"","sizes":[]},"min_height_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="table-of-contents.default"> <div class="elementor-toc__header"> <h4 class="elementor-toc__header-title"> Navigation </h4> <div class="elementor-toc__toggle-button elementor-toc__toggle-button--expand" role="button" tabindex="0" aria-controls="elementor-toc__01fc24f" aria-expanded="true" aria-label="Ouvrir la table des matières"><svg aria-hidden="true" class="e-font-icon-svg e-fas-chevron-down" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"></path></svg></div> <div class="elementor-toc__toggle-button elementor-toc__toggle-button--collapse" role="button" tabindex="0" aria-controls="elementor-toc__01fc24f" aria-expanded="true" aria-label="Fermer la table des matières"><svg aria-hidden="true" class="e-font-icon-svg e-fas-chevron-up" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"></path></svg></div> </div> <div id="elementor-toc__01fc24f" class="elementor-toc__body"> <div class="elementor-toc__spinner-container"> <svg class="elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading" aria-hidden="true" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><path d="M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z"></path></svg> </div> </div> </div> <div class="elementor-element elementor-element-240ebc0 elementor-grid-1 elementor-grid-tablet-1 elementor-posts--thumbnail-left elementor-grid-mobile-1 elementor-widget elementor-widget-posts" data-id="240ebc0" data-element_type="widget" data-settings="{"classic_columns":"1","classic_columns_tablet":"1","classic_columns_mobile":"1","classic_row_gap":{"unit":"px","size":35,"sizes":[]},"classic_row_gap_tablet":{"unit":"px","size":"","sizes":[]},"classic_row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="posts.classic"> <div class="elementor-widget-container"> <div class="elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid"> <article class="elementor-post elementor-grid-item post-1365 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/definition-seo/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="168" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-medium size-medium wp-image-1366 ewww_webp" alt="définition seo" data-src-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Comment_loptimisation_pour_les_moteurs_de_recherche_revolutionne_la_visibilite_des_objets_connectes-300x168.jpg" data-src-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Comment_loptimisation_pour_les_moteurs_de_recherche_revolutionne_la_visibilite_des_objets_connectes-300x168.jpg.webp" data-eio="j" /><noscript><img loading="lazy" width="300" height="168" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Comment_loptimisation_pour_les_moteurs_de_recherche_revolutionne_la_visibilite_des_objets_connectes-300x168.jpg" class="attachment-medium size-medium wp-image-1366" alt="définition seo" /></noscript></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/definition-seo/" > Comment l’optimisation pour les moteurs de recherche révolutionne la visibilité des objets connectés </a> </h3> </div> </article> <article class="elementor-post elementor-grid-item post-1363 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/referencer-un-site-internet/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="168" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-medium size-medium wp-image-1364 ewww_webp" alt="référencer un site internet" data-src-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Augmenter_la_visibilite_de_votre_site_high_tech_en_quelques_actions_SEO_accessibles_et_efficaces-300x168.jpg" data-src-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Augmenter_la_visibilite_de_votre_site_high_tech_en_quelques_actions_SEO_accessibles_et_efficaces-300x168.jpg.webp" data-eio="j" /><noscript><img loading="lazy" width="300" height="168" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/08/Augmenter_la_visibilite_de_votre_site_high_tech_en_quelques_actions_SEO_accessibles_et_efficaces-300x168.jpg" class="attachment-medium size-medium wp-image-1364" alt="référencer un site internet" /></noscript></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/referencer-un-site-internet/" > Augmenter la visibilité de votre site high-tech en quelques actions SEO accessibles et efficaces </a> </h3> </div> </article> <article class="elementor-post elementor-grid-item post-1361 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/comment-mettre-son-entreprise-sur-google/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/07/Ameliorer_la_visibilite_de_votre_entreprise_high_tech_grace_a_une_fiche_Google_efficace-300x171.webp" class="attachment-medium size-medium wp-image-1362" alt="comment mettre son entreprise sur google" /></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/comment-mettre-son-entreprise-sur-google/" > Améliorer la visibilité de votre entreprise high-tech grâce à une fiche Google efficace </a> </h3> </div> </article> <article class="elementor-post elementor-grid-item post-1359 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/vitesse-d-un-site-web/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/07/Optimiser_la_vitesse_de_chargement_dun_site_web_high_tech_pour_propulser_vos_conversions-300x171.webp" class="attachment-medium size-medium wp-image-1360" alt="vitesse d un site web" /></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/vitesse-d-un-site-web/" > Optimiser la vitesse de chargement d’un site web high-tech pour propulser vos conversions </a> </h3> </div> </article> <article class="elementor-post elementor-grid-item post-1357 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/seo-communication/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/07/Comment_une_strategie_de_referencement_naturel_transforme_la_communication_high_tech-300x171.webp" class="attachment-medium size-medium wp-image-1358" alt="seo communication" /></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/seo-communication/" > Comment une stratégie de référencement naturel transforme la communication high-tech </a> </h3> </div> </article> <article class="elementor-post elementor-grid-item post-1355 post type-post status-publish format-standard has-post-thumbnail hentry category-blog"> <a class="elementor-post__thumbnail__link" href="https://www.agence-seo-lyon.fr/faire-un-audit-seo/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2025/07/Comment_un_audit_seo_sur_un_site_high_tech_revele_des_failles_cachees_et_booste_la_performance-300x171.webp" class="attachment-medium size-medium wp-image-1356" alt="faire un audit seo" /></div> </a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.agence-seo-lyon.fr/faire-un-audit-seo/" > Comment un audit seo sur un site high-tech révèle des failles cachées et booste la performance </a> </h3> </div> </article> </div> </div> </div> </div> </div> </div> <div data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-element elementor-element-897c954 e-flex e-con-boxed e-con e-parent" data-id="897c954" data-element_type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-b593afe elementor-widget elementor-widget-text-editor" data-id="b593afe" data-element_type="widget" data-widget_type="text-editor.default"> <p><strong>PARTAGER SUR :</strong></p> </div> <div class="elementor-element elementor-element-811f690 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="811f690" data-element_type="widget" data-widget_type="share-buttons.default"> <div class="elementor-grid" role="list"> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Partager sur facebook"> <span class="elementor-share-btn__icon"> <svg class="e-font-icon-svg e-fab-facebook" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> Facebook </span> </div> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Partager sur twitter"> <span class="elementor-share-btn__icon"> <svg class="e-font-icon-svg e-fab-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> Twitter </span> </div> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Partager sur linkedin"> <span class="elementor-share-btn__icon"> <svg class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> LinkedIn </span> </div> </div> </div> </div> </div> </div> </div> </div> <div data-elementor-type="footer" data-elementor-id="54" class="elementor elementor-54 elementor-location-footer" data-elementor-post-type="elementor_library"> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-4061b811 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4061b811" data-element_type="section" data-settings="{"stretch_section":"section-stretched","background_background":"classic"}"> <div class="elementor-background-overlay"></div> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-53dac235" data-id="53dac235" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-6e1a5727 elementor-widget elementor-widget-image" data-id="6e1a5727" data-element_type="widget" data-widget_type="image.default"> <img loading="lazy" fetchpriority="high" width="800" height="300" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-full size-full wp-image-413 ewww_webp" alt srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 1w" sizes="(max-width: 800px) 100vw, 800px" data-src-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png" data-src-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png.webp" data-srcset-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png.webp 800w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-300x113.png.webp 300w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-768x288.png.webp 768w" data-srcset-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png 800w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-300x113.png 300w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-768x288.png 768w" data-eio="j" /><noscript><img loading="lazy" fetchpriority="high" width="800" height="300" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-full size-full wp-image-413 ewww_webp" alt srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 1w" sizes="(max-width: 800px) 100vw, 800px" data-src-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png" data-src-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png.webp" data-srcset-webp="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png.webp 800w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-300x113.png.webp 300w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-768x288.png.webp 768w" data-srcset-img="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png 800w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-300x113.png 300w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-768x288.png 768w" data-eio="j" /><noscript><img loading="lazy" fetchpriority="high" width="800" height="300" src="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png" class="attachment-full size-full wp-image-413" alt srcset="https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1.png 800w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-300x113.png 300w, https://www.agence-seo-lyon.fr/wp-content/uploads/2022/04/Agence-LYON1-768x288.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></noscript></noscript> </div> </div> </div> <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-56d8768d" data-id="56d8768d" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-19744e8b elementor-widget elementor-widget-heading" data-id="19744e8b" data-element_type="widget" data-widget_type="heading.default"> <h3 class="elementor-heading-title elementor-size-default">Infos</h3> </div> <div class="elementor-element elementor-element-be373a4 elementor-nav-menu--dropdown-none elementor-widget elementor-widget-nav-menu" data-id="be373a4" data-element_type="widget" data-settings="{"layout":"vertical","submenu_icon":{"value":"<svg class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg>","library":"fa-solid"}}" data-widget_type="nav-menu.default"> <nav aria-label="Menu" class="elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-vertical e--pointer-none"> <ul id="menu-1-be373a4" class="elementor-nav-menu sm-vertical"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1212"><a href="/blog" class="elementor-item">Blog</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39"><a href="https://www.agence-seo-lyon.fr/nous-contacter/" class="elementor-item">Nous Contacter</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="https://www.agence-seo-lyon.fr/mentions-legales/" class="elementor-item">Mentions légales</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1211"><a href="/sitemap.xml" class="elementor-item">Sitemap</a></li> </ul> </nav> <nav class="elementor-nav-menu--dropdown elementor-nav-menu__container" aria-hidden="true"> <ul id="menu-2-be373a4" class="elementor-nav-menu sm-vertical"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1212"><a href="/blog" class="elementor-item" tabindex="-1">Blog</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39"><a href="https://www.agence-seo-lyon.fr/nous-contacter/" class="elementor-item" tabindex="-1">Nous Contacter</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="https://www.agence-seo-lyon.fr/mentions-legales/" class="elementor-item" tabindex="-1">Mentions légales</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1211"><a href="/sitemap.xml" class="elementor-item" tabindex="-1">Sitemap</a></li> </ul> </nav> </div> </div> </div> <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-75b608f5" data-id="75b608f5" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-15d8dfe elementor-widget elementor-widget-heading" data-id="15d8dfe" data-element_type="widget" data-widget_type="heading.default"> <h3 class="elementor-heading-title elementor-size-default">Contactez nous</h3> </div> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-inner-section elementor-element elementor-element-5a33ec73 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5a33ec73" data-element_type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-372eaf4e" data-id="372eaf4e" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-5959d1a elementor-widget elementor-widget-heading" data-id="5959d1a" data-element_type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Adresse :</p> </div> </div> </div> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-54263724" data-id="54263724" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-24b08f02 elementor-widget elementor-widget-heading" data-id="24b08f02" data-element_type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">35 Rue de Marseille, 69007 Lyon, France</p> </div> </div> </div> </div> </section> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-inner-section elementor-element elementor-element-39bb7ef4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="39bb7ef4" data-element_type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6a19093f" data-id="6a19093f" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-447a7c83 elementor-widget elementor-widget-heading" data-id="447a7c83" data-element_type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Email : </p> </div> </div> </div> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-346d8074" data-id="346d8074" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-1e8c72a4 elementor-widget elementor-widget-heading" data-id="1e8c72a4" data-element_type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default"><a href="mailto:contact@agence-seo-lyon.fr">contact@agence-seo-lyon.fr</a></p> </div> </div> </div> </div> </section> </div> </div> <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-60373983 elementor-hidden-tablet" data-id="60373983" data-element_type="column"> <div class="elementor-widget-wrap"> </div> </div> </div> </section> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-692e2703 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="692e2703" data-element_type="section" data-settings="{"stretch_section":"section-stretched","background_background":"classic"}"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b0ed70" data-id="1b0ed70" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-4421795 elementor-widget elementor-widget-text-editor" data-id="4421795" data-element_type="widget" data-widget_type="text-editor.default"> <p>© 2025 Agence SEO Lyon. Tout Droit Réservés.</p> </div> </div> </div> </div> </section> </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/hello-elementor/*","/*\\?(.+)"]}},{"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.agence-seo-lyon.fr/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" data-phast-params='{"ref":"X1XHCtVE2js"}' type="text/phast" id="wp-hooks-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" data-phast-params='{"ref":"i_d4o6Ao3HA"}' type="text/phast" id="wp-i18n-js"></script> <script type="text/phast" id="wp-i18n-js-after">wp.i18n.setLocaleData({'text direction\u0004ltr':['ltr']});</script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.1" data-phast-params='{"ref":"-XXsOnEi8vI"}' type="text/phast" id="swv-js"></script> <script type="text/phast" id="contact-form-7-js-before">var wpcf7={"api":{"root":"https:\/\/www.agence-seo-lyon.fr\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":1};</script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.1" data-phast-params='{"ref":"5hez6VKWlGM"}' type="text/phast" id="contact-form-7-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/themes/hello-elementor/assets/js/hello-frontend.js?ver=3.4.4" data-phast-params='{"ref":"L01Uh58zNLc"}' type="text/phast" id="hello-theme-frontend-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.31.3" data-phast-params='{"ref":"2PjcspI51bY"}' type="text/phast" id="elementor-webpack-runtime-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.31.3" data-phast-params='{"ref":"AOvPU74L7t0"}' type="text/phast" id="elementor-frontend-modules-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" data-phast-params='{"ref":"UKl_mJEeLaM"}' type="text/phast" id="jquery-ui-core-js"></script> <script type="text/phast" id="elementor-frontend-js-before">var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"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}},"hasCustomBreakpoints":false},"version":"3.31.3","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"nested-elements":true,"e_element_cache":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"cloud-library":true,"e_opt_in_v4_page":true,"mega-menu":true},"urls":{"assets":"https:\/\/www.agence-seo-lyon.fr\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.agence-seo-lyon.fr\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.agence-seo-lyon.fr\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"6cd4c465cf"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"title","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":873,"title":"Boostez%20votre%20high-tech%20avec%20des%20mots%20cl%C3%A9s%20locaux%20efficaces","excerpt":"","featuredImage":"https:\/\/www.agence-seo-lyon.fr\/wp-content\/uploads\/2024\/09\/Boostez_votre_high_tech_local_grace_a_une_optimisation_de_mots_cles_surprenante-1024x578.webp"}};</script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.31.3" data-phast-params='{"ref":"eRP3iNVeVeo"}' type="text/phast" id="elementor-frontend-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1" data-phast-params='{"ref":"xGyMG82bNVg"}' type="text/phast" id="smartmenus-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-includes/js/imagesloaded.min.js?ver=5.0.0" data-phast-params='{"ref":"v2HQDIkR4O8"}' type="text/phast" id="imagesloaded-js"></script> <script type="text/phast" id="eael-general-js-extra">var localize = {"ajaxurl":"https:\/\/www.agence-seo-lyon.fr\/wp-admin\/admin-ajax.php","nonce":"c3c5b3be5a","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.agence-seo-lyon.fr\/boostez-votre-high-tech-local-grace-a-une-optimisation-de-mots-cles-surprenante\/","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":"c3743cba9d","eael_register_nonce":"d89b8df9d3","eael_lostpassword_nonce":"26b8f61f3e","eael_resetpassword_nonce":"d545cecf85"};</script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.3.0" data-phast-params='{"ref":"fGPdZ4LwDUI"}' type="text/phast" id="eael-general-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.29.2" data-phast-params='{"ref":"xoqL8VmEulI"}' type="text/phast" id="elementor-pro-webpack-runtime-js"></script> <script type="text/phast" id="elementor-pro-frontend-js-before">var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/www.agence-seo-lyon.fr\/wp-admin\/admin-ajax.php","nonce":"921c1cded9","urls":{"assets":"https:\/\/www.agence-seo-lyon.fr\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.agence-seo-lyon.fr\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":false},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"fr_FR","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.agence-seo-lyon.fr\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};</script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.29.2" data-phast-params='{"ref":"TYjCSeP1yb4"}' type="text/phast" id="elementor-pro-frontend-js"></script> <script data-phast-original-src="https://www.agence-seo-lyon.fr/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=3.29.2" data-phast-params='{"ref":"aZ5_MV__3rE"}' type="text/phast" id="pro-elements-handlers-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 type="text/phast" async src="https://www.googletagmanager.com/gtag/js?id=G-F4RLTJ3VDL"></script> <script type="text/phast">window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);} gtag('js',new Date());gtag('config','G-F4RLTJ3VDL');</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":"eyJyZXNvdXJjZXNMb2FkZXIiOnsic2VydmljZVVybCI6Imh0dHBzOi8vd3d3LmFnZW5jZS1zZW8tbHlvbi5mci93cC1jb250ZW50L3BsdWdpbnMvcGhhc3RwcmVzcy9waGFzdC5waHA/Iiwic2hvcnRQYXJhbXNNYXBwaW5ncyI6eyJzcmMiOiJzIiwic3RyaXAtaW1wb3J0cyI6ImkiLCJjYWNoZU1hcmtlciI6ImMiLCJ0b2tlbiI6InQiLCJpc1NjcmlwdCI6ImoiLCJyZWYiOiJyIn0sInBhdGhJbmZvIjpmYWxzZX0sInNjcmlwdC1wcm94eS1zZXJ2aWNlIjp7InNlcnZpY2VVcmwiOiJodHRwczovL3d3dy5hZ2VuY2Utc2VvLWx5b24uZnIvd3AtY29udGVudC9wbHVnaW5zL3BoYXN0cHJlc3MvcGhhc3QucGhwIiwicGF0aEluZm8iOmZhbHNlLCJ1cmxSZWZyZXNoVGltZSI6NzIwMCwid2hpdGVsaXN0IjpbIn5eaHR0cHM/Oi8vd3d3XFwuYWdlbmNlXFwtc2VvXFwtbHlvblxcLmZyL34iXX0sInNjcmlwdHNMb2FkZXIiOnsiY3NwIjp7Im5vbmNlIjpudWxsLCJyZXBvcnRPbmx5IjpmYWxzZSwicmVwb3J0VXJpIjpudWxsfX19"});</script></body> </html> <!-- [Phast] Document optimized in 19ms -->