templates/base.html.twig line 194

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     {% set metaInfo = getMetaInfo() %}
  5.     {% block meta %}
  6.         {% include "Slivki#{regional_template_path}/meta_block.html.twig" %}
  7.     {% endblock %}
  8.     {% block ogimage %}
  9.         <meta property="og:image" content="/images/b180x180.jpg" />
  10.         <meta property="og:image:width" content="180"/>
  11.         <meta property="og:image:height" content="180"/>
  12.     {% endblock %}
  13.     {% block stylesheets %}
  14.         <link rel="stylesheet" href="/css/intTelInput.css?v=2" />
  15.         <link href="/css/jform-styler/vanillaSelectBox.css" rel="stylesheet">
  16.         <link href="/css/delivery.min.css?v={{ delivery_css_version }}" rel="stylesheet" type="text/css" />
  17.         <link href="/css/flowersHotLent.css?v={{ flowers_hot_lent_css_version }}" rel="stylesheet" type="text/css" />
  18.         <link rel="stylesheet" href="/css/beauty/beauty-masters.css?v={{ beauty_masters_css_version }}" type="text/css"/>
  19.         <link href="/css/style.min.css?v={{ style_css_version }}" rel="stylesheet" type="text/css" />
  20.         <link href="/js/jgallery-1.5.5/dist/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
  21.         <link rel="stylesheet" href="/css/slick.min.css"/>
  22.         <link rel="stylesheet" href="/css/slick-theme.min.css" />
  23.         <link rel="stylesheet" href="/css/slider_preview.css?v={{ slider_preview_css_version }}" />
  24.         <link rel="stylesheet" href="/css/botstrap-dropdowns-v3/dropdowns.css"/>
  25.         <link rel="stylesheet" href="/css/cookies.css"/>
  26.         {% if isMobileDevice() %}
  27.             <link href="/css/header_mobile.css?v={{ header_mobile_css_version }}" rel="stylesheet" type="text/css" />
  28.         {% endif %}
  29.         {% if app.request.getPathInfo() == '/profile' %}
  30.             <link href="/css/crt-fonts.css?v={{ crt_fonts_css_version }}" rel="stylesheet" type="text/css" />
  31.             <link href="/css/certificate-creator/certificate-creator.css" rel="stylesheet" type="text/css" />
  32.         {% endif %}
  33.         <link href="/css/new_popup.css?v={{ new_popup_css_version }}" rel="stylesheet" type="text/css" />
  34.         <link rel="stylesheet" href="/css/jquery.toast.min.css" />
  35.         <link href="/css/slivkiPay.css?v=1" rel="stylesheet" type="text/css" />
  36.     {% endblock %}
  37.     {% block favicon %}
  38.         <link type="image/x-icon" rel="shortcut icon" href="/images/favicon/favicon.ico">
  39.         <link type="image/png" sizes="16x16" rel="icon" href="/images/favicon/icons/favicon-16x16.png">
  40.         <link type="image/png" sizes="32x32" rel="icon" href="/images/favicon/icons/favicon-32x32.png">
  41.         <link type="image/png" sizes="96x96" rel="icon" href="/images/favicon/icons/favicon-96x96.png">
  42.         <link type="image/png" sizes="120x120" rel="icon" href="/images/favicon/icons/favicon-120x120.png">
  43.     {% endblock %}
  44.     <meta name="yandex-verification" content="239193428ba27fa2" />
  45.     <meta name="google-site-verification" content="33UhU8AvLA9eoT3WZfkzuOaxKNujSVAtcYZHf-pGToI" />
  46.     <link rel="manifest" href="/manifest.json?v=0">
  47.     <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=ced3d85f-6a99-4208-93d6-b578ba5e8f8a"></script>
  48.     <!-- Meta Pixel Code -->
  49.     <script>
  50.         !function(f,b,e,v,n,t,s)
  51.         {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  52.             n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  53.             if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  54.             n.queue=[];t=b.createElement(e);t.async=!0;
  55.             t.src=v;s=b.getElementsByTagName(e)[0];
  56.             s.parentNode.insertBefore(t,s)}(window, document,'script',
  57.             'https://connect.facebook.net/en_US/fbevents.js');
  58.         fbq('init', '1202694461570299');
  59.         fbq('track', 'PageView');
  60.     </script>
  61.     <noscript><img height="1" width="1" style="display:none"
  62.                    src="https://www.facebook.com/tr?id=1202694461570299&ev=PageView&noscript=1"
  63.         /></noscript>
  64.     <!-- End Meta Pixel Code -->
  65.     <noscript>
  66.         <img height="1" width="1" src="https://www.facebook.com/tr?id=1884900258504761&ev=PageView&noscript=1" style="display: none;"/>
  67.     </noscript>
  68.     <!-- End Facebook Pixel Code -->
  69.     <script type="text/javascript">(window.Image ? (new Image()) : document.createElement('img')).src = 'https://vk.com/rtrg?p=VK-RTRG-167315-4IspB';</script>
  70.     {% if fitnessOffer is defined %}
  71.         <script>
  72.             !function(f,b,e,v,n,t,s)
  73.             {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  74.                 n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  75.                 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  76.                 n.queue=[];t=b.createElement(e);t.async=!0;
  77.                 t.src=v;s=b.getElementsByTagName(e)[0];
  78.                 s.parentNode.insertBefore(t,s)}(window, document,'script',
  79.                 'https://connect.facebook.net/en_US/fbevents.js');
  80.             fbq('init', ${currentCity.getID() > 1 ? '675534651528670' : '1202694461570299'});
  81.             fbq('track', 'PageView');
  82.         </script>
  83.         <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1615676305118909&ev=PageView&noscript=1"/></noscript>
  84.         <script type="text/javascript">(window.Image ? (new Image()) : document.createElement('img')).src = 'https://vk.com/rtrg?p=VK-RTRG-170417-8Uj6y';</script>
  85.     {% endif %}
  86.     <script>
  87.         var userAgent = navigator.userAgent || navigator.vendor || window.opera;
  88.         if (userAgent.indexOf('FBAN') == -1 && userAgent.indexOf('FBAV') == -1 && userAgent.indexOf('Instagram') == -1 &&
  89.             userAgent.indexOf('Skype') == -1 && userAgent.indexOf('Viber') == -1 && userAgent.indexOf('WhatsApp') == -1) {
  90.             var d = document,
  91.                 h = d.getElementsByTagName('head')[0],
  92.                 s = d.createElement('script');
  93.             s.type = 'text/javascript';
  94.             s.async = true;
  95.             s.src = '//cdn.sendpulse.com/js/push/260be6a77276a4d176159328b4b7175c_1.js?v=0';
  96.             //s.src = '/js/sp.js?v=1';
  97.             h.appendChild(s);
  98.         }
  99.     </script>
  100.     <!-- TikTok Code -->
  101.     <script>
  102.         !function (w, d, t) {
  103.             w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++
  104.             )ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=i+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
  105.             ttq.load('CAEQUGBC77U9MLGRE66G');
  106.             ttq.page();
  107.         }(window, document, 'ttq');
  108.     </script>
  109.     <!-- End TikTok Code -->
  110.     <!-- Global site tag (gtag.js) - Google Analytics -->
  111.     {% set currentCity = getCurrentCity() %}
  112.     {% if app.environment != 'dev' %}
  113.         <!-- Google tag (gtag.js) -->
  114.         <script async src="https://www.googletagmanager.com/gtag/js?id=AW-978097094"></script>
  115.         <script>
  116.             window.dataLayer = window.dataLayer || [];
  117.             function gtag(){dataLayer.push(arguments);}
  118.             gtag('js', new Date());
  119.             gtag('config', 'AW-978097094');
  120.         </script>
  121.     {% endif %}
  122. </head>
  123. {% set bodyClass =  '' %}
  124. {% if noToken is not defined and is_granted('ROLE_ADMIN_USER') %}
  125.     {% set bodyClass =  ' a-u' %}
  126. {% endif %}
  127. <body class="{{ not isMobileDevice() ? 'desktop-device' }}{{ bodyClass }}">
  128. {% if app.debug %}
  129.     <input type="hidden" id="debugMode" value="1"/>
  130. {% endif %}
  131. <script>
  132.     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  133.             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  134.         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  135.     })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  136.     ga('create', 'UA-185332166-1', 'auto');
  137.     ga('send', 'pageview');
  138.     {% if app.user %}
  139.         ga('set', 'userId', '{{ app.user.getID() }}');
  140.     {% endif %}
  141. </script>
  142.     {% if app.user %}
  143.         <input type="hidden" id="customerID" value="{{ app.user.getID() }}"/>
  144.         <input class="sp_push_custom_data" type="hidden" name="Name" value="{{ app.user.getFirstName() }}">
  145.         {% if app.user.getEmail() != '' %}
  146.             <input class="sp_push_custom_data" type="hidden" name="email" value="{{ app.user.getEmail() }}">
  147.         {% else %}
  148.             <input class="sp_push_custom_data" type="hidden" name="email" value="{{ app.user.getPhone() }}">
  149.         {% endif %}
  150.     {% endif %}
  151.     <input type="hidden" id="serverTime" value="{{ 'now'|date('Y-m-d H:i:s') }}">
  152.     <input type="hidden" id="cityID" value="{{ currentCity.getID() }}">
  153.     {% set currentCity = getCurrentCity() %}
  154.     {% set coordinate = currentCity.getCoordinate() %}
  155.     <input id="cityName" type="hidden" value="{{ currentCity.getID() in [constant('Slivki\\Entity\\City::DEFAULT_CITY_ID'), constant('Slivki\\Entity\\City::TASHKENT_CITY_ID')] ? '/' : getURL(constant('Slivki\\Repository\\SeoRepository::RESOURCE_URL_CITY'), currentCity.getID()) }}"/>
  156.     <input type="hidden" id="cityCoord" value="[{{ coordinate.getLatitude() }}, {{ coordinate.getLongitude() }}]">
  157.     <input type="hidden" id="rtbhUID" value="{{ getRTBHouseUID(app.user) }}">
  158.     <input id="userId" type="hidden" value=" {{ app.user is not null ? app.user.ID : null }}">
  159.     <input id="metricaUrl" type="hidden" value=" {{ slivki_metrica_url }}/api/v1/metric">
  160.     {% block top %}{% endblock %}
  161.     {% block fullSiteBanner %}
  162.         {% if not isMobileDevice() and not (app.user and app.user.hasRole(constant('\\Slivki\\Entity\\UserGroup::ROLE_ADS_FREE'))) %}
  163.             {{ getBrandingBanner(app.user, brandingBannerCategoryIDs is defined ? brandingBannerCategoryIDs : [], offer is defined ? offer.getID()) }}
  164.         {% endif %}
  165.     {% endblock %}
  166.     {% block header %}
  167.         {% if isMobileDevice() %}
  168.             {% include 'header_mobile.html.twig' %}
  169.         {% else %}
  170.             {% include 'header.html.twig' %}
  171.         {% endif %}
  172.     {% endblock %}
  173. {% block messenger %}
  174.     {% include "Slivki#{regional_template_path}/jivosite/index.html.twig" %}
  175. {% endblock %}
  176.     {% block content %}
  177.         <div class="content container transparent with-banner {% block contentContainerClass %}{% endblock %}"  id="contentContainer">
  178.             {% block topContentBlock %}{% endblock %}
  179.             {% block mainHotFeedBlock %}{% endblock %}
  180.             {% if ('Googlebot' not in (app.request.server.get('HTTP_USER_AGENT'))) %}
  181.                 {% block left_sidebar %}{% endblock %}
  182.             {% endif %}
  183.             <div class="{% block mainColumnClass %}content--main {% endblock %}" {% block mainColumnParameters %}{% endblock %}>
  184.                 <div class="content-wrapper">
  185.                     {% block main_content %}{% endblock %}
  186.                 </div>
  187.             </div>
  188.             {% block bottomContentBlock %}{% endblock %}
  189.             </div>
  190.         </div>
  191.         {% block footer %}
  192.             {% if not disableFooter is defined  %}
  193.                 {{ getFooter() }}
  194.             {% endif %}
  195.         {% endblock %}
  196.         {% if not isMobileDevice() and not app.request.cookies.has('seenMicrophoneTooltip') and (not app.user or not app.user.isSeenMicrophoneTooltip()) %}
  197.             <div id="voiceSearchHintGreyout" class="hidden">
  198.                 <div id="voiceSearchHint" class="voice-search-hint-block">Круто! Нажмите на микрофон и скажите, например, суши или пицца</div>
  199.             </div>
  200.             {% if app.user %}
  201.                 {{ setSeenMicrophoneTooltip(app.user) }}
  202.             {% endif %}
  203.         {% endif %}
  204.         <div id="contentGreyout"></div>
  205.     {% endblock %}
  206.     {% block popups %}
  207.         {% if isMobileDevice() %}
  208.             <link rel="stylesheet" href="/css/infopopup_mobile.css?v={{ infopopup_css_version }}" type="text/css">
  209.         {% else %}
  210.             <link rel="stylesheet" href="/css/infopopup.css?v={{ infopopup_css_version }}" type="text/css">
  211.         {% endif %}
  212.         {% if app.session.flashbag.get("showMogilevMailingBonusPopup")|length > 0 %}
  213.             {% include 'Slivki/popups/mogilev_mailing_popup.html.twig' %}
  214.         {% endif %}
  215.         {% include 'Slivki/popups/info_dialog_popup.html.twig' with {id: 'info_dialog'} %}
  216.         {{ getNoticePopup(app.user) }}
  217.         {% include 'Slivki/popups/alert_popup.html.twig' %}
  218.         {% set infoDialogMessage = app.session.flashBag.get(constant('Slivki\\Controller\\SiteController::SHOW_INFO_DIALOG_PARAMETER')) %}
  219.         {% if infoDialogMessage | length > 0 %}
  220.             {% include 'Slivki/popups/info_dialog_popup.html.twig' with {'id': 'info_dialog_auto', 'infoDialogMessage': infoDialogMessage[0] } %}
  221.         {% endif %}
  222.         {% if app.user %}
  223.             {# user is logged in #}
  224.             {% if isMobileDevice() %}
  225.                 {% include 'Slivki/popups/mobile_logout.html.twig' with {id: 'logoutConfirmPopup'} %}
  226.             {% else %}
  227.                 {% include 'Slivki/popups/logout_popup.html.twig' with {id: 'logoutConfirmPopup'} %}
  228.             {% endif %}
  229.             {% if not isMobileDevice() %}
  230.                 {% include 'Slivki/popups/delete_comment_popup.html.twig' with {id: 'deleteCommentConfirmPopup'} %}
  231.                 {% if app.session.flashbag.get("openThanksForRegisterPopup") | length > 0 %}
  232.                     {% include 'Slivki/popups/thanks_for_register_popup.html.twig' with {id: 'modal-register-thanks'} %}
  233.                     <input type="hidden" id="openThanksForRegisterPopup"/>
  234.                 {% endif %}
  235.             {% endif %}
  236.         {% else %}
  237.             {% include 'Slivki/reset_password/popup_reset_pass.html.twig'%}
  238.             {% include 'Slivki/mobile/popup/succes_restore_password.html.twig'%}
  239.             {# user is not logged in #}
  240.             {% if not isMobileDevice() %}
  241.                 {% include 'Slivki/popups/login_register_popup.html.twig' %}
  242.                 {% include 'Slivki/popups/restore_password_popup.html.twig' with {id: 'modal_remember_password'} %}
  243.                 {% set registeredEmailSent = app.session.flashbag.get("registeredEmailSent") %}
  244.                 {% set registeredEmailSentRaw = app.session.flashbag.get("registeredEmailSentRaw") %}
  245.                 {% if registeredEmailSent | length > 0 and registeredEmailSentRaw | length > 0 %}
  246.                     {% include 'Slivki/popups/account_activation_popup.html.twig' with {id: 'modal-register-complete', link: registeredEmailSent[0], email: registeredEmailSentRaw[0]} %}
  247.                     <input type="hidden" id="openAccountActivationPopup"/>
  248.                 {% endif %}
  249.             {% endif %}
  250.         {% endif %}
  251.     {% endblock %}
  252.     {% include 'Slivki/delivery/modal/questions.html.twig' %}
  253.     {% include 'Slivki/delivery/modal/questionsSuccess.html.twig' %}
  254.     {% include 'Slivki/popups/slivki_confirm_popup.html.twig' %}
  255.     {% include 'Slivki/popups/new_alert_popup.html.twig' %}
  256.     {% include 'Slivki/popups/loading.html.twig' %}
  257.     {% include 'Slivki/popups/mail_popup.html.twig' %}
  258.     {% include 'Slivki/add_batch_codes/error.html.twig' %}
  259.     {% include 'Slivki/add_batch_codes/success.html.twig' %}
  260.     {% include 'Slivki/add_batch_codes/auth.html.twig' %}
  261.     {% include 'Slivki/popups/cookies_popup.html.twig' %}
  262. {% if app.user and not app.user.getEmail() and not app.request.get('_route') == 'profile' and app.session.flashbag.get("openMergeProfilePopup") %}
  263.     {% include 'Slivki/popups/popup_union_mail.html.twig' %}
  264. {% endif %}
  265.     <script src="/js/jquery2-2-4.min.js"></script>
  266.     {% block javascripts %}
  267.         <script type="text/javascript" src="/js/jquery.cookie.js"></script>
  268.         <script type="text/javascript" src="/js/cookies.min.js"></script>
  269.         <script src="/js/menuAim/main.min.js"></script>
  270.         <script src="/js/main.js?v=200"></script>
  271.         <script src="/js/voices/app.js?v=6"></script>
  272.         <script src="/js/voices/recorder.js"></script>
  273.         {% if isMobileDevice() %}
  274.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-touch-events/1.0.9/jquery.mobile-events.min.js"></script>
  275.         <script src="https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js"></script>
  276.         <script src="/js/header_mobile.js?v=38/"></script>
  277.         {% endif %}
  278.         <script src="/js/jquery.form.js?v=1"></script>
  279.         <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
  280.         <script src="/js/jquery.placeholder.js"></script>
  281.         <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js?v=1"></script>
  282.         <script type="text/javascript">
  283.             $.widget.bridge('uitooltip', $.ui.tooltip);
  284.             $.widget.bridge('uibutton', $.ui.button);
  285.         </script>
  286.         <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  287.         <script src="/js/jquery.maskedinput.min.js"></script>
  288.         <script src="/js/jquery.inputmask.min.js"></script>
  289.         <script src="/js/ajaxupload.3.5.js?v=1"></script>
  290.         <script src="/js/lightbox.min.js?v=1"></script>
  291.         <script src="/js/jquery.marquee.min.js" type="text/javascript"></script>
  292.         <!--[if lt IE 9]>
  293.         <script src="/js/css3-mediaqueries.js?v=1"></script>
  294.         <script src="/js/html5shiv.js?v=1"></script>
  295.         <![endif]-->
  296.         <script type="text/javascript" src="/js/jquery.lazyload.js?v=2"></script>
  297.         <script src="/js/jquery.jcarousel.min.js?v=1"></script>
  298.         <script src="/js/mwheelIntent.js?v=1"></script>
  299.         <script src="/js/jquery.mousewheel.js?v=1"></script>
  300.         <script type="module" src="/js/botsrap-custom-dropdowns/custom-dropdowns.js"></script>
  301.         <div id="overlay-loading"><img src="/images/image-preview-ajax-loader.gif" alt="" /></div>
  302.         <!-- Yandex.Metrika counter -->
  303.         <script type="text/javascript" >
  304.             (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  305.                 m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  306.             (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  307.             ym(20933521, "init", {
  308.                 clickmap:true,
  309.                 trackLinks:true,
  310.                 accurateTrackBounce:true
  311.             });
  312.         </script>
  313.         <noscript><div><img src="https://mc.yandex.ru/watch/20933521" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  314.         <!-- /Yandex.Metrika counter -->
  315.         <script type="application/ld+json">
  316.             {
  317.                 "@context": "http://schema.org",
  318.                 "@type": "WebSite",
  319.                 "url": "https://www.slivki.by/",
  320.                 "potentialAction": {
  321.                     "@type": "SearchAction",
  322.                     "target": "https://www.slivki.by/search?searchIn=0&text={searchText}&sortBy=default&distance=0",
  323.                     "query-input": "required name=searchText" }
  324.             }
  325.         </script>
  326.         <script src="/js/jform-styler/vanillaSelectBox.min.js"></script>
  327.         <script src="/js/intlTelInput-jquery.min.js"></script>
  328.         <script src="/js/slick.min.js"></script>
  329.         <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/js/utils.min.js"></script>
  330.         <link href="/css/scroll.css?v=5" rel="stylesheet" type="text/css" />
  331.         <script src="/js/jquery.jscrollpane.min.js?v=2"></script>
  332.         <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.5.9/lottie_light.min.js"></script>
  333.         <script src="/js/jquery.slivkiSmile.js?v=10"></script>
  334.         <script src="/js/recaptcha_api.js"></script>
  335.         <script src="/js/common.min.js?v={{ common_js_version }}"></script>
  336.         <script src="/js/common-old.min.js?v={{ common_old_js_version }}"></script>
  337.         <script type="module" src="/js/family_subscription/api_family_subscription.js?v={{ family_subscription_js_version }}"></script>
  338.         <script type="module" src="/js/family_subscription/family_subscription.js?v={{ family_subscription_js_version }}"></script>
  339.         <script src="/js/jquery.sameheight.js"></script>
  340.         <script src="/js/slivki_v1.js?v={{ slivki_v1_js_version }}"></script>
  341.         <script src="/js/subscription.js?v={{ subscription_js_version }}"></script>
  342.         <script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
  343.         <script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
  344.         <script type="module" src="/js/time_block_category/main.js?v={{ time_block_category_js }}"></script>
  345.         <script src="/js/moment.min.js"></script>
  346.         <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script>
  347.         <script src="/js/gtranslate.js"></script>
  348.         <script src="/js/flowersCategoryCarousel.js?v={{ flowers_category_carousel_js_version }}"></script>
  349.         <script src="/js/slider_preview/slider_preview.js?v={{ slider_preview_js_version }}"></script>
  350.         <script src="/js/helper.js?v={{ helper_version_js }}"></script>
  351.         <script src="/js/captcha/main.js?v=13"></script>
  352.         <script src="/js/maps_index_page/roundedControlls.js?v=5"></script>
  353.         <script type="module" src="/js/beauty/mainMapBeauty.js?v={{ main_map_beauty_js_version }}"></script>
  354.         <script type="module" src="/js/beauty/masters.js?v={{ beauty_masters_js_version }}"></script>
  355.         <script type="module" src="/js/oplati/main.js?v={{ oplati_js_version }}" />
  356.         <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-toast-plugin/1.3.2/jquery.toast.min.js"
  357.                 integrity="sha512-zlWWyZq71UMApAjih4WkaRpikgY9Bz1oXIW5G0fED4vk14JjGlQ1UmkGM392jEULP8jbNMiwLWdM8Z87Hu88Fw=="
  358.                 crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  359.         <!--[/ignore]-->
  360.         <script type="text/javascript">
  361.             window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var o=t[n]={exports:{}};e[n][0].call(o.exports,function(t){var o=e[n][1][t];return r(o||t)},o,o.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(e,t,n){function r(){}function o(e,t,n){return function(){return i(e,[(new Date).getTime()].concat(u(arguments)),t?null:this,n),t?void 0:this}}var i=e("handle"),a=e(2),u=e(3),c=e("ee").get("tracer"),f=NREUM;"undefined"==typeof window.newrelic&&(newrelic=f);var s=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(s,function(e,t){f[t]=o(l+t,!0,"api")}),f.addPageAction=o(l+"addPageAction",!0),f.setCurrentRouteName=o(l+"routeName",!0),t.exports=newrelic,f.interaction=function(){return(new r).get()};var d=r.prototype={createTracer:function(e,t){var n={},r=this,o="function"==typeof t;return i(p+"tracer",[Date.now(),e,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[Date.now(),r,o],n),o)try{return t.apply(this,arguments)}finally{c.emit("fn-end",[Date.now()],n)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,t){d[t]=o(p+t)}),newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),i("err",[e,(new Date).getTime()])}},{}],2:[function(e,t,n){function r(e,t){var n=[],r="",i=0;for(r in e)o.call(e,r)&&(n[i]=t(r,e[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,o=n-t||0,i=Array(o<0?0:o);++r<o;)i[r]=e[t+r];return i}t.exports=r},{}],ee:[function(e,t,n){function r(){}function o(e){function t(e){return e&&e instanceof r?e:e?c(e,u,i):i()}function n(n,r,o){if(!p.aborted){e&&e(n,r,o);for(var i=t(o),a=v(n),u=a.length,c=0;c<u;c++)a[c].apply(i,r);var f=s[w[n]];return f&&f.push([y,n,r,i]),i}}function d(e,t){b[e]=v(e).concat(t)}function v(e){return b[e]||[]}function g(e){return l[e]=l[e]||o(n)}function m(e,t){f(e,function(e,n){t=t||"feature",w[n]=t,t in s||(s[t]=[])})}var b={},w={},y={on:d,emit:n,get:g,listeners:v,context:t,buffer:m,abort:a,aborted:!1};return y}function i(){return new r}function a(){(s.api||s.feature)&&(p.aborted=!0,s=p.backlog={})}var u="nr@context",c=e("gos"),f=e(2),s={},l={},p=t.exports=o();p.backlog=s},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[t]=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer([e],r),o.emit(e,t,n)}var o=e("ee").get("handle");t.exports=r,r.ee=o},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!h++){var e=y.info=NREUM.info,t=l.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&t))return f.abort();c(b,function(t,n){e[t]||(e[t]=n)}),u("mark",["onload",a()],null,"api");var n=l.createElement("script");n.src="https://"+e.agent,t.parentNode.insertBefore(n,t)}}function o(){"complete"===l.readyState&&i()}function i(){u("mark",["domContent",a()],null,"api")}function a(){return(new Date).getTime()}var u=e("handle"),c=e(2),f=e("ee"),s=window,l=s.document,p="addEventListener",d="attachEvent",v=s.XMLHttpRequest,g=v&&v.prototype;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:v,REQ:s.Request,EV:s.Event,PR:s.Promise,MO:s.MutationObserver},e(1);var m=""+location,b={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1016.min.js"},w=v&&g&&g[p]&&!/CriOS/.test(navigator.userAgent),y=t.exports={offset:a(),origin:m,features:{},xhrWrappable:w};l[p]?(l[p]("DOMContentLoaded",i,!1),s[p]("load",r,!1)):(l[d]("onreadystatechange",o),s[d]("onload",r)),u("mark",["firstbyte",a()],null,"api");var h=0},{}]},{},["loader"]);
  362.             ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"aaa162bec7",applicationID:"19553048",sa:1}
  363.         </script>
  364.         <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script>
  365.     {% endblock %}
  366.     <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  367.     <script>
  368.         [].forEach.call(document.querySelectorAll('.adsbygoogle'), function(){
  369.             (adsbygoogle = window.adsbygoogle || []).push({});
  370.         });
  371.     </script>
  372.     <script type="text/javascript">
  373.         /* <![CDATA[ */
  374.         var google_conversion_id = 978097094;
  375.         var google_custom_params = window.google_tag_params;
  376.         var google_remarketing_only = true;
  377.         /* ]]> */
  378.     </script>
  379.     <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  380.     </script>
  381.     <script src="/js/cookies/cookies.js"></script>
  382.     <noscript>
  383.         <div style="display:inline;">
  384.             <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/978097094/?guid=ON&amp;script=0"/>
  385.         </div>
  386.     </noscript>
  387.     {% set geoIpLocation = getIPLocationData() %}
  388.     <input type="hidden" id="geoIpLatitude" value="{{ geoIpLocation[0] }}"/>
  389.     <input type="hidden" id="geoIpLongitude" value="{{ geoIpLocation[1] }}"/>
  390.     {% if fitnessOffer is defined %}
  391.         <script type="text/javascript">
  392.             var _tmr = window._tmr || (window._tmr = []);
  393.             _tmr.push({id: "2933821", type: "pageView", start: (new Date()).getTime(), pid: "USER_ID"});
  394.             (function (d, w, id) {
  395.                 if (d.getElementById(id)) return;
  396.                 var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id;
  397.                 ts.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//top-fwz1.mail.ru/js/code.js";
  398.                 var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);};
  399.                 if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); }
  400.             })(document, window, "topmailru-code");
  401.         </script><noscript><div>
  402.             <img src="//top-fwz1.mail.ru/counter?id=2933821;js=na" style="border:0;position:absolute;left:-9999px;" alt="" />
  403.         </div></noscript>
  404.     {% endif %}
  405.     {% if app.user and app.user.isGeoLocationAccepted() == null %}
  406.         <input type="hidden" id="storeGeoLocationData"/>
  407.     {% endif %}
  408.     {% block assetsBottom %}
  409.         <link href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
  410.         <link href="/css/lightbox.css" rel="stylesheet" type="text/css" />
  411.         <input id="slivkiSmileList" type="hidden" value="{{ constant('Slivki\\Entity\\Comment::SMILE_LIST')|join(',') }}"/>
  412.     {% endblock %}
  413.     {% block RTBHouse %}
  414.         <script>
  415.             try{ (function() {
  416.                 var prefix = "", hash = "TS5TS2S9bdSbgKBA4Q2H", rtbhTags = []; rtbhTags.push("pr_"+hash+""); rtbhTags.push("pr_"+hash+"_uid_"+document.getElementById('rtbhUID').value);
  417.                 var key = "__rtbhouse.lid", lid = window.localStorage.getItem(key); if (!lid) {
  418.                     lid = ""; var pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  419.                     for (var i = 0; i < 20; i++) lid += pool.charAt(Math.floor(Math.random() * pool.length)); window.localStorage.setItem(key, lid);}
  420.                 rtbhTags.push("pr_"+hash+"_lid_" + lid);
  421.                 var ifr = document.createElement("iframe"),
  422.                     sr = encodeURIComponent(document.referrer ? document.referrer : ""),
  423.                     su = encodeURIComponent(document.location.href ? document.location.href : ""),
  424.                     ifrSrc = "https://"+prefix+"creativecdn.com/tags?type=iframe", tmstmp = encodeURIComponent("" + Date.now()); for(var i=0; i<rtbhTags.length; i++) {ifrSrc += "&id=" + encodeURIComponent(rtbhTags[i]);}
  425.                 ifrSrc += "&su=" + su + "&sr=" + sr + "&ts=" + tmstmp;
  426.                 ifr.setAttribute("src", ifrSrc); ifr.setAttribute("width", "1");
  427.                 ifr.setAttribute("height", "1"); ifr.setAttribute("scrolling", "no");
  428.                 ifr.setAttribute("frameBorder", "0"); ifr.setAttribute("style", "display:none");
  429.                 ifr.setAttribute("referrerpolicy", "no-referrer-when-downgrade"); if(document.body){document.body.appendChild(ifr);}
  430.                 else{window.addEventListener('DOMContentLoaded', function(){document.body.appendChild(ifr);});}
  431.             })();} catch(e) {} </script>
  432.     {% endblock %}
  433.     {% block metrikaEvent %}{% endblock %}
  434. </body>
  435. </html>