@directo/adunit 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see background.mjs.LICENSE.txt */
2
- var o={39:o=>{o.exports=function(o,t){var r,i,n,m;for(r=o.charAt(0)===e?1:0,i="",a.lastIndex=r;n=a.exec(o);)if(m=n[0],i+=o.slice(r,a.lastIndex-m.length),r=a.lastIndex,m===e){if(!1===t(i))return o;i=""}else i+=m===c?e:s;return t(i+=o.slice(r)),o};var a=/\/|~1|~0/g,e="/",s="~",c="~1"},64:o=>{o.exports=function o(a){return null==a||"object"!=typeof a?a:Array.isArray(a)?function(a){for(var e=a.length,s=new Array(e),c=0;c<e;++c)s[c]=o(a[c]);return s}(a):function(a){for(var e,s=Object.keys(a),c={},t=0,r=s.length;t<r;++t)c[e=s[t]]=o(a[e]);return c}(a)}},74:(o,a,e)=>{var s=e(39);a.find=function(o,a,e,t){if("string"==typeof a){if(""===a)return{target:o,key:void 0};if(a===c)return{target:o,key:""};var r,i=o,n=void 0!==t;return s(a,function(a){if(null==o)return i=null,!1;r=Array.isArray(o)?n?function(o,a,e,s){var c=a;if(c<0)throw new Error("array index out of bounds "+c);if(void 0!==s&&"function"==typeof o&&(c=o(a,e,s))<0)throw new Error("could not find patch context "+s);return c}(e,g(a),o,t):"-"===a?a:g(a):a,i=o,o=o[r]}),null===i?void 0:{target:i,key:r}}},a.join=function(o){return o.join(c)},a.absolute=function(o){return o[0]===c?o:c+o},a.parse=function(o){var a=[];return s(o,a.push.bind(a)),a},a.contains=function(o,a){return 0===a.indexOf(o)&&a[o.length]===c},a.encodeSegment=function(o){return o.replace(m,u).replace(t,r)},a.decodeSegment=function(o){return o.replace(i,c).replace(l,n)},a.parseArrayIndex=g,a.isValidArrayIndex=d;var c="/",t=/\//g,r="~1",i=/~1/g,n="~",m=/~/g,u="~0",l=/~0/g,p=/^(0|[1-9]\d*)$/;function d(o){return p.test(o)}function g(o){if(d(o))return+o;throw new SyntaxError("invalid array index "+o)}},158:o=>{o.exports=function o(a,e){return a===e||(Array.isArray(a)&&Array.isArray(e)?function(a,e){if(a.length!==e.length)return!1;for(var s=0;s<a.length;++s)if(!o(a[s],e[s]))return!1;return!0}(a,e):"object"==typeof a&&"object"==typeof e&&function(a,e){if(null===a&&null!==e||null!==a&&null===e)return!1;var s=Object.keys(a),c=Object.keys(e);if(s.length!==c.length)return!1;for(var t,r=0;r<s.length;++r)if(!((t=s[r])in e)||!o(a[t],e[t]))return!1;return!0}(a,e))}},211:o=>{function a(o){Error.call(this),this.name=this.constructor.name,this.message=o,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}o.exports=a,a.prototype=Object.create(Error.prototype),a.prototype.constructor=a},238:o=>{function a(o){Error.call(this),this.name=this.constructor.name,this.message=o,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}o.exports=a,a.prototype=Object.create(Error.prototype),a.prototype.constructor=a},409:(o,a,e)=>{var s=e(863);function c(o,a,e,c){var t=s[a.op];return void 0!==t&&"function"==typeof t.inverse?t.inverse(o,a,e,c):1}o.exports=function(o){var a,e,s=[];for(a=o.length-1;a>=0;a-=e)e=c(s,o[a],a,o);return s}},428:(o,a,e)=>{var s=e(795),c=e(948),t=e(505),r=e(409),i=e(74).encodeSegment;a.diff=function(o,a,e){return u(o,a,"",function(o,a){return"object"==typeof o?{patch:a,hash:l(d,o.hash,m),makeContext:l(d,o.makeContext,p),invertible:!(!1===o.invertible)}:{patch:a,hash:l(d,o,m),makeContext:p,invertible:!0}}(e,[])).patch},a.patch=t.apply,a.patchInPlace=t.applyInPlace,a.inverse=r,a.clone=t.clone,a.InvalidPatchOperationError=e(211),a.TestFailedError=e(804),a.PatchNotInvertibleError=e(238);var n=t.isValidObject,m=t.defaultHash;function u(o,a,e,t){return Array.isArray(o)&&Array.isArray(a)?function(o,a,e,t){var r=c.map(t.hash,o),i=c.map(t.hash,a);return function(o,a,e,c,t){var r=0;return s.reduce(function(c,t,i,n){var m,l,p=c.patch,d=e+"/"+(n+r);return t===s.REMOVE?(m=p[p.length-1],l=c.makeContext(n,o),c.invertible&&p.push({op:"test",path:d,value:o[n],context:l}),void 0!==m&&"add"===m.op&&m.path===d?(m.op="replace",m.context=l):p.push({op:"remove",path:d,context:l}),r-=1):t===s.ADD?(p.push({op:"add",path:d,value:a[i],context:c.makeContext(n,o)}),r+=1):u(o[n],a[i],d,c),c},c,t)}(o,a,e,t,s.compare(r,i))}(o,a,e,t):n(o)&&n(a)?function(o,a,e,s){var c,t,r=Object.keys(a),n=s.patch;for(c=r.length-1;c>=0;--c){t=r[c];var m=e+"/"+i(t);void 0!==o[t]?u(o[t],a[t],m,s):n.push({op:"add",path:m,value:a[t]})}for(c=(r=Object.keys(o)).length-1;c>=0;--c)if(void 0===a[t=r[c]]){var l=e+"/"+i(t);s.invertible&&n.push({op:"test",path:l,value:o[t]}),n.push({op:"remove",path:l})}return s}(o,a,e,t):function(o,a,e,s){return o!==a&&(s.invertible&&s.patch.push({op:"test",path:e,value:o}),s.patch.push({op:"replace",path:e,value:a})),s}(o,a,e,t)}function l(o,a,e){return o(a)?a:e}function p(){}function d(o){return"function"==typeof o}},505:(o,a,e)=>{var s=e(863),c=e(64),t=e(211);a.apply=function(o,a,e){return i(o,c(a),e)},a.applyInPlace=i,a.clone=c,a.isValidObject=n,a.defaultHash=function(o){return n(o)||function(o){return"[object Array]"===Object.prototype.toString.call(o)}(o)?JSON.stringify(o):o};var r={};function i(o,a,e){if(e||(e=r),!Array.isArray(o))return a;for(var c,i,n=0;n<o.length;++n){if(i=o[n],void 0===(c=s[i.op]))throw new t("invalid op "+JSON.stringify(i));a=c.apply(a,i,e)}return a}function n(o){return null!==o&&"[object Object]"===Object.prototype.toString.call(o)}},661:(o,a,e)=>{var s=e(74);function c(o,a,e,s,c){var t=a.length-1,r=+a[t],i=+s[t],n=s.slice();return r>i||("add"===o.op||"copy"===o.op?n[t]=Math.max(0,i-c):"remove"===o.op&&(n[t]=Math.max(0,i+c))),n}function t(o){return"remove"===o.op?{op:o.op,path:o.path}:"copy"===o.op||"move"===o.op?{op:o.op,path:o.path,from:o.from}:{op:o.op,path:o.path,value:o.value}}o.exports=function(o,a){var e=s.parse(o.path),r=s.parse(a.path),i=function(o,a){var e=o.length,s=a.length;if(0===e||0===s||e<2&&s<2)return[];for(var c=e===s?e-1:Math.min(e,s),t=0;t<c&&o[t]===a[t];)++t;return o.slice(0,t)}(e,r),n=function(o,a,e){return s.isValidArrayIndex(o[e])&&s.isValidArrayIndex(a[e])}(e,r,i.length),m=t(o),u=t(a);return 0!==i.length||n?n?function(o,a,e,t){return a.length===t.length?(r=o,n=e,m=t,l=(i=a).length-1,p=+i[l],d=+m[l],p<d?"add"===r.op||"copy"===r.op?((u=m.slice())[l]=Math.max(0,d-1),n.path=s.absolute(s.join(u))):"remove"===r.op&&((u=m.slice())[l]=d+1,n.path=s.absolute(s.join(u))):"add"===n.op||"copy"===n.op?((u=i.slice())[l]=p+1,r.path=s.absolute(s.join(u))):p>d&&"remove"===n.op&&((u=i.slice())[l]=Math.max(0,p-1),r.path=s.absolute(s.join(u))),[n,r]):(a.length>t.length?(a=c(e,t,0,a,-1),o.path=s.absolute(s.join(a))):(t=c(o,a,0,t,1),e.path=s.absolute(s.join(t))),[e,o]);var r,i,n,m,u,l,p,d}(m,e,u,r):function(o,a,e){if(o.path===e.path)throw new TypeError("cannot commute "+o.op+","+e.op+" with identical object paths");return[e,o]}(m,0,u):[u,m]}},795:(o,a)=>{var e,s,c;function t(o,a,t,r,i,n){return a[i+r]===t[n+r]?{value:o[n+1][i+1].value,type:c}:o[n][i+1].value<o[n+1][i].value?{value:o[n][i+1].value+1,type:e}:{value:o[n+1][i].value+1,type:s}}a.compare=function(o,a){for(var r=o.length,i=a.length,n=function(o,a){for(var e=0,s=Math.min(o.length,a.length);e<s&&o[e]===a[e];)++e;return e}(o,a),m=n<r&&n<i?function(o,a){for(var e=o.length-1,s=a.length-1,c=Math.min(e,s),t=0;t<c&&o[e-t]===a[s-t];)++t;return t}(o,a):0,u=m+n-1,l=function(o,a){var t,r,i,n=[];for(i=n[a]=[],r=0;r<o;++r)i[r]={value:o-r,type:e};for(t=0;t<a;++t)n[t]=[],n[t][o]={value:a-t,type:s};return n[a][o]={value:0,type:c},n}(r-=u,i-=u),p=r-1;p>=0;--p)for(var d=i-1;d>=0;--d)l[d][p]=t(l,o,a,n,p,d);return{prefix:n,matrix:l,suffix:m}},a.reduce=function(o,a,t){var r,i,n,m,u=t.matrix,l=t.prefix;for(r=0;r<l;++r)a=o(a,c,r,r);for(n=r,l=u.length,r=0,i=0;r<l;)switch(a=o(a,m=u[r][i].type,r+n,i+n),m){case c:++r,++i;break;case e:++i;break;case s:++r}for(r+=n,i+=n,l=t.suffix,n=0;n<l;++n)a=o(a,c,r+n,i+n);return a},a.REMOVE=e=-1,a.ADD=s=1,a.EQUAL=c=0},804:o=>{function a(o){Error.call(this),this.name=this.constructor.name,this.message=o,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}o.exports=a,a.prototype=Object.create(Error.prototype),a.prototype.constructor=a},863:(o,a,e)=>{var s=e(74),c=e(64),t=e(158),r=e(661),i=e(948),n=e(804),m=e(211),u=e(238),l=s.find,p=s.parseArrayIndex;function d(o,a){var e=o.target;if(Array.isArray(e))if("-"===o.key)e.push(a);else{if(o.key>e.length)throw new m("target of add outside of array bounds");e.splice(o.key,0,a)}else{if(!y(e))throw new m("target of add must be an object or array "+o.key);e[o.key]=a}}function g(o,a){if(o.path===a.path&&"remove"===a.op)throw new TypeError("Can't commute add,remove -> remove,add for same path");return r(o,a)}function h(o){var a,e=o.target;if(Array.isArray(e))return(a=e.splice(p(o.key),1))[0];if(y(e))return a=e[o.key],delete e[o.key],a;throw new m("target of remove must be an object or array")}function k(o){return void 0===o||null==o.target&&void 0!==o.key}function b(o){return void 0!==o.key&&void 0===o.target[o.key]}function y(o){return null!==o&&"object"==typeof o}a.test={apply:function(o,a,e){var s,c=l(o,a.path,e.findContext,a.context),r=c.target;if(s=Array.isArray(r)?r[p(c.key)]:void 0===c.key?c.target:c.target[c.key],!t(s,a.value))throw new n("test failed "+JSON.stringify(a));return o},inverse:function(o,a){return o.push(a),1},commute:function(o,a){if(o.path===a.path&&"remove"===a.op)throw new TypeError("Can't commute test,remove -> remove,test for same path");return"test"===a.op||"replace"===a.op?[a,o]:r(o,a)}},a.add={apply:function(o,a,e){var s=l(o,a.path,e.findContext,a.context);if(k(s))throw new m("path does not exist "+a.path);if(void 0===a.value)throw new m("missing value");var t=c(a.value);return void 0===s.key?t:(d(s,t),o)},inverse:function(o,a){var e=a.context;return void 0!==e&&(e={before:e.before,after:i.cons(a.value,e.after)}),o.push({op:"test",path:a.path,value:a.value,context:e}),o.push({op:"remove",path:a.path,context:e}),1},commute:g},a.remove={apply:function(o,a,e){var s=l(o,a.path,e.findContext,a.context);if(k(s)||void 0===s.target[s.key])throw new m("path does not exist "+a.path);return h(s),o},inverse:function(o,a,e,s){var c=s[e-1];if(void 0===c||"test"!==c.op||c.path!==a.path)throw new u("cannot invert remove w/o test");var t=c.context;return void 0!==t&&(t={before:t.before,after:i.tail(t.after)}),o.push({op:"add",path:c.path,value:c.value,context:t}),2},commute:function(o,a){return o.path===a.path&&"remove"===a.op?[a,o]:r(o,a)}},a.replace={apply:function(o,a,e){var s=l(o,a.path,e.findContext,a.context);if(k(s)||b(s))throw new m("path does not exist "+a.path);if(void 0===a.value)throw new m("missing value");var t=c(a.value);if(void 0===s.key)return t;var r=s.target;return Array.isArray(r)?r[p(s.key)]=t:r[s.key]=t,o},inverse:function(o,a,e,s){var c=s[e-1];if(void 0===c||"test"!==c.op||c.path!==a.path)throw new u("cannot invert replace w/o test");var t=c.context;return void 0!==t&&(t={before:t.before,after:i.cons(c.value,i.tail(t.after))}),o.push({op:"test",path:c.path,value:a.value}),o.push({op:"replace",path:c.path,value:c.value}),2},commute:function(o,a){if(o.path===a.path&&"remove"===a.op)throw new TypeError("Can't commute replace,remove -> remove,replace for same path");return"test"===a.op||"replace"===a.op?[a,o]:r(o,a)}},a.move={apply:function(o,a,e){if(s.contains(a.path,a.from))throw new m("move.from cannot be ancestor of move.path");return d(l(o,a.path,e.findContext,a.context),h(l(o,a.from,e.findContext,a.fromContext))),o},inverse:function(o,a){return o.push({op:"move",path:a.from,context:a.fromContext,from:a.path,fromContext:a.context}),1},commute:function(o,a){if(o.path===a.path&&"remove"===a.op)throw new TypeError("Can't commute move,remove -> move,replace for same path");return r(o,a)}},a.copy={apply:function(o,a,e){var s=l(o,a.path,e.findContext,a.context),t=l(o,a.from,e.findContext,a.fromContext);if(k(t)||b(t))throw new m("copy.from must exist");var r,i=t.target;return r=Array.isArray(i)?i[p(t.key)]:i[t.key],d(s,c(r)),o},inverse:function(o,a){throw new u("cannot invert "+a.op)},commute:g}},910:o=>{o.exports=function o(a){if("number"==typeof a&&isNaN(a))throw new Error("NaN is not allowed");if("number"==typeof a&&!isFinite(a))throw new Error("Infinity is not allowed");return null===a||"object"!=typeof a?JSON.stringify(a):a.toJSON instanceof Function?o(a.toJSON()):Array.isArray(a)?`[${a.reduce((a,e,s)=>`${a}${0===s?"":","}${o(void 0===e||"symbol"==typeof e?null:e)}`,"")}]`:`{${Object.keys(a).sort().reduce((e,s)=>void 0===a[s]||"symbol"==typeof a[s]?e:`${e}${0===e.length?"":","}${o(s)}:${o(a[s])}`,"")}}`}},948:(o,a)=>{a.cons=function(o,a){var e=a.length,s=new Array(e+1);s[0]=o;for(var c=0;c<e;++c)s[c+1]=a[c];return s},a.tail=function(o){for(var a=o.length-1,e=new Array(a),s=0;s<a;++s)e[s]=o[s+1];return e},a.map=function(o,a){for(var e=new Array(a.length),s=0;s<a.length;++s)e[s]=o(a[s]);return e}}},a={};function e(s){var c=a[s];if(void 0!==c)return c.exports;var t=a[s]={exports:{}};return o[s](t,t.exports,e),t.exports}function s(o){throw new Error(`Non-never value at runtime: ${o}`)}function c(o,a,e,c){void 0===e?o.searchParams[c](a,"undefined"):null===e?o.searchParams[c](a,"null"):"boolean"==typeof e?o.searchParams[c](a,e?"true":"false"):"number"==typeof e?o.searchParams[c](a,e.toString(10)):"string"==typeof e?o.searchParams[c](a,e):"object"==typeof e?o.searchParams[c](a,JSON.stringify(e)):s(e)}e.d=(o,a)=>{for(var s in a)e.o(a,s)&&!e.o(o,s)&&Object.defineProperty(o,s,{enumerable:!0,get:a[s]})},e.o=(o,a)=>Object.prototype.hasOwnProperty.call(o,a);class t extends Error{source;constructor(o,a){super(o),this.name="ApiError",this.source=a}}class r extends t{constructor(o){super(`Fetch error: ${o.message}`,o)}}class i extends t{status;statusText;response;constructor(o){const{status:a,statusText:e}=o;super(`Status error (${a}): ${e}`),this.status=a,this.statusText=e,this.response=o}}class n extends t{response;constructor(o,a){const[e,s]="string"==typeof a?[a,void 0]:[a.message,a];super(`Response body error: ${e}`,s),this.response=o}}async function m(o,a){try{return await fetch(o,a)}catch(o){if(o instanceof TypeError)throw new r(o);throw o}}class u{body;constructor(o){this.body=o}static Json(o){return new u({type:"json",json:o})}static B64JsonLegacy(o){return new u({type:"b64json-legacy",json:o})}static B64Json(o){return new u({type:"b64json",json:o})}static String(o){return new u({type:"string",string:o})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json-legacy":case"string":return"text/plain";case"b64json":return"application/base64+json";default:s(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json-legacy":case"b64json":return o=JSON.stringify(this.body.json),function(o){const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let e="",s=0;for(;s+2<o.length;s+=3){const c=o[s]<<16|o[s+1]<<8|o[s+2];e+=a[c>>>18&63]+a[c>>>12&63]+a[c>>>6&63]+a[63&c]}if(s<o.length){const c=o[s]<<16|(s+1<o.length?o[s+1]:0)<<8;e+=a[c>>>18&63]+a[c>>>12&63]+(s+1<o.length?a[c>>>6&63]:"=")+"="}return e}((new TextEncoder).encode(o));case"string":return this.body.string;default:s(this.body)}var o}}function l(o){return new Promise(a=>{setTimeout(a,o)})}function p(o,{backoffMultiplier:a=1,retryAfter:e=null}={}){if(e){const o=function(o){const a=function(o){const a=function(o){const a=o.trim();return/^[+-]?\d+$/.test(a)?parseInt(a,10):null}(o);return null===a||a<0?null:a}(o);if(null!==a)return 1e3*a;const e=Date.parse(o);return isNaN(e)?null:e-Date.now()}(e);if(null!==o)return Math.max(Math.min(o,1e4),500)}return Math.min(500*Math.pow(2,o),1e4)*a*(1+.1*(2*Math.random()-1))}class d{checkContentType(o){return null===this.contentType||(o?.includes(this.contentType)??!1)}}class g extends d{name="JsonBodyParser";contentType="application/json";async parse(o){try{return o.json()}catch(a){throw new n(o,a instanceof Error?a:"Failed to parse JSON")}}}class h extends d{name="B64JsonBodyParser";contentType="application/base64+json";async parse(o){try{const e=await o.text(),s=atob(e);return a=s,JSON.parse(a)}catch(a){throw new n(o,a instanceof Error?a:"Failed to parse Base64 JSON")}var a}}class k extends d{name="VoidBodyParser";contentType=null;async parse(o){}}async function b(o,a,e,s,c){if(o.status>=200&&o.status<300){const{parser:e,ignoreContentTypeHeader:s=!1}=a??{},c=o.headers.get("Content-Type");if(!s&&!e.checkContentType(c))throw new n(o,`Did not expect Content-Type "${c}" for parser ${e.name}`);return await a.parser.parse(o)}if(e>=5)throw new i(o);if(401===o.status&&c)return c(e+1);if(429===o.status||503===o.status){const a=p(e+2,{backoffMultiplier:2,retryAfter:o.headers.get("Retry-After")});return await l(a),s(e+3)}if(o.status>=400&&o.status<=499)throw new i(o);{const o=p(e);return await l(o),s(e+1)}}const y="unauthenticated";class w{rootUrl;appVersion;getTruesignToken;injectInto;partnerKey;constructor(o,a){const e=a.getTruesignToken;e&&(this.getTruesignToken=async o=>{try{return await e(o)??y}catch{return y}}),this.rootUrl=o,this.injectInto=a.injectInto??"query",this.appVersion=a.appVersion,this.partnerKey=a.partnerKey}buildUrl(o){return new URL(`${this.rootUrl}${o}`)}async applyQueryParams(o,a,e){return function(o,a){const e=new URL(o);for(const[o,s]of Object.entries(a))if(Array.isArray(s)){e.searchParams.delete(o);for(const a of s)c(e,o,a,"append")}else c(e,o,s,"set");return e}(o,{...e,..."query"===this.injectInto?{...a?{tsToken:a}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(o,a){const e=new Headers(a);return"headers"===this.injectInto&&(o&&e.set("X-TS-Token",o),this.partnerKey&&e.set("X-Partner-Key",this.partnerKey),e.set("X-App-Version",this.appVersion)),e}async get(o,{params:a={},request:e={},parser:s=new g,doNotSendAcceptHeader:c=!1,ignoreContentTypeHeader:t=!1}={}){const r=this.buildUrl(o),i=await(this.getTruesignToken?.(null))??null,n=await this.applyQueryParams(r,i,a),m=await this.applyHeaders(i,e?.headers);return c||!s.contentType||m.has("Accept")||m.set("Accept",s.contentType),this._get(n,0,i,{...e,headers:m},{parser:s,ignoreContentTypeHeader:t})}async _get(o,a,e,s,c){try{return b(await m(o,{...s,body:void 0,method:"GET"}),c,a,a=>this._get(o,a,e,s,c),this.getTruesignToken?async a=>{const t=await(this.getTruesignToken?.(e))??null,r=await this.applyQueryParams(o,t),i=await this.applyHeaders(t,s.headers);return this._get(r,a,t,{...s,headers:i},c)}:null)}catch(a){throw console.error(`Error on get ${o.origin}${o.pathname}`,a),a}}async post(o,{params:a={},body:e=null,request:s={},parser:c=new k,doNotSendAcceptHeader:t=!1,ignoreContentTypeHeader:r=!1}={}){const i=this.buildUrl(o),n=await(this.getTruesignToken?.(null))??null,m=await this.applyQueryParams(i,n,a),u=await this.applyHeaders(n,s?.headers);e&&!u.has("Content-Type")&&u.set("Content-Type",e.getContentType()),t||!c.contentType||u.has("Accept")||u.set("Accept",c.contentType);const l=e?e.getSerialized():null;return this._post(m,l,0,n,{...s,headers:u},{parser:c,ignoreContentTypeHeader:r})}async _post(o,a,e,s,c,t){try{return b(await m(o,{...c,body:a,method:"POST"}),t,e,e=>this._post(o,a,e,s,c,t),this.getTruesignToken?async e=>{const r=await(this.getTruesignToken?.(s))??null,i=await this.applyQueryParams(o,r),n=await this.applyHeaders(r,c.headers);return this._post(i,a,e,r,{...c,headers:n},t)}:null)}catch(a){throw console.error(`Error on post ${o.origin}${o.pathname}`,a),a}}}class f{apiService=null;rootUrl;options;constructor(o,a){this.rootUrl=o,this.options=a,this.apiService=null}initialize(o){if(this.apiService)throw new Error("APIService already initialized");const a=this.options?.truesignEndpoint;this.apiService=new w(this.rootUrl,{...this.options,...o,...a?{getTruesignToken:e=>o.getTruesignToken({endpoint:a,knownInvalidToken:e})}:{getTruesignToken:void 0}})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}makeZodOpenApiRouteGet(o){return a=>async e=>this.get().get(o(e.path),{...e.query?{params:e.query}:{},parser:new a})}makeZodOpenApiRoutePost(o,a){return e=>async s=>this.get().post(o(s.path),{...s.query?{params:s.query}:{},...s.body?{body:a(s.body)}:{},parser:new e})}}const v=new f("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"}),j=new f("https://events.getdirecto.com",{truesignEndpoint:"80298941"}),z=j.get.bind(j),x=new f("https://metasearch.getdirecto.com",{truesignEndpoint:"1678801807",injectInto:"headers"}),q=x.get.bind(x),I=new f("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"});I.get.bind(I);const A=new f("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"}),T=new f("https://remote-config.getdirecto.com",{injectInto:"headers",truesignEndpoint:"1999655537"}),S=T.makeZodOpenApiRouteGet(o=>`/v1/config/${o.namespace}/${o.version}`)(h),E=T.makeZodOpenApiRouteGet(o=>`/v1/config/${o.namespace}/${o.version}/patches`)(h),D="DIRECTO_CORE_BACKGROUND_CONFIG",C="local";let O=null;const _=o=>{O=o,chrome.storage[C].set({[D]:o})};function $(o,a=2){const e="0".repeat(a)+o;return e.slice(e.length-a,e.length)}class U{year;month;day;constructor(o,a,e){this.year=o,this.month=a,this.day=e}static unsafe_new(o,a,e){if(isNaN(o)||isNaN(a)||isNaN(e))throw new Error(`Invalid date: ${o}-${a}-${e}`);const s=new U(o,a,e),c=s.unsafe_toDate();if(isNaN(c.getTime())||c.getFullYear()!==o||c.getMonth()+1!==a||c.getDate()!==e)throw new Error(`Invalid date: ${o}-${a}-${e}`);return s}static new(o,a,e){try{return U.unsafe_new(o,a,e)}catch{return null}}static today(){return U.unsafe_fromDate(new Date)}static unsafe_fromRaw(o){return U.unsafe_new(o.year,o.month,o.day)}static fromRaw(o){return U.new(o.year,o.month,o.day)}static unsafe_fromDate(o){if(isNaN(o.getTime()))throw new Error("Invalid Date object");return U.unsafe_new(o.getFullYear(),o.getMonth()+1,o.getDate())}static fromDate(o){try{return U.unsafe_fromDate(o)}catch{return null}}static tryFromSlashDDMMYY(o){const a=o.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!a)return null;const{dd:e,mm:s,yy:c}=a.groups;return U.new(2e3+parseInt(c,10),parseInt(s,10),parseInt(e,10))}static tryFromSlashDMY(o){const a=o.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!a)return null;const{d:e,m:s,y:c}=a.groups;return U.new(2e3+parseInt(c,10),parseInt(s,10),parseInt(e,10))}static tryFromDashYYYYMMDD(o){const a=o.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!a)return null;const{yyyy:e,mm:s,dd:c}=a.groups;return U.new(parseInt(e,10),parseInt(s,10),parseInt(c,10))}static tryFromDashDDMMYYYY(o){const a=o.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!a)return null;const{dd:e,mm:s,yyyy:c}=a.groups;return U.new(parseInt(c,10),parseInt(s,10),parseInt(e,10))}static tryFromSlashDDMMYYYY(o){const a=o.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!a)return null;const{yyyy:e,mm:s,dd:c}=a.groups;return U.new(parseInt(e,10),parseInt(s,10),parseInt(c,10))}static tryFromSlashMMDDYYYY(o){const a=o.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!a)return null;const{yyyy:e,mm:s,dd:c}=a.groups;return U.new(parseInt(e,10),parseInt(s,10),parseInt(c,10))}toDashYYYYMMDD(){return`${$(this.year,4)}-${$(this.month)}-${$(this.day)}`}unsafe_toDate(){return function(o,a,e){const s=new Date;return s.setFullYear(o,a,e),s.setHours(0,0,0,0),s}(this.year,this.month-1,this.day)}}const M="userUUID",P="local";async function N(){let{[M]:o}=await chrome.storage[P].get(M);return o||(o=crypto.randomUUID(),await chrome.storage[P].set({[M]:o})),o}async function Y(){if(void 0!==chrome.identity?.getProfileUserInfo){const o=await chrome.identity.getProfileUserInfo({accountStatus:chrome.identity.AccountStatus.ANY});return{id:o.id||await N(),email:o.email}}return{id:await N(),email:""}}const L="directoSessionInfo",R="session";async function V(){const{[L]:o}=await chrome.storage[R].get(L),a=Date.now();if(o?.sessionId&&o.lastTimestamp&&a-o.lastTimestamp<144e5)return chrome.storage[R].set({[L]:{...o,lastTimestamp:a}}),o.sessionId;const e=`${(await Y()).id}-${s=new Date(a),`${s.getUTCFullYear()}${$(s.getUTCMonth())+1}${$(s.getUTCDate())}-${$(s.getUTCHours())}${$(s.getUTCMinutes())}`}`;var s;return chrome.storage[R].set({[L]:{sessionId:e,lastTimestamp:a}}),e}function B(o){switch(o){case"local":return chrome.storage.local;case"session":return chrome.storage.session;default:s(o)}}function H(o,a,e={}){const{area:s="local"}=e,c=B(s);c.get(o,e=>{const s=e[o]||[],t=new Set(s);t.add(a),c.set({[o]:Array.from(t.values())})})}function F(o,a,e={}){return new Promise(s=>{const{dropIfPresent:c=!1,area:t="local"}=e,r=B(t);r.get(o,e=>{const t=e[o]||[],i=new Set(t),n=i.has(a);n&&c&&(i.delete(a),r.set({[o]:Array.from(i.values())})),s(n)})})}async function K(o,a,e,s={}){const{area:c="local"}=s,t=B(c),{[o]:r}=await t.get(o),i=new Map(r||[]);i.set(a,e),await t.set({[o]:Array.from(i.entries())})}async function J(o,a,e={}){const{dropIfPresent:s=!1,area:c="local"}=e,t=B(c),{[o]:r}=await t.get(o),i=new Map(r||[]),n=i.get(a);return n&&s&&setTimeout(()=>{i.delete(a),t.set({[o]:Array.from(i.entries())})},5e3),n}const G="crossSellWasChecked",W="session",Q=({crossSellId:o,tabId:a})=>`${o}-${a}`;function X(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Z,oo;const ao=X(function(){if(oo)return Z;oo=1;const o=2147483647,a=36,e=/^xn--/,s=/[^\0-\x7F]/,c=/[\x2E\u3002\uFF0E\uFF61]/g,t={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},r=Math.floor,i=String.fromCharCode;function n(o){throw new RangeError(t[o])}function m(o,a){const e=o.split("@");let s="";e.length>1&&(s=e[0]+"@",o=e[1]);const t=function(o,a){const e=[];let s=o.length;for(;s--;)e[s]=a(o[s]);return e}((o=o.replace(c,".")).split("."),a).join(".");return s+t}function u(o){const a=[];let e=0;const s=o.length;for(;e<s;){const c=o.charCodeAt(e++);if(c>=55296&&c<=56319&&e<s){const s=o.charCodeAt(e++);56320==(64512&s)?a.push(((1023&c)<<10)+(1023&s)+65536):(a.push(c),e--)}else a.push(c)}return a}const l=function(o){return o>=48&&o<58?o-48+26:o>=65&&o<91?o-65:o>=97&&o<123?o-97:a},p=function(o,a){return o+22+75*(o<26)-((0!=a)<<5)},d=function(o,e,s){let c=0;for(o=s?r(o/700):o>>1,o+=r(o/e);o>455;c+=a)o=r(o/35);return r(c+36*o/(o+38))},g=function(e){const s=[],c=e.length;let t=0,i=128,m=72,u=e.lastIndexOf("-");u<0&&(u=0);for(let o=0;o<u;++o)e.charCodeAt(o)>=128&&n("not-basic"),s.push(e.charCodeAt(o));for(let p=u>0?u+1:0;p<c;){const u=t;for(let s=1,i=a;;i+=a){p>=c&&n("invalid-input");const u=l(e.charCodeAt(p++));u>=a&&n("invalid-input"),u>r((o-t)/s)&&n("overflow"),t+=u*s;const d=i<=m?1:i>=m+26?26:i-m;if(u<d)break;const g=a-d;s>r(o/g)&&n("overflow"),s*=g}const g=s.length+1;m=d(t-u,g,0==u),r(t/g)>o-i&&n("overflow"),i+=r(t/g),t%=g,s.splice(t++,0,i)}return String.fromCodePoint(...s)},h=function(e){const s=[],c=(e=u(e)).length;let t=128,m=0,l=72;for(const o of e)o<128&&s.push(i(o));const g=s.length;let h=g;for(g&&s.push("-");h<c;){let c=o;for(const o of e)o>=t&&o<c&&(c=o);const u=h+1;c-t>r((o-m)/u)&&n("overflow"),m+=(c-t)*u,t=c;for(const c of e)if(c<t&&++m>o&&n("overflow"),c===t){let o=m;for(let e=a;;e+=a){const c=e<=l?1:e>=l+26?26:e-l;if(o<c)break;const t=o-c,n=a-c;s.push(i(p(c+t%n,0))),o=r(t/n)}s.push(i(p(o,0))),l=d(m,u,h===g),m=0,++h}++m,++t}return s.join("")};return Z={version:"2.3.1",ucs2:{decode:u,encode:o=>String.fromCodePoint(...o)},decode:g,encode:h,toASCII:function(o){return m(o,function(o){return s.test(o)?"xn--"+h(o):o})},toUnicode:function(o){return m(o,function(o){return e.test(o)?g(o.slice(4).toLowerCase()):o})}}}()),eo=["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((o,a)=>{const e=a.replace(/^(\*\.|\!)/,""),s=ao.toASCII(e),c=a.charAt(0);if(o.has(s))throw new Error(`Multiple rules found for ${a} (${s})`);return o.set(s,{rule:a,suffix:e,punySuffix:s,wildcard:"*"===c,exception:"!"===c}),o},new Map),so={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},co=o=>o&&(o=>{if("string"!=typeof o)throw new TypeError("Domain name must be a string.");let a=o.slice(0).toLowerCase();"."===a.charAt(a.length-1)&&(a=a.slice(0,a.length-1));const e=(o=>{const a=ao.toASCII(o);if(a.length<1)return"DOMAIN_TOO_SHORT";if(a.length>255)return"DOMAIN_TOO_LONG";const e=a.split(".");let s;for(let o=0;o<e.length;++o){if(s=e[o],!s.length)return"LABEL_TOO_SHORT";if(s.length>63)return"LABEL_TOO_LONG";if("-"===s.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===s.charAt(s.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(s))return"LABEL_INVALID_CHARS"}})(a);if(e)return{input:o,error:{message:so[e],code:e}};const s={input:o,tld:null,sld:null,domain:null,subdomain:null,listed:!1},c=a.split(".");if("local"===c[c.length-1])return s;const t=()=>(/xn--/.test(a)&&(s.domain&&(s.domain=ao.toASCII(s.domain)),s.subdomain&&(s.subdomain=ao.toASCII(s.subdomain))),s),r=(o=>{const a=ao.toASCII(o).split(".");for(let o=0;o<a.length;o++){const e=a.slice(o).join("."),s=eo.get(e);if(s)return s}return null})(a);if(!r)return c.length<2?s:(s.tld=c.pop(),s.sld=c.pop(),s.domain=[s.sld,s.tld].join("."),c.length&&(s.subdomain=c.pop()),t());s.listed=!0;const i=r.suffix.split("."),n=c.slice(0,c.length-i.length);return r.exception&&n.push(i.shift()),s.tld=i.join("."),!n.length||(r.wildcard&&(i.unshift(n.pop()),s.tld=i.join(".")),!n.length)||(s.sld=n.pop(),s.domain=[s.sld,s.tld].join("."),n.length&&(s.subdomain=n.join("."))),t()})(o).domain||null;function to(o){let a=o.trim();return/^(?:f|ht)tps?\:\/\//.test(a)||(a="http://"+a),new URL(a)}function ro(o){const a=co(o);return null!==a?a:(o=o.replace(/^www\./,"")).split(".").slice(-2).join(".")}function io(o){return o.hostname.replace(/^www\./,"")}function no(o,a){return"VRBO"===a?o.replace(/\D/g,""):o}const mo="directoUserId",uo="directoUserEmail",lo="local";let po="";async function go(){if(po)return po;const{[mo]:o}=await chrome.storage[lo].get(mo);return po=o||"",po}let ho="";async function ko(){if(ho)return ho;const{[uo]:o}=await chrome.storage[lo].get(uo);return ho=o||"",ho}const bo="directoAllowedHostnames";function yo(o){return{createdAt:new Date(o.createdAt),namespace:o.namespace,namespaceVersion:o.namespaceVersion,data:{domainBlacklist:new Set(o.data.domainBlacklist),secondaryOtas:new Set(o.data.secondaryOtas),otherTravelSites:new Set(o.data.otherTravelSites)}}}const wo=new Set(["rk.com","pornhub.com","sa.com","realsrv.com","xvideos-cdn.com","live.tv","cam.com","lace.com","inite.com","chat.fr","xvideos.com","tease.com","xnxx-cdn.com","aavideo.com","avideo.com","chaturbate.com","person.com","aom.com","xnxx.com","hservice.com","erox.com","highwebmedia.com","man.com","launch.com","laid.com","na.org","nonical.com","18.com","stripchat.com","tun.pl","bine.com","consent.com","elate.net","xhamster.com","smonkey.com","fun.com","bing.net","placeholder.com","exosrv.com","onlyfans.com","hones.net","login.fr","listing.com","fycs.com","match.com","eros.com","jasmin.com","livejasmin.com","protect.com","juicyads.com","faphouse.com","br.org","cougar.com","inga.com","hic.com","amour.com","dr.to","fpbns.net","tes.org","gallery.com","51.la","tart.com","bang.com","spankbang.com","xplay.co","bimbolive.com","rn.de","ce.to","rktv.com","hun.com","camscanner.com","xhamsterlive.com","cosmopolitan.com","certifier.com","appi.com","nine.com","etonline.com","eis.de","aby.com","ema.org","gifs.com","redgifs.com","rtalabel.org","xcam.com","bongacams.com","cams.com","vador.com","guys.com","licks.com","ricks.com","smother.com","gbucks.com","javhd.com","atext.com","private.com","lanes.com","cash.com","xchat.com","mtree.com","qlogo.cn","torrid.com","ons.se","box.de","adultfriendfinder.com","friendfinder.com","scompany.de","revopush.com","87.com","kontakt-vermittler.de","net-ad.net","porn.xxx","porn.com","uporn.com","youporn.com","doublepimp.com","pimp.com","deonline.com","flirt4free.com","view.net","bangbros.com","wpu.sh","xparty.com","eporner.com","89.com","ures.com","xxx-tracker.com","ssearch.org","intouchweekly.com","dmm.co.jp","friends.com","men.com","ymac.com","rar.com","sex.com","xmatch.com","dude.com","xbiz.com","sexad.net","tvx.com","hentai.net","nhentai.net","myfreecams.com","camz.com","cupid.com","wpush.org","yourtango.com","brazzersnetwork.com","camsoda.com","avn.com","boys.com","txxx.com","xxx.com","lifeandstylemag.com","ok.co.uk","101domain.com","redtube.com","chunt.com","4fuck.com","fuck.com","abi.pl","xlist.com","tnaflix.com","theporndude.com","cock.com","porndoe.com","dicks.com","wlsp.com","ditto.com","cam4.com","wet.com","redwap.me","rule34.xxx","sght.com","youjizz.com","fark.com","gservice.com","sss.com","vice.ws","sdc.com","dmm.com","skin.com","lace.net","neta.com","icos.com","6.tv","interia.pl","cc0.com","bangbrosonline.com","hclips.com","adult.com","communities.com","porntop.com","tist.com","trac.pro","as.org","camlive.co","camlive.com","ranks.com","el.nl","tit.nu","bear.net","adultwork.com","asshut.com","4live.com","xlove.com","fever.com","hard.com","xrs.com","hdzog.com","vxxx.com","freaks.com","erotica.com","literotica.com","hoes.com","shoes.com.br","ezones.com","sa.org","jerkmate.com","nutaku.net","xvideo.com","upornia.com","pornhubpremium.com","tubecup.org","qguys.com","glamourmagazine.co.uk","pornpics.com","moviesboys.com","tube.nl","covergirl.com","sex-is-here.com","sexall.net","lib.es","letsdoeit.com","vd.com","und.net","rkpro.net","elpub.com","18.to","ardart.com","asstraffic.com","passtraffic.com","actiondesk.com","porn.tv","pride.com","dditscdn.com","ero-advertising.com","new-twinks.com","twinks.com","cams7.com","boobs.com","wantboobs.com","hardporn.tube","python.com","hentaiheroes.com","sexgame.com","alt.com","hearstmags.com","sex-vip.com","new-young-boys.com","owow.com","abum.com","xxlmag.com","boyfriendtv.com","queerty.com","ipod.com","wonderwall.com","xpix.net","vis.de","hostave3.net","k18.co","wikifeet.com","video.nl","links.net","sexcash.com","ashleymadison.com","ixxx.com","e-hentai.org","hentai.org","f95zone.to","n19.net","noodlemagazine.com","analplus.com","018.us","sss.xxx","372.us","xvirtual.com","mad.com","videosz.com","perfectgirls.net","perezhilton.com","sluts.xyz","max.de","animegames.com","hor.com","gotporn.com","cam-content.com","esmale.com","male.com","moviesmale.com","swing.com","exhentai.org","girls.xyz","anyvids.com","manyvids.com","pron.co","pron.com","pornkai.com","f1.fr","hotmovs.com","girls.com","fu.net","83.com","pornzog.com","pornvideo.tv","passion.com","voyeurhit.com","voyeur-house.tv","anybunny.tv","recon.com","atic.info","dlsite.com","cda.pl","heavy-r.com","thisvid.com","ateen.net","teen.net","harem.com","datezone.com","reallifecam.com","sext.com","wellhello.com","ftv.com","shows.it","super.cz","onthisday.com","pornclassic.co","tubepornclassic.com","mxxx.com","iporntv.net","porntv.net","motherless.com","gelbooru.com","enjoy.com","455.us","erome.com","luscious.net","bporn.com","zbporn.com","tsstream.com","aznude.com","nude.com","znude.com","ecum.com","gero.com","rame.net","jav.com","vjav.com","xvideos.red","beeg.com","iwantu.com","bittorrent.am","pic.at","clips4sale.com","analdin.com","sexta.com","xxgasm.com","hanime.tv","daftsex.com","adam4adam.com","sexplorer.com","nantv.com","anal.com","fashionista.com","pornhub.org","thefappeningblog.com","smutty.com","x1x.com","blacked.com","pornone.com","videa.hu","benaughty.com","naughty.com","camwhores.tv","fuq.com","nudevista.com","homemadevids.net","vids.net","spencersonline.com","endirect.com","venus.at","adameve.com","293.us","playboy.com","sado.com","efukt.com","bakecaincontrii.com","erotek.com","xvideos.es","aukro.cz","xhamster.desi","xaction.com","bitchy.com","celebitchy.com","nude-pics.org","r18.com","xozilla.com","tubesafari.com","4less.com","888casino.com","casino.com","k003.com","see.xxx","hdsex18.com","hitomi.la","hqporner.com","daters.com","suggest.com","927.us","sinns.com","abody.com","liebelib.net","chicas.com","4fun.com","shots.com","tube8.com","sxyprn.com","tas.me","kink.com","paheal.net","redwap2.com","1porn.com","91porn.com","lablue.de","chat.be","gamesrevenue.com","4club.com","webcams.com","biguz.net","095.us","adultsearch.com","luv.com","dlisted.com","sexstories.com","xstories.com","k005.com","latinas.com","domi.com","fling.com","drtuber.com","lez.com","awempire.com","ilm.nl","mediatakeout.com","fapster.xxx","e621.net","alfemminile.com","porn7.net","hotline.com","xagent.com","tubesex.com","blackpeoplemeet.com","l1.pl","celebrities.net","pussy.xyz","poimg.com","sexvid.xxx","thatpervert.com","sreviews.com","girls4u.com","adcell.de","alloy.com","p0.nl","xinteractive.com","anybunny.com","fabswingers.com","swingers.com","rosszlanyok.hu","vs3.com","gals.com","tubemov.com","hq3x.com","adultempire.com","videosection.com","porntrex.com","ageproof.com","playvids.com","hot.fr","18exgfs.com","cams.org","dayz.com","affections.com","b-cdn.net","thumbzilla.com","pute.com","siteencore.com","teencore.com","2com.com","amor.com","8tube.com","anysex.com","teenee.com","date.nl","pornhat.com","69.fr","porn300.com","porno.com","sunporno.com","281.ca","38.fr","virtuagirlhd.com","weareher.com","letmejerk.com","fitforfun.de","xxxpicz.com","accesspass.com","pornogids.net","ashemaletube.com","maletube.com","shemaletube.com","chicagoreader.com","npix.com","camfrog.com","elp.hu","femmes.com","bdsmlr.com","celebjihad.com","knuddels.de","crush.com","ecrush.com","screw.com","owned.com","asiandating.com","orion.de","xnetwork.net","heelsforless.com","imagefap.com","iporno.com","serviporno.com","27.fr","2fuck.com","streamray.com","avgirl.com","vod.pl","x17online.com","luxuretv.com","520.jp","xnxx.net","americangirl.com","cangirl.com","sexxxhd.com","dlsite.jp","cams.si","cammodels.com","models.com","jav.guru","romeo.com","naked.com","megapornpics.com","1juegos.com","pornhd.co","pornhd.com","videos.net","hdsex.org","pictoa.com","thaiware.com","hdporn.net","fantasy.com","ok.xxx","titsx.com","bobsvagene.club","allguys.com","flirt.com","furnituretoday.com","bolero.com","inc.co.uk","avgle.com","mylust.com","sexcamchats.com","search.nl","sankakucomplex.com","evod.com","thefappening.pro","clubonline.com","3movs.com","nice123.com","femefun.com","xpression.com","afrointroductions.com","tits.com","shopjustice.com","33b.net","tek.com.au","donmai.us","smn.org","stylebistro.com","ilynx.com","chat.cc","butt.com","alyze.com","sexymatches.com","palace.com","shoepalace.com","thegay.com","taira.com","latinamericancupid.com","laonline.com","bouxavenue.com","fpcpopunder.com","shower.com","onsizzle.com","bigdick.com","dick.com","inkedmag.com","iwantclips.com","juicygif.com","erogame.com","nuvid.com","videosecrets.com","bzone.com","brazzers.com","cameraprive.com","ladies.com","squirt.org","multporn.net","javmost.com","annsummers.com","xshare.com","ero.today","pornid.xxx","391.us","x-video.net","javbus.com","pornoreino.com","sexcel.com","orny.com","freelatinaporn.com","inaporn.com","onlyfreelatinaporn.com","vkmag.com","xrass.com","hgame.net","nubiles-porn.com","sexdesant.com","aebn.net","hentaihaven.xxx","scrolller.com","erogames.com","snapshots.com","hooligapps.com","blush.no","gaymaletube.com","hot.ee","anime.net","ero.be","ontap.com","unter.nl","nesaporn.com","coedcherry.com","dlist.com","lte.net","xvideos.best","iporn.com","kiporn.com","joyclub.de","xcafe.com","fishki.net","porno.xyz","empr.com","469.com","69.com","xxxbule.com","porntube.com","amspot.com","rafik.com","poringa.net","anni.com","sexvideo.com","hdtube.porn","hentai-foundry.com","e-comunicacion.com","bound.org","ecreator.org","adult.ru","domaciseks.com","seks.com","hdporncomics.com","porncomics.com","recipegirl.com","theblock.com","lpsg.com","boys.de","livesex.com","gay0day.com","eroticreview.com","theeroticreview.com","xpays.com","ladies.de","xlovecam.com","adultepic.com","freeones.com","sexhd.pics","pornmd.com","women.com","lovepanky.com","camster.com","ashleyrnadison.com","breakingnews.ie","skincity.com","swinglifestyle.com","porn.to","zapya.com","analvids.com","porngif.cc","incestos.net","bingoporno.com","no.hu","mat6tube.com","ericatv.com","shit.com","homeclips.com","privatehomeclips.com","rro.ca","bellesa.co","amie.com","agirls.com","socialmediagirls.com","inhumanity.com","imhentai.xxx","anyporn.com","fox46.com","hlebo.mobi","agonow.com","akt.de","bestfeeds.com","swallowcrockerybless.com","4tube.com","nurxxx.mobi","xxx.mobi","fapvidhd.com","peekvids.com","evilangel.com","t100.com","fucktor.com","g-glass.com","latex.at","jizzbunker.com","milffox.com","3xmail.com","ahits.com","pics.de","pornpics.de","iamnaughty.com","berkley.com","planetsuzy.org","alphaporno.com","aporno.com","bravotube.net","tube.net","xcams.com","chicks.com","xhamster2.com","dorcelstore.com","777live.com","anmall.com","xxxweb.com","cul.com","singles.com","fuqqt.com","streamate.com","babe.com","xbabe.com","nina.com","victoria.com","assresort.com","rabbits.webcam","fc2.com","madurasx.com","videosdemadurasx.com","pussytorrents.org","sexdirectories.com","thisav.com","youpornpremium.com","borwap.pro","scandalplanet.com","cnv.com","xxxbunker.com","3host.com","cam.be","teenhearts.com","xxxvideos247.com","xland.org","yporn.net","toononline.com","pornvideos.name","naughtyamerica.com","virginia.gov","hooters.com","cambro.tv","sexy.mobi","punternet.com","amovideo.com","xmovies.com","cematch.com","huse.com","fapcat.com","nates.com","adora.com","crazyshit.com","happyescorts.com","mydirtyhobby.com","megapornx.com","pornx.com","sindiana.com","whosdatedwho.com","pornimages.co","pornimages.com","old.li","ynot.com","intit.com","bangbrosnetwork.com","gosoftwear.com","modthesims.info","332.us","lovehoney.co.uk","pichunter.com","babe.to","babe.today","love.org","daftporn.com","sexy.net","hot-sex-tube.com","armot.com","granny.com","xmart.com","porn.biz","cityheaven.net","f95zone.com","staxus.com","xandria.com","dailyom.com","istripper.com","stripper.com","pornleech.com","galore.com","tubegalore.com","videocelebs.net","ydra.de","strpjmp.com","mrdeepfakes.com","adamandeve.com","fashionmodeldirectory.com","superstats.com","sexcess.com","xfeed.com","4porn.com","skoften.net","esdlife.com","pornvideotop.com","gape.com","lovehoney.com","ancensored.com","fapality.com","xxxporn.pics","freeporn8.com","porn8.com","prpops.com","nips.com","ahacdn.me","hentaifox.com","lick.nl","naughtydate.com","xfreehd.com","jgirls.co","jjgirls.com","sextube.com","xtube.com","hostedtube.com","celebrities.com","racy.com","lifeselector.com","play.ch","pornjk.com","pottsmerc.com","bookmark.com","namethatpornstar.com","pornstar.com","pornogratisdiario.com","vipergirls.to","cool18.com","sextvx.com","pornstars.com","tubepornstars.com","vixen.com","erito.com","fakehub.com","livexlive.com","youngs.co.uk","assmobile.com","hellporno.net","porno.net","amsterdam.com","iceporn.com","hoe.com","squirtnetwork.com","cliphunter.com","bravoporn.com","oporn.com","gomiblog.com","webcam.com","sextracker.com","videohd.net","xxxvideohd.net","exporntoons.net","hotmovies.com","thestranger.com","tipser.com","breatheheavy.com","fun4boys.com","xfr.com","javgg.net","ulla.com","javfun.me","vidz.com","fapnado.com","rolotube.com","tube.bz","bigrock.com","gate.cc","heatworld.com","javlibrary.com","pornbraze.com","cuworld.com","pornvideos.com","sopornvideos.com","avporn.com","vporn.com","pussyspace.com","babepedia.com","hentai.to","nhentai.to","femalefirst.co.uk","lacuarta.com","poppen.de","vintag.es","hookup.com","compagnie.com","vidday.com","gonewild.co","influencersgonewild.com","yes24.com","hotntubes.com","dtiserv.com","eurogirlsescort.com","islive.net","lsl.com","egotastic.com","gamcore.com","chat.co.uk","extremesexchannels.tv","shesfreaky.com","cosabella.com","javporn.net","lyla.com","damplips.com","modelhub.com","sex-videos.com","xxx-cdn.com","ecarson.com","oceleb.com","hellporno.com","hentai.com","yourlust.com","1011.com","didos.com","playfulpromises.com","phncdn.com","ishka.com","nudeclap.com","69s.com","mypornhere.com","porndig.com","stream6.com","xx03.com","pornhits.com","ivanet.com","rnpictures.com","sexpornpictures.com","tsnw.com","ampass.com","hentai.tv","woodbridgewines.com","starsenal.com","hentai.io","film-x.com","couple.com","girl-directory.com","l-directory.com","army.de","megatube.xxx","nudepussy.live","vikiporn.com","indexxx.com","pornolaba.com","empflix.com","silkengirl.com","xxxx.com","df.ru","isportsbook.com","bjob.com","xx10.com","evity.com","9gag.com","sexguide.nl","chollian.net","shiola.co.uk","veoo.com","namethatporn.com","asiandate.com","bos.so","inchat.com","hotornot.com","isex.com","modelmayhem.com","nightlife.ca","evn.com","sxyprn.net","latina.com","ile.cc","shooshtime.com","clube.com","sment.com","paradisi.de","youx.xxx","youppie.net","chat-avenue.com","xempire.com","joyreactor.com","xxx.org","xxxx.org","hey.lt","b3.nu","tukif.com","porn123.com","images-xxx.com","porndroids.com","pornolab.net","dom.co.il","hotmaill.com","pervertslut.com","playtime.com","vintage-erotica-forum.com","tumbex.com","erados.com","cutt.us","xmovie.com","nonktube.com","fuck-xxx.com","abporn.com","phun.org","5xxx.com","kadin.com","o-shop.de","gifdeliverynetwork.com","mbtrx.com","abshow.com","pornwhite.com","tushy.com","aurls.com","dirtyship.com","fuckjpg.com","hqfuck.com","wafflegirl.com","union.fr","x520.com","proporn.com","sexu.com","321sexchat.com","sexchat.com","cumshots.co","cumshots.com","aeonline.com","phun.com","xx.pl","lingerie.com","wankoz.com","xxxpicss.com","amateurx.com","barebackrt.com","tchats.com","js.pl","loveme.com","mennetwork.com","xxl.tv","mainecoon.com","oska.com","start.be","vietnamcupid.com","amiz.fr","pornpic.xxx","tiava.com","xfantasy.tv","oxpass.com","xpass.com","mrskin.com","thumblogger.com","xposed.com","node2.com","pornhub-deutsch.net","camonster.com","fasthosts.co.uk","fleurdumal.com","homemoviestube.com","payserve.com","plusdating.com","ahern.com","eros.es","boosty.com","a6.com","incestflix.com","metartnetwork.com","8muses.com","ambitionbox.com","flyflv.com","lopss.com","smutr.com","vrouwen.com","tranny.one","googles.com","pinkcherry.com","loway.com","vcomm.net","sggirls.com","proteins.com","dirtypornvids.com","mvideoporno.xxx","nubiles.net","puritanas.com","pair.de","mortystv.com","onecode.com","tar.hu","gia.la","xneon.com","amateurmature.info","reductress.com","sexynudes.tv","thp.ca","adultgalls.com","chaturbate.eu","colliderporn.com","gayboystube.com","hentaiporns.net","live6.de","pornpros.com","cartoonpornguide.com","pornguide.com","fap18.net","fuskator.com","xpages.com","agentprovocateur.com","teenz.com","bestfreecams.club","hotpics.com","fapdig.com","nubilefilms.com","ubilefilms.com","16honeys.com","honeys.com","alohatube.com","anade.org","caribbeancom.com","imen.com","porngur.com","oxlist.com","iwank.tv","derwhite.com","powergrid.com","lgirls.com","cartoonpornvideos.com","xnxx2.com","xxxcrowlimg.com","eviewporn.com","g-web.net","cuties.com","pornbb.org","sfgiants.com","cadv.com","voyeurweb.com","kinghost.com","mature.nl","pclady.com.cn","stars.de","theync.com","evilmilk.com","gifsfor.com","ragt.com","boutique.co.uk","porngipfy.com","ayana.com","islive.nl","blossoms.com","mangaupdates.com","maturetube.com","osexporn.com","sexporn.com","xporn.com","gijo.org","xvideoscom.me","alotporn.com","asswap.com","teatroporno.com","troporno.com","yespornpics.com","cocogals.com","javhd.today","maturetubehere.com","u-on.eu","celebsnudeworld.com","nudeworld.com","lesbiansex.pro","gif-porn.net","patches.org","porno.org","babestube.com","gays.com","freesexdoor.com","xdoor.com","hentai2read.com","its.porn","icams.com","setgo.com","xvids.com","allofteens.com","teens.com","fairynudes.com","nudes.com","gaycities.com","milfsextube.net","pimpandhost.com","stocking-porn.com","pbucks.com","topbucks.com","r-sexe.com","xxxvogue.net","mast.net","erect.com","gaytorrent.ru","6club.com","sleazyneasy.com","tits-guru.com","xzporn.com","amateur.tv","mateur.tv","hardrockcasino.com","tonicmovies.com","viptube.com","xxxneoncity.com","anon-v.com","mrstiff.com","ohsex.pro","putes.com","sexalarab.com","sieg.com","culos.com","iculos.com","xhosting.com","boundhub.com","ss-inc.com","cumonprintedpics.com","go-hosting.com","trafficshop.com","teenmag.com","asscj.com","escort-advisor.com","ts-today.com","lovebscott.com","pervclips.com","pornicom.com","worldsex.com","mpxgirls.com","xgirls.com","sipsap.com","webinc.com","celebrity.com","citychiconline.com","femme.com","espaceplaisir.fr","porn-videos.club","iloopit.net","flys.com","manhunt.net","mailin.net","xworldpornpic.com","boobpedia.com","xmagazine.com","xmovs.com","stop.de","kaufmich.com","pornoperso.com","sexygirlspics.com","00webcams.com","99traffic.com","porngo.com","fancentro.com","laxe.com","iafd.com","shemalez.com","carmail.com","naked.net","howard.com","fastxxxpicssearch.com","porn.org","sexporn.org","tokyomotion.net","celebsroulette.com","nita.org","vicio.com","pornmaki.com","ixgames.com","goportal.com","egao.com","tslust.com","fuckyoucash.com","anals.com","jos.lt","node3.com","startkabel.nl","bukkakesex.tv","sex.tv","dmm-extension.com","drunkpichunter.com","tanda.com","japancupid.com","saucenao.com","thotvids.com","wtfpeople.com","xpaja.net","bums.com","contacts.at","tranny.com","rncdn7.com","katestube.com","itaboo.com","plugrush.com","portlandmercury.com","streamen.com","porngifs.com","gfy.com","pered.com","definebabe.com","mrporngeek.com","rabbitsreviews.com","rumors.it","lmstube.com","sexfilmstube.com","thong.com","xanimu.com","xxxsextube.net","adult-empire.com","sexpic.com","farmgirl.com","cumlouder.com","foxes.com","koxk.com","dump.com","realitykings.com","tubedupe.com","oporn.net","easytoys.nl","flavinha.com","iyalc.com","nifty.org","m-game.jp","bigporn.com","igporn.com","friendfinderinc.com","sexlikereal.com","tsescorts.com","bangbrosteenporn.com","teenporn.com","neighborhoodsluts.com","sluts.com","xflirt.com","171gifs.com","entensity.net","freesex.com","morazzia.com","reuni.eu","theplace2.ru","xxxlibz.com","lelo.com","boy18tube.com","nnteens.com","pop6.com","pornovideoshub.com","ice.nu","pornogratisx.net","videospornogratisx.net","budweiser.com","fapple.com","hqtube.tv","ilikecomix.com","mdc.ca","linq.nl","xxxporn.com","simply-hentai.com","schoolgirls.com","allover30.com","over30.com","blowjobgif.net","cpays.com","ferrit.com","radiofree.com","blood.com","mmaaxx.com","hentaicomics.com","myhentaicomics.com","porngifmag.com","sexogaygratis.biz","aufeminin.com","teamskeet.com","lehit.com","hentia.co","tubetria.mobi","xrares.com","xyz.fr","18magazine.com","bjobs.com","chinmaster.com","hotscope.tv","nicki.com","jovencitas.gratis","porndr.com","pornflip.com","x-movies.net","p-bot.com","3naked.com","x-hd.com","tramps.com","erofus.com","gay.tv","icegay.tv","dsliving.com","o-mag.com","mypron.tv","pron.tv","newbienudes.com","newsdump.com","pornerbros.com","ynotporn.com","visit-x.net","wendise.com","duga.jp","eroticbeauties.net","millionairematch.com","nude-virgins.info","virgins.info","relax-porn.com","picsz.com","xorgasmo.com","bekkoame.ne.jp","boobspicshunter.com","kum.com","sinbox.com","tubemature.tv","zbporn.tv","porntv.com","bbwtubesexy.com","sexy.com","bestporn.com","collectionofbestporn.com","kinky.nl","onlinedating.com","sexy-egirls.com","celebritymoviearchive.com","slingshots.com","hushpass.com","kitty-kats.net","4sex.com","tube4sex.com","beboo.ru","gifmeat.com","dudes.com","gayporn.com","gotgayporn.com","dxlive.com","baddiehub.com","bravoteens.com","cam4.de.com","maidenform.com","sexcelebrity.net","shameless.com","musume.net","xvidzz.com","asianxtv.com","bangtubevideos.com","bbpeoplemeet.com","bestofcomicbooks.com","celebsunmasked.com","rclip.com","cndi.org","meetav.com","sexlist.com","sexprontube.com","indestiny.com","wikiporn.tv","amourangels.com","bombshells.com","jpnudeidols.com","nudeidols.com","nud.com","legalporno.com","1tube.com","my1tube.com","sex-tracker.com","thecount.com","watchmygf.me","xbooru.com","xcity.jp","xcum.com","videosporno.blog.br","xvideosporno.blog.br","bust.com","camgirl.com","fiance.com","pornhubs.video","cams-24.com","soundboards.com","dateinasia.com","faptitans.com","girlsgogames.com","danni.com","maturemoms.tv","x3.net","rajwap.xyz","sexclipshd.com","teenmegaworld.net","veporno.net","shueisha.co.jp","pornovideo.com","gwlt.com","darkangelonline.nl","fewporn.pro","gaycams.us","happy-porn.com","ivan.com","ucan.com","latinovirgin.com","moviefap.com","pornlib.com","siska.tv","dykes.com","xtapes.to","youjizzlive.com","aboutgirlslove.com","fleshlight.com","ftopx.com","javhub.net","pimproll.com","xbombo.com","stileproject.com","tlady.com","eyes.at","5up.net","animal.fr","newsensations.com","sensations.com","porncomics.me","porntn.com","sexpicturespass.com","sextgem.com","goodtrade.com","anime-pictures.net","thai88.com","yteens.biz","hqtube.xxx","host.kz","mult34.com","pornmage.com","pornosearch.guru","niki.com","totalfratmove.com","anus.net","unusualporn.net","xxxneonplanet.com","xxxporntv.net","bellazon.com","burningcamel.com","dacash.com","babes.com","elitebabes.com","gayforit.eu","e03.de","homepornking.com","pornking.com","lushstories.com","nudography.com","silverdaddies.com","annasangels.co.uk","excellentwebcams.com","cums.com","nyloner.com","nlounge.com","tubev.sex","xfind24.com","xyzcomics.com","gammae.com","gaywirecash.com","fuck.biz","fucked.com","indiansgetfucked.com","kingcomix.com","sexclub.com","mypornstarblogs.com","cette.com","nporn.net","redteenporn.net","here3d.com","sv2.biz","4me.net","camgirls.com","hhg.com","fetishshrine.com","sexmovies.com","top6.com","hseries.com","casinos.net","dahentai.com","saradahentai.com","tubelombia.com","hairy.com","wearehairy.com","chill.to","esuburbs.com","bordelle.co.uk","brf.com","imdi.com","xnxx.pro","ebony8.com","eroprofile.com","javcl.com","jusporn.com","plusone.com","smut.com","swapsmut.com","thebestfetishsites.com","tube188.com","badgirlsbible.com","befuck.net","fuck.net","ccent.org","chatrandom.com","ero-video.net","kudosporn.com","osporn.com","netporn.net","pixytube.com","sonorousporn.com","vivatube.com","xxxpornozone.com","belamionline.com","biggercity.com","fiesta.co.uk","downloadwap.com","homegrown.com","fantasyescortblogs.com","hidefporn.ws","julesjordan.com","porn69.com","xxxtube2022.com","boohoo.de","cleanpornlinks.com","pornlinks.com","crocotube.com","rocotube.com","fuckporn.com","dinotube.com","dressupgames.com","fap.to","frprn.com","slutz.com","voici.fr","playblog.org","porncomixonline.net","tube2017.com","tubexclips.com","anilos.com","yhentai.com","barelist.com","fanatix.com","lobstertube.com","phil-flash.com","pornvideoq.com","sharesome.com","tubewolf.com","xxx18hot.com","collegegirls.com","definefetish.com","fetish.com","gosexpod.com","dating.de","lethalpass.com","sdate.com","lesx.com","alvideos.com","toprealvideos.com","usearchx.com","yuvutu.com","adultdates.com","babesource.com","angelinavalentine.com","club-angelinavalentine.com","fhm.nl","dcup.com","freeadultcomix.com","homemadefucktube.com","e-xxx.com","free-xxx.com","internationaljock.com","kindgirls.com","pinflix.com","porn00.org","pornl.com","eatme.com","mature.com","tightteela.com","tram-pararam.com","tube8.fr","tubezaur.com","vidmax.com","xerotica.com","xxxfiles.com","buenatube.com","doujins.com","camstars.com","freecamstars.co","freecamstars.com","freegaysexgames.com","sexgames.com","lives.net","memecrunch.com","teenporno.com","crossreference.com","pornograd.net","pussy.com","xtremetop100.com","porn-tube.com","xxx-porn-tube.com","0xxx.ws","adultsclips.com","xxx.net","yxxx.net","anyxxx.pro","momsporn.com","fallenteenangels.com","teenangels.com","pornobabes.com","blackteenbabes.com","teenbabes.com","bombshell.com","porn555.com","momsvideos.com","shemp.com","tubezzz.net","teentube.com","xxxpicplanet.com","babes-porn.com","hot-boobs.com","fantasias.com","datawav.club","forumophilia.com","fux.com","g-xxxhub.com","pornos.com","hentaimama.io","livejasminwebcams.com","xxxsex.com","pandora.de","xmag.com","pornfuck.net","tube3.com","3gpking.pro","best-paypornsites.net","boobsspider.com","hardcore.com","dtiserv2.com","couples.com","ftvmilfs.com","gaystarnews.com","hornywhores.net","hypnotube.com","dollhouse.com","missmalini.com","rapefilms.net","eeporn.com","freeporn.com","myfreeporn.co","myfreeporn.com","sextubefuck.pro","msex.com","streamsex.com","rencontre.com","superencontre.com","qtube.com","vrporn.com","wporncomics.com","pornxxx.com","ypornxxx.com","bdsmdates.com","clubseventeen.com","sexplained.com","designscene.net","vaxxi.net","gayporno.fm","porno.fm","xtraordinary.com","journelle.com","ssporn.com","mrpinks.com","kut.com","tbib.org","tubemom.tv","xdvdz.com","ftvgirls.com","heretv.com","pornvideo.com","pornotv.com","badoo.com","lesbian8.com","mestreafiliados.com","metart.com","moscarossa.biz","pbos.com","asex.com","gasex.com","clit.com","hdporn.com","pornhot.com","hornyjourney.com","ab3.com","o-xxx.com","video-xxx.com","pornozavr.net","porntry.com","sindustry.com","sexidude.com","ansx.com","vidmo.org","xnxvideos.org","tubeporn.com","bootytape.com","brattysis.com","celebrityleakednudes.com","edenfantasys.com","fantasys.com","olo.cool","hentairead.com","kaotic.com","porngem.com","sex3.com","pee.net","spunkysheets.com","videosgratis.tv","sex-films.com","adultfreedating.com","adultvideotop.com","bdsmtest.org","otoes.com","nmyface.com","fap-tube.com","hegre.com","sexcinema.com","thesexcinema.com","babesandstars.com","gay-torrents.net","xpics.com","xxxpics.com","iem.fr","interracialpass.com","mansurfer.com","igallery.com","myhentaigallery.com","fash.com","drecom.jp","porncore.net","pornowatch.net","pornrox.com","4t3.com","betterwithage.com","tropictube.com","webtuna.com","liebe.de","ishot.com","gfh.com","goodpornvids.com","free-porn.com","instabang.com","pornjam.com","pornogrund.com","pornrabbit.co","pornrabbit.com","porzo.com","redtube.com.br","rstatic.be","girlz.com","vpscash.nl","porn-mov.com","zbiornik.com","zzbabes.com","camstreams.tv","kscans.com","etvnow.com","naughtyblog.org","nu-bay.com","pornoxo.com","mporn.com","reamporn.com","stocking-pages.com","elguru.com","tt1069.com","xecce.com","yanks.com","arabsex66.com","bdsmstreak.com","erocurves.com","forttroff.com","goldhdtube.com","machotube.tv","ormach.com","livewebcams.com","xlivewebcams.com","alrincon.com","cumpleaser.com","pleaser.com","erog.fr","pazz.com","freeviewmovies.com","fuckbook.com","fuckmoral.com","nerve.com","atons.net","freesex4all.com","hotfreesex4all.com","nsfw.com","yahoo.com","o-bo.com","photosex.biz","sex.biz","porn-w.org","pornorama.com","preferred411.com","faptube.co","faptube.com","runporn.com","mailorderbrides.com","tubexvideo.com","xxxymovies.com","zootube1.com","bored.com","girlsoutwest.com","sunix.com","amkt.com","nastyvideotube.com","pinkclips.mobi","gindex.com","porn1.com","xxxmillion.com","edporn.com","zedporn.com","adulthostedblogs.com","anexpert.org","beegnow.com","filthnest.com","eberg.net","girlstalkinsmack.com","pornvideos.mobi","homemadeporn.com","porndaddy.com","pornoshara.tv","queer.de","starmagazine.com","thepornlist.net","anybunny.mobi","carpediem.fr","kporno.com","sxxx.com","renas.com","fappenist.com","foxporns.com","freepornq.com","pornq.com","germanfucktube.com","intporn.com","ifriends.com","gateway.nu","nique.org","teenhost.net","tekstovi-pesama.com","the-sex.me","camshows.org","wifelovers.com","xxxstreams.org","biza.com","brazilcupid.com","fc2av.com","gaydar.net","glam0ur.com","gogotube.tv","handjobhub.com","xwebhosting.com","lxax.com","mexicancupid.com","playboy.de","2live.com","tastyblacks.com","ohentai.com","toroporno.com","tube8.es","unclevids.com","caprice.com","pornload.com","uw.hu","xxxtv.com","xxx.be","isgreat.com","tpe.com","fetisch.de","you-porn.com","gexo.com","indiansex.tv","pornorips.com","sexjobs.nl","spankwire.com","twoplustwo.com","xnxxcom.club","porngay.com","youporngay.com","melove.com","awejmp.com","blacktowhite.net","libero.it","leaning.co.uk","astrologie.com","tempted.com","deluxepass.com","dirtyroulette.com","dreammovies.com","dynasty-scans.com","freespeechcoalition.com","helixstudios.com","idealmilf.com","amembers.com","erose.com","sexblogs.com","pornbay.org","casadas.com","soyoung.com","tabootube.xxx","topsiteuri.ro","tubetubetube.com","violetmovies.com","knowporn.com","weknowporn.com","4girls.co.il","adammale.com","adamsextract.com","showa.com","brigitte.com","biqle.ru","bobandtom.com","cadena.com.br","familystrokes.com","keezmovies.com","twink.com","niteflirt.com","thepornmap.com","twrank.com","bigfuck.tv","herewego.com","grannyfucks.me","hdpornos.net","pornos.net","hotindianfuck.com","hqcollect.net","iknowthatgirl.com","tgirl.com","sexpert.com","openporn.network","ltparts.com","slickcams.com","amateurs.com","camateurs.com","mateurs.com","tacamateurs.com","winporn.com","xxxlib.mobi","150teengalleries.com","ngalleries.com","bestporncomix.com","exgo.com","dating.co.uk","sex.net","hentaistream.com","lustful.tv","nudebase.com","ohentai.org","pasionmujeres.com","planetromeo.com","pronhub.com","shit-around.com","ke.to","socialitelife.com","xsearch.cc","twpornstars.com","xhamstercams.com","adultdvdtalk.com","adultxxxarea.com","arabysexy.com","arenaporno.com","atkmodels.com","kmodels.com","cult.at","filthyway.com","tladies.com","japanesebeauties.net","lov.ru","kissjav.com","e97.de","loveshack.org","porneq.com","porngifer.com","pornoeggs.com","pornoente.tv","spele.nl","suicidegirls.com","girlsex.net","teenygirlsex.net","trendyporn.com","tubeplan.com","viewgals.com","jam.net","wildgay.com","xxxvideos.su","520cc.cc","qporn.com","babesnetwork.com","bitporno.com","cerdas.com","assmail.com","freechatnow.com","freexcafe.com","gaydemon.com","hardcoregamer.com","modelsgonebad.com","lendinghub.com","porn-star.com","pornosphere.com","watersports.com","reporn.com","ssex.com","todorelatos.com","raidrush.ws","sitego.com","comicsporno.com","vercomicsporno.com","xxxhunterspider.com","sexcomix.com","fsex.com","dogfartnetwork.com","epicpornvideos.com","foxybingo.com","hubetubex.com","tubex.co","o-magazine.com","milfseeker.com","gotboobs.com","mommygotboobs.com","nerdnudes.com","netflixmovies.com","porngals4.com","showmewebcams.com","ftube.com","sxx.com","videosx.com","xreview.com","upcomics.org","upskirt.tv","thrills.com","wetpussy.sexy","bustedtees.com","sexradar.com","stdesire.com","forhertube.com","expics.com","freematuresexpics.com","fuckmovs.pro","hentaidude.com","hypnohub.net","xdate.com","japan-whores.com","whores.com","escortguide.com","londonescortguide.com","ycams.com","melonstube.com","easy-dates.com","page-x.com","pornosauna.com","prontv.org","redlights.be","nues.com","sexemodel.com","uol.com.br","sexsaoy.com","nasty.com","thehentaiworld.com","truthordarepics.com","masturbate.com","10pic.com","3gpjizz.pro","adultsitetoplist.com","bestcuties.xyz","chyoa.com","isex.net","dirtydoglinks.com","easypic.com","hdxxnxx.com","hq-sex-tube.com","eblue.co.uk","etop.ru","stickamvids.net","tenderboys.net","tiny4k.com","nixos.com","cannabis.net","cartoonreality.com","247live.com","curvyerotic.com","xxxtube.org","footangels.com","adultgames.com","free3dadultgames.com","helixstudios.net","hottystop.com","okm.com","imperiodefamosas.com","thegays.com","kasidie.com","mistress.com","icertified.com","nothingtoxic.com","crasoft.com","vipentertainment.net","porn.fr","pump-cdn.com","teensnow.com","thehun.net","virgin-paradize.com","darkcategories.com","directbigboobsreloaded.net","drunkenstepfather.com","erosberry.com","familyporn.tv","yporn.tv","freerealvideo.com","gratistodo.com","hentairider.com","tchicks.com","javbangers.com","jlist.com","knockporn.com","sexx.com","lordgun.com","asian.com","ratx.com","outpersonals.com","pervertstore.com","pics.nu","pornsos.com","pornfree.com","troma.com","lecraft.com","trailerwmv.com","young.fr","xnxxcomvideos.com","porm.com","3xtoys.ca","boyculture.com","chantelle.com","clipf.com","coed.com","cutewebcams.com","frauporno.com","uporno.com","loveplay.com","imgadult.com","monstercockland.com","punishworld.com","puporn.com","scarleteen.com","spitzetitten.com","los.ch","titsintops.com","amateursex.com","tubeamateursex.com","tushyraw.com","xoxobella.com","xxxdessert.com","dbabes.com","cam4.fr","camwhoresbay.com","bears.xyz","fcn.ca","coco.fr","fleshbot.com","funbags.com","tight.com","bdsm.com","hitbdsm.com","lamalinks.com","perfectnaked.com","pornedup.com","pornsites.xxx","andoo.de","matureclub.com","sexmex.xxx","storiesonline.net","xmodels.com","tendertouch.com","thefrisky.com","tubepleasure.com","xex.com","clubsweethearts.com","dickievirgin.org","gamelink.com","intporn.org","klik.hr","malgusto.com","f4m.de","morefunforyou.com","adult.net","xadult.net","objectsex.tv","pieshop.com","8videos.com","porn18videos.com","dragon.ca","sexxx.to","sexykittenporn.com","1pondo.tv","topmanga.com","shemalelive.com","besthugecocks.com","blacksexbook.com","sexbook.com","aker.be","craiglist.com","but.com","hausfrau.com","fetish-xxx.com","gay-fetish-xxx.com","gaybeeg.info","pureskin.com","interracialpornjungle.com","18plus.com","tyrantdb.com","manga-porn.com","xxmix.com","mrporn.com","hairygirls.com","mature.net","older-mature.net","thatass.com","pagalworld.asia","pandesiaworld.com"]),fo=new Set(["bnpparibas.com","abnamro.nl","anz.com.au","bradescori.com.br","bb.com.br","itau.com.br","santander.com","bankmandiri.co.id","bankofamerica.com","boc.cn","barclays.com","mufg.jp","citigroup.com","credit-suisse.com","db.com","goldmansachs.com","hsbc.com","jpmorganchase.com","societegenerale.com","belfius.com","ing.com","intesasanpaolo.com","smbc.co.jp","mizuho-fg.com","westpac.com.au","ubs.com","standardchartered.com","kbc.com","bbva.com","morganstanley.com","nedbankgroup.co.za","rabobank.nl","rbc.com","natwestgroup.com","scotiabank.com","ccb.com","icbc-ltd.com","sbi.co.in","standardbank.co.za","credit-agricole.com","unicreditgroup.eu","bancogalicia.com","bmo.com","triodos.com","bancaetica.it","abs.ch","asnbank.nl","gls.de","macquarie.com.au","co-operativebank.co.uk","rsfsocialfinance.org","caixa.gov.br","caixabank.com","bancopopular.es","bes.pt","desjardins.com","ekobanken.se","cdb.com.cn","eximbank.gov.cn","cebbank.com","cibc.com","manulife.com","nordea.com","zkb.ch","td.com","danskebank.com","erstegroup.com","wellsfargo.com","commbank.com.au","nab.com.au","deka.de","natixis.com","commerzbank.com","cib.com.cn","bangkokbank.com","kasikornbank.com","absa.africa","accessbankplc.com","aaib.com","brou.com.uy","grupobancolombia.com","bankmuscat.com","corpbanca.cl","dnb.no","edc.ca","firstrand.co.za","fmo.nl","kfw-ipex-bank.de","lloydsbankinggroup.com","sebgroup.com","bnpparibasfortis.com","garantibbva.com.tr","akbank.com","bankofafrica.ma","abchina.com","pnc.com","nibc.com","ahliunited.com","veb.ru","sbrf.ru","bankcomm.com","hxb.com.cn","cmbchina.com","spdb.com.cn","cmbc.com.cn","cncbinternational.com","axisbank.com","idbi.com","alfabank.com","hdfcbank.com","icicibank.com","citicbank.com","pingan.com","bankofbeijing.com.cn","nbcb.cn","njcb.com.cn","vtb.com","maybank.com","cimb.com","dbs.com","ocbc.com","uobgroup.com","bni.co.id","bri.co.id","idfc.com","openbank.ru","viabcp.com","dzbank.com","bnymellon.com","usbank.com","suncorpgroup.com.au","labanquepostale.fr","allianz.com","bayernlb.com","helaba.de","hsh-nordbank.com","lbbw.de","nordlb.com","mediobanca.it","rbinternational.com","swedbank.com","bankofindia.co.in","pfcindia.com","licindia.in","pkobp.pl","bgk.com.pl","gnb.pl","bankmillennium.pl","bca.co.id","danamon.co.id","bgz.pl","creditmutuel.fr","bndes.gov.br","bankia.com","norges-bank.no","kfw.de","bpce.fr","winglungbank.com","cathaybk.com.tw","smth.jp","grupbancsabadell.com","bankhapoalim.com","leumi.co.il","discountbank.co.il","mizrahi-tefahot.co.il","fibi.co.il","mcbgroup.com","cibanco.com","fidelitybank.ng","ecobank.com","finnfund.fi","eximbankindia.in","exim.gov","truist.com","cifi.com","banorte.com","bancovotorantim.com.br","gov.uk","handelsbanken.com","bankinter.com","esunbank.com.tw","efic.gov.au","ekf.dk","eksportkreditt.no","ico.es","bankfab.com","op.fi","btgpactual.com","greeninvestmentgroup.com","bancoestado.cl","jsbchina.cn","gcs-web.com","sek.se","kdb.co.kr","nochubank.or.jp","fubon.com","devolksbank.nl","nykredit.com","jyskebank.dk","sydbank.com","sparebank1.no","o-bank.com","psbc.com","shinkin-central-bank.jp","nbe.com.eg","banquemisr.com","zenithbank.com","cibeg.com","attijariwafabank.com","groupebcp.com","shinhangroup.com","yuantabank.com.tw","shinseibank.com","mycc-bank.com","ctbcbank.com","cqrcb.com","sinopac.com","hzccb.net","firstbank.com.tw","kbfg.com","bgzchina.com","taishinbank.com.tw","megabank.com.tw","wooribank.com","hanafn.com","cqcbank.com","nonghyup.com"]),vo=new Set(["fonts.googleapis.com","facebook.com","twitter.com","google.com","youtube.com","w.org","instagram.com","googletagmanager.com","linkedin.com","ajax.googleapis.com","gmpg.org","pinterest.com","gstatic.com","wordpress.org","wikipedia.org","youtu.be","apple.com","github.com","bit.ly","goo.gl","cloudflare.com","vimeo.com","google-analytics.com","maps.googleapis.com","flickr.com","vk.com","t.co","reddit.com","amazon.com","medium.com","creativecommons.org","microsoft.com","adobe.com","soundcloud.com","theguardian.com","europa.eu","googleusercontent.com","nytimes.com","bootstrapcdn.com","blogger.com","forbes.com","s3.amazonaws.com","jquery.com","dropbox.com","paypal.com","tinyurl.com","etsy.com","theatlantic.com","archive.org","amzn.to","cnn.com","wikimedia.org","issuu.com","imgur.com","wordpress.com","wp.me","businessinsider.com","yelp.com","t.me","washingtonpost.com","bbc.com","amazon.de","bbc.co.uk","doubleclick.net","mozilla.org","eventbrite.com","slideshare.net","w3.org","forms.gle","telegraph.co.uk","messenger.com","gravatar.com","usatoday.com","huffingtonpost.com","stackoverflow.com","fb.com","npr.org","techcrunch.com","wired.com","eepurl.com","reuters.com","arxiv.org","wp.com","yahoo.com","amazon.fr","tumblr.com","cnbc.com","zoom.us","wa.me","paypal.me","slack.com","independent.co.uk","discord.gg","spotify.com","tripadvisor.com","behance.net","thinkwithgoogle.com","who.int","ibm.com","mixcloud.com","google.co.in","latimes.com","macromedia.com","dailymail.co.uk","line.me","unsplash.com","storage.googleapis.com","googlesyndication.com","jsdelivr.net","g.co","meetup.com","bloomberg.com","vox.com","imdb.com","arstechnica.com","amazon.co.uk","statista.com","google.ca","nbcnews.com","steemit.com","amazon.co.jp","w3schools.com","weibo.com","twitch.tv","moz.com","drupal.org","nypost.com","ebay.com","sourceforge.net","godaddy.com","nih.gov","wsj.com","thenextweb.com","cdc.gov","opera.com","ftc.gov","j.mp","about.me","gov.uk","ytimg.com","squareup.com","google.co.uk","buzzfeed.com","pixabay.com","quora.com","cnet.com","google.com.au","myspace.com","theglobeandmail.com","shopify.com","whitehouse.gov","kickstarter.com","freelancer.com","evernote.com","gmail.com","wixstatic.com","fortune.com","wix.com","dailymotion.com","goodreads.com","google.co.jp","surveymonkey.com","cbsnews.com","entrepreneur.com","bing.com","engadget.com","tandfonline.com","cargocollective.com","whatsapp.com","shutterstock.com","twimg.com","blog.google","time.com","lifehacker.com","patreon.com","scribd.com","feedburner.com","trello.com","ted.com","researchgate.net","fda.gov","instructables.com","google.de","digitalocean.com","dribbble.com","variety.com","indiegogo.com","salesforce.com","nasa.gov","codepen.io","newyorker.com","go.com","snapchat.com","googleadservices.com","sciencedirect.com","ft.com","nature.com","gofundme.com","500px.com","qz.com","dropboxusercontent.com","steampowered.com","googleblog.com","oracle.com","gartner.com","msdn.com","mailchi.mp","digg.com","skype.com","periscope.tv","google.com.br","googleblog.blogspot.com","npmjs.com","vice.com","aboutads.info","pexels.com","sxsw.com","fiverr.com","cbc.ca","venturebeat.com","mashable.com","upwork.com","bitly.com","loc.gov","netflix.com","hbr.org","pbs.org","stumbleupon.com","walmart.com","foursquare.com","amazon.ca","tiny.cc","xkcd.com","target.com","nginx.com","canva.com","addthis.com","elmundo.es","indiatimes.com","yandex.ru","pastebin.com","samsung.com","rt.com","ifttt.com","mysql.com","giphy.com","fontawesome.com","houzz.com","android.com","speakerdeck.com","digitaltrends.com","steamcommunity.com","canada.ca","networkadvertising.org","linktr.ee","calendly.com","lg.com","last.fm","amazon.es","businesswire.com","deezer.com","doi.org","udemy.com","bp.blogspot.com","gumroad.com","ubuntu.com","google.ru","makeuseof.com","raw.githubusercontent.com","bluehost.com","deviantart.com","pewresearch.org","google.cn","microsoftonline.com","google.nl","google.es","fastcompany.com","is.gd","telegram.me","mediafire.com","themeforest.net","openstreetmap.org","pewinternet.org","buff.ly","springer.com","bizjournals.com","residentadvisor.net","golang.org","vogue.com","s3-eu-west-1.amazonaws.com","boardgamegeek.com","un.org","redd.it","ow.ly","buffer.com","mozilla.com","chromium.org","patheos.com","ancestry.com","youtube-nocookie.com","barnesandnoble.com","amzn.com","hulu.com","greenpeace.org","spiegel.de","census.gov","box.com","yandex.com","sketchfab.com","avvo.com","searchengineland.com","shareasale.com","abc.net.au","trustpilot.com","rakuten.co.jp","marriott.com","amazon.it","uber.com","coursera.org","adage.com","foxnews.com","flic.kr","chrome.com","change.org","spreaker.com","filezilla-project.org","flipboard.com","pcworld.com","pitchfork.com","weforum.org","istockphoto.com","9to5mac.com","1drv.ms","uspto.gov","irs.gov","copyblogger.com","example.com","siteground.com","sony.net","creativemarket.com","smithsonianmag.com","acm.org","accenture.com","git-scm.com","bbb.org","schema.org","psychologytoday.com","redcross.org","nodejs.org","ameblo.jp","gitlab.com","sciencemag.org","hollywoodreporter.com","freshbooks.com","heise.de","chicagotribune.com","epa.gov","anchor.fm","telegram.org","ikea.com","bloglovin.com","eventbrite.co.uk","googlewebmastercentral.blogspot.com","huffpost.com","weebly.com","producthunt.com","google.fr","linksynergy.com","vanityfair.com","diigo.com","ouest-france.fr","namecheap.com","codecanyon.net","appstore.com","ietf.org","rockpapershotgun.com","columbia.edu","constantcontact.com","webmd.com","material.io","neilpatel.com","discordapp.com","m.me","design.google","francetvinfo.fr","slashgear.com","4shared.com","python.org","amazon.com.au","storify.com","elegantthemes.com","europe1.fr","pwc.com","activecampaign.com","freepik.com","ravelry.com","apnews.com","propublica.org","smugmug.com","inc.com","google.it","zazzle.com","dol.gov","scoop.it","bit.do","yadi.sk","eclipse.org","economist.com","xing.com","hbo.com","nationalgeographic.com","jetbrains.com","iconfinder.com","cafepress.com","strava.com","kiva.org","boredpanda.com","justgiving.com","pinterest.ca","zdnet.com","sproutsocial.com","rebrand.ly","ranker.com","a.co","waze.com","nydailynews.com","marketwatch.com","mailchimp.com","livescience.com","flaticon.com","ilpost.it","facebook.net","google.co.nz","amazon.com.br","ustream.tv","lulu.com","socialmediatoday.com","rollingstone.com","sagepub.com","zillow.com","xinhuanet.com","politico.com","pnas.org","laughingsquid.com","redhat.com","dashlane.com","copyright.gov","mentalfloss.com","zeit.de","google.cz","startnext.com","launchpad.net","lemonde.fr","sciencedaily.com","edx.org","smashwords.com","philips.co.uk","intel.com","livestream.com","brookings.edu","thehill.com","popsci.com","playstation.com","fb.me","oup.com","php.net","wetransfer.com","livedoor.jp","amazon.in","obsproject.com","qq.com","windows.com","hostgator.com","google.gr","theverge.com","aub.edu.lb","digiday.com","gimp.org","treasury.gov","geocities.com","healthline.com","coinbase.com","gnu.org","abc.com","aljazeera.com","getresponse.com","dev.to","thesun.co.uk","lynda.com","sellfy.com","prnt.sc","hp.com","notion.so","vmware.com","kraken.com","vine.co","marthastewart.com","discord.me","dailycaller.com","mega.nz","flavors.me","blip.tv","prntscr.com","plos.org","discogs.com","vanmiubeauty.com","metro.co.uk","google.ie","relapse.com","bandcamp.com","gopro.com","t.ly","mit.edu","billboard.com","britannica.com","wiley.com","techsmith.com","sfgate.com","redbubble.com","repubblica.it","disqus.com","khanacademy.org","skfb.ly","androidauthority.com","accessify.com","tensorflow.org","chrisjdavis.org","box.net","poetryfoundation.org","cornell.edu","penguinrandomhouse.com","refinery29.com","starwars.com","prnewswire.com","zalo.me","reverbnation.com","getpocket.com","about.com","goo.gle","note.mu","thetimes.co.uk","fao.org","bol.com","yoursite.com","sophos.com","automattic.com","podbean.com","sublimetext.com","archives.gov","vizio.com","thelancet.com","guardian.co.uk","tunein.com","stitcher.com","coinmarketcap.com","amnestyusa.org","cambridge.org","asus.com","problogger.net","worldbank.org","ticketportal.cz","dw.com","songkick.com","adweek.com","lifehack.org","apple.co","sutterhealth.org","globalnews.ca","breitbart.com","thumbtack.com","eff.org","snopes.com","crowdrise.com","hkrsa.asia","metmuseum.org","pixlr.com","institutvajrayogini.fr","mosgorcredit.ru","itchyfeetonthecheap.com","reacts.ru","db.tt","udacity.com","we.tl","blogtalkradio.com","audacityteam.org","youcaring.com","harvard.edu","google.ch","nhs.uk","mixi.jp","symfony.com","mtv.com","bitcointalk.org","esa.int","slate.com","oecd.org","raspberrypi.org","sfexaminer.com","warriorforum.com","g.page","bhphotovideo.com","axios.com","pinterest.co.uk","unesco.org","msn.com","visualstudio.com","netbeans.org","blockchain.info","untappd.com","espn.com","cbs.com","michigan.gov","oprah.com","ok.ru","mhlw.go.jp","newegg.com","themarthablog.com","yummly.com","bitpay.com","buymeacoffee.com","deepl.com","scientificamerican.com","audible.com","bitbucket.org","typekit.net","faz.net","adf.ly","cancerresearchuk.org","moma.org","bigthink.com","bandsintown.com","office.com","upi.com","collegehumor.com","lefigaro.fr","gplus.to","themify.me","rtve.es","nba.com","myfitnesspal.com","pirillo.com","eonline.com","ko-fi.com","otto.de","tkqlhce.com","unity3d.com","naver.com","freewebs.com","drift.com","postmates.com","geek.com","geocities.jp","beian.gov.cn","flattr.com","webroot.com","thoughtcatalog.com","google.pl","seroundtable.com","checkpoint.com","jotform.com","xbox.com","infusionsoft.com","globo.com","capterra.com","ea.com","hawaii.edu","osha.gov","buzzfeednews.com","jstor.org","iheart.com","foodnetwork.com","eventim.de","presseportal.de","google.se","skillshare.com","puu.sh","examiner.com","stripe.com","firstdata.com","advertisercommunity.com","pinimg.com","ctt.ec","cia.gov","docker.com","homedepot.com","humblebundle.com","greenend.org.uk","pandora.com","google.co.za","payhip.com","thingiverse.com","inkscape.org","adobe.ly","css-tricks.com","jamanetwork.com","wattpad.com","chase.com","cisco.com","bmj.com","louvre.fr","aclu.org","squarespace.com","gum.co","idealo.de","imore.com","rakuten.com","fbi.gov","united.com","google.pt","on24.com","nejm.org","colorado.edu","franchising.com","logitech.com","redbull.com","tf1.fr","hostinger.com","nbc.com","ign.com","hubspot.com","envato.market","google.be","technorati.com","pond5.com","ucl.ac.uk","a2hosting.com","amzn.asia","nicovideo.jp","indiewire.com","codeproject.com","usa.gov","gleam.io","space.com","gitter.im","ggpht.com","leparisien.fr","kotaku.com","huffingtonpost.co.uk","chronicle.com","createspace.com","verizon.com","teespring.com","goo.ne.jp","kobo.com","globalsign.com","animoto.com","rottentomatoes.com","cell.com","health.com","geni.us","lesechos.fr","fas.org","smashingmagazine.com","7-zip.org","realvnc.com","discovery.com","mlb.com","autodesk.com","popularmechanics.com","rdio.com","sendspace.com","synology.com","angelfire.com","france24.com","battle.net","stjude.org","denverpost.com","japantimes.co.jp","stocktwits.com","envato.com","airtable.com","ticketmaster.com","neh.gov","purl.org","nfl.com","monster.com","dafont.com","tesla.com","lmgtfy.com","olympic.org","baidu.com","overcast.fm","allmusic.com","cdbaby.com","vsco.co","nvidia.com","stadt-bremerhaven.de","faa.gov","yahoo.co.jp","bild.de","lenovo.com","funnyordie.com","abebooks.com","ieee.org","thinkgeek.com","snip.ly","pixiv.net","buzzsprout.com","orcid.org","ampproject.org","feedspot.com","ericsson.com"]),jo=new Set([...wo.values(),...fo.values(),...vo.values(),"mail.ru","bing.com"]),zo=new Set(["expedia.com","agoda.com","kayak.com","kayak.es","kayak.it","kayak.fr","kayak.de","kayak.co.uk","kayak.be","kayak.nl","priceline.com","hotel.com","hotwire.com","travelocity.com","orbitz.com","lastminute.com","hometogo.com","wimdu.com","casamundo.com","homes-and-villas.marriott.com","holidu.com","holidu.fr","holidu.it","holidu.es","holidu.ch","holidu.pt","holidu.co.uk","novasol.com","novasol.it","novasol.de","novasol.at","novasol.co.uk","novasol.us","novasol-vacaciones.es","novasol-vacances.fr","makemytrip.com","leboncoin.fr","plumguide.com","trip.com","likibu.com","hopper.com","hostelworld.com","glampinghub.com","trivago.com","ar.trivago.com","trivago.ae","trivago.com.ar","trivago.at","trivago.com.au","trivago.be","trivago.bg","trivago.com.br","trivago.ca","trivago.ch","trivago.cl","trivago.com.co","trivago.cz","trivago.de","trivago.dk","trivago.com.ec","trivago.es","trivago.fi","trivago.fr","trivago.gr","trivago.hk","trivago.hr","trivago.hu","trivago.co.id","trivago.ie","trivago.co.il","trivago.in","trivago.it","trivago.jp","trivago.co.kr","trivago.com.mx","trivago.com.my","trivago.nl","trivago.no","trivago.co.nz","trivago.pe","trivago.com.ph","trivago.pl","trivago.pt","trivago.ro","trivago.rs","trivago.se","trivago.sg","trivago.si","trivago.sk","trivago.co.th","trivago.com.tr","trivago.com.tw","trivago.co.uk","trivago.com.uy","trivago.vn","trivago.co.za","5pm.co.uk","acomodeo.com","agodaconnectivity.com","aicgroup.biz","airasia.com","siteminder.com","alba-travel.com","altovita.com","alturabeds.com","andalucia-autentica.com","asaguest.com","asiayo.com","en.atel-hotels.com","americantours.com","atrapalo.com","aura.travel","AzoresGetaways.com","bakuun.com","barceloviajes.com","bed-and-breakfast.it","bestday.com","Bidroom.com","bnberry.com","bonotel.com","bookeasy.com","bookerclub.com","join.booking.com","bookmemaldives.com","visitgroup.com","ba.com","canariasviaja.com","centraldereservas.com","charmingitaly.com","hotel.check24.de","chicretreats.com","cisalpinatours.it","citybaseapartments.com","cityzenbooking.com","clubdevacaciones.es","condortravel.com","connectycs.com","crc.ag","curacity.com","darmawisataindonesia.co.id","daybreakhotels.com","despegar.com","didatravel.com","rooms.digibreaks.com","discoveraustralia.com.au","hotels.dnatatravel.com","dorms.com","easyjet.com","easytravel.com.tw","ec-travel.pt","eccotours.biz","ecohotels.com","findingedyn.com","elong.net","emergingtravel.com","emviagem.pt","epoquehotels.com","esquiades.com","estiber.com","estonianspas.eu","etourismholidays.com.au","europlayas.es","eurotours.at","evasionvoyages.fr","welcome.expediagroup.com","ezibed.com","eztravel.com.tw","favstay.com","feelingo.com","feratel.com","feratel.at","fijiairways.com","fincahotels.com","fliggy.com","flightcentre.com","app.flowtheroom.com","followme2africa.com","fusionholidays.com.au","getaroom.com","discoveryloyalty.com","go2africa.com","goibibo.com","grosvenortours.com","revparguru.com","hafh.com","halalbooking.com","hanatour.com","hero.travel","holidaytravel.co.za","thehomelike.com","hoojoozat.com","hookusbookus.com","hostelsclub.com","tsecure.hostelworld.com","hotelextranet.co.uk","rts.net","hotels.com","hotelsclick.com","revato.com","hotelshopuk.com","login.hotelspecials.nl","home.hotelswaps.com","hoteltonight.com","hoterip.com","housinganywhere.com","hotelspro.com","hrs.com","hurb.com","travel.hutchgo.com.hk","hyperguest.com","i-escape.com","icastelli.net","rewardscorp.com","imperatours.com","infinitehotel.com","corp.inntopia.com","hotel.interpark.com","booking.italiandiscovery.com","itravex.es","new.itrip-online.com","ivivu.com","jet2holidays.com","hotels.jetstar.com","jtb-hawaii.com","jumbotours.com","justhooit.com","kkday.com","klikhotel.com","klook.com","kurz-mal-weg.de","kurzurlaub.de","leisurecom.com","first-travel-group.co.nz","limatours.com.pe","liontravel.com","littleguestcollection.com","loveholidays.com","lusanova.com","luxuryescapes.com","magic-dmc.com","medistays.com.au","hotel.meituan.com","mgholiday.com","migoa.com","misteraladin.com","misterfly.com","mrandmrssmith.com","mybookings.com.au","myhotelbreak.com","mytour.vn","namutravel.com","secure.needitnow.com","nexttrip.com","nomolesten.com","visitnewquay.org","odamax.com","odeontours.com","odigeoconnect.com","odisseias.com","offpeakluxury.com","olympia.it","onthebeach.co.uk","on-travelsolutions.com","opentravel.network","opengds.com","otelz.com","ozaccom.com.au","pacificbedbank.com","panpacific.co.nz","panamericanadeviajes.net","chamonix.com","pegipegi.com","perlatours.com","petspyjamas.com","pitchup.com","portimar.pt","prestigia.com","pricetravel.com","qantas.com","quantumreservation.com","racv.com.au","travel.rakuten.com","solutions.travel.rakuten.com","rehlat.com","reslogic.com","riparide.com","cm.roamfree.com","robinhood.in.th","rocketstay.com","roomlia.com","rusticae.com","rydoo.com","safarinow.com","secretescapes.com","seera.sa","partnerweb.sembo.se","settour.com.tw","silverdoorapartments.com","situ.co.uk","smartie.com","south-african-hotels.com","spabreaks.com","speedybooker.com","splendia.com","springbokatlas.com","stashrewards.com","hotels.hotelbonanza.com","staycation.co","trade.switzerlandtravelcentre.ch","szallas.hu","tablethotels.com","tailorbeds.travel","tboholidays.com","thesqua.re","thompsonsafrica.com","tidesquare.com","tiket.com","tomas.travel","tourbobo.com","txa.com.au","txgb.co.uk","txi.co.id","tourismexchangeusa.com","tourvestdm.com","traveloka.com","travelperk.com","travelstay.com","solutions.travelzoo.com","tripadeal.com.au","tripadvisor.com","tripmakery.com","reservedirect.com","tuigroup.com","tumlare.com","vacatia.com","vacayhomeconnect.com","verwoehnwochenende.de","verychic.com","aramon.com","viajeselcorteingles.es","viajesolympia.com","voordeeluitjes.nl","webbeds.com","weekendesk.fr","weekendjeweg.nl","whistler.com","wilderness-safaris.com","wink.travel","w2m.travel","en.xeniahs.com","yonda.com.au","campingfrance.com","vio.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","oyorooms.com","zenithoteles.com","booking.zenithoteles.com","bookingcoruna.zenithoteles.com","edreams.es","edreams.fr","edreams.cz","edreams.de","edreams.es","edreams.gr","edreams.com","edreams.it","edreams.pt","edreams.ch","edreams.com.tr","edreams.co.uk","edreams.com.ar","edreams.com.mx","edreams.pe","edreams.com.au","edreams.hk","edreams.in","edreams.jp","edreams.ph","edreams.co.kr","edreams.tw","edreams.ma","edreams.qa","edreams.sa","edreams.net","hu.edreams.com","nl.edreams.com","ro.edreams.com","cl.edreams.com","co.edreams.com","cn.edreams.com","id.edreams.com","nz.edreams.com","sg.edreams.com","th.edreams.com","za.edreams.com","ca.edreams.com"]),xo=new Set(["skyscanner.es","skyscanner.it","skyscanner.com","traveloka.com","flightaware.com","skyscanner.net","kiwi.com","cleartrip.com","klook.com","tourscanner.com","getyourguide.com","getyourguide.co.uk","viator.com","civitatis.com","nomadicmatt.com","lonelyplanet.com","thepointsguy.com","worldpackers.com","theculturetrip.com","travel.usnews.com","timeout.com","roughguides.com","travelandleisure.com","cntraveler.com","shetravelledtheworld.com","thesoloist.travel","globe-gazers.com","skift.com","phocuswire.com","phocuswright.com","aa.com","southwest.com","ryanair.com","delta.com","united.com","latamairlines.com","ana.co.jp","jal.co.jp","wizzair.com","aviasales.ru","aircanada.com","jetblue.com","britishairways.com","turkishairlines.com","qatarairways.com","emirates.com","flyfrontier.com","spirit.com","alaskaair.com","goindigo.in","lufthansa.com","airasia.com","jetstar.com","qantas.com","voeazul.com.br","flypgs.com","skyscanner.co.in","avianca.com","cheapoair.com","cebupacificair.com","volaris.com","iberia.com","skyscanner.de","justfly.com","voegol.com.br","vivaaerobus.com","singaporeair.com","flightstats.com","aeroflot.ru","vueling.com","transavia.com","allegiantair.com","aeromexico.com","airfrance.com","cathaypacific.com","etihad.com","koreanair.com","swiss.com","virginatlantic.com","finnair.com","airchina.com","saudia.com","malaysiaairlines.com","garuda-indonesia.com","thaiairways.com","austrian.com","klm.com","csair.com","egyptair.com","airindia.in","brusselsairlines.com","latam.com","flysas.com","omanair.com","alitalia.com","airnewzealand.com","virginaustralia.com","aerlingus.com","copaair.com","flytap.com","royalairmaroc.com","lot.com","westjet.com","hawaiianairlines.com","norwegian.com","aegeanair.com","csa.cz","airmauritius.com","rwandair.com","rj.com","uzairways.com","fijiairways.com","ethiopianairlines.com","caribbean-airlines.com","airbaltic.com","flyasiana.com","airseychelles.com","airmalta.com","vietnamairlines.com","elal.com","juneyaoairlines.com","airastana.com","azal.az","airserbia.com","airdolomiti.eu","airtahitinui.com","biman-airlines.com","airtransat.com","airarabia.com","airgreenland.com","kenya-airways.com","aireuropa.com","sunexpress.com","flyroyalbrunei.com","airzimbabwe.aero","airtanzania.com","airmacau.com.mo","airvanuatu.com","airnamibia.com","airbotswana.co.bw","airtahiti.com","airniugini.com.pg","airmadagascar.com","airburkina.com","airalgerie.dz","air-austral.com","ticketmaster.com","stubhub.com","livenation.com","seatgeek.com","axs.com","vividseats.com","ticketnetwork.com","eventbrite.com","ticketek.com","ticketcity.com","ticketliquidator.com","ticketfly.com","goldstar.com","bigstub.com","ticketweb.com","gametime.co","tickpick.com","eventim.com","frontgatetickets.com","tickets.com","ticketiq.com","scorebig.com","ticketreturn.com","brownpapertickets.com","ticketmaster.com/resale","flashseats.com","ticketatlantic.com","ticketmaster.eu","eventim.eu","seetickets.com","stubhub.co.uk","festicket.com","skiddle.com","gigantic.com","dice.fm","ticketweb.eu","eventbrite.co.uk","ticketline.co.uk","theticketfactory.com","ticketswap.com","tickettailor.com","billetto.co.uk","residentadvisor.net","ticketabc.com","myticket.co.uk","biggreencoach.co.uk","ents24.com","ticketea.com","entradium.com","elcorteingles.es/entradas","ticketmaster.es","redentradas.com","fnacspectacles.com","billetterie.auchan.fr","digitick.com","francebillet.com","ticketmaster.fr","ticketone.it","vivaticket.it","ticketone.club","boxol.it","ticketmaster.it","eventim.de","ticketmaster.de","reservix.de","adticket.de","ticketmaster.co.uk","ticketweb.uk","xceed.me","viagogo.es","viagogo.fr","viagogo.it","viagogo.com","viagogo.de","viagogo.au","viagogo.ca","viagogo.be","viagogo.dk","viagogo.gr","viagogo.com.mx","viagogo.no","viagogo.ru","viagogo.se","viagogo.co.uk","songkick.com","entradas.com","feverup.com","thefork.es","opentable.com","resy.com","yelp.com","bookatable.co.uk","thefork.com","eatwith.com","exploretock.com","zomato.com","dineout.co.in","opentable.co.uk","opentable.fr","opentable.de","opentable.it","opentable.es","opentable.com.au","bookatable.de","bookatable.com","bookatable.se","bookatable.dk","bookatable.no","lafourchette.com","eltenedor.es","thefork.it","thefork.ch","thefork.be","zomato.ae","zomato.com.ph","adyen.com","checkoutshopper-live.adyen.com","egencia.co.uk","concur.com","amexglobalbusinesstravel.com","tripactions.com","mycwt.com","egencia.com","travelperk.com","travelctm.com","fcmtravel.com","hrgworldwide.com","amtrav.com","upside.com","lola.com","sabre.com","roomsxml.com","hotelbeds.com","travelport.com","corporate-travel-agents.com","trapezegroup.com","ctsbus.com","onetravel.com","merlinsoftware.com","uatptravel.com","travelvisapro.com","bcdtravel.com","prismtech.com","travelexperts.com","amadeus.com","trip.com","ganttravel.com","flightcentre.com","traveldoo.com","flightglobal.com","matrix.itasoftware.com","corptrav.com","renfe.com","sncf-connect.com","bahn.de","amtrak.com","trenitalia.com","eurostar.com","eurostarshotels.com","thalys.com","czechrailway.cz","rzd.ru","viazul.cu","sbb.ch","transperth.wa.gov.au","flytoget.no","sj.se","gwr.com","vr.fi","lner.co.uk","chilternrailways.co.uk","translink.co.uk","eastmidlandsrailway.co.uk","westmidlandsrailway.co.uk","scotrail.co.uk","tpexpress.co.uk","c2c-online.co.uk","southwesternrailway.com","merseyrail.org","northernrailway.co.uk","tfw.wales","crosscountrytrains.co.uk","heathrowexpress.com","gautrain.co.za","tgv-lyria.com","wmr.uk","gdyniakolejurbanska.pl","trapezecatering.com.pl","sncb.be","cp.pt","ns.nl","flixbus.com","greyhound.com","megabus.com","busticket.com","redcoachusa.com","nationalexpress.com","peterpanbus.com","boltbus.com","gogobus.com","redbus.com","busbud.com","wanderu.com","omio.com","bus.com","eurolines.com","berlinlinienbus.de","greyhound.ca","buseireann.ie","translink.ca","matthews.ie","stagecoachbus.com","arriva.co.uk","tfl.gov.uk","nationalbus.ie","ryanair.com/ie/en/plan-trip/explore/flight-deals-and-sales","terravision.eu","expressairportbus.com","airportshuttle.it","airportbustransfers.co.uk","nxbus.co.uk","easybus.com","shuttlebus.co.uk","flybus.is","aerobusbcn.com","marcosautolineas.com.mx","ado.com.mx","unicobus.com","luxexpress.eu","transnasional.com","reservation.barcelo.com","reservations.cubilis.eu","venta.renfe.com","waynabox.com","rentalcars.com","hertz.com","enterprise.com","priceline.com","turo.com","expedia.com","alamo.com","avis.com","nationalcar.com","sixt.com","foxrentacar.com","dollar.com","thrifty.com","orbitz.com","travelocity.com","autoslash.com","getaround.com","zipcar.com","rentcars.com","carrentals.com","vipcars.com","budget.com","drivekyte.com","autorentals.com","europcar.com","hotwire.com","autoeurope.com","rental24h.com","sixt.de","paylesscar.com","easyrentcars.com","economycarrentals.com","booking.com","nipponrentacar.co.jp","unidas.com.br","movida.com.br","yolcu360.com","timescar.jp","rentalcars.de","keddybyeuropcar.com","discovercars.com","economybookings.com","rentalmoose.com","roadsurfer.com","doyouspain.com","okmobility.com","goldcar.es","location.leclerc","orix.co.jp","blablacar.com","holidayautos.com","hertz.com/goldplusrewards","skyscanner.net/car-rental","rentalcarsconnect.com","rentacar.com","carrentals.co.uk","happycar.com","indigocarhire.co.uk","zoomcar.com","easirent.com","flightcar.com","wheels2go.com","discovercarhire.com","carhire.ie","kemwel.com","arguscarhire.com","bargaincarrentals.com.au","fireflycarrental.com","nationalcar.co.uk","autoescape.com","skyscanner.com.au","rentcars.de","vroomvroomvroom.com","travelcar.com","drive-now.com","advantage.com","atlaschoice.com","amigoautos.com","drivy.com","enterprise.co.uk","europcar.co.uk","greenmotion.com","interrent.com","irelandcarhire.com","islandcarrentals.com","checkout.novasol.com","americanexpress.com","amextravel.com","global.americanexpress.com","safekey-2.americanexpress.com","priceless.com","exoticca.com","thetrainline.com","paynow.meininger-hotels.com","web2pay.3cint.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","paynow.meininger-hotels.com","book.meininger-hotels.com","booking.sercotelhoteles.com","sis.redsys.es","reservation.hoteles-silken.com","wheeltheworld.com","capitalone.com","capitalonetravel.com","verified.capitalone.com","online.citi.com","citi.com","cititravel.com","cardbenefits.citi.com","booking.iberostar.com","process-securepay.syspay.com","chatgpt.com","perplexity.ai","gemini.google.com","book-secure.com","secure.booking.com","secure.locationlacannecy.fr","secure.5starshome.com","secure.5starshome.de","secure.5starshome.es","secure.5starshome.fr","secure.ibaia-immobilier.com","secure.ibaia-immobilier.fr","secure.iberian-escapes.com","secure.iberisgroup.com","secure.iberorentapartments.com","secure.ibizarenthouse.com","secure.ibizea.es","secure.idealcostabrava.net","secure.idealhomesrentals.com","secure.idealpropertymallorca.com","secure.ideamenton.fr","secure.ifalquileresbenidorm.com","secure.igloo.scot","secure.ilederelocation.com","secure.ilgabbianoponza.it","secure.iloftmalaga.be","secure.iloftmalaga.com","secure.immo-phoenix.ch","secure.immobadiaroses.com","secure.immobiliarialola.com","secure.immobilien-sonja-moyses.com","secure.immobiliervillajosephine.fr","secure.immodreams.fr","secure.immoplage.com","secure.immosol.fr","secure.immoval.com","secure.impals.cat","secure.indarra-experience.com","secure.indigoholidays.es","secure.inmo-campomar.com","secure.inmobiliariacanovas.com","secure.inmobiliariaencullera.es","secure.inmodreamcalpe.com","secure.inmomaspinell.com","secure.inmoriquelmealquiler.com","secure.inmosantos.com","secure.inmoveraplaya.com","secure.innkeeper.pt","secure.innlov.com","secure.innmallorca.com","secure.innovamenorca.com","secure.inoutargentina.com","secure.inoutstays.com","secure.intempobooking.com","secure.interimmoroses.com","secure.invalencia.es","secure.iracemaimoveis.com","secure.isdreamvacations.com","secure.islacanelatours.com","secure.itsolutions.es","secure.ivacationvillas.gr","secure.ivy.vacations","secure.javeaholidayrentals.com","secure.javeaholidays.com","secure.journeywestcolorado.com","secure.jsrentals.es","secure.jsvillas.com","secure.justforyouholidayhomes.co.uk","secure.justrentmarbella.com","secure.sainttropezresidence.com","secure.salaagencyllc.com","secure.selektiarentals.com","secure.serneholtrentals.com","secure.serviplaya.com","secure.sevillaalquila.com","secure.shortlet-london.com","secure.shortletrentals.com","secure.shortstaystandrews.co.uk","secure.shorttermpropertymanagement.co.uk","secure.so.villas","secure.vacanceole.com","secure.797holidayrentals.com","secure.failte.fr","secure.familyvillarentals.com","secure.fanalholidayhomes.com","secure.favilletours.com","secure.feeldiscovery.com","secure.feelhome.co.il","secure.feelingitaly.com","secure.feelporto.com","secure.feelslikehome.pt","secure.feriendomizil-greetsiel.de","secure.feriendorfkoralpe.at","secure.ferienhaus-greetsiel.eu","secure.ferienhausmietenempuriabrava.com","secure.ferienhausmietenrosas.com","secure.ferienhausvermietung-greetsiel.de","secure.ferienwohnungen-kaprun.eu","secure.ferienwohnungen-laguna.de","secure.ferienwohnungen-zellamsee.eu","secure.ferienwohnungengardasee.it","secure.fidalsaholidays.com","secure.fincabuchung.com","secure.fincacontrabando.com","secure.fincahit.com","secure.fincamallorca.de","secure.fincamallorca.rentals","secure.fincas-balear.com","secure.fincasarena.com","secure.fincasarena.es","secure.fincasmallorcacharme.com","secure.fincasmaritimplaya.com","secure.finestrentals.com","secure.finestretreats.co.uk","secure.finquesballesta.com","secure.firstlidays.com","secure.flandresapparthotel.fr","secure.flashstay.com","secure.flateli.com","secure.flatguestholidays.com","secure.flatsforyou.com","secure.flatsfriends.com","secure.flatteredapartments.com","secure.floc.co.id","secure.floritflats.com","secure.fmhome.com.br","secure.foryourentals.com","secure.fourseasons-kaprun.com","secure.fourteenatmulletbay.com","secure.freelancevillas.com","secure.fregatte-wangerooge.de","secure.fresh-escapes.com","secure.gaesteservice-wattenmeer.de","secure.gardadomusmea.it","secure.gardafewo.com","secure.geographica.com.mx","secure.gerescasas.com","secure.gescav.com","secure.gestaodealojamentolocal.pt","secure.gite-urbain.fr","secure.gites-dieppe-varengeville.com","secure.glasgowcityflats.com","secure.globalplano-travel.com","secure.globalplanotravel.com","secure.globalrentalhub.com","secure.globalvacacional.com","secure.gloove.me","secure.gloriasuites.com","secure.go2benidorm.com","secure.godonosti.com","secure.goldenleafproperties.com","secure.goldenvillas.pt","secure.goodplaceapartments.co.uk","secure.grahamholidayrentals.com","secure.granadabeachgolf.com","secure.grancanariastays.com","secure.green-apartments.net","secure.greenlodge.it","secure.greenvacations.pt","secure.grimminglofts.at","secure.gthouse.pt","secure.gtrip.gr","secure.guest365.co.uk","secure.gvibiza.com","secure.p-kreativ.at","secure.pacaconciergerie.com","secure.palacioderojas.com","secure.palmasbnb.com.br","secure.palmesdor-properties.com","secure.pam-villas.com","secure.pangeaholiday.com","secure.panoramicliving.pt","secure.parque-montroig.com","secure.patiosdumarais.com","secure.pcferias.pt","secure.penareia.tur.br","secure.peoplerentals.com","secure.peoplerentals.es","secure.peoplerentals.fr","secure.pferdaufwolke.com","secure.pineapples.com.br","secure.pinoalto.com","secure.pinzoloholidays.com","secure.pixelpoint.at","secure.planetcostadorada.com","secure.playa-dor.com","secure.playa-vacaciones.com","secure.pollensainvest.com","secure.pollentiarentals.com","secure.poluhawaiivacations.com","secure.ponzaviaggi.it","secure.popularvillas.com","secure.popularvillas.pt","secure.portfolio-plus.pro","secure.porticvillas.com","secure.porticvillas.de","secure.porticvillas.es","secure.porticvillas.nl","secure.portopiccoloapartments.com","secure.portsidelodge.com","secure.portucasa.com","secure.portucasa.de","secure.portucasa.nl","secure.portucasa.pt","secure.portugalactive.com","secure.portvil-villas.com","secure.posadaelconvento.com","secure.premiere-conciergerie.com","secure.premierholidayrentals.com","secure.premiumsaisonnier.fr","secure.prescottcabinrentals.com","secure.presidence.rentals","secure.presquiledequiberon.com","secure.prestige-gestion.fr","secure.prestige-vacations.com","secure.prestigevilla.rentals","secure.prestigevillarental.com","secure.primestay.ae","secure.primhomerentals.com","secure.priorityvillas.com","secure.privatehomeinparis.com","secure.privatevillaspollensa.com","secure.promenadeholiday.com","secure.propcostbarths.com","secure.puertoviejoclub.com","secure.puravillas.com","secure.qtur.pt","secure.quartierhomesuites.com","secure.quintadosvales.pt","secure.quintarentals.com","secure.wangeroogehaus.de","secure.washingtongreatescapes.com","secure.waterfrontmalaga.com","secure.we-rent-apartments.com","secure.webvillas.es","secure.webvillas.fr","secure.webvillas.net","secure.webvillas.nl","secure.webvillasferien.de","secure.weekeyrentals.com","secure.wehostmadeira.com","secure.welcome-guest.com","secure.welcometocannes.fr","secure.welcs.app","secure.weloveportugal.com","secure.welovetourismlanzarote.com","secure.wengenapartments.com","secure.westayhome.pt","secure.white-sand-travel.com","secure.whitehorizonservices.com","secure.wilderer.group","secure.winsome-destination.com","secure.wintowinrentals.com","secure.wonderwheretostay.com","secure.woodypark.at","secure.wowhomes.ch","secure.wplink.dev","secure.xestas.com","secure.xn--apartamentospeiscola-h7b.es","secure.yellowkeycapital.com","secure.yourbanflat.com","secure.yourbestapartment.com","secure.yourdreamhome.es","secure.yourholidayspain.com","secure.yourhousemallorca.com","secure.yourislandvillas.com","secure.yourlettingsuk.com","secure.youropo.com","secure.youropoapartments.com","secure.a-appartments.com","secure.a2dportfrejus.com","secure.aaholidayhomes.com","secure.absolut-apartments.com","secure.ac-gestion.es","secure.activosinteligentes.com","secure.adam-behrens-rental.com","secure.aday-booking.com","secure.aderferias.com","secure.admer.net","secure.adopteuntoitlocationsaisonniere.com","secure.adrestate.com","secure.affittibreviitalia.com","secure.affittimoderni.it","secure.agence-backstage.com","secure.agence-re-immo.com","secure.agencecapsulecorp.com","secure.agencelalandaise.com","secure.agencemaconciergerie.com","secure.ahlandxb.com","secure.ahomeinmadeira.pt","secure.ahrentals.es","secure.aiguaneu.com","secure.aireholidays.com","secure.akilehomes.com.br","secure.al-tentico.com","secure.alaparisienne.com","secure.albirconfort.es","secure.alegria-rent.com","secure.alfrescostays.com","secure.algarve-lifestyle.com","secure.algarvegoldenproperties.com","secure.algarveholidaylets.com","secure.algarveholidays.pt","secure.algarvemanta.pt","secure.algarveprivatevillas.com","secure.algarvevacation.net","secure.algarvevillaholidays.co.uk","secure.alhvacay.com","secure.alicante-holiday.com","secure.all-innature.com","secure.allovendee-vacances.fr","secure.allurevillas.com","secure.ally-re.villas","secure.aloha-florida-vacation-rental.com","secure.alpenstolz-damuels.at","secure.alpesimmobilier.com","secure.alpeslocation.com","secure.alpinahome.fr","secure.alpinapartments.at","secure.alpineholidayservices.ch","secure.alpineinspirations.com","secure.alps-residence.com","secure.alps-resorts.com","secure.alpvisionresidences.com","secure.alquileresdeniasol.es","secure.alquilereslg.com","secure.alquilervacationescostabrava.com","secure.alquilervacationesempuriabrava.com","secure.alquilervillascalpe.com","secure.alquilisimo.com","secure.alquilosa.com","secure.alquitur.es","secure.alterhome.com","secure.alterhome.es","secure.altipik.ch","secure.alugueltemporadagramado.com.br","secure.alwayseasyrental.com","secure.amazinnplaces.com","secure.ambriavacations.com","secure.amicidelpo.com","secure.amorerentals.com","secure.anacasa.es","secure.anadelsurproperties.com","secure.ancarraiglodges.com","secure.anciaholidayrentals.com","secure.andarlibre.com","secure.anfitriaoprime.com.br","secure.anfitrioesdealuguel.com.br","secure.angelservices.fr","secure.apart-rent.es","secure.apartamentos-alcoceber.es","secure.apartamentos-gandia.com","secure.apartamentoscostaluz.com","secure.apartamentosensol.com","secure.apartamentosestartit.com","secure.apartamentosfinestrat.com","secure.apartamentoslacomarca.com","secure.apartamentosreyescatolicos.com","secure.aparteasy.com","secure.apartment-birkhoefl.at","secure.apartmentmanagers.at","secure.apartments2be.com","secure.apartup.com","secure.apartview.pl","secure.apexaccommodation.ie","secure.apivend.immo","secure.appartement-katharina.at","secure.appartement-sulzer.com","secure.archipelevasion.com","secure.arcosfairways.com","secure.arenainnalquilerlamanga.com","secure.arendacostadorada.com","secure.argenhost.com.ar","secure.astburyformentera.es","secure.astenrealty.es","secure.aterian.eus","secure.athomecostadelsol.com","secure.atlanticholiday.net","secure.atlanticholidayrentals.com","secure.attitudeservices.com","secure.auroraestatesllc.com","secure.auroramountainchalet.at","secure.austrianalpinegetaways.com","secure.authentic-stay.fr","secure.avanoapremiumrentals.com","secure.avantio.com","secure.avantio.dev","secure.avantio.online","secure.avantio.world","secure.avoriazchalets.com","secure.axialmanagement.com","secure.azorestouch.com","secure.azur-camping.com","secure.easygoholidayhomes.com","secure.easywelcome.it","secure.ecoibiza.com","secure.ecomarcalpevacances.com","secure.edenrentals.es","secure.edensdubai.com","secure.edenshomes.com","secure.edgaretalfred.com","secure.egona.eus","secure.ehmmt.com","secure.eivillas.com","secure.eivillas.fr","secure.elite-rentals.net","secure.elsmajordoms.com","secure.elvi.fr","secure.emmasvacationrentals.com","secure.engadin-booking.ch","secure.envilleapartments.com","secure.erentals.pl","secure.ericeirarealestate.pt","secure.escandi.es","secure.escapehome.com","secure.escapelux.com","secure.espace-vacances.ch","secure.espana-holiday.com","secure.espatur.net","secure.estadiacarioca.com.br","secure.estate4home.com","secure.estea-rentals.com","secure.etoiles-du-sud.com","secure.euroapartlafosca.com","secure.exclusiveagencyrentals.com","secure.exclusiveagencyrentals.fr","secure.exoimmo-marbella.com","secure.expertbook.ma","secure.m2malaga.com","secure.ma-conciergerie-en-occitanie.fr","secure.mabaat.com","secure.macaronesianrent.es","secure.madeirasuntravel.com","secure.madflats.es","secure.maduholiday.com","secure.mairetrentals.com","secure.maisondoc.it","secure.majorcans.es","secure.malagadevacaciones.com","secure.malagaflat.com","secure.malagasuite.com","secure.malagasunapartments.com","secure.mallorca-myhome.com","secure.mallorca4rent.com","secure.mallorcaholidayproperties.com","secure.mallorcanorthvillas.com","secure.mallorcaurbangroup.com","secure.mallorcavillaselection.com","secure.marbellamountainresorts.com","secure.marbellavillage.es","secure.maremmalink.it","secure.masfumats.com","secure.mautervillas.co.uk","secure.mautervillas.com","secure.mautervillas.de","secure.mautervillas.es","secure.mautervillas.fr","secure.mc-fincas.de","secure.mediterraneanlettings.com","secure.mediterrarentals.com","secure.mendozabooking.com","secure.menobnb.com","secure.mercileon.fr","secure.metliving.pt","secure.mflets.com","secure.miamiworldrental.com","secure.mikassun.com","secure.militaryfirstbnbsolutions.com","secure.mimosa.villas","secure.mimosaholiday.com","secure.mimosaholiday.eu","secure.mindfitholidays.com","secure.minhosguest.com","secure.miramarcambrils.com","secure.mishasplace.pt","secure.mithouse.es","secure.mnkvillas.com","secure.mojorentals.es","secure.monlogementenpoitou.fr","secure.mountain-base.com","secure.mrlanzarotevillas.com","secure.ms-euronat.eu","secure.muchosol.com","secure.murciaholidayrentals.com","secure.musestravel.com","secure.myalgarverentals.com","secure.mybnbtahiti.com","secure.mycabinrentals.net","secure.mycanariandream.com","secure.mychoice.pt","secure.mycityhome.es","secure.mydubaistay.com","secure.myflatinnice.com","secure.mygardaholiday.com","secure.mygreekvacations.com","secure.myholidaysinsardinia.com","secure.myhome.holiday","secure.myhomedolomiti.it","secure.myhomemallorca.es","secure.myhomesorrento.com","secure.mynice-vacances.fr","secure.myportugalexperience.com","secure.mystayinn.com","secure.myvillaselection.com","secure.mzvillas.com","secure.1001-nuits-maroc.com","secure.11holidayhomestenerife.com","secure.1roomnow.com","secure.25sweetdreams.com","secure.baliexception.com","secure.barilocherentahouse.com","secure.barneda-roses.com","secure.barnes-portesdusoleil.com","secure.baronholidayhomes.com","secure.barraprime.pt","secure.bartleholidays.co.uk","secure.basquelidays.com","secure.basquestay.com","secure.basshousing.com","secure.bcnap.es","secure.be-vacational.com","secure.beachfrontapartment.eu","secure.beachhousesvalencia.es","secure.beathome.pt","secure.bebreeze.com","secure.bedsandbreaks.com","secure.beguest.pt","secure.beleefmalaga.nl","secure.bella-chesa.ch","secure.bellmon.com","secure.bemyguest-lacanau.com","secure.benalcoastproperties.com","secure.benidormbooking.com","secure.benidormparaiso.com","secure.benidormrentals.com","secure.benneckerent.com","secure.benneckerent.es","secure.bergkultur.ch","secure.bergundbett.ch","secure.berninihouse.com","secure.bestbooking-villas.com","secure.besthousesportugal.com","secure.bestoftuscany.com","secure.bestveniceapartments.com","secure.blauhousealquileres.com","secure.bmyguest.pt","secure.bnbgroomservices.com","secure.bnbholder.com","secure.bog.com.ar","secure.book247.online","secure.bookadriatic.com","secure.booking-guys.com","secure.booking-homeykey.com","secure.bookingalsace.com","secure.bookinggardalake.it","secure.bookingnests.at","secure.bookirentals.com","secure.boucanet-immobilier.com","secure.bravarentals.com","secure.bretagne-vacances.com","secure.bruimmobilier.fr","secure.brunet9.com","secure.btb.es","secure.bucketlistvilla.com","secure.buenavidarentals.com","secure.buyalgarveproperties.com","secure.bytheseaholidays.ie","secure.cabopinoproperty.com","secure.cadenzalux.com","secure.cadiz4rentals.com","secure.caletahomes.com","secure.calmoapartments.com","secure.calmwaterrentals.com","secure.calpe-home-sales.com","secure.calpe-rent-apart.com","secure.calpe-rent-apart.fr","secure.calpe-rent-apart.nl","secure.camperahotel.com","secure.camping-chalets-orlu.com","secure.caraibesconciergerielocation.com","secure.careconcierge.fr","secure.caribasol.com","secure.caribbean-vacationrentals.com","secure.carmenrentals.es","secure.cartagenacosta.com","secure.casa-redonda.ch","secure.casacorsabooking.com","secure.casafuera.co.uk","secure.casafuera.de","secure.casafuera.es","secure.casaruralmallorca.es","secure.casasdelcaribe.com","secure.casaseferias.com","secure.casidias.com","secure.casitascanarias.com","secure.casitatravel.com","secure.casitatravel.nl","secure.castlemartyrholidaylodges.ie","secure.sancy-immobilier.com","secure.sansebastianholidayrentals.com","secure.sanseholidays.com","secure.sansofestay.com","secure.sapvilamoura.com","secure.saval.cat","secure.savapartments.com","secure.savemybedbooking.com","secure.sealandvillas.com","secure.seapartamentos.pt","secure.seaview.es","secure.secondnest.com","secure.seewest-rentals.pt","secure.sejour-maroc.com","secure.sejourabiarritz.com","secure.sejourabordeaux.com","secure.sejourabrive.com","secure.selectiongites.com","secure.selectionholidayrentals.com","secure.serviceforyourhome.eu","secure.sicilyforeverybody.com","secure.sicilyluxuryclub.com","secure.sicilymyhome.com","secure.silhouse.es","secure.silvercoasthospitality.com","secure.singularrents.com","secure.sitgeshillsvillas.com","secure.skiwp.com","secure.slowvillas.com","secure.slumberspokane.com","secure.smaac-amalficoast.com","secure.smartavillas.com","secure.smartbnb.immo","secure.smarthomes.rentals","secure.smartstay.fr","secure.smilingrentals.eus","secure.smilorentals.travel","secure.smnerjarentals.com","secure.snowandtrek-morzine.com","secure.snowincluded.com","secure.solaga.co.uk","secure.solaga.dk","secure.solaga.es","secure.solaga.fr","secure.solaga.se","secure.soldeuparadise.com","secure.solhabitat.com","secure.solis-porec.com","secure.solrentals.es","secure.solyvillas.com","secure.sonnevillas.com","secure.sorrentodreams.com","secure.spa-apartments.at","secure.spa-apartments.com","secure.spainpromo.com","secure.spainsunrentals.com","secure.spainvillasresort.com","secure.sparecrib.com","secure.sperlongaresort.com","secure.sperlongaresort.it","secure.st-endreol.com","secure.standrewsproperty.co","secure.star5vacations.com","secure.starmed-locations-espagne.com","secure.stayfirstclass.com","secure.stayinduma.com","secure.stayinn.vacations","secure.stayinromeapartments.com","secure.stayinscarborough.com","secure.stayis.com","secure.staymineralwells.com","secure.staynordic.se","secure.stayshortlets.com","secure.staysignature.co.uk","secure.staysitges.com","secure.steinbock-lodges.at","secure.steramflats.com","secure.steva-rentals.com","secure.strentalpros.com","secure.studioprestige.fr","secure.suite2live.com","secure.suitedreams.es","secure.suitehomes.es","secure.suitesdellago.com","secure.suncoasterholidays.com","secure.sunnyhomes.es","secure.sunshinehomes.es","secure.sunstars.es","secure.sunvillaescapes.com","secure.sylt-sothebysrealty.com","secure.vacacionesybienestar.com","secure.vacances-briancon.fr","secure.vacances-sete.com","secure.vacances-villas.com","secure.vacancescamargue.com","secure.vacanzes.com","secure.vacationmonarch.com","secure.vacationriverrentals.com","secure.vacationy.pt","secure.vacayplay.com","secure.vakantiewoninghuurempuriabrava.com","secure.vakantiewoninghuurrosas.com","secure.valenciahome.es","secure.valledetena.es","secure.vallee-orlu.com","secure.valmanga.com","secure.vamdays.com","secure.vapholidayrentals.com","secure.varennaholidays.it","secure.varenso.com","secure.vayk.ae","secure.verbierlocation.ch","secure.viajesorange.es","secure.viewsonvenice.com","secure.villa-marrakech.fr","secure.villa.nl","secure.villafymallorca.com","secure.villainpuglia.it","secure.villalia.com","secure.villarentals.gr","secure.villas-riads-marrakech.com","secure.villasandyou.com","secure.villasdecine.com","secure.villasduluberon.fr","secure.villasduma.com","secure.villasexperience.com","secure.villasferrer.com","secure.villasflamenco.com","secure.villasguzman.com","secure.villasholidayscostablanca.com","secure.villaskeyrentals.com","secure.villasmallorca.rentals","secure.villasmar.com","secure.villasmartinique.com","secure.villasmartinique.fr","secure.villasnow.com","secure.villasunited.co.uk","secure.vilvey.com","secure.visionluxe.com","secure.visit-istria.net","secure.vistamarina.pt","secure.vitivola.com","secure.vivalidays.com","secure.vivamilagres.com.br","secure.vivasoltenerife.com","secure.vivi-homes.com","secure.vulperaresort.ch","secure.d4u.house","secure.dalmaportuguesabooking.com","secure.dalmaportuguesarentals.co.uk","secure.dalmaportuguesarentals.com","secure.dalmaportuguesarentals.fr","secure.dalmaportuguesarentals.pt","secure.dalmaportuguesatravels.com","secure.danitalia.com","secure.deihuexperiencias.com","secure.delmarboutique.com","secure.deltavacaciones.es","secure.deluxeoceanproperty.com","secure.deniaplaya.com","secure.desenzanoloft.com","secure.designappart.fr","secure.destination-algarve.com","secure.destination-marbella.com","secure.dickinsonvillas.com","secure.dify.fr","secure.dimoraitalia.com","secure.dimoreinsicily.com","secure.distinctiveportugal.com","secure.diva-apartments.com","secure.dnastudios.pt","secure.dolomiti4u.com","secure.dolomitirentals.com","secure.domusrental.com","secure.dorm4you.com","secure.dormir-a-canet.fr","secure.dormoa.com","secure.dot.holiday","secure.dracmallorca.com","secure.dreamholidaysmallorca.com","secure.dreamhomesrentals.com","secure.dreamplaces.pt","secure.dreamvillaspollensa.com","secure.dssmarthousing.com","secure.dukehost.es","secure.duquesa.net","secure.habitatpuertoviejo.com","secure.hameau-comborciere.fr","secure.happyvila.com","secure.hashtagholidayhome.com","secure.hausandhausholidays.com","secure.hdproperties.pt","secure.hellenhost.com","secure.hellotime.es","secure.hestiaconciergerie.bzh","secure.hitrental.ch","secure.hiveservices.ae","secure.hmrholidays.com","secure.holasur.com.ar","secure.holidayalvor.com","secure.holidaycasa.com","secure.holidaycasa.it","secure.holidayrentals-costabrava.com","secure.holidayrentalsempuriabrava.com","secure.holidayrentalsrosas.com","secure.holidayshomefuerteventura.com","secure.holidaysmenorca.com","secure.holidreamrentals.com","secure.homaholidays.es","secure.home-rental.com","secure.home-riviera.com","secure.home2book.com","secure.homeforguest.com","secure.homeholidays.rentals","secure.homeholidaysforyou.com","secure.homeincalpe.es","secure.homelyhome.es","secure.homeplus-immo.com","secure.homerental.fr","secure.homesofafrica.com","secure.homestorybooking.com","secure.homesud.co.uk","secure.homesud.fr","secure.hometop.it","secure.hometown.ae","secure.homevillas360.com","secure.homing.com.pt","secure.homingbook.com","secure.hommyholidays.com","secure.homyflat.com","secure.hoomy.fr","secure.hopstays.com","secure.horizon.mu","secure.host4u.it","secure.hosticasaproperties.com","secure.hostvalencia.com","secure.hotelpuntaislita.com","secure.hotesvosgeslocations.com","secure.huelvaholiday.com","secure.hundeferien-ostfriesland.de","secure.huskalia.com","secure.huus123.at","secure.laaxhomes.com","secure.labuganvillasanjose.com","secure.laclefdesiles.com","secure.laconciergeriedubassin.com","secure.lagomaggioregroup.com","secure.lagomaggioreservice.com","secure.lagovacanze.com","secure.laguna-apartamenty.pl","secure.lakeanditaly.com","secure.lakecomostays.com","secure.lakeidro.com","secure.lakeviewvacationrentals.com","secure.lamerhomes.com","secure.lampo.it","secure.landhauskaprun.at","secure.landhauskaprun.com","secure.landhouseholidays.com","secure.landhuiskaprun.nl","secure.lanzarotefincas.de","secure.lanzarotehomeexperience.com","secure.lanzarotevacationhomes.com","secure.lapierredejade.fr","secure.laposadadelcandil.com","secure.leieferiebolig.no","secure.lepasduventoux.com","secure.leporteclefs.com","secure.lerepertoire.com","secure.les7lauximmobilierservices.com","secure.lesmaestros.com","secure.lestartit.net","secure.levacoa.com","secure.lifestyleholidaystenerife.com","secure.lightbooking.net","secure.likeapartments.com","secure.likeyourbed.fr","secure.lintendance.com","secure.lisbonnecollection.com","secure.lisbonnecollection.fr","secure.lisbonnecollection.pt","secure.litoral.es","secure.livhomes.gr","secure.livingsantiago.cl","secure.livingtarifa.com","secure.lloguervacancesempuriabrava.com","secure.lloguervacancesroses.com","secure.lloydsclub.es","secure.localrentss.com","secure.localtimmo.com","secure.localtraveling.com","secure.location-saisonniere-nice.com","secure.location-vacance-sainte-maxime.com","secure.location-vacances-saint-florent.com","secure.location-villas-martinique.com","secure.locationendromeprovencale.com","secure.locationlacannecy.com","secure.locations-vacances-serre-chevalier.com","secure.locationsalacle.fr","secure.locationsprestige.com","secure.locationvacances-costabrava.com","secure.locationvacances-empuriabrava.com","secure.lodgenia.travel","secure.lonjasuites.com","secure.losflamencosrentals.com","secure.lospatiosdelpanuelo.com","secure.lovelyhome.es","secure.lovetenerife.rentals","secure.lra-cannes.com","secure.luccaapartmentsandvillas.co.uk","secure.luccabookingholiday.com","secure.luxsolarisrentals.com","secure.luxuryvillasofcyprus.com","secure.luzvillarentals.com","secure.rainbowibizavillas.com","secure.rangeviewrentals.com","secure.realcasadelamoneda.com","secure.realproperties.pt","secure.realrent.co.uk","secure.realrent.es","secure.realrent.fr","secure.rebomaholidays.com","secure.redlodgerentals.com","secure.regalbeach.ky","secure.regarda.it","secure.reneauproperties.com","secure.rent-a-holiday-estate.com","secure.rent4rest.com","secure.rental4all.com","secure.rentalgalicia.com","secure.rentalholidayhome.com","secure.rentallorca.com","secure.rentals-by-charles-osborn.com","secure.rentalsbyocc.com","secure.rentalscollection.com","secure.rentalsinalgarve.com","secure.rentalsline.com","secure.rentavillamallorca.com","secure.renters.pl","secure.rentforcomfort.com","secure.rentlikehome.com","secure.rentopolis.net","secure.rentrelax.com","secure.rentup.com.ar","secure.rentuplatam.com","secure.rentvillacyprus.net","secure.rentvillasibiza.com","secure.reservalos.es","secure.reservasacresh.es","secure.reservascasadotempogeres.com","secure.reservasmaspinell.com","secure.reservasveraplaya.com","secure.residebaltic.com","secure.residence-luxe.com","secure.residenceslecci.com","secure.residenceslouis.com","secure.resortchoice.com","secure.resortchoice.es","secure.resortchoice.fr","secure.resortchoice.nl","secure.revadreams.com","secure.reveaumans.com","secure.revedesud.com","secure.reverencevillas.com","secure.riad.com","secure.riad.ma","secure.richstay.ae","secure.rickettsluxury.com","secure.rinconrent.com","secure.riumar-family-resort.de","secure.rivieraholidayhomes.com","secure.rivieraluxuryrentals.com","secure.rlconcierge.pt","secure.robinsoncove.villas","secure.rocharentals.com","secure.rockrentalsvillas.com","secure.roomservicemarbella.com","secure.roomservices.es","secure.roomservices.one","secure.roomstay.ch","secure.roomtorent.es","secure.rose-conciergerie.fr","secure.royalkeypropertiestci.com","secure.royalmaison.ae","secure.run4holidays.com","secure.ubudcanyon.com","secure.ultimate-stay-booking.com","secure.uniqueluxuryholidays.com","secure.unitedrenters.es","secure.universalholidaycentre.com","secure.uplandparcs.com","secure.uplandparcs.de","secure.uplandparcs.nl","secure.urbanflatinparis.com","secure.urbanretreatapartments.com","secure.urbe10.com","secure.zapholiday.be","secure.zapholiday.de","secure.zapholiday.es","secure.zapholiday.nl","secure.zapholiday.uk","secure.zedliving.ae","secure.zellamsee-kaprun-holidays.at","secure.zellamsee-kaprun.co.at","secure.zestandguest.com","secure.zeusapartamentos.es","secure.canariasgetaway.com","secure.cannesrivierarentals.com","secure.canvasandcabins.co.uk","secure.caparicavillas.com","secure.capecoralvacationrentals.com","secure.capnegre-immobilier.com","secure.caribou-lodges.fr","secure.carlosferien.info","secure.carroz-immobilier.com","secure.casafuera.fr","secure.casafuera.nl","secure.casahost.es","secure.casesalento.com","secure.casevacanze-caporizzuto.com","secure.catalanways.com","secure.catalunyacasas.com","secure.cavabajasuites.com","secure.cazul.eu","secure.cbrai.com","secure.cca-property.com","secure.centersuitesantander.com.es","secure.centralhill.pt","secure.century21-metabief-location.com","secure.ceskysight.de","secure.ceskysight.nl","secure.cgnerjarentals.com","secure.chalet-evi.at","secure.chalet-kirchberg.com","secure.chaletresortmontafon.com","secure.chamonix-homes.com","secure.chamonix-prestige.com","secure.chamonixholidays.com","secure.chamroc.com","secure.charmstay.com","secure.chateaucampdelsaltre.nl","secure.check-in-portugal.com","secure.chesa-strimer.ch","secure.chezmoihomes.com","secure.chezmoiluxe.com","secure.cintro.com","secure.cityapartments.rentals","secure.classnatura.com","secure.claudia-homes.com","secure.clickandguest.com","secure.coastalvillas.com","secure.coliseumapartments.es","secure.collineige.com","secure.commonvisual.com","secure.comportavacationhomes.com","secure.conalquiler.com","secure.concedio.com","secure.conciergerie-finistarmor.fr","secure.conciergerie-presci.com","secure.conciergerie-presci.fr","secure.conciergerielintendance.fr","secure.conciergerietyanne.fr","secure.congo-bongo.com","secure.connemaralettings.ie","secure.contacto-mallorca.de","secure.continentaloneservices.com","secure.coolvillasalgarve.com","secure.coroacoroa.com","secure.costa-holidays.com","secure.costa-rental.com","secure.costablancadreams.eu","secure.costactivarentals.com","secure.costaorange.com","secure.costaorange.es","secure.costatropicalvillas.com","secure.cotoon.com","secure.couaroge.com","secure.countryvillaslanzarote.com","secure.crcaribbeanvacation.com","secure.cuboshomes.com","secure.cyprusgolfvilla.com","secure.k3homes.com","secure.kaamah.com","secure.kalkbrenner.ws","secure.kaprun-apartments.at","secure.kaprun-chalets.com","secure.kazaportugal.com","secure.kensingtonrentals.com","secure.keyinnapartments.com","secure.keylodge.fr","secure.keynstay.com","secure.keyonehomes.com","secure.keytoko.homes","secure.khelus.com","secure.klein-rolandseck.de","secure.klodgepm.com","secure.ksuites.co.uk","secure.kx-apartments.com","secure.kyrnovarent.com","secure.nerjaholidayrentals.com","secure.nerjaholidayrentals.de","secure.nerjaholidayrentals.es","secure.nerjaholidayrentals.fr","secure.nerjaholidayrentals.it","secure.nerjaholidayrentals.nl","secure.nerjaholidays.net","secure.nerjaparadiserentals.com","secure.nestor-jeeves.com","secure.niagaraholidayrentals.com","secure.nicolaspisani.com","secure.nievemar.com","secure.no6westcoates.co.uk","secure.noblestay.com","secure.nomadcityflats.com","secure.nordicamarbella.com","secure.nordvillaspollensa.com","secure.northhavenhosting.com","secure.notrechezvous.com","secure.novaconciergerie.com","secure.nuris2u.com","secure.oasisblancmenorca.com","secure.oasisproperties.es","secure.oceanclubholidays.com","secure.ogimmo.fr","secure.ohlalife.es","secure.olalahomes.com","secure.olaliving.es","secure.oldtownsansebastian.com","secure.olivanova.com","secure.oquotidiano.com","secure.orangecosta.com","secure.orangecosta.es","secure.oreotravel.com","secure.oroseiholidays.it","secure.osol.es","secure.otapartments.com","secure.owlbooking.com","secure.tailormadeantigua.com","secure.takeabreakrentals.com","secure.tarracohomes.es","secure.taselodge.nl","secure.temporadacopacabana.com.br","secure.tendencyapartments.com","secure.tenerifesmartrentals.com","secure.teneriffa-helden.de","secure.terravana-locations.com","secure.terravana-locations.fr","secure.tessvacacional.com","secure.tevini.at","secure.thalassabeachresort.com","secure.thauconciergerie.com","secure.the-salisbury.com","secure.thebeachhousepeople.com.au","secure.thefaircompany.fr","secure.thegetawaycollection.com","secure.theislandholidaycompany.co.uk","secure.themaisonprivee.com","secure.themintstay.com","secure.theprive.ae","secure.thequeenshousechueca.com","secure.theresortcyprus.com","secure.thesharingco.com","secure.thespanishconnection.com","secure.thestayresidences.com","secure.thewhiteflats.com","secure.thewhitehomes.es","secure.thinksitges.com","secure.thisisresolute.co.uk","secure.timeandhome.com","secure.tkcavacationrentals.com","secure.tlc-villas-carvoeiro.com","secure.tonistays.com","secure.toothbrushapartments.co.uk","secure.top-kanaren.com","secure.totiaranalquilerbaqueira.com","secure.touristaly.com","secure.tranquilityvillarentals.com","secure.traveldelmar.es","secure.travelhabitat.com","secure.travelhabitat.es","secure.travelingtolisbon.com","secure.travelparadise.fr","secure.travila.es","secure.travilamallorca.com","secure.travivel.com","secure.treasurerome.com","secure.tridentholidayhomes.ie","secure.tripto.se","secure.tropicalhome.fr","secure.tropicalhomesofcostarica.com","secure.tropicalistings.com","secure.trulycyprus.com","secure.tsjechie-travelpartners.nl","secure.tu-finca-mallorca.com","secure.tuapartamento.com","secure.turismar.cat","secure.turismarkmanagement.com","secure.turistcasa.it","secure.tym-conciergerie.com","alsa.es","avanzabus.com","blablacar.cz","blablacar.de","blablacar.co.uk","blablacar.in","blablacar.es","blablacar.mx","blablacar.fr","blablacar.hr","blablacar.hu","blablacar.it","blablacar.nl","blablacar.pl","blablacar.com.br","blablacar.pt","blablacar.ro","blablacar.ru","blablacar.sk","blablacar.rs","blablacar.com.tr","blablacar.com.ua","blablacar.be","app.mews.com","secure.vio.com","static.ga-net.com","be.synxis.com","bookaa.amadeus.com","ecommerce.pestana.com","pestana.com","booking.thehoxton.com","carnival.com","royalcaribbean.com","ncl.com","msccruises.com","princess.com","celebritycruises.com","costacruises.com","hollandamerica.com","disneycruise.disney.go.com","aida.de","pocruises.com","vikingcruises.com","seabourn.com","oceaniacruises.com","azamara.com","rssc.com","silversea.com","cunard.com","crystalcruises.com","windstarcruises.com","hurtigruten.com","tuicruises.com","pgcruises.com","seadream.com","hl-cruises.com","fredolsencruises.com","celestyalcruises.com","ponant.com","starclippers.com","travel.saga.co.uk","tickets.vueling.com","hotel.vueling.com","claude.ai","reservation.mirai.com","es.trip.com","it.trip.com","fr.trip.com","pt.trip.com","reservation.elloha.com","hotel.reservations.hardrock.com","hotel.hardrock.com","iflat.kross.travel","new.rentalsunited.com","destinia.com","pay.syshotelonline.it","secure.mithouse.es","airfrance.fr","airfrance.co.uk","airfrance.de","airfrance.nl","airfrance.es","airfrance.it","airfrance.ch","airfrance.us","airfrance.ca","airfrance.com.mx","airfrance.com.br","airfrance.com.ar","airfrance.com.au","airfrance.cn","airfrance.in","airfrance.jp","airfrance.co.kr","airfrance.co.za","airfrance.ma","airfrance.com.eg","thefork.fr","bookings.safestay.com","secure.adagio-city.com","reservas.vilagale.com","book.omnibees.com","americanairlines.fr","americanairlines.cn","americanairlines.jp","american-airlines.co.kr","americanairlines.com.au","americanairlines.in","americanairlines.cl","americanairlines.co.cr","americanairlines.be","americanairlines.fi","americanairlines.de","americanairlines.ie","americanairlines.it","american-airlines.nl","americanairlines.es","americanairlines.ch","americanairlines.co.uk","reservas.hyattinclusivecollection.com","bookings.hyattinclusivecollection.com","hyattinclusivecollection.com","getjackblack.com","particleformen.com","booking.thepilgrm.com","reservations.clubquartershotels.com","deepseek.com","chat.deepseek.com","onepagebooking.com","aletto.de","aletto.com","reservations.thedonnaportals.com","guruwalk.com","es.shein.com","shein.com","fr.shein.com","shein.co.uk","shein.com.mx","us.shein.com","eur.shein.com","de.shein.com","it.shein.com","pt.shein.com","pl.shein.com","ch.shein.com","jp.shein.com","ca.shein.com","in.shein.com","ru.shein.co","temu.com","roe.shein.com","br.shein.com","cl.shein.com","ar.shein.com","arg.shein.com","m.shein.com","es.aliexpress.com","aliexpress.com","es.aliexpress.com","fr.aliexpress.com","ru.aliexpress.com","de.aliexpress.com","pt.aliexpress.com","it.aliexpress.com","ar.aliexpress.com","en.aliexpress.com","tr.aliexpress.com"]),qo="extension-core",Io=function(o){const a=new Date(o.createdAt);if(isNaN(a.getTime()))throw new Error(`Invalid createdAt date (${o.createdAt}) for config ${o.namespace} (version ${o.namespaceVersion})`);if(a.getTime()>Date.now())throw new Error(`createdAt date (${o.createdAt}) cannot be in the future for config ${o.namespace} (version ${o.namespaceVersion})`);return o}({createdAt:"2026-03-16T12:50:25.000Z",namespace:qo,namespaceVersion:2,data:{domainBlacklist:Array.from(jo),secondaryOtas:Array.from(zo),otherTravelSites:Array.from(xo)}});var Ao=e(910);class To extends Error{expected;actual;constructor(o,a){super(`Checksum does not match (expected: ${o}, actual: ${a})`),this.expected=o,this.actual=a,this.name="ChecksumError"}}async function So(o){const a=await Eo({createdAt:o.createdAt,namespace:o.namespace,namespaceVersion:o.namespaceVersion,data:o.data});if(a!==o.checksum)throw new To(o.checksum,a);return o}async function Eo(o){const a=Ao(o);if(!a)throw new Error("Failed to canonicalize config data for checksum calculation");const e=(new TextEncoder).encode(a),s=await crypto.subtle.digest("SHA-1",e);return Array.from(new Uint8Array(s)).map(o=>o.toString(16).padStart(2,"0")).join("")}const Do="directoCoreRemoteConfig";async function Co(){const{[Do]:o}=await chrome.storage.local.get(Do),a=function(o){if(function(o){return"object"==typeof o&&null!==o&&!Array.isArray(o)}(o))return o}(o);if(!a)return null;if(a.namespace!==qo)throw new Error(`Unexpected config namespace '${a.namespace}', expected '${qo}'.`);if(2!==a.namespaceVersion)throw new Error(`Unexpected namespace version '${a.namespaceVersion}', expected '2'.`);if("string"!=typeof a.createdAt)throw new Error("Invalid config: createdAt must be a string.");if("string"!=typeof a.checksum)throw new Error("Invalid config: checksum must be a string.");if("object"!=typeof a.data||null===a.data||Array.isArray(a.data))throw new Error("Invalid config: data must be an object.");const e=new Date(a.createdAt);if(isNaN(e.getTime()))throw new Error("Invalid config: createdAt must be a valid date string.");const s={namespace:a.namespace,namespaceVersion:a.namespaceVersion,createdAt:a.createdAt,checksum:a.checksum,data:a.data};return{validatedConfig:await So(s),createdAtDate:e}}const Oo=async function(){return{...Io,checksum:await Eo(Io)}}();function _o(){return Promise.all([Co().catch(o=>(console.error("Error retrieving stored remote config:",o),null)),Oo]).then(([o,a])=>{if(!o)return console.log("No cached remote config found or it was invalid, using embedded remote config"),a;const e=new Date(a.createdAt);return isNaN(e.getTime())?(console.log("Embedded remote config has an invalid date, using embedded config"),a):e>o.createdAtDate?(console.log("Embedded remote config is newer than stored config, using embedded config"),a):(console.log("Loaded remote config from storage:",o.validatedConfig.createdAt),o.validatedConfig)})}let $o=_o().then(yo);const Uo="session";function Mo(o){return`outclickId-${o}`}async function Po(o){const a=Mo(o),{[a]:e}=await chrome.storage[Uo].get(a);return e??null}const No="session";function Yo(o){return`directoDomains-${o}`}const Lo=new Set(["getdirecto.com","doubleclick.net","anrdoezrs.net","jdoqocy.com","tkqlhce.com","tradedoubler.com","effiliation.com","prf.hn","tatrck.com","tradetracker.net"]),Ro={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Vo;const Bo=new Uint8Array(16),Ho=[];for(let o=0;o<256;++o)Ho.push((o+256).toString(16).slice(1));const Fo=function(o,a,e){if(Ro.randomUUID&&!a&&!o)return Ro.randomUUID();const s=(o=o||{}).random??o.rng?.()??function(){if(!Vo){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Vo=crypto.getRandomValues.bind(crypto)}return Vo(Bo)}();if(s.length<16)throw new Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,a){if((e=e||0)<0||e+16>a.length)throw new RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`);for(let o=0;o<16;++o)a[e+o]=s[o];return a}return function(o,a=0){return(Ho[o[a+0]]+Ho[o[a+1]]+Ho[o[a+2]]+Ho[o[a+3]]+"-"+Ho[o[a+4]]+Ho[o[a+5]]+"-"+Ho[o[a+6]]+Ho[o[a+7]]+"-"+Ho[o[a+8]]+Ho[o[a+9]]+"-"+Ho[o[a+10]]+Ho[o[a+11]]+Ho[o[a+12]]+Ho[o[a+13]]+Ho[o[a+14]]+Ho[o[a+15]]).toLowerCase()}(s)};async function Ko(o,a){try{const s=Fo();null!==o.targetTabId&&async function(o,a){await chrome.storage[Uo].set({[Mo(o)]:a})}(o.targetTabId,s),e=o.targetUrl,H(bo,ro(to(e).hostname));const c=function(o){try{const a=io(new URL(o));return/^airbnb\.[.a-z]{2,7}/i.exec(a)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(a)?"BOOKING":/^vrbo\.com/i.exec(a)||/^abritel\.fr/i.exec(a)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(a)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(o)?"GOOGLE":null}catch(o){return console.error("Error in getPlatform",o),null}}(o.sourceUrl),t=null!==o.sourceTabId?`${o.sessionId}-${o.sourceTabId}`:null,r={cta:o.cta,platform:c,session_id:o.sessionId,user_id:await go(),user_email:await ko(),listing_id:o.sourceId,source_url:o.sourceUrl,target_url:o.targetUrl,source_tab_id:t,outclick_id:s,...a};await async function(o){return await j.get().post("/v2/outclick",{body:u.B64JsonLegacy(o)})}(r)}catch(o){console.error(o)}var e}const Jo="userLocale";let Go=null;async function Wo(){const{[Jo]:o}=await chrome.storage.local.get(Jo);return Go=o??null,Go}function Qo(){return Go=Go||function(){let o;return o=null!=navigator.languages?navigator.languages[0]:navigator.language,o=o.split("-")[0]||o||"en",o}(),Go}function Xo(o,a,e){const{destination:s,checkin:c,checkout:t,adults:r,children:i}=e,n=s.name.trim().replace(/[, ]+/g,",").replace(/ñ/g,"n").toLocaleLowerCase(),m=`/${["hotels",void 0!==s.placeId?`${n}-p${s.placeId}`:n,c.toDashYYYYMMDD(),t.toDashYYYYMMDD(),`${r}adults`,i?`${i}children${"-0".repeat(i)}`:""].join("/")}`,u=new URL("/in","https://www.kayak.com");return u.searchParams.append("a","kan_317594_592750"),a&&(u.searchParams.append("encoder","27_1"),u.searchParams.append("enc_pid","deeplinks"),u.searchParams.append("enc_cid",a)),o&&u.searchParams.append(a?"enc_lid":"p",o),u.searchParams.append("url",m),u.toString()}Wo();const Zo=5e3,oa="tempTabHasBeenOpenedForDomain",aa="session",ea="session",sa="directoDisplayPricesCache",ca="session",ta="directoInfoCache",ra="growthbookFeatures",ia="session",na="session",ma="directoListingPriceCache",ua="directoTsTokens";let la=async function(){try{const{[ua]:o}=await chrome.storage.local.get(ua);return new Map(o||[])}catch(o){return console.error("Error initializing Truesign token cache from storage, starting with empty cache",o),new Map}}(),pa=Promise.resolve();function da(){pa=pa.then(async()=>{const o=await la;await chrome.storage.local.set({[ua]:Array.from(o.entries())})}).catch(o=>{console.error("Error persisting Truesign token cache:",o)})}let ga={};async function ha(o){const a=await la,e=ga[o.endpoint];if(e)return e;const s=a.get(o.endpoint);if(s){if(s!==o.knownInvalidToken)return s;a.delete(o.endpoint),da()}const c=async function(o){try{const a=await fetch(`https://edge.truesign.ai/v2/${o}`,{credentials:"include",signal:AbortSignal.timeout(6e3)});if(!a.ok)return console.error("Status error fetching Truesign token:",a.statusText),null;const e=await a.json();return"object"==typeof e&&null!==e&&"token"in e?"string"!=typeof e.token?(console.error("Invalid token format received from Truesign:",typeof e.token),null):e.token:(console.error("Unexpected response format from Truesign:",e),null)}catch(o){return console.error("Error while requesting Truesign token:",o),null}}(o.endpoint).then(async e=>(e&&(a.set(o.endpoint,e),da()),e)).finally(()=>{delete ga[o.endpoint]});return ga[o.endpoint]=c,c}function ka(o,a=null){try{const e=function(o,a){let e=o;const s=a.split(".");for(const o of s){if(null==e||"object"!=typeof e)return{type:"error"};e=e[o]}return{type:"success",value:e}}(window,o);if("error"===e.type)return a??null;const s=e.value;return function o(a,e,s){if(null===a)return!0;if("string"==typeof a||"boolean"==typeof a)return!0;if("number"==typeof a)return Number.isFinite(a);if(void 0===a||"bigint"==typeof a||"function"==typeof a||"symbol"==typeof a)return!1;if(Array.isArray(a)){if(e.has(a))return!1;if(s.has(a))return!0;e.add(a);for(const c of a)if(!o(c,e,s))return e.delete(a),!1;return e.delete(a),s.add(a),!0}if("object"==typeof a){if(!function(o){const a=Object.getPrototypeOf(o);return a===Object.prototype||null===a}(a))return!1;if(e.has(a))return!1;if(s.has(a))return!0;let c;e.add(a);try{c=Object.values(a)}catch(o){return e.delete(a),!1}for(const t of c)if(!o(t,e,s))return e.delete(a),!1;return e.delete(a),s.add(a),!0}return!1}(s,new WeakSet,new WeakSet)&&function(o){if("function"!=typeof structuredClone)return!0;try{return structuredClone(o),!0}catch(o){return!1}}(s)?s:a??null}catch(o){return a??null}}function ba(o,a){window[o]=a}const ya=(fa={getSessionId:async()=>await V(),sendConversionEvent:async(o,a)=>{await z().post("/v2/conversion-details",{body:u.B64JsonLegacy(o)})},sendConversionHTMLEvent:async(o,a)=>{await z().post("/v2/conversion-details-html",{body:u.Json(o)})},getCrossSellWasChecked:async({crossSellId:o},a)=>{const e=a.tab?.id;return void 0!==e&&F(G,Q({crossSellId:o,tabId:e}),{dropIfPresent:!0,area:W})},setCrossSellWasChecked:async({crossSellId:o,checked:a},e)=>{const s=e.tab?.id;if(void 0===s)return!1;const c=Q({crossSellId:o,tabId:s});return a?H(G,c,{area:W}):function(o,a,e={}){const{area:s="local"}=e,c=B(s);c.get(o,e=>{const s=e[o]||[],t=new Set(s);t.has(a)&&(t.delete(a),c.set({[o]:Array.from(t.values())}))})}(G,c,{area:W}),!0},openHotelsCrossSellTab:async(o,a)=>{const{checkin:e,checkout:c}=o,t=U.unsafe_fromRaw(e),r=U.unsafe_fromRaw(c);let i;switch(o.provider){case"KAYAK":i=await async function(o){let a;try{const e=await q().get("/guess-kayak-place-id",{params:{searchTerm:o.destination,language:Qo()},parser:new g});a=Xo(o.trackingLabel,o.partnerKey,{destination:{name:e.fullName,placeId:e.placeId},checkin:o.checkin,checkout:o.checkout,adults:o.adults,children:o.children})}catch(e){a=Xo(o.trackingLabel,o.partnerKey,{destination:{name:o.destination},checkin:o.checkin,checkout:o.checkout,adults:o.adults,children:o.children})}return a}({...o,checkin:t,checkout:r});break;case"BOOKING":i=await async function(o){const a=await Y();return function(o,a){const e=encodeURIComponent(o);return`https://getcuanto.com/partners/redirect?${new URLSearchParams({merchant_uuid:"f75a49ec-dddd-4596-a158-2e958f7dd618",offer_id:"11585",...a?{partner_tracking_id:a}:{},partner:"55309081-7a18-48d3-a144-8c3ab34966be",encoded_url:e}).toString()}`}(`https://www.booking.com/searchresults.html?${new URLSearchParams({ss:o.destination,checkin:o.checkin.toDashYYYYMMDD(),checkout:o.checkout.toDashYYYYMMDD(),group_adults:o.adults.toString(),group_children:o.children.toString(),selected_currency:o.currency}).toString()}`,a.id??null)}({...o,checkin:t,checkout:r});break;default:s(o.provider)}const n=a.tab?a.tab.index+1:void 0,m=await chrome.tabs.create({url:i,active:!1,index:n});await Ko({sessionId:await V(),sourceUrl:o.sourceUrl,targetUrl:i,cta:"CHECKBOX_CROSS_SELL",sourceId:null,sourceTabId:a.tab?.id??null,targetTabId:m.id??null},{checkin:t.toDashYYYYMMDD(),checkout:r.toDashYYYYMMDD(),adults:o.adults.toString(),currency:o.currency,children:o.children.toString()})},openActivitiesCrossSellTab:async(o,a)=>{const{provider:e,destination:c,checkin:t,checkout:r,adults:i,currency:n,children:m,sourceId:u}=o,l=function(o,a){switch(o){case"viator":return(o=>{const a=new URL("/searchResults/all","https://www.viator.com");return a.searchParams.append("text",o),a.searchParams.append("pid","P00253809"),a.searchParams.append("mcid","42383"),a.searchParams.append("medium","link"),a.toString()})(a);case"civitatis":return(o=>{const a=new URL("/es/buscar","https://www.civitatis.com");return a.searchParams.append("q",o),a.searchParams.append("aid","110241"),a.toString()})(a);default:s(o)}}(e,c),p=a.tab?a.tab.index+1:void 0,d=await chrome.tabs.create({url:l,active:!1,index:p});await Ko({sessionId:await V(),sourceUrl:o.sourceUrl,targetUrl:l,cta:"CHECKBOX_CROSS_SELL",sourceId:u,sourceTabId:a.tab?.id??null,targetTabId:d.id??null},{checkin:t?U.fromRaw(t)?.toDashYYYYMMDD()??null:null,checkout:r?U.fromRaw(r)?.toDashYYYYMMDD()??null:null,currency:n,adults:i.toString(),children:m.toString()})},getConfig:async()=>{if(!O){const o=await chrome.storage[C].get(D);O=o[D]||null}if(!O)throw new Error("Config has not been set");return O},openOutclickTab:async(o,a)=>{const e=await Wo()||Qo(),s=o.useRedirectEngine?function(o,a,e){const{coupon:s,discount:c}=e,t={url:o,...null!==s?{coupon:s}:{},...null!==c?{discount:c}:{}};return`https://engine.getdirecto.com/${a}/${btoa(encodeURIComponent(JSON.stringify(t)))}`}(o.targetUrl,e,o.redirectEngineParams??{coupon:null,discount:null}):o.targetUrl,c=a.tab?a.tab.index+1:void 0,t=(await chrome.tabs.create({url:s,active:!0,index:c})).id??null;t&&async function(o,a){const e=ro(to(a).hostname);await chrome.storage[No].set({[Yo(o)]:{outclicked:e,additional:null,sinceMsecs:Date.now()}})}(t,o.targetUrl),await Ko({sessionId:await V(),sourceUrl:o.sourceUrl,targetUrl:o.targetUrl,cta:o.cta,sourceId:o.sourceId,sourceTabId:a.tab?.id??null,targetTabId:t},o.stayParams)},maybeOpenTempTab:async(o,a)=>{const{url:e,force:s=!1,closeDelay:c=Zo}=o,t=a.tab?a.tab.index+1:void 0,r=io(new URL(e));if(!s){const o=await async function(o){if(await F(oa,o,{area:aa}))return!0;var a;return await(a=o,F(bo,ro(a)))}(r);if(o)return}const i=await chrome.tabs.create({url:e,index:t,active:!1,pinned:!0});H(oa,r,{area:aa}),setTimeout(()=>{void 0!==i.id&&chrome.tabs.remove(i.id)},c)},getAlternativeOffersByCompoundIds:async(o,a)=>{try{const a=await async function(o){return x.get().get("/v2/offers-by-hotel-id",{params:o,parser:new g})}(o);return{...a,offers:a.offers.map(a=>({...a,source_id:a.source_id.listingId,stayParams:{checkin:o.checkin,checkout:o.checkout,adults:o.adults.toString(),children:o.children?.toString()??null,currency:o.currency??null}}))}}catch(o){return console.error("Error fetching alternative offers by hotel ids",o),{offers:[]}}},getBacklinksByHotelIds:async(o,a)=>{try{return async function(o){return q().get("/v2/backlinks",{params:o,parser:new g})}(o)}catch(o){return console.error("Error fetching backlinks by hotel ids",o),{backlinks:{}}}},storeCachedDisplayPrices:async(o,a)=>{K(sa,no(o.source_id,o.platform),o,{area:ea})},getCachedDisplayPrices:async(o,a)=>await J(sa,no(o.source_id,o.platform),{area:ea})??null,fetchDirectoInfo:async(o,a)=>{try{const{ids:a,platform:e,...s}=o,c=s.checkin&&s.checkout?s:{checkin:null,checkout:null,adults:null,children:null,currency:null},t=await go();return(await async function(o){return v.get().get("/listingids",{params:o,parser:new g})}({id:a,platform:e,...c,user_id:t})).map(o=>({...o,stayParams:c}))}catch(o){return console.error("Error fetching Directo info for listing IDs:",o),[]}},storeCachedDirectoInfo:async(o,a)=>{K(ta,no(o.source_id,o.platform),o,{area:ca})},getCachedDirectoInfo:async(o,a)=>await J(ta,no(o.source_id,o.platform),{area:ca})??null,getGrowthbookFeature:async(o,a)=>await J(ra,o,{area:ia}),setGrowthbookFeature:async(o,a)=>{K(ra,o.key,o,{area:ia})},storeCachedListingPrice:async(o,a)=>{K(ma,no(o.source_id,o.platform),o,{area:na})},getCachedListingPrice:async(o,a)=>await J(ma,no(o.source_id,o.platform),{area:na})??null,getTruesignToken:async(o,a)=>ha(o),readWindowPropertyFromMainWorld:async(o,a)=>{const e=a.tab?.id;if(void 0===e)throw new Error("readWindowPropertyFromMainWorld can only be used in a tab context");const s=o.defaultValue??null,c=await chrome.scripting.executeScript({target:{tabId:e,..."number"==typeof a.frameId?{frameIds:[a.frameId]}:{}},world:"MAIN",func:ka,args:[o.path,s]});return c[0]?.result??s},submitVisit:async(o,a)=>{const e=a.tab?.id,s=await V(),c={...o,session_id:s,tab_id:void 0!==e?`${s}-${e}`:null,source_outclick_id:void 0!==e?await Po(e):null};await z().post("/v2/visit",{body:u.B64JsonLegacy(c)})},checkTabDomainForUrl:async(o,a)=>{const e=a.tab?.id;return void 0!==e&&async function(o,a){const e=Yo(o),s=(await chrome.storage[No].get(e))[e];if(void 0===s)return!1;const c=ro(to(a).hostname);return!(Lo.has(c)||c!==s.outclicked&&c!==s.additional&&(null!==s.additional||Date.now()-s.sinceMsecs>6e4||((await $o).data.domainBlacklist.has(c)?(await chrome.storage[No].set({[Yo(o)]:{...s,additional:s.outclicked}}),1):(await chrome.storage[No].set({[Yo(o)]:{...s,additional:c}}),0))))}(e,o)},setWindowPropertyInMainWorld:async(o,a)=>{const e=a.tab?.id;if(void 0===e)throw new Error("setWindowPropertyInMainWorld can only be used in a tab context");await chrome.scripting.executeScript({target:{tabId:e,..."number"==typeof a.frameId?{frameIds:[a.frameId]}:{}},world:"MAIN",func:ba,args:[o.property,o.value]})}},{id:wa="DIRECTO_CORE_BACKGROUND",handlers:fa,isMessageForThisServer:o=>"object"==typeof o&&null!==o&&"serverId"in o&&o.serverId===wa&&"handlerId"in o&&"string"==typeof o.handlerId,handleMessage(o,a,e){const s=fa[o.handlerId];if(!s)throw new Error(`Unhandled ${wa} message type ${o.handlerId.toString()}`);s("payload"in o?o.payload:void 0,a).then(o=>{e({success:!0,response:o})}).catch(a=>{console.error("Uncaught error in async message handler",o,a);const s=function(o){return o instanceof Error?o.message:"string"==typeof o?o:"object"==typeof o&&null!==o&&"message"in o&&"string"==typeof o.message?o.message:`Unknown error: ${String(o)}`}(a);e({success:!1,errorMessage:s})})}});var wa,fa,va=e(428);async function ja(o){const a=await S({path:{namespace:qo,version:2},query:{after:o.createdAt}});if(!a.found)return null;const e=a.config;if(e.namespace!==qo)throw new Error(`Unexpected namespace '${e.namespace}', expected '${qo}'`);if(2!==e.namespaceVersion)throw new Error(`Unexpected namespace version '${e.namespaceVersion}', expected '2'`);return await So({namespace:e.namespace,namespaceVersion:e.namespaceVersion,createdAt:e.createdAt,checksum:e.checksum,data:e.data})}function za(o){(async function(o){await chrome.storage.local.set({[Do]:o})})(o).catch(o=>{console.error("Error storing remote config, but caching it in memory:",o)}),function(o){$o=Promise.resolve(yo(o))}(o)}function xa(o){return ya.isMessageForThisServer(o)}class qa{#o;ready;constructor(o){this.#o=o,this.#a(),this.ready=this.#e()}async#e(){await this.#s(),this.#c(this.#o)}#c(o){_(o);const a={partnerKey:o.partnerKey,appVersion:"adunit-2.0.1",getTruesignToken:ha};v.initialize(a),j.initialize(a),x.initialize(a),I.initialize(a),A.initialize(a),T.initialize(a),async function(){try{const o=await _o(),a=await async function(o){const a=await E({path:{namespace:qo,version:2},query:{after:o.createdAt}});let e=null;for(const s of a){if(s.namespace!==qo)throw new Error(`Unexpected namespace '${s.namespace}', expected '${qo}'`);if(2!==s.namespaceVersion)throw new Error(`Unexpected namespace version '${s.namespaceVersion}', expected '2'`);const a=va.patch(s.patch,e?.data??o.data),c={namespace:s.namespace,namespaceVersion:s.namespaceVersion,createdAt:s.createdAt,checksum:s.checksum,data:a};try{e=await So(c)}catch(o){return null===e?{type:"error-unchanged",error:o}:{type:"error-updated",config:e,error:o}}}return null===e?{type:"unchanged"}:{type:"updated",config:e}}(o);switch(a.type){case"unchanged":za(o),console.log("Config is already up to date");break;case"updated":za(a.config),console.log("Config updated to latest compatible version:",a.config.createdAt);break;case"error-unchanged":za(o),console.error("Error fetching or validating config update, and no valid update found:",a.error),console.warn("Trying to fetch the full config as a fallback...");try{const a=await ja(o);if(!a)return void console.warn("No newer full config found during fallback fetch, keeping current config");za(a),console.log("Successfully fetched full config as fallback:",a.createdAt)}catch(o){console.error("Failed to fetch full config as fallback:",o)}break;case"error-updated":za(a.config),console.error("Checksum mismatch error during config update, but a valid updated config was found and applied:",a.error),console.warn("Trying to fetch the full config as a fallback to get the latest version...");try{const a=await ja(o);if(!a)return void console.warn("No newer full config found during fallback fetch, keeping current config");za(a),console.log("Successfully fetched full config as fallback:",a.createdAt)}catch(o){console.error("Failed to fetch full config as fallback:",o)}break;default:s(a)}}catch(o){console.error("Error fetching or patching config:",o)}}().then(()=>{console.log("Initial config fetch and patch completed successfully")}).catch(o=>{console.error("Error during initial config fetch and patch:",o)})}#a(){chrome.runtime.onMessage.addListener((o,a,e)=>{if(xa(o))return this.ready.then(()=>{ya.handleMessage(o,a,e)}).catch(o=>{console.error("Error handling core message",o),e({success:!1,errorMessage:o.message})}),!0})}async#s(){const o=await Y();await async function(o,a){po=o,ho=a,await chrome.storage[lo].set({[mo]:o,[uo]:a})}(o.id,o.email)}}const Ia=new class{#t=null;initialize(o){return this.#t||(this.#t=new qa(o)),this.#t.ready}};function Aa(o){if(!o)throw new Error("partnerKey is required");return function(o){return Ia.initialize(o)}({partnerKey:o})}console.log("Directo AdUnit Background Service - Version: adunit-2.0.1");export{Aa as initializeAdUnit,xa as isAdUnitMessage};
2
+ var e={39:e=>{e.exports=function(e,n){var i,r,c,m;for(i=e.charAt(0)===a?1:0,r="",o.lastIndex=i;c=o.exec(e);)if(m=c[0],r+=e.slice(i,o.lastIndex-m.length),i=o.lastIndex,m===a){if(!1===n(r))return e;r=""}else r+=m===s?a:t;return n(r+=e.slice(i)),e};var o=/\/|~1|~0/g,a="/",t="~",s="~1"},64:e=>{e.exports=function e(o){return null==o||"object"!=typeof o?o:Array.isArray(o)?function(o){for(var a=o.length,t=new Array(a),s=0;s<a;++s)t[s]=e(o[s]);return t}(o):function(o){for(var a,t=Object.keys(o),s={},n=0,i=t.length;n<i;++n)s[a=t[n]]=e(o[a]);return s}(o)}},74:(e,o,a)=>{var t=a(39);o.find=function(e,o,a,n){if("string"==typeof o){if(""===o)return{target:e,key:void 0};if(o===s)return{target:e,key:""};var i,r=e,c=void 0!==n;return t(o,function(o){if(null==e)return r=null,!1;i=Array.isArray(e)?c?function(e,o,a,t){var s=o;if(s<0)throw new Error("array index out of bounds "+s);if(void 0!==t&&"function"==typeof e&&(s=e(o,a,t))<0)throw new Error("could not find patch context "+t);return s}(a,h(o),e,n):"-"===o?o:h(o):o,r=e,e=e[i]}),null===r?void 0:{target:r,key:i}}},o.join=function(e){return e.join(s)},o.absolute=function(e){return e[0]===s?e:s+e},o.parse=function(e){var o=[];return t(e,o.push.bind(o)),o},o.contains=function(e,o){return 0===o.indexOf(e)&&o[e.length]===s},o.encodeSegment=function(e){return e.replace(m,u).replace(n,i)},o.decodeSegment=function(e){return e.replace(r,s).replace(l,c)},o.parseArrayIndex=h,o.isValidArrayIndex=d;var s="/",n=/\//g,i="~1",r=/~1/g,c="~",m=/~/g,u="~0",l=/~0/g,p=/^(0|[1-9]\d*)$/;function d(e){return p.test(e)}function h(e){if(d(e))return+e;throw new SyntaxError("invalid array index "+e)}},158:e=>{e.exports=function e(o,a){return o===a||(Array.isArray(o)&&Array.isArray(a)?function(o,a){if(o.length!==a.length)return!1;for(var t=0;t<o.length;++t)if(!e(o[t],a[t]))return!1;return!0}(o,a):"object"==typeof o&&"object"==typeof a&&function(o,a){if(null===o&&null!==a||null!==o&&null===a)return!1;var t=Object.keys(o),s=Object.keys(a);if(t.length!==s.length)return!1;for(var n,i=0;i<t.length;++i)if(!((n=t[i])in a)||!e(o[n],a[n]))return!1;return!0}(o,a))}},211:e=>{function o(e){Error.call(this),this.name=this.constructor.name,this.message=e,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}e.exports=o,o.prototype=Object.create(Error.prototype),o.prototype.constructor=o},238:e=>{function o(e){Error.call(this),this.name=this.constructor.name,this.message=e,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}e.exports=o,o.prototype=Object.create(Error.prototype),o.prototype.constructor=o},409:(e,o,a)=>{var t=a(863);function s(e,o,a,s){var n=t[o.op];return void 0!==n&&"function"==typeof n.inverse?n.inverse(e,o,a,s):1}e.exports=function(e){var o,a,t=[];for(o=e.length-1;o>=0;o-=a)a=s(t,e[o],o,e);return t}},428:(e,o,a)=>{var t=a(795),s=a(948),n=a(505),i=a(409),r=a(74).encodeSegment;o.diff=function(e,o,a){return u(e,o,"",function(e,o){return"object"==typeof e?{patch:o,hash:l(d,e.hash,m),makeContext:l(d,e.makeContext,p),invertible:!(!1===e.invertible)}:{patch:o,hash:l(d,e,m),makeContext:p,invertible:!0}}(a,[])).patch},o.patch=n.apply,o.patchInPlace=n.applyInPlace,o.inverse=i,o.clone=n.clone,o.InvalidPatchOperationError=a(211),o.TestFailedError=a(804),o.PatchNotInvertibleError=a(238);var c=n.isValidObject,m=n.defaultHash;function u(e,o,a,n){return Array.isArray(e)&&Array.isArray(o)?function(e,o,a,n){var i=s.map(n.hash,e),r=s.map(n.hash,o);return function(e,o,a,s,n){var i=0;return t.reduce(function(s,n,r,c){var m,l,p=s.patch,d=a+"/"+(c+i);return n===t.REMOVE?(m=p[p.length-1],l=s.makeContext(c,e),s.invertible&&p.push({op:"test",path:d,value:e[c],context:l}),void 0!==m&&"add"===m.op&&m.path===d?(m.op="replace",m.context=l):p.push({op:"remove",path:d,context:l}),i-=1):n===t.ADD?(p.push({op:"add",path:d,value:o[r],context:s.makeContext(c,e)}),i+=1):u(e[c],o[r],d,s),s},s,n)}(e,o,a,n,t.compare(i,r))}(e,o,a,n):c(e)&&c(o)?function(e,o,a,t){var s,n,i=Object.keys(o),c=t.patch;for(s=i.length-1;s>=0;--s){n=i[s];var m=a+"/"+r(n);void 0!==e[n]?u(e[n],o[n],m,t):c.push({op:"add",path:m,value:o[n]})}for(s=(i=Object.keys(e)).length-1;s>=0;--s)if(void 0===o[n=i[s]]){var l=a+"/"+r(n);t.invertible&&c.push({op:"test",path:l,value:e[n]}),c.push({op:"remove",path:l})}return t}(e,o,a,n):function(e,o,a,t){return e!==o&&(t.invertible&&t.patch.push({op:"test",path:a,value:e}),t.patch.push({op:"replace",path:a,value:o})),t}(e,o,a,n)}function l(e,o,a){return e(o)?o:a}function p(){}function d(e){return"function"==typeof e}},505:(e,o,a)=>{var t=a(863),s=a(64),n=a(211);o.apply=function(e,o,a){return r(e,s(o),a)},o.applyInPlace=r,o.clone=s,o.isValidObject=c,o.defaultHash=function(e){return c(e)||function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e)?JSON.stringify(e):e};var i={};function r(e,o,a){if(a||(a=i),!Array.isArray(e))return o;for(var s,r,c=0;c<e.length;++c){if(r=e[c],void 0===(s=t[r.op]))throw new n("invalid op "+JSON.stringify(r));o=s.apply(o,r,a)}return o}function c(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}},661:(e,o,a)=>{var t=a(74);function s(e,o,a,t,s){var n=o.length-1,i=+o[n],r=+t[n],c=t.slice();return i>r||("add"===e.op||"copy"===e.op?c[n]=Math.max(0,r-s):"remove"===e.op&&(c[n]=Math.max(0,r+s))),c}function n(e){return"remove"===e.op?{op:e.op,path:e.path}:"copy"===e.op||"move"===e.op?{op:e.op,path:e.path,from:e.from}:{op:e.op,path:e.path,value:e.value}}e.exports=function(e,o){var a=t.parse(e.path),i=t.parse(o.path),r=function(e,o){var a=e.length,t=o.length;if(0===a||0===t||a<2&&t<2)return[];for(var s=a===t?a-1:Math.min(a,t),n=0;n<s&&e[n]===o[n];)++n;return e.slice(0,n)}(a,i),c=function(e,o,a){return t.isValidArrayIndex(e[a])&&t.isValidArrayIndex(o[a])}(a,i,r.length),m=n(e),u=n(o);return 0!==r.length||c?c?function(e,o,a,n){return o.length===n.length?(i=e,c=a,m=n,l=(r=o).length-1,p=+r[l],d=+m[l],p<d?"add"===i.op||"copy"===i.op?((u=m.slice())[l]=Math.max(0,d-1),c.path=t.absolute(t.join(u))):"remove"===i.op&&((u=m.slice())[l]=d+1,c.path=t.absolute(t.join(u))):"add"===c.op||"copy"===c.op?((u=r.slice())[l]=p+1,i.path=t.absolute(t.join(u))):p>d&&"remove"===c.op&&((u=r.slice())[l]=Math.max(0,p-1),i.path=t.absolute(t.join(u))),[c,i]):(o.length>n.length?(o=s(a,n,0,o,-1),e.path=t.absolute(t.join(o))):(n=s(e,o,0,n,1),a.path=t.absolute(t.join(n))),[a,e]);var i,r,c,m,u,l,p,d}(m,a,u,i):function(e,o,a){if(e.path===a.path)throw new TypeError("cannot commute "+e.op+","+a.op+" with identical object paths");return[a,e]}(m,0,u):[u,m]}},795:(e,o)=>{var a,t,s;function n(e,o,n,i,r,c){return o[r+i]===n[c+i]?{value:e[c+1][r+1].value,type:s}:e[c][r+1].value<e[c+1][r].value?{value:e[c][r+1].value+1,type:a}:{value:e[c+1][r].value+1,type:t}}o.compare=function(e,o){for(var i=e.length,r=o.length,c=function(e,o){for(var a=0,t=Math.min(e.length,o.length);a<t&&e[a]===o[a];)++a;return a}(e,o),m=c<i&&c<r?function(e,o){for(var a=e.length-1,t=o.length-1,s=Math.min(a,t),n=0;n<s&&e[a-n]===o[t-n];)++n;return n}(e,o):0,u=m+c-1,l=function(e,o){var n,i,r,c=[];for(r=c[o]=[],i=0;i<e;++i)r[i]={value:e-i,type:a};for(n=0;n<o;++n)c[n]=[],c[n][e]={value:o-n,type:t};return c[o][e]={value:0,type:s},c}(i-=u,r-=u),p=i-1;p>=0;--p)for(var d=r-1;d>=0;--d)l[d][p]=n(l,e,o,c,p,d);return{prefix:c,matrix:l,suffix:m}},o.reduce=function(e,o,n){var i,r,c,m,u=n.matrix,l=n.prefix;for(i=0;i<l;++i)o=e(o,s,i,i);for(c=i,l=u.length,i=0,r=0;i<l;)switch(o=e(o,m=u[i][r].type,i+c,r+c),m){case s:++i,++r;break;case a:++r;break;case t:++i}for(i+=c,r+=c,l=n.suffix,c=0;c<l;++c)o=e(o,s,i+c,r+c);return o},o.REMOVE=a=-1,o.ADD=t=1,o.EQUAL=s=0},804:e=>{function o(e){Error.call(this),this.name=this.constructor.name,this.message=e,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}e.exports=o,o.prototype=Object.create(Error.prototype),o.prototype.constructor=o},863:(e,o,a)=>{var t=a(74),s=a(64),n=a(158),i=a(661),r=a(948),c=a(804),m=a(211),u=a(238),l=t.find,p=t.parseArrayIndex;function d(e,o){var a=e.target;if(Array.isArray(a))if("-"===e.key)a.push(o);else{if(e.key>a.length)throw new m("target of add outside of array bounds");a.splice(e.key,0,o)}else{if(!b(a))throw new m("target of add must be an object or array "+e.key);a[e.key]=o}}function h(e,o){if(e.path===o.path&&"remove"===o.op)throw new TypeError("Can't commute add,remove -> remove,add for same path");return i(e,o)}function g(e){var o,a=e.target;if(Array.isArray(a))return(o=a.splice(p(e.key),1))[0];if(b(a))return o=a[e.key],delete a[e.key],o;throw new m("target of remove must be an object or array")}function k(e){return void 0===e||null==e.target&&void 0!==e.key}function f(e){return void 0!==e.key&&void 0===e.target[e.key]}function b(e){return null!==e&&"object"==typeof e}o.test={apply:function(e,o,a){var t,s=l(e,o.path,a.findContext,o.context),i=s.target;if(t=Array.isArray(i)?i[p(s.key)]:void 0===s.key?s.target:s.target[s.key],!n(t,o.value))throw new c("test failed "+JSON.stringify(o));return e},inverse:function(e,o){return e.push(o),1},commute:function(e,o){if(e.path===o.path&&"remove"===o.op)throw new TypeError("Can't commute test,remove -> remove,test for same path");return"test"===o.op||"replace"===o.op?[o,e]:i(e,o)}},o.add={apply:function(e,o,a){var t=l(e,o.path,a.findContext,o.context);if(k(t))throw new m("path does not exist "+o.path);if(void 0===o.value)throw new m("missing value");var n=s(o.value);return void 0===t.key?n:(d(t,n),e)},inverse:function(e,o){var a=o.context;return void 0!==a&&(a={before:a.before,after:r.cons(o.value,a.after)}),e.push({op:"test",path:o.path,value:o.value,context:a}),e.push({op:"remove",path:o.path,context:a}),1},commute:h},o.remove={apply:function(e,o,a){var t=l(e,o.path,a.findContext,o.context);if(k(t)||void 0===t.target[t.key])throw new m("path does not exist "+o.path);return g(t),e},inverse:function(e,o,a,t){var s=t[a-1];if(void 0===s||"test"!==s.op||s.path!==o.path)throw new u("cannot invert remove w/o test");var n=s.context;return void 0!==n&&(n={before:n.before,after:r.tail(n.after)}),e.push({op:"add",path:s.path,value:s.value,context:n}),2},commute:function(e,o){return e.path===o.path&&"remove"===o.op?[o,e]:i(e,o)}},o.replace={apply:function(e,o,a){var t=l(e,o.path,a.findContext,o.context);if(k(t)||f(t))throw new m("path does not exist "+o.path);if(void 0===o.value)throw new m("missing value");var n=s(o.value);if(void 0===t.key)return n;var i=t.target;return Array.isArray(i)?i[p(t.key)]=n:i[t.key]=n,e},inverse:function(e,o,a,t){var s=t[a-1];if(void 0===s||"test"!==s.op||s.path!==o.path)throw new u("cannot invert replace w/o test");var n=s.context;return void 0!==n&&(n={before:n.before,after:r.cons(s.value,r.tail(n.after))}),e.push({op:"test",path:s.path,value:o.value}),e.push({op:"replace",path:s.path,value:s.value}),2},commute:function(e,o){if(e.path===o.path&&"remove"===o.op)throw new TypeError("Can't commute replace,remove -> remove,replace for same path");return"test"===o.op||"replace"===o.op?[o,e]:i(e,o)}},o.move={apply:function(e,o,a){if(t.contains(o.path,o.from))throw new m("move.from cannot be ancestor of move.path");return d(l(e,o.path,a.findContext,o.context),g(l(e,o.from,a.findContext,o.fromContext))),e},inverse:function(e,o){return e.push({op:"move",path:o.from,context:o.fromContext,from:o.path,fromContext:o.context}),1},commute:function(e,o){if(e.path===o.path&&"remove"===o.op)throw new TypeError("Can't commute move,remove -> move,replace for same path");return i(e,o)}},o.copy={apply:function(e,o,a){var t=l(e,o.path,a.findContext,o.context),n=l(e,o.from,a.findContext,o.fromContext);if(k(n)||f(n))throw new m("copy.from must exist");var i,r=n.target;return i=Array.isArray(r)?r[p(n.key)]:r[n.key],d(t,s(i)),e},inverse:function(e,o){throw new u("cannot invert "+o.op)},commute:h}},910:e=>{e.exports=function e(o){if("number"==typeof o&&isNaN(o))throw new Error("NaN is not allowed");if("number"==typeof o&&!isFinite(o))throw new Error("Infinity is not allowed");return null===o||"object"!=typeof o?JSON.stringify(o):o.toJSON instanceof Function?e(o.toJSON()):Array.isArray(o)?`[${o.reduce((o,a,t)=>`${o}${0===t?"":","}${e(void 0===a||"symbol"==typeof a?null:a)}`,"")}]`:`{${Object.keys(o).sort().reduce((a,t)=>void 0===o[t]||"symbol"==typeof o[t]?a:`${a}${0===a.length?"":","}${e(t)}:${e(o[t])}`,"")}}`}},948:(e,o)=>{o.cons=function(e,o){var a=o.length,t=new Array(a+1);t[0]=e;for(var s=0;s<a;++s)t[s+1]=o[s];return t},o.tail=function(e){for(var o=e.length-1,a=new Array(o),t=0;t<o;++t)a[t]=e[t+1];return a},o.map=function(e,o){for(var a=new Array(o.length),t=0;t<o.length;++t)a[t]=e(o[t]);return a}}},o={};function a(t){var s=o[t];if(void 0!==s)return s.exports;var n=o[t]={exports:{}};return e[t](n,n.exports,a),n.exports}a.d=(e,o)=>{for(var t in o)a.o(o,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},a.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};a.r(t),a.d(t,{base64:()=>Ko,base64url:()=>Go,bigint:()=>ra,boolean:()=>ua,browserEmail:()=>Fo,cidrv4:()=>Ho,cidrv6:()=>Wo,cuid:()=>xo,cuid2:()=>_o,date:()=>aa,datetime:()=>na,domain:()=>Qo,duration:()=>Oo,e164:()=>ea,email:()=>Do,emoji:()=>Vo,extendedDuration:()=>Ao,guid:()=>Eo,hex:()=>ga,hostname:()=>Xo,html5Email:()=>qo,idnEmail:()=>Ro,integer:()=>ca,ipv4:()=>Jo,ipv6:()=>Bo,ksuid:()=>Io,lowercase:()=>da,mac:()=>Yo,md5_base64:()=>ya,md5_base64url:()=>va,md5_hex:()=>ba,nanoid:()=>To,null:()=>la,number:()=>ma,rfc5322Email:()=>Uo,sha1_base64:()=>ja,sha1_base64url:()=>za,sha1_hex:()=>wa,sha256_base64:()=>_a,sha256_base64url:()=>Sa,sha256_hex:()=>xa,sha384_base64:()=>Ia,sha384_base64url:()=>Ta,sha384_hex:()=>$a,sha512_base64:()=>Aa,sha512_base64url:()=>Ea,sha512_hex:()=>Oa,string:()=>ia,time:()=>sa,ulid:()=>So,undefined:()=>pa,unicodeEmail:()=>Mo,uppercase:()=>ha,uuid:()=>Zo,uuid4:()=>No,uuid6:()=>Po,uuid7:()=>Co,xid:()=>$o});var s={};a.r(s),a.d(s,{endsWith:()=>Pn,gt:()=>fn,gte:()=>bn,includes:()=>Zn,length:()=>Tn,lowercase:()=>An,lt:()=>gn,lte:()=>kn,maxLength:()=>$n,maxSize:()=>xn,mime:()=>Dn,minLength:()=>In,minSize:()=>_n,multipleOf:()=>zn,negative:()=>vn,nonnegative:()=>jn,nonpositive:()=>wn,normalize:()=>Un,overwrite:()=>qn,positive:()=>yn,property:()=>Cn,regex:()=>On,size:()=>Sn,slugify:()=>Ln,startsWith:()=>Nn,toLowerCase:()=>Rn,toUpperCase:()=>Fn,trim:()=>Mn,uppercase:()=>En});var n={};a.r(n),a.d(n,{ZodISODate:()=>ai,ZodISODateTime:()=>ei,ZodISODuration:()=>ii,ZodISOTime:()=>si,date:()=>ti,datetime:()=>oi,duration:()=>ri,time:()=>ni});var i={};function r(e){throw new Error(`Non-never value at runtime: ${e}`)}function c(e,o,a,t){void 0===a?e.searchParams[t](o,"undefined"):null===a?e.searchParams[t](o,"null"):"boolean"==typeof a?e.searchParams[t](o,a?"true":"false"):"number"==typeof a?e.searchParams[t](o,a.toString(10)):"string"==typeof a?e.searchParams[t](o,a):"object"==typeof a?e.searchParams[t](o,JSON.stringify(a)):r(a)}a.r(i),a.d(i,{ZodAny:()=>Lr,ZodArray:()=>Qr,ZodBase64:()=>mr,ZodBase64URL:()=>lr,ZodBigInt:()=>Er,ZodBigIntFormat:()=>Nr,ZodBoolean:()=>Or,ZodCIDRv4:()=>nr,ZodCIDRv6:()=>rr,ZodCUID:()=>Li,ZodCUID2:()=>Ji,ZodCatch:()=>Hc,ZodCodec:()=>em,ZodCustom:()=>pm,ZodCustomStringFormat:()=>fr,ZodDate:()=>Gr,ZodDefault:()=>Mc,ZodDiscriminatedUnion:()=>uc,ZodE164:()=>dr,ZodEmail:()=>$i,ZodEmoji:()=>Ui,ZodEnum:()=>xc,ZodExactOptional:()=>Pc,ZodFile:()=>Tc,ZodFunction:()=>um,ZodGUID:()=>Ti,ZodIPv4:()=>Qi,ZodIPv6:()=>tr,ZodIntersection:()=>pc,ZodJWT:()=>gr,ZodKSUID:()=>Gi,ZodLazy:()=>im,ZodLiteral:()=>$c,ZodMAC:()=>or,ZodMap:()=>vc,ZodNaN:()=>Kc,ZodNanoID:()=>Ri,ZodNever:()=>Yr,ZodNonOptional:()=>Vc,ZodNull:()=>Rr,ZodNullable:()=>Dc,ZodNumber:()=>jr,ZodNumberFormat:()=>xr,ZodObject:()=>ac,ZodOptional:()=>Zc,ZodPipe:()=>Xc,ZodPrefault:()=>Fc,ZodPromise:()=>cm,ZodReadonly:()=>am,ZodRecord:()=>kc,ZodSet:()=>jc,ZodString:()=>xi,ZodStringFormat:()=>Si,ZodSuccess:()=>Bc,ZodSymbol:()=>Dr,ZodTemplateLiteral:()=>sm,ZodTransform:()=>Ac,ZodTuple:()=>hc,ZodType:()=>ji,ZodULID:()=>Yi,ZodURL:()=>Ci,ZodUUID:()=>Ai,ZodUndefined:()=>Ur,ZodUnion:()=>ic,ZodUnknown:()=>Jr,ZodVoid:()=>Wr,ZodXID:()=>Wi,ZodXor:()=>cc,_ZodString:()=>zi,_default:()=>Rc,_function:()=>lm,any:()=>Vr,array:()=>ec,base64:()=>ur,base64url:()=>pr,bigint:()=>Zr,boolean:()=>Ar,catch:()=>Wc,check:()=>dm,cidrv4:()=>ir,cidrv6:()=>cr,codec:()=>om,cuid:()=>Vi,cuid2:()=>Bi,custom:()=>hm,date:()=>Xr,describe:()=>fm,discriminatedUnion:()=>lc,e164:()=>hr,email:()=>Ii,emoji:()=>Mi,enum:()=>_c,exactOptional:()=>Cc,file:()=>Oc,float32:()=>Sr,float64:()=>$r,function:()=>lm,guid:()=>Oi,hash:()=>wr,hex:()=>vr,hostname:()=>yr,httpUrl:()=>qi,instanceof:()=>ym,int:()=>_r,int32:()=>Ir,int64:()=>Pr,intersection:()=>dc,ipv4:()=>er,ipv6:()=>sr,json:()=>wm,jwt:()=>kr,keyof:()=>oc,ksuid:()=>Xi,lazy:()=>rm,literal:()=>Ic,looseObject:()=>nc,looseRecord:()=>yc,mac:()=>ar,map:()=>wc,meta:()=>bm,nan:()=>Gc,nanoid:()=>Fi,nativeEnum:()=>Sc,never:()=>Hr,nonoptional:()=>Jc,null:()=>Fr,nullable:()=>qc,nullish:()=>Uc,number:()=>zr,object:()=>tc,optional:()=>Nc,partialRecord:()=>bc,pipe:()=>Qc,prefault:()=>Lc,preprocess:()=>jm,promise:()=>mm,readonly:()=>tm,record:()=>fc,refine:()=>gm,set:()=>zc,strictObject:()=>sc,string:()=>_i,stringFormat:()=>br,stringbool:()=>vm,success:()=>Yc,superRefine:()=>km,symbol:()=>qr,templateLiteral:()=>nm,transform:()=>Ec,tuple:()=>gc,uint32:()=>Tr,uint64:()=>Cr,ulid:()=>Hi,undefined:()=>Mr,union:()=>rc,unknown:()=>Br,url:()=>Di,uuid:()=>Ei,uuidv4:()=>Zi,uuidv6:()=>Ni,uuidv7:()=>Pi,void:()=>Kr,xid:()=>Ki,xor:()=>mc});class m extends Error{source;constructor(e,o){super(e),this.name="ApiError",this.source=o}}class u extends m{constructor(e){super(`Fetch error: ${e.message}`,e)}}class l extends m{status;statusText;response;constructor(e){const{status:o,statusText:a}=e;super(`Status error (${o}): ${a}`),this.status=o,this.statusText=a,this.response=e}}class p extends m{response;constructor(e,o){const[a,t]="string"==typeof o?[o,void 0]:[o.message,o];super(`Response body error: ${a}`,t),this.response=e}}async function d(e,o){try{return await fetch(e,o)}catch(e){if(e instanceof TypeError)throw new u(e);throw e}}class h{body;constructor(e){this.body=e}static Json(e){return new h({type:"json",json:e})}static B64JsonLegacy(e){return new h({type:"b64json-legacy",json:e})}static B64Json(e){return new h({type:"b64json",json:e})}static String(e){return new h({type:"string",string:e})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json-legacy":case"string":return"text/plain";case"b64json":return"application/base64+json";default:r(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json-legacy":case"b64json":return e=JSON.stringify(this.body.json),function(e){const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let a="",t=0;for(;t+2<e.length;t+=3){const s=e[t]<<16|e[t+1]<<8|e[t+2];a+=o[s>>>18&63]+o[s>>>12&63]+o[s>>>6&63]+o[63&s]}if(t<e.length){const s=e[t]<<16|(t+1<e.length?e[t+1]:0)<<8;a+=o[s>>>18&63]+o[s>>>12&63]+(t+1<e.length?o[s>>>6&63]:"=")+"="}return a}((new TextEncoder).encode(e));case"string":return this.body.string;default:r(this.body)}var e}}function g(e){return new Promise(o=>{setTimeout(o,e)})}function k(e){if(function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}(e))return e}function f(e,{backoffMultiplier:o=1,retryAfter:a=null}={}){if(a){const e=function(e){const o=function(e){const o=function(e){const o=e.trim();return/^[+-]?\d+$/.test(o)?parseInt(o,10):null}(e);return null===o||o<0?null:o}(e);if(null!==o)return 1e3*o;const a=Date.parse(e);return isNaN(a)?null:a-Date.now()}(a);if(null!==e)return Math.max(Math.min(e,1e4),500)}return Math.min(500*Math.pow(2,e),1e4)*o*(1+.1*(2*Math.random()-1))}class b{checkContentType(e){return null===this.contentType||(e?.includes(this.contentType)??!1)}}class y extends b{name="JsonBodyParser";contentType="application/json";async parse(e){try{return e.json()}catch(o){throw new p(e,o instanceof Error?o:"Failed to parse JSON")}}}class v extends b{name="B64JsonBodyParser";contentType="application/base64+json";async parse(e){try{const a=await e.text(),t=atob(a);return o=t,JSON.parse(o)}catch(o){throw new p(e,o instanceof Error?o:"Failed to parse Base64 JSON")}var o}}class w extends b{name="VoidBodyParser";contentType=null;async parse(e){}}async function j(e,o,a,t,s){if(e.status>=200&&e.status<300){const{parser:a,ignoreContentTypeHeader:t=!1}=o??{},s=e.headers.get("Content-Type");if(!t&&!a.checkContentType(s))throw new p(e,`Did not expect Content-Type "${s}" for parser ${a.name}`);return await o.parser.parse(e)}if(a>=5)throw new l(e);if(401===e.status&&s)return s(a+1);if(429===e.status||503===e.status){const o=f(a+2,{backoffMultiplier:2,retryAfter:e.headers.get("Retry-After")});return await g(o),t(a+3)}if(e.status>=400&&e.status<=499)throw new l(e);{const e=f(a);return await g(e),t(a+1)}}const z="unauthenticated";class x{rootUrl;appVersion;getTruesignToken;injectInto;partnerKey;constructor(e,o){const a=o.getTruesignToken;a&&(this.getTruesignToken=async e=>{try{return await a(e)??z}catch{return z}}),this.rootUrl=e,this.injectInto=o.injectInto??"query",this.appVersion=o.appVersion,this.partnerKey=o.partnerKey}buildUrl(e){return new URL(`${this.rootUrl}${e}`)}async applyQueryParams(e,o,a){return function(e,o){const a=new URL(e);for(const[e,t]of Object.entries(o))if(Array.isArray(t)){a.searchParams.delete(e);for(const o of t)c(a,e,o,"append")}else c(a,e,t,"set");return a}(e,{...a,..."query"===this.injectInto?{...o?{tsToken:o}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(e,o){const a=new Headers(o);return"headers"===this.injectInto&&(e&&a.set("X-TS-Token",e),this.partnerKey&&a.set("X-Partner-Key",this.partnerKey),a.set("X-App-Version",this.appVersion)),a}async get(e,{params:o={},request:a={},parser:t=new y,doNotSendAcceptHeader:s=!1,ignoreContentTypeHeader:n=!1}={}){const i=this.buildUrl(e),r=await(this.getTruesignToken?.(null))??null,c=await this.applyQueryParams(i,r,o),m=await this.applyHeaders(r,a?.headers);return s||!t.contentType||m.has("Accept")||m.set("Accept",t.contentType),this._get(c,0,r,{...a,headers:m},{parser:t,ignoreContentTypeHeader:n})}async _get(e,o,a,t,s){try{return j(await d(e,{...t,body:void 0,method:"GET"}),s,o,o=>this._get(e,o,a,t,s),this.getTruesignToken?async o=>{const n=await(this.getTruesignToken?.(a))??null,i=await this.applyQueryParams(e,n),r=await this.applyHeaders(n,t.headers);return this._get(i,o,n,{...t,headers:r},s)}:null)}catch(o){throw console.error(`Error on get ${e.origin}${e.pathname}`,o),o}}async post(e,{params:o={},body:a=null,request:t={},parser:s=new w,doNotSendAcceptHeader:n=!1,ignoreContentTypeHeader:i=!1}={}){const r=this.buildUrl(e),c=await(this.getTruesignToken?.(null))??null,m=await this.applyQueryParams(r,c,o),u=await this.applyHeaders(c,t?.headers);a&&!u.has("Content-Type")&&u.set("Content-Type",a.getContentType()),n||!s.contentType||u.has("Accept")||u.set("Accept",s.contentType);const l=a?a.getSerialized():null;return this._post(m,l,0,c,{...t,headers:u},{parser:s,ignoreContentTypeHeader:i})}async _post(e,o,a,t,s,n){try{return j(await d(e,{...s,body:o,method:"POST"}),n,a,a=>this._post(e,o,a,t,s,n),this.getTruesignToken?async a=>{const i=await(this.getTruesignToken?.(t))??null,r=await this.applyQueryParams(e,i),c=await this.applyHeaders(i,s.headers);return this._post(r,o,a,i,{...s,headers:c},n)}:null)}catch(o){throw console.error(`Error on post ${e.origin}${e.pathname}`,o),o}}}class _{apiService=null;rootUrl;options;constructor(e,o){this.rootUrl=e,this.options=o,this.apiService=null}initialize(e){if(this.apiService)throw new Error("APIService already initialized");const o=this.options?.truesignEndpoint;this.apiService=new x(this.rootUrl,{...this.options,...e,...o?{getTruesignToken:a=>e.getTruesignToken({endpoint:o,knownInvalidToken:a})}:{getTruesignToken:void 0}})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}makeZodOpenApiRouteGet(e){return o=>async a=>this.get().get(e(a.path),{...a.query?{params:a.query}:{},parser:new o})}makeZodOpenApiRoutePost(e,o){return a=>async t=>this.get().post(e(t.path),{...t.query?{params:t.query}:{},...t.body?{body:o(t.body)}:{},parser:new a})}}const S=new _("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"}),$=new _("https://events.getdirecto.com",{truesignEndpoint:"80298941"}),I=$.get.bind($),T=new _("https://metasearch.getdirecto.com",{truesignEndpoint:"1678801807",injectInto:"headers"}),O=T.get.bind(T),A=new _("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"});A.get.bind(A);const E=new _("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"}),Z=new _("https://remote-config.getdirecto.com",{injectInto:"headers",truesignEndpoint:"1999655537"}),N=(Z.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}`)(v),Z.makeZodOpenApiRouteGet(e=>`/v1/config/${e.namespace}/${e.version}/patches`)(v)),P="DIRECTO_CORE_BACKGROUND_CONFIG",C="local";let D=null;const q=e=>{D=e,chrome.storage[C].set({[P]:e})};function U(e){return e instanceof Error?e:new Error(String(e))}function M(e,o=2){const a="0".repeat(o)+e;return a.slice(a.length-o,a.length)}class R{year;month;day;constructor(e,o,a){this.year=e,this.month=o,this.day=a}static unsafe_new(e,o,a){if(isNaN(e)||isNaN(o)||isNaN(a))throw new Error(`Invalid date: ${e}-${o}-${a}`);const t=new R(e,o,a),s=t.unsafe_toDate();if(isNaN(s.getTime())||s.getFullYear()!==e||s.getMonth()+1!==o||s.getDate()!==a)throw new Error(`Invalid date: ${e}-${o}-${a}`);return t}static new(e,o,a){try{return R.unsafe_new(e,o,a)}catch{return null}}static today(){return R.unsafe_fromDate(new Date)}static unsafe_fromRaw(e){return R.unsafe_new(e.year,e.month,e.day)}static fromRaw(e){return R.new(e.year,e.month,e.day)}static unsafe_fromDate(e){if(isNaN(e.getTime()))throw new Error("Invalid Date object");return R.unsafe_new(e.getFullYear(),e.getMonth()+1,e.getDate())}static fromDate(e){try{return R.unsafe_fromDate(e)}catch{return null}}static tryFromSlashDDMMYY(e){const o=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!o)return null;const{dd:a,mm:t,yy:s}=o.groups;return R.new(2e3+parseInt(s,10),parseInt(t,10),parseInt(a,10))}static tryFromSlashDMY(e){const o=e.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!o)return null;const{d:a,m:t,y:s}=o.groups;return R.new(2e3+parseInt(s,10),parseInt(t,10),parseInt(a,10))}static tryFromDashYYYYMMDD(e){const o=e.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!o)return null;const{yyyy:a,mm:t,dd:s}=o.groups;return R.new(parseInt(a,10),parseInt(t,10),parseInt(s,10))}static tryFromDashDDMMYYYY(e){const o=e.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!o)return null;const{dd:a,mm:t,yyyy:s}=o.groups;return R.new(parseInt(s,10),parseInt(t,10),parseInt(a,10))}static tryFromSlashDDMMYYYY(e){const o=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!o)return null;const{yyyy:a,mm:t,dd:s}=o.groups;return R.new(parseInt(a,10),parseInt(t,10),parseInt(s,10))}static tryFromSlashMMDDYYYY(e){const o=e.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!o)return null;const{yyyy:a,mm:t,dd:s}=o.groups;return R.new(parseInt(a,10),parseInt(t,10),parseInt(s,10))}toDashYYYYMMDD(){return`${M(this.year,4)}-${M(this.month)}-${M(this.day)}`}unsafe_toDate(){return function(e,o,a){const t=new Date;return t.setFullYear(e,o,a),t.setHours(0,0,0,0),t}(this.year,this.month-1,this.day)}}const F="userUUID",L="local";async function V(){let{[F]:e}=await chrome.storage[L].get(F);return e||(e=crypto.randomUUID(),await chrome.storage[L].set({[F]:e})),e}async function J(){if(void 0!==chrome.identity?.getProfileUserInfo){const e=await chrome.identity.getProfileUserInfo({accountStatus:chrome.identity.AccountStatus.ANY});return{id:e.id||await V(),email:e.email}}return{id:await V(),email:""}}const B="directoSessionInfo",Y="session";async function H(){const{[B]:e}=await chrome.storage[Y].get(B),o=Date.now();if(e?.sessionId&&e.lastTimestamp&&o-e.lastTimestamp<144e5)return chrome.storage[Y].set({[B]:{...e,lastTimestamp:o}}),e.sessionId;const a=`${(await J()).id}-${function(e){return`${e.getUTCFullYear()}${M(e.getUTCMonth())+1}${M(e.getUTCDate())}-${M(e.getUTCHours())}${M(e.getUTCMinutes())}`}(new Date(o))}`;return chrome.storage[Y].set({[B]:{sessionId:a,lastTimestamp:o}}),a}function W(e){switch(e){case"local":return chrome.storage.local;case"session":return chrome.storage.session;default:r(e)}}function K(e,o,a={}){const{area:t="local"}=a,s=W(t);s.get(e,a=>{const t=a[e]||[],n=new Set(t);n.add(o),s.set({[e]:Array.from(n.values())})})}function G(e,o,a={}){return new Promise(t=>{const{dropIfPresent:s=!1,area:n="local"}=a,i=W(n);i.get(e,a=>{const n=a[e]||[],r=new Set(n),c=r.has(o);c&&s&&(r.delete(o),i.set({[e]:Array.from(r.values())})),t(c)})})}async function X(e,o,a,t={}){const{area:s="local"}=t,n=W(s),{[e]:i}=await n.get(e),r=new Map(i||[]);r.set(o,a),await n.set({[e]:Array.from(r.entries())})}async function Q(e,o,a={}){const{dropIfPresent:t=!1,area:s="local"}=a,n=W(s),{[e]:i}=await n.get(e),r=new Map(i||[]),c=r.get(o);return c&&t&&setTimeout(()=>{r.delete(o),n.set({[e]:Array.from(r.entries())})},5e3),c}const ee="crossSellWasChecked",oe="session",ae=({crossSellId:e,tabId:o})=>`${e}-${o}`;function te(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var se,ne;const ie=te(function(){if(ne)return se;ne=1;const e=2147483647,o=36,a=/^xn--/,t=/[^\0-\x7F]/,s=/[\x2E\u3002\uFF0E\uFF61]/g,n={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},i=Math.floor,r=String.fromCharCode;function c(e){throw new RangeError(n[e])}function m(e,o){const a=e.split("@");let t="";a.length>1&&(t=a[0]+"@",e=a[1]);const n=function(e,o){const a=[];let t=e.length;for(;t--;)a[t]=o(e[t]);return a}((e=e.replace(s,".")).split("."),o).join(".");return t+n}function u(e){const o=[];let a=0;const t=e.length;for(;a<t;){const s=e.charCodeAt(a++);if(s>=55296&&s<=56319&&a<t){const t=e.charCodeAt(a++);56320==(64512&t)?o.push(((1023&s)<<10)+(1023&t)+65536):(o.push(s),a--)}else o.push(s)}return o}const l=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:o},p=function(e,o){return e+22+75*(e<26)-((0!=o)<<5)},d=function(e,a,t){let s=0;for(e=t?i(e/700):e>>1,e+=i(e/a);e>455;s+=o)e=i(e/35);return i(s+36*e/(e+38))},h=function(a){const t=[],s=a.length;let n=0,r=128,m=72,u=a.lastIndexOf("-");u<0&&(u=0);for(let e=0;e<u;++e)a.charCodeAt(e)>=128&&c("not-basic"),t.push(a.charCodeAt(e));for(let p=u>0?u+1:0;p<s;){const u=n;for(let t=1,r=o;;r+=o){p>=s&&c("invalid-input");const u=l(a.charCodeAt(p++));u>=o&&c("invalid-input"),u>i((e-n)/t)&&c("overflow"),n+=u*t;const d=r<=m?1:r>=m+26?26:r-m;if(u<d)break;const h=o-d;t>i(e/h)&&c("overflow"),t*=h}const h=t.length+1;m=d(n-u,h,0==u),i(n/h)>e-r&&c("overflow"),r+=i(n/h),n%=h,t.splice(n++,0,r)}return String.fromCodePoint(...t)},g=function(a){const t=[],s=(a=u(a)).length;let n=128,m=0,l=72;for(const e of a)e<128&&t.push(r(e));const h=t.length;let g=h;for(h&&t.push("-");g<s;){let s=e;for(const e of a)e>=n&&e<s&&(s=e);const u=g+1;s-n>i((e-m)/u)&&c("overflow"),m+=(s-n)*u,n=s;for(const s of a)if(s<n&&++m>e&&c("overflow"),s===n){let e=m;for(let a=o;;a+=o){const s=a<=l?1:a>=l+26?26:a-l;if(e<s)break;const n=e-s,c=o-s;t.push(r(p(s+n%c,0))),e=i(n/c)}t.push(r(p(e,0))),l=d(m,u,g===h),m=0,++g}++m,++n}return t.join("")};return se={version:"2.3.1",ucs2:{decode:u,encode:e=>String.fromCodePoint(...e)},decode:h,encode:g,toASCII:function(e){return m(e,function(e){return t.test(e)?"xn--"+g(e):e})},toUnicode:function(e){return m(e,function(e){return a.test(e)?h(e.slice(4).toLowerCase()):e})}}}()),re=["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((e,o)=>{const a=o.replace(/^(\*\.|\!)/,""),t=ie.toASCII(a),s=o.charAt(0);if(e.has(t))throw new Error(`Multiple rules found for ${o} (${t})`);return e.set(t,{rule:o,suffix:a,punySuffix:t,wildcard:"*"===s,exception:"!"===s}),e},new Map),ce={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},me=e=>e&&(e=>{if("string"!=typeof e)throw new TypeError("Domain name must be a string.");let o=e.slice(0).toLowerCase();"."===o.charAt(o.length-1)&&(o=o.slice(0,o.length-1));const a=(e=>{const o=ie.toASCII(e);if(o.length<1)return"DOMAIN_TOO_SHORT";if(o.length>255)return"DOMAIN_TOO_LONG";const a=o.split(".");let t;for(let e=0;e<a.length;++e){if(t=a[e],!t.length)return"LABEL_TOO_SHORT";if(t.length>63)return"LABEL_TOO_LONG";if("-"===t.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===t.charAt(t.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(t))return"LABEL_INVALID_CHARS"}})(o);if(a)return{input:e,error:{message:ce[a],code:a}};const t={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=o.split(".");if("local"===s[s.length-1])return t;const n=()=>(/xn--/.test(o)&&(t.domain&&(t.domain=ie.toASCII(t.domain)),t.subdomain&&(t.subdomain=ie.toASCII(t.subdomain))),t),i=(e=>{const o=ie.toASCII(e).split(".");for(let e=0;e<o.length;e++){const a=o.slice(e).join("."),t=re.get(a);if(t)return t}return null})(o);if(!i)return s.length<2?t:(t.tld=s.pop(),t.sld=s.pop(),t.domain=[t.sld,t.tld].join("."),s.length&&(t.subdomain=s.pop()),n());t.listed=!0;const r=i.suffix.split("."),c=s.slice(0,s.length-r.length);return i.exception&&c.push(r.shift()),t.tld=r.join("."),!c.length||(i.wildcard&&(r.unshift(c.pop()),t.tld=r.join(".")),!c.length)||(t.sld=c.pop(),t.domain=[t.sld,t.tld].join("."),c.length&&(t.subdomain=c.join("."))),n()})(e).domain||null;function ue(e){let o=e.trim();return/^(?:f|ht)tps?\:\/\//.test(o)||(o="http://"+o),new URL(o)}function le(e){const o=me(e);return null!==o?o:(e=e.replace(/^www\./,"")).split(".").slice(-2).join(".")}function pe(e){return e.hostname.replace(/^www\./,"")}function de(e,o){return"VRBO"===o?e.replace(/\D/g,""):e}const he="directoUserId",ge="directoUserEmail",ke="local";let fe="";async function be(){if(fe)return fe;const{[he]:e}=await chrome.storage[ke].get(he);return fe=e||"",fe}let ye="";async function ve(){if(ye)return ye;const{[ge]:e}=await chrome.storage[ke].get(ge);return ye=e||"",ye}const we="directoAllowedHostnames";function je(e,o,a){function t(a,t){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:t,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),o(a,t);const s=i.prototype,n=Object.keys(s);for(let e=0;e<n.length;e++){const o=n[e];o in a||(a[o]=s[o].bind(a))}}const s=a?.Parent??Object;class n extends s{}function i(e){var o;const s=a?.Parent?new n:this;t(s,e),(o=s._zod).deferred??(o.deferred=[]);for(const e of s._zod.deferred)e();return s}return Object.defineProperty(n,"name",{value:e}),Object.defineProperty(i,"init",{value:t}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>!!(a?.Parent&&o instanceof a.Parent)||o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}Object.freeze({status:"aborted"}),Symbol("zod_brand");class ze extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class xe extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const _e={};function Se(e){return e&&Object.assign(_e,e),_e}function $e(e){const o=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,a])=>-1===o.indexOf(+e)).map(([e,o])=>o)}function Ie(e,o="|"){return e.map(e=>He(e)).join(o)}function Te(e,o){return"bigint"==typeof o?o.toString():o}function Oe(e){return{get value(){{const o=e();return Object.defineProperty(this,"value",{value:o}),o}}}}function Ae(e){return null==e}function Ee(e){const o=e.startsWith("^")?1:0,a=e.endsWith("$")?e.length-1:e.length;return e.slice(o,a)}const Ze=Symbol("evaluating");function Ne(e,o,a){let t;Object.defineProperty(e,o,{get(){if(t!==Ze)return void 0===t&&(t=Ze,t=a()),t},set(a){Object.defineProperty(e,o,{value:a})},configurable:!0})}function Pe(e,o,a){Object.defineProperty(e,o,{value:a,writable:!0,enumerable:!0,configurable:!0})}function Ce(...e){const o={};for(const a of e){const e=Object.getOwnPropertyDescriptors(a);Object.assign(o,e)}return Object.defineProperties({},o)}function De(e){return JSON.stringify(e)}const qe="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ue(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const Me=Oe(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Re(e){if(!1===Ue(e))return!1;const o=e.constructor;if(void 0===o)return!0;if("function"!=typeof o)return!0;const a=o.prototype;return!1!==Ue(a)&&!1!==Object.prototype.hasOwnProperty.call(a,"isPrototypeOf")}function Fe(e){return Re(e)?{...e}:Array.isArray(e)?[...e]:e}const Le=new Set(["string","number","symbol"]),Ve=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Je(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Be(e,o,a){const t=new e._zod.constr(o??e._zod.def);return o&&!a?.parent||(t._zod.parent=e),t}function Ye(e){const o=e;if(!o)return{};if("string"==typeof o)return{error:()=>o};if(void 0!==o?.message){if(void 0!==o?.error)throw new Error("Cannot specify both `message` and `error` params");o.error=o.message}return delete o.message,"string"==typeof o.error?{...o,error:()=>o.error}:o}function He(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}const We={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Ke={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Ge(e,o=0){if(!0===e.aborted)return!0;for(let a=o;a<e.issues.length;a++)if(!0!==e.issues[a]?.continue)return!0;return!1}function Xe(e,o){return o.map(o=>{var a;return(a=o).path??(a.path=[]),o.path.unshift(e),o})}function Qe(e){return"string"==typeof e?e:e?.message}function eo(e,o,a){const t={...e,path:e.path??[]};if(!e.message){const s=Qe(e.inst?._zod.def?.error?.(e))??Qe(o?.error?.(e))??Qe(a.customError?.(e))??Qe(a.localeError?.(e))??"Invalid input";t.message=s}return delete t.inst,delete t.continue,o?.reportInput||delete t.input,t}function oo(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function ao(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function to(...e){const[o,a,t]=e;return"string"==typeof o?{message:o,code:"custom",input:a,inst:t}:{...o}}const so=(e,o)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:o,enumerable:!1}),e.message=JSON.stringify(o,Te,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},no=je("$ZodError",so),io=je("$ZodError",so,{Parent:Error}),ro=e=>(o,a,t,s)=>{const n=t?Object.assign(t,{async:!1}):{async:!1},i=o._zod.run({value:a,issues:[]},n);if(i instanceof Promise)throw new ze;if(i.issues.length){const o=new(s?.Err??e)(i.issues.map(e=>eo(e,n,Se())));throw qe(o,s?.callee),o}return i.value},co=ro(io),mo=e=>async(o,a,t,s)=>{const n=t?Object.assign(t,{async:!0}):{async:!0};let i=o._zod.run({value:a,issues:[]},n);if(i instanceof Promise&&(i=await i),i.issues.length){const o=new(s?.Err??e)(i.issues.map(e=>eo(e,n,Se())));throw qe(o,s?.callee),o}return i.value},uo=mo(io),lo=e=>(o,a,t)=>{const s=t?{...t,async:!1}:{async:!1},n=o._zod.run({value:a,issues:[]},s);if(n instanceof Promise)throw new ze;return n.issues.length?{success:!1,error:new(e??no)(n.issues.map(e=>eo(e,s,Se())))}:{success:!0,data:n.value}},po=lo(io),ho=e=>async(o,a,t)=>{const s=t?Object.assign(t,{async:!0}):{async:!0};let n=o._zod.run({value:a,issues:[]},s);return n instanceof Promise&&(n=await n),n.issues.length?{success:!1,error:new e(n.issues.map(e=>eo(e,s,Se())))}:{success:!0,data:n.value}},go=ho(io),ko=e=>(o,a,t)=>{const s=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return ro(e)(o,a,s)},fo=e=>(o,a,t)=>ro(e)(o,a,t),bo=e=>async(o,a,t)=>{const s=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return mo(e)(o,a,s)},yo=e=>async(o,a,t)=>mo(e)(o,a,t),vo=e=>(o,a,t)=>{const s=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return lo(e)(o,a,s)},wo=e=>(o,a,t)=>lo(e)(o,a,t),jo=e=>async(o,a,t)=>{const s=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return ho(e)(o,a,s)},zo=e=>async(o,a,t)=>ho(e)(o,a,t),xo=/^[cC][^\s-]{8,}$/,_o=/^[0-9a-z]+$/,So=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$o=/^[0-9a-vA-V]{20}$/,Io=/^[A-Za-z0-9]{27}$/,To=/^[a-zA-Z0-9_-]{21}$/,Oo=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ao=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Eo=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Zo=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,No=Zo(4),Po=Zo(6),Co=Zo(7),Do=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,qo=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Uo=/^(([^<>()\[\]\\.,;:\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,}))$/,Mo=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Ro=Mo,Fo=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Lo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Vo(){return new RegExp(Lo,"u")}const Jo=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Bo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Yo=e=>{const o=Je(e??":");return new RegExp(`^(?:[0-9A-F]{2}${o}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${o}){5}[0-9a-f]{2}$`)},Ho=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Wo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ko=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Go=/^[A-Za-z0-9_-]*$/,Xo=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Qo=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,ea=/^\+[1-9]\d{6,14}$/,oa="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",aa=new RegExp(`^${oa}$`);function ta(e){const o="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${o}`:0===e.precision?`${o}:[0-5]\\d`:`${o}:[0-5]\\d\\.\\d{${e.precision}}`:`${o}(?::[0-5]\\d(?:\\.\\d+)?)?`}function sa(e){return new RegExp(`^${ta(e)}$`)}function na(e){const o=ta({precision:e.precision}),a=["Z"];e.local&&a.push(""),e.offset&&a.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const t=`${o}(?:${a.join("|")})`;return new RegExp(`^${oa}T(?:${t})$`)}const ia=e=>new RegExp(`^${e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*"}$`),ra=/^-?\d+n?$/,ca=/^-?\d+$/,ma=/^-?\d+(?:\.\d+)?$/,ua=/^(?:true|false)$/i,la=/^null$/i,pa=/^undefined$/i,da=/^[^A-Z]*$/,ha=/^[^a-z]*$/,ga=/^[0-9a-fA-F]*$/;function ka(e,o){return new RegExp(`^[A-Za-z0-9+/]{${e}}${o}$`)}function fa(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}const ba=/^[0-9a-fA-F]{32}$/,ya=ka(22,"=="),va=fa(22),wa=/^[0-9a-fA-F]{40}$/,ja=ka(27,"="),za=fa(27),xa=/^[0-9a-fA-F]{64}$/,_a=ka(43,"="),Sa=fa(43),$a=/^[0-9a-fA-F]{96}$/,Ia=ka(64,""),Ta=fa(64),Oa=/^[0-9a-fA-F]{128}$/,Aa=ka(86,"=="),Ea=fa(86),Za=je("$ZodCheck",(e,o)=>{var a;e._zod??(e._zod={}),e._zod.def=o,(a=e._zod).onattach??(a.onattach=[])}),Na={number:"number",bigint:"bigint",object:"date"},Pa=je("$ZodCheckLessThan",(e,o)=>{Za.init(e,o);const a=Na[typeof o.value];e._zod.onattach.push(e=>{const a=e._zod.bag,t=(o.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;o.value<t&&(o.inclusive?a.maximum=o.value:a.exclusiveMaximum=o.value)}),e._zod.check=t=>{(o.inclusive?t.value<=o.value:t.value<o.value)||t.issues.push({origin:a,code:"too_big",maximum:"object"==typeof o.value?o.value.getTime():o.value,input:t.value,inclusive:o.inclusive,inst:e,continue:!o.abort})}}),Ca=je("$ZodCheckGreaterThan",(e,o)=>{Za.init(e,o);const a=Na[typeof o.value];e._zod.onattach.push(e=>{const a=e._zod.bag,t=(o.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;o.value>t&&(o.inclusive?a.minimum=o.value:a.exclusiveMinimum=o.value)}),e._zod.check=t=>{(o.inclusive?t.value>=o.value:t.value>o.value)||t.issues.push({origin:a,code:"too_small",minimum:"object"==typeof o.value?o.value.getTime():o.value,input:t.value,inclusive:o.inclusive,inst:e,continue:!o.abort})}}),Da=je("$ZodCheckMultipleOf",(e,o)=>{Za.init(e,o),e._zod.onattach.push(e=>{var a;(a=e._zod.bag).multipleOf??(a.multipleOf=o.value)}),e._zod.check=a=>{if(typeof a.value!=typeof o.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof a.value?a.value%o.value===BigInt(0):0===function(e,o){const a=(e.toString().split(".")[1]||"").length,t=o.toString();let s=(t.split(".")[1]||"").length;if(0===s&&/\d?e-\d?/.test(t)){const e=t.match(/\d?e-(\d?)/);e?.[1]&&(s=Number.parseInt(e[1]))}const n=a>s?a:s;return Number.parseInt(e.toFixed(n).replace(".",""))%Number.parseInt(o.toFixed(n).replace(".",""))/10**n}(a.value,o.value))||a.issues.push({origin:typeof a.value,code:"not_multiple_of",divisor:o.value,input:a.value,inst:e,continue:!o.abort})}}),qa=je("$ZodCheckNumberFormat",(e,o)=>{Za.init(e,o),o.format=o.format||"float64";const a=o.format?.includes("int"),t=a?"int":"number",[s,n]=We[o.format];e._zod.onattach.push(e=>{const t=e._zod.bag;t.format=o.format,t.minimum=s,t.maximum=n,a&&(t.pattern=ca)}),e._zod.check=i=>{const r=i.value;if(a){if(!Number.isInteger(r))return void i.issues.push({expected:t,format:o.format,code:"invalid_type",continue:!1,input:r,inst:e});if(!Number.isSafeInteger(r))return void(r>0?i.issues.push({input:r,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:t,inclusive:!0,continue:!o.abort}):i.issues.push({input:r,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:t,inclusive:!0,continue:!o.abort}))}r<s&&i.issues.push({origin:"number",input:r,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!o.abort}),r>n&&i.issues.push({origin:"number",input:r,code:"too_big",maximum:n,inclusive:!0,inst:e,continue:!o.abort})}}),Ua=je("$ZodCheckBigIntFormat",(e,o)=>{Za.init(e,o);const[a,t]=Ke[o.format];e._zod.onattach.push(e=>{const s=e._zod.bag;s.format=o.format,s.minimum=a,s.maximum=t}),e._zod.check=s=>{const n=s.value;n<a&&s.issues.push({origin:"bigint",input:n,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!o.abort}),n>t&&s.issues.push({origin:"bigint",input:n,code:"too_big",maximum:t,inclusive:!0,inst:e,continue:!o.abort})}}),Ma=je("$ZodCheckMaxSize",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.size}),e._zod.onattach.push(e=>{const a=e._zod.bag.maximum??Number.POSITIVE_INFINITY;o.maximum<a&&(e._zod.bag.maximum=o.maximum)}),e._zod.check=a=>{const t=a.value;t.size<=o.maximum||a.issues.push({origin:oo(t),code:"too_big",maximum:o.maximum,inclusive:!0,input:t,inst:e,continue:!o.abort})}}),Ra=je("$ZodCheckMinSize",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.size}),e._zod.onattach.push(e=>{const a=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;o.minimum>a&&(e._zod.bag.minimum=o.minimum)}),e._zod.check=a=>{const t=a.value;t.size>=o.minimum||a.issues.push({origin:oo(t),code:"too_small",minimum:o.minimum,inclusive:!0,input:t,inst:e,continue:!o.abort})}}),Fa=je("$ZodCheckSizeEquals",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.size}),e._zod.onattach.push(e=>{const a=e._zod.bag;a.minimum=o.size,a.maximum=o.size,a.size=o.size}),e._zod.check=a=>{const t=a.value,s=t.size;if(s===o.size)return;const n=s>o.size;a.issues.push({origin:oo(t),...n?{code:"too_big",maximum:o.size}:{code:"too_small",minimum:o.size},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!o.abort})}}),La=je("$ZodCheckMaxLength",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.length}),e._zod.onattach.push(e=>{const a=e._zod.bag.maximum??Number.POSITIVE_INFINITY;o.maximum<a&&(e._zod.bag.maximum=o.maximum)}),e._zod.check=a=>{const t=a.value;if(t.length<=o.maximum)return;const s=ao(t);a.issues.push({origin:s,code:"too_big",maximum:o.maximum,inclusive:!0,input:t,inst:e,continue:!o.abort})}}),Va=je("$ZodCheckMinLength",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.length}),e._zod.onattach.push(e=>{const a=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;o.minimum>a&&(e._zod.bag.minimum=o.minimum)}),e._zod.check=a=>{const t=a.value;if(t.length>=o.minimum)return;const s=ao(t);a.issues.push({origin:s,code:"too_small",minimum:o.minimum,inclusive:!0,input:t,inst:e,continue:!o.abort})}}),Ja=je("$ZodCheckLengthEquals",(e,o)=>{var a;Za.init(e,o),(a=e._zod.def).when??(a.when=e=>{const o=e.value;return!Ae(o)&&void 0!==o.length}),e._zod.onattach.push(e=>{const a=e._zod.bag;a.minimum=o.length,a.maximum=o.length,a.length=o.length}),e._zod.check=a=>{const t=a.value,s=t.length;if(s===o.length)return;const n=ao(t),i=s>o.length;a.issues.push({origin:n,...i?{code:"too_big",maximum:o.length}:{code:"too_small",minimum:o.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!o.abort})}}),Ba=je("$ZodCheckStringFormat",(e,o)=>{var a,t;Za.init(e,o),e._zod.onattach.push(e=>{const a=e._zod.bag;a.format=o.format,o.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(o.pattern))}),o.pattern?(a=e._zod).check??(a.check=a=>{o.pattern.lastIndex=0,o.pattern.test(a.value)||a.issues.push({origin:"string",code:"invalid_format",format:o.format,input:a.value,...o.pattern?{pattern:o.pattern.toString()}:{},inst:e,continue:!o.abort})}):(t=e._zod).check??(t.check=()=>{})}),Ya=je("$ZodCheckRegex",(e,o)=>{Ba.init(e,o),e._zod.check=a=>{o.pattern.lastIndex=0,o.pattern.test(a.value)||a.issues.push({origin:"string",code:"invalid_format",format:"regex",input:a.value,pattern:o.pattern.toString(),inst:e,continue:!o.abort})}}),Ha=je("$ZodCheckLowerCase",(e,o)=>{o.pattern??(o.pattern=da),Ba.init(e,o)}),Wa=je("$ZodCheckUpperCase",(e,o)=>{o.pattern??(o.pattern=ha),Ba.init(e,o)}),Ka=je("$ZodCheckIncludes",(e,o)=>{Za.init(e,o);const a=Je(o.includes),t=new RegExp("number"==typeof o.position?`^.{${o.position}}${a}`:a);o.pattern=t,e._zod.onattach.push(e=>{const o=e._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(t)}),e._zod.check=a=>{a.value.includes(o.includes,o.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:o.includes,input:a.value,inst:e,continue:!o.abort})}}),Ga=je("$ZodCheckStartsWith",(e,o)=>{Za.init(e,o);const a=new RegExp(`^${Je(o.prefix)}.*`);o.pattern??(o.pattern=a),e._zod.onattach.push(e=>{const o=e._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(a)}),e._zod.check=a=>{a.value.startsWith(o.prefix)||a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:o.prefix,input:a.value,inst:e,continue:!o.abort})}}),Xa=je("$ZodCheckEndsWith",(e,o)=>{Za.init(e,o);const a=new RegExp(`.*${Je(o.suffix)}$`);o.pattern??(o.pattern=a),e._zod.onattach.push(e=>{const o=e._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(a)}),e._zod.check=a=>{a.value.endsWith(o.suffix)||a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:o.suffix,input:a.value,inst:e,continue:!o.abort})}});function Qa(e,o,a){e.issues.length&&o.issues.push(...Xe(a,e.issues))}const et=je("$ZodCheckProperty",(e,o)=>{Za.init(e,o),e._zod.check=e=>{const a=o.schema._zod.run({value:e.value[o.property],issues:[]},{});if(a instanceof Promise)return a.then(a=>Qa(a,e,o.property));Qa(a,e,o.property)}}),ot=je("$ZodCheckMimeType",(e,o)=>{Za.init(e,o);const a=new Set(o.mime);e._zod.onattach.push(e=>{e._zod.bag.mime=o.mime}),e._zod.check=t=>{a.has(t.value.type)||t.issues.push({code:"invalid_value",values:o.mime,input:t.value.type,inst:e,continue:!o.abort})}}),at=je("$ZodCheckOverwrite",(e,o)=>{Za.init(e,o),e._zod.check=e=>{e.value=o.tx(e.value)}});class tt{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const o=e.split("\n").filter(e=>e),a=Math.min(...o.map(e=>e.length-e.trimStart().length)),t=o.map(e=>e.slice(a)).map(e=>" ".repeat(2*this.indent)+e);for(const e of t)this.content.push(e)}compile(){const e=Function,o=this?.args;return new e(...o,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}const st={major:4,minor:3,patch:6},nt=je("$ZodType",(e,o)=>{var a;e??(e={}),e._zod.def=o,e._zod.bag=e._zod.bag||{},e._zod.version=st;const t=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&t.unshift(e);for(const o of t)for(const a of o._zod.onattach)a(e);if(0===t.length)(a=e._zod).deferred??(a.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(e,o,a)=>{let t,s=Ge(e);for(const n of o){if(n._zod.def.when){if(!n._zod.def.when(e))continue}else if(s)continue;const o=e.issues.length,i=n._zod.check(e);if(i instanceof Promise&&!1===a?.async)throw new ze;if(t||i instanceof Promise)t=(t??Promise.resolve()).then(async()=>{await i,e.issues.length!==o&&(s||(s=Ge(e,o)))});else{if(e.issues.length===o)continue;s||(s=Ge(e,o))}}return t?t.then(()=>e):e},a=(a,s,n)=>{if(Ge(a))return a.aborted=!0,a;const i=o(s,t,n);if(i instanceof Promise){if(!1===n.async)throw new ze;return i.then(o=>e._zod.parse(o,n))}return e._zod.parse(i,n)};e._zod.run=(s,n)=>{if(n.skipChecks)return e._zod.parse(s,n);if("backward"===n.direction){const o=e._zod.parse({value:s.value,issues:[]},{...n,skipChecks:!0});return o instanceof Promise?o.then(e=>a(e,s,n)):a(o,s,n)}const i=e._zod.parse(s,n);if(i instanceof Promise){if(!1===n.async)throw new ze;return i.then(e=>o(e,t,n))}return o(i,t,n)}}Ne(e,"~standard",()=>({validate:o=>{try{const a=po(e,o);return a.success?{value:a.data}:{issues:a.error?.issues}}catch(a){return go(e,o).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),it=je("$ZodString",(e,o)=>{nt.init(e,o),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ia(e._zod.bag),e._zod.parse=(a,t)=>{if(o.coerce)try{a.value=String(a.value)}catch(t){}return"string"==typeof a.value||a.issues.push({expected:"string",code:"invalid_type",input:a.value,inst:e}),a}}),rt=je("$ZodStringFormat",(e,o)=>{Ba.init(e,o),it.init(e,o)}),ct=je("$ZodGUID",(e,o)=>{o.pattern??(o.pattern=Eo),rt.init(e,o)}),mt=je("$ZodUUID",(e,o)=>{if(o.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[o.version];if(void 0===e)throw new Error(`Invalid UUID version: "${o.version}"`);o.pattern??(o.pattern=Zo(e))}else o.pattern??(o.pattern=Zo());rt.init(e,o)}),ut=je("$ZodEmail",(e,o)=>{o.pattern??(o.pattern=Do),rt.init(e,o)}),lt=je("$ZodURL",(e,o)=>{rt.init(e,o),e._zod.check=a=>{try{const t=a.value.trim(),s=new URL(t);return o.hostname&&(o.hostname.lastIndex=0,o.hostname.test(s.hostname)||a.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:o.hostname.source,input:a.value,inst:e,continue:!o.abort})),o.protocol&&(o.protocol.lastIndex=0,o.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||a.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:o.protocol.source,input:a.value,inst:e,continue:!o.abort})),void(o.normalize?a.value=s.href:a.value=t)}catch(t){a.issues.push({code:"invalid_format",format:"url",input:a.value,inst:e,continue:!o.abort})}}}),pt=je("$ZodEmoji",(e,o)=>{o.pattern??(o.pattern=Vo()),rt.init(e,o)}),dt=je("$ZodNanoID",(e,o)=>{o.pattern??(o.pattern=To),rt.init(e,o)}),ht=je("$ZodCUID",(e,o)=>{o.pattern??(o.pattern=xo),rt.init(e,o)}),gt=je("$ZodCUID2",(e,o)=>{o.pattern??(o.pattern=_o),rt.init(e,o)}),kt=je("$ZodULID",(e,o)=>{o.pattern??(o.pattern=So),rt.init(e,o)}),ft=je("$ZodXID",(e,o)=>{o.pattern??(o.pattern=$o),rt.init(e,o)}),bt=je("$ZodKSUID",(e,o)=>{o.pattern??(o.pattern=Io),rt.init(e,o)}),yt=je("$ZodISODateTime",(e,o)=>{o.pattern??(o.pattern=na(o)),rt.init(e,o)}),vt=je("$ZodISODate",(e,o)=>{o.pattern??(o.pattern=aa),rt.init(e,o)}),wt=je("$ZodISOTime",(e,o)=>{o.pattern??(o.pattern=sa(o)),rt.init(e,o)}),jt=je("$ZodISODuration",(e,o)=>{o.pattern??(o.pattern=Oo),rt.init(e,o)}),zt=je("$ZodIPv4",(e,o)=>{o.pattern??(o.pattern=Jo),rt.init(e,o),e._zod.bag.format="ipv4"}),xt=je("$ZodIPv6",(e,o)=>{o.pattern??(o.pattern=Bo),rt.init(e,o),e._zod.bag.format="ipv6",e._zod.check=a=>{try{new URL(`http://[${a.value}]`)}catch{a.issues.push({code:"invalid_format",format:"ipv6",input:a.value,inst:e,continue:!o.abort})}}}),_t=je("$ZodMAC",(e,o)=>{o.pattern??(o.pattern=Yo(o.delimiter)),rt.init(e,o),e._zod.bag.format="mac"}),St=je("$ZodCIDRv4",(e,o)=>{o.pattern??(o.pattern=Ho),rt.init(e,o)}),$t=je("$ZodCIDRv6",(e,o)=>{o.pattern??(o.pattern=Wo),rt.init(e,o),e._zod.check=a=>{const t=a.value.split("/");try{if(2!==t.length)throw new Error;const[e,o]=t;if(!o)throw new Error;const a=Number(o);if(`${a}`!==o)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${e}]`)}catch{a.issues.push({code:"invalid_format",format:"cidrv6",input:a.value,inst:e,continue:!o.abort})}}});function It(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Tt=je("$ZodBase64",(e,o)=>{o.pattern??(o.pattern=Ko),rt.init(e,o),e._zod.bag.contentEncoding="base64",e._zod.check=a=>{It(a.value)||a.issues.push({code:"invalid_format",format:"base64",input:a.value,inst:e,continue:!o.abort})}}),Ot=je("$ZodBase64URL",(e,o)=>{o.pattern??(o.pattern=Go),rt.init(e,o),e._zod.bag.contentEncoding="base64url",e._zod.check=a=>{(function(e){if(!Go.test(e))return!1;const o=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return It(o.padEnd(4*Math.ceil(o.length/4),"="))})(a.value)||a.issues.push({code:"invalid_format",format:"base64url",input:a.value,inst:e,continue:!o.abort})}}),At=je("$ZodE164",(e,o)=>{o.pattern??(o.pattern=ea),rt.init(e,o)}),Et=je("$ZodJWT",(e,o)=>{rt.init(e,o),e._zod.check=a=>{(function(e,o=null){try{const a=e.split(".");if(3!==a.length)return!1;const[t]=a;if(!t)return!1;const s=JSON.parse(atob(t));return!("typ"in s&&"JWT"!==s?.typ||!s.alg||o&&(!("alg"in s)||s.alg!==o))}catch{return!1}})(a.value,o.alg)||a.issues.push({code:"invalid_format",format:"jwt",input:a.value,inst:e,continue:!o.abort})}}),Zt=je("$ZodCustomStringFormat",(e,o)=>{rt.init(e,o),e._zod.check=a=>{o.fn(a.value)||a.issues.push({code:"invalid_format",format:o.format,input:a.value,inst:e,continue:!o.abort})}}),Nt=je("$ZodNumber",(e,o)=>{nt.init(e,o),e._zod.pattern=e._zod.bag.pattern??ma,e._zod.parse=(a,t)=>{if(o.coerce)try{a.value=Number(a.value)}catch(e){}const s=a.value;if("number"==typeof s&&!Number.isNaN(s)&&Number.isFinite(s))return a;const n="number"==typeof s?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return a.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...n?{received:n}:{}}),a}}),Pt=je("$ZodNumberFormat",(e,o)=>{qa.init(e,o),Nt.init(e,o)}),Ct=je("$ZodBoolean",(e,o)=>{nt.init(e,o),e._zod.pattern=ua,e._zod.parse=(a,t)=>{if(o.coerce)try{a.value=Boolean(a.value)}catch(e){}const s=a.value;return"boolean"==typeof s||a.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),a}}),Dt=je("$ZodBigInt",(e,o)=>{nt.init(e,o),e._zod.pattern=ra,e._zod.parse=(a,t)=>{if(o.coerce)try{a.value=BigInt(a.value)}catch(e){}return"bigint"==typeof a.value||a.issues.push({expected:"bigint",code:"invalid_type",input:a.value,inst:e}),a}}),qt=je("$ZodBigIntFormat",(e,o)=>{Ua.init(e,o),Dt.init(e,o)}),Ut=je("$ZodSymbol",(e,o)=>{nt.init(e,o),e._zod.parse=(o,a)=>{const t=o.value;return"symbol"==typeof t||o.issues.push({expected:"symbol",code:"invalid_type",input:t,inst:e}),o}}),Mt=je("$ZodUndefined",(e,o)=>{nt.init(e,o),e._zod.pattern=pa,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(o,a)=>{const t=o.value;return void 0===t||o.issues.push({expected:"undefined",code:"invalid_type",input:t,inst:e}),o}}),Rt=je("$ZodNull",(e,o)=>{nt.init(e,o),e._zod.pattern=la,e._zod.values=new Set([null]),e._zod.parse=(o,a)=>{const t=o.value;return null===t||o.issues.push({expected:"null",code:"invalid_type",input:t,inst:e}),o}}),Ft=je("$ZodAny",(e,o)=>{nt.init(e,o),e._zod.parse=e=>e}),Lt=je("$ZodUnknown",(e,o)=>{nt.init(e,o),e._zod.parse=e=>e}),Vt=je("$ZodNever",(e,o)=>{nt.init(e,o),e._zod.parse=(o,a)=>(o.issues.push({expected:"never",code:"invalid_type",input:o.value,inst:e}),o)}),Jt=je("$ZodVoid",(e,o)=>{nt.init(e,o),e._zod.parse=(o,a)=>{const t=o.value;return void 0===t||o.issues.push({expected:"void",code:"invalid_type",input:t,inst:e}),o}}),Bt=je("$ZodDate",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{if(o.coerce)try{a.value=new Date(a.value)}catch(e){}const s=a.value,n=s instanceof Date;return n&&!Number.isNaN(s.getTime())||a.issues.push({expected:"date",code:"invalid_type",input:s,...n?{received:"Invalid Date"}:{},inst:e}),a}});function Yt(e,o,a){e.issues.length&&o.issues.push(...Xe(a,e.issues)),o.value[a]=e.value}const Ht=je("$ZodArray",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{const s=a.value;if(!Array.isArray(s))return a.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),a;a.value=Array(s.length);const n=[];for(let e=0;e<s.length;e++){const i=s[e],r=o.element._zod.run({value:i,issues:[]},t);r instanceof Promise?n.push(r.then(o=>Yt(o,a,e))):Yt(r,a,e)}return n.length?Promise.all(n).then(()=>a):a}});function Wt(e,o,a,t,s){if(e.issues.length){if(s&&!(a in t))return;o.issues.push(...Xe(a,e.issues))}void 0===e.value?a in t&&(o.value[a]=void 0):o.value[a]=e.value}function Kt(e){const o=Object.keys(e.shape);for(const a of o)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${a}": expected a Zod schema`);const a=(t=e.shape,Object.keys(t).filter(e=>"optional"===t[e]._zod.optin&&"optional"===t[e]._zod.optout));var t;return{...e,keys:o,keySet:new Set(o),numKeys:o.length,optionalKeys:new Set(a)}}function Gt(e,o,a,t,s,n){const i=[],r=s.keySet,c=s.catchall._zod,m=c.def.type,u="optional"===c.optout;for(const s in o){if(r.has(s))continue;if("never"===m){i.push(s);continue}const n=c.run({value:o[s],issues:[]},t);n instanceof Promise?e.push(n.then(e=>Wt(e,a,s,o,u))):Wt(n,a,s,o,u)}return i.length&&a.issues.push({code:"unrecognized_keys",keys:i,input:o,inst:n}),e.length?Promise.all(e).then(()=>a):a}const Xt=je("$ZodObject",(e,o)=>{nt.init(e,o);const a=Object.getOwnPropertyDescriptor(o,"shape");if(!a?.get){const e=o.shape;Object.defineProperty(o,"shape",{get:()=>{const a={...e};return Object.defineProperty(o,"shape",{value:a}),a}})}const t=Oe(()=>Kt(o));Ne(e._zod,"propValues",()=>{const e=o.shape,a={};for(const o in e){const t=e[o]._zod;if(t.values){a[o]??(a[o]=new Set);for(const e of t.values)a[o].add(e)}}return a});const s=Ue,n=o.catchall;let i;e._zod.parse=(o,a)=>{i??(i=t.value);const r=o.value;if(!s(r))return o.issues.push({expected:"object",code:"invalid_type",input:r,inst:e}),o;o.value={};const c=[],m=i.shape;for(const e of i.keys){const t=m[e],s="optional"===t._zod.optout,n=t._zod.run({value:r[e],issues:[]},a);n instanceof Promise?c.push(n.then(a=>Wt(a,o,e,r,s))):Wt(n,o,e,r,s)}return n?Gt(c,r,o,a,t.value,e):c.length?Promise.all(c).then(()=>o):o}}),Qt=je("$ZodObjectJIT",(e,o)=>{Xt.init(e,o);const a=e._zod.parse,t=Oe(()=>Kt(o));let s;const n=Ue,i=!_e.jitless,r=i&&Me.value,c=o.catchall;let m;e._zod.parse=(u,l)=>{m??(m=t.value);const p=u.value;return n(p)?i&&r&&!1===l?.async&&!0!==l.jitless?(s||(s=(e=>{const o=new tt(["shape","payload","ctx"]),a=t.value,s=e=>{const o=De(e);return`shape[${o}]._zod.run({ value: input[${o}], issues: [] }, ctx)`};o.write("const input = payload.value;");const n=Object.create(null);let i=0;for(const e of a.keys)n[e]="key_"+i++;o.write("const newResult = {};");for(const t of a.keys){const a=n[t],i=De(t),r=e[t],c="optional"===r?._zod?.optout;o.write(`const ${a} = ${s(t)};`),c?o.write(`\n if (${a}.issues.length) {\n if (${i} in input) {\n payload.issues = payload.issues.concat(${a}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n }\n \n if (${a}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${a}.value;\n }\n \n `):o.write(`\n if (${a}.issues.length) {\n payload.issues = payload.issues.concat(${a}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n \n if (${a}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${a}.value;\n }\n \n `)}o.write("payload.value = newResult;"),o.write("return payload;");const r=o.compile();return(o,a)=>r(e,o,a)})(o.shape)),u=s(u,l),c?Gt([],p,u,l,m,e):u):a(u,l):(u.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),u)}});function es(e,o,a,t){for(const a of e)if(0===a.issues.length)return o.value=a.value,o;const s=e.filter(e=>!Ge(e));return 1===s.length?(o.value=s[0].value,s[0]):(o.issues.push({code:"invalid_union",input:o.value,inst:a,errors:e.map(e=>e.issues.map(e=>eo(e,t,Se())))}),o)}const os=je("$ZodUnion",(e,o)=>{nt.init(e,o),Ne(e._zod,"optin",()=>o.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),Ne(e._zod,"optout",()=>o.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),Ne(e._zod,"values",()=>{if(o.options.every(e=>e._zod.values))return new Set(o.options.flatMap(e=>Array.from(e._zod.values)))}),Ne(e._zod,"pattern",()=>{if(o.options.every(e=>e._zod.pattern)){const e=o.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>Ee(e.source)).join("|")})$`)}});const a=1===o.options.length,t=o.options[0]._zod.run;e._zod.parse=(s,n)=>{if(a)return t(s,n);let i=!1;const r=[];for(const e of o.options){const o=e._zod.run({value:s.value,issues:[]},n);if(o instanceof Promise)r.push(o),i=!0;else{if(0===o.issues.length)return o;r.push(o)}}return i?Promise.all(r).then(o=>es(o,s,e,n)):es(r,s,e,n)}});function as(e,o,a,t){const s=e.filter(e=>0===e.issues.length);return 1===s.length?(o.value=s[0].value,o):(0===s.length?o.issues.push({code:"invalid_union",input:o.value,inst:a,errors:e.map(e=>e.issues.map(e=>eo(e,t,Se())))}):o.issues.push({code:"invalid_union",input:o.value,inst:a,errors:[],inclusive:!1}),o)}const ts=je("$ZodXor",(e,o)=>{os.init(e,o),o.inclusive=!1;const a=1===o.options.length,t=o.options[0]._zod.run;e._zod.parse=(s,n)=>{if(a)return t(s,n);let i=!1;const r=[];for(const e of o.options){const o=e._zod.run({value:s.value,issues:[]},n);o instanceof Promise?(r.push(o),i=!0):r.push(o)}return i?Promise.all(r).then(o=>as(o,s,e,n)):as(r,s,e,n)}}),ss=je("$ZodDiscriminatedUnion",(e,o)=>{o.inclusive=!1,os.init(e,o);const a=e._zod.parse;Ne(e._zod,"propValues",()=>{const e={};for(const a of o.options){const t=a._zod.propValues;if(!t||0===Object.keys(t).length)throw new Error(`Invalid discriminated union option at index "${o.options.indexOf(a)}"`);for(const[o,a]of Object.entries(t)){e[o]||(e[o]=new Set);for(const t of a)e[o].add(t)}}return e});const t=Oe(()=>{const e=o.options,a=new Map;for(const t of e){const e=t._zod.propValues?.[o.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${o.options.indexOf(t)}"`);for(const o of e){if(a.has(o))throw new Error(`Duplicate discriminator value "${String(o)}"`);a.set(o,t)}}return a});e._zod.parse=(s,n)=>{const i=s.value;if(!Ue(i))return s.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),s;const r=t.value.get(i?.[o.discriminator]);return r?r._zod.run(s,n):o.unionFallback?a(s,n):(s.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:o.discriminator,input:i,path:[o.discriminator],inst:e}),s)}}),ns=je("$ZodIntersection",(e,o)=>{nt.init(e,o),e._zod.parse=(e,a)=>{const t=e.value,s=o.left._zod.run({value:t,issues:[]},a),n=o.right._zod.run({value:t,issues:[]},a);return s instanceof Promise||n instanceof Promise?Promise.all([s,n]).then(([o,a])=>rs(e,o,a)):rs(e,s,n)}});function is(e,o){if(e===o)return{valid:!0,data:e};if(e instanceof Date&&o instanceof Date&&+e===+o)return{valid:!0,data:e};if(Re(e)&&Re(o)){const a=Object.keys(o),t=Object.keys(e).filter(e=>-1!==a.indexOf(e)),s={...e,...o};for(const a of t){const t=is(e[a],o[a]);if(!t.valid)return{valid:!1,mergeErrorPath:[a,...t.mergeErrorPath]};s[a]=t.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(o)){if(e.length!==o.length)return{valid:!1,mergeErrorPath:[]};const a=[];for(let t=0;t<e.length;t++){const s=is(e[t],o[t]);if(!s.valid)return{valid:!1,mergeErrorPath:[t,...s.mergeErrorPath]};a.push(s.data)}return{valid:!0,data:a}}return{valid:!1,mergeErrorPath:[]}}function rs(e,o,a){const t=new Map;let s;for(const a of o.issues)if("unrecognized_keys"===a.code){s??(s=a);for(const e of a.keys)t.has(e)||t.set(e,{}),t.get(e).l=!0}else e.issues.push(a);for(const o of a.issues)if("unrecognized_keys"===o.code)for(const e of o.keys)t.has(e)||t.set(e,{}),t.get(e).r=!0;else e.issues.push(o);const n=[...t].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(n.length&&s&&e.issues.push({...s,keys:n}),Ge(e))return e;const i=is(o.value,a.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const cs=je("$ZodTuple",(e,o)=>{nt.init(e,o);const a=o.items;e._zod.parse=(t,s)=>{const n=t.value;if(!Array.isArray(n))return t.issues.push({input:n,inst:e,expected:"tuple",code:"invalid_type"}),t;t.value=[];const i=[],r=[...a].reverse().findIndex(e=>"optional"!==e._zod.optin),c=-1===r?0:a.length-r;if(!o.rest){const o=n.length>a.length,s=n.length<c-1;if(o||s)return t.issues.push({...o?{code:"too_big",maximum:a.length,inclusive:!0}:{code:"too_small",minimum:a.length},input:n,inst:e,origin:"array"}),t}let m=-1;for(const e of a){if(m++,m>=n.length&&m>=c)continue;const o=e._zod.run({value:n[m],issues:[]},s);o instanceof Promise?i.push(o.then(e=>ms(e,t,m))):ms(o,t,m)}if(o.rest){const e=n.slice(a.length);for(const a of e){m++;const e=o.rest._zod.run({value:a,issues:[]},s);e instanceof Promise?i.push(e.then(e=>ms(e,t,m))):ms(e,t,m)}}return i.length?Promise.all(i).then(()=>t):t}});function ms(e,o,a){e.issues.length&&o.issues.push(...Xe(a,e.issues)),o.value[a]=e.value}const us=je("$ZodRecord",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{const s=a.value;if(!Re(s))return a.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),a;const n=[],i=o.keyType._zod.values;if(i){a.value={};const r=new Set;for(const e of i)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){r.add("number"==typeof e?e.toString():e);const i=o.valueType._zod.run({value:s[e],issues:[]},t);i instanceof Promise?n.push(i.then(o=>{o.issues.length&&a.issues.push(...Xe(e,o.issues)),a.value[e]=o.value})):(i.issues.length&&a.issues.push(...Xe(e,i.issues)),a.value[e]=i.value)}let c;for(const e in s)r.has(e)||(c=c??[],c.push(e));c&&c.length>0&&a.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{a.value={};for(const i of Reflect.ownKeys(s)){if("__proto__"===i)continue;let r=o.keyType._zod.run({value:i,issues:[]},t);if(r instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof i&&ma.test(i)&&r.issues.length){const e=o.keyType._zod.run({value:Number(i),issues:[]},t);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(r=e)}if(r.issues.length){"loose"===o.mode?a.value[i]=s[i]:a.issues.push({code:"invalid_key",origin:"record",issues:r.issues.map(e=>eo(e,t,Se())),input:i,path:[i],inst:e});continue}const c=o.valueType._zod.run({value:s[i],issues:[]},t);c instanceof Promise?n.push(c.then(e=>{e.issues.length&&a.issues.push(...Xe(i,e.issues)),a.value[r.value]=e.value})):(c.issues.length&&a.issues.push(...Xe(i,c.issues)),a.value[r.value]=c.value)}}return n.length?Promise.all(n).then(()=>a):a}}),ls=je("$ZodMap",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{const s=a.value;if(!(s instanceof Map))return a.issues.push({expected:"map",code:"invalid_type",input:s,inst:e}),a;const n=[];a.value=new Map;for(const[i,r]of s){const c=o.keyType._zod.run({value:i,issues:[]},t),m=o.valueType._zod.run({value:r,issues:[]},t);c instanceof Promise||m instanceof Promise?n.push(Promise.all([c,m]).then(([o,n])=>{ps(o,n,a,i,s,e,t)})):ps(c,m,a,i,s,e,t)}return n.length?Promise.all(n).then(()=>a):a}});function ps(e,o,a,t,s,n,i){e.issues.length&&(Le.has(typeof t)?a.issues.push(...Xe(t,e.issues)):a.issues.push({code:"invalid_key",origin:"map",input:s,inst:n,issues:e.issues.map(e=>eo(e,i,Se()))})),o.issues.length&&(Le.has(typeof t)?a.issues.push(...Xe(t,o.issues)):a.issues.push({origin:"map",code:"invalid_element",input:s,inst:n,key:t,issues:o.issues.map(e=>eo(e,i,Se()))})),a.value.set(e.value,o.value)}const ds=je("$ZodSet",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{const s=a.value;if(!(s instanceof Set))return a.issues.push({input:s,inst:e,expected:"set",code:"invalid_type"}),a;const n=[];a.value=new Set;for(const e of s){const s=o.valueType._zod.run({value:e,issues:[]},t);s instanceof Promise?n.push(s.then(e=>hs(e,a))):hs(s,a)}return n.length?Promise.all(n).then(()=>a):a}});function hs(e,o){e.issues.length&&o.issues.push(...e.issues),o.value.add(e.value)}const gs=je("$ZodEnum",(e,o)=>{nt.init(e,o);const a=$e(o.entries),t=new Set(a);e._zod.values=t,e._zod.pattern=new RegExp(`^(${a.filter(e=>Le.has(typeof e)).map(e=>"string"==typeof e?Je(e):e.toString()).join("|")})$`),e._zod.parse=(o,s)=>{const n=o.value;return t.has(n)||o.issues.push({code:"invalid_value",values:a,input:n,inst:e}),o}}),ks=je("$ZodLiteral",(e,o)=>{if(nt.init(e,o),0===o.values.length)throw new Error("Cannot create literal schema with no valid values");const a=new Set(o.values);e._zod.values=a,e._zod.pattern=new RegExp(`^(${o.values.map(e=>"string"==typeof e?Je(e):e?Je(e.toString()):String(e)).join("|")})$`),e._zod.parse=(t,s)=>{const n=t.value;return a.has(n)||t.issues.push({code:"invalid_value",values:o.values,input:n,inst:e}),t}}),fs=je("$ZodFile",(e,o)=>{nt.init(e,o),e._zod.parse=(o,a)=>{const t=o.value;return t instanceof File||o.issues.push({expected:"file",code:"invalid_type",input:t,inst:e}),o}}),bs=je("$ZodTransform",(e,o)=>{nt.init(e,o),e._zod.parse=(a,t)=>{if("backward"===t.direction)throw new xe(e.constructor.name);const s=o.transform(a.value,a);if(t.async)return(s instanceof Promise?s:Promise.resolve(s)).then(e=>(a.value=e,a));if(s instanceof Promise)throw new ze;return a.value=s,a}});function ys(e,o){return e.issues.length&&void 0===o?{issues:[],value:void 0}:e}const vs=je("$ZodOptional",(e,o)=>{nt.init(e,o),e._zod.optin="optional",e._zod.optout="optional",Ne(e._zod,"values",()=>o.innerType._zod.values?new Set([...o.innerType._zod.values,void 0]):void 0),Ne(e._zod,"pattern",()=>{const e=o.innerType._zod.pattern;return e?new RegExp(`^(${Ee(e.source)})?$`):void 0}),e._zod.parse=(e,a)=>{if("optional"===o.innerType._zod.optin){const t=o.innerType._zod.run(e,a);return t instanceof Promise?t.then(o=>ys(o,e.value)):ys(t,e.value)}return void 0===e.value?e:o.innerType._zod.run(e,a)}}),ws=je("$ZodExactOptional",(e,o)=>{vs.init(e,o),Ne(e._zod,"values",()=>o.innerType._zod.values),Ne(e._zod,"pattern",()=>o.innerType._zod.pattern),e._zod.parse=(e,a)=>o.innerType._zod.run(e,a)}),js=je("$ZodNullable",(e,o)=>{nt.init(e,o),Ne(e._zod,"optin",()=>o.innerType._zod.optin),Ne(e._zod,"optout",()=>o.innerType._zod.optout),Ne(e._zod,"pattern",()=>{const e=o.innerType._zod.pattern;return e?new RegExp(`^(${Ee(e.source)}|null)$`):void 0}),Ne(e._zod,"values",()=>o.innerType._zod.values?new Set([...o.innerType._zod.values,null]):void 0),e._zod.parse=(e,a)=>null===e.value?e:o.innerType._zod.run(e,a)}),zs=je("$ZodDefault",(e,o)=>{nt.init(e,o),e._zod.optin="optional",Ne(e._zod,"values",()=>o.innerType._zod.values),e._zod.parse=(e,a)=>{if("backward"===a.direction)return o.innerType._zod.run(e,a);if(void 0===e.value)return e.value=o.defaultValue,e;const t=o.innerType._zod.run(e,a);return t instanceof Promise?t.then(e=>xs(e,o)):xs(t,o)}});function xs(e,o){return void 0===e.value&&(e.value=o.defaultValue),e}const _s=je("$ZodPrefault",(e,o)=>{nt.init(e,o),e._zod.optin="optional",Ne(e._zod,"values",()=>o.innerType._zod.values),e._zod.parse=(e,a)=>("backward"===a.direction||void 0===e.value&&(e.value=o.defaultValue),o.innerType._zod.run(e,a))}),Ss=je("$ZodNonOptional",(e,o)=>{nt.init(e,o),Ne(e._zod,"values",()=>{const e=o.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(a,t)=>{const s=o.innerType._zod.run(a,t);return s instanceof Promise?s.then(o=>$s(o,e)):$s(s,e)}});function $s(e,o){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:o}),e}const Is=je("$ZodSuccess",(e,o)=>{nt.init(e,o),e._zod.parse=(e,a)=>{if("backward"===a.direction)throw new xe("ZodSuccess");const t=o.innerType._zod.run(e,a);return t instanceof Promise?t.then(o=>(e.value=0===o.issues.length,e)):(e.value=0===t.issues.length,e)}}),Ts=je("$ZodCatch",(e,o)=>{nt.init(e,o),Ne(e._zod,"optin",()=>o.innerType._zod.optin),Ne(e._zod,"optout",()=>o.innerType._zod.optout),Ne(e._zod,"values",()=>o.innerType._zod.values),e._zod.parse=(e,a)=>{if("backward"===a.direction)return o.innerType._zod.run(e,a);const t=o.innerType._zod.run(e,a);return t instanceof Promise?t.then(t=>(e.value=t.value,t.issues.length&&(e.value=o.catchValue({...e,error:{issues:t.issues.map(e=>eo(e,a,Se()))},input:e.value}),e.issues=[]),e)):(e.value=t.value,t.issues.length&&(e.value=o.catchValue({...e,error:{issues:t.issues.map(e=>eo(e,a,Se()))},input:e.value}),e.issues=[]),e)}}),Os=je("$ZodNaN",(e,o)=>{nt.init(e,o),e._zod.parse=(o,a)=>("number"==typeof o.value&&Number.isNaN(o.value)||o.issues.push({input:o.value,inst:e,expected:"nan",code:"invalid_type"}),o)}),As=je("$ZodPipe",(e,o)=>{nt.init(e,o),Ne(e._zod,"values",()=>o.in._zod.values),Ne(e._zod,"optin",()=>o.in._zod.optin),Ne(e._zod,"optout",()=>o.out._zod.optout),Ne(e._zod,"propValues",()=>o.in._zod.propValues),e._zod.parse=(e,a)=>{if("backward"===a.direction){const t=o.out._zod.run(e,a);return t instanceof Promise?t.then(e=>Es(e,o.in,a)):Es(t,o.in,a)}const t=o.in._zod.run(e,a);return t instanceof Promise?t.then(e=>Es(e,o.out,a)):Es(t,o.out,a)}});function Es(e,o,a){return e.issues.length?(e.aborted=!0,e):o._zod.run({value:e.value,issues:e.issues},a)}const Zs=je("$ZodCodec",(e,o)=>{nt.init(e,o),Ne(e._zod,"values",()=>o.in._zod.values),Ne(e._zod,"optin",()=>o.in._zod.optin),Ne(e._zod,"optout",()=>o.out._zod.optout),Ne(e._zod,"propValues",()=>o.in._zod.propValues),e._zod.parse=(e,a)=>{if("forward"===(a.direction||"forward")){const t=o.in._zod.run(e,a);return t instanceof Promise?t.then(e=>Ns(e,o,a)):Ns(t,o,a)}{const t=o.out._zod.run(e,a);return t instanceof Promise?t.then(e=>Ns(e,o,a)):Ns(t,o,a)}}});function Ns(e,o,a){if(e.issues.length)return e.aborted=!0,e;if("forward"===(a.direction||"forward")){const t=o.transform(e.value,e);return t instanceof Promise?t.then(t=>Ps(e,t,o.out,a)):Ps(e,t,o.out,a)}{const t=o.reverseTransform(e.value,e);return t instanceof Promise?t.then(t=>Ps(e,t,o.in,a)):Ps(e,t,o.in,a)}}function Ps(e,o,a,t){return e.issues.length?(e.aborted=!0,e):a._zod.run({value:o,issues:e.issues},t)}const Cs=je("$ZodReadonly",(e,o)=>{nt.init(e,o),Ne(e._zod,"propValues",()=>o.innerType._zod.propValues),Ne(e._zod,"values",()=>o.innerType._zod.values),Ne(e._zod,"optin",()=>o.innerType?._zod?.optin),Ne(e._zod,"optout",()=>o.innerType?._zod?.optout),e._zod.parse=(e,a)=>{if("backward"===a.direction)return o.innerType._zod.run(e,a);const t=o.innerType._zod.run(e,a);return t instanceof Promise?t.then(Ds):Ds(t)}});function Ds(e){return e.value=Object.freeze(e.value),e}const qs=je("$ZodTemplateLiteral",(e,o)=>{nt.init(e,o);const a=[];for(const e of o.parts)if("object"==typeof e&&null!==e){if(!e._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);const o=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${e._zod.traits}`);const t=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;a.push(o.slice(t,s))}else{if(null!==e&&!Ve.has(typeof e))throw new Error(`Invalid template literal part: ${e}`);a.push(Je(`${e}`))}e._zod.pattern=new RegExp(`^${a.join("")}$`),e._zod.parse=(a,t)=>"string"!=typeof a.value?(a.issues.push({input:a.value,inst:e,expected:"string",code:"invalid_type"}),a):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(a.value)||a.issues.push({input:a.value,inst:e,code:"invalid_format",format:o.format??"template_literal",pattern:e._zod.pattern.source}),a)}),Us=je("$ZodFunction",(e,o)=>(nt.init(e,o),e._def=o,e._zod.def=o,e.implement=o=>{if("function"!=typeof o)throw new Error("implement() must be called with a function");return function(...a){const t=e._def.input?co(e._def.input,a):a,s=Reflect.apply(o,this,t);return e._def.output?co(e._def.output,s):s}},e.implementAsync=o=>{if("function"!=typeof o)throw new Error("implementAsync() must be called with a function");return async function(...a){const t=e._def.input?await uo(e._def.input,a):a,s=await Reflect.apply(o,this,t);return e._def.output?await uo(e._def.output,s):s}},e._zod.parse=(o,a)=>{if("function"!=typeof o.value)return o.issues.push({code:"invalid_type",expected:"function",input:o.value,inst:e}),o;const t=e._def.output&&"promise"===e._def.output._zod.def.type;return o.value=t?e.implementAsync(o.value):e.implement(o.value),o},e.input=(...o)=>{const a=e.constructor;return Array.isArray(o[0])?new a({type:"function",input:new cs({type:"tuple",items:o[0],rest:o[1]}),output:e._def.output}):new a({type:"function",input:o[0],output:e._def.output})},e.output=o=>new(0,e.constructor)({type:"function",input:e._def.input,output:o}),e)),Ms=je("$ZodPromise",(e,o)=>{nt.init(e,o),e._zod.parse=(e,a)=>Promise.resolve(e.value).then(e=>o.innerType._zod.run({value:e,issues:[]},a))}),Rs=je("$ZodLazy",(e,o)=>{nt.init(e,o),Ne(e._zod,"innerType",()=>o.getter()),Ne(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Ne(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Ne(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Ne(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(o,a)=>e._zod.innerType._zod.run(o,a)}),Fs=je("$ZodCustom",(e,o)=>{Za.init(e,o),nt.init(e,o),e._zod.parse=(e,o)=>e,e._zod.check=a=>{const t=a.value,s=o.fn(t);if(s instanceof Promise)return s.then(o=>Ls(o,a,t,e));Ls(s,a,t,e)}});function Ls(e,o,a,t){if(!e){const e={code:"custom",input:a,inst:t,path:[...t._zod.def.path??[]],continue:!t._zod.def.abort};t._zod.def.params&&(e.params=t._zod.def.params),o.issues.push(to(e))}}var Vs;Symbol("ZodOutput"),Symbol("ZodInput");(Vs=globalThis).__zod_globalRegistry??(Vs.__zod_globalRegistry=new class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...o){const a=o[0];return this._map.set(e,a),a&&"object"==typeof a&&"id"in a&&this._idmap.set(a.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const o=this._map.get(e);return o&&"object"==typeof o&&"id"in o&&this._idmap.delete(o.id),this._map.delete(e),this}get(e){const o=e._zod.parent;if(o){const a={...this.get(o)??{}};delete a.id;const t={...a,...this._map.get(e)};return Object.keys(t).length?t:void 0}return this._map.get(e)}has(e){return this._map.has(e)}});const Js=globalThis.__zod_globalRegistry;function Bs(e,o){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ye(o)})}function Ys(e,o){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ye(o)})}function Hs(e,o){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ye(o)})}function Ws(e,o){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ye(o)})}function Ks(e,o){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ye(o)})}function Gs(e,o){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ye(o)})}function Xs(e,o){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ye(o)})}function Qs(e,o){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ye(o)})}function en(e,o){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ye(o)})}function on(e,o){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ye(o)})}function an(e,o){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ye(o)})}function tn(e,o){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ye(o)})}function sn(e,o){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ye(o)})}function nn(e,o){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ye(o)})}function rn(e,o){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ye(o)})}function cn(e,o){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ye(o)})}function mn(e,o){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ye(o)})}function un(e,o){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ye(o)})}function ln(e,o){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ye(o)})}function pn(e,o){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ye(o)})}function dn(e,o){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ye(o)})}function hn(e,o){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ye(o)})}function gn(e,o){return new Pa({check:"less_than",...Ye(o),value:e,inclusive:!1})}function kn(e,o){return new Pa({check:"less_than",...Ye(o),value:e,inclusive:!0})}function fn(e,o){return new Ca({check:"greater_than",...Ye(o),value:e,inclusive:!1})}function bn(e,o){return new Ca({check:"greater_than",...Ye(o),value:e,inclusive:!0})}function yn(e){return fn(0,e)}function vn(e){return gn(0,e)}function wn(e){return kn(0,e)}function jn(e){return bn(0,e)}function zn(e,o){return new Da({check:"multiple_of",...Ye(o),value:e})}function xn(e,o){return new Ma({check:"max_size",...Ye(o),maximum:e})}function _n(e,o){return new Ra({check:"min_size",...Ye(o),minimum:e})}function Sn(e,o){return new Fa({check:"size_equals",...Ye(o),size:e})}function $n(e,o){return new La({check:"max_length",...Ye(o),maximum:e})}function In(e,o){return new Va({check:"min_length",...Ye(o),minimum:e})}function Tn(e,o){return new Ja({check:"length_equals",...Ye(o),length:e})}function On(e,o){return new Ya({check:"string_format",format:"regex",...Ye(o),pattern:e})}function An(e){return new Ha({check:"string_format",format:"lowercase",...Ye(e)})}function En(e){return new Wa({check:"string_format",format:"uppercase",...Ye(e)})}function Zn(e,o){return new Ka({check:"string_format",format:"includes",...Ye(o),includes:e})}function Nn(e,o){return new Ga({check:"string_format",format:"starts_with",...Ye(o),prefix:e})}function Pn(e,o){return new Xa({check:"string_format",format:"ends_with",...Ye(o),suffix:e})}function Cn(e,o,a){return new et({check:"property",property:e,schema:o,...Ye(a)})}function Dn(e,o){return new ot({check:"mime_type",mime:e,...Ye(o)})}function qn(e){return new at({check:"overwrite",tx:e})}function Un(e){return qn(o=>o.normalize(e))}function Mn(){return qn(e=>e.trim())}function Rn(){return qn(e=>e.toLowerCase())}function Fn(){return qn(e=>e.toUpperCase())}function Ln(){return qn(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e))}function Vn(e,o,a,t={}){const s=Ye(t),n={...Ye(t),check:"string_format",type:"string",format:o,fn:"function"==typeof a?a:e=>a.test(e),...s};return a instanceof RegExp&&(n.pattern=a),new e(n)}function Jn(e){let o=e?.target??"draft-2020-12";return"draft-4"===o&&(o="draft-04"),"draft-7"===o&&(o="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Js,target:o,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Bn(e,o,a={path:[],schemaPath:[]}){var t;const s=e._zod.def,n=o.seen.get(e);if(n)return n.count++,a.schemaPath.includes(e)&&(n.cycle=a.path),n.schema;const i={schema:{},count:1,cycle:void 0,path:a.path};o.seen.set(e,i);const r=e._zod.toJSONSchema?.();if(r)i.schema=r;else{const t={...a,schemaPath:[...a.schemaPath,e],path:a.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(o,i.schema,t);else{const a=i.schema,n=o.processors[s.type];if(!n)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);n(e,o,a,t)}const n=e._zod.parent;n&&(i.ref||(i.ref=n),Bn(n,o,t),o.seen.get(n).isParent=!0)}const c=o.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),"input"===o.io&&Wn(e)&&(delete i.schema.examples,delete i.schema.default),"input"===o.io&&i.schema._prefault&&((t=i.schema).default??(t.default=i.schema._prefault)),delete i.schema._prefault,o.seen.get(e).schema}function Yn(e,o){const a=e.seen.get(o);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");const t=new Map;for(const o of e.seen.entries()){const a=e.metadataRegistry.get(o[0])?.id;if(a){const e=t.get(a);if(e&&e!==o[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);t.set(a,o[0])}}const s=o=>{if(o[1].schema.$ref)return;const t=o[1],{ref:s,defId:n}=(o=>{const t="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const a=e.external.registry.get(o[0])?.id,s=e.external.uri??(e=>e);if(a)return{ref:s(a)};const n=o[1].defId??o[1].schema.id??"schema"+e.counter++;return o[1].defId=n,{defId:n,ref:`${s("__shared")}#/${t}/${n}`}}if(o[1]===a)return{ref:"#"};const s=`#/${t}/`,n=o[1].schema.id??"__schema"+e.counter++;return{defId:n,ref:s+n}})(o);t.def={...t.schema},n&&(t.defId=n);const i=t.schema;for(const e in i)delete i[e];i.$ref=s};if("throw"===e.cycles)for(const o of e.seen.entries()){const e=o[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const t=a[1];if(o===a[0]){s(a);continue}if(e.external){const t=e.external.registry.get(a[0])?.id;if(o!==a[0]&&t){s(a);continue}}const n=e.metadataRegistry.get(a[0])?.id;(n||t.cycle||t.count>1&&"ref"===e.reused)&&s(a)}}function Hn(e,o){const a=e.seen.get(o);if(!a)throw new Error("Unprocessed schema. This is a bug in Zod.");const t=o=>{const a=e.seen.get(o);if(null===a.ref)return;const s=a.def??a.schema,n={...s},i=a.ref;if(a.ref=null,i){t(i);const a=e.seen.get(i),r=a.schema;if(!r.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(s,r):(s.allOf=s.allOf??[],s.allOf.push(r)),Object.assign(s,n),o._zod.parent===i)for(const e in s)"$ref"!==e&&"allOf"!==e&&(e in n||delete s[e]);if(r.$ref&&a.def)for(const e in s)"$ref"!==e&&"allOf"!==e&&e in a.def&&JSON.stringify(s[e])===JSON.stringify(a.def[e])&&delete s[e]}const r=o._zod.parent;if(r&&r!==i){t(r);const o=e.seen.get(r);if(o?.schema.$ref&&(s.$ref=o.schema.$ref,o.def))for(const e in s)"$ref"!==e&&"allOf"!==e&&e in o.def&&JSON.stringify(s[e])===JSON.stringify(o.def[e])&&delete s[e]}e.override({zodSchema:o,jsonSchema:s,path:a.path??[]})};for(const o of[...e.seen.entries()].reverse())t(o[0]);const s={};if("draft-2020-12"===e.target?s.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?s.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(o)?.id;if(!a)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(a)}Object.assign(s,a.def??a.schema);const n=e.external?.defs??{};for(const o of e.seen.entries()){const e=o[1];e.def&&e.defId&&(n[e.defId]=e.def)}e.external||Object.keys(n).length>0&&("draft-2020-12"===e.target?s.$defs=n:s.definitions=n);try{const a=JSON.parse(JSON.stringify(s));return Object.defineProperty(a,"~standard",{value:{...o["~standard"],jsonSchema:{input:Kn(o,"input",e.processors),output:Kn(o,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch(e){throw new Error("Error converting schema to JSON.")}}function Wn(e,o){const a=o??{seen:new Set};if(a.seen.has(e))return!1;a.seen.add(e);const t=e._zod.def;if("transform"===t.type)return!0;if("array"===t.type)return Wn(t.element,a);if("set"===t.type)return Wn(t.valueType,a);if("lazy"===t.type)return Wn(t.getter(),a);if("promise"===t.type||"optional"===t.type||"nonoptional"===t.type||"nullable"===t.type||"readonly"===t.type||"default"===t.type||"prefault"===t.type)return Wn(t.innerType,a);if("intersection"===t.type)return Wn(t.left,a)||Wn(t.right,a);if("record"===t.type||"map"===t.type)return Wn(t.keyType,a)||Wn(t.valueType,a);if("pipe"===t.type)return Wn(t.in,a)||Wn(t.out,a);if("object"===t.type){for(const e in t.shape)if(Wn(t.shape[e],a))return!0;return!1}if("union"===t.type){for(const e of t.options)if(Wn(e,a))return!0;return!1}if("tuple"===t.type){for(const e of t.items)if(Wn(e,a))return!0;return!(!t.rest||!Wn(t.rest,a))}return!1}const Kn=(e,o,a={})=>t=>{const{libraryOptions:s,target:n}=t??{},i=Jn({...s??{},target:n,io:o,processors:a});return Bn(e,i),Yn(i,e),Hn(i,e)},Gn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Xn=(e,o,a,t)=>{const s=e._zod.def,n=!1===s.inclusive,i=s.options.map((e,a)=>Bn(e,o,{...t,path:[...t.path,n?"oneOf":"anyOf",a]}));n?a.oneOf=i:a.anyOf=i},Qn=(e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType},ei=je("ZodISODateTime",(e,o)=>{yt.init(e,o),Si.init(e,o)});function oi(e){return function(e,o){return new ei({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ye(o)})}(0,e)}const ai=je("ZodISODate",(e,o)=>{vt.init(e,o),Si.init(e,o)});function ti(e){return function(e,o){return new ai({type:"string",format:"date",check:"string_format",...Ye(o)})}(0,e)}const si=je("ZodISOTime",(e,o)=>{wt.init(e,o),Si.init(e,o)});function ni(e){return function(e,o){return new si({type:"string",format:"time",check:"string_format",precision:null,...Ye(o)})}(0,e)}const ii=je("ZodISODuration",(e,o)=>{jt.init(e,o),Si.init(e,o)});function ri(e){return function(e,o){return new ii({type:"string",format:"duration",check:"string_format",...Ye(o)})}(0,e)}const ci=(e,o)=>{no.init(e,o),e.name="ZodError",Object.defineProperties(e,{format:{value:o=>function(e,o=e=>e.message){const a={_errors:[]},t=e=>{for(const s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map(e=>t({issues:e}));else if("invalid_key"===s.code)t({issues:s.issues});else if("invalid_element"===s.code)t({issues:s.issues});else if(0===s.path.length)a._errors.push(o(s));else{let e=a,t=0;for(;t<s.path.length;){const a=s.path[t];t===s.path.length-1?(e[a]=e[a]||{_errors:[]},e[a]._errors.push(o(s))):e[a]=e[a]||{_errors:[]},e=e[a],t++}}};return t(e),a}(e,o)},flatten:{value:o=>function(e,o=e=>e.message){const a={},t=[];for(const s of e.issues)s.path.length>0?(a[s.path[0]]=a[s.path[0]]||[],a[s.path[0]].push(o(s))):t.push(o(s));return{formErrors:t,fieldErrors:a}}(e,o)},addIssue:{value:o=>{e.issues.push(o),e.message=JSON.stringify(e.issues,Te,2)}},addIssues:{value:o=>{e.issues.push(...o),e.message=JSON.stringify(e.issues,Te,2)}},isEmpty:{get:()=>0===e.issues.length}})},mi=(je("ZodError",ci),je("ZodError",ci,{Parent:Error})),ui=ro(mi),li=mo(mi),pi=lo(mi),di=ho(mi),hi=ko(mi),gi=fo(mi),ki=bo(mi),fi=yo(mi),bi=vo(mi),yi=wo(mi),vi=jo(mi),wi=zo(mi),ji=je("ZodType",(e,o)=>(nt.init(e,o),Object.assign(e["~standard"],{jsonSchema:{input:Kn(e,"input"),output:Kn(e,"output")}}),e.toJSONSchema=((e,o={})=>a=>{const t=Jn({...a,processors:o});return Bn(e,t),Yn(t,e),Hn(t,e)})(e,{}),e.def=o,e.type=o.type,Object.defineProperty(e,"_def",{value:o}),e.check=(...a)=>e.clone(Ce(o,{checks:[...o.checks??[],...a.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(o,a)=>Be(e,o,a),e.brand=()=>e,e.register=(o,a)=>(o.add(e,a),e),e.parse=(o,a)=>ui(e,o,a,{callee:e.parse}),e.safeParse=(o,a)=>pi(e,o,a),e.parseAsync=async(o,a)=>li(e,o,a,{callee:e.parseAsync}),e.safeParseAsync=async(o,a)=>di(e,o,a),e.spa=e.safeParseAsync,e.encode=(o,a)=>hi(e,o,a),e.decode=(o,a)=>gi(e,o,a),e.encodeAsync=async(o,a)=>ki(e,o,a),e.decodeAsync=async(o,a)=>fi(e,o,a),e.safeEncode=(o,a)=>bi(e,o,a),e.safeDecode=(o,a)=>yi(e,o,a),e.safeEncodeAsync=async(o,a)=>vi(e,o,a),e.safeDecodeAsync=async(o,a)=>wi(e,o,a),e.refine=(o,a)=>e.check(gm(o,a)),e.superRefine=o=>e.check(km(o)),e.overwrite=o=>e.check(qn(o)),e.optional=()=>Nc(e),e.exactOptional=()=>Cc(e),e.nullable=()=>qc(e),e.nullish=()=>Nc(qc(e)),e.nonoptional=o=>Jc(e,o),e.array=()=>ec(e),e.or=o=>rc([e,o]),e.and=o=>dc(e,o),e.transform=o=>Qc(e,Ec(o)),e.default=o=>Rc(e,o),e.prefault=o=>Lc(e,o),e.catch=o=>Wc(e,o),e.pipe=o=>Qc(e,o),e.readonly=()=>tm(e),e.describe=o=>{const a=e.clone();return Js.add(a,{description:o}),a},Object.defineProperty(e,"description",{get:()=>Js.get(e)?.description,configurable:!0}),e.meta=(...o)=>{if(0===o.length)return Js.get(e);const a=e.clone();return Js.add(a,o[0]),a},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=o=>o(e),e)),zi=je("_ZodString",(e,o)=>{it.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=a;t.type="string";const{minimum:s,maximum:n,format:i,patterns:r,contentEncoding:c}=e._zod.bag;if("number"==typeof s&&(t.minLength=s),"number"==typeof n&&(t.maxLength=n),i&&(t.format=Gn[i]??i,""===t.format&&delete t.format,"time"===i&&delete t.format),c&&(t.contentEncoding=c),r&&r.size>0){const e=[...r];1===e.length?t.pattern=e[0].source:e.length>1&&(t.allOf=[...e.map(e=>({..."draft-07"===o.target||"draft-04"===o.target||"openapi-3.0"===o.target?{type:"string"}:{},pattern:e.source}))])}})(e,o,a);const a=e._zod.bag;e.format=a.format??null,e.minLength=a.minimum??null,e.maxLength=a.maximum??null,e.regex=(...o)=>e.check(On(...o)),e.includes=(...o)=>e.check(Zn(...o)),e.startsWith=(...o)=>e.check(Nn(...o)),e.endsWith=(...o)=>e.check(Pn(...o)),e.min=(...o)=>e.check(In(...o)),e.max=(...o)=>e.check($n(...o)),e.length=(...o)=>e.check(Tn(...o)),e.nonempty=(...o)=>e.check(In(1,...o)),e.lowercase=o=>e.check(An(o)),e.uppercase=o=>e.check(En(o)),e.trim=()=>e.check(Mn()),e.normalize=(...o)=>e.check(Un(...o)),e.toLowerCase=()=>e.check(Rn()),e.toUpperCase=()=>e.check(Fn()),e.slugify=()=>e.check(Ln())}),xi=je("ZodString",(e,o)=>{it.init(e,o),zi.init(e,o),e.email=o=>e.check(Bs($i,o)),e.url=o=>e.check(Xs(Ci,o)),e.jwt=o=>e.check(hn(gr,o)),e.emoji=o=>e.check(Qs(Ui,o)),e.guid=o=>e.check(Ys(Ti,o)),e.uuid=o=>e.check(Hs(Ai,o)),e.uuidv4=o=>e.check(Ws(Ai,o)),e.uuidv6=o=>e.check(Ks(Ai,o)),e.uuidv7=o=>e.check(Gs(Ai,o)),e.nanoid=o=>e.check(en(Ri,o)),e.guid=o=>e.check(Ys(Ti,o)),e.cuid=o=>e.check(on(Li,o)),e.cuid2=o=>e.check(an(Ji,o)),e.ulid=o=>e.check(tn(Yi,o)),e.base64=o=>e.check(ln(mr,o)),e.base64url=o=>e.check(pn(lr,o)),e.xid=o=>e.check(sn(Wi,o)),e.ksuid=o=>e.check(nn(Gi,o)),e.ipv4=o=>e.check(rn(Qi,o)),e.ipv6=o=>e.check(cn(tr,o)),e.cidrv4=o=>e.check(mn(nr,o)),e.cidrv6=o=>e.check(un(rr,o)),e.e164=o=>e.check(dn(dr,o)),e.datetime=o=>e.check(oi(o)),e.date=o=>e.check(ti(o)),e.time=o=>e.check(ni(o)),e.duration=o=>e.check(ri(o))});function _i(e){return function(e,o){return new xi({type:"string",...Ye(o)})}(0,e)}const Si=je("ZodStringFormat",(e,o)=>{rt.init(e,o),zi.init(e,o)}),$i=je("ZodEmail",(e,o)=>{ut.init(e,o),Si.init(e,o)});function Ii(e){return Bs($i,e)}const Ti=je("ZodGUID",(e,o)=>{ct.init(e,o),Si.init(e,o)});function Oi(e){return Ys(Ti,e)}const Ai=je("ZodUUID",(e,o)=>{mt.init(e,o),Si.init(e,o)});function Ei(e){return Hs(Ai,e)}function Zi(e){return Ws(Ai,e)}function Ni(e){return Ks(Ai,e)}function Pi(e){return Gs(Ai,e)}const Ci=je("ZodURL",(e,o)=>{lt.init(e,o),Si.init(e,o)});function Di(e){return Xs(Ci,e)}function qi(e){return Xs(Ci,{protocol:/^https?$/,hostname:Qo,...Ye(e)})}const Ui=je("ZodEmoji",(e,o)=>{pt.init(e,o),Si.init(e,o)});function Mi(e){return Qs(Ui,e)}const Ri=je("ZodNanoID",(e,o)=>{dt.init(e,o),Si.init(e,o)});function Fi(e){return en(Ri,e)}const Li=je("ZodCUID",(e,o)=>{ht.init(e,o),Si.init(e,o)});function Vi(e){return on(Li,e)}const Ji=je("ZodCUID2",(e,o)=>{gt.init(e,o),Si.init(e,o)});function Bi(e){return an(Ji,e)}const Yi=je("ZodULID",(e,o)=>{kt.init(e,o),Si.init(e,o)});function Hi(e){return tn(Yi,e)}const Wi=je("ZodXID",(e,o)=>{ft.init(e,o),Si.init(e,o)});function Ki(e){return sn(Wi,e)}const Gi=je("ZodKSUID",(e,o)=>{bt.init(e,o),Si.init(e,o)});function Xi(e){return nn(Gi,e)}const Qi=je("ZodIPv4",(e,o)=>{zt.init(e,o),Si.init(e,o)});function er(e){return rn(Qi,e)}const or=je("ZodMAC",(e,o)=>{_t.init(e,o),Si.init(e,o)});function ar(e){return function(e,o){return new or({type:"string",format:"mac",check:"string_format",abort:!1,...Ye(o)})}(0,e)}const tr=je("ZodIPv6",(e,o)=>{xt.init(e,o),Si.init(e,o)});function sr(e){return cn(tr,e)}const nr=je("ZodCIDRv4",(e,o)=>{St.init(e,o),Si.init(e,o)});function ir(e){return mn(nr,e)}const rr=je("ZodCIDRv6",(e,o)=>{$t.init(e,o),Si.init(e,o)});function cr(e){return un(rr,e)}const mr=je("ZodBase64",(e,o)=>{Tt.init(e,o),Si.init(e,o)});function ur(e){return ln(mr,e)}const lr=je("ZodBase64URL",(e,o)=>{Ot.init(e,o),Si.init(e,o)});function pr(e){return pn(lr,e)}const dr=je("ZodE164",(e,o)=>{At.init(e,o),Si.init(e,o)});function hr(e){return dn(dr,e)}const gr=je("ZodJWT",(e,o)=>{Et.init(e,o),Si.init(e,o)});function kr(e){return hn(gr,e)}const fr=je("ZodCustomStringFormat",(e,o)=>{Zt.init(e,o),Si.init(e,o)});function br(e,o,a={}){return Vn(fr,e,o,a)}function yr(e){return Vn(fr,"hostname",Xo,e)}function vr(e){return Vn(fr,"hex",ga,e)}function wr(e,o){const a=`${e}_${o?.enc??"hex"}`,s=t[a];if(!s)throw new Error(`Unrecognized hash format: ${a}`);return Vn(fr,a,s,o)}const jr=je("ZodNumber",(e,o)=>{Nt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=a,{minimum:s,maximum:n,format:i,multipleOf:r,exclusiveMaximum:c,exclusiveMinimum:m}=e._zod.bag;"string"==typeof i&&i.includes("int")?t.type="integer":t.type="number","number"==typeof m&&("draft-04"===o.target||"openapi-3.0"===o.target?(t.minimum=m,t.exclusiveMinimum=!0):t.exclusiveMinimum=m),"number"==typeof s&&(t.minimum=s,"number"==typeof m&&"draft-04"!==o.target&&(m>=s?delete t.minimum:delete t.exclusiveMinimum)),"number"==typeof c&&("draft-04"===o.target||"openapi-3.0"===o.target?(t.maximum=c,t.exclusiveMaximum=!0):t.exclusiveMaximum=c),"number"==typeof n&&(t.maximum=n,"number"==typeof c&&"draft-04"!==o.target&&(c<=n?delete t.maximum:delete t.exclusiveMaximum)),"number"==typeof r&&(t.multipleOf=r)})(e,o,a),e.gt=(o,a)=>e.check(fn(o,a)),e.gte=(o,a)=>e.check(bn(o,a)),e.min=(o,a)=>e.check(bn(o,a)),e.lt=(o,a)=>e.check(gn(o,a)),e.lte=(o,a)=>e.check(kn(o,a)),e.max=(o,a)=>e.check(kn(o,a)),e.int=o=>e.check(_r(o)),e.safe=o=>e.check(_r(o)),e.positive=o=>e.check(fn(0,o)),e.nonnegative=o=>e.check(bn(0,o)),e.negative=o=>e.check(gn(0,o)),e.nonpositive=o=>e.check(kn(0,o)),e.multipleOf=(o,a)=>e.check(zn(o,a)),e.step=(o,a)=>e.check(zn(o,a)),e.finite=()=>e;const a=e._zod.bag;e.minValue=Math.max(a.minimum??Number.NEGATIVE_INFINITY,a.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(a.maximum??Number.POSITIVE_INFINITY,a.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(a.format??"").includes("int")||Number.isSafeInteger(a.multipleOf??.5),e.isFinite=!0,e.format=a.format??null});function zr(e){return function(e,o){return new jr({type:"number",checks:[],...Ye(o)})}(0,e)}const xr=je("ZodNumberFormat",(e,o)=>{Pt.init(e,o),jr.init(e,o)});function _r(e){return function(e,o){return new xr({type:"number",check:"number_format",abort:!1,format:"safeint",...Ye(o)})}(0,e)}function Sr(e){return function(e,o){return new xr({type:"number",check:"number_format",abort:!1,format:"float32",...Ye(o)})}(0,e)}function $r(e){return function(e,o){return new xr({type:"number",check:"number_format",abort:!1,format:"float64",...Ye(o)})}(0,e)}function Ir(e){return function(e,o){return new xr({type:"number",check:"number_format",abort:!1,format:"int32",...Ye(o)})}(0,e)}function Tr(e){return function(e,o){return new xr({type:"number",check:"number_format",abort:!1,format:"uint32",...Ye(o)})}(0,e)}const Or=je("ZodBoolean",(e,o)=>{Ct.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o,a)=>{a.type="boolean"})(0,0,o)});function Ar(e){return function(e,o){return new Or({type:"boolean",...Ye(o)})}(0,e)}const Er=je("ZodBigInt",(e,o)=>{Dt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("BigInt cannot be represented in JSON Schema")})(0,e),e.gte=(o,a)=>e.check(bn(o,a)),e.min=(o,a)=>e.check(bn(o,a)),e.gt=(o,a)=>e.check(fn(o,a)),e.gte=(o,a)=>e.check(bn(o,a)),e.min=(o,a)=>e.check(bn(o,a)),e.lt=(o,a)=>e.check(gn(o,a)),e.lte=(o,a)=>e.check(kn(o,a)),e.max=(o,a)=>e.check(kn(o,a)),e.positive=o=>e.check(fn(BigInt(0),o)),e.negative=o=>e.check(gn(BigInt(0),o)),e.nonpositive=o=>e.check(kn(BigInt(0),o)),e.nonnegative=o=>e.check(bn(BigInt(0),o)),e.multipleOf=(o,a)=>e.check(zn(o,a));const a=e._zod.bag;e.minValue=a.minimum??null,e.maxValue=a.maximum??null,e.format=a.format??null});function Zr(e){return function(e,o){return new Er({type:"bigint",...Ye(o)})}(0,e)}const Nr=je("ZodBigIntFormat",(e,o)=>{qt.init(e,o),Er.init(e,o)});function Pr(e){return function(e,o){return new Nr({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...Ye(o)})}(0,e)}function Cr(e){return function(e,o){return new Nr({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...Ye(o)})}(0,e)}const Dr=je("ZodSymbol",(e,o)=>{Ut.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Symbols cannot be represented in JSON Schema")})(0,e)});function qr(e){return function(e,o){return new Dr({type:"symbol",...Ye(o)})}(0,e)}const Ur=je("ZodUndefined",(e,o)=>{Mt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Undefined cannot be represented in JSON Schema")})(0,e)});function Mr(e){return function(e,o){return new Ur({type:"undefined",...Ye(o)})}(0,e)}const Rr=je("ZodNull",(e,o)=>{Rt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o,a)=>{"openapi-3.0"===o.target?(a.type="string",a.nullable=!0,a.enum=[null]):a.type="null"})(0,e,o)});function Fr(e){return function(e,o){return new Rr({type:"null",...Ye(o)})}(0,e)}const Lr=je("ZodAny",(e,o)=>{Ft.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>{}});function Vr(){return new Lr({type:"any"})}const Jr=je("ZodUnknown",(e,o)=>{Lt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>{}});function Br(){return new Jr({type:"unknown"})}const Yr=je("ZodNever",(e,o)=>{Vt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o,a)=>{a.not={}})(0,0,o)});function Hr(e){return function(e,o){return new Yr({type:"never",...Ye(o)})}(0,e)}const Wr=je("ZodVoid",(e,o)=>{Jt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Void cannot be represented in JSON Schema")})(0,e)});function Kr(e){return function(e,o){return new Wr({type:"void",...Ye(o)})}(0,e)}const Gr=je("ZodDate",(e,o)=>{Bt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Date cannot be represented in JSON Schema")})(0,e),e.min=(o,a)=>e.check(bn(o,a)),e.max=(o,a)=>e.check(kn(o,a));const a=e._zod.bag;e.minDate=a.minimum?new Date(a.minimum):null,e.maxDate=a.maximum?new Date(a.maximum):null});function Xr(e){return function(e,o){return new Gr({type:"date",...Ye(o)})}(0,e)}const Qr=je("ZodArray",(e,o)=>{Ht.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=a,n=e._zod.def,{minimum:i,maximum:r}=e._zod.bag;"number"==typeof i&&(s.minItems=i),"number"==typeof r&&(s.maxItems=r),s.type="array",s.items=Bn(n.element,o,{...t,path:[...t.path,"items"]})})(e,o,a,t),e.element=o.element,e.min=(o,a)=>e.check(In(o,a)),e.nonempty=o=>e.check(In(1,o)),e.max=(o,a)=>e.check($n(o,a)),e.length=(o,a)=>e.check(Tn(o,a)),e.unwrap=()=>e.element});function ec(e,o){return function(e,o,a){return new Qr({type:"array",element:o,...Ye(a)})}(0,e,o)}function oc(e){const o=e._zod.def.shape;return _c(Object.keys(o))}const ac=je("ZodObject",(e,o)=>{Qt.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=a,n=e._zod.def;s.type="object",s.properties={};const i=n.shape;for(const e in i)s.properties[e]=Bn(i[e],o,{...t,path:[...t.path,"properties",e]});const r=new Set(Object.keys(i)),c=new Set([...r].filter(e=>{const a=n.shape[e]._zod;return"input"===o.io?void 0===a.optin:void 0===a.optout}));c.size>0&&(s.required=Array.from(c)),"never"===n.catchall?._zod.def.type?s.additionalProperties=!1:n.catchall?n.catchall&&(s.additionalProperties=Bn(n.catchall,o,{...t,path:[...t.path,"additionalProperties"]})):"output"===o.io&&(s.additionalProperties=!1)})(e,o,a,t),Ne(e,"shape",()=>o.shape),e.keyof=()=>_c(Object.keys(e._zod.def.shape)),e.catchall=o=>e.clone({...e._zod.def,catchall:o}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Br()}),e.loose=()=>e.clone({...e._zod.def,catchall:Br()}),e.strict=()=>e.clone({...e._zod.def,catchall:Hr()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=o=>function(e,o){if(!Re(o))throw new Error("Invalid input to extend: expected a plain object");const a=e._zod.def.checks;if(a&&a.length>0){const a=e._zod.def.shape;for(const e in o)if(void 0!==Object.getOwnPropertyDescriptor(a,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const t=Ce(e._zod.def,{get shape(){const a={...e._zod.def.shape,...o};return Pe(this,"shape",a),a}});return Be(e,t)}(e,o),e.safeExtend=o=>function(e,o){if(!Re(o))throw new Error("Invalid input to safeExtend: expected a plain object");const a=Ce(e._zod.def,{get shape(){const a={...e._zod.def.shape,...o};return Pe(this,"shape",a),a}});return Be(e,a)}(e,o),e.merge=o=>function(e,o){const a=Ce(e._zod.def,{get shape(){const a={...e._zod.def.shape,...o._zod.def.shape};return Pe(this,"shape",a),a},get catchall(){return o._zod.def.catchall},checks:[]});return Be(e,a)}(e,o),e.pick=o=>function(e,o){const a=e._zod.def,t=a.checks;if(t&&t.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Be(e,Ce(e._zod.def,{get shape(){const e={};for(const t in o){if(!(t in a.shape))throw new Error(`Unrecognized key: "${t}"`);o[t]&&(e[t]=a.shape[t])}return Pe(this,"shape",e),e},checks:[]}))}(e,o),e.omit=o=>function(e,o){const a=e._zod.def,t=a.checks;if(t&&t.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=Ce(e._zod.def,{get shape(){const t={...e._zod.def.shape};for(const e in o){if(!(e in a.shape))throw new Error(`Unrecognized key: "${e}"`);o[e]&&delete t[e]}return Pe(this,"shape",t),t},checks:[]});return Be(e,s)}(e,o),e.partial=(...o)=>function(e,o,a){const t=o._zod.def.checks;if(t&&t.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=Ce(o._zod.def,{get shape(){const t=o._zod.def.shape,s={...t};if(a)for(const o in a){if(!(o in t))throw new Error(`Unrecognized key: "${o}"`);a[o]&&(s[o]=e?new e({type:"optional",innerType:t[o]}):t[o])}else for(const o in t)s[o]=e?new e({type:"optional",innerType:t[o]}):t[o];return Pe(this,"shape",s),s},checks:[]});return Be(o,s)}(Zc,e,o[0]),e.required=(...o)=>function(e,o,a){const t=Ce(o._zod.def,{get shape(){const t=o._zod.def.shape,s={...t};if(a)for(const o in a){if(!(o in s))throw new Error(`Unrecognized key: "${o}"`);a[o]&&(s[o]=new e({type:"nonoptional",innerType:t[o]}))}else for(const o in t)s[o]=new e({type:"nonoptional",innerType:t[o]});return Pe(this,"shape",s),s}});return Be(o,t)}(Vc,e,o[0])});function tc(e,o){const a={type:"object",shape:e??{},...Ye(o)};return new ac(a)}function sc(e,o){return new ac({type:"object",shape:e,catchall:Hr(),...Ye(o)})}function nc(e,o){return new ac({type:"object",shape:e,catchall:Br(),...Ye(o)})}const ic=je("ZodUnion",(e,o)=>{os.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>Xn(e,o,a,t),e.options=o.options});function rc(e,o){return new ic({type:"union",options:e,...Ye(o)})}const cc=je("ZodXor",(e,o)=>{ic.init(e,o),ts.init(e,o),e._zod.processJSONSchema=(o,a,t)=>Xn(e,o,a,t),e.options=o.options});function mc(e,o){return new cc({type:"union",options:e,inclusive:!1,...Ye(o)})}const uc=je("ZodDiscriminatedUnion",(e,o)=>{ic.init(e,o),ss.init(e,o)});function lc(e,o,a){return new uc({type:"union",options:o,discriminator:e,...Ye(a)})}const pc=je("ZodIntersection",(e,o)=>{ns.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def,n=Bn(s.left,o,{...t,path:[...t.path,"allOf",0]}),i=Bn(s.right,o,{...t,path:[...t.path,"allOf",1]}),r=e=>"allOf"in e&&1===Object.keys(e).length,c=[...r(n)?n.allOf:[n],...r(i)?i.allOf:[i]];a.allOf=c})(e,o,a,t)});function dc(e,o){return new pc({type:"intersection",left:e,right:o})}const hc=je("ZodTuple",(e,o)=>{cs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=a,n=e._zod.def;s.type="array";const i="draft-2020-12"===o.target?"prefixItems":"items",r="draft-2020-12"===o.target||"openapi-3.0"===o.target?"items":"additionalItems",c=n.items.map((e,a)=>Bn(e,o,{...t,path:[...t.path,i,a]})),m=n.rest?Bn(n.rest,o,{...t,path:[...t.path,r,..."openapi-3.0"===o.target?[n.items.length]:[]]}):null;"draft-2020-12"===o.target?(s.prefixItems=c,m&&(s.items=m)):"openapi-3.0"===o.target?(s.items={anyOf:c},m&&s.items.anyOf.push(m),s.minItems=c.length,m||(s.maxItems=c.length)):(s.items=c,m&&(s.additionalItems=m));const{minimum:u,maximum:l}=e._zod.bag;"number"==typeof u&&(s.minItems=u),"number"==typeof l&&(s.maxItems=l)})(e,o,a,t),e.rest=o=>e.clone({...e._zod.def,rest:o})});function gc(e,o,a){const t=o instanceof nt;return new hc({type:"tuple",items:e,rest:t?o:null,...Ye(t?a:o)})}const kc=je("ZodRecord",(e,o)=>{us.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=a,n=e._zod.def;s.type="object";const i=n.keyType,r=i._zod.bag,c=r?.patterns;if("loose"===n.mode&&c&&c.size>0){const e=Bn(n.valueType,o,{...t,path:[...t.path,"patternProperties","*"]});s.patternProperties={};for(const o of c)s.patternProperties[o.source]=e}else"draft-07"!==o.target&&"draft-2020-12"!==o.target||(s.propertyNames=Bn(n.keyType,o,{...t,path:[...t.path,"propertyNames"]})),s.additionalProperties=Bn(n.valueType,o,{...t,path:[...t.path,"additionalProperties"]});const m=i._zod.values;if(m){const e=[...m].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(s.required=e)}})(e,o,a,t),e.keyType=o.keyType,e.valueType=o.valueType});function fc(e,o,a){return new kc({type:"record",keyType:e,valueType:o,...Ye(a)})}function bc(e,o,a){const t=Be(e);return t._zod.values=void 0,new kc({type:"record",keyType:t,valueType:o,...Ye(a)})}function yc(e,o,a){return new kc({type:"record",keyType:e,valueType:o,mode:"loose",...Ye(a)})}const vc=je("ZodMap",(e,o)=>{ls.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Map cannot be represented in JSON Schema")})(0,e),e.keyType=o.keyType,e.valueType=o.valueType,e.min=(...o)=>e.check(_n(...o)),e.nonempty=o=>e.check(_n(1,o)),e.max=(...o)=>e.check(xn(...o)),e.size=(...o)=>e.check(Sn(...o))});function wc(e,o,a){return new vc({type:"map",keyType:e,valueType:o,...Ye(a)})}const jc=je("ZodSet",(e,o)=>{ds.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Set cannot be represented in JSON Schema")})(0,e),e.min=(...o)=>e.check(_n(...o)),e.nonempty=o=>e.check(_n(1,o)),e.max=(...o)=>e.check(xn(...o)),e.size=(...o)=>e.check(Sn(...o))});function zc(e,o){return new jc({type:"set",valueType:e,...Ye(o)})}const xc=je("ZodEnum",(e,o)=>{gs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=$e(e._zod.def.entries);t.every(e=>"number"==typeof e)&&(a.type="number"),t.every(e=>"string"==typeof e)&&(a.type="string"),a.enum=t})(e,0,a),e.enum=o.entries,e.options=Object.values(o.entries);const a=new Set(Object.keys(o.entries));e.extract=(e,t)=>{const s={};for(const t of e){if(!a.has(t))throw new Error(`Key ${t} not found in enum`);s[t]=o.entries[t]}return new xc({...o,checks:[],...Ye(t),entries:s})},e.exclude=(e,t)=>{const s={...o.entries};for(const o of e){if(!a.has(o))throw new Error(`Key ${o} not found in enum`);delete s[o]}return new xc({...o,checks:[],...Ye(t),entries:s})}});function _c(e,o){const a=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new xc({type:"enum",entries:a,...Ye(o)})}function Sc(e,o){return new xc({type:"enum",entries:e,...Ye(o)})}const $c=je("ZodLiteral",(e,o)=>{ks.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=e._zod.def,s=[];for(const e of t.values)if(void 0===e){if("throw"===o.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof e){if("throw"===o.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(e))}else s.push(e);if(0===s.length);else if(1===s.length){const e=s[0];a.type=null===e?"null":typeof e,"draft-04"===o.target||"openapi-3.0"===o.target?a.enum=[e]:a.const=e}else s.every(e=>"number"==typeof e)&&(a.type="number"),s.every(e=>"string"==typeof e)&&(a.type="string"),s.every(e=>"boolean"==typeof e)&&(a.type="boolean"),s.every(e=>null===e)&&(a.type="null"),a.enum=s})(e,o,a),e.values=new Set(o.values),Object.defineProperty(e,"value",{get(){if(o.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return o.values[0]}})});function Ic(e,o){return new $c({type:"literal",values:Array.isArray(e)?e:[e],...Ye(o)})}const Tc=je("ZodFile",(e,o)=>{fs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=a,s={type:"string",format:"binary",contentEncoding:"binary"},{minimum:n,maximum:i,mime:r}=e._zod.bag;void 0!==n&&(s.minLength=n),void 0!==i&&(s.maxLength=i),r?1===r.length?(s.contentMediaType=r[0],Object.assign(t,s)):(Object.assign(t,s),t.anyOf=r.map(e=>({contentMediaType:e}))):Object.assign(t,s)})(e,0,a),e.min=(o,a)=>e.check(_n(o,a)),e.max=(o,a)=>e.check(xn(o,a)),e.mime=(o,a)=>e.check(Dn(Array.isArray(o)?o:[o],a))});function Oc(e){return function(e,o){return new Tc({type:"file",...Ye(o)})}(0,e)}const Ac=je("ZodTransform",(e,o)=>{bs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(a,t)=>{if("backward"===t.direction)throw new xe(e.constructor.name);a.addIssue=t=>{if("string"==typeof t)a.issues.push(to(t,a.value,o));else{const o=t;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=a.value),o.inst??(o.inst=e),a.issues.push(to(o))}};const s=o.transform(a.value,a);return s instanceof Promise?s.then(e=>(a.value=e,a)):(a.value=s,a)}});function Ec(e){return new Ac({type:"transform",transform:e})}const Zc=je("ZodOptional",(e,o)=>{vs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>Qn(e,o,0,t),e.unwrap=()=>e._zod.def.innerType});function Nc(e){return new Zc({type:"optional",innerType:e})}const Pc=je("ZodExactOptional",(e,o)=>{ws.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>Qn(e,o,0,t),e.unwrap=()=>e._zod.def.innerType});function Cc(e){return new Pc({type:"optional",innerType:e})}const Dc=je("ZodNullable",(e,o)=>{js.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def,n=Bn(s.innerType,o,t),i=o.seen.get(e);"openapi-3.0"===o.target?(i.ref=s.innerType,a.nullable=!0):a.anyOf=[n,{type:"null"}]})(e,o,a,t),e.unwrap=()=>e._zod.def.innerType});function qc(e){return new Dc({type:"nullable",innerType:e})}function Uc(e){return Nc(qc(e))}const Mc=je("ZodDefault",(e,o)=>{zs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType,a.default=JSON.parse(JSON.stringify(s.defaultValue))})(e,o,a,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Rc(e,o){return new Mc({type:"default",innerType:e,get defaultValue(){return"function"==typeof o?o():Fe(o)}})}const Fc=je("ZodPrefault",(e,o)=>{_s.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType,"input"===o.io&&(a._prefault=JSON.parse(JSON.stringify(s.defaultValue)))})(e,o,a,t),e.unwrap=()=>e._zod.def.innerType});function Lc(e,o){return new Fc({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof o?o():Fe(o)}})}const Vc=je("ZodNonOptional",(e,o)=>{Ss.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType})(e,o,0,t),e.unwrap=()=>e._zod.def.innerType});function Jc(e,o){return new Vc({type:"nonoptional",innerType:e,...Ye(o)})}const Bc=je("ZodSuccess",(e,o)=>{Is.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o,a)=>{a.type="boolean"})(0,0,o),e.unwrap=()=>e._zod.def.innerType});function Yc(e){return new Bc({type:"success",innerType:e})}const Hc=je("ZodCatch",(e,o)=>{Ts.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;let n;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType;try{n=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}a.default=n})(e,o,a,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Wc(e,o){return new Hc({type:"catch",innerType:e,catchValue:"function"==typeof o?o:()=>o})}const Kc=je("ZodNaN",(e,o)=>{Os.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("NaN cannot be represented in JSON Schema")})(0,e)});function Gc(e){return function(e,o){return new Kc({type:"nan",...Ye(o)})}(0,e)}const Xc=je("ZodPipe",(e,o)=>{As.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def,n="input"===o.io?"transform"===s.in._zod.def.type?s.out:s.in:s.out;Bn(n,o,t),o.seen.get(e).ref=n})(e,o,0,t),e.in=o.in,e.out=o.out});function Qc(e,o){return new Xc({type:"pipe",in:e,out:o})}const em=je("ZodCodec",(e,o)=>{Xc.init(e,o),Zs.init(e,o)});function om(e,o,a){return new em({type:"pipe",in:e,out:o,transform:a.decode,reverseTransform:a.encode})}const am=je("ZodReadonly",(e,o)=>{Cs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType,a.readOnly=!0})(e,o,a,t),e.unwrap=()=>e._zod.def.innerType});function tm(e){return new am({type:"readonly",innerType:e})}const sm=je("ZodTemplateLiteral",(e,o)=>{qs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a)=>{const t=a,s=e._zod.pattern;if(!s)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=s.source})(e,0,a)});function nm(e,o){return new sm({type:"template_literal",parts:e,...Ye(o)})}const im=je("ZodLazy",(e,o)=>{Rs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.innerType;Bn(s,o,t),o.seen.get(e).ref=s})(e,o,0,t),e.unwrap=()=>e._zod.def.getter()});function rm(e){return new im({type:"lazy",getter:e})}const cm=je("ZodPromise",(e,o)=>{Ms.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(o,a,t)=>((e,o,a,t)=>{const s=e._zod.def;Bn(s.innerType,o,t),o.seen.get(e).ref=s.innerType})(e,o,0,t),e.unwrap=()=>e._zod.def.innerType});function mm(e){return new cm({type:"promise",innerType:e})}const um=je("ZodFunction",(e,o)=>{Us.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Function types cannot be represented in JSON Schema")})(0,e)});function lm(e){return new um({type:"function",input:Array.isArray(e?.input)?gc(e?.input):e?.input??ec(Br()),output:e?.output??Br()})}const pm=je("ZodCustom",(e,o)=>{Fs.init(e,o),ji.init(e,o),e._zod.processJSONSchema=(e,o,a)=>((e,o)=>{if("throw"===o.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});function dm(e){const o=new Za({check:"custom"});return o._zod.check=e,o}function hm(e,o){return function(e,o,a){const t=Ye(a);return t.abort??(t.abort=!0),new e({type:"custom",check:"custom",fn:o,...t})}(pm,e??(()=>!0),o)}function gm(e,o={}){return function(e,o,a){return new pm({type:"custom",check:"custom",fn:o,...Ye(a)})}(0,e,o)}function km(e){return function(e){const o=function(e){const o=new Za({check:"custom",...Ye(void 0)});return o._zod.check=e,o}(a=>(a.addIssue=e=>{if("string"==typeof e)a.issues.push(to(e,a.value,o._zod.def));else{const t=e;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=a.value),t.inst??(t.inst=o),t.continue??(t.continue=!o._zod.def.abort),a.issues.push(to(t))}},e(a.value,a)));return o}(e)}const fm=function(e){const o=new Za({check:"describe"});return o._zod.onattach=[o=>{const a=Js.get(o)??{};Js.add(o,{...a,description:e})}],o._zod.check=()=>{},o},bm=function(e){const o=new Za({check:"meta"});return o._zod.onattach=[o=>{const a=Js.get(o)??{};Js.add(o,{...a,...e})}],o._zod.check=()=>{},o};function ym(e,o={}){const a=new pm({type:"custom",check:"custom",fn:o=>o instanceof e,abort:!0,...Ye(o)});return a._zod.bag.Class=e,a._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:a,path:[...a._zod.def.path??[]]})},a}const vm=(...e)=>function(e,o){const a=Ye(o);let t=a.truthy??["true","1","yes","on","y","enabled"],s=a.falsy??["false","0","no","off","n","disabled"];"sensitive"!==a.case&&(t=t.map(e=>"string"==typeof e?e.toLowerCase():e),s=s.map(e=>"string"==typeof e?e.toLowerCase():e));const n=new Set(t),i=new Set(s),r=e.Codec??Zs,c=e.Boolean??Ct,m=new r({type:"pipe",in:new(e.String??it)({type:"string",error:a.error}),out:new c({type:"boolean",error:a.error}),transform:(e,o)=>{let t=e;return"sensitive"!==a.case&&(t=t.toLowerCase()),!!n.has(t)||!i.has(t)&&(o.issues.push({code:"invalid_value",expected:"stringbool",values:[...n,...i],input:o.value,inst:m,continue:!1}),{})},reverseTransform:(e,o)=>!0===e?t[0]||"true":s[0]||"false",error:a.error});return m}({Codec:em,Boolean:Or,String:xi},...e);function wm(e){const o=rm(()=>rc([_i(e),zr(),Ar(),Fr(),ec(o),fc(_i(),o)]));return o}function jm(e,o){return Qc(Ec(e),o)}var zm;zm||(zm={}),new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]),Se({localeError:(()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function o(o){return e[o]??null}const a={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},t={nan:"NaN"};return e=>{switch(e.code){case"invalid_type":{const o=t[e.expected]??e.expected,a=function(e){const o=typeof e;switch(o){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(null===e)return"null";if(Array.isArray(e))return"array";const o=e;if(o&&Object.getPrototypeOf(o)!==Object.prototype&&"constructor"in o&&o.constructor)return o.constructor.name}}return o}(e.input);return`Invalid input: expected ${o}, received ${t[a]??a}`}case"invalid_value":return 1===e.values.length?`Invalid input: expected ${He(e.values[0])}`:`Invalid option: expected one of ${Ie(e.values,"|")}`;case"too_big":{const a=e.inclusive?"<=":"<",t=o(e.origin);return t?`Too big: expected ${e.origin??"value"} to have ${a}${e.maximum.toString()} ${t.unit??"elements"}`:`Too big: expected ${e.origin??"value"} to be ${a}${e.maximum.toString()}`}case"too_small":{const a=e.inclusive?">=":">",t=o(e.origin);return t?`Too small: expected ${e.origin} to have ${a}${e.minimum.toString()} ${t.unit}`:`Too small: expected ${e.origin} to be ${a}${e.minimum.toString()}`}case"invalid_format":{const o=e;return"starts_with"===o.format?`Invalid string: must start with "${o.prefix}"`:"ends_with"===o.format?`Invalid string: must end with "${o.suffix}"`:"includes"===o.format?`Invalid string: must include "${o.includes}"`:"regex"===o.format?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${a[o.format]??e.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${e.divisor}`;case"unrecognized_keys":return`Unrecognized key${e.keys.length>1?"s":""}: ${Ie(e.keys,", ")}`;case"invalid_key":return`Invalid key in ${e.origin}`;case"invalid_union":default:return"Invalid input";case"invalid_element":return`Invalid value in ${e.origin}`}}})()});var xm=a(910);class _m extends Error{expected;actual;constructor(e,o){super(`Checksum does not match (expected: ${e}, actual: ${o})`),this.expected=e,this.actual=o,this.name="ChecksumError"}}async function Sm(e,o){const a=new Date(e.createdAt);if(isNaN(a.getTime()))throw new Error(`Invalid createdAt date (${e.createdAt})`);if(a.getTime()>Date.now())throw new Error(`createdAt date (${e.createdAt}) cannot be in the future`);const t=await $m({createdAt:e.createdAt,namespace:e.namespace,namespaceVersion:e.namespaceVersion,data:e.data});if(t!==e.checksum)throw new _m(e.checksum,t);return o(e.data),e}async function $m(e){const o=xm(e);if(!o)throw new Error("Failed to canonicalize config data for checksum calculation");const a=(new TextEncoder).encode(o),t=await crypto.subtle.digest("SHA-1",a);return Array.from(new Uint8Array(t)).map(e=>e.toString(16).padStart(2,"0")).join("")}const Im=new Set(["rk.com","pornhub.com","sa.com","realsrv.com","xvideos-cdn.com","live.tv","cam.com","lace.com","inite.com","chat.fr","xvideos.com","tease.com","xnxx-cdn.com","aavideo.com","avideo.com","chaturbate.com","person.com","aom.com","xnxx.com","hservice.com","erox.com","highwebmedia.com","man.com","launch.com","laid.com","na.org","nonical.com","18.com","stripchat.com","tun.pl","bine.com","consent.com","elate.net","xhamster.com","smonkey.com","fun.com","bing.net","placeholder.com","exosrv.com","onlyfans.com","hones.net","login.fr","listing.com","fycs.com","match.com","eros.com","jasmin.com","livejasmin.com","protect.com","juicyads.com","faphouse.com","br.org","cougar.com","inga.com","hic.com","amour.com","dr.to","fpbns.net","tes.org","gallery.com","51.la","tart.com","bang.com","spankbang.com","xplay.co","bimbolive.com","rn.de","ce.to","rktv.com","hun.com","camscanner.com","xhamsterlive.com","cosmopolitan.com","certifier.com","appi.com","nine.com","etonline.com","eis.de","aby.com","ema.org","gifs.com","redgifs.com","rtalabel.org","xcam.com","bongacams.com","cams.com","vador.com","guys.com","licks.com","ricks.com","smother.com","gbucks.com","javhd.com","atext.com","private.com","lanes.com","cash.com","xchat.com","mtree.com","qlogo.cn","torrid.com","ons.se","box.de","adultfriendfinder.com","friendfinder.com","scompany.de","revopush.com","87.com","kontakt-vermittler.de","net-ad.net","porn.xxx","porn.com","uporn.com","youporn.com","doublepimp.com","pimp.com","deonline.com","flirt4free.com","view.net","bangbros.com","wpu.sh","xparty.com","eporner.com","89.com","ures.com","xxx-tracker.com","ssearch.org","intouchweekly.com","dmm.co.jp","friends.com","men.com","ymac.com","rar.com","sex.com","xmatch.com","dude.com","xbiz.com","sexad.net","tvx.com","hentai.net","nhentai.net","myfreecams.com","camz.com","cupid.com","wpush.org","yourtango.com","brazzersnetwork.com","camsoda.com","avn.com","boys.com","txxx.com","xxx.com","lifeandstylemag.com","ok.co.uk","101domain.com","redtube.com","chunt.com","4fuck.com","fuck.com","abi.pl","xlist.com","tnaflix.com","theporndude.com","cock.com","porndoe.com","dicks.com","wlsp.com","ditto.com","cam4.com","wet.com","redwap.me","rule34.xxx","sght.com","youjizz.com","fark.com","gservice.com","sss.com","vice.ws","sdc.com","dmm.com","skin.com","lace.net","neta.com","icos.com","6.tv","interia.pl","cc0.com","bangbrosonline.com","hclips.com","adult.com","communities.com","porntop.com","tist.com","trac.pro","as.org","camlive.co","camlive.com","ranks.com","el.nl","tit.nu","bear.net","adultwork.com","asshut.com","4live.com","xlove.com","fever.com","hard.com","xrs.com","hdzog.com","vxxx.com","freaks.com","erotica.com","literotica.com","hoes.com","shoes.com.br","ezones.com","sa.org","jerkmate.com","nutaku.net","xvideo.com","upornia.com","pornhubpremium.com","tubecup.org","qguys.com","glamourmagazine.co.uk","pornpics.com","moviesboys.com","tube.nl","covergirl.com","sex-is-here.com","sexall.net","lib.es","letsdoeit.com","vd.com","und.net","rkpro.net","elpub.com","18.to","ardart.com","asstraffic.com","passtraffic.com","actiondesk.com","porn.tv","pride.com","dditscdn.com","ero-advertising.com","new-twinks.com","twinks.com","cams7.com","boobs.com","wantboobs.com","hardporn.tube","python.com","hentaiheroes.com","sexgame.com","alt.com","hearstmags.com","sex-vip.com","new-young-boys.com","owow.com","abum.com","xxlmag.com","boyfriendtv.com","queerty.com","ipod.com","wonderwall.com","xpix.net","vis.de","hostave3.net","k18.co","wikifeet.com","video.nl","links.net","sexcash.com","ashleymadison.com","ixxx.com","e-hentai.org","hentai.org","f95zone.to","n19.net","noodlemagazine.com","analplus.com","018.us","sss.xxx","372.us","xvirtual.com","mad.com","videosz.com","perfectgirls.net","perezhilton.com","sluts.xyz","max.de","animegames.com","hor.com","gotporn.com","cam-content.com","esmale.com","male.com","moviesmale.com","swing.com","exhentai.org","girls.xyz","anyvids.com","manyvids.com","pron.co","pron.com","pornkai.com","f1.fr","hotmovs.com","girls.com","fu.net","83.com","pornzog.com","pornvideo.tv","passion.com","voyeurhit.com","voyeur-house.tv","anybunny.tv","recon.com","atic.info","dlsite.com","cda.pl","heavy-r.com","thisvid.com","ateen.net","teen.net","harem.com","datezone.com","reallifecam.com","sext.com","wellhello.com","ftv.com","shows.it","super.cz","onthisday.com","pornclassic.co","tubepornclassic.com","mxxx.com","iporntv.net","porntv.net","motherless.com","gelbooru.com","enjoy.com","455.us","erome.com","luscious.net","bporn.com","zbporn.com","tsstream.com","aznude.com","nude.com","znude.com","ecum.com","gero.com","rame.net","jav.com","vjav.com","xvideos.red","beeg.com","iwantu.com","bittorrent.am","pic.at","clips4sale.com","analdin.com","sexta.com","xxgasm.com","hanime.tv","daftsex.com","adam4adam.com","sexplorer.com","nantv.com","anal.com","fashionista.com","pornhub.org","thefappeningblog.com","smutty.com","x1x.com","blacked.com","pornone.com","videa.hu","benaughty.com","naughty.com","camwhores.tv","fuq.com","nudevista.com","homemadevids.net","vids.net","spencersonline.com","endirect.com","venus.at","adameve.com","293.us","playboy.com","sado.com","efukt.com","bakecaincontrii.com","erotek.com","xvideos.es","aukro.cz","xhamster.desi","xaction.com","bitchy.com","celebitchy.com","nude-pics.org","r18.com","xozilla.com","tubesafari.com","4less.com","888casino.com","casino.com","k003.com","see.xxx","hdsex18.com","hitomi.la","hqporner.com","daters.com","suggest.com","927.us","sinns.com","abody.com","liebelib.net","chicas.com","4fun.com","shots.com","tube8.com","sxyprn.com","tas.me","kink.com","paheal.net","redwap2.com","1porn.com","91porn.com","lablue.de","chat.be","gamesrevenue.com","4club.com","webcams.com","biguz.net","095.us","adultsearch.com","luv.com","dlisted.com","sexstories.com","xstories.com","k005.com","latinas.com","domi.com","fling.com","drtuber.com","lez.com","awempire.com","ilm.nl","mediatakeout.com","fapster.xxx","e621.net","alfemminile.com","porn7.net","hotline.com","xagent.com","tubesex.com","blackpeoplemeet.com","l1.pl","celebrities.net","pussy.xyz","poimg.com","sexvid.xxx","thatpervert.com","sreviews.com","girls4u.com","adcell.de","alloy.com","p0.nl","xinteractive.com","anybunny.com","fabswingers.com","swingers.com","rosszlanyok.hu","vs3.com","gals.com","tubemov.com","hq3x.com","adultempire.com","videosection.com","porntrex.com","ageproof.com","playvids.com","hot.fr","18exgfs.com","cams.org","dayz.com","affections.com","b-cdn.net","thumbzilla.com","pute.com","siteencore.com","teencore.com","2com.com","amor.com","8tube.com","anysex.com","teenee.com","date.nl","pornhat.com","69.fr","porn300.com","porno.com","sunporno.com","281.ca","38.fr","virtuagirlhd.com","weareher.com","letmejerk.com","fitforfun.de","xxxpicz.com","accesspass.com","pornogids.net","ashemaletube.com","maletube.com","shemaletube.com","chicagoreader.com","npix.com","camfrog.com","elp.hu","femmes.com","bdsmlr.com","celebjihad.com","knuddels.de","crush.com","ecrush.com","screw.com","owned.com","asiandating.com","orion.de","xnetwork.net","heelsforless.com","imagefap.com","iporno.com","serviporno.com","27.fr","2fuck.com","streamray.com","avgirl.com","vod.pl","x17online.com","luxuretv.com","520.jp","xnxx.net","americangirl.com","cangirl.com","sexxxhd.com","dlsite.jp","cams.si","cammodels.com","models.com","jav.guru","romeo.com","naked.com","megapornpics.com","1juegos.com","pornhd.co","pornhd.com","videos.net","hdsex.org","pictoa.com","thaiware.com","hdporn.net","fantasy.com","ok.xxx","titsx.com","bobsvagene.club","allguys.com","flirt.com","furnituretoday.com","bolero.com","inc.co.uk","avgle.com","mylust.com","sexcamchats.com","search.nl","sankakucomplex.com","evod.com","thefappening.pro","clubonline.com","3movs.com","nice123.com","femefun.com","xpression.com","afrointroductions.com","tits.com","shopjustice.com","33b.net","tek.com.au","donmai.us","smn.org","stylebistro.com","ilynx.com","chat.cc","butt.com","alyze.com","sexymatches.com","palace.com","shoepalace.com","thegay.com","taira.com","latinamericancupid.com","laonline.com","bouxavenue.com","fpcpopunder.com","shower.com","onsizzle.com","bigdick.com","dick.com","inkedmag.com","iwantclips.com","juicygif.com","erogame.com","nuvid.com","videosecrets.com","bzone.com","brazzers.com","cameraprive.com","ladies.com","squirt.org","multporn.net","javmost.com","annsummers.com","xshare.com","ero.today","pornid.xxx","391.us","x-video.net","javbus.com","pornoreino.com","sexcel.com","orny.com","freelatinaporn.com","inaporn.com","onlyfreelatinaporn.com","vkmag.com","xrass.com","hgame.net","nubiles-porn.com","sexdesant.com","aebn.net","hentaihaven.xxx","scrolller.com","erogames.com","snapshots.com","hooligapps.com","blush.no","gaymaletube.com","hot.ee","anime.net","ero.be","ontap.com","unter.nl","nesaporn.com","coedcherry.com","dlist.com","lte.net","xvideos.best","iporn.com","kiporn.com","joyclub.de","xcafe.com","fishki.net","porno.xyz","empr.com","469.com","69.com","xxxbule.com","porntube.com","amspot.com","rafik.com","poringa.net","anni.com","sexvideo.com","hdtube.porn","hentai-foundry.com","e-comunicacion.com","bound.org","ecreator.org","adult.ru","domaciseks.com","seks.com","hdporncomics.com","porncomics.com","recipegirl.com","theblock.com","lpsg.com","boys.de","livesex.com","gay0day.com","eroticreview.com","theeroticreview.com","xpays.com","ladies.de","xlovecam.com","adultepic.com","freeones.com","sexhd.pics","pornmd.com","women.com","lovepanky.com","camster.com","ashleyrnadison.com","breakingnews.ie","skincity.com","swinglifestyle.com","porn.to","zapya.com","analvids.com","porngif.cc","incestos.net","bingoporno.com","no.hu","mat6tube.com","ericatv.com","shit.com","homeclips.com","privatehomeclips.com","rro.ca","bellesa.co","amie.com","agirls.com","socialmediagirls.com","inhumanity.com","imhentai.xxx","anyporn.com","fox46.com","hlebo.mobi","agonow.com","akt.de","bestfeeds.com","swallowcrockerybless.com","4tube.com","nurxxx.mobi","xxx.mobi","fapvidhd.com","peekvids.com","evilangel.com","t100.com","fucktor.com","g-glass.com","latex.at","jizzbunker.com","milffox.com","3xmail.com","ahits.com","pics.de","pornpics.de","iamnaughty.com","berkley.com","planetsuzy.org","alphaporno.com","aporno.com","bravotube.net","tube.net","xcams.com","chicks.com","xhamster2.com","dorcelstore.com","777live.com","anmall.com","xxxweb.com","cul.com","singles.com","fuqqt.com","streamate.com","babe.com","xbabe.com","nina.com","victoria.com","assresort.com","rabbits.webcam","fc2.com","madurasx.com","videosdemadurasx.com","pussytorrents.org","sexdirectories.com","thisav.com","youpornpremium.com","borwap.pro","scandalplanet.com","cnv.com","xxxbunker.com","3host.com","cam.be","teenhearts.com","xxxvideos247.com","xland.org","yporn.net","toononline.com","pornvideos.name","naughtyamerica.com","virginia.gov","hooters.com","cambro.tv","sexy.mobi","punternet.com","amovideo.com","xmovies.com","cematch.com","huse.com","fapcat.com","nates.com","adora.com","crazyshit.com","happyescorts.com","mydirtyhobby.com","megapornx.com","pornx.com","sindiana.com","whosdatedwho.com","pornimages.co","pornimages.com","old.li","ynot.com","intit.com","bangbrosnetwork.com","gosoftwear.com","modthesims.info","332.us","lovehoney.co.uk","pichunter.com","babe.to","babe.today","love.org","daftporn.com","sexy.net","hot-sex-tube.com","armot.com","granny.com","xmart.com","porn.biz","cityheaven.net","f95zone.com","staxus.com","xandria.com","dailyom.com","istripper.com","stripper.com","pornleech.com","galore.com","tubegalore.com","videocelebs.net","ydra.de","strpjmp.com","mrdeepfakes.com","adamandeve.com","fashionmodeldirectory.com","superstats.com","sexcess.com","xfeed.com","4porn.com","skoften.net","esdlife.com","pornvideotop.com","gape.com","lovehoney.com","ancensored.com","fapality.com","xxxporn.pics","freeporn8.com","porn8.com","prpops.com","nips.com","ahacdn.me","hentaifox.com","lick.nl","naughtydate.com","xfreehd.com","jgirls.co","jjgirls.com","sextube.com","xtube.com","hostedtube.com","celebrities.com","racy.com","lifeselector.com","play.ch","pornjk.com","pottsmerc.com","bookmark.com","namethatpornstar.com","pornstar.com","pornogratisdiario.com","vipergirls.to","cool18.com","sextvx.com","pornstars.com","tubepornstars.com","vixen.com","erito.com","fakehub.com","livexlive.com","youngs.co.uk","assmobile.com","hellporno.net","porno.net","amsterdam.com","iceporn.com","hoe.com","squirtnetwork.com","cliphunter.com","bravoporn.com","oporn.com","gomiblog.com","webcam.com","sextracker.com","videohd.net","xxxvideohd.net","exporntoons.net","hotmovies.com","thestranger.com","tipser.com","breatheheavy.com","fun4boys.com","xfr.com","javgg.net","ulla.com","javfun.me","vidz.com","fapnado.com","rolotube.com","tube.bz","bigrock.com","gate.cc","heatworld.com","javlibrary.com","pornbraze.com","cuworld.com","pornvideos.com","sopornvideos.com","avporn.com","vporn.com","pussyspace.com","babepedia.com","hentai.to","nhentai.to","femalefirst.co.uk","lacuarta.com","poppen.de","vintag.es","hookup.com","compagnie.com","vidday.com","gonewild.co","influencersgonewild.com","yes24.com","hotntubes.com","dtiserv.com","eurogirlsescort.com","islive.net","lsl.com","egotastic.com","gamcore.com","chat.co.uk","extremesexchannels.tv","shesfreaky.com","cosabella.com","javporn.net","lyla.com","damplips.com","modelhub.com","sex-videos.com","xxx-cdn.com","ecarson.com","oceleb.com","hellporno.com","hentai.com","yourlust.com","1011.com","didos.com","playfulpromises.com","phncdn.com","ishka.com","nudeclap.com","69s.com","mypornhere.com","porndig.com","stream6.com","xx03.com","pornhits.com","ivanet.com","rnpictures.com","sexpornpictures.com","tsnw.com","ampass.com","hentai.tv","woodbridgewines.com","starsenal.com","hentai.io","film-x.com","couple.com","girl-directory.com","l-directory.com","army.de","megatube.xxx","nudepussy.live","vikiporn.com","indexxx.com","pornolaba.com","empflix.com","silkengirl.com","xxxx.com","df.ru","isportsbook.com","bjob.com","xx10.com","evity.com","9gag.com","sexguide.nl","chollian.net","shiola.co.uk","veoo.com","namethatporn.com","asiandate.com","bos.so","inchat.com","hotornot.com","isex.com","modelmayhem.com","nightlife.ca","evn.com","sxyprn.net","latina.com","ile.cc","shooshtime.com","clube.com","sment.com","paradisi.de","youx.xxx","youppie.net","chat-avenue.com","xempire.com","joyreactor.com","xxx.org","xxxx.org","hey.lt","b3.nu","tukif.com","porn123.com","images-xxx.com","porndroids.com","pornolab.net","dom.co.il","hotmaill.com","pervertslut.com","playtime.com","vintage-erotica-forum.com","tumbex.com","erados.com","cutt.us","xmovie.com","nonktube.com","fuck-xxx.com","abporn.com","phun.org","5xxx.com","kadin.com","o-shop.de","gifdeliverynetwork.com","mbtrx.com","abshow.com","pornwhite.com","tushy.com","aurls.com","dirtyship.com","fuckjpg.com","hqfuck.com","wafflegirl.com","union.fr","x520.com","proporn.com","sexu.com","321sexchat.com","sexchat.com","cumshots.co","cumshots.com","aeonline.com","phun.com","xx.pl","lingerie.com","wankoz.com","xxxpicss.com","amateurx.com","barebackrt.com","tchats.com","js.pl","loveme.com","mennetwork.com","xxl.tv","mainecoon.com","oska.com","start.be","vietnamcupid.com","amiz.fr","pornpic.xxx","tiava.com","xfantasy.tv","oxpass.com","xpass.com","mrskin.com","thumblogger.com","xposed.com","node2.com","pornhub-deutsch.net","camonster.com","fasthosts.co.uk","fleurdumal.com","homemoviestube.com","payserve.com","plusdating.com","ahern.com","eros.es","boosty.com","a6.com","incestflix.com","metartnetwork.com","8muses.com","ambitionbox.com","flyflv.com","lopss.com","smutr.com","vrouwen.com","tranny.one","googles.com","pinkcherry.com","loway.com","vcomm.net","sggirls.com","proteins.com","dirtypornvids.com","mvideoporno.xxx","nubiles.net","puritanas.com","pair.de","mortystv.com","onecode.com","tar.hu","gia.la","xneon.com","amateurmature.info","reductress.com","sexynudes.tv","thp.ca","adultgalls.com","chaturbate.eu","colliderporn.com","gayboystube.com","hentaiporns.net","live6.de","pornpros.com","cartoonpornguide.com","pornguide.com","fap18.net","fuskator.com","xpages.com","agentprovocateur.com","teenz.com","bestfreecams.club","hotpics.com","fapdig.com","nubilefilms.com","ubilefilms.com","16honeys.com","honeys.com","alohatube.com","anade.org","caribbeancom.com","imen.com","porngur.com","oxlist.com","iwank.tv","derwhite.com","powergrid.com","lgirls.com","cartoonpornvideos.com","xnxx2.com","xxxcrowlimg.com","eviewporn.com","g-web.net","cuties.com","pornbb.org","sfgiants.com","cadv.com","voyeurweb.com","kinghost.com","mature.nl","pclady.com.cn","stars.de","theync.com","evilmilk.com","gifsfor.com","ragt.com","boutique.co.uk","porngipfy.com","ayana.com","islive.nl","blossoms.com","mangaupdates.com","maturetube.com","osexporn.com","sexporn.com","xporn.com","gijo.org","xvideoscom.me","alotporn.com","asswap.com","teatroporno.com","troporno.com","yespornpics.com","cocogals.com","javhd.today","maturetubehere.com","u-on.eu","celebsnudeworld.com","nudeworld.com","lesbiansex.pro","gif-porn.net","patches.org","porno.org","babestube.com","gays.com","freesexdoor.com","xdoor.com","hentai2read.com","its.porn","icams.com","setgo.com","xvids.com","allofteens.com","teens.com","fairynudes.com","nudes.com","gaycities.com","milfsextube.net","pimpandhost.com","stocking-porn.com","pbucks.com","topbucks.com","r-sexe.com","xxxvogue.net","mast.net","erect.com","gaytorrent.ru","6club.com","sleazyneasy.com","tits-guru.com","xzporn.com","amateur.tv","mateur.tv","hardrockcasino.com","tonicmovies.com","viptube.com","xxxneoncity.com","anon-v.com","mrstiff.com","ohsex.pro","putes.com","sexalarab.com","sieg.com","culos.com","iculos.com","xhosting.com","boundhub.com","ss-inc.com","cumonprintedpics.com","go-hosting.com","trafficshop.com","teenmag.com","asscj.com","escort-advisor.com","ts-today.com","lovebscott.com","pervclips.com","pornicom.com","worldsex.com","mpxgirls.com","xgirls.com","sipsap.com","webinc.com","celebrity.com","citychiconline.com","femme.com","espaceplaisir.fr","porn-videos.club","iloopit.net","flys.com","manhunt.net","mailin.net","xworldpornpic.com","boobpedia.com","xmagazine.com","xmovs.com","stop.de","kaufmich.com","pornoperso.com","sexygirlspics.com","00webcams.com","99traffic.com","porngo.com","fancentro.com","laxe.com","iafd.com","shemalez.com","carmail.com","naked.net","howard.com","fastxxxpicssearch.com","porn.org","sexporn.org","tokyomotion.net","celebsroulette.com","nita.org","vicio.com","pornmaki.com","ixgames.com","goportal.com","egao.com","tslust.com","fuckyoucash.com","anals.com","jos.lt","node3.com","startkabel.nl","bukkakesex.tv","sex.tv","dmm-extension.com","drunkpichunter.com","tanda.com","japancupid.com","saucenao.com","thotvids.com","wtfpeople.com","xpaja.net","bums.com","contacts.at","tranny.com","rncdn7.com","katestube.com","itaboo.com","plugrush.com","portlandmercury.com","streamen.com","porngifs.com","gfy.com","pered.com","definebabe.com","mrporngeek.com","rabbitsreviews.com","rumors.it","lmstube.com","sexfilmstube.com","thong.com","xanimu.com","xxxsextube.net","adult-empire.com","sexpic.com","farmgirl.com","cumlouder.com","foxes.com","koxk.com","dump.com","realitykings.com","tubedupe.com","oporn.net","easytoys.nl","flavinha.com","iyalc.com","nifty.org","m-game.jp","bigporn.com","igporn.com","friendfinderinc.com","sexlikereal.com","tsescorts.com","bangbrosteenporn.com","teenporn.com","neighborhoodsluts.com","sluts.com","xflirt.com","171gifs.com","entensity.net","freesex.com","morazzia.com","reuni.eu","theplace2.ru","xxxlibz.com","lelo.com","boy18tube.com","nnteens.com","pop6.com","pornovideoshub.com","ice.nu","pornogratisx.net","videospornogratisx.net","budweiser.com","fapple.com","hqtube.tv","ilikecomix.com","mdc.ca","linq.nl","xxxporn.com","simply-hentai.com","schoolgirls.com","allover30.com","over30.com","blowjobgif.net","cpays.com","ferrit.com","radiofree.com","blood.com","mmaaxx.com","hentaicomics.com","myhentaicomics.com","porngifmag.com","sexogaygratis.biz","aufeminin.com","teamskeet.com","lehit.com","hentia.co","tubetria.mobi","xrares.com","xyz.fr","18magazine.com","bjobs.com","chinmaster.com","hotscope.tv","nicki.com","jovencitas.gratis","porndr.com","pornflip.com","x-movies.net","p-bot.com","3naked.com","x-hd.com","tramps.com","erofus.com","gay.tv","icegay.tv","dsliving.com","o-mag.com","mypron.tv","pron.tv","newbienudes.com","newsdump.com","pornerbros.com","ynotporn.com","visit-x.net","wendise.com","duga.jp","eroticbeauties.net","millionairematch.com","nude-virgins.info","virgins.info","relax-porn.com","picsz.com","xorgasmo.com","bekkoame.ne.jp","boobspicshunter.com","kum.com","sinbox.com","tubemature.tv","zbporn.tv","porntv.com","bbwtubesexy.com","sexy.com","bestporn.com","collectionofbestporn.com","kinky.nl","onlinedating.com","sexy-egirls.com","celebritymoviearchive.com","slingshots.com","hushpass.com","kitty-kats.net","4sex.com","tube4sex.com","beboo.ru","gifmeat.com","dudes.com","gayporn.com","gotgayporn.com","dxlive.com","baddiehub.com","bravoteens.com","cam4.de.com","maidenform.com","sexcelebrity.net","shameless.com","musume.net","xvidzz.com","asianxtv.com","bangtubevideos.com","bbpeoplemeet.com","bestofcomicbooks.com","celebsunmasked.com","rclip.com","cndi.org","meetav.com","sexlist.com","sexprontube.com","indestiny.com","wikiporn.tv","amourangels.com","bombshells.com","jpnudeidols.com","nudeidols.com","nud.com","legalporno.com","1tube.com","my1tube.com","sex-tracker.com","thecount.com","watchmygf.me","xbooru.com","xcity.jp","xcum.com","videosporno.blog.br","xvideosporno.blog.br","bust.com","camgirl.com","fiance.com","pornhubs.video","cams-24.com","soundboards.com","dateinasia.com","faptitans.com","girlsgogames.com","danni.com","maturemoms.tv","x3.net","rajwap.xyz","sexclipshd.com","teenmegaworld.net","veporno.net","shueisha.co.jp","pornovideo.com","gwlt.com","darkangelonline.nl","fewporn.pro","gaycams.us","happy-porn.com","ivan.com","ucan.com","latinovirgin.com","moviefap.com","pornlib.com","siska.tv","dykes.com","xtapes.to","youjizzlive.com","aboutgirlslove.com","fleshlight.com","ftopx.com","javhub.net","pimproll.com","xbombo.com","stileproject.com","tlady.com","eyes.at","5up.net","animal.fr","newsensations.com","sensations.com","porncomics.me","porntn.com","sexpicturespass.com","sextgem.com","goodtrade.com","anime-pictures.net","thai88.com","yteens.biz","hqtube.xxx","host.kz","mult34.com","pornmage.com","pornosearch.guru","niki.com","totalfratmove.com","anus.net","unusualporn.net","xxxneonplanet.com","xxxporntv.net","bellazon.com","burningcamel.com","dacash.com","babes.com","elitebabes.com","gayforit.eu","e03.de","homepornking.com","pornking.com","lushstories.com","nudography.com","silverdaddies.com","annasangels.co.uk","excellentwebcams.com","cums.com","nyloner.com","nlounge.com","tubev.sex","xfind24.com","xyzcomics.com","gammae.com","gaywirecash.com","fuck.biz","fucked.com","indiansgetfucked.com","kingcomix.com","sexclub.com","mypornstarblogs.com","cette.com","nporn.net","redteenporn.net","here3d.com","sv2.biz","4me.net","camgirls.com","hhg.com","fetishshrine.com","sexmovies.com","top6.com","hseries.com","casinos.net","dahentai.com","saradahentai.com","tubelombia.com","hairy.com","wearehairy.com","chill.to","esuburbs.com","bordelle.co.uk","brf.com","imdi.com","xnxx.pro","ebony8.com","eroprofile.com","javcl.com","jusporn.com","plusone.com","smut.com","swapsmut.com","thebestfetishsites.com","tube188.com","badgirlsbible.com","befuck.net","fuck.net","ccent.org","chatrandom.com","ero-video.net","kudosporn.com","osporn.com","netporn.net","pixytube.com","sonorousporn.com","vivatube.com","xxxpornozone.com","belamionline.com","biggercity.com","fiesta.co.uk","downloadwap.com","homegrown.com","fantasyescortblogs.com","hidefporn.ws","julesjordan.com","porn69.com","xxxtube2022.com","boohoo.de","cleanpornlinks.com","pornlinks.com","crocotube.com","rocotube.com","fuckporn.com","dinotube.com","dressupgames.com","fap.to","frprn.com","slutz.com","voici.fr","playblog.org","porncomixonline.net","tube2017.com","tubexclips.com","anilos.com","yhentai.com","barelist.com","fanatix.com","lobstertube.com","phil-flash.com","pornvideoq.com","sharesome.com","tubewolf.com","xxx18hot.com","collegegirls.com","definefetish.com","fetish.com","gosexpod.com","dating.de","lethalpass.com","sdate.com","lesx.com","alvideos.com","toprealvideos.com","usearchx.com","yuvutu.com","adultdates.com","babesource.com","angelinavalentine.com","club-angelinavalentine.com","fhm.nl","dcup.com","freeadultcomix.com","homemadefucktube.com","e-xxx.com","free-xxx.com","internationaljock.com","kindgirls.com","pinflix.com","porn00.org","pornl.com","eatme.com","mature.com","tightteela.com","tram-pararam.com","tube8.fr","tubezaur.com","vidmax.com","xerotica.com","xxxfiles.com","buenatube.com","doujins.com","camstars.com","freecamstars.co","freecamstars.com","freegaysexgames.com","sexgames.com","lives.net","memecrunch.com","teenporno.com","crossreference.com","pornograd.net","pussy.com","xtremetop100.com","porn-tube.com","xxx-porn-tube.com","0xxx.ws","adultsclips.com","xxx.net","yxxx.net","anyxxx.pro","momsporn.com","fallenteenangels.com","teenangels.com","pornobabes.com","blackteenbabes.com","teenbabes.com","bombshell.com","porn555.com","momsvideos.com","shemp.com","tubezzz.net","teentube.com","xxxpicplanet.com","babes-porn.com","hot-boobs.com","fantasias.com","datawav.club","forumophilia.com","fux.com","g-xxxhub.com","pornos.com","hentaimama.io","livejasminwebcams.com","xxxsex.com","pandora.de","xmag.com","pornfuck.net","tube3.com","3gpking.pro","best-paypornsites.net","boobsspider.com","hardcore.com","dtiserv2.com","couples.com","ftvmilfs.com","gaystarnews.com","hornywhores.net","hypnotube.com","dollhouse.com","missmalini.com","rapefilms.net","eeporn.com","freeporn.com","myfreeporn.co","myfreeporn.com","sextubefuck.pro","msex.com","streamsex.com","rencontre.com","superencontre.com","qtube.com","vrporn.com","wporncomics.com","pornxxx.com","ypornxxx.com","bdsmdates.com","clubseventeen.com","sexplained.com","designscene.net","vaxxi.net","gayporno.fm","porno.fm","xtraordinary.com","journelle.com","ssporn.com","mrpinks.com","kut.com","tbib.org","tubemom.tv","xdvdz.com","ftvgirls.com","heretv.com","pornvideo.com","pornotv.com","badoo.com","lesbian8.com","mestreafiliados.com","metart.com","moscarossa.biz","pbos.com","asex.com","gasex.com","clit.com","hdporn.com","pornhot.com","hornyjourney.com","ab3.com","o-xxx.com","video-xxx.com","pornozavr.net","porntry.com","sindustry.com","sexidude.com","ansx.com","vidmo.org","xnxvideos.org","tubeporn.com","bootytape.com","brattysis.com","celebrityleakednudes.com","edenfantasys.com","fantasys.com","olo.cool","hentairead.com","kaotic.com","porngem.com","sex3.com","pee.net","spunkysheets.com","videosgratis.tv","sex-films.com","adultfreedating.com","adultvideotop.com","bdsmtest.org","otoes.com","nmyface.com","fap-tube.com","hegre.com","sexcinema.com","thesexcinema.com","babesandstars.com","gay-torrents.net","xpics.com","xxxpics.com","iem.fr","interracialpass.com","mansurfer.com","igallery.com","myhentaigallery.com","fash.com","drecom.jp","porncore.net","pornowatch.net","pornrox.com","4t3.com","betterwithage.com","tropictube.com","webtuna.com","liebe.de","ishot.com","gfh.com","goodpornvids.com","free-porn.com","instabang.com","pornjam.com","pornogrund.com","pornrabbit.co","pornrabbit.com","porzo.com","redtube.com.br","rstatic.be","girlz.com","vpscash.nl","porn-mov.com","zbiornik.com","zzbabes.com","camstreams.tv","kscans.com","etvnow.com","naughtyblog.org","nu-bay.com","pornoxo.com","mporn.com","reamporn.com","stocking-pages.com","elguru.com","tt1069.com","xecce.com","yanks.com","arabsex66.com","bdsmstreak.com","erocurves.com","forttroff.com","goldhdtube.com","machotube.tv","ormach.com","livewebcams.com","xlivewebcams.com","alrincon.com","cumpleaser.com","pleaser.com","erog.fr","pazz.com","freeviewmovies.com","fuckbook.com","fuckmoral.com","nerve.com","atons.net","freesex4all.com","hotfreesex4all.com","nsfw.com","yahoo.com","o-bo.com","photosex.biz","sex.biz","porn-w.org","pornorama.com","preferred411.com","faptube.co","faptube.com","runporn.com","mailorderbrides.com","tubexvideo.com","xxxymovies.com","zootube1.com","bored.com","girlsoutwest.com","sunix.com","amkt.com","nastyvideotube.com","pinkclips.mobi","gindex.com","porn1.com","xxxmillion.com","edporn.com","zedporn.com","adulthostedblogs.com","anexpert.org","beegnow.com","filthnest.com","eberg.net","girlstalkinsmack.com","pornvideos.mobi","homemadeporn.com","porndaddy.com","pornoshara.tv","queer.de","starmagazine.com","thepornlist.net","anybunny.mobi","carpediem.fr","kporno.com","sxxx.com","renas.com","fappenist.com","foxporns.com","freepornq.com","pornq.com","germanfucktube.com","intporn.com","ifriends.com","gateway.nu","nique.org","teenhost.net","tekstovi-pesama.com","the-sex.me","camshows.org","wifelovers.com","xxxstreams.org","biza.com","brazilcupid.com","fc2av.com","gaydar.net","glam0ur.com","gogotube.tv","handjobhub.com","xwebhosting.com","lxax.com","mexicancupid.com","playboy.de","2live.com","tastyblacks.com","ohentai.com","toroporno.com","tube8.es","unclevids.com","caprice.com","pornload.com","uw.hu","xxxtv.com","xxx.be","isgreat.com","tpe.com","fetisch.de","you-porn.com","gexo.com","indiansex.tv","pornorips.com","sexjobs.nl","spankwire.com","twoplustwo.com","xnxxcom.club","porngay.com","youporngay.com","melove.com","awejmp.com","blacktowhite.net","libero.it","leaning.co.uk","astrologie.com","tempted.com","deluxepass.com","dirtyroulette.com","dreammovies.com","dynasty-scans.com","freespeechcoalition.com","helixstudios.com","idealmilf.com","amembers.com","erose.com","sexblogs.com","pornbay.org","casadas.com","soyoung.com","tabootube.xxx","topsiteuri.ro","tubetubetube.com","violetmovies.com","knowporn.com","weknowporn.com","4girls.co.il","adammale.com","adamsextract.com","showa.com","brigitte.com","biqle.ru","bobandtom.com","cadena.com.br","familystrokes.com","keezmovies.com","twink.com","niteflirt.com","thepornmap.com","twrank.com","bigfuck.tv","herewego.com","grannyfucks.me","hdpornos.net","pornos.net","hotindianfuck.com","hqcollect.net","iknowthatgirl.com","tgirl.com","sexpert.com","openporn.network","ltparts.com","slickcams.com","amateurs.com","camateurs.com","mateurs.com","tacamateurs.com","winporn.com","xxxlib.mobi","150teengalleries.com","ngalleries.com","bestporncomix.com","exgo.com","dating.co.uk","sex.net","hentaistream.com","lustful.tv","nudebase.com","ohentai.org","pasionmujeres.com","planetromeo.com","pronhub.com","shit-around.com","ke.to","socialitelife.com","xsearch.cc","twpornstars.com","xhamstercams.com","adultdvdtalk.com","adultxxxarea.com","arabysexy.com","arenaporno.com","atkmodels.com","kmodels.com","cult.at","filthyway.com","tladies.com","japanesebeauties.net","lov.ru","kissjav.com","e97.de","loveshack.org","porneq.com","porngifer.com","pornoeggs.com","pornoente.tv","spele.nl","suicidegirls.com","girlsex.net","teenygirlsex.net","trendyporn.com","tubeplan.com","viewgals.com","jam.net","wildgay.com","xxxvideos.su","520cc.cc","qporn.com","babesnetwork.com","bitporno.com","cerdas.com","assmail.com","freechatnow.com","freexcafe.com","gaydemon.com","hardcoregamer.com","modelsgonebad.com","lendinghub.com","porn-star.com","pornosphere.com","watersports.com","reporn.com","ssex.com","todorelatos.com","raidrush.ws","sitego.com","comicsporno.com","vercomicsporno.com","xxxhunterspider.com","sexcomix.com","fsex.com","dogfartnetwork.com","epicpornvideos.com","foxybingo.com","hubetubex.com","tubex.co","o-magazine.com","milfseeker.com","gotboobs.com","mommygotboobs.com","nerdnudes.com","netflixmovies.com","porngals4.com","showmewebcams.com","ftube.com","sxx.com","videosx.com","xreview.com","upcomics.org","upskirt.tv","thrills.com","wetpussy.sexy","bustedtees.com","sexradar.com","stdesire.com","forhertube.com","expics.com","freematuresexpics.com","fuckmovs.pro","hentaidude.com","hypnohub.net","xdate.com","japan-whores.com","whores.com","escortguide.com","londonescortguide.com","ycams.com","melonstube.com","easy-dates.com","page-x.com","pornosauna.com","prontv.org","redlights.be","nues.com","sexemodel.com","uol.com.br","sexsaoy.com","nasty.com","thehentaiworld.com","truthordarepics.com","masturbate.com","10pic.com","3gpjizz.pro","adultsitetoplist.com","bestcuties.xyz","chyoa.com","isex.net","dirtydoglinks.com","easypic.com","hdxxnxx.com","hq-sex-tube.com","eblue.co.uk","etop.ru","stickamvids.net","tenderboys.net","tiny4k.com","nixos.com","cannabis.net","cartoonreality.com","247live.com","curvyerotic.com","xxxtube.org","footangels.com","adultgames.com","free3dadultgames.com","helixstudios.net","hottystop.com","okm.com","imperiodefamosas.com","thegays.com","kasidie.com","mistress.com","icertified.com","nothingtoxic.com","crasoft.com","vipentertainment.net","porn.fr","pump-cdn.com","teensnow.com","thehun.net","virgin-paradize.com","darkcategories.com","directbigboobsreloaded.net","drunkenstepfather.com","erosberry.com","familyporn.tv","yporn.tv","freerealvideo.com","gratistodo.com","hentairider.com","tchicks.com","javbangers.com","jlist.com","knockporn.com","sexx.com","lordgun.com","asian.com","ratx.com","outpersonals.com","pervertstore.com","pics.nu","pornsos.com","pornfree.com","troma.com","lecraft.com","trailerwmv.com","young.fr","xnxxcomvideos.com","porm.com","3xtoys.ca","boyculture.com","chantelle.com","clipf.com","coed.com","cutewebcams.com","frauporno.com","uporno.com","loveplay.com","imgadult.com","monstercockland.com","punishworld.com","puporn.com","scarleteen.com","spitzetitten.com","los.ch","titsintops.com","amateursex.com","tubeamateursex.com","tushyraw.com","xoxobella.com","xxxdessert.com","dbabes.com","cam4.fr","camwhoresbay.com","bears.xyz","fcn.ca","coco.fr","fleshbot.com","funbags.com","tight.com","bdsm.com","hitbdsm.com","lamalinks.com","perfectnaked.com","pornedup.com","pornsites.xxx","andoo.de","matureclub.com","sexmex.xxx","storiesonline.net","xmodels.com","tendertouch.com","thefrisky.com","tubepleasure.com","xex.com","clubsweethearts.com","dickievirgin.org","gamelink.com","intporn.org","klik.hr","malgusto.com","f4m.de","morefunforyou.com","adult.net","xadult.net","objectsex.tv","pieshop.com","8videos.com","porn18videos.com","dragon.ca","sexxx.to","sexykittenporn.com","1pondo.tv","topmanga.com","shemalelive.com","besthugecocks.com","blacksexbook.com","sexbook.com","aker.be","craiglist.com","but.com","hausfrau.com","fetish-xxx.com","gay-fetish-xxx.com","gaybeeg.info","pureskin.com","interracialpornjungle.com","18plus.com","tyrantdb.com","manga-porn.com","xxmix.com","mrporn.com","hairygirls.com","mature.net","older-mature.net","thatass.com","pagalworld.asia","pandesiaworld.com"]),Tm=new Set(["bnpparibas.com","abnamro.nl","anz.com.au","bradescori.com.br","bb.com.br","itau.com.br","santander.com","bankmandiri.co.id","bankofamerica.com","boc.cn","barclays.com","mufg.jp","citigroup.com","credit-suisse.com","db.com","goldmansachs.com","hsbc.com","jpmorganchase.com","societegenerale.com","belfius.com","ing.com","intesasanpaolo.com","smbc.co.jp","mizuho-fg.com","westpac.com.au","ubs.com","standardchartered.com","kbc.com","bbva.com","morganstanley.com","nedbankgroup.co.za","rabobank.nl","rbc.com","natwestgroup.com","scotiabank.com","ccb.com","icbc-ltd.com","sbi.co.in","standardbank.co.za","credit-agricole.com","unicreditgroup.eu","bancogalicia.com","bmo.com","triodos.com","bancaetica.it","abs.ch","asnbank.nl","gls.de","macquarie.com.au","co-operativebank.co.uk","rsfsocialfinance.org","caixa.gov.br","caixabank.com","bancopopular.es","bes.pt","desjardins.com","ekobanken.se","cdb.com.cn","eximbank.gov.cn","cebbank.com","cibc.com","manulife.com","nordea.com","zkb.ch","td.com","danskebank.com","erstegroup.com","wellsfargo.com","commbank.com.au","nab.com.au","deka.de","natixis.com","commerzbank.com","cib.com.cn","bangkokbank.com","kasikornbank.com","absa.africa","accessbankplc.com","aaib.com","brou.com.uy","grupobancolombia.com","bankmuscat.com","corpbanca.cl","dnb.no","edc.ca","firstrand.co.za","fmo.nl","kfw-ipex-bank.de","lloydsbankinggroup.com","sebgroup.com","bnpparibasfortis.com","garantibbva.com.tr","akbank.com","bankofafrica.ma","abchina.com","pnc.com","nibc.com","ahliunited.com","veb.ru","sbrf.ru","bankcomm.com","hxb.com.cn","cmbchina.com","spdb.com.cn","cmbc.com.cn","cncbinternational.com","axisbank.com","idbi.com","alfabank.com","hdfcbank.com","icicibank.com","citicbank.com","pingan.com","bankofbeijing.com.cn","nbcb.cn","njcb.com.cn","vtb.com","maybank.com","cimb.com","dbs.com","ocbc.com","uobgroup.com","bni.co.id","bri.co.id","idfc.com","openbank.ru","viabcp.com","dzbank.com","bnymellon.com","usbank.com","suncorpgroup.com.au","labanquepostale.fr","allianz.com","bayernlb.com","helaba.de","hsh-nordbank.com","lbbw.de","nordlb.com","mediobanca.it","rbinternational.com","swedbank.com","bankofindia.co.in","pfcindia.com","licindia.in","pkobp.pl","bgk.com.pl","gnb.pl","bankmillennium.pl","bca.co.id","danamon.co.id","bgz.pl","creditmutuel.fr","bndes.gov.br","bankia.com","norges-bank.no","kfw.de","bpce.fr","winglungbank.com","cathaybk.com.tw","smth.jp","grupbancsabadell.com","bankhapoalim.com","leumi.co.il","discountbank.co.il","mizrahi-tefahot.co.il","fibi.co.il","mcbgroup.com","cibanco.com","fidelitybank.ng","ecobank.com","finnfund.fi","eximbankindia.in","exim.gov","truist.com","cifi.com","banorte.com","bancovotorantim.com.br","gov.uk","handelsbanken.com","bankinter.com","esunbank.com.tw","efic.gov.au","ekf.dk","eksportkreditt.no","ico.es","bankfab.com","op.fi","btgpactual.com","greeninvestmentgroup.com","bancoestado.cl","jsbchina.cn","gcs-web.com","sek.se","kdb.co.kr","nochubank.or.jp","fubon.com","devolksbank.nl","nykredit.com","jyskebank.dk","sydbank.com","sparebank1.no","o-bank.com","psbc.com","shinkin-central-bank.jp","nbe.com.eg","banquemisr.com","zenithbank.com","cibeg.com","attijariwafabank.com","groupebcp.com","shinhangroup.com","yuantabank.com.tw","shinseibank.com","mycc-bank.com","ctbcbank.com","cqrcb.com","sinopac.com","hzccb.net","firstbank.com.tw","kbfg.com","bgzchina.com","taishinbank.com.tw","megabank.com.tw","wooribank.com","hanafn.com","cqcbank.com","nonghyup.com"]),Om=new Set(["fonts.googleapis.com","facebook.com","twitter.com","google.com","youtube.com","w.org","instagram.com","googletagmanager.com","linkedin.com","ajax.googleapis.com","gmpg.org","pinterest.com","gstatic.com","wordpress.org","wikipedia.org","youtu.be","apple.com","github.com","bit.ly","goo.gl","cloudflare.com","vimeo.com","google-analytics.com","maps.googleapis.com","flickr.com","vk.com","t.co","reddit.com","amazon.com","medium.com","creativecommons.org","microsoft.com","adobe.com","soundcloud.com","theguardian.com","europa.eu","googleusercontent.com","nytimes.com","bootstrapcdn.com","blogger.com","forbes.com","s3.amazonaws.com","jquery.com","dropbox.com","paypal.com","tinyurl.com","etsy.com","theatlantic.com","archive.org","amzn.to","cnn.com","wikimedia.org","issuu.com","imgur.com","wordpress.com","wp.me","businessinsider.com","yelp.com","t.me","washingtonpost.com","bbc.com","amazon.de","bbc.co.uk","doubleclick.net","mozilla.org","eventbrite.com","slideshare.net","w3.org","forms.gle","telegraph.co.uk","messenger.com","gravatar.com","usatoday.com","huffingtonpost.com","stackoverflow.com","fb.com","npr.org","techcrunch.com","wired.com","eepurl.com","reuters.com","arxiv.org","wp.com","yahoo.com","amazon.fr","tumblr.com","cnbc.com","zoom.us","wa.me","paypal.me","slack.com","independent.co.uk","discord.gg","spotify.com","tripadvisor.com","behance.net","thinkwithgoogle.com","who.int","ibm.com","mixcloud.com","google.co.in","latimes.com","macromedia.com","dailymail.co.uk","line.me","unsplash.com","storage.googleapis.com","googlesyndication.com","jsdelivr.net","g.co","meetup.com","bloomberg.com","vox.com","imdb.com","arstechnica.com","amazon.co.uk","statista.com","google.ca","nbcnews.com","steemit.com","amazon.co.jp","w3schools.com","weibo.com","twitch.tv","moz.com","drupal.org","nypost.com","ebay.com","sourceforge.net","godaddy.com","nih.gov","wsj.com","thenextweb.com","cdc.gov","opera.com","ftc.gov","j.mp","about.me","gov.uk","ytimg.com","squareup.com","google.co.uk","buzzfeed.com","pixabay.com","quora.com","cnet.com","google.com.au","myspace.com","theglobeandmail.com","shopify.com","whitehouse.gov","kickstarter.com","freelancer.com","evernote.com","gmail.com","wixstatic.com","fortune.com","wix.com","dailymotion.com","goodreads.com","google.co.jp","surveymonkey.com","cbsnews.com","entrepreneur.com","bing.com","engadget.com","tandfonline.com","cargocollective.com","whatsapp.com","shutterstock.com","twimg.com","blog.google","time.com","lifehacker.com","patreon.com","scribd.com","feedburner.com","trello.com","ted.com","researchgate.net","fda.gov","instructables.com","google.de","digitalocean.com","dribbble.com","variety.com","indiegogo.com","salesforce.com","nasa.gov","codepen.io","newyorker.com","go.com","snapchat.com","googleadservices.com","sciencedirect.com","ft.com","nature.com","gofundme.com","500px.com","qz.com","dropboxusercontent.com","steampowered.com","googleblog.com","oracle.com","gartner.com","msdn.com","mailchi.mp","digg.com","skype.com","periscope.tv","google.com.br","googleblog.blogspot.com","npmjs.com","vice.com","aboutads.info","pexels.com","sxsw.com","fiverr.com","cbc.ca","venturebeat.com","mashable.com","upwork.com","bitly.com","loc.gov","netflix.com","hbr.org","pbs.org","stumbleupon.com","walmart.com","foursquare.com","amazon.ca","tiny.cc","xkcd.com","target.com","nginx.com","canva.com","addthis.com","elmundo.es","indiatimes.com","yandex.ru","pastebin.com","samsung.com","rt.com","ifttt.com","mysql.com","giphy.com","fontawesome.com","houzz.com","android.com","speakerdeck.com","digitaltrends.com","steamcommunity.com","canada.ca","networkadvertising.org","linktr.ee","calendly.com","lg.com","last.fm","amazon.es","businesswire.com","deezer.com","doi.org","udemy.com","bp.blogspot.com","gumroad.com","ubuntu.com","google.ru","makeuseof.com","raw.githubusercontent.com","bluehost.com","deviantart.com","pewresearch.org","google.cn","microsoftonline.com","google.nl","google.es","fastcompany.com","is.gd","telegram.me","mediafire.com","themeforest.net","openstreetmap.org","pewinternet.org","buff.ly","springer.com","bizjournals.com","residentadvisor.net","golang.org","vogue.com","s3-eu-west-1.amazonaws.com","boardgamegeek.com","un.org","redd.it","ow.ly","buffer.com","mozilla.com","chromium.org","patheos.com","ancestry.com","youtube-nocookie.com","barnesandnoble.com","amzn.com","hulu.com","greenpeace.org","spiegel.de","census.gov","box.com","yandex.com","sketchfab.com","avvo.com","searchengineland.com","shareasale.com","abc.net.au","trustpilot.com","rakuten.co.jp","marriott.com","amazon.it","uber.com","coursera.org","adage.com","foxnews.com","flic.kr","chrome.com","change.org","spreaker.com","filezilla-project.org","flipboard.com","pcworld.com","pitchfork.com","weforum.org","istockphoto.com","9to5mac.com","1drv.ms","uspto.gov","irs.gov","copyblogger.com","example.com","siteground.com","sony.net","creativemarket.com","smithsonianmag.com","acm.org","accenture.com","git-scm.com","bbb.org","schema.org","psychologytoday.com","redcross.org","nodejs.org","ameblo.jp","gitlab.com","sciencemag.org","hollywoodreporter.com","freshbooks.com","heise.de","chicagotribune.com","epa.gov","anchor.fm","telegram.org","ikea.com","bloglovin.com","eventbrite.co.uk","googlewebmastercentral.blogspot.com","huffpost.com","weebly.com","producthunt.com","google.fr","linksynergy.com","vanityfair.com","diigo.com","ouest-france.fr","namecheap.com","codecanyon.net","appstore.com","ietf.org","rockpapershotgun.com","columbia.edu","constantcontact.com","webmd.com","material.io","neilpatel.com","discordapp.com","m.me","design.google","francetvinfo.fr","slashgear.com","4shared.com","python.org","amazon.com.au","storify.com","elegantthemes.com","europe1.fr","pwc.com","activecampaign.com","freepik.com","ravelry.com","apnews.com","propublica.org","smugmug.com","inc.com","google.it","zazzle.com","dol.gov","scoop.it","bit.do","yadi.sk","eclipse.org","economist.com","xing.com","hbo.com","nationalgeographic.com","jetbrains.com","iconfinder.com","cafepress.com","strava.com","kiva.org","boredpanda.com","justgiving.com","pinterest.ca","zdnet.com","sproutsocial.com","rebrand.ly","ranker.com","a.co","waze.com","nydailynews.com","marketwatch.com","mailchimp.com","livescience.com","flaticon.com","ilpost.it","facebook.net","google.co.nz","amazon.com.br","ustream.tv","lulu.com","socialmediatoday.com","rollingstone.com","sagepub.com","zillow.com","xinhuanet.com","politico.com","pnas.org","laughingsquid.com","redhat.com","dashlane.com","copyright.gov","mentalfloss.com","zeit.de","google.cz","startnext.com","launchpad.net","lemonde.fr","sciencedaily.com","edx.org","smashwords.com","philips.co.uk","intel.com","livestream.com","brookings.edu","thehill.com","popsci.com","playstation.com","fb.me","oup.com","php.net","wetransfer.com","livedoor.jp","amazon.in","obsproject.com","qq.com","windows.com","hostgator.com","google.gr","theverge.com","aub.edu.lb","digiday.com","gimp.org","treasury.gov","geocities.com","healthline.com","coinbase.com","gnu.org","abc.com","aljazeera.com","getresponse.com","dev.to","thesun.co.uk","lynda.com","sellfy.com","prnt.sc","hp.com","notion.so","vmware.com","kraken.com","vine.co","marthastewart.com","discord.me","dailycaller.com","mega.nz","flavors.me","blip.tv","prntscr.com","plos.org","discogs.com","vanmiubeauty.com","metro.co.uk","google.ie","relapse.com","bandcamp.com","gopro.com","t.ly","mit.edu","billboard.com","britannica.com","wiley.com","techsmith.com","sfgate.com","redbubble.com","repubblica.it","disqus.com","khanacademy.org","skfb.ly","androidauthority.com","accessify.com","tensorflow.org","chrisjdavis.org","box.net","poetryfoundation.org","cornell.edu","penguinrandomhouse.com","refinery29.com","starwars.com","prnewswire.com","zalo.me","reverbnation.com","getpocket.com","about.com","goo.gle","note.mu","thetimes.co.uk","fao.org","bol.com","yoursite.com","sophos.com","automattic.com","podbean.com","sublimetext.com","archives.gov","vizio.com","thelancet.com","guardian.co.uk","tunein.com","stitcher.com","coinmarketcap.com","amnestyusa.org","cambridge.org","asus.com","problogger.net","worldbank.org","ticketportal.cz","dw.com","songkick.com","adweek.com","lifehack.org","apple.co","sutterhealth.org","globalnews.ca","breitbart.com","thumbtack.com","eff.org","snopes.com","crowdrise.com","hkrsa.asia","metmuseum.org","pixlr.com","institutvajrayogini.fr","mosgorcredit.ru","itchyfeetonthecheap.com","reacts.ru","db.tt","udacity.com","we.tl","blogtalkradio.com","audacityteam.org","youcaring.com","harvard.edu","google.ch","nhs.uk","mixi.jp","symfony.com","mtv.com","bitcointalk.org","esa.int","slate.com","oecd.org","raspberrypi.org","sfexaminer.com","warriorforum.com","g.page","bhphotovideo.com","axios.com","pinterest.co.uk","unesco.org","msn.com","visualstudio.com","netbeans.org","blockchain.info","untappd.com","espn.com","cbs.com","michigan.gov","oprah.com","ok.ru","mhlw.go.jp","newegg.com","themarthablog.com","yummly.com","bitpay.com","buymeacoffee.com","deepl.com","scientificamerican.com","audible.com","bitbucket.org","typekit.net","faz.net","adf.ly","cancerresearchuk.org","moma.org","bigthink.com","bandsintown.com","office.com","upi.com","collegehumor.com","lefigaro.fr","gplus.to","themify.me","rtve.es","nba.com","myfitnesspal.com","pirillo.com","eonline.com","ko-fi.com","otto.de","tkqlhce.com","unity3d.com","naver.com","freewebs.com","drift.com","postmates.com","geek.com","geocities.jp","beian.gov.cn","flattr.com","webroot.com","thoughtcatalog.com","google.pl","seroundtable.com","checkpoint.com","jotform.com","xbox.com","infusionsoft.com","globo.com","capterra.com","ea.com","hawaii.edu","osha.gov","buzzfeednews.com","jstor.org","iheart.com","foodnetwork.com","eventim.de","presseportal.de","google.se","skillshare.com","puu.sh","examiner.com","stripe.com","firstdata.com","advertisercommunity.com","pinimg.com","ctt.ec","cia.gov","docker.com","homedepot.com","humblebundle.com","greenend.org.uk","pandora.com","google.co.za","payhip.com","thingiverse.com","inkscape.org","adobe.ly","css-tricks.com","jamanetwork.com","wattpad.com","chase.com","cisco.com","bmj.com","louvre.fr","aclu.org","squarespace.com","gum.co","idealo.de","imore.com","rakuten.com","fbi.gov","united.com","google.pt","on24.com","nejm.org","colorado.edu","franchising.com","logitech.com","redbull.com","tf1.fr","hostinger.com","nbc.com","ign.com","hubspot.com","envato.market","google.be","technorati.com","pond5.com","ucl.ac.uk","a2hosting.com","amzn.asia","nicovideo.jp","indiewire.com","codeproject.com","usa.gov","gleam.io","space.com","gitter.im","ggpht.com","leparisien.fr","kotaku.com","huffingtonpost.co.uk","chronicle.com","createspace.com","verizon.com","teespring.com","goo.ne.jp","kobo.com","globalsign.com","animoto.com","rottentomatoes.com","cell.com","health.com","geni.us","lesechos.fr","fas.org","smashingmagazine.com","7-zip.org","realvnc.com","discovery.com","mlb.com","autodesk.com","popularmechanics.com","rdio.com","sendspace.com","synology.com","angelfire.com","france24.com","battle.net","stjude.org","denverpost.com","japantimes.co.jp","stocktwits.com","envato.com","airtable.com","ticketmaster.com","neh.gov","purl.org","nfl.com","monster.com","dafont.com","tesla.com","lmgtfy.com","olympic.org","baidu.com","overcast.fm","allmusic.com","cdbaby.com","vsco.co","nvidia.com","stadt-bremerhaven.de","faa.gov","yahoo.co.jp","bild.de","lenovo.com","funnyordie.com","abebooks.com","ieee.org","thinkgeek.com","snip.ly","pixiv.net","buzzsprout.com","orcid.org","ampproject.org","feedspot.com","ericsson.com"]),Am=new Set([...Im.values(),...Tm.values(),...Om.values(),"mail.ru","bing.com"]),Em=new Set(["expedia.com","agoda.com","kayak.com","kayak.es","kayak.it","kayak.fr","kayak.de","kayak.co.uk","kayak.be","kayak.nl","priceline.com","hotel.com","hotwire.com","travelocity.com","orbitz.com","lastminute.com","hometogo.com","wimdu.com","casamundo.com","homes-and-villas.marriott.com","holidu.com","holidu.fr","holidu.it","holidu.es","holidu.ch","holidu.pt","holidu.co.uk","novasol.com","novasol.it","novasol.de","novasol.at","novasol.co.uk","novasol.us","novasol-vacaciones.es","novasol-vacances.fr","makemytrip.com","leboncoin.fr","plumguide.com","trip.com","likibu.com","hopper.com","hostelworld.com","glampinghub.com","trivago.com","ar.trivago.com","trivago.ae","trivago.com.ar","trivago.at","trivago.com.au","trivago.be","trivago.bg","trivago.com.br","trivago.ca","trivago.ch","trivago.cl","trivago.com.co","trivago.cz","trivago.de","trivago.dk","trivago.com.ec","trivago.es","trivago.fi","trivago.fr","trivago.gr","trivago.hk","trivago.hr","trivago.hu","trivago.co.id","trivago.ie","trivago.co.il","trivago.in","trivago.it","trivago.jp","trivago.co.kr","trivago.com.mx","trivago.com.my","trivago.nl","trivago.no","trivago.co.nz","trivago.pe","trivago.com.ph","trivago.pl","trivago.pt","trivago.ro","trivago.rs","trivago.se","trivago.sg","trivago.si","trivago.sk","trivago.co.th","trivago.com.tr","trivago.com.tw","trivago.co.uk","trivago.com.uy","trivago.vn","trivago.co.za","5pm.co.uk","acomodeo.com","agodaconnectivity.com","aicgroup.biz","airasia.com","siteminder.com","alba-travel.com","altovita.com","alturabeds.com","andalucia-autentica.com","asaguest.com","asiayo.com","en.atel-hotels.com","americantours.com","atrapalo.com","aura.travel","AzoresGetaways.com","bakuun.com","barceloviajes.com","bed-and-breakfast.it","bestday.com","Bidroom.com","bnberry.com","bonotel.com","bookeasy.com","bookerclub.com","join.booking.com","bookmemaldives.com","visitgroup.com","ba.com","canariasviaja.com","centraldereservas.com","charmingitaly.com","hotel.check24.de","chicretreats.com","cisalpinatours.it","citybaseapartments.com","cityzenbooking.com","clubdevacaciones.es","condortravel.com","connectycs.com","crc.ag","curacity.com","darmawisataindonesia.co.id","daybreakhotels.com","despegar.com","didatravel.com","rooms.digibreaks.com","discoveraustralia.com.au","hotels.dnatatravel.com","dorms.com","easyjet.com","easytravel.com.tw","ec-travel.pt","eccotours.biz","ecohotels.com","findingedyn.com","elong.net","emergingtravel.com","emviagem.pt","epoquehotels.com","esquiades.com","estiber.com","estonianspas.eu","etourismholidays.com.au","europlayas.es","eurotours.at","evasionvoyages.fr","welcome.expediagroup.com","ezibed.com","eztravel.com.tw","favstay.com","feelingo.com","feratel.com","feratel.at","fijiairways.com","fincahotels.com","fliggy.com","flightcentre.com","app.flowtheroom.com","followme2africa.com","fusionholidays.com.au","getaroom.com","discoveryloyalty.com","go2africa.com","goibibo.com","grosvenortours.com","revparguru.com","hafh.com","halalbooking.com","hanatour.com","hero.travel","holidaytravel.co.za","thehomelike.com","hoojoozat.com","hookusbookus.com","hostelsclub.com","tsecure.hostelworld.com","hotelextranet.co.uk","rts.net","hotels.com","hotelsclick.com","revato.com","hotelshopuk.com","login.hotelspecials.nl","home.hotelswaps.com","hoteltonight.com","hoterip.com","housinganywhere.com","hotelspro.com","hrs.com","hurb.com","travel.hutchgo.com.hk","hyperguest.com","i-escape.com","icastelli.net","rewardscorp.com","imperatours.com","infinitehotel.com","corp.inntopia.com","hotel.interpark.com","booking.italiandiscovery.com","itravex.es","new.itrip-online.com","ivivu.com","jet2holidays.com","hotels.jetstar.com","jtb-hawaii.com","jumbotours.com","justhooit.com","kkday.com","klikhotel.com","klook.com","kurz-mal-weg.de","kurzurlaub.de","leisurecom.com","first-travel-group.co.nz","limatours.com.pe","liontravel.com","littleguestcollection.com","loveholidays.com","lusanova.com","luxuryescapes.com","magic-dmc.com","medistays.com.au","hotel.meituan.com","mgholiday.com","migoa.com","misteraladin.com","misterfly.com","mrandmrssmith.com","mybookings.com.au","myhotelbreak.com","mytour.vn","namutravel.com","secure.needitnow.com","nexttrip.com","nomolesten.com","visitnewquay.org","odamax.com","odeontours.com","odigeoconnect.com","odisseias.com","offpeakluxury.com","olympia.it","onthebeach.co.uk","on-travelsolutions.com","opentravel.network","opengds.com","otelz.com","ozaccom.com.au","pacificbedbank.com","panpacific.co.nz","panamericanadeviajes.net","chamonix.com","pegipegi.com","perlatours.com","petspyjamas.com","pitchup.com","portimar.pt","prestigia.com","pricetravel.com","qantas.com","quantumreservation.com","racv.com.au","travel.rakuten.com","solutions.travel.rakuten.com","rehlat.com","reslogic.com","riparide.com","cm.roamfree.com","robinhood.in.th","rocketstay.com","roomlia.com","rusticae.com","rydoo.com","safarinow.com","secretescapes.com","seera.sa","partnerweb.sembo.se","settour.com.tw","silverdoorapartments.com","situ.co.uk","smartie.com","south-african-hotels.com","spabreaks.com","speedybooker.com","splendia.com","springbokatlas.com","stashrewards.com","hotels.hotelbonanza.com","staycation.co","trade.switzerlandtravelcentre.ch","szallas.hu","tablethotels.com","tailorbeds.travel","tboholidays.com","thesqua.re","thompsonsafrica.com","tidesquare.com","tiket.com","tomas.travel","tourbobo.com","txa.com.au","txgb.co.uk","txi.co.id","tourismexchangeusa.com","tourvestdm.com","traveloka.com","travelperk.com","travelstay.com","solutions.travelzoo.com","tripadeal.com.au","tripadvisor.com","tripmakery.com","reservedirect.com","tuigroup.com","tumlare.com","vacatia.com","vacayhomeconnect.com","verwoehnwochenende.de","verychic.com","aramon.com","viajeselcorteingles.es","viajesolympia.com","voordeeluitjes.nl","webbeds.com","weekendesk.fr","weekendjeweg.nl","whistler.com","wilderness-safaris.com","wink.travel","w2m.travel","en.xeniahs.com","yonda.com.au","campingfrance.com","vio.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","oyorooms.com","zenithoteles.com","booking.zenithoteles.com","bookingcoruna.zenithoteles.com","edreams.es","edreams.fr","edreams.cz","edreams.de","edreams.es","edreams.gr","edreams.com","edreams.it","edreams.pt","edreams.ch","edreams.com.tr","edreams.co.uk","edreams.com.ar","edreams.com.mx","edreams.pe","edreams.com.au","edreams.hk","edreams.in","edreams.jp","edreams.ph","edreams.co.kr","edreams.tw","edreams.ma","edreams.qa","edreams.sa","edreams.net","hu.edreams.com","nl.edreams.com","ro.edreams.com","cl.edreams.com","co.edreams.com","cn.edreams.com","id.edreams.com","nz.edreams.com","sg.edreams.com","th.edreams.com","za.edreams.com","ca.edreams.com"]),Zm=new Set(["skyscanner.es","skyscanner.it","skyscanner.com","traveloka.com","flightaware.com","skyscanner.net","kiwi.com","cleartrip.com","klook.com","tourscanner.com","getyourguide.com","getyourguide.co.uk","viator.com","civitatis.com","nomadicmatt.com","lonelyplanet.com","thepointsguy.com","worldpackers.com","theculturetrip.com","travel.usnews.com","timeout.com","roughguides.com","travelandleisure.com","cntraveler.com","shetravelledtheworld.com","thesoloist.travel","globe-gazers.com","skift.com","phocuswire.com","phocuswright.com","aa.com","southwest.com","ryanair.com","delta.com","united.com","latamairlines.com","ana.co.jp","jal.co.jp","wizzair.com","aviasales.ru","aircanada.com","jetblue.com","britishairways.com","turkishairlines.com","qatarairways.com","emirates.com","flyfrontier.com","spirit.com","alaskaair.com","goindigo.in","lufthansa.com","airasia.com","jetstar.com","qantas.com","voeazul.com.br","flypgs.com","skyscanner.co.in","avianca.com","cheapoair.com","cebupacificair.com","volaris.com","iberia.com","skyscanner.de","justfly.com","voegol.com.br","vivaaerobus.com","singaporeair.com","flightstats.com","aeroflot.ru","vueling.com","transavia.com","allegiantair.com","aeromexico.com","airfrance.com","cathaypacific.com","etihad.com","koreanair.com","swiss.com","virginatlantic.com","finnair.com","airchina.com","saudia.com","malaysiaairlines.com","garuda-indonesia.com","thaiairways.com","austrian.com","klm.com","csair.com","egyptair.com","airindia.in","brusselsairlines.com","latam.com","flysas.com","omanair.com","alitalia.com","airnewzealand.com","virginaustralia.com","aerlingus.com","copaair.com","flytap.com","royalairmaroc.com","lot.com","westjet.com","hawaiianairlines.com","norwegian.com","aegeanair.com","csa.cz","airmauritius.com","rwandair.com","rj.com","uzairways.com","fijiairways.com","ethiopianairlines.com","caribbean-airlines.com","airbaltic.com","flyasiana.com","airseychelles.com","airmalta.com","vietnamairlines.com","elal.com","juneyaoairlines.com","airastana.com","azal.az","airserbia.com","airdolomiti.eu","airtahitinui.com","biman-airlines.com","airtransat.com","airarabia.com","airgreenland.com","kenya-airways.com","aireuropa.com","sunexpress.com","flyroyalbrunei.com","airzimbabwe.aero","airtanzania.com","airmacau.com.mo","airvanuatu.com","airnamibia.com","airbotswana.co.bw","airtahiti.com","airniugini.com.pg","airmadagascar.com","airburkina.com","airalgerie.dz","air-austral.com","ticketmaster.com","stubhub.com","livenation.com","seatgeek.com","axs.com","vividseats.com","ticketnetwork.com","eventbrite.com","ticketek.com","ticketcity.com","ticketliquidator.com","ticketfly.com","goldstar.com","bigstub.com","ticketweb.com","gametime.co","tickpick.com","eventim.com","frontgatetickets.com","tickets.com","ticketiq.com","scorebig.com","ticketreturn.com","brownpapertickets.com","ticketmaster.com/resale","flashseats.com","ticketatlantic.com","ticketmaster.eu","eventim.eu","seetickets.com","stubhub.co.uk","festicket.com","skiddle.com","gigantic.com","dice.fm","ticketweb.eu","eventbrite.co.uk","ticketline.co.uk","theticketfactory.com","ticketswap.com","tickettailor.com","billetto.co.uk","residentadvisor.net","ticketabc.com","myticket.co.uk","biggreencoach.co.uk","ents24.com","ticketea.com","entradium.com","elcorteingles.es/entradas","ticketmaster.es","redentradas.com","fnacspectacles.com","billetterie.auchan.fr","digitick.com","francebillet.com","ticketmaster.fr","ticketone.it","vivaticket.it","ticketone.club","boxol.it","ticketmaster.it","eventim.de","ticketmaster.de","reservix.de","adticket.de","ticketmaster.co.uk","ticketweb.uk","xceed.me","viagogo.es","viagogo.fr","viagogo.it","viagogo.com","viagogo.de","viagogo.au","viagogo.ca","viagogo.be","viagogo.dk","viagogo.gr","viagogo.com.mx","viagogo.no","viagogo.ru","viagogo.se","viagogo.co.uk","songkick.com","entradas.com","feverup.com","thefork.es","opentable.com","resy.com","yelp.com","bookatable.co.uk","thefork.com","eatwith.com","exploretock.com","zomato.com","dineout.co.in","opentable.co.uk","opentable.fr","opentable.de","opentable.it","opentable.es","opentable.com.au","bookatable.de","bookatable.com","bookatable.se","bookatable.dk","bookatable.no","lafourchette.com","eltenedor.es","thefork.it","thefork.ch","thefork.be","zomato.ae","zomato.com.ph","adyen.com","checkoutshopper-live.adyen.com","egencia.co.uk","concur.com","amexglobalbusinesstravel.com","tripactions.com","mycwt.com","egencia.com","travelperk.com","travelctm.com","fcmtravel.com","hrgworldwide.com","amtrav.com","upside.com","lola.com","sabre.com","roomsxml.com","hotelbeds.com","travelport.com","corporate-travel-agents.com","trapezegroup.com","ctsbus.com","onetravel.com","merlinsoftware.com","uatptravel.com","travelvisapro.com","bcdtravel.com","prismtech.com","travelexperts.com","amadeus.com","trip.com","ganttravel.com","flightcentre.com","traveldoo.com","flightglobal.com","matrix.itasoftware.com","corptrav.com","renfe.com","sncf-connect.com","bahn.de","amtrak.com","trenitalia.com","eurostar.com","eurostarshotels.com","thalys.com","czechrailway.cz","rzd.ru","viazul.cu","sbb.ch","transperth.wa.gov.au","flytoget.no","sj.se","gwr.com","vr.fi","lner.co.uk","chilternrailways.co.uk","translink.co.uk","eastmidlandsrailway.co.uk","westmidlandsrailway.co.uk","scotrail.co.uk","tpexpress.co.uk","c2c-online.co.uk","southwesternrailway.com","merseyrail.org","northernrailway.co.uk","tfw.wales","crosscountrytrains.co.uk","heathrowexpress.com","gautrain.co.za","tgv-lyria.com","wmr.uk","gdyniakolejurbanska.pl","trapezecatering.com.pl","sncb.be","cp.pt","ns.nl","flixbus.com","greyhound.com","megabus.com","busticket.com","redcoachusa.com","nationalexpress.com","peterpanbus.com","boltbus.com","gogobus.com","redbus.com","busbud.com","wanderu.com","omio.com","bus.com","eurolines.com","berlinlinienbus.de","greyhound.ca","buseireann.ie","translink.ca","matthews.ie","stagecoachbus.com","arriva.co.uk","tfl.gov.uk","nationalbus.ie","ryanair.com/ie/en/plan-trip/explore/flight-deals-and-sales","terravision.eu","expressairportbus.com","airportshuttle.it","airportbustransfers.co.uk","nxbus.co.uk","easybus.com","shuttlebus.co.uk","flybus.is","aerobusbcn.com","marcosautolineas.com.mx","ado.com.mx","unicobus.com","luxexpress.eu","transnasional.com","reservation.barcelo.com","reservations.cubilis.eu","venta.renfe.com","waynabox.com","rentalcars.com","hertz.com","enterprise.com","priceline.com","turo.com","expedia.com","alamo.com","avis.com","nationalcar.com","sixt.com","foxrentacar.com","dollar.com","thrifty.com","orbitz.com","travelocity.com","autoslash.com","getaround.com","zipcar.com","rentcars.com","carrentals.com","vipcars.com","budget.com","drivekyte.com","autorentals.com","europcar.com","hotwire.com","autoeurope.com","rental24h.com","sixt.de","paylesscar.com","easyrentcars.com","economycarrentals.com","booking.com","nipponrentacar.co.jp","unidas.com.br","movida.com.br","yolcu360.com","timescar.jp","rentalcars.de","keddybyeuropcar.com","discovercars.com","economybookings.com","rentalmoose.com","roadsurfer.com","doyouspain.com","okmobility.com","goldcar.es","location.leclerc","orix.co.jp","blablacar.com","holidayautos.com","hertz.com/goldplusrewards","skyscanner.net/car-rental","rentalcarsconnect.com","rentacar.com","carrentals.co.uk","happycar.com","indigocarhire.co.uk","zoomcar.com","easirent.com","flightcar.com","wheels2go.com","discovercarhire.com","carhire.ie","kemwel.com","arguscarhire.com","bargaincarrentals.com.au","fireflycarrental.com","nationalcar.co.uk","autoescape.com","skyscanner.com.au","rentcars.de","vroomvroomvroom.com","travelcar.com","drive-now.com","advantage.com","atlaschoice.com","amigoautos.com","drivy.com","enterprise.co.uk","europcar.co.uk","greenmotion.com","interrent.com","irelandcarhire.com","islandcarrentals.com","checkout.novasol.com","americanexpress.com","amextravel.com","global.americanexpress.com","safekey-2.americanexpress.com","priceless.com","exoticca.com","thetrainline.com","paynow.meininger-hotels.com","web2pay.3cint.com","secure.accor.com","meliapayments.com","securepayment.nh-hotels.com","booking.barcelo.com","web2pay.3cint.com","reservas.palladiumhotelgroup.com","paynow.meininger-hotels.com","book.meininger-hotels.com","booking.sercotelhoteles.com","sis.redsys.es","reservation.hoteles-silken.com","wheeltheworld.com","capitalone.com","capitalonetravel.com","verified.capitalone.com","online.citi.com","citi.com","cititravel.com","cardbenefits.citi.com","booking.iberostar.com","process-securepay.syspay.com","chatgpt.com","perplexity.ai","gemini.google.com","book-secure.com","secure.booking.com","secure.locationlacannecy.fr","secure.5starshome.com","secure.5starshome.de","secure.5starshome.es","secure.5starshome.fr","secure.ibaia-immobilier.com","secure.ibaia-immobilier.fr","secure.iberian-escapes.com","secure.iberisgroup.com","secure.iberorentapartments.com","secure.ibizarenthouse.com","secure.ibizea.es","secure.idealcostabrava.net","secure.idealhomesrentals.com","secure.idealpropertymallorca.com","secure.ideamenton.fr","secure.ifalquileresbenidorm.com","secure.igloo.scot","secure.ilederelocation.com","secure.ilgabbianoponza.it","secure.iloftmalaga.be","secure.iloftmalaga.com","secure.immo-phoenix.ch","secure.immobadiaroses.com","secure.immobiliarialola.com","secure.immobilien-sonja-moyses.com","secure.immobiliervillajosephine.fr","secure.immodreams.fr","secure.immoplage.com","secure.immosol.fr","secure.immoval.com","secure.impals.cat","secure.indarra-experience.com","secure.indigoholidays.es","secure.inmo-campomar.com","secure.inmobiliariacanovas.com","secure.inmobiliariaencullera.es","secure.inmodreamcalpe.com","secure.inmomaspinell.com","secure.inmoriquelmealquiler.com","secure.inmosantos.com","secure.inmoveraplaya.com","secure.innkeeper.pt","secure.innlov.com","secure.innmallorca.com","secure.innovamenorca.com","secure.inoutargentina.com","secure.inoutstays.com","secure.intempobooking.com","secure.interimmoroses.com","secure.invalencia.es","secure.iracemaimoveis.com","secure.isdreamvacations.com","secure.islacanelatours.com","secure.itsolutions.es","secure.ivacationvillas.gr","secure.ivy.vacations","secure.javeaholidayrentals.com","secure.javeaholidays.com","secure.journeywestcolorado.com","secure.jsrentals.es","secure.jsvillas.com","secure.justforyouholidayhomes.co.uk","secure.justrentmarbella.com","secure.sainttropezresidence.com","secure.salaagencyllc.com","secure.selektiarentals.com","secure.serneholtrentals.com","secure.serviplaya.com","secure.sevillaalquila.com","secure.shortlet-london.com","secure.shortletrentals.com","secure.shortstaystandrews.co.uk","secure.shorttermpropertymanagement.co.uk","secure.so.villas","secure.vacanceole.com","secure.797holidayrentals.com","secure.failte.fr","secure.familyvillarentals.com","secure.fanalholidayhomes.com","secure.favilletours.com","secure.feeldiscovery.com","secure.feelhome.co.il","secure.feelingitaly.com","secure.feelporto.com","secure.feelslikehome.pt","secure.feriendomizil-greetsiel.de","secure.feriendorfkoralpe.at","secure.ferienhaus-greetsiel.eu","secure.ferienhausmietenempuriabrava.com","secure.ferienhausmietenrosas.com","secure.ferienhausvermietung-greetsiel.de","secure.ferienwohnungen-kaprun.eu","secure.ferienwohnungen-laguna.de","secure.ferienwohnungen-zellamsee.eu","secure.ferienwohnungengardasee.it","secure.fidalsaholidays.com","secure.fincabuchung.com","secure.fincacontrabando.com","secure.fincahit.com","secure.fincamallorca.de","secure.fincamallorca.rentals","secure.fincas-balear.com","secure.fincasarena.com","secure.fincasarena.es","secure.fincasmallorcacharme.com","secure.fincasmaritimplaya.com","secure.finestrentals.com","secure.finestretreats.co.uk","secure.finquesballesta.com","secure.firstlidays.com","secure.flandresapparthotel.fr","secure.flashstay.com","secure.flateli.com","secure.flatguestholidays.com","secure.flatsforyou.com","secure.flatsfriends.com","secure.flatteredapartments.com","secure.floc.co.id","secure.floritflats.com","secure.fmhome.com.br","secure.foryourentals.com","secure.fourseasons-kaprun.com","secure.fourteenatmulletbay.com","secure.freelancevillas.com","secure.fregatte-wangerooge.de","secure.fresh-escapes.com","secure.gaesteservice-wattenmeer.de","secure.gardadomusmea.it","secure.gardafewo.com","secure.geographica.com.mx","secure.gerescasas.com","secure.gescav.com","secure.gestaodealojamentolocal.pt","secure.gite-urbain.fr","secure.gites-dieppe-varengeville.com","secure.glasgowcityflats.com","secure.globalplano-travel.com","secure.globalplanotravel.com","secure.globalrentalhub.com","secure.globalvacacional.com","secure.gloove.me","secure.gloriasuites.com","secure.go2benidorm.com","secure.godonosti.com","secure.goldenleafproperties.com","secure.goldenvillas.pt","secure.goodplaceapartments.co.uk","secure.grahamholidayrentals.com","secure.granadabeachgolf.com","secure.grancanariastays.com","secure.green-apartments.net","secure.greenlodge.it","secure.greenvacations.pt","secure.grimminglofts.at","secure.gthouse.pt","secure.gtrip.gr","secure.guest365.co.uk","secure.gvibiza.com","secure.p-kreativ.at","secure.pacaconciergerie.com","secure.palacioderojas.com","secure.palmasbnb.com.br","secure.palmesdor-properties.com","secure.pam-villas.com","secure.pangeaholiday.com","secure.panoramicliving.pt","secure.parque-montroig.com","secure.patiosdumarais.com","secure.pcferias.pt","secure.penareia.tur.br","secure.peoplerentals.com","secure.peoplerentals.es","secure.peoplerentals.fr","secure.pferdaufwolke.com","secure.pineapples.com.br","secure.pinoalto.com","secure.pinzoloholidays.com","secure.pixelpoint.at","secure.planetcostadorada.com","secure.playa-dor.com","secure.playa-vacaciones.com","secure.pollensainvest.com","secure.pollentiarentals.com","secure.poluhawaiivacations.com","secure.ponzaviaggi.it","secure.popularvillas.com","secure.popularvillas.pt","secure.portfolio-plus.pro","secure.porticvillas.com","secure.porticvillas.de","secure.porticvillas.es","secure.porticvillas.nl","secure.portopiccoloapartments.com","secure.portsidelodge.com","secure.portucasa.com","secure.portucasa.de","secure.portucasa.nl","secure.portucasa.pt","secure.portugalactive.com","secure.portvil-villas.com","secure.posadaelconvento.com","secure.premiere-conciergerie.com","secure.premierholidayrentals.com","secure.premiumsaisonnier.fr","secure.prescottcabinrentals.com","secure.presidence.rentals","secure.presquiledequiberon.com","secure.prestige-gestion.fr","secure.prestige-vacations.com","secure.prestigevilla.rentals","secure.prestigevillarental.com","secure.primestay.ae","secure.primhomerentals.com","secure.priorityvillas.com","secure.privatehomeinparis.com","secure.privatevillaspollensa.com","secure.promenadeholiday.com","secure.propcostbarths.com","secure.puertoviejoclub.com","secure.puravillas.com","secure.qtur.pt","secure.quartierhomesuites.com","secure.quintadosvales.pt","secure.quintarentals.com","secure.wangeroogehaus.de","secure.washingtongreatescapes.com","secure.waterfrontmalaga.com","secure.we-rent-apartments.com","secure.webvillas.es","secure.webvillas.fr","secure.webvillas.net","secure.webvillas.nl","secure.webvillasferien.de","secure.weekeyrentals.com","secure.wehostmadeira.com","secure.welcome-guest.com","secure.welcometocannes.fr","secure.welcs.app","secure.weloveportugal.com","secure.welovetourismlanzarote.com","secure.wengenapartments.com","secure.westayhome.pt","secure.white-sand-travel.com","secure.whitehorizonservices.com","secure.wilderer.group","secure.winsome-destination.com","secure.wintowinrentals.com","secure.wonderwheretostay.com","secure.woodypark.at","secure.wowhomes.ch","secure.wplink.dev","secure.xestas.com","secure.xn--apartamentospeiscola-h7b.es","secure.yellowkeycapital.com","secure.yourbanflat.com","secure.yourbestapartment.com","secure.yourdreamhome.es","secure.yourholidayspain.com","secure.yourhousemallorca.com","secure.yourislandvillas.com","secure.yourlettingsuk.com","secure.youropo.com","secure.youropoapartments.com","secure.a-appartments.com","secure.a2dportfrejus.com","secure.aaholidayhomes.com","secure.absolut-apartments.com","secure.ac-gestion.es","secure.activosinteligentes.com","secure.adam-behrens-rental.com","secure.aday-booking.com","secure.aderferias.com","secure.admer.net","secure.adopteuntoitlocationsaisonniere.com","secure.adrestate.com","secure.affittibreviitalia.com","secure.affittimoderni.it","secure.agence-backstage.com","secure.agence-re-immo.com","secure.agencecapsulecorp.com","secure.agencelalandaise.com","secure.agencemaconciergerie.com","secure.ahlandxb.com","secure.ahomeinmadeira.pt","secure.ahrentals.es","secure.aiguaneu.com","secure.aireholidays.com","secure.akilehomes.com.br","secure.al-tentico.com","secure.alaparisienne.com","secure.albirconfort.es","secure.alegria-rent.com","secure.alfrescostays.com","secure.algarve-lifestyle.com","secure.algarvegoldenproperties.com","secure.algarveholidaylets.com","secure.algarveholidays.pt","secure.algarvemanta.pt","secure.algarveprivatevillas.com","secure.algarvevacation.net","secure.algarvevillaholidays.co.uk","secure.alhvacay.com","secure.alicante-holiday.com","secure.all-innature.com","secure.allovendee-vacances.fr","secure.allurevillas.com","secure.ally-re.villas","secure.aloha-florida-vacation-rental.com","secure.alpenstolz-damuels.at","secure.alpesimmobilier.com","secure.alpeslocation.com","secure.alpinahome.fr","secure.alpinapartments.at","secure.alpineholidayservices.ch","secure.alpineinspirations.com","secure.alps-residence.com","secure.alps-resorts.com","secure.alpvisionresidences.com","secure.alquileresdeniasol.es","secure.alquilereslg.com","secure.alquilervacationescostabrava.com","secure.alquilervacationesempuriabrava.com","secure.alquilervillascalpe.com","secure.alquilisimo.com","secure.alquilosa.com","secure.alquitur.es","secure.alterhome.com","secure.alterhome.es","secure.altipik.ch","secure.alugueltemporadagramado.com.br","secure.alwayseasyrental.com","secure.amazinnplaces.com","secure.ambriavacations.com","secure.amicidelpo.com","secure.amorerentals.com","secure.anacasa.es","secure.anadelsurproperties.com","secure.ancarraiglodges.com","secure.anciaholidayrentals.com","secure.andarlibre.com","secure.anfitriaoprime.com.br","secure.anfitrioesdealuguel.com.br","secure.angelservices.fr","secure.apart-rent.es","secure.apartamentos-alcoceber.es","secure.apartamentos-gandia.com","secure.apartamentoscostaluz.com","secure.apartamentosensol.com","secure.apartamentosestartit.com","secure.apartamentosfinestrat.com","secure.apartamentoslacomarca.com","secure.apartamentosreyescatolicos.com","secure.aparteasy.com","secure.apartment-birkhoefl.at","secure.apartmentmanagers.at","secure.apartments2be.com","secure.apartup.com","secure.apartview.pl","secure.apexaccommodation.ie","secure.apivend.immo","secure.appartement-katharina.at","secure.appartement-sulzer.com","secure.archipelevasion.com","secure.arcosfairways.com","secure.arenainnalquilerlamanga.com","secure.arendacostadorada.com","secure.argenhost.com.ar","secure.astburyformentera.es","secure.astenrealty.es","secure.aterian.eus","secure.athomecostadelsol.com","secure.atlanticholiday.net","secure.atlanticholidayrentals.com","secure.attitudeservices.com","secure.auroraestatesllc.com","secure.auroramountainchalet.at","secure.austrianalpinegetaways.com","secure.authentic-stay.fr","secure.avanoapremiumrentals.com","secure.avantio.com","secure.avantio.dev","secure.avantio.online","secure.avantio.world","secure.avoriazchalets.com","secure.axialmanagement.com","secure.azorestouch.com","secure.azur-camping.com","secure.easygoholidayhomes.com","secure.easywelcome.it","secure.ecoibiza.com","secure.ecomarcalpevacances.com","secure.edenrentals.es","secure.edensdubai.com","secure.edenshomes.com","secure.edgaretalfred.com","secure.egona.eus","secure.ehmmt.com","secure.eivillas.com","secure.eivillas.fr","secure.elite-rentals.net","secure.elsmajordoms.com","secure.elvi.fr","secure.emmasvacationrentals.com","secure.engadin-booking.ch","secure.envilleapartments.com","secure.erentals.pl","secure.ericeirarealestate.pt","secure.escandi.es","secure.escapehome.com","secure.escapelux.com","secure.espace-vacances.ch","secure.espana-holiday.com","secure.espatur.net","secure.estadiacarioca.com.br","secure.estate4home.com","secure.estea-rentals.com","secure.etoiles-du-sud.com","secure.euroapartlafosca.com","secure.exclusiveagencyrentals.com","secure.exclusiveagencyrentals.fr","secure.exoimmo-marbella.com","secure.expertbook.ma","secure.m2malaga.com","secure.ma-conciergerie-en-occitanie.fr","secure.mabaat.com","secure.macaronesianrent.es","secure.madeirasuntravel.com","secure.madflats.es","secure.maduholiday.com","secure.mairetrentals.com","secure.maisondoc.it","secure.majorcans.es","secure.malagadevacaciones.com","secure.malagaflat.com","secure.malagasuite.com","secure.malagasunapartments.com","secure.mallorca-myhome.com","secure.mallorca4rent.com","secure.mallorcaholidayproperties.com","secure.mallorcanorthvillas.com","secure.mallorcaurbangroup.com","secure.mallorcavillaselection.com","secure.marbellamountainresorts.com","secure.marbellavillage.es","secure.maremmalink.it","secure.masfumats.com","secure.mautervillas.co.uk","secure.mautervillas.com","secure.mautervillas.de","secure.mautervillas.es","secure.mautervillas.fr","secure.mc-fincas.de","secure.mediterraneanlettings.com","secure.mediterrarentals.com","secure.mendozabooking.com","secure.menobnb.com","secure.mercileon.fr","secure.metliving.pt","secure.mflets.com","secure.miamiworldrental.com","secure.mikassun.com","secure.militaryfirstbnbsolutions.com","secure.mimosa.villas","secure.mimosaholiday.com","secure.mimosaholiday.eu","secure.mindfitholidays.com","secure.minhosguest.com","secure.miramarcambrils.com","secure.mishasplace.pt","secure.mithouse.es","secure.mnkvillas.com","secure.mojorentals.es","secure.monlogementenpoitou.fr","secure.mountain-base.com","secure.mrlanzarotevillas.com","secure.ms-euronat.eu","secure.muchosol.com","secure.murciaholidayrentals.com","secure.musestravel.com","secure.myalgarverentals.com","secure.mybnbtahiti.com","secure.mycabinrentals.net","secure.mycanariandream.com","secure.mychoice.pt","secure.mycityhome.es","secure.mydubaistay.com","secure.myflatinnice.com","secure.mygardaholiday.com","secure.mygreekvacations.com","secure.myholidaysinsardinia.com","secure.myhome.holiday","secure.myhomedolomiti.it","secure.myhomemallorca.es","secure.myhomesorrento.com","secure.mynice-vacances.fr","secure.myportugalexperience.com","secure.mystayinn.com","secure.myvillaselection.com","secure.mzvillas.com","secure.1001-nuits-maroc.com","secure.11holidayhomestenerife.com","secure.1roomnow.com","secure.25sweetdreams.com","secure.baliexception.com","secure.barilocherentahouse.com","secure.barneda-roses.com","secure.barnes-portesdusoleil.com","secure.baronholidayhomes.com","secure.barraprime.pt","secure.bartleholidays.co.uk","secure.basquelidays.com","secure.basquestay.com","secure.basshousing.com","secure.bcnap.es","secure.be-vacational.com","secure.beachfrontapartment.eu","secure.beachhousesvalencia.es","secure.beathome.pt","secure.bebreeze.com","secure.bedsandbreaks.com","secure.beguest.pt","secure.beleefmalaga.nl","secure.bella-chesa.ch","secure.bellmon.com","secure.bemyguest-lacanau.com","secure.benalcoastproperties.com","secure.benidormbooking.com","secure.benidormparaiso.com","secure.benidormrentals.com","secure.benneckerent.com","secure.benneckerent.es","secure.bergkultur.ch","secure.bergundbett.ch","secure.berninihouse.com","secure.bestbooking-villas.com","secure.besthousesportugal.com","secure.bestoftuscany.com","secure.bestveniceapartments.com","secure.blauhousealquileres.com","secure.bmyguest.pt","secure.bnbgroomservices.com","secure.bnbholder.com","secure.bog.com.ar","secure.book247.online","secure.bookadriatic.com","secure.booking-guys.com","secure.booking-homeykey.com","secure.bookingalsace.com","secure.bookinggardalake.it","secure.bookingnests.at","secure.bookirentals.com","secure.boucanet-immobilier.com","secure.bravarentals.com","secure.bretagne-vacances.com","secure.bruimmobilier.fr","secure.brunet9.com","secure.btb.es","secure.bucketlistvilla.com","secure.buenavidarentals.com","secure.buyalgarveproperties.com","secure.bytheseaholidays.ie","secure.cabopinoproperty.com","secure.cadenzalux.com","secure.cadiz4rentals.com","secure.caletahomes.com","secure.calmoapartments.com","secure.calmwaterrentals.com","secure.calpe-home-sales.com","secure.calpe-rent-apart.com","secure.calpe-rent-apart.fr","secure.calpe-rent-apart.nl","secure.camperahotel.com","secure.camping-chalets-orlu.com","secure.caraibesconciergerielocation.com","secure.careconcierge.fr","secure.caribasol.com","secure.caribbean-vacationrentals.com","secure.carmenrentals.es","secure.cartagenacosta.com","secure.casa-redonda.ch","secure.casacorsabooking.com","secure.casafuera.co.uk","secure.casafuera.de","secure.casafuera.es","secure.casaruralmallorca.es","secure.casasdelcaribe.com","secure.casaseferias.com","secure.casidias.com","secure.casitascanarias.com","secure.casitatravel.com","secure.casitatravel.nl","secure.castlemartyrholidaylodges.ie","secure.sancy-immobilier.com","secure.sansebastianholidayrentals.com","secure.sanseholidays.com","secure.sansofestay.com","secure.sapvilamoura.com","secure.saval.cat","secure.savapartments.com","secure.savemybedbooking.com","secure.sealandvillas.com","secure.seapartamentos.pt","secure.seaview.es","secure.secondnest.com","secure.seewest-rentals.pt","secure.sejour-maroc.com","secure.sejourabiarritz.com","secure.sejourabordeaux.com","secure.sejourabrive.com","secure.selectiongites.com","secure.selectionholidayrentals.com","secure.serviceforyourhome.eu","secure.sicilyforeverybody.com","secure.sicilyluxuryclub.com","secure.sicilymyhome.com","secure.silhouse.es","secure.silvercoasthospitality.com","secure.singularrents.com","secure.sitgeshillsvillas.com","secure.skiwp.com","secure.slowvillas.com","secure.slumberspokane.com","secure.smaac-amalficoast.com","secure.smartavillas.com","secure.smartbnb.immo","secure.smarthomes.rentals","secure.smartstay.fr","secure.smilingrentals.eus","secure.smilorentals.travel","secure.smnerjarentals.com","secure.snowandtrek-morzine.com","secure.snowincluded.com","secure.solaga.co.uk","secure.solaga.dk","secure.solaga.es","secure.solaga.fr","secure.solaga.se","secure.soldeuparadise.com","secure.solhabitat.com","secure.solis-porec.com","secure.solrentals.es","secure.solyvillas.com","secure.sonnevillas.com","secure.sorrentodreams.com","secure.spa-apartments.at","secure.spa-apartments.com","secure.spainpromo.com","secure.spainsunrentals.com","secure.spainvillasresort.com","secure.sparecrib.com","secure.sperlongaresort.com","secure.sperlongaresort.it","secure.st-endreol.com","secure.standrewsproperty.co","secure.star5vacations.com","secure.starmed-locations-espagne.com","secure.stayfirstclass.com","secure.stayinduma.com","secure.stayinn.vacations","secure.stayinromeapartments.com","secure.stayinscarborough.com","secure.stayis.com","secure.staymineralwells.com","secure.staynordic.se","secure.stayshortlets.com","secure.staysignature.co.uk","secure.staysitges.com","secure.steinbock-lodges.at","secure.steramflats.com","secure.steva-rentals.com","secure.strentalpros.com","secure.studioprestige.fr","secure.suite2live.com","secure.suitedreams.es","secure.suitehomes.es","secure.suitesdellago.com","secure.suncoasterholidays.com","secure.sunnyhomes.es","secure.sunshinehomes.es","secure.sunstars.es","secure.sunvillaescapes.com","secure.sylt-sothebysrealty.com","secure.vacacionesybienestar.com","secure.vacances-briancon.fr","secure.vacances-sete.com","secure.vacances-villas.com","secure.vacancescamargue.com","secure.vacanzes.com","secure.vacationmonarch.com","secure.vacationriverrentals.com","secure.vacationy.pt","secure.vacayplay.com","secure.vakantiewoninghuurempuriabrava.com","secure.vakantiewoninghuurrosas.com","secure.valenciahome.es","secure.valledetena.es","secure.vallee-orlu.com","secure.valmanga.com","secure.vamdays.com","secure.vapholidayrentals.com","secure.varennaholidays.it","secure.varenso.com","secure.vayk.ae","secure.verbierlocation.ch","secure.viajesorange.es","secure.viewsonvenice.com","secure.villa-marrakech.fr","secure.villa.nl","secure.villafymallorca.com","secure.villainpuglia.it","secure.villalia.com","secure.villarentals.gr","secure.villas-riads-marrakech.com","secure.villasandyou.com","secure.villasdecine.com","secure.villasduluberon.fr","secure.villasduma.com","secure.villasexperience.com","secure.villasferrer.com","secure.villasflamenco.com","secure.villasguzman.com","secure.villasholidayscostablanca.com","secure.villaskeyrentals.com","secure.villasmallorca.rentals","secure.villasmar.com","secure.villasmartinique.com","secure.villasmartinique.fr","secure.villasnow.com","secure.villasunited.co.uk","secure.vilvey.com","secure.visionluxe.com","secure.visit-istria.net","secure.vistamarina.pt","secure.vitivola.com","secure.vivalidays.com","secure.vivamilagres.com.br","secure.vivasoltenerife.com","secure.vivi-homes.com","secure.vulperaresort.ch","secure.d4u.house","secure.dalmaportuguesabooking.com","secure.dalmaportuguesarentals.co.uk","secure.dalmaportuguesarentals.com","secure.dalmaportuguesarentals.fr","secure.dalmaportuguesarentals.pt","secure.dalmaportuguesatravels.com","secure.danitalia.com","secure.deihuexperiencias.com","secure.delmarboutique.com","secure.deltavacaciones.es","secure.deluxeoceanproperty.com","secure.deniaplaya.com","secure.desenzanoloft.com","secure.designappart.fr","secure.destination-algarve.com","secure.destination-marbella.com","secure.dickinsonvillas.com","secure.dify.fr","secure.dimoraitalia.com","secure.dimoreinsicily.com","secure.distinctiveportugal.com","secure.diva-apartments.com","secure.dnastudios.pt","secure.dolomiti4u.com","secure.dolomitirentals.com","secure.domusrental.com","secure.dorm4you.com","secure.dormir-a-canet.fr","secure.dormoa.com","secure.dot.holiday","secure.dracmallorca.com","secure.dreamholidaysmallorca.com","secure.dreamhomesrentals.com","secure.dreamplaces.pt","secure.dreamvillaspollensa.com","secure.dssmarthousing.com","secure.dukehost.es","secure.duquesa.net","secure.habitatpuertoviejo.com","secure.hameau-comborciere.fr","secure.happyvila.com","secure.hashtagholidayhome.com","secure.hausandhausholidays.com","secure.hdproperties.pt","secure.hellenhost.com","secure.hellotime.es","secure.hestiaconciergerie.bzh","secure.hitrental.ch","secure.hiveservices.ae","secure.hmrholidays.com","secure.holasur.com.ar","secure.holidayalvor.com","secure.holidaycasa.com","secure.holidaycasa.it","secure.holidayrentals-costabrava.com","secure.holidayrentalsempuriabrava.com","secure.holidayrentalsrosas.com","secure.holidayshomefuerteventura.com","secure.holidaysmenorca.com","secure.holidreamrentals.com","secure.homaholidays.es","secure.home-rental.com","secure.home-riviera.com","secure.home2book.com","secure.homeforguest.com","secure.homeholidays.rentals","secure.homeholidaysforyou.com","secure.homeincalpe.es","secure.homelyhome.es","secure.homeplus-immo.com","secure.homerental.fr","secure.homesofafrica.com","secure.homestorybooking.com","secure.homesud.co.uk","secure.homesud.fr","secure.hometop.it","secure.hometown.ae","secure.homevillas360.com","secure.homing.com.pt","secure.homingbook.com","secure.hommyholidays.com","secure.homyflat.com","secure.hoomy.fr","secure.hopstays.com","secure.horizon.mu","secure.host4u.it","secure.hosticasaproperties.com","secure.hostvalencia.com","secure.hotelpuntaislita.com","secure.hotesvosgeslocations.com","secure.huelvaholiday.com","secure.hundeferien-ostfriesland.de","secure.huskalia.com","secure.huus123.at","secure.laaxhomes.com","secure.labuganvillasanjose.com","secure.laclefdesiles.com","secure.laconciergeriedubassin.com","secure.lagomaggioregroup.com","secure.lagomaggioreservice.com","secure.lagovacanze.com","secure.laguna-apartamenty.pl","secure.lakeanditaly.com","secure.lakecomostays.com","secure.lakeidro.com","secure.lakeviewvacationrentals.com","secure.lamerhomes.com","secure.lampo.it","secure.landhauskaprun.at","secure.landhauskaprun.com","secure.landhouseholidays.com","secure.landhuiskaprun.nl","secure.lanzarotefincas.de","secure.lanzarotehomeexperience.com","secure.lanzarotevacationhomes.com","secure.lapierredejade.fr","secure.laposadadelcandil.com","secure.leieferiebolig.no","secure.lepasduventoux.com","secure.leporteclefs.com","secure.lerepertoire.com","secure.les7lauximmobilierservices.com","secure.lesmaestros.com","secure.lestartit.net","secure.levacoa.com","secure.lifestyleholidaystenerife.com","secure.lightbooking.net","secure.likeapartments.com","secure.likeyourbed.fr","secure.lintendance.com","secure.lisbonnecollection.com","secure.lisbonnecollection.fr","secure.lisbonnecollection.pt","secure.litoral.es","secure.livhomes.gr","secure.livingsantiago.cl","secure.livingtarifa.com","secure.lloguervacancesempuriabrava.com","secure.lloguervacancesroses.com","secure.lloydsclub.es","secure.localrentss.com","secure.localtimmo.com","secure.localtraveling.com","secure.location-saisonniere-nice.com","secure.location-vacance-sainte-maxime.com","secure.location-vacances-saint-florent.com","secure.location-villas-martinique.com","secure.locationendromeprovencale.com","secure.locationlacannecy.com","secure.locations-vacances-serre-chevalier.com","secure.locationsalacle.fr","secure.locationsprestige.com","secure.locationvacances-costabrava.com","secure.locationvacances-empuriabrava.com","secure.lodgenia.travel","secure.lonjasuites.com","secure.losflamencosrentals.com","secure.lospatiosdelpanuelo.com","secure.lovelyhome.es","secure.lovetenerife.rentals","secure.lra-cannes.com","secure.luccaapartmentsandvillas.co.uk","secure.luccabookingholiday.com","secure.luxsolarisrentals.com","secure.luxuryvillasofcyprus.com","secure.luzvillarentals.com","secure.rainbowibizavillas.com","secure.rangeviewrentals.com","secure.realcasadelamoneda.com","secure.realproperties.pt","secure.realrent.co.uk","secure.realrent.es","secure.realrent.fr","secure.rebomaholidays.com","secure.redlodgerentals.com","secure.regalbeach.ky","secure.regarda.it","secure.reneauproperties.com","secure.rent-a-holiday-estate.com","secure.rent4rest.com","secure.rental4all.com","secure.rentalgalicia.com","secure.rentalholidayhome.com","secure.rentallorca.com","secure.rentals-by-charles-osborn.com","secure.rentalsbyocc.com","secure.rentalscollection.com","secure.rentalsinalgarve.com","secure.rentalsline.com","secure.rentavillamallorca.com","secure.renters.pl","secure.rentforcomfort.com","secure.rentlikehome.com","secure.rentopolis.net","secure.rentrelax.com","secure.rentup.com.ar","secure.rentuplatam.com","secure.rentvillacyprus.net","secure.rentvillasibiza.com","secure.reservalos.es","secure.reservasacresh.es","secure.reservascasadotempogeres.com","secure.reservasmaspinell.com","secure.reservasveraplaya.com","secure.residebaltic.com","secure.residence-luxe.com","secure.residenceslecci.com","secure.residenceslouis.com","secure.resortchoice.com","secure.resortchoice.es","secure.resortchoice.fr","secure.resortchoice.nl","secure.revadreams.com","secure.reveaumans.com","secure.revedesud.com","secure.reverencevillas.com","secure.riad.com","secure.riad.ma","secure.richstay.ae","secure.rickettsluxury.com","secure.rinconrent.com","secure.riumar-family-resort.de","secure.rivieraholidayhomes.com","secure.rivieraluxuryrentals.com","secure.rlconcierge.pt","secure.robinsoncove.villas","secure.rocharentals.com","secure.rockrentalsvillas.com","secure.roomservicemarbella.com","secure.roomservices.es","secure.roomservices.one","secure.roomstay.ch","secure.roomtorent.es","secure.rose-conciergerie.fr","secure.royalkeypropertiestci.com","secure.royalmaison.ae","secure.run4holidays.com","secure.ubudcanyon.com","secure.ultimate-stay-booking.com","secure.uniqueluxuryholidays.com","secure.unitedrenters.es","secure.universalholidaycentre.com","secure.uplandparcs.com","secure.uplandparcs.de","secure.uplandparcs.nl","secure.urbanflatinparis.com","secure.urbanretreatapartments.com","secure.urbe10.com","secure.zapholiday.be","secure.zapholiday.de","secure.zapholiday.es","secure.zapholiday.nl","secure.zapholiday.uk","secure.zedliving.ae","secure.zellamsee-kaprun-holidays.at","secure.zellamsee-kaprun.co.at","secure.zestandguest.com","secure.zeusapartamentos.es","secure.canariasgetaway.com","secure.cannesrivierarentals.com","secure.canvasandcabins.co.uk","secure.caparicavillas.com","secure.capecoralvacationrentals.com","secure.capnegre-immobilier.com","secure.caribou-lodges.fr","secure.carlosferien.info","secure.carroz-immobilier.com","secure.casafuera.fr","secure.casafuera.nl","secure.casahost.es","secure.casesalento.com","secure.casevacanze-caporizzuto.com","secure.catalanways.com","secure.catalunyacasas.com","secure.cavabajasuites.com","secure.cazul.eu","secure.cbrai.com","secure.cca-property.com","secure.centersuitesantander.com.es","secure.centralhill.pt","secure.century21-metabief-location.com","secure.ceskysight.de","secure.ceskysight.nl","secure.cgnerjarentals.com","secure.chalet-evi.at","secure.chalet-kirchberg.com","secure.chaletresortmontafon.com","secure.chamonix-homes.com","secure.chamonix-prestige.com","secure.chamonixholidays.com","secure.chamroc.com","secure.charmstay.com","secure.chateaucampdelsaltre.nl","secure.check-in-portugal.com","secure.chesa-strimer.ch","secure.chezmoihomes.com","secure.chezmoiluxe.com","secure.cintro.com","secure.cityapartments.rentals","secure.classnatura.com","secure.claudia-homes.com","secure.clickandguest.com","secure.coastalvillas.com","secure.coliseumapartments.es","secure.collineige.com","secure.commonvisual.com","secure.comportavacationhomes.com","secure.conalquiler.com","secure.concedio.com","secure.conciergerie-finistarmor.fr","secure.conciergerie-presci.com","secure.conciergerie-presci.fr","secure.conciergerielintendance.fr","secure.conciergerietyanne.fr","secure.congo-bongo.com","secure.connemaralettings.ie","secure.contacto-mallorca.de","secure.continentaloneservices.com","secure.coolvillasalgarve.com","secure.coroacoroa.com","secure.costa-holidays.com","secure.costa-rental.com","secure.costablancadreams.eu","secure.costactivarentals.com","secure.costaorange.com","secure.costaorange.es","secure.costatropicalvillas.com","secure.cotoon.com","secure.couaroge.com","secure.countryvillaslanzarote.com","secure.crcaribbeanvacation.com","secure.cuboshomes.com","secure.cyprusgolfvilla.com","secure.k3homes.com","secure.kaamah.com","secure.kalkbrenner.ws","secure.kaprun-apartments.at","secure.kaprun-chalets.com","secure.kazaportugal.com","secure.kensingtonrentals.com","secure.keyinnapartments.com","secure.keylodge.fr","secure.keynstay.com","secure.keyonehomes.com","secure.keytoko.homes","secure.khelus.com","secure.klein-rolandseck.de","secure.klodgepm.com","secure.ksuites.co.uk","secure.kx-apartments.com","secure.kyrnovarent.com","secure.nerjaholidayrentals.com","secure.nerjaholidayrentals.de","secure.nerjaholidayrentals.es","secure.nerjaholidayrentals.fr","secure.nerjaholidayrentals.it","secure.nerjaholidayrentals.nl","secure.nerjaholidays.net","secure.nerjaparadiserentals.com","secure.nestor-jeeves.com","secure.niagaraholidayrentals.com","secure.nicolaspisani.com","secure.nievemar.com","secure.no6westcoates.co.uk","secure.noblestay.com","secure.nomadcityflats.com","secure.nordicamarbella.com","secure.nordvillaspollensa.com","secure.northhavenhosting.com","secure.notrechezvous.com","secure.novaconciergerie.com","secure.nuris2u.com","secure.oasisblancmenorca.com","secure.oasisproperties.es","secure.oceanclubholidays.com","secure.ogimmo.fr","secure.ohlalife.es","secure.olalahomes.com","secure.olaliving.es","secure.oldtownsansebastian.com","secure.olivanova.com","secure.oquotidiano.com","secure.orangecosta.com","secure.orangecosta.es","secure.oreotravel.com","secure.oroseiholidays.it","secure.osol.es","secure.otapartments.com","secure.owlbooking.com","secure.tailormadeantigua.com","secure.takeabreakrentals.com","secure.tarracohomes.es","secure.taselodge.nl","secure.temporadacopacabana.com.br","secure.tendencyapartments.com","secure.tenerifesmartrentals.com","secure.teneriffa-helden.de","secure.terravana-locations.com","secure.terravana-locations.fr","secure.tessvacacional.com","secure.tevini.at","secure.thalassabeachresort.com","secure.thauconciergerie.com","secure.the-salisbury.com","secure.thebeachhousepeople.com.au","secure.thefaircompany.fr","secure.thegetawaycollection.com","secure.theislandholidaycompany.co.uk","secure.themaisonprivee.com","secure.themintstay.com","secure.theprive.ae","secure.thequeenshousechueca.com","secure.theresortcyprus.com","secure.thesharingco.com","secure.thespanishconnection.com","secure.thestayresidences.com","secure.thewhiteflats.com","secure.thewhitehomes.es","secure.thinksitges.com","secure.thisisresolute.co.uk","secure.timeandhome.com","secure.tkcavacationrentals.com","secure.tlc-villas-carvoeiro.com","secure.tonistays.com","secure.toothbrushapartments.co.uk","secure.top-kanaren.com","secure.totiaranalquilerbaqueira.com","secure.touristaly.com","secure.tranquilityvillarentals.com","secure.traveldelmar.es","secure.travelhabitat.com","secure.travelhabitat.es","secure.travelingtolisbon.com","secure.travelparadise.fr","secure.travila.es","secure.travilamallorca.com","secure.travivel.com","secure.treasurerome.com","secure.tridentholidayhomes.ie","secure.tripto.se","secure.tropicalhome.fr","secure.tropicalhomesofcostarica.com","secure.tropicalistings.com","secure.trulycyprus.com","secure.tsjechie-travelpartners.nl","secure.tu-finca-mallorca.com","secure.tuapartamento.com","secure.turismar.cat","secure.turismarkmanagement.com","secure.turistcasa.it","secure.tym-conciergerie.com","alsa.es","avanzabus.com","blablacar.cz","blablacar.de","blablacar.co.uk","blablacar.in","blablacar.es","blablacar.mx","blablacar.fr","blablacar.hr","blablacar.hu","blablacar.it","blablacar.nl","blablacar.pl","blablacar.com.br","blablacar.pt","blablacar.ro","blablacar.ru","blablacar.sk","blablacar.rs","blablacar.com.tr","blablacar.com.ua","blablacar.be","app.mews.com","secure.vio.com","static.ga-net.com","be.synxis.com","bookaa.amadeus.com","ecommerce.pestana.com","pestana.com","booking.thehoxton.com","carnival.com","royalcaribbean.com","ncl.com","msccruises.com","princess.com","celebritycruises.com","costacruises.com","hollandamerica.com","disneycruise.disney.go.com","aida.de","pocruises.com","vikingcruises.com","seabourn.com","oceaniacruises.com","azamara.com","rssc.com","silversea.com","cunard.com","crystalcruises.com","windstarcruises.com","hurtigruten.com","tuicruises.com","pgcruises.com","seadream.com","hl-cruises.com","fredolsencruises.com","celestyalcruises.com","ponant.com","starclippers.com","travel.saga.co.uk","tickets.vueling.com","hotel.vueling.com","claude.ai","reservation.mirai.com","es.trip.com","it.trip.com","fr.trip.com","pt.trip.com","reservation.elloha.com","hotel.reservations.hardrock.com","hotel.hardrock.com","iflat.kross.travel","new.rentalsunited.com","destinia.com","pay.syshotelonline.it","secure.mithouse.es","airfrance.fr","airfrance.co.uk","airfrance.de","airfrance.nl","airfrance.es","airfrance.it","airfrance.ch","airfrance.us","airfrance.ca","airfrance.com.mx","airfrance.com.br","airfrance.com.ar","airfrance.com.au","airfrance.cn","airfrance.in","airfrance.jp","airfrance.co.kr","airfrance.co.za","airfrance.ma","airfrance.com.eg","thefork.fr","bookings.safestay.com","secure.adagio-city.com","reservas.vilagale.com","book.omnibees.com","americanairlines.fr","americanairlines.cn","americanairlines.jp","american-airlines.co.kr","americanairlines.com.au","americanairlines.in","americanairlines.cl","americanairlines.co.cr","americanairlines.be","americanairlines.fi","americanairlines.de","americanairlines.ie","americanairlines.it","american-airlines.nl","americanairlines.es","americanairlines.ch","americanairlines.co.uk","reservas.hyattinclusivecollection.com","bookings.hyattinclusivecollection.com","hyattinclusivecollection.com","getjackblack.com","particleformen.com","booking.thepilgrm.com","reservations.clubquartershotels.com","deepseek.com","chat.deepseek.com","onepagebooking.com","aletto.de","aletto.com","reservations.thedonnaportals.com","guruwalk.com","es.shein.com","shein.com","fr.shein.com","shein.co.uk","shein.com.mx","us.shein.com","eur.shein.com","de.shein.com","it.shein.com","pt.shein.com","pl.shein.com","ch.shein.com","jp.shein.com","ca.shein.com","in.shein.com","ru.shein.co","temu.com","roe.shein.com","br.shein.com","cl.shein.com","ar.shein.com","arg.shein.com","m.shein.com","es.aliexpress.com","aliexpress.com","es.aliexpress.com","fr.aliexpress.com","ru.aliexpress.com","de.aliexpress.com","pt.aliexpress.com","it.aliexpress.com","ar.aliexpress.com","en.aliexpress.com","tr.aliexpress.com"]),Nm=function(e){const o=new Date(e.createdAt);if(isNaN(o.getTime()))throw new Error(`Invalid createdAt date (${e.createdAt}) for config ${e.namespace} (version ${e.namespaceVersion})`);const a=e.namespaceSchema.parse(e.data);return{serialized:{namespace:e.namespace,namespaceVersion:e.namespaceVersion,createdAt:e.createdAt,data:a},namespaceSchema:e.namespaceSchema}}({createdAt:"2026-03-16T12:50:25.000Z",namespace:"extension-core",namespaceVersion:2,namespaceSchema:tc({domainBlacklist:ec(_i()),secondaryOtas:ec(_i()),otherTravelSites:ec(_i())}),data:{domainBlacklist:Array.from(Am),secondaryOtas:Array.from(Em),otherTravelSites:Array.from(Zm)}});function Pm(e){return`directoRemoteConfig[${e}]`}async function Cm(e,o,a){const t=Pm(e),{[t]:s}=await chrome.storage.local.get(t),n=k(s);if(!n)return null;if(n.namespace!==e)throw new Error(`Unexpected config namespace '${n.namespace}', expected '${e}'.`);if(n.namespaceVersion!==o)throw new Error(`Unexpected namespace version '${n.namespaceVersion}', expected '${o}'.`);if("string"!=typeof n.createdAt)throw new Error("Invalid config: createdAt must be a string.");if("string"!=typeof n.checksum)throw new Error("Invalid config: checksum must be a string.");if(!("data"in n)||void 0===n.data)throw new Error("Invalid config: missing data property.");const i=new Date(n.createdAt);if(isNaN(i.getTime()))throw new Error("Invalid config: createdAt must be a valid date string.");return{validatedConfig:await Sm({namespace:e,namespaceVersion:o,createdAt:n.createdAt,checksum:n.checksum,data:n.data},a),createdAtDate:i}}function Dm(e){return`directoRemoteConfigLastUpdate[${e}]`}async function qm(e,o,a){const t=Dm(e),{[t]:s}=await chrome.storage.local.get(t),n=k(s);if(!n||n.configCreatedAt!==a||n.namespaceVersion!==o)return null;const i=new Date(n.lastUpdateDate);if(isNaN(i.getTime()))return null;const r="number"==typeof n.lastFailureCount&&Number.isInteger(n.lastFailureCount)&&n.lastFailureCount>=0?n.lastFailureCount:0;return{namespaceVersion:n.namespaceVersion,configCreatedAt:n.configCreatedAt,lastUpdateDate:i,lastFailureCount:r}}async function Um(e,o,a,t,s){const n=Dm(e);await chrome.storage.local.set({[n]:{namespaceVersion:o,configCreatedAt:a,lastUpdateDate:s.getTime(),lastFailureCount:t}})}const Mm=new class{repositoryConfigDefinition;deserializeData;getValidatedEmbeddedConfigPromise;getLatestPromise;get serializedRepositoryConfig(){return this.repositoryConfigDefinition.serialized}get namespace(){return this.serializedRepositoryConfig.namespace}get namespaceVersion(){return this.serializedRepositoryConfig.namespaceVersion}get promise(){return this.getLatestPromise}constructor(e,o){this.assertValidSerializedData=this.assertValidSerializedData.bind(this),this.repositoryConfigDefinition=e,this.deserializeData=o,this.getValidatedEmbeddedConfigPromise=async function(e){const o={namespace:e.namespace,namespaceVersion:e.namespaceVersion,createdAt:e.createdAt,data:e.data};return{namespace:o.namespace,namespaceVersion:o.namespaceVersion,createdAt:o.createdAt,checksum:await $m(o),data:o.data}}(this.serializedRepositoryConfig),this.getLatestPromise=this.getSerializedRemoteConfig().then(this.deserializeRemoteConfig.bind(this))}deserializeRemoteConfig(e){return{createdAt:new Date(e.createdAt),namespace:e.namespace,namespaceVersion:e.namespaceVersion,data:this.deserializeData(e.data)}}assertValidSerializedData(e){this.repositoryConfigDefinition.namespaceSchema.parse(e)}async getSerializedRemoteConfig(){const[e,o]=await Promise.all([Cm(this.namespace,this.namespaceVersion,this.assertValidSerializedData).catch(e=>(console.error(`Error retrieving stored "${this.namespace}" config:`,e),null)),this.getValidatedEmbeddedConfigPromise]);if(!e)return console.log(`No stored "${this.namespace}" config found (or it was invalid), using embedded config`),o;const a=new Date(o.createdAt);return isNaN(a.getTime())?(console.log(`Embedded "${this.namespace}" config has an invalid date, using embedded config`),o):a>e.createdAtDate?(console.log(`Embedded "${this.namespace}" config is newer than stored config, using embedded config`),o):(console.log(`Loaded stored "${this.namespace}" config:`,e.validatedConfig.createdAt),e.validatedConfig)}storeAndCache(e){(async function(e){const o=Pm(e.namespace);await chrome.storage.local.set({[o]:e})})(e).catch(e=>{console.error(`Error storing "${this.namespace}" config (but caching it in memory):`,e)});const o=e,a=this.deserializeRemoteConfig(o);this.getLatestPromise=Promise.resolve(a)}}(Nm,e=>({domainBlacklist:new Set(e.domainBlacklist),secondaryOtas:new Set(e.secondaryOtas),otherTravelSites:new Set(e.otherTravelSites)})),Rm="session";function Fm(e){return`outclickId-${e}`}async function Lm(e){const o=Fm(e),{[o]:a}=await chrome.storage[Rm].get(o);return a??null}const Vm="session";function Jm(e){return`directoDomains-${e}`}const Bm=new Set(["getdirecto.com","doubleclick.net","anrdoezrs.net","jdoqocy.com","tkqlhce.com","tradedoubler.com","effiliation.com","prf.hn","tatrck.com","tradetracker.net"]),Ym={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Hm;const Wm=new Uint8Array(16),Km=[];for(let e=0;e<256;++e)Km.push((e+256).toString(16).slice(1));const Gm=function(e,o,a){if(Ym.randomUUID&&!o&&!e)return Ym.randomUUID();const t=(e=e||{}).random??e.rng?.()??function(){if(!Hm){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Hm=crypto.getRandomValues.bind(crypto)}return Hm(Wm)}();if(t.length<16)throw new Error("Random bytes length must be >= 16");if(t[6]=15&t[6]|64,t[8]=63&t[8]|128,o){if((a=a||0)<0||a+16>o.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let e=0;e<16;++e)o[a+e]=t[e];return o}return function(e,o=0){return(Km[e[o+0]]+Km[e[o+1]]+Km[e[o+2]]+Km[e[o+3]]+"-"+Km[e[o+4]]+Km[e[o+5]]+"-"+Km[e[o+6]]+Km[e[o+7]]+"-"+Km[e[o+8]]+Km[e[o+9]]+"-"+Km[e[o+10]]+Km[e[o+11]]+Km[e[o+12]]+Km[e[o+13]]+Km[e[o+14]]+Km[e[o+15]]).toLowerCase()}(t)};async function Xm(e,o){try{const t=Gm();null!==e.targetTabId&&async function(e,o){await chrome.storage[Rm].set({[Fm(e)]:o})}(e.targetTabId,t),a=e.targetUrl,K(we,le(ue(a).hostname));const s=function(e){try{const o=pe(new URL(e));return/^airbnb\.[.a-z]{2,7}/i.exec(o)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(o)?"BOOKING":/^vrbo\.com/i.exec(o)||/^abritel\.fr/i.exec(o)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(o)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(e)?"GOOGLE":null}catch(e){return console.error("Error in getPlatform",e),null}}(e.sourceUrl),n=null!==e.sourceTabId?`${e.sessionId}-${e.sourceTabId}`:null,i={cta:e.cta,platform:s,session_id:e.sessionId,user_id:await be(),user_email:await ve(),listing_id:e.sourceId,source_url:e.sourceUrl,target_url:e.targetUrl,source_tab_id:n,outclick_id:t,...o};await async function(e){return await $.get().post("/v2/outclick",{body:h.B64JsonLegacy(e)})}(i)}catch(e){console.error(e)}var a}const Qm="userLocale";let eu=null;async function ou(){const{[Qm]:e}=await chrome.storage.local.get(Qm);return eu=e??null,eu}function au(){return eu=eu||function(){let e;return e=null!=navigator.languages?navigator.languages[0]:navigator.language,e=e.split("-")[0]||e||"en",e}(),eu}function tu(e,o,a){const{destination:t,checkin:s,checkout:n,adults:i,children:r}=a,c=t.name.trim().replace(/[, ]+/g,",").replace(/ñ/g,"n").toLocaleLowerCase(),m=`/${["hotels",void 0!==t.placeId?`${c}-p${t.placeId}`:c,s.toDashYYYYMMDD(),n.toDashYYYYMMDD(),`${i}adults`,r?`${r}children${"-0".repeat(r)}`:""].join("/")}`,u=new URL("/in","https://www.kayak.com");return u.searchParams.append("a","kan_317594_592750"),o&&(u.searchParams.append("encoder","27_1"),u.searchParams.append("enc_pid","deeplinks"),u.searchParams.append("enc_cid",o)),e&&u.searchParams.append(o?"enc_lid":"p",e),u.searchParams.append("url",m),u.toString()}ou();const su=5e3,nu="tempTabHasBeenOpenedForDomain",iu="session",ru="session",cu="directoDisplayPricesCache",mu="session",uu="directoInfoCache",lu="growthbookFeatures",pu="session",du="session",hu="directoListingPriceCache",gu="directoTsTokens";let ku=async function(){try{const{[gu]:e}=await chrome.storage.local.get(gu);return new Map(e||[])}catch(e){return console.error("Error initializing Truesign token cache from storage, starting with empty cache",e),new Map}}(),fu=Promise.resolve();function bu(){fu=fu.then(async()=>{const e=await ku;await chrome.storage.local.set({[gu]:Array.from(e.entries())})}).catch(e=>{console.error("Error persisting Truesign token cache:",e)})}let yu={};async function vu(e){const o=await ku,a=yu[e.endpoint];if(a)return a;const t=o.get(e.endpoint);if(t){if(t!==e.knownInvalidToken)return t;o.delete(e.endpoint),bu()}const s=async function(e){try{const o=await fetch(`https://edge.truesign.ai/v2/${e}`,{credentials:"include",signal:AbortSignal.timeout(6e3)});if(!o.ok)return console.error("Status error fetching Truesign token:",o.statusText),null;const a=await o.json();return"object"==typeof a&&null!==a&&"token"in a?"string"!=typeof a.token?(console.error("Invalid token format received from Truesign:",typeof a.token),null):a.token:(console.error("Unexpected response format from Truesign:",a),null)}catch(e){return console.error("Error while requesting Truesign token:",e),null}}(e.endpoint).then(async a=>(a&&(o.set(e.endpoint,a),bu()),a)).finally(()=>{delete yu[e.endpoint]});return yu[e.endpoint]=s,s}function wu(e,o=null){try{const a=function(e,o){let a=e;const t=o.split(".");for(const e of t){if(null==a||"object"!=typeof a)return{type:"error"};a=a[e]}return{type:"success",value:a}}(window,e);if("error"===a.type)return o??null;const t=a.value;return function e(o,a,t){if(null===o)return!0;if("string"==typeof o||"boolean"==typeof o)return!0;if("number"==typeof o)return Number.isFinite(o);if(void 0===o||"bigint"==typeof o||"function"==typeof o||"symbol"==typeof o)return!1;if(Array.isArray(o)){if(a.has(o))return!1;if(t.has(o))return!0;a.add(o);for(const s of o)if(!e(s,a,t))return a.delete(o),!1;return a.delete(o),t.add(o),!0}if("object"==typeof o){if(!function(e){const o=Object.getPrototypeOf(e);return o===Object.prototype||null===o}(o))return!1;if(a.has(o))return!1;if(t.has(o))return!0;let s;a.add(o);try{s=Object.values(o)}catch(e){return a.delete(o),!1}for(const n of s)if(!e(n,a,t))return a.delete(o),!1;return a.delete(o),t.add(o),!0}return!1}(t,new WeakSet,new WeakSet)&&function(e){if("function"!=typeof structuredClone)return!0;try{return structuredClone(e),!0}catch(e){return!1}}(t)?t:o??null}catch(e){return o??null}}function ju(e,o){window[e]=o}const zu=(_u={getSessionId:async()=>await H(),sendConversionEvent:async(e,o)=>{await I().post("/v2/conversion-details",{body:h.B64JsonLegacy(e)})},sendConversionHTMLEvent:async(e,o)=>{await I().post("/v2/conversion-details-html",{body:h.Json(e)})},getCrossSellWasChecked:async({crossSellId:e},o)=>{const a=o.tab?.id;return void 0!==a&&G(ee,ae({crossSellId:e,tabId:a}),{dropIfPresent:!0,area:oe})},setCrossSellWasChecked:async({crossSellId:e,checked:o},a)=>{const t=a.tab?.id;if(void 0===t)return!1;const s=ae({crossSellId:e,tabId:t});return o?K(ee,s,{area:oe}):function(e,o,a={}){const{area:t="local"}=a,s=W(t);s.get(e,a=>{const t=a[e]||[],n=new Set(t);n.has(o)&&(n.delete(o),s.set({[e]:Array.from(n.values())}))})}(ee,s,{area:oe}),!0},openHotelsCrossSellTab:async(e,o)=>{const{checkin:a,checkout:t}=e,s=R.unsafe_fromRaw(a),n=R.unsafe_fromRaw(t);let i;switch(e.provider){case"KAYAK":i=await async function(e){let o;try{const a=await O().get("/guess-kayak-place-id",{params:{searchTerm:e.destination,language:au()},parser:new y});o=tu(e.trackingLabel,e.partnerKey,{destination:{name:a.fullName,placeId:a.placeId},checkin:e.checkin,checkout:e.checkout,adults:e.adults,children:e.children})}catch(a){o=tu(e.trackingLabel,e.partnerKey,{destination:{name:e.destination},checkin:e.checkin,checkout:e.checkout,adults:e.adults,children:e.children})}return o}({...e,checkin:s,checkout:n});break;case"BOOKING":i=await async function(e){const o=await J();return function(e,o){const a=encodeURIComponent(e);return`https://getcuanto.com/partners/redirect?${new URLSearchParams({merchant_uuid:"f75a49ec-dddd-4596-a158-2e958f7dd618",offer_id:"11585",...o?{partner_tracking_id:o}:{},partner:"55309081-7a18-48d3-a144-8c3ab34966be",encoded_url:a}).toString()}`}(`https://www.booking.com/searchresults.html?${new URLSearchParams({ss:e.destination,checkin:e.checkin.toDashYYYYMMDD(),checkout:e.checkout.toDashYYYYMMDD(),group_adults:e.adults.toString(),group_children:e.children.toString(),selected_currency:e.currency}).toString()}`,o.id??null)}({...e,checkin:s,checkout:n});break;default:r(e.provider)}const c=o.tab?o.tab.index+1:void 0,m=await chrome.tabs.create({url:i,active:!1,index:c});await Xm({sessionId:await H(),sourceUrl:e.sourceUrl,targetUrl:i,cta:"CHECKBOX_CROSS_SELL",sourceId:null,sourceTabId:o.tab?.id??null,targetTabId:m.id??null},{checkin:s.toDashYYYYMMDD(),checkout:n.toDashYYYYMMDD(),adults:e.adults.toString(),currency:e.currency,children:e.children.toString()})},openActivitiesCrossSellTab:async(e,o)=>{const{provider:a,destination:t,checkin:s,checkout:n,adults:i,currency:c,children:m,sourceId:u}=e,l=function(e,o){switch(e){case"viator":return(e=>{const o=new URL("/searchResults/all","https://www.viator.com");return o.searchParams.append("text",e),o.searchParams.append("pid","P00253809"),o.searchParams.append("mcid","42383"),o.searchParams.append("medium","link"),o.toString()})(o);case"civitatis":return(e=>{const o=new URL("/es/buscar","https://www.civitatis.com");return o.searchParams.append("q",e),o.searchParams.append("aid","110241"),o.toString()})(o);default:r(e)}}(a,t),p=o.tab?o.tab.index+1:void 0,d=await chrome.tabs.create({url:l,active:!1,index:p});await Xm({sessionId:await H(),sourceUrl:e.sourceUrl,targetUrl:l,cta:"CHECKBOX_CROSS_SELL",sourceId:u,sourceTabId:o.tab?.id??null,targetTabId:d.id??null},{checkin:s?R.fromRaw(s)?.toDashYYYYMMDD()??null:null,checkout:n?R.fromRaw(n)?.toDashYYYYMMDD()??null:null,currency:c,adults:i.toString(),children:m.toString()})},getConfig:async()=>{if(!D){const e=await chrome.storage[C].get(P);D=e[P]||null}if(!D)throw new Error("Config has not been set");return D},openOutclickTab:async(e,o)=>{const a=await ou()||au(),t=e.useRedirectEngine?function(e,o,a){const{coupon:t,discount:s}=a,n={url:e,...null!==t?{coupon:t}:{},...null!==s?{discount:s}:{}};return`https://engine.getdirecto.com/${o}/${btoa(encodeURIComponent(JSON.stringify(n)))}`}(e.targetUrl,a,e.redirectEngineParams??{coupon:null,discount:null}):e.targetUrl,s=o.tab?o.tab.index+1:void 0,n=(await chrome.tabs.create({url:t,active:!0,index:s})).id??null;n&&async function(e,o){const a=le(ue(o).hostname);await chrome.storage[Vm].set({[Jm(e)]:{outclicked:a,additional:null,sinceMsecs:Date.now()}})}(n,e.targetUrl),await Xm({sessionId:await H(),sourceUrl:e.sourceUrl,targetUrl:e.targetUrl,cta:e.cta,sourceId:e.sourceId,sourceTabId:o.tab?.id??null,targetTabId:n},e.stayParams)},maybeOpenTempTab:async(e,o)=>{const{url:a,force:t=!1,closeDelay:s=su}=e,n=o.tab?o.tab.index+1:void 0,i=pe(new URL(a));if(!t){const e=await async function(e){if(await G(nu,e,{area:iu}))return!0;const o=await function(e){return G(we,le(e))}(e);return o}(i);if(e)return}const r=await chrome.tabs.create({url:a,index:n,active:!1,pinned:!0});K(nu,i,{area:iu}),setTimeout(()=>{void 0!==r.id&&chrome.tabs.remove(r.id)},s)},getAlternativeOffersByCompoundIds:async(e,o)=>{try{const o=await async function(e){return T.get().get("/v2/offers-by-hotel-id",{params:e,parser:new y})}(e);return{...o,offers:o.offers.map(o=>({...o,source_id:o.source_id.listingId,stayParams:{checkin:e.checkin,checkout:e.checkout,adults:e.adults.toString(),children:e.children?.toString()??null,currency:e.currency??null}}))}}catch(e){return console.error("Error fetching alternative offers by hotel ids",e),{offers:[]}}},getBacklinksByHotelIds:async(e,o)=>{try{return async function(e){return O().get("/v2/backlinks",{params:e,parser:new y})}(e)}catch(e){return console.error("Error fetching backlinks by hotel ids",e),{backlinks:{}}}},storeCachedDisplayPrices:async(e,o)=>{X(cu,de(e.source_id,e.platform),e,{area:ru})},getCachedDisplayPrices:async(e,o)=>await Q(cu,de(e.source_id,e.platform),{area:ru})??null,fetchDirectoInfo:async(e,o)=>{try{const{ids:o,platform:a,...t}=e,s=t.checkin&&t.checkout?t:{checkin:null,checkout:null,adults:null,children:null,currency:null},n=await be();return(await async function(e){return S.get().get("/listingids",{params:e,parser:new y})}({id:o,platform:a,...s,user_id:n})).map(e=>({...e,stayParams:s}))}catch(e){return console.error("Error fetching Directo info for listing IDs:",e),[]}},storeCachedDirectoInfo:async(e,o)=>{X(uu,de(e.source_id,e.platform),e,{area:mu})},getCachedDirectoInfo:async(e,o)=>await Q(uu,de(e.source_id,e.platform),{area:mu})??null,getGrowthbookFeature:async(e,o)=>await Q(lu,e,{area:pu}),setGrowthbookFeature:async(e,o)=>{X(lu,e.key,e,{area:pu})},storeCachedListingPrice:async(e,o)=>{X(hu,de(e.source_id,e.platform),e,{area:du})},getCachedListingPrice:async(e,o)=>await Q(hu,de(e.source_id,e.platform),{area:du})??null,getTruesignToken:async(e,o)=>vu(e),readWindowPropertyFromMainWorld:async(e,o)=>{const a=o.tab?.id;if(void 0===a)throw new Error("readWindowPropertyFromMainWorld can only be used in a tab context");const t=e.defaultValue??null,s=await chrome.scripting.executeScript({target:{tabId:a,..."number"==typeof o.frameId?{frameIds:[o.frameId]}:{}},world:"MAIN",func:wu,args:[e.path,t]});return s[0]?.result??t},submitVisit:async(e,o)=>{const a=o.tab?.id,t=await H(),s={...e,session_id:t,tab_id:void 0!==a?`${t}-${a}`:null,source_outclick_id:void 0!==a?await Lm(a):null};await I().post("/v2/visit",{body:h.B64JsonLegacy(s)})},checkTabDomainForUrl:async(e,o)=>{const a=o.tab?.id;return void 0!==a&&async function(e,o){const a=Jm(e),t=(await chrome.storage[Vm].get(a))[a];if(void 0===t)return!1;const s=le(ue(o).hostname);return!(Bm.has(s)||s!==t.outclicked&&s!==t.additional&&(null!==t.additional||Date.now()-t.sinceMsecs>6e4||((await Mm.promise).data.domainBlacklist.has(s)?(await chrome.storage[Vm].set({[Jm(e)]:{...t,additional:t.outclicked}}),1):(await chrome.storage[Vm].set({[Jm(e)]:{...t,additional:s}}),0))))}(a,e)},setWindowPropertyInMainWorld:async(e,o)=>{const a=o.tab?.id;if(void 0===a)throw new Error("setWindowPropertyInMainWorld can only be used in a tab context");await chrome.scripting.executeScript({target:{tabId:a,..."number"==typeof o.frameId?{frameIds:[o.frameId]}:{}},world:"MAIN",func:ju,args:[e.property,e.value]})}},{id:xu="DIRECTO_CORE_BACKGROUND",handlers:_u,isMessageForThisServer:e=>"object"==typeof e&&null!==e&&"serverId"in e&&e.serverId===xu&&"handlerId"in e&&"string"==typeof e.handlerId,handleMessage(e,o,a){const t=_u[e.handlerId];if(!t)throw new Error(`Unhandled ${xu} message type ${e.handlerId.toString()}`);t("payload"in e?e.payload:void 0,o).then(e=>{a({success:!0,response:e})}).catch(o=>{console.error("Uncaught error in async message handler",e,o);const t=function(e){return e instanceof Error?e.message:"string"==typeof e?e:"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message?e.message:`Unknown error: ${String(e)}`}(o);a({success:!1,errorMessage:t})})}});var xu,_u,Su=a(428);async function $u(e){let o=null,a=null;try{if(o=await e.getSerializedRemoteConfig(),!await async function(e,o,a){const t=await qm(e,o,a);if(!t)return await Um(e,o,a,0,new Date(Date.now()+Math.floor(108e5*Math.random()))),!1;return function(e){const o=216e5+((a=e.lastFailureCount)<=0?0:108e5*a);var a;const t=Math.min(o,1728e5);return new Date(e.lastUpdateDate.getTime()+t)}(t)<=new Date}(e.namespace,e.namespaceVersion,o.createdAt))return a="skipped",void console.log(`Skipping update for "${e.namespace}" config because it is still in the update cooldown window`);const t=await async function(e,o){const a=await N({path:{namespace:e.namespace,version:e.namespaceVersion},query:{after:e.createdAt}});let t=null;for(const s of a)try{if(s.namespace!==e.namespace)throw new Error(`Unexpected namespace '${s.namespace}', expected '${e.namespace}'`);const a=s.namespace;if(s.namespaceVersion!==e.namespaceVersion)throw new Error(`Unexpected namespace version '${s.namespaceVersion}', expected '${e.namespaceVersion}'`);const n=s.namespaceVersion,i=Su.patch(s.patch,t?.data??e.data);t=await Sm({namespace:a,namespaceVersion:n,createdAt:s.createdAt,checksum:s.checksum,data:i},o)}catch(e){const o=U(e);return null===t?{type:"error-unchanged",error:o}:{type:"error-updated",config:t,error:o}}return null===t?{type:"unchanged"}:{type:"updated",config:t}}(o,e.assertValidSerializedData);switch(t.type){case"updated":case"error-updated":o=t.config;break;case"unchanged":case"error-unchanged":break;default:r(t)}switch(t.type){case"unchanged":a="success",console.log(`Config "${e.namespace}" is already up to date`);break;case"updated":a="success",console.log(`Config "${e.namespace}" updated to latest compatible version:`,t.config.createdAt);break;case"error-unchanged":a="failure",console.error(`Error during "${e.namespace}" config update, and no valid update found:`,t.error);break;case"error-updated":a="failure",console.error(`Error during "${e.namespace}" config update, but a valid updated config was found and applied:`,t.error);break;default:r(t)}}catch(o){a="failure",console.error(`Unhandled error during update for "${e.namespace}" config:`,o)}finally{if(null!==o)switch(e.storeAndCache(o),a){case"success":case null:await async function(e,o,a){try{await Um(e,o,a,0,new Date)}catch(o){console.error(`Error storing remote "${e}" config update success:`,o)}}(e.namespace,e.namespaceVersion,o.createdAt);break;case"failure":await async function(e,o,a){try{const t=await qm(e,o,a),s=t?t.lastFailureCount:0;await Um(e,o,a,s+1,new Date)}catch(o){console.error(`Error storing remote "${e}" config update failure:`,o)}}(e.namespace,e.namespaceVersion,o.createdAt);break;case"skipped":break;default:r(a)}}}function Iu(e){return zu.isMessageForThisServer(e)}class Tu{#e;ready;constructor(e){this.#e=e,this.#o(),this.ready=this.#a()}async#a(){await this.#t(),this.#s(this.#e)}#s(e){q(e);const o={partnerKey:e.partnerKey,appVersion:"adunit-2.0.2",getTruesignToken:vu};S.initialize(o),$.initialize(o),T.initialize(o),A.initialize(o),E.initialize(o),Z.initialize(o),$u(Mm)}#o(){chrome.runtime.onMessage.addListener((e,o,a)=>{if(Iu(e))return this.ready.then(()=>{zu.handleMessage(e,o,a)}).catch(e=>{console.error("Error handling core message",e),a({success:!1,errorMessage:e.message})}),!0})}async#t(){const e=await J();await async function(e,o){fe=e,ye=o,await chrome.storage[ke].set({[he]:e,[ge]:o})}(e.id,e.email)}}const Ou=new class{#n=null;initialize(e){return this.#n||(this.#n=new Tu(e)),this.#n.ready}};function Au(e){if(!e)throw new Error("partnerKey is required");return function(e){return Ou.initialize(e)}({partnerKey:e})}chrome.runtime.onInstalled.addListener(e=>{"update"===e.reason&&chrome.storage.local.remove("directoCoreRemoteConfig")}),console.log("Directo AdUnit Background Service - Version: adunit-2.0.2");export{Au as initializeAdUnit,Iu as isAdUnitMessage};