(function(n,t){typeof define=="function"&&define.amd?define("bloodhound",["jquery"],function(i){return n.Bloodhound=t(i)}):typeof exports=="object"?module.exports=t(require("jquery")):n.Bloodhound=t(jQuery)})(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),u="0.11.1",f=function(){"use strict";function n(n){return n=t.toStr(n),n?n.split(/\s+/):[]}function i(n){return n=t.toStr(n),n?n.split(/\W+/):[]}function r(n){return function(i){return i=t.isArray(i)?i:[].slice.call(arguments,0),function(r){var u=[];return t.each(i,function(i){u=u.concat(n(t.toStr(r[i])))}),u}}}return{nonword:i,whitespace:n,obj:{nonword:r(i),whitespace:r(n)}}}(),i=function(){"use strict";function i(i){this.maxSize=t.isNumber(i)?i:100;this.reset();this.maxSize<=0&&(this.set=this.get=n.noop)}function r(){this.head=this.tail=null}function u(n,t){this.key=n;this.val=t;this.prev=this.next=null}return t.mixin(i.prototype,{set:function(n,t){var r=this.list.tail,i;this.size>=this.maxSize&&(this.list.remove(r),delete this.hash[r.key],this.size--);(i=this.hash[n])?(i.val=t,this.list.moveToFront(i)):(i=new u(n,t),this.list.add(i),this.hash[n]=i,this.size++)},get:function(n){var t=this.hash[n];if(t)return this.list.moveToFront(t),t.val},reset:function(){this.size=0;this.hash={};this.list=new r}}),t.mixin(r.prototype,{add:function(n){this.head&&(n.next=this.head,this.head.prev=n);this.head=n;this.tail=this.tail||n},remove:function(n){n.prev?n.prev.next=n.next:this.head=n.next;n.next?n.next.prev=n.prev:this.tail=n.prev},moveToFront:function(n){this.remove(n);this.add(n)}}),i}(),e=function(){"use strict";function r(n,r){this.prefix=["__",n,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+t.escapeRegExChars(this.prefix));this.ls=r||i;this.ls||this._noop()}function u(){return(new Date).getTime()}function f(n){return JSON.stringify(t.isUndefined(n)?null:n)}function e(t){return n.parseJSON(t)}function o(n){for(var r,u=[],f=i.length,t=0;t<f;t++)(r=i.key(t)).match(n)&&u.push(r.replace(n,""));return u}var i;try{i=window.localStorage;i.setItem("~~~","!");i.removeItem("~~~")}catch(s){i=null}return t.mixin(r.prototype,{_prefix:function(n){return this.prefix+n},_ttlKey:function(n){return this._prefix(n)+this.ttlKey},_noop:function(){this.get=this.set=this.remove=this.clear=this.isExpired=t.noop},_safeSet:function(n,t){try{this.ls.setItem(n,t)}catch(i){i.name==="QuotaExceededError"&&(this.clear(),this._noop())}},get:function(n){return this.isExpired(n)&&this.remove(n),e(this.ls.getItem(this._prefix(n)))},set:function(n,i,r){return t.isNumber(r)?this._safeSet(this._ttlKey(n),f(u()+r)):this.ls.removeItem(this._ttlKey(n)),this._safeSet(this._prefix(n),f(i))},remove:function(n){return this.ls.removeItem(this._ttlKey(n)),this.ls.removeItem(this._prefix(n)),this},clear:function(){for(var t=o(this.keyMatcher),n=t.length;n--;)this.remove(t[n]);return this},isExpired:function(n){var i=e(this.ls.getItem(this._ttlKey(n)));return t.isNumber(i)&&u()>i?!0:!1}}),r}(),r=function(){"use strict";function r(n){n=n||{};this.cancelled=!1;this.lastReq=null;this._send=n.transport;this._get=n.limiter?n.limiter(this._get):this._get;this._cache=n.cache===!1?new i(0):o}var u=0,f={},e=6,o=new i(10);return r.setMaxPendingRequests=function(n){e=n},r.resetCache=function(){o.reset()},t.mixin(r.prototype,{_fingerprint:function(t){return t=t||{},t.url+t.type+n.param(t.data||{})},_get:function(n,t){function s(n){t(null,n);i._cache.set(r,n)}function h(){t(!0)}function c(){u--;delete f[r];i.onDeckRequestArgs&&(i._get.apply(i,i.onDeckRequestArgs),i.onDeckRequestArgs=null)}var i=this,r,o;(r=this._fingerprint(n),this.cancelled||r!==this.lastReq)||((o=f[r])?o.done(s).fail(h):u<e?(u++,f[r]=this._send(n).done(s).fail(h).always(c)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(i,r){var f,u;r=r||n.noop;i=t.isString(i)?{url:i}:i||{};u=this._fingerprint(i);this.cancelled=!1;this.lastReq=u;(f=this._cache.get(u))?r(null,f):this._get(i,r)},cancel:function(){this.cancelled=!0}}),r}(),o=window.SearchIndex=function(){"use strict";function u(i){i=i||{};i.datumTokenizer&&i.queryTokenizer||n.error("datumTokenizer and queryTokenizer are both required");this.identify=i.identify||t.stringify;this.datumTokenizer=i.datumTokenizer;this.queryTokenizer=i.queryTokenizer;this.reset()}function f(n){return n=t.filter(n,function(n){return!!n}),t.map(n,function(n){return n.toLowerCase()})}function e(){var n={};return n[r]=[],n[i]={},n}function o(n){for(var i={},r=[],t=0,u=n.length;t<u;t++)i[n[t]]||(i[n[t]]=!0,r.push(n[t]));return r}function s(n,t){var i=0,r=0,u=[],f,e;for(n=n.sort(),t=t.sort(),f=n.length,e=t.length;i<f&&r<e;)n[i]<t[r]?i++:n[i]>t[r]?r++:(u.push(n[i]),i++,r++);return u}var i="c",r="i";return t.mixin(u.prototype,{bootstrap:function(n){this.datums=n.datums;this.trie=n.trie},add:function(n){var u=this;n=t.isArray(n)?n:[n];t.each(n,function(n){var o,s;u.datums[o=u.identify(n)]=n;s=f(u.datumTokenizer(n));t.each(s,function(n){for(var f,t=u.trie,s=n.split("");f=s.shift();)t=t[i][f]||(t[i][f]=e()),t[r].push(o)})})},get:function(n){var i=this;return t.map(n,function(n){return i.datums[n]})},search:function(n){var e=this,h,u;return h=f(this.queryTokenizer(n)),t.each(h,function(n){var t,f,h,o;if(u&&u.length===0)return!1;for(t=e.trie,f=n.split("");t&&(h=f.shift());)t=t[i][h];if(t&&f.length===0)o=t[r].slice(0),u=u?s(u,o):o;else return u=[],!1}),u?t.map(o(u),function(n){return e.datums[n]}):[]},all:function(){var n=[];for(var t in this.datums)n.push(this.datums[t]);return n},reset:function(){this.datums={};this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),u}(),s=function(){"use strict";function i(n){this.url=n.url;this.ttl=n.ttl;this.cache=n.cache;this.prepare=n.prepare;this.transform=n.transform;this.transport=n.transport;this.thumbprint=n.thumbprint;this.storage=new e(n.cacheKey)}var n;return n={data:"data",protocol:"protocol",thumbprint:"thumbprint"},t.mixin(i.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},store:function(t){this.cache&&(this.storage.set(n.data,t,this.ttl),this.storage.set(n.protocol,location.protocol,this.ttl),this.storage.set(n.thumbprint,this.thumbprint,this.ttl))},fromCache:function(){var t={},i;return this.cache?(t.data=this.storage.get(n.data),t.protocol=this.storage.get(n.protocol),t.thumbprint=this.storage.get(n.thumbprint),i=t.thumbprint!==this.thumbprint||t.protocol!==location.protocol,t.data&&!i?t.data:null):null},fromNetwork:function(n){function r(){n(!0)}function u(t){n(null,i.transform(t))}var i=this,t;n&&(t=this.prepare(this._settings()),this.transport(t).fail(r).done(u))},clear:function(){return this.storage.clear(),this}}),i}(),h=function(){"use strict";function n(n){this.url=n.url;this.prepare=n.prepare;this.transform=n.transform;this.transport=new r({cache:n.cache,limiter:n.limiter,transport:n.transport})}return t.mixin(n.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},get:function(n,t){function u(n,i){n?t([]):t(r.transform(i))}var r=this,i;if(t)return n=n||"",i=this.prepare(n,this._settings()),this.transport.get(i,u)},cancelLastRequest:function(){this.transport.cancel()}}),n}(),c=function(){"use strict";function r(r){var f;return r?(f={url:null,ttl:864e5,cache:!0,cacheKey:null,thumbprint:"",prepare:t.identity,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(f,r),r.url||n.error("prefetch requires url to be set"),r.transform=r.filter||r.transform,r.cacheKey=r.cacheKey||r.url,r.thumbprint=u+r.thumbprint,r.transport=r.transport?i(r.transport):n.ajax,r):null}function f(r){var u;if(r)return u={url:null,cache:!0,prepare:null,replace:null,wildcard:null,limiter:null,rateLimitBy:"debounce",rateLimitWait:300,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.url||n.error("remote requires url to be set"),r.transform=r.filter||r.transform,r.prepare=e(r),r.limiter=o(r),r.transport=r.transport?i(r.transport):n.ajax,delete r.replace,delete r.wildcard,delete r.rateLimitBy,delete r.rateLimitWait,r}function e(n){function u(n,t){return t.url=i(t.url,n),t}function f(n,t){return t.url=t.url.replace(r,encodeURIComponent(n)),t}function e(n,t){return t}var t,i,r;return(t=n.prepare,i=n.replace,r=n.wildcard,t)?t:i?u:n.wildcard?f:e}function o(n){function f(n){return function(i){return t.debounce(i,n)}}function e(n){return function(i){return t.throttle(i,n)}}var i,u,r;return i=n.limiter,u=n.rateLimitBy,r=n.rateLimitWait,i||(i=/^throttle$/i.test(u)?e(r):f(r)),i}function i(i){return function(r){function f(n){t.defer(function(){u.resolve(n)})}function e(n){t.defer(function(){u.reject(n)})}var u=n.Deferred();return i(r,f,e),u}}return function(i){var e,u;return e={initialize:!0,identify:t.stringify,datumTokenizer:null,queryTokenizer:null,sufficient:5,sorter:null,local:[],prefetch:null,remote:null},i=t.mixin(e,i||{}),i.datumTokenizer||n.error("datumTokenizer is required"),i.queryTokenizer||n.error("queryTokenizer is required"),u=i.sorter,i.sorter=u?function(n){return n.sort(u)}:t.identity,i.local=t.isFunction(i.local)?i.local():i.local,i.prefetch=r(i.prefetch),i.remote=f(i.remote),i}}();return function(){"use strict";function i(n){n=c(n);this.sorter=n.sorter;this.identify=n.identify;this.sufficient=n.sufficient;this.local=n.local;this.remote=n.remote?new h(n.remote):null;this.prefetch=n.prefetch?new s(n.prefetch):null;this.index=new o({identify:this.identify,datumTokenizer:n.datumTokenizer,queryTokenizer:n.queryTokenizer});n.initialize!==!1&&this.initialize()}var u;return u=window&&window.Bloodhound,i.noConflict=function(){return window&&(window.Bloodhound=u),i},i.tokenizers=f,t.mixin(i.prototype,{__ttAdapter:function(){function t(t,i,r){return n.search(t,i,r)}function i(t,i){return n.search(t,i)}var n=this;return this.remote?t:i},_loadPrefetch:function(){function u(n,r){if(n)return t.reject();i.add(r);i.prefetch.store(i.index.serialize());t.resolve()}var i=this,t,r;return t=n.Deferred(),this.prefetch?(r=this.prefetch.fromCache())?(this.index.bootstrap(r),t.resolve()):this.prefetch.fromNetwork(u):t.resolve(),t.promise()},_initialize:function(){function t(){n.add(n.local)}var n=this;return this.clear(),(this.initPromise=this._loadPrefetch()).done(t),this.initPromise},initialize:function(n){return!this.initPromise||n?this._initialize():this.initPromise},add:function(n){return this.index.add(n),this},get:function(n){return n=t.isArray(n)?n:[].slice.call(arguments),this.index.get(n)},search:function(n,i,r){function e(n){var i=[];t.each(n,function(n){t.some(u,function(t){return f.identify(n)===f.identify(t)})||i.push(n)});r&&r(i)}var f=this,u;return u=this.sorter(this.index.search(n)),i(this.remote?u.slice():u),this.remote&&u.length<this.sufficient?this.remote.get(n,e):this.remote&&this.remote.cancelLastRequest(),this},all:function(){return this.index.all()},clear:function(){return this.index.reset(),this},clearPrefetchCache:function(){return this.prefetch&&this.prefetch.clear(),this},clearRemoteCache:function(){return r.resetCache(),this},ttAdapter:function(){return this.__ttAdapter()}}),i}()}),function(n,t){typeof define=="function"&&define.amd?define("typeahead.js",["jquery"],function(n){return t(n)}):typeof exports=="object"?module.exports=t(require("jquery")):t(jQuery)}(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),e=function(){"use strict";function i(i){var e,o;return o=t.mixin({},n,i),e={css:f(),classes:o,html:r(o),selectors:u(o)},{css:e.css,html:e.html,classes:e.classes,selectors:e.selectors,mixin:function(n){t.mixin(n,e)}}}function r(n){return{wrapper:'<span class="'+n.wrapper+'"><\/span>',menu:'<div class="'+n.menu+'"><\/div>'}}function u(n){var i={};return t.each(n,function(n,t){i[t]="."+n}),i}function f(){var n={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},menu:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return t.isMsie()&&t.mixin(n.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),n}var n={wrapper:"twitter-typeahead",input:"tt-input",hint:"tt-hint",menu:"tt-menu",dataset:"tt-dataset",suggestion:"tt-suggestion",selectable:"tt-selectable",empty:"tt-empty",open:"tt-open",cursor:"tt-cursor",highlight:"tt-highlight"};return i}(),o=function(){"use strict";function u(t){t&&t.el||n.error("EventBus initialized without el");this.$el=n(t.el)}var i,r;return i="typeahead:",r={render:"rendered",cursorchange:"cursorchanged",select:"selected",autocomplete:"autocompleted"},t.mixin(u.prototype,{_trigger:function(t,r){var u;return u=n.Event(i+t),(r=r||[]).unshift(u),this.$el.trigger.apply(this.$el,r),u},before:function(n){var t,i;return t=[].slice.call(arguments,1),i=this._trigger("before"+n,t),i.isDefaultPrevented()},trigger:function(n){var t;this._trigger(n,[].slice.call(arguments,1));(t=r[n])&&this._trigger(t,[].slice.call(arguments,1))}}),u}(),r=function(){"use strict";function t(t,i,r,u){var f;if(!r)return this;for(i=i.split(n),r=u?h(r,u):r,this._callbacks=this._callbacks||{};f=i.shift();)this._callbacks[f]=this._callbacks[f]||{sync:[],async:[]},this._callbacks[f][t].push(r);return this}function u(n,i,r){return t.call(this,"async",n,i,r)}function f(n,i,r){return t.call(this,"sync",n,i,r)}function e(t){var i;if(!this._callbacks)return this;for(t=t.split(n);i=t.shift();)delete this._callbacks[i];return this}function o(t){var u,f,e,o,s;if(!this._callbacks)return this;for(t=t.split(n),e=[].slice.call(arguments,1);(u=t.shift())&&(f=this._callbacks[u]);)o=i(f.sync,this,[u].concat(e)),s=i(f.async,this,[u].concat(e)),o()&&r(s);return this}function i(n,t,i){function r(){for(var r,u=0,f=n.length;!r&&u<f;u+=1)r=n[u].apply(t,i)===!1;return!r}return r}function s(){return window.setImmediate?function(n){setImmediate(function(){n()})}:function(n){setTimeout(function(){n()},0)}}function h(n,t){return n.bind?n.bind(t):function(){n.apply(t,[].slice.call(arguments,0))}}var n=/\s+/,r=s();return{onSync:f,onAsync:u,off:e,trigger:o}}(),s=function(n){"use strict";function r(n,i,r){for(var u=[],f,e=0,o=n.length;e<o;e++)u.push(t.escapeRegExChars(n[e]));return f=r?"\\b("+u.join("|")+")\\b":"("+u.join("|")+")",i?new RegExp(f):new RegExp(f,"i")}var i={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(u){function o(t){var i,r,e;return(i=f.exec(t.data))&&(e=n.createElement(u.tagName),u.className&&(e.className=u.className),r=t.splitText(i.index),r.splitText(i[0].length),e.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(e,r)),!!i}function e(n,t){for(var i,r=0;r<n.childNodes.length;r++)i=n.childNodes[r],i.nodeType===3?r+=t(i)?1:0:e(i,t)}var f;(u=t.mixin({},i,u),u.node&&u.pattern)&&(u.pattern=t.isArray(u.pattern)?u.pattern:[u.pattern],f=r(u.pattern,u.caseSensitive,u.wordsOnly),e(u.node,o))}}(window.document),u=function(){"use strict";function i(i,r){i=i||{};i.input||n.error("input is missing");r.mixin(this);this.$hint=n(i.hint);this.$input=n(i.input);this.query=this.$input.val();this.queryWhenFocused=this.hasFocus()?this.query:null;this.$overflowHelper=e(this.$input);this._checkLanguageDirection();this.$hint.length===0&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=t.noop)}function e(t){return n('<pre aria-hidden="true"><\/pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}function o(n,t){return i.normalizeQuery(n)===i.normalizeQuery(t)}function f(n){return n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}var u;return u={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},i.normalizeQuery=function(n){return t.toStr(n).replace(/^\s*/g,"").replace(/\s{2,}/g," ")},t.mixin(i.prototype,r,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.queryWhenFocused=this.query;this.trigger("focused")},_onKeydown:function(n){var t=u[n.which||n.keyCode];this._managePreventDefault(t,n);t&&this._shouldTrigger(t,n)&&this.trigger(t+"Keyed",n)},_onInput:function(){this._setQuery(this.getInputValue());this.clearHintIfInvalid();this._checkLanguageDirection()},_managePreventDefault:function(n,t){var i;switch(n){case"up":case"down":i=!f(t);break;default:i=!1}i&&t.preventDefault()},_shouldTrigger:function(n,t){var i;switch(n){case"tab":i=!f(t);break;default:i=!0}return i},_checkLanguageDirection:function(){var n=(this.$input.css("direction")||"ltr").toLowerCase();this.dir!==n&&(this.dir=n,this.$hint.attr("dir",n),this.trigger("langDirChanged",n))},_setQuery:function(n,t){var i,r;i=o(n,this.query);r=i?this.query.length!==n.length:!1;this.query=n;t||i?!t&&r&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},bind:function(){var n=this,i,r,f,e;i=t.bind(this._onBlur,this);r=t.bind(this._onFocus,this);f=t.bind(this._onKeydown,this);e=t.bind(this._onInput,this);this.$input.on("blur.tt",i).on("focus.tt",r).on("keydown.tt",f);if(!t.isMsie()||t.isMsie()>9)this.$input.on("input.tt",e);else this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(i){u[i.which||i.keyCode]||t.defer(t.bind(n._onInput,n,i))});return this},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getLangDir:function(){return this.dir},getQuery:function(){return this.query||""},setQuery:function(n,t){this.setInputValue(n);this._setQuery(n,t)},hasQueryChangedSinceLastFocus:function(){return this.query!==this.queryWhenFocused},getInputValue:function(){return this.$input.val()},setInputValue:function(n){this.$input.val(n);this.clearHintIfInvalid();this._checkLanguageDirection()},resetInputValue:function(){this.setInputValue(this.query)},getHint:function(){return this.$hint.val()},setHint:function(n){this.$hint.val(n)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var n,t,i,r;n=this.getInputValue();t=this.getHint();i=n!==t&&t.indexOf(n)===0;r=n!==""&&i&&!this.hasOverflow();r||this.clearHint()},hasFocus:function(){return this.$input.is(":focus")},hasOverflow:function(){var n=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=n},isCursorAtEnd:function(){var n,i,r;return(n=this.$input.val().length,i=this.$input[0].selectionStart,t.isNumber(i))?i===n:document.selection?(r=document.selection.createRange(),r.moveStart("character",-n),n===r.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$overflowHelper.remove();this.$hint=this.$input=this.$overflowHelper=n("<div>")}}),i}(),f=function(){"use strict";function u(i,r){i=i||{};i.templates=i.templates||{};i.templates.notFound=i.templates.notFound||i.templates.empty;i.source||n.error("missing source");i.node||n.error("missing node");i.name&&!h(i.name)&&n.error("invalid dataset name: "+i.name);r.mixin(this);this.highlight=!!i.highlight;this.name=i.name||f();this.limit=i.limit||5;this.displayFn=e(i.display||i.displayKey);this.templates=o(i.templates,this.displayFn);this.source=i.source.__ttAdapter?i.source.__ttAdapter():i.source;this.async=t.isUndefined(i.async)?this.source.length>2:!!i.async;this._resetLastSuggestion();this.$el=n(i.node).addClass(this.classes.dataset).addClass(this.classes.dataset+"-"+this.name)}function e(n){function i(t){return t[n]}return n=n||t.stringify,t.isFunction(n)?n:i}function o(i,r){function u(t){return n("<div>").text(r(t))}return{notFound:i.notFound&&t.templatify(i.notFound),pending:i.pending&&t.templatify(i.pending),header:i.header&&t.templatify(i.header),footer:i.footer&&t.templatify(i.footer),suggestion:i.suggestion||u}}function h(n){return/^[_a-zA-Z0-9-]+$/.test(n)}var i,f;return i={val:"tt-selectable-display",obj:"tt-selectable-object"},f=t.getIdGenerator(),u.extractData=function(t){var r=n(t);return r.data(i.obj)?{val:r.data(i.val)||"",obj:r.data(i.obj)||null}:null},t.mixin(u.prototype,r,{_overwrite:function(n,t){t=t||[];t.length?this._renderSuggestions(n,t):this.async&&this.templates.pending?this._renderPending(n):!this.async&&this.templates.notFound?this._renderNotFound(n):this._empty();this.trigger("rendered",this.name,t,!1)},_append:function(n,t){t=t||[];t.length&&this.$lastSuggestion.length?this._appendSuggestions(n,t):t.length?this._renderSuggestions(n,t):!this.$lastSuggestion.length&&this.templates.notFound&&this._renderNotFound(n);this.trigger("rendered",this.name,t,!0)},_renderSuggestions:function(n,t){var i;i=this._getSuggestionsFragment(n,t);this.$lastSuggestion=i.children().last();this.$el.html(i).prepend(this._getHeader(n,t)).append(this._getFooter(n,t))},_appendSuggestions:function(n,t){var i,r;i=this._getSuggestionsFragment(n,t);r=i.children().last();this.$lastSuggestion.after(i);this.$lastSuggestion=r},_renderPending:function(n){var t=this.templates.pending;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_renderNotFound:function(n){var t=this.templates.notFound;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_empty:function(){this.$el.empty();this._resetLastSuggestion()},_getSuggestionsFragment:function(r,u){var f=this,e;return e=document.createDocumentFragment(),t.each(u,function(t){var u,o;o=f._injectQuery(r,t);u=n(f.templates.suggestion(o)).data(i.obj,t).data(i.val,f.displayFn(t)).addClass(f.classes.suggestion+" "+f.classes.selectable);e.appendChild(u[0])}),this.highlight&&s({className:this.classes.highlight,node:e,pattern:r}),n(e)},_getFooter:function(n,t){return this.templates.footer?this.templates.footer({query:n,suggestions:t,dataset:this.name}):null},_getHeader:function(n,t){return this.templates.header?this.templates.header({query:n,suggestions:t,dataset:this.name}):null},_resetLastSuggestion:function(){this.$lastSuggestion=n()},_injectQuery:function(n,i){return t.isObject(i)?t.mixin({_query:n},i):i},update:function(t){function e(n){u||(u=!0,n=(n||[]).slice(0,i.limit),r=n.length,i._overwrite(t,n),r<i.limit&&i.async&&i.trigger("asyncRequested",t))}function o(u){u=u||[];!f&&r<i.limit&&(i.cancel=n.noop,r+=u.length,i._append(t,u.slice(0,i.limit-r)),i.async&&i.trigger("asyncReceived",t))}var i=this,f=!1,u=!1,r=0;this.cancel();this.cancel=function(){f=!0;i.cancel=n.noop;i.async&&i.trigger("asyncCanceled",t)};this.source(t,e,o);u||e([])},cancel:n.noop,clear:function(){this._empty();this.cancel();this.trigger("cleared")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=n("<div>")}}),u}(),i=function(){"use strict";function i(i,r){function e(t){var i=u.$node.find(t.node).first();return t.node=i.length?i:n("<div>").appendTo(u.$node),new f(t,r)}var u=this;i=i||{};i.node||n.error("node is required");r.mixin(this);this.$node=n(i.node);this.query=null;this.datasets=t.map(i.datasets,e)}return t.mixin(i.prototype,r,{_onSelectableClick:function(t){this.trigger("selectableClicked",n(t.currentTarget))},_onRendered:function(n,t,i,r){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetRendered",t,i,r)},_onCleared:function(){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetCleared")},_propagate:function(){this.trigger.apply(this,arguments)},_allDatasetsEmpty:function(){function n(n){return n.isEmpty()}return t.every(this.datasets,n)},_getSelectables:function(){return this.$node.find(this.selectors.selectable)},_removeCursor:function(){var n=this.getActiveSelectable();n&&n.removeClass(this.classes.cursor)},_ensureVisible:function(n){var t,i,r,u;t=n.position().top;i=t+n.outerHeight(!0);r=this.$node.scrollTop();u=this.$node.height()+parseInt(this.$node.css("paddingTop"),10)+parseInt(this.$node.css("paddingBottom"),10);t<0?this.$node.scrollTop(r+t):u<i&&this.$node.scrollTop(r+(i-u))},bind:function(){var n=this,i=t.bind(this._onSelectableClick,this);this.$node.on("click.tt",this.selectors.selectable,i);return t.each(this.datasets,function(t){t.onSync("asyncRequested",n._propagate,n).onSync("asyncCanceled",n._propagate,n).onSync("asyncReceived",n._propagate,n).onSync("rendered",n._onRendered,n).onSync("cleared",n._onCleared,n)}),this},isOpen:function(){return this.$node.hasClass(this.classes.open)},open:function(){this.$node.addClass(this.classes.open)},close:function(){this.$node.removeClass(this.classes.open);this._removeCursor()},setLanguageDirection:function(n){this.$node.attr("dir",n)},selectableRelativeToCursor:function(n){var i,r,u,t;return r=this.getActiveSelectable(),i=this._getSelectables(),u=r?i.index(r):-1,t=u+n,t=(t+1)%(i.length+1)-1,t=t<-1?i.length-1:t,t===-1?null:i.eq(t)},setCursor:function(n){this._removeCursor();(n=n&&n.first())&&(n.addClass(this.classes.cursor),this._ensureVisible(n))},getSelectableData:function(n){return n&&n.length?f.extractData(n):null},getActiveSelectable:function(){var n=this._getSelectables().filter(this.selectors.cursor).first();return n.length?n:null},getTopSelectable:function(){var n=this._getSelectables().first();return n.length?n:null},update:function(n){function r(t){t.update(n)}var i=n!==this.query;return i&&(this.query=n,t.each(this.datasets,r)),i},empty:function(){function n(n){n.clear()}t.each(this.datasets,n);this.query=null;this.$node.addClass(this.classes.empty)},destroy:function(){function i(n){n.destroy()}this.$node.off(".tt");this.$node=n("<div>");t.each(this.datasets,i)}}),i}(),h=function(){"use strict";function r(){i.apply(this,[].slice.call(arguments,0))}var n=i.prototype;return t.mixin(r.prototype,i.prototype,{open:function(){return this._allDatasetsEmpty()||this._show(),n.open.apply(this,[].slice.call(arguments,0))},close:function(){return this._hide(),n.close.apply(this,[].slice.call(arguments,0))},_onRendered:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onRendered.apply(this,[].slice.call(arguments,0))},_onCleared:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onCleared.apply(this,[].slice.call(arguments,0))},setLanguageDirection:function(t){return this.$node.css(t==="ltr"?this.css.ltr:this.css.rtl),n.setLanguageDirection.apply(this,[].slice.call(arguments,0))},_hide:function(){this.$node.hide()},_show:function(){this.$node.css("display","block")}}),r}(),c=function(){"use strict";function r(r,u){var f,e,o,s,h,c,l,a,v,y,p;r=r||{};r.input||n.error("missing input");r.menu||n.error("missing menu");r.eventBus||n.error("missing event bus");u.mixin(this);this.eventBus=r.eventBus;this.minLength=t.isNumber(r.minLength)?r.minLength:1;this.input=r.input;this.menu=r.menu;this.enabled=!0;this.active=!1;this.input.hasFocus()&&this.activate();this.dir=this.input.getLangDir();this._hacks();this.menu.bind().onSync("selectableClicked",this._onSelectableClicked,this).onSync("asyncRequested",this._onAsyncRequested,this).onSync("asyncCanceled",this._onAsyncCanceled,this).onSync("asyncReceived",this._onAsyncReceived,this).onSync("datasetRendered",this._onDatasetRendered,this).onSync("datasetCleared",this._onDatasetCleared,this);f=i(this,"activate","open","_onFocused");e=i(this,"deactivate","_onBlurred");o=i(this,"isActive","isOpen","_onEnterKeyed");s=i(this,"isActive","isOpen","_onTabKeyed");h=i(this,"isActive","_onEscKeyed");c=i(this,"isActive","open","_onUpKeyed");l=i(this,"isActive","open","_onDownKeyed");a=i(this,"isActive","isOpen","_onLeftKeyed");v=i(this,"isActive","isOpen","_onRightKeyed");y=i(this,"_openIfActive","_onQueryChanged");p=i(this,"_openIfActive","_onWhitespaceChanged");this.input.bind().onSync("focused",f,this).onSync("blurred",e,this).onSync("enterKeyed",o,this).onSync("tabKeyed",s,this).onSync("escKeyed",h,this).onSync("upKeyed",c,this).onSync("downKeyed",l,this).onSync("leftKeyed",a,this).onSync("rightKeyed",v,this).onSync("queryChanged",y,this).onSync("whitespaceChanged",p,this).onSync("langDirChanged",this._onLangDirChanged,this)}function i(n){var i=[].slice.call(arguments,1);return function(){var r=[].slice.call(arguments);t.each(i,function(t){return n[t].apply(n,r)})}}return t.mixin(r.prototype,{_hacks:function(){var r,i;r=this.input.$input||n("<div>");i=this.menu.$node||n("<div>");r.on("blur.tt",function(n){var u,f,e;u=document.activeElement;f=i.is(u);e=i.has(u).length>0;t.isMsie()&&(f||e)&&(n.preventDefault(),n.stopImmediatePropagation(),t.defer(function(){r.focus()}))});i.on("mousedown.tt",function(n){n.preventDefault()})},_onSelectableClicked:function(n,t){this.select(t)},_onDatasetCleared:function(){this._updateHint()},_onDatasetRendered:function(n,t,i,r){this._updateHint();this.eventBus.trigger("render",i,r,t)},_onAsyncRequested:function(n,t,i){this.eventBus.trigger("asyncrequest",i,t)},_onAsyncCanceled:function(n,t,i){this.eventBus.trigger("asynccancel",i,t)},_onAsyncReceived:function(n,t,i){this.eventBus.trigger("asyncreceive",i,t)},_onFocused:function(){this._minLengthMet()&&this.menu.update(this.input.getQuery())},_onBlurred:function(){this.input.hasQueryChangedSinceLastFocus()&&this.eventBus.trigger("change",this.input.getQuery())},_onEnterKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())&&this.select(i)&&t.preventDefault()},_onTabKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())?this.select(i)&&t.preventDefault():(i=this.menu.getTopSelectable())&&this.autocomplete(i)&&t.preventDefault()},_onEscKeyed:function(){this.close()},_onUpKeyed:function(){this.moveCursor(-1)},_onDownKeyed:function(){this.moveCursor(1)},_onLeftKeyed:function(){this.dir==="rtl"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onRightKeyed:function(){this.dir==="ltr"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onQueryChanged:function(n,t){this._minLengthMet(t)?this.menu.update(t):this.menu.empty()},_onWhitespaceChanged:function(){this._updateHint()},_onLangDirChanged:function(n,t){this.dir!==t&&(this.dir=t,this.menu.setLanguageDirection(t))},_openIfActive:function(){this.isActive()&&this.open()},_minLengthMet:function(n){return n=t.isString(n)?n:this.input.getQuery()||"",n.length>=this.minLength},_updateHint:function(){var f,i,n,e,o,s,r;f=this.menu.getTopSelectable();i=this.menu.getSelectableData(f);n=this.input.getInputValue();!i||t.isBlankString(n)||this.input.hasOverflow()?this.input.clearHint():(e=u.normalizeQuery(n),o=t.escapeRegExChars(e),s=new RegExp("^(?:"+o+")(.+$)","i"),r=s.exec(i.val),r&&this.input.setHint(n+r[1]))},isEnabled:function(){return this.enabled},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},isActive:function(){return this.active},activate:function(){return this.isActive()?!0:!this.isEnabled()||this.eventBus.before("active")?!1:(this.active=!0,this.eventBus.trigger("active"),!0)},deactivate:function(){return this.isActive()?this.eventBus.before("idle")?!1:(this.active=!1,this.close(),this.eventBus.trigger("idle"),!0):!0},isOpen:function(){return this.menu.isOpen()},open:function(){return this.isOpen()||this.eventBus.before("open")||(this.menu.open(),this._updateHint(),this.eventBus.trigger("open")),this.isOpen()},close:function(){return this.isOpen()&&!this.eventBus.before("close")&&(this.menu.close(),this.input.clearHint(),this.input.resetInputValue(),this.eventBus.trigger("close")),!this.isOpen()},setVal:function(n){this.input.setQuery(t.toStr(n))},getVal:function(){return this.input.getQuery()},select:function(n){var t=this.menu.getSelectableData(n);return t&&!this.eventBus.before("select",t.obj)?(this.input.setQuery(t.val,!0),this.eventBus.trigger("select",t.obj),this.close(),!0):!1},autocomplete:function(n){var i,t,r;return(i=this.input.getQuery(),t=this.menu.getSelectableData(n),r=t&&i!==t.val,r&&!this.eventBus.before("autocomplete",t.obj))?(this.input.setQuery(t.val),this.eventBus.trigger("autocomplete",t.obj),!0):!1},moveCursor:function(n){var u,i,t,r,f;return(u=this.input.getQuery(),i=this.menu.selectableRelativeToCursor(n),t=this.menu.getSelectableData(i),r=t?t.obj:null,f=this._minLengthMet()&&this.menu.update(u),!f&&!this.eventBus.before("cursorchange",r))?(this.menu.setCursor(i),t?this.input.setInputValue(t.val):(this.input.resetInputValue(),this._updateHint()),this.eventBus.trigger("cursorchange",r),!0):!1},destroy:function(){this.input.destroy();this.menu.destroy()}}),r}();(function(){"use strict";function r(t,i){t.each(function(){var t=n(this),r;(r=t.data(f.typeahead))&&i(r,t)})}function v(n,t){return n.clone().addClass(t.classes.hint).removeData().css(t.css.hint).css(p(n)).prop("readonly",!0).removeAttr("id name placeholder required").attr({autocomplete:"off",spellcheck:"false",tabindex:-1})}function y(n,t){n.data(f.attrs,{dir:n.attr("dir"),autocomplete:n.attr("autocomplete"),spellcheck:n.attr("spellcheck"),style:n.attr("style")});n.addClass(t.classes.input).attr({autocomplete:"off",spellcheck:!1});try{n.attr("dir")||n.attr("dir","auto")}catch(i){}return n}function p(n){return{backgroundAttachment:n.css("background-attachment"),backgroundClip:n.css("background-clip"),backgroundColor:n.css("background-color"),backgroundImage:n.css("background-image"),backgroundOrigin:n.css("background-origin"),backgroundPosition:n.css("background-position"),backgroundRepeat:n.css("background-repeat"),backgroundSize:n.css("background-size")}}function w(n){var r,i;r=n.data(f.www);i=n.parent().filter(r.selectors.wrapper);t.each(n.data(f.attrs),function(i,r){t.isUndefined(i)?n.removeAttr(r):n.attr(r,i)});n.removeData(f.typeahead).removeData(f.www).removeData(f.attr).removeClass(r.classes.input);i.length&&(n.detach().insertAfter(i),i.remove())}function a(i){var u,r;return u=t.isJQuery(i)||t.isElement(i),r=u?n(i).first():[],r.length?r:null}var l,f,s;l=n.fn.typeahead;f={www:"tt-www",attrs:"tt-attrs",typeahead:"tt-typeahead"};s={initialize:function(r,s){function p(){var e,d,p,w,b,k,g,nt,tt,it,rt;t.each(s,function(n){n.highlight=!!r.highlight});e=n(this);d=n(l.html.wrapper);p=a(r.hint);w=a(r.menu);b=r.hint!==!1&&!p;k=r.menu!==!1&&!w;b&&(p=v(e,l));k&&(w=n(l.html.menu).css(l.css.menu));p&&p.val("");e=y(e,l);(b||k)&&(d.css(l.css.wrapper),e.css(b?l.css.input:l.css.inputWithNoHint),e.wrap(d).parent().prepend(b?p:null).append(k?w:null));rt=k?h:i;g=new o({el:e});nt=new u({hint:p,input:e},l);tt=new rt({node:w,datasets:s},l);it=new c({input:nt,menu:tt,eventBus:g,minLength:r.minLength},l);e.data(f.www,l);e.data(f.typeahead,it)}var l;return s=t.isArray(s)?s:[].slice.call(arguments,1),r=r||{},l=e(r.classNames),this.each(p)},isEnabled:function(){var n;return r(this.first(),function(t){n=t.isEnabled()}),n},enable:function(){return r(this,function(n){n.enable()}),this},disable:function(){return r(this,function(n){n.disable()}),this},isActive:function(){var n;return r(this.first(),function(t){n=t.isActive()}),n},activate:function(){return r(this,function(n){n.activate()}),this},deactivate:function(){return r(this,function(n){n.deactivate()}),this},isOpen:function(){var n;return r(this.first(),function(t){n=t.isOpen()}),n},open:function(){return r(this,function(n){n.open()}),this},close:function(){return r(this,function(n){n.close()}),this},select:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.select(u)}),i},autocomplete:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.autocomplete(u)}),i},moveCursor:function(n){var t=!1;return r(this.first(),function(i){t=i.moveCursor(n)}),t},val:function(n){var t;return arguments.length?(r(this,function(t){t.setVal(n)}),this):(r(this.first(),function(n){t=n.getVal()}),t)},destroy:function(){return r(this,function(n,t){w(t);n.destroy()}),this}};n.fn.typeahead=function(n){return s[n]?s[n].apply(this,[].slice.call(arguments,1)):s.initialize.apply(this,arguments)};n.fn.typeahead.noConflict=function(){return n.fn.typeahead=l,this}})()});const Form=function(){"use strict";const n=!1;window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);const t=function(){function i(n){return n&&n.nodeName&&n.nodeName.toLowerCase()==="form"}function e(n){if(n&&n.nodeName){const t=n.nodeName.toLowerCase();if(["input","select","textarea"].indexOf(t)>=0)if(["hidden","submit","button","reset"].indexOf(n.type)<0)return!0}return!1}function t(n){return typeof n=="string"?document.querySelector(n):n&&n.jquery?n.get(0):n}function o(r){if(r=t(r),!i(r))return null;const f=[];for(let n=0;n<r.elements.length;n++){const t=r.elements[n];u(t)&&f.push(t)}return n&&console.log("Form.Changes",f),f}function s(n){if(n=t(n),!i(n))return null;const r=n.elements;n.reset();for(let n=0;n<r.length;n++)h(r[n])}function u(n){n=t(n);["ignore","mock-password"].forEach(function(t){if(n.classList.contains(t))return!1});let i=!1;switch(n.nodeName.toLowerCase()){case"select":let r=0,t;for(let u=0;u<n.options.length;u++)t=n.options[u],i=i||t.selected!==t.defaultSelected,t.defaultSelected&&(r=u);i&&!n.multiple&&(i=r!==n.selectedIndex);break;case"textarea":case"input":switch(n.type.toLowerCase()){case"checkbox":case"radio":i=n.checked!==n.defaultChecked;break;default:i=n.value!==n.defaultValue}}return i}function h(n){n=t(n);switch(n.type.toLowerCase()){case"text":case"password":case"textarea":case"hidden":n.value="";break;case"radio":case"checkbox":n.checked&&(n.checked=!1);break;case"select-one":case"select-multi":n.selectedIndex=-1}}function c(n){n=t(n);n.removeAttribute("aria-invalid");switch(n.nodeName.toLowerCase()){case"select":for(let t=0;t<n.options.length;t++){const i=n.options[t];i.selected=i.defaultSelected}break;case"textarea":case"input":switch(n.type.toLowerCase()){case"checkbox":case"radio":n.checked=n.defaultChecked;break;default:n.value=n.defaultValue}}r(n)}function r(n){if(n=t(n),i(n)){for(let t=0;t<n.elements.length;t++)r(n.elements[t]);return!1}if(e(n)){n.classList.length&&n.classList.forEach(t=>{t.match("valid")&&n.classList.remove(t)});const i='[data-valmsg-for="'+n.name+'"]',t=document.querySelector(i);t&&(t.classList.replace("field-validation-error","field-validation-valid"),t.innerHTML="")}}function l(n){if(n=t(n),!i(n))return null;const u=["file","reset","submit","button"],r=[];for(let t=0;t<n.elements.length;t++){const i=n.elements[t];if(i.name&&!i.disabled&&!(u.indexOf(i.type)>=0))if(i.type==="select-multiple")for(let n=0;n<i.options.length;n++)i.options[n].selected&&r.push(encodeURIComponent(i.name)+"="+encodeURIComponent(i.options[n].value));else(i.type!=="checkbox"&&i.type!=="radio"||i.checked)&&r.push(encodeURIComponent(i.name)+"="+encodeURIComponent(i.value))}return r.join("&")}function a(t,i){if(n&&console.log("Form.Controls.GetAll",t,i),t=t.jquery?t:$(t),t.length){if(typeof i=="string"){const n=i.split(".");return i=n[n.length-1],t.find(':input[name$="'+i+'"]')}return t.find(":input")}return null}function f(t){return n&&console.log("Form.Controls.GetVisible",t),t.find(":input:not(:hidden)").filter(":visible")}function v(t,i){n&&console.log("Form.Controls.GetVisibleNames",t,i);i=i==!0?!0:!1;const r=f(t);return $.map(r,function(n){if(i)return n.name;const t=n.name.split(".");return t[t.length-1]})}return{Changes:o,Clear:s,GetAll:a,GetVisible:f,GetVisibleNames:v,ResetInput:c,ResetValidation:r,ToQueryString:l}}(),i=function(){function t(){n&&console.log("Form.ForceSelectsReadonly");$(document).on("mousedown","select[readonly]",function(n){n.preventDefault();this.blur();window.focus()})}function i(t,i){return n&&console.log("Form.SelectsByValue",t,i),$(t.toArray().filter(function(n){return $(n).val()==i}))}return{ForceReadonly:t,ByValue:i}}(),r=function(){function n(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n}function i(n){return n.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function r(n){return n&&(n=n.replace(/^(data-)|(data)/i,""),n="data-"+i(n)),n}function u(n){const t=(n.jquery?n:$(n)).clone();return t.find(":input").each(function(){Form.Controls.ResetInput(this,t)}),t.find("[id]:not(:input)").each(function(){this.id+=".{x}"}),t.html().replace(/\_(\d+)\__/g,"_{x}__").replace(/\[(\d+)\]./g,"[{x}].")}function f(n,t){n=n.jquery?n:$(n);n.find("[id]:not(:input)").each(function(){const n=this.id.match(/\.\d+$/);n?this.id.replace(n[0],"."+t):this.id+="."+t});n.find(":input").each(function(){this.id&&(this.id=this.id.replace(/\_(\d+)\__/g,"_"+t+"__"));this.name&&(this.name=this.name.replace(/\[(\d+)\]./g,"["+t+"]."))});n.find("label").each(function(){const n=this.getAttribute("for");n&&this.setAttribute("for",n.replace(/\_(\d+)\__/g,"_"+t+"__"))})}function e(i,u){function s(n){const t=n&&typeof n=="string";if(e&&e.length){const i=e.find(h);return t?i.filter(n):i}return[]}function k(){return o.first()}function l(){return s().length}function y(n){n=n.jquery?n:$(n);n.is(":input")||(n=n.find(":input:not(:hidden)").first());const t=n.length?n.get(0):null;return t&&(t.id||t.name)?t.id?parseInt(t.id.match(/\_(\d+)\_/)[1]):parseInt(t.name.match(/\[(\d+)\]/)[1]):0}function p(){return Form.Cloning.Clone(o.first())}function w(n){const t=Form.Controls.GetAll(s(),n);return t.closest('[class*="col-"]')}function d(n){const t=w();Array.isArray(n)?(t.addClass("d-none"),n.forEach(function(n){w(n).removeClass("d-none")})):t.removeClass("d-none")}function g(n){n+=c;const i=o.first().get(0),t=$(document.createElement(i.nodeName));return t.attr(u,n).addClass(i.className),i.id&&t.attr("id",i.id+"."+n),t.append(p().replace(/{x}/g,n)),nt(t),t}function nt(n){n.find('[data-bs-toggle="tooltip"]').tooltip();n.find('[data-bs-toggle="popover"]').popover();"addBirthDateAttr"in window&&n.find(".date-dob").val("").each(addBirthDateAttr)}function b(n){const i=l(),t=n-i;return t<0&&a(t,tt(n)),t>0&&(a(t,it(n)),Form.Validation.TryResetValidator(v)),t}function tt(n){return s(":gt("+(n-1)+")").remove()}function it(n){const t=l(),i=$(document.createDocumentFragment());for(let r=t;r<n;r++)i.append(g(r));return i.appendTo(e),s(":gt("+(t-1)+")")}function rt(t){n(t)&&(t=s("["+u+'="'+t+'"]'));t&&t.length&&t.remove();ut()}function ut(){e.find(h).each(function(){const n=$(this),t=n.index()+c;n.attr(u,t);f(n,t)})}u=r(u)||"data-stack-id";const h="["+u+"]";let c=0;const o=$(i);let v=null,e=null;o.length&&(c=y(o.first()),o.each(function(n,t){t.setAttribute(u,n+c)}),e=o.first().parent(),v=e.closest("form"));let a=function(){};return{Selector:h,Container:e,Template:p,Items:s,First:k,Count:l,Index:y,Remove:rt,ItemAt:function(t){return n(t)?s().eq(t):null},Update:b,OnUpdate:function(n){typeof n=="function"&&(a=n)},Enumerate:function(n,i){const r=new t(n,i);return r.GetTotal(function(){return l()}),r.OnUpdate(b),r},DisplayControls:d}}function t(t,i){function s(n){r&&typeof r=="function"&&r(n)}function f(){if(u&&typeof u=="function"){const t=u()||0;if(n(t))return t}return 0}function e(n){const r=f(),t=n&&n!=r;if(t){const t=n>r?c:h;i.html(t+" "+o)}else i.html(o);i.prop("disabled",!t).toggleClass("d-none",!t)}t=$(t);i=$(i);const o=i.html(),h="Remove",c="Add";let r=function(){};let u=function(){return 0};t.is("select")?t.on("change",function(){s(t.val());this.blur()}).val(f()):t.on("input",function(){const n=Math.max(this.value,1);t.val(n);e(n)}).val(f());i.on("click",function(){s(t.val());e(!1);this.blur()});return e(!1),{Input:t,Button:i,GetTotal:function(n){return typeof n=="function"&&(u=n,t.val(n())),this},OnUpdate:function(n){return typeof n=="function"&&(r=n),this},SetCount:function(n){return t.val(n),i.click(),this}}}return{Clone:u,Stack:e,Enumerator:t}}(),u=function(){function t(t){if(n&&console.log("Form.TryResetValidator",t),typeof $.validator!="function")return console.error("jQuery validation is missing."),!1;t.removeData("validator");t.removeData("unobtrusiveValidation");$.validator.unobtrusive.parse(t)}function i(t){n&&console.log("Form.DisableOnInvalidRequired",t);$(":submit",t||document).each(function(){const t=$(this),i=$(this.form),n=r(i);t.prop("disabled",!n.AllValid());i.find(":input").on("change",function(){const i=n.AllValid();_DEBUG&&!i&&console.log("Invalid Inputs:",n.Invalid());t.prop("disabled",!i)})})}function r(t){function r(){return i.filter(function(n,t){return $(t).val()===""})}n&&console.log("Form.SetRequiredProperty",t);const i=t.find("[data-val-required]:not(:checkbox):not(:radio)").prop("required",!0);return{Inputs:i,Invalid:r,AllValid:function(){r().length===0}}}return{TryResetValidator:t,DisableOnInvalidRequired:i}}();return{Controls:t,Selects:i,Cloning:r,Validation:u,Changes:t.Changes,Clear:t.Clear,ResetValidation:t.ResetValidation,ToQueryString:t.ToQueryString}}(),CountryStates=function(){"use strict";function t(n,t){const i="is-valid",r="is-invalid",u=new MutationObserver(function(u){u.forEach(function(){n.hasClass(i)?t.removeClass(r).addClass(i):n.hasClass(r)?t.removeClass(i).addClass(r):t.removeClass(i+" "+r)})});u.observe(n.get(0),{attributes:!0,attributeFilter:["class"]})}function i(i,u,f){function s(){const n=i.val();return n==(isNaN(n)?"US":"0")}function e(n){const t=n.length==2?"value":"text";return c.find(function(i){return i[t].toUpperCase()==n.toUpperCase()})}const l=this;let o=null,h=!1;if(i=$(i),u=$(u),f=$(f),!f.length&&u.is("select")){const n=$("<input/>").attr({"class":"form-control",id:u.attr("id"),name:u.attr("name"),placeholder:"State",type:"text"});f=u;u=n;f.attr({id:"StateSelect",name:"StateSelect"});u.insertBefore(f)}t(u,f);const c=r(f);f.attr("autocomplete","off");u.attr("autocomplete","off");n&&(f.removeClass("sr-only"),u.removeClass("sr-only"));i.on("change",function(){const t=s();if(n||(f.toggleClass("sr-only",!t),u.toggleClass("sr-only",t)),t&&u.val().length==2&&u.val(u.val().toUpperCase()),n&&(console.log("\ncountry.change => country is United States?",t),console.log('country.change => (before values) input: "'+u.val()+'", select: "'+f.val()+'"')),t){const t=e(u.val());t!=null?(n&&console.log("country.change => state option found:",t),t.value!=f.val()&&f.val(t.value)):(f.val(""),u.val(""))}else{const t=e(f.val());t!=null?(n&&console.log("country.change => state option found:",t),t.text!=u.val()&&u.val(t.text)):u.val("");f.val("")}if(n&&console.log('country.change => (after values) input: "'+u.val()+'", select: "'+f.val()+'"'),f.trigger("change"),$.validator){const n=i.closest("form").find("#PostalCode");n.length&&(n.toggleClass("ignore",!t),t?n.rules("add",{required:!0}):(n.rules("remove","required"),n.removeClass("is-valid is-invalid").attr("aria-invalid","false")))}});u.on("change",function(){if(s()){const t=e(this.value);t!=null?(n&&console.log("state.change => state option found:",t),t.value!=f.val()&&(f.val(t.value),u.val(f.val()))):f.val("")}n&&console.log('state.change => input: "'+u.val()+'", select: "'+f.val()+'"')});f.on("change",function(){s()?u.val()!=this.value&&u.val(this.value).blur():this.value="";n&&console.log('select.change => input: "'+u.val()+'", select: "'+f.val()+'"')});return u.removeClass("d-none"),f.removeClass("d-none"),i.change(),{Quotable:function(n){n&&typeof n=="boolean"&&(h=n);n&&typeof n=="function"&&(h=!0,o=n)}}}function r(n){const t=$(n).find('option[value]:not([value=""])');return t.map(function(){return{value:this.value,text:this.textContent}}).get()||[]}const n=!1;return{SyncUS:i}}(),Quote=function(n){function r(){const n=i.find('[name$="QuoteFormId"]');return n&&n.val()?parseInt(n.val()):0}function u(){const t=n(':hidden[name$="GroupingId"]');return t&&t.val()?parseInt(t.val()):0}let t=!1;const i=n("#form-quote");const f=r(),e=u();return{Form:i,QuoteFormId:f,GroupingId:e,IsDebug:function(n){return(n===!1||n===!0)&&(t=n),t}}}(jQuery);Quote.Dates=function(n){"use strict";function f(n){try{const u=moment(i.val(),t),f=moment(r.val(),t);if(u&&f){const t=f.diff(u,"d")+1;if(typeof n=="function")n(t);else return t}}catch(u){}return 0}const t="M/D/YYYY",i=n("#DepartDate"),r=n("#ReturnDate"),u=n("#DepositDate");return{Format:t,Depart:i,Return:r,Deposit:u,CoverageDays:f}}(jQuery);Quote.TripCan=function(n){"use strict";function c(){return n('[name$="'+h+'"]')}function s(){const i=n('[name="'+e+'"][value="true"]').is(":checked");return t&&console.log("is_Protected",i),i}function y(){t&&console.log("removeProtection");f(!1);i.toggleClass("d-none",!0);u=!1}function p(){t&&console.log("forceProtection");f(!0);i.toggleClass("d-none",!0);u=!0}function w(){t&&console.log("resetProtection");f(o);i.toggleClass("d-none",!1);u=o}function l(){const u=n(this);let i="",r="";const f=u.val().replace(/[^\d\.]/g,""),t=f.split(".");t.length>1&&t[t.length-1].length>=2&&(r=t.pop().substring(0,2));i=t.join("");r&&!1&&(i+="."+r);u.val(i)}function b(n){t&&console.log("on_TripCanChanged",n);const i=s();n&&!n.isTrigger&&(u=i);k(!i);d(!i);Quote.GroupingId==0&&Quote.Student.ToggleVisibility()}function f(i){t&&console.log("toggle_Protection",i);const r='[value="'+(i?"true":"false")+'"]';n('[name="'+e+'"]'+r).prop("checked",!0).trigger("change")}function k(n){if(v.toggleClass("d-none",n),n==!0)r.data("saved",r.val()).val(""),Form.Controls.ResetValidation(r);else{const n=r.val()||"";r.val(r.data("saved")||n)}}function d(t){n.each(c(),function(){const i=n(this).prop("disabled",t);if(t==!0){const n=i.attr("placeholder");i.attr("data-ph",n).attr("placeholder","N/A");i.data("saved",i.val()).val("");Form.Controls.ResetValidation(i)}else{let n=i.attr("placeholder");n=="N/A"&&(n="");i.attr("placeholder",i.attr("data-ph")||n);const t=i.val()||"";i.val(i.data("saved")||t);l.apply(i)}})}function g(n){(i.is(".carousel-item")?i:i.closest(".carousel-item")).toggleClass("d-none",n)}const t=Quote.IsDebug()||!1,i=n("#tripCanCheck"),v=n("#tripCanBlock"),r=Quote.Dates.Deposit,e="TripProtection",h="TripCost",o=s();let u=o;const a=n('[name="'+e+'"]');n(document).on("change",'[name$="'+h+'"]',l);a.on("change",b);return n(function(){a.trigger("change")}),{Remove:y,Force:p,Reset:w,Protected:s,Toggle:f,CostInputs:c,ToggleVisibility:g}}(jQuery);Quote.Annual=function(n){"use strict";function u(){return t.is(":checked")}function h(){const n=e.data("picker");if(n){const t=this.checked?r:o,i=this.checked?r:s;n.setOptions({singleMode:this.checked,numberOfMonths:this.checked?1:2,numberOfColumns:this.checked?1:2,minDays:t>0?t:null,maxDays:i>0?i:null})}i.prop("readonly",this.checked);Quote.TripCan.ToggleVisibility(this.checked);this.checked?(n&&n.setDate(moment().add(1,"d")),Quote.TripCan.Remove()):Quote.TripCan.Reset()}function c(n){f.toggleClass("d-none",n);n&&u()&&t.prop("checked",!1).trigger("change")}const l=Quote.IsDebug()||!1,r=365,f=n("#annualBlock"),t=n("#IsAnnual"),a=Quote.Dates.Format,e=Quote.Dates.Depart,i=Quote.Dates.Return,o=parseInt(i.attr("data-min-time")||0),s=parseInt(i.attr("data-max-time")||0);t.on("change",h);return n(function(){Quote.GroupingId==0&&t.trigger("change")}),{IsChecked:u,ToggleVisibility:c}}(jQuery);Quote.Selects=function(n){"use strict";function r(){return i.val()=="US"}function o(){return f.val()=="US"}function l(){return r()&&o()}function e(t,i){const r=window.UnlicensedStates||[];return i==!0?t?n.inArray(t,r)<0:!1:n.inArray(t,r)<0}function s(f){if(u&&console.log("on_CountryChanged",f),Quote.GroupingId==0&&(Quote.Annual.ToggleVisibility(!r()),Quote.Student.ToggleVisibility()),t.length?(h||t.closest(".form-group").toggleClass("d-none",!r()),a()):v&&b(!r()),y&&c.length){const n=i.val(),t=!c.includes(n),r=Quote.Annual.IsChecked()||t;Quote.TripCan.ToggleVisibility(r)}f&&n(this).trigger("blur")}function a(){u&&console.log("set_StateLicensing");w(l());const n=t.val();l()?e(n,!0)?Quote.TripCan.Force():Quote.TripCan.Remove():e(n)?Quote.TripCan.Reset():Quote.TripCan.Remove()}function w(i){const r=[];t.find("option").map(function(){const u=i?e(this.value):!0;u||r.push(this.value);n(this).toggleClass("d-none",!u);t.val()!=this.value||u||t.val("")});u&&r.length&&console.log("toggle_StateOptions => unlicensed",r)}function b(t){const i=n('select[name$="PrimaryResidence"]');u&&console.log("toggle_ResidenceSelects",t,i);i.length&&i.each(function(){const i=n(this).prop("disabled",t);t==!0?(i.data("saved",i.val()).val(""),Form.Controls.ResetValidation(i)):i.val()==""&&i.val(i.data("saved")||"");i.closest(".form-group").toggleClass("d-none",t);i.closest(".traveler").find(".switch-label").toggleClass("d-sm-none",!t)})}const u=Quote.IsDebug()||!1,v=!0,h=!0,y=!0,c=["US","CA"],f=n("#Destination"),i=n("#Origin"),t=n("#State");f.on("change",s);i.on("change",s);t.on("change",a);if(h){const u=!0,r=t.closest(".form-group");r.find("label").html("State/Region");r.find(".typeahead[placeholder]").attr("placeholder","Enter Home State/Region");r.removeClass("d-none");n.getJSON("/content/json/states.json",function(n){i.on("change",r=>{let f=n.filter(n=>n.country_code==i.val());if(i.val()=="US"&&(f=f.filter(n=>n.type=="state"||n.type=="district")),f.length>0?t.html("<option value>Select State &hellip;<\/option>"+f.map(n=>`<option value="${n.state_code}">${n.name}</option>`).join("")):t.html("<option value>No States Found<\/option>"),!r.isTrigger&&u){t.val("");const n=t.data("ttInput");n&&n.typeahead("val","")}}).trigger("change")})}return n(function(){s(null)}),{Origin:i,State:t,Destination:f,IsInbound:o,Labels:{Origin:function(){return n('label[for="'+i.attr("id")+'"]:first')},Destination:function(){return n('label[for="'+f.attr("id")+'"]:first')}}}}(jQuery);Quote.TypeAhead=function(n){"use strict";function t(n,t){t=(t+"").toLowerCase();const r=n.find("option").filter(function(){return(this.textContent+"").toLowerCase()===t}).first(),i=r.attr("value");return t=r.text(),n.val()!=i&&n.val(i).get(0).dispatchEvent(new Event("change")),i||n.removeClass("is-valid is-invalid"),t}function s(n,t){if(!n.data("observer")){const i=new MutationObserver(function(i){i.forEach(function(i){i.attributeName=="class"&&(n.hasClass("is-valid")?t.removeClass("is-invalid").addClass("is-valid"):n.hasClass("is-invalid")?t.removeClass("is-valid").addClass("is-invalid"):t.removeClass("is-valid is-invalid"));i.type=="childList"&&(t.typeahead("destroy"),t.removeClass("is-valid is-invalid"),f.apply(t.get(0)))})});i.observe(n.get(0),{attributes:!0,childList:!0});n.data("observer",i)}}function i(n){const i=n.closest(".twitter-typeahead"),t=i.find(".clear");n.val()!=""?t.length||i.prepend('<span class="clear"/>'):t.length&&(t.remove(),n.removeClass("is-valid is-invalid"))}function u(t){n(e,t||document).each(f)}function f(){r&&console.log("init_Input => (this)",this);const u=n(this);if(!u.is(".tt-hint")){u.data("ttTypeahead")&&u.typeahead("destroy");const f=n(this.dataset.ttList);if(f.length&&f.is("select")){r&&console.log("init_Input\n\tinput =>",u,"\n\tselect =>",f,"\n");f.data("ttInput",u);f.addClass("sr-only");const h={classNames:{hint:"tt-hint",input:"tt-input",menu:"tt-menu dropdown-menu",suggestion:"tt-suggestion dropdown-item",selectable:"tt-selectable",cursor:"tt-cursor"},hint:!0,highlight:!0,minLength:0},c=n.map(f.find("option"),function(n){if(n.value)return n.textContent}),e=f.attr("data-tt-min-length");h.minLength=e&&!isNaN(e)?parseInt(e):0;u.typeahead(h,{name:f.attr("id"),limit:c.length,source:o(c)});u.data("timestamp:change",0);u.on("typeahead:change change",function(n){if(n.timeStamp!=u.data("timestamp:change")){const r=f.find("option").filter(function(){return this.value}).length>0;if(r){const n=t(f,this.value);this.value!=n&&(u.data("tt-strict")||n)&&u.typeahead("val",n)}i(u);u.data("timestamp:change",n.timeStamp)}});u.on("typeahead:select",function(n,r){t(f,r);i(u);u.trigger("blur")});u.parent().on("mousedown",".clear",function(n){n.preventDefault();n.originalEvent.button==0&&u.typeahead("val","").trigger("change")});s(f,u);u.val()?t(f,u.val()):f.val()&&u.typeahead("val",f.find("option:selected").text());i(u)}}}const r=Quote.IsDebug()||!1,e=".typeahead[data-tt-list]",o=t=>function(i,r){let u=[],f=new RegExp(i,"i");n.each(t,(n,t)=>{f.test(t)&&u.push(t)});r(u)};return window.addEventListener("load",()=>{u()}),{Init:u}}(jQuery);Quote.Student=function(n){"use strict";function h(){return o.is(":checked")}function s(){const r=n('[name="'+t+'"][value="true"]').is(":checked");return i&&console.log("is_Student",r),r}function c(){const t=Quote.Selects.IsInbound()&&!Quote.TripCan.Protected();u.toggleClass("d-none",!t);f.toggleClass("d-none",!s());const i=[2,3],r=n('select[name$="Type"]');r.each(function(){const r=n(this);let u=parseInt(r.val());r.find('option:not([value=""])').each(function(){const n=parseInt(this.value);i.includes(n)&&(this.classList.toggle("d-none",!t),n===u&&(u=4,r.val(u)))})}).trigger("input")}const i=Quote.IsDebug()||!1,t="IsStudent",r=n('[name="'+t+'"]'),u=n("#studentBlock"),f=u.find("#studentModel"),e=n("#familyBlock"),o=e.find("#IncludeSpouse");r.on("change",function(){const n=this.value=="true";e.toggleClass("d-none",!n);f.toggleClass("d-none",!n)});o.on("change",function(){});return n(function(){r.trigger("change")}),{IsStudent:s,HasSpouse:h,ToggleVisibility:c}}(jQuery);Quote.Travelers=function(n){"use strict";function u(r){function s(){u.find(t+":checked").length||e(0)}function e(n){f(n,1);o(n)}function o(n){const i=r.ItemAt(n),f=i.find(t).prop("checked",!0);u.find(t).not(f).prop("checked",!1)}function f(n,t){const f=r.ItemAt(n),e=u.find(i),o=f.find(i).val(t);Form.Selects.ByValue(e.not(o),t).val("")}function h(){if(!this.checked)return!1;const i=n(this);u.find(t).not(i).prop("checked",!1);f(r.Index(i),1)}function c(t){const r=n(this),f=u.find(i).not(r);Form.Selects.ByValue(f,1).length||t.preventDefault()}function l(){const t=n(this),i=r.Index(t);t.val()==1&&(f(i,1),o(i));t.val()==2&&f(i,2)}function a(i){n(i).on("mouseenter mouseleave",function(i){i.type=="mouseenter"?r.Count()>1&&n(t+":checked").closest(r.Selector).addClass("highlight"):n(r.Selector+".highlight").removeClass("highlight")})}const u=r.Container;u.on("mousedown",i,c);u.on("change",i,l);u.on("click",t,h);n(document).on("touchstart click","input#numberOfTravelers",function(){this.focus();this.select()});return e(0),a(".show-primary-traveler"),{EnsurePrimaryExists:s}}function f(t,i){const r=new Form.Cloning.Stack(t,i),f=r.Count()>0;let e=function(){},o=null;if(f){const s=r.Enumerate(i(),f()),t=u(r);r.OnUpdate(function(n,i){e&&e(n,i);t.EnsurePrimaryExists()});function i(){const t=r.Container;return n(t.data("travelers-counter")||"#numberOfTravelers")}function f(){const t=r.Container;return n(t.data("travelers-button")||"#addTravelers")}o=Form.Controls.GetVisibleNames(r.First())}return{Count:function(){return r.Count()},GetAll:function(){return r.Items()},FindControls:function(n){return f?Form.Controls.GetAll(r.Items(),n):[]},ShowControls:function(n){f&&(r.DisplayControls(n),o=n)},OnUpdate:function(n){typeof n=="function"&&(e=n)}}}function e(t,i){function d(){v.prop("disabled",f.Count()>=c)}function g(){f.Items().last().find("input.age").focus()}function y(n,t){typeof n=="string"&&(n=parseFloat(n)||0);let i=n.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,");return t!=!0&&(i=i.replace(".00","")),"$"+i}function p(){return s.find("input.age").map(function(){const t=n(this),i={Age:t.val()||null,Cost:null,Type:null},u=t.closest("tr").find("input.cost");if(u.length){const n=u.val();n&&(i.Cost=parseFloat(n))}const r=t.closest("tr").find("select.type");if(r.length){const n=r.val();if(n){const t=r.find('option[value="'+n+'"]');t.length&&(i.Type=t.text())}}return i})}function w(n){if(r&&console.log("updateAgesInput => event",n),h.length){const n=p().map(function(){let n=this.Age;return rt&&this.Cost&&(n+=" ("+y(this.Cost)+")"),n}).get().join(", ");r&&console.log("updateAgesInput => ages",n);n&&(h.get(0).value=n,ut())}}function ut(){if(!o||!o.length)return!1;const e=p();let u=0;const f='<span class="opacity-25">Not Set<\/span>';let t='<div class="traveler-summary">';n.each(e,function(n,i){u+=isNaN(i.Age)?0:parseInt(i.Age);t+='<div class="row"><div class="col-auto col-count"><\/div>';t+='<div class="col-auto"><b class="text-muted me-1">Age:<\/b> '+(i.Age||f)+"<\/div>";const r=i.Type?i.Type:f;t+='<div class="col-auto"><b class="text-muted me-1">Type:<\/b> '+r+"<\/div>";t+="<\/div>"});t+="<\/div>";o.attr("data-bs-content",t);o.prop("disabled",u==0);let i=bootstrap.Popover.getInstance(o[0]);i&&i.dispose();i=new bootstrap.Popover(o[0]);r}function ft(t,i){let r=e.closest(".popup").find(".popup-alert");r.length||(r=n("<div/>"),e.closest(".popup").find(".popup-content").append(r));r.empty().get(0).className="popup-alert";t&&(r.html(t).addClass("popup-body"),i&&r.addClass(i))}function tt(){b.length&&s.find('input:hidden[name$="PrimaryResidence"]').each(function(){this.value=b.val()})}function ot(){if(h.length){const i=h.get(0).value;if(i){const r=i.split(", ");f.Update(r.length);const u=f.Items();for(var t=1;t<=u.length;t++)n(u[t]).find("input.age").val(r[t])}}}let a=function(){},k=null;const f=new Form.Cloning.Stack(t,i),e=f.Container,h=n(e.attr("data-ages-input"));let c=e.attr("data-max-travelers");c=isNaN(c)?10:parseInt(c);e.on("click",".btn-remove",function(t){t.preventDefault();const i=n(this),r=i.closest(f.Selector);f.Remove(r);w();d();g()});const v=n(e.attr("data-add-button"));if(v.length)v.on("click",function(n){n.preventDefault();f.Update(f.Count()+1);d();g()});const s=e.closest(".popup-body"),nt=["input.age","input.cost","select.type"];s.on("input",nt.join(","),w);s.on("paste",nt.join(","),function(){return!1});const l=n(e.attr("data-cost-list")),it=!0;if(!0&&l.length>0){n(s).on("change","input.age",t);n(s).on("change","input.cost",t);function t(){l.empty();const t=p();if(it){const f='<span class="text-danger">*<\/span>';let i='<div class="table-responsive"><table class="table table-sm">',e=0,o=0,s=0,r=100,u=0;if(n.each(t,function(n,t){t.Age?(t.Age<r&&(r=t.Age),t.Age>u&&(u=t.Age)):e++;t.Cost?s+=t.Cost:o++}),u||s){const n=r==u?r:r+" - "+u,t=y(s);i+="<tr>";i+='<td><b class="text-muted">Ages:<\/b> '+n+(e?f:"")+"<\/td>";i+='<td><b class="text-muted">Total Cost:<\/b> '+t+(o?f:"")+"<\/td>";i+="<\/tr>";(e||o)&&(i+='<tr><td colspan="2"><span class="small">'+f+" Some required values are missing.<\/span><\/td><\/tr>");i+="<\/table><\/div>";l.html(i)}}else{const r='<span class="text-danger">Not Set<\/span>';let i='<div class="table-responsive"><table class="table table-sm">';n.each(t,function(n,t){i+="<tr>";i+='<td><b class="text-muted">Age:<\/b> '+(t.Age||r)+"<\/td>";const u=t.Cost?y(t.Cost):r;i+='<td><b class="text-muted">Cost:<\/b> '+u+"<\/td>";i+="<\/tr>"});i+="<\/table><\/div>";l.html(i)}}t(null)}s.on("focus","input",function(){n(this).one("mouseup",function(n){n.preventDefault()}).select()});const rt=!1,o=n("#btnAgesInfo");if(o.length){o.attr({"data-bs-toggle":"popover","data-bs-content":"","data-bs-placement":"top","data-bs-trigger":"hover","data-bs-html":"true"});o.on("show.bs.popover",function(n){e.closest(".popup").is(".show")&&n.preventDefault()})}w(null);if(1){s.on("change","input.age",t);function t(){let i="";const t=n(this),r=t.val();if(t.attr("max"))try{const n=parseInt(t.attr("max"));parseInt(r)>n&&(i+="The maximum age for this plan is "+n)}catch(u){}if(t.attr("min"))try{const n=parseInt(t.attr("min"));parseInt(r)<n&&(i+="The minimum age for this plan is "+n)}catch(u){}ft(i,"text-danger")}}const b=n(e.attr("data-state-input"));b.on("change",tt).change();const et=u(f);return et.EnsurePrimaryExists(),f.OnUpdate(function(n,t){a&&a(n,t);n>0&&(tt(),t.find('[name$=".Years"]').val(0),t.find('[name$=".Type"] option[value="1"]').prop("disabled",!0),t.find(".traveler-label").text("Traveler"),t.find(".btn-remove").removeClass("d-none").prop("disabled",!1))}),ot(),k=Form.Controls.GetVisibleNames(f.First()),{Count:function(){return f.Count()},GetAll:function(){return f.Items()},ShowControls:function(n){const t=f.Count()>0;t&&(f.DisplayControls(n),k=n)},OnUpdate:function(n){typeof n=="function"&&(a=n)}}}const r=Quote.IsDebug()||!1,i=':input[name$="Type"]',t=':checkbox[name$="IsPrimary"]';return{Full:function(n,t){return f(n,t)},Ages:function(n,t){return e(n,t)}}}(jQuery);Quote.Carousel=function(n){"use strict";function v(n){n.preventDefault();const o=n.target&&n.target.type=="submit",u=this.getAttribute("data-bs-slide");i&&console.log("ChangePage",u);try{if(u=="next"?t.valid():!0)if(t.addClass("loading hide"),o)t.submit();else{const n=u=="next"?1:-1,t=e()+n,o=c(t,n);i&&console.log("step:",n,", index:",t,", next:",o);f=f||bootstrap.Carousel.getOrCreateInstance(r.get(0));i&&console.log("carousel:",f);setTimeout(function(){f.to(o)},150);u=="next"&&t==1&&b()}this.blur()}catch(n){y(n);throw n;}}function y(n){const t={name:n.name,message:n.line,url:document.location.href,stack:n.stack};console.log("error",t)}function p(n){i&&console.log("OnBeforeSlide",n);const t=l(e());o.css({height:t+"px",overflow:"hidden"})}function w(n){i&&console.log("OnAfterSlide",n);r.carousel("pause");h(n);a(n.to);const u=l(n.to);o.stop().animate({height:u},500,function(){setTimeout(function(){o.removeAttr("style");t.removeClass("loading hide")},150)});g(n)}function b(){let n="";Quote.Annual.IsChecked()?(Quote.TripCan.Remove(),n="remove"):(Quote.TripCan.Reset(),n="reset",Quote.Selects.Origin.val()=="US"&&(Quote.TripCan.Toggle(!0),n+=", toggle => true"));i&&console.log("Quote.Carousel_toggleTripProtectionView =>",n)}function h(n){i&&console.log("UpdateButtons",n);const h=t.find('[data-bs-slide="prev"]'),r=t.find('[data-bs-slide="next"]'),o=n&&n.to||e(),f=o==u.length-1,s=r.find(".fa");f?r.attr("type","submit").html("Get Quote"):r.attr("type","button").html("Next");r.toggleClass("btn-primary",!f).toggleClass("btn-success",f);s&&r.append(s);h.toggleClass("d-none",o===0)}function k(){return u.filter(".active")}function e(){return k().index()}function c(n,t){return n==0||n==u.length-1||!u.eq(n).hasClass("d-none")?n:c(n+t,t)}function s(n){return u.eq(n)}function l(n){const t=s(n),i=t.addClass("d-block h-auto").height();return t.removeClass("d-block h-auto"),i}function a(n){t.find(":input[required]").prop("required",!1);t.find(".is-valid,.is-invalid").removeClass("is-valid is-invalid");s(n).find("[data-val-required]:not(:checkbox):not(:radio)").prop("required",!0);d(n)}function d(t){s(t).find(":checkbox,:radio").each(function(){const i=n(this),t=[];n.each(this.attributes,function(n,i){i&&(i.name=="data-val"||i.name.indexOf("data-val-")==0)&&t.push(i.name)});t.forEach(function(n){i.removeAttr(n)})})}function g(n){i&&console.log("UpdatePageView",n);const r=n&&n.to||e();var t;window.location.pathname==="/"&&(t=window.location.pathname+"#quickQuoteStep"+(r+1));try{"gtag"in window?gtag("send","pageview",t):"ga"in window&&ga("send","pageview",t)}catch(u){console.error("ERROR:",u)}}const i=Quote.IsDebug()||!1,t=n("#form-quote").addClass("load-area"),r=t.find(".carousel"),o=r.find(".carousel-inner"),u=r.find(".carousel-item");t.find("[data-bs-slide]").on("click",v);r.on("slide.bs.carousel",p).on("slid.bs.carousel",w);a(0);h(null);window.addEventListener("load",function(){t.removeClass("loading hide")});let f=null}(jQuery);Quote.Retrieval=function(n){"use strict";const t=Quote.IsDebug()||!1;n(function(){const i=n("#pane-retrieve");if(i.length){const r=i.find("input#quote-id");r.next(".invalid-tooltip").length||r.after('<div class="invalid-tooltip"><\/div>');const e=r.next(".invalid-tooltip"),o=i.find("#btnRetrieve");o.on("click",function(){const n=r.val();r.removeClass("is-invalid");u(n)?s(n):f("Please enter a valid Quote ID")});r.on("keyup",function(){u(this.value)&&this.classList.remove("is-invalid")});function u(n){return/^[1-9][0-9]{4,}$/.test(n)}function f(n){r.addClass("is-invalid").trigger("focus");n&&e.html(n)}function s(i){let u="https://portal.trawickinternational.com/quote/results/[quote]?agent=1";const e=[677,678,680,681,682,683,684,15542],o=n.ajax({url:"/umbraco/surface/Quote/GetAgentId",type:"POST",async:!1,dataType:"json",data:{id:i}});o.done(function(o){t&&console.log("data",o);o.success?(n.inArray(o.AgentId,e)>=0&&(u="https://alumni.trawickinternational.com/quote/compare/[quote]/"),window.open(u.replace(/\[quote\]/g,i),"_blank"),r.val("")):f("No Quote was found by that ID")})}}})}(jQuery);Quote.Tealium=function(n){"use strict";function t(){return{name:"get a quote",data:{quote_id:0,plan_type:"",destination:Quote.Selects.Destination.val(),home_country:Quote.Selects.Origin.val(),state:Quote.Selects.State.val(),start:Quote.Dates.Depart.val(),end:Quote.Dates.Return.val(),traveler_ages:Quote.Travelers.GetAges(),student_traveler:Quote.Travelers.IsStudent(),trip_protection:Quote.TripCan.Protected(),total_trip_cost:n("#TripCost").val(),trip_deposit_date:Quote.Dates.Deposit.val()}}}return{GetPostData:t}}(jQuery);Quote.Validate=function(n){"use strict";const t=Quote.IsDebug()||!1;n(function(){const i=n("form#form-quote");if(!i.data("validator")&&n.validator){t&&console.log("Quote.Validate => setting rules...");const n=i.validate({rules:{"Ages[0]":{required:!0,min:1},Destination:{required:!0,notEqualTo:"#Origin"},Origin:{required:!0},State:{required:{depends:function(){return Quote.Selects.Origin.val()=="US"}}}},messages:{Destination:{notEqualTo:"Destination can't be the same as origin, unless within the United States"}},submitHandler:function(n){t&&console.log("Quote.Validate => submit",n);n.submit()}});t&&console.log("Quote.Validate => rules",n.settings.rules)}t&&console.log("Quote.Validate => validator",i.data("validator"))})}(jQuery);$(function(){function f(n){const t=n.find('[name$="QuoteFormId"]');return t&&t.val()?parseInt(t.val()):0}function u(t){const r=$.Event(t);r.form=n.get(0);r.quoteId=i;$(document).trigger(r)}const n=$("#form-quote"),i=f(n),e=Quote.Dates.Depart,o=Quote.Dates.Return;n.on("keyup",function(t){t.keyCode===13&&(t.preventDefault(),n.find('[type="submit"]').focus())});n.on("reset",function(){n.find('[class*="field-validation-"]').html("")});n.on("submit",function(){u("quote-form:"+(i>0?"update":"insert"))});i>0&&u("quote-form:show");let r,t=n.find(".traveler");t.length?(r=new Quote.Travelers.Full(t,"data-traveler"),r.OnUpdate(function(){})):(t=n.find(".traveler-age"),t.length&&(r=new Quote.Travelers.Ages(t,"data-traveler-age")))})