8 Commits

31 changed files with 84 additions and 48 deletions

View File

@@ -39,3 +39,11 @@ h6 {
font-variation-settings: 'wght' 600.0; font-variation-settings: 'wght' 600.0;
color: var(--yellow); color: var(--yellow);
} }
.height-title {
min-height: 50vh;
display: flex;
justify-content: center;
align-content: center;
flex-direction: column;
}

View File

@@ -32,7 +32,6 @@ params:
- link: plugins/slick/slick.min.js - link: plugins/slick/slick.min.js
- link: plugins/shuffle/shuffle.min.js - link: plugins/shuffle/shuffle.min.js
- link: plugins/magnific-popup/jquery.magnific-popup.min.js - link: plugins/magnific-popup/jquery.magnific-popup.min.js
- link: plugins/lazy-load/lozad.min.js
# - link: plugins/google-map/map.js # - link: plugins/google-map/map.js
logo: images/jarnat-logo.svg logo: images/jarnat-logo.svg

View File

@@ -26,4 +26,4 @@ menu:
# Texte en bas de page # Texte en bas de page
copyright: >- copyright: >-
Copyright © 2022 Copyright © 2022 - [Mentions Légales](/mentions-legales/)

View File

@@ -0,0 +1,34 @@
---
title: Mentions Légales
date: 2022-09-13
---
## Éditeur
Le site WEB https://jarnat.fr est édité par :
XXX
Immatriculée
## Directeur de publication
xxx
## Hébergement
Le site WEB https://jarnat.fr est hébergé avec sobriété par [RésiLien](https://resilien.fr) une marque de la Coopérative d'Activité et d'Emploi [CAP Services](https://www.cap-services.coop/).
11 rue Duphot, 69003 Lyon
04.72.84.60.50
## Développement et Maintenance
Le site WEB https://jarnat.fr a été réalisé de façon éco-responsable par [Weko](https://weko.io), pour un numérique responsable de proximité, une marque de la Coopérative d'Activité et d'Emploi [CAP Services](https://www.cap-services.coop/).
11 rue Duphot, 69003 Lyon
04.72.84.60.50
## Liens hypertextes
Les liens hypertextes mis en œuvre en direction dautres sites WEB ne sauraient engager la responsabilité de Jarnat, car nous nexerçons aucun contrôle sur le contenu des sites auxquels ces liens renvoient.
## Cookie
Ce site n'installe aucun cookie, c'est pourquoi il n'y a aucun bandeau spécifique. Nous respectons la vie privée de nos visiteurs.

View File

@@ -10,12 +10,11 @@ about:
- icon : #ti-ruler-pencil # themify icon pack : https://themify.me/themify-icons - icon : #ti-ruler-pencil # themify icon pack : https://themify.me/themify-icons
title : Travail discret title : Travail discret
content : > content : >
Travail discret :
Nous travaillons dans le calme avec des outils manuels et électriques afin de ne pas perturber votre environnement. Lintervention se fait en équipe de 2, ce qui diminue le temps dintervention sur place afin dêtre le plus efficace possible. Nous veillons à la tranquillité, au respect et à la propreté des lieux. Nous travaillons dans le calme avec des outils manuels et électriques afin de ne pas perturber votre environnement. Lintervention se fait en équipe de 2, ce qui diminue le temps dintervention sur place afin dêtre le plus efficace possible. Nous veillons à la tranquillité, au respect et à la propreté des lieux.
- icon : #ti-cup # themify icon pack : https://themify.me/themify-icons - icon : #ti-cup # themify icon pack : https://themify.me/themify-icons
title : Travail responsable title : Travail responsable
content : Les jardiniers et jardinières qui interviennent chez vous sont associés à lentreprise et ont le soucis de bien faire, pour vous, votre faune et votre flore. Par ailleurs nous nous déplaçons à vélo pour limiter notre impact sur la ville ! content : Les jardiniers et jardinières qui interviennent chez vous sont associés à lentreprise et ont le souci de bien faire, pour vous, votre faune et votre flore. Par ailleurs nous nous déplaçons à vélo pour limiter notre impact sur la ville !
- icon : #ti-thought # themify icon pack : https://themify.me/themify-icons - icon : #ti-thought # themify icon pack : https://themify.me/themify-icons
title : Travail pour mieux vivre en ville title : Travail pour mieux vivre en ville

View File

