PageSourceSearch

https://teleticket.com.pe/Account/SignIn

html teleticket.com.pe collected 2026-10-02 04:24:11 UTC 64,018 bytes, 1,219 lines download raw bytes

1
2<!DOCTYPE html>
3<html class="no-js" lang="es">
4<head>
5    
6
7
8<meta charset="utf-8">
9<meta http-equiv="X-UA-Compatible" content="IE=edge">
10<meta name="viewport" content="width=device-width, initial-scale=1">
11<link rel="icon" type="image/png" href="https://cdn.teleticket.com.pe/favicon_2022.ico" />
12<link rel="SHORTCUT ICON" href="https://cdn.teleticket.com.pe/favicon_2022.ico" />
13
14
15<title>SignIn</title>
16<meta name="description" content="Teleticket.com.pe - Tu entrada a los mejores eventos">
17<meta property="fb:app_id" content="185751294773934" />
18<meta property="og:type" content="website" />
19
20
21    <meta property="og:title" content="SignIn" />
22    <meta property="og:url" content="https://teleticket-web-c0c8gwe9epdcbye2.brazilsouth-01.azurewebsites.net/Account/SignIn" />
23
24<meta name="twitter:card" content="summary_large_image" />
25<meta name="twitter:site" content="@teleticketperu" />
26<meta name="twitter:creator" content="@teleticketperu" />
27<meta name="twitter:domain" content="www.teleticket.com.pe" />
28
29<meta name="twitter:title" content="Teleticket.com.pe - Tu entrada a los mejores eventos" />
30<meta name="twitter:description" content="Encuentra entradas para los mejores eventos en Per&#250; en Teleticket: conciertos, eventos deportivos, festivales, espect&#225;culos teatrales y mucho m&#225;s." />
31    <meta name="google-site-verification" content="wdoyTY41EmGZxuYc-AW5fcE7Si406XPxvjeLxGeciFk" />
32
33
34
35    
36    
37
38    
38<script>   var dataLayer = window.dataLayer = window.dataLayer || [];  </script>
38  <!-- Google Tag Manager -->  
38<script>
vendor: 331 bytes, line 38
38(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);  })(window,document,'script','dataLayer','
38GTM-MZ7NPMW
vendor: 3 bytes, line 38
38');
38</script>
38  <!-- End Google Tag Manager -->
39        <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/bootstrap.css?v=20240131" />
40        
41    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/proceso-compra.css?v=20251207">
42    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/login.css?v=20241028" />
43    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/variables.css?v=20250505" />
44    <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/owl-carousel/2.3.4/css/owl.min.css">
45
46    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/layout.css?v=20260217">
47    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/modal-version.css">
48    <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/seleccion-version.css?v=20220725">
49    <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/fancybox/3.5.6/jquery.fancybox.min.css" />
50    <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/font-awesome/fontawesome-free-5.15.4-web/fontawesome-free-5.15.4-web/css/all.min.css" />
51    <link rel="preconnect" href="https://fonts.gstatic.com">
52    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap">
53    <!-- Load Vue followed by BootstrapVue -->
54    
54<script src="https://cdn.teleticket.com.pe/assets/vue/2.6.14/vue.min.js?v=20240402v1"></script>
54    
55    
55<script src="https://cdn.teleticket.com.pe/assets/vue-i18n/8.28.2/js/vue-i18n.js"></script>
55
56    
56<script src="https://cdn.teleticket.com.pe/assets/bootstrap/bootstrap-vue/2.21.2/bootstrap-vue.min.js?v=20240402v1"></script>
56
57    <!-- JS no async -->
58    
58<script src="https://cdn.teleticket.com.pe/assets/jquery/2.1.1/jquery.min.js"></script>
58
59    <!--Axios-->
60    
60<script src="https://cdn.teleticket.com.pe/assets/axios/0.24.0/axios.min.js"></script>
60
61    
62    
62<script type='text/javascript'>
63        var appInsights=window.appInsights||function(config)
64        {
65            function r(config){ t[config] = function(){ var i = arguments; t.queue.push(function(){ t[config].apply(t, i)})} }
66            var t = { config:config},u=document,e=window,o='script',s=u.createElement(o),i,f;for(s.src=config.url||'//az416426.vo.msecnd.net/scripts/a/ai.0.js',u.getElementsByTagName(o)[0].parentNode.appendChild(s),t.cookie=u.cookie,t.queue=[],i=['Event','Exception','Metric','PageView','Trace','Ajax'];i.length;)r('track'+i.pop());return r('setAuthenticatedUserContext'),r('clearAuthenticatedUserContext'),config.disableExceptionTracking||(i='onerror',r('_'+i),f=e[i],e[i]=function(config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t['_' + i](config, r, u, e, o),s}),t
67        }({
68            instrumentationKey:"9074188e-5cfc-43a7-822f-6d0ce14d69ef"
69        });
70        window.appInsights=appInsights;
71        appInsights.trackPageView();
72    </script>
72
73</head>
74<body>
75
76    <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, line 76
76  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
76GTM-MZ7NPMW
vendor: 85 bytes, line 76
76"  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>  
76<!-- End Google Tag Manager (noscript) -->
77
78    <div class="menu-side" id="menu-side-container">
79        <div class="overlay--menu"></div>
80        <!-- MOVIL -->
81        <div class="content-menu-movil d-block d-md-none d-lg-none menu-cuenta">
82            <div class="logeado">
83                <div id="accordionB">
84                    <div class="categoria--mov">
85                        <div class="card-header" id="headingTwo">
86                            <span role="button" data-toggle="collapse" data-target="#cuenta-mov" aria-expanded="true" aria-controls="cuenta-mov" v-t="'layout.welcome'">
87                                &nbsp;<i class="fas fa-chevron-down"></i>&nbsp;&nbsp;Bienvenido
88                            </span>
89                        </div>
90                        <div id="cuenta-mov" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordion">
91                            <div class="card-body">
92                                <div id="menu-home" class="d-flex flex-column">
93                                    <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisOrdenes" data-value="1" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.orders'">
94                                        MIS COMPRAS
95                                    </a>
96                                    <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisETickets" data-value="2" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0">
97                                        E-TICKETS
98                                    </a>
99                                    <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisDevoluciones" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.devolutions'">
100                                        Mis Devoluciones
101                                    </a>
102                                    <a class="link-categoria text-uppercase" href="/Cliente/CambioContrasena" data-value="2" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.changePassword'">
103                                        Cambiar Contrase&#241;a
104                                    </a>
105                                    <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Account/SignOut" data-value="3" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.logOut'">
106                                        CERRAR SESIÓN
107                                    </a>
108                                </div>
109                            </div>
110                        </div>
111                    </div>
112                </div>
113            </div>
114            <!--  INGRESO MOVIL -->
115            <div class="puntos-venta__movil visita" style="display: none">
116                <div class="d-flex ingreso--movil">
117                    <a class="" href="https://teleticket.com.pe/Account/SignIn" target="_self">
118                        <i class="fa fa-user"></i>&nbsp;{{ $t('layout.signIn') }}
119                    </a>
120                </div>
121            </div>
122            <!--  FIN INGRESO MOVIL -->
123            <!--  REGISTRO MOVIL -->
124            <div class="puntos-venta__movil visita" style="display: none">
125                <div class="card-header d-flex ingreso--movil">
126                    <a class="" href="https://teleticket.com.pe/Account/Register" target="_self">
127                        <i class="log-in">
128                            <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/icon/log-in.svg" alt="Registrate">
129                        </i>&nbsp;{{ $t('layout.signUp') }}
130                    </a>
131                </div>
132            </div>
133            <!--  MENU MOVIL -->
134            <div id="accordion" class="accordion">
135                <div class="categoria--mov">
136                    <div class="card-header" id="headingOne">
137                        <span data-toggle="collapse" data-target="#cat-mov" aria-expanded="true" aria-controls="cat-mov">
138                            &nbsp;<i class="fas fa-chevron-down"></i>&nbsp;&nbsp;{{ $t('layout.categories') }}
139                        </span>
140                    </div>
141                    <div id="cat-mov" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
142                        <div class="card-body">
143                            <div id="menu-home" class="d-flex flex-column">
144                                <a class="link-categoria" href="/conciertos" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.concerts'">Conciertos</a>
145                                <a class="link-categoria" href="/deportes" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.sports'">Deportes</a>
146                                <a class="link-categoria" href="/teatro" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.theater'">Teatro</a>
147                                <a class="link-categoria" href="/entretenimiento" data-ga-tracking="event, Homepage, Click, SubMenuFamilia-ClienteID:0" v-t="'layout.entertainment'">Entretenimiento</a>
148                                <a class="link-categoria" href="/otros" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.others'">Otros</a>
149                                <a class="link-categoria" href="/todos" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.all'">Todos</a>
150                            </div>
151                        </div>
152                    </div>
153                </div>
154            </div>
155            <!--  MENU MOVIL-->
156            <!-- BOTON CERRAR -->
157            <div class="cerrar" id="cerrar-mov">
158                <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/icon/close.svg" alt="cerrar">
159            </div>
160            <!-- BOTON CERRAR-->
161            <!-- PUNTOS DE VENTA -->
162            <div class="puntos-venta__movil last">
163                <div role="tab" id="headingOne">
164                    <a href="https://teleticket.com.pe/puntosventa" class="puntos">
165                        <i class="fas fa-map-marker-alt"></i>&nbsp;&nbsp;<span>PUNTOS DE VENTA</span>
166                    </a>
167                </div>
168            </div>
169            <!-- FIN PUNTOS DE VENTA -->
170        </div>
171        <!-- FIN MOVIL -->
172        <!--  DESKTOP -->
173        <div class="container">
174            <div class="nav-category navbar-collapse d-none d-sm-none d-md-block d-lg-block">
175                <div id="menu-home" class="d-flex">
176                    <a class="link-categoria" href="/conciertos" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.concerts'">Conciertos</a>
177                    <a class="link-categoria" href="/deportes" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.sports'">Deportes</a>
178                    <a class="link-categoria" href="/teatro" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.theater'">Teatro</a>
179                    <a class="link-categoria" href="/entretenimiento" data-ga-tracking="event, Homepage, Click, SubMenuFamilia-ClienteID:0" v-t="'layout.entertainment'">Entretenimiento</a>
180                    <a class="link-categoria" href="/otros" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.others'">Otros</a>
181                    <a class="link-categoria" href="/todos" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.all'">Todos</a>
182                </div>
183            </div>
184        </div>
185    </div>
186
187    <!--  DESKTOP -->
188    <!-- header  2021 -->
189        <div class="header--compra">
190            <div class="container">
191                <a href="https://teleticket.com.pe">
192                    <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/logos/logo.png?v=20220725" alt="Teleticket" class="img-fluid float-right float-md-left">
193                </a>
194            </div>
195            <div class="border--bottom__header"></div>
196        </div>
197
198    <!-- header  2021 -->
199    <div id="body-content">
200        
201
202
203
204<div style="min-height: 84.2vh">
205    
206
207<main class="">
208    <div class="grid--login d-flex flex-column flex-md-row">
209        <div class="left--login w-100 w-sm-50">
210            <div class="container--left">
211                <div class="d-flex idiomas flex-row">
212                    <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&amp;language=es" id="btn-lang-es" class="link--lang lang--activo">Español</button>
213                    <span>|</span>
214                    <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&amp;language=en" id="btn-lang-en" class="link--lang">English</button>
215                    <span>|</span>
216                    <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&amp;language=pt" id="btn-lang-pt" class="link--lang">Portugues</button>
217                </div>
218                <!-- FORMULARIO -->
219                <div class="tabs">
220                    <div class="containersTabs">
221                        <div class="tab" id="internacional">
222                            <form id="form-login-ext" method="post" class="form_interno">
223                                <div class="form-group">
224                                    <label for="username-ext">Email</label>
225                                    <input type="text" class="form-control password-input" id="username-ext" name="username-ext" placeholder="Ingresa tu email">
226                                </div>
227                                <div class="form-group">
228                                    <div class="content">
229                                        <label for="password">Contrase&#241;a</label>
230                                        <input type="password" placeholder="Contrase&#241;a" name="password-ext" class="input_clave form-control" id="password-ext">
231                                        <i class="fas fa-eye-slash eye-icon" id="ojo" onclick="toggle()"></i>
232                                    </div>
233                                </div>
234                                    <div id="recaptcha-ext" style="transform: scale(0.77); -webkit-transform: scale(0.77); transform-origin: 0 0; -webkit-transform-origin: 0 0;"></div>
235                                <div id="error-login-ext" class="error-login" role="alert" style="display: none;"></div>
236                                <div class="col-12 col-sm-6 col-md-6 col-lg-6">
237                                    <div class="row">
238                                        <button class="seleccionar" id="btn-login-ext" type="submit">Ingresa</button>
239                                    </div>
240                                </div>
241                            </form>
242                        </div>
243                    </div>
244                </div>
245                <!-- FORMULARIO -->
246            </div>
247            <div class="contrasenas">
248                <div class="container--left">
249                    <div class="d-flex flex-row justify-content-between links--contrasena">
250                        <a href="https://teleticket.com.pe/Account/RequestPasswordReset">&#191;Olvidaste tu contrase&#241;a?</a>
251                        <a href="https://teleticket.com.pe/Account/Register">&#191;A&#250;n no tienes cuenta? Reg&#237;strate</a>
252                    </div>
253                </div>
254            </div>
255        </div>
256        <div class="right--login w-100 w-sm-50 d-none d-sm-block">
257            <div id="contaianer">
258                <section id="wrap">
259                    <div class="p1" data-speed="0.01" data-revert="true"></div>
260                    <div class="p2" data-speed="0.02"></div>
261                </section>
262            </div>
263        </div>
264    </div>
265</main>
266
267<div id="modalValidacionIP">
268
269    <b-modal id="modal-validacionIP" :title="$t('modal.title')" modal-class="modal-pt-01" centered hide-footer no-close-on-esc no-close-on-backdrop>
270        <template #modal-header="{ close }" class="modal-pt-01">
271
272            <img style="padding: 0 1rem;" src="/Content/images/estilo-2021/icon/candado.png" alt="img" />
273            <h5 class="title" style="color: black;">Hemos a&#241;adido un m&#233;todo de verificaci&#243;n</h5>
274
275            <button size="sm" class="modal-pt-01__btn-cerrar" @click="close()">
276                <i class="fas fa-times" style="font-size: 1.2rem"></i>
277            </button>
278        </template>
279
280        <form @submit="onSubmit">
281            <p style="text-align: justify; color: black;" class="px-30 py-10">
282                Por tu seguridad, hemos añadido un método adicional de verificación. <br />
283Para continuar, enviamos un código de  {{largoCodigo}}  dígitos a <span class="font-weight-bold">
283 {{ twoFactorResponse.emailCodigo }} </span> registrado en tu cuenta.
284            </p>
285
286            <div style="color: black;" class="bgfranja mt-10">
287                <h4>&#161;Falta poquito!</h4>
288                <p>Para finalizar ingresa el c&#243;digo que te enviamos a tu mail.</p>
289            </div>
290
291            <div v-if="requestCompletarSignInEstado != requestCompletarSignInEstados.FINALIZADO_OK" style="color: black;" class="text-center mt-10">
292                <p class="text-center font-weight-bolder" style="font-size: 1rem">
293                    Ingresa el c&#243;digo
294                </p>
295                <input type="text" class="input-codigo"
296                       :max="maxLargoNumber"
297                       :disabled="contadorFinalizado || requestsCodErrores[105] == requestCompletarSignInEstadoCodError"
298                       @keydown="onInputCodigoKeydown"
299                       @paste="onPegarCodigo"
300                       @keypress="onInputCodigoKeyPress"
301                       v-model="inputCodigo"
302                       :style="{ 'padding-inline-start': inputPaddingInlineStart }" />
303            </div>
304
305            <div v-if="requestCompletarSignInEstado == requestCompletarSignInEstados.FINALIZADO_OK" class="verificacion-ok-wrapper">
306                <i style="color: var(--azul); font-size: 2.6rem; margin-bottom: .5rem" class="far fa-check-circle"></i>
307                <p class="font-weight-bold" style="font-size: 1rem;">C&#243;digo v&#225;lido</p>
308            </div>
309
310            <div v-else-if="errorMensaje" class="verificacion-nok-wrapper">
311                <p>{{ errorMensaje.titulo }}</p>
312                <p class="font-weight-bold">{{ errorMensaje.mensaje }}</p>
313            </div>
314
315            <div v-else style="color: black; padding-bottom: 16px;" class="d-flex flex-column justify-content-center align-items-center botonera-body">
316                <p v-if="debug">
317                    mostrarMensajeReenviar: {{ mostrarMensajeReenviar }}
318                </p>
319
320                <p v-if="procesoEstado != estadosValidacionIP.TIMEOUT && mostrarMensajeReenviar">
321                    Reenviar c&#243;digo en  {{ `${contadorDuracionCodigo.minutos}:${contadorDuracionCodigo.segundos}` }}
322                </p>
323
324                <p v-if="debug">
325                    procesoEstado: {{ procesoEstado }} requestCompletarSignInEstado: {{ requestCompletarSignInEstado }}
326                </p>
327
328                <a v-if="procesoEstado == estadosValidacionIP.TIMEOUT"
329                   class="mb-10"
330                   @click="solicitarNuevoCodigo"
331                   :disabled="requestSolicitarCodigo == requestSolicitarCodigoEstados.ENVIADO"
332                   href="#">
333                    Reenviar c&#243;digo
334                </a>
335
336                <div v-if="requestCompletarSignInEstado == requestCompletarSignInEstados.FINALIZADO_ERROR" class="verificacion-nok-wrapper">
337                    <i style="color: var(--rojo); font-size: 2.6rem; margin-top: .5rem" class="fas fa-times-circle"></i>
338                    <p>Código erróneo</p>
339                </div>
340
341                <input type="submit" hidden />
342
343                <button v-f="requestCompletarSignInEstado == requestCompletarSignInEstados.INACTIVO"
344                        :disabled="btnEnvioCodigoEstado || inputCodigo.length < largoCodigo"
345                        ref="btnEnviarCodigo"
346                        class="text-uppercase w-75 btn btn-rojo"
347                        @click="enviarCodigo"
348                        type="button">
349                    <template v-if="requestCompletarSignInEstado != requestCompletarSignInEstados.ENVIADO">
350                        Confirmar
351                    </template>
352                    <b-spinner v-else-if="requestCompletarSignInEstado == requestCompletarSignInEstados.ENVIADO" label="Loading..."></b-spinner>
353                </button>
354            </div>
355
356            <div style="overflow: hidden;" class="px-30 py-10">
357                <div style="float: left; margin-right: 15px;">
358                    <img src="/Content/images/estilo-2021/icon/campanita.png" alt="img" />
359                </div>
360                <p style="text-align: justify; color: black;">
361                    Si no recibes el correo, revisa tu carpeta de no deseados o spam.
362                </p>
363            </div>
364        </form>
365    </b-modal>
366</div>
367
368
369</div>
370
371
372    </div>
373
374    <div class="cookie-disclaimer" style="display: none;">
375        <div class="row align-items-center justify-content-center justify-content-md-start">
376            <div class="col-auto">
377                <div class="row">
378                    <div class="col-10">
379                        <h3 class="cookie-disclaimer__titulo">Nuestro sitio web utiliza cookies.</h3>
380                    </div>
381                    <div class="col-2" style=" margin-top:10px;">
382                        <div class="outer">
383                            <div id="btn-cerrar-cookies" class="inner">
384                                <label class="label-cerrar-cookies">Cerrar</label>
385                            </div>
386                        </div>
387                    </div>
388                </div>
389                <p class="text-justify cookie-disclaimer__mensaje">
390                    Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico.
391                    Además, compartimos información sobre el uso que haga el sitio web con nuestros partners de redes sociales, publicidad y análisis web,
392                    quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya  hecho de sus servicios.
393                </p>
394            </div>
395            <div class="col-6 col-md-auto text-center">
396                <button class="cookie-disclaimer__btn">Aceptar</button>
397            </div>
398        </div>
399    </div>
400
401    
402
403<head>
404</head>
405
406<footer id="footer" class="footer-incompleto">
407    
408                <div class="container">
409                    <div class="row">
410                        <div class="col-12 col-sm-8 col-md-8 col-lg-8">
411                            <div class="d-flex flex-row justify-content-star align-items-center links--footer">
412                                <div class="log-footer">
413                                    <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/logos/logo-footer-mov.jpg" alt="logo footer">
414                                </div>
415                                
416                                <div>
417                                    <ul class="m-0 p-0">
418                                        <li>
419                                            <a href="https://teleticket.com.pe/paginas/TerminoCondiciones">T&#233;rminos y condiciones</a>
420                                        </li>
421                                    </ul>
422                                </div>
423                            </div>
424                        </div>
425                    </div>
426                </div>
427
428</footer>
429
430
431    
432
433    
433<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.bcSwipe/jquery.bcSwipe.min.js"></script>
433
434    
434<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery-slidebars/slidebars.min.js"></script>
434
435    
435<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.autocomplete/1.2.2/jquery.autocomplete.min.js"></script>
435
436    
436<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.screwdefaultbuttons/2.0.6/jquery.screwdefaultbuttons.min.js"></script>
436
437    
437<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.readmore/readmore.min.js"></script>
437
438    
438<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.placeholder/2.0.8/jquery.placeholder.js"></script>
438
439    
439<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.rut.js"></script>
439
440    
440<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.validate.min.js"></script>
440
441    
441<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.form.js"></script>
441
442    
442<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/underscore/1.8.3/underscore-min.js"></script>
442
443    
443<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/bootstrap/4.6.0/js/popper.js"></script>
443
444    
444<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/customValidators.js?v=20240531"></script>
444
445    
445<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/search.js?v=20250204"></script>
445
446    
446<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/bootstrap/4.3.1/js/bootstrap.min.js"></script>
446
447    
447<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/owl-carousel/2.3.4/js/owl.carousel.min.js"></script>
447
448    
448<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/utils-1.10.js?v=20240402"></script>
448
449    
449<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/home.js?v=20221014"></script>
449
450    
450<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/gaEventTracking.min.js?v=20170725"></script>
450
451    
451<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/cookie-disclaimer.js?v=20241028"></script>
451
452    
452<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/layout.js"></script>
452
453    
453<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/fancybox/3.5.6/jquery.fancybox.min.js"></script>
453
454    <!-- Luxon Datetime library -->
455    
455<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js"></script>
455
456    
457    
457<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/lodash/4.17.21/lodash.min.js"></script>
457
458
459    
460    
461    
461<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/tweenMax.js?v=20210422"></script>
461
462    
462<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/signIn.js?v=20210422"></script>
vendor: 155 bytes, lines 462-465
462
463
464        <script src="https://www.google.com/recaptcha/api.js?hl=es-419&onload=onloadGrecaptchaCallback&render=explicit" async defer></script>
465        
465<script type="text/javascript">
466            var recaptchaActive = true;
467            var onloadGrecaptchaCallback = function () {
468                grecaptcha.render('recaptcha-ext', {
469                    'sitekey': '6Leq3zIUAAAAAJ4uApshNgDMe7s1Iq3uLnJ_2fya'
470                });
471            };
472        </script>
472
473
474    
474<script type="text/javascript">
475        var ESTADOS_VALIDACION_IP = {
476            INACTIVO: 'INACTIVO',
477            INICIADO: 'INICIADO',
478            TIMEOUT: 'TIMEOUT'
479        }
480
481        const mensajesModalIP = {
482            en: {
483                modal: {
484                    title: "Verification",
485                    header: "We have added a verification method",
486                    descripcion1: "For your security, we added an additional verification method.",
487                    descripcion2: "To continue, we send a code of {largoCodigo} digits to {email} registered in your account.",
488                    faltaPoquito: "Almost done!",
489                    ingresaCodigo: "Enter the code we sent to your email.",
490                    ingresaCodigoInput: "Enter code",
491                    codigoValido: "Valid code",
492                    reenviarCodigo: "Resend code in {minutos}:{segundos}",
493                    reenviar: "Resend code",
494                    confirmar: "Confirm",
495                    noRecibesCorreo: "If you don’t receive the email, check your spam folder.",
496                    timeOut: "Timeout",
497                    requestMoreCodes: "It is no longer possible to request more codes.",
498                    maximunNumber: "Maximum number of attempts passed.",
499                    tryAgain: "Vuelve a intentar."
500                }
501            },
502            es: {
503                modal: {
504                    title: "Verificación",
505                    header: "Hemos añadido un método de verificación",
506                    descripcion1: "Por tu seguridad, hemos añadido un método adicional de verificación.",
507                    descripcion2: "Para continuar, enviamos un código de {largoCodigo} dígitos a {email} registrado en tu cuenta.",
508                    faltaPoquito: "¡Falta poquito!",
509                    ingresaCodigo: "Para finalizar ingresa el código que te enviamos a tu mail.",
510                    ingresaCodigoInput: "Ingresa el código",
511                    codigoValido: "Código válido",
512                    reenviarCodigo: "Reenviar código en {minutos}:{segundos}",
513                    reenviar: "Reenviar código",
514                    confirmar: "Confirmar",
515                    noRecibesCorreo: "Si no recibes el correo, revisa tu carpeta de no deseados o spam.",
516                    timeOut: "Tiempo de espera agotado",
517                    requestMoreCodes: "Ya no es posible solicitar más códigos.",
518                    maximunNumber: "Máximo de intentos superados.",
519                    tryAgain: "Vuelve a intentar."
520                }
521            },
522            pt: {
523                modal: {
524                    title: "Verificação",
525                    header: "Adicionámos um método de verificação",
526                    descripcion1: "Por sua segurança, adicionámos um método adicional de verificação.",
527                    descripcion2: "Para continuar, enviamos um código de {largoCodigo} dígitos para {email} registado na sua conta.",
528                    faltaPoquito: "Quase lá!",
529                    ingresaCodigo: "Para finalizar, insira o código que enviámos para o seu email.",
530                    ingresaCodigoInput: "Insira o código",
531                    codigoValido: "Código válido",
532                    reenviarCodigo: "Reenviar código em {minutos}:{segundos}",
533                    reenviar: "Reenviar código",
534                    confirmar: "Confirmar",
535                    noRecibesCorreo: "Se não receber o e-mail, verifique a pasta de spam.",
536                    timeOut: "Tempo esgotado",
537                    requestMoreCodes: "Número máximo de tentativas aprovadas.",
538                    maximunNumber: "Número máximo de tentativas aprovadas.",
539                    tryAgain: "Por favor, tente novamente."
540                }
541            }
542        };
543
544        const idiomaActual = getCookie("_ptlang") || "es";
545
546        var modalValidacionIPApp = new Vue({
547            el: "#modalValidacionIP",
548            i18n: new VueI18n({
549                locale: idiomaActual,
550                messages: mensajesModalIP
551            }),
552            data: {
553                debug: false,
554                correoUsuarioOfuscado: null,
555                contadorDuracionCodigo: {
556                    totalSeconds: 90,
557                    minutos: -1,
558                    segundos: -1,
559                    intervalo: null
560                },
561                largoCodigo: 6,
562                inputCodigo: "",
563                twoFactorResponse: {
564                    sessionID: null,
565                    ttlCode: 90,
566                    emailCodigo: ""
567                },
568                urlRetornoFinalizacion: null,
569                estadosValidacionIP: ESTADOS_VALIDACION_IP,
570                procesoEstado: ESTADOS_VALIDACION_IP.INACTIVO,
571                requestCompletarSignInEstado: 'INACTIVO',
572                requestCompletarSignInEstadoCodError: null,
573                requestCompletarSignInEstados: {
574                    INACTIVO: 'INACTIVO',
575                    ENVIADO: "enviado",
576                    FINALIZADO_OK: "OK",
577                    FINALIZADO_ERROR: "ERROR",
578                },
579                requestSolicitarCodigo: 'INACTIVO',
580                requestSolicitarCodigoCodError: null,
581                requestSolicitarCodigoEstados: {
582                    INACTIVO: 'INACTIVO',
583                    ENVIADO: "enviado",
584                    FINALIZADO_OK: "OK",
585                    FINALIZADO_ERROR: "ERROR"
586                },
587                requestsCodErrores: {
588                    101: "SessionInvalida",
589                    102: "SessionInvalida",
590                    103: "MaximoCodigosSuperados",
591                    104: "CodigoVencidoOInvalido",
592                    105: "MaximoIntentosSuperados"
593                }
594            },
595            mounted() {
596                this.$root.$on('bv::modal::hidden', (bvEvent, modalId) => {
597                    if(modalId == "modal-validacionIP") {
598                        $("#btn-login-ext").removeAttr('disabled');
599                        try {
600                            document.querySelector('#recaptcha-ext').style.display = 'block';
601                        } catch (e) {
602                            console.warn('error al intentar de mostrar el recaptcha')
603                        }
604                    }
605                });
606            },
607            computed: {
608                errorMensaje() {
609                    if (this.requestSolicitarCodigoCodError == this.requestsCodErrores[101]) {
610                        return {
611                            titulo: this.$t('modal.timeOut'),
612                            mensaje: this.$t('modal.tryAgain')
613                        }
614                    }
615
616                    if (this.requestSolicitarCodigoCodError == this.requestsCodErrores[103]) {
617                        return {
618                            titulo: this.$t('modal.requestMoreCodes'),
619                            mensaje: this.$t('modal.tryAgain')
620                        }
621                    }
622
623                    if (this.requestCompletarSignInEstadoCodError == this.requestsCodErrores[105]) {
624                        return {
625                            titulo: this.$t('modal.maximunNumber'),
626                            mensaje: this.$t('modal.tryAgain')
627                        }
628                    }
629                    return null;
630                },
631                btnEnvioCodigoEstado() {
632                    return this.requestCompletarSignInEstado == this.requestCompletarSignInEstados.ENVIADO;
633                },
634                contando() {
635                    const { minutos, segundos } = this.contadorDuracionCodigo;
636                    return minutos >= 0 && segundos >= 0 && !this.contadorFinalizado;
637                },
638                contadorFinalizado() {
639                    return parseInt(this.contadorDuracionCodigo.segundos) == 0 && parseInt(this.contadorDuracionCodigo.minutos) == 0;
640                },
641                mostrarMensajeReenviar() {
642                    const { minutos, segundos } = this.contadorDuracionCodigo;
643                    return minutos >= 0 && segundos >= 0;
644                },
645                maxLargoNumber() {
646                    return parseInt(Array.from({ length: this.largoCodigo }, (v, k) => 9).join(""));
647                },
648                inputPaddingInlineStart() {
649                    return this.inputCodigo.length > 0 ? "4%" : 0;
650                }
651            },
652            watch: {
653                procesoEstado: function () {
654                },
655                requestCompletarSignInEstadoCodError: function (val) {
656                    if(val == this.requestsCodErrores[104]) {
657                        this.resetInputCodigo();
658                        this.requestCompletarSignInEstadoCodError = null;
659                    }
660                },
661                "twoFactorResponse.ttlCode": function (val, oldVal) {
662                    this.contadorDuracionCodigo.totalSeconds = val;// val;
663                },
664                "contadorDuracionCodigo.segundos": function () {
665                    try {
666                        if (parseInt(this.contadorDuracionCodigo.segundos) == 0 && parseInt(this.contadorDuracionCodigo.minutos) == 0) {
667                            clearInterval(this.contadorDuracionCodigo.intervalo);
668                            this.procesoEstado = ESTADOS_VALIDACION_IP.TIMEOUT;
669                        }
670                    } catch (e) {
671                        console.error(e);
672                    }
673                },
674                inputCodigo() {
675                    if (this.inputCodigo.length >= this.largoCodigo) {
676                        this.$refs['btnEnviarCodigo'].focus();
677                    }
678                }
679            },
680            methods: {
681                iniciarProceso2fa(AuthSessionID, TtlCode, urlRetorno, emailCodigo = "") {
682                    this.requestCompletarSignInEstadoCodError = null;
683                    this.requestSolicitarCodigoCodError = null;
684                    this.resetInputCodigo();
685                    clearInterval(this.contadorDuracionCodigo.intervalo);
686                    this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO;
687                    this.twoFactorResponse.sessionID = AuthSessionID;
688                    this.twoFactorResponse.ttlCode = TtlCode;
689                    this.twoFactorResponse.emailCodigo = emailCodigo;
690                    this.contadorDuracionCodigo.totalSeconds = TtlCode;
691                    this.urlRetornoFinalizacion = urlRetorno;
692                    this.iniciarContador();
693                    this.levantarModal();
694                    this.procesoEstado = ESTADOS_VALIDACION_IP.INICIADO;
695                },
696                resetInputCodigo() {
697                    this.inputCodigo = "";
698                },
699                onSubmit(e) {
700                    e.preventDefault();
701                    e.stopPropagation();
702                    if (this.inputCodigo.length >= this.largoCodigo) {
703                        this.finalizarSignIn();
704                    }
705                    return false;
706                },
707                async finalizarSignIn() {
708                    const codigo = this.inputCodigo;
709                    const { sessionID } = this.twoFactorResponse;
710                    try {
711                        this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.ENVIADO;
712                        const res = await fetch(`CompletarSignIn?codigo=${codigo}&sessionID=${sessionID}`);
713                        const data = await res.json();
714                        const { success, codigo: codigoError } = data;
715
716                        if (success) {
717                            setTimeout(() => {
718                                window.location.replace(this.urlRetornoFinalizacion);
719                            }, 2500);
720                            this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_OK;
721                        } else {
722                            this.requestCompletarSignInEstadoCodError = this.requestsCodErrores[codigoError];
723                            this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_ERROR;
724                        }
725                    } catch (e) {
726                        this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_ERROR;
727                        console.error(e);
728                    }
729                    if(this.requestCompletarSignInEstado != this.requestCompletarSignInEstados.FINALIZADO_OK) {
730                        setTimeout(() => {
731                            this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO;
732                        }, 3000);
733                    }
734                },
735                async solicitarNuevoCodigo() {
736                    this.resetInputCodigo();
737                    const { sessionID } = this.twoFactorResponse;
738                    this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO;
739
740                    try {
741                        this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.ENVIADO;
742                        const res = await fetch(`${window.location.origin}/DobleFactor/SolicitarCodigo?sessionID=${sessionID}`, {
743                            method: 'POST',
744                            headers: {
745                                Accept: 'application/json',
746                                'Content-Type': 'application/json',
747                            }
748                        });
749                        const data = await res.json();
750                        const { success, codigo: codigoError } = data;
751                        if (success) {
752                            this.iniciarProceso2fa(this.twoFactorResponse.sessionID, this.twoFactorResponse.ttlC
752ode, this.urlRetornoFinalizacion);
753                            this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_OK;
754                        } else {
755                            this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_ERROR;
756                            this.requestSolicitarCodigoCodError = this.requestsCodErrores[codigoError];
757                            console.error(`solicitarNuevoCodigo success error`)
758                        }
759                    } catch (e) {
760                        this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_ERROR;
761                        console.error(`solicitarNuevoCodigo error`, e);
762                    }
763                },
764                onPegarCodigo(e) {
765                    const { length: inputLargoAntesDePegar } = this.inputCodigo;
766                    setTimeout(() => {
767                        var characters = e.target.value;
768                        const { selectionStart, selectionEnd, value } = e.target;
769                        var inputMasCharsLen = (inputLargoAntesDePegar + characters.length);
770
771                        if (!(/^\d+$/.test(characters))) {
772                            this.inputCodigo = characters.trim().replace(/\D/g, '');
773                        }
774
775                        if (characters.length > this.largoCodigo) {
776                            this.inputCodigo = this.inputCodigo.trim().substring(0, this.largoCodigo)
777                        }
778                    }, 50);
779                },
780                onInputCodigoKeyPress(e) {
781                    const { key } = e;
782                    var noEsNumero = !Number.isInteger(Number(key));
783                    if (noEsNumero && key != "Enter") {
784                        e.preventDefault();
785                        e.stopPropagation();
786                        return false;
787                    }
788                },
789                onInputCodigoKeydown(e) {
790                    const { keyCode, key, ctrlKey } = e;
791                    const { selectionStart, selectionEnd, value } = e.target;
792                    const { length: inputLargo } = this.inputCodigo;
793                    const keyCodesDisponibles = [37, 39, 8, 46];// atras, adelante, delete, suprimir
794
795                    var noEsNumero = !Number.isInteger(Number(key)); //(keyCode > 31 && ((keyCode < 48 || keyCode > 57) || (e.keyCode >= 96 && e.keyCode <= 105))) && keyCode !== 46;
796                    var esCopiarPegar = (keyCode == 86 || keyCode == 17) && ctrlKey;
797                    // 88 cortar
798                    if (this.debug) {
799                        console.log('=====================================================')
800                        console.log('key', key, 'keyCode', keyCode, 'noEsNumero', noEsNumero, 'selectionStart == selectionEnd', selectionStart, selectionEnd);
801                    }
802
803                    //keyCode 69 = e, 116 = f5
804                    if ([37, 39, 8, 46, 116, 13].includes(keyCode)) {
805                        if (this.debug) {
806                            console.log('es tecla permitida');
807                        }
808                        return true;
809                    }
810                    //17 ctrlleft, 86 v
811                    else if (inputLargo >= this.largoCodigo && !keyCodesDisponibles.includes(keyCode) && selectionStart == selectionEnd) {
812                        if (this.debug) {
813                            console.log(`largo mas a ${this.largoCodigo}`, this.inputCodigo);
814                        }
815                        e.preventDefault();
816                        e.stopPropagation();
817                        return false;
818                    }
819                    else if (esCopiarPegar) {
820                        return true;
821                    }
822                    else if (noEsNumero || keyCode == 222) {
823                        if (this.debug) {
824                            console.log('no es numero o key e');
825                        }
826                        if (selectionStart == selectionEnd) {
827                            e.preventDefault();
828                            e.stopPropagation();
829                            return false;
830                        }
831                    } else {
832                        if (this.debug) {
833                            console.log('pasa!')
834                        }
835                        return true;
836                    }
837                },
838                enviarCodigo() {
839                    this.procesoEstado = "enviando";
840                    this.finalizarSignIn()
841                },
842                levantarModal() {
843                    this.$bvModal.show('modal-validacionIP');
844                    try {
845                        document.querySelector('#recaptcha-ext').style.display = 'none';
846                    } catch (e) {
847                        console.warn('error al intentar de ocultar el recaptcha')
848                    }
849                },
850                iniciarContador() {
851                    this.contadorDuracionCodigo.segundos = -1;
852                    this.contadorDuracionCodigo.minutos = -1;
853                    this.contadorDuracionCodigo.intervalo = setInterval(this.contar, 1000);
854                },
855                contar() {
856                    this.contadorDuracionCodigo.segundos = this.pad(this.contadorDuracionCodigo.totalSeconds % 60);
857                    this.contadorDuracionCodigo.minutos = this.pad(parseInt(this.contadorDuracionCodigo.totalSeconds / 60));
858                    --this.contadorDuracionCodigo.totalSeconds;
859                },
860                pad(val) {
861                    var valString = val + "";
862                    if (valString.length < 2) {
863                        return "0" + valString;
864                    } else {
865                        return valString;
866                    }
867                }
868            }
869        });
870
871        $(document).ready(function () {
872
873            $(".dropdown li a").click(function () {
874                $(".dropdown button").text($(this).text());
875            });
876
877            $("#form-login-ext").validate({
878                ignore: '',
879                rules: {
880                    "username-ext": {
881                        required: true,
882                        email: true
883                    },
884                    "password-ext": {
885                        required: true,
886                        minlength: 4,
887                        caracterespermitidos: true
888                    }
889                    
890                    ,"g-recaptcha-response": {
891                        required: true
892                    }
893                    
894                },
895                messages: {
896                    "username-ext": {
897                       required: 'Debes ingresar el email',
898                        email: 'El email tiene un formato incorrecto'
899                    },
900                    "password-ext": {
901                        required: 'Debes ingresar la contrase&#241;a',
902                        minlength: 'La contrase&#241;a debe tener entre 8 y 16 caracteres'
903                    },
904                    "g-recaptcha-response": {
905                        required: "Debes certificar que no eres un robot"
906                    }
907                },
908                submitHandler: function () {
909                    var terminosycondicionesJson = null;
910                    if ($("#terminosycondiciones").children().length > 0) {
911                        terminosycondicionesJson = {};
912                        var tycDocument = $("#terminosycondiciones").children();
913
914                        _.forEach($("#terminosycondiciones").children(), function (tyc) {
915                            var t = tyc.control.id.replace('chbCondicionesCliente-TyC_', '');
916                            terminosycondicionesJson[t] = tyc.control.checked;
917                        });
918                    }
919                    var loginButton = $("#btn-login-ext");
920                    loginButton.attr('value', 'Validando...');
921                    loginButton.attr('disabled', 'disabled');
922
923                    $.ajax({
924                        type: "POST",
925                        url: "/Account/SignIn",
926                        data: {
927                            'Username' : $("#username-ext").val(),
928                            'Password': $("#password-ext").val(),
929                            'TerminosYCondiciones': terminosycondicionesJson ? JSON.stringify(terminosycondicionesJson) : terminosycondicionesJson,
930                            'CustomerType': '2'
931                                
932                                ,
933                                'g-recaptcha-response': $("#form-login-ext textarea[name='g-recaptcha-response']").val()
934                                
935                        },
936                        success: function (data) {
937
938                            var { Success, Message, ErrorList, TwoFactorRequired, TtlCode, AuthSessionID, Email } = data;
939                            Message = $.parseJSON(Message) || {};
940
941                            if (data != null) {
942                                if (data.Success) {
943                                    if (Message.Cliente) {
944                                        setLoginState(Message.Cliente)
945                                    }
946                                    var returnUrl = queryString("ReturnUrl");
947                                    //Si la autenticación es correcta, verificamos si se requiere el 2fa
948                                    let urlARedireccionar = window.location.origin + returnUrl;
949
950                                    if (!returnUrl || returnUrl == "false") {
951                                        urlARedireccionar = "https://teleticket.com.pe"
952                                    }
953
954                                    if (TwoFactorRequired) {
955                                        modalValidacionIPApp.iniciarProceso2fa(AuthSessionID, TtlCode, urlARedireccionar, Email)
956                                    } else {
957                                        window.location.replace(urlARedireccionar);
958                                    }
959                                } else {
960                                    ShowErrorLoginExt(data.ErrorList);
961
962                                     var terminosycondiciones = data.TerminosCondicionesClienteHtml;
963                                     $('#terminosycondiciones').empty();
964
965                                     _.forEach(terminosycondiciones, function (tyc) {
966                                         //debugger;
967                                         var documentTYC = ' <label><input id="chbCondicionesCliente-' + tyc.ID + '" data-obligatorio="' + tyc.obligatorio + '" type="checkbox" />' + tyc.XML + '</label>';
968                                         $('#terminosycondiciones').append(documentTYC);
969                                     });
970                                }
971                            }
972                            else {
973                                ShowErrorLoginExt('Ha ocurrido un error al intentar autenticar, intenta de nuevo');
974                            }
975                        },
976                        error: function (data) {
977                            ShowErrorLoginExt('Ha ocurrido un error al intentar autenticar, intenta de nuevo');
978                        }
979                    }, 'json');
980                },
981                success: function (label) {
982                    label.remove();
983                },
984                errorElement: "p",
985                errorLabelContainer: "#error-login-ext"
986            });
987
988            function GetTycCliente(clienteID) {
989                var clienteID = ""
990                $.ajax({
991                    url: "/Account/GetTerminosYCondicionesSinFirmar",
992                    method: "POST",
993                    data: { clienteID: clienteID },
994                    success: function(data) {
995                       console.log(data);
996                    },
997                    error: function(data) {
998                        console.log(data);
999                    }
1000                });
1001            }
1002        });
1003
1004        function ShowErrorLoginExt(errorList) {
1005                
1006                grecaptcha.reset(0);
1007                
1008            var html = '';
1009            errorList.forEach(function(error) { html = html + '<p>' + error + '</p>'; });
1010            $("#error-login-ext").html(html).show();
1011            $("#btn-login-ext").attr('value', 'Ingresa').removeAttr('disabled');
1012        }
1013
1014        function ShowErrorLogin(errorList) {
1015                
1016                grecaptcha.reset(0);
1017                
1018            var html = '';
1019            errorList.forEach(function (error) { html = html + '<p>' + error + '</p>'; });
1020            $("#error-login").html(html).show();
1021            $("#btn-login").attr('value', 'Ingresa').removeAttr('disabled');
1022        }
1023
1024        $(".link--lang").on("click", function () {
1025            var link = $(this).data('link');
1026            window.location.href = link;
1027        })
1028
1029        if (getCookie("_ptlang") == "es") {
1030            $('.link--lang').removeClass('lang--activo')
1031            $('#btn-lang-es').addClass('lang--activo')
1032        } else if (getCookie("_ptlang") === "en") {
1033            $('.link--lang').removeClass('lang--activo')
1034            $('#btn-lang-en').addClass('lang--activo')
1035        } else if (getCookie("_ptlang") === "pt") {
1036            $('.link--lang').removeClass('lang--activo')
1037            $('#btn-lang-pt').addClass('lang--activo')
1038        } else {
1039            console.warn('lang no conocido!')
1040        }
1041    </script>
1041
1042
1043
1044
1045
1046    
1046<script type="text/javascript">
1047        var DateTime = luxon.DateTime;
1048        const layoutResources = {
1049            es: {
1050                layout: {
1051                    hi: 'Hola',
1052                    home: 'Inicio',
1053                    account: 'Mis Datos',
1054                    purchasesAndETickets: 'Compras & e-Tickets',
1055                    signIn: 'Ingresa',
1056                    signUp: 'Regístrate',
1057                    orders: 'Mis compras',
1058                    devolutions: 'Mis Devoluciones',
1059                    changePassword: 'Cambiar contraseña',
1060                    logOut: 'Cerrar sesión',
1061                    searchByArtist: 'Busca por artista, evento o lugar',
1062                    categories: 'Categorías',
1063                    sports: 'Deportes',
1064                    concerts: 'Conciertos',
1065                    others: 'Otros',
1066                    entertainment: 'Entretenimiento',
1067                    music: 'Música',
1068                    theater: 'Teatro',
1069                    family: 'Familia',
1070                    specials: 'Especiales',
1071                    all: 'Todos',
1072                    welcome: "Bienvenido"
1073                },
1074                sidebar: {
1075                    popular: 'Destacados',
1076                    puntoStore: 'PUNTOS DE RETIRO Y/O VENTA',
1077                    visitOur: 'Visita nuestro:',
1078                    helpCenter: 'Centro de Ayuda'
1079                }
1080            },
1081            en: {
1082                layout: {
1083                    hi: 'Hi',
1084                    home: 'Home',
1085                    account: "Account",
1086                    purchasesAndETickets: 'Purchases and e-tickets',
1087                    signIn: 'Sign In',
1088                    signUp: 'Sign Up',
1089                    orders: 'Orders',
1090                    devolutions: 'My Returns',
1091                    changePassword: 'Change password',
1092                    logOut: 'Log Out',
1093                    searchByArtist: 'Search by artist, event or place',
1094                    categories: 'Categories',
1095                    sports: 'Sports',
1096                    concerts: 'Concerts',
1097                    others: 'Others',
1098                    entertainment: 'Entertainment',
1099                    music: 'Music',
1100                    theater: 'Theater',
1101                    family: 'Family',
1102                    specials: 'Specials',
1103                    all: 'All',
1104                    welcome: "Welcome"
1105                },
1106                sidebar: {
1107                    popular: "Popular",
1108                    puntoStore: 'PICK UP AND/OR SALE SITES',
1109                    visitOur: "Visit our:",
1110                    helpCenter: 'Help Center'
1111                }
1112            },
1113            pt: {
1114                layout: {
1115                    hi: 'Olá',
1116                    home: 'Início',
1117                    account: "Conta",
1118                    purchasesAndETickets: 'Compras e e-tickets',
1119                    signIn: 'Entrar',
1120                    signUp: 'Cadastrar-se',
1121                    orders: 'Minhas Compras',
1122                    devolutions: 'Minhas Devoluções',
1123                    changePassword: 'Alterar senha',
1124                    logOut: 'Sair',
1125                    searchByArtist: 'Buscar por artista, evento ou local',
1126                    categories: 'Categorias',
1127                    sports: 'Esportes',
1128                    concerts: 'Concertos',
1129                    others: 'Outros',
1130                    entertainment: 'Entretenimento',
1131                    music: 'Música',
1132                    theater: 'Teatro',
1133                    family: 'Família',
1134                    specials: 'Especiais',
1135                    all: 'Todos',
1136                    welcome: "Bem-vindo"
1137                },
1138                sidebar: {
1139                    popular: "Popular",
1140                    puntoStore: 'PONTOS DE RETIRADA E/OU VENDA',
1141                    visitOur: "Visite nosso:",
1142                    helpCenter: 'Centro de Ajuda'
1143                }
1144            }
1145        }
1146
1147        window.ptLangCookie = getCookie("_ptlang");
1148        window.idiomas = ['es', 'en', 'pt'];
1149        window.idioma = window.idiomas.includes(window.ptLangCookie) ? window.ptLangCookie : 'es';
1150
1151        const i18nLayout = new VueI18n({
1152            locale: idioma,
1153            messages: layoutResources,
1154        });
1155
1156        new Vue({
1157            el: "#sidebar",
1158            i18n: i18nLayout
1159        });
1160
1161        new Vue({
1162            el: "#menu-side-container",
1163            i18n: i18nLayout
1164        });
1165
1166        new Vue({
1167            el: "#menu-navbar",
1168            i18n: i18nLayout,
1169            methods: {
1170                getKey(key) {
1171                    return this.$i18n.t(key);
1172                }
1173            }
1174        });
1175
1176        new Vue({
1177            el: "#menu-top",
1178            i18n: i18nLayout
1179        });
1180
1181
1182        $(function () {
1183
1184            function cargarInfoUserLogeado({ Nombres = '', Apellidos = '' }) {
1185                $('.nombre-cliente').html(Nombres + " " + Apellidos);
1186            }
1187
1188            var ptab = getCookie("_ptab");
1189
1190            if (typeof ptab !== 'undefined' && ptab === "1") {
1191                $(".menu-cuenta > .visita").hide();
1192                $(".menu-cuenta-mobile > .visita").hide();
1193                $(".menu-cuenta > .logeado").show();
1194                $(".menu-cuenta").show();
1195                cargarInfoUserLogeado(getLoginState());
1196            }
1197            else {
1198                $(".menu-cuenta > .logeado").hide();
1199                $(".menu-cuenta-mobile > .logeado").hide();
1200                $(".menu-cuenta > .visita").show();
1201                $(".menu-cuenta-mobile > .visita").show();
1202                $(".menu-cuenta").show();
1203                try {
1204                    removeLoginState();
1205                } catch (e) {
1206                    //console.error(e);
1207                }
1208            }
1209            if (typeof gaEventTracking !== 'undefined') {
1210                gaEventTracking.init({
1211                    inheritance: true
1212                });
1213            }
1214        });
1215    </script>
1215
1216    <!-- GetChatScript -->
1217    
1217<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=224dfbd2-da79-4541-bc1b-9905b20ebe73"></script>
1217<script type="text/JavaScript">window.zESettings = { webWidget: { color: { theme: "#AD201A" } } };</script>
1217
1218</body>
1219</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.