PageSourceSearch

https://www.c-store.com.au/_static/??-eJydkc1uAjEMhF+oiZet+Omh6rNk…/z/iY3lfb3dum6/r1drwAPL/njg==

js c-store.com.au collected 2026-09-24 22:36:42 UTC 429,866 bytes, 3,898 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	/**
5	 * All of the code for your public-facing JavaScript source
6	 * should reside in this file.
7	 *
8	 * Note: It has been assumed you will write jQuery code here, so the
9	 * $ function reference has been prepared for usage within the scope
10	 * of this function.
11	 *
12	 * This enables you to define handlers, for when the DOM is ready:
13	 *
14	 * $(function() {
15	 *
16	 * });
17	 *
18	 * When the window is loaded:
19	 *
20	 * $( window ).load(function() {
21	 *
22	 * });
23	 *
24	 * ...and/or other possibilities.
25	 *
26	 * Ideally, it is not considered best practise to attach more than a
27	 * single DOM-ready or window-load handler for a particular page.
28	 * Although scripts in the WordPress core, Plugins and Themes may be
29	 * practising this, we should strive to set a better example in our own work.
30	 */
31
32})( jQuery );
33;
34(function( $ ) {
35	'use strict';
36
37	/**
38	 * All of the code for your public-facing JavaScript source
39	 * should reside in this file.
40	 *
41	 * Note: It has been assumed you will write jQuery code here, so the
42	 * $ function reference has been prepared for usage within the scope
43	 * of this function.
44	 *
45	 * This enables you to define handlers, for when the DOM is ready:
46	 *
47	 * $(function() {
48	 *
49	 * });
50	 *
51	 * When the window is loaded:
52	 *
53	 * $( window ).load(function() {
54	 *
55	 * });
56	 *
57	 * ...and/or other possibilities.
58	 *
59	 * Ideally, it is not considered best practise to attach more than a
60	 * single DOM-ready or window-load handler for a particular page.
61	 * Although scripts in the WordPress core, Plugins and Themes may be
62	 * practising this, we should strive to set a better example in our own work.
63	 */
64
65})( jQuery );
66;
67var flatpickr=function(){"use strict";var e,t={};var n,a,o,i,r,l,c,d,s,u,f,m,p,g,h,v,D,y,w,b,M,C,x,E,_,O,k,T,I,S,P,F,j,A,N,Y=(e||(e=1,n||(n=1,a||(a=1,o||(o=1,i||(i=1,r||(r=1,l||(l=1,c||(c=1,d||(d=1,s||(s=1,u||(u=1,f||(f=1,m||(m=1,p||(p=1,g||(g=1,h||(h=1,v||(v=1,D||(D=1,y||(y=1,w||(w=1,b||(b=1,M||(M=1,E={exports:{}},C||(C=1,E.exports=function(){var e=function(){return(e=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var a=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],r=0,l=i.length;r<l;r++,o++)a[o]=i[r];return a}var n=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>
67",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},o={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},i=function(e,t){return void 0===t&&(t=2),("000"+e).slice(-1*t)},r=function(e){return!0===e?1:0};function l(e,t){var n;return function(){var a=this,o=arguments;clearTimeout(n),n=setTimeout((function(){return e.apply(a,o)}),t)}}var c=function(e){return e instanceof Array?e:[e]};function d(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function s(e,t,n){var a=window.document.createElement(e);return t=t||"",n=n||"",a.className=t,void 0!==n&&(a.textContent=n),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,t){return t(e)?e:e.parentNode?f(e.parentNode,t):void 0}function m(e,t){var n=s("div","numInputWrapper"),a=s("input","numInput "+e),o=s("span","arrowUp"),i=s("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?a.type="number":(a.type="text",a.pattern="\\d*"),void 0!==t)for(var r in t)a.setAttribute(r,t[r]);return n.appendChild(a),n.appendChild(o),n.appendChild(i),n}function p(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(t){return e.target}}var g=function(){},h=function(e,t,n){return n.months[t?"shorthand":"longhand"][e]},v={D:g,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*r(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var a=parseInt(t),o=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return o.setDate(o.getDate()-o.getDay()+n.firstDayOfWeek),o},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:g,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:g,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},D={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},y={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[y.w(e,t,n)]},F:function(e,t,n){return h(y.n(e,t,n)-1,!1,t)},G:function(e,t,n){return i(y.h(e,t,n))},H:function(e){return i(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[r(e.getHours()>11)]},M:function(e,t){return h(e.getMonth(),!0,t)},S:function(e){return i(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return i(e.getFullYear(),4)},d:function(e){return i(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return i(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return i(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},w=function(e){var t=e.config,n=void 0===t?a:t,i=e.l10n,r=void 0===i?o:i,l=e.isMobile,c=void 0!==l&&l;return function(e,t,a){var o=a||r;return void 0===n.formatDate||c?t.split("").map((function(t,a,i){return y[t]&&"\\"!==i[a-1]?y[t](e,o,n):"\\"!==t?t:""})).join(""):n.formatDate(e,t,o)}},b=function(e){var t=e.config,n=void 0===t?a:t,i=e.l10n,r=void 0===i?o:i;
vendor: 17,185 bytes, line 67
67return function(e,t,o,i){if(0===e||e){var l,c=i||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if("string"==typeof e){var s=t||(n||a).dateFormat,u=String(e).trim();if("today"===u)l=new Date,o=!0;else if(n&&n.parseDate)l=n.parseDate(e,s);else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else{for(var f=void 0,m=[],p=0,g=0,h="";p<s.length;p++){var y=s[p],w="\\"===y,b="\\"===s[p-1]||w;if(D[y]&&!b){h+=D[y];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==y?"push":"unshift"]({fn:v[y],val:M[++g]})}else w||(h+=".")}l=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),m.forEach((function(e){var t=e.fn,n=e.val;return l=t(l,n,c)||l})),l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===o&&l.setHours(0,0,0,0),l;n.errorHandler(new Error("Invalid date provided: "+d))}}};function M(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var C=function(e,t,n){return 3600*e+60*t+n};function x(e){var t=e.defaultHour,n=e.defaultMinute,a=e.defaultSeconds;if(void 0!==e.minDate){var o=e.minDate.getHours(),i=e.minDate.getMinutes(),r=e.minDate.getSeconds();t<o&&(t=o),t===o&&n<i&&(n=i),t===o&&n===i&&a<r&&(a=e.minDate.getSeconds())}if(void 0!==e.maxDate){var l=e.maxDate.getHours(),c=e.maxDate.getMinutes();(t=Math.min(t,l))===l&&(n=Math.min(c,n)),t===l&&n===c&&(a=e.maxDate.getSeconds())}return{hours:t,minutes:n,seconds:a}}function E(g,v){var y={config:e(e({},a),O.defaultConfig),l10n:o};function E(){var e;return(null===(e=y.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function _(e){return e.bind(y)}function k(){var e=y.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==y.calendarContainer&&(y.calendarContainer.style.visibility="hidden",y.calendarContainer.style.display="block"),void 0!==y.daysContainer){var t=(y.days.offsetWidth+1)*e.showMonths;y.daysContainer.style.width=t+"px",y.calendarContainer.style.width=t+(void 0!==y.weekWrapper?y.weekWrapper.offsetWidth:0)+"px",y.calendarContainer.style.removeProperty("visibility"),y.calendarContainer.style.removeProperty("display")}}))}function T(e){if(0===y.selectedDates.length){var t=void 0===y.config.minDate||M(new Date,y.config.minDate)>=0?new Date:new Date(y.config.minDate.getTime()),n=x(y.config);t.setHours(n.hours,n.minutes,n.seconds,t.getMilliseconds()),y.selectedDates=[t],y.latestSelectedDateObj=t}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var t="keydown"===e.type,n=p(e),a=n;void 0!==y.amPM&&n===y.amPM&&(y.amPM.textContent=y.l10n.amPM[r(y.amPM.textContent===y.l10n.amPM[0])]);var o=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),d=parseInt(a.value,10),s=d+c*(e.delta||(t?38===e.which?1:-1:0));if(void 0!==a.value&&2===a.value.length){var u=a===y.hourElement,f=a===y.minuteElement;s<o?(s=l+s+r(!u)+(r(u)&&r(!y.amPM)),f&&H(void 0,-1,y.hourElement)):s>l&&(s=a===y.hourElement?s-l-r(!y.amPM):o,f&&H(void 0,1,y.hourElement)),y.amPM&&u&&(1===c?s+d===23:Math.abs(s-d)>c)&&(y.amPM.textContent=y.l10n.amPM[r(y.amPM.textContent===y.l10n.amPM[0])]),a.value=i(s)}}(e);var a=y._input.value;I(),Me(),y._input.value!==a&&y._debouncedChange()}function I(){if(void 0!==y.hourElement&&void 0!==y.minuteElement){var e,t,n=(parseInt(y.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(y.minuteElement.value,10)||0)%60,o=void 0!==y.secondElement?(parseInt(y.secondElement.value,10)||0)%60:0;void 0!==y.amPM&&(e=n,t=y.amPM.textContent,n=e%12+12*r(t===y.l10n.amPM[1]));var i=void 0!==y.config.minTime||y.config.minDate&&y.minDateHasTime&&y.latestSelectedDateObj&&0===M(y.latestSelectedDateObj,y.config.minDate,!0),l=void 0!==y.config.maxTime||y.config.maxDate&&y.maxDateHasTime&&y.latestSelectedDateObj&&0===M(y.latestSelectedDateObj,y.config.maxDate,!0);if(void 0!==y.config.maxTime&&void 0!==y.config.minTime&&y.config.minTime>y.config.maxTime){var c=C(y.config.minTime.getHours(),y.config.minTime.getMinutes(),y.config.minTime.getSeconds()),d=C(y.config.maxTime.getHours(),y.config.maxTime.getMinutes(),y.config.maxTime.getSeconds()),s=C(n,a,o);if(s>d&&s<c){var u=function(e){var t=Math.floor(e/3600),n=(e-3600*t)/60;return[t,n,e-3600*t-60*n]}(c);n=u[0],a=u[1],o=u[2]}}else{if(l){var f=void 0!==y.config.maxTime?y.config.maxTime:y.config.maxDate;(n=Math.min(n,f.getHours()))===f.getHours()&&(a=Math.min(a,f.getMinutes())),a===f.getMinutes()&&(o=Math.min(o,f.getSeconds()))}if(i){var m=void 0!==y.config.minTime?y.config.minTime:y.config.minDate;(n=Math.max(n,m.getHours()))===m.getHours()&&a<m.getMinutes()&&(a=m.getMinutes()),a===m.getMinutes()&&(o=Math.max(o,m.getSeconds()))}}P(n,a,o)}}function S(e){var t=e||y.latestSelectedDateObj;t&&t instanceof Date&&P(t.getHours(),t.getMinutes(),t.getSeconds())}function P(e,t,n){void 0!==y.latestSelectedDateObj&&y.latestSelectedDateObj.setHours(e%24,t,n||0,0),y.hourElement&&y.minuteElement&&!y.isMobile&&(y.hourElement.value=i(y.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),y.minuteElement.value=i(t),void 0!==y.amPM&&(y.amPM.textContent=y.l10n.amPM[r(e>=12)]),void 0!==y.secondElement&&(y.secondElement.value=i(n)))}function F(e){var t=p(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&X(n)}function j(e,t,n,a){return t instanceof Array?t.forEach((function(t){return j(e,t,n,a)})):e instanceof Array?e.forEach((function(e){return j(e,t,n,a)})):(e.addEventListener(t,n,a),void y._handlers.push({remove:function(){return e.removeEventListener(t,n,a)}}))}function A(){ve("onChange")}function N(e,t){var n=void 0!==e?y.parseDate(e):y.latestSelectedDateObj||(y.config.minDate&&y.config.minDate>y.now?y.config.minDate:y.config.maxDate&&y.config.maxDate<y.now?y.config.maxDate:y.now),a=y.currentYear,o=y.currentMonth;try{void 0!==n&&(y.currentYear=n.getFullYear(),y.currentMonth=n.getMonth())}catch(e){e.message="Invalid date supplied: "+n,y.config.errorHandler(e)}t&&y.currentYear!==a&&(ve("onYearChange"),U()),!t||y.currentYear===a&&y.currentMonth===o||ve("onMonthChange"),y.redraw()}function Y(e){var t=p(e);~t.className.indexOf("arrow")&&H(e,t.classList.contains("arrowUp")?1:-1)}function H(e,t,n){var a=e&&p(e),o=n||a&&a.parentNode&&a.parentNode.firstChild,i=De("increment");i.delta=t,o&&o.dispatchEvent(i)}function L(e,t,n,a){var o=ee(t,!0),i=s("span",e,t.getDate().toString());return i.dateObj=t,i.$i=a,i.setAttribute("aria-label",y.formatDate(t,y.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(t,y.now)&&(y.todayDateElem=i,i.classList.add("today"),i.setAttribute("aria-current","date")),o?(i.tabIndex=-1,ye(t)&&(i.classList.add("selected"),y.selectedDateElem=i,"range"===y.config.mode&&(d(i,"startRange",y.selectedDates[0]&&0===M(t,y.selectedDates[0],!0)),d(i,"endRange",y.selectedDates[1]&&0===M(t,y.selectedDates[1],!0)),"nextMonthDay"===e&&i.classList.add("inRange")))):i.classList.add("flatpickr-disabled"),"range"===y.config.mode&&function(e){return!("range"!==y.config.mode||y.selectedDates.length<2)&&M(e,y.selectedDates[0])>=0&&M(e,y.selectedDates[1])<=0}(t)&&!ye(t)&&i.classList.add("inRange"),y.weekNumbers&&1===y.config.showMonths&&"prevMonthDay"!==e&&a%7==6&&y.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+y.config.getWeek(t)+"</span>"),ve("onDayCreate",i),i}function R(e){e.focus(),"range"===y.config.mode&&oe(e)}function W(e){for(var t=e>0?0:y.config.showMonths-1,n=e>0?y.config.showMonths:-1,a=t;a!=n;a+=e)for(var o=y.daysContainer.children[a],i=e>0?0:o.children.length-1,r=e>0?o.children.length:-1,l=i;l!=r;l+=e){var c=o.children[l];if(-1===c.className.indexOf("hidden")&&ee(c.dateObj))return c}}function B(e,t){var n=E(),a=te(n||document.body),o=void 0!==e?e:a?n:void 0!==y.selectedDateElem&&te(y.selectedDateElem)?y.selectedDateElem:void 0!==y.todayDateElem&&te(y.todayDateElem)?y.todayDateElem:W(t>0?1:-1);void 0===o?y._input.focus():a?function(e,t){for(var n=-1===e.className.indexOf("Month")?e.dateObj.getMonth():y.currentMonth,a=t>0?y.config.showMonths:-1,o=t>0?1:-1,i=n-y.currentMonth;i!=a;i+=o)for(var r=y.daysContainer.children[i],l=n-y.currentMonth===i?e.$i+t:t<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d<c&&d!=(t>0?c:-1);d+=o){var s=r.children[d];if(-1===s.className.indexOf("hidden")&&ee(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return R(s)}y.changeMonth(o),B(W(o),0)}(o,t):R(o)}function J(e,t){for(var n=(new Date(e,t,1).getDay()-y.l10n.firstDayOfWeek+7)%7,a=y.utils.getDaysInMonth((t-1+12)%12,e),o=y.utils.getDaysInMonth(t,e),i=window.document.createDocumentFragment(),r=y.config.showMonths>1,l=r?"prevMonthDay hidden":"prevMonthDay",c=r?"nextMonthDay hidden":"nextMonthDay",d=a+1-n,u=0;d<=a;d++,u++)i.appendChild(L("flatpickr-day "+l,new Date(e,t-1,d),0,u));for(d=1;d<=o;d++,u++)i.appendChild(L("flatpickr-day",new Date(e,t,d),0,u));for(var f=o+1;f<=42-n&&(1===y.config.showMonths||u%7!=0);f++,u++)i.appendChild(L("flatpickr-day "+c,new Date(e,t+1,f%o),0,u));var m=s("div","dayContainer");return m.appendChild(i),m}function K(){if(void 0!==y.daysContainer){u(y.daysContainer),y.weekNumbers&&u(y.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<y.config.showMonths;t++){var n=new Date(y.currentYear,y.currentMonth,1);n.setMonth(y.currentMonth+t),e.appendChild(J(n.getFullYear(),n.getMonth()))}y.daysContainer.appendChild(e),y.days=y.daysContainer.firstChild,"range"===y.config.mode&&1===y.selectedDates.length&&oe()}}function U(){if(!(y.config.showMonths>1||"dropdown"!==y.config.monthSelectorType)){var e=function(e){return!(void 0!==y.config.minDate&&y.currentYear===y.config.minDate.getFullYear()&&e<y.config.minDate.getMonth()||void 0!==y.config.maxDate&&y.currentYear===y.config.maxDate.getFullYear()&&e>y.config.maxDate.getMonth())};y.monthsDropdownContainer.tabIndex=-1,y.monthsDropdownContainer.innerHTML="";for(var t=0;t<12;t++)if(e(t)){var n=s("option","flatpickr-monthDropdown-month");n.value=new Date(y.currentYear,t).getMonth().toString(),n.textContent=h(t,y.config.shorthandCurrentMonth,y.l10n),n.tabIndex=-1,y.currentMonth===t&&(n.selected=!0),y.monthsDropdownContainer.appendChild(n)}}}function $(){var e,t=s("div","flatpickr-month"),n=window.document.createDocumentFragment();y.config.showMonths>1||"static"===y.config.monthSelectorType?e=s("span","cur-month"):(y.monthsDropdownContainer=s("select","flatpickr-monthDropdown-months"),y.monthsDropdownContainer.setAttribute("aria-label",y.l10n.monthAriaLabel),j(y.monthsDropdownContainer,"change",(function(e){var t=p(e),n=parseInt(t.value,10);y.changeMonth(n-y.currentMonth),ve("onMonthChange")})),U(),e=y.monthsDropdownContainer);var a=m("cur-year",{tabindex:"-1"}),o=a.getElementsByTagName("input")[0];o.setAttribute("aria-label",y.l10n.yearAriaLabel),y.config.minDate&&o.setAttribute("min",y.config.minDate.getFullYear().toString()),y.config.maxDate&&(o.setAttribute("max",y.config.maxDate.getFullYear().toString()),o.disabled=!!y.config.minDate&&y.config.minDate.getFullYear()===y.config.maxDate.getFullYear());var i=s("div","flatpickr-current-month");return i.appendChild(e),i.appendChild(a),n.appendChild(i),t.appendChild(n),{container:t,yearElement:o,monthElement:e}}function q(){u(y.monthNav),y.monthNav.appendChild(y.prevMonthNav),y.config.showMonths&&(y.yearElements=[],y.monthElements=[]);for(var e=y.config.showMonths;e--;){var t=$();y.yearElements.push(t.yearElement),y.monthElements.push(t.monthElement),y.monthNav.appendChild(t.container)}y.monthNav.appendChild(y.nextMonthNav)}function V(){y.weekdayContainer?u(y.weekdayContainer):y.weekdayContainer=s("div","flatpickr-weekdays");for(var e=y.config.showMonths;e--;){var t=s("div","flatpickr-weekdaycontainer");y.weekdayContainer.appendChild(t)}return z(),y.weekdayContainer}function z(){if(y.weekdayContainer){var e=y.l10n.firstDayOfWeek,n=t(y.l10n.weekdays.shorthand);e>0&&e<n.length&&(n=t(n.splice(e,n.length),n.splice(0,e)));for(var a=y.config.showMonths;a--;)y.weekdayContainer.children[a].innerHTML="\n      <span class='flatpickr-weekday'>\n        "+n.join("</span><span class='flatpickr-weekday'>")+"\n      </span>\n      "}}function G(e,t){void 0===t&&(t=!0);var n=t?e:e-y.currentMonth;n<0&&!0===y._hidePrevMonthArrow||n>0&&!0===y._hideNextMonthArrow||(y.currentMonth+=n,(y.currentMonth<0||y.currentMonth>11)&&(y.currentYear+=y.currentMonth>11?1:-1,y.currentMonth=(y.currentMonth+12)%12,ve("onYearChange"),U()),K(),ve("onMonthChange"),we())}function Z(e){return y.calendarContainer.contains(e)}function Q(e){if(y.isOpen&&!y.config.inline){var t=p(e),n=Z(t),a=!(t===y.input||t===y.altInput||y.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(y.input)||~e.path.indexOf(y.altInput))||n||Z(e.relatedTarget)),o=!y.config.ignoredFocusElements.some((function(e){return e.contains(t)}));a&&o&&(y.config.allowInput&&y.setDate(y._input.value,!1,y.config.altInput?y.config.altFormat:y.config.dateFormat),void 0!==y.timeContainer&&void 0!==y.minuteElement&&void 0!==y.hourElement&&""!==y.input.value&&void 0!==y.input.value&&T(),y.close(),y.config&&"range"===y.config.mode&&1===y.selectedDates.length&&y.clear(!1))}}function X(e){if(!(!e||y.config.minDate&&e<y.config.minDate.getFullYear()||y.config.maxDate&&e>y.config.maxDate.getFullYear())){var t=e,n=y.currentYear!==t;y.currentYear=t||y.currentYear,y.config.maxDate&&y.currentYear===y.config.maxDate.getFullYear()?y.currentMonth=Math.min(y.config.maxDate.getMonth(),y.currentMonth):y.config.minDate&&y.currentYear===y.config.minDate.getFullYear()&&(y.currentMonth=Math.max(y.config.minDate.getMonth(),y.currentMonth)),n&&(y.redraw(),ve("onYearChange"),U())}}function ee(e,t){var n;void 0===t&&(t=!0);var a=y.parseDate(e,void 0,t);if(y.config.minDate&&a&&M(a,y.config.minDate,void 0!==t?t:!y.minDateHasTime)<0||y.config.maxDate&&a&&M(a,y.config.maxDate,void 0!==t?t:!y.maxDateHasTime)>0)return!1;if(!y.config.enable&&0===y.config.disable.length)return!0;if(void 0===a)return!1;for(var o=!!y.config.enable,i=null!==(n=y.config.enable)&&void 0!==n?n:y.config.disable,r=0,l=void 0;r<i.length;r++){if("function"==typeof(l=i[r])&&l(a))return o;if(l instanceof Date&&void 0!==a&&l.getTime()===a.getTime())return o;if("string"==typeof l){var c=y.parseDate(l,void 0,!0);return c&&c.getTime()===a.getTime()?o:!o}if("object"==typeof l&&void 0!==a&&l.from&&l.to&&a.getTime()>=l.from.getTime()&&a.getTime()<=l.to.getTime())return o}return!o}function te(e){return void 0!==y.daysContainer&&-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&y.daysContainer.contains(e)}function ne(e){var t=e.target===y._input,n=y._input.value.trimEnd()!==be();!t||!n||e.relatedTarget&&Z(e.relatedTarget)||y.setDate(y._input.value,!0,e.target===y.altInput?y.config.altFormat:y.config.dateFormat)}function ae(e){var t=p(e),n=y.config.wrap?g.contains(t):t===y._input,a=y.config.allowInput,o=y.isOpen&&(!a||!n),i=y.config.inline&&n&&!a;if(13===e.keyCode&&n){if(a)return y.setDate(y._input.value,!0,t===y.altInput?y.config.altFormat:y.config.dateFormat),y.close(),t.blur();y.open()}else if(Z(t)||o||i){var r=!!y.timeContainer&&y.timeContainer.contains(t);switch(e.keyCode){case 13:r?(e.preventDefault(),T(),ue()):fe(e);break;case 27:e.preventDefault(),ue();break;case 8:case 46:n&&!y.config.allowInput&&(e.preventDefault(),y.clear());break;case 37:case 39:if(r||n)y.hourElement&&y.hourElement.focus();else{e.preventDefault();var l=E();if(void 0!==y.daysContainer&&(!1===a||l&&te(l))){var c=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),G(c),B(W(1),0)):B(void 0,c)}}break;case 38:case 40:e.preventDefault();var d=40===e.keyCode?1:-1;y.daysContainer&&void 0!==t.$i||t===y.input||t===y.altInput?e.ctrlKey?(e.stopPropagation(),X(y.currentYear-d),B(W(1),0)):r||B(void 0,7*d):t===y.currentYearElement?X(y.currentYear-d):y.config.enableTime&&(!r&&y.hourElement&&y.hourElement.focus(),T(e),y._debouncedChange());break;case 9:if(r){var s=[y.hourElement,y.minuteElement,y.secondElement,y.amPM].concat(y.pluginElements).filter((function(e){return e})),u=s.indexOf(t);if(-1!==u){var f=s[u+(e.shiftKey?-1:1)];e.preventDefault(),(f||y._input).focus()}}else!y.config.noCalendar&&y.daysContainer&&y.daysContainer.contains(t)&&e.shiftKey&&(e.preventDefault(),y._input.focus())}}if(void 0!==y.amPM&&t===y.amPM)switch(e.key){case y.l10n.amPM[0].charAt(0):case y.l10n.amPM[0].charAt(0).toLowerCase():y.amPM.textContent=y.l10n.amPM[0],I(),Me();break;case y.l10n.amPM[1].charAt(0):case y.l10n.amPM[1].charAt(0).toLowerCase():y.amPM.textContent=y.l10n.amPM[1],I(),Me()}(n||Z(t))&&ve("onKeyDown",e)}function oe(e,t){if(void 0===t&&(t="flatpickr-day"),1===y.selectedDates.length&&(!e||e.classList.contains(t)&&!e.classList.contains("flatpickr-disabled"))){for(var n=e?e.dateObj.getTime():y.days.firstElementChild.dateObj.getTime(),a=y.parseDate(y.selectedDates[0],void 0,!0).getTime(),o=Math.min(n,y.selectedDates[0].getTime()),i=Math.max(n,y.selectedDates[0].getTime()),r=!1,l=0,c=0,d=o;d<i;d+=864e5)ee(new Date(d),!0)||(r=r||d>o&&d<i,d<a&&(!l||d>l)?l=d:d>a&&(!c||d<c)&&(c=d));Array.from(y.rContainer.querySelectorAll("*:nth-child(-n+"+y.config.showMonths+") >
67 ."+t)).forEach((function(t){var o,i,d,s=t.dateObj.getTime(),u=l>0&&s<l||c>0&&s>c;if(u)return t.classList.add("notAllowed"),void["inRange","startRange","endRange"].forEach((function(e){t.classList.remove(e)}));r&&!u||(["startRange","inRange","endRange","notAllowed"].forEach((function(e){t.classList.remove(e)})),void 0!==e&&(e.classList.add(n<=y.selectedDates[0].getTime()?"startRange":"endRange"),a<n&&s===a?t.classList.add("startRange"):a>n&&s===a&&t.classList.add("endRange"),s>=l&&(0===c||s<=c)&&(i=a,d=n,(o=s)>Math.min(i,d)&&o<Math.max(i,d))&&t.classList.add("inRange")))}))}}function ie(){!y.isOpen||y.config.static||y.config.inline||de()}function re(e){return function(t){var n=y.config["_"+e+"Date"]=y.parseDate(t,y.config.dateFormat),a=y.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(y["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),y.selectedDates&&(y.selectedDates=y.selectedDates.filter((function(e){return ee(e)})),y.selectedDates.length||"min"!==e||S(n),Me()),y.daysContainer&&(se(),void 0!==n?y.currentYearElement[e]=n.getFullYear().toString():y.currentYearElement.removeAttribute(e),y.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function le(){return y.config.wrap?g.querySelector("[data-input]"):g}function ce(){"object"!=typeof y.config.locale&&void 0===O.l10ns[y.config.locale]&&y.config.errorHandler(new Error("flatpickr: invalid locale "+y.config.locale)),y.l10n=e(e({},O.l10ns.default),"object"==typeof y.config.locale?y.config.locale:"default"!==y.config.locale?O.l10ns[y.config.locale]:void 0),D.D="("+y.l10n.weekdays.shorthand.join("|")+")",D.l="("+y.l10n.weekdays.longhand.join("|")+")",D.M="("+y.l10n.months.shorthand.join("|")+")",D.F="("+y.l10n.months.longhand.join("|")+")",D.K="("+y.l10n.amPM[0]+"|"+y.l10n.amPM[1]+"|"+y.l10n.amPM[0].toLowerCase()+"|"+y.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},v),JSON.parse(JSON.stringify(g.dataset||{}))).time_24hr&&void 0===O.defaultConfig.time_24hr&&(y.config.time_24hr=y.l10n.time_24hr),y.formatDate=w(y),y.parseDate=b({config:y.config,l10n:y.l10n})}function de(e){if("function"!=typeof y.config.position){if(void 0!==y.calendarContainer){ve("onPreCalendarPosition");var t=e||y._positionElement,n=Array.prototype.reduce.call(y.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),a=y.calendarContainer.offsetWidth,o=y.config.position.split(" "),i=o[0],r=o.length>1?o[1]:null,l=t.getBoundingClientRect(),c=window.innerHeight-l.bottom,s="above"===i||"below"!==i&&c<n&&l.top>n,u=window.pageYOffset+l.top+(s?-n-2:t.offsetHeight+2);if(d(y.calendarContainer,"arrowTop",!s),d(y.calendarContainer,"arrowBottom",s),!y.config.inline){var f=window.pageXOffset+l.left,m=!1,p=!1;"center"===r?(f-=(a-l.width)/2,m=!0):"right"===r&&(f-=a-l.width,p=!0),d(y.calendarContainer,"arrowLeft",!m&&!p),d(y.calendarContainer,"arrowCenter",m),d(y.calendarContainer,"arrowRight",p);var g=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=g+a>window.document.body.offsetWidth;if(d(y.calendarContainer,"rightMost",h),!y.config.static)if(y.calendarContainer.style.top=u+"px",h)if(v){var D=function(){for(var e=null,t=0;t<document.styleSheets.length;t++){var n=document.styleSheets[t];if(n.cssRules){try{n.cssRules}catch(e){continue}e=n;break}}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var w=window.document.body.offsetWidth,b=Math.max(0,w/2-a/2),M=D.cssRules.length,C="{left:"+l.left+"px;right:auto;}";d(y.calendarContainer,"rightMost",!1),d(y.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+C,M),y.calendarContainer.style.left=b+"px",y.calendarContainer.style.right="auto"}else y.calendarContainer.style.left="auto",y.calendarContainer.style.right=g+"px";else y.calendarContainer.style.left=f+"px",y.calendarContainer.style.right="auto"}}}else y.config.position(y,e)}function se(){y.config.noCalendar||y.isMobile||(U(),we(),K())}function ue(){y._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(y.close,0):y.close()}function fe(e){e.preventDefault(),e.stopPropagation();var t=f(p(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==t){var n=t,a=y.latestSelectedDateObj=new Date(n.dateObj.getTime()),o=(a.getMonth()<y.currentMonth||a.getMonth()>y.currentMonth+y.config.showMonths-1)&&"range"!==y.config.mode;if(y.selectedDateElem=n,"single"===y.config.mode)y.selectedDates=[a];else if("multiple"===y.config.mode){var i=ye(a);i?y.selectedDates.splice(parseInt(i),1):y.selectedDates.push(a)}else"range"===y.config.mode&&(2===y.selectedDates.length&&y.clear(!1,!1),y.latestSelectedDateObj=a,y.selectedDates.push(a),0!==M(a,y.selectedDates[0],!0)&&y.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(I(),o){var r=y.currentYear!==a.getFullYear();y.currentYear=a.getFullYear(),y.currentMonth=a.getMonth(),r&&(ve("onYearChange"),U()),ve("onMonthChange")}
vendor: 14,819 bytes, lines 67-68
67if(we(),K(),Me(),o||"range"===y.config.mode||1!==y.config.showMonths?void 0!==y.selectedDateElem&&void 0===y.hourElement&&y.selectedDateElem&&y.selectedDateElem.focus():R(n),void 0!==y.hourElement&&void 0!==y.hourElement&&y.hourElement.focus(),y.config.closeOnSelect){var l="single"===y.config.mode&&!y.config.enableTime,c="range"===y.config.mode&&2===y.selectedDates.length&&!y.config.enableTime;(l||c)&&ue()}A()}}y.parseDate=b({config:y.config,l10n:y.l10n}),y._handlers=[],y.pluginElements=[],y.loadedPlugins=[],y._bind=j,y._setHoursFromDate=S,y._positionCalendar=de,y.changeMonth=G,y.changeYear=X,y.clear=function(e,t){if(void 0===e&&(e=!0),void 0===t&&(t=!0),y.input.value="",void 0!==y.altInput&&(y.altInput.value=""),void 0!==y.mobileInput&&(y.mobileInput.value=""),y.selectedDates=[],y.latestSelectedDateObj=void 0,!0===t&&(y.currentYear=y._initialDate.getFullYear(),y.currentMonth=y._initialDate.getMonth()),!0===y.config.enableTime){var n=x(y.config);P(n.hours,n.minutes,n.seconds)}y.redraw(),e&&ve("onChange")},y.close=function(){y.isOpen=!1,y.isMobile||(void 0!==y.calendarContainer&&y.calendarContainer.classList.remove("open"),void 0!==y._input&&y._input.classList.remove("active")),ve("onClose")},y.onMouseOver=oe,y._createElement=s,y.createDay=L,y.destroy=function(){void 0!==y.config&&ve("onDestroy");for(var e=y._handlers.length;e--;)y._handlers[e].remove();if(y._handlers=[],y.mobileInput)y.mobileInput.parentNode&&y.mobileInput.parentNode.removeChild(y.mobileInput),y.mobileInput=void 0;else if(y.calendarContainer&&y.calendarContainer.parentNode)if(y.config.static&&y.calendarContainer.parentNode){var t=y.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else y.calendarContainer.parentNode.removeChild(y.calendarContainer);y.altInput&&(y.input.type="text",y.altInput.parentNode&&y.altInput.parentNode.removeChild(y.altInput),delete y.altInput),y.input&&(y.input.type=y.input._type,y.input.classList.remove("flatpickr-input"),y.input.removeAttribute("readonly")),
68["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete y[e]}catch(e){}}))},y.isEnabled=ee,y.jumpToDate=N,y.updateValue=Me,y.open=function(e,t){if(void 0===t&&(t=y._positionElement),!0===y.isMobile){if(e){e.preventDefault();var n=p(e);n&&n.blur()}return void 0!==y.mobileInput&&(y.mobileInput.focus(),y.mobileInput.click()),void ve("onOpen")}if(!y._input.disabled&&!y.config.inline){var a=y.isOpen;y.isOpen=!0,a||(y.calendarContainer.classList.add("open"),y._input.classList.add("active"),ve("onOpen"),de(t)),!0===y.config.enableTime&&!0===y.config.noCalendar&&(!1!==y.config.allowInput||void 0!==e&&y.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return y.hourElement.select()}),50))}},y.redraw=se,y.set=function(e,t){if(null!==e&&"object"==typeof e)for(var a in Object.assign(y.config,e),e)void 0!==me[a]&&me[a].forEach((function(e){return e()}));else y.config[e]=t,void 0!==me[e]?me[e].forEach((function(e){return e()})):n.indexOf(e)>-1&&(y.config[e]=c(t));y.redraw(),Me(!0)},y.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=y.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return y.clear(t);pe(e,n),y.latestSelectedDateObj=y.selectedDates[y.selectedDates.length-1],y.redraw(),N(void 0,t),S(),0===y.selectedDates.length&&y.clear(!1),Me(t),t&&ve("onChange")},y.toggle=function(e){if(!0===y.isOpen)return y.close();y.open(e)};var me={locale:[ce,z],showMonths:[q,k,V],minDate:[N],maxDate:[N],positionElement:[he],clickOpens:[function(){!0===y.config.clickOpens?(j(y._input,"focus",y.open),j(y._input,"click",y.open)):(y._input.removeEventListener("focus",y.open),y._input.removeEventListener("click",y.open))}]};function pe(e,t){var n=[];if(e instanceof Array)n=e.map((function(e){return y.parseDate(e,t)}));else if(e instanceof Date||"number"==typeof e)n=[y.parseDate(e,t)];else if("string"==typeof e)switch(y.config.mode){case"single":case"time":n=[y.parseDate(e,t)];break;case"multiple":n=e.split(y.config.conjunction).map((function(e){return y.parseDate(e,t)}));break;case"range":n=e.split(y.l10n.rangeSeparator).map((function(e){return y.parseDate(e,t)}))}else y.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));y.selectedDates=y.config.allowInvalidPreload?n:n.filter((function(e){return e instanceof Date&&ee(e,!1)})),"range"===y.config.mode&&y.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ge(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?y.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:y.parseDate(e.from,void 0),to:y.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function he(){y._positionElement=y.config.positionElement||y._input}function ve(e,t){if(void 0!==y.config){var n=y.config[e];if(void 0!==n&&n.length>0)for(var a=0;n[a]&&a<n.length;a++)n[a](y.selectedDates,y.input.value,y,t);"onChange"===e&&(y.input.dispatchEvent(De("change")),y.input.dispatchEvent(De("input")))}}function De(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}function ye(e){for(var t=0;t<y.selectedDates.length;t++){var n=y.selectedDates[t];if(n instanceof Date&&0===M(n,e))return""+t}return!1}function we(){y.config.noCalendar||y.isMobile||!y.monthNav||(y.yearElements.forEach((function(e,t){var n=new Date(y.currentYear,y.currentMonth,1);n.setMonth(y.currentMonth+t),y.config.showMonths>1||"static"===y.config.monthSelectorType?y.monthElements[t].textContent=h(n.getMonth(),y.config.shorthandCurrentMonth,y.l10n)+" ":y.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()})),y._hidePrevMonthArrow=void 0!==y.config.minDate&&(y.currentYear===y.config.minDate.getFullYear()?y.currentMonth<=y.config.minDate.getMonth():y.currentYear<y.config.minDate.getFullYear()),y._hideNextMonthArrow=void 0!==y.config.maxDate&&(y.currentYear===y.config.maxDate.getFullYear()?y.currentMonth+1>y.config.maxDate.getMonth():y.currentYear>y.config.maxDate.getFullYear()))}function be(e){var t=e||(y.config.altInput?y.config.altFormat:y.config.dateFormat);return y.selectedDates.map((function(e){return y.formatDate(e,t)})).filter((function(e,t,n){return"range"!==y.config.mode||y.config.enableTime||n.indexOf(e)===t})).join("range"!==y.config.mode?y.config.conjunction:y.l10n.rangeSeparator)}function Me(e){void 0===e&&(e=!0),void 0!==y.mobileInput&&y.mobileFormatStr&&(y.mobileInput.value=void 0!==y.latestSelectedDateObj?y.formatDate(y.latestSelectedDateObj,y.mobileFormatStr):""),y.input.value=be(y.config.dateFormat),void 0!==y.altInput&&(y.altInput.value=be(y.config.altFormat)),!1!==e&&ve("onValueUpdate")}function Ce(e){var t=p(e),n=y.prevMonthNav.contains(t),a=y.nextMonthNav.contains(t);n||a?G(n?-1:1):y.yearElements.indexOf(t)>=0?t.select():t.classList.contains("arrowUp")?y.changeYear(y.currentYear+1):t.classList.contains("arrowDown")&&y.changeYear(y.currentYear-1)}return function(){y.element=y.input=g,y.isOpen=!1,function(){var t=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],o=e(e({},JSON.parse(JSON.stringify(g.dataset||{}))),v),i={};y.config.parseDate=o.parseDate,y.config.formatDate=o.formatDate,Object.defineProperty(y.config,"enable",{get:function(){return y.config._enable},set:function(e){y.config._enable=ge(e)}}),Object.defineProperty(y.config,"disable",{get:function(){return y.config._disable},set:function(e){y.config._disable=ge(e)}});var r="time"===o.mode;if(!o.dateFormat&&(o.enableTime||r)){var l=O.defaultConfig.dateFormat||a.dateFormat;i.dateFormat=o.noCalendar||r?"H:i"+(o.enableSeconds?":S":""):l+" H:i"+(o.enableSeconds?":S":"")}if(o.altInput&&(o.enableTime||r)&&!o.altFormat){var d=O.defaultConfig.altFormat||a.altFormat;i.altFormat=o.noCalendar||r?"h:i"+(o.enableSeconds?":S K":" K"):d+" h:i"+(o.enableSeconds?":S":"")+" K"}Object.defineProperty(y.config,"minDate",{get:function(){return y.config._minDate},set:re("min")}),Object.defineProperty(y.config,"maxDate",{get:function(){return y.config._maxDate},set:re("max")});var s=function(e){return function(t){y.config["min"===e?"_minTime":"_maxTime"]=y.parseDate(t,"H:i:S")}};Object.defineProperty(y.config,"minTime",{get:function(){return y.config._minTime},set:s("min")}),Object.defineProperty(y.config,"maxTime",{get:function(){return y.config._maxTime},set:s("max")}),"time"===o.mode&&(y.config.noCalendar=!0,y.config.enableTime=!0),Object.assign(y.config,i,o);for(var u=0;u<t.length;u++)y.config[t[u]]=!0===y.config[t[u]]||"true"===y.config[t[u]];for(n.filter((function(e){return void 0!==y.config[e]})).forEach((function(e){y.config[e]=c(y.config[e]||[]).map(_)})),y.isMobile=!y.config.disableMobile&&!y.config.inline&&"single"===y.config.mode&&!y.config.disable.length&&!y.config.enable&&!y.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=0;u<y.config.plugins.length;u++){var f=y.config.plugins[u](y)||{};for(var m in f)n.indexOf(m)>-1?y.config[m]=c(f[m]).map(_).concat(y.config[m]):void 0===o[m]&&(y.config[m]=f[m])}o.altInputClass||(y.config.altInputClass=le().className+" "+y.config.altInputClass),ve("onParseConfig")}(),ce(),y.input=le(),y.input?(y.input._type=y.input.type,y.input.type="text",y.input.classList.add("flatpickr-input"),y._input=y.input,y.config.altInput&&(y.altInput=s(y.input.nodeName,y.config.altInputClass),y._input=y.altInput,y.altInput.placeholder=y.input.placeholder,y.altInput.disabled=y.input.disabled,y.altInput.required=y.input.required,y.altInput.tabIndex=y.input.tabIndex,y.altInput.type="text",y.input.setAttribute("type","hidden"),!y.config.static&&y.input.parentNode&&y.input.parentNode.insertBefore(y.altInput,y.input.nextSibling)),y.config.allowInput||y._input.setAttribute("readonly","readonly"),he()):y.config.errorHandler(new Error("Invalid input element specified")),function(){y.selectedDates=[],y.now=y.parseDate(y.config.now)||new Date;var e=y.config.defaultDate||("INPUT"!==y.input.nodeName&&"TEXTAREA"!==y.input.nodeName||!y.input.placeholder||y.input.value!==y.input.placeholder?y.input.value:null);e&&pe(e,y.config.dateFormat),y._initialDate=y.selectedDates.length>0?y.selectedDates[0]:y.config.minDate&&y.config.minDate.getTime()>y.now.getTime()?y.config.minDate:y.config.maxDate&&y.config.maxDate.getTime()<y.now.getTime()?y.config.maxDate:y.now,y.currentYear=y._initialDate.getFullYear(),y.currentMonth=y._initialDate.getMonth(),y.selectedDates.length>0&&(y.latestSelectedDateObj=y.selectedDates[0]),void 0!==y.config.minTime&&(y.config.minTime=y.parseDate(y.config.minTime,"H:i")),void 0!==y.config.maxTime&&(y.config.maxTime=y.parseDate(y.config.maxTime,"H:i")),y.minDateHasTime=!!y.config.minDate&&(y.config.minDate.getHours()>0||y.config.minDate.getMinutes()>0||y.config.minDate.getSeconds()>0),y.maxDateHasTime=!!y.config.maxDate&&(y.config.maxDate.getHours()>0||y.config.maxDate.getMinutes()>0||y.config.maxDate.getSeconds()>0)}(),y.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=y.currentMonth),void 0===t&&(t=y.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:y.l10n.daysInMonth[e]}},y.isMobile||function(){var e=window.document.createDocumentFragment();if(y.calendarContainer=s("div","flatpickr-calendar"),y.calendarContainer.tabIndex=-1,!y.config.noCalendar){if(e.appendChild((y.monthNav=s("div","flatpickr-months"),y.yearElements=[],y.monthElements=[],y.prevMonthNav=s("span","flatpickr-prev-month"),y.prevMonthNav.innerHTML=y.config.prevArrow,y.nextMonthNav=s("span","flatpickr-next-month"),y.nextMonthNav.innerHTML=y.config.nextArrow,q(),Object.defineProperty(y,"_hidePrevMonthArrow",{get:function(){return y.__hidePrevMonthArrow},set:function(e){y.__hidePrevMonthArrow!==e&&(d(y.prevMonthNav,"flatpickr-disabled",e),y.__hidePrevMonthArrow=e)}}),Object.defineProperty(y,"_hideNextMonthArrow",{get:function(){return y.__hideNextMonthArrow},set:function(e){y.__hideNextMonthArrow!==e&&(d(y.nextMonthNav,"flatpickr-disabled",e),y.__hideNextMonthArrow=e)}}),y.currentYearElement=y.yearElements[0],we(),y.monthNav)),y.innerContainer=s("div","flatpickr-innerContainer"),y.config.weekNumbers){var t=function(){y.calendarContainer.classList.add("hasWeeks");var e=s("div","flatpickr-weekwrapper");e.appendChild(s("span","flatpickr-weekday",y.l10n.weekAbbreviation));var t=s("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),n=t.weekWrapper,a=t.weekNumbers;y.innerContainer.appendChild(n),y.weekNumbers=a,y.weekWrapper=n}y.rContainer=s("div","flatpickr-rContainer"),y.rContainer.appendChild(V()),y.daysContainer||(y.daysContainer=s("div","flatpickr-days"),y.daysContainer.tabIndex=-1),K(),y.rContainer.appendChild(y.daysContainer),y.innerContainer.appendChild(y.rContainer),e.appendChild(y.innerContainer)}y.config.enableTime&&e.appendChild(function(){y.calendarContainer.classList.add("hasTime"),y.config.noCalendar&&y.calendarContainer.classList.add("noCalendar");var e=x(y.config);y.timeContainer=s("div","flatpickr-time"),y.timeContainer.tabIndex=-1;var t=s("span","flatpickr-time-separator",":"),n=m("flatpickr-hour",{"aria-label":y.l10n.hourAriaLabel});y.hourElement=n.getElementsByTagName("input")[0];var a=m("flatpickr-minute",{"aria-label":y.l10n.minuteAriaLabel});if(y.minuteElement=a.getElementsByTagName("input")[0],y.hourElement.tabIndex=y.minuteElement.tabIndex=-1,y.hourElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getHours():y.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),y.minuteElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getMinutes():e.minutes),y.hourElement.setAttribute("step",y.config.hourIncrement.toString()),y.minuteElement.setAttribute("step",y.config.minuteIncrement.toString()),y.hourElement.setAttribute("min",y.config.time_24hr?"0":"1"),y.hourElement.setAttribute("max",y.config.time_24hr?"23":"12"),y.hourElement.setAttribute("maxlength","2"),y.minuteElement.setAttribute("min","0"),y.minuteElement.setAttribute("max","59"),y.minuteElement.setAttribute("maxlength","2"),y.timeContainer.appendChild(n),y.timeContainer.appendChild(t),y.timeContainer.appendChild(a),y.c
vendor: 4,024 bytes, line 68
68onfig.time_24hr&&y.timeContainer.classList.add("time24hr"),y.config.enableSeconds){y.timeContainer.classList.add("hasSeconds");var o=m("flatpickr-second");y.secondElement=o.getElementsByTagName("input")[0],y.secondElement.value=i(y.latestSelectedDateObj?y.latestSelectedDateObj.getSeconds():e.seconds),y.secondElement.setAttribute("step",y.minuteElement.getAttribute("step")),y.secondElement.setAttribute("min","0"),y.secondElement.setAttribute("max","59"),y.secondElement.setAttribute("maxlength","2"),y.timeContainer.appendChild(s("span","flatpickr-time-separator",":")),y.timeContainer.appendChild(o)}return y.config.time_24hr||(y.amPM=s("span","flatpickr-am-pm",y.l10n.amPM[r((y.latestSelectedDateObj?y.hourElement.value:y.config.defaultHour)>11)]),y.amPM.title=y.l10n.toggleTitle,y.amPM.tabIndex=-1,y.timeContainer.appendChild(y.amPM)),y.timeContainer}()),d(y.calendarContainer,"rangeMode","range"===y.config.mode),d(y.calendarContainer,"animate",!0===y.config.animate),d(y.calendarContainer,"multiMonth",y.config.showMonths>1),y.calendarContainer.appendChild(e);var o=void 0!==y.config.appendTo&&void 0!==y.config.appendTo.nodeType;if((y.config.inline||y.config.static)&&(y.calendarContainer.classList.add(y.config.inline?"inline":"static"),y.config.inline&&(!o&&y.element.parentNode?y.element.parentNode.insertBefore(y.calendarContainer,y._input.nextSibling):void 0!==y.config.appendTo&&y.config.appendTo.appendChild(y.calendarContainer)),y.config.static)){var l=s("div","flatpickr-wrapper");y.element.parentNode&&y.element.parentNode.insertBefore(l,y.element),l.appendChild(y.element),y.altInput&&l.appendChild(y.altInput),l.appendChild(y.calendarContainer)}y.config.static||y.config.inline||(void 0!==y.config.appendTo?y.config.appendTo:window.document.body).appendChild(y.calendarContainer)}(),function(){if(y.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(y.element.querySelectorAll("[data-"+e+"]"),(function(t){return j(t,"click",y[e])}))})),y.isMobile)!function(){var e=y.config.enableTime?y.config.noCalendar?"time":"datetime-local":"date";y.mobileInput=s("input",y.input.className+" flatpickr-mobile"),y.mobileInput.tabIndex=1,y.mobileInput.type=e,y.mobileInput.disabled=y.input.disabled,y.mobileInput.required=y.input.required,y.mobileInput.placeholder=y.input.placeholder,y.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",y.selectedDates.length>0&&(y.mobileInput.defaultValue=y.mobileInput.value=y.formatDate(y.selectedDates[0],y.mobileFormatStr)),y.config.minDate&&(y.mobileInput.min=y.formatDate(y.config.minDate,"Y-m-d")),y.config.maxDate&&(y.mobileInput.max=y.formatDate(y.config.maxDate,"Y-m-d")),y.input.getAttribute("step")&&(y.mobileInput.step=String(y.input.getAttribute("step"))),y.input.type="hidden",void 0!==y.altInput&&(y.altInput.type="hidden");try{y.input.parentNode&&y.input.parentNode.insertBefore(y.mobileInput,y.input.nextSibling)}catch(e){}j(y.mobileInput,"change",(function(e){y.setDate(p(e).value,!1,y.mobileFormatStr),ve("onChange"),ve("onClose")}))}();else{var e=l(ie,50);y._debouncedChange=l(A,300),y.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&j(y.daysContainer,"mouseover",(function(e){"range"===y.config.mode&&oe(p(e))})),j(y._input,"keydown",ae),void 0!==y.calendarContainer&&j(y.calendarContainer,"keydown",ae),y.config.inline||y.config.static||j(window,"resize",e),void 0!==window.ontouchstart?j(window.document,"touchstart",Q):j(window.document,"mousedown",Q),j(window.document,"focus",Q,{capture:!0}),!0===y.config.clickOpens&&(j(y._input,"focus",y.open),j(y._input,"click",y.open)),void 0!==y.daysContainer&&(j(y.monthNav,"click",Ce),j(y.monthNav,["keyup","increment"],F),j(y.daysContainer,"click",fe)),void 0!==y.timeContainer&&void 0!==y.minuteElement&&void 0!==y.hourElement&&(j(y.timeContainer,["increment"],T),j(y.timeContainer,"blur",T,{capture:!0}),j(y.timeContainer,"click",Y),j([y.hourElement,y.minuteElement],["focus","click"],(function(e){return p(e).select()}
68)),void 0!==y.secondElement&&j(y.secondElement,"focus",(function(){return y.secondElement&&y.secondElement.select()})),void 0!==y.amPM&&j(y.amPM,"click",(function(e){T(e)}))),y.config.allowInput&&j(y._input,"blur",ne)}}(),(y.selectedDates.length||y.config.noCalendar)&&(y.config.enableTime&&S(y.config.noCalendar?y.latestSelectedDateObj:void 0),Me(!1)),k();var t=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!y.isMobile&&t&&de(),ve("onReady")}(),y}function _(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],o=0;o<n.length;o++){var i=n[o];try{if(null!==i.getAttribute("data-fp-omit"))continue;void 0!==i._flatpickr&&(i._flatpickr.destroy(),i._flatpickr=void 0),i._flatpickr=E(i,t||{}),a.push(i._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(t){t&&Object.keys(t).forEach((function(n){return e[n]=t[n]}))},o=0,i=t;o<i.length;o++)a(i[o]);return e}),"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return _(this,e)},HTMLElement.prototype.flatpickr=function(e){return _([this],e)});var O=function(e,t){return"string"==typeof e?_(window.document.querySelectorAll(e),t):e instanceof Node?_([e],t):_(e,t)};return O.defaultConfig={},O.l10ns={en:e({},o),default:e({},o)},O.localize=function(t){O.l10ns.default=e(e({},O.l10ns.default),t)},O.setDefaults=function(t){O.defaultConfig=e(e({},O.defaultConfig),t)},O.parseDate=b({}),O.formatDate=w({}),O.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return _(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=O),O}()),(x=E.exports)&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")&&x.default),(_={})&&_.__esModule&&Object.prototype.hasOwnProperty.call(_,"default")&&_.default),(O={})&&O.__esModule&&Object.prototype.hasOwnProperty.call(O,"default")&&O.default),(k={})&&k.__esModule&&Object.prototype.hasOwnProperty.call(k,"default")&&k.default),(T={})&&T.__esModule&&Object.prototype.hasOwnProperty.call(T,"default")&&T.default),(I={})&&I.__esModule&&Object.prototype.hasOwnProperty.call(I,"default")&&I.default),(S={})&&S.__esModule&&Object.prototype.hasOwnProperty.call(S,"default")&&S.default),(P={})&&P.__esModule&&Object.prototype.hasOwnProperty.call(P,"default")&&P.default),(F={})&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")&&F.default),(j={})&&j.__esModule&&Object.prototype.hasOwnProperty.call(j,"default")&&j.default),(A={})&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")&&A.default),(N={})&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")&&N.default),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),function(e){e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")&&e.default}({})),t),H=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(Y);return H}();;
69/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
70!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),--u;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;--u){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;--d)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r,i=c(e),o=i[0],s=t[1];return e=i[1],o&&(n=D(o=l(o,s))),o?e=n&&n.normalize?n.normalize(e,(r=s,function(e){return l(e,r)})):l(e,s):(o=(i=c(e=l(e,s)))[0],e=i[1],o&&(n=D(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:(t=e,function(){return y&&y.config&&y.c
70onfig[t]||{}})};var t}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);
70return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}
70),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","fal
70se"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;
70s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">&times;</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"
70V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;
70s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t,n=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===n.id}).length){var r=i.option(n);r.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([r])}t=n,i.trigger("select",{data:t})});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.
70select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptC
70ontainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}
70d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")}
70,d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});;
71/*
72 * jQuery.bind-first library v0.2.3
73 * Copyright (c) 2013 Vladimir Zhuravlev
74 *
75 * Released under MIT License
76 * @license
77 *
78 * Date: Thu Feb  6 10:13:59 ICT 2014
79 **/
80(function(t){function e(e){return u?e.data("events"):t._data(e[0]).events}function n(t,n,r){var i=e(t),a=i[n];if(!u){var s=r?a.splice(a.delegateCount-1,1)[0]:a.pop();return a.splice(r?0:a.delegateCount||0,0,s),void 0}r?i.live.unshift(i.live.pop()):a.unshift(a.pop())}function r(e,r,i){var a=r.split(/\s+/);e.each(function(){for(var e=0;a.length>e;++e){var r=a[e].trim().match(/[^\.]+/i)[0];n(t(this),r,i)}})}function i(e){t.fn[e+"First"]=function(){var n=t.makeArray(arguments),i=n.shift();return i&&(t.fn[e].apply(this,arguments),r(this,i)),this}}var a=t.fn.jquery.split("."),s=parseInt(a[0]),f=parseInt(a[1]),u=1>s||1==s&&7>f;i("bind"),i("one"),t.fn.delegateFirst=function(){var e=t.makeArray(arguments),n=e[1];return n&&(e.splice(0,2),t.fn.delegate.apply(this,arguments),r(this,n,!0)),this},t.fn.liveFirst=function(){var e=t.makeArray(arguments);return e.unshift(this.selector),t.fn.delegateFirst.apply(t(document),e),this},u||(t.fn.onFirst=function(e,n){var i=t(this),a="string"==typeof n;if(t.fn.on.apply(i,arguments),"object"==typeof e)for(type in e)e.hasOwnProperty(type)&&r(i,type,a);else"string"==typeof e&&r(i,e,a);return i})})(jQuery);;
81!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();
81t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if(i=e({path:"/"},t.defaults,i),"number"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}return r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape),document.cookie=[n,"=",r,i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,d=0;d<p.length;d++){var f=p[d].split("="),u=f.slice(1).join("=");'"'===u.charAt(0)&&(u=u.slice(1,-1));try{var l=f[0].replace(s,decodeURIComponent);if(u=o.read?o.read(u,l):o(u,l)||u.replace(s,decodeURIComponent),this.json)try{u=JSON.parse(u)}catch(e){}if(n===l){c=u;break}n||(c[l]=u)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}return n(function(){})});;
82!function(f){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).tldjs=f()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var allRules=require("./lib/suffix-trie.js").fromJson(require("./rules.json")),extractHostname=require("./lib/clean-host.js"),getDomain=require("./lib/domain.js"),getPublicSuffix=require("./lib/public-suffix.js"),getSubdomain=require("./lib/subdomain.js"),isValid=require("./lib/is-valid.js"),isIp=require("./lib/is-ip.js"),tldExists=require("./lib/tld-exists.js"),TLD_EXISTS=1,PUBLIC_SUFFIX=2,DOMAIN=3,SUB_DOMAIN=4,ALL=5;module.exports=function factory(options){var rules=options.rules||allRules||{},validHosts=options.validHosts||[],_extractHostname=options.extractHostname||extractHostname;function parse(url,_step){var step=_step||ALL,result={hostname:_extractHostname(url),isValid:null,isIp:null,tldExists:!1,publicSuffix:null,domain:null,subdomain:null};return null===result.hostname?(result.isIp=!1,result.isValid=!1,result):(result.isIp=isIp(result.hostname),result.isIp?(result.isValid=!0,result):(result.isValid=isValid(result.hostname),!1===result.isValid?result:(step!==ALL&&step!==TLD_EXISTS||(result.tldExists=tldExists(rules,result.hostname)),step===TLD_EXISTS?result:(result.publicSuffix=getPublicSuffix(rules,result.hostname),step===PUBLIC_SUFFIX?result:(result.domain=getDomain(validHosts,result.publicSuffix,result.hostname),step===DOMAIN?result:(result.subdomain=getSubdomain(result.hostname,result.domain),result))))))}return{extractHostname:_extractHostname,isValid:isValid,parse:parse,tldExists:function(url){return parse(url,TLD_EXISTS).tldExists},getPublicSuffix:function(url){return parse(url,PUBLIC_SUFFIX).publicSuffix},getDomain:function(url){return parse(url,DOMAIN).domain},getSubdomain:function(url){return parse(url,SUB_DOMAIN).subdomain},fromUserSettings:factory}}({})},{"./lib/clean-host.js":2,"./lib/domain.js":3,"./lib/is-ip.js":5,"./lib/is-valid.js":6,"./lib/public-suffix.js":7,"./lib/subdomain.js":8,"./lib/suffix-trie.js":9,"./lib/tld-exists.js":10,"./rules.json":17}],2:[function(require,module,exports){var URL=require("url"),isValid=require("./is-valid.js"),hasPrefixRE=/^(([a-z][a-z0-9+.-]*)?:)?\/\//;function trimTrailingDots(value){return"."===value[value.length-1]?value.substr(0,value.length-1):value}module.exports=function(value){if(isValid(value))return trimTrailingDots(value);var url=value;"string"!=typeof url&&(url=""+url);var needsTrimming=function(value){return value.length>0&&(value.charCodeAt(0)<=32||value.charCodeAt(value.length-1)<=32)}(url);needsTrimming&&(url=url.trim());var needsLowerCase=function(value){for(var i=0;i<value.length;i+=1){var code=value.charCodeAt(i);if(code>=65&&code<=90)return!0}return!1}(url);if(needsLowerCase&&(url=url.toLowerCase()),(needsLowerCase||needsTrimming)&&isValid(url))return trimTrailingDots(url);hasPrefixRE.test(url)||(url="//"+url);var parts=URL.parse(url,null,!0);return parts.hostname?trimTrailingDots(parts.hostname):null}},{"./is-valid.js":6,url:15}],3:[function(require,module,exports){"use strict";function shareSameDomainSuffix(hostname,vhost){return pattern=vhost,(str=hostname).lastIndexOf(pattern)===str.length-pattern.length&&(hostname.length===vhost.length||"."===hostname[hostname.length-vhost.length-1]);var str,pattern}
82module.exports=function(validHosts,suffix,hostname){for(var i=0;i<validHosts.length;i+=1){var vhost=validHosts[i];if(shareSameDomainSuffix(hostname,vhost))return vhost}return null===suffix?null:suffix.length===hostname.length?null:function(hostname,publicSuffix){var publicSuffixIndex=hostname.length-publicSuffix.length-2,lastDotBeforeSuffixIndex=hostname.lastIndexOf(".",publicSuffixIndex);return-1===lastDotBeforeSuffixIndex?hostname:hostname.substr(lastDotBeforeSuffixIndex+1)}(hostname,suffix)}},{}],4:[function(require,module,exports){"use strict";module.exports=function(hostname){var lastDotIndex=hostname.lastIndexOf(".");return-1===lastDotIndex?null:hostname.substr(lastDotIndex+1)}},{}],5:[function(require,module,exports){"use strict";module.exports=function(hostname){return"string"==typeof hostname&&(0!==hostname.length&&(function(hostname){for(var hasColon=!1,i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(58===code)hasColon=!0;else if(!(code>=48&&code<=57||code>=97&&code<=102))return!1}return hasColon}(hostname)||function(hostname){for(var numberOfDots=0,i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(46===code)numberOfDots+=1;else if(code<48||code>57)return!1}return 3===numberOfDots&&"."!==hostname[0]&&"."!==hostname[hostname.length-1]}(hostname)))}},{}],6:[function(require,module,exports){"use strict";function isDigit(code){return code>=48&&code<=57}function isAlpha(code){return code>=97&&code<=122}module.exports=function(hostname){if("string"!=typeof hostname)return!1;if(hostname.length>255)return!1;if(0===hostname.length)return!1;var firstCharCode=hostname.charCodeAt(0);if(!isAlpha(firstCharCode)&&!isDigit(firstCharCode))return!1;for(var lastCharCode,code,lastDotIndex=-1,len=hostname.length,i=0;i<len;i+=1){if(46===(code=hostname.charCodeAt(i))){if(i-lastDotIndex>64||46===lastCharCode||45===lastCharCode)return!1;lastDotIndex=i}else if(!isAlpha(code)&&!isDigit(code)&&45!==code)return!1;lastCharCode=code}return len-lastDotIndex-1<=63&&45!==lastCharCode}},{}],7:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function(rules,hostname){if(rules.hasTld(hostname))return hostname;var candidate=rules.suffixLookup(hostname);return null===candidate?extractTldFromHost(hostname):candidate}},{"./from-host.js":4}],8:[function(require,module,exports){"use strict";module.exports=function(hostname,domain){return null===domain?null:hostname.substr(0,hostname.length-domain.length-1)}},{}],9:[function(require,module,exports){"use strict";var VALID_HOSTNAME_VALUE=0;function minIndex(a,b){return null===a?b:null===b?a:a<b?a:b}function insertInTrie(rule,trie){for(var parts=rule.parts,node=trie,i=0;i<parts.length;i+=1){var part=parts[i],nextNode=node[part];void 0===nextNode&&(nextNode=Object.create(null),node[part]=nextNode),node=nextNode}return node.$=VALID_HOSTNAME_VALUE,trie}function lookupInTrie(parts,trie,index){var nextNode,publicSuffixIndex=null;return void 0!==trie.$&&(publicSuffixIndex=index+1),-1===index?publicSuffixIndex:(void 0!==(nextNode=trie[parts[index]])&&(publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))),void 0!==(nextNode=trie["*"])&&(publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))),publicSuffixIndex)}function SuffixTrie(rules){if(this.exceptions=Object.create(null),this.rules=Object.create(null),rules)for(var i=0;i<rules.length;i+=1){var rule=rules[i];rule.exception?insertInTrie(rule,this.exceptions):insertInTrie(rule,this.rules)}}SuffixTrie.fromJson=function(json){var trie=new SuffixTrie;return trie.exceptions=json.exceptions,trie.rules=json.rules,trie},SuffixTrie.prototype.hasTld=function(value){return void 0!==this.rules[value]},SuffixTrie.prototype.suffixLookup=function(hostname){var parts=hostname.split("."),publicSuffixIndex=lookupInTrie(parts,this.rules,parts.length-1);if(null===publicSuffixIndex)return null;var exceptionIndex=lookupInTrie(parts,this.exceptions,parts.length-1);return null!==exceptionIndex?parts.slice(exceptionIndex+1).join("."):parts.slice(publicSuffixIndex).join(".")},module.exports=SuffixTrie},{}],10:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function(rules,hostname){if(rules.hasTld(hostname))return!0;var hostTld=extractTldFromHost(hostname);return null!==hostTld&&rules.hasTld(hostTld)}},{"./from-host.js":4}],11:[function(require,module,exports){(function(global){!function(root){var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule="object"==typeof module&&module&&!module.nodeType&&module,freeGlobal="object"==typeof global&&global;freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal);
82var punycode,key,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode;function error(type){throw new RangeError(errors[type])}function map(array,fn){for(var length=array.length,result=[];length--;)result[length]=fn(array[length]);return result}function mapDomain(string,fn){var parts=string.split("@"),result="";return parts.length>1&&(result=parts[0]+"@",string=parts[1]),result+map((string=string.replace(regexSeparators,".")).split("."),fn).join(".")}function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)(value=string.charCodeAt(counter++))>=55296&&value<=56319&&counter<length?56320==(64512&(extra=string.charCodeAt(counter++)))?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--):output.push(value);return output}function ucs2encode(array){return map(array,function(value){var output="";return value>65535&&(output+=stringFromCharCode((value-=65536)>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value)}).join("")}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)}function adapt(delta,numPoints,firstTime){var k=0;for(delta=firstTime?floor(delta/damp):delta>>1,delta+=floor(delta/numPoints);delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var out,basic,j,index,oldi,w,k,digit,t,baseMinusT,codePoint,output=[],inputLength=input.length,i=0,n=initialN,bias=initialBias;for((basic=input.lastIndexOf(delimiter))<0&&(basic=0),j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;index>=inputLength&&error("invalid-input"),((digit=(codePoint=input.charCodeAt(index++))-48<10?codePoint-22:codePoint-65<26?codePoint-65:codePoint-97<26?codePoint-97:base)>=base||digit>floor((maxInt-i)/w))&&error("overflow"),i+=digit*w,!(digit<(t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias));k+=base)w>floor(maxInt/(baseMinusT=base-t))&&error("overflow"),w*=baseMinusT;bias=adapt(i-oldi,out=output.length+1,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,inputLength,handledCPCountPlusOne,baseMinusT,qMinusT,output=[];for(inputLength=(input=ucs2decode(input)).length,n=initialN,delta=0,bias=initialBias,j=0;j<inputLength;++j)(currentValue=input[j])<128&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);handledCPCount<inputLength;){for(m=maxInt,j=0;j<inputLength;++j)(currentValue=input[j])>=n&&currentValue<m&&(m=currentValue);for(m-n>floor((maxInt-delta)/(handledCPCountPlusOne=handledCPCount+1))&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;j<inputLength;++j)if((currentValue=input[j])<n&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;!(q<(t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias));k+=base)qMinusT=q-t,baseMinusT=base-t,output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT);output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")}if(punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:function(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})},toUnicode:function(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}}
vendor: 4,571 bytes, line 82
82,freeExports&&freeModule)if(module.exports==freeExports)freeModule.exports=punycode;else for(key in punycode)punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);else root.punycode=punycode}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&",eq=eq||"=";var obj={};if("string"!=typeof qs||0===qs.length)return obj;var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;options&&"number"==typeof options.maxKeys&&(maxKeys=options.maxKeys);var len=qs.length;maxKeys>0&&len>maxKeys&&(len=maxKeys);for(var i=0;i<len;++i){var kstr,vstr,k,v,x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq);idx>=0?(kstr=x.substr(0,idx),vstr=x.substr(idx+1)):(kstr=x,vstr=""),k=decodeURIComponent(kstr),v=decodeURIComponent(vstr),hasOwnProperty(obj,k)?isArray(obj[k])?obj[k].push(v):obj[k]=[obj[k],v]:obj[k]=v}return obj};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)}},{}],13:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){return sep=sep||"&",eq=eq||"=",null===obj&&(obj=void 0),"object"==typeof obj?map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;return isArray(obj[k])?map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep):ks+encodeURIComponent(stringifyPrimitive(obj[k]))}).join(sep):name?encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj)):""};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)};function map(xs,f){if(xs.map)return xs.map(f);for(var res=[],i=0;i<xs.length;i++)res.push(f(xs[i],i));return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&res.push(key);return res}},{}],14:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode")},{"./decode":12,"./encode":13}],15:[function(require,module,exports){"use strict";var punycode=require("punycode"),util=require("./util");function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}exports.parse=urlParse,exports.resolve=function(source,relative){return urlParse(source,!1,!0).resolve(relative)},exports.resolveObject=function(source,relative){return source?urlParse(source,!1,!0).resolveObject(relative):relative},exports.format=function(obj){util.isString(obj)&&(obj=urlParse(obj));return obj instanceof Url?obj.format():Url.prototype.format.call(obj)},exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,unwise=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url))throw new TypeError("Parameter 'url' must be a string, not "+typeof url);var queryIndex=url.indexOf("?"),splitter=-1!==queryIndex&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter);uSplit[0]=uSplit[0].replace(/\\/g,"/");var rest=url=uSplit.join(splitter);if(rest=rest.trim(),!slashesDenoteHost&&1===url.split("#").length){var simplePath=simplePathPattern.exec(rest);if(simplePath)return this.path=rest,this.href=rest,this.pathname=simplePath[1],simplePath[2]?(this.search=simplePath[2],this.query=p
vendor: 4,428 bytes, line 82
82arseQueryString?querystring.parse(this.search.substr(1)):this.search.substr(1)):parseQueryString&&(this.search="",this.query={}),this}var proto=protocolPattern.exec(rest);if(proto){var lowerProto=(proto=proto[0]).toLowerCase();this.protocol=lowerProto,rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes="//"===rest.substr(0,2);!slashes||proto&&hostlessProtocol[proto]||(rest=rest.substr(2),this.slashes=!0)}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){for(var auth,atSign,hostEnd=-1,i=0;i<hostEndingChars.length;i++){-1!==(hec=rest.indexOf(hostEndingChars[i]))&&(-1===hostEnd||hec<hostEnd)&&(hostEnd=hec)}-1!==(atSign=-1===hostEnd?rest.lastIndexOf("@"):rest.lastIndexOf("@",hostEnd))&&(auth=rest.slice(0,atSign),rest=rest.slice(atSign+1),this.auth=decodeURIComponent(auth)),hostEnd=-1;for(i=0;i<nonHostChars.length;i++){var hec;-1!==(hec=rest.indexOf(nonHostChars[i]))&&(-1===hostEnd||hec<hostEnd)&&(hostEnd=hec)}-1===hostEnd&&(hostEnd=rest.length),this.host=rest.slice(0,hostEnd),rest=rest.slice(hostEnd),this.parseHost(),this.hostname=this.hostname||"";var ipv6Hostname="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!ipv6Hostname)for(var hostparts=this.hostname.split(/\./),l=(i=0,hostparts.length);i<l;i++){var part=hostparts[i];if(part&&!part.match(hostnamePartPattern)){for(var newpart="",j=0,k=part.length;j<k;j++)part.charCodeAt(j)>127?newpart+="x":newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);bit&&(validParts.push(bit[1]),notHost.unshift(bit[2])),notHost.length&&(rest="/"+notHost.join(".")+rest),this.hostname=validParts.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),ipv6Hostname||(this.hostname=punycode.toASCII(this.hostname));var p=this.port?":"+this.port:"",h=this.hostname||"";this.host=h+p,this.href+=this.host,ipv6Hostname&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==rest[0]&&(rest="/"+rest))}if(!unsafeProtocol[lowerProto])for(i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(-1!==rest.indexOf(ae)){var esc=encodeURIComponent(ae);esc===ae&&(esc=escape(ae)),rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");-1!==hash&&(this.hash=rest.substr(hash),rest=rest.slice(0,hash));var qm=rest.indexOf("?");if(-1!==qm?(this.search=rest.substr(qm),this.query=rest.substr(qm+1),parseQueryString&&(this.query=querystring.parse(this.query)),rest=rest.slice(0,qm)):parseQueryString&&(this.search="",this.query={}),rest&&(this.pathname=rest),slashedProtocol[lowerProto]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){p=this.pathname||"";var s=this.search||"";this.path=p+s}return this.href=this.format(),this},Url.prototype.format=function(){var auth=this.auth||"";auth&&(auth=(auth=encodeURIComponent(auth)).replace(/%3A/i,":"),auth+="@");var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=!1,query="";this.host?host=auth+this.host:this.hostname&&(host=auth+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(host+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(query=querystring.stringify(this.query));var search=this.search||query&&"?"+query||"";return protocol&&":"!==protocol.substr(-1)&&(protocol+=":"),this.slashes||(!protocol||slashedProtocol[protocol])&&!1!==host?(host="//"+(host||""),pathname&&"/"!==pathname.charAt(0)&&(pathname="/"+pathname)):host||(host=""),hash&&"#"!==hash.charAt(0)&&(hash="#"+hash),search&&"?"!==search.charAt(0)&&(search="?"+search),protocol+host+(pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)}))+(search=search.replace("#","%23"))+hash},Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,!1,!0)).format()},Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,!1,!0),relative=rel}for(var result=new Url,tkeys=Object.keys(this),tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}if(result.hash=relative.hash,""===relative.href)return result.href=result.format(),result;if(relative.slashes&&!relative.protocol){for(var rkeys=Object.keys(relative),rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];
vendor: 5,154 bytes, line 82
82"protocol"!==rkey&&(result[rkey]=relative[rkey])}return slashedProtocol[result.protocol]&&result.hostname&&!result.pathname&&(result.path=result.pathname="/"),result.href=result.format(),result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){for(var keys=Object.keys(relative),v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}return result.href=result.format(),result}if(result.protocol=relative.protocol,relative.host||hostlessProtocol[relative.protocol])result.pathname=relative.pathname;else{for(var relPath=(relative.pathname||"").split("/");relPath.length&&!(relative.host=relPath.shift()););relative.host||(relative.host=""),relative.hostname||(relative.hostname=""),""!==relPath[0]&&relPath.unshift(""),relPath.length<2&&relPath.unshift(""),result.pathname=relPath.join("/")}if(result.search=relative.search,result.query=relative.query,result.host=relative.host||"",result.auth=relative.auth,result.hostname=relative.hostname||relative.host,result.port=relative.port,result.pathname||result.search){var p=result.pathname||"",s=result.search||"";result.path=p+s}return result.slashes=result.slashes||relative.slashes,result.href=result.format(),result}var isSourceAbs=result.pathname&&"/"===result.pathname.charAt(0),isRelAbs=relative.host||relative.pathname&&"/"===relative.pathname.charAt(0),mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],psychotic=(relPath=relative.pathname&&relative.pathname.split("/")||[],result.protocol&&!slashedProtocol[result.protocol]);if(psychotic&&(result.hostname="",result.port=null,result.host&&(""===srcPath[0]?srcPath[0]=result.host:srcPath.unshift(result.host)),result.host="",relative.protocol&&(relative.hostname=null,relative.port=null,relative.host&&(""===relPath[0]?relPath[0]=relative.host:relPath.unshift(relative.host)),relative.host=null),mustEndAbs=mustEndAbs&&(""===relPath[0]||""===srcPath[0])),isRelAbs)result.host=relative.host||""===relative.host?relative.host:result.host,result.hostname=relative.hostname||""===relative.hostname?relative.hostname:result.hostname,result.search=relative.search,result.query=relative.query,srcPath=relPath;else if(relPath.length)srcPath||(srcPath=[]),srcPath.pop(),srcPath=srcPath.concat(relPath),result.search=relative.search,result.query=relative.query;else if(!util.isNullOrUndefined(relative.search)){if(psychotic)result.hostname=result.host=srcPath.shift(),(authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@"))&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift());return result.search=relative.search,result.query=relative.query,util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.href=result.format(),result}if(!srcPath.length)return result.pathname=null,result.search?result.path="/"+result.search:result.path=null,result.href=result.format(),result;for(var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&("."===last||".."===last)||""===last,up=0,i=srcPath.length;i>=0;i--)"."===(last=srcPath[i])?srcPath.splice(i,1):".."===last?(srcPath.splice(i,1),up++):up&&(srcPath.splice(i,1),up--);if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift("..");!mustEndAbs||""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0)||srcPath.unshift(""),hasTrailingSlash&&"/"!==srcPath.join("/").substr(-1)&&srcPath.push("");var authInHost,isAbsolute=""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0);psychotic&&(result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"",(authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@"))&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift()));return(mustEndAbs=mustEndAbs||result.host&&srcPath.length)&&!isAbsolute&&srcPath.unshift(""),srcPath.length?result.pathname=srcPath.join("/"):(result.pathname=null,result.path=null),util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);port&&(":"!==(port=port[0])&&(this.port=port.substr(1)),host=host.substr(0,host.length-port.length)),host&&(this.hostname=host)}},{"./util":16,punycode:11,querystring:14}],16:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return"string"==typeof arg},isObject:function(arg){return"object"==typeof arg&&null!==arg},isNull:function(arg){return null===arg},isNullOrUndefined:function(arg){return null==arg}}},{}],17:[function(require,module,exports){module.exports={exceptions:{ck:{www:{$:0}},jp:{kawasaki:{city:{$:0}},kitakyushu:{city:{$:0}},kobe:{city:{$:0}},nagoya:{city:{$:0}},sapporo:{city:{$:0}},sendai:{city:{$:0}},yokohama:{city:{$:0}}}},rules:{ac:{$:0,com:{$:0},edu:{$:0},gov:{$:0}
82,net:{$:0},mil:{$:0},org:{$:0}},ad:{$:0,nom:{$:0}},ae:{$:0,co:{$:0},net:{$:0},org:{$:0},sch:{$:0},ac:{$:0},gov:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},aero:{$:0,"accident-investigation":{$:0},"accident-prevention":{$:0},aerobatic:{$:0},aeroclub:{$:0},aerodrome:{$:0},agents:{$:0},aircraft:{$:0},airline:{$:0},airport:{$:0},"air-surveillance":{$:0},airtraffic:{$:0},"air-traffic-control":{$:0},ambulance:{$:0},amusement:{$:0},association:{$:0},author:{$:0},ballooning:{$:0},broker:{$:0},caa:{$:0},cargo:{$:0},catering:{$:0},certification:{$:0},championship:{$:0},charter:{$:0},civilaviation:{$:0},club:{$:0},conference:{$:0},consultant:{$:0},consulting:{$:0},control:{$:0},council:{$:0},crew:{$:0},design:{$:0},dgca:{$:0},educator:{$:0},emergency:{$:0},engine:{$:0},engineer:{$:0},entertainment:{$:0},equipment:{$:0},exchange:{$:0},express:{$:0},federation:{$:0},flight:{$:0},freight:{$:0},fuel:{$:0},gliding:{$:0},government:{$:0},groundhandling:{$:0},group:{$:0},hanggliding:{$:0},homebuilt:{$:0},insurance:{$:0},journal:{$:0},journalist:{$:0},leasing:{$:0},logistics:{$:0},magazine:{$:0},maintenance:{$:0},media:{$:0},microlight:{$:0},modelling:{$:0},navigation:{$:0},parachuting:{$:0},paragliding:{$:0},"passenger-association":{$:0},pilot:{$:0},press:{$:0},production:{$:0},recreation:{$:0},repbody:{$:0},res:{$:0},research:{$:0},rotorcraft:{$:0},safety:{$:0},scientist:{$:0},services:{$:0},show:{$:0},skydiving:{$:0},software:{$:0},student:{$:0},trader:{$:0},trading:{$:0},trainer:{$:0},union:{$:0},workinggroup:{$:0},works:{$:0}},af:{$:0,gov:{$:0},com:{$:0},org:{$:0}
vendor: 2,434 bytes, line 82
82,net:{$:0},edu:{$:0}},ag:{$:0,com:{$:0},org:{$:0},net:{$:0},co:{$:0},nom:{$:0}},ai:{$:0,off:{$:0},com:{$:0},net:{$:0},org:{$:0},nom:{$:0}},al:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},am:{$:0,blogspot:{$:0}},ao:{$:0,ed:{$:0},gv:{$:0},og:{$:0},co:{$:0},pb:{$:0},it:{$:0}},aq:{$:0},ar:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gob:{$:0},gov:{$:0},int:{$:0},mil:{$:0},musica:{$:0},net:{$:0},org:{$:0},tur:{$:0}},arpa:{$:0,e164:{$:0},"in-addr":{$:0},ip6:{$:0},iris:{$:0},uri:{$:0},urn:{$:0}},as:{$:0,gov:{$:0}},asia:{$:0,cloudns:{$:0}},at:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gv:{$:0},or:{$:0},futurecms:{"*":{$:0}},futurehosting:{$:0},futuremailing:{$:0},ortsinfo:{ex:{"*":{$:0}},kunden:{"*":{$:0}}},biz:{$:0},info:{$:0},priv:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},au:{$:0,com:{$:0,blogspot:{$:0}},net:{$:0},org:{$:0},edu:{$:0,act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},gov:{$:0,qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},asn:{$:0},id:{$:0},info:{$:0},conf:{$:0},oz:{$:0},act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},aw:{$:0,com:{$:0}},ax:{$:0},az:{$:0,com:{$:0},net:{$:0},int:{$:0},gov:{$:0},org:{$:0},edu:{$:0},info:{$:0},pp:{$:0},mil:{$:0},name:{$:0},pro:{$:0},biz:{$:0}},ba:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0}},bb:{$:0,biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},net:{$:0},org:{$:0},store:{$:0},tv:{$:0}},bd:{"*":{$:0}},be:{$:0,ac:{$:0},webhosting:{$:0},blogspot:{$:0},transurl:{"*":{$:0}}},bf:{$:0,gov:{$:0}},bg:{0:{$:0},1:{$:0},2:{$:0},3:{$:0},4:{$:0},5:{$:0},6:{$:0},7:{$:0},8:{$:0},9:{$:0},$:0,a:{$:0},b:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},g:{$:0},h:{$:0},i:{$:0},j:{$:0},k:{$:0},l:{$:0},m:{$:0},n:{$:0},o:{$:0},p:{$:0},q:{$:0},r:{$:0},s:{$:0},t:{$:0},u:{$:0},v:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},blogspot:{$:0},barsy:{$:0}},bh:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0}},bi:{$:0,co:{$:0},com:{$:0},edu:{$:0},or:{$:0},org:{$:0}},biz:{$:0,cloudns:{$:0},dyndns:{$:0},"for-better":{$:0},"for-more":{$:0},"for-some":{$:0},"for-the":{$:0},selfip:{$:0},webhop:{$:0},mmafan:{$:0},myftp:{$:0},"no-ip":{$:0},dscloud:{$:0}},bj:{$:0,asso:{$:0},barreau:{$:0},gouv:{$:0},blogspot:{$:0}},bm:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bn:{"*":{$:0}},bo:{$:0,com:{$:0},edu:{$:0},gob:{$:0},int:{$:0},org:{$:0}
82,net:{$:0},mil:{$:0},tv:{$:0},web:{$:0},academia:{$:0},agro:{$:0},arte:{$:0},blog:{$:0},bolivia:{$:0},ciencia:{$:0},cooperativa:{$:0},democracia:{$:0},deporte:{$:0},ecologia:{$:0},economia:{$:0},empresa:{$:0},indigena:{$:0},industria:{$:0},info:{$:0},medicina:{$:0},movimiento:{$:0},musica:{$:0},natural:{$:0},nombre:{$:0},noticias:{$:0},patria:{$:0},politica:{$:0},profesional:{$:0},plurinacional:{$:0},pueblo:{$:0},revista:{$:0},salud:{$:0},tecnologia:{$:0},tksat:{$:0},transporte:{$:0},wiki:{$:0}},br:{$:0,"9guacu":{$:0},abc:{$:0},adm:{$:0},adv:{$:0},agr:{$:0},aju:{$:0},am:{$:0},anani:{$:0},aparecida:{$:0},arq:{$:0},art:{$:0},ato:{$:0},b:{$:0},belem:{$:0},bhz:{$:0},bio:{$:0},blog:{$:0},bmd:{$:0},boavista:{$:0},bsb:{$:0},campinagrande:{$:0},campinas:{$:0},caxias:{$:0},cim:{$:0},cng:{$:0},cnt:{$:0},com:{$:0,blogspot:{$:0}},contagem:{$:0},coop:{$:0},cri:{$:0},cuiaba:{$:0},curitiba:{$:0},def:{$:0},ecn:{$:0},eco:{$:0},edu:{$:0},emp:{$:0},eng:{$:0},esp:{$:0},etc:{$:0},eti:{$:0},far:{$:0},feira:{$:0},flog:{$:0},floripa:{$:0},fm:{$:0},fnd:{$:0},fortal:{$:0},fot:{$:0},foz:{$:0},fst:{$:0},g12:{$:0},ggf:{$:0},goiania:{$:0},gov:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},gru:{$:0},imb:{$:0},ind:{$:0},inf:{$:0},jab:{$:0},jampa:{$:0},jdf:{$:0},joinville:{$:0},jor:{$:0},jus:{$:0},leg:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},lel:{$:0},londrina:{$:0},macapa:{$:0},maceio:{$:0},manaus:{$:0},maringa:{$:0},mat:{$:0},med:{$:0},mil:{$:0},morena:{$:0},mp:{$:0},mus:{$:0},natal:{$:0},net:{$:0},niteroi:{$:0},nom:{"*":{$:0}},not:{$:0},ntr:{$:0},odo:{$:0},org:{$:0},osasco:{$:0},palmas:{$:0},poa:{$:0},ppg:{$:0},pro:{$:0},psc:{$:0},psi:{$:0},pvh:{$:0},qsl:{$:0},radio:{$:0},rec:{$:0},recife:{$:0},ribeirao:{$:0},rio:{$:0},riobranco:{$:0},riopreto:{$:0},salvador:{$:0},sampa:{$:0},santamaria:{$:0},santoandre:{$:0},saobernardo:{$:0},saogonca:{$:0},sjc:{$:0},slg:{$:0},slz:{$:0},sorocaba:{$:0},srv:{$:0},taxi:{$:0},teo:{$:0},the:{$:0},tmp:{$:0},trd:{$:0},tur:{$:0},tv:{$:0},udi:{$:0},vet:{$:0},vix:{$:0},vlog:{$:0},wiki:{$:0},zlg:{$:0}},bs:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},we:{$:0}},bt:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bv:{$:0},bw:{$:0,co:{$:0},org:{$:0}},by:{$:0,gov:{$:0},mil:{$:0},com:{$:0,blogspot:{$:0}},of:{$:0},nym:{$:0}},bz:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},za:{$:0},nym:{$:0}},ca:{$:0,ab:{$:0},bc:{$:0},mb:{$:0},nb:{$:0},nf:{$:0},nl:{$:0},ns:{$:0},nt:{$:0},nu:{$:0},on:{$:0},pe:{$:0},qc:{$:0},sk:{$:0},yk:{$:0},gc:{$:0},"1password":{$:0},awdev:{"*":{$:0}},co:{$:0},blogspot:{$:0},"no-ip":{$:0}},cat:{$:0},cc:{$:0,cloudns:{$:0},ftpaccess:{$:0},"game-server":{$:0},myphotos:{$:0},scrapping:{$:0},twmail:{$:0},fantasyleague:{$:0}},cd:{$:0,gov:{$:0}},cf:{$:0,blogspot:{$:0}},cg:{$:0},ch:{$:0,square7:{$:0},blogspot:{$:0},gotdns:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},ci:{$:0,org:{$:0},or:{$:0},com:{$:0},co:{$:0},edu:{$:0},ed:{$:0},ac:{$:0},net:{$:0},go:{$:0},asso:{$:0},"xn--aroport-bya":{$:0},int:{$:0},presse:{$:0},md:{$:0},gouv:{$:0}},ck:{"*":{$:0}},cl:{$:0,gov:{$:0},gob:{$:0},co:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},cm:{$:0,co:{$:0},com:{$:0},gov:{$:0},net:{$:0}},cn:{$:0,ac:{$:0},com:{$:0,amazonaws:{compute:{"*":{$:0}},eb:{"cn-north-1":{$:0}},elb:{"*":{$:0}},"cn-north-1":{s3:{$:0}}}},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0},mil:{$:0},"xn--55qx5d":{$:0},"xn--io0a7i":{$:0},"xn--od0alg":{$:0},ah:{$:0},bj:{$:0},cq:{$:0},fj:{$:0},gd:{$:0},gs:{$:0},gz:{$:0},gx:{$:0},ha:{$:0},hb:{$:0},he:{$:0},hi:{$:0},hl:{$:0},hn:{$:0},jl:{$:0},js:{$:0},jx:{$:0},ln:{$:0},nm:{$:0},nx:{$:0},qh:{$:0},sc:{$:0},sd:{$:0},sh:{$:0},sn:{$:0},sx:{$:0},tj:{$:0},xj:{$:0},xz:{$:0},yn:{$:0},zj:{$:0},hk:{$:0},mo:{$:0},tw:{$:0}},co:{$:0,arts:{$:0},com:{$:0,blogspot:{$:0}},edu:{$:0},firm:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 10,163 bytes, line 82
82,net:{$:0},nom:{$:0},org:{$:0},rec:{$:0},web:{$:0},nodum:{$:0}},com:{$:0,"1password":{$:0},amazonaws:{compute:{"*":{$:0}},"compute-1":{"*":{$:0}},"us-east-1":{$:0,dualstack:{s3:{$:0}}},elb:{"*":{$:0}},s3:{$:0},"s3-ap-northeast-1":{$:0},"s3-ap-northeast-2":{$:0},"s3-ap-south-1":{$:0},"s3-ap-southeast-1":{$:0},"s3-ap-southeast-2":{$:0},"s3-ca-central-1":{$:0},"s3-eu-central-1":{$:0},"s3-eu-west-1":{$:0},"s3-eu-west-2":{$:0},"s3-eu-west-3":{$:0},"s3-external-1":{$:0},"s3-fips-us-gov-west-1":{$:0},"s3-sa-east-1":{$:0},"s3-us-gov-west-1":{$:0},"s3-us-east-2":{$:0},"s3-us-west-1":{$:0},"s3-us-west-2":{$:0},"ap-northeast-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-south-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ca-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-3":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"us-east-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-northeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-2":{dualstack:{s3:{$:0}}},"eu-west-1":{dualstack:{s3:{$:0}}},"sa-east-1":{dualstack:{s3:{$:0}}},"s3-website-us-east-1":{$:0},"s3-website-us-west-1":{$:0},"s3-website-us-west-2":{$:0},"s3-website-ap-northeast-1":{$:0},"s3-website-ap-southeast-1":{$:0},"s3-website-ap-southeast-2":{$:0},"s3-website-eu-west-1":{$:0},"s3-website-sa-east-1":{$:0}},elasticbeanstalk:{$:0,"ap-northeast-1":{$:0},"ap-northeast-2":{$:0},"ap-south-1":{$:0},"ap-southeast-1":{$:0},"ap-southeast-2":{$:0},"ca-central-1":{$:0},"eu-central-1":{$:0},"eu-west-1":{$:0},"eu-west-2":{$:0},"eu-west-3":{$:0},"sa-east-1":{$:0},"us-east-1":{$:0},"us-east-2":{$:0},"us-gov-west-1":{$:0},"us-west-1":{$:0},"us-west-2":{$:0}},"on-aptible":{$:0},myasustor:{$:0},betainabox:{$:0},bplaced:{$:0},ar:{$:0},br:{$:0},cn:{$:0},de:{$:0},eu:{$:0},gb:{$:0},hu:{$:0},jpn:{$:0},kr:{$:0},mex:{$:0},no:{$:0},qc:{$:0},ru:{$:0},sa:{$:0},se:{$:0},uk:{$:0},us:{$:0},uy:{$:0},za:{$:0},africa:{$:0},gr:{$:0},co:{$:0},xenapponazure:{$:0},jdevcloud:{$:0},wpdevcloud:{$:0},cloudcontrolled:{$:0},cloudcontrolapp:{$:0},drayddns:{$:0},dreamhosters:{$:0},mydrobo:{$:0},"dyndns-at-home":{$:0},"dyndns-at-work":{$:0},"dyndns-blog":{$:0},"dyndns-free":{$:0},"dyndns-home":{$:0},"dyndns-ip":{$:0},"dyndns-mail":{$:0},"dyndns-office":{$:0},"dyndns-pics":{$:0},"dyndns-remote":{$:0},"dyndns-server":{$:0},"dyndns-web":{$:0},"dyndns-wiki":{$:0},"dyndns-work":{$:0},blogdns:{$:0},cechire:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},"dyn-o-saur":{$:0},dynalias:{$:0},"est-a-la-maison":{$:0},"est-a-la-masion":{$:0},"est-le-patron":{$:0},"est-mon-blogueur":{$:0},"from-ak":{$:0},"from-al":{$:0},"from-ar":{$:0},"from-ca":{$:0},"from-ct":{$:0},"from-dc":{$:0},"from-de":{$:0},"from-fl":{$:0},"from-ga":{$:0},"from-hi":{$:0},"from-ia":{$:0},"from-id":{$:0},"from-il":{$:0},"from-in":{$:0},"from-ks":{$:0},"from-ky":{$:0},"from-ma":{$:0},"from-md":{$:0},"from-mi":{$:0},"from-mn":{$:0},"from-mo":{$:0},"from-ms":{$:0},"from-mt":{$:0},"from-nc":{$:0},"from-nd":{$:0},"from-ne":{$:0},"from-nh":{$:0},"from-nj":{$:0},"from-nm":{$:0},"from-nv":{$:0},"from-oh":{$:0},"from-ok":{$:0},"from-or":{$:0},"from-pa":{$:0},"from-pr":{$:0},"from-ri":{$:0},"from-sc":{$:0},"from-sd":{$:0},"from-tn":{$:0},"from-tx":{$:0},"from-ut":{$:0},"from-va":{$:0},"from-vt":{$:0},"from-wa":{$:0},"from-wi":{$:0},"from-wv":{$:0},"from-wy":{$:0},getmyip:{$:0},gotdns:{$:0},"hobby-site":{$:0},homelinux:{$:0},homeunix:{$:0},iamallama:{$:0},"is-a-anarchist":{$:0},"is-a-blogger":{$:0},"is-a-bookkeeper":{$:0},"is-a-bulls-fan":{$:0},"is-a-caterer":{$:0},"is-a-chef":{$:0},"is-a-conservative":{$:0},"is-a-cpa":{$:0},"is-a-cubicle-slave":{$:0},"is-a-democrat":{$:0},"is-a-designer":{$:0},"is-a-doctor":{$:0},"is-a-financialadvisor":{$:0},"is-a-geek":{$:0},"is-a-green":{$:0},"is-a-guru":{$:0},"is-a-hard-worker":{$:0},"is-a-hunter":{$:0},"is-a-landscaper":{$:0},"is-a-lawyer":{$:0},"is-a-liberal":{$:0},"is-a-libertarian":{$:0},"is-a-llama":{$:0},"is-a-musician":{$:0},"is-a-nascarfan":{$:0},"is-a-nurse":{$:0},"is-a-painter":{$:0},"is-a-personaltrainer":{$:0},"is-a-photographer":{$:0},"is-a-player":{$:0},"is-a-republican":{$:0},"is-a-rockstar":{$:0},"is-a-socialist":{$:0},"is-a-student":{$:0},"is-a-teacher":{$:0},"is-a-techie":{$:0},"is-a-therapist":{$:0},"is-an-accountant":{$:0},"is-an-actor":{$:0},"is-an-actress":{$:0},"is-an-anarchist":{$:0},"is-an-artist":{$:0},"is-an-engineer":{$:0},"is-an-entertainer":{$:0},"is-certified":{$:0},"is-gone":{$:0},"is-into-anime":{$:0},"is-into-cars":{$:0},"is-into-cartoons":{$:0},"is-into-games":{$:0},"is-leet":{$:0},"is-not-certified":{$:0},"is-slick":{$:0},"is-uberleet":{$:0},"is-with-theband":{$:0},"isa-geek":{$:0},"isa-hockeynut":{$:0},issmarterthanyou:{$:0},"likes-pie":{$:0},likescandy:{$:0},"neat-url":{$:0},"saves-the-whales":{$:0},selfip:{$:0},"sells-for-less":{$:0},"sells-for-u":{$:0},servebbs:{$:0},"simple-url":{$:0},"space-to-rent":{$:0},"teaches-yoga":{$:0},writesthisblog:{$:0},ddnsfree:{$:0},ddnsgeek:{$:0},giize:{$:0},gleeze:{$:0},kozow:{$:0},loseyourip:{$:0},ooguy:{$:0},theworkpc:{$:0},mytuleap:{$:0},evennode:{"eu-1":{$:0},"eu-2":{$:0},"eu-3":{$:0},"eu-4":{$:0},"us-1":{$:0},"us-2":{$:0},"us-3":{$:0},"us-4":{$:0}},fbsbx:{apps:{$:0}},firebaseapp:{$:0},flynnhub:{$:0},"freebox-os":{$:0},freeboxos:{$:0},githubusercontent:{$:0},"0emm":{"*":{$:0}},appspot:{$:0},blogspot:{$:0},codespot:{$:0},googleapis:{$:0},googlecode:{$:0},pagespeedmobilizer:{$:0},publishproxy:{$:0},withgoogle:{$:0},withyoutube:{$:0},herokuapp:{$:0},herokussl:{$:0},pixolino:{$:0},joyent:{cns:{"*":{$:0}}},barsyonline:{$:0},meteorapp:{$:0,eu:{$:0}},bitballoon:{$:0},netlify:{$:0},"4u":{$:0},nfshost:{$:0},blogsyte:{$:0},ciscofreak:{$:0},damnserver:{$:0},ditchyourip:{$:0},dnsiskinky:{$:0},dynns:{$:0},geekgalaxy:{$:0},"health-carereform":{$:0},homesecuritymac:{$:0},homesecuritypc:{$:0},myactivedirectory:{$:0},mysecuritycamera:{$:0},"net-freaks":{$:0},onthewifi:{$:0},point2this:{$:0},quicksytes:{$:0},securitytactics:{$:0},serveexchange:{$:0},servehumour:{$:0},servep2p:{$:0},servesarcasm:{$:0},stufftoread:{$:0},unusualperson:{$:0},workisboring:{$:0},"3utilities":{$:0},ddnsking:{$:0},myvnc:{$:0},servebeer:{$:0},servecounterstrike:{$:0},serveftp:{$:0},servegame:{$:0},servehalflife:{$:0},servehttp:{$:0},serveirc:{$:0},servemp3:{$:0},servepics:{$:0},servequake:{$:0},operaunite:{$:0},outsystemscloud:{$:0},ownprovider:{$:0},pgfog:{$:0},pagefrontapp:{$:0},gotpantheon:{$:0},prgmr:{xen:{$:0}},qa2:{$:0},"dev-myqnapcloud":{$:0},"alpha-myqnapcloud":{$:0},myqnapcloud:{$:0},quipelements:{"*":{$:0}},rackmaze:{$:0},rhcloud:{$:0},logoip:{$:0},scrysec:{$:0},"firewall-gateway":{$:0},myshopblocks:{$:0},"1kapp":{$:0},appchizi:{$:0},applinzi:{$:0},sinaapp:{$:0},vipsinaapp:{$:0},"bounty-full":{$:0,alpha:{$:0},beta:{$:0}},"temp-dns":{$:0},dsmynas:{$:0},familyds:{$:0},bloxcms:{$:0},"townnews-staging":{$:0},hk:{$:0},remotewd:{$:0},yolasite:{$:0}},coop:{$:0},cr:{$:0,ac:{$:0},co:{$:0},ed:{$:0},fi:{$:0},go:{$:0},or:{$:0},sa:{$:0}},cu:{$:0,com:{$:0},edu:{$:0},org:{$:0},net:{$:0},gov:{$:0},inf:{$:0}},cv:{$:0,blogspot:{$:0}},cw:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},cx:{$:0,gov:{$:0},ath:{$:0},info:{$:0}},cy:{$:0,ac:{$:0},biz:{$:0},com:{$:0,blogspot:{$:0}},ekloges:{$:0},gov:{$:0},ltd:{$:0},name:{$:0},net:{$:0},org:{$:0},parliament:{$:0},press:{$:0},pro:{$:0},tm:{$:0}},cz:{$:0,co:{$:0},realm:{$:0},e4:{$:0},blogspot:{$:0},metacentrum:{cloud:{$:0},custom:{$:0}}},de:{$:0,bplaced:{$:0},square7:{$:0},com:{$:0},cosidns:{dyn:{$:0}},"dynamisches-dns":{$:0},dnsupdater:{$:0},"internet-dns":{$:0},"l-o-g-i-n":{$:0},dnshome:{$:0},fuettertdasnetz:{$:0},isteingeek:{$:0},istmein:{$:0},lebtimnetz:{$:0},leitungsen:{$:0},traeumtgerade:{$:0},ddnss:{$:0,dyn:{$:0},dyndns:{$:0}},dyndns1:{$:0},"dyn-ip24":{$:0},"home-webserver":{$:0,dyn:{$:0}},"myhome-server":{$:0},goip:{$:0},blogspot:{$:0},keymachine:{$:0},"git-repos":{$:0},"lcube-server":{$:0},"svn-repos":{$:0},barsy:{$:0},logoip:{$:0},"firewall-gateway":{$:0},"my-gateway":{$:0},"my-router":{$:0},spdns:{$:0},"taifun-dns":{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0},"dd-dns":{$:0},"dray-dns":{$:0},draydns:{$:0},"dyn-vpn":{$:0},dynvpn:{$:0},"mein-vigor":{$:0},"my-vigor":{$:0},"my-wan":{$:0},"syno-ds":{$:0},"synology-diskstation":{$:0},"synology-ds":{$:0}},dj:{$:0},dk:{$:0,biz:{$:0},co:{$:0},firm:{$:0},reg:{$:0},store:{$:0},blogspot:{$:0}},dm:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},do:{$:0,art:{$:0},com:{$:0},edu:{$:0},gob:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},sld:{$:0},web:{$:0}},dz:{$:0,com:{$:0},org:{$:0},net:{$:0},gov:{$:0},edu:{$:0},asso:{$:0},pol:{$:0},art:{$:0}},ec:{$:0,com:{$:0},info:{$:0},net:{$:0},fin:{$:0},k12:{$:0},med:{$:0},pro:{$:0},org:{$:0},edu:{$:0},gov:{$:0},gob:{$:0},mil:{$:0}},edu:{$:0},ee:{$:0,edu:{$:0},gov:{$:0},riik:{$:0},lib:{$:0},med:{$:0},com:{$:0,blogspot:{$:0}},pri:{$:0},aip:{$:0},org:{$:0},fie:{$:0}},eg:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},eun:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sci:{$:0}},er:{"*":{$:0}},es:{$:0,com:{$:0,blogspot:{$:0}},nom:{$:0},org:{$:0},gob:{$:0},edu:{$:0}},et:{$:0,com:{$:0},gov:{$:0},org:{$:0},edu:{$:0},biz:{$:0},name:{$:0},info:{$:0},net:{$:0}},eu:{$:0,"1password":{$:0},mycd:{$:0},cloudns:{$:0},barsy:{$:0},wellbeingzone:{$:0},spdns:{$:0},transurl:{"*":{$:0}},diskstation:{$:0}},fi:{$:0,aland:{$:0},dy:{$:0},blogspot:{$:0},iki:{$:0}},fj:{"*":{$:0}},fk:{"*":{$:0}},fm:{$:0},fo:{$:0},fr:{$:0,com:{$:0},asso:{$:0},nom:{$:0},prd:{$:0},presse:{$:0},tm:{$:0},aeroport:{$:0},assedic:{$:0},avocat:{$:0},avoues:{$:0},cci:{$:0},chambagri:{$:0},"chirurgiens-dentistes":{$:0},"experts-comptables":{$:0},"geometre-expert":{$:0},gouv:{$:0},greta:{$:0},"huissier-justice":{$:0},medecin:{$:0},notaires:{$:0},pharmacien:{$:0},port:{$:0},veterinaire:{$:0},"fbx-os":{$:0},fbxos:{$:0},"freebox-os":{$:0},freeboxos:{$:0},blogspot:{$:0},"on-web":{$:0},"chirurgiens-dentistes-en-france":{$:0}},ga:{$:0},gb:{$:0},gd:{$:0,nom:{$:0}},ge:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}
82,net:{$:0},pvt:{$:0}},gf:{$:0},gg:{$:0,co:{$:0},net:{$:0},org:{$:0},cya:{$:0}},gh:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}},gi:{$:0,com:{$:0},ltd:{$:0},gov:{$:0},mod:{$:0},edu:{$:0},org:{$:0}},gl:{$:0,co:{$:0},com:{$:0},edu:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gm:{$:0},gn:{$:0,ac:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},gov:{$:0},gp:{$:0,com:{$:0},net:{$:0},mobi:{$:0},edu:{$:0},org:{$:0},asso:{$:0}},gq:{$:0},gr:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0},blogspot:{$:0},nym:{$:0}},gs:{$:0},gt:{$:0,com:{$:0},edu:{$:0},gob:{$:0},ind:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gu:{"*":{$:0}},gw:{$:0},gy:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},hk:{$:0,com:{$:0},edu:{$:0},gov:{$:0},idv:{$:0},net:{$:0},org:{$:0},"xn--55qx5d":{$:0},"xn--wcvs22d":{$:0},"xn--lcvr32d":{$:0},"xn--mxtq1m":{$:0},"xn--gmqw5a":{$:0},"xn--ciqpn":{$:0},"xn--gmq050i":{$:0},"xn--zf0avx":{$:0},"xn--io0a7i":{$:0},"xn--mk0axi":{$:0},"xn--od0alg":{$:0},"xn--od0aq3b":{$:0},"xn--tn0ag":{$:0},"xn--uc0atv":{$:0},"xn--uc0ay4a":{$:0},blogspot:{$:0},ltd:{$:0},inc:{$:0}},hm:{$:0},hn:{$:0,com:{$:0},edu:{$:0},org:{$:0}
vendor: 2,175 bytes, line 82
82,net:{$:0},mil:{$:0},gob:{$:0},nom:{$:0}},hr:{$:0,iz:{$:0},from:{$:0},name:{$:0},com:{$:0},blogspot:{$:0}},ht:{$:0,com:{$:0},shop:{$:0},firm:{$:0},info:{$:0},adult:{$:0},net:{$:0},pro:{$:0},org:{$:0},med:{$:0},art:{$:0},coop:{$:0},pol:{$:0},asso:{$:0},edu:{$:0},rel:{$:0},gouv:{$:0},perso:{$:0}},hu:{2000:{$:0},$:0,co:{$:0},info:{$:0},org:{$:0},priv:{$:0},sport:{$:0},tm:{$:0},agrar:{$:0},bolt:{$:0},casino:{$:0},city:{$:0},erotica:{$:0},erotika:{$:0},film:{$:0},forum:{$:0},games:{$:0},hotel:{$:0},ingatlan:{$:0},jogasz:{$:0},konyvelo:{$:0},lakas:{$:0},media:{$:0},news:{$:0},reklam:{$:0},sex:{$:0},shop:{$:0},suli:{$:0},szex:{$:0},tozsde:{$:0},utazas:{$:0},video:{$:0},blogspot:{$:0}},id:{$:0,ac:{$:0},biz:{$:0},co:{$:0,blogspot:{$:0}},desa:{$:0},go:{$:0},mil:{$:0},my:{$:0},net:{$:0},or:{$:0},sch:{$:0},web:{$:0}},ie:{$:0,gov:{$:0},blogspot:{$:0}},il:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gov:{$:0},idf:{$:0},k12:{$:0},muni:{$:0},net:{$:0},org:{$:0}},im:{$:0,ac:{$:0},co:{$:0,ltd:{$:0},plc:{$:0}},com:{$:0},net:{$:0},org:{$:0},tt:{$:0},tv:{$:0},ro:{$:0},nom:{$:0}},in:{$:0,co:{$:0},firm:{$:0},net:{$:0},org:{$:0},gen:{$:0},ind:{$:0},nic:{$:0},ac:{$:0},edu:{$:0},res:{$:0},gov:{$:0},mil:{$:0},cloudns:{$:0},blogspot:{$:0},barsy:{$:0}},info:{$:0,cloudns:{$:0},"dynamic-dns":{$:0},dyndns:{$:0},"barrel-of-knowledge":{$:0},"barrell-of-knowledge":{$:0},"for-our":{$:0},"groks-the":{$:0},"groks-this":{$:0},"here-for-more":{$:0},knowsitall:{$:0},selfip:{$:0},webhop:{$:0},nsupdate:{$:0},dvrcam:{$:0},ilovecollege:{$:0},"no-ip":{$:0},"v-info":{$:0}},int:{$:0,eu:{$:0}},io:{$:0,com:{$:0},backplaneapp:{$:0},boxfuse:{$:0},browsersafetymark:{$:0},dedyn:{$:0},drud:{$:0},definima:{$:0},enonic:{$:0,customer:{$:0}},github:{$:0},gitlab:{$:0},"hasura-app":{$:0},ngrok:{$:0},nodeart:{stage:{$:0}},nodum:{$:0},nid:{$:0},pantheonsite:{$:0},protonet:{$:0},vaporcloud:{$:0},resindevice:{$:0},resinstaging:{devices:{$:0}},hzc:{$:0},sandcats:{$:0},s5y:{"*":{$:0}},shiftedit:{$:0},lair:{apps:{$:0}},stolos:{"*":{$:0}},spacekit:{$:0},thingdust:{dev:{cust:{$:0}},disrec:{cust:{$:0}},prod:{cust:{$:0}},testing:{cust:{$:0}}},wedeploy:{$:0}},iq:{$:0,gov:{$:0},edu:{$:0},mil:{$:0},com:{$:0},org:{$:0}
82,net:{$:0}},ir:{$:0,ac:{$:0},co:{$:0},gov:{$:0},id:{$:0},net:{$:0},org:{$:0},sch:{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0}},is:{$:0,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},int:{$:0},cupcake:{$:0},blogspot:{$:0}},it:{$:0,gov:{$:0},edu:{$:0},abr:{$:0},abruzzo:{$:0},"aosta-valley":{$:0},aostavalley:{$:0},bas:{$:0},basilicata:{$:0},cal:{$:0},calabria:{$:0},cam:{$:0},campania:{$:0},"emilia-romagna":{$:0},emiliaromagna:{$:0},emr:{$:0},"friuli-v-giulia":{$:0},"friuli-ve-giulia":{$:0},"friuli-vegiulia":{$:0},"friuli-venezia-giulia":{$:0},"friuli-veneziagiulia":{$:0},"friuli-vgiulia":{$:0},"friuliv-giulia":{$:0},"friulive-giulia":{$:0},friulivegiulia:{$:0},"friulivenezia-giulia":{$:0},friuliveneziagiulia:{$:0},friulivgiulia:{$:0},fvg:{$:0},laz:{$:0},lazio:{$:0},lig:{$:0},liguria:{$:0},lom:{$:0},lombardia:{$:0},lombardy:{$:0},lucania:{$:0},mar:{$:0},marche:{$:0},mol:{$:0},molise:{$:0},piedmont:{$:0},piemonte:{$:0},pmn:{$:0},pug:{$:0},puglia:{$:0},sar:{$:0},sardegna:{$:0},sardinia:{$:0},sic:{$:0},sicilia:{$:0},sicily:{$:0},taa:{$:0},tos:{$:0},toscana:{$:0},"trentino-a-adige":{$:0},"trentino-aadige":{$:0},"trentino-alto-adige":{$:0},"trentino-altoadige":{$:0},"trentino-s-tirol":{$:0},"trentino-stirol":{$:0},"trentino-sud-tirol":{$:0},"trentino-sudtirol":{$:0},"trentino-sued-tirol":{$:0},"trentino-suedtirol":{$:0},"trentinoa-adige":{$:0},trentinoaadige:{$:0},"trentinoalto-adige":{$:0},trentinoaltoadige:{$:0},"trentinos-tirol":{$:0},trentinostirol:{$:0},"trentinosud-tirol":{$:0},trentinosudtirol:{$:0},"trentinosued-tirol":{$:0},trentinosuedtirol:{$:0},tuscany:{$:0},umb:{$:0},umbria:{$:0},"val-d-aosta":{$:0},"val-daosta":{$:0},"vald-aosta":{$:0},valdaosta:{$:0},"valle-aosta":{$:0},"valle-d-aosta":{$:0},"valle-daosta":{$:0},valleaosta:{$:0},"valled-aosta":{$:0},valledaosta:{$:0},"vallee-aoste":{$:0},valleeaoste:{$:0},vao:{$:0},vda:{$:0},ven:{$:0},veneto:{$:0},ag:{$:0},agrigento:{$:0},al:{$:0},alessandria:{$:0},"alto-adige":{$:0},altoadige:{$:0},an:{$:0},ancona:{$:0},"andria-barletta-trani":{$:0},"andria-trani-barletta":{$:0},andriabarlettatrani:{$:0},andriatranibarletta:{$:0},ao:{$:0},aosta:{$:0},aoste:{$:0},ap:{$:0},aq:{$:0},aquila:{$:0},ar:{$:0},arezzo:{$:0},"ascoli-piceno":{$:0},ascolipiceno:{$:0},asti:{$:0},at:{$:0},av:{$:0},avellino:{$:0},ba:{$:0},balsan:{$:0},bari:{$:0},"barletta-trani-andria":{$:0},barlettatraniandria:{$:0},belluno:{$:0},benevento:{$:0},bergamo:{$:0},bg:{$:0},bi:{$:0},biella:{$:0},bl:{$:0},bn:{$:0},bo:{$:0},bologna:{$:0},bolzano:{$:0},bozen:{$:0},br:{$:0},brescia:{$:0},brindisi:{$:0},bs:{$:0},bt:{$:0},bz:{$:0},ca:{$:0},cagliari:{$:0},caltanissetta:{$:0},"campidano-medio":{$:0},campidanomedio:{$:0},campobasso:{$:0},"carbonia-iglesias":{$:0},carboniaiglesias:{$:0},"carrara-massa":{$:0},carraramassa:{$:0},caserta:{$:0},catania:{$:0},catanzaro:{$:0},cb:{$:0},ce:{$:0},"cesena-forli":{$:0},cesenaforli:{$:0},ch:{$:0},chieti:{$:0},ci:{$:0},cl:{$:0},cn:{$:0},co:{$:0},como:{$:0},cosenza:{$:0},cr:{$:0},cremona:{$:0},crotone:{$:0},cs:{$:0},ct:{$:0},cuneo:{$:0},cz:{$:0},"dell-ogliastra":{$:0},dellogliastra:{$:0},en:{$:0},enna:{$:0},fc:{$:0},fe:{$:0},fermo:{$:0},ferrara:{$:0},fg:{$:0},fi:{$:0},firenze:{$:0},florence:{$:0},fm:{$:0},foggia:{$:0},"forli-cesena":{$:0},forlicesena:{$:0},fr:{$:0},frosinone:{$:0},ge:{$:0},genoa:{$:0},genova:{$:0},go:{$:0},gorizia:{$:0},gr:{$:0},grosseto:{$:0},"iglesias-carbonia":{$:0},iglesiascarbonia:{$:0},im:{$:0},imperia:{$:0},is:{$:0},isernia:{$:0},kr:{$:0},"la-spezia":{$:0},laquila:{$:0},laspezia:{$:0},latina:{$:0},lc:{$:0},le:{$:0},lecce:{$:0},lecco:{$:0},li:{$:0},livorno:{$:0},lo:{$:0},lodi:{$:0},lt:{$:0},lu:{$:0},lucca:{$:0},macerata:{$:0},mantova:{$:0},"massa-carrara":{$:0},massacarrara:{$:0},matera:{$:0},mb:{$:0},mc:{$:0},me:{$:0},"medio-campidano":{$:0},mediocampidano:{$:0},messina:{$:0},mi:{$:0},milan:{$:0},milano:{$:0},mn:{$:0},mo:{$:0},modena:{$:0},"monza-brianza":{$:0},"monza-e-della-brianza":{$:0},monza:{$:0},monzabrianza:{$:0},monzaebrianza:{$:0},monzaedellabrianza:{$:0},ms:{$:0},mt:{$:0},na:{$:0},naples:{$:0},napoli:{$:0},no:{$:0},novara:{$:0},nu:{$:0},nuoro:{$:0},og:{$:0},ogliastra:{$:0},"olbia-tempio":{$:0},olbiatempio:{$:0},or:{$:0},oristano:{$:0},ot:{$:0},pa:{$:0},padova:{$:0},padua:{$:0},palermo:{$:0},parma:{$:0},pavia:{$:0},pc:{$:0},pd:{$:0},pe:{$:0},perugia:{$:0},"pesaro-urbino":{$:0},pesarourbino:{$:0},pescara:{$:0},pg:{$:0},pi:{$:0},piacenza:{$:0},pisa:{$:0},pistoia:{$:0}
82,pn:{$:0},po:{$:0},pordenone:{$:0},potenza:{$:0},pr:{$:0},prato:{$:0},pt:{$:0},pu:{$:0},pv:{$:0},pz:{$:0},ra:{$:0},ragusa:{$:0},ravenna:{$:0},rc:{$:0},re:{$:0},"reggio-calabria":{$:0},"reggio-emilia":{$:0},reggiocalabria:{$:0},reggioemilia:{$:0},rg:{$:0},ri:{$:0},rieti:{$:0},rimini:{$:0},rm:{$:0},rn:{$:0},ro:{$:0},roma:{$:0},rome:{$:0},rovigo:{$:0},sa:{$:0},salerno:{$:0},sassari:{$:0},savona:{$:0},si:{$:0},siena:{$:0},siracusa:{$:0},so:{$:0},sondrio:{$:0},sp:{$:0},sr:{$:0},ss:{$:0},suedtirol:{$:0},sv:{$:0},ta:{$:0},taranto:{$:0},te:{$:0},"tempio-olbia":{$:0},tempioolbia:{$:0},teramo:{$:0},terni:{$:0},tn:{$:0},to:{$:0},torino:{$:0},tp:{$:0},tr:{$:0},"trani-andria-barletta":{$:0},"trani-barletta-andria":{$:0},traniandriabarletta:{$:0},tranibarlettaandria:{$:0},trapani:{$:0},trentino:{$:0},trento:{$:0},treviso:{$:0},trieste:{$:0},ts:{$:0},turin:{$:0},tv:{$:0},ud:{$:0},udine:{$:0},"urbino-pesaro":{$:0},urbinopesaro:{$:0},va:{$:0},varese:{$:0},vb:{$:0},vc:{$:0},ve:{$:0},venezia:{$:0},venice:{$:0},verbania:{$:0},vercelli:{$:0},verona:{$:0},vi:{$:0},"vibo-valentia":{$:0},vibovalentia:{$:0},vicenza:{$:0},viterbo:{$:0},vr:{$:0},vs:{$:0},vt:{$:0},vv:{$:0},blogspot:{$:0}},je:{$:0,co:{$:0},net:{$:0},org:{$:0}},jm:{"*":{$:0}},jo:{$:0,com:{$:0},org:{$:0}
82,net:{$:0},edu:{$:0},sch:{$:0},gov:{$:0},mil:{$:0},name:{$:0}},jobs:{$:0},jp:{$:0,ac:{$:0},ad:{$:0},co:{$:0},ed:{$:0},go:{$:0},gr:{$:0},lg:{$:0},ne:{$:0
vendor: 23,752 bytes, line 82
82},or:{$:0},aichi:{$:0,aisai:{$:0},ama:{$:0},anjo:{$:0},asuke:{$:0},chiryu:{$:0},chita:{$:0},fuso:{$:0},gamagori:{$:0},handa:{$:0},hazu:{$:0},hekinan:{$:0},higashiura:{$:0},ichinomiya:{$:0},inazawa:{$:0},inuyama:{$:0},isshiki:{$:0},iwakura:{$:0},kanie:{$:0},kariya:{$:0},kasugai:{$:0},kira:{$:0},kiyosu:{$:0},komaki:{$:0},konan:{$:0},kota:{$:0},mihama:{$:0},miyoshi:{$:0},nishio:{$:0},nisshin:{$:0},obu:{$:0},oguchi:{$:0},oharu:{$:0},okazaki:{$:0},owariasahi:{$:0},seto:{$:0},shikatsu:{$:0},shinshiro:{$:0},shitara:{$:0},tahara:{$:0},takahama:{$:0},tobishima:{$:0},toei:{$:0},togo:{$:0},tokai:{$:0},tokoname:{$:0},toyoake:{$:0},toyohashi:{$:0},toyokawa:{$:0},toyone:{$:0},toyota:{$:0},tsushima:{$:0},yatomi:{$:0}},akita:{$:0,akita:{$:0},daisen:{$:0},fujisato:{$:0},gojome:{$:0},hachirogata:{$:0},happou:{$:0},higashinaruse:{$:0},honjo:{$:0},honjyo:{$:0},ikawa:{$:0},kamikoani:{$:0},kamioka:{$:0},katagami:{$:0},kazuno:{$:0},kitaakita:{$:0},kosaka:{$:0},kyowa:{$:0},misato:{$:0},mitane:{$:0},moriyoshi:{$:0},nikaho:{$:0},noshiro:{$:0},odate:{$:0},oga:{$:0},ogata:{$:0},semboku:{$:0},yokote:{$:0},yurihonjo:{$:0}},aomori:{$:0,aomori:{$:0},gonohe:{$:0},hachinohe:{$:0},hashikami:{$:0},hiranai:{$:0},hirosaki:{$:0},itayanagi:{$:0},kuroishi:{$:0},misawa:{$:0},mutsu:{$:0},nakadomari:{$:0},noheji:{$:0},oirase:{$:0},owani:{$:0},rokunohe:{$:0},sannohe:{$:0},shichinohe:{$:0},shingo:{$:0},takko:{$:0},towada:{$:0},tsugaru:{$:0},tsuruta:{$:0}},chiba:{$:0,abiko:{$:0},asahi:{$:0},chonan:{$:0},chosei:{$:0},choshi:{$:0},chuo:{$:0},funabashi:{$:0},futtsu:{$:0},hanamigawa:{$:0},ichihara:{$:0},ichikawa:{$:0},ichinomiya:{$:0},inzai:{$:0},isumi:{$:0},kamagaya:{$:0},kamogawa:{$:0},kashiwa:{$:0},katori:{$:0},katsuura:{$:0},kimitsu:{$:0},kisarazu:{$:0},kozaki:{$:0},kujukuri:{$:0},kyonan:{$:0},matsudo:{$:0},midori:{$:0},mihama:{$:0},minamiboso:{$:0},mobara:{$:0},mutsuzawa:{$:0},nagara:{$:0},nagareyama:{$:0},narashino:{$:0},narita:{$:0},noda:{$:0},oamishirasato:{$:0},omigawa:{$:0},onjuku:{$:0},otaki:{$:0},sakae:{$:0},sakura:{$:0},shimofusa:{$:0},shirako:{$:0},shiroi:{$:0},shisui:{$:0},sodegaura:{$:0},sosa:{$:0},tako:{$:0},tateyama:{$:0},togane:{$:0},tohnosho:{$:0},tomisato:{$:0},urayasu:{$:0},yachimata:{$:0},yachiyo:{$:0},yokaichiba:{$:0},yokoshibahikari:{$:0},yotsukaido:{$:0}},ehime:{$:0,ainan:{$:0},honai:{$:0},ikata:{$:0},imabari:{$:0},iyo:{$:0},kamijima:{$:0},kihoku:{$:0},kumakogen:{$:0},masaki:{$:0},matsuno:{$:0},matsuyama:{$:0},namikata:{$:0},niihama:{$:0},ozu:{$:0},saijo:{$:0},seiyo:{$:0},shikokuchuo:{$:0},tobe:{$:0},toon:{$:0},uchiko:{$:0},uwajima:{$:0},yawatahama:{$:0}},fukui:{$:0,echizen:{$:0},eiheiji:{$:0},fukui:{$:0},ikeda:{$:0},katsuyama:{$:0},mihama:{$:0},minamiechizen:{$:0},obama:{$:0},ohi:{$:0},ono:{$:0},sabae:{$:0},sakai:{$:0},takahama:{$:0},tsuruga:{$:0},wakasa:{$:0}},fukuoka:{$:0,ashiya:{$:0},buzen:{$:0},chikugo:{$:0},chikuho:{$:0},chikujo:{$:0},chikushino:{$:0},chikuzen:{$:0},chuo:{$:0},dazaifu:{$:0},fukuchi:{$:0},hakata:{$:0},higashi:{$:0},hirokawa:{$:0},hisayama:{$:0},iizuka:{$:0},inatsuki:{$:0},kaho:{$:0},kasuga:{$:0},kasuya:{$:0},kawara:{$:0},keisen:{$:0},koga:{$:0},kurate:{$:0},kurogi:{$:0},kurume:{$:0},minami:{$:0},miyako:{$:0},miyama:{$:0},miyawaka:{$:0},mizumaki:{$:0},munakata:{$:0},nakagawa:{$:0},nakama:{$:0},nishi:{$:0},nogata:{$:0},ogori:{$:0},okagaki:{$:0},okawa:{$:0},oki:{$:0},omuta:{$:0},onga:{$:0},onojo:{$:0},oto:{$:0},saigawa:{$:0},sasaguri:{$:0},shingu:{$:0},shinyoshitomi:{$:0},shonai:{$:0},soeda:{$:0},sue:{$:0},tachiarai:{$:0},tagawa:{$:0},takata:{$:0},toho:{$:0},toyotsu:{$:0},tsuiki:{$:0},ukiha:{$:0},umi:{$:0},usui:{$:0},yamada:{$:0},yame:{$:0},yanagawa:{$:0},yukuhashi:{$:0}},fukushima:{$:0,aizubange:{$:0},aizumisato:{$:0},aizuwakamatsu:{$:0},asakawa:{$:0},bandai:{$:0},date:{$:0},fukushima:{$:0},furudono:{$:0},futaba:{$:0},hanawa:{$:0},higashi:{$:0},hirata:{$:0},hirono:{$:0},iitate:{$:0},inawashiro:{$:0},ishikawa:{$:0},iwaki:{$:0},izumizaki:{$:0},kagamiishi:{$:0},kaneyama:{$:0},kawamata:{$:0},kitakata:{$:0},kitashiobara:{$:0},koori:{$:0},koriyama:{$:0},kunimi:{$:0},miharu:{$:0},mishima:{$:0},namie:{$:0},nango:{$:0},nishiaizu:{$:0},nishigo:{$:0},okuma:{$:0},omotego:{$:0},ono:{$:0},otama:{$:0},samegawa:{$:0},shimogo:{$:0},shirakawa:{$:0},showa:{$:0},soma:{$:0},sukagawa:{$:0},taishin:{$:0},tamakawa:{$:0},tanagura:{$:0},tenei:{$:0},yabuki:{$:0},yamato:{$:0},yamatsuri:{$:0},yanaizu:{$:0},yugawa:{$:0}},gifu:{$:0,anpachi:{$:0},ena:{$:0},gifu:{$:0},ginan:{$:0},godo:{$:0},gujo:{$:0},hashima:{$:0},hichiso:{$:0},hida:{$:0},higashishirakawa:{$:0},ibigawa:{$:0},ikeda:{$:0},kakamigahara:{$:0},kani:{$:0},kasahara:{$:0},kasamatsu:{$:0},kawaue:{$:0},kitagata:{$:0},mino:{$:0},minokamo:{$:0},mitake:{$:0},mizunami:{$:0},motosu:{$:0},nakatsugawa:{$:0},ogaki:{$:0},sakahogi:{$:0},seki:{$:0},sekigahara:{$:0},shirakawa:{$:0},tajimi:{$:0},takayama:{$:0},tarui:{$:0},toki:{$:0},tomika:{$:0},wanouchi:{$:0},yamagata:{$:0},yaotsu:{$:0},yoro:{$:0}},gunma:{$:0,annaka:{$:0},chiyoda:{$:0},fujioka:{$:0},higashiagatsuma:{$:0},isesaki:{$:0},itakura:{$:0},kanna:{$:0},kanra:{$:0},katashina:{$:0},kawaba:{$:0},kiryu:{$:0},kusatsu:{$:0},maebashi:{$:0},meiwa:{$:0},midori:{$:0},minakami:{$:0},naganohara:{$:0},nakanojo:{$:0},nanmoku:{$:0},numata:{$:0},oizumi:{$:0},ora:{$:0},ota:{$:0},shibukawa:{$:0},shimonita:{$:0},shinto:{$:0},showa:{$:0},takasaki:{$:0},takayama:{$:0},tamamura:{$:0},tatebayashi:{$:0},tomioka:{$:0},tsukiyono:{$:0},tsumagoi:{$:0},ueno:{$:0},yoshioka:{$:0}},hiroshima:{$:0,asaminami:{$:0},daiwa:{$:0},etajima:{$:0},fuchu:{$:0},fukuyama:{$:0},hatsukaichi:{$:0},higashihiroshima:{$:0},hongo:{$:0},jinsekikogen:{$:0},kaita:{$:0},kui:{$:0},kumano:{$:0},kure:{$:0},mihara:{$:0},miyoshi:{$:0},naka:{$:0},onomichi:{$:0},osakikamijima:{$:0},otake:{$:0},saka:{$:0},sera:{$:0},seranishi:{$:0},shinichi:{$:0},shobara:{$:0},takehara:{$:0}},hokkaido:{$:0,abashiri:{$:0},abira:{$:0},aibetsu:{$:0},akabira:{$:0},akkeshi:{$:0},asahikawa:{$:0},ashibetsu:{$:0},ashoro:{$:0},assabu:{$:0},atsuma:{$:0},bibai:{$:0},biei:{$:0},bifuka:{$:0},bihoro:{$:0},biratori:{$:0},chippubetsu:{$:0},chitose:{$:0},date:{$:0},ebetsu:{$:0},embetsu:{$:0},eniwa:{$:0},erimo:{$:0},esan:{$:0},esashi:{$:0},fukagawa:{$:0},fukushima:{$:0},furano:{$:0},furubira:{$:0},haboro:{$:0},hakodate:{$:0},hamatonbetsu:{$:0},hidaka:{$:0},higashikagura:{$:0},higashikawa:{$:0},hiroo:{$:0},hokuryu:{$:0},hokuto:{$:0},honbetsu:{$:0},horokanai:{$:0},horonobe:{$:0},ikeda:{$:0},imakane:{$:0},ishikari:{$:0},iwamizawa:{$:0},iwanai:{$:0},kamifurano:{$:0},kamikawa:{$:0},kamishihoro:{$:0},kamisunagawa:{$:0},kamoenai:{$:0},kayabe:{$:0},kembuchi:{$:0},kikonai:{$:0},kimobetsu:{$:0},kitahiroshima:{$:0},kitami:{$:0},kiyosato:{$:0},koshimizu:{$:0},kunneppu:{$:0},kuriyama:{$:0},kuromatsunai:{$:0},kushiro:{$:0},kutchan:{$:0},kyowa:{$:0},mashike:{$:0},matsumae:{$:0},mikasa:{$:0},minamifurano:{$:0},mombetsu:{$:0},moseushi:{$:0},mukawa:{$:0},muroran:{$:0},naie:{$:0},nakagawa:{$:0},nakasatsunai:{$:0},nakatombetsu:{$:0},nanae:{$:0},nanporo:{$:0},nayoro:{$:0},nemuro:{$:0},niikappu:{$:0},niki:{$:0},nishiokoppe:{$:0},noboribetsu:{$:0},numata:{$:0},obihiro:{$:0},obira:{$:0},oketo:{$:0},okoppe:{$:0},otaru:{$:0},otobe:{$:0},otofuke:{$:0},otoineppu:{$:0},oumu:{$:0},ozora:{$:0},pippu:{$:0},rankoshi:{$:0},rebun:{$:0},rikubetsu:{$:0},rishiri:{$:0},rishirifuji:{$:0},saroma:{$:0},sarufutsu:{$:0},shakotan:{$:0},shari:{$:0},shibecha:{$:0},shibetsu:{$:0},shikabe:{$:0},shikaoi:{$:0},shimamaki:{$:0},shimizu:{$:0},shimokawa:{$:0},shinshinotsu:{$:0},shintoku:{$:0},shiranuka:{$:0},shiraoi:{$:0},shiriuchi:{$:0},sobetsu:{$:0},sunagawa:{$:0},taiki:{$:0},takasu:{$:0},takikawa:{$:0},takinoue:{$:0},teshikaga:{$:0},tobetsu:{$:0},tohma:{$:0},tomakomai:{$:0},tomari:{$:0},toya:{$:0},toyako:{$:0},toyotomi:{$:0},toyoura:{$:0},tsubetsu:{$:0},tsukigata:{$:0},urakawa:{$:0},urausu:{$:0},uryu:{$:0},utashinai:{$:0},wakkanai:{$:0},wassamu:{$:0},yakumo:{$:0},yoichi:{$:0}},hyogo:{$:0,aioi:{$:0},akashi:{$:0},ako:{$:0},amagasaki:{$:0},aogaki:{$:0},asago:{$:0},ashiya:{$:0},awaji:{$:0},fukusaki:{$:0},goshiki:{$:0},harima:{$:0},himeji:{$:0},ichikawa:{$:0},inagawa:{$:0},itami:{$:0},kakogawa:{$:0},kamigori:{$:0},kamikawa:{$:0},kasai:{$:0},kasuga:{$:0},kawanishi:{$:0},miki:{$:0},minamiawaji:{$:0},nishinomiya:{$:0},nishiwaki:{$:0},ono:{$:0},sanda:{$:0},sannan:{$:0},sasayama:{$:0},sayo:{$:0},shingu:{$:0},shinonsen:{$:0},shiso:{$:0},sumoto:{$:0},taishi:{$:0},taka:{$:0},takarazuka:{$:0},takasago:{$:0},takino:{$:0},tamba:{$:0},tatsuno:{$:0},toyooka:{$:0},yabu:{$:0},yashiro:{$:0},yoka:{$:0},yokawa:{$:0}},ibaraki:{$:0,ami:{$:0},asahi:{$:0},bando:{$:0},chikusei:{$:0},daigo:{$:0},fujishiro:{$:0},hitachi:{$:0},hitachinaka:{$:0},hitachiomiya:{$:0},hitachiota:{$:0},ibaraki:{$:0},ina:{$:0},inashiki:{$:0},itako:{$:0},iwama:{$:0},joso:{$:0},kamisu:{$:0},kasama:{$:0},kashima:{$:0},kasumigaura:{$:0},koga:{$:0},miho:{$:0},mito:{$:0},moriya:{$:0},naka:{$:0},namegata:{$:0},oarai:{$:0},ogawa:{$:0},omitama:{$:0},ryugasaki:{$:0},sakai:{$:0},sakuragawa:{$:0},shimodate:{$:0},shimotsuma:{$:0},shirosato:{$:0},sowa:{$:0},suifu:{$:0},takahagi:{$:0},tamatsukuri:{$:0},tokai:{$:0},tomobe:{$:0},tone:{$:0},toride:{$:0},tsuchiura:{$:0},tsukuba:{$:0},uchihara:{$:0},ushiku:{$:0},yachiyo:{$:0},yamagata:{$:0},yawara:{$:0},yuki:{$:0}},ishikawa:{$:0,anamizu:{$:0},hakui:{$:0},hakusan:{$:0},kaga:{$:0},kahoku:{$:0},kanazawa:{$:0},kawakita:{$:0},komatsu:{$:0},nakanoto:{$:0},nanao:{$:0},nomi:{$:0},nonoichi:{$:0},noto:{$:0},shika:{$:0},suzu:{$:0},tsubata:{$:0},tsurugi:{$:0},uchinada:{$:0},wajima:{$:0}},iwate:{$:0,fudai:{$:0},fujisawa:{$:0},hanamaki:{$:0},hiraizumi:{$:0},hirono:{$:0},ichinohe:{$:0},ichinoseki:{$:0},iwaizumi:{$:0},iwate:{$:0},joboji:{$:0},kamaishi:{$:0},kanegasaki:{$:0},karumai:{$:0},kawai:{$:0},kitakami:{$:0},kuji:{$:0},kunohe:{$:0},kuzumaki:{$:0},miyako:{$:0},mizusawa:{$:0},morioka:{$:0},ninohe:{$:0},noda:{$:0},ofunato:{$:0},oshu:{$:0},otsuchi:{$:0},rikuzentakata:{$:0},shiwa:{$:0},shizukuishi:{$:0},sumita:{$:0},tanohata:{$:0},tono:{$:0},yahaba:{$:0},yamada:{$:0}},kagawa:{$:0,ayagawa:{$:0},higashikagawa:{$:0},kanonji:{$:0},kotohira:{$:0},manno:{$:0},marugame:{$:0},mitoyo:{$:0},naoshima:{$:0},sanuki:{$:0},tadotsu:{$:0},takamatsu:{$:0},tonosho:{$:0},uchinomi:{$:0},utazu:{$:0},zentsuji:{$:0}},kagoshima:{$:0,akune:{$:0},amami:{$:0},hioki:{$:0},isa:{$:0},isen:{$:0},izumi:{$:0},kagoshima:{$:0},kanoya:{$:0},kawanabe:{$:0},kinko:{$:0},kouyama:{$:0},makurazaki:{$:0},matsumoto:{$:0},minamitane:{$:0},nakatane:{$:0},nishinoomote:{$:0},satsumasendai:{$:0},soo:{$:0},tarumizu:{$:0},yusui:{$:0}},kanagawa:{$:0,aikawa:{$:0},atsugi:{$:0},ayase:{$:0},chigasaki:{$:0},ebina:{$:0},fujisawa:{$:0},hadano:{$:0},hakone:{$:0},hiratsuka:{$:0},isehara:{$:0},kaisei:{$:0},kamakura:{$:0},kiyokawa:{$:0},matsuda:{$:0},minamiashigara:{$:0},miura:{$:0},nakai:{$:0},ninomiya:{$:0},odawara:{$:0},oi:{$:0},oiso:{$:0},sagamihara:{$:0},samukawa:{$:0},tsukui:{$:0},yamakita:{$:0},yamato:{$:0},yokosuka:{$:0},yugawara:{$:0},zama:{$:0},zushi:{$:0}},kochi:{$:0,aki:{$:0},geisei:{$:0},hidaka:{$:0},higashitsuno:{$:0},ino:{$:0},kagami:{$:0},kami:{$:0},kitagawa:{$:0},kochi:{$:0},mihara:{$:0},motoyama:{$:0},muroto:{$:0},nahari:{$:0},nakamura:{$:0},nankoku:{$:0},nishitosa:{$:0},niyodogawa:{$:0},ochi:{$:0},okawa:{$:0},otoyo:{$:0},otsuki:{$:0},sakawa:{$:0},sukumo:{$:0},susaki:{$:0},tosa:{$:0},tosashimizu:{$:0},toyo:{$:0},tsuno:{$:0},umaji:{$:0},yasuda:{$:0},yusuhara:{$:0}},kumamoto:{$:0,amakusa:{$:0},arao:{$:0},aso:{$:0},choyo:{$:0},gyokuto:{$:0},kamiamakusa:{$:0},kikuchi:{$:0},kumamoto:{$:0},mashiki:{$:0},mifune:{$:0},minamata:{$:0},minamioguni:{$:0},nagasu:{$:0},nishihara:{$:0},oguni:{$:0},ozu:{$:0},sumoto:{$:0},takamori:{$:0},uki:{$:0},uto:{$:0},yamaga:{$:0},yamato:{$:0},yatsushiro:{$:0}},kyoto:{$:0,ayabe:{$:0},fukuchiyama:{$:0},higashiyama:{$:0},ide:{$:0},ine:{$:0},joyo:{$:0},kameoka:{$:0},kamo:{$:0},kita:{$:0},kizu:{$:0},kumiyama:{$:0},kyotamba:{$:0},kyotanabe:{$:0},kyotango:{$:0},maizuru:{$:0},minami:{$:0},minamiyamashiro:{$:0},miyazu:{$:0},muko:{$:0},nagaokakyo:{$:0},nakagyo:{$:0},nantan:{$:0},oyamazaki:{$:0},sakyo:{$:0},seika:{$:0},tanabe:{$:0},uji:{$:0},ujitawara:{$:0},wazuka:{$:0},yamashina:{$:0},yawata:{$:0}},mie:{$:0,asahi:{$:0},inabe:{$:0},ise:{$:0},kameyama:{$:0},kawagoe:{$:0},kiho:{$:0},kisosaki:{$:0},kiwa:{$:0},komono:{$:0},kumano:{$:0},kuwana:{$:0},matsusaka:{$:0},meiwa:{$:0},mihama:{$:0},minamiise:{$:0},misugi:{$:0},miyama:{$:0},nabari:{$:0},shima:{$:0},suzuka:{$:0},tado:{$:0},taiki:{$:0},taki:{$:0},tamaki:{$:0},toba:{$:0},tsu:{$:0},udono:{$:0},ureshino:{$:0},watarai:{$:0},yokkaichi:{$:0}},miyagi:{$:0,furukawa:{$:0},higashimatsushima:{$:0},ishinomaki:{$:0},iwanuma:{$:0},kakuda:{$:0},kami:{$:0},kawasaki:{$:0},marumori:{$:0},matsushima:{$:0},minamisanriku:{$:0},misato:{$:0},murata:{$:0},natori:{$:0},ogawara:{$:0},ohira:{$:0},onagawa:{$:0},osaki:{$:0},rifu:{$:0},semine:{$:0},shibata:{$:0},shichikashuku:{$:0},shikama:{$:0},shiogama:{$:0},shiroishi:{$:0},tagajo:{$:0},taiwa:{$:0},tome:{$:0},tomiya:{$:0},wakuya:{$:0},watari:{$:0},yamamoto:{$:0},zao:{$:0}},miyazaki:{$:0,aya:{$:0},ebino:{$:0},gokase:{$:0},hyuga:{$:0},kadogawa:{$:0},kawaminami:{$:0},kijo:{$:0},kitagawa:{$:0},kitakata:{$:0},kitaura:{$:0},kobayashi:{$:0},kunitomi:{$:0},kushima:{$:0},mimata:{$:0},miyakonojo:{$:0},miyazaki:{$:0},morotsuka:{$:0},nichinan:{$:0},nishimera:{$:0},nobeoka:{$:0},saito:{$:0},shiiba:{$:0},shintomi:{$:0},takaharu:{$:0},takanabe:{$:0},takazaki:{$:0},tsuno:{$:0}},nagano:{$:0,achi:{$:0},agematsu:{$:0},anan:{$:0},aoki:{$:0},asahi:{$:0},azumino:{$:0},chikuhoku:{$:0},chikuma:{$:0},chino:{$:0},fujimi:{$:0},hakuba:{$:0},hara:{$:0},hiraya:{$:0},iida:{$:0},iijima:{$:0},iiyama:{$:0},iizuna:{$:0},ikeda:{$:0},ikusaka:{$:0},ina:{$:0},karuizawa:{$:0},kawakami:{$:0},kiso:{$:0},kisofukushima:{$:0},kitaaiki:{$:0},komagane:{$:0},komoro:{$:0},matsukawa:{$:0},matsumoto:{$:0},miasa:{$:0},minamiaiki:{$:0},minamimaki:{$:0},minamiminowa:{$:0},minowa:{$:0},miyada:{$:0},miyota:{$:0},mochizuki:{$:0},nagano:{$:0},nagawa:{$:0},nagiso:{$:0},nakagawa:{$:0},nakano:{$:0},nozawaonsen:{$:0},obuse:{$:0},ogawa:{$:0},okaya:{$:0},omachi:{$:0},omi:{$:0},ookuwa:{$:0},ooshika:{$:0},otaki:{$:0},otari:{$:0},sakae:{$:0},sakaki:{$:0},saku:{$:0},sakuho:{$:0},shimosuwa:{$:0},shinanomachi:{$:0},shiojiri:{$:0},suwa:{$:0},suzaka:{$:0},takagi:{$:0},takamori:{$:0},takayama:{$:0},tateshina:{$:0},tatsuno:{$:0},togakushi:{$:0},togura:{$:0},tomi:{$:0},ueda:{$:0},wada:{$:0},yamagata:{$:0},yamanouchi:{$:0},yasaka:{$:0},yasuoka:{$:0}},nagasaki:{$:0,chijiwa:{$:0},futsu:{$:0},goto:{$:0},hasami:{$:0},hirado:{$:0},iki:{$:0},isahaya:{$:0},kawatana:{$:0},kuchinotsu:{$:0},matsuura:{$:0},nagasaki:{$:0},obama:{$:0},omura:{$:0},oseto:{$:0},saikai:{$:0},sasebo:{$:0},seihi:{$:0},shimabara:{$:0},shinkamigoto:{$:0},togitsu:{$:0},tsushima:{$:0},unzen:{$:0}},nara:{$:0,ando:{$:0},gose:{$:0},heguri:{$:0},higashiyoshino:{$:0},ikaruga:{$:0},ikoma:{$:0},kamikitayama:{$:0},kanmaki:{$:0},kashiba:{$:0},kashihara:{$:0},katsuragi:{$:0},kawai:{$:0},kawakami:{$:0},kawanishi:{$:0},koryo:{$:0},kurotaki:{$:0},mitsue:{$:0},miyake:{$:0},nara:{$:0},nosegawa:{$:0},oji:{$:0},ouda:{$:0},oyodo:{$:0},sakurai:{$:0},sango:{$:0},shimoichi:{$:0},shimokitayama:{$:0},shinjo:{$:0},soni:{$:0},takatori:{$:0},tawaramoto:{$:0},tenkawa:{$:0},tenri:{$:0},uda:{$:0},yamatokoriyama:{$:0},yamatotakada:{$:0},yamazoe:{$:0},yoshino:{$:0}},niigata:{$:0,aga:{$:0},agano:{$:0},gosen:{$:0},itoigawa:{$:0},izumozaki:{$:0},joetsu:{$:0},kamo:{$:0},kariwa:{$:0},kashiwazaki:{$:0},minamiuonuma:{$:0},mitsuke:{$:0},muika:{$:0},murakami:{$:0},myoko:{$:0},nagaoka:{$:0},niigata:{$:0},ojiya:{$:0},omi:{$:0},sado:{$:0},sanjo:{$:0},seiro:{$:0},seirou:{$:0},sekikawa:{$:0},shibata:{$:0},tagami:{$:0},tainai:{$:0},tochio:{$:0},tokamachi:{$:0},tsubame:{$:0},tsunan:{$:0},uonuma:{$:0},yahiko:{$:0},yoita:{$:0},yuzawa:{$:0}},oita:{$:0,beppu:{$:0},bungoono:{$:0},bungotakada:{$:0},hasama:{$:0},hiji:{$:0},himeshima:{$:0},hita:{$:0},kamitsue:{$:0},kokonoe:{$:0},kuju:{$:0},kunisaki:{$:0},kusu:{$:0},oita:{$:0},saiki:{$:0},taketa:{$:0},tsukumi:{$:0},usa:{$:0},usuki:{$:0},yufu:{$:0}},okayama:{$:0,akaiwa:{$:0},asakuchi:{$:0},bizen:{$:0},hayashima:{$:0},ibara:{$:0},kagamino:{$:0},kasaoka:{$:0},kibichuo:{$:0},kumenan:{$:0},kurashiki:{$:0},maniwa:{$:0},misaki:{$:0},nagi:{$:0},niimi:{$:0},nishiawakura:{$:0},okayama:{$:0},satosho:{$:0},setouchi:{$:0},shinjo:{$:0},shoo:{$:0},soja:{$:0},takahashi:{$:0},tamano:{$:0},tsuyama:{$:0},wake:{$:0},yakage:{$:0}},okinawa:{$:0,aguni:{$:0},ginowan:{$:0},ginoza:{$:0},gushikami:{$:0},haebaru:{$:0},higashi:{$:0},hirara:{$:0},iheya:{$:0},ishigaki:{$:0},ishikawa:{$:0},itoman:{$:0},izena:{$:0},kadena:{$:0},kin:{$:0},kitadaito:{$:0},kitanakagusuku:{$:0},kumejima:{$:0},kunigami:{$:0},minamidaito:{$:0},motobu:{$:0},nago:{$:0},naha:{$:0},nakagusuku:{$:0},nakijin:{$:0},nanjo:{$:0},nishihara:{$:0},ogimi:{$:0},okinawa:{$:0},onna:{$:0},shimoji:{$:0},taketomi:{$:0},tarama:{$:0},tokashiki:{$:0},tomigusuku:{$:0},tonaki:{$:0},urasoe:{$:0},uruma:{$:0},yaese:{$:0},yomitan:{$:0},yonabaru:{$:0},yonaguni:{$:0},zamami:{$:0}},osaka:{$:0,abeno:{$:0},chihayaakasaka:{$:0},chuo:{$:0},daito:{$:0},fujiidera:{$:0},habikino:{$:0},hannan:{$:0},higashiosaka:{$:0},higashisumiyoshi:{$:0},higashiyodogawa:{$:0},hirakata:{$:0},ibaraki:{$:0},ikeda:{$:0},izumi:{$:0},izumiotsu:{$:0},izumisano:{$:0},kadoma:{$:0},kaizuka:{$:0},kanan:{$:0},kashiwara:{$:0},katano:{$:0},kawachinagano:{$:0},kishiwada:{$:0},kita:{$:0},kumatori:{$:0},matsubara:{$:0},minato:{$:0},minoh:{$:0},misaki:{$:0},moriguchi:{$:0},neyagawa:{$:0},nishi:{$:0},nose:{$:0},osakasayama:{$:0},sakai:{$:0},sayama:{$:0},sennan:{$:0},settsu:{$:0},shijonawate:{$:0},shimamoto:{$:0},suita:{$:0},tadaoka:{$:0},taishi:{$:0},tajiri:{$:0},takaishi:{$:0},takatsuki:{$:0},tondabayashi:{$:0},toyonaka:{$:0},toyono:{$:0},yao:{$:0}},saga:{$:0,ariake:{$:0},arita:{$:0},fukudomi:{$:0},genkai:{$:0},hamatama:{$:0},hizen:{$:0},imari:{$:0},kamimine:{$:0},kanzaki:{$:0},karatsu:{$:0},kashima:{$:0},kitagata:{$:0},kitahata:{$:0},kiyama:{$:0},kouhoku:{$:0},kyuragi:{$:0},nishiarita:{$:0},ogi:{$:0},omachi:{$:0},ouchi:{$:0},saga:{$:0},shiroishi:{$:0},taku:{$:0},tara:{$:0},tosu:{$:0},yoshinogari:{$:0}},saitama:{$:0,arakawa:{$:0},asaka:{$:0},chichibu:{$:0},fujimi:{$:0},fujimino:{$:0},fukaya:{$:0},hanno:{$:0},hanyu:{$:0},hasuda:{$:0},hatogaya:{$:0},hatoyama:{$:0},hidaka:{$:0},higashichichibu:{$:0},higashimatsuyama:{$:0},honjo:{$:0},ina:{$:0},iruma:{$:0},iwatsuki:{$:0},kamiizumi:{$:0},kamikawa:{$:0},kamisato:{$:0},kasukabe:{$:0},kawagoe:{$:0},kawaguchi:{$:0},kawajima:{$:0},kazo:{$:0},kitamoto:{$:0},koshigaya:{$:0},kounosu:{$:0},kuki:{$:0},kumagaya:{$:0},matsubushi:{$:0},minano:{$:0},misato:{$:0},miyashiro:{$:0},miyoshi:{$:0},moroyama:{$:0},nagatoro:{$:0},namegawa:{$:0},niiza:{$:0},ogano:{$:0},ogawa:{$:0},ogose:{$:0},okegawa:{$:0},omiya:{$:0},otaki:{$:0},ranzan:{$:0},ryokami:{$:0},saitama:{$:0},sakado:{$:0},satte:{$:0},sayama:{$:0},shiki:{$:0},shiraoka:{$:0},soka:{$:0},sugito:{$:0},toda:{$:0},tokigawa:{$:0},tokorozawa:{$:0},tsurugashima:{$:0},urawa:{$:0},warabi:{$:0},yashio:{$:0},yokoze:{$:0},yono:{$:0},yorii:{$:0},yoshida:{$:0},yoshikawa:{$:0},yoshimi:{$:0}},shiga:{$:0,aisho:{$:0},gamo:{$:0},higashiomi:{$:0},hikone:{$:0},koka:{$:0},konan:{$:0},kosei:{$:0},koto:{$:0},kusatsu:{$:0},maibara:{$:0},moriyama:{$:0},nagahama:{$:0},nishiazai:{$:0},notogawa:{$:0},omihachiman:{$:0},otsu:{$:0},ritto:{$:0},ryuoh:{$:0},takashima:{$:0},takatsuki:{$:0},torahime:{$:0},toyosato:{$:0},yasu:{$:0}},shimane:{$:0,akagi:{$:0},ama:{$:0},gotsu:{$:0},hamada:{$:0},higashiizumo:{$:0},hikawa:{$:0},hikimi:{$:0},izumo:{$:0},kakinoki:{$:0},masuda:{$:0},matsue:{$:0},misato:{$:0},nishinoshima:{$:0},ohda:{$:0},okinoshima:{$:0},okuizumo:{$:0},shimane:{$:0},tamayu:{$:0},tsuwano:{$:0},unnan:{$:0},yakumo:{$:0},yasugi:{$:0},yatsuka:{$:0}},shizuoka:{$:0,arai:{$:0},atami:{$:0},fuji:{$:0},fujieda:{$:0},fujikawa:{$:0},fujinomiya:{$:0},fukuroi:{$:0},gotemba:{$:0},haibara:{$:0},hamamatsu:{$:0},higashiizu:{$:0},ito:{$:0},iwata:{$:0},izu:{$:0},izunokuni:{$:0},kakegawa:{$:0},kannami:{$:0},kawanehon:{$:0},kawazu:{$:0},kikugawa:{$:0},kosai:{$:0},makinohara:{$:0},matsuzaki:{$:0},minamiizu:{$:0},mishima:{$:0},morimachi:{$:0},nishiizu:{$:0},numazu:{$:0},omaezaki:{$:0},shimada:{$:0},shimizu:{$:0},shimoda:{$:0},shizuoka:{$:0},susono:{$:0},yaizu:{$:0},yoshida:{$:0}},tochigi:{$:0,ashikaga:{$:0},bato:{$:0},haga:{$:0},ichikai:{$:0},iwafune:{$:0},kaminokawa:{$:0},kanuma:{$:0},karasuyama:{$:0},kuroiso:{$:0},mashiko:{$:0},mibu:{$:0},moka:{$:0},motegi:{$:0},nasu:{$:0},nasushiobara:{$:0},nikko:{$:0},nishikata:{$:0},nogi:{$:0},ohira:{$:0},ohtawara:{$:0},oyama:{$:0},sakura:{$:0},sano:{$:0},shimotsuke:{$:0},shioya:{$:0},takanezawa:{$:0},tochigi:{$:0},tsuga:{$:0},ujiie:{$:0},utsunomiya:{$:0},yaita:{$:0}},tokushima:{$:0,aizumi:{$:0},anan:{$:0},ichiba:{$:0},itano:{$:0},kainan:{$:0},komatsushima:{$:0},matsushige:{$:0},mima:{$:0},minami:{$:0},miyoshi:{$:0},mugi:{$:0},nakagawa:{$:0},naruto:{$:0},sanagochi:{$:0},shishikui:{$:0},tokushima:{$:0},wajiki:{$:0}},tokyo:{$:0,adachi:{$:0},akiruno:{$:0},akishima:{$:0},aogashima:{$:0},arakawa:{$:0},bunkyo:{$:0},chiyoda:{$:0},chofu:{$:0},chuo:{$:0},edogawa:{$:0},fuchu:{$:0},fussa:{$:0},hachijo:{$:0},hachioji:{$:0},hamura:{$:0},higashikurume:{$:0},higashimurayama:{$:0},higashiyamato:{$:0},hino:{$:0},hinode:{$:0},hinohara:{$:0},inagi:{$:0},itabashi:{$:0},katsushika:{$:0},kita:{$:0},kiyose:{$:0},kodaira:{$:0},koganei:{$:0},kokubunji:{$:0},komae:{$:0},koto:{$:0},kouzushima:{$:0},kunitachi:{$:0},machida:{$:0},meguro:{$:0},minato:{$:0},mitaka:{$:0},mizuho:{$:0},musashimurayama:{$:0},musashino:{$:0},nakano:{$:0},nerima:{$:0},ogasawara:{$:0},okutama:{$:0},ome:{$:0},oshima:{$:0},ota:{$:0},setagaya:{$:0},shibuya:{$:0},shinagawa:{$:0},shinjuku:{$:0},suginami:{$:0},sumida:{$:0},tachikawa:{$:0},taito:{$:0},tama:{$:0},toshima:{$:0}},tottori:{$:0,chizu:{$:0},hino:{$:0},kawahara:{$:0},koge:{$:0},kotoura:{$:0},misasa:{$:0},nanbu:{$:0},nichinan:{$:0},sakaiminato:{$:0},tottori:{$:0},wakasa:{$:0},yazu:{$:0},yonago:{$:0}},toyama:{$:0,asahi:{$:0},fuchu:{$:0},fukumitsu:{$:0},funahashi:{$:0},himi:{$:0},imizu:{$:0},inami:{$:0},johana:{$:0},kamiichi:{$:0},kurobe:{$:0},nakaniikawa:{$:0},namerikawa:{$:0},nanto:{$:0},nyuzen:{$:0},oyabe:{$:0},taira:{$:0},takaoka:{$:0},tateyama:{$:0},toga:{$:0},tonami:{$:0},toyama:{$:0},unazuki:{$:0},uozu:{$:0},yamada:{$:0}},wakayama:{$:0,arida:{$:0},aridagawa:{$:0},gobo:{$:0},hashimoto:{$:0},hidaka:{$:0},hirogawa:{$:0},inami:{$:0},iwade:{$:0},kainan:{$:0},kamitonda:{$:0},katsuragi:{$:0},kimino:{$:0},kinokawa:{$:0},kitayama:{$:0},koya:{$:0},koza:{$:0},kozagawa:{$:0},kudoyama:{$:0},kushimoto:{$:0},mihama:{$:0},misato:{$:0},nachikatsuura:{$:0},shingu:{$:0},shirahama:{$:0},taiji:{$:0},tanabe:{$:0},wakayama:{$:0},yuasa:{$:0},yura:{$:0}},yamagata:{$:0,asahi:{$:0},funagata:{$:0},higashine:{$:0},iide:{$:0},kahoku:{$:0},kaminoyama:{$:0},kaneyama:{$:0},kawanishi:{$:0},mamurogawa:{$:0},mikawa:{$:0},murayama:{$:0},nagai:{$:0},nakayama:{$:0},nanyo:{$:0},nishikawa:{$:0},obanazawa:{$:0},oe:{$:0},oguni:{$:0},ohkura:{$:0},oishida:{$:0},sagae:{$:0},sakata:{$:0},sakegawa:{$:0},shinjo:{$:0},shirataka:{$:0},shonai:{$:0},takahata:{$:0},tendo:{$:0},tozawa:{$:0},tsuruoka:{$:0},yamagata:{$:0},yamanobe:{$:0},yonezawa:{$:0},yuza:{$:0}},yamaguchi:{$:0,abu:{$:0},hagi:{$:0},hikari:{$:0},hofu:{$:0},iwakuni:{$:0},kudamatsu:{$:0},mitou:{$:0},nagato:{$:0},oshima:{$:0},shimonoseki:{$:0},shunan:{$:0},tabuse:{$:0},tokuyama:{$:0},toyota:{$:0},ube:{$:0},yuu:{$:0}},yamanashi:{$:0,chuo:{$:0},doshi:{$:0},fuefuki:{$:0},fujikawa:{$:0},fujikawaguchiko:{$:0},fujiyoshida:{$:0},hayakawa:{$:0},hokuto:{$:0},ichikawamisato:{$:0},kai:{$:0},kofu:{$:0},koshu:{$:0},kosuge:{$:0},"minami-alps":{$:0},minobu:{$:0},nakamichi:{$:0},nanbu:{$:0},narusawa:{$:0},nirasaki:{$:0},nishikatsura:{$:0},oshino:{$:0},otsuki:{$:0},showa:{$:0},tabayama:{$:0},tsuru:{$:0},uenohara:{$:0},yamanakako:{$:0},yamanashi:{$:0}},"xn--
824pvxs":{$:0},"xn--vgu402c":{$:0},"xn--c3s14m":{$:0},"xn--f6qx53a":{$:0},"xn--8pvr4u":{$:0},"xn--uist22h":{$:0},"xn--djrs72d6uy":{$:0},"xn--mkru45i":{$:0},"xn--0trq7p7nn":{$:0},"xn--8ltr62k":{$:0},"xn--2m4a15e":{$:0},"xn--efvn9s":{$:0},"xn--32vp30h":{$:0},"xn--4it797k":{$:0},"xn--1lqs71d":{$:0},"xn--5rtp49c":{$:0},"xn--5js045d":{$:0},"xn--ehqz56n":{$:0},"xn--1lqs03n":{$:0},"xn--qqqt11m":{$:0},"xn--kbrq7o":{$:0},"xn--pssu33l":{$:0},"xn--ntsq17g":{$:0},"xn--uisz3g":{$:0},"xn--6btw5a":{$:0},"xn--1ctwo":{$:0},"xn--6orx2r":{$:0},"xn--rht61e":{$:0},"xn--rht27z":{$:0},"xn--djty4k":{$:0},"xn--nit225k":{$:0},"xn--rht3d":{$:0},"xn--klty5x":{$:0},"xn--kltx9a":{$:0},"xn--kltp7d":{$:0},"xn--uuwu58a":{$:0},"xn--zbx025d":{$:0},"xn--ntso0iqx3a":{$:0},"xn--elqq16h":{$:0},"xn--4it168d":{$:0},"xn--klt787d":{$:0},"xn--rny31h":{$:0},"xn--7t0a264c":{$:0},"xn--5rtq34k":{$:0},"xn--k7yn95e":{$:0},"xn--tor131o":{$:0},"xn--d5qv7z876c":{$:0},kawasaki:{"*":{$:0}},kitakyushu:{"*":{$:0}},kobe:{"*":{$:0}},nagoya:{"*":{$:0}},sapporo:{"*":{$:0}},sendai:{"*":{$:0}},yokohama:{"*":{$:0}},blogspot:{$:0}},ke:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},go:{$:0},info:{$:0},me:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0}},kg:{$:0,org:{$:0}
82,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0}},kh:{"*":{$:0}},ki:{$:0,edu:{$:0},biz:{$:0},net:{$:0},org:{$:0},gov:{$:0},info:{$:0},com:{$:0}},km:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},ass:{$:0},com:{$:0},coop:{$:0},asso:{$:0},presse:{$:0},medecin:{$:0},notaires:{$:0},pharmaciens:{$:0},veterinaire:{$:0},gouv:{$:0}},kn:{$:0,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},kp:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},rep:{$:0},tra:{$:0}},kr:{$:0,ac:{$:0},co:{$:0},es:{$:0},go:{$:0},hs:{$:0},kg:{$:0},mil:{$:0},ms:{$:0},ne:{$:0},or:{$:0},pe:{$:0},re:{$:0},sc:{$:0},busan:{$:0},chungbuk:{$:0},chungnam:{$:0},daegu:{$:0},daejeon:{$:0},gangwon:{$:0},gwangju:{$:0},gyeongbuk:{$:0},gyeonggi:{$:0},gyeongnam:{$:0},incheon:{$:0},jeju:{$:0},jeonbuk:{$:0},jeonnam:{$:0},seoul:{$:0},ulsan:{$:0},blogspot:{$:0}},kw:{"*":{$:0}},ky:{$:0,edu:{$:0},gov:{$:0},com:{$:0},org:{$:0},net:{$:0}},kz:{$:0,org:{$:0},edu:{$:0},net:{$:0},gov:{$:0},mil:{$:0},com:{$:0},nym:{$:0}},la:{$:0,int:{$:0},net:{$:0},info:{$:0},edu:{$:0},gov:{$:0},per:{$:0},com:{$:0},org:{$:0},bnr:{$:0},c:{$:0},nym:{$:0}},lb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},lc:{$:0,com:{$:0}
82,net:{$:0},co:{$:0},org:{$:0},edu:{$:0},gov:{$:0},oy:{$:0}},li:{$:0,blogspot:{$:0},nom:{$:0},nym:{$:0}},lk:{$:0,gov:{$:0},sch:{$:0},net:{$:0},int:{$:0},com:{$:0},org:{$:0},edu:{$:0},ngo:{$:0},soc:{$:0},web:{$:0},ltd:{$:0},assn:{$:0},grp:{$:0},hotel:{$:0},ac:{$:0}},lr:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},ls:{$:0,co:{$:0},org:{$:0}},lt:{$:0,gov:{$:0},blogspot:{$:0},nym:{$:0}},lu:{$:0,blogspot:{$:0},nym:{$:0}},lv:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0},id:{$:0},net:{$:0},asn:{$:0},conf:{$:0}},ly:{$:0,com:{$:0},net:{$:0},gov:{$:0},plc:{$:0},edu:{$:0},sch:{$:0},med:{$:0},org:{$:0},id:{$:0}},ma:{$:0,co:{$:0},net:{$:0},gov:{$:0},org:{$:0},ac:{$:0},press:{$:0}},mc:{$:0,tm:{$:0},asso:{$:0}},md:{$:0,blogspot:{$:0}},me:{$:0,co:{$:0},net:{$:0},org:{$:0},edu:{$:0},ac:{$:0},gov:{$:0},its:{$:0},priv:{$:0},c66:{$:0},daplie:{$:0,localhost:{$:0}},filegear:{$:0},brasilia:{$:0},ddns:{$:0},dnsfor:{$:0},hopto:{$:0},loginto:{$:0},noip:{$:0},webhop:{$:0},nym:{$:0},diskstation:{$:0},dscloud:{$:0},i234:{$:0},myds:{$:0},synology:{$:0},wedeploy:{$:0},yombo:{$:0}},mg:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},com:{$:0},co:{$:0}},mh:{$:0},mil:{$:0},mk:{$:0,com:{$:0},org:{$:0}
82,net:{$:0},edu:{$:0},gov:{$:0},inf:{$:0},name:{$:0},blogspot:{$:0},nom:{$:0}},ml:{$:0,com:{$:0},edu:{$:0},gouv:{$:0},gov:{$:0},net:{$:0},org:{$:0},presse:{$:0}},mm:{"*":{$:0}},mn:{$:0,gov:{$:0},edu:{$:0},org:{$:0},nyc:{$:0}},mo:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},mobi:{$:0,dscloud:{$:0}},mp:{$:0},mq:{$:0},mr:{$:0,gov:{$:0},blogspot:{$:0}},ms:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},mt:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},net:{$:0},org:{$:0}},mu:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},ac:{$:0},co:{$:0},or:{$:0}},museum:{$:0,academy:{$:0},agriculture:{$:0},air:{$:0},airguard:{$:0},alabama:{$:0},alaska:{$:0},amber:{$:0},ambulance:{$:0},american:{$:0},americana:{$:0},americanantiques:{$:0},americanart:{$:0},amsterdam:{$:0},and:{$:0},annefrank:{$:0},anthro:{$:0},anthropology:{$:0},antiques:{$:0},aquarium:{$:0},arboretum:{$:0},archaeological:{$:0},archaeology:{$:0},architecture:{$:0},art:{$:0},artanddesign:{$:0},artcenter:{$:0},artdeco:{$:0},arteducation:{$:0},artgallery:{$:0},arts:{$:0},artsandcrafts:{$:0},asmatart:{$:0},assassination:{$:0},assisi:{$:0},association:{$:0},astronomy:{$:0},atlanta:{$:0},austin:{$:0},australia:{$:0},automotive:{$:0},aviation:{$:0},axis:{$:0},badajoz:{$:0},baghdad:{$:0},bahn:{$:0},bale:{$:0},baltimore:{$:0},barcelona:{$:0},baseball:{$:0},basel:{$:0},baths:{$:0},bauern:{$:0},beauxarts:{$:0},beeldengeluid:{$:0},bellevue:{$:0},bergbau:{$:0},berkeley:{$:0},berlin:{$:0},bern:{$:0},bible:{$:0},bilbao:{$:0},bill:{$:0},birdart:{$:0},birthplace:{$:0},bonn:{$:0},boston:{$:0},botanical:{$:0},botanicalgarden:{$:0},botanicgarden:{$:0},botany:{$:0},brandywinevalley:{$:0},brasil:{$:0},bristol:{$:0},british:{$:0},britishcolumbia:{$:0},broadcast:{$:0},brunel:{$:0},brussel:{$:0},brussels:{$:0},bruxelles:{$:0},building:{$:0},burghof:{$:0},bus:{$:0},bushey:{$:0},cadaques:{$:0},california:{$:0},cambridge:{$:0},can:{$:0},canada:{$:0},capebreton:{$:0},carrier:{$:0},cartoonart:{$:0},casadelamoneda:{$:0},castle:{$:0},castres:{$:0},celtic:{$:0},center:{$:0},chattanooga:{$:0},cheltenham:{$:0},chesapeakebay:{$:0},chicago:{$:0},children:{$:0},childrens:{$:0},childrensgarden:{$:0},chiropractic:{$:0},chocolate:{$:0},christiansburg:{$:0},cincinnati:{$:0},cinema:{$:0},circus:{$:0},civilisation:{$:0},civilization:{$:0},civilwar:{$:0},clinton:{$:0},clock:{$:0},coal:{$:0},coastaldefence:{$:0},cody:{$:0},coldwar:{$:0},collection:{$:0},colonialwilliamsburg:{$:0},coloradoplateau:{$:0},columbia:{$:0},columbus:{$:0},communication:{$:0},communications:{$:0},community:{$:0},computer:{$:0},computerhistory:{$:0},"xn--comunicaes-v6a2o":{$:0},contemporary:{$:0},contemporaryart:{$:0},convent:{$:0},copenhagen:{$:0},corporation:{$:0},"xn--correios-e-telecomunicaes-ghc29a":{$:0},corvette:{$:0},costume:{$:0},countryestate:{$:0},county:{$:0},crafts:{$:0},cranbrook:{$:0},creation:{$:0},cultural:{$:0},culturalcenter:{$:0},culture:{$:0},cyber:{$:0},cymru:{$:0},dali:{$:0},dallas:{$:0},database:{$:0},ddr:{$:0},decorativearts:{$:0},delaware:{$:0},delmenhorst:{$:0},denmark:{$:0},depot:{$:0},design:{$:0},detroit:{$:0},dinosaur:{$:0},discovery:{$:0},dolls:{$:0},donostia:{$:0},durham:{$:0},eastafrica:{$:0},eastcoast:{$:0},education:{$:0},educational:{$:0},egyptian:{$:0},eisenbahn:{$:0},elburg:{$:0},elvendrell:{$:0},embroidery:{$:0},encyclopedic:{$:0},england:{$:0},entomology:{$:0},environment:{$:0},environmentalconservation:{$:0},epilepsy:{$:0},essex:{$:0},estate:{$:0},ethnology:{$:0},exeter:{$:0},exhibition:{$:0},family:{$:0},farm:{$:0},farmequipment:{$:0},farmers:{$:0},farmstead:{$:0},field:{$:0},figueres:{$:0},filatelia:{$:0},film:{$:0},fineart:{$:0},finearts:{$:0},finland:{$:0},flanders:{$:0},florida:{$:0},force:{$:0},fortmissoula:{$:0},fortworth:{$:0},foundation:{$:0},francaise:{$:0},frankfurt:{$:0},franziskaner:{$:0},freemasonry:{$:0},freiburg:{$:0},fribourg:{$:0},frog:{$:0},fundacio:{$:0},furniture:{$:0},gallery:{$:0},garden:{$:0},gateway:{$:0},geelvinck:{$:0},gemological:{$:0},geology:{$:0},georgia:{$:0},giessen:{$:0},glas:{$:0},glass:{$:0},gorge:{$:0},grandrapids:{$:0},graz:{$:0},guernsey:{$:0},halloffame:{$:0},hamburg:{$:0},handson:{$:0},harvestcelebration:{$:0},hawaii:{$:0},health:{$:0},heimatunduhren:{$:0},hellas:{$:0},helsinki:{$:0},hembygdsforbund:{$:0},heritage:{$:0},histoire:{$:0},historical:{$:0},historicalsociety:{$:0},historichouses:{$:0},historisch:{$:0},historisches:{$:0},history:{$:0},historyofscience:{$:0},horology:{$:0},house:{$:0},humanities:{$:0},illustration:{$:0},imageandsound:{$:0},indian:{$:0},indiana:{$:0},indianapolis:{$:0},indianmarket:{$:0},intelligence:{$:0},interactive:{$:0},iraq:{$:0},iron:{$:0},isleofman:{$:0},jamison:{$:0},jefferson:{$:0},jerusalem:{$:0},jewelry:{$:0},jewish:{$:0},jewishart:{$:0},jfk:{$:0},journalism:{$:0},judaica:{$:0},judygarland:{$:0},juedisches:{$:0},juif:{$:0},karate:{$:0},karikatur:{$:0},kids:{$:0},koebenhavn:{$:0},koeln:{$:0},kunst:{$:0},kunstsammlung:{$:0},kunstunddesign:{$:0},labor:{$:0},labour:{$:0},lajolla:{$:0},lancashire:{$:0},landes:{$:0},lans:{$:0},"xn--lns-qla":{$:0},larsson:{$:0},lewismiller:{$:0},lincoln:{$:0},linz:{$:0},living:{$:0},livinghistory:{$:0},localhistory:{$:0},london:{$:0},losangeles:{$:0},louvre:{$:0},loyalist:{$:0},lucerne:{$:0},luxembourg:{$:0},luzern:{$:0},mad:{$:0},madrid:{$:0},mallorca:{$:0},manchester:{$:0},mansion:{$:0},mansions:{$:0},manx:{$:0},marburg:{$:0},maritime:{$:0},maritimo:{$:0},maryland:{$:0},marylhurst:{$:0},media:{$:0},medical:{$:0},medizinhistorisches:{$:0},meeres:{$:0},memorial:{$:0},mesaverde:{$:0},michigan:{$:0},midatlantic:{$:0},military:{$:0},mill:{$:0},miners:{$:0},mining:{$:0},minnesota:{$:0},missile:{$:0},missoula:{$:0},modern:{$:0},moma:{$:0},money:{$:0},monmouth:{$:0},monticello:{$:0},montreal:{$:0},moscow:{$:0},motorcycle:{$:0},muenchen:{$:0},muenster:{$:0},mulhouse:{$:0},muncie:{$:0},museet:{$:0},museumcenter:{$:0},museumvereniging:{$:0},music:{$:0},national:{$:0},nationalfirearms:{$:0},nationalheritage:{$:0},nativeamerican:{$:0},naturalhistory:{$:0},naturalhistorymuseum:{$:0},naturalsciences:{$:0},nature:{$:0},naturhistorisches:{$:0},natuurwetenschappen:{$:0},naumburg:{$:0},naval:{$:0},nebraska:{$:0},neues:{$:0},newhampshire:{$:0},newjersey:{$:0},newmexico:{$:0},newport:{$:0},newspaper:{$:0},newyork:{$:0},niepce:{$:0},norfolk:{$:0},north:{$:0},nrw:{$:0}
82,nuernberg:{$:0},nuremberg:{$:0},nyc:{$:0},nyny:{$:0},oceanographic:{$:0},oceanographique:{$:0},omaha:{$:0},online:{$:0},ontario:{$:0},openair:{$:0},oregon:{$:0},oregontrail:{$:0},otago:{$:0},oxford:{$:0},pacific:{$:0},paderborn:{$:0},palace:{$:0},paleo:{$:0},palmsprings:{$:0},panama:{$:0},paris:{$:0},pasadena:{$:0},pharmacy:{$:0},philadelphia:{$:0},philadelphiaarea:{$:0},philately:{$:0},phoenix:{$:0},photography:{$:0},pilots:{$:0},pittsburgh:{$:0},planetarium:{$:0},plantation:{$:0},plants:{$:0},plaza:{$:0},portal:{$:0},portland:{$:0},portlligat:{$:0},"posts-and-telecommunications":{$:0},preservation:{$:0},presidio:{$:0},press:{$:0},project:{$:0},public:{$:0},pubol:{$:0},quebec:{$:0},railroad:{$:0},railway:{$:0},research:{$:0},resistance:{$:0},riodejaneiro:{$:0},rochester:{$:0},rockart:{$:0},roma:{$:0},russia:{$:0},saintlouis:{$:0},salem:{$:0},salvadordali:{$:0},salzburg:{$:0},sandiego:{$:0},sanfrancisco:{$:0},santabarbara:{$:0},santacruz:{$:0},santafe:{$:0},saskatchewan:{$:0},satx:{$:0},savannahga:{$:0},schlesisches:{$:0},schoenbrunn:{$:0},schokoladen:{$:0},school:{$:0},schweiz:{$:0},science:{$:0},scienceandhistory:{$:0},scienceandindustry:{$:0},sciencecenter:{$:0},sciencecenters:{$:0},"science-fiction":{$:0},sciencehistory:{$:0},sciences:{$:0},sciencesnaturelles:{$:0},scotland:{$:0},seaport:{$:0},settlement:{$:0},settlers:{$:0},shell:{$:0},sherbrooke:{$:0},sibenik:{$:0},silk:{$:0},ski:{$:0},skole:{$:0},society:{$:0},sologne:{$:0},soundandvision:{$:0},southcarolina:{$:0},southwest:{$:0},space:{$:0},spy:{$:0},square:{$:0},stadt:{$:0},stalbans:{$:0},starnberg:{$:0},state:{$:0},stateofdelaware:{$:0},station:{$:0},steam:{$:0},steiermark:{$:0},stjohn:{$:0},stockholm:{$:0},stpetersburg:{$:0},stuttgart:{$:0},suisse:{$:0},surgeonshall:{$:0},surrey:{$:0},svizzera:{$:0},sweden:{$:0},sydney:{$:0},tank:{$:0},tcm:{$:0},technology:{$:0},telekommunikation:{$:0},television:{$:0},texas:{$:0},textile:{$:0},theater:{$:0},time:{$:0},timekeeping:{$:0},topology:{$:0},torino:{$:0},touch:{$:0},town:{$:0},transport:{$:0},tree:{$:0},trolley:{$:0},trust:{$:0},trustee:{$:0},uhren:{$:0},ulm:{$:0},undersea:{$:0},university:{$:0},usa:{$:0},usantiques:{$:0},usarts:{$:0},uscountryestate:{$:0},usculture:{$:0},usdecorativearts:{$:0},usgarden:{$:0},ushistory:{$:0},ushuaia:{$:0},uslivinghistory:{$:0},utah:{$:0},uvic:{$:0},valley:{$:0},vantaa:{$:0},versailles:{$:0},viking:{$:0},village:{$:0},virginia:{$:0},virtual:{$:0},virtuel:{$:0},vlaanderen:{$:0},volkenkunde:{$:0},wales:{$:0},wallonie:{$:0},war:{$:0},washingtondc:{$:0},watchandclock:{$:0},"watch-and-clock":{$:0},western:{$:0},westfalen:{$:0},whaling:{$:0},wildlife:{$:0},williamsburg:{$:0},windmill:{$:0},workshop:{$:0},york:{$:0},yorkshire:{$:0},yosemite:{$:0},youth:{$:0},zoological:{$:0},zoology:{$:0},"xn--9dbhblg6di":{$:0},"xn--h1aegh":{$:0}},mv:{$:0,aero:{$:0},biz:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},museum:{$:0},name:{$:0},net:{$:0},org:{$:0},pro:{$:0}},mw:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},int:{$:0},museum:{$:0},net:{$:0},org:{$:0}},mx:{$:0,com:{$:0},org:{$:0},gob:{$:0},edu:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},my:{$:0,com:{$:0}
vendor: 8,603 bytes, line 82
82,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},mil:{$:0},name:{$:0},blogspot:{$:0}},mz:{$:0,ac:{$:0},adv:{$:0},co:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},na:{$:0,info:{$:0},pro:{$:0},name:{$:0},school:{$:0},or:{$:0},dr:{$:0},us:{$:0},mx:{$:0},ca:{$:0},in:{$:0},cc:{$:0},tv:{$:0},ws:{$:0},mobi:{$:0},co:{$:0},com:{$:0},org:{$:0}},name:{$:0,her:{forgot:{$:0}},his:{forgot:{$:0}}},nc:{$:0,asso:{$:0},nom:{$:0}},ne:{$:0},net:{$:0,alwaysdata:{$:0},cloudfront:{$:0},t3l3p0rt:{$:0},myfritz:{$:0},boomla:{$:0},bplaced:{$:0},square7:{$:0},gb:{$:0},hu:{$:0},jp:{$:0},se:{$:0},uk:{$:0},in:{$:0},cloudaccess:{$:0},"cdn77-ssl":{$:0},cdn77:{r:{$:0}},"feste-ip":{$:0},"knx-server":{$:0},"static-access":{$:0},cryptonomic:{"*":{$:0}},debian:{$:0},"at-band-camp":{$:0},blogdns:{$:0},"broke-it":{$:0},buyshouses:{$:0},dnsalias:{$:0},dnsdojo:{$:0},"does-it":{$:0},dontexist:{$:0},dynalias:{$:0},dynathome:{$:0},endofinternet:{$:0},"from-az":{$:0},"from-co":{$:0},"from-la":{$:0},"from-ny":{$:0},"gets-it":{$:0},"ham-radio-op":{$:0},homeftp:{$:0},homeip:{$:0},homelinux:{$:0},homeunix:{$:0},"in-the-band":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},"office-on-the":{$:0},podzone:{$:0},"scrapper-site":{$:0},selfip:{$:0},"sells-it":{$:0},servebbs:{$:0},serveftp:{$:0},thruhere:{$:0},webhop:{$:0},definima:{$:0},casacam:{$:0},dynu:{$:0},dynv6:{$:0},twmail:{$:0},ru:{$:0},channelsdvr:{$:0},fastlylb:{$:0,map:{$:0}},fastly:{freetls:{$:0},map:{$:0},prod:{a:{$:0},global:{$:0}},ssl:{a:{$:0},b:{$:0},global:{$:0}}},flynnhosting:{$:0},cloudfunctions:{$:0},moonscale:{$:0},ipifony:{$:0},barsy:{$:0},azurewebsites:{$:0},"azure-mobile":{$:0},cloudapp:{$:0},"eating-organic":{$:0},mydissent:{$:0},myeffect:{$:0},mymediapc:{$:0},mypsx:{$:0},mysecuritycamera:{$:0},nhlfan:{$:0},"no-ip":{$:0},pgafan:{$:0},privatizehealthinsurance:{$:0},bounceme:{$:0},ddns:{$:0},redirectme:{$:0},serveblog:{$:0},serveminecraft:{$:0},sytes:{$:0},rackmaze:{$:0},"firewall-gateway":{$:0},dsmynas:{$:0},familyds:{$:0},za:{$:0}},nf:{$:0,com:{$:0},net:{$:0},per:{$:0},rec:{$:0},web:{$:0},arts:{$:0},firm:{$:0},info:{$:0},other:{$:0},store:{$:0}},ng:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},i:{$:0},mil:{$:0},mobi:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0}},ni:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gob:{$:0},in:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},web:{$:0}},nl:{$:0,bv:{$:0},virtueeldomein:{$:0},co:{$:0},"hosting-cluster":{$:0},blogspot:{$:0},transurl:{"*":{$:0}},cistron:{$:0},demon:{$:0}},no:{$:0,fhs:{$:0},vgs:{$:0},fylkesbibl:{$:0},folkebibl:{$:0},museum:{$:0},idrett:{$:0},priv:{$:0},mil:{$:0},stat:{$:0},dep:{$:0},kommune:{$:0},herad:{$:0},aa:{$:0,gs:{$:0}},ah:{$:0,gs:{$:0}},bu:{$:0,gs:{$:0}},fm:{$:0,gs:{$:0}},hl:{$:0,gs:{$:0}},hm:{$:0,gs:{$:0}},"jan-mayen":{$:0,gs:{$:0}},mr:{$:0,gs:{$:0}},nl:{$:0,gs:{$:0}},nt:{$:0,gs:{$:0}},of:{$:0,gs:{$:0}},ol:{$:0,gs:{$:0}},oslo:{$:0,gs:{$:0}},rl:{$:0,gs:{$:0}},sf:{$:0,gs:{$:0}},st:{$:0,gs:{$:0}},svalbard:{$:0,gs:{$:0}},tm:{$:0,gs:{$:0}},tr:{$:0,gs:{$:0}},va:{$:0,gs:{$:0}},vf:{$:0,gs:{$:0}},akrehamn:{$:0},"xn--krehamn-dxa":{$:0},algard:{$:0},"xn--lgrd-poac":{$:0},arna:{$:0},brumunddal:{$:0},bryne:{$:0},bronnoysund:{$:0},"xn--brnnysund-m8ac":{$:0},drobak:{$:0},"xn--drbak-wua":{$:0},egersund:{$:0},fetsund:{$:0},floro:{$:0},"xn--flor-jra":{$:0},fredrikstad:{$:0},hokksund:{$:0},honefoss:{$:0},"xn--hnefoss-q1a":{$:0},jessheim:{$:0},jorpeland:{$:0},"xn--jrpeland-54a":{$:0},kirkenes:{$:0},kopervik:{$:0},krokstadelva:{$:0},langevag:{$:0},"xn--langevg-jxa":{$:0},leirvik:{$:0},mjondalen:{$:0},"xn--mjndalen-64a":{$:0},"mo-i-rana":{$:0},mosjoen:{$:0},"xn--mosjen-eya":{$:0},nesoddtangen:{$:0},orkanger:{$:0},osoyro:{$:0},"xn--osyro-wua":{$:0},raholt:{$:0},"xn--rholt-mra":{$:0},sandnessjoen:{$:0},"xn--sandnessjen-ogb":{$:0},skedsmokorset:{$:0},slattum:{$:0},spjelkavik:{$:0},stathelle:{$:0},stavern:{$:0},stjordalshalsen:{$:0},"xn--stjrdalshalsen-sqb":{$:0},tananger:{$:0},tranby:{$:0},vossevangen:{$:0},afjord:{$:0},"xn--fjord-lra":{$:0},agdenes:{$:0},al:{$:0},"xn--l-1fa":{$:0},alesund:{$:0},"xn--lesund-hua":{$:0},alstahaug:{$:0},alta:{$:0},"xn--lt-liac":{$:0},alaheadju:{$:0},"xn--laheadju-7ya":{$:0},alvdal:{$:0},amli:{$:0},"xn--mli-tla":{$:0},amot:{$:0},"xn--mot-tla":{$:0},andebu:{$:0},andoy:{$:0},"xn--andy-ira":{$:0},andasuolo:{$:0},ardal:{$:0},"xn--rdal-poa":{$:0},aremark:{$:0},arendal:{$:0},"xn--s-1fa":{$:0},aseral:{$:0},"xn--seral-lra":{$:0},asker:{$:0},askim:{$:0},askvoll:{$:0},askoy:{$:0},"xn--asky-ira":{$:0},asnes:{$:0},"xn--snes-poa":{$:0},audnedaln:{$:0},aukra:{$:0},aure:{$:0},aurland:{$:0},"aurskog-holand":{$:0},"xn--aurskog-hland-jnb":{$:0},austevoll:{$:0},austrheim:{$:0},averoy:{$:0},"xn--avery-yua":{$:0},balestrand:{$:0},ballangen:{$:0},balat:{$:0},"xn--blt-elab":{$:0},balsfjord:{$:0},bahccavuotna:{$:0},"xn--bhccavuotna-k7a":{$:0},bamble:{$:0},bardu:{$:0},beardu:{$:0},beiarn:{$:0},bajddar:{$:0},"xn--bjddar-pta":{$:0},baidar:{$:0},"xn--bidr-5nac":{$:0},berg:{$:0},bergen:{$:0},berlevag:{$:0},"xn--berlevg-jxa":{$:0},bearalvahki:{$:0},"xn--bearalvhki-y4a":{$:0},bindal:{$:0},birkenes:{$:0},bjarkoy:{$:0},"xn--bjarky-fya":{$:0},bjerkreim:{$:0},bjugn:{$:0},bodo:{$:0},"xn--bod-2na":{$:0},badaddja:{$:0},"xn--bdddj-mrabd":{$:0},budejju:{$:0},bokn:{$:0},bremanger:{$:0},bronnoy:{$:0},"xn--brnny-wuac":{$:0},bygland:{$:0},bykle:{$:0},barum:{$:0},"xn--brum-voa":{$:0},telemark:{bo:{$:0},"xn--b-5ga":{$:0}},nordland:{bo:{$:0},"xn--b-5ga":{$:0},heroy:{$:0},"xn--hery-ira":{$:0}},bievat:{$:0},"xn--bievt-0qa":{$:0},bomlo:{$:0},"xn--bmlo-gra":{$:0},batsfjord:{$:0},"xn--btsfjord-9za":{$:0},bahcavuotna:{$:0},"xn--bhcavuotna-s4a":{$:0},dovre:{$:0},drammen:{$:0},drangedal:{$:0},dyroy:{$:0},"xn--dyry-ira":{$:0},donna:{$:0},"xn--dnna-gra":{$:0},eid:{$:0},eidfjord:{$:0},eidsberg:{$:0},eidskog:{$:0},eidsvoll:{$:0},eigersund:{$:0},elverum:{$:0},enebakk:{$:0},engerdal:{$:0},etne:{$:0},etnedal:{$:0},evenes:{$:0},evenassi:{$:0},"xn--eveni-0qa01ga":{$:0},"evje-og-hornnes":{$:0},farsund:{$:0},fauske:{$:0},fuossko:{$:0},fuoisku:{$:0},fedje:{$:0},fet:{$:0},finnoy:{$:0},"xn--finny-yua":{$:0},fitjar:{$:0},fjaler:{$:0},fjell:{$:0},flakstad:{$:0},flatanger:{$:0},flekkefjord:{$:0},flesberg:{$:0},flora:{$:0},fla:{$:0},"xn--fl-zia":{$:0},folldal:{$:0},forsand:{$:0},fosnes:{$:0},frei:{$:0},frogn:{$:0},froland:{$:0},frosta:{$:0},frana:{$:0},"xn--frna-woa":{$:0},froya:{$:0},"xn--frya-hra":{$:0},fusa:{$:0},fyresdal:{$:0},forde:{$:0},"xn--frde-gra":{$:0},gamvik:{$:0},gangaviika:{$:0},"xn--ggaviika-8ya47h":{$:0},gaular:{$:0},gausdal:{$:0},gildeskal:{$:0},"xn--gildeskl-g0a":{$:0},giske:{$:0},gjemnes:{$:0},gjerdrum:{$:0},gjerstad:{$:0},gjesdal:{$:0},gjovik:{$:0},"xn--gjvik-wua":{$:0},gloppen:{$:0},gol:{$:0},gran:{$:0},grane:{$:0},granvin:{$:0},gratangen:{$:0},grimstad:{$:0},grong:{$:0},kraanghke:{$:0},"xn--kranghke-b0a":{$:0},grue:{$:0},gulen:{$:0},hadsel:{$:0},halden:{$:0},halsa:{$:0},hamar:{$:0},hamaroy:{$:0},habmer:{$:0},"xn--hbmer-xqa":{$:0},hapmir:{$:0},"xn--hpmir-xqa":{$:0},hammerfest:{$:0},hammarfeasta:{$:0},"xn--hmmrfeasta-s4ac":{$:0},haram:{$:0},hareid:{$:0},harstad:{$:0},hasvik:{$:0},aknoluokta:{$:0},"xn--koluokta-7ya57h":{$:0},hattfjelldal:{$:0},aarborte:{$:0},haugesund:{$:0},hemne:{$:0},hemnes:{$:0},hemsedal:{$:0},"more-og-romsdal":{heroy:{$:0},sande:{$:0}},"xn--mre-og-romsdal-qqb":{"xn--hery-ira":{$:0},sande:{$:0}},hitra:{$:0},hjartdal:{$:0},hjelmeland:{$:0},hobol:{$:0},"xn--hobl-ira":{$:0},hof:{$:0},hol:{$:0},hole:{$:0},holmestrand:{$:0},holtalen:{$:0},"xn--holtlen-hxa":{$:0},hornindal:{$:0},horten:{$:0},hurdal:{$:0},hurum:{$:0},hvaler:{$:0},hyllestad:{$:0},hagebostad:{$:0},"xn--hgebostad-g3a":{$:0},hoyanger:{$:0},"xn--hyanger-q1a":{$:0},hoylandet:{$:0},"xn--hylandet-54a":{$:0},ha:{$:0},"xn--h-2fa":{$:0},ibestad:{$:0},inderoy:{$:0},"xn--indery-fya":{$:0},iveland:{$:0},jevnaker:{$:0},jondal:{$:0},jolster:{$:0},"xn--jlster-bya":{$:0},karasjok:{$:0},karasjohka:{$:0},"xn--krjohka-hwab49j":{$:0},karlsoy:{$:0},galsa:{$:0},"xn--gls-elac":{$:0},karmoy:{$:0},"xn--karmy-yua":{$:0},kautokeino:{$:0},guovdageaidnu:{$:0},klepp:{$:0},klabu:{$:0},"xn--klbu-woa":{$:0},kongsberg:{$:0},kongsvinger:{$:0},kragero:{$:0},"xn--krager-gya":{$:0},kristiansand:{$:0},kristiansund:{$:0},krodsherad:{$:0},"xn--krdsherad-m8a":{$:0},kvalsund:{$:0},rahkkeravju:{$:0},"xn--rhkkervju-01af":{$:0},kvam:{$:0},kvinesdal:{$:0},kvinnherad:{$:0},kviteseid:{$:0},kvitsoy:{$:0},"xn--kvitsy-fya":{$:0},kvafjord:{$:0},"xn--kvfjord-nxa":{$:0},giehtavuoatna:{$:0},kvanangen:{$:0},"xn--kvnangen-k0a":{$:0},navuotna:{$:0},"xn--nvuotna-hwa":{$:0},kafjord:{$:0},"xn--kfjord-iua":{$:0},gaivuotna:{$:0}
82,"xn--givuotna-8ya":{$:0},larvik:{$:0},lavangen:{$:0},lavagis:{$:0},loabat:{$:0},"xn--loabt-0qa":{$:0},lebesby:{$:0},davvesiida:{$:0},leikanger:{$:0},leirfjord:{$:0},leka:{$:0},leksvik:{$:0},lenvik:{$:0},leangaviika:{$:0},"xn--leagaviika-52b":{$:0},lesja:{$:0},levanger:{$:0},lier:{$:0},lierne:{$:0},lillehammer:{$:0},lillesand:{$:0},lindesnes:{$:0},lindas:{$:0},"xn--linds-pra":{$:0},lom:{$:0},loppa:{$:0},lahppi:{$:0},"xn--lhppi-xqa":{$:0},lund:{$:0},lunner:{$:0},luroy:{$:0},"xn--lury-ira":{$:0},luster:{$:0},lyngdal:{$:0},lyngen:{$:0},ivgu:{$:0},lardal:{$:0},lerdal:{$:0},"xn--lrdal-sra":{$:0},lodingen:{$:0},"xn--ldingen-q1a":{$:0},lorenskog:{$:0},"xn--lrenskog-54a":{$:0},loten:{$:0},"xn--lten-gra":{$:0},malvik:{$:0},masoy:{$:0},"xn--msy-ula0h":{$:0},muosat:{$:0},"xn--muost-0qa":{$:0},mandal:{$:0},marker:{$:0},marnardal:{$:0},masfjorden:{$:0},meland:{$:0},meldal:{$:0},melhus:{$:0},meloy:{$:0},"xn--mely-ira":{$:0},meraker:{$:0},"xn--merker-kua":{$:0},moareke:{$:0},"xn--moreke-jua":{$:0},midsund:{$:0},"midtre-gauldal":{$:0},modalen:{$:0},modum:{$:0},molde:{$:0},moskenes:{$:0},moss:{$:0},mosvik:{$:0},malselv:{$:0},"xn--mlselv-iua":{$:0},malatvuopmi:{$:0},"xn--mlatvuopmi-s4a":{$:0},namdalseid:{$:0},aejrie:{$:0},namsos:{$:0},namsskogan:{$:0},naamesjevuemie:{$:0},"xn--nmesjevuemie-tcba":{$:0},laakesvuemie:{$:0},nannestad:{$:0},narvik:{$:0},narviika:{$:0},naustdal:{$:0},"nedre-eiker":{$:0},akershus:{nes:{$:0}},buskerud:{nes:{$:0}},nesna:{$:0},nesodden:{$:0},nesseby:{$:0},unjarga:{$:0},"xn--unjrga-rta":{$:0},nesset:{$:0},nissedal:{$:0},nittedal:{$:0},"nord-aurdal":{$:0},"nord-fron":{$:0},"nord-odal":{$:0},norddal:{$:0},nordkapp:{$:0},davvenjarga:{$:0},"xn--davvenjrga-y4a":{$:0},"nordre-land":{$:0},nordreisa:{$:0},raisa:{$:0},"xn--risa-5na":{$:0},"nore-og-uvdal":{$:0},notodden:{$:0},naroy:{$:0},"xn--nry-yla5g":{$:0},notteroy:{$:0},"xn--nttery-byae":{$:0},odda:{$:0},oksnes:{$:0},"xn--ksnes-uua":{$:0},oppdal:{$:0},oppegard:{$:0},"xn--oppegrd-ixa":{$:0},orkdal:{$:0},orland:{$:0},"xn--rland-uua":{$:0},orskog:{$:0},"xn--rskog-uua":{$:0},orsta:{$:0},"xn--rsta-fra":{$:0},hedmark:{os:{$:0},valer:{$:0},"xn--vler-qoa":{$:0}},hordaland:{os:{$:0}},osen:{$:0},osteroy:{$:0},"xn--ostery-fya":{$:0},"ostre-toten":{$:0},"xn--stre-toten-zcb":{$:0},overhalla:{$:0},"ovre-eiker":{$:0},"xn--vre-eiker-k8a":{$:0},oyer:{$:0},"xn--yer-zna":{$:0},oygarden:{$:0},"xn--ygarden-p1a":{$:0},"oystre-slidre":{$:0},"xn--ystre-slidre-ujb":{$:0},porsanger:{$:0},porsangu:{$:0},"xn--porsgu-sta26f":{$:0},porsgrunn:{$:0},radoy:{$:0},"xn--rady-ira":{$:0},rakkestad:{$:0},rana:{$:0},ruovat:{$:0},randaberg:{$:0},rauma:{$:0},rendalen:{$:0},rennebu:{$:0},rennesoy:{$:0},"xn--rennesy-v1a":{$:0},rindal:{$:0},ringebu:{$:0},ringerike:{$:0},ringsaker:{$:0},rissa:{$:0},risor:{$:0},"xn--risr-ira":{$:0},roan:{$:0},rollag:{$:0},rygge:{$:0},ralingen:{$:0},"xn--rlingen-mxa":{$:0},rodoy:{$:0},"xn--rdy-0nab":{$:0},romskog:{$:0},"xn--rmskog-bya":{$:0},roros:{$:0},"xn--rros-gra":{$:0},rost:{$:0},"xn--rst-0na":{$:0},royken:{$:0},"xn--ryken-vua":{$:0},royrvik:{$:0},"xn--ryrvik-bya":{$:0},rade:{$:0},"xn--rde-ula":{$:0},salangen:{$:0},siellak:{$:0},saltdal:{$:0},salat:{$:0},"xn--slt-elab":{$:0},"xn--slat-5na":{$:0},samnanger:{$:0},vestfold:{sande:{$:0}},sandefjord:{$:0},sandnes:{$:0},sandoy:{$:0},"xn--sandy-yua":{$:0},sarpsborg:{$:0},sauda:{$:0},sauherad:{$:0},sel:{$:0},selbu:{$:0},selje:{$:0},seljord:{$:0},sigdal:{$:0},siljan:{$:0},sirdal:{$:0},skaun:{$:0},skedsmo:{$:0},ski:{$:0},skien:{$:0},skiptvet:{$:0},skjervoy:{$:0},"xn--skjervy-v1a":{$:0},skierva:{$:0},"xn--skierv-uta":{$:0},skjak:{$:0},"xn--skjk-soa":{$:0},skodje:{$:0},skanland:{$:0},"xn--sknland-fxa":{$:0},skanit:{$:0},"xn--sknit-yqa":{$:0},smola:{$:0},"xn--smla-hra":{$:0},snillfjord:{$:0},snasa:{$:0},"xn--snsa-roa":{$:0},snoasa:{$:0},snaase:{$:0},"xn--snase-nra":{$:0},sogndal:{$:0},sokndal:{$:0},sola:{$:0},solund:{$:0},songdalen:{$:0},sortland:{$:0},spydeberg:{$:0},stange:{$:0},stavanger:{$:0},steigen:{$:0},steinkjer:{$:0},stjordal:{$:0},"xn--stjrdal-s1a":{$:0},stokke:{$:0},"stor-elvdal":{$:0},stord:{$:0},stordal:{$:0},storfjord:{$:0},omasvuotna:{$:0},strand:{$:0},stranda:{$:0},stryn:{$:0},sula:{$:0},suldal:{$:0},sund:{$:0},sunndal:{$:0},surnadal:{$:0},sveio:{$:0},svelvik:{$:0},sykkylven:{$:0},sogne:{$:0},"xn--sgne-gra":{$:0},somna:{$:0},"xn--smna-gra":{$:0},"sondre-land":{$:0},"xn--sndre-land-0cb":{$:0},"sor-aurdal":{$:0},"xn--sr-aurdal-l8a":{$:0},"sor-fron":{$:0},"xn--sr-fron-q1a":{$:0},"sor-odal":{$:0},"xn--sr-odal-q1a":{$:0},"sor-varanger":{$:0},"xn--sr-varanger-ggb":{$:0},"matta-varjjat":{$:0},"xn--mtta-vrjjat-k7af":{$:0},sorfold:{$:0},"xn--srfold-bya":{$:0},sorreisa:{$:0},"xn--srreisa-q1a":{$:0},sorum:{$:0},"xn--srum-gra":{$:0},tana:{$:0},deatnu:{$:0},time:{$:0},tingvoll:{$:0},tinn:{$:0},tjeldsund:{$:0},dielddanuorri:{$:0},tjome:{$:0},"xn--tjme-hra":{$:0},tokke:{$:0},tolga:{$:0},torsken:{$:0},tranoy:{$:0},"xn--trany-yua":{$:0},tromso:{$:0},"xn--troms-zua":{$:0},tromsa:{$:0},romsa:{$:0},trondheim:{$:0},troandin:{$:0},trysil:{$:0},trana:{$:0}
82,"xn--trna-woa":{$:0},trogstad:{$:0},"xn--trgstad-r1a":{$:0},tvedestrand:{$:0},tydal:{$:0},tynset:{$:0},tysfjord:{$:0},divtasvuodna:{$:0},divttasvuotna:{$:0},tysnes:{$:0},tysvar:{$:0},"xn--tysvr-vra":{$:0},tonsberg:{$:0},"xn--tnsberg-q1a":{$:0},ullensaker:{$:0},ullensvang:{$:0},ulvik:{$:0},utsira:{$:0},vadso:{$:0},"xn--vads-jra":{$:0},cahcesuolo:{$:0},"xn--hcesuolo-7ya35b":{$:0},vaksdal:{$:0},valle:{$:0},vang:{$:0},vanylven:{$:0},vardo:{$:0},"xn--vard-jra":{$:0},varggat:{$:0},"xn--vrggt-xqad":{$:0},vefsn:{$:0},vaapste:{$:0},vega:{$:0},vegarshei:{$:0},"xn--vegrshei-c0a":{$:0},vennesla:{$:0},verdal:{$:0},verran:{$:0},vestby:{$:0},vestnes:{$:0},"vestre-slidre":{$:0},"vestre-toten":{$:0},vestvagoy:{$:0},"xn--vestvgy-ixa6o":{$:0},vevelstad:{$:0},vik:{$:0},vikna:{$:0},vindafjord:{$:0},volda:{$:0},voss:{$:0},varoy:{$:0},"xn--vry-yla5g":{$:0},vagan:{$:0},"xn--vgan-qoa":{$:0},voagat:{$:0},vagsoy:{$:0},"xn--vgsy-qoa0j":{$:0},vaga:{$:0},"xn--vg-yiab":{$:0},ostfold:{valer:{$:0}},"xn--stfold-9xa":{"xn--vler-qoa":{$:0}},co:{$:0},blogspot:{$:0}},np:{"*":{$:0}},nr:{$:0,biz:{$:0},info:{$:0},gov:{$:0},edu:{$:0},org:{$:0}
vendor: 2,760 bytes, line 82
82,net:{$:0},com:{$:0}},nu:{$:0,merseine:{$:0},mine:{$:0},shacknet:{$:0},nom:{$:0}},nz:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},cri:{$:0},geek:{$:0},gen:{$:0},govt:{$:0},health:{$:0},iwi:{$:0},kiwi:{$:0},maori:{$:0},mil:{$:0},"xn--mori-qsa":{$:0},net:{$:0},org:{$:0},parliament:{$:0},school:{$:0},nym:{$:0}},om:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},med:{$:0},museum:{$:0},net:{$:0},org:{$:0},pro:{$:0}},onion:{$:0},org:{$:0,amune:{tele:{$:0}},pimienta:{$:0},poivron:{$:0},potager:{$:0},sweetpepper:{$:0},ae:{$:0},us:{$:0},certmgr:{$:0},cdn77:{c:{$:0},rsc:{$:0}},"cdn77-secure":{origin:{ssl:{$:0}}},cloudns:{$:0},duckdns:{$:0},tunk:{$:0},dyndns:{$:0,go:{$:0},home:{$:0}},blogdns:{$:0},blogsite:{$:0},boldlygoingnowhere:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},dvrdns:{$:0},dynalias:{$:0},endofinternet:{$:0},endoftheinternet:{$:0},"from-me":{$:0},"game-host":{$:0},gotdns:{$:0},"hobby-site":{$:0},homedns:{$:0},homeftp:{$:0},homelinux:{$:0},homeunix:{$:0},"is-a-bruinsfan":{$:0},"is-a-candidate":{$:0},"is-a-celticsfan":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"is-a-knight":{$:0},"is-a-linux-user":{$:0},"is-a-patsfan":{$:0},"is-a-soxfan":{$:0},"is-found":{$:0},"is-lost":{$:0},"is-saved":{$:0},"is-very-bad":{$:0},"is-very-evil":{$:0},"is-very-good":{$:0},"is-very-nice":{$:0},"is-very-sweet":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},misconfused:{$:0},podzone:{$:0},readmyblog:{$:0},selfip:{$:0},sellsyourhome:{$:0},servebbs:{$:0},serveftp:{$:0},servegame:{$:0},"stuff-4-sale":{$:0},webhop:{$:0},ddnss:{$:0},accesscam:{$:0},camdvr:{$:0},freeddns:{$:0},mywire:{$:0},webredirect:{$:0},eu:{$:0,al:{$:0},asso:{$:0},at:{$:0},au:{$:0},be:{$:0},bg:{$:0},ca:{$:0},cd:{$:0},ch:{$:0},cn:{$:0},cy:{$:0},cz:{$:0},de:{$:0},dk:{$:0},edu:{$:0},ee:{$:0},es:{$:0},fi:{$:0},fr:{$:0},gr:{$:0},hr:{$:0},hu:{$:0},ie:{$:0},il:{$:0},in:{$:0},int:{$:0},is:{$:0},it:{$:0},jp:{$:0},kr:{$:0},lt:{$:0},lu:{$:0},lv:{$:0},mc:{$:0},me:{$:0},mk:{$:0},mt:{$:0},my:{$:0},net:{$:0},ng:{$:0},nl:{$:0},no:{$:0},nz:{$:0},paris:{$:0},pl:{$:0},pt:{$:0},"q-a":{$:0},ro:{$:0},ru:{$:0},se:{$:0},si:{$:0},sk:{$:0},tr:{$:0},uk:{$:0},us:{$:0}},twmail:{$:0},fedorainfracloud:{$:0},fedorapeople:{$:0},fedoraproject:{cloud:{$:0},os:{app:{$:0}},stg:{os:{app:{$:0}}}},hepforge:{$:0},js:{$:0},bmoattachments:{$:0},"cable-modem":{$:0},collegefan:{$:0},couchpotatofries:{$:0},mlbfan:{$:0},mysecuritycamera:{$:0},nflfan:{$:0},"read-books":{$:0},ufcfan:{$:0},hopto:{$:0},myftp:{$:0},"no-ip":{$:0},zapto:{$:0},"my-firewall":{$:0},myfirewall:{$:0},spdns:{$:0},dsmynas:{$:0},familyds:{$:0},tuxfamily:{$:0},diskstation:{$:0},hk:{$:0},wmflabs:{$:0},za:{$:0}},pa:{$:0,ac:{$:0},gob:{$:0},com:{$:0},org:{$:0},sld:{$:0},edu:{$:0},net:{$:0},ing:{$:0},abo:{$:0},med:{$:0},nom:{$:0}}
82,pe:{$:0,edu:{$:0},gob:{$:0},nom:{$:0},mil:{$:0},org:{$:0},com:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},pf:{$:0,com:{$:0},org:{$:0},edu:{$:0}},pg:{"*":{$:0}},ph:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},ngo:{$:0},mil:{$:0},i:{$:0}},pk:{$:0,com:{$:0},net:{$:0},edu:{$:0},org:{$:0},fam:{$:0},biz:{$:0},web:{$:0},gov:{$:0},gob:{$:0},gok:{$:0},gon:{$:0},gop:{$:0},gos:{$:0},info:{$:0}},pl:{$:0,com:{$:0},net:{$:0},org:{$:0},aid:{$:0},agro:{$:0},atm:{$:0},auto:{$:0},biz:{$:0},edu:{$:0},gmina:{$:0},gsm:{$:0},info:{$:0},mail:{$:0},miasta:{$:0},media:{$:0},mil:{$:0},nieruchomosci:{$:0},nom:{$:0},pc:{$:0},powiat:{$:0},priv:{$:0},realestate:{$:0},rel:{$:0},sex:{$:0},shop:{$:0},sklep:{$:0},sos:{$:0},szkola:{$:0},targi:{$:0},tm:{$:0},tourism:{$:0},travel:{$:0},turystyka:{$:0},gov:{$:0,ap:{$:0},ic:{$:0},is:{$:0},us:{$:0},kmpsp:{$:0},kppsp:{$:0},kwpsp:{$:0},psp:{$:0},wskr:{$:0},kwp:{$:0},mw:{$:0},ug:{$:0},um:{$:0},umig:{$:0},ugim:{$:0},upow:{$:0},uw:{$:0},starostwo:{$:0},pa:{$:0},po:{$:0},psse:{$:0},pup:{$:0},rzgw:{$:0},sa:{$:0},so:{$:0},sr:{$:0},wsa:{$:0},sko:{$:0},uzs:{$:0},wiih:{$:0},winb:{$:0},pinb:{$:0},wios:{$:0},witd:{$:0},wzmiuw:{$:0},piw:{$:0},wiw:{$:0},griw:{$:0},wif:{$:0},oum:{$:0},sdn:{$:0},zp:{$:0},uppo:{$:0},mup:{$:0},wuoz:{$:0},konsulat:{$:0},oirm:{$:0}},augustow:{$:0},"babia-gora":{$:0},bedzin:{$:0},beskidy:{$:0},bialowieza:{$:0},bialystok:{$:0},bielawa:{$:0},bieszczady:{$:0},boleslawiec:{$:0},bydgoszcz:{$:0},bytom:{$:0},cieszyn:{$:0},czeladz:{$:0},czest:{$:0},dlugoleka:{$:0},elblag:{$:0},elk:{$:0},glogow:{$:0},gniezno:{$:0},gorlice:{$:0},grajewo:{$:0},ilawa:{$:0},jaworzno:{$:0},"jelenia-gora":{$:0},jgora:{$:0},kalisz:{$:0},"kazimierz-dolny":{$:0},karpacz:{$:0},kartuzy:{$:0},kaszuby:{$:0},katowice:{$:0},kepno:{$:0},ketrzyn:{$:0},klodzko:{$:0},kobierzyce:{$:0},kolobrzeg:{$:0},konin:{$:0},konskowola:{$:0},kutno:{$:0},lapy:{$:0},lebork:{$:0},legnica:{$:0},lezajsk:{$:0},limanowa:{$:0},lomza:{$:0},lowicz:{$:0},lubin:{$:0},lukow:{$:0},malbork:{$:0},malopolska:{$:0},mazowsze:{$:0},mazury:{$:0},mielec:{$:0},mielno:{$:0},mragowo:{$:0},naklo:{$:0},nowaruda:{$:0},nysa:{$:0},olawa:{$:0},olecko:{$:0},olkusz:{$:0},olsztyn:{$:0},opoczno:{$:0},opole:{$:0},ostroda:{$:0},ostroleka:{$:0},ostrowiec:{$:0},ostrowwlkp:{$:0},pila:{$:0},pisz:{$:0},podhale:{$:0},podlasie:{$:0},polkowice:{$:0},pomorze:{$:0},pomorskie:{$:0},prochowice:{$:0},pruszkow:{$:0},przeworsk:{$:0},pulawy:{$:0},radom:{$:0},"rawa-maz":{$:0},rybnik:{$:0},rzeszow:{$:0},sanok:{$:0},sejny:{$:0},slask:{$:0},slupsk:{$:0},sosnowiec:{$:0},"stalowa-wola":{$:0},skoczow:{$:0},starachowice:{$:0},stargard:{$:0},suwalki:{$:0},swidnica:{$:0},swiebodzin:{$:0},swinoujscie:{$:0},szczecin:{$:0},szczytno:{$:0},tarnobrzeg:{$:0},tgory:{$:0},turek:{$:0},tychy:{$:0},ustka:{$:0},walbrzych:{$:0},warmia:{$:0},warszawa:{$:0},waw:{$:0},wegrow:{$:0},wielun:{$:0},wlocl:{$:0},wloclawek:{$:0},wodzislaw:{$:0},wolomin:{$:0},wroclaw:{$:0},zachpomor:{$:0},zagan:{$:0},zarow:{$:0},zgora:{$:0},zgorzelec:{$:0},beep:{$:0},co:{$:0},art:{$:0},gliwice:{$:0},krakow:{$:0},poznan:{$:0},wroc:{$:0},zakopane:{$:0},gda:{$:0},gdansk:{$:0},gdynia:{$:0},med:{$:0},sopot:{$:0}},pm:{$:0},pn:{$:0,gov:{$:0},co:{$:0},org:{$:0},edu:{$:0},net:{$:0}},post:{$:0},pr:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},isla:{$:0},pro:{$:0},biz:{$:0},info:{$:0},name:{$:0},est:{$:0},prof:{$:0},ac:{$:0}},pro:{$:0,aaa:{$:0},aca:{$:0},acct:{$:0},avocat:{$:0},bar:{$:0},cpa:{$:0},eng:{$:0},jur:{$:0},law:{$:0},med:{$:0},recht:{$:0},cloudns:{$:0}},ps:{$:0,edu:{$:0},gov:{$:0},sec:{$:0},plo:{$:0},com:{$:0},org:{$:0},net:{$:0}},pt:{$:0,net:{$:0},gov:{$:0},org:{$:0},edu:{$:0},int:{$:0},publ:{$:0},com:{$:0},nome:{$:0},blogspot:{$:0},nym:{$:0}},pw:{$:0,co:{$:0},ne:{$:0},or:{$:0},ed:{$:0},go:{$:0},belau:{$:0},cloudns:{$:0},nom:{$:0}},py:{$:0,com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},qa:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0},blogspot:{$:0},nom:{$:0}},re:{$:0,asso:{$:0},com:{$:0},nom:{$:0},blogspot:{$:0}},ro:{$:0,arts:{$:0},com:{$:0},firm:{$:0},info:{$:0},nom:{$:0},nt:{$:0},org:{$:0},rec:{$:0},store:{$:0},tm:{$:0},www:{$:0},shop:{$:0},blogspot:{$:0}},rs:{$:0,ac:{$:0},co:{$:0},edu:{$:0},gov:{$:0},in:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},ru:{$:0,ac:{$:0},edu:{$:0},gov:{$:0},int:{$:0},mil:{$:0},test:{$:0},adygeya:{$:0},bashkiria:{$:0},bir:{$:0},cbg:{$:0},com:{$:0},dagestan:{$:0},grozny:{$:0},kalmykia:{$:0},kustanai:{$:0},marine:{$:0},mordovia:{$:0},msk:{$:0},mytis:{$:0},nalchik:{$:0},nov:{$:0},pyatigorsk:{$:0},spb:{$:0},vladikavkaz:{$:0},vladimir:{$:0},blogspot:{$:0},cldmail:{hb:{$:0}},net:{$:0},org:{$:0},pp:{$:0}},rw:{$:0,gov:{$:0},net:{$:0},edu:{$:0},ac:{$:0},com:{$:0},co:{$:0},int:{$:0},mil:{$:0},gouv:{$:0}},sa:{$:0,com:{$:0}
82,net:{$:0},org:{$:0},gov:{$:0},med:{$:0},pub:{$:0},edu:{$:0},sch:{$:0}},sb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},sc:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0}},sd:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},med:{$:0},tv:{$:0},gov:{$:0},info:{$:0}},se:{$:0,a:{$:0},ac:{$:0},b:{$:0},bd:{$:0},brand:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},fh:{$:0},fhsk:{$:0},fhv:{$:0},g:{$:0},h:{$:0},i:{$:0},k:{$:0},komforb:{$:0},kommunalforbund:{$:0},komvux:{$:0},l:{$:0},lanbib:{$:0},m:{$:0},n:{$:0},naturbruksgymn:{$:0},o:{$:0},org:{$:0},p:{$:0},parti:{$:0},pp:{$:0},press:{$:0},r:{$:0},s:{$:0},t:{$:0},tm:{$:0},u:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},com:{$:0},blogspot:{$:0}},sg:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},per:{$:0},blogspot:{$:0}},sh:{$:0,com:{$:0},net:{$:0},gov:{$:0},org:{$:0},mil:{$:0},hashbang:{$:0},platform:{"*":{$:0}},wedeploy:{$:0},now:{$:0}},si:{$:0,blogspot:{$:0},nom:{$:0}},sj:{$:0},sk:{$:0,blogspot:{$:0},nym:{$:0}},sl:{$:0,com:{$:0},net:{$:0},edu:{$:0},gov:{$:0},org:{$:0}},sm:{$:0},sn:{$:0,art:{$:0},com:{$:0},edu:{$:0},gouv:{$:0},org:{$:0},perso:{$:0},univ:{$:0},blogspot:{$:0}},so:{$:0,com:{$:0}
82,net:{$:0},org:{$:0}},sr:{$:0},st:{$:0,co:{$:0},com:{$:0},consulado:{$:0},edu:{$:0},embaixada:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},principe:{$:0},saotome:{$:0},store:{$:0}},su:{$:0,abkhazia:{$:0},adygeya:{$:0},aktyubinsk:{$:0},arkhangelsk:{$:0},armenia:{$:0},ashgabad:{$:0},azerbaijan:{$:0},balashov:{$:0},bashkiria:{$:0},bryansk:{$:0},bukhara:{$:0},chimkent:{$:0},dagestan:{$:0},"east-kazakhstan":{$:0},exnet:{$:0},georgia:{$:0},grozny:{$:0},ivanovo:{$:0},jambyl:{$:0},kalmykia:{$:0},kaluga:{$:0},karacol:{$:0},karaganda:{$:0},karelia:{$:0},khakassia:{$:0},krasnodar:{$:0},kurgan:{$:0},kustanai:{$:0},lenug:{$:0},mangyshlak:{$:0},mordovia:{$:0},msk:{$:0},murmansk:{$:0},nalchik:{$:0},navoi:{$:0},"north-kazakhstan":{$:0},nov:{$:0},obninsk:{$:0},penza:{$:0},pokrovsk:{$:0},sochi:{$:0},spb:{$:0},tashkent:{$:0},termez:{$:0},togliatti:{$:0},troitsk:{$:0},tselinograd:{$:0},tula:{$:0},tuva:{$:0},vladikavkaz:{$:0},vladimir:{$:0},vologda:{$:0},nym:{$:0}},sv:{$:0,com:{$:0},edu:{$:0},gob:{$:0},org:{$:0},red:{$:0}},sx:{$:0,gov:{$:0},nym:{$:0}},sy:{$:0,edu:{$:0},gov:{$:0},net:{$:0},mil:{$:0},com:{$:0},org:{$:0}},sz:{$:0,co:{$:0},ac:{$:0},org:{$:0}},tc:{$:0},td:{$:0,blogspot:{$:0}},tel:{$:0},tf:{$:0},tg:{$:0},th:{$:0,ac:{$:0},co:{$:0},go:{$:0},in:{$:0},mi:{$:0},net:{$:0},or:{$:0}},tj:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},go:{$:0},gov:{$:0},int:{$:0},mil:{$:0},name:{$:0},net:{$:0},nic:{$:0},org:{$:0},test:{$:0},web:{$:0}},tk:{$:0},tl:{$:0,gov:{$:0}},tm:{$:0,com:{$:0},co:{$:0},org:{$:0}
vendor: 4,105 bytes, line 82
82,net:{$:0},nom:{$:0},gov:{$:0},mil:{$:0},edu:{$:0}},tn:{$:0,com:{$:0},ens:{$:0},fin:{$:0},gov:{$:0},ind:{$:0},intl:{$:0},nat:{$:0},net:{$:0},org:{$:0},info:{$:0},perso:{$:0},tourism:{$:0},edunet:{$:0},rnrt:{$:0},rns:{$:0},rnu:{$:0},mincom:{$:0},agrinet:{$:0},defense:{$:0},turen:{$:0}},to:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0},mil:{$:0},vpnplus:{$:0}},tr:{$:0,com:{$:0,blogspot:{$:0}},info:{$:0},biz:{$:0},net:{$:0},org:{$:0},web:{$:0},gen:{$:0},tv:{$:0},av:{$:0},dr:{$:0},bbs:{$:0},name:{$:0},tel:{$:0},gov:{$:0},bel:{$:0},pol:{$:0},mil:{$:0},k12:{$:0},edu:{$:0},kep:{$:0},nc:{$:0,gov:{$:0}}},travel:{$:0},tt:{$:0,co:{$:0},com:{$:0},org:{$:0},net:{$:0},biz:{$:0},info:{$:0},pro:{$:0},int:{$:0},coop:{$:0},jobs:{$:0},mobi:{$:0},travel:{$:0},museum:{$:0},aero:{$:0},name:{$:0},gov:{$:0},edu:{$:0}},tv:{$:0,dyndns:{$:0},"better-than":{$:0},"on-the-web":{$:0},"worse-than":{$:0}},tw:{$:0,edu:{$:0},gov:{$:0},mil:{$:0},com:{$:0,mymailer:{$:0}},net:{$:0},org:{$:0},idv:{$:0},game:{$:0},ebiz:{$:0},club:{$:0},"xn--zf0ao64a":{$:0},"xn--uc0atv":{$:0},"xn--czrw28b":{$:0},url:{$:0},blogspot:{$:0},nym:{$:0}},tz:{$:0,ac:{$:0},co:{$:0},go:{$:0},hotel:{$:0},info:{$:0},me:{$:0},mil:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0},tv:{$:0}},ua:{$:0,com:{$:0},edu:{$:0},gov:{$:0},in:{$:0},net:{$:0},org:{$:0},cherkassy:{$:0},cherkasy:{$:0},chernigov:{$:0},chernihiv:{$:0},chernivtsi:{$:0},chernovtsy:{$:0},ck:{$:0},cn:{$:0},cr:{$:0},crimea:{$:0},cv:{$:0},dn:{$:0},dnepropetrovsk:{$:0},dnipropetrovsk:{$:0},dominic:{$:0},donetsk:{$:0},dp:{$:0},if:{$:0},"ivano-frankivsk":{$:0},kh:{$:0},kharkiv:{$:0},kharkov:{$:0},kherson:{$:0},khmelnitskiy:{$:0},khmelnytskyi:{$:0},kiev:{$:0},kirovograd:{$:0},km:{$:0},kr:{$:0},krym:{$:0},ks:{$:0},kv:{$:0},kyiv:{$:0},lg:{$:0},lt:{$:0},lugansk:{$:0},lutsk:{$:0},lv:{$:0},lviv:{$:0},mk:{$:0},mykolaiv:{$:0},nikolaev:{$:0},od:{$:0},odesa:{$:0},odessa:{$:0},pl:{$:0},poltava:{$:0},rivne:{$:0},rovno:{$:0},rv:{$:0},sb:{$:0},sebastopol:{$:0},sevastopol:{$:0},sm:{$:0},sumy:{$:0},te:{$:0},ternopil:{$:0},uz:{$:0},uzhgorod:{$:0},vinnica:{$:0},vinnytsia:{$:0},vn:{$:0},volyn:{$:0},yalta:{$:0},zaporizhzhe:{$:0},zaporizhzhia:{$:0},zhitomir:{$:0},zhytomyr:{$:0},zp:{$:0},zt:{$:0},cc:{$:0},inf:{$:0},ltd:{$:0},biz:{$:0},co:{$:0},pp:{$:0}},ug:{$:0,co:{$:0},or:{$:0},ac:{$:0},sc:{$:0},go:{$:0},ne:{$:0},com:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},uk:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0},"nh-serv":{$:0},"no-ip":{$:0},wellbeingzone:{$:0}},gov:{$:0,service:{$:0},homeoffice:{$:0}},ltd:{$:0},me:{$:0},net:{$:0},nhs:{$:0},org:{$:0},plc:{$:0},police:{$:0},sch:{"*":{$:0}}},us:{$:0,dni:{$:0},fed:{$:0},isa:{$:0},kids:{$:0},nsn:{$:0},ak:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},al:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ar:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},as:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},az:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ca:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},co:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ct:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},dc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},de:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},fl:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ga:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},gu:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},hi:{$:0,cc:{$:0},lib:{$:0}},ia:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},id:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},il:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},in:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ks:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ky:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},la:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ma:{$:0,k12:{$:0,pvt:{$:0},chtr:{$:0},paroch:{$:0}},cc:{$:0},lib:{$:0}},md:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},me:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0},"ann-arbor":{$:0},cog:{$:0},dst:{$:0},eaton:{$:0},gen:{$:0},mus:{$:0},tec:{$:0},washtenaw:{$:0}},mn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mo:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ms:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nd:{$:0,cc:{$:0},lib:{$:0}},ne:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nj:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nm:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nv:{$:0,k12:{$:0}
82,cc:{$:0},lib:{$:0}},ny:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},oh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ok:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},or:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pr:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ri:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sd:{$:0,cc:{$:0},lib:{$:0}},tn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},tx:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ut:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},va:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wv:{$:0,cc:{$:0}},wy:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},cloudns:{$:0},drud:{$:0},"is-by":{$:0},"land-4-sale":{$:0},"stuff-4-sale":{$:0},golffan:{$:0},noip:{$:0},pointto:{$:0}},uy:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gub:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},uz:{$:0,co:{$:0},com:{$:0},net:{$:0},org:{$:0}},va:{$:0},vc:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},mil:{$:0},edu:{$:0},nom:{$:0}},ve:{$:0,arts:{$:0},co:{$:0},com:{$:0},e12:{$:0},edu:{$:0},firm:{$:0},gob:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 2,204 bytes, line 82
82,net:{$:0},org:{$:0},rec:{$:0},store:{$:0},tec:{$:0},web:{$:0}},vg:{$:0,nom:{$:0}},vi:{$:0,co:{$:0},com:{$:0},k12:{$:0},net:{$:0},org:{$:0}},vn:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},int:{$:0},ac:{$:0},biz:{$:0},info:{$:0},name:{$:0},pro:{$:0},health:{$:0},blogspot:{$:0}},vu:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},wf:{$:0},ws:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},advisor:{"*":{$:0}},dyndns:{$:0},mypets:{$:0}},yt:{$:0},"xn--mgbaam7a8h":{$:0},"xn--y9a3aq":{$:0},"xn--54b7fta0cc":{$:0},"xn--90ae":{$:0},"xn--90ais":{$:0},"xn--fiqs8s":{$:0},"xn--fiqz9s":{$:0},"xn--lgbbat1ad8j":{$:0},"xn--wgbh1c":{$:0},"xn--e1a4c":{$:0},"xn--node":{$:0},"xn--qxam":{$:0},"xn--j6w193g":{$:0},"xn--2scrj9c":{$:0},"xn--3hcrj9c":{$:0},"xn--45br5cyl":{$:0},"xn--h2breg3eve":{$:0},"xn--h2brj9c8c":{$:0},"xn--mgbgu82a":{$:0},"xn--rvc1e0am3e":{$:0},"xn--h2brj9c":{$:0},"xn--mgbbh1a71e":{$:0},"xn--fpcrj9c3d":{$:0},"xn--gecrj9c":{$:0},"xn--s9brj9c":{$:0},"xn--45brj9c":{$:0},"xn--xkc2dl3a5ee0h":{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0},"xn--mgbtx2b":{$:0},"xn--mgbayh7gpa":{$:0},"xn--3e0b707e":{$:0},"xn--80ao21a":{$:0},"xn--fzc2c9e2c":{$:0},"xn--xkc2al3hye2a":{$:0},"xn--mgbc0a9azcg":{$:0},"xn--d1alf":{$:0},"xn--l1acc":{$:0},"xn--mix891f":{$:0},"xn--mix082f":{$:0},"xn--mgbx4cd0ab":{$:0},"xn--mgb9awbf":{$:0},"xn--mgbai9azgqp6j":{$:0},"xn--mgbai9a5eva00b":{$:0},"xn--ygbi2ammx":{$:0},"xn--90a3ac":{$:0,"xn--o1ac":{$:0},"xn--c1avg":{$:0},"xn--90azh":{$:0},"xn--d1at":{$:0},"xn--o1ach":{$:0},"xn--80au":{$:0}},"xn--p1ai":{$:0},"xn--wgbl6a":{$:0},"xn--mgberp4a5d4ar":{$:0},"xn--mgberp4a5d4a87g":{$:0},"xn--mgbqly7c0a67fbc":{$:0},"xn--mgbqly7cvafr":{$:0},"xn--mgbpl2fh":{$:0},"xn--yfro4i67o":{$:0},"xn--clchc0ea0b2g2a9gcd":{$:0},"xn--ogbpf8fl":{$:0},"xn--mgbtf8fl":{$:0},"xn--o3cw4h":{$:0,"xn--12c1fe0br":{$:0},"xn--12co0c3b4eva":{$:0},"xn--h3cuzk1di":{$:0},"xn--o3cyx2a":{$:0},"xn--m3ch0j3a":{$:0},"xn--12cfi8ixb8l":{$:0}},"xn--pgbs0dh":{$:0},"xn--kpry57d":{$:0},"xn--kprw13d":{$:0},"xn--nnx388a":{$:0},"xn--j1amh":{$:0},"xn--mgb2ddes":{$:0},xxx:{$:0},ye:{"*":{$:0}},za:{ac:{$:0},agric:{$:0},alt:{$:0},co:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},grondar:{$:0},law:{$:0},mil:{$:0}
82,net:{$:0},ngo:{$:0},nis:{$:0},nom:{$:0},org:{$:0},school:{$:0},tm:{$:0},web:{$:0}},zm:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},mil:{$:0},net:{$:0},org:{$:0},sch:{$:0}},zw:{$:0,ac:{$:0},co:{$:0},gov:{$:0},mil:{$:0},org:{$:0}},aaa:{$:0},aarp:{$:0},abarth:{$:0},abb:{$:0},abbott:{$:0},abbvie:{$:0},abc:{$:0},able:{$:0},abogado:{$:0},abudhabi:{$:0},academy:{$:0},accenture:{$:0},accountant:{$:0},accountants:{$:0},aco:{$:0},active:{$:0},actor:{$:0},adac:{$:0},ads:{$:0},adult:{$:0},aeg:{$:0},aetna:{$:0},afamilycompany:{$:0},afl:{$:0},africa:{$:0},agakhan:{$:0},agency:{$:0},aig:{$:0},aigo:{$:0},airbus:{$:0},airforce:{$:0},airtel:{$:0},akdn:{$:0},alfaromeo:{$:0},alibaba:{$:0},alipay:{$:0},allfinanz:{$:0},allstate:{$:0},ally:{$:0},alsace:{$:0},alstom:{$:0},americanexpress:{$:0},americanfamily:{$:0},amex:{$:0},amfam:{$:0},amica:{$:0},amsterdam:{$:0},analytics:{$:0},android:{$:0},anquan:{$:0},anz:{$:0},aol:{$:0},apartments:{$:0},app:{$:0},apple:{$:0},aquarelle:{$:0},arab:{$:0},aramco:{$:0},archi:{$:0},army:{$:0},art:{$:0},arte:{$:0},asda:{$:0},associates:{$:0},athleta:{$:0},attorney:{$:0},auction:{$:0},audi:{$:0},audible:{$:0},audio:{$:0},auspost:{$:0},author:{$:0},auto:{$:0},autos:{$:0},avianca:{$:0},aws:{$:0},axa:{$:0},azure:{$:0},baby:{$:0},baidu:{$:0},banamex:{$:0},bananarepublic:{$:0},band:{$:0},bank:{$:0},bar:{$:0},barcelona:{$:0},barclaycard:{$:0},barclays:{$:0},barefoot:{$:0},bargains:{$:0},baseball:{$:0},basketball:{$:0},bauhaus:{$:0},bayern:{$:0},bbc:{$:0},bbt:{$:0},bbva:{$:0},bcg:{$:0},bcn:{$:0},beats:{$:0},beauty:{$:0},beer:{$:0},bentley:{$:0},berlin:{$:0},best:{$:0},bestbuy:{$:0},bet:{$:0},bharti:{$:0},bible:{$:0},bid:{$:0},bike:{$:0},bing:{$:0},bingo:{$:0},bio:{$:0},black:{$:0},blackfriday:{$:0},blanco:{$:0},blockbuster:{$:0},blog:{$:0},bloomberg:{$:0},blue:{$:0},bms:{$:0},bmw:{$:0},bnl:{$:0},bnpparibas:{$:0},boats:{$:0},boehringer:{$:0},bofa:{$:0},bom:{$:0},bond:{$:0},boo:{$:0},book:{$:0},booking:{$:0},boots:{$:0},bosch:{$:0},bostik:{$:0},boston:{$:0},bot:{$:0},boutique:{$:0},box:{$:0},bradesco:{$:0},bridgestone:{$:0},broadway:{$:0},broker:{$:0},brother:{$:0},brussels:{$:0},budapest:{$:0},bugatti:{$:0},build:{$:0},builders:{$:0},business:{$:0},buy:{$:0},buzz:{$:0},bzh:{$:0},cab:{$:0},cafe:{$:0},cal:{$:0},call:{$:0},calvinklein:{$:0},cam:{$:0},camera:{$:0},camp:{$:0},cancerresearch:{$:0},canon:{$:0},capetown:{$:0},capital:{$:0},capitalone:{$:0},car:{$:0},caravan:{$:0},cards:{$:0},care:{$:0},career:{$:0},careers:{$:0},cars:{$:0},cartier:{$:0},casa:{$:0},case:{$:0},caseih:{$:0},cash:{$:0},casino:{$:0},catering:{$:0},catholic:{$:0},cba:{$:0},cbn:{$:0},cbre:{$:0},cbs:{$:0},ceb:{$:0},center:{$:0},ceo:{$:0},cern:{$:0},cfa:{$:0},cfd:{$:0},chanel:{$:0},channel:{$:0},chase:{$:0},chat:{$:0},cheap:{$:0},chintai:{$:0},christmas:{$:0},chrome:{$:0},chrysler:{$:0},church:{$:0},cipriani:{$:0},circle:{$:0},cisco:{$:0},citadel:{$:0},citi:{$:0},citic:{$:0},city:{$:0},cityeats:{$:0},claims:{$:0},cleaning:{$:0},click:{$:0},clinic:{$:0},clinique:{$:0},clothing:{$:0},cloud:{$:0,statics:{"*":{$:0}},magentosite:{"*":{$:0}},vapor:{$:0},sensiosite:{"*":{$:0}},trafficplex:{$:0}},club:{$:0,cloudns:{$:0}},clubmed:{$:0},coach:{$:0},codes:{$:0},coffee:{$:0},college:{$:0},cologne:{$:0},comcast:{$:0},commbank:{$:0},community:{$:0},company:{$:0},compare:{$:0},computer:{$:0},comsec:{$:0},condos:{$:0},construction:{$:0},consulting:{$:0},contact:{$:0},contractors:{$:0},cooking:{$:0},cookingchannel:{$:0},cool:{$:0,de:{$:0}},corsica:{$:0},country:{$:0},coupon:{$:0},coupons:{$:0},courses:{$:0},credit:{$:0},creditcard:{$:0},creditunion:{$:0},cricket:{$:0},crown:{$:0},crs:{$:0},cruise:{$:0},cruises:{$:0},csc:{$:0},cuisinella:{$:0},cymru:{$:0},cyou:{$:0},dabur:{$:0},dad:{$:0},dance:{$:0},data:{$:0},date:{$:0},dating:{$:0},datsun:{$:0},day:{$:0},dclk:{$:0},dds:{$:0},deal:{$:0},dealer:{$:0},deals:{$:0},degree:{$:0},delivery:{$:0},dell:{$:0},deloitte:{$:0},delta:{$:0},democrat:{$:0},dental:{$:0},dentist:{$:0},desi:{$:0},design:{$:0},dev:{$:0},dhl:{$:0},diamonds:{$:0},diet:{$:0},digital:{$:0},direct:{$:0},directory:{$:0},discount:{$:0},discover:{$:0},dish:{$:0},diy:{$:0},dnp:{$:0},docs:{$:0},doctor:{$:0},dodge:{$:0},dog:{$:0},doha:{$:0},domains:{$:0},dot:{$:0},download:{$:0},drive:{$:0},dtv:{$:0},dubai:{$:0},duck:{$:0},dunlop:{$:0},duns:{$:0},dupont:{$:0},durban:{$:0},dvag:{$:0},dvr:{$:0},earth:{$:0},eat:{$:0},eco:{$:0},edeka:{$:0},education:{$:0},email:{$:0},emerck:{$:0},energy:{$:0},engineer:{$:0},engineering:{$:0},enterprises:{$:0},epost:{$:0},epson:{$:0},equipment:{$:0},ericsson:{$:0},erni:{$:0},esq:{$:0},estate:{$:0,compute:{"*":{$:0}}},esurance:{$:0},etisalat:{$:0},eurovision:{$:0},eus:{$:0,party:{user:{$:0}}},events:{$:0},everbank:{$:0}
82,exchange:{$:0},expert:{$:0},exposed:{$:0},express:{$:0},extraspace:{$:0},fage:{$:0},fail:{$:0},fairwinds:{$:0},faith:{$:0,ybo:{$:0}},family:{$:0},fan:{$:0},fans:{$:0},farm:{$:0,storj:{$:0}},farmers:{$:0},fashion:{$:0},fast:{$:0},fedex:{$:0},feedback:{$:0},ferrari:{$:0},ferrero:{$:0},fiat:{$:0},fidelity:{$:0},fido:{$:0},film:{$:0},final:{$:0},finance:{$:0},financial:{$:0},fire:{$:0},firestone:{$:0},firmdale:{$:0},fish:{$:0},fishing:{$:0},fit:{$:0,ptplus:{$:0}},fitness:{$:0},flickr:{$:0},flights:{$:0},flir:{$:0},florist:{$:0},flowers:{$:0},fly:{$:0},foo:{$:0},food:{$:0},foodnetwork:{$:0},football:{$:0},ford:{$:0},forex:{$:0},forsale:{$:0},forum:{$:0},foundation:{$:0},fox:{$:0},free:{$:0},fresenius:{$:0},frl:{$:0},frogans:{$:0},frontdoor:{$:0},frontier:{$:0},ftr:{$:0},fujitsu:{$:0},fujixerox:{$:0},fun:{$:0},fund:{$:0},furniture:{$:0},futbol:{$:0},fyi:{$:0},gal:{$:0},gallery:{$:0},gallo:{$:0},gallup:{$:0},game:{$:0},games:{$:0},gap:{$:0},garden:{$:0},gbiz:{$:0},gdn:{$:0},gea:{$:0},gent:{$:0},genting:{$:0},george:{$:0},ggee:{$:0},gift:{$:0},gifts:{$:0},gives:{$:0},giving:{$:0},glade:{$:0},glass:{$:0},gle:{$:0},global:{$:0},globo:{$:0},gmail:{$:0},gmbh:{$:0},gmo:{$:0},gmx:{$:0},godaddy:{$:0},gold:{$:0},goldpoint:{$:0},golf:{$:0},goo:{$:0},goodhands:{$:0},goodyear:{$:0},goog:{$:0,cloud:{$:0}},google:{$:0},gop:{$:0},got:{$:0},grainger:{$:0},graphics:{$:0},gratis:{$:0},green:{$:0},gripe:{$:0},grocery:{$:0},group:{$:0},guardian:{$:0},gucci:{$:0},guge:{$:0},guide:{$:0},guitars:{$:0},guru:{$:0},hair:{$:0},hamburg:{$:0},hangout:{$:0},haus:{$:0},hbo:{$:0},hdfc:{$:0},hdfcbank:{$:0},health:{$:0},healthcare:{$:0},help:{$:0},helsinki:{$:0},here:{$:0},hermes:{$:0},hgtv:{$:0},hiphop:{$:0},hisamitsu:{$:0},hitachi:{$:0},hiv:{$:0},hkt:{$:0},hockey:{$:0},holdings:{$:0},holiday:{$:0},homedepot:{$:0},homegoods:{$:0},homes:{$:0},homesense:{$:0},honda:{$:0},honeywell:{$:0},horse:{$:0},hospital:{$:0},host:{$:0,cloudaccess:{$:0},freesite:{$:0}},hosting:{$:0,opencraft:{$:0}},hot:{$:0},hoteles:{$:0},hotels:{$:0},hotmail:{$:0},house:{$:0},how:{$:0},hsbc:{$:0},hughes:{$:0},hyatt:{$:0},hyundai:{$:0},ibm:{$:0},icbc:{$:0},ice:{$:0},icu:{$:0},ieee:{$:0},ifm:{$:0},ikano:{$:0},imamat:{$:0},imdb:{$:0},immo:{$:0},immobilien:{$:0},industries:{$:0},infiniti:{$:0},ing:{$:0},ink:{$:0},institute:{$:0},insurance:{$:0},insure:{$:0},intel:{$:0},international:{$:0},intuit:{$:0},investments:{$:0},ipiranga:{$:0},irish:{$:0},iselect:{$:0},ismaili:{$:0},ist:{$:0},istanbul:{$:0},itau:{$:0},itv:{$:0},iveco:{$:0},iwc:{$:0},jaguar:{$:0},java:{$:0},jcb:{$:0},jcp:{$:0},jeep:{$:0},jetzt:{$:0},jewelry:{$:0},jio:{$:0},jlc:{$:0},jll:{$:0},jmp:{$:0},jnj:{$:0},joburg:{$:0},jot:{$:0},joy:{$:0},jpmorgan:{$:0},jprs:{$:0},juegos:{$:0},juniper:{$:0},kaufen:{$:0},kddi:{$:0},kerryhotels:{$:0},kerrylogistics:{$:0},kerryproperties:{$:0},kfh:{$:0},kia:{$:0},kim:{$:0},kinder:{$:0},kindle:{$:0},kitchen:{$:0},kiwi:{$:0},koeln:{$:0},komatsu:{$:0},kosher:{$:0},kpmg:{$:0},kpn:{$:0},krd:{$:0,co:{$:0},edu:{$:0}},kred:{$:0},kuokgroup:{$:0},kyoto:{$:0},lacaixa:{$:0},ladbrokes:{$:0},lamborghini:{$:0},lamer:{$:0},lancaster:{$:0},lancia:{$:0},lancome:{$:0},land:{$:0,static:{$:0,dev:{$:0},sites:{$:0}}},landrover:{$:0},lanxess:{$:0},lasalle:{$:0},lat:{$:0},latino:{$:0},latrobe:{$:0},law:{$:0},lawyer:{$:0},lds:{$:0},lease:{$:0},leclerc:{$:0},lefrak:{$:0},legal:{$:0},lego:{$:0},lexus:{$:0},lgbt:{$:0},liaison:{$:0},lidl:{$:0},life:{$:0},lifeinsurance:{$:0},lifestyle:{$:0},lighting:{$:0},like:{$:0},lilly:{$:0},limited:{$:0},limo:{$:0},lincoln:{$:0},linde:{$:0},link:{$:0,cyon:{$:0},mypep:{$:0}},lipsy:{$:0},live:{$:0},living:{$:0},lixil:{$:0},loan:{$:0},loans:{$:0},locker:{$:0},locus:{$:0},loft:{$:0},lol:{$:0},london:{$:0},lotte:{$:0},lotto:{$:0},love:{$:0},lpl:{$:0},lplfinancial:{$:0},ltd:{$:0},ltda:{$:0},lundbeck:{$:0},lupin:{$:0},luxe:{$:0},luxury:{$:0},macys:{$:0},madrid:{$:0},maif:{$:0},maison:{$:0},makeup:{$:0},man:{$:0},management:{$:0,router:{$:0}},mango:{$:0},map:{$:0},market:{$:0},marketing:{$:0},markets:{$:0},marriott:{$:0},marshalls:{$:0},maserati:{$:0},mattel:{$:0},mba:{$:0},mckinsey:{$:0},med:{$:0},media:{$:0},meet:{$:0},melbourne:{$:0},meme:{$:0},memorial:{$:0},men:{$:0},menu:{$:0},meo:{$:0},merckmsd:{$:0},metlife:{$:0},miami:{$:0},microsoft:{$:0},mini:{$:0},mint:{$:0},mit:{$:0},mitsubishi:{$:0},mlb:{$:0},mls:{$:0},mma:{$:0},mobile:{$:0},mobily:{$:0},moda:{$:0},moe:{$:0},moi:{$:0},mom:{$:0},monash:{$:0},money:{$:0},monster:{$:0},mopar:{$:0},mormon:{$:0},mortgage:{$:0},moscow:{$:0},moto:{$:0},motorcycles:{$:0},mov:{$:0},movie:{$:0},movistar:{$:0},msd:{$:0},mtn:{$:0},mtpc:{$:0},mtr:{$:0},mutual:{$:0},nab:{$:0},nadex:{$:0},nagoya:{$:0},nationwide:{$:0},natura:{$:0},navy:{$:0},nba:{$:0},nec:{$:0},netbank:{$:0},netflix:{$:0},network:{$:0,alces:{"*":{$:0}}},neustar:{$:0},new:{$:0},newholland:{$:0},news:{$:0},next:{$:0},nextdirect:{$:0},nexus:{$:0},nfl:{$:0},ngo:{$:0}
82,nhk:{$:0},nico:{$:0},nike:{$:0},nikon:{$:0},ninja:{$:0},nissan:{$:0},nissay:{$:0},nokia:{$:0},northwesternmutual:{$:0},norton:{$:0},now:{$:0},nowruz:{$:0},nowtv:{$:0},nra:{$:0},nrw:{$:0},ntt:{$:0},nyc:{$:0},obi:{$:0},observer:{$:0},off:{$:0},office:{$:0},okinawa:{$:0},olayan:{$:0},olayangroup:{$:0},oldnavy:{$:0},ollo:{$:0},omega:{$:0},one:{$:0,homelink:{$:0}},ong:{$:0},onl:{$:0},online:{$:0,barsy:{$:0}},onyourside:{$:0},ooo:{$:0},open:{$:0},oracle:{$:0},orange:{$:0},organic:{$:0},origins:{$:0},osaka:{$:0},otsuka:{$:0},ott:{$:0},ovh:{$:0,nerdpol:{$:0}},page:{$:0},panasonic:{$:0},panerai:{$:0},paris:{$:0},pars:{$:0},partners:{$:0},parts:{$:0},party:{$:0,ybo:{$:0}},passagens:{$:0},pay:{$:0},pccw:{$:0},pet:{$:0},pfizer:{$:0},pharmacy:{$:0},phd:{$:0},philips:{$:0},phone:{$:0},photo:{$:0},photography:{$:0},photos:{$:0},physio:{$:0},piaget:{$:0},pics:{$:0},pictet:{$:0},pictures:{1337:{$:0},$:0},pid:{$:0},pin:{$:0},ping:{$:0},pink:{$:0},pioneer:{$:0},pizza:{$:0},place:{$:0},play:{$:0},playstation:{$:0},plumbing:{$:0},plus:{$:0},pnc:{$:0},pohl:{$:0},poker:{$:0},politie:{$:0},porn:{$:0},pramerica:{$:0},praxi:{$:0},press:{$:0},prime:{$:0},prod:{$:0},productions:{$:0},prof:{$:0},progressive:{$:0},promo:{$:0},properties:{$:0},property:{$:0},protection:{$:0},pru:{$:0},prudential:{$:0},pub:{$:0},pwc:{$:0},qpon:{$:0},quebec:{$:0},quest:{$:0},qvc:{$:0},racing:{$:0},radio:{$:0},raid:{$:0},read:{$:0},realestate:{$:0},realtor:{$:0},realty:{$:0},recipes:{$:0},red:{$:0},redstone:{$:0},redumbrella:{$:0},rehab:{$:0},reise:{$:0},reisen:{$:0},reit:{$:0},reliance:{$:0},ren:{$:0},rent:{$:0},rentals:{$:0},repair:{$:0},report:{$:0},republican:{$:0},rest:{$:0},restaurant:{$:0},review:{$:0,ybo:{$:0}},reviews:{$:0},rexroth:{$:0},rich:{$:0},richardli:{$:0},ricoh:{$:0},rightathome:{$:0},ril:{$:0},rio:{$:0},rip:{$:0,clan:{$:0}},rmit:{$:0},rocher:{$:0},rocks:{$:0,myddns:{$:0},"lima-city":{$:0},webspace:{$:0}},rodeo:{$:0},rogers:{$:0},room:{$:0},rsvp:{$:0},rugby:{$:0},ruhr:{$:0},run:{$:0},rwe:{$:0},ryukyu:{$:0},saarland:{$:0},safe:{$:0},safety:{$:0},sakura:{$:0},sale:{$:0},salon:{$:0},samsclub:{$:0},samsung:{$:0},sandvik:{$:0},sandvikcoromant:{$:0},sanofi:{$:0},sap:{$:0},sapo:{$:0},sarl:{$:0},sas:{$:0},save:{$:0},saxo:{$:0},sbi:{$:0},sbs:{$:0},sca:{$:0},scb:{$:0},schaeffler:{$:0},schmidt:{$:0},scholarships:{$:0},school:{$:0},schule:{$:0},schwarz:{$:0},science:{$:0,ybo:{$:0}},scjohnson:{$:0},scor:{$:0},scot:{$:0},search:{$:0},seat:{$:0},secure:{$:0},security:{$:0},seek:{$:0},select:{$:0},sener:{$:0},services:{$:0},ses:{$:0},seven:{$:0},sew:{$:0},sex:{$:0},sexy:{$:0},sfr:{$:0},shangrila:{$:0},sharp:{$:0},shaw:{$:0},shell:{$:0},shia:{$:0},shiksha:{$:0},shoes:{$:0},shop:{$:0},shopping:{$:0},shouji:{$:0},show:{$:0},showtime:{$:0},shriram:{$:0},silk:{$:0},sina:{$:0},singles:{$:0},site:{$:0,cyon:{$:0},platformsh:{"*":{$:0}},byen:{$:0}},ski:{$:0},skin:{$:0},sky:{$:0},skype:{$:0},sling:{$:0},smart:{$:0},smile:{$:0},sncf:{$:0},soccer:{$:0},social:{$:0},softbank:{$:0},software:{$:0},sohu:{$:0},solar:{$:0},solutions:{$:0},song:{$:0},sony:{$:0},soy:{$:0},space:{$:0,stackspace:{$:0},uber:{$:0},xs4all:{$:0}},spiegel:{$:0},spot:{$:0},spreadbetting:{$:0},srl:{$:0},srt:{$:0},stada:{$:0},staples:{$:0},star:{$:0},starhub:{$:0},statebank:{$:0},statefarm:{$:0},statoil:{$:0},stc:{$:0},stcgroup:{$:0},stockholm:{$:0},storage:{$:0},store:{$:0},stream:{$:0},studio:{$:0},study:{$:0},style:{$:0},sucks:{$:0},supplies:{$:0},supply:{$:0},support:{$:0,barsy:{$:0}},surf:{$:0},surgery:{$:0},suzuki:{$:0},swatch:{$:0},swiftcover:{$:0},swiss:{$:0},sydney:{$:0},symantec:{$:0},systems:{$:0,knightpoint:{$:0}},tab:{$:0},taipei:{$:0},talk:{$:0},taobao:{$:0},target:{$:0},tatamotors:{$:0},tatar:{$:0},tattoo:{$:0},tax:{$:0},taxi:{$:0},tci:{$:0},tdk:{$:0},team:{$:0},tech:{$:0},technology:{$:0},telecity:{$:0},telefonica:{$:0},temasek:{$:0},tennis:{$:0},teva:{$:0},thd:{$:0},theater:{$:0},theatre:{$:0},tiaa:{$:0},tickets:{$:0},tienda:{$:0},tiffany:{$:0},tips:{$:0},tires:{$:0},tirol:{$:0},tjmaxx:{$:0},tjx:{$:0},tkmaxx:{$:0},tmall:{$:0},today:{$:0},tokyo:{$:0},tools:{$:0},top:{$:0},toray:{$:0},toshiba:{$:0},total:{$:0},tours:{$:0},town:{$:0},toyota:{$:0},toys:{$:0},trade:{$:0,ybo:{$:0}},trading:{$:0},training:{$:0},travelchannel:{$:0},travelers:{$:0},travelersinsurance:{$:0},trust:{$:0},trv:{$:0},tube:{$:0},tui:{$:0},tunes:{$:0},tushu:{$:0},tvs:{$:0},ubank:{$:0},ubs:{$:0},uconnect:{$:0},unicom:{$:0},university:{$:0},uno:{$:0},uol:{$:0}
82,ups:{$:0},vacations:{$:0},vana:{$:0},vanguard:{$:0},vegas:{$:0},ventures:{$:0},verisign:{$:0},versicherung:{$:0},vet:{$:0},viajes:{$:0},video:{$:0},vig:{$:0},viking:{$:0},villas:{$:0},vin:{$:0},vip:{$:0},virgin:{$:0},visa:{$:0},vision:{$:0},vista:{$:0},vistaprint:{$:0},viva:{$:0},vivo:{$:0},vlaanderen:{$:0},vodka:{$:0},volkswagen:{$:0},volvo:{$:0},vote:{$:0},voting:{$:0},voto:{$:0},voyage:{$:0},vuelos:{$:0},wales:{$:0},walmart:{$:0},walter:{$:0},wang:{$:0},wanggou:{$:0},warman:{$:0},watch:{$:0},watches:{$:0},weather:{$:0},weatherchannel:{$:0},webcam:{$:0},weber:{$:0},website:{$:0},wed:{$:0},wedding:{$:0},weibo:{$:0},weir:{$:0},whoswho:{$:0},wien:{$:0},wiki:{$:0},williamhill:{$:0},win:{$:0},windows:{$:0},wine:{$:0},winners:{$:0},wme:{$:0},wolterskluwer:{$:0},woodside:{$:0},work:{$:0},works:{$:0},world:{$:0},wow:{$:0},wtc:{$:0},wtf:{$:0},xbox:{$:0},xerox:{$:0},xfinity:{$:0},xihuan:{$:0},xin:{$:0},"xn--11b4c3d":{$:0},"xn--1ck2e1b":{$:0},"xn--1qqw23a":{$:0},"xn--30rr7y":{$:0},"xn--3bst00m":{$:0},"xn--3ds443g":{$:0},"xn--3oq18vl8pn36a":{$:0},"xn--3pxu8k":{$:0},"xn--42c2d9a":{$:0},"xn--45q11c":{$:0},"xn--4gbrim":{$:0},"xn--55qw42g":{$:0},"xn--55qx5d":{$:0},"xn--5su34j936bgsg":{$:0},"xn--5tzm5g":{$:0},"xn--6frz82g":{$:0},"xn--6qq986b3xl":{$:0},"xn--80adxhks":{$:0},"xn--80aqecdr1a":{$:0},"xn--80asehdb":{$:0},"xn--80aswg":{$:0},"xn--8y0a063a":{$:0},"xn--9dbq2a":{$:0},"xn--9et52u":{$:0},"xn--9krt00a":{$:0},"xn--b4w605ferd":{$:0},"xn--bck1b9a5dre4c":{$:0},"xn--c1avg":{$:0},"xn--c2br7g":{$:0},"xn--cck2b3b":{$:0},"xn--cg4bki":{$:0},"xn--czr694b":{$:0},"xn--czrs0t":{$:0},"xn--czru2d":{$:0},"xn--d1acj3b":{$:0},"xn--eckvdtc9d":{$:0},"xn--efvy88h":{$:0},"xn--estv75g":{$:0},"xn--fct429k":{$:0},"xn--fhbei":{$:0},"xn--fiq228c5hs":{$:0},"xn--fiq64b":{$:0},"xn--fjq720a":{$:0},"xn--flw351e":{$:0},"xn--fzys8d69uvgm":{$:0},"xn--g2xx48c":{$:0},"xn--gckr3f0f":{$:0},"xn--gk3at1e":{$:0},"xn--hxt814e":{$:0},"xn--i1b6b1a6a2e":{$:0},"xn--imr513n":{$:0},"xn--io0a7i":{$:0},"xn--j1aef":{$:0},"xn--jlq61u9w7b":{$:0},"xn--jvr189m":{$:0},"xn--kcrx77d1x4a":{$:0},"xn--kpu716f":{$:0},"xn--kput3i":{$:0},"xn--mgba3a3ejt":{$:0},"xn--mgba7c0bbn0a":{$:0},"xn--mgbaakc7dvf":{$:0},"xn--mgbab2bd":{$:0},"xn--mgbb9fbpob":{$:0},"xn--mgbca7dzdo":{$:0},"xn--mgbi4ecexp":{$:0},"xn--mgbt3dhd":{$:0},"xn--mk1bu44c":{$:0},"xn--mxtq1m":{$:0},"xn--ngbc5azd":{$:0},"xn--ngbe9e0a":{$:0},"xn--ngbrx":{$:0},"xn--nqv7f":{$:0},"xn--nqv7fs00ema":{$:0},"xn--nyqy26a":{$:0},"xn--p1acf":{$:0},"xn--pbt977c":{$:0},"xn--pssy2u":{$:0},"xn--q9jyb4c":{$:0},"xn--qcka1pmc":{$:0},"xn--rhqv96g":{$:0},"xn--rovu88b":{$:0},"xn--ses554g":{$:0},"xn--t60b56a":{$:0},"xn--tckwe":{$:0},"xn--tiq49xqyj":{$:0},"xn--unup4y":{$:0},"xn--vermgensberater-ctb":{$:0},"xn--vermgensberatung-pwb":{$:0},"xn--vhquv":{$:0},"xn--vuq861b":{$:0},"xn--w4r85el8fhu5dnra":{$:0},"xn--w4rs40l":{$:0},"xn--xhq521b":{$:0},"xn--zfr164b":{$:0},xperia:{$:0},xyz:{$:0,blogsite:{$:0},fhapp:{$:0}},yachts:{$:0},yahoo:{$:0},yamaxun:{$:0},yandex:{$:0},yodobashi:{$:0},yoga:{$:0},yokohama:{$:0},you:{$:0},youtube:{$:0},yun:{$:0},zappos:{$:0},zara:{$:0},zero:{$:0},zip:{$:0},zippo:{$:0},zone:{$:0,triton:{"*":{$:0}},lima:{$:0}},zuerich:{$:0}}}},{}]},{},[1])(1)});
83;
84/* global pysOptions */
85
86
87! function ($, options) {
88    if (options.debug) {
89        console.log('PYS:', options);
90    }
91    var uniqueId = {};
92
93    let gtm_variables = {};
94    let gtm_datalayername = "dynamicVariable";
95
96    var domain = '';
97    if(options.hasOwnProperty("track_cookie_for_subdomains") && options.track_cookie_for_subdomains) {
98        domain = getRootDomain(true);
99    }
100    /**
101     * Resolve parameter value based on mode (static or dynamic)
102     *
103     * @param {Object|string} param - Parameter object with { value, selector } or string value
104     * @returns {string|null} - Resolved value
105     */
106    function resolveParamValue(param) {
107        // Handle old format (string)
108        if (typeof param === 'string') {
109            return param;
110        }
111        if (typeof param === 'object' && param !== null) {
112            return param.value || param;
113        }
114
115        return null;
116    }
117    var dummyPinterest = function () {
118
119        /**
120         * Public API
121         */
122        return {
123            isEnabled: function () {},
124            disable: function () {},
125            loadPixel: function () {},
126            fireEvent: function (name, data) {
127                return false;
128            },
129            onCommentEvent: function () {},
130            onDownloadEvent: function (params) {},
131            onFormEvent: function (params) {},
132            onWooAddToCartOnButtonEvent: function (product_id) {},
133            onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form) {},
134            onWooRemoveFromCartEvent: function (cart_item_hash) {},
135            onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {},
136            onEddRemoveFromCartEvent: function (item) {},
137            onPageScroll: function (event) {},
138            onTime: function (event) {},
139
140        }
141
142    }();
143
144    var dummyBing = function () {
145
146        /**
147         * Public API
148         */
149        return {
150            isEnabled: function () {},
151            disable: function () {},
152            loadPixel: function () {},
153            fireEvent: function (name, data) {
154                return false;
155            },
156            onAdSenseEvent: function () {},
157            onClickEvent: function (params) {},
158            onWatchVideo: function (params) {},
159            onCommentEvent: function () {},
160            onFormEvent: function (params) {},
161            onDownloadEvent: function (params) {},
162            onWooAddToCartOnButtonEvent: function (product_id) {},
163            onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form) {},
164            onWooRemoveFromCartEvent: function (cart_item_hash) {},
165            onWooAffiliateEvent: function (product_id) {},
166            onWooPayPalEvent: function () {},
167            onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {},
168            onEddRemoveFromCartEvent: function (item) {},
169            onPageScroll: function (event) {},
170            onTime: function (event) {},
171        }
172
173    }();
174
175	var dummyReddit = function () {
176		/**
177		 * Public API
178		 */
179		return {
180			tag: function () {
181				return "reddit";
182			},
183			isEnabled: function () {},
184			disable: function () {},
185			loadPixel: function () {},
186			fireEvent: function ( name, data ) {
187				return false;
188			},
189			onAdSenseEvent: function ( event ) {},
190			onClickEvent: function ( params ) {},
191			onWatchVideo: function ( params ) {},
192			onCommentEvent: function ( event ) {},
193			onFormEvent: function ( params ) {},
194			onDownloadEvent: function ( params ) {},
195			onWooAddToCartOnButtonEvent: function ( product_id ) {},
196			onWooAddToCartOnSingleEvent: function ( product_id, qty, product_type, is_external, $form ) {},
197			onWooRemoveFromCartEvent: function ( cart_item_hash ) {},
198			onWooAffiliateEvent: function ( product_id ) {},
199			onWooPayPalEvent: function ( event ) {},
200			onEddAddToCartOnButtonEvent: function ( download_id, price_index, qty ) {},
201			onEddRemoveFromCartEvent: function ( item ) {},
202			onPageScroll: function ( event ) {},
203			onTime: function ( event ) {},
204		}
205	}();
206
207
208	var Utils = function (options) {
209
210        var Pinterest = dummyPinterest;
211
212        var Bing = dummyBing;
213
214		var Reddit = dummyReddit;
215
216        var gtag_loaded = false;
217
218        var gtm_loaded = false;
219
220        let isNewSession = checkSession();
221
222        var utmTerms = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
223
224        var utmId = ['fbadid', 'gadid', 'padid', 'bingid'];
225
226        let dataLayerName = 'dataLayerPYS';
227
228        let GTMdataLayerName = 'dataLayer';
229
230        function validateEmail(email) {
231            var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
232            return re.test(email);
233        }
234        function getDomain(url) {
235
236            url = url.replace(/(https?:\/\/)?(www.)?/i, '');
237
238            if (url.indexOf('/') !== -1) {
239                return url.split('/')[0];
240            }
241
242            return url;
243        }
244        function loadPixels() {
245
246            if (!options.gdpr.all_disabled_by_api) {
247
248                if (!options.gdpr.facebook_disabled_by_api) {
249                    Facebook.loadPixel();
250                }
251
252                if (!options.gdpr.analytics_disabled_by_api) {
253                    Analytics.loadPixel();
254                }
255
256                if (!options.gdpr.analytics_disabled_by_api) {
257                    GTM.loadPixel();
258                }
259
260                if (!options.gdpr.pinterest_disabled_by_api) {
261                    Pinterest.loadPixel();
262                }
263
264                if (!options.gdpr.bing_disabled_by_api) {
265                    Bing.loadPixel();
266                }
267
268	            if (!options.gdpr.reddit_disabled_by_api) {
269		            Reddit.loadPixel();
270	            }
271            }
272            if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") {
273                if (typeof CS_Data.cs_google_analytics_consent_mode !== "undefined" && CS_Data.cs_google_analytics_consent_mode == 1) {
274                    Analytics.loadPixel();
275                }
276            }
277
278        }
279
280        function checkSession() {
281            if( Cookies.get('pys_start_session') === undefined ||
282                Cookies.get('pys_session_limit') === undefined) {
283                firstVisit = true;
284                return true
285            }
286            return false
287
288        }
289
290        function getTrafficSource() {
291
292            try {
293
294                let referrer = document.referrer.toString(),
295                    source;
296
297                let direct = referrer.length === 0;
298                let internal = direct ? false : referrer.indexOf(options.siteUrl) === 0;
299                let external = !direct && !internal;
300
301                if (external === false) {
302                    source = 'direct';
303                } else {
304                    source = referrer;
305                }
306
307                if (source !== 'direct') {
308                    // leave only domain (Issue #70)
309                    return getDomain(source);
310                } else {
311                    return source;
312                }
313
314            } catch (e) {
315                console.error(e);
316                return 'direct';
317            }
318
319        }
320
321        /**
322         * Return query variables object with where property name is query variable
323         * and property value is query variable value.
324         */
325        function getQueryVars() {
326
327            try {
328
329                var result = {},
330                    tmp = [];
331
332                window.location.search
333                    .substr(1)
334                    .split("&")
335                    .forEach(function (item) {
336
337                        tmp = item.split('=');
338
339                        if (tmp.length > 1) {
340                            result[tmp[0]] = tmp[1];
341                        }
342
343                    });
344
345                return result;
346
347            } catch (e) {
348                console.error(e);
349                return {};
350            }
351
352        }
353
354
355        function getLandingPageValue() {
356            let name = "pys_landing_page"
357            if(options.visit_data_model === "last_visit") {
358                name = "last_pys_landing_page"
359            }
360            if(Cookies.get(name) && Cookies.get(name) !== "undefined") {
361                return Cookies.get(name);
362            }
363            else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficLanding){
364                return options.tracking_analytics.TrafficLanding;
365            } else{
366                return "";
367            }
368        }
369        function getTrafficSourceValue() {
370            let name = "pysTrafficSource"
371            if(options.visit_data_model === "last_visit") {
372                name = "last_pysTrafficSource"
373            }
374            if(Cookies.get(name) && Cookies.get(name) !== "undefined") {
375                return Cookies.get(name);
376            }
377            else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficSource){
378                return options.tracking_analytics.TrafficSource;
379            } else{
380                return "";
381            }
382        }
383
384        function getUTMId(useLast = false) {
385            try {
386                let cookiePrefix = 'pys_'
387                let terms = [];
388                if (useLast) {
389                    cookiePrefix = 'last_pys_'
390                }
391                $.each(utmId, function (index, name) {
392                    if (Cookies.get(cookiePrefix + name)) {
393                        terms[name] = Cookies.get(cookiePrefix + name)
394                    }
395                    else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficUtmsId[name]) {
396                        terms[name] = filterEmails(options.tracking_analytics.TrafficUtmsId[name])
397                    }
398                });
399                return terms;
400            } catch (e) {
401                console.error(e);
402                return [];
403            }
404        }
405        /**
406         * Return UTM terms from request query variables or from cookies.
407         */
408        function getUTMs(useLast = false) {
409
410            try {
411                let cookiePrefix = 'pys_'
412                if(useLast) {
413                    cookiePrefix = 'last_pys_'
414                }
415                let terms = [];
416                $.each(utmTerms, function (index, name) {
417                    if (Cookies.get(cookiePrefix + name)) {
418                        let value = Cookies.get(cookiePrefix + name);
419                        terms[name] = filterEmails(value); // do not allow email in request params (Issue #70)
420                    }
421                    else if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.TrafficUtms[name]) {
422                        terms[name] = filterEmails(options.tracking_analytics.TrafficUtms[name])
423                    }
424                });
425
426                return terms;
427
428            } catch (e) {
429                console.error(e);
430                return [];
431            }
432
433        }
434
435        function getDateTime() {
436            var dateTime = new Array();
437            var date = new Date(),
438                days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
439                months = ['January', 'February', 'March', 'April', 'May', 'June',
440                    'July', 'August', 'September', 'October', 'November', 'December'
441                ],
442                hours = ['00-01', '01-02', '02-03', '03-04', '04-05', '05-06', '06-07', '07-08',
443                    '08-09', '09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17',
444                    '17-18', '18-19', '19-20', '20-21', '21-22', '22-23', '23-24'
445                ];
446            dateTime.push(hours[date.getHours()]);
447            dateTime.push(days[date.getDay()]);
448            dateTime.push(months[date.getMonth()]);
449            return dateTime;
450        }
451
452        function filterEmails(value) {
453            return validateEmail(value) ? undefined : value;
454        }
455
456        /**
457         * PUBLIC API
458         */
459        return {
460            PRODUCT_SIMPLE : 0,
461            PRODUCT_VARIABLE : 1,
462            PRODUCT_BUNDLE : 2,
463            PRODUCT_GROUPED : 3,
464            utmTerms : utmTerms,
465            utmId : utmId,
466            fireEventForAllPixel:function(functionName,events){
467                if (events.hasOwnProperty(Facebook.tag()))
468                    Facebook[functionName](events[Facebook.tag()]);
469                if (events.hasOwnProperty(Analytics.tag()))
470                    Analytics[functionName](events[Analytics.tag()]);
471                if (events.hasOwnProperty(Pinterest.tag()))
472                    Pinterest[functionName](events[Pinterest.tag()]);
473                if (events.hasOwnProperty(Bing.tag()))
474                    Bing[functionName](events[Bing.tag()]);
475	            if (events.hasOwnProperty(Reddit.tag()))
476		            Reddit[functionName](events[Reddit.tag()]);
477
478                if (events.hasOwnProperty(GTM.tag()))
479                    GTM[functionName](events[GTM.tag()]);
480            },
481
482            setupPinterestObject: function () {
483                Pinterest = window.pys.Pinterest || Pinterest;
484                return Pinterest;
485            },
486
487            setupBingObject: function () {
488                Bing = window.pys.Bing || Bing;
489                return Bing;
490            },
491
492	        setupRedditObject: function () {
493		        Reddit = window.pys.Reddit || Reddit;
494		        return Reddit;
495	        },
496
497            // Clone all object members to another and return it
498            copyProperties: function (from, to) {
499                for (var key in from) {
500                    if("function" == typeof from[key]) {
501                        continue;
502                    }
503                    to[key] = from[key];
504                }
505                return to;
506            },
507
508            manageCookies: function () {
509
510                if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') {
511                    if (Cookiebot.consented === false && !Cookiebot.consent['marketing'] && !Cookiebot.consent['statistics']) {
512                        return;
513                    }
514                }
515                let cm_consent_not_expressed = false;
516                if ( options.gdpr.consent_magic_integration_enabled && window.CS_Data !== undefined && window.CS_Data.cs_refresh_after_consent == 1 ) {
517                    if ( Cookies.get( 'cs_viewed_cookie_policy' ) === undefined ) {
518                        cm_consent_not_expressed = true;
519                    }
520                }
521
522                if( !cm_consent_not_expressed && isNewSession && !options.cookie.disabled_all_cookie && !options.cookie.disabled_start_session_cookie) {
523                    let duration = options.last_visit_duration * 60000
524                    var now = new Date();
525                    now.setTime(now.getTime() + duration);
526                    Cookies.set('pys_session_limit', true,{ expires: now, path: '/',domain: domain })
527                    Cookies.set('pys_start_session', true,{path: '/',domain: domain});
528                }
529
530                if (options.ajaxForServerEvent && !Cookies.get('pbid') && Facebook.isEnabled()) {
531                    jQuery.ajax({
532                        url: options.ajaxUrl,
533                        dataType: 'json',
534                        data: {
535                            action: 'pys_get_pbid'
536                        },
537                        success: function (res) {
538                            if (res.data && res.data.pbid != false && options.send_external_id) {
539                                if(!(options.cookie.disabled_all_cookie || options.cookie.externalID_disabled_by_api)){
540                                    var expires = parseInt(options.external_id_expire || 180);
541                                    Cookies.set('pbid', res.data.pbid, { expires: expires, path: '/',domain: domain });
542                                }
543
544                                if(options.hasOwnProperty('facebook')) {
545                                    options.facebook.advancedMatching = {
546                                        ...options.facebook.advancedMatching,  // spread current advancedMatching values
547                                        external_id: res.data.pbid
548                                    };
549                                }
550                            }
551                        }
552                    });
553                } else if (Cookies.get('pbid') && Facebook.isEnabled()){
554                    if(Facebook.advancedMatching() && Facebook.advancedMatching().external_id && !(options.cookie.disabled_all_cookie || options.cookie.externalID_disabled_by_api)){
555                        let expires = parseInt(options.external_id_expire || 180);
556                        Cookies.set('pbid', Facebook.advancedMatching().external_id, { expires: expires, path: '/',domain: domain });
557                    }
558                }
559
560                let expires = parseInt(options.cookie_duration); //  days
561                let queryVars = getQueryVars();
562                let landing = window.location.href.split('?')[0];
563                try {
564                    // save data for first visit
565                    if(Cookies.get('pys_first_visit') === undefined && (!options.cookie.disabled_all_cookie)) {
566
567                        if(!options.cookie.disabled_first_visit_cookie)
568                        {
569                            Cookies.set('pys_first_visit', true, { expires: expires, path: '/',domain: domain });
570                        }
571                        else {
572                            Cookies.remove('pys_first_visit')
573                        }
574
575                        if(!options.cookie.disabled_trafficsource_cookie)
576                        {
577                            Cookies.set('pysTrafficSource', getTrafficSource(), { expires: expires,path: '/',domain: domain });
578                        }
579                        else {
580                            Cookies.remove('pysTrafficSource')
581                        }
582
583                        if(!options.cookie.disabled_landing_page_cookie)
584                        {
585                            Cookies.set('pys_landing_page',landing,{ expires: expires,path: '/',domain: domain });
586                        }
587                        else {
588                            Cookies.remove('pys_landing_page')
589                        }
590
591                        if(!options.cookie.disabled_utmTerms_cookie)
592                        {
593                            $.each(utmTerms, function (index, name) {
594                                if (queryVars.hasOwnProperty(name)) {
595                                    Cookies.set('pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain });
596                                } else {
597                                    Cookies.remove('pys_' + name)
598                                }
599                            });
600                        }
601                        else {
602                            $.each(utmTerms, function (index, name) {
603                                Cookies.remove('pys_' + name)
604                            });
605                        }
606
607                        if(!options.cookie.disabled_utmId_cookie)
608                        {
609                            $.each(utmId,function(index,name) {
610                                if (queryVars.hasOwnProperty(name)) {
611                                    Cookies.set('pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain });
612                                } else {
613                                    Cookies.remove('pys_' + name)
614                                }
615                            })
616                        }
617                        else {
618                            $.each(utmId, function (index, name) {
619                                Cookies.remove('pys_' + name)
620                            });
621                        }
622                    }
623
624                    // save data for last visit if it new session
625                    if(isNewSession && (!options.cookie.disabled_all_cookie)) {
626                        if(!options.cookie.disabled_trafficsource_cookie)
627                        {
628                            Cookies.set('last_pysTrafficSource', getTrafficSource(), { expires: expires,path: '/',domain: domain });
629                        }
630                        else {
631                            Cookies.remove('last_pysTrafficSource')
632                        }
633
634                        if(!options.cookie.disabled_landing_page_cookie)
635                        {
636                            Cookies.set('last_pys_landing_page',landing,{ expires: expires,path: '/',domain: domain });
637                        }
638                        else {
639                            Cookies.remove('last_pys_landing_page')
640                        }
641
642                        if(!options.cookie.disabled_utmTerms_cookie)
643                        {
644                            $.each(utmTerms, function (index, name) {
645                                if (queryVars.hasOwnProperty(name)) {
646                                    Cookies.set('last_pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain });
647                                } else {
648                                    Cookies.remove('last_pys_' + name)
649                                }
650                            });
651                        }
652                        else {
653                            $.each(utmTerms, function (index, name) {
654                                Cookies.remove('last_pys_' + name)
655                            });
656                        }
657
658                        if(!options.cookie.disabled_utmId_cookie)
659                        {
660                            $.each(utmId,function(index,name) {
661                                if (queryVars.hasOwnProperty(name)) {
662                                    Cookies.set('last_pys_' + name, queryVars[name], { expires: expires,path: '/',domain: domain });
663                                } else {
664                                    Cookies.remove('last_pys_' + name)
665                                }
666                            })
667                        }
668                        else {
669                            $.each(utmId, function (index, name) {
670                                Cookies.remove('last_pys_' + name)
671                            });
672                        }
673
674                    }
675                    if(options.cookie.disabled_start_session_cookie) {
676                        Cookies.remove('pys_start_session')
677                        Cookies.remove('pys_session_limit')
678                    }
679                    if(options.cookie.disabled_all_cookie)
680                    {
681                        Cookies.remove('pys_first_visit')
682                        Cookies.remove('pysTrafficSource')
683                        Cookies.remove('pys_landing_page')
684                        Cookies.remove('last_pys_landing_page')
685                        Cookies.remove('last_pysTrafficSource')
686                        Cookies.remove('pys_start_session')
687                        Cookies.remove('pys_session_limit')
688                        $.each(Utils.utmTerms, function (index, name) {
689                            Cookies.remove('pys_' + name)
690                        });
691                        $.each(Utils.utmId,function(index,name) {
692                            Cookies.remove('pys_' + name)
693                        })
694                        $.each(Utils.utmTerms, function (index, name) {
695                            Cookies.remove('last_pys_' + name)
696                        });
697                        $.each(Utils.utmId,function(index,name) {
698                            Cookies.remove('last_pys_' + name)
699                        });
700                    }
701                } catch (e) {
702                    console.error(e);
703                }
704            },
705            /**
706             * Generate unique ID
707             */
708            generateUniqueId : function (event) {
709                if(event.eventID.length == 0 || (event.type == "static" && options.ajaxForServerStaticEvent) || (event.type !== "static" && options.ajaxForServerEvent)) {
710                    let idKey = event.hasOwnProperty('custom_event_post_id') ? event.custom_event_post_id : event.e_id;
711                    if (!uniqueId.hasOwnProperty(idKey)) {
712                        uniqueId[idKey] = pys_generate_token();
713                    }
714                    return uniqueId[idKey];
715                }
716                else if(event.eventID.length !== 0)
717                {
718                    return event.eventID;
719                }
720            },
721
722            // Flatten object for sendBeacon compatibility
723            flattenObject: function (obj, prefix = '', res = {}) {
724                for (const [key, value] of Object.entries(obj)) {
725                    const prefixedKey = prefix
726                        ? (Array.isArray(obj) ? `${prefix}[${key}]` : `${prefix}[${key}]`)
727                        : key;
728                    if (value !== null && typeof value === 'object' && !(value instanceof File)) {
729                        this.flattenObject(value, prefixedKey, res);
730                    } else {
731                        res[prefixedKey] = value;
732                    }
733                }
734                return res;
735            },
736
737            sendServerAjaxRequest : function(url, data) {
738                if (data.action === 'pys_api_event' && data.pixel === 'facebook' && window.pysFacebookRest) {
739                    // Use Facebook REST API
740                    this.sendRestAPIRequest(data, 'facebook');
741                    return;
742                }
743
744                // Check if sendBeacon is enabled and supported
745                if (options.useSendBeacon && navigator.sendBeacon) {
746                    try {
747                        // Flatten the data object for sendBeacon compatibility
748                        const flattenedData = this.flattenObject(data);
749                        const formData = new URLSearchParams();
750
751                        // Convert flattened data to URLSearchParams
752                        for (const [key, value] of Object.entries(flattenedData)) {
753                            if (value !== null && value !== undefined) {
754                                formData.append(key, value);
755                            }
756                        }
757
758                        // Try to send using sendBeacon
759                        const success = navigator.sendBeacon(url, formData);
760                        if (success) {
761                            return; // Successfully sent via sendBeacon
762                        }
763                    } catch (e) {
764                        // If sendBeacon fails, fall back to jQuery.ajax
765                        if (options.debug) {
766                            console.log('PYS: sendBeacon failed, falling back to jQuery.ajax:', e);
767                        }
768                    }
769                }
770
771                // Fallback to jQuery.ajax
772                jQuery.ajax( {
773                    type: 'POST',
774                    url: url,
775                    data: data,
776                    headers: {
777                        'Cache-Control': 'no-cache'
778                    },
779                    success: function () {
780                    },
781                } );
782            },
783
784            sendRestAPIRequest: function (data, platform) {
785                let restApiUrl;
786
787                // Get platform-specific REST API configuration
788                switch (platform) {
789                    case 'facebook':
790                        restApiUrl = window.pysFacebookRest ? window.pysFacebookRest.restApiUrl : '/wp-json/pys-facebook/v1/event';
791                        break;
792                    default:
793                        console.error('PYS: Unknown platform for REST API:', platform);
794                        this.sendAjaxFallback(data);
795                        return;
796                }
797
798                // Prepare data for REST API
799                const restApiData = {
800                    event: data.event,
801                    data: JSON.stringify(data.data || {}),
802                    ids: JSON.stringify(data.ids || []),
803                    eventID: data.event_id || data.eventID || '',
804                    woo_order: data.woo_order || '0',
805                    edd_order: data.edd_order || '0'
806                };
807
808                // Try to send using sendBeacon first (if enabled)
809                if (options.useSendBeacon && navigator.sendBeacon) {
810                    try {
811                        const formData = new URLSearchParams();
812                        for (const [key, value] of Object.entries(restApiData)) {
813                            formData.append(key, value);
814                        }
815
816                        if (navigator.sendBeacon(restApiUrl, formData)) {
817                            return;
818                        }
819                    } catch (e) {
820                        // sendBeacon failed, continue to fetch
821                    }
822                }
823
824                // Try to send using fetch with REST API
825                if (window.fetch) {
826                    const headers = {
827                        'Content-Type': 'application/json'
828                    };
829
830                    fetch(restApiUrl, {
831                        method: 'POST',
832                        headers: headers,
833                        body: JSON.stringify(restApiData)
834                    })
835                        .then(response => {
836                            if (!response.ok) {
837                                throw new Error(platform + ' REST API request failed: ' + response.status);
838                            }
839                        })
840                        .catch(error => {
841                            // Fallback to AJAX if REST API fails
842                            if (options.debug) {
843                                console.log('PYS: ' + platform + ' REST API failed, falling back to AJAX:', error);
844                            }
845                            this.sendAjaxFallback(data);
846                        });
847                } else {
848                    // Fallback to AJAX if fetch is not supported
849                    this.sendAjaxFallback(data);
850                }
851            },
852
853
854
855            // Fallback AJAX method
856            sendAjaxFallback: function (data) {
857                jQuery.ajax({
858                    type: 'POST',
859                    url: options.ajaxUrl,
860                    data: data,
861                    headers: {
862                        'Cache-Control': 'no-cache'
863                    },
864                    success: function () {
865                    },
866                });
867            },
868            // clone object
869            clone: function(obj) {
870                var copy;
871
872                // Handle the 3 simple types, and null or undefined
873                if (null == obj || "object" != typeof obj) return obj;
874
875                // Handle Date
876                if (obj instanceof Date) {
877                    copy = new Date();
878                    copy.setTime(obj.getTime());
879                    return copy;
880                }
881
882                // Handle Array
883                if (obj instanceof Array) {
884                    copy = [];
885                    for (var i = 0, len = obj.length; i < len; i++) {
886                        if("function" == typeof obj[i]) {
887                            continue;
888                        }
889                        copy[i] = Utils.clone(obj[i]);
890                    }
891                    return copy;
892                }
893
894                // Handle Object
895                if (obj instanceof Object) {
896                    copy = {};
897                    for (var attr in obj) {
898                        if (obj.hasOwnProperty(attr)) {
899                            if("function" == typeof obj[attr]) {
900                                continue;
901                            }
902                            copy[attr] = Utils.clone(obj[attr]);
903                        }
904                    }
905                    return copy;
906                }
907
908                return obj;
909            },
910
911            // Returns array of elements with given tag name
912            getTagsAsArray: function (tag) {
913                return [].slice.call(document.getElementsByTagName(tag));
914            },
915
916            getRequestParams: function () {
917                return [];
918            },
919
920            /**
921             * CUSTOM EVENTS
922             */
923
924            setupMouseOverClickEvents: function (eventId, triggers) {
925
926                // Non-default binding used to avoid situations when some code in external js
927                // stopping events propagation, eg. returns false, and our handler will never called
928                document.addEventListener('mouseover', function(event) {
929                    var matchedElements = Array.from(document.querySelectorAll(triggers));
930                    var clickedElement = event.target;
931                    var closestMatch = clickedElement.closest(triggers);
932                    if (matchedElements.includes(clickedElement) || closestMatch){
933                        if (event.target.classList.contains('pys-mouse-over-' + eventId)) {
934                            return true;
935                        } else {
936                            event.target.classList.add('pys-mouse-over-' + eventId);
937                        }
938
939                        Utils.fireTriggerEvent(eventId);
940                    }
941                });
942
943            },
944
945            setupCSSClickEvents: function (eventId, triggers) {
946                // Non-default binding used to avoid situations when some code in external js
947                // stopping events propagation, eg. returns false, and our handler will never called
948                document.addEventListener('click', function(event) {
949                    let matchedElements = Array.from(document.querySelectorAll(triggers)),
950                        clickedElement = event.target,
951                        closestMatch = clickedElement.closest(triggers);
952
953                    if (matchedElements.includes(clickedElement) || closestMatch){
954                        Utils.fireTriggerEvent(eventId);
955                    }
956                }, true);
957            },
958
959            setupURLClickEvents: function () {
960
961                if( !options.triggerEventTypes.hasOwnProperty('url_click') ) {
962                    return;
963                }
964                // Non-default binding used to avoid situations when some code in external js
965                // stopping events propagation, eg. returns false, and our handler will never called
966                $('a[data-pys-event-id]').onFirst('click', function (evt) {
967
968                    $(this).attr('data-pys-event-id').split(',').forEach(function (eventId) {
969
970                        eventId = parseInt(eventId);
971
972                        if (isNaN(eventId) === false) {
973                            Utils.fireTriggerEvent(eventId);
974                        }
975
976                    });
977
978                });
979
980
981            },
982
983            setupScrollPosEvents: function (eventId, triggers) {
984
985                var scrollPosThresholds = {},
986                    docHeight = $(document).height() - $(window).height();
987
988                // convert % to absolute positions
989                $.each(triggers, function (index, scrollPos) {
990
991                    // convert % to pixels
992                    scrollPos = docHeight * scrollPos / 100;
993                    scrollPos = Math.round(scrollPos);
994
995                    scrollPosThresholds[scrollPos] = eventId;
996
997                });
998
999                $(document).on("scroll",function () {
1000
1001                    var scrollPos = $(window).scrollTop();
1002
1003                    $.each(scrollPosThresholds, function (threshold, eventId) {
1004
1005                        // position has not reached yes
1006                        if (scrollPos <= threshold) {
1007                            return true;
1008                        }
1009
1010                        // fire event only once
1011                        if (eventId === null) {
1012                            return true;
1013                        } else {
1014                            scrollPosThresholds[threshold] = null;
1015                        }
1016
1017                        Utils.fireTriggerEvent(eventId);
1018
1019                    });
1020
1021                });
1022
1023
1024            },
1025            setupCommentEvents : function (eventId,triggers) {
1026                $('form.comment-form').on("submit",function () {
1027                    Utils.fireTriggerEvent(eventId);
1028                });
1029            },
1030
1031            /**
1032             * Events
1033             */
1034
1035            fireTriggerEvent: function (eventId) {
1036
1037                if (!options.triggerEvents.hasOwnProperty(eventId)) {
1038                    return;
1039                }
1040
1041                var event = {};
1042                var events = options.triggerEvents[eventId];
1043
1044                if (events.hasOwnProperty('facebook')) {
1045                    event = Utils.getFormFilledData(events.facebook);
1046                    Facebook.fireEvent(event.name, event);
1047                }
1048
1049                if (events.hasOwnProperty('ga')) {
1050                    event = Utils.getFormFilledData(events.ga);
1051                    Analytics.fireEvent(event.name, event);
1052                }
1053
1054                if (events.hasOwnProperty('pinterest')) {
1055                    event = Utils.getFormFilledData(events.pinterest);
1056                    Pinterest.fireEvent(event.name, event);
1057                }
1058
1059                if (events.hasOwnProperty('bing')) {
1060                    event = Utils.getFormFilledData(events.bing);
1061                    Bing.fireEvent(event.name, event);
1062                }
1063
1064	            if (events.hasOwnProperty('reddit')) {
1065                    event = Utils.getFormFilledData(events.reddit);
1066                    Reddit.fireEvent(event.name, event);
1067	            }
1068
1069                if (events.hasOwnProperty('gtm')) {
1070                    event = Utils.getFormFilledData(events.gtm);
1071                    GTM.fireEvent(event.name, event);
1072                }
1073            },
1074
1075            fireStaticEvents: function (pixel) {
1076
1077                if (options.staticEvents.hasOwnProperty(pixel)) {
1078
1079                    $.each(options.staticEvents[pixel], function (eventName, events) {
1080                        $.each(events, function (index, eventData) {
1081
1082                            eventData.fired = eventData.fired || false;
1083
1084                            if (!eventData.fired) {
1085                                eventData = Utils.getFormFilledData(eventData);
1086                                var fired = false;
1087
1088                                // fire event
1089                                if ('facebook' === pixel) {
1090                                    fired = Facebook.fireEvent(eventData.name, eventData);
1091                                } else if ('ga' === pixel) {
1092                                    fired = Analytics.fireEvent(eventData.name, eventData);
1093                                } else if ('pinterest' === pixel) {
1094                                    fired = Pinterest.fireEvent(eventData.name, eventData);
1095                                } else if ('bing' === pixel) {
1096                                    fired = Bing.fireEvent(eventData.name, eventData);
1097                                } else if ('gtm' === pixel) {
1098                                    fired = GTM.fireEvent(eventData.name, eventData);
1099                                } else if ('reddit' === pixel) {
1100	                                fired = Reddit.fireEvent(eventData.name, eventData);
1101                                }
1102
1103                                // prevent event double event firing
1104                                eventData.fired = fired;
1105
1106                            }
1107
1108                        });
1109                    });
1110
1111                }
1112
1113            },
1114
1115            /**
1116             * Load tag's JS
1117             *
1118             * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/
1119             * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/custom-dims-mets
1120             */
1121            loadGoogleTag: function (id) {
1122
1123                if (!gtag_loaded) {
1124                    let dataLayerName = this.dataLayerName;
1125                    if(options.hasOwnProperty('GATags')){
1126                        switch (options.GATags.ga_datalayer_type) {
1127                            case 'default':
1128                                dataLayerName = 'dataLayerPYS';
1129                                break;
1130                            case 'custom':
1131                                dataLayerName = options.GATags.ga_datalayer_name;
1132                                break;
1133                            default:
1134                                dataLayerName = 'dataLayer';
1135                        }
1136                    }
1137                    this.dataLayerName = dataLayerName;
1138                    (function (window, document, src) {
1139                        var a = document.createElement('script'),
1140                            m = document.getElementsByTagName('script')[0];
1141                        a.async = 1;
1142                        a.src = src;
1143                        m.parentNode.insertBefore(a, m);
1144                    })(window, document, '//www.googletagmanager.com/gtag/js?id=' + id+'&l='+this.dataLayerName);
1145
1146                    window[dataLayerName] = window[dataLayerName] || [];
1147                    window.gtag = window.gtag || function gtag() {
1148                        window[dataLayerName].push(arguments);
1149                    };
1150
1151                    if ( options.google_consent_mode ) {
1152                        let data = {};
1153                        data[ 'analytics_storage' ] = options.gdpr.analytics_storage.enabled ? options.gdpr.analytics_storage.value : 'granted';
1154                        data[ 'ad_storage' ] = options.gdpr.ad_storage.enabled ? options.gdpr.ad_storage.value : 'granted';
1155                        data[ 'ad_user_data' ] = options.gdpr.ad_user_data.enabled ? options.gdpr.ad_user_data.value : 'granted';
1156                        data[ 'ad_personalization' ] = options.gdpr.ad_personalization.enabled ? options.gdpr.ad_personalization.value : 'granted';
1157
1158                        this.loadDefaultConsent( 'consent', 'default', data );
1159                    }
1160
1161                    gtag('js', new Date());
1162                    gtag_loaded = true;
1163
1164                }
1165
1166            },
1167
1168            loadDefaultConsent: function() {
1169                window[ this.dataLayerName ].push( arguments );
1170            },
1171
1172            loadGTMScript: function (id = '') {
1173                const domain = options.gtm.gtm_container_domain ?? 'www.googletagmanager.com';
1174                const loader = options.gtm.gtm_container_identifier ?? 'gtm';
1175                const gtm_auth = options.gtm.gtm_auth ?? ''; // Set this if needed
1176                const gtm_preview = options.gtm.gtm_preview ?? ''; // Set this if needed
1177                const datalayer_name = options.gtm.gtm_dataLayer_name ?? 'dataLayer';
1178
1179                window[ datalayer_name ] = window[ datalayer_name ] || [];
1180                window.gtag = window.gtag || function gtag() {
1181                    window[ datalayer_name ].push( arguments );
1182                };
1183
1184                if ( options.google_consent_mode ) {
1185                    let data = {};
1186                    data[ 'analytics_storage' ] = options.gdpr.analytics_storage.enabled ? options.gdpr.analytics_storage.value : 'granted';
1187                    data[ 'ad_storage' ] = options.gdpr.ad_storage.enabled ? options.gdpr.ad_storage.value : 'granted';
1188                    data[ 'ad_user_data' ] = options.gdpr.ad_user_data.enabled ? options.gdpr.ad_user_data.value : 'granted';
1189                    data[ 'ad_personalization' ] = options.gdpr.ad_personalization.enabled ? options.gdpr.ad_personalization.value : 'granted';
1190
1191                    this.GTMdataLayerName = datalayer_name;
1192                    this.loadDefaultGTMConsent( 'consent', 'default', data );
1193                }
1194
1195                (function(w, d, s, l, i) {
1196                    w[l] = w[l] || [];
1197                    w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
1198                    const f = d.getElementsByTagName(s)[0];
1199                    const j = d.createElement(s);
1200                    const dl = l !== 'dataLayer' ? '&l=' + l : '';
1201                    j.async = true;
1202                    j.src = 'https://' + domain + '/' + loader + '.js?id=' + i + dl;
1203                    if (gtm_auth && gtm_preview) {
1204                        j.src += '&gtm_auth=' + gtm_auth + '&gtm_preview=' + gtm_preview + '&gtm_cookies_win=x';
1205                    }
1206                    f.parentNode.insertBefore(j, f);
1207                })(window, document, 'script', datalayer_name, id);
1208
1209            },
1210
1211            loadDefaultGTMConsent: function() {
1212                window[ this.GTMdataLayerName ].push( arguments );
1213            },
1214
1215            /**
1216             * GDPR
1217             */
1218
1219            loadPixels: function () {
1220
1221                if (options.gdpr.ajax_enabled && !options.gdpr.consent_magic_integration_enabled) {
1222
1223                    // retrieves actual PYS GDPR filters values which allow to avoid cache issues
1224                    $.get({
1225                        url: options.ajaxUrl,
1226                        dataType: 'json',
1227                        data: {
1228                            action: 'pys_get_gdpr_filters_values'
1229                        },
1230                        success: function (res) {
1231
1232                            if (res.success) {
1233
1234                                options.gdpr.all_disabled_by_api = res.data.all_disabled_by_api;
1235                                options.gdpr.facebook_disabled_by_api = res.data.facebook_disabled_by_api;
1236                                options.gdpr.analytics_disabled_by_api = res.data.analytics_disabled_by_api;
1237                                options.gdpr.google_ads_disabled_by_api = res.data.google_ads_disabled_by_api;
1238                                options.gdpr.pinterest_disabled_by_api = res.data.pinterest_disabled_by_api;
1239                                options.gdpr.bing_disabled_by_api = res.data.bing_disabled_by_api;
1240	                            options.gdpr.reddit_disabled_by_api = res.data.reddit_disabled_by_api;
1241
1242                                options.cookie.externalID_disabled_by_api = res.data.externalID_disabled_by_api;
1243                                options.cookie.disabled_all_cookie = res.data.disabled_all_cookie;
1244                                options.cookie.disabled_advanced_form_data_cookie = res.data.disabled_advanced_form_data_cookie;
1245                                options.cookie.disabled_landing_page_cookie = res.data.disabled_landing_page_cookie;
1246                                options.cookie.disabled_first_visit_cookie = res.data.disabled_first_visit_cookie;
1247                                options.cookie.disabled_trafficsource_cookie = res.data.disabled_trafficsource_cookie;
1248                                options.cookie.disabled_utmTerms_cookie = res.data.disabled_utmTerms_cookie;
1249                                options.cookie.disabled_utmId_cookie = res.data.disabled_utmId_cookie;
1250                            }
1251
1252                            loadPixels();
1253
1254                        }
1255                    });
1256
1257                } else {
1258                    loadPixels();
1259                }
1260
1261            },
1262
1263            consentGiven: function (pixel) {
1264
1265                /**
1266                 * ConsentMagic
1267                 */
1268                if ( options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined" ) {
1269
1270                    let test_prefix = CS_Data.test_prefix;
1271                    if (
1272                        ( ( typeof CS_Data.cs_google_consent_mode_enabled !== "undefined" && CS_Data.cs_google_consent_mode_enabled == 1 ) && ( pixel == 'analytics' || pixel == 'google_ads' ) )
1273                        || ( typeof CS_Data.cs_meta_ldu_mode !== "undefined" && CS_Data.cs_meta_ldu_mode && pixel == 'facebook' )
1274                        || ( typeof CS_Data.cs_reddit_ldu_mode !== "undefined" && CS_Data.cs_reddit_ldu_mode && pixel == 'reddit' )
1275                        || ( typeof CS_Data.cs_bing_consent_mode !== "undefined" && CS_Data.cs_bing_consent_mode.ad_storage.enabled && pixel == 'bing' )
1276                    ) {
1277                        if ( CS_Data.cs_cache_enabled == 0 || ( CS_Data.cs_cache_enabled == 1 && window.CS_Cache && window.CS_Cache.check_status ) ) {
1278                            return true;
1279                        } else {
1280                            return false;
1281                        }
1282                    }
1283
1284                    if( pixel == 'facebook' && ( CS_Data.cs_script_cat.facebook == 0 || CS_Data.cs_script_cat.facebook == CS_Data.cs_necessary_cat_id ) ) {
1285                        return true;
1286                    } else if( pixel == 'bing' && ( CS_Data.cs_script_cat.bing == 0 || CS_Data.cs_script_cat.bing == CS_Data.cs_necessary_cat_id ) ) {
1287                        return true;
1288                    } else if( pixel == 'analytics' && ( CS_Data.cs_script_cat.analytics == 0 || CS_Data.cs_script_cat.analytics == CS_Data.cs_necessary_cat_id ) ) {
1289                        return true;
1290                    } else if( pixel == 'google_ads' && ( CS_Data.cs_script_cat.gads == 0 || CS_Data.cs_script_cat.gads == CS_Data.cs_necessary_cat_id ) ) {
1291                        return true;
1292                    } else if( pixel == 'pinterest' && ( CS_Data.cs_script_cat.pinterest == 0 || CS_Data.cs_script_cat.pinterest == CS_Data.cs_necessary_cat_id ) ) {
1293                        return true;
1294                    } else if( pixel == 'tiktok' && ( CS_Data.cs_script_cat.tiktok == 0 || CS_Data.cs_script_cat.tiktok == CS_Data.cs_necessary_cat_id ) ) {
1295                        return true;
1296		            } else if( pixel == 'reddit' && ( CS_Data.cs_script_cat?.reddit == 0 || CS_Data.cs_script_cat?.reddit == CS_Data.cs_necessary_cat_id ) ) {
1297		                return true;
1298		            }
1299
1300                    let substring = "cs_enabled_cookie_term",
1301                        theCookies = document.cookie.split( ';' );
1302
1303                    for ( let i = 1; i <= theCookies.length; i++ ) {
1304                        if ( theCookies[ i - 1 ].indexOf( substring ) !== -1 ) {
1305                            let categoryCookie = theCookies[ i - 1 ].replace( 'cs_enabled_cookie_term' + test_prefix + '_', '' );
1306                            categoryCookie = Number( categoryCookie.replace( /\D+/g, "" ) );
1307                            let cs_cookie_val = Cookies.get( 'cs_enabled_cookie_term' + test_prefix + '_' + categoryCookie );
1308
1309                            if ( categoryCookie === CS_Data.cs_script_cat.facebook && pixel == 'facebook' ) {
1310                                return cs_cookie_val == 'yes';
1311                            } else if ( categoryCookie === CS_Data.cs_script_cat.bing && pixel == 'bing' ) {
1312                                return cs_cookie_val == 'yes';
1313                            } else if ( categoryCookie === CS_Data.cs_script_cat.analytics && pixel == 'analytics' ) {
1314                                return cs_cookie_val == 'yes';
1315                            } else if ( categoryCookie === CS_Data.cs_script_cat.gads && pixel == 'google_ads' ) {
1316                                return cs_cookie_val == 'yes';
1317                            } else if ( categoryCookie === CS_Data.cs_script_cat.pinterest && pixel == 'pinterest' ) {
1318                                return cs_cookie_val == 'yes';
1319                            } else if ( categoryCookie === CS_Data.cs_script_cat.tiktok && pixel == 'tiktok' ) {
1320                                return cs_cookie_val == 'yes';
1321                            } else if ( categoryCookie === CS_Data.cs_script_cat?.reddit && pixel == 'reddit' ) {
1322	                            return cs_cookie_val == 'yes';
1323                            }
1324                        }
1325                    }
1326
1327                    return false;
1328                }
1329
1330                /**
1331                 * Real Cookie Banner
1332                 */
1333                if(options.gdpr.real_cookie_banner_integration_enabled) {
1334                    var consentApi = window.consentApi;
1335                    if (consentApi) {
1336                        switch (pixel) {
1337                            case "analytics":
1338                                return consentApi.consentSync("http", "_ga", "*").cookieOptIn;
1339                            case "facebook":
1340                                return consentApi.consentSync("http", "_fbp", "*").cookieOptIn;
1341                            case "pinterest":
1342                                return consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn;
1343                            default:
1344                                return true;
1345                        }
1346                    }
1347                }
1348
1349                /**
1350                 * Cookiebot
1351                 */
1352                if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') {
1353
1354                    var cookiebot_consent_category = options.gdpr['cookiebot_' + pixel + '_consent_category'];
1355
1356                    if (options.gdpr[pixel + '_prior_consent_enabled']) {
1357                        if (Cookiebot.consented === true || Cookiebot.consent[cookiebot_consent_category]) {
1358                            return true;
1359                        }
1360                    } else {
1361                        if (Cookiebot.consent[cookiebot_consent_category]) {
1362                            return true;
1363                        }
1364                    }
1365
1366                    return false;
1367
1368                }
1369
1370                /**
1371                 * Cookie Notice
1372                 */
1373                if (options.gdpr.cookie_notice_integration_enabled && typeof cnArgs !== 'undefined') {
1374
1375                    var cn_cookie = Cookies.get(cnArgs.cookieName);
1376
1377                    if (options.gdpr[pixel + '_prior_consent_enabled']) {
1378                        if (typeof cn_cookie === 'undefined' || cn_cookie === 'true') {
1379                            return true;
1380                        }
1381                    } else {
1382                        if (cn_cookie === 'true') {
1383                            return true;
1384                        }
1385                    }
1386
1387                    return false;
1388
1389                }
1390
1391                /**
1392                 * Cookie Law Info
1393                 */
1394                if (options.gdpr.cookie_law_info_integration_enabled) {
1395                    var cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('wt_consent') ?? Cookies.get('viewed_cookie_policy');
1396                    if (options.gdpr[pixel + '_prior_consent_enabled']) {
1397                        if (typeof cli_cookie === 'undefined') return true;
1398                        if (
1399                            cli_cookie &&
1400                            (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent'))
1401                        ) {
1402                            if (getCookieYes('analytics') === 'yes') {
1403                                return true;
1404                            }
1405                        } else if (cli_cookie && cli_cookie === Cookies.get('viewed_cookie_policy')) {
1406                            if (Cookies.get('viewed_cookie_policy') === 'yes') {
1407                                return true;
1408                            }
1409                        }
1410                    } else {
1411                        if (
1412                            cli_cookie &&
1413                            (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent'))
1414                        ) {
1415                            if (getCookieYes('analytics') === 'yes') {
1416                                return true;
1417                            }
1418                        } else if (cli_cookie && cli_cookie === Cookies.get('viewed_cookie_policy')) {
1419                            if (Cookies.get('viewed_cookie_policy') === 'yes') {
1420                                return true;
1421                            }
1422                        }
1423                    }
1424                    return false;
1425                }
1426
1427                return true;
1428
1429            },
1430
1431            setupGdprCallbacks: function () {
1432                /**
1433                 * ConsentMagic
1434                 */
1435                if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") {
1436                    let test_prefix = CS_Data.test_prefix,
1437                        cs_refresh_after_consent = false,
1438                        substring = "cs_enabled_cookie_term";
1439
1440                    if (CS_Data.cs_refresh_after_consent == 1) {
1441                        cs_refresh_after_consent = CS_Data.cs_refresh_after_consent;
1442                    }
1443
1444                    let consent_actions = function () {
1445                        let theCookies = document.cookie.split( ';' );
1446
1447                        let consent = {
1448                            facebook: true,
1449                            ga: true,
1450                            google_ads: true,
1451                            tiktok: true,
1452                            bing: true,
1453                            pinterest: true,
1454                            gtm: true,
1455	                        reddit: true,
1456                        };
1457
1458                        for (let i = 1 ; i <= theCookies.length; i++) {
1459                            if (theCookies[i-1].indexOf(substring) !== -1) {
1460                                let categoryCookie = theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_','');
1461                                categoryCookie = Number(categoryCookie.replace(/\D+/g,""));
1462                                let cs_cookie_val = Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie);
1463                                if(cs_cookie_val == 'yes') {
1464                                    if ( ( categoryCookie === CS_Data.cs_script_cat.facebook ) || ( typeof CS_Data.cs_meta_ldu_mode !== "undefined" && CS_Data.cs_meta_ldu_mode ) ) {
1465                                        Facebook.loadPixel();
1466                                    }
1467
1468                                    if ( categoryCookie === CS_Data.cs_script_cat.bing || ( typeof CS_Data.cs_bing_consent_mode !== "undefined" && CS_Data.cs_bing_consent_mode.ad_storage.enabled ) ) {
1469                                        Bing.loadPixel();
1470                                    }
1471
1472                                    if (categoryCookie === CS_Data.cs_script_cat.analytics || (typeof CS_Data.cs_google_analytics_consent_mode !== "undefined" && CS_Data.cs_google_analytics_consent_mode == 1)
1472) {
1473
1474                                        Analytics.loadPixel();
1475                                    }
1476
1477                                    if (categoryCookie === CS_Data.cs_script_cat.pinterest) {
1478                                        Pinterest.loadPixel();
1479                                    }
1480
1481	                                if ( ( categoryCookie === CS_Data.cs_script_cat.reddit ) || ( typeof CS_Data.cs_reddit_ldu_mode !== "undefined" && CS_Data.cs_reddit_ldu_mode ) ) {
1482		                                Reddit.loadPixel();
1483	                                }
1484                                } else {
1485                                    if ( ( categoryCookie === CS_Data.cs_script_cat.facebook ) && ( typeof CS_Data.cs_meta_ldu_mode == "undefined" || !CS_Data.cs_meta_ldu_mode ) ) {
1486                                        Facebook.disable();
1487                                        consent.facebook = false;
1488                                    }
1489
1490                                    if ( categoryCookie === CS_Data.cs_script_cat.bing && ( typeof CS_Data.cs_bing_consent_mode == "undefined" || !CS_Data.cs_bing_consent_mode.ad_storage.enabled ) ) {
1491                                        Bing.disable();
1492                                        consent.bing = false;
1493                                    }
1494                                    if (categoryCookie === CS_Data.cs_script_cat.analytics && (typeof CS_Data.cs_google_analytics_consent_mode == "undefined" || CS_Data.cs_google_analytics_consent_mode == 0)) {
1495                                        Analytics.disable();
1496                                        consent.ga = false;
1497                                        consent.gtm = false;
1498                                    }
1499
1500                                    if (categoryCookie === CS_Data.cs_script_cat.pinterest) {
1501                                        Pinterest.disable();
1502                                        consent.pinterest = false;
1503                                    }
1504
1505	                                if ( ( categoryCookie === CS_Data.cs_script_cat.reddit ) && ( typeof CS_Data.cs_reddit_ldu_mode == "undefined" || !CS_Data.cs_reddit_ldu_mode ) ) {
1506		                                Reddit.disable();
1507		                                consent.reddit = false;
1508	                                }
1509                                }
1510                                if (Cookies.get('cs_enabled_advanced_matching') == 'yes') {
1511                                    Facebook.loadPixel();
1512                                }
1513                            }
1514                        }
1515                        Utils.setupGDPRData( consent );
1516                    }
1517
1518                    if (!cs_refresh_after_consent) {
1519                        consent_actions();
1520
1521                        $(document).on('click','.cs_action_btn',function(e) {
1522                            e.preventDefault();
1523
1524                            let consent = {
1525                                facebook: true,
1526                                ga: true,
1527                                bing: true,
1528                                pinterest: true,
1529                                gtm: true,
1530	                            reddit: true,
1531                            };
1532
1533                            let elm = $(this),
1534                                button_action = elm.attr('data-cs_action');
1535
1536                            if(button_action === 'allow_all') {
1537                                Facebook.loadPixel();
1538                                Bing.loadPixel();
1539                                Analytics.loadPixel();
1540                                Pinterest.loadPixel();
1541	                            Reddit.loadPixel();
1542
1543                                consent.facebook = true;
1544                                consent.bing = true;
1545                                consent.ga = true;
1546                                consent.pinterest = true;
1547	                            consent.reddit = true;
1548                                consent.gtm = true;
1549
1550                                Utils.setupGDPRData( consent );
1551                            } else if ( button_action === 'disable_all' ) {
1552                                if ( typeof CS_Data.cs_meta_ldu_mode == "undefined" || CS_Data.cs_meta_ldu_mode == 0 ) {
1553                                    Facebook.disable();
1554                                    consent.facebook = false;
1555                                }
1556
1557                                if ( typeof CS_Data.cs_bing_consent_mode == "undefined" || CS_Data.cs_bing_consent_mode.ad_storage.enabled == 0 ) {
1558                                    Bing.disable();
1559                                    consent.bing = false;
1560                                }
1561
1562                                if ( CS_Data.cs_google_analytics_consent_mode == 0 || typeof CS_Data.cs_google_analytics_consent_mode == "undefined" ) {
1563                                    Analytics.disable();
1564                                    consent.ga = false;
1565                                    consent.gtm = false;
1566                                }
1567
1568	                            if ( typeof CS_Data.cs_reddit_ldu_mode == "undefined" || CS_Data.cs_reddit_ldu_mode == 0 ) {
1569		                            Reddit.disable();
1570		                            consent.reddit = false;
1571	                            }
1572
1573                                Pinterest.disable();
1574                                consent.pinterest = false;
1575                                Utils.setupGDPRData( consent );
1576                            } else if ( button_action === 'cs_confirm' ) {
1577                                consent_actions();
1578                            }
1579                        });
1580                    }
1581                }
1582                /**
1583                 * Real Cookie Banner
1584                 */
1585                if(options.gdpr.real_cookie_banner_integration_enabled) {
1586                    let consentApi = window.consentApi;
1587                    if (consentApi) {
1588                        consentApi.consent("http", "_ga", "*")
1589                            .then(Analytics.loadPixel.bind(Analytics), Analytics.disable.bind(Analytics));
1590                        consentApi.consent("http", "_fbp", "*")
1591                            .then(Facebook.loadPixel.bind(Facebook), Facebook.disable.bind(Facebook));
1592                        consentApi.consent("http", "_pinterest_sess", ".pinterest.com")
1593                            .then(Pinterest.loadPixel.bind(Pinterest), Pinterest.disable.bind(Pinterest));
1594                        consentApi.consent("http", "_uetsid", "*")
1595                            .then(Bing.loadPixel.bind(Bing), Bing.disable.bind(Bing));
1596
1597                        let consent = {
1598                            facebook: true,
1599                            ga: true,
1600                            bing: true,
1601                            pinterest: true,
1602                            gtm: true,
1603                        };
1604
1605                        if (!consentApi.consentSync("http", "_ga", "*").cookieOptIn) {
1606                            consent.ga = false;
1607                            consent.gtm = false;
1608                        }
1609                        if (!consentApi.consentSync("http", "_fbp", "*").cookieOptIn) {
1610                            consent.facebook = false;
1611                        }
1612                        if (!consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn) {
1613                            consent.pinterest = false;
1614                        }
1615                        if (!consentApi.consentSync("http", "_uetsid", "*").cookieOptIn) {
1616                            consent.bing = false;
1617                        }
1618                        Utils.setupGDPRData( consent );
1619                    }
1620                }
1621                /**
1622                 * Cookiebot
1623                 */
1624                if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') {
1625
1626                    window.addEventListener("CookiebotOnConsentReady", function() {
1627
1628                        let consent = {
1629                            facebook: true,
1630                            ga: true,
1631                            bing: true,
1632                            pinterest: true,
1633                            gtm: true,
1634                        };
1635
1636                        Utils.manageCookies();
1637                        if (Cookiebot.consent.marketing) {
1638                            Facebook.loadPixel();
1639                            Bing.loadPixel();
1640                            Pinterest.loadPixel();
1641
1642                            consent.facebook = true;
1643                            consent.bing = true;
1644                            consent.pinterest = true;
1645                        }
1646                        if (Cookiebot.consent.statistics) {
1647                            Analytics.loadPixel();
1648
1649                            consent.ga = true;
1650                            consent.gtm = true;
1651                        }
1652                        if (!Cookiebot.consent.marketing) {
1653                            Facebook.disable();
1654                            Pinterest.disable();
1655                            Bing.disable();
1656
1657                            consent.facebook = false;
1658                            consent.bing = false;
1659                            consent.pinterest = false;
1660                        }
1661                        if (!Cookiebot.consent.statistics) {
1662                            Analytics.disable();
1663
1664                            consent.ga = false;
1665                            consent.gtm = false;
1666                        }
1667
1668                        Utils.setupGDPRData( consent );
1669                    });
1670
1671                }
1672
1673                /**
1674                 * Cookie Notice
1675                 */
1676                if (options.gdpr.cookie_notice_integration_enabled) {
1677
1678                    $(document).onFirst('click', '.cn-set-cookie', function () {
1679
1680                        let consent = {};
1681
1682                        if ($(this).data('cookie-set') === 'accept') {
1683                            Facebook.loadPixel();
1684                            Analytics.loadPixel();
1685                            Pinterest.loadPixel();
1686                            Bing.loadPixel();
1687
1688                            consent = {
1689                                facebook: true,
1690                                ga: true,
1691                                bing: true,
1692                                pinterest: true,
1693                                gtm: true,
1694                            };
1695                        } else {
1696                            Facebook.disable();
1697                            Analytics.disable();
1698                            Pinterest.disable();
1699                            Bing.disable();
1700
1701                            consent = {
1702                                facebook: false,
1703                                ga: false,
1704                                bing: false,
1705                                pinterest: false,
1706                                gtm: false,
1707                            };
1708                        }
1709
1710                        Utils.setupGDPRData( consent );
1711                    });
1712
1713                    $(document).onFirst('click', '.cn-revoke-cookie', function () {
1714                        Facebook.disable();
1715                        Analytics.disable();
1716                        Pinterest.disable();
1717                        Bing.disable();
1718
1719                        let consent = {
1720                            facebook: false,
1721                            ga: false,
1722                            bing: false,
1723                            pinterest: false,
1724                            gtm: false,
1725                        };
1726                        Utils.setupGDPRData( consent );
1727
1728                    });
1729
1730                }
1731
1732                /**
1733                 * Cookie Law Info
1734                 */
1735                if (options.gdpr.cookie_law_info_integration_enabled) {
1736
1737                    $(document).onFirst('click', '#wt-cli-accept-all-btn,#cookie_action_close_header, .cky-btn-accept', function () {
1738                        setTimeout(function (){
1739                            let cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('wt_consent') ?? Cookies.get('viewed_cookie_policy');
1740                            if (typeof cli_cookie !== 'undefined') {
1741                                if (cli_cookie === Cookies.get('cookieyes-consent') || cli_cookie === Cookies.get('wt_consent')) {
1742                                    if (getCookieYes('analytics') === 'yes') {
1743                                        Utils.manageCookies();
1744                                    }
1745                                } else if (cli_cookie === Cookies.get('viewed_cookie_policy') && cli_cookie == 'yes') {
1746                                    Utils.manageCookies();
1747                                }
1748                            }
1749                        },1000)
1750                        Facebook.loadPixel();
1751                        Analytics.loadPixel();
1752                        Pinterest.loadPixel();
1753                        Bing.loadPixel();
1754
1755                        let consent = {
1756                            facebook: true,
1757                            ga: true,
1758                            bing: true,
1759                            pinterest: true,
1760                            gtm: true,
1761                        };
1762                        Utils.setupGDPRData( consent );
1763                    });
1764
1765                    $(document).onFirst('click', '#cookie_action_close_header_reject, .cky-btn-reject', function () {
1766                        Facebook.disable();
1767                        Analytics.disable();
1768                        Pinterest.disable();
1769                        Bing.disable();
1770
1771                        let consent = {
1772                            facebook: false,
1773                            ga: false,
1774                            bing: false,
1775                            pinterest: false,
1776                            gtm: false,
1777                        };
1778                        Utils.setupGDPRData( consent );
1779                    });
1780
1781                }
1782
1783            },
1784
1785            setupGDPRData: function ( consent ) {
1786                consent = window.btoa( JSON.stringify( consent ) );
1787                Cookies.set( 'pys_consent', consent, { expires: 365, path: '/', domain: domain } );
1788            },
1789
1790            /**
1791             * DOWNLOAD DOCS
1792             */
1793
1794            getLinkExtension: function (link) {
1795
1796                // Remove anchor, query string and everything before last slash
1797                link = link.substring(0, (link.indexOf("#") === -1) ? link.length : link.indexOf("#"));
1798                link = link.substring(0, (link.indexOf("?") === -1) ? link.length : link.indexOf("?"));
1799                link = link.substring(link.lastIndexOf("/") + 1, link.length);
1800
1801                // If there's a period left in the URL, then there's a extension
1802                if (link.length > 0 && link.indexOf('.') !== -1) {
1803                    link = link.substring(link.indexOf(".") + 1); // Remove everything but what's after the first period
1804                    return link;
1805                } else {
1806                    return "";
1807                }
1808            },
1809
1810            getLinkFilename: function (link) {
1811
1812                // Remove anchor, query string and everything before last slash
1813                link = link.substring(0, (link.indexOf("#") === -1) ? link.length : link.indexOf("#"));
1814                link = link.substring(0, (link.indexOf("?") === -1) ? link.length : link.indexOf("?"));
1815                link = link.substring(link.lastIndexOf("/") + 1, link.length);
1816
1817                // If there's a period left in the URL, then there's a extension
1818                if (link.length > 0 && link.indexOf('.') !== -1) {
1819                    return link;
1820                } else {
1821                    return "";
1822                }
1823            },
1824            /**
1825             * Enrich
1826             */
1827            isCheckoutPage: function () {
1828                return $('body').hasClass('woocommerce-checkout') || document.querySelector('.woocommerce-checkout') ||
1829                    $('body').hasClass('edd-checkout');
1830            },
1831            addCheckoutFields : function() {
1832                var utm = "";
1833                var utms = getUTMs()
1834
1835                $.each(utmTerms, function (index, name) {
1836                    if(index > 0) {
1837                        utm+="|";
1838                    }
1839                    utm+=name+":"+utms[name];
1840                });
1841                var utmIdList = "";
1842                var utmsIds = getUTMId()
1843                $.each(utmId, function (index, name) {
1844                    if(index > 0) {
1845                        utmIdList+="|";
1846                    }
1847                    utmIdList+=name+":"+utmsIds[name];
1848                });
1849                var utmIdListLast = "";
1850                var utmsIdsLast = getUTMId(true)
1851                $.each(utmId, function (index, name) {
1852                    if(index > 0) {
1853                        utmIdListLast+="|";
1854                    }
1855                    utmIdListLast+=name+":"+utmsIdsLast[name];
1856                });
1857
1858
1859                var utmLast = "";
1860                var utmsLast = getUTMs(true)
1861                $.each(utmTerms, function (index, name) {
1862                    if(index > 0) {
1863                        utmLast+="|";
1864                    }
1865                    utmLast+=name+":"+utmsLast[name];
1866                });
1867
1868                var dateTime = getDateTime();
1869                var landing = getLandingPageValue();
1870                var lastLanding = getLandingPageValue();
1871                var trafic = getTrafficSourceValue();
1872                var lastTrafic = getTrafficSourceValue();
1873
1874                var $form = null;
1875                if($('body').hasClass('woocommerce-checkout')) {
1876                    $form = $("form.woocommerce-checkout");
1877                } else {
1878                    $form = $("#edd_purchase_form");
1879                }
1880                var inputs = {'pys_utm':utm,
1881                    'pys_utm_id':utmIdList,
1882                    'pys_browser_time':dateTime.join("|"),
1883                    'pys_landing':landing,
1884                    'pys_source':trafic,
1885                    'pys_order_type': $(".wcf-optin-form").length > 0 ? "wcf-optin" : "normal",
1886
1887                    'last_pys_landing':lastLanding,
1888                    'last_pys_source':lastTrafic,
1889                    'last_pys_utm':utmLast,
1890                    'last_pys_utm_id':utmIdListLast,
1891                }
1892
1893                Object.keys(inputs).forEach(function(key,index) {
1894                    $form.append("<input type='hidden' name='"+key+"' value='"+inputs[key]+"' /> ");
1895                });
1896
1897
1898            },
1899            getAdvancedFormData: function () {
1900                let dataStr = Cookies.get("pys_advanced_form_data");
1901                if(dataStr === undefined) {
1902                    return {'first_name':"",'last_name':"",'email':"",'phone':""};
1903                } else {
1904                    return JSON.parse(dataStr);
1905                }
1906            },
1907            getFormFilledData: function ( event ) {
1908                // First, resolve static/dynamic parameters
1909                if (event.params && Object.keys(event.params).length > 0) {
1910                    Object.entries(event.params).forEach(([key, value]) => {
1911                        // Resolve parameter value (static or dynamic)
1912                        const resolvedValue = resolveParamValue(value);
1913                        if (resolvedValue !== null) {
1914                            event.params[key] = resolvedValue;
1915                        }
1916                    });
1917                }
1918                return event;
1919            }
1920        };
1921
1922    }(options);
1923
1924    var Facebook = function (options) {
1925
1926
1927        var defaultEventTypes = [
1928            'PageView',
1929            'ViewContent',
1930            'Search',
1931            'AddToCart',
1932            'AddToWishlist',
1933            'InitiateCheckout',
1934            'AddPaymentInfo',
1935            'Purchase',
1936            'Lead',
1937
1938            'Subscribe',
1939            'CustomizeProduct',
1940            'FindLocation',
1941            'StartTrial',
1942            'SubmitApplication',
1943            'Schedule',
1944            'Contact',
1945            'Donate'
1946        ];
1947
1948        var initialized = false;
1949        var genereateFbp = function (){
1950            return !Cookies.get('_fbp') ? 'fb.1.'+Date.now()+'.'+Math.floor(1000000000 + Math.random() * 9000000000) : Cookies.get('_fbp');
1951        };
1952        var genereateFbc = function (){
1953            return getUrlParameter('fbclid') ? 'fb.1.'+Date.now()+'.'+getUrlParameter('fbclid') : ''
1954        };
1955        // fire server side event gdpr plugin installed
1956        var isApiDisabled = options.gdpr.all_disabled_by_api ||
1957            options.gdpr.facebook_disabled_by_api ||
1958            options.gdpr.cookiebot_integration_enabled ||
1959            options.gdpr.consent_magic_integration_enabled ||
1960            options.gdpr.cookie_notice_integration_enabled ||
1961            options.gdpr.cookie_law_info_integration_enabled;
1962
1963        /**
1964         *
1965         * @param allData
1966         * @param params
1967         * @returns {string | null}
1968         */
1969        function sendFbServerEvent(allData,name,params) {
1970            let eventId = null;
1971            if(options.facebook.serverApiEnabled) {
1972
1973                if(allData.e_id === "woo_remove_from_cart") {// server event will sended from hook
1974                    Facebook.updateEventId(allData.name);
1975                    allData.eventID = Facebook.getEventId(allData.name);
1976                } else {
1977                    // send event from server if they was bloc by gdpr or need send with delay
1978                    allData.eventID = Utils.generateUniqueId(allData);
1979
1980                    if(Cookies.get('_fbp')){
1981                        params._fbp = Cookies.get('_fbp');
1982                    }
1983                    if(Cookies.get('_fbc')){
1984                        params._fbc = Cookies.get('_fbc');
1985                    }
1986
1987                    if( options.ajaxForServerEvent || isApiDisabled ){
1988                        var json = {
1989                            action: 'pys_api_event',
1990                            pixel: 'facebook',
1991                            event: name,
1992                            data:params,
1993                            ids:options.facebook.pixelIds,
1994                            eventID:allData.eventID,
1995                            url:window.location.href,
1996                            ajax_event:options.ajax_event
1997                        };
1998                        if(allData.hasOwnProperty('woo_order')) {
1999                            json['woo_order'] = allData.woo_order;
2000                        }
2001                        if(allData.hasOwnProperty('edd_order')) {
2002                            json['edd_order'] = allData.edd_order;
2003                        }
2004
2005                        if (allData.e_id === "automatic_event_internal_link" || allData.e_id === "automatic_event_outbound_link") {
2006                            setTimeout(() => Utils.sendServerAjaxRequest(options.ajaxUrl, json), 500);
2007                        } else if (allData.type != 'static') {
2008                            Utils.sendServerAjaxRequest(options.ajaxUrl, json);
2009                        }
2010
2011                        if ( ( allData.type == 'static' && options.ajaxForServerStaticEvent ) || ( allData.hasOwnProperty( 'ajaxFire' ) && allData.ajaxFire ) ) {
2012                            Utils.sendServerAjaxRequest( options.ajaxUrl, json );
2013                        }
2014                    }
2015                }
2016                delete params._fbp;
2017                delete params._fbc;
2018                eventId = allData.eventID
2019            }
2020            return eventId;
2021        }
2022
2023        function fireEvent(name, allData) {
2024
2025            if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'facebook')) {
2026                return;
2027            }
2028
2029            var actionType = defaultEventTypes.includes(name) ? 'track' : 'trackCustom';
2030            var data = allData.params;
2031            var params = {};
2032            var arg = {};
2033            Utils.copyProperties(data, params);
2034            let eventId = sendFbServerEvent(allData,name,params)
2035
2036
2037            if("hCR" === name) {
2038                return;
2039            }
2040
2041            if (options.debug) {
2042                console.log('[Facebook] ' + name, params,"eventID",eventId);
2043            }
2044
2045            if(eventId != null) {
2046                arg.eventID = eventId;
2047            }
2048
2049            fbq(actionType, name, params, arg);
2050
2051        }
2052
2053        /**
2054         * Public API
2055         */
2056        return {
2057            tag: function() {
2058                return "facebook";
2059            },
2060            isEnabled: function () {
2061                return options.hasOwnProperty('facebook');
2062            },
2063
2064            disable: function () {
2065                initialized = false;
2066            },
2067            advancedMatching: function () {
2068                if(options.facebook.advancedMatchingEnabled) {
2069                    let advancedMatchingForm = Utils.getAdvancedFormData();
2070                    let advancedMatching = {};
2071                    if(Object.keys(options.facebook.advancedMatching).length > 0) {
2072                        advancedMatching = options.facebook.advancedMatching;
2073                    }
2074
2075                    if(!advancedMatching.hasOwnProperty("em")
2076                        && advancedMatchingForm.hasOwnProperty("email") && advancedMatchingForm["email"].length > 0) {
2077                        advancedMatching["em"] = advancedMatchingForm["email"];
2078                    }
2079                    if(!advancedMatching.hasOwnProperty("ph")
2080                        && advancedMatchingForm.hasOwnProperty("phone") && advancedMatchingForm["phone"].length > 0) {
2081                        advancedMatching["ph"] = advancedMatchingForm["phone"];
2082                    }
2083                    if(!advancedMatching.hasOwnProperty("fn")
2084                        && advancedMatchingForm.hasOwnProperty("first_name") && advancedMatchingForm["first_name"].length > 0) {
2085                        advancedMatching["fn"] = advancedMatchingForm["first_name"];
2086                    }
2087                    if(!advancedMatching.hasOwnProperty("ln")
2088                        && advancedMatchingForm.hasOwnProperty("last_name") && advancedMatchingForm["last_name"].length > 0) {
2089                        advancedMatching["ln"] = advancedMatchingForm["last_name"];
2090                    }
2091                    if(!advancedMatching.hasOwnProperty("external_id")){
2092                        if (Cookies.get('pbid') || (options.hasOwnProperty('pbid') && options.pbid)) {
2093                            advancedMatching["external_id"] = Cookies.get('pbid') ? Cookies.get('pbid') : options.pbid;
2094                        }
2095                    }
2096                    else if(advancedMatching.external_id != Cookies.get('pbid'))
2097                    {
2098                        advancedMatching["external_id"] = Cookies.get('pbid') ? Cookies.get('pbid') : advancedMatching.external_id;
2099                    }
2100                    if(Object.keys(advancedMatching).length > 0) {
2101                        return advancedMatching;
2102                    }
2103                }
2104                return false
2105            },
2106            /**
2107             * Load pixel's JS
2108             */
2109            loadPixel: function () {
2110
2111                if (initialized || !this.isEnabled() || !Utils.consentGiven('facebook')) {
2112                    return;
2113                }
2114
2115                !function (f, b, e, v, n, t, s) {
2116                    if (f.fbq) return;
2117                    n = f.fbq = function () {
2118                        n.callMethod ?
2119                            n.callMethod.apply(n, arguments) : n.queue.push(arguments)
2120                    };
2121                    if (!f._fbq) f._fbq = n;
2122                    n.push = n;
2123                    n.loaded = !0;
2124                    n.version = '2.0';
2125                    n.agent = 'dvpixelyoursite';
2126                    n.queue = [];
2127                    t = b.createElement(e);
2128                    t.async = !0;
2129                    t.src = v;
2130                    s = b.getElementsByTagName(e)[0];
2131                    s.parentNode.insertBefore(t, s)
2132                }(window,
2133                    document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
2134
2135                let expires = parseInt(options.cookie_duration);
2136                if(!Cookies.get('_fbp')) {
2137                    Cookies.set('_fbp',genereateFbp(),  { expires: expires,path: '/',domain: domain });
2138                }
2139
2140                if(getUrlParameter('fbclid')) {
2141                    Cookies.set('_fbc',genereateFbc(),  { expires: expires,path: '/',domain: domain });
2142                }
2143                // initialize pixel
2144                options.facebook.pixelIds.forEach(function (pixelId) {
2145                    if (options.facebook.removeMetadata) {
2146                        fbq('set', 'autoConfig', false, pixelId);
2147                    }
2148                    let advancedMatching = Facebook.advancedMatching();
2149
2150                    if ( +options.facebook.meta_ldu === 1  ) {
2151                        fbq( 'dataProcessingOptions', [ 'LDU' ], 0, 0 );
2152                    }
2153
2154                    if (options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined") {
2155                        if(!advancedMatching) {
2156                            fbq('init', pixelId);
2157                        } else {
2158                            var test_prefix = CS_Data.test_prefix;
2159                            var cs_advanced_matching = Cookies.get('cs_enabled_advanced_matching'+test_prefix);
2160                            if (jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0) {
2161                                if (cs_advanced_matching == 'yes') {
2162                                    fbq('init', pixelId, advancedMatching);
2163                                } else {
2164                                    fbq('init', pixelId);
2165                                }
2166                            } else {
2167                                fbq('init', pixelId, advancedMatching);
2168                            }
2169                        }
2170                    } else {
2171                        if(!advancedMatching) {
2172                            fbq('init', pixelId);
2173                        }  else {
2174                            fbq('init', pixelId, advancedMatching);
2175                        }
2176                    }
2177                });
2178
2179                initialized = true;
2180
2181                Utils.fireStaticEvents('facebook');
2182
2183            },
2184
2185            fireEvent: function (name, data) {
2186
2187                if (!initialized || !this.isEnabled()) {
2188                    return false;
2189                }
2190
2191                data.delay = data.delay || 0;
2192                data.params = data.params || {};
2193
2194                if (data.delay === 0) {
2195
2196                    fireEvent(name, data);
2197
2198                } else {
2199
2200                    setTimeout(function (name, params) {
2201                        fireEvent(name, params);
2202                    }, data.delay * 1000, name, data);
2203
2204                }
2205
2206                return true;
2207
2208            },
2209
2210            onCommentEvent: function (event) {
2211                this.fireEvent(event.name, event);
2212            },
2213
2214            onDownloadEvent: function (event) {
2215                this.fireEvent(event.name, event);
2216            },
2217
2218            onFormEvent: function (event) {
2219
2220                this.fireEvent(event.name, event);
2221
2222            },
2223
2224            onWooAddToCartOnButtonEvent: function (product_id) {
2225
2226                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2227                    return;
2228                var event = options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()];
2229                window.pysWooProductData = window.pysWooProductData || [];
2230                if (window.pysWooProductData.hasOwnProperty(product_id)) {
2231                    if (window.pysWooProductData[product_id].hasOwnProperty('facebook')) {
2232                        event = Utils.copyProperties(event, {})
2233                        Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params)
2234                        this.fireEvent(event.name, event);
2235                    }
2236                }
2237            },
2238
2239            onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form) {
2240
2241                window.pysWooProductData = window.pysWooProductData || [];
2242                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2243                    return;
2244                var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2245
2246                if (product_type === Utils.PRODUCT_VARIABLE && !options.facebook.wooVariableAsSimple) {
2247                    product_id = parseInt($form.find('input[name="variation_id"]').val());
2248                }
2249
2250                if (window.pysWooProductData.hasOwnProperty(product_id)) {
2251                    if (window.pysWooProductData[product_id].hasOwnProperty('facebook')) {
2252
2253
2254                        Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params);
2255
2256                        var groupValue = 0;
2257                        if(product_type === Utils.PRODUCT_GROUPED ) {
2258                            $form.find(".woocommerce-grouped-product-list .qty").each(function(index){
2259                                var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
2260                                var quantity = parseInt($(this).val());
2261                                if(isNaN(quantity)) {
2262                                    quantity = 0;
2263                                }
2264                                var childItem = window.pysWooProductData[product_id]['facebook'].grouped[childId];
2265
2266                                if(quantity == 0) {
2267                                    event.params.content_ids.forEach(function(el,index,array) {
2268                                        if(el == childItem.content_id) {
2269                                            array.splice(index, 1);
2270                                        }
2271                                    });
2272                                }
2273
2274                                if(event.params.hasOwnProperty('contents')) {
2275                                    event.params.contents.forEach(function(el,index,array) {
2276                                        if(el.id == childItem.content_id) {
2277                                            if(quantity > 0){
2278                                                el.quantity = quantity;
2279                                            } else {
2280                                                array.splice(index, 1);
2281                                            }
2282                                        }
2283                                    });
2284                                }
2285
2286
2287                                groupValue += childItem.price * quantity;
2288                            });
2289                            if(groupValue == 0) return;
2289 // skip if no items selected
2290                        }
2291
2292                        // maybe customize value option
2293                        if (options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption !== 'global') {
2294
2295                            if(product_type === Utils.PRODUCT_GROUPED) {
2296                                event.params.value = groupValue;
2297                            } else if(product_type === Utils.PRODUCT_BUNDLE) {
2298                                var data = $(".bundle_form .bundle_data").data("bundle_form_data");
2299                                var items_sum = getBundlePriceOnSingleProduct(data);
2300                                event.params.value = (parseInt(data.base_price) + items_sum )* qty;
2301                            } else {
2302                                event.params.value = event.params.value * qty;
2303                            }
2304                        }
2305
2306                        // only when non Facebook for WooCommerce logic used
2307                        if (event.params.hasOwnProperty('contents') && product_type !== Utils.PRODUCT_GROUPED) {
2308                            event.params.contents[0].quantity = qty;
2309                        }
2310
2311                        this.fireEvent(event.name, event);
2312
2313                    }
2314                }
2315            },
2316
2317            onWooRemoveFromCartEvent: function (event) {
2318                this.fireEvent(event.name, event);
2319            },
2320
2321            onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {
2322
2323                if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2324                    return;
2325                var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
2326
2327                if (window.pysEddProductData.hasOwnProperty(download_id)) {
2328
2329                    var index;
2330
2331                    if (price_index) {
2332                        index = download_id + '_' + price_index;
2333                    } else {
2334                        index = download_id;
2335                    }
2336
2337                    if (window.pysEddProductData[download_id].hasOwnProperty(index)) {
2338                        if (window.pysEddProductData[download_id][index].hasOwnProperty('facebook')) {
2339
2340
2341                            Utils.copyProperties(window.pysEddProductData[download_id][index]['facebook']["params"], event.params)
2342
2343                            // maybe customize value option
2344                            if (options.edd.addToCartOnButtonValueEnabled && options.edd.addToCartOnButtonValueOption !== 'global') {
2345                                event.params.value = event.params.value * qty;
2346                            }
2347
2348                            // update contents qty param
2349                            var contents = event.params.contents;
2350                            contents[0].quantity = qty;
2351                            event.params.contents = contents;
2352
2353                            this.fireEvent(event.name,event);
2354
2355                        }
2356                    }
2357
2358                }
2359
2360            },
2361
2362            onEddRemoveFromCartEvent: function (event) {
2363                this.fireEvent(event.name, event);
2364            },
2365            onPageScroll: function (event) {
2366                this.fireEvent(event.name, event);
2367            },
2368            onTime: function (event) {
2369                this.fireEvent(event.name, event);
2370            },
2371            initEventIdCookies: function (key) {
2372                var ids = {};
2373                ids[key] = pys_generate_token(36)
2374                Cookies.set('pys_fb_event_id', JSON.stringify(ids));
2375            },
2376            updateEventId:function(key) {
2377                var cooData = Cookies.get("pys_fb_event_id")
2378                if(cooData === undefined) {
2379                    this.initEventIdCookies(key);
2380                } else {
2381                    var data = JSON.parse(cooData);
2382                    data[key] = pys_generate_token(36);
2383                    Cookies.set('pys_fb_event_id', JSON.stringify(data) );
2384                }
2385            },
2386
2387            getEventId:function (key) {
2388                var data = Cookies.get("pys_fb_event_id");
2389                if(data === undefined) {
2390                    this.initEventIdCookies(key);
2391                    data = Cookies.get("pys_fb_event_id");
2392                }
2393                return JSON.parse(data)[key];
2394            },
2395
2396            sendFacebookRestAPIRequest: function(allData, name, params) {
2397                if (typeof window.pysFacebookRest === 'undefined' || !window.pysFacebookRest.restApiUrl) {
2398                    return;
2399                }
2400
2401                const restApiData = {
2402                    event: name,
2403                    data: JSON.stringify(params),
2404                    ids: allData.pixelIds || options.facebook.pixelIds,
2405                    eventID: allData.eventID,
2406                    woo_order: allData.woo_order || 0,
2407                    edd_order: allData.edd_order || 0
2408                };
2409
2410                // Try sendBeacon first
2411                if (navigator.sendBeacon) {
2412                    const formData = new FormData();
2413                    Object.keys(restApiData).forEach(key => {
2414                        if (Array.isArray(restApiData[key])) {
2415                            restApiData[key].forEach(value => {
2416                                formData.append(key + '[]', value);
2417                            });
2418                        } else {
2419                            formData.append(key, restApiData[key]);
2420                        }
2421                    });
2422
2423                    if (navigator.sendBeacon(window.pysFacebookRest.restApiUrl, formData)) {
2424                        return;
2425                    }
2426                }
2427
2428                // Fallback to fetch
2429                fetch(window.pysFacebookRest.restApiUrl, {
2430                    method: 'POST',
2431                    headers: {
2432                        'Content-Type': 'application/x-www-form-urlencoded',
2433                    },
2434                    body: new URLSearchParams(restApiData)
2435                }).catch(() => {
2436                    // Fallback to AJAX if fetch fails
2437                    this.sendAjaxFallback(allData, name, params);
2438                });
2439            },
2440
2441            sendAjaxFallback: function(allData, name, params) {
2442                var json = {
2443                    action: 'pys_api_event',
2444                    pixel: 'facebook',
2445                    event: name,
2446                    data: params,
2447                    ids: allData.pixelIds || options.facebook.pixelIds,
2448                    eventID: allData.eventID,
2449                    url: window.location.href,
2450                    ajax_event: options.ajax_event
2451                };
2452                if (allData.hasOwnProperty('woo_order')) {
2453                    json['woo_order'] = allData.woo_order;
2454                }
2455                if (allData.hasOwnProperty('edd_order')) {
2456                    json['edd_order'] = allData.edd_order;
2457                }
2458
2459                Utils.sendServerAjaxRequest(options.ajaxUrl, json);
2460            },
2461        };
2462
2463    }(options);
2464
2465    var Analytics = function (options) {
2466
2467        var initialized = false;
2468
2469        /**
2470         * Fires event
2471         *
2472         * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/sending-data
2473         * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/events
2474         * @link: https://developers.google.com/gtagjs/reference/event
2475         * @link: https://developers.google.com/gtagjs/reference/parameter
2476         *
2477         * @link: https://developers.google.com/analytics/devguides/collection/gtagjs/custom-dims-mets
2478         *
2479         * @param name
2480         * @param data
2481         */
2482        function fireEvent(name, data) {
2483
2484            if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'ga')) {
2485                return;
2486            }
2487
2488            var eventParams = Utils.copyProperties(data, {});
2489            var _fireEvent = function (tracking_id,name,params) {
2490
2491                params['send_to'] = tracking_id;
2492
2493                if (options.debug) {
2494                    console.log('[Google Analytics #' + tracking_id + '] ' + name, params);
2495                }
2496
2497                gtag('event', name, params);
2498
2499            };
2500            options.ga.trackingIds.forEach(function (tracking_id) {
2501                var copyParams = Utils.copyProperties(eventParam
2501s, {}); // copy params because mapParamsTov4 can modify it
2502                var params = mapParamsTov4(tracking_id,name,copyParams)
2503                _fireEvent(tracking_id,name,params);
2504            });
2505
2506        }
2507        function mapParamsTov4(tag,name,param) {
2508            //GA4 automatically collects a number of parameters for all events
2509            delete param.landing_page;
2510            // end
2511            if(isv4(tag)) {
2512                delete param.traffic_source;
2513                delete param.event_category;
2514                delete param.event_label;
2515                delete param.ecomm_prodid;
2516                delete param.ecomm_pagetype;
2517                delete param.ecomm_totalvalue;
2518                if(name === 'search') {
2519                    param['search'] = param.search_term;
2520                    delete param.search_term;
2521                    delete param.dynx_itemid;
2522                    delete param.dynx_pagetype;
2523                    delete param.dynx_totalvalue;
2524                }
2525            }
2526            return param;
2527        }
2528
2529        function isv4(tag) {
2530            return tag.indexOf('G') === 0;
2531        }
2532
2533        /**
2534         * Public API
2535         */
2536        return {
2537            tag: function() {
2538                return "ga";
2539            },
2540            isEnabled: function () {
2541                return options.hasOwnProperty('ga');
2542            },
2543
2544            disable: function () {
2545                initialized = false;
2546            },
2547
2548            loadPixel: function () {
2549
2550                if (initialized || !this.isEnabled() || !Utils.consentGiven('analytics')) {
2551                    return;
2552                }
2553
2554                Utils.loadGoogleTag(options.ga.trackingIds[0]);
2555                var config = {};
2556                // Cross-Domain tracking
2557                if (options.ga.crossDomainEnabled) {
2558                    config.linker = {
2559                        accept_incoming: options.ga.crossDomainAcceptIncoming,
2560                        domains: options.ga.crossDomainDomains
2561                    };
2562                }
2563                var ids = options.ga.trackingIds;
2564                // configure tracking ids
2565                ids.forEach(function (trackingId,index) {
2566                    var obj = options.ga.isDebugEnabled;
2567                    var searchValue = "index_"+index;
2568                    var config_for_tag = Object.assign({}, options.config);
2569                    config_for_tag.debug_mode = false;
2570                    config_for_tag.send_page_view = !options.ga.custom_page_view_event;
2571                    for (var key in obj) {
2572                        if (obj.hasOwnProperty(key) && obj[key] === searchValue) {
2573                            config_for_tag.debug_mode = true;
2574                            break;
2575                        }
2576                    }
2577                    if(!config_for_tag.debug_mode)
2578                    {
2579                        delete config_for_tag.debug_mode;
2580                    }
2581                    if(isv4(trackingId)) {
2582                        if(options.ga.disableAdvertisingFeatures) {
2583                            config_for_tag.allow_google_signals = false
2584                        }
2585                        if(options.ga.disableAdvertisingPersonalization) {
2586                            config_for_tag.allow_ad_personalization_signals = false
2587                        }
2588                    }
2589                    if(options.ga.hasOwnProperty('additionalConfig')){
2590                        if(options.ga.additionalConfig.hasOwnProperty(trackingId) && options.ga.additionalConfig[trackingId]){
2591                            config_for_tag.first_party_collection = options.ga.additionalConfig[trackingId].first_party_collection;
2592                        }
2593
2594                    }
2595                    if(options.ga.hasOwnProperty('serverContainerUrls')){
2596                        if(options.ga.serverContainerUrls.hasOwnProperty(trackingId) && options.ga.serverContainerUrls[trackingId].enable_server_container != false){
2597                            if(options.ga.serverContainerUrls[trackingId].server_container_url != ''){
2598                                config_for_tag.server_container_url = options.ga.serverContainerUrls[trackingId].server_container_url;
2599                            }
2600                            if(options.ga.serverContainerUrls[trackingId].transport_url != ''){
2601                                config_for_tag.transport_url = options.ga.serverContainerUrls[trackingId].transport_url;
2602                            }
2603                        }
2604                    }
2605                    if (options.gdpr.cookiebot_integration_enabled && typeof Cookiebot !== 'undefined') {
2606
2607                        var cookiebot_consent_category = options.gdpr['cookiebot_analytics_consent_category'];
2608                        if (options.gdpr['analytics_prior_consent_enabled']) {
2609                            if (Cookiebot.consented === true && Cookiebot.consent[cookiebot_consent_category]) {
2610                                gtag('config', trackingId, config_for_tag);
2611                            }
2612                        } else {
2613                            if (Cookiebot.consent[cookiebot_consent_category]) {
2614                                gtag('config', trackingId, config_for_tag);
2615                            }
2616                        }
2617                    }
2618                    else
2619                    {
2620                        gtag('config', trackingId, config_for_tag);
2621                    }
2622                });
2623
2624                initialized = true;
2625
2626                Utils.fireStaticEvents('ga');
2627
2628            },
2629
2630            fireEvent: function (name, data) {
2631
2632                if (!initialized || !this.isEnabled()) {
2633                    return false;
2634                }
2635
2636                data.delay = data.delay || 0;
2637                data.params = data.params || {};
2638                data.params.eventID = Utils.generateUniqueId(data);
2639                if (data.delay === 0) {
2640
2641                    fireEvent(name, data.params);
2642
2643                } else {
2644
2645                    setTimeout(function (name, params) {
2646                        fireEvent(name, params);
2647                    }, data.delay * 1000, name, data.params);
2648
2649                }
2650
2651                return true;
2652
2653            },
2654
2655            onCommentEvent: function (event) {
2656                this.fireEvent(event.name, event);
2657            },
2658
2659            onDownloadEvent: function (event) {
2660                this.fireEvent(event.name, event);
2661            },
2662
2663            onFormEvent: function (event) {
2664                this.fireEvent(event.name, event);
2665            },
2666
2667            onWooAddToCartOnButtonEvent: function (product_id) {
2668
2669                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2670                    return;
2671                var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2672
2673                if (window.pysWooProductData.hasOwnProperty(product_id)) {
2674                    if (window.pysWooProductData[product_id].hasOwnProperty('ga')) {
2675                        Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params)
2676                        this.fireEvent(event.name, event);
2677                    }
2678                }
2679
2680
2681            },
2682
2683            onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form) {
2684
2685                window.pysWooProductData = window.pysWooProductData || [];
2686
2687                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2688                    return;
2689                var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2690
2691                if (product_type === Utils.PRODUCT_VARIABLE && !options.ga.wooVariableAsSimple) {
2692                    product_id = parseInt($form.find('input[name="variation_id"]').val());
2693                }
2694
2695                if (window.pysWooProductData.hasOwnProperty(product_id)) {
2696                    if (window.pysWooProductData[product_id].hasOwnProperty('ga')) {
2697
2698                        Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params);
2699                        if(product_type === Utils.PRODUCT_GROUPED ) {
2700                            var groupValue = 0;
2701                            $form.find(".woocommerce-grouped-product-list .qty").each(function(index){
2702                                var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
2703                                var quantity = parseInt($(this).val());
2704                                if(isNaN(quantity)) {
2705                                    quantity = 0;
2706                                }
2707                                var childItem = window.pysWooProductData[product_id]['ga'].grouped[childId];
2708                                // update quantity
2709                                event.params.items.forEach(function(el,index,array) {
2710                                    if(el.id == childItem.content_id) {
2711                                        if(quantity > 0){
2712                                            el.quantity = quantity;
2713                                        } else {
2714                                            array.splice(index, 1);
2715                                        }
2716                                    }
2717                                });
2718                                groupValue += childItem.price * quantity;
2719                            });
2720                            if(options.woo.addToCartOnButtonValueEnabled &&
2721                                options.woo.addToCartOnButtonValueOption !== 'global' &&
2722                                event.params.hasOwnProperty('ecomm_totalvalue')) {
2723                                event.params.ecomm_totalvalue = groupValue;
2724                            }
2725
2726                            if(groupValue == 0) return; // skip if no items selected
2727                        } else {
2728                            // update items qty param
2729                            event.params.items[0].quantity = qty;
2730                        }
2731
2732                        // maybe customize value option
2733                        if (options.woo.addToCartOnButtonValueEnabled &&
2734                            options.woo.addToCartOnButtonValueOption !== 'global' &&
2735                            product_type !== Utils.PRODUCT_GROUPED)
2736                        {
2737                            if(event.params.hasOwnProperty('ecomm_totalvalue')) {
2738                                event.params.ecomm_totalvalue = event.params.items[0].price * qty;
2739                            }
2740
2741                        }
2742
2743
2744                        this.fireEvent(event.name, event);
2745                    }
2746                }
2747
2748            },
2749
2750            onWooRemoveFromCartEvent: function (event) {
2751
2752                this.fireEvent(event.name, event);
2753
2754            },
2755
2756            onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {
2757
2758                if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2759                    return;
2760                var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
2761
2762
2763                if (window.pysEddProductData.hasOwnProperty(download_id)) {
2764
2765                    var index;
2766
2767                    if (price_index) {
2768                        index = download_id + '_' + price_index;
2769                    } else {
2770                        index = download_id;
2771                    }
2772
2773                    if (window.pysEddProductData[download_id].hasOwnProperty(index)) {
2774                        if (window.pysEddProductData[download_id][index].hasOwnProperty('ga')) {
2775
2776                            Utils.copyProperties(window.pysEddProductData[download_id][index]['ga'].params, event.params);
2777
2778                            // update items qty param
2779                            event.params.items[0].quantity = qty;
2780
2781                            this.fireEvent(event.name,event);
2782
2783                        }
2784                    }
2785
2786                }
2787
2788            },
2789
2790            onEddRemoveFromCartEvent: function (event) {
2791                this.fireEvent(event.name, event);
2792            },
2793            onPageScroll: function (event) {
2794                this.fireEvent(event.name, event);
2795            },
2796            onTime: function (event) {
2797                this.fireEvent(event.name, event);
2798            },
2799
2800        };
2801
2802    }(options);
2803
2804    var GTM = function (options) {
2805        var initialized = false;
2806
2807        var datalayer_name = 'dataLayer';
2808        /*
2809         * @param name
2810         * @param data
2811         */
2812        function fireEvent(name, event) {
2813            if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'gtm')) {
2814                return;
2815            }
2816
2817
2818            var eventParams = event.params;
2819            var data = event.params;
2820            var valuesArray = Object.values(event.trackingIds);
2821            var ids = valuesArray;
2822            Utils.copyProperties(Utils.getRequestParams(), eventParams);
2823            var _fireEvent = function (tracking_id,name,params, event=null) {
2824                var eventData = {};
2825                var ContainerCodeHasTag = !options.gtm.gtm_just_data_layer && tracking_id.length > 0;
2826                if(ContainerCodeHasTag) {
2827                    params['send_to'] = tracking_id;
2828                }
2829                else if(!options.gtm.gtm_just_data_layer){
2830                    return
2831                }
2832
2833                if (params.hasOwnProperty('ecommerce')) {
2834                    eventData.ecommerce = params.ecommerce;
2835                    delete params.ecommerce;
2836                }
2837
2838                var automatedParams = { ...params };
2839                [params['manualName'], 'manualName', 'triggerType'].forEach(key => delete automatedParams[key]);
2840                if(event && (!event.hasOwnProperty('hasAutoParam') || (event.hasOwnProperty('hasAutoParam') && event.hasAutoParam))) {
2841                    eventData.automatedParameters = automatedParams;
2842                }
2843
2844// Move custom parameters to eventData
2845
2846                if (params.hasOwnProperty(params['manualName'])) {
2847                    eventData[params['manualName']] = params[params['manualName']];
2848                    delete params[params['manualName']];
2849                }
2850
2851                ['manualName','triggerType'].forEach(key => {
2852                    if (params.hasOwnProperty(key)) {
2853                        eventData[key] = params[key];
2854                        delete params[key];
2855                    }
2856                });
2857
2858                eventData.manualDataLayer = options.gtm.gtm_dataLayer_name ?? 'dataLayer';
2859
2860                eventData.event = name;
2861
2862                if (options.debug) {
2863                    if (ContainerCodeHasTag){
2864                        console.log('[Google GTM #' + tracking_id + '] ' + name, eventData);
2865                    }
2866                    else {
2867                        console.log('[Google GTM push to "'+datalayer_name+'"] ' + name, eventData);
2868                    }
2869                }
2870                window[datalayer_name].push(eventData);
2871
2872            };
2873
2874            var copyParams = Utils.copyProperties(eventParams, {}); // copy params because mapParamsToGTM can modify it
2875
2876            var params = mapParamsToGTM(ids,name,copyParams)
2877
2878            params.event_id = Utils.generateUniqueId(event);
2879
2880            _fireEvent(ids, name, params, event);
2881        }
2882
2883        function normalizeEventName(eventName) {
2884
2885            var matches = {
2886                ViewContent: 'view_item',
2887                AddToCart: 'add_to_cart',
2888                AddToWishList: 'add_to_wishlist',
2889                InitiateCheckout: 'begin_checkout',
2890                Purchase: 'purchase',
2891                Lead: 'generate_lead',
2892                CompleteRegistration: 'sign_up',
2893                AddPaymentInfo: 'set_checkout_option'
2894            };
2895
2896            return matches.hasOwnProperty(eventName) ? matches[eventName] : eventName;
2897
2898        }
2899
2900        function mapParamsToGTM(tag,name,param) {
2901            //GA4 automatically collects a number of parameters for all events
2902            var hasGTM = false;
2903
2904            // end
2905            if (Array.isArray(tag)) {
2906                hasGTM = tag.some(function (element) {
2907                    return isGTM(element);
2908                });
2909            } else if(isGTM(tag)) {
2910                // tag is a string and matches GTM
2911                hasGTM = true;
2912            }
2913            if(hasGTM) {
2914                delete param.event_category;
2915                delete param.event_label;
2916
2917                delete param.analytics_storage;
2918                delete param.ad_storage;
2919                delete param.ad_user_data;
2920                delete param.ad_personalization;
2921
2922                if(name === 'search') {
2923                    param['search'] = param.search_term;
2924                    delete param.search_term;
2925                    delete param.dynx_itemid;
2926                    delete param.dynx_pagetype;
2927                    delete param.dynx_totalvalue;
2928                }
2929            }
2930            return param;
2931        }
2932
2933        function isGTM(tag) {
2934            return tag.indexOf('GTM') === 0;
2935        }
2936        /**
2937         * Public API
2938         */
2939        return {
2940            tag: function() {
2941                return "gtm";
2942            },
2943            isEnabled: function () {
2944                return options.hasOwnProperty('gtm');
2945            },
2946            disable: function () {
2947                initialized = false;
2948            },
2949            updateEnhancedConversionData : function () {
2950                if (!initialized || !this.isEnabled()) {
2951                    return;
2952                }
2953                if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.hasOwnProperty("userDataEnable") && options.tracking_analytics.userDataEnable) {
2954                    var advanced = Utils.getAdvancedFormData();
2955                    if (Object.keys(advanced).length > 0) {
2956                        window[datalayer_name].push({'user_data' : advanced});
2957                    }
2958                }
2959            },
2960            loadPixel: function () {
2961
2962                if (initialized || !this.isEnabled() || !Utils.consentGiven('analytics')) {
2963                    return;
2964                }
2965                datalayer_name = options.gtm.gtm_dataLayer_name ?? 'dataLayer';
2966
2967                for (var i = 0; i < options.gtm.trackingIds.length; i++) {
2968                    var trackingId = options.gtm.trackingIds[i];
2969                    if (!options.gtm.gtm_just_data_layer) {
2970                        console.log('[PYS] Google Tag Manager container code loaded');
2971                        Utils.loadGTMScript(trackingId);
2972                        break;
2973                    }
2974                }
2975                if(options.gtm.gtm_just_data_layer) {
2976                    console.warn && console.warn("[PYS] Google Tag Manager container code placement set to OFF !!!");
2977                    console.warn && console.warn("[PYS] Data layer codes are active but GTM container must be loaded using custom coding !!!");
2978                    if(options.gtm.trackingIds.length == 0){
2979                        Utils.loadGTMScript();
2980                    }
2981                }
2982
2983                if(options.hasOwnProperty("tracking_analytics") && options.tracking_analytics.hasOwnProperty("userDataEnable") && options.tracking_analytics.userDataEnable){
2984                    var advanced = Utils.getAdvancedFormData();
2985                    if(Object.keys(advanced).length > 0){
2986                        window[datalayer_name].push({'user_data' : advanced});
2987                    }
2988                }
2989
2990
2991                var config = {};
2992
2993                if(options.user_id && options.user_id != 0) {
2994                    config.user_id = options.user_id;
2995                }
2996
2997                // Cross-Domain tracking
2998
2999                var ids = options.gtm.trackingIds;
3000
3001
3002                initialized = true;
3003
3004                Utils.fireStaticEvents('gtm');
3005            },
3006
3007            fireEvent: function (name, data) {
3008
3009                if (!initialized || !this.isEnabled()) {
3010                    return false;
3011                }
3012
3013                data.delay = data.delay || 0;
3014                data.params = data.params || {};
3015
3016                if (data.delay === 0) {
3017
3018                    fireEvent(name, data);
3019
3020                } else {
3021
3022                    setTimeout(function (name, params) {
3023                        fireEvent(name, params);
3024                    }, data.delay * 1000, name, data);
3025
3026                }
3027
3028                return true;
3029
3030            },
3031
3032            onCommentEvent: function (event) {
3033                this.fireEvent(event.name, event);
3034            },
3035
3036            onDownloadEvent: function (event) {
3037                this.fireEvent(event.name, event);
3038            },
3039
3040            onFormEvent: function (event) {
3041                this.fireEvent(event.name, event);
3042            },
3043
3044            onWooAddToCartOnButtonEvent: function (product_id, prod_info = null) {
3045                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
3046                    return;
3047                var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
3048
3049                if (window.pysWooProductData.hasOwnProperty(product_id)) {
3050                    if (window.pysWooProductData[product_id].hasOwnProperty('gtm')) {
3051                        Utils.copyProperties(window.pysWooProductData[product_id]['gtm'].params, event.params)
3052                        this.fireEvent(event.name, event);
3053                    }
3054                }
3055
3056            },
3057
3058            onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form, prod_info) {
3059                window.pysWooProductData = window.pysWooProductData || [];
3060
3061                if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
3062                    return;
3063                var event = Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
3064
3065                if (product_type === Utils.PRODUCT_VARIABLE && !options.gtm.wooVariableAsSimple) {
3066                    product_id = parseInt($form.find('input[name="variation_id"]').val());
3067                }
3068
3069                if (window.pysWooProductData.hasOwnProperty(product_id)) {
3070                    if (window.pysWooProductData[product_id].hasOwnProperty('gtm')) {
3071
3072                        Utils.copyProperties(window.pysWooProductData[product_id]['gtm'].params, event.params);
3073
3074                        params = event.params.hasOwnProperty('ecommerce') ? event.params.ecommerce : event.params;
3075
3076                        if(product_type === Utils.PRODUCT_GROUPED ) {
3077                            var groupValue = 0;
3078                            $form.find(".woocommerce-grouped-product-list .qty").each(function(index){
3079                                var childId = $(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
3080                                var quantity = parseInt($(this).val());
3081                                if(isNaN(quantity)) {
3082                                    quantity = 0;
3083                                }
3084                                var childItem = window.pysWooProductData[product_id]['gtm'].grouped[childId];
3085                                params.items.forEach(function(el,index,array) {
3086                                    if(el.id == childItem.content_id) {
3087                                        if(quantity > 0){
3088                                            el.quantity = quantity;
3089                                            el.price = childItem.price;
3090                                        } else {
3091                                            array.splice(index, 1);
3092                                        }
3093                                    }
3094                                });
3095                                groupValue += childItem.price * quantity;
3096                            });
3097
3098                            if(options.woo.addToCartOnButtonValueEnabled &&
3099                                options.woo.addToCartOnButtonValueOption !== 'global' &&
3100                                params.hasOwnProperty('value')) {
3101                                params.value = groupValue;
3102                            }
3103
3104                            if(groupValue == 0) return; // skip if no items selected
3105                        } else {
3106                            // update items qty param
3107                            params.items[0].quantity = qty;
3108                        }
3109
3110                        // maybe customize value option
3111                        if (options.woo.addToCartOnButtonValueEnabled &&
3112                            options.woo.addToCartOnButtonValueOption !== 'global' &&
3113                            product_type !== Utils.PRODUCT_GROUPED)
3114                        {
3115                            if(params.hasOwnProperty('value')) {
3116                                params.value = params.items[0].price * qty;
3117                            }
3118
3119                        }
3120
3121
3122                        this.fireEvent(event.name, event);
3123                    }
3124                }
3125
3126            },
3127
3128            onWooRemoveFromCartEvent: function (event) {
3129
3130                this.fireEvent(event.name, event);
3131
3132            },
3133
3134            onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {
3135                if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
3136                    return;
3137                var event = Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
3138
3139
3140                if (window.pysEddProductData.hasOwnProperty(download_id)) {
3141
3142                    var index;
3143
3144                    if (price_index) {
3145                        index = download_id + '_' + price_index;
3146                    } else {
3147                        index = download_id;
3148                    }
3149
3150                    if (window.pysEddProductData[download_id].hasOwnProperty(index)) {
3151                        if (window.pysEddProductData[download_id][index].hasOwnProperty('gtm')) {
3152
3153                            Utils.copyProperties(window.pysEddProductData[download_id][index]['gtm'].params, event.params);
3154                            item = event.params.hasOwnProperty('ecommerce') ? event.params.ecommerce.items[0] : event.params.items[0];
3155                            // update items qty param
3156                            item.quantity = qty;
3157
3158                            this.fireEvent(event.name,event);
3159
3160                        }
3161                    }
3162
3163                }
3164
3165            },
3166
3167            onEddRemoveFromCartEvent: function (event) {
3168                this.fireEvent(event.name, event);
3169            },
3170            onPageScroll: function (event) {
3171                this.fireEvent(event.name, event);
3172            },
3173            onTime: function (event) {
3174                this.fireEvent(event.name, event);
3175            },
3176        };
3177
3178    }(options);
3179
3180    var getPixelBySlag = function getPixelBySlag(slug) {
3181        switch (slug) {
3182            case "facebook": return window.pys.Facebook;
3183            case "ga": return window.pys.Analytics;
3184            case "gtm": return window.pys.GTM;
3185            case "bing": return window.pys.Bing;
3186            case "pinterest": return window.pys.Pinterest;
3187	        case "reddit": return window.pys.Reddit;
3188        }
3189    }
3190
3191    window.pys = window.pys || {};
3192    window.pys.Facebook = Facebook;
3193    window.pys.Analytics = Analytics;
3194    window.pys.GTM = GTM;
3195    window.pys.Utils = Utils;
3196    window.pys.getPixelBySlag = getPixelBySlag;
3197
3198    // Export getPixelBySlag globally for backward compatibility
3199    window.getPixelBySlag = getPixelBySlag;
3200
3201
3202    $(document).ready(function () {
3203
3204        if($("#pys_late_event").length > 0) {
3205            var dirAttr = $("#pys_late_event").attr("dir");
3206            if (dirAttr) {
3207                try {
3208                    var events = JSON.parse(dirAttr);
3209                } catch (e) {
3210                    console.warn("Invalid JSON in pys_late_event dir attribute:", e);
3211                }
3212            } else {
3213                console.warn("pys_late_event dir attribute is undefined or empty");
3214            }
3215            if (events) {
3216                for (var key in events) {
3217                    var event = {};
3218                    event[events[key].e_id] = [events[key]];
3219                    if (options.staticEvents.hasOwnProperty(key)) {
3220                        Object.assign(options.staticEvents[key], event);
3221                    } else {
3222                        options.staticEvents[key] = event;
3223                    }
3224                }
3225            }
3226        }
3227
3228        var Pinterest = Utils.setupPinterestObject();
3229        var Bing = Utils.setupBingObject();
3230	    var Reddit = Utils.setupRedditObject();
3231
3232        if(options.hasOwnProperty('cookie'))
3233        {
3234            if(options.cookie.externalID_disabled_by_api || options.cookie.disabled_all_cookie)
3235            {
3236                Cookies.remove('pbid')
3237            }
3238            if(options.cookie.disabled_advanced_form_data_cookie || options.cookie.disabled_all_cookie)
3239            {
3240                Cookies.remove('pys_advanced_form_data')
3241            }
3242            if(options.cookie.disabled_landing_page_cookie || options.cookie.disabled_all_cookie)
3243            {
3244                Cookies.remove('pys_landing_page')
3245                Cookies.remove('last_pys_landing_page')
3246            }
3247            if(options.cookie.disabled_trafficsource_cookie || options.cookie.disabled_all_cookie)
3248            {
3249                Cookies.remove('pysTrafficSource')
3250                Cookies.remove('last_pysTrafficSource')
3251            }
3252            if(options.cookie.disabled_first_visit_cookie || options.cookie.disabled_all_cookie)
3253            {
3254                Cookies.remove('pys_first_visit')
3255
3256            }
3257            if(options.cookie.disabled_utmTerms_cookie || options.cookie.disabled_all_cookie)
3258            {
3259                $.each(Utils.utmTerms, function (index, name) {
3260                    Cookies.remove('pys_' + name)
3261                });
3262                $.each(Utils.utmTerms, function (index, name) {
3263                    Cookies.remove('last_pys_' + name)
3264                });
3265            }
3266            if(options.cookie.disabled_utmId_cookie || options.cookie.disabled_all_cookie)
3267            {
3268                $.each(Utils.utmId,function(index,name) {
3269                    Cookies.remove('pys_' + name)
3270                })
3271                $.each(Utils.utmId,function(index,name) {
3272                    Cookies.remove('last_pys_' + name)
3273                });
3274            }
3275        }
3276
3277
3278        if (options.gdpr.cookie_law_info_integration_enabled) {
3279            var cli_cookie = Cookies.get('cookieyes-consent') ?? Cookies.get('viewed_cookie_policy');
3280
3281            if (typeof cli_cookie !== 'undefined') {
3282                if (cli_cookie === Cookies.get('cookieyes-consent') && getCookieYes('analytics') == 'yes') {
3283                    Utils.manageCookies();
3284                } else if (cli_cookie === Cookies.get('viewed_cookie_policy') && cli_cookie == 'yes') {
3285                    Utils.manageCookies();
3286                }
3287            }
3288        }
3289
3290        if ( options.gdpr.consent_magic_integration_enabled && typeof CS_Data !== "undefined" ) {
3291            if ( CS_Data.cs_script_cat.pys == CS_Data.cs_necessary_cat_id || CS_Data.cs_script_cat.pys == 0 ) {
3292                Utils.manageCookies();
3293            } else if ( Cookies.get( 'cs_enabled_cookie_term' + CS_Data.test_prefix + '_' + CS_Data.cs_script_cat.pys ) == 'yes' ) {
3294                Utils.manageCookies();
3295            }
3296        } else {
3297            Utils.manageCookies();
3298        }
3299
3300        Utils.setupGdprCallbacks();
3301        // page scroll event
3302        if ( options.dynamicEvents.hasOwnProperty("automatic_event_scroll")
3303        ) {
3304
3305            var singlePageScroll = function () {
3306
3307
3308                var docHeight = $(document).height() - $(window).height();
3309                var isFired = false;
3310
3311                if (options.dynamicEvents.hasOwnProperty("automatic_event_scroll")) {
3312                    var pixels = Object.keys(options.dynamicEvents.automatic_event_scroll);
3313                    for(var i = 0;i<pixels.length;i++) {
3314                        var event = Utils.clone(options.dynamicEvents.automatic_event_scroll[pixels[i]]);
3315                        var scroll = Math.round(docHeight * event.scroll_percent / 100)// convert % to absolute positions
3316
3317                        if(scroll < $(window).scrollTop()) {
3318	                        if ( pixels[i] !== 'reddit') {
3319		                        Utils.copyProperties( Utils.getRequestParams(), event.params );
3320	                        }
3321	                        getPixelBySlag( pixels[ i ] ).onPageScroll( event );
3322                            isFired = true
3323                        }
3324                    }
3325                }
3326                if(isFired) {
3327                    $(document).off("scroll",singlePageScroll);
3328                }
3329            }
3330            $(document).on("scroll",singlePageScroll);
3331        }
3332
3333
3334        if (options.dynamicEvents.hasOwnProperty("automatic_event_time_on_page")) {
3335            var pixels = Object.keys(options.dynamicEvents.automatic_event_time_on_page);
3336            var time = options.dynamicEvents.automatic_event_time_on_page[pixels[0]].time_on_page; // the same for all pixel
3337            setTimeout(function(){
3338                for(var i = 0;i<pixels.length;i++) {
3339                    var event = Utils.clone(options.dynamicEvents.automatic_event_time_on_page[pixels[i]]);
3340
3341	                if ( pixels[i] !== 'reddit') {
3342		                Utils.copyProperties(Utils.getRequestParams(), event.params);
3343	                }
3344                    getPixelBySlag(pixels[i]).onTime(event);
3345                }
3346            },time*1000);
3347        }
3348
3349        // setup Click Event
3350        if (options.dynamicEvents.hasOwnProperty("automatic_event_download")) {
3351
3352            $(document).onFirst('click', 'a, button, input[type="button"], input[type="submit"]', function (e) {
3353
3354                var $elem = $(this);
3355
3356                // Download
3357                if(options.dynamicEvents.hasOwnProperty("automatic_event_download")
3358                ) {
3359                    var isFired = false;
3360                    if ($elem.is('a')) {
3361                        var href = $elem.attr('href');
3362                        if (typeof href !== "string") {
3363                            return;
3364                        }
3365                        href = href.trim();
3366                        var extension = Utils.getLinkExtension(href);
3367                        var track_download = false;
3368
3369                        if (extension.length > 0) {
3370
3371                            if(options.dynamicEvents.hasOwnProperty("automatic_event_download") ) {
3372                                var pixels = Object.keys(options.dynamicEvents.automatic_event_download);
3373                                for (var i = 0; i < pixels.length; i++) {
3374                                    var event = Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]);
3375                                    var extensions = event.extensions;
3376                                    if (extensions.includes(extension)) {
3377
3378                                        if( pixels[i] == "tiktok" || pixels[i] == "reddit" ) {
3379                                            getPixelBySlag(pixels[i]).fireEvent(tikEvent.name, event);
3380                                        } else {
3381                                            if (options.enable_remove_download_url_param) {
3382                                                href = href.split('?')[0];
3383                                            }
3384                                            event.params.download_url = href;
3385                                            event.params.download_type = extension;
3386                                            event.params.download_name = Utils.getLinkFilename(href);
3387                                            getPixelBySlag(pixels[i]).onDownloadEvent(event);
3388                                        }
3389
3390                                        isFired = true;
3391                                    }
3392                                }
3393                            }
3394                        }
3395                    }
3396                    if(isFired) { // prevent duplicate events on the same element
3397                        return;
3398                    }
3399                }
3400            });
3401        }
3402
3403
3404        // setup Dynamic events
3405        $.each(options.triggerEventTypes, function (triggerType, events) {
3406
3407            $.each(events, function (eventId, triggers) {
3408
3409                switch (triggerType) {
3410                    case 'url_click':
3411                        //@see: Utils.setupURLClickEvents()
3412                        break;
3413
3414                    case 'css_click':
3415                        Utils.setupCSSClickEvents(eventId, triggers);
3416                        break;
3417
3418                    case 'css_mouseover':
3419                        Utils.setupMouseOverClickEvents(eventId, triggers);
3420                        break;
3421
3422                    case 'scroll_pos':
3423                        Utils.setupScrollPosEvents(eventId, triggers);
3424                        break;
3425                    case 'comment':
3426                        Utils.setupCommentEvents(eventId, triggers);
3427                        break;
3428                }
3429
3430            });
3431
3432        });
3433        // setup WooCommerce events
3434        if (options.woo.enabled) {
3435
3436            // WooCommerce AddToCart
3437            if (options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")
3438                && options.woo.hasOwnProperty("addToCartCatchMethod")
3439                && options.woo.addToCartCatchMethod === "add_cart_js"
3440            ) {
3441
3442                // Loop, any kind of "simple" product, except external
3443                $('.add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)').on("click",function (e) {
3444
3445                    var product_id = $(this).data('product_id');
3446                    if (typeof product_id !== 'undefined') {
3447                        if (options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")) {
3448                            var tmpEventID = pys_generate_token();
3449                            $.each(options.dynamicEvents.woo_add_to_cart_on_button_click, function (i, tag) {
3450                                tag.eventID = tmpEventID;
3451                            });
3452                        }
3453                        if (typeof product_id !== 'undefined') {
3454                            Facebook.onWooAddToCartOnButtonEvent(product_id);
3455                            Analytics.onWooAddToCartOnButtonEvent(product_id);
3456                            GTM.onWooAddToCartOnButtonEvent(product_id);
3457                            Pinterest.onWooAddToCartOnButtonEvent(product_id);
3458                            Bing.onWooAddToCartOnButtonEvent(product_id);
3459	                        Reddit.onWooAddToCartOnButtonEvent(product_id);
3460                        }
3461                    }
3462                });
3463
3464                // Single Product
3465                // tap try to https://stackoverflow.com/questions/30990967/on-tap-click-event-firing-twice-how-to-avoid-it
3466                //  $(document) not work
3467                $('body').onFirst('click','button.single_add_to_cart_button,.single_add_to_cart_button',function (e) {
3468
3469                    var $button = $(this);
3470
3471                    if ($button.hasClass('disabled')) {
3472                        return;
3473                    }
3474
3475                    var $form = $button.closest('form');
3476
3477                    var product_type = Utils.PRODUCT_SIMPLE;
3478
3479                    if ($form.length === 0) {
3480                        return ;
3481                    } else if ($form.hasClass('variations_form')) {
3482                        product_type = Utils.PRODUCT_VARIABLE;
3483                    } else if($form.hasClass('bundle_form')) {
3484                        product_type = Utils.PRODUCT_BUNDLE;
3485                    } else if($form.hasClass('grouped_form')) {
3486                        product_type = Utils.PRODUCT_GROUPED;
3487                    }
3488
3489
3490
3491
3492                    var product_id;
3493                    var qty;
3494
3495                    if (product_type === Utils.PRODUCT_GROUPED) {
3496                        qty = 1;
3497                        product_id = parseInt($form.find('*[name="add-to-cart"]').val());
3498                    } else if (product_type === Utils.PRODUCT_VARIABLE) {
3499                        product_id = parseInt($form.find('*[name="add-to-cart"]').val());
3500                        var qtyTag = $form.find('input[name="quantity"]');
3501                        if(qtyTag.length <= 0) {
3502                            qtyTag = $form.find('select[name="quantity"]');
3503                        }
3504                        qty = parseInt(qtyTag.val());
3505                    } else {
3506                        product_id = parseInt($form.find('*[name="add-to-cart"]').val());
3507                        var qtyTag = $form.find('input[name="quantity"]');
3508                        if(qtyTag.length <= 0) {
3509                            qtyTag = $form.find('select[name="quantity"]');
3510                        }
3511                        qty = parseInt(qtyTag.val());
3512                    }
3513
3514                    if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")){
3515                        var tmpEventID = pys_generate_token();
3516                        $.each(options.dynamicEvents.woo_add_to_cart_on_button_click, function (i, tag) {
3517                            tag.eventID = tmpEventID;
3518                        });
3519                    }
3520
3521                    Facebook.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form);
3522                    Analytics.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form);
3523
3524                    GTM.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form);
3525
3526                    Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form);
3527                    Bing.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form);
3528	                Reddit.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form);
3529
3530                });
3531
3532            }
3533
3534            // WooCommerce RemoveFromCart
3535            if (options.dynamicEvents.hasOwnProperty("woo_remove_from_cart")) {
3536
3537                $('body').on('click', options.woo.removeFromCartSelector, function (e) {
3538
3539                    var $a = $(e.currentTarget),
3540                        href = $a.attr('href');
3541
3542                    // extract cart item hash from remove button URL
3543                    var regex = new RegExp("[\\?&]remove_item=([^&#]*)"),
3544                        results = regex.exec(href);
3545
3546                    if (results !== null) {
3547
3548                        var item_hash = results[1];
3549
3550                        if (options.dynamicEvents["woo_remove_from_cart"].hasOwnProperty(item_hash)) {
3551                            var events = options.dynamicEvents["woo_remove_from_cart"][item_hash];
3552                            Utils.fireEventForAllPixel("onWooRemoveFromCartEvent",events)
3553                        }
3554
3555                    }
3556
3557                });
3558            }
3559        }
3560
3561        // setup EDD events
3562        if (options.edd.enabled) {
3563
3564            // EDD AddToCart
3565            if (options.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")) {
3566
3567                $('form.edd_download_purchase_form .edd-add-to-cart').on("click",function (e) {
3568
3569                    var $button = $(this);
3570                    var $form = $button.closest('form');
3571                    var variable_price = $button.data('variablePrice'); // yes/no
3572                    var price_mode = $button.data('priceMode'); // single/multi
3573                    var ids = [];
3574                    var quantities = [];
3575                    var qty;
3576                    var id;
3577
3578                    if (variable_price === 'yes' && price_mode === 'multi') {
3579
3580                        id = $form.find('input[name="download_id"]').val();
3581
3582                        // get selected variants
3583                        $.each($form.find('input[name="edd_options[price_id][]"]:checked'), function (i, el) {
3584                            ids.push(id + '_' + $(el).val());
3585                        });
3586
3587                        // get qty for selected variants
3588                        $.each(ids, function (i, variant_id) {
3589
3590                            var variant_index = variant_id.split('_', 2);
3591                            qty = $form.find('input[name="edd_download_quantity_' + variant_index[1] + '"]').val();
3592
3593                            if (typeof qty !== 'undefined') {
3594                                quantities.push(qty);
3595                            } else {
3596                                quantities.push(1);
3597                            }
3598
3599                        });
3600
3601                    } else if (variable_price === 'yes' && price_mode === 'single') {
3602
3603                        id = $form.find('input[name="download_id"]').val();
3604                        ids.push(id + '_' + $form.find('input[name="edd_options[price_id][]"]:checked').val());
3605
3606                        qty = $form.find('input[name="edd_download_quantity"]').val();
3607
3608                        if (typeof qty !== 'undefined') {
3609                            quantities.push(qty);
3610                        } else {
3611                            quantities.push(1);
3612                        }
3613
3614                    } else {
3615
3616                        ids.push($button.data('downloadId'));
3617
3618                        qty = $form.find('input[name="edd_download_quantity"]').val();
3619
3620                        if (typeof qty !== 'undefined') {
3621                            quantities.push(qty);
3622                        } else {
3623                            quantities.push(1);
3624                        }
3625                    }
3626
3627                    // fire event for each download/variant
3628                    $.each(ids, function (i, download_id) {
3629
3630                        var q = parseInt(quantities[i]);
3631                        var variant_index = download_id.toString().split('_', 2);
3632                        var price_index;
3633
3634                        if (variant_index.length === 2) {
3635                            download_id = variant_index[0];
3636                            price_index = variant_index[1];
3637                        }
3638
3639                        Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3640                        Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3641                        GTM.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3642                        Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3643                        Bing.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3644	                    Reddit.onEddAddToCartOnButtonEvent(download_id, price_index, q);
3645                    });
3646
3647                });
3648
3649            }
3650
3651
3652            // EDD RemoveFromCart
3653            if (options.dynamicEvents.hasOwnProperty("edd_remove_from_cart") ) {
3654
3655                $('form#edd_checkout_cart_form .edd_cart_remove_item_btn').on("click",function (e) {
3656
3657                    var href = $(this).attr('href');
3658                    if(href) {
3659                        var key = href.substring(href.indexOf('=') + 1).charAt(0);
3660                        if (options.dynamicEvents.edd_remove_from_cart.hasOwnProperty(key)) {
3661                            var events = options.dynamicEvents.edd_remove_from_cart[key];
3662                            Utils.fireEventForAllPixel("onEddRemoveFromCartEvent",events)
3663                        }
3664                    }
3665                });
3666
3667            }
3668
3669        }
3670
3671        // setup Comment Event
3672        if (options.dynamicEvents.hasOwnProperty("automatic_event_c
3672omment")
3673        ) {
3674
3675            $('form.comment-form').on("submit",function () {
3676                if (options.dynamicEvents.hasOwnProperty("automatic_event_comment")) {
3677                    var pixels = Object.keys(options.dynamicEvents.automatic_event_comment);
3678                    for (var i = 0; i < pixels.length; i++) {
3679	                    var event = Utils.clone(options.dynamicEvents.automatic_event_comment[pixels[i]]);
3680	                    if ( pixels[i] !== 'reddit') {
3681		                    Utils.copyProperties(Utils.getRequestParams(), event.params);
3682	                    }
3683                        getPixelBySlag(pixels[i]).onCommentEvent(event);
3684                    }
3685                }
3686            });
3687
3688        }
3689
3690
3691        // setup Form Event
3692        if ( options.dynamicEvents.hasOwnProperty("automatic_event_form")) {
3693
3694            $(document).onFirst('submit', 'form', function (e) {
3695
3696                var $form = $(this);
3697
3698                // exclude WP forms
3699                if ($form.hasClass('comment-form') || $form.hasClass('search-form') || $form.attr('id') === 'adminbarsearch') {
3700                    return;
3701                }
3702
3703                // exclude Woo forms
3704                if ($form.hasClass('woocommerce-product-search') || $form.hasClass('cart') || $form.hasClass('woocommerce-cart-form') ||
3705                    $form.hasClass('woocommerce-shipping-calculator') || $form.hasClass('checkout') || $form.hasClass('checkout_coupon')) {
3706                    return;
3707                }
3708
3709                // exclude EDD forms
3710                if ($form.hasClass('edd_form') || $form.hasClass('edd_download_purchase_form')) {
3711                    return;
3712                }
3713// exclude CF7 forms
3714                if ($form.hasClass('wpcf7-form')) {
3715                    return;
3716                }
3717                // exclude Forminator forms
3718                if ($form.hasClass('forminator-custom-form') || $form.hasClass('forminator_ajax')) {
3719                    return;
3720                }
3721                // exclude WPforms forms
3722                if ($form.hasClass('wpforms-form') || $form.hasClass('wpforms-ajax-form')) {
3723                    return;
3724                }
3725                // exclude Formidable forms
3726                /*if ($form.hasClass('frm-show-form')) {
3727                    return;
3728                }*/
3729                // exclude Ninja Forms forms
3730                if ($form.parent().hasClass('nf-form-layout')) {
3731                    return;
3732                }
3733                // exclude Fluent forms
3734                if ($form.hasClass('frm-fluent-form')) {
3735                    return;
3736                }
3737                if(!options.enable_success_send_form) {
3738                    var params = {
3739                        form_id: $form.attr('id'),
3740                        form_class: $form.attr('class'),
3741                        text: $form.find('[type="submit"]').is('input') ?
3742                            $form.find('[type="submit"]').val() : $form.find('[type="submit"]').text()
3743                    };
3744
3745                    if (options.dynamicEvents.hasOwnProperty("automatic_event_form")) {
3746                        var pixels = Object.keys(options.dynamicEvents.automatic_event_form);
3747                        for (var i = 0; i < pixels.length; i++) {
3748                            var event = Utils.clone(options.dynamicEvents.automatic_event_form[pixels[i]]);
3749
3750	                        if (pixels[i] === "tiktok" || pixels[i] === "reddit") {
3751                                getPixelBySlag(pixels[i]).fireEvent(event.name, event);
3752                            } else {
3753                                Utils.copyProperties(params, event.params,)
3754                                Utils.copyProperties(Utils.getRequestParam
3754s(), event.params);
3755                                getPixelBySlag(pixels[i]).onFormEvent(event);
3756                            }
3757                        }
3758                    }
3759                }
3760            });
3761
3762            document.addEventListener( 'wpcf7mailsent', function( event ) {
3763                var form_id = event.detail.contactFormId;
3764                sendFormAction($(event.target), form_id);
3765            }, false );
3766            //Forminator
3767            $(document).on( 'forminator:form:submit:success', function( event ){
3768                var form_id = $(event.target).find('input[name="form_id"]').val();
3769                sendFormAction($(event.target), form_id);
3770            });
3771
3772            //WPForm
3773            $('form.wpforms-form').on('wpformsAjaxSubmitSuccess', (event) => {
3774                var form_id = $(event.target).attr('data-formid');
3775                sendFormAction($(event.target), form_id);
3776            })
3777            $(document).on( 'frmFormComplete', function( event, form, response ) {
3778                const form_id = $(form).find('input[name="form_id"]').val();
3779                sendFormAction($(event.target), form_id);
3780            });
3781            // Ninja Forms
3782            $(document).onFirst('nfFormSubmitResponse', function (event, data) {
3783                const form_id = data.response.data.form_id;
3784                sendFormAction($(event.target), form_id);
3785            });
3786
3787            var fluentForms = $('form.frm-fluent-form');
3788            fluentForms.each(function() {
3789                var $form = $(this);
3790                $form.on('fluentform_submission_success', function(event) {
3791                    var $formItem = $(this);
3792                    var form_id = $formItem.attr('data-form_id');
3793                    sendFormAction($(event.target), form_id);
3794                });
3795            });
3796
3797        }
3798
3799
3800        // load pixel APIs
3801        Utils.loadPixels();
3802        // setup Enrich content
3803        if(Utils.isCheckoutPage()) {
3804            Utils.addCheckoutFields();
3805        }
3806    });
3807
3808    var sendFormAction = function (form_target, formId){
3809        var params = {
3810            form_id: formId,
3811            text: form_target.find('[type="submit"]').is('input') ? form_target.find('[type="submit"]').val() :
3812                form_target.find('.forminator-button-submit').text() != '' ? form_target.find('.forminator-button-submit').text() :
3813                    form_target.find('[type="submit"]').text()
3814        };
3815
3816        if (options.dynamicEvents.hasOwnProperty("automatic_event_form")) {
3817            var pixels = Object.keys(options.dynamicEvents.automatic_event_form);
3818            for (var i = 0; i < pixels.length; i++) {
3819                var event = options.dynamicEvents.automatic_event_form[pixels[i]];
3820                if (pixels[i] === "tiktok" || pixels[i] === "reddit") {
3821                    getPixelBySlag(pixels[i]).fireEvent(event.name, event);
3822                } else {
3823                    Utils.copyProperties(params, event.params)
3824                    Utils.copyProperties(Utils.getRequestParams(), event.params);
3825                    getPixelBySlag(pixels[i]).onFormEvent(event);
3826                }
3827            }
3828        }
3829    }
3830
3831}(jQuery, pysOptions);
3832
3833function pys_generate_token() {
3834    return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
3835        (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
3836    );
3837}
3838
3839function getBundlePriceOnSingleProduct(data) {
3840    var items_sum = 0;
3841    jQuery(".bundle_form .bundled_product").each(function(index){
3842        var id = jQuery(this).find(".cart").data("bundled_item_id");
3843        var item_price = data.prices[id];
3844        var item_quantity = jQuery(this).find(".bundled_qty").val();
3845        if(!jQuery(this).hasClass("bundled_item_optional") ||
3846            jQuery(this).find(".bundled_product_optional_checkbox input").prop('checked')) {
3847            items_sum += item_price*item_quantity;
3848        }
3849    });
3850    return items_sum;
3851}
3852function getUrlParameter(sParam) {
3853    var sPageURL = window.location.search.substring(1),
3854        sURLVariables = sPageURL.split('&'),
3855        sParameterName,
3856        i;
3857
3858    for (i = 0; i < sURLVariables.length; i++) {
3859        sParameterName = sURLVariables[i].split('=');
3860
3861        if (sParameterName[0] === sParam) {
3862            return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
3863        }
3864    }
3865    return false;
3866};
3867function getCookieYes(key) {
3868    const cookiesObj = document.cookie
3869        .split(";")
3870        .reduce((ac, cv) => {
3871            const [k, v] = cv.split("=");
3872            if (k && v) ac[k.trim()] = v;
3873            return ac;
3874        }, {});
3875    const consentCookie = cookiesObj["cookieyes-consent"] || cookiesObj["wt_consent"];
3876    if (!consentCookie) return undefined;
3877    const { [key]: value } = consentCookie
3878        .split(",")
3879        .reduce((obj, pair) => {
3880            const [k, v] = pair.split(":");
3881            if (k && v) obj[k] = v;
3882            return obj;
3883        }, {});
3884    return value;
3885}
3886function getRootDomain(useSubdomain = false) {
3887    const hostname = window.location.hostname; // Get the current hostname
3888    // Check if tldjs is defined before using it
3889    if (typeof tldjs === "undefined") {
3890        console.warn("tldjs is not defined");
3891        return hostname; // Return hostname as a fallback
3892    }
3893
3894    const rootDomain = tldjs.getDomain(hostname); // Use tldjs to extract the root domain
3895
3896    // Return the root domain with or without a leading dot based on useSubdomain
3897    return rootDomain ? (useSubdomain ? '.' + rootDomain : rootDomain) : hostname;
3898};

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.