@@ -2,7 +2,7 @@
contact: contact:
enable : true enable : true
title : Contact title : Contact
subtitle : Contact Details #subtitle : Contact Details
content : | content : |
Nous viendrons vous rencontrer lors dun passage gratuit, pour comprendre vos besoins et expliquer nos méthodes. Nous viendrons vous rencontrer lors dun passage gratuit, pour comprendre vos besoins et expliquer nos méthodes.

View File

@@ -7,10 +7,11 @@ feature:
image_webp : images/jarnat-icon.svg image_webp : images/jarnat-icon.svg
title : Entretien des jardins de particuliers, entreprises, résidences, associations, bailleurs title : Entretien des jardins de particuliers, entreprises, résidences, associations, bailleurs
content : | content : |
Particulier ? Bénéficiez du Service à la personne (SAP) 50% du prix est prise en charge en partenariat avec la coopérative basque Jardiniers professionnels. Contactez-nous et nous passerons vous rencontrer gratuitement." Particulier ? Bénéficiez du [Service À la Personne (SAP)](https://www.jardiniers-professionnels.fr/credit-dimpot-et-entretien-de-jardin/) 50% du prix est pris en charge en partenariat avec la coopérative basque Jardiniers professionnels.
Contactez-nous et nous passerons vous rencontrer gratuitement.
call_to_action: call_to_action:
text: En savoir plus text: Comment avoir une réduction de 50% ?
link: "#contact" link: "https://www.jardiniers-professionnels.fr/credit-dimpot-et-entretien-de-jardin/"
# feature_item : # feature_item :
# # feature item loop # # feature item loop

View File

@@ -4,9 +4,10 @@ skill:
title : "Nos modalités" title : "Nos modalités"
subtitle : "Notre zone d'intervention" subtitle : "Notre zone d'intervention"
content : | content : |
Vos cyclistes jardiniers sont en capacité de venir soccuper de vos jardins sur les communes de Bordeaux, Bègles, Villenave dOrnon, Talence, Pessac, Mérignac, Le Bouscat, Bruges et Floirac. A Bordeaux, nous passons dans tous les quartiers, de l'hypercentre à Caudéran, Chartrons, Grand Parc, Jardin Public, La Bastide, Nansouty, Saint-Genès, Saint-Augustin, Tauzin, Alphonse Dupeux, La Benauge, Saint-Jean, Bacalan, Saint Seurin, Faudondège, Quinconces, Capucins, Victoire, Mériadeck, Saint-Pierre, Ginko, Saint-Bruno. Vos cyclistes jardiniers sont en capacité de venir soccuper de vos jardins sur les communes de Bordeaux, Bègles, Villenave dOrnon, Talence, Pessac, Mérignac, Le Bouscat, Bruges et Floirac.
A Bordeaux, nous passons dans tous les quartiers, de l'hypercentre à Caudéran, Chartrons, Grand Parc, Jardin Public, La Bastide, Nansouty, Saint-Genès, Saint-Augustin, Tauzin, Alphonse Dupeux, La Benauge, Saint-Jean, Bacalan, Saint Seurin, Faudondège, Quinconces, Capucins, Victoire, Mériadeck, Saint-Pierre, Ginko, Saint-Bruno.
# image : images/about/company-growth.webp # image : images/about/company-growth.webp
image : images/about/carte.png image : images/about/carte.svg
call_to_action : call_to_action :
- icon : ti-mobile # themify icon pack : https://themify.me/themify-icons - icon : ti-mobile # themify icon pack : https://themify.me/themify-icons
text : 06 99 99 00 33 text : 06 99 99 00 33

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

