PageSourceSearch

https://cmp.consentik.com/sites/b9aa92e2-9ad3-4a09-a6b1-55fb3b82b1…/index.js?v=1790841829&ver=1.0.5

js consentik.com collected 2026-10-01 08:57:45 UTC 249,311 bytes, 1,116 lines download raw bytes

1(function(){if(window.__cstIndexLoaded)return;window.__cstIndexLoaded=true;const script=document.createElement("script");script.textContent="window['otkConsent']={\"ads_data_redaction\":true,\"url_passthrough\":true,\"useDefaultTemplate\":false};/**\n * Google consent mode section start\n * @type {*[]}\n */\nwindow.dataLayer = window.dataLayer || [];\n// Use var, not const: this script is evaluated twice (in gcm.js and in the\n// index.js finalContent), and a const redeclaration would throw a SyntaxError.\nvar CMP_ALREADY_SET = typeof window.__CST_CMP_ALREADY_SET !== 'undefined';\n\nwindow.gtmConsentCallback = function () {};\nwindow.gtmInitConsentCallback = function () {};\nwindow.gtmConsentikCMP = function (onUserConsent, initConsentUpdated) {\n  window.gtmConsentCallback = onUserConsent;\n  if (typeof initConsentUpdated === 'function') {\n    window.gtmInitConsentCallback = initConsentUpdated;\n  }\n};\n\nfunction gtag() {\n  dataLayer.push(arguments);\n}\n\n(function (window, document) {\n  const dataConfig = window.otkConsent;\n  window.cstGCM = {};\n  window.cstGCM = {\n    url_passthrough: false,\n    ads_data_redaction: false,\n    config: {\n      ad_user_data: 'denied',\n      ad_personalization: 'denied',\n      ad_storage: 'denied',\n      analytics_storage: 'denied',\n      functionality_storage: 'denied',\n      personalization_storage: 'denied',\n      security_storage: 'denied',\n      wait_for_update: 500,\n      \n    }\n  };\n\n  // The embed's inline snippet already fires a synchronous global-denied default (so\n  // script-optimization plugins like WP Rocket/Autoptimize/NitroPack can't defer or\n  // reorder it), but gcm.js's own default below must still run: it's the only one that\n  // carries REGION_PLACEMENT, and Google Consent Mode merges 'default' commands by\n  // scope — a region-scoped command here is never skipped or overwritten by the\n  // inline snippet's global-scope command, so there is no downside to firing both.\n  // CMP_ALREADY_SET is the only dedup needed, to stop the index.js finalContent copy\n  // (evaluated a second time) from firing this again.\n  if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n    gtag('set', 'developer_id.dNjA1Yz', true);\n    gtag('consent', 'default', window.cstGCM.config);\n    \n  }\n\n  let savedCookie = _getCookie('_consentik_cookie', window);\n  let blockedMarketing = true;\n\n  if (savedCookie) {\n    savedCookie = JSON.parse(savedCookie);\n    const acceptedCat = savedCookie.consent;\n    blockedMarketing = !acceptedCat.includes('advertising');\n    window.cstGCM.config = {\n      ad_user_data: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n      ad_personalization: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n      ad_storage: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n      analytics_storage: acceptedCat.includes('analytics') ? 'granted' : 'denied',\n      functionality_storage: acceptedCat.includes('functional') ? 'granted' : 'denied',\n      personalization_storage: acceptedCat.includes('functional') ? 'granted' : 'denied',\n      security_storage: acceptedCat.includes('functional') ? 'granted' : 'denied'\n    };\n    // CMP_ALREADY_SET means gcm.js already ran the update (from index.js finalContent path)\n    if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n      gtag('consent', 'update', window.cstGCM.config);\n    }\n  }\n\n  window.cstGCM.ads_data_redaction = window.otkConsent.ads_data_redaction && blockedMarketing;\n  window.cstGCM.url_passthrough = window.otkConsent.url_passthrough;\n  // CMP_ALREADY_SET guard prevents double-set from index.js finalContent\n  if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n    window.cstGCM.ads_data_redaction && gtag('set', 'ads_data_redaction', window.cstGCM.ads_data_redaction);\n    window.cstGCM.url_passthrough && gtag('set', 'url_passthrough', window.cstGCM.url_passthrough);\n  }\n\n  function _getCookie(key, window) {\n    let keyValue = window.document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\n    return keyValue ? keyValue[2] : null;\n  }\n})(window, document);\n\n/**\n * Google consent mode section stop\n * @type {*[]}\n */\n",script.id="cst-gcm";const head=document.head||document.getElementsByTagName("head")[0];head.insertBefore(script,head.firstChild);window.cstSiteId="92e307d2d7acf396d37ae6951bfdae70";window.cstInstanceId="b9aa92e2-9ad3-4a09-a6b1-55fb3b82b16b";window.cstRootLink="https://cmp.consentik.com";/*!
2 * jQueryOT JavaScript Library v3.6.0
3 * https://jQueryOT.com/
4 *
5 * Includes Sizzle.js
6 * https://sizzlejs.com/
7 *
8 * Copyright OpenJS Foundation and other contributors
9 * Released under the MIT license
10 * https://jQueryOT.org/license
11 *
12 * Date: 2021-03-02T17:08Z
13 */
14!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQueryOT requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window}
vendor: 5,579 bytes, lines 14-25
14,v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b="3.6.0",w=function(e,t){return new w.fn.init(e,t)};function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jQueryOT:b,constructor:w,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||w.isPlainObject(n)?n:{},i=!1,a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQueryOT"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(T(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(T(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){u["[object "+t+"]"]=t.toLowerCase()}));var C=
15/*!
16 * Sizzle CSS Selector Engine v2.3.6
17 * https://sizzlejs.com/
18 *
19 * Copyright JS Foundation and other contributors
20 * Released under the MIT license
21 * https://js.foundation/
22 *
23 * Date: 2021-02-16
24 */
25function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],L=D.pop,q=D.push,O=D.push,H=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),Q={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{O.apply(D=H.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}
vendor: 4,109 bytes, line 25
25catch(e){O={apply:D.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return O.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return O.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!G.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);
vendor: 15,678 bytes, line 25
25if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)})),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:ve((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:ve((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}},r.pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le((function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):O.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=Q[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=L.call(u));b=Te(b)}O.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=Q.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return O.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ce((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);w.find=C,w.expr=C.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=C.uniqueSort,w.text=C.getText,w.isXMLDoc=C.isXML,w.contains=C.contains,w.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=w.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return h(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?w.grep(e,(function(e){return s.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var D,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jQueryOT?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}
vendor: 4,203 bytes, line 25
25return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,D=w(v);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jQueryOT?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(P)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,(function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,(function(e,t){for(var n;(n=w.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(t){w.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;
vendor: 16,187 bytes, line 25
25if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,R,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,R,i),a(o,n,M,i),a(o,n,R,n.notifyWith))):(r!==R&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:R)),n[2][3].add(a(0,e,h(r)?r:M))})).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)I(o[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn("jQueryOT.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout((function(){throw t}))};var F=w.Deferred();function B(){v.removeEventListener("DOMContentLoaded",B),e.removeEventListener("load",B),w.ready()}w.fn.ready=function(e){return F.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(v,[w]))}}),w.ready.then=F.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(w.ready):(v.addEventListener("DOMContentLoaded",B),e.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var G=new Q,Y=new Q,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:J.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each((function(){Y.set(this,e)})):$(this,(function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))||void 0!==(n=Z(o,e))?n:void 0;this.each((function(){Y.set(this,e,t)}))}),null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each((function(){Y.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:w.Callbacks("once memory").add((function(){G.remove(e,[t+"queue",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each((function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){w.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=v.documentElement,ie=function(e){return w.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===w.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=e.nodeType&&(w.cssNumber[t]||"px"!==l&&+u)&&te.exec(w.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e){var t,n=e.ownerDocument,r=e.nodeName,i=ue[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ue[r]=i,i)}function ce(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=le(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ae(this)?w(this).show():w(this).hide()}))}});var fe,pe,de=/^(?:checkbox|radio)$/i,he=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,ge=/^$|^module$|\/(?:java|ecma)script/i;fe=v.createDocumentFragment().appendChild(v.createElement("div")),(pe=v.createElement("input")).setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),fe.appendChild(pe),d.checkClone=fe.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML="<option></option>",d.option=!!fe.lastChild;var ve={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?w.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ve.tbody=ve.tfoot=ve.colgroup=ve.caption=ve.thead,ve.th=ve.td,d.option||(ve.optgroup=ve.option=[1,"<select multiple='multiple'>","</select>"]);var xe=/<|&#?\w+;/;function be(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(xe.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(he.exec(o)||["",""])[1].toLowerCase(),u=ve[s]||ve._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&me(a),n)for(c=0;o=a[c++];)ge.test(o.type||"")&&n.push(o);return f}var we=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Ee(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,i=function(e){return w().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function ke(e,t,n){n?(G.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:w.event.trigger(w.extend(a[0],w.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&w.event.add(e,t,Te)}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(V(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(re,i),n.guid||(n.guid=w.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(P)||[""]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(P)||[""]).length;l--;)if(d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=w.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=w.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=w.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&ke(t,"click",Te),!1},trigger:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&ke(t,"click"),!0},_default:function(e){var t=e.target;return de.test(t.type)&&t.click&&A(t,"input")&&G.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Te:Ce,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Ce,isPropagationStopped:Ce,isImmediatePropagationStopped:Ce,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Te,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Te,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Te,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},(function(e,t){w.event.special[e]={setup:function(){return ke(this,e,Ee),!1},trigger:function(){return ke(this,e),!0},_default:function(){return!0},delegateType:t}}
vendor: 5,920 bytes, line 25
25)),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||w.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}})),w.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ce),this.each((function(){w.event.remove(this,e,n,t)}))}});var Ae=/<script|<style|<link/i,Ne=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function De(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)w.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=w.extend({},o),Y.set(t,a))}}function He(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Pe(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ne.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Pe(o,t,n,r)}));if(p&&(a=(i=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=w.map(ye(i,"script"),Le)).length;f<p;f++)l=i,f!==g&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,qe),f=0;f<u;f++)l=s[f],ge.test(l.type||"")&&!G.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&!l.noModule&&w._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(je,""),l,c))}return e}function Re(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&me(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=ie(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)He(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,s);return(a=ye(s,"script")).length>0&&me(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return $(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ve[(he.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Pe(this,arguments,(function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))}),e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),w(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}}));var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=w.style(e,t)),!d.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;
25left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),re.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",re.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,re.removeChild(t)),s}}))}();var _e=["Webkit","Moz","ms"],ze=v.createElement("div").style,Ue={};function Xe(e){var t=w.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=_e.length;n--;)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ye={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+ne[a]+"Width",!0,i))):(u+=w.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=w.css(e,"border"+ne[a]+"Width",!0,i):s+=w.css(e,"border"+ne[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!d.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===w.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===w.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"o
25pacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Qe.test(t),l=e.style;if(u||(t=Xe(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Qe.test(t)||(t=Xe(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Ye&&(i=Ye[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,t,r):We(e,Ge,(function(){return Ze(e,t,r)}))},set:function(e,n,r){var i,o=Ie(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===w.css(e,"boxSizing",!1,o),u=r?Ke(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ke(e,t,"border",!1,o)-.5)),u&&(i=te.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(0,n,u)}}})),w.cssHooks.marginLeft=$e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ne[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)})),w.fn.extend({css:function(e,t){return $(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)}),e,t,arguments.length>1)}}),w.Tween=et,et.prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}},et.prototype.init.prototype=et.prototype,et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},et.propHooks.scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=et.prototype.init,w.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){nt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ot):e.setTimeout(ot,w.fx.interval),w.fx.tick())}function at(){return e.setTimeout((function(){tt=void 0})),tt=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;
vendor: 4,900 bytes, line 25
25return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(e,t,n){var r,i,o=0,a=lt.prefilters.length,s=w.Deferred().always((function(){delete u.elem})),u=function(){if(i)return!1;for(var t=tt||at(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:tt||at(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=lt.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,ut,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always((function(){p.always((function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()}))}))),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(ce([e],!0),l=e.style.display||l,c=w.css(e,"display"),ce([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done((function(){h.display=l})),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&ce([e],!0),p.done((function(){for(r in g||ce([e]),G.remove(e,"fxshow"),d)w.style(e,r,d[r])}))),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=lt(this,w.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&it.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1)
vendor: 4,191 bytes, line 25
25);for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),w.each(["toggle","show","hide"],(function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(st(t,!0),e,r,i)}})),w.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),tt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){nt||(nt=!0,ot())},w.fx.stop=function(){nt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,(function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}}))},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ct,ft=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return $(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=ft[t]||w.find.attr;ft[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ft[a],ft[a]=i,i=null!=n(e,t,r)?a:null,ft[a]=o),i}}));var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}w.fn.extend({prop:function(e,t){return $(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).addClass(e.call(this,t,gt(this)))}));if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr("class","");if((t=vt(e)).length)for(;n=this[u++];
vendor: 7,360 bytes, line 25
25)if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=vt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+ht(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,(function(e){return null==e?"":e+""}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(yt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=w.makeArray(t),a=i.length;a--;)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},d.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),d.focusin="onfocusin"in e;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!mt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,mt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&V(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!V(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),w.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,xt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,xt),w.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),d.focusin||w.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var bt=e.location,wt={guid:Date.now()},Tt=/\?/;w.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||w.error("Invalid XML: "+(r?w.map(r.childNodes,(function(e){return e.textContent})).join("\n"):t)),n};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||Ct.test(e)?r(e,i):At(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)At(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jQueryOT&&!w.isPlainObject(e))w.each(e,(function(){i(this.name,this.value)}));else for(n in e)At(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!de.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(Et,"\r\n")}})):{name:t.name,value:n.replace(Et,"\r\n")}})).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,qt=/^(?:GET|HEAD)$/,Ot=/^\/\//,Ht={},Pt={},Rt="*/".concat("*"),Mt=v.createElement("a");function It(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(P)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Wt(e,t,n,r){var i={},o=e===Pt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],(function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Ft(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Mt.href=bt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML}
vendor: 7,816 bytes, line 25
25,flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,w.ajaxSettings),t):Ft(w.ajaxSettings,e)},ajaxPrefilter:It(Ht),ajaxTransport:It(Pt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=w.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jQueryOT)?w(h):w.event,y=w.Deferred(),m=w.Callbacks("once memory"),x=d.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||bt.href)+"").replace(Ot,bt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Mt.protocol+"//"+Mt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=w.param(d.data,d.traditional)),Wt(Ht,d,n,E),l)return E;for(f in(c=w.event&&d.global)&&0==w.active++&&w.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!qt.test(d.type),i=d.url.replace(jt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Nt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Tt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Dt,"$1"),p=(Tt.test(i)?"&":"?")+"_="+wt.guid+++p),d.url=i+p),d.ifModified&&(w.lastModified[i]&&E.setRequestHeader("If-Modified-Since",w.lastModified[i]),w.etag[i]&&E.setRequestHeader("If-None-Match",w.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Rt+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Wt(Pt,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort("timeout")}),d.timeout));try{l=!1,r.send(b,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,b,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&w.inArray("script",d.dataTypes)>-1&&w.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,b,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(w.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,f=!(v=b.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],(function(e,t){w[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}})),w.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=w.ajaxSettings.xhr();d.cors=!!$t&&"withCredentials"in $t,d.ajax=$t=!!$t,w.ajaxTransport((function(t){var n,r;if(d.cors||$t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Bt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),w.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=w("<script>").attr(e.scriptAttrs||{}
vendor: 5,351 bytes, line 25
25).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}}));var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||w.expando+"_"+wt.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",(function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+i):!1!==t.jsonp&&(t.url+=(Tt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always((function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,zt.push(i)),a&&h(o)&&o(a[0]),a=o=void 0})),"script"})),d.createHTMLDocument=((_t=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=be([e],t,o),o&&o.length&&w(o).remove(),w.merge([],i.childNodes)));var r,i,o},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=ht(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done((function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)})).always(n&&function(e,t){a.each((function(){n.apply(this,o||[e.responseText,t,e])}))}),this},w.expr.pseudos.animated=function(e){return w.grep(w.timers,(function(t){return e===t.elem})).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=w.css(e,"position"),c=w(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=w.css(e,"top"),u=w.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){w.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||re}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return $(this,(function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i}),e,r,arguments.length)}})),w.each(["top","left"],(function(e,t){w.cssHooks[t]=$e(d.pixelPosition,(function(e,n){if(n)return n=Be(e,t),Me.test(n)?w(e).position()[t]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return $(this,(function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)}),t,a?i:void 0,a)}}))})),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){w.fn[t]=function(e){return this.on(t,e)}})),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.proxy=function(e,t){var n,r,o;
25if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),o=function(){return e.apply(t||this,r.concat(i.call(arguments)))},o.guid=e.guid=e.guid||w.guid++,o},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=A,w.isFunction=h,w.isWindow=g,w.camelCase=X,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},w.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jQueryOT",[],(function(){return w}));var Vt=e.jQueryOT,Qt=e.$OT;return w.noConflict=function(t){return e.$OT===w&&(e.$OT=Qt),t&&e.jQueryOT===w&&(e.jQueryOT=Vt),w},void 0===t&&(e.jQueryOT=e.$OT=w),w}));const cstVersion=(new Date).getTime(),cstSelfTag=document.currentScript,cstSrcUrl=cstSelfTag&&cstSelfTag.src||"",variables=cstSrcUrl.split("/"),paths=cstSrcUrl.split("sites");function verifyScript(){const n=new URL(window.location.href),t=new URLSearchParams(n.search);let e={hasEmbedded:!1,hasGCM:!1};t.get("verify")&&(t.get("verify")===window.cstInstanceId?(e.hasEmbedded=!0,e.hasGCM=!!document.querySelector("#cst-gcm"),(window.opener||window!==window.top)&&(window.opener.postMessage(e,t.get("origin")),window.close())):(window.opener.postMessage({hasEmbedded:!1,hasGCM:!1},t.get("origin")),window.close()))}function createMainStyle(){const n=document.createElement("style");n.id="cst-main-style",n.textContent='#consentik-cookie * {\n  box-sizing: border-box;\n  font-family: var(--cst-font-family);\n  font-size: var(--cst-text-size);\n}\ndiv[data-hook="consent-banner-revisit-settings-container"] {\n    display: none\n}\n#consentik-cookie div#cst-banner-title {\n    display: flex;\n    gap: 10px;\n    align-items: center;\n    margin: 0 0 5px 0;\n    font: var(--cst-font-family);\n}\n\n#consentik-cookie #cst-cookie-banner {\n  display: none;\n  background: var(--cst-banner-bgcolor);\n  color: var(--cst-banner-textcolor);\n  font-family: var(--cst-font-family);\n  box-shadow: -7px 7px 12px -1px rgba(115, 115, 115, 0.3);\n  -webkit-box-shadow: -7px 7px 12px -1px rgba(115, 115, 115, 0.3);\n  border-radius: 5px;\n  animation: cstFadeIn 200ms linear;\n}\n@keyframes cstFadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n#consentik-cookie #cst-cookie-banner:has(.cst-close-icon) {\n    padding-top: 30px;\n}\n#consentik-cookie #cst-cookie-banner.ot-large-width:has(.cst-close-icon) {\n  padding-top: 10px;\n}\n#consentik-cookie p.cst-cookies-message-context {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  margin-top: 0;\n}\n\n#consentik-cookie img#cst-banner-icon {\n    width: 24px;\n    height: auto;\n}\n#consentik-cookie a.cst-privacy-link {\n  color: var(--cst-title-color-popup);\n  text-decoration: underline;\n}\n#consentik-cookie div#cst-preferences-popup {\n  position: fixed;\n  color: var(--cst-banner-textcolor);\n  background: var(--cst-banner-bgcolor);\n  z-index: 10000;\n  bottom: 0;\n  width: 100%;\n  display: flex;\n  padding: 20px;\n  font: var(--cst-font-family);\n  font-size: var(--cst-text-size);\n  box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n  -webkit-box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n  -moz-box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n  animation: cstFadeIn 200ms linear;\n}\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar {\n    width: 5px;\n  }\n  \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-track {\n    background: #f1f1f134;\n  }\n  \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-thumb {\n    background: rgba(170, 172, 170, 0.199);\n    border-radius: 5px;\n  }\n  \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-thumb:hover {\n    background: rgba(122, 122, 122, 0.247);\n  }\n\n#consentik-cookie .cst-preferences-body {\n  max-height: 50vh;\n  overflow-y: auto;\n  scrollbar-width: thin;\n  scrollbar-color: var(--cst-banner-textcolor-fade) transparent;\n}\n\n#consentik-cookie .cst-preferences-body::-webkit-scrollbar {\n  width: 5px;\n}\n\n#consentik-cookie .cst-preferences-body::-webkit-scrollbar-track {\n  background: #ffffff57;\n}\n\n  .cst-reopener-wrapper {\n    z-index: 99999999 !important;\n    position: fixed;\n    display: none;\n  }\n  \n  \n  .cst-position-bottom-right.cst-reopener-icon {\n    bottom: var(--cst-ro-btn-vtc-margin);\n    right: var(--cst-ro-btn-hrz-margin);\n    left: unset;\n    top: unset;\n  }\n  \n  .cst-position-top-right.cst-reopener-icon {\n    top: var(--cst-ro-btn-vtc-margin);\n    right: var(--cst-ro-btn-hrz-margin);\n    left: unset;\n    bottom: unset;\n  }\n  \n  .cst-position-top-left.cst-reopener-icon {\n    top: var(--cst-ro-btn-vtc-margin);\n    left: var(--cst-ro-btn-hrz-margin);\n    right: unset;\n    bottom: unset;\n  }\n  \n  .cst-position-bottom-left.cst-reopener-icon {\n    bottom: var(--cst-ro-btn-vtc-margin);\n    left: var(--cst-ro-btn-hrz-margin);\n    right: unset;\n    top: unset;\n  }\n  \n  \n  .cst-position-bottom-right.cst-reopener-text {\n    bottom: 5px;\n    right: var(--cst-ro-btn-hrz-margin);\n    left: unset;\n    top: unset;\n  \n  }\n  \n  .cst-position-top-right.cst-reopener-text {\n    top: 5px;\n    right: var(--cst-ro-btn-hrz-margin);\n    left: unset;\n    bottom: unset;\n  }\n  \n  .cst-position-top-left.cst-reopener-text {\n    top: 5px;\n    left: var(--cst-ro-btn-hrz-margin);\n    right: unset;\n    bottom: unset;\n  \n  }\n  \n  \n  .cst-position-bottom-left.cst-reopener-text {\n    bottom: 5px;\n    left: var(--cst-ro-btn-hrz-margin);\n    right: unset;\n    top: unset;\n  }\n  \n  .cst-position-bottom-left .cst-cookie-btn-text,\n  .cst-position-bottom-right .cst-cookie-btn-text {\n    border-radius: 8px 8px 0 0;\n  }\n  \n  .cst-position-top-left .cst-cookie-btn-text,\n  .cst-position-top-right .cst-cookie-btn-text {\n    border-radius: 0 0 8px 8px;\n  }\n  \n  img.cst-cookie-btn-icon.cst-reopen-trigger {\n    max-width: 40px;\n    height: auto;\n    cursor: pointer;\n  }\n  \n  .cst-reopen-trigger:hover {\n    opacity: 0.9;\n  }\n  span.cst-cookie-btn-text.cst-reopen-trigger {\n    background: var(--cst-ro-btn-bg);\n    color: var(--cst-ro-btn-color);\n    padding: 10px;\n    cursor: pointer;\n    font-size: var(--cst-text-size);\n  }\n  \n\n#consentik-cookie .cst-popup-title {\n    display: flex;\n    gap: 10px;
25\n    align-items: center;\n}\n#consentik-cookie p.cst-popup-title-text {\n  font: var(--cst-font-family);  \n  font-size: 16px;\n    \n}\n#consentik-cookie p.cst-popup-message {\n  padding: 10px 10px 10px 0;\n  margin: 0;\n}\n#consentik-cookie .cst-category-wrapper {\n    display: flex;\n    flex-direction: column;\n    padding: 4px 0;\n    margin-right: 20px;\n    transition: all 0.3s;\n}\n\n\n#consentik-cookie .cst-category-title-trigger {\n  display: flex;\n  justify-content: space-between;\n  width: 100%;\n  align-items: center;\n  cursor: pointer;\n}\n#consentik-cookie .cst-category-title-trigger:hover {\n  opacity: 0.9;\n  background: var(--cst-banner-textcolor-overlay);\n  border-radius: 5px;\n}\n#consentik-cookie .cst-category-button {\n    display: flex;\n    align-items: center;\n}\n#consentik-cookie .cst-category-trigger {\n    font-size: 12px;\n    text-decoration: underline;\n    cursor: pointer;\n}\n#consentik-cookie .cst-category-trigger:hover {\n    opacity: 0.85;\n}\n#consentik-cookie #cst-category-details, #consentik-cookie .cst-cookies-detail-list {\n    display: none;\n}\n#consentik-cookie img.cst-popup-title-icon {\n    width: 24px;\n    height: auto;\n}\n#consentik-cookie .cst-preferences-header {\n    display: flex;\n    justify-content: space-between;\n}\n\n#consentik-cookie button.cst-cookies-btn.cst-selected-btn {\n    background: var(--cst-preferences-bgcolor);\n    color: var(--cst-preferences-textcolor);\n}\n#consentik-cookie button.cst-cookies-btn.cst-all-btn {\n    background: var(--cst-submit-bgcolor);\n    color: var(--cst-submit-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-decline,\n#consentik-cookie #cst-cookies-decline-popup {\n    background: var(--cst-dismiss-bgcolor);\n    color: var(--cst-dismiss-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-preferences{\n    background: var(--cst-preferences-bgcolor);\n    color: var(--cst-preferences-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-submit {\n    background: var(--cst-submit-bgcolor);\n    color: var(--cst-submit-textcolor);\n}\n#consentik-cookie span.cst-ot-cookie:hover {\n    opacity: 0.9;\n}\n\n#consentik-cookie button.cst-cookies-btn {\n  padding: 8px 16px;\n  cursor: pointer;\n  transition: opacity 0.2s;\n  font-size: var(--cst-text-size) !important;\n  min-width: 100px;\n  border-radius: 8px;\n  font-weight: 700;\n  font-family: var(--cst-font-family);\n  border: 0;\n}\n#consentik-cookie button.cst-cookies-btn:hover {\n    opacity: 0.9;\n}\n#consentik-cookie .cst-group-buttons {\n  display: flex;\n  gap: 15px;\n  align-items: center;\n  justify-content: flex-end;\n  margin-right: 20px;\n  padding-top: 10px;\n}\n#consentik-cookie .cst-category-details {\n    display: none;\n}\n#consentik-cookie .cst-close-icon,\n#consentik-cookie .cst-close-icon-popup {\n    cursor: pointer;\n    color: var(--cst-banner-text-color);\n    position: absolute;\n    right: 10px;\n    top: 5px;\n    background: none;\n    border: none;\n    padding: 0;\n    line-height: 1;\n}\n#consentik-cookie svg.cst-arrow {\n    stroke: var(--cst-banner-textcolor);\n}\n\n#consentik-cookie .cst-category-title[aria-expanded="true"] svg.cst-arrow {\n    transform: rotate(90deg);\n}\nul.cst-cookies-detail-list {\n    margin: 5px 0;\n    background: var(--cst-banner-textcolor-overlay);\n    padding: 10px;\n  }\n  \n  li.cst-cookie-detail-item {\n    list-style-type: none;\n    padding-bottom: 5px;\n    border-bottom: 1px solid var(--cst-banner-textcolor-fade);\n  }\n\nli.cst-cookie-detail-item:last-child {\n  border-bottom: none;\n}\n  \n  li.cst-cookie-detail-item dl {\n    display: inline-flex;\n    flex-wrap: wrap;\n    margin: 0;\n  }\n  \n  li.cst-cookie-detail-item dt {\n    border: 0;\n    clear: both;\n    display: block;\n    flex: 0 1 30%;\n    font-size: var(--cst-text-size);\n    font-weight: 500;\n    line-height: 1.375;\n    margin: 0 0 5px;\n    padding: 0;\n    max-width: 200px;\n  }\n  li.cst-cookie-detail-item dd {\n    flex: 0 1 70%;\n    border: 0;\n    clear: both;\n    display: block;\n    font-size: var(--cst-text-size);\n    font-weight: 500;\n    line-height: 1.375;\n    margin: 0 0 0.5em;\n    padding: 0;\n  }
25\n.cst-category-switch .cst-input-switch {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border: 0;\n}\ninput.cst-input-switch:focus-visible + label.cst-category-label {\n    outline: 2px solid var(--cst-banner-textcolor);\n    outline-offset: 2px;\n}\n#consentik-cookie button:focus-visible,\n#consentik-cookie [role="button"]:focus-visible {\n    outline: 2px solid var(--cst-banner-textcolor);\n    outline-offset: 2px;\n}\n.cst-category-switch input.cst-input-switch[checked=checked]+label:after,\n.cst-category-switch input.cst-input-switch[checked=true]+label:after {\n  left: calc(100% - 3px);\n  transform: translateX(-100%);\n}\n\n.cst-category-switch label.cst-category-label:after {\n    content: "";\n    position: absolute;\n    top: 3px;\n    left: 3px;\n    width: 11px;\n    height: 11px;\n    background: var(--cst-banner-bgcolor);\n    border-radius: 3px;\n    transition: all .1s;\n}\n\n.cst-category-switch label.cst-category-label:active:after {\n  width: 26px;\n}\n\nlabel.cst-category-label {\n    width: 30px;\n    position: relative;\n    display: block;\n    height: 17px;\n    background: var(--cst-banner-textcolor-fade);\n    border-radius: 5px;\n    cursor: pointer;\n}\ninput.cst-input-switch[checked="true"] ~ .cst-category-label,\ninput.cst-input-switch[checked="checked"] ~ .cst-category-label {\n    background: var(--cst-banner-textcolor);\n}\n.cst-category-title {\n    display: flex;\n    align-items: center;\n    gap: 5px;\n    width: 100%;\n    height: 100%;\n    padding: 4px 0;\n    font: var(--cst-font-family) !important;\n    font-weight: bold !important;\n    font-size: var(--cst-text-size) !important;\n}\n\n@media(max-width: 767px) {\n    #consentik-cookie p.cst-popup-message {\n        padding: 10px 0;\n    }\n    #consentik-cookie .cst-preferences-header {\n        justify-content: space-between;\n        flex-direction: column-reverse;\n        gap: 10px;\n    }\n    #consentik-cookie .cst-group-buttons {\n        display: flex;\n        gap: 5px;\n        align-items: stretch;\n        justify-content: space-around;\n        margin-right: unset;\n    }\n    #consentik-cookie .cst-group-buttons button {\n      flex: 1;\n    }\n    #consentik-cookie div#cst-preferences-popup {\n      max-height: 90vh;\n      overflow: auto;\n      padding: 15px;\n    }\n    #consentik-cookie button.cst-cookies-btn{\n        min-width: unset;\n            padding: 6px 16px;\n    }\n    #consentik-cookie div#cst-preferences-popup:has(.cst-close-icon-popup) {\n        padding-top: 30px;\n    }\n    #consentik-cookie p.cst-cookies-message-context {\n      gap: 5px;\n      flex-direction: column;\n      align-items: center;\n  }\n}\n@media (max-width: 576px) {\n  #consentik-cookie .cst-group-buttons {\n    flex-wrap: wrap;\n    flex-direction: column;\n  }\n}\n\n#consentik-cookie .cst-powered-by {\n  flex-basis: 100%;\n  width: 100%;\n  margin-top: 10px;\n  text-align: center;\n  font-size: calc(var(--cst-text-size) - 2px) !important;\n  font-weight: 400 !important;\n  line-height: 1.4 !important;\n  color: var(--cst-banner-textcolor-fade) !important;\n}\n#consentik-cookie .cst-powered-by a {\n  font-size: inherit !important;\n  font-weight: 700 !important;\n  color: var(--cst-banner-textcolor-fade) !important;\n  text-decoration: underline;\n}',document.body?document.body.appendChild(n):document.addEventListener("DOMContentLoaded",()=>{document.body.appendChild(n)})}function cstAddPSLScript(){const n=document.createElement("script");n.type="module",n.textContent='import psl from "https://cdn.jsdelivr.net/npm/psl@latest/dist/psl.mjs";window.cstPsl = psl;',document.head.appendChild(n)}window.cstSiteId=window.cstSiteId||variables[variables.length-2],window.cstInstanceId=window.cstInstanceId||variables[variables.length-3],window.cstRootLink=window.cstRootLink||paths[0]||"",createMainStyle(),cstAddPSLScript(),function(){const n=new URLSearchParams(window.location.search);if(window.gcmDebuggerMode=n.has("gcm-debugger"),n.has("gcm-debugger")){const n=(window.cstRootLink||"").replace(/\/$/,""),t=document.createElement("script");t.src=n+"/extensions/functions/gcm-debugger-unmin.js?v="+cstVersion;const e=document.createElement("link");e.href=n+"/extensions/styles/gcm-debugger.css?v="+cstVersion,e.rel="stylesheet",e.type="text/css",document.head.appendChild(e);setTimeout(()=>{document.body?document.body.appendChild(t):document.addEventListener("DOMContentLoaded",()=>{document.body.appendChild(t)})},500)}}(),window.cstVerifyGCMRealTime=function(){const n=new URL(window.location.href),t=new URLSearchParams(n.search),e=t.get("origin"),o=t.get("gcm-debugger"),i=window.cstInstanceId;if(!o)return;if(o!==i)return void window.opener.postMessage({dataLayer:[],message:"Instance ID n
25ot matched"},e);if(!e||!window.opener&&window===window.top)return;!function(n="🟢 GCM DEBUG]"){const t=document.title;let e=!1;const o=setInterval(()=>{document.title=e?t:n,e=!e},2e3)}("🟢 GCM DEBUG"),window.dataLayer=window.dataLayer||[];const c=n=>{try{return JSON.parse(JSON.stringify(n))}catch(n){return console.log("ERROR",n),null}};const s=async(n=[])=>{const t=document.documentElement.innerHTML,e=!!document.querySelector("#cst-gcm"),o=[...t.match(/G-[A-Z0-9]{10}/g)||[],...t.match(/GTM-[A-Z0-9]+/g)||[],...t.match(/UA-[0-9]{4,10}-[0-9]+/g)||[]],i=void 0!==window.Shopify,c=window.Shopify?.customerPrivacy,s=i&&"function"==typeof c?.getTrackingConsent&&"function"==typeof c?.setTrackingConsent,r=window.cstAppData?.tcf?.config?.active,a=r&&"undefined"!=typeof __tcfapi,p=await new Promise(n=>{"undefined"==typeof __tcfapi&&n(!1),__tcfapi("getTCData",2,t=>{const e="tcloaded"===t.eventStatus;n(e)})}),d=n.some(n=>"consent"===n[0]&&"default"===n[1]),l=n.find(n=>"consent"===n[0]&&"default"===n[1]),g=l?.[2],b=window.otkConsent&&Object.fromEntries(Object.entries(window.otkConsent).filter(([n])=>g?.hasOwnProperty(n)).map(([n,t])=>[n,"boolean"==typeof t?t?"granted":"denied":t])),u=l&&b&&Object.entries(b).every(([n,t])=>g?.[n]===t),m=performance.getEntriesByType("resource").filter(n=>"script"===n.initiatorType),f=m.find(n=>n.name.includes(window.cstInstanceId+"/"+window.cstSiteId+"/index.js")),k=m.find(n=>
25n.name.includes("gtag/js")),x=m.find(n=>n.name.includes("gtm.js")),h=m.find(n=>n.name.includes("adsbygoogle.js")),w=f&&(!k||f?.startTime<(k?.startTime??1/0))&&f?.startTime<(x?.startTime??1/0)&&f?.startTime<(h?.startTime??1/0);return{tagIds:Array.from(new Set(o)),hasGCM:e,defFired:d,defValid:u,cmpFirst:w,hasTCFApi:a,hasTCFValid:p,spaPrivacy:s,showTCF:r,isSPA:i,hasEmbedded:!0,pageTitle:document.title}};(async()=>{const n=window.dataLayer.map(c).filter(Boolean),t=await s(n);return window.opener.postMessage({...t,dataLayer:n,message:"dataLayer snapshot"},e),t})().then(n=>{console.log("GCM CHECK")}),window.addEventListener("beforeunload",function(n){window.opener.postMessage({message:"dataLayer reload",status:"reload"},e)});const r=window.dataLayer.push;window.dataLayer.push=async function(...n){const t=r.apply(this,n),o=n.map(c).filter(Boolean),i=window.dataLayer.map(c).filter(Boolean),a=await s(i);return window.opener.postMessage({...a,dataLayer:i,newData:o,message:"dataLayer updated"},e),t}},setTimeout(()=>{window.cstVerifyGCMRealTime()},1e3),verifyScript();console.warn("DEBUG LOG"),window.cstMainId="consentik-cookie",window.cstCookieName="_consentik_cookie";const CST_SELECTOR={banner:"#"+window.cstMainId+" #cst-cookie-banner",popup:"#"+window.cstMainId+" #cst-preferences-popup",overlay:"#"+window.cstMainId+" #cst-overlay",blockOverlay:"#"+window.cstMainId+" .cst-block-overlay",corner:"#"+window.cstMainId+" .cst-corner",opener:"#"+window.cstMainId+" .cst-reopener-wrapper"},SUBMIT_TYPE={SHOW:"show",DECLINE:"decline",ACCEPT_PARTIAL:"acceptPartial",ACCEPT_ALL:"acceptAll"};window.hostname=window.location.hostname,window.gtmConsentCallback=function(){},window.gtmInitConsentCallback=function(){},window.gtmConsentikCMP=function(t,e){window.gtmConsentCallback=t,"function"==typeof e&&(window.gtmInitConsentCallback=e)};const otEuCountries=["BE","BG","CZ","DK","DE","EE","IE","GR","ES","FR","HR","IT","CY","LV","LT","LU","HU","MT","NL","AT","PL","PT","RO","SI","SK","FI","SE","UK","GB","IS","LI","NO","CH","ME","MK","AL","RS","TR","BA","AM","AZ","BY","MD","GE","UA"],EU="eu",CALIFORNIA="california",COLORADO="colorado",JAPAN="japan",BRAZIL="brazil",SINGAPORE="singapore",CONSENT_KEY={ESSENTIAL:"essential",FUNCTIONAL:"functional",ADVERTISING:"advertising",ANALYTICS:"analytics"},cstHelpers={cookieName:"_consentik_cookie",consentName:"consent-policy",consentTcf:"consentik_tcf",consentGoogleAtp:"consentik_ac_string",consentGcm:"_consentik_gcm",setStorage(t,e){window.localStorage.setItem(t,e)},getStorage:t=>window.localStorage.getItem(t),deleteStorage(t){window.localStorage.removeItem(t)},getCookie(t){let e=document.cookie.match("(^|;) ?"+t+"=([^;]*)(;|$)");return e?e[2]:null},waitForShopify:(t=4e3,e=150)=>new Promise(n=>{if(window.Shopify)return void n(!0);const s=Date.now(),o=setInterval(()=>{window.Shopify?(clearInterval(o),n(!0)):Date.now()-s>=t&&(clearInterval(o),n(!1))},e)}),async initShopifyCustomerPrivacy(){if(!window.Shopify){if(!await this.waitForShopify())return}"function"==typeof window.Shopify.loadFeatures&&window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],t=>{t?console.warn("Consentik: consent-tracking-api load failed",t):(window.__cstCPReady=!0,window.__cstPendingTrackingConsent&&window.Shopify.customerPrivacy&&(window.Shopify.customerPrivacy.setTrackingConsent(window.__cstPendingTrackingConsent,()=>{}),window.__cstPendingTrackingConsent=null))})},async applyShopifyTrackingConsent(t){if(!window.Shopify){if(!await this.waitForShopify())return}const e=window.Shopify.customerPrivacy;e&&"function"==typeof e.setTrackingConsent?e.setTrackingConsent(t,()=>{}):"function"==typeof window.Shopify.loadFeatures&&(window.__cstPendingTrackingConsent=t,this.initShopifyCustomerPrivacy())},deleteCookie(t,e="/"){let n=t+`=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${e}`;const s=cstHelpers.getCookieDomain();s&&(n+=`; domain=${s}`),document.cookie=n},getCookieDomain(){const t=window.location.hostname;if("localhost"===t||/^[\d.]+$/.test(t))return null;const e=window.cstPsl?.parse(t);return e?.domain?(e.domain,"."+e.domain):null}
25,setCookie(t,e,n=null,s="/"){"string"!=typeof e&&(e=JSON.stringify(e));let o=window.CSTSettings?.cookieLifeTime??30;n&&(o=n);const i=new Date;i.setTime(i.getTime()+864e5*o);let a=`${t}=${e}; expires=${i.toUTCString()}; path=${s}`;const r=cstHelpers.getCookieDomain();r&&(a+=`; domain=${r}`),document.cookie=a},getBannerElement(t){const e={privacyWrapper:"",googlePrivacyWrapper:"",preferencesBtn:"",dismissBtn:"",dismissBtnPopup:"",logo:"",titleBanner:""},{privacyLink:n,privacyLinkText:s,googlePrivacyLink:o,googlePrivacyText:i,title:a,declineText:r,preferenceText:c,showPreference:d,showIcon:l,showDecline:p}=t;return l&&(e.logo=`<img id="cst-banner-icon" style='display="none";width=0' src="${t.iconUrl}" alt="logo" />`),e.privacyWrapper=n?`<span class="cst-privacy-wrapper"><a target="_blank" class="cst-privacy-link" href="${n}">${s}</a></span>`:"",e.googlePrivacyWrapper=o?`<span class="cst-google-privacy-wrapper"><a target="_blank" class="cst-privacy-link" href="${o}">${i}</a></span>`:"",e.titleBanner=a?`<div id="cst-banner-title">${e.logo}<h2>${a}</h2></div>`:"",1==d&&(e.preferencesBtn=`<button id='cst-cookies-preferences' role="button" class='cst-cookies-btn'>${c}</button>`),"1"==p&&(e.dismissBtn=`<button id="cst-cookies-decline" class='cst-cookies-btn' >${r}</button>`),e},getPopupElement(t){const{titlePopup:e,showIcon:n,acceptSelectText:s,acceptAllText:o,messagePopup:i,titlePreference:a,showDeclinePopup:r,declineText:c}=t,d={titlePopup:"",messPopup:"",icon:"",acceptSelected:"",acceptAll:"",preferencesTitle:"",decline:""};return d.icon=1==n?`<img class="cst-popup-title-icon" src="${t.iconUrl}" alt="logo" />`:"",d.decline=1==r?`<button id="cst-cookies-decline-popup" class='cst-cookies-btn' >${c}</button>`:"",d.titlePopup=d.icon?`<div class="cst-popup-title">${d.icon}<h2 id="cst-popup-title-text" class="cst-popup-title-text">${e}</h2></div>`:`<h2 id="cst-popup-title-text" class="cst-popup-title-text">${e}</h2>`,d.messPopup=i?`<p class="cst-popup-message">${i}</p>`:"",d.preferencesTitle=a?`<h3 class="cst-popup-title">${a}</h3>`:"",d.acceptSelected=s?`<button class='cst-cookies-btn cst-selected-btn'>${s}</button>`:"",d.acceptAll=o?`<button class='cst-cookies-btn cst-all-btn'>${o}</button>`:"",d},getBannerLayout(t){const e={top:!1,bottom:!1,left:!1,right:!1,type:"full"},n=t.layout.split("_"),s=n[0].toLowerCase(),o=n[1]?.toLowerCase()??"",i=n[2]?.toLowerCase()??"";return e.type=s,o&&(e[o]=!0),i&&(e[i]=!0),e},addRootCSS(t){if(t&&t.textColor){const{textColor:e,bgColor:n,textSize:s,popupWidth:o,submitColor:i,submitBgColor:a,declineColor:r,declineBgColor:c,preferenceTextColor:d,preferenceBgColor:l,fontName:p}=t,u=`\n          <style id="cst-root-css">\n            :root {\n              --cst-title-color-popup: ${e};\n              --cst-banner-bgcolor: ${n};\n              --cst-banner-bgcolor-popup:${n};\n              --cst-banner-textcolor: ${e};\n              --cst-banner-textcolor-fade: ${e+cstHelpers.opacityToHex(.5)};\n              --cst-banner-textcolor-overlay: ${e+cstHelpers.opacityToHex(.06)};\n              --cst-text-size: ${s}px;\n              --cst-popup-width: ${o};\n              --cst-submit-textcolor: ${i};\n              --cst-submit-bgcolor: ${a};\n              --cst-dismiss-textcolor: ${r};\n              --cst-dismiss-bgcolor: ${c};\n              --cst-preferences-textcolor: ${d};\n              --cst-preferences-bgcolor: ${l};\n              --cst-font-family: ${p?`"${p}",`:""}Arial,Helvetica,san-serif;\n            }\n          </style>`;$OT("head").append(u)}},async otGetUserInfo(){const t=cstHelpers.getStorage("cst_cached");if(t)return JSON.parse(t);const e=await this.otFetchGeoData(),n=this.otGetBrowserName(),s=this.otGetDeviceInfo(),o={loc:e.loc,ip:e.ip,region:e.region,browser:n,device:s};return cstHelpers.setStorage("cst_cached",JSON.stringify(o)),o},otGetBrowserName(){const t=navigator.userAgent;switch(!0){case/MSIE|Trident/.test(t):return"Internet Explorer";case/Edge/.test(t):return"Edge";case/Chrome/.test(t):return"Chrome";case/Safari/.test(t):return"Safari";case/Firefox/.test(t):return"Firefox";case/Opera|OPR/.test(t):return"Opera";default:return"Unknown"}},otGetDeviceInfo(){const t=navigator.userAgent;return/Mobi|Android|iPhone/.test(t)?"m":/iPad|Tablet/.test(t)?"t":"d"},async otFetchGeoData(){try{const t=await fetch("https://get.geojs.io/v1/ip/geo.json"),e=await t.json();return{loc:e.country_code,ip:e.ip,region:e.region}}catch(t){console.error({error:t})}},async otFetchIPForData(){try{const t=await fetch("https://www.cloudflare.com/cdn-cgi/trace"),e=(await t.text()).trim().split("\n").reduce((t,e)=>{const[n,s]=e.split("=");return t[n]=s,t},{});return{loc:e.loc,ip:e.ip}}catch(t){return this.otFetchGeoData()}},otHandleSpecificRegions(t){switch(t){case"0":return[EU];case"1":return[CALIFORNIA];case"2":return[EU,CALIFORNIA];default:return"string"==typeof t?JSON.parse(t)||[]:t||[]}},isRegionEnabled(t,e){switch(t){case EU:return otEuCountries.includes(e.loc);case CALIFORNIA:return"California"===e.region;case COLORADO:return"Colorado"===e.region;case JAPAN:return"JP"===e.loc;case BRAZIL:return"BR"===e.loc;case SINGAPORE:return"SG"===e.loc;default:return!1}},async checkCountryAppEnabled(t){try{const e=window.cstUserInfo||await this.otFetchIPForData();return this.otHandleSpecificRegions(t).some(t=>this.isRegionEnabled(t,e))}catch(t){throw new Error("Error checking if country app is enabled:",t)}},async otCheckCustomerRegion(t,e){return window.cstUserInfo=window.cstUserInfo||await this.otFetchGeoData(),!1!==t||await this.checkCountryAppEnabled(e)},hexToRgba(t,e){if(!t)return"";t=t.replace(/^#/,"");return`rgba(${parseInt(t.slice(0,2),16)}, ${parseInt(t.slice(2,4),16)}, ${parseInt(t.slice(4,6),16)}, ${e||.3})`},opacityToHex(t){if(!t)return"";let e=t;e<0?e=0:e>1&&(e=1);return Math.round(255*e).toString(16).padStart(2,"0").toUpperCase()},loadCSS(t,e){const n=`${t}`,s=document.createElement("style");s.id=e,s.textContent=n,document.head.appendChild(s)}};function showGCMDebugMode(){if(window.gcmDebuggerMode){if(!window.dataLayer)return;const t=window.dataLayer.filter(t=>"consent"===t[0]).map(t=>{const e=t[2]?t[2]:"Empty";return Object.assign({key:t[1]?t[1]:"unknow"},e)});return console.log("✅ Google consent debug mode enabled"),void console.table(t)}console.log("❌ Google consent debug mode disabled")}window.cstInstanceId&&($OT=jQueryOT.noConflict(),$OT(document).ready(function(){new ConsentikCookieBanner(cstInstanceId,cstSiteId)}));class ConsentikCookieBanner{constructor(t,e){this.bannerId="cst-cookie-banner",this.instanceId=t,this.siteId=e,this.appData={},this.init()}init(){this.getAppData()}async getAppData(){const t=window.cstRootLink+"/sites/"+this.instanceId+"/"+this.siteId+"/index.json";try{const e=await fetch(t).then(t=>t.json()).then(t=>t);if(e){window.cstAppData=e,window.cstCategories=e.categories?.sort((t,e)=>t.id-e.id),window.cstCookies=e.cookies,this.appData=e;const{appEnable:t,showAllRegions:n,showSpecificRegion:s}=e.settings,o=t&&await cstHelpers.otCheckCustomerRegion(n,s);if(!t)return;if(cstHelpers.initShopifyCustomerPrivacy(),!o)return void(cstHelpers.getCookie(cstHelpers.cookieName)||cstHelpers.applyShopifyTrackingConsent({analytics:!0,marketing:!0,preferences:!0,sale_of_data:!0}));showGCMDebugMode(),window.cstVerifyGCMRealTime(),this.bannerInit()}}catch(t){console.log(t)}}bannerInit(){if(window.CSTSettings=this.appData.settings,this.appData.tcf?.config?.active)return cstHelpers.loadCSS(":root {\n  --cst-space-sm: 8px;\n  --cst-space-md: 16px;\n  --cst-space-lg: 24px;\n  --cst-width-large: 768px;\n  --cst-font-size: 14px;\n  --cst-bgcolor: #ffffff;\n  --cst-bgcolor-opacity: rgba(51, 51, 51, 0.1);\n  --cst-textcolor: #333333;\n  --cst-highlight-color: #005B2A;\n  --cst-font-family: inherit;\n}\n\n/* Screen-reader-only utility – element hidden visually but announced by AT */\n.ot-cookies-wrapper .sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.ot-cookies-wrapper * {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  border-width: 0;\n  border-style: solid;\n  font-size: inherit;\n  color: inherit;\n  font-family: var(--cst-font-family);\n}\n\n.ot-cookies-wrapper {\n  font-size: var(--cst-font-size);\n  line-height: 1.6;\n  color: var(--cst-textcolor);\n}\n\n.ot-cookies-wrapper h1,\n.ot-cookies-wrapper h2,\n.ot-cookies-wrapper h3,\n.ot-cookies-wrapper h4,\n.ot-cookies-wrapper h5,\n.ot-cookies-wrapper h6 {\n  font-weight: 600;\n}\n\n.cst-reopener-wrapper {\n  z-index: 99999999 !important;\n  position: fixed;\n}\n\n.cst-position-bottom-right.cst-reopener-icon {\n  bottom: var(--cst-ro-btn-vtc-margin);\n  right: var(--cst-ro-btn-hrz-margin);\n  left: unset;\n  top: unset;\n}\n\n.cst-position-top-right.cst-reopener-icon {\n  top: var(--cst-ro-btn-vtc-margin);\n  right: var(--cst-ro-btn-hrz-margin);\n  left: unset;\n  bottom: unset;\n}\n\n.cst-position-top-left.cst-reopener-icon {\n  top: var(--cst-ro-btn-vtc-margin);\n  left: var(--cst-ro-btn-hrz-margin);\n  right: unset;\n  bottom: unset;\n}\n\n.cst-position-bottom-left.cst-reopener-icon {\n  bottom: var(--cst-ro-btn-vtc-margin);\n  left: var(--cst-ro-btn-hrz-margin);\n  right: unset;\n  top: unset;\n}\n\n.cst-position-bottom-right.cst-reopener-text {\n  bottom: 0;\n  right: var(--cst-ro-btn-hrz-margin);\n  left: unset;\n  top: unset;\n\n}\n\n.cst-position-top-right.cst-reopener-text {\n  top: 0;\n  right: var(--cst-ro-btn-hrz-margin);\n  left: unset;\n  bottom: unset;\n}\n\n.cst-position-top-left.cst-reopener-text {\n  top: 0;\n  left: var(--cst-ro-btn-hrz-margin);\n  right: unset;\n  bottom: unset;\n\n}\n\n.cst-position-bottom-left.cst-reopener-text {\n  bottom: 0;\n  left: var(--cst-ro-btn-hrz-margin);\n  right: unset;\n  top: unset;\n}\n\n.cst-position-bottom-left .cst-cookie-btn-text,\n.cst-position-bottom-right .cst-cookie-btn-text {\n  border-radius: 8px 8px 0 0;\n}\n\n.cst-position-top-left .cst-cookie-btn-text,\n.cst-position-top-right .cst-cookie-btn-text {\n  border-radius: 0 0 8px 8px;\n}\n\nspan.cst-cookie-btn-text.cst-reopen-trigger {\n  background: var(--cst-ro-btn-bg);\n  color: var(--cst-ro-btn-color);\n  padding: 10px;\n  cursor: pointer;\n  font-size: var(--cst-font-size);\n}\n\nimg.cst-cookie-btn-icon.cst-reopen-trigger {\n  max-width: 40px;\n  height: auto;\n  cursor: pointer;\n}\n\n.cst-reopen-trigger:hover {\n  opacity: 0.9;\n}\n\n.cst-cookie-btn-icon-wrapper {\n  display: flex;\n  align-items: center;\n}\n\n.cst-tcf-layout {\n  position: fixed;\n  width: 100%;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  height: fit-content;\n  padding: var(--cst-space-lg) var(--cst-space-lg) var(--cst-space-md);\n  background-color: var(--cst-bgcolor);\n  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 15px rgba(0, 0, 0, 0.35);\n  flex-direction: column;\n  justify-content: space-between;\n  gap: var(--cst-space-sm);\n  animation: cstFadeIn .25s ease-in-out;\n  pointer-events: auto;\n  z-index: 9999;\n}\n\n.cst-tcf-layout.center {\n  display: none;\n  top: 50%;\n  bottom: unset;\n  left: 50%;\n  right: unset;\n  max-width: var(--cst-width-large);\n  transform: translate(-50%, -50%);\n  border-radius: var(--cst-space-sm);\n}\n\n.cst-tcf-tab {\n  display: flex;\n  flex-direction: column;\n  gap: var(--cst-space-sm);\n  width: 100%;\n}\n\n.ot-cookies-close {\n  position: absolute;\n  top: 0;\n  right: var(--cst-space-sm);\n  cursor: pointer;\n  user-select: none;\n  padding: var(--cst-space-sm);\n  /* Reset button styles for the close button */\n  background: none;\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-width: 36px;\n  min-height: 36px;\n  border-radius: 4px;\n}\n\n.cst-tcf-layout button {\n  display: flex;\n  align-items: center;\n  justify-content: center;
25\n  cursor: pointer;\n  background-color: transparent;\n  background-image: none;\n  text-transform: none;\n  font-family: inherit;\n  line-height: inherit;\n}\n\n.cst-tcf-layout button.ot-cookies-button {\n  white-space: nowrap;\n  font-weight: 700;\n  text-transform: none;\n  opacity: 1;\n  padding: var(--cst-space-sm) var(--cst-space-md);\n  border-radius: 4px;\n  min-width: -moz-fit-content;\n  min-width: fit-content;\n  background: transparent;\n  color: var(--cst-highlight-color);\n  border: 2px solid var(--cst-highlight-color);\n}\n\n.cst-tcf-layout button.ot-cookies-button:not(:disabled):hover, .ot-cookies-close:hover {\n  opacity: .8;\n}\n\n.cst-tcf-layout button.ot-cookies-button[data-intent=allow],\n.cst-tcf-layout button.ot-cookies-button[data-intent=deny] {\n  background-color: var(--cst-highlight-color);\n  color: var(--cst-bgcolor);\n}\n\n.cst-tcf-layout a, .cst-tcf-layout button[role=link]:not(.ot-cookies-button) {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  user-select: none;\n  color: var(--cst-highlight-color);\n  text-decoration: underline var(--cst-highlight-color) solid .075em;\n  text-underline-offset: 2px;\n}\n\n.cst-tcf-layout a:hover,\n.cst-tcf-layout button[role=link]:not(.ot-cookies-button):hover {\n  opacity: 0.8;\n}\n\n.ot-cookies-wrapper .content-banner {\n  overflow-y: auto;\n  max-height: 50vh;\n}\n\n.cst-tcf-content, .ot-content-info {\n  display: flex;\n  flex-direction: column;\n  align-items: start;\n  gap: var(--cst-space-md);\n}\n\n.cst-tcf-layout.center .cst-tcf-content,\n.cst-tcf-layout.center .ot-content-info {\n  gap: max(0.5* var(--cst-space-sm));\n}\n\n.ot-cookies-links {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--cst-space-sm) var(--cst-space-md);\n}\n\n/* WCAG 2.4.7 Focus Visible – allow default focus ring on all focusable elements */\n.ot-cookies-wrapper a:focus-visible,\n.ot-cookies-wrapper button:focus-visible,\n.cst-tcf-layout button:focus-visible {\n  outline: 3px solid var(--cst-highlight-color);\n  outline-offset: 2px;\n  border-radius: 2px;\n}\n\n.ot-cookies-buttons {\n  display: flex;\n  flex-direction: column;\n  gap: var(--cst-space-sm);\n}\n\n.ot-cookies-buttons button {\n  flex: 1;\n}\n\n@media screen and (min-width: 448px) {\n  .cst-tcf-layout .ot-cookies-buttons {\n    flex-direction: row;\n    align-items: center;\n    flex-wrap: wrap;\n  }\n}\n\n@media screen and (min-width: 576px) {\n  .ot-cookies-wrapper .content-banner {\n    overflow-y: auto;\n    max-height: 50vh;\n  }\n\n  .cst-tcf-layout .ot-cookies-buttons {\n    justify-content: flex-end;\n  }\n\n  .ot-cookies-buttons button {\n    flex-grow: 0;\n  }\n}\n\n@keyframes cstFadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 100;\n  }\n}\n\n.ot-cookies-tab {\n  display: flex;\n  width: 100%;\n  justify-content: flex-start;\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n\n.ot-cookies-tab button {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: .6;\n  font-weight: 600;\n  flex-grow: 1;\n  user-select: none;\n  padding-block: var(--cst-space-sm);\n  border-bottom-width: 1px;\n}\n\n.ot-cookies-tab button[data-state=active] {\n  color: var(--cst-highlight-color);\n  opacity: 1;\n}\n\n.ot-cookies-tab button[data-state=active]::after {\n  content: '';\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  height: 2px;\n  background-color: var(--cst-highlight-color);\n}\n\n.ot-content-tab {\n  flex-grow: 1;\n  overflow-y: auto;\n  max-height: calc(100vh - 50vh);\n}\n\n.ot-cookie-content {\n  display: none;\n  padding-right: var(--cst-space-sm);\n  padding-bottom: var(--cst-space-md);\n}\n\n.ot-cookie-content.active {\n  display: block;\n}\n\n.ot-group-consent.cst-divider::before {\n  content: '';\n  display: block;\n  width: 100%;\n  height: 1px;\n  background-color: var(--cst-textcolor);\n  opacity: 0.5;\n  margin-block: var(--cst-space-md);\n}\n\n.ot-group-consent-header {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.ot-group-consent-header .flex {\n  display: flex;\n  align-items: center;\n  gap: var(--cst-space-sm);\n}\n\n.ot-group-consent + .ot-group-consent {\n  margin-top: var(--cst-space-md);\n}\n\n.ot-group-action {\n  display: flex;\n  align-items: center;\n  gap: var(--cst-space-sm);\n  margin-left: auto;\n}\n\n.font-semibold {\n  font-weight: 600;\n}\n\n.ot-heading-consent .heading {\n  text-align: left;\n}\n\n.ot-heading-consent .heading:hover {\n  text-decoration: underline;\n}\n\n.ot-group-item-wrapper {\n  font-size: calc(var(--cst-font-size) - 2px);\n  margin-left: var(--cst-space-lg);\n  padding-top: calc(var(--cst-space-sm) * 0.5);\n}\n\n.ot-group-item + .ot-group-item {\n  margin-top: calc(0.4 * var(--cst-space-sm));\n}\n\n.ot-consent-action.flex {\n  align-items: center;\n}\n\n.ot-consent-action, .ot-helper-text {\n  font-size: calc(var(--cst-font-size) - 2px);\n}\n\n.ot-helper-text {\n  color: var(--cst-highlight-color);\n}\n\n/* GVL standard text shown under a group heading (Features). Full-width row in the\n   wrapping header flex, indented past the chevron. */\n.ot-group-note {\n  flex-basis: 100%;\n  margin: var(--cst-space-xs, 4px) 0 0 24px;\n  font-size: calc(var(--cst-font-size) - 2px);\n  opacity: 0.85;\n}\n\n.cst-tcf-layout svg.category-icon {\n  stroke: var(--cst-textcolor);\n}\n\n/* WCAG 2.1.1 Keyboard + 4.1.2 Name/Role/Value\n   Use visually-hidden (not display:none) so checkbox stays keyboard/AT accessible */\n.omgCookie-switch input.omgCookie-input-switch[type=\"checkbox\"] {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/* WCAG 2.5.8 Target Size Minimum – switch track must be ≥ 24 × 24 CSS px */\n.omgCookie-switch label.omgCookie {\n  
25cursor: pointer;\n  text-indent: -9999px;\n  width: 36px;\n  height: 22px;\n  background: var(--cst-textcolor);\n  display: block;\n  border-radius: 5px;\n  position: relative;\n  opacity: 0.4;\n}\n\n/* WCAG 2.4.7 Focus Visible – visible ring on the label when checkbox is focused */\n.omgCookie-switch input.omgCookie-input-switch:focus-visible + label.omgCookie {\n  outline: 3px solid var(--cst-highlight-color);\n  outline-offset: 2px;\n}\n\n.omgCookie-switch input.omgCookie-input-switch[data-checked=true]+label {\n  background: var(--cst-textcolor);\n  opacity: 1;\n}\n\n.omgCookie-switch input.omgCookie-input-switch[data-checked=true] + label:after {\n  left: calc(100% - 3px);\n  transform: translateX(-100%);\n}\n\n.omgCookie-switch label.omgCookie:after,\nlabel.ot-quick-label:after {\n  content: \"\";\n  position: absolute;\n  top: 4px;\n  left: 3px;\n  width: 14px;\n  height: 14px;\n  background: var(--cst-bgcolor);\n  border-radius: 3px;\n  transition: all .1s;\n}\n\nlabel.ot-quick-label:after {\n  background: var(--cst-bgcolor);\n}\n\n.omgCookie-switch label.omgCookie:active:after {\n  width: 26px;\n}\n\n.ot-item-content {\n  padding: var(--cst-space-sm);\n  background-color: var(--cst-bgcolor-opacity);\n  border-radius: var(--cst-space-sm);\n  margin-top: var(--cst-space-sm);\n  margin-left: var(--cst-space-lg);\n  display: flex;\n  align-items: start;\n  flex-direction: column;\n  gap: var(--cst-space-sm);\n  text-align: left;\n}\n\n.mt-sm {\n  margin-top: var(--cst-space-sm);\n}\n\n.ml-none {\n  margin-left: 0;\n}\n\n.my-md {\n  margin-inline: var(--cst-space-md);\n}\n\n/* aria-expanded is on the .ot-group-consent div but also mirrored on the button */\n.ot-group-consent[aria-expanded=true] > .ot-group-consent-header > .ot-heading-consent > svg,\n.ot-heading-consent[aria-expanded=true] > svg {\n  transform: rotate(90deg);\n}\n\n.font-italic {\n  font-style: italic;\n}\n\n.ot-cookies-wrapper .google-atp-policy {\n  margin-right: 10px;\n}\n\n.ot-cookies-wrapper .google-atp-policy:hover {\n  text-decoration: underline;\n  cursor: pointer;\n}\n\n.cst-tcf-layout .cst-powered-by {\n  width: 100%;\n  margin-top: var(--cst-space-sm);\n  text-align: center;\n  font-size: calc(var(--cst-font-size) - 2px) !important;\n  font-weight: 400 !important;\n  line-height: 1.4 !important;\n  opacity: 0.65;\n}\n.cst-tcf-layout .cst-powered-by a {\n  font-size: inherit !important;\n  font-weight: 700 !important;\n  color: inherit;\n  text-decoration: underline;\n}","cst-tcf-css"),void new ConsentikTcf(this.appData.tcf);$OT("body").append(`<div id="${window.cstMainId}">\n      <div id="${this.bannerId}" style="display: none;width=0"></div>\n      </div>`);const t=cstHelpers.getBannerLayout(this.appData.settings).type;switch(cstHelpers.addRootCSS(this.appData.settings),t){case"full":default:new ConsentikFullLayout(CSTSettings);break;case"corner":new ConsentikFloatLayout(CSTSettings);break;case"center":new ConsentikCenterLayout(CSTSettings)}}loadScript(t){let e=document.createElement("script");e.type="text/javascript",e.src=t,e.defer=!0,document.getElementsByTagName("head")[0].appendChild(e)}async checkAppEnabled(t){const{appEnable:e,showAllRegions:n,showSpecificRegion:s}=t;window.cstUserInfo=await cstHelpers.otGetUserInfo();const o=await cstHelpers.otCheckCustomerRegion(n,s);return e&&o}checkGivenConsent(){}}class ConsentikBanner{constructor(t){this.settings=t,this.appData=window.cstAppData,this.advanced=window.cstAppData?.advanced,this.bannerId="cst-cookie-banner",this.popupId="cst-preferences-popup",this.arrowIcon='<svg class="cst-arrow" viewB
25ox="0 0 24 24" width="16" height="16" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><polyline points="9 18 15 12 9 6"></polyline></svg>',this.bannerWrapper="<div id='cst-cookie-wrapper'>\n        <div id=\"cst-cookie-banner\"></div> \n        \n      </div>",this.layout="full",this.init()}init(){console.log("✅ Consentik Standard Layout Loaded (WCAG 2.2 AA Updated Version)");if($OT("#"+this.bannerId).length){this.renderReOpener(),this.renderBanner();const t=this.settings.delayTime>0?1e3*this.settings.delayTime-500:0;setTimeout(()=>{this.initRender()},t),this.addLayoutStyle(),this.loadLayoutCSS(),this.addCustomCSS(),this.addEventListeners()}}initRender(){const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t):null;if(t){if(e.expires<Date.now())this.hideOpener(),this.showBanner();else{this.hideBanner(),this.showOpener();const t=e.consent??[],n=t.includes("advertising"),s=t.includes("analytics"),o=t.includes("functional"),i={ad_user_data:n?"granted":"denied",ad_personalization:n?"granted":"denied",ad_storage:n?"granted":"denied",analytics_storage:s?"granted":"denied",functionality_storage:o?"granted":"denied",personalization_storage:o?"granted":"denied",security_storage:o?"granted":"denied"};window.cstDataConsent=i,window.gtmInitConsentCallback(i)}}else this.hideOpener(),this.showBanner();this.updateWPConsent(e?.consent??[])}renderReOpener(){if(this.settings.showReopenBtn){let t="";const e=this.advanced?.reopenConf?.position,n=this.advanced?.reopenConf?.displayAs,s=this.advanced?.reopenConf?.btnText;s&&(t=`\n          <div class="cst-cookie-btn-text-wrapper">\n            <span class="cst-cookie-btn-text cst-reopen-trigger">${s}</span>\n          </div>\n      `);const o=this.settings?.reopenIconUrl,i=`\n        <div class="cst-reopener-wrapper cst-position-${e??"bottom-right"} cst-reopener-${n??"icon"}">\n          ${n&&"icon"===n?`\n          <div class="cst-cookie-btn-icon-wrapper">\n            <img class="cst-cookie-btn-icon cst-reopen-trigger" src="${o}" />\n          </div>\n      `:t}\n        </div>\n      `;$OT(".cst-reopener-wrapper").remove(),$OT("#"+window.cstMainId).append(i),$OT(".cst-reopener-wrapper").on("click",()=>{this.showBanner(),this.hideOpener()}),this.initReopenStyle()}}initReopenStyle(){const t=this.advanced?.reopenConf?.btnBg,e=this.advanced?.reopenConf?.btnColor,n=this.advanced?.reopenConf?.horizontalMargin,s=this.advanced?.reopenConf?.verticalMargin,o=`\n    <style id="cst-reopen-style">\n      :root {\n        --cst-ro-btn-bg: ${t};\n        --cst-ro-btn-color: ${e};\n        --cst-ro-btn-hrz-margin: ${n}px;\n        --cst-ro-btn-vtc-margin: ${s}px;\n        --cst-text-size: ${this.settings.textSize}px\n      }\n    </style>\n  `;$OT("#"+window.cstMainId).before(o)}renderBanner(){$OT("#"+this.bannerId).empty();const{title:t,message:e,submitText:n,popupWidth:s}=CSTSettings,{privacyWrapper:o,googlePrivacyWrapper:i,preferencesBtn:a,dismissBtn:r,logo:c,titleBanner:d}=cstHelpers.getBannerElement(CSTSettings),l=`<div class="cst-external-link-wrapper">\n              ${o}\n              ${i}\n             </div>`;console.log("render banner"),$OT("#"+this.bannerId).append(`\n          <style>\n              #${this.bannerId} {\n                display: none;\n              }\n          </style>\n          ${this.addCloseIcon()}\n          <div class='cst-banner-content'>\n            ${d}\n            <div id='cst-cookies-message'>\n            <div id='cst-cookies-message-context'>\n            \n            <p class="cst-cookies-message-context">\n           ${t?"":c} ${e?.replace(/\n/g,"<br />")}\n             </p>\n             ${"corner"!==this.layout?l:""}\n              </div>\n              </div>\n          </div>\n          <div class="cst-btn-group-wrapper">\n          ${"corner"===this.layout?l:""}\n          <div class="cst-btn-group">\n          ${r}\n          ${a}\n          <button id='cst-cookies-submit'  class='cst-cookies-btn'>${n}</button>\n          </div>\n          </div>\n          <div class="cst-powered-by">\n              Powered by <a href="https://consentik.com/?utm_source=cmp_banner&utm_medium=referral&utm_campaign=p
25owered_by" target="_blank" rel="noopener noreferrer">Consentik</a>\n             </div>\n    `);const p=s<=50?"ot-small-width":s>50&&s<=90?"ot-medium-width":"ot-large-width";$OT("#"+this.bannerId).addClass(p)}renderPreferencesPopup(){const{titlePopup:t,messPopup:e,icon:n,acceptSelected:s,acceptAll:o,decline:i}=cstHelpers.getPopupElement(this.settings);$OT("#"+this.popupId).empty(),$OT("#"+this.popupId).append(`\n      <div class="cst-preferences-popup" role="dialog" aria-modal="true" aria-labelledby="cst-popup-title-text">\n        <div class="cst-group-function">\n          ${this.addCloseIconPopup()}\n        </div>\n        <div class="cst-preferences-header">\n          ${t}\n        </div>\n        <div class="cst-preferences-body">\n          ${e}\n          <div class="cst-preferences-categories">\n            ${this.renderListCategories()}\n          </div>\n        </div>\n        <div class="cst-group-buttons">\n          ${i}\n          ${s}\n          ${o}\n        </div>\n      </div>\n    `),this.addPopupEventListeners()}renderListCategories(){const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t):null;let n=[];return e&&(n=e.consent),window.cstCategories.length>0?window.cstCategories.map(t=>{const{name:e,description:s,nameConsent:o,status:i,id:a}=t,r=o.includes("essential")||n.includes(o);return`<div class="cst-category-wrapper"  data-id="category-${a}">\n            <div class="cst-category-title-trigger" >\n              <span class="cst-category-title" aria-expanded="false" data-id="category-${a}" role="button" tabindex="0">\n              ${this.arrowIcon} \n              ${e}\n              \n              </span>\n              <div class="cst-category-button">\n                <div class="cst-category-switch">\n                  <input class="cst-input-switch" ${r?'checked="checked" ':""} ${o.includes("essential")?"disabled":""} data-name="${e}" type="checkbox" data-id="${o}" id="cst-switch-${o}">\n                  <label class="cst-category-label" for="cst-switch-${o}"></label>\n                </div>\n              </div>\n            </div>\n            <div class="cst-category-details" data-id="category-${a}">\n              <div class="cst-category-description">${s}</div>\n              \n\n              <div class="cst-cookies-table-wrapper" data-id="category-${a}">\n                ${this.renderListCookies(a)}\n              </div>\n            </div>\n          </div>`}).join(""):""}renderListCookies(t){const e=window.cstCookies.filter(e=>e.categoryId===t&&e.status),n=e.map(t=>`<li class="cst-cookie-detail-item">\n      <dl>\n        <dt>Name</dt>\n        <dd>${t.name}</dd>\n        <dt>Provider</dt>\n        <dd>${t.platform?`<a href="${t.privacyLink}" target="_blank">${t.platform}</a>`:""}</dd>\n        <dt>Domain</dt>\n        <dd>${t.domain||window.location.origin}</dd>\n        <dt>Path</dt>\n        <dd>${t.path||"/"}</dd>\n        <dt>Type</dt>\n        <dd>${t.type||""}</dd>\n        <dt>Retention</dt>\n        <dd>${t.expired||""}</dd>\n        <dt>Purpose</dt>\n        <dd>${t.description}</dd>\n      </dl>\n    </li>`).join("");return e.length?`<span class="cst-category-trigger" data-id="category-${t}" role="button" tabindex="0"><small>Cookies Details</small></span><ul class="cst-cookies-detail-list" data-id="category-${t}">${n}</ul>`:""}addEventListeners(){$OT("#cst-cookies-submit").on("click",()=>{this.acceptAll()}),$OT("#cst-cookies-preferences").on("click",()=>{$OT("#"+this.popupId).length?this.showPopup():($OT("#"+window.cstMainId).append(`<div id="${this.popupId}"></div>`),this.hideBanner(),this.renderPreferencesPopup())}),$OT("#cst-cookies-decline").on("click",()=>{this.declineCookies()}),$OT(".cst-close-icon").off("click").on("click",()=>{this.hideBanner()})}addPopupEventListeners(){$OT(".cst-category-title").on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key&&" "!==t.key)return;t.preventDefault();const e=$OT(t.currentTarget),n=e.attr("data-id"),s=$OT(`.cst-category-details[data-id="${n}"]`);
25s.is(":visible")?(s.slideUp(),e.attr("aria-expanded","false")):(e.attr("aria-expanded","true"),s.slideDown(),s.show())}),$OT(".cst-category-trigger").on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key&&" "!==t.key)return;t.preventDefault();const e=$OT(t.currentTarget).attr("data-id"),n=$OT(`.cst-cookies-detail-list[data-id="${e}"]`);n.is(":visible")?n.slideUp():n.slideDown()}),$OT(".cst-close-icon-popup").off("click keydown").on("click keydown",t=>{"keydown"===t.type&&"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.hidePopup(),this.showBanner())}),$OT(".cst-input-switch").on("change",t=>{const e=$OT(t.currentTarget),n=(e.attr("data-id"),e.attr("checked"));e.attr("checked","checked"!==n&&"true"!==n)}),$OT(".cst-input-switch").on("keydown",t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),$OT(t.currentTarget).trigger("click"))}),$OT(".cst-all-btn").on("click",()=>{this.acceptAll()}),$OT(".cst-selected-btn").on("click",()=>{const t=$OT('.cst-input-switch[checked="checked"]');let e=[];for(let n of t){const t=$OT(n).attr("data-id");e.push(t)}this.acceptedPartial(e)}),$OT("#cst-cookies-decline-popup").on("click",()=>{this.declineCookies()}),$OT(document).on("keydown.cstPopupInternal",t=>{const e=$OT(CST_SELECTOR.popup);if(e.is(":visible")){if("Escape"===t.key)return this.hidePopup(),void this.showBanner();if("Tab"===t.key){const n=e.find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===n.length)return;const s=n[0],o=n[n.length-1];t.shiftKey?document.activeElement===s&&(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),s.focus())}}})}setCheckedCategory(t){window.cstCategories?.forEach(e=>{const{nameConsent:n}=e,s=t[n];$OT(`#cst-switch-${n}`).attr("checked",s)})}declineCookies(){this.sendConsentData({essential:!0,analytics:!1,functional:!1,advertising:!1,dataToThirdParty:!1},"decline")}acceptAll(){const t={essential:!0,analytics:!0,functional:!0,advertising:!0,dataToThirdParty:!0};this.setCheckedCategory(t),this.sendConsentData(t,"all")}acceptedPartial(t){const e={essential:!0,analytics:t.includes(CONSENT_KEY.ANALYTICS),functional:t.includes(CONSENT_KEY.FUNCTIONAL),advertising:t.includes(CONSENT_KEY.ADVERTISING),dataToThirdParty:t.includes(CONSENT_KEY.ADVERTISING)};this.sendConsentData(e,"partial")}showOpener(){setTimeout(()=>{$OT(CST_SELECTOR.opener).fadeIn(200)},0)}hideOpener(){$OT(CST_SELECTOR.opener).fadeOut(100)}hideBanner(){$OT(CST_SELECTOR.banner).fadeOut(200)}showBanner(){$OT(CST_SELECTOR.banner).attr("style","display:flex"),this.showIcon()}showIcon(){$OT("#cst-banner-icon").fadeIn(200)}hidePopup(){$OT(CST_SELECTOR.popup).fadeOut(200)}showPopup(){$OT(CST_SELECTOR.popup).fadeIn(200,()=>{const t=$OT(CST_SELECTOR.popup).find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');t.length&&t[0].focus()})}async sendConsentData(t,e){const n=(new Date).getTime()+24*this.settings.cookieLifeTime*60*60*1e3,s=Object.keys(t).filter(e=>!0===t[e]),o=JSON.stringify({type:e,consent:e===SUBMIT_TYPE.DECLINE?["essential"]:s,expires:n}),i="/; domain=."+window.location.origin.split(".").slice(1).join(".");if(cstHelpers.applyShopifyTrackingConsent({analytics:t?.analytics??!1,marketing:t?.advertising??!1,preferences:t?.functional??!1,sale_of_data:t?.advertising??!1}),void 0!==window.consentPolicyManager)try{window.consentPolicyManager.setUserConsentPolicy({functional:t?.functional??!1,analytics:t?.analytics??!1,advertising:t?.advertising??!1})}catch(t){}cstHelpers.setCookie(cstHelpers.cookieName,o),cstHelpers.deleteCookie(cstHelpers.consentName,i),this.hideBanner(),this.hidePopup(),this.showOpener(),this.updateBannerGCMV2(t),this.updateWPConsent(t)}updateWPConsent(t){const e=Array.isArray(t)?t.reduce((t,e)=>({...t,[e]:!0}),{}):t,n=t=>(Array.isArray(t)?t:[t]).some(t=>!0===e[t])?"allow":"deny";"function"==typeof wp_set_consent?(wp_set_consent("marketing",n("advertising")),wp_set_consent("statistics",n("analytics")),wp_set_consent("functional",n("functional")),wp_set_consent("preferences",n(["preferences","functional"])),console.log("Consentik: WP Consent API updated.")):console.log("Consentik: WP Consent API plugin is not active.")}updateBannerGCMV2(t){const e=window.otkConsent;console.log(e);const n=t.analytics,s=t.advertising,o=t.functional,i=[CONSENT_KEY.ESSENTIAL];if(n&&i.push(CONSENT_KEY.ANALYTICS),s&&i.push(CONSENT_KEY.ADVERTISING),o&&i.push(CONSENT_KEY.FUNCTIONAL),cstHelpers.setCo
25okie(cstHelpers.consentGcm,JSON.stringify(i)),"undefined"!=typeof gtag&&e){const n={ad_user_data:t.advertising?"granted":"denied",ad_personalization:t.advertising?"granted":"denied",ad_storage:t.advertising?"granted":"denied",analytics_storage:t.analytics?"granted":"denied",functionality_storage:t.functional?"granted":"denied",personalization_storage:t.functional?"granted":"denied",security_storage:t.functional?"granted":"denied"},s=!t.advertising;e.useDefaultTemplate||(gtag("consent","update",n),s&&gtag("set","ads_data_redaction",window.cstGCM.ads_data_redaction)),window.cstDataConsent={security_storage:n.security_storage,ad_storage:n.ad_storage,ad_personalization:n.ad_personalization,ad_user_data:n.ad_user_data,analytics_storage:n.analytics_storage,functionality_storage:n.functionality_storage,personalization_storage:n.personalization_storage},window.gtmConsentCallback(window.cstDataConsent)}showGCMDebugMode()}addCustomCSS(){const t=this.settings.customCss;t&&$OT("body").append(`<style id="cst-custom-css">${t}</style>`)}addCloseIcon(){return this.settings?.showCloseIcon?'<button type="button" aria-label="Close Banner" class="cst-close-icon">✕</button>':""}addCloseIconPopup(){return'<button type="button" aria-label="Close Preferences" class="cst-close-icon-popup">✕</button>'}}class ConsentikFullLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("#consentik-cookie div#cst-cookie-banner {\n    background: var(--cst-banner-bgcolor);\n    color: var(--cst-banner-textcolor);\n    padding: 20px;\n    display: flex;\n    flex-wrap: wrap;\n    font: var(--cst-font-family);\n    font-size: var(--cst-text-size) !important;\n    z-index: 1000;\n    justify-content: space-between;\n    align-items: flex-start;\n}\n#consentik-cookie #cst-cookie-banner .cst-btn-group-wrapper {\n    width: 100%;\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    max-width: 35%;\n    gap: 10px;\n}\n#consentik-cookie #cst-cookie-banner .cst-btn-group {\n    display: flex;\n}\n#consentik-cookie #cst-cookie-banner.ot-small-width .cst-btn-group {\n    flex-direction: column;\n    align-items: stretch;\n    text-align: center;\n    gap: 5px;\n}\n#consentik-cookie #cst-cookie-banner span.cst-ot-cookie {\n    padding: 4px 12px;\n    cursor: pointer;\n    transition: opacity 0.2s;\n}\n#consentik-cookie div#cst-cookies-message-context {\n    display: flex;\n    flex-direction: column;\n    gap: 5px;\n}\n\n#consentik-cookie .cst-external-link-wrapper {\n    display: flex;\n    gap: 10px;\n    flex-wrap: wrap;\n}\n\n@media(max-width: 767px) {\n    #consentik-cookie #cst-cookie-banner {\n        position: fixed;\n        left: 0;\n        width: 100%;\n        flex-direction: column;\n        gap: 10px;\n    }\n    #consentik-cookie #cst-cookie-banner .cst-banner-content {\n        width: 100%;\n        max-width: 100%;\n        align-items: center;\n    }\n    #consentik-cookie #cst-cookie-banner .cst-btn-group-wrapper {\n        max-width: 100%;\n        gap: 10px;\n    }\n    #consentik-cookie #cst-cookie-banner.ot-small-width .cst-btn-group {\n        width: 100%;\n    }\n    #consentik-cookie .cst-external-link-wrapper {\n        justify-content: center;\n    }\n}","cst-full-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{unitSpace:n,marginTop:s,popupWidth:o,textColor:i,marginBottom:a}=t;let r="";const c=cstHelpers.getBannerLayout(t);r+=`\n      ${e}
25 {\n        ${c.top?"top":"bottom"}: ${c.top?s:a||0}${n};\n      }\n    `,$OT("head").append(`\n                            <style id="cst-style">\n                            ${e}  {\n                              position: fixed;\n                              left: ${o>0?(100-o)/2:0}%;\n                              width: ${o>0?o:"100"}%;\n                            }\n                            ${e} .cst-btn-group-wrapper {\n                                width: ${o<70?"100%":"auto"};\n                                display: flex;\n                                justify-content: flex-end;\n                                max-width: 35%;\n                            }\n                            ${e} .cst-btn-group {\n                              flex-direction: ${o<65?"column":"row"};\n                            }\n                            ${e} .cst-banner-content {\n                              display: flex;\n                              align-items: flex-start;\n                              flex-direction: column;\n                              width: ${o<70?"100%":"auto"};\n                              max-width: 65%;\n                            }\n                            ${e} #cst-cookies-message {\n                                flex-direction: ${o<65?"column":"row"}\n                            }\n                            ${e} .navSelect {border-bottom: 1px solid ${i}45}\n                            #cst-cookies-body button {\n                              color: ${i};\n                            }\n                            #cst-cookies-body button .accordion-title {\n                              padding: 0.5em 1.5em 0.5em 0;\n                              margin:0;\n                              color: textColor\n                            }                          \n                            ${r}\n                            </style>\n                            `)}}class ConsentikFloatLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("div#cst-cookie-banner {\n    background: var(--cst-banner-bgcolor);\n    color: var(--cst-banner-textcolor);\n    padding: 10px;\n    display: flex;\n    flex-wrap: wrap;\n    font: var(--cst-font-family);\n    font-size: var(--cst-text-size) !important;\n}\ndiv#cst-cookies-message-context {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n}\n#cst-cookie-banner .cst-btn-group-wrapper {\n    width: 100%;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    max-width: 100%;\n    gap: 10px;\n    justify-content: space-between;\n}\n#cst-cookie-banner .cst-btn-group {\n    display: flex;\n}\n#cst-cookie-banner.ot-small-width .cst-btn-group {\n    flex-direction: row;\n    align-items: stretch;\n    text-align: center;\n    gap: 5px;\n}\n#cst-cookie-banner span.cst-ot-cookie {\n    padding: 4px 12px;\n    cursor: pointer;\n    transition: opacity 0.2s;\n}\n\n@media(max-width: 767px) {\n    #cst-cookie-banner {\n        position: fixed;\n        left: 0;\n        width: 100%;\n        flex-direction: column;\n        gap: 10px;\n    }\n    #cst-cookie-banner .cst-banner-content {\n        width: 100%;\n        max-width: 100%;\n    }\n    #cst-cookie-banner .cst-btn-group-wrapper {\n        max-width: 100%;\n        gap: 5px;\n        flex-direction: column;\n    }\n    #cst-cookie-banner.ot-small-width .cst-btn-group {\n        width: 100%;\n        flex-direction: column;\n    }\n    \n}","cst-float-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{textColor:n,unitSpace:s,marginTop:o,marginBottom:i,marginLeft:a,marginRight:r}=t;let c="";
25const d=cstHelpers.getBannerLayout(t),l=d.top?"top":"bottom",p=d.left?"left":"right";c+=`\n      ${e} {\n        ${l}: ${d.top?o:i||0}${s};\n        ${p}: ${d.left?a:r||0}${s};\n        ${d.top?"bottom":"top"}: unset;\n        ${d.left?"right":"left"}: unset;\n      }\n    `,$OT("head").append(`\n                            <style id="cst-style">\n                            ${e}  {\n                              position: fixed;\n                              left: 0;\n                              width: 33%;\n                              bottom: 0;\n                              flex-direction: column;\n                              gap: 20px;\n                              z-index: 10000\n                            }\n                            ${e} .cst-btn-group-wrapper {\n                                width: auto;\n                                display: flex;\n                                justify-content: flex-end;\n                                max-width: 100%;\n                            }\n                            ${e} .cst-banner-content {\n                              display: flex;\n                              align-items: flex-start;\n                              flex-direction: column;\n                              width: auto;\n                              max-width: 100%;\n                            }\n                            ${e} .navSelect {border-bottom: 1px solid ${n}45}\n                            #cst-cookies-body button {\n                              color: ${n};\n                            }\n                              ${c}\n                            </style>\n                            `)}}class ConsentikCenterLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("div#cst-cookie-banner {\n  background: var(--cst-banner-bgcolor);\n  color: var(--cst-banner-textcolor);\n  padding: 20px;\n  display: flex;\n  flex-wrap: wrap;\n  font: var(--cst-font-family);\n  font-size: var(--cst-text-size) !important;\n}\n#cst-cookie-banner .cst-btn-group-wrapper {\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  align-items: flex-end;\n  max-width: 100%;\n  gap: 10px;\n}\n#cst-cookie-banner .cst-btn-group {\n  display: flex;\n  gap: 10px;\n}\n#cst-cookie-banner.ot-small-width .cst-btn-group {\n  flex-direction: row;\n  align-items: stretch;\n  text-align: center;\n  gap: 10px;\n}\n#cst-cookie-banner span.cst-ot-cookie {\n  padding: 4px 12px;\n  cursor: pointer;\n  transition: opacity 0.2s;\n}\n\n@media (max-width: 767px) {\n  #consentik-cookie .cst-external-link-wrapper {\n    text-align: center;\n}\n  #cst-cookie-banner.ot-small-width .cst-btn-group {\n    flex-direction: column;\n    align-items: stretch;\n    text-align: center;\n    gap: 10px;\n    width: 100%;\n  }\n  #cst-cookie-banner {\n    position: fixed;\n    left: 5%;\n    width: 90%;\n    top: 25%;\n    flex-direction: column;\n    gap: 20px;\n    z-index: 10000;\n    padding: 10px;\n    \n  }\n  #consentik-cookie p.cst-popup-message {\n    max-width: 100%;\n    padding: 10px 0;\n}\n#consentik-cookie .cst-preferences-header {\n    justify-content: space-between;\n    flex-direction: column-reverse;\n    gap: 10px;\n}\n#consentik-cookie .cst-group-buttons {\n    display: flex;\n    gap: 5px;\n    align-items: stretch;\n    justify-content: space-around;\n    margin-right: unset;\n}\n#consentik-cookie div#cst-preferences-popup {\n    padding: 10px;\n    max-height: 90vh;\n    min-height: 50vh;\n    overflow: auto;\n}\n#consentik-cookie button.cst-cookies-btn{\n    min-width: unset;\n}\n#consentik-cookie div#cst-preferences-popup:has(.cst-close-icon) {\n    padding-top: 30px;\n}\n}\n","cst-center-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{popupWidth:n,textColor:s}=t,o=n>0?n:"40";$OT("head").append(`\n                            <style id="cst-style">\n                            ${e}  {\n                              position: fixed;\n                              left: ${(100-o)/2}%;\n                              width: ${o}%;\n                              top: 25%;\n                              flex-direction: column;\n                              gap: 20px;\n                              z-index: 10000;\n                            }\n                            ${e} .cst-btn-group-wrapper {\n                                width: auto;\n                                display: flex;\n                                justify-content: center;\n                                max-width: 100%;\n                            }\n                            ${e} .cst-banner-content {\n                              display: flex;\n                              align-items: flex-start;\n                              flex-direction: column;\n                              width: auto;\n                              max-width: 100%;\n                              gap: 10px\n                            }\n                            ${e} .navSelect {border-bottom: 1px solid ${s}45}\n                            #cst-cookies-body button {\n                              color: ${s};\n                            }\n                            </style>\n                            `)}}class ConsentikTcf{constructor(t){this.config={showGoogleAdditionalConsent:!0,...t.config},this.content=t.content,this.settings=window.cstAppData?.settings,this.advanced=window.cstAppData?.advanced,this.bannerId="cst-consentik-cookie",this.acStringVersion="2",this.arrowIcon='<svg viewBox="0 0 24 24" width="16" height="16" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="category-icon"><polyline points="9 18 15 12 9 6"></polyline></svg>',this.endpointVendorList="https://apps.consentik.com/tcf/vendor-list.json",$OT("body").remove("#"+this.bannerId).append(`<div id='${this.bannerId}' class='ot-cookies-wrapper'></div>`),this.listenerStore=[],this.listLegInt={vendorLegitimateInterests:new Set,purposeLegitimateInterests:new Set},this.dataConsent=Object.assign({vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[]},window.cstCategories.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{})),this.initListTab(),this.loadModule().then(t=>{this.tcModel=new t.TCModel,this.tcModel.cmpId=451,this.tcModel.cmpVersion=2,this.tcModel.isServiceSpecific=!this.useLegacyTcfCore(),this.tcModel.gdprApplies=otEuCountries.includes(window.cstUserInfo.loc),this.tcModel.publisherCountryCode=window.cstUserInfo.loc||this.tcModel.publisherCountryCode,this.encodeTCString=t.TCString.encode,this.decodeTCString=t.TCString.decode,this.init()})}
25async init(){console.log("✅ Consentik TCF Layout Loaded (WCAG 2.2 AA Updated Version)"),await this.otFetchVendorList();$OT("#"+this.bannerId).length&&(this.otRenderReOpener(),this.ocbBannerInit(),this.otInitRootCSS(),$OT(`#${this.bannerId}`).append(`<style id="ot-custom-css">${this.settings.customCss}</style>`))}ocbBannerInit(){this.otRenderCookieBanner(!0),this.otBaseActionCookies();const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t)?.consent:null,n=cstHelpers.getCookie(cstHelpers.consentTcf),s=t?JSON.parse(n):null,o=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),i=o?JSON.parse(o):null;if(this.updateWPConsentTCF("",e),e&&s&&(!this.config?.showGoogleAdditionalConsent||i)){if(this.shouldResetConsent(s,i))this.resetCookieAndShowBanner();else{this.setConsentTcData(this.filteredData(s,i,e)),this.refreshStoredTcString(s);const t={ad_user_data:[1,7].every(t=>this.dataConsent.purposes?.includes(t))?"granted":"denied",ad_personalization:[3,4].every(t=>this.dataConsent.purposes?.includes(t))?"granted":"denied",ad_storage:this.dataConsent.purposes?.includes(1)?"granted":"denied",analytics_storage:this.dataConsent?.analytics?"granted":"denied",functionality_storage:this.dataConsent?.functional?"granted":"denied",personalization_storage:this.dataConsent?.functional?"granted":"denied",security_storage:this.dataConsent?.functional?"granted":"denied"};window.cstDataConsent=t,window.gtmInitConsentCallback(t),this.otToggleBanner().hide()}}else this.resetCookieAndShowBanner()}resetCookieAndShowBanner=()=>{cstHelpers.deleteCookie(cstHelpers.cookieName),cstHelpers.deleteCookie(cstHelpers.consentGcm),cstHelpers.deleteCookie(cstHelpers.consentTcf),cstHelpers.deleteCookie(cstHelpers.consentGoogleAtp);const t=this.settings.delayTime>0?1e3*this.settings.delayTime-500:0;setTimeout(()=>{this.otToggleBanner().show()},t)};refreshStoredTcString=t=>{try{const e=this.decodeTCString(t);if(e.isServiceSpecific===this.tcModel.isServiceSpecific&&e.cmpVersion===this.tcModel.cmpVersion)return;cstHelpers.setCookie(cstHelpers.consentTcf,JSON.stringify(this.encodeTCString(this.tcModel)))}catch(t){console.warn("[Consentik] Could not refresh the stored TC String:",t)}};shouldResetConsent=(t,e)=>{try{const n=this.decodeTCString(t),s=Array.from(n.vendorConsents.values()),o=new Set(window.listIdsPublished.vendorsDisclosed);for(const t of s)if(!o.has(t))return!0;if(this.config?.showGoogleAdditionalConsent){const t=this.getGoogleAtpConsent(e),n=new Set(window.listIdsPublished.googleATP);for(const e of t)if(!n.has(e))return!0}return!1}catch(t){return!0}};filteredData=(t,e,n)=>{const s=this.decodeTCString(t),o=n?.reduce((t,e)=>(t[e]=!0,t),{}),i=Array.from(s.vendorConsents.values()).filter(t=>window.listIdsPublished.vendorsDisclosed.includes(t)),a=Array.from(s.vendorLegitimateInterests.values()).filter(t=>this.listLegInt.vendorLegitimateInterests.has(t)),r=Array.from(s.purposeConsents.values()).filter(t=>window.listIdsPublished.purposes.includes(t)),c=Array.from(s.purposeLegitimateInterests.values()).filter(t=>this.listLegInt.purposeLegitimateInterests.has(t)),d=Array.from(s.specialFeatureOptins.values()).filter(t=>window.listIdsPublished.specialFeatures.includes(t)),l=this.getGoogleAtpConsent(e).filter(t=>window.listIdsPublished.googleATP.includes(t));return{vendors:i,vendorLegitimateInterests:a,purposes:r,purposeLegitimateInterests:c,specialFeatures:d,googleATP:l,...this.config?.showGoogleAdditionalConsent?{googleATP:l}:{},...o}};otRenderCookieBanner=(t=!1)=>{$OT("#ot-cookies-banner").remove(),$OT("#ot-cookies-preference").remove(),$OT(`#${this.bannerId}`).append(`\n      <div id="ot-cookies-banner" class="cst-tcf-layout" role="region" aria-label="Cookie consent" style="display: ${t?"none":"initial"}">\n        <button type="button" class="ot-cookies-close" aria-label="Close cookie banner">&#10005;</button>\n        <div class="cst-tcf-content content-banner">\n          <section aria-labelledby="ot-tcf-banner-title">\n            <h2 id="ot-tcf-banner-title">${this.content.firstTitle}</h2>\n            <p>${this.content.firstMsg?.replace("{vendors}",window.gvl?.vendors?.length??0)}\n            </p>\n          </section>\n          <section>\n            <h3>${this.content.secondTitle}</h3>\n            <p>${this.content.secondMsg}</p>\n          </section>\n          <section>\n            <h3>${this.content.thirdTitle}</h3>\n            <p>${this.content.thirdMsg}</p>\n          </section>\n        </div>\n        <div class="ot-cookies-links">\n          <a href="${this.content.privacyUrl}" target="_blank">${this.content.privacyText}</a>\n          <a href="${this.settings.googlePrivacyLink}" target="_blank">${this.settings.googlePrivacyText}</a>\n          <button type="button" class="ot-show-preferences">${this.content.listPartnerTxt}</button>\n        </div>\n        <div class="ot-cookies-buttons">\n          <button type="button" class="ot-cookies-button" data-intent="preference">${this.content.preferenceBtn}</button>\n          <button type="button" class="ot-cookies-button" data-intent="deny">${this.content.rejectBtn}</button>\n          <button type="button" class="ot-cookies-button" data-intent="allow">${this.content.acceptBtn}</button>\n        </div>\n        <div class="cst-powered-by">\n          Powered by <a href="https://consentik.com/?utm_source=cmp_banner&utm_medium=referral&utm_campaign=p
25owered_by" target="_blank" rel="noopener noreferrer">Consentik</a>\n        </div>\n      </div>\n  \n      <div id="ot-cookies-preference" class="cst-tcf-layout center" role="dialog" aria-modal="true" aria-labelledby="ot-pref-popup-title">\n        <button type="button" class="ot-cookies-close" aria-label="Close preferences popup">&#10005;</button>\n        <div class="cst-tcf-content">\n          <div class="ot-content-info">\n          </div>\n          <div class="ot-cookies-links">\n            <a href="${this.content.privacyUrl}" target="_blank">${this.content.privacyText}</a>\n            <a href="${this.settings.googlePrivacyLink}" target="_blank">${this.settings.googlePrivacyText}</a>\n            <button type="button" id="show-list-vendors">${this.content.listPartnerTxt}</button>\n          </div>\n          <div class="cst-tcf-tab"></div>\n        </div>\n        <div class="ot-cookies-buttons">\n          <button type="button" class="ot-cookies-button" data-intent="save">${this.content.savePreferenceBtn}</button>\n          <button type="button" class="ot-cookies-button" data-intent="deny">${this.content.rejectBtn}</button>\n          <button type="button" class="ot-cookies-button" data-intent="allow">${this.content.acceptBtn}</button>\n        </div>\n      </div>\n    `)};otFetchVendorList=async()=>{try{const t=await fetch(this.endpointVendorList),e=await t.json(),n=this.config.vendors?.length?Object.values(e.vendors).filter(t=>this.config.vendors.includes(String(t.id))&&!t.deletedDate):Object.values(e.vendors).filter(t=>!t.deletedDate),s=this.config.googleAtp?.length?Object.values(e.googleATP).filter(t=>this.config.googleAtp.includes(String(t.id))):Object.values(e.googleATP),o=n.reduce((t,e)=>(e.purposes.forEach(e=>{t.purposes[e]=(t?.purposes?.[e]||0)+1}),e.legIntPurposes.forEach(e=>{t.purposes[e]=(t?.purposes?.[e]||0)+1}),e.specialPurposes.forEach(e=>{t.specialPurposes[e]=(t?.specialPurposes?.[e]||0)+1}),e.features.forEach(e=>{t.features[e]=(t?.features?.[e]||0)+1}),e.specialFeatures.forEach(e=>{t.specialFeatures[e]=(t?.specialFeatures?.[e]||0)+1}),t),{purposes:{},specialPurposes:{},features:{},specialFeatures:{}});window.gvl={...e,...this.content.dataPurpose,vendors:n,googleATP:s,statistics:o},window.listIdsPublished={vendorsDisclosed:n?.map(t=>t.id)??[],vendors:(n??[]).filter(t=>t.purposes.length).map(t=>t.id)??[],vendorsAlwaysActive:(n??[]).filter(t=>!t.purposes.length).map(t=>t.id)??[],googleATP:s?.map(t=>t.id)??[],purposes:this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t)),purposesSet:new Set(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))),specialFeatures:this.content.dataPurpose?.specialFeatures?.map(t=>Number(t.id))??Object.keys(e.specialFeatures).map(t=>Number(t)),analyticsPurposes:[8,9,10].filter(t=>(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))).includes(t)),advertisingPurposes:[1,3,4,7].filter(t=>(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))).includes(t))},this.tcModel.vendorsDisclosed.set(window.listIdsPublished.vendorsDisclosed),n.forEac
25h(t=>{t.legIntPurposes.forEach(t=>this.listLegInt.purposeLegitimateInterests.add(t)),t.legIntPurposes.length&&this.listLegInt.vendorLegitimateInterests.add(t.id)});const i={...e,vendors:window.gvl.vendors.reduce((t,e)=>(t[e.id]=e,t),{})};this.tcModel.gvl=i,window.__tcfapi=(t,n,s,o)=>{const i=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),a=i?JSON.parse(i):null,r={cmpId:this.tcModel.cmpId,cmpVersion:this.tcModel.cmpVersion,gdprApplies:this.tcModel.gdprApplies,gvlVersion:e.vendorListVersion,tcfPolicyVersion:e.tcfPolicyVersion,...this.config?.showGoogleAdditionalConsent?{addtlConsent:a??""}:{},enableAdvertiserConsentMode:window.cstAppData?.integrate?.googleConsentMode?.enableAdvertiserConsentMode??!0};if("ping"===t)s(Object.assign({displayStatus:"visible",apiVersion:String(n),cmpLoaded:!0,cmpStatus:"loaded"},r));else if("addEventListener"===t||"getTCData"===t){const t=this.listenerStore.length?this.listenerStore[this.listenerStore.length-1]+1:1;this.listenerStore.push(t);const e=Array.from(this.tcModel.purposeConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),n=Array.from(this.tcModel.purposeLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),o=Array.from(this.tcModel.specialFeatureOptins.set_).reduce((t,e)=>(t[e]=!0,t),{}),i=Array.from(this.tcModel.publisherConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),a=Array.from(this.tcModel.publisherLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),c=Array.from(this.tcModel.publisherCustomConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),d=Array.from(this.tcModel.publisherCustomLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),l=Array.from(this.tcModel.vendorConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),p=Array.from(this.tcModel.vendorLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),u=Array.from(this.tcModel.vendorsDisclosed.set_).reduce((t,e)=>(t[e]=!0,t),{});s(Object.assign({tcString:this.encodeTCString(this.tcModel),eventStatus:"tcloaded",listenerId:t,cmpStatus:"loaded",isServiceSpecific:this.tcModel.isServiceSpecific_,useNonStandardTexts:this.tcModel.useNonStandardTexts??this.tcModel.useNonStandardStacks??!1,publisherCC:this.tcModel.publisherCountryCode_,purposeOneTreatment:this.tcModel.purposeOneTreatment_,purpose:{consents:e,legitimateInterests:n},specialFeatureOptins:o,publisher:{consents:i,legitimateInterests:a,customPurpose:{consents:c,legitimateInterests:d},restrictions:{}},vendor:{consents:l,legitimateInterests:p,disclosedVendors:u}},r),!0)}else"removeEventListener"===t?this.listenerStore.includes(o)?(s(!0),this.listenerStore=this.listenerStore.filter(t=>t!==o)):s(!1):"getVendorList"===t&&s(e,!0)}}catch(t){console.error("[Consentik] Failed to load/process IAB vendor list — TCF consent will not encode:",t)}finally{window.gvl||(window.gvl={dataCategories:{},features:[],googleATP:[],purposes:[],specialFeatures:[],specialPurposes:[],statistics:{purposes:{},specialPurposes:{},features:{},specialFeatures:{}},vendors:[]}),this.tcModel&&!this.tcModel.gvl&&console.error("[Consentik] TCModel has no GVL after vendor-list processing — consent encoding will fail. Check vendor-list data / GVL.populate().")}};otRenderReOpener=()=>{const t=this.advanced?.reopenConf?.position,e=this.settings?.reopenIconUrl??window.cstRootLink+"/images/cookies/logo-0.png",n=`\n      <div class="cst-reopener-wrapper cst-position-${t??"bottom-right"} cst-reopener-icon">\n        ${`\n      <div class="cst-cookie-btn-icon-wrapper">\n        <img class="cst-cookie-btn-icon cst-reopen-trigger" ${e&&e.includes(".gif")?'data-gif="true"':""} src="${e}" />\n      </div>\n    `}\n      </div>\n    `;$OT(`#${this.bannerId}`).append(n);$OT(".cst-reopener-wrapper").on("click",()=>{this.otToggleBanner().show()}),this.otReOpenerStyle()};otReOpenerStyle=()=>{const t=this.advanced?.reopenConf?.btnBg,e=this.advanced?.reopenConf?.btnColor,n=this.advanced?.reopenConf?.horizontalMargin,s=this.advanced?.reopenConf?.verticalMargin,o=`\n      <style id="ot-reopen-style">\n        :root {\n          --cst-ro-btn-bg: ${t};\n          --cst-ro-btn-color: ${e};\n          --cst-ro-btn-hrz-margin: ${n??10}px;\n          --cst-ro-btn-vtc-margin: ${s??10}px;\n        }\n      </style>\n    `;
25$OT(`#${this.bannerId}`).before(o)};otInitRootCSS=()=>{const{bgColor:t="#FFFFFF",textColor:e="#333333",highlightColor:n="#005B2A"}=this.config,s=`\n    <style id="cst-root-css">\n      :root {\n        --cst-textcolor: ${e};\n        --cst-bgcolor: ${t};\n        --cst-bgcolor-opacity: ${cstHelpers.hexToRgba(e,.1)};\n        --cst-highlight-color: ${n};\n        ${this.settings.fontName?`--cst-font-family: "${this.settings.fontName}", Arial,Helvetica,san-serif;`:""}\n        ${this.settings.textSize?`--cst-font-size: ${this.settings.textSize}px`:""}\n      }\n    </style>`;$OT("head").append(s)};showPreferencePopup=()=>{$OT("#ot-cookies-banner").fadeOut(200),$OT("#ot-cookies-preference").css("display","flex"),setTimeout(()=>{const t=$OT("#ot-cookies-preference").find('button, [href], input, [tabindex]:not([tabindex="-1"])')[0];t&&t.focus()},250),$OT(".ot-content-info").html(`\n      <h2 id="ot-pref-popup-title">${this.content.popupTitle}</h2>\n      <p style="text-align: left;">${this.content.popupMsg?.replace("{duration}",this.settings?.cookieLifeTime??30)}</p>\n    `),$OT(".cst-tcf-tab").html(`\n      <div class="ot-cookies-tab" role="tablist" aria-label="Consent categories">\n        <button role="tab" aria-selected="true" aria-controls="vendors" data-state="active" data-id="vendors">${this.content.tabLabel}</button>\n        <button role="tab" aria-selected="false" aria-controls="purposes" data-id="purposes">${this.content.purposesLabel}</button>\n        <button role="tab" aria-selected="false" aria-controls="categories" data-id="categories">${this.content.categoryLabel}</button>\n      </div>\n      <div class="ot-content-tab">\n        ${window.LIST_TAB.map((t,e)=>`<div id="${t.id}" role="tabpanel" aria-labelledby="tab-${t.id}" class="ot-cookie-content ${0===e?"active":""}">\n            ${t.listGroup.map(e=>{let n=!1;return n=Array.isArray(this.dataConsent[e.id])?this.isConsentAll(e.id,e.legInt):this.dataConsent[e.id],"purposes"===t.id&&!this.content.dataPurpose?.[e.id]?.length||e.shouldShow&&!e.shouldShow(this.config)?"":"purposes"!==t.id||this.content.dataPurpose?.[e.id]?.length?`\n                <div \n                    id="ot-consent-${t.id}-${e.id}"\n                    class="ot-group-consent${e?.divider?" cst-divider":""}"\n                    data-action="${e.isNoAction?"false":"true"}"\n                    data-id="${e.id}"\n                    data-legint="${e?.legInt??""}"\n                >\n                  <div class="ot-group-consent-header">\n                    <button class="ot-heading-consent font-semibold flex" aria-expanded="false" aria-controls="details-${t.id}-${e.id}">\n                      ${this.arrowIcon}\n                      <span class="heading">${e.title} ${this.content.dataPurpose?.[e.id]?`(${this.content.dataPurpose[e.id].length})`:window.gvl?.[e.id]?`(${Object.values(window.gvl[e.id]).length})`:""}\n                      </span>\n                    </button>\n                    <div style="margin-left: auto;">\n                    ${e.isNoAction?"":`\n                      <div class="ot-consent-action flex">\n                        <span>${e.labelAction?e.labelAction:""}</span>\n                        <div style="display: flex;align-items: center;gap: 10px;">\n                          <div class="omgCookie-switch">\n                            <input \n                              class="omgCookie-input-switch"\n                              type="checkbox" \n                              data-checked="${n}"\n                              disable-uncheck="${e?.disableUncheck??!1}"\n                              disable="${e?.disableUncheck??!1}"\n                              id="switch-ot-${e.id}"\n                              ${e?.disableUncheck?'disabled aria-disabled="true"':""}\n                              aria-label="${e.title}"\n                            />\n                            <label class="omgCookie" for="switch-ot-${e.id}"><span class="sr-only">${e.title}</span></label>\n                          </div>\n                        </div>\n                      </div>\n                    `}
25\n                    <span class="ot-helper-text">${e.helperText??""}</span>\n                  </div>\n                  ${e.note?`<p class="ot-group-note">${e.note}</p>`:""}\n                </div>\n              </div>`:""}).join("")}\n          </div>`).join("")}\n      </div>\n    `);const t=$OT(".ot-cookies-tab button"),e=$OT(".ot-content-tab .ot-cookie-content");t.on("click",function(){t.removeAttr("data-state").attr("aria-selected","false"),this.setAttribute("data-state","active"),this.setAttribute("aria-selected","true");const n=this.getAttribute("data-id");e.removeClass("active"),$OT(`#${n}`).addClass("active")}),$OT(".omgCookie-input-switch").on("change",t=>{t.stopPropagation();const e=$OT(t.target);if("true"===e.attr("disable-uncheck"))return;const n=e.closest(".ot-group-consent").attr("data-id"),s=e.closest('.ot-group-consent[data-legint]:not([data-legint=""])').attr("data-legint"),o="true"===e.attr("data-checked");this.syncAllConsent(n,!o,s),this.dataConsent[n]=o?window.gvl[n]?[]:!o:window.gvl[n]?window.listIdsPublished[n]:!o,s&&(this.dataConsent[s]=o?[]:Array.from(this.listLegInt[s])),e.attr("data-checked",!o);$OT(`[data-selector="${n}"]`).attr("data-checked",!o)}),this.onRenderListItem("vendors",this.renderListSubVendor,this.renderVendorDetails),this.onRenderListItem("purposes",this.renderSubPurpose,this.renderPurposeDetails),this.onRenderListItem("categories",this.renderCategoryDetails)};onRenderListItem=(t,e,n)=>{$OT(`[id^="ot-consent-${t}-"] > .ot-group-consent-header`).on("click",s=>{const o=$OT(s.target).closest(".ot-group-consent"),i=o.find("> .ot-group-consent-header > .ot-heading-consent");if("false"===i.attr("aria-expanded")){const s=$OT(`[id^="ot-consent-${t}-"] > .ot-group-consent-header > .ot-heading-consent[aria-expanded="true"]`);s.length&&(s.attr("aria-expanded","false"),s.closest(".ot-group-consent").find(".ot-group-item-wrapper").remove()),i.attr("aria-expanded","true");const a=o.attr("data-id"),r="false"===o.attr("data-action");o.append(e(a,r));const c=o.find(".google-atp-policy");c&&c.on("click",function(){window.open(this.getAttribute("aria-link"),"_blank")});o.find('.ot-group-item:not([collapse="false"]) .ot-group-consent-header').on("click",t=>{const e=$OT(t.currentTarget).closest(".ot-group-consent");if("false"===e.attr("aria-expanded")){const t=o.find('.ot-group-item[aria-expanded="true"]');t&&(t.attr("aria-expanded","false"),t.find(".ot-item-content").remove()),e.attr("aria-expanded","true"),n&&e.append(n(a,e));const s=e.find("#ot-show-more-vendor");s&&s.on("click",t=>{const n=t.target.getAttribute("aria-link");fetch(n).then(t=>t.json()).then(t=>{s.remove(),e.find(".ot-item-content").append(this.renderMoreVendor(t))}).catch(t=>{open(n,"_blank"),console.error(t)})})}else e.attr("aria-expanded","false"),e.find(".ot-item-content").remove()});$OT(`[data-selector="${a}"]`).on("change",t=>{t.stopPropagation();const e=$OT(t.target),n=e.closest('.ot-group-consent[data-legint]:not([data-legint=""])').attr("data-legint"),s="true"===e.attr("data-checked");e.attr("data-checked",!s);const[o,i]=e.attr("id").split("-");s?(this.dataConsent[o]=this.dataConsent[o].filter(t=>t!==Number(i)),$OT(`#switch-ot-${a}`).attr("data-checked",!1)):(this.dataConsent[o].push(Number(i)),this.isConsentAll(a,n)&&$OT(`#switch-ot-${a}`).attr("data-checked",!0));const r=Number(i);this.syncConsentChildren(o,r,!s)})}else i.attr("aria-expanded","false"),o.find(".ot-group-item-wrapper").remove()})};renderVendorItem=(t,e)=>`\n    <div class="ot-group-item-wrapper">\n      ${t.map(t=>`<div \n              class="ot-group-consent ot-group-item"\n              data-id="${t.id}"\n              aria-expanded="false"\n            >\n              <div class="ot-group-consent-header">\n                <button class="ot-heading-consent flex" aria-expanded="false">\n                  ${this.arrowIcon}\n                  <span class="heading">${t.name}</span>\n                </button>\n                <div class="ot-group-action">\n                  ${e?.legInt&&this.listLegInt.vendorLegitimateInterests.has(t.id)?`\n                      <div class="ot-consent-action flex">
25\n                        <span>${this.content.legInterestTxt}</span>\n                        <div style="display: flex;align-items: center;gap: 10px;">\n                          <div class="omgCookie-switch">\n                            <input\n                              class="omgCookie-input-switch"\n                              type="checkbox"\n                              data-checked="${this.dataConsent[e.legInt].includes(t.id)}"\n                              id="${e.legInt}-${t.id}"\n                              data-selector="${e.id}"\n                            />\n                            <label class="omgCookie" for="${e.legInt}-${t.id}"></label>\n                          </div>\n                        </div>\n                      </div>\n                    `:""}\n                ${t.purposes.length?`\n                      <div class="ot-consent-action flex">\n                        <span>${this.content.consentSwitch}</span>\n                        <div style="display: flex;align-items: center;gap: 10px;">\n                          <div class="omgCookie-switch">\n                            <input\n                              class="omgCookie-input-switch"\n                              type="checkbox" \n                              data-checked="${this.dataConsent[e.id].includes(t.id)}"\n                              id="${e.id}-${t.id}" \n                              data-selector="${e.id}"\n                            />\n                            <label class="omgCookie" for="${e.id}-${t.id}"></label>\n                          </div>\n                        </div>\n                      </div>\n                    `:""}\n              </div>\n            </div>\n          </div>`).join("")}\n    </div>`;renderGoogleAtpItem=(t,e)=>`<div class="ot-group-item-wrapper">\n      ${t.map(t=>`<div\n          class="ot-group-consent ot-group-item"\n          collapse="false"\n        >\n          <div class="ot-group-consent-header">\n            <div class="ot-heading-consent flex">\n              <span>${t.name}</span>\n            </div>\n            <div class="ot-group-action">\n              <span class="google-atp-policy" aria-link="${t.policyUrl}"><em>${this.content.privacyText}</em></span>\n              <div class="ot-consent-action flex">\n                <span>${this.content.consentSwitch}</span>\n                <div style="display: flex;align-items: center;gap: 10px;">\n                  <div class="omgCookie-switch">\n                    <input\n                      class="omgCookie-input-switch"\n                      type="checkbox"\n                      data-checked="${this.dataConsent[e.id].includes(t.id)}"\n                      id="${e.id}-${t.id}"\n                      data-selector="${e.id}"\n                    />\n                    <label class="omgCookie" for="${e.id}-${t.id}"></label>\n                  </div>\n                </div>\n              </div>\n          </div>\n        </div>\n      </div>`).join("")}\n    </div>`;renderListSubVendor=t=>{const e=window.LIST_TAB[0].listGroup.find(e=>e.id===t);return e.renderItem(Object.values(window.gvl[t]),e)};renderVendorDetails=(t,e)=>{const n=Object.values(window.gvl[t]).find(t=>t.id===Number(e.attr("data-id")));return`\n      <div class="ot-item-content">\n        <p><span class="font-semibold">${this.content.policyTitle}:</span> <a href="${n.urls[0].privacy}" target="_blank">${n.urls[0].privacy}</a></p>\n        <p><span class="font-semibold">${this.content.legitimateTitle}:</span> <a href="${n.urls[0].legIntClaim}" target="_blank">${n.urls[0].legIntClaim}</a></p>\n        <div>\n          <p><span class="font-semibold">${this.content.retentionPeriodTitle}:</span> ${n.dataRetention.stdRetention} ${this.content.purposeTabLabel.daysTxt}</p>\n          ${Object.keys(n.dataRetention.purposes).length||Object.keys(n.dataRetention.specialPurposes).length?`<p><i>${this.content.purposeTabLabel.subTitleRetention}</i></p>`:""}\n        </div>\n  \n        ${n.purposes.length?`\n            <div>\n              <p class="font-semibold">${this.content.purposeTabLabel.purposes_consent}</p>\n              <ul class="my-md">\n                ${n.purposes.map(t=>{const e=this.content.dataPurpose.purposes.find(({id:e})=>e===t)?.name,s=t in n.dataRetention.purposes;return`<li>${e?e+(s?` (${this.content.purposeTabLabel.retentionTime?.replace("{time}",n.dataRetention.purposes[t])})`:""):""}</li>`}).join("")}\n              </ul>\n            </div>`:""}\n        ${n.legIntPurposes.length?`\n            <div>\n              <p class="font-semibold">${this.content.purposeTabLabel.purposes_legitimate}</p>\n              <ul class="my-md">\n                ${n.legIntPurposes.map(t=>`<li>${this.content.dataPurpose.purposes.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n              </ul>\n            </div>`:""}\n        ${n.specialPurposes.length?`\n            <div>\n              <p class="font-semibold">${this.content.purposeTabLabel.special_purposes}</p>\n              <ul class="my-md">\n                ${n.specialPurposes.map(t=>{const e=this.content.dataPurpose.specialPurposes.find(({id:e})=>e===t)?.name,s=t in n.dataRetention.specialPurposes;return`<li>${e?e+(s?` (${this.content.purposeTabLabel.retentionTime?.replace("{time}",n.dataRetention.specialPurposes[t])})`:""):""}</li>`}).join("")}\n              </ul>\n            </div>`:""}\n        ${n.features.length?`\n            <div>\n              <p class="font-semibold">${this.content.purposeTabLabel.features_title}</p>\n              ${this.content.standardTexts?.features?`<p class="ot-group-note">${this.content.standardTexts.features}</p>`:""}\n              <ul class="my-md">\n                ${n.features.map(t=>`<li>${this.content.dataPurpose.features.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n              </ul>\n            </div>`:""}\n        ${n.specialFeatures.length?`\n            <div>\n              <p class="font-semibold">${this.content.purposeTabLabel.special_features_label}</p>\n              <ul class="my-md">\n                ${n.specialFeatures.map(t=>`<li>${this.content.dataPurpose.specialFeatures.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n              </ul>\n            </div>\n          `:""}\n        ${n.dataDeclaration.length?`\n            <div>\n              <p class="font-semibold">${this.content.dataCategoriesTitle}</p>\n              <ul class="my-md">\n                ${n.dataDeclaration.map(t=>`<li>${this.content.dataCategories.find(e=>e.id===t)?.name??""}</li>`).join("")}\n              </ul>\n            </div>`:""}\n        <div>\n          <p class="font-semibold">${this.content.overviewTitle}</p>\n          <ul class="my-md">\n            ${n.usesCookies||n.usesNonCookieAccess?`<li>${this.content.purposeTabLabel.data_tracking_method}: ${n.usesCookies?n.usesNonCookieAccess?this.content.purposeTabLabel.useCookiesAndNonCookie:this.content.purposeTabLabel.useCookie:this.content.purposeTabLabel.useNonCookie}</li>`:""}\n            ${n.cookieRefresh?`<li>${this.content.purposeTabLabel.cookie_lifetime_refreshed}</li>`:""}\n            ${n.cookieMaxAgeSeconds?`\n              <li>${this.content.purposeTabLabel.max_duration_cookies}: ${Math.floor(n.cookieMaxAgeSeconds/60/60/24)} ${this.content.purposeTabLabel.daysTxt}\n              </li>`:""}\n          </ul>\n        </div>\n        <button role="link" id="ot-show-more-vendor" aria-link="${n.deviceStorageDisclosureUrl}">${this.content.showMore}</button>\n      </div>\n    `};
25renderSubPurpose=(t,e)=>{const n=window.LIST_TAB[1].listGroup.find(e=>e.id===t);return`\n    <div class="ot-group-item-wrapper">\n      ${window.gvl[t].map(s=>`<div \n            class="ot-group-consent ot-group-item" \n            data-id="${s.id}" \n            aria-expanded="false" \n          >\n            <div class="ot-group-consent-header">\n              <button class="ot-heading-consent flex">\n                ${this.arrowIcon}\n                <span class="heading">${s?.name}</span>\n              </button>\n              ${e?"":`\n                <div class="ot-group-action">\n                  ${n?.legInt&&this.listLegInt.purposeLegitimateInterests.has(s.id)?`\n                    <div class="ot-consent-action flex">\n                      <span>${this.content.legInterestTxt}</span>\n                      <div style="display: flex;align-items: center;gap: 10px;">\n                        <div class="omgCookie-switch">\n                          <input\n                            class="omgCookie-input-switch"\n                            type="checkbox"\n                            data-checked="${this.dataConsent[n.legInt].includes(s.id)}"\n                            id="${n.legInt}-${s.id}" \n                            data-selector="${t}"\n                          />\n                          <label class="omgCookie" for="${n.legInt}-${s.id}"></label>\n                        </div>\n                      </div>\n                    </div>\n                  `:""}\n                  <div class="ot-consent-action flex">\n                    <span>${this.content.consentSwitch}</span>\n                    <div style="display: flex;align-items: center;gap: 10px;">\n                      <div class="omgCookie-switch">\n                        <input \n                          class="omgCookie-input-switch" \n                          type="checkbox"\n                          data-checked="${this.dataConsent[t].includes(s.id)}"\n                          id="${t}-${s.id}" \n                          data-selector="${t}"\n                        />\n                        <label class="omgCookie" for="${t}-${s.id}"></label>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              `}\n            </div>\n          </div>`).join("")}\n    </div>`};renderPurposeDetails=(t,e)=>{const n=Number(e.attr("data-id")),s=this.content.dataPurpose?.[t]?.find(t=>t.id===n);return`\n      <div class="ot-item-content">\n        <p>${s.description}</p>\n        <div>\n        ${s.illustrations.length?`\n          <p class="font-semibold">${this.content.purposeTabLabel.illustrations}</p>\n          <ul class="my-md">\n            ${s.illustrations.map(t=>`<li>${t}</li>`).join("")}\n          </ul>\n        `:""}\n        </div>\n        ${this.listLegInt.purposeLegitimateInterests.has(n)&&window.LIST_TAB[1].listGroup.find(e=>e.id===t).legInt?`<p class="font-semibold">${this.content.purposeTabLabel.number_vendors_leg}: ${window.gvl.statistics[t]?.[n]??0}</p>`:`<p class="font-semibold">${this.content.purposeTabLabel.number_vendors}: ${window.gvl.statistics[t]?.[n]??0}</p>`}\n      </div>\n    `};renderCategoryDetails=t=>{const e=window.LIST_TAB.find(t=>"categories"===t.id).listGroup.find(e=>e.id===t)?.content;return`\n    <div class="ot-group-item-wrapper">\n      <div class="ot-group-consent ot-group-item">\n          <div class="ot-item-content ml-none">\n          <p>${e}</p>\n        </div>\n      </div>\n    </div>`};renderMoreVendor=t=>`\n      <div>\n        <p class="font-semibold">${this.content.disclosuresTitle}</p>\n        <ul class="my-md">\n          ${t.disclosures.map(t=>`\n            <li class="font-semibold">${t.identifier} (${t.type})</li>\n            <div>\n              <p>${this.content.maxAgeTitle}: <span class="font-italic">${t.maxAgeSeconds} ${this.content.purposeTabLabel.secondsTxt}</span></p>\n              <p>${this.content.refreshCookieTitle}: <span>${this.content.purposeTabLabel.yesTxt}</span></p>\n              <p>${this.content.domainTitle}: <span class="font-italic">${t.domain?t.domain:t.domains.join(", ")}</span>\n              </p>\n              ${window.gvl.purposes.filter(({id:e})=>t.purposes.includes(e)).map(t=>`\n                      <p>${t.name}</p>\n                    `).join("")}\n            </div>`).join("")}\n        </ul>\n      </div>\n      <div>\n        <p class="font-semibold">${this.content.domainTitle}</p>\n        <ul class="my-md">\n          ${t.domains.map(t=>`\n            <li>${t.domain} <span class="font-italic">(${t.use})</span></li>`).join("")}\n        </ul>\n      </div>\n    `;otToggleBanner=()=>({show:function(){$OT("#ot-cookies-banner").css("display","flex"),$OT(".cst-reopener-wrapper").fadeOut(100)},hide:(t=!1)=>
25{if($OT("#ot-cookies-banner").fadeOut(200),$OT("#ot-cookies-preference").fadeOut(200),$OT(".cst-reopener-wrapper").fadeIn(100),!t)return;const e=cstHelpers.getCookie(cstHelpers.cookieName),n=e?JSON.parse(e).consent:null,s=cstHelpers.getCookie(cstHelpers.consentTcf),o=e?JSON.parse(s):null,i=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),a=i?JSON.parse(i):null;let r={vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[],...window.cstCategories.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{})};n&&o&&(!this.config?.showGoogleAdditionalConsent||a)&&(r=this.filteredData(o,a,n)),this.setConsentTcData(r)}});otBaseActionCookies=()=>{$OT(".ot-cookies-close").on("click",()=>this.otToggleBanner().hide(!0)),$OT(".ot-show-preferences").on("click",this.showPreferencePopup),$OT("#show-list-vendors").on("click",()=>{$OT('.ot-cookies-tab button[data-id="vendors"]').trigger("click")}),$OT('button[data-intent="preference"]').on("click",this.showPreferencePopup),$OT('button[data-intent="save"]').on("click",()=>{this.setConsentTcData(this.dataConsent),this.saveConsent(SUBMIT_TYPE.ACCEPT_PARTIAL)}),$OT('button[data-intent="allow"]').on("click",()=>{this.setConsentTcData({vendors:window.listIdsPublished.vendors,vendorLegitimateInterests:Array.from(this.listLegInt.vendorLegitimateInterests),purposes:window.listIdsPublished.purposes,purposeLegitimateInterests:Array.from(this.listLegInt.purposeLegitimateInterests),specialFeatures:window.listIdsPublished.specialFeatures,googleATP:window.listIdsPublished.googleATP,...window.cstCategories.reduce((t,e)=>(t[e.nameConsent]=!0,t),{})}),this.saveConsent(SUBMIT_TYPE.ACCEPT_ALL)}),$OT('button[data-intent="deny"]').on("click",()=>{this.clearConsentTcData(),this.saveConsent(SUBMIT_TYPE.DECLINE)}),$OT(document).on("keydown.cstTcfPopup",t=>{const e=$OT("#ot-cookies-preference");if(e.is(":visible")){if("Escape"===t.key){this.otToggleBanner().hide(!0);const t=$OT(".cst-reopen-trigger")[0];return void(t&&t.focus())}if("Tab"===t.key){const n=e.find('button:not([disabled]), [href], input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])');if(!n.length)return;const s=n[0],o=n[n.length-1];t.shiftKey?document.activeElement===s&&(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),s.focus())}}})};setConsentTcData=t=>{this.tcModel.vendorConsents.empty(),this.tcModel.vendorLegitimateInterests.empty(),this.tcModel.purposeConsents.empty(),this.tcModel.purposeLegitimateInterests.empty(),this.tcModel.specialFeatureOptins.empty(),this.tcModel.vendorConsents.set(t.vendors),this.tcModel.vendorLegitimateInterests.set(t.vendorLegitimateInterests),this.tcModel.purposeConsents.set(t.purposes),this.tcModel.purposeLegitimateInterests.set(t.purposeLegitimateInterests),this.tcModel.specialFeatureOptins.set(t.specialFeatures),this.dataConsent=Object.assign(this.dataConsent,t)};saveConsent=t=>{this.otToggleBanner().hide(),this.updateGCMV2(),cstHelpers.setCookie(cstHelpers.consentTcf,JSON.stringify(this.encodeTCString(this.tcModel)));const e=window.cstCategories?.filter(({nameConsent:t})=>this.dataConsent[t]).map(({nameConsent:t})=>t);cstHelpers.setCookie(cstHelpers.cookieName,JSON.stringify({type:t,consent:t===SUBMIT_TYPE.DECLINE?[CONSENT_KEY.ESSENTIAL]:e})),this.config?.showGoogleAdditionalConsent&&cstHelpers.setCookie(cstHelpers.consentGoogleAtp,JSON.stringify(this.setGoogleAtpConsent(this.dataConsent.googleATP,window.gvl.googleATP))),this.updateWPConsentTCF(t)};clearConsentTcData=()=>{this.tcModel.vendorConsents.empty(),this.tcModel.vendorLegitimateInterests.empty(),this.tcModel.purposeConsents.empty(),this.tcModel.purposeLegitimateInterests.empty(),this.tcModel.specialFeatureOptins.empty(),this.dataConsent=Object.assign({vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[]},window.cstCategories?.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{}))};static TCF_CORE_URLS={current:{stub:"https://cdn.jsdelivr.net/npm/@iabtechlabtcf/[email protected]/+esm",core:"https://cdn.jsdelivr.net/npm/@iabtechlabtcf/[email protected]/+esm"},legacy:{stub:"https://cdn.jsdelivr.net/npm/@iabtcf/[email protected]/+esm",core:"https://cdn.jsdelivr.net/npm/@iabtcf/[email protected]/+esm"}};useLegacyTcfCore(){return!0===this.config?.useLegacyTcfCore}async loadModule(){async function t(t){try{if(!(await fetch(t,{method:"HEAD"})).ok)throw new Error(`🔴 Cannot access ${t}`);return await import(t)}catch(e){return console.error(`❌ Failed to import ${t}`,e),null}}const e=ConsentikTcf.TCF_CORE_URLS[this.useLegacyTcfCore()?"legacy":"current"],n=await t(e.stub);return n?.default?.(),await t(e.core)}initListTab=()=>{window.LIST_TAB=[{id:"vendors",listGroup:[{id:"vendors",legInt:"vendorLegitimateInterests",title:this.content.thirdVendorTitle,labelAction:this.content.consentToAll,renderItem:this.renderVendorItem},{id:"googleATP",title:this.content.purposeTabLabel.googleAtpLabel,labelAction:this.content.consentToAll,renderItem:this.renderGoogleAtpItem,divider:!0,shouldShow:({showGoogleAdditionalConsent:t=!0})=>t}]},{id:"purposes",listGroup:[{id:"purposes",legInt:"purposeLegitimateInterests",title:this.content.purposeTabLabel.purposes_label,labelAction:this.content.consentToAll},{id:"specialPurposes",title:this.content.purposeTabLabel.special_purposes_label,helperText:this.content.alwaysActive,isNoAction:!0,labelAction:this.content.consentToAll},{id:"features",title:this.content.purposeTabLabel.features_label,isNoAction:!0,labelAction:this.content.consentToAll,note:this.content.standardTexts?.features},{id:"specialFeatures",title:this.content.purposeTabLabel.special_features_label,labelAction:this.content.consentToAll}]},{id:"categories",listGroup:window.cstCategories.map(t=>({id:t.nameConsent,title:t.name,disableUncheck:t.nameConsent===CONSENT_KEY.ESSENTIAL,content:t.description}))}]};setGoogleAtpConsent(t,e){const n=e.filter(e=>!new Set(t).has(e.id)).map(t=>
25t.id).join(".");return`${this.acStringVersion}${t.length?"~"+t.join("."):""}${n?"~dv."+n:""}`}getGoogleAtpConsent(t){if(!t||"string"!=typeof t)return[];const e=t.split("~");return e.length<2||e[1].startsWith("dv")?[]:e[1].split(".").map(Number)}updateWPConsentTCF(t,e){const n=e||this.dataConsent,s=Array.isArray(n)?n.reduce((t,e)=>({...t,[e]:!0}),{}):n,o=e=>{const n=(Array.isArray(e)?e:[e]).some(t=>s[t]);return t===SUBMIT_TYPE.ACCEPT_ALL||n?"allow":"deny"};"function"==typeof wp_set_consent?(wp_set_consent("marketing",o("advertising")),wp_set_consent("statistics",o("analytics")),wp_set_consent("functional",o("functional")),wp_set_consent("preferences",o(["preferences","functional"])),console.log("Consentik: WP Consent API updated.")):console.log("Consentik: WP Consent API plugin is not active.")}updateGCMV2=()=>{const t=window.otkConsent,e=[1,7].every(t=>this.dataConsent.purposes?.includes(t)),n=[3,4].every(t=>this.dataConsent.purposes?.includes(t)),s=this.dataConsent?.analytics,o=this.dataConsent?.functional,i=this.dataConsent?.advertising,a=[CONSENT_KEY.ESSENTIAL];if(s&&a.push(CONSENT_KEY.ANALYTICS),(e||n||i)&&a.push(CONSENT_KEY.ADVERTISING),o&&a.push(CONSENT_KEY.FUNCTIONAL),cstHelpers.setCookie(cstHelpers.consentGcm,JSON.stringify(a)),"undefined"!=typeof gtag&&t){const a={ad_user_data:e?"granted":"denied",ad_personalization:n?"granted":"denied",ad_storage:this.dataConsent.purposes.includes(1)?"granted":"denied",analytics_storage:s?"granted":"denied",functionality_storage:o?"granted":"denied",personalization_storage:o?"granted":"denied",security_storage:o?"granted":"denied"},r=!i;t.useDefaultTemplate||(gtag("consent","update",a),r&&gtag("set","ads_data_redaction",window.cstGCM.ads_data_redaction)),window.cstDataConsent={security_storage:a.security_storage,ad_storage:a.ad_storage,ad_personalization:a.ad_personalization,ad_user_data:a.ad_user_data,analytics_storage:a.analytics_storage,functionality_storage:a.functionality_storage,personalization_storage:a.personalization_storage},window.gtmConsentCallback(window.cstDataConsent)}showGCMDebugMode()};syncAllConsent=(t,e,n)=>{switch(t){case"vendors":e?(this.dataConsent.purposes=window.listIdsPublished.purposes,this.dataConsent.purposeLegitimateInterests=Array.from(this.listLegInt.purposeLegitimateInterests),this.dataConsent.specialFeatures=window.listIdsPublished.specialFeatures):(this.dataConsent.purposes=[],this.dataConsent.purposeLegitimateInterests=[],this.dataConsent.specialFeatures=[]),$OT("#switch-ot-purposes").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="purposes"]').attr("data-checked",e),$OT("#switch-ot-specialFeatures").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="specialFeatures"]').attr("data-checked",e),this.syncAllPurposeToCategories(e);break;case"purposes":e?(this.dataConsent.vendors=window.listIdsPublished.vendors,this.dataConsent.vendorLegitimateInterests=Array.from(this.listLegInt.vendorLegitimateInterests)):(this.dataConsent.vendors=[],this.dataConsent.vendorLegitimateInterests=[]),$OT("#switch-ot-vendors").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="vendors"]').attr("data-checked",e),this.syncAllPurposeToCategories(e);break;case"analytics":this.syncCategoriesToPurposes("analytics",e);break;case"advertising":this.syncCategoriesToPurposes("advertising",e)}};syncAllPurposeToCategories=t=>{window.listIdsPublished.analyticsPurposes.length&&(this.dataConsent.analytics=t,$OT("#switch-ot-analytics").attr("data-checked",t)),window.listIdsPublished.advertisingPurposes.length&&(this.dataConsent.advertising=t,$OT("#switch-ot-advertising").attr("data-checked",t))};syncPurposeToVendors=(t,e=[])=>{const n=new Set(this.dataConsent.vendors),s=new Set(this.dataConsent.purposes);for(const o of window.gvl.vendors){const i=new Set(o.purposes),a=e.some(t=>i.has(t)),r=n.has(o.id);if(a)if(t){if(r)continue;(i.isSubsetOf?i.isSubsetOf(s):o.purposes.every(t=>s.has(t)))&&(this.dataConsent.vendors.push(o.id),$OT(`#vendors-${o.id}`).attr("data-checked",!0))}else{if(!r)continue;this.dataConsent.vendors=this.dataConsent.vendors.filter(t=>t!==o.id),$OT(`#vendors-${o.id}`).attr("data-checked",!1)}}this.isConsentAll("vendors","vendorLegitimateInterests")?$OT("#switch-ot-vendors").attr("data-checked",!0):$OT("#switch-ot-vendors").attr("data-checked",!1)};syncConsentChildren=(t,e,n)=>{switch(t){case"vendors":{const t=window.gvl.vendors.find(t=>
25t.id===e);if(!t)break;const s=new Set(t.purposes),o=new Set(t.specialFeatures);if(n)s.forEach(t=>{this.dataConsent.purposes.includes(t)||(this.dataConsent.purposes.push(t),$OT(`#purposes-${t}`).attr("data-checked",!0))}),o.forEach(t=>{this.dataConsent.specialFeatures.includes(t)||(this.dataConsent.specialFeatures.push(t),$OT(`#specialFeatures-${t}`).attr("data-checked",!0))});else{const t=new Set,e=new Set,n=new Set(this.dataConsent.vendors);for(const s of window.gvl.vendors)n.has(s.id)&&(s.purposes.forEach(e=>t.add(e)),s.specialFeatures.forEach(t=>e.add(t)));s.forEach(e=>{t.has(e)||(this.dataConsent.purposes=this.dataConsent.purposes.filter(t=>t!==e),$OT(`#purposes-${e}`).attr("data-checked",!1))}),o.forEach(t=>{e.has(t)||(this.dataConsent.specialFeatures=this.dataConsent.specialFeatures.filter(e=>e!==t),$OT(`#specialFeatures-${t}`).attr("data-checked",!1))})}this.isConsentAll("purposes","purposeLegitimateInterests")?$OT("#switch-ot-purposes").attr("data-checked",!0):$OT("#switch-ot-purposes").attr("data-checked",!1),this.isConsentAll("specialFeatures")?$OT("#switch-ot-specialFeatures").attr("data-checked",!0):$OT("#switch-ot-specialFeatures").attr("data-checked",!1);const i=new Set(this.dataConsent.purposes),a=new Set(window.listIdsPublished.analyticsPurposes),r=new Set(window.listIdsPublished.advertisingPurposes);if(Array.from(s).some(t=>a.has(t))){const t=a.isSubsetOf?a.isSubsetOf(i):window.listIdsPublished.analyticsPurposes.every(t=>i.has(t));this.dataConsent.analytics=t,$OT("#switch-ot-analytics").attr("data-checked",t)}if(Array.from(s).some(t=>r.has(t))){const t=r.isSubsetOf?r.isSubsetOf(i):window.listIdsPublished.advertisingPurposes.every(t=>i.has(t));this.dataConsent.advertising=t,$OT("#switch-ot-advertising").attr("data-checked",t)}break}case"vendorLegitimateInterests":{const t=window.gvl.vendors.find(t=>t.id===e);if(!t)break;const s=new Set(t.legIntPurposes);if(n)s.forEach(t=>{this.dataConsent.purposeLegitimateInterests.includes(t)||(this.dataConsent.purposeLegitimateInterests.push(t),$OT(`#purposeLegitimateInterests-${t}`).attr("data-checked",!0))}),this.isConsentAll("purposes","purposeLegitimateInterests")&&$OT("#switch-ot-purposes").attr("data-checked",!0);else{const t=new Set,e=new Set(this.dataConsent.vendorLegitimateInterests);for(const n of window.gvl.vendors)e.has(n.id)&&n.legIntPurposes.forEach(e=>t.add(e));s.forEach(e=>{t.has(e)||(this.dataConsent.purposeLegitimateInterests=this.dataConsent.purposeLegitimateInterests.filter(t=>t!==e),$OT(`#purposeLegitimateInterests-${e}`).attr("data-checked",!1))}),$OT("#switch-ot-purposes").attr("data-checked",!1)}break}case"purposes":{const t=new Set(this.dataConsent.purposes);if(window.listIdsPublished.analyticsPurposes.includes(e)){const e=new Set(window.listIdsPublished.analyticsPurposes),n=e.isSubsetOf?e.isSubsetOf(t):window.listIdsPublished.analyticsPurposes.every(e=>t.has(e));this.dataConsent.analytics=n,$OT("#switch-ot-analytics").attr("data-checked",n)}if(window.listIdsPublished.advertisingPurposes.includes(e)){const e=new Set(window.listIdsPublished.advertisingPurposes),n=e.isSubsetOf?e.isSubsetOf(t):window.listIdsPublished.advertisingPurposes.every(e=>t.has(e));this.dataConsent.advertising=n,$OT("#switch-ot-advertising").attr("data-checked",n)}this.syncPurposeToVendors(n,e?[e]:[]);break}case"purposeLegitimateInterests":{const t=new Set(this.dataConsent.vendorLegitimateInterests),s=new Set(this.dataConsent.purposeLegitimateInterests);for(const o of window.gvl.vendors){const i=new Set(o.legIntPurposes);if(!i.has(e))continue;const a=t.has(o.id);if(n){if(a)continue;(i.isSubsetOf?i.isSubsetOf(s):o.legIntPurposes.every(t=>s.has(t)))&&(this.dataConsent.vendorLegitimateInterests.push(o.id),$OT(`#vendorLegitimateInterests-${o.id}`).attr("data-checked",!0))}else{if(!a)continue;this.dataConsent.vendorLegitimateInterests=this.dataConsent.vendorLegitimateInterests.filter(t=>t!==o.id),$OT(`#vendorLegitimateInterests-${o.id}`).attr("data-checked",!1)}}this.isConsentAll("vendors","vendorLegitimateInterests")?$OT("#switch-ot-vendors").attr("data-checked",!0):$OT("#switch-ot-vendors").attr("data-checked",!1);break}}};syncCategoriesToPurposes=(t,e)=>{const n="analytics"===t?window.listIdsPublished.analyticsPurposes:"advertising"===t?window.listIdsPublished.advertisingPurposes:[];if(e){let t=!1;for(const e of n)this.dataConsent.purposes.includes(e)||(this.dataConsent.purposes.push(e),$OT(`#purposes-${e}`).attr("data-checked",!0),t=!0);t&&this.isConsentAll("purposes","purposeLegitimateInterests")&&$OT("#switch-ot-purposes").attr("data-checked",!0)}else{const t=new Set(n);this.dataConsent.purposes=this.dataConsent.purposes.filter(e=>!t.has(e));for(const t of n)$OT(`#purposes-${t}`).attr("data-checked",!1);$OT("#switch-ot-purposes").attr("data-checked",!1)}
25this.syncPurposeToVendors(e,n)};isConsentAll=(t,e)=>this.dataConsent[t].length===window.listIdsPublished[t].length&&(!e||this.dataConsent[e].length===this.listLegInt[e].size)};(function () {
26  'use strict';
27
28  var urlParams = new URLSearchParams(window.location.search);
29  if (!urlParams.has('gcm-debugger')) return;
30
31  // ── Build marker ──────────────────────────────────────────────────────────
32  // Bump BUILD_VERSION on every change to this script. When you open the realtime
33  // debugger, this line appears in the opened storefront window's console — if you
34  // see this version, the deployed gcm-debugger.js is up to date.
35  var BUILD_VERSION = '2026-06-29.1 (hasTCFValid)';
36  console.log('%c[Consentik GCM Debugger] build ' + BUILD_VERSION, 'color:#008060;font-weight:bold');
37
38  // ── Constants ─────────────────────────────────────────────────────────────
39  var CONSENT_TYPES = [
40    'ad_storage',
41    'analytics_storage',
42    'ad_user_data',
43    'ad_personalization',
44    'functionality_storage',
45    'personalization_storage',
46    'security_storage'
47  ];
48
49  var ICON_OK = '<svg class="cst-icon cst-ok-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10.5l4 4 8-8"/></svg>';
50  var ICON_ERR = '<svg class="cst-icon cst-err-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 5l10 10M15 5L5 15"/></svg>';
51  var ICON_WARN = '<svg class="cst-icon cst-warn-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 3L2 17h16L10 3z"/><line x1="10" y1="11" x2="10" y2="13"/><circle cx="10" cy="15.5" r=".5" fill="currentColor"/></svg>';
52  var ICON_DRAG = '<svg class="cst-icon cst-drag-icon" viewBox="0 0 20 20" fill="currentColor"><circle cx="7" cy="5" r="1.3"/><circle cx="13" cy="5" r="1.3"/><circle cx="7" cy="10" r="1.3"/><circle cx="13" cy="10" r="1.3"/><circle cx="7" cy="15" r="1.3"/><circle cx="13" cy="15" r="1.3"/></svg>';
53  var ICON_CHEVRON = '<svg class="cst-chevron" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M5 8l5 5 5-5"/></svg>';
54
55  // ── State ─────────────────────────────────────────────────────────────────
56  var activeTab = 'overview';
57  var isCollapsed = false;
58  var eventLog = [];
59  var activeFilter = 'all';
60
61  // ── DataLayer helpers ─────────────────────────────────────────────────────
62  function getDL() { return window.dataLayer || []; }
63
64  function findDefaults(dl) {
65    return dl.filter(function(d) { return d && d[0] === 'consent' && d[1] === 'default'; });
66  }
67
68  function findLastUpdate(dl) {
69    var updates = dl.filter(function(d) { return d && d[0] === 'consent' && d[1] === 'update'; });
70    return updates.length ? updates[updates.length - 1] : null;
71  }
72
73  function computeChecks(dl) {
74    var defaults = findDefaults(dl);
75    var defEntry = defaults[0];
76    var updateEntry = findLastUpdate(dl);
77
78    var defFired = defaults.length > 0;
79    var defValid = defFired && defEntry[2] &&
80      (defEntry[2].ad_storage !== undefined || defEntry[2].analytics_storage !== undefined);
81    var hasWaitUpdate = defFired && defEntry[2] && defEntry[2].wait_for_update !== undefined;
82
83    var defIdx = -1, gtIdx = -1;
84    for (var i = 0; i < dl.length; i++) {
85      if (dl[i] && dl[i][0] === 'consent' && dl[i][1] === 'default' && defIdx === -1) defIdx = i;
86      if (dl[i] && (dl[i][0] === 'js' || dl[i][0] === 'config') && gtIdx === -1) gtIdx = i;
87    }
88    var cmpFirst = defIdx !== -1 && (gtIdx === -1 || defIdx < gtIdx);
89
90    // updateFired: either via dataLayer OR banner set cstDataConsent after user action
91    var updateFired = !!updateEntry || !!window.cstDataConsent;
92
93    return {
94      hasEmbedded: !!window.cstInstanceId,
95      hasGCM: defFired || typeof window.gtag === 'function',
96      defFired: defFired,
97      defValid: defValid,
98      hasWaitUpdate: hasWaitUpdate,
99      cmpFirst: cmpFirst,
100      updateFired: updateFired
101    };
102  }
103
104  function getConsentVal(type, defaults, updateEntry) {
105    var defEntry = defaults[0];
106    var defVal = defEntry && defEntry[2] ? defEntry[2][type] : undefined;
107
108    // Priority 1: window.cstDataConsent — set by banner after every user action
109    if (window.cstDataConsent && window.cstDataConsent[type] !== undefined) {
110      return { def: defVal, current: window.cstDataConsent[type] };
111    }
112    // Priority 2: last dataLayer consent update
113    var updVal = updateEntry && updateEntry[2] ? updateEntry[2][type] : undefined;
114    return { def: defVal, current: updVal !== undefined ? updVal : defVal };
115  }
116
117  // ── Render helpers ────────────────────────────────────────────────────────
118  function badge(value) {
119    if (value === 'granted') return '<span class="cst-badge cst-granted">granted</span>';
120    if (value === 'denied')  return '<span class="cst-badge cst-denied">denied</span>';
121    return '<span class="cst-badge cst-na">—</span>';
122  }
123
124  function checkRow(icon, label, detail, cssClass) {
125    var pill = cssClass === 'ok' ? 'PASS' : cssClass === 'fail' ? 'FAIL' : 'WARN';
126    return '<div class="cst-check ' + cssClass + '">' +
127      '<span class="cst-check-icon">' + icon + '</span>' +
128      '<span class="cst-check-body">' +
129        '<span class="cst-check-label">' + label + '</span>' +
130        (detail ? '<span class="cst-check-detail">' + detail + '</span>' : '') +
131      '</span>' +
132      '<span class="cst-check-status">' + pill + '</span>' +
133    '</div>';
134  }
135
136  function renderOverview() {
137    var dl = getDL();
138    var defaults = findDefaults(dl);
139    var updateEntry = findLastUpdate(dl);
140    var checks = computeChecks(dl);
141    var defEntry = defaults[0];
142
143    // Compliance checks
144    var rows = [
145      checkRow(
146        checks.hasEmbedded ? ICON_OK : ICON_ERR,
147        'Consentik CMP script added',
148        checks.hasEmbedded ? '' : 'Script not detected on this page',
149        checks.hasEmbedded ? 'ok' : 'fail'
150      ),
151      checkRow(
152        checks.hasGCM ? ICON_OK : ICON_ERR,
153        'Google Consent Mode initialized',
154        checks.hasGCM ? '' : 'No gtag("consent", "default", ...) found in dataLayer',
155        checks.hasGCM ? 'ok' : 'fail'
156      ),
157      checkRow(
158        !checks.defFired ? ICON_ERR : checks.cmpFirst ? ICON_OK : ICON_WARN,
159        'Consent default fired before Google tags',
160        !checks.defFired
161          ? 'No consent default found in dataLayer'
162          : !checks.cmpFirst
163            ? 'Consent default fired AFTER Google tags — late consent!'
164            : '',
165        !checks.defFired ? 'fail' : checks.cmpFirst ? 'ok' : 'warn'
166      ),
167      checkRow(
168        checks.defValid ? ICON_OK : ICON_ERR,
169        'Default command is valid',
170        !checks.defValid ? 'At least ad_storage or analytics_storage must be set' : '',
171        checks.defValid ? 'ok' : 'fail'
172      ),
173      checkRow(
174        checks.hasWaitUpdate ? ICON_OK : ICON_WARN,
175        'wait_for_update is set',
176        !checks.hasWaitUpdate
177          ? 'Recommended: add wait_for_update to hold Google tags'
178          : 'wait_for_update: ' + (defEntry && defEntry[2] ? defEntry[2].wait_for_update : '?') + ' ms',
179        checks.hasWaitUpdate ? 'ok' : 'warn'
180      ),
181      checkRow(
182        checks.updateFired ? ICON_OK : ICON_WARN,
183        'Consent update fired after user decision',
184        !checks.updateFired ? 'Waiting for user interaction…' : '',
185        checks.updateFired ? 'ok' : 'warn'
186      )
187    ];
188
189    // Consent table
190    var tableRows = CONSENT_TYPES.map(function(type) {
191      var v = getConsentVal(type, defaults, updateEntry);
192      var changed = v.def !== v.current;
193      return '<tr' + (changed ? ' class="cst-changed-row"' : '') + '>' +
194        '<td class="cst-type">' + type + '</td>' +
195        '<td>' + badge(v.def) + '</td>' +
196        '<td>' + badge(v.current) + '</td>' +
197      '</tr>';
198    }).join('');
199
200    // Region info
201    var regionRows = '';
202    defaults.forEach(function(d) {
203      if (d[2] && d[2].region && d[2].region.length) {
204        regionRows += '<div class="cst-meta-row">' +
205          '<span class="cst-meta-key">region</span>' +
206          '<span class="cst-meta-val">' + d[2].region.join(', ') + '</span>' +
207        '</div>';
208      }
209    });
210
211    var waitMs = defEntry && defEntry[2] && defEntry[2].wait_for_update;
212    var waitRow = '<div class="cst-meta-row' + (waitMs ? '' : ' cst-meta-missing') + '">' +
213      '<span class="cst-meta-key">wait_for_update</span>' +
214      '<span class="cst-meta-val">' + (waitMs ? waitMs + ' ms' : 'not set') + '</span>' +
215    '</div>';
216
217    return '<div class="cst-section">' +
218        '<div class="cst-section-title">Compliance Checks</div>' +
219        '<div class="cst-checks" id="cst-checks">' + rows.join('') + '</div>' +
220      '</div>' +
221      '<div class="cst-section">' +
222        '<div class="cst-section-title">Consent State</div>' +
223        '<div class="cst-table-wrap">' +
224          '<table class="cst-table">' +
225            '<colgroup><col style="width:54%"><col style="width:23%"><col style="width:23%"></colgroup>' +
226            '<thead><tr><th>Consent Type</th><th>Default</th><th>Current</th></tr></thead>' +
227            '<tbody id="cst-consent-tbody">' + tableRows + '</tbody>' +
228          '</table>' +
229        '</div>' +
230      '</div>' +
231      '<div class="cst-section cst-meta-section">' +
232        waitRow +
233        regionRows +
234      '</div>';
235  }
236
237  function renderEvents() {
238    var lines = eventLog.map(function(e) {
239      return renderEventLine(e.entry, e.time);
240    }).join('');
241    return '<div class="cst-event-log" id="cst-event-log">' +
242      (lines || '<div class="cst-empty">Waiting for events…</div>') +
243    '</div>';
244  }
245
246  function renderEventLine(entry, time) {
247    var type = entry ? (entry[0] || '') : '';
248    var sub  = entry && entry[1] ? ' <strong>' + entry[1] + '</strong>' : '';
249    var highlight = (type === 'consent') ? ' cst-log-consent' : '';
250    return '<div class="cst-log-line' + highlight + '" data-entry-type="' + type + '">' +
251      '<span class="cst-log-time">' + time + '</span>' +
252      '<span class="cst-log-type">' + type + sub + '</span>' +
253    '</div>';
254  }
255
256  // ── Build DOM ─────────────────────────────────────────────────────────────
257  function buildPanel() {
258    var w = document.createElement('div');
259    w.id = 'cst-gcm-debugger-wrapper';
260    w.innerHTML =
261      '<div class="cst-dbg-header" id="cst-dbg-handle">' +
262        '<div class="cst-dbg-header-left">' +
263          '<span class="cst-dbg-logo">G</span>' +
264          '<span class="cst-dbg-title">GCM Debugger</span>' +
265          '<span class="cst-dbg-badge">LIVE</span>' +
266        '</div>' +
267        '<button class="cst-icon-btn" id="cst-btn-collapse" title="Collapse">' + ICON_CHEVRON + '<span class="cst-ping" id="cst-ping"></span></button>' +
268      '</div>' +
269      '<div id="cst-collapse-body">' +
270        '<div class="cst-dbg-tabs">' +
271          '<button class="cst-tab active" data-tab="overview">Overview</button>' +
272          '<button class="cst-tab" data-tab="events">Events <span class="cst-tab-badge" id="cst-events-count">0</span></button>' +
273        '</div>' +
274        '<div class="cst-dbg-body">' +
275          '<div class="cst-pane active" id="cst-pane-overview">' + renderOverview() + '</div>' +
276          '<div class="cst-pane" id="cst-pane-events">' +
277            '<div class="cst-filter-bar">' +
278              '<button class="cst-chip active" data-filter="all">All</button>' +
279              '<button class="cst-chip" data-filter="consent">Consent</button>' +
280              '<button class="cst-chip" data-filter="tags">Tags</button>' +
281            '</div>' +
282            renderEvents() +
283          '</div>' +
284        '</div>' +
285      '</div>';
286    return w;
287  }
288
289  // ── Event wiring ──────────────────────────────────────────────────────────
290  function setupTabs(w) {
291    w.querySelectorAll('.cst-tab').forEach(function(btn) {
292      btn.addEventListener('click', function() {
293        activeTab = this.getAttribute('data-tab');
294        w.querySelectorAll('.cst-tab').forEach(function(t) {
295          t.classList.toggle('active', t.getAttribute('data-tab') === activeTab);
296        });
297        w.querySelectorAll('.cst-pane').forEach(function(p) {
298          p.classList.toggle('active', p.id === 'cst-pane-' + activeTab);
299        });
300      });
301    });
302  }
303
304  function setupCollapse(w) {
305    var btn = w.querySelector('#cst-btn-collapse');
306    var body = w.querySelector('#cst-collapse-body');
307    if (!btn || !body) return;
308    btn.addEventListener('click', function() {
309      isCollapsed = !isCollapsed;
310      body.style.display = isCollapsed ? 'none' : '';
311      w.classList.toggle('cst-gcm-collapsed', isCollapsed);
312    });
313  }
314
315  function setupDrag(w) {
316    var handle = w.querySelector('#cst-dbg-handle');
317    if (!handle) return;
318    var sx = 0, sy = 0, sl = 0, st = 0;
319
320    handle.addEventListener('mousedown', function(e) {
321      if (e.target.closest && e.target.closest('button')) return;
322      e.preventDefault();
323      sx = e.clientX; sy = e.clientY;
324      var rect = w.getBoundingClientRect();
325      sl = rect.left; st = rect.top;
326
327      function onMove(e) {
328        var nl = Math.max(0, Math.min(sl + e.clientX - sx, window.innerWidth  - w.offsetWidth));
329        var nt = Math.max(0, Math.min(st + e.clientY - sy, window.innerHeight - w.offsetHeight));
330        w.style.left = nl + 'px';
331        w.style.top  = nt + 'px';
332        w.style.right  = 'auto';
333        w.style.bottom = 'auto';
334      }
335      function onUp() {
336        document.removeEventListener('mousemove', onMove);
337        document.removeEventListener('mouseup', onUp);
338      }
339      document.addEventListener('mousemove', onMove);
340      document.addEventListener('mouseup', onUp);
341    });
342  }
343
344  function setupFilterChips(w) {
345    w.querySelectorAll('.cst-chip[data-filter]').forEach(function(chip) {
346      chip.addEventListener('click', function() {
347        activeFilter = this.getAttribute('data-filter');
348        w.querySelectorAll('.cst-chip[data-filter]').forEach(function(c) {
349          c.classList.toggle('active', c.getAttribute('data-filter') === activeFilter);
350        });
351        var log = w.querySelector('#cst-event-log');
352        if (!log) return;
353        log.querySelectorAll('.cst-log-line[data-entry-type]').forEach(function(row) {
354          row.style.display = matchesFilter(row.getAttribute('data-entry-type'), activeFilter) ? '' : 'none';
355        });
356      });
357    });
358  }
359
360  // ── Live updates ──────────────────────────────────────────────────────────
361  function refreshOverview(w) {
362    var pane = w.querySelector('#cst-pane-overview');
363    if (pane) pane.innerHTML = renderOverview();
364  }
365
366  function matchesFilter(type, filter) {
367    if (filter === 'all') return true;
368    if (filter === 'consent') return type === 'consent';
369    if (filter === 'tags') return type !== 'consent' && type !== 'js';
370    return true;
371  }
372
373  function triggerPing(w) {
374    var ping = w.querySelector('#cst-ping');
375    if (!ping) return;
376    ping.classList.remove('active');
377    void ping.offsetWidth; // force reflow to restart animation
378    ping.classList.add('active');
379    setTimeout(function() { ping.classList.remove('active'); }, 1300);
380  }
381
382  function appendToEventLog(w, entry) {
383    var log = w.querySelector('#cst-event-log');
384    if (!log) return;
385    var empty = log.querySelector('.cst-empty');
386    if (empty) empty.remove();
387
388    var type = entry ? (entry[0] || '') : '';
389    var sub  = entry && entry[1] ? ' <strong>' + entry[1] + '</strong>' : '';
390    var highlight = (type === 'consent') ? ' cst-log-consent' : '';
391
392    var line = document.createElement('div');
393    line.className = 'cst-log-line cst-event-fresh' + highlight;
394    line.setAttribute('data-entry-type', type);
395    if (!matchesFilter(type, activeFilter)) line.style.display = 'none';
396    line.innerHTML =
397      '<span class="cst-log-time">' + new Date().toLocaleTimeString() + '</span>' +
398      '<span class="cst-log-type">' + type + sub + '</span>';
399    log.appendChild(line);
400    log.scrollTop = log.scrollHeight;
401
402    // Update count badge
403    var countBadge = w.querySelector('#cst-events-count');
404    if (countBadge) countBadge.textContent = eventLog.length;
405
406    // Ping chevron when panel is collapsed and a consent event fires
407    if (isCollapsed && type === 'consent') triggerPing(w);
408  }
409
410  function setupDataLayerInterceptor(w) {
411    if (!window.dataLayer) return;
412    var orig = window.dataLayer.push.bind(window.dataLayer);
413    window.dataLayer.push = function() {
414      var result = orig.apply(window.dataLayer, arguments);
415      for (var i = 0; i < arguments.length; i++) {
416        var entry = arguments[i];
417        var time = new Date().toLocaleTimeString();
418        eventLog.push({ entry: entry, time: time });
419        appendToEventLog(w, entry);
420        if (entry && entry[0] === 'consent') {
421          refreshOverview(w);
422          postToOpener(computeChecks(window.dataLayer));
423        }
424      }
425      return result;
426    };
427  }
428
429  // Watch window.cstDataConsent — the banner always sets this after a user consent action,
430  // even when gtag('consent','update') is not called (e.g. useDefaultTemplate sites).
431  function watchConsentSignal(w) {
432    var _stored = window.cstDataConsent;
433    try {
434      Object.defineProperty(window, 'cstDataConsent', {
435        configurable: true,
436        enumerable: true,
437        get: function() { return _stored; },
438        set: function(val) {
439          _stored = val;
440          var time = new Date().toLocaleTimeString();
441          // Synthesize a consent update entry for the event log
442          var syntheticEntry = ['consent', 'update', val];
443          eventLog.push({ entry: syntheticEntry, time: time });
444          appendToEventLog(w, syntheticEntry);
445          refreshOverview(w);
446          postToOpener(computeChecks(window.dataLayer));
447        }
448      });
449    } catch (e) { /* already defined non-configurable — skip */ }
450  }
451
452  // ── Inject CSS inline (placeholder replaced by merge.js / minify.js) ─────
453  function injectStyles() {
454    if (document.getElementById('cst-gcm-debugger-styles')) return;
455    var style = document.createElement('style');
456    style.id = 'cst-gcm-debugger-styles';
457    style.textContent = `/* ═══════════════════════════════════════════════════════
458   Consentik · GCM Debugger Panel
459   Design: Consentik brand — ink #053b3b · lime #E7FD99
460   ═══════════════════════════════════════════════════════ */
461
462@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=Lexend:wght@400;500;600;700&display=swap');
463
464/* ── Tokens ───────────────────────────────────────────── */
465#cst-gcm-debugger-wrapper {
466  --ink:          #053b3b;
467  --ink-75:       rgba(5,59,59,.75);
468  --ink-40:       rgba(5,59,59,.40);
469  --ink-12:       rgba(5,59,59,.12);
470  --ink-06:       rgba(5,59,59,.06);
471  --lime:         #E7FD99;
472  --lime-soft:    rgba(231,253,153,.28);
473  --lime-bar:     #b8e832;
474  --green:        #0fa84a;
475  --green-soft:   #cfeed7;
476  --green-bg:     #edfbf2;
477  --warn:         #c98a1a;
478  --warn-bg:      #fcf3d6;
479  --danger:       #d94545;
480  --danger-soft:  #fde2e2;
481  --muted:        #4a6a64;
482  --line:         #e9f1ec;
483  --bg-soft:      #f4f9f6;
484  --bg-page:      #faf9f5;
485  --sans:         'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
486  --mono:         'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
487  --ease-out:     cubic-bezier(.16,.84,.32,1);
488
489  /* ── Base ── */
490  position: fixed;
491  right: 20px;
492  bottom: 20px;
493  width: 448px;
494  max-width: calc(100vw - 32px);
495  z-index: 2147483647;
496  background: #ffffff;
497  border: 1px solid var(--ink-12);
498  border-radius: 14px;
499  box-shadow:
500    0 0 0 1px rgba(10,18,48,.04),
501    0 4px 16px rgba(10,18,48,.08),
502    0 20px 48px rgba(10,18,48,.12);
503  font-family: var(--sans);
504  font-size: 13px;
505  color: var(--ink);
506  overflow: hidden;
507  line-height: 1.5;
508}
509
510:where(#cst-gcm-debugger-wrapper) *,
511:where(#cst-gcm-debugger-wrapper) *::before,
512:where(#cst-gcm-debugger-wrapper) *::after {
513  box-sizing: border-box;
514  margin: 0;
515  padding: 0;
516  font-size: inherit;
517  font-family: inherit;
518  line-height: inherit;
519}
520:where(#cst-gcm-debugger-wrapper) button {
521  cursor: pointer;
522  color: inherit;
523  font: inherit;
524  border: none;
525  background: transparent;
526  -webkit-appearance: none;
527  appearance: none;
528}
529
530/* ── Header ───────────────────────────────────────────── */
531.cst-dbg-header {
532  display: flex;
533  align-items: center;
534  justify-content: space-between;
535  padding: 10px 12px 10px 14px;
536  background: var(--ink);
537  cursor: grab;
538  user-select: none;
539  gap: 10px;
540}
541.cst-dbg-header:active { cursor: grabbing; }
542
543.cst-dbg-header-left {
544  display: flex;
545  align-items: center;
546  gap: 9px;
547}
548
549/* Logo: ink square with lime G */
550.cst-dbg-logo {
551  width: 24px;
552  height: 24px;
553  border-radius: 6px;
554  background: rgba(231,253,153,.15);
555  border: 1.5px solid rgba(231,253,153,.35);
556  display: flex;
557  align-items: center;
558  justify-content: center;
559  flex-shrink: 0;
560  font-size: 12px;
561  font-weight: 800;
562  color: var(--lime);
563  letter-spacing: -0.5px;
564}
565
566.cst-dbg-title {
567  font-size: 13px;
568  font-weight: 600;
569  color: rgba(255,255,255,.92);
570  white-space: nowrap;
571}
572
573/* LIVE badge */
574.cst-dbg-badge {
575  display: inline-flex;
576  align-items: center;
577  gap: 5px;
578  font-size: 10px;
579  font-weight: 600;
580  letter-spacing: .06em;
581  color: var(--green);
582  background: var(--green-bg);
583  padding: 3px 8px 3px 6px;
584  border-radius: 20px;
585  white-space: nowrap;
586}
587.cst-dbg-badge::before {
588  content: '';
589  width: 6px;
590  height: 6px;
591  border-radius: 50%;
592  background: var(--green);
593  display: block;
594  flex-shrink: 0;
595  animation: cst-gcm-pulse 1.6s ease-in-out infinite;
596}
597
598@keyframes cst-gcm-pulse {
599  0%, 100% { box-shadow: 0 0 0 0 rgba(15,168,74,.45); }
600  50%       { box-shadow: 0 0 0 4px rgba(15,168,74,0); }
601}
602
603/* Collapse button */
604.cst-icon-btn {
605  position: relative;
606  display: flex;
607  align-items: center;
608  justify-content: center;
609  width: 28px;
610  height: 28px;
611  border-radius: 6px;
612  color: rgba(255,255,255,.55);
613  transition: background 150ms ease, color 150ms ease;
614  flex-shrink: 0;
615}
616.cst-icon-btn:hover { background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); }
617
618/* Collapsed-state ping dot */
619.cst-ping {
620  position: absolute;
621  top: 3px;
622  right: 3px;
623  width: 7px;
624  height: 7px;
625  border-radius: 50%;
626  background: var(--lime);
627  display: none;
628  animation: cst-gcm-flash 1.2s var(--ease-out) forwards;
629}
630.cst-ping.active { display: block; }
631
632@keyframes cst-gcm-flash {
633  0%   { transform: scale(.4); opacity: 1; }
634  100% { transform: scale(2.2); opacity: 0; }
635}
636
637/* ── Icons ────────────────────────────────────────────── */
638.cst-icon {
639  width: 14px;
640  height: 14px;
641  display: block;
642  flex-shrink: 0;
643}
644.cst-ok-icon   { color: var(--green); }
645.cst-err-icon  { color: var(--danger); }
646.cst-warn-icon { color: var(--warn); }
647.cst-chevron {
648  width: 14px;
649  height: 14px;
650  display: block;
651  transition: transform 250ms var(--ease-out);
652}
653.cst-gcm-collapsed .cst-chevron { transform: rotate(180deg); }
654
655/* ── Tabs ─────────────────────────────────────────────── */
656.cst-dbg-tabs {
657  display: flex;
658  background: var(--bg-soft);
659  border-bottom: 1px solid var(--line);
660  padding: 0 16px;
661}
662
663.cst-tab {
664  display: inline-flex;
665  align-items: center;
666  gap: 6px;
667  padding: 9px 12px;
668  background: transparent;
669  border-bottom: 2px solid transparent;
670  cursor: pointer;
671  font-size: 12.5px;
672  font-weight: 500;
673  color: var(--muted);
674  transition: color 150ms ease, border-color 150ms ease;
675  margin-bottom: -1px;
676  white-space: nowrap;
677}
678.cst-tab.active { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }
679.cst-tab:hover:not(.active) { color: var(--ink); }
680
681/* Event count badge on tab */
682.cst-tab-badge {
683  display: inline-flex;
684  align-items: center;
685  justify-content: center;
686  min-width: 18px;
687  height: 16px;
688  padding: 0 5px;
689  border-radius: 20px;
690  font-size: 10px;
691  font-weight: 700;
692  font-family: var(--mono);
693  background: var(--line);
694  color: var(--muted);
695  transition: background 150ms ease, color 150ms ease;
696}
697.cst-tab.active .cst-tab-badge {
698  background: var(--ink);
699  color: var(--lime);
700}
701
702/* ── Body ─────────────────────────────────────────────── */
703.cst-dbg-body {
704  max-height: 430px;
705  overflow-y: auto;
706  overflow-x: hidden;
707  scrollbar-width: thin;
708  scrollbar-color: var(--line) transparent;
709}
710.cst-dbg-body::-webkit-scrollbar { width: 3px; }
711.cst-dbg-body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
712
713.cst-pane { display: none; padding: 16px; }
714.cst-pane.active { display: block; }
715
716/* ── Section ──────────────────────────────────────────── */
717.cst-section { margin-bottom: 20px; }
718.cst-section:last-child { margin-bottom: 0; }
719
720.cst-section-title {
721  font-size: 10.5px;
722  font-weight: 700;
723  text-transform: uppercase;
724  letter-spacing: .09em;
725  color: var(--muted);
726  margin-bottom: 10px;
727  display: flex;
728  align-items: center;
729  gap: 8px;
730}
731.cst-section-title::after {
732  content: '';
733  flex: 1;
734  height: 1px;
735  background: var(--line);
736}
737
738/* ── Compliance checks ────────────────────────────────── */
739.cst-checks { display: flex; flex-direction: column; }
740
741.cst-check {
742  display: flex;
743  align-items: flex-start;
744  gap: 9px;
745  padding: 9px 8px;
746  border-radius: 8px;
747  transition: background 150ms ease;
748  cursor: default;
749}
750.cst-check:hover { background: var(--bg-soft); }
751
752.cst-check-icon {
753  flex-shrink: 0;
754  display: flex;
755  align-items: center;
756  justify-content: center;
757  width: 18px;
758  height: 18px;
759  margin-top: 1px;
760}
761
762.cst-check-body {
763  flex: 1;
764  min-width: 0;
765  display: flex;
766  flex-direction: column;
767  gap: 2px;
768}
769
770.cst-check-label {
771  font-size: 12.5px;
772  font-weight: 500;
773  color: var(--ink);
774  line-height: 1.4;
775}
776.cst-check-label code {
777  font-family: var(--mono);
778  font-size: 11px;
779  background: var(--bg-soft);
780  padding: 1px 4px;
781  border-radius: 3px;
782  color: var(--ink-75);
783}
784
785.cst-check-detail {
786  font-size: 11.5px;
787  color: var(--muted);
788  line-height: 1.4;
789}
790.cst-check.fail .cst-check-detail { color: var(--danger); }
791.cst-check.warn .cst-check-detail { color: var(--warn); }
792
793.cst-check-status {
794  flex-shrink: 0;
795  margin-top: 2px;
796  font-size: 9.5px;
797  font-weight: 700;
798  letter-spacing: .07em;
799  padding: 2px 8px;
800  border-radius: 20px;
801  font-family: var(--mono);
802  white-space: nowrap;
803}
804.cst-check.ok   .cst-check-status { background: var(--green-soft); color: var(--green); }
805.cst-check.fail .cst-check-status { background: var(--danger-soft); color: var(--danger); }
806.cst-check.warn .cst-check-status { background: var(--warn-bg); color: var(--warn); }
807
808/* ── Consent state table ──────────────────────────────── */
809.cst-table-wrap {
810  border: 1px solid var(--line);
811  border-radius: 10px;
812  overflow: hidden;
813}
814
815.cst-table {
816  width: 100%;
817  border-collapse: collapse;
818  font-size: 12.5px;
819  table-layout: fixed;
820}
821
822.cst-table th {
823  text-align: left;
824  padding: 8px 12px;
825  background: var(--bg-soft);
826  color: var(--muted);
827  font-size: 10.5px;
828  font-weight: 700;
829  text-transform: uppercase;
830  letter-spacing: .07em;
831  border-bottom: 1px solid var(--line);
832}
833.cst-table th:nth-child(2),
834.cst-table th:nth-child(3) { text-align: center; }
835
836.cst-table td {
837  padding: 8px 12px;
838  border-bottom: 1px solid var(--line);
839  vertical-align: middle;
840  color: var(--ink);
841  transition: background 250ms ease;
842}
843.cst-table td:nth-child(2),
844.cst-table td:nth-child(3) { text-align: center; }
845.cst-table tr:last-child td { border-bottom: none; }
846.cst-table tr:hover td { background: var(--bg-soft); }
847
848/* Changed row: lime-soft bg + lime left accent bar */
849.cst-table tr.cst-changed-row td { background: var(--lime-soft); }
850.cst-table tr.cst-changed-row td:first-child {
851  border-left: 3px solid var(--lime-bar);
852  padding-left: 9px;
853}
854.cst-table tr.cst-changed-row:hover td { background: rgba(231,253,153,.38); }
855
856.cst-type {
857  font-family: var(--mono);
858  font-size: 11.5px;
859  color: var(--ink);
860}
861
862/* ── Badges ───────────────────────────────────────────── */
863.cst-badge {
864  display: inline-block;
865  padding: 2px 9px;
866  border-radius: 20px;
867  font-size: 11px;
868  font-weight: 600;
869  white-space: nowrap;
870  font-family: var(--mono);
871}
872.cst-granted { background: var(--green-soft); color: var(--green); }
873.cst-denied  { background: var(--bg-soft);    color: var(--muted); }
874.cst-na      { color: var(--line); font-size: 18px; line-height: 1; font-family: inherit; }
875
876/* ── Meta section ─────────────────────────────────────── */
877.cst-meta-section {
878  margin-top: 14px;
879  padding-top: 14px;
880  border-top: 1px solid var(--line);
881}
882
883.cst-meta-row {
884  display: flex;
885  align-items: center;
886  padding: 4px 8px;
887  gap: 10px;
888  border-radius: 6px;
889}
890.cst-meta-row:hover { background: var(--bg-soft); }
891
892.cst-meta-key {
893  font-family: var(--mono);
894  font-size: 11.5px;
895  color: var(--muted);
896  min-width: 136px;
897  flex-shrink: 0;
898}
899.cst-meta-val {
900  font-size: 12.5px;
901  color: var(--ink);
902  font-weight: 500;
903}
904.cst-meta-missing .cst-meta-val { color: var(--danger); }
905
906/* ── Filter chips ─────────────────────────────────────── */
907.cst-filter-bar {
908  display: flex;
909  align-items: center;
910  gap: 6px;
911  padding-bottom: 12px;
912}
913
914.cst-chip {
915  display: inline-flex;
916  align-items: center;
917  gap: 4px;
918  padding: 3px 10px;
919  border-radius: 20px;
920  font-size: 11.5px;
921  font-weight: 500;
922  color: var(--muted);
923  background: var(--bg-soft);
924  border: 1px solid var(--line);
925  cursor: pointer;
926  transition: all 150ms ease;
927  white-space: nowrap;
928}
929.cst-chip:hover { color: var(--ink); border-color: var(--ink-40); }
930.cst-chip.active {
931  background: var(--ink);
932  color: var(--lime);
933  border-color: var(--ink);
934  font-weight: 600;
935}
936
937/* ── Event log ────────────────────────────────────────── */
938.cst-event-log {
939  font-family: var(--mono);
940  font-size: 11.5px;
941  border: 1px solid var(--line);
942  border-radius: 10px;
943  overflow: hidden;
944  overflow-y: auto;
945  max-height: 340px;
946  scrollbar-width: thin;
947  scrollbar-color: var(--line) transparent;
948}
949.cst-event-log::-webkit-scrollbar { width: 3px; }
950.cst-event-log::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
951
952.cst-log-line {
953  display: flex;
954  align-items: baseline;
955  gap: 10px;
956  padding: 8px 12px;
957  border-bottom: 1px solid var(--line);
958  background: #fff;
959}
960.cst-log-line:nth-child(even) { background: var(--bg-soft); }
961.cst-log-line:last-child { border-bottom: none; }
962
963/* New event slide-in + lime flash */
964.cst-log-line.cst-event-fresh {
965  animation: cst-gcm-event-in 500ms var(--ease-out) both;
966}
967@keyframes cst-gcm-event-in {
968  0%   { transform: translateY(-4px); background: rgba(231,253,153,.55); }
969  60%  { background: rgba(231,253,153,.2); }
970  100% { transform: translateY(0); background: transparent; }
971}
972
973.cst-log-time {
974  color: var(--muted);
975  font-size: 10.5px;
976  flex-shrink: 0;
977  min-width: 68px;
978  opacity: .65;
979}
980.cst-log-type { color: var(--ink-75); word-break: break-word; flex: 1; }
981.cst-log-consent .cst-log-type {
982  color: var(--green);
983  font-weight: 700;
984}
985.cst-log-consent {
986  background: var(--green-bg);
987}
988.cst-log-consent:nth-child(even) { background: #e8f8ef; }
989
990.cst-empty {
991  text-align: center;
992  color: var(--muted);
993  font-size: 12.5px;
994  padding: 32px 16px;
995  font-family: var(--sans);
996  opacity: .6;
997}
998
999/* ── Responsive ───────────────────────────────────────── */
1000@media (max-width: 500px) {
1001  #cst-gcm-debugger-wrapper {
1002    width: calc(100vw - 24px);
1003    right: 12px;
1004    bottom: 12px;
1005  }
1006}
1007`;
1008    document.head.appendChild(style);
1009  }
1010
1011  // ── Init ──────────────────────────────────────────────────────────────────
1012  function loadInitialEvents() {
1013    var dl = getDL();
1014    for (var i = 0; i < dl.length; i++) {
1015      var d = dl[i];
1016      if (d && d[0]) {
1017        eventLog.push({ entry: d, time: '(init)' });
1018      }
1019    }
1020  }
1021
1022  function collectTagIds() {
1023    var result = new Set();
1024    try {
1025      var walker = document.createTreeWalker(document.documentElement, NodeFilter.SHOW_TEXT, null);
1026      while (walker.nextNode()) {
1027        var text = walker.currentNode.textContent;
1028        if (!text) continue;
1029        (text.match(/G-[A-Z0-9]{10}/g) || []).forEach(function(t) { result.add(t); });
1030        (text.match(/GTM-[A-Z0-9]+/g) || []).forEach(function(t) { result.add(t); });
1031        (text.match(/UA-[0-9]{4,10}-[0-9]+/g) || []).forEach(function(t) { result.add(t); });
1032      }
1033    } catch(e) {}
1034    return Array.from(result);
1035  }
1036
1037  function postToOpener(checks) {
1038    var origin = urlParams.get('origin');
1039    if (!origin || !window.opener) return;
1040    var hasTCFApi = typeof window.__tcfapi === 'function';
1041
1042    var send = function(hasTCFValid) {
1043      try {
1044        var payload = {
1045          type: 'gcm-debugger',
1046          dataLayer: eventLog.map(function(e) {
1047            var entry = e.entry;
1048            // Arguments objects cannot be cloned by postMessage — convert to plain array
1049            if (entry !== null && typeof entry === 'object' && !Array.isArray(entry)) {
1050              entry = Array.prototype.slice.call(entry);
1051            }
1052            return entry;
1053          }),
1054          tagIds: collectTagIds(),
1055          pageTitle: document.title,
1056          hasGCM: checks.hasGCM,
1057          hasEmbedded: checks.hasEmbedded,
1058          defFired: checks.defFired,
1059          defValid: checks.defValid,
1060          cmpFirst: checks.cmpFirst,
1061          hasTCFApi: hasTCFApi,
1062          hasTCFValid: hasTCFApi && hasTCFValid,
1063          spaPrivacy: !!(window.Shopify && window.Shopify.customerPrivacy &&
1064            typeof window.Shopify.customerPrivacy.getTrackingConsent === 'function' &&
1065            typeof window.Shopify.customerPrivacy.setTrackingConsent === 'function'),
1066          showTCF: !!(window.cstAppData && window.cstAppData.tcf && window.cstAppData.tcf.config && window.cstAppData.tcf.config.active),
1067          isSPA: typeof window.Shopify !== 'undefined',
1068          lateConsent: checks.defFired && !checks.cmpFirst
1069        };
1070        window.opener.postMessage(payload, origin);
1071      } catch(e) {}
1072    };
1073
1074    // hasTCFValid mirrors the verify logic: the __tcfapi stub must actually answer
1075    // getTCData with success. It's async, so resolve it (with a timeout) before posting.
1076    if (!hasTCFApi) { send(false); return; }
1077    var done = false;
1078    var finish = function(v) { if (done) return; done = true; send(v); };
1079    try {
1080      window.__tcfapi('getTCData', 2, function(_data, success) { finish(!!success); });
1081    } catch(e) { finish(false); }
1082    setTimeout(function() { finish(false); }, 2000);
1083  }
1084
1085  function init() {
1086    var existing = document.querySelector('#cst-gcm-debugger-wrapper');
1087    if (existing) existing.remove();
1088
1089    injectStyles();
1090    loadInitialEvents();
1091
1092    var w = buildPanel();
1093    document.body.appendChild(w);
1094
1095    // Sync count badge with events already loaded
1096    var countBadge = w.querySelector('#cst-events-count');
1097    if (countBadge) countBadge.textContent = eventLog.length;
1098
1099    setupTabs(w);
1100    setupCollapse(w);
1101    setupDrag(w);
1102    setupFilterChips(w);
1103    setupDataLayerInterceptor(w);
1104    watchConsentSignal(w);
1105
1106    // Send initial check results to admin opener window
1107    postToOpener(computeChecks(getDL()));
1108  }
1109
1110  if (document.readyState === 'loading') {
1111    document.addEventListener('DOMContentLoaded', init);
1112  } else {
1113    init();
1114  }
1115})();
1116})();

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.