1
static/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
static/images/sponsors.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -121,7 +121,6 @@ share those images.
- [Bootstrap](https://getbootstrap.com/docs/4.3/getting-started/introduction/) - [Bootstrap](https://getbootstrap.com/docs/4.3/getting-started/introduction/)
- [Jquery](https://jquery.com/download/) - [Jquery](https://jquery.com/download/)
- [Themify Icons](https://themify.me/themify-icons) - [Themify Icons](https://themify.me/themify-icons)
- [Lozad](https://apoorv.pro/lozad.js/)
- [Magnific Popup](https://dimsemenov.com/plugins/magnific-popup/) - [Magnific Popup](https://dimsemenov.com/plugins/magnific-popup/)
- [Slick Slider](https://kenwheeler.github.io/slick/) - [Slick Slider](https://kenwheeler.github.io/slick/)
- [Shuffle](https://vestride.github.io/Shuffle/) - [Shuffle](https://vestride.github.io/Shuffle/)

View File

@@ -8,12 +8,12 @@ Tags: one-page, single-page, portfolio, custom-colors, post-formats, responsive,
*/ */
/*=== MEDIA QUERY ===*/ /*=== MEDIA QUERY ===*/
html { html {
background-color: #353b43; background-color: var(--green);
color: #737f8a; color: #737f8a;
} }
body { body {
background-color: #353b43; background-color: var(--green);
color: #fff; color: #fff;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
} }

View File

@@ -9,13 +9,6 @@ $(window).on('load', function () {
jQuery(function ($) { jQuery(function ($) {
"use strict"; "use strict";
/* ========================================================================= */
/* lazy load initialize
/* ========================================================================= */
const observer = lozad(); // lazy loads elements with default selector as ".lozad"
observer.observe();
/* ========================================================================= */ /* ========================================================================= */
/* Magnific popup /* Magnific popup
/* ========================================================================= */ /* ========================================================================= */

View File

@@ -1,7 +1,7 @@
<article class="col-lg-4 col-md-6 col-12 clearfix wow fadeInUp mb-4" data-wow-duration="500ms"> <article class="col-lg-4 col-md-6 col-12 clearfix wow fadeInUp mb-4" data-wow-duration="500ms">
<div class="post-block"> <div class="post-block">
<div class="media-wrapper"> <div class="media-wrapper">
<img class="img-fluid lozad" data-src="{{ .Params.Image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .Params.image | absURL }}'"> <img class="img-fluid" src="{{ .Params.Image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .Params.image | absURL }}'" loading="lazy">
</div> </div>
<div class="content"> <div class="content">

View File

@@ -5,13 +5,19 @@
<section class="section"> <section class="section">
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-8 offset-lg-2 text-center"> <div class="col-lg-8 offset-lg-2 text-center height-title">
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
<ul class="list-inline mb-50"> <ul class="list-inline mb-50">
{{ if .Params.Author }}
<li class="list-inline-item"><a href="{{ `author/` | relLangURL }}{{ .Params.Author | urlize }}/">{{ .Params.Author }}</a></li> <li class="list-inline-item"><a href="{{ `author/` | relLangURL }}{{ .Params.Author | urlize }}/">{{ .Params.Author }}</a></li>
<li class="list-inline-item">{{ dateFormat "Monday, Jan 2, 2006" .Date }}</li> {{ end }}
{{ if .Date }}
<li class="list-inline-item">Dernière modification :<br> {{ .Date | time.Format ":date_full" }}</li>
{{ end }}
</ul> </ul>
<img class="img-fluid mb-50 lozad" data-src="{{ .Params.Image | absURL }}" alt="blog-image"> {{ if .Params.Image }}
<img class="img-fluid mb-50" src="{{ .Params.Image | absURL }}" alt="blog-image" loading="lazy">
{{ end }}
</div> </div>
<div class="col-lg-8 offset-lg-2"> <div class="col-lg-8 offset-lg-2">
<div class="post-single-content"> <div class="post-single-content">

View File

@@ -14,10 +14,10 @@
<div class="content text-center"> <div class="content text-center">
<figure> <figure>
{{ if .Params.Image }} {{ if .Params.Image }}
<img class="rounded-circle img-fluid lozad" data-src="{{.Params.Image | relURL }}"> <img class="rounded-circle img-fluid" src="{{.Params.Image | relURL }}" loading="lazy">
{{else if .Params.Email}} {{else if .Params.Email}}
<img class="rounded-circle img-fluid lozad" <img class="rounded-circle img-fluid"
data-src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon"> src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon" loading="lazy">
{{ end }} {{ end }}
<figcaption> <figcaption>
<h5 class="font-weight-bold"> <h5 class="font-weight-bold">

View File

@@ -5,7 +5,7 @@
{{"<!-- Welcome Slider-->" | safeHTML}} {{"<!-- Welcome Slider-->" | safeHTML}}
<section class="hero-area" style='background-image: url("{{ .bg_image_webp | absURL }}")'> <section class="hero-area" style='background-image: url("{{ .bg_image_webp | absURL }}")'>
<!-- this image is for trigger this section fallback background image --> <!-- this image is for trigger this section fallback background image -->
<img class="d-none" src="{{ .bg_image_webp | absURL }}" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .bg_image | absURL }})'"/> <img class="d-none" src="{{ .bg_image_webp | absURL }}" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .bg_image | absURL }})'" loading="lazy"/>
<div class="block p-6"> <div class="block p-6">
{{ if .icon }} {{ if .icon }}

View File

@@ -18,8 +18,10 @@
{{"<!-- Contact Details -->" | safeHTML}} {{"<!-- Contact Details -->" | safeHTML}}
<div class="contact-info col-lg-6 wow fadeInUp" data-wow-duration="500ms"> <div class="contact-info col-lg-6 wow fadeInUp" data-wow-duration="500ms">
<h3>{{ .subtitle | markdownify }}</h3> {{ with .subtitle }}
<p> {{ .content | markdownify }} </p> <h3>{{ . | markdownify }}</h3>
{{ end }}
{{ .content | markdownify }}
</div> </div>
<div class="contact-details col-lg-6"> <div class="contact-details col-lg-6">

View File

@@ -8,7 +8,7 @@
<div class="row justify-content-center align-items-center"> <div class="row justify-content-center align-items-center">
<div class="col-12 col-md-2 m-md-0 m-5 m-md-3" style="height: 150px; background-image: url('{{ .image_webp | absURL }}'); background-size: contain; background-position: center; background-repeat: no-repeat; "> <div class="col-12 col-md-2 m-md-0 m-5 m-md-3" style="height: 150px; background-image: url('{{ .image_webp | absURL }}'); background-size: contain; background-position: center; background-repeat: no-repeat; ">
<!-- this image is for trigger this section fallback background image --> <!-- this image is for trigger this section fallback background image -->
<img src="{{ .image_webp | absURL }}" style="display: none;" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .image | absURL }})'"> <img src="{{ .image_webp | absURL }}" style="display: none;" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .image | absURL }})'" loading="lazy">
</div> </div>
<div class="col-12 col-md-9"> <div class="col-12 col-md-9">
<div class="content-block"> <div class="content-block">

View File

@@ -18,10 +18,11 @@
{{"<!-- copyright -->" | safeHTML}} {{"<!-- copyright -->" | safeHTML}}
<div class="copyright text-center"> <div class="copyright text-center">
<a href="{{ site.Home.Permalink }}"> <a href="{{ site.Home.Permalink }}">
<img src="{{ site.Params.logo | absURL }}" alt="{{ site.Title }}" height="42" /> <img src="{{ site.Params.logo | absURL }}" alt="{{ site.Title }}" height="42" loading="lazy" />
</a> </a>
<br> <br>
<p>{{ site.Params.copyright | markdownify }}</p> <p>{{ site.Params.copyright | markdownify }}</p>
<img src="/images/sponsors.jpg" alt="Sponsors : Nouvelle Aquitaine - UE" height="100" loading="lazy" />
</div> </div>
</div> </div>
</div> </div>

View File

@@ -5,7 +5,7 @@
{{"<!-- Start Counter Section -->" | safeHTML}} {{"<!-- Start Counter Section -->" | safeHTML}}
<section id="counter" class="parallax-section bg-1 section overly" style='background-image: url("{{ .bg_image_webp | absURL }}")'> <section id="counter" class="parallax-section bg-1 section overly" style='background-image: url("{{ .bg_image_webp | absURL }}")'>
<!-- this image is for trigger this section fallback background image --> <!-- this image is for trigger this section fallback background image -->
<img class="lozad" style="display: none;" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .bg_image | absURL }})'" data-src="{{ .bg_image_webp | absURL }}" /> <img style="display: none;" onerror="this.onerror=null;this.parentElement.style.backgroundImage= 'url({{ .bg_image | absURL }})'" src="{{ .bg_image_webp | absURL }}" loading="lazy" />
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
{{ range .counter_item }} {{ range .counter_item }}

View File

@@ -23,8 +23,8 @@
<link rel="stylesheet" href="{{ $custom.Permalink }}" media="screen"> <link rel="stylesheet" href="{{ $custom.Permalink }}" media="screen">
{{ "<!--Favicon-->" | safeHTML }} {{ "<!--Favicon-->" | safeHTML }}
<link rel="shortcut icon" href="{{ `images/favicon.png` | absURL }}" type="image/x-icon"> <link rel="shortcut icon" href="{{ `/favicon.ico` | absURL }}" type="image/x-icon">
<link rel="icon" href="{{ `images/favicon.png` | absURL }}" type="image/x-icon"> <link rel="icon" href="{{ `/favicon.svg` | absURL }}" type="image/svg+xml">
{{ with site.Params.google_analytics_id }} {{ with site.Params.google_analytics_id }}
{{ "<!-- Global Site Tag (gtag.js) - Google Analytics -->" | safeHTML }} {{ "<!-- Global Site Tag (gtag.js) - Google Analytics -->" | safeHTML }}

View File

@@ -4,7 +4,7 @@
<nav class="navbar navbar-expand-sm navbar-dark"> <nav class="navbar navbar-expand-sm navbar-dark">
<a class="navbar-brand p-0" href="{{ .Site.BaseURL | relLangURL }}"> <a class="navbar-brand p-0" href="{{ .Site.BaseURL | relLangURL }}">
{{ if site.Params.logo }} {{ if site.Params.logo }}
<img class="lozad" data-src="{{ site.Params.logo | absURL }}" alt="{{ .Site.Title }}" height="42"> <img src="{{ site.Params.logo | absURL }}" alt="{{ .Site.Title }}" height="42" loading="lazy">
{{ else }} {{ else }}
{{ site.Title }} {{ site.Title }}
{{ end }} {{ end }}

View File

@@ -18,7 +18,7 @@
<div class="row"> <div class="row">
{{ with .image }} {{ with .image }}
<div class="col-lg-6 p-3 text-center"> <div class="col-lg-6 p-3 text-center">
<img class="img-fluid lozad" data-src="{{ . | absURL }}" alt="image"> <img class="img-fluid" src="{{ . | absURL }}" alt="image" loading="lazy">
</div> </div>
{{ end }} {{ end }}
<div class="col-lg-{{ with .image }}6{{else}}12{{ end }} p-3"> <div class="col-lg-{{ with .image }}6{{else}}12{{ end }} p-3">

View File

@@ -22,7 +22,7 @@
<div class="team-member"> <div class="team-member">
<div class="member-photo"> <div class="member-photo">
{{"<!-- member photo -->" | safeHTML}} {{"<!-- member photo -->" | safeHTML}}
<img class="img-fluid lozad" data-src="{{ .image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .image | absURL }}'" alt="{{ .name }}"> <img class="img-fluid" src="{{ .image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .image | absURL }}'" alt="{{ .name }}" loading="lazy">
{{"<!-- member social profile -->" | safeHTML}} {{"<!-- member social profile -->" | safeHTML}}
<div class="mask"> <div class="mask">

View File

@@ -18,7 +18,7 @@
{{"<!-- client photo -->" | safeHTML}} {{"<!-- client photo -->" | safeHTML}}
<div class="client-thumb"> <div class="client-thumb">
<img class="img-fluid lozad" data-src="{{ .image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .image | absURL }}'" alt="{{ .name }}"> <img class="img-fluid" src="{{ .image_webp | absURL }}" onerror="this.onerror=null;this.src='{{ .image | absURL }}'" alt="{{ .name }}" loading="lazy">
</div> </div>
{{"<!-- client info -->" | safeHTML}} {{"<!-- client info -->" | safeHTML}}

View File

@@ -1,9 +0,0 @@
/*! lozad.js - v1.9.0 - 2019-02-09
* https://github.com/ApoorvSaxena/lozad.js
* Copyright (c) 2019 Apoorv Saxena; Licensed MIT */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict";var g=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},n="undefined"!=typeof document&&document.documentMode,l={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=document.createElement("img");n&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),t.appendChild(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var r=t.children,o=void 0,a=0;a<=r.length-1;a++)(o=r[a].getAttribute("data-src"))&&(r[a].src=o);t.load()}t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset")),t.getAttribute("data-background-image")&&(t.style.backgroundImage="url('"+t.getAttribute("data-background-image")+"')"),t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}};
/**
* Detect IE browser
* @const {boolean}
* @private
*/function f(t){t.setAttribute("data-loaded",!0)}var b=function(t){return"true"===t.getAttribute("data-loaded")};return function(){var r,o,a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:".lozad",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=g({},l,t),n=e.root,i=e.rootMargin,d=e.threshold,c=e.load,u=e.loaded,s=void 0;return window.IntersectionObserver&&(s=new IntersectionObserver((r=c,o=u,function(t,e){t.forEach(function(t){(0<t.intersectionRatio||t.isIntersecting)&&(e.unobserve(t.target),b(t.target)||(r(t.target),f(t.target),o(t.target)))})}),{root:n,rootMargin:i,threshold:d})),{observe:function(){for(var t=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document;return t instanceof Element?[t]:t instanceof NodeList?t:e.querySelectorAll(t)}(a,n),e=0;e<t.length;e++)b(t[e])||(s?s.observe(t[e]):(c(t[e]),f(t[e]),u(t[e])))},triggerLoad:function(t){b(t)||(c(t),f(t),u(t))},observer:s}}});