"object"!=typeof JSON&&(JSON={});
(function(){function c(b){return 10>b?"0"+b:b}function r(e){return b.lastIndex=0,b.test(e)?'"'+e.replace(b,function(b){var e=f[b];return"string"==typeof e?e:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function p(b,c){var g,a,l,f=e,d=c[b];d&&"object"==typeof d&&"function"==typeof d.toJSON&&(d=d.toJSON(b));"function"==typeof q&&(d=q.call(c,b,d));switch(typeof d){case "string":return r(d);case "number":return isFinite(d)?String(d):"null";case "boolean":case "null":return String(d);case "object":if(!d)return"null";
e+=n;var h=[];if("[object Array]"===Object.prototype.toString.apply(d)){var k=d.length;for(g=0;g<k;g+=1)h[g]=p(g,d)||"null";return l=0===h.length?"[]":e?"[\n"+e+h.join(",\n"+e)+"\n"+f+"]":"["+h.join(",")+"]",e=f,l}if(q&&"object"==typeof q)for(k=q.length,g=0;g<k;g+=1)"string"==typeof q[g]&&(a=q[g],l=p(a,d),l&&h.push(r(a)+(e?": ":":")+l));else for(a in d)Object.prototype.hasOwnProperty.call(d,a)&&(l=p(a,d),l&&h.push(r(a)+(e?": ":":")+l));return l=0===h.length?"{}":e?"{\n"+e+h.join(",\n"+e)+"\n"+f+"}":
"{"+h.join(",")+"}",e=f,l}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(b){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+c(this.getUTCMonth()+1)+"-"+c(this.getUTCDate())+"T"+c(this.getUTCHours())+":"+c(this.getUTCMinutes())+":"+c(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(b){return this.valueOf()});var m=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
b=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e,n,f={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},q;"function"!=typeof JSON.stringify&&(JSON.stringify=function(b,c,f){var a;n=e="";if("number"==typeof f)for(a=0;a<f;a+=1)n+=" ";else"string"==typeof f&&(n=f);q=c;if(!c||"function"==typeof c||"object"==typeof c&&"number"==typeof c.length)return p("",{"":b});throw Error("JSON.stringify");});"function"!=
typeof JSON.parse&&(JSON.parse=function(b,e){function c(a,b){var d,h,k=a[b];if(k&&"object"==typeof k)for(d in k)Object.prototype.hasOwnProperty.call(k,d)&&(h=c(k,d),void 0!==h?k[d]=h:delete k[d]);return e.call(a,b,k)}var a;b=String(b);m.lastIndex=0;m.test(b)&&(b=b.replace(m,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(b.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return a=eval("("+b+")"),"function"==typeof e?c({"":a},""):a;throw new SyntaxError("JSON.parse");})})();
(function(c,r){var p=c.History=c.History||{},m=c.jQuery;if("undefined"!=typeof p.Adapter)throw Error("History.js Adapter has already been loaded...");p.Adapter={bind:function(b,e,c){m(b).bind(e,c)},trigger:function(b,e,c){m(b).trigger(e,c)},extractEventData:function(b,e,c){return e&&e.originalEvent&&e.originalEvent[b]||c&&c[b]||r},onDomLoad:function(b){m(b)}};"undefined"!=typeof p.init&&p.init()})(window);
(function(c,r){var p=c.document,m=c.setInterval||m,b=c.History=c.History||{};if("undefined"!=typeof b.initHtml4)throw Error("History.js HTML4 Support has already been loaded...");b.initHtml4=function(){if("undefined"!=typeof b.initHtml4.initialized)return!1;b.initHtml4.initialized=!0;b.enabled=!0;b.savedHashes=[];b.isLastHash=function(e){var c=b.getHashByIndex(),f;return f=e===c,f};b.isHashEqual=function(b,c){return b=encodeURIComponent(b).replace(/%25/g,"%"),c=encodeURIComponent(c).replace(/%25/g,
"%"),b===c};b.saveHash=function(e){return b.isLastHash(e)?!1:(b.savedHashes.push(e),!0)};b.getHashByIndex=function(e){var c=null;return"undefined"==typeof e?c=b.savedHashes[b.savedHashes.length-1]:0>e?c=b.savedHashes[b.savedHashes.length+e]:c=b.savedHashes[e],c};b.discardedHashes={};b.discardedStates={};b.discardState=function(e,c,f){var n=b.getHashByState(e),l;return l={discardedState:e,backState:f,forwardState:c},b.discardedStates[n]=l,!0};b.discardHash=function(e,c,f){return b.discardedHashes[e]=
{discardedHash:e,backState:f,forwardState:c},!0};b.discardedState=function(e){e=b.getHashByState(e);var c;return c=b.discardedStates[e]||!1,c};b.discardedHash=function(c){return b.discardedHashes[c]||!1};b.recycleState=function(c){var e=b.getHashByState(c);return b.discardedState(c)&&delete b.discardedStates[e],!0};b.emulated.hashChange&&(b.hashChangeInit=function(){b.checkerFunction=null;var e="",n,f,q,l=!!b.getHash();return b.isInternetExplorer()?(n=p.createElement("iframe"),n.setAttribute("id",
"historyjs-iframe"),n.setAttribute("src","#"),n.style.display="none",p.body.appendChild(n),n.contentWindow.document.open(),n.contentWindow.document.close(),f="",q=!1,b.checkerFunction=function(){if(q)return!1;q=!0;var g=b.getHash(),m=b.getHash(n.contentWindow.document);return g!==e?(e=g,m!==g&&(f=g,n.contentWindow.document.open(),n.contentWindow.document.close(),n.contentWindow.document.location.hash=b.escapeHash(g)),b.Adapter.trigger(c,"hashchange")):m!==f&&(f=m,l&&""===m?b.back():b.setHash(m,!1)),
q=!1,!0}):b.checkerFunction=function(){var g=b.getHash()||"";return g!==e&&(e=g,b.Adapter.trigger(c,"hashchange")),!0},b.intervalList.push(m(b.checkerFunction,b.options.hashChangeInterval)),!0},b.Adapter.onDomLoad(b.hashChangeInit));b.emulated.pushState&&(b.onHashChange=function(e){e=e&&e.newURL||b.getLocationHref();e=b.getHashByUrl(e);var n=null,f;return b.isLastHash(e)?(b.busy(!1),!1):(b.doubleCheckComplete(),b.saveHash(e),e&&b.isTraditionalAnchor(e)?(b.Adapter.trigger(c,"anchorchange"),b.busy(!1),
!1):(n=b.extractState(b.getFullUrl(e||b.getLocationHref()),!0),b.isLastSavedState(n)?(b.busy(!1),!1):(b.getHashByState(n),f=b.discardedState(n),f?(b.getHashByIndex(-2)===b.getHashByState(f.forwardState)?b.back(!1):b.forward(!1),!1):(b.pushState(n.data,n.title,encodeURI(n.url),!1),!0))))},b.Adapter.bind(c,"hashchange",b.onHashChange),b.pushState=function(e,n,f,m){f=encodeURI(f).replace(/%25/g,"%");if(b.getHashByUrl(f))throw Error("History.js does not support states with fragment-identifiers (hashes/anchors).");
if(!1!==m&&b.busy())return b.pushQueue({scope:b,callback:b.pushState,args:arguments,queue:m}),!1;b.busy(!0);var l=b.createStateObject(e,n,f),g=b.getHashByState(l),p=b.getState(!1);p=b.getHashByState(p);var a=b.getHash(),q=b.expectedStateId==l.id;return b.storeState(l),b.expectedStateId=l.id,b.recycleState(l),b.setTitle(l),g===p?(b.busy(!1),!1):(b.saveState(l),q||b.Adapter.trigger(c,"statechange"),!b.isHashEqual(g,a)&&!b.isHashEqual(g,b.getShortUrl(b.getLocationHref()))&&b.setHash(g,!1),b.busy(!1),
!0)},b.replaceState=function(e,m,f,p){f=encodeURI(f).replace(/%25/g,"%");if(b.getHashByUrl(f))throw Error("History.js does not support states with fragment-identifiers (hashes/anchors).");if(!1!==p&&b.busy())return b.pushQueue({scope:b,callback:b.replaceState,args:arguments,queue:p}),!1;b.busy(!0);var l=b.createStateObject(e,m,f),g=b.getHashByState(l),n=b.getState(!1),a=b.getHashByState(n),q=b.getStateByIndex(-2);return b.discardState(n,l,q),g===a?(b.storeState(l),b.expectedStateId=l.id,b.recycleState(l),
b.setTitle(l),b.saveState(l),b.Adapter.trigger(c,"statechange"),b.busy(!1)):b.pushState(l.data,l.title,l.url,!1),!0});b.emulated.pushState&&b.getHash()&&!b.emulated.hashChange&&b.Adapter.onDomLoad(function(){b.Adapter.trigger(c,"hashchange")})};"undefined"!=typeof b.init&&b.init()})(window);
(function(c,r){var p=c.console||r,m=c.document,b=c.navigator,e=!1,n=c.setTimeout,f=c.clearTimeout,q=c.setInterval,l=c.clearInterval,g=c.JSON,v=c.alert,a=c.History=c.History||{},t=c.history;try{e=c.sessionStorage,e.setItem("TEST","1"),e.removeItem("TEST")}catch(u){e=!1}g.stringify=g.stringify||g.encode;g.parse=g.parse||g.decode;if("undefined"!=typeof a.init)throw Error("History.js Core has already been loaded...");a.init=function(b){return"undefined"==typeof a.Adapter?!1:("undefined"!=typeof a.initCore&&
a.initCore(),"undefined"!=typeof a.initHtml4&&a.initHtml4(),!0)};a.initCore=function(u){if("undefined"!=typeof a.initCore.initialized)return!1;a.initCore.initialized=!0;a.options=a.options||{};a.options.hashChangeInterval=a.options.hashChangeInterval||100;a.options.safariPollInterval=a.options.safariPollInterval||500;a.options.doubleCheckInterval=a.options.doubleCheckInterval||500;a.options.disableSuid=a.options.disableSuid||!1;a.options.storeInterval=a.options.storeInterval||1E3;a.options.busyDelay=
a.options.busyDelay||250;a.options.debug=a.options.debug||!1;a.options.initialTitle=a.options.initialTitle||m.title;a.options.html4Mode=a.options.html4Mode||!1;a.options.delayInit=a.options.delayInit||!1;a.intervalList=[];a.clearAllIntervals=function(){var d,b=a.intervalList;if("undefined"!=typeof b&&null!==b){for(d=0;d<b.length;d++)l(b[d]);a.intervalList=null}};a.debug=function(){a.options.debug&&a.log.apply(a,arguments)};a.log=function(){var a="undefined"!=typeof p&&"undefined"!=typeof p.log&&"undefined"!=
typeof p.log.apply,b=m.getElementById("log"),k,c,e;a?(c=Array.prototype.slice.call(arguments),k=c.shift(),"undefined"!=typeof p.debug?p.debug.apply(p,[k,c]):p.log.apply(p,[k,c])):k="\n"+arguments[0]+"\n";c=1;for(e=arguments.length;c<e;++c){var f=arguments[c];if("object"==typeof f&&"undefined"!=typeof g)try{f=g.stringify(f)}catch(x){}k+="\n"+f+"\n"}return b?(b.value+=k+"\n-----\n",b.scrollTop=b.scrollHeight-b.clientHeight):a||v(k),!0};a.getInternetExplorerMajorVersion=function(){var d=a.getInternetExplorerMajorVersion;
if("undefined"!=typeof a.getInternetExplorerMajorVersion.cached)var b=a.getInternetExplorerMajorVersion.cached;else{b=3;for(var k=m.createElement("div"),c=k.getElementsByTagName("i");(k.innerHTML="\x3c!--[if gt IE "+ ++b+"]><i></i><![endif]--\x3e")&&c[0];);b=4<b?b:!1}return d.cached=b};a.isInternetExplorer=function(){return a.isInternetExplorer.cached="undefined"!=typeof a.isInternetExplorer.cached?a.isInternetExplorer.cached:!!a.getInternetExplorerMajorVersion()};a.options.html4Mode?a.emulated={pushState:!0,
hashChange:!0}:a.emulated={pushState:!(c.history&&c.history.pushState&&c.history.replaceState&&!/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i.test(b.userAgent)&&!/AppleWebKit\/5([0-2]|3[0-2])/i.test(b.userAgent)),hashChange:!(("onhashchange"in c||"onhashchange"in m)&&!(a.isInternetExplorer()&&8>a.getInternetExplorerMajorVersion()))};a.enabled=!a.emulated.pushState;a.bugs={setHash:!(a.emulated.pushState||"Apple Computer, Inc."!==b.vendor||!/AppleWebKit\/5([0-2]|3[0-3])/.test(b.userAgent)),safariPoll:!(a.emulated.pushState||
"Apple Computer, Inc."!==b.vendor||!/AppleWebKit\/5([0-2]|3[0-3])/.test(b.userAgent)),ieDoubleCheck:!!(a.isInternetExplorer()&&8>a.getInternetExplorerMajorVersion()),hashEscape:!!(a.isInternetExplorer()&&7>a.getInternetExplorerMajorVersion())};a.isEmptyObject=function(a){for(var d in a)if(a.hasOwnProperty(d))return!1;return!0};a.cloneObject=function(a){var d,b;return a?(d=g.stringify(a),b=g.parse(d)):b={},b};a.getRootUrl=function(){var a=m.location.protocol+"//"+(m.location.hostname||m.location.host);
m.location.port&&(a+=":"+m.location.port);return a+="/",a};a.getBaseHref=function(){var a=m.getElementsByTagName("base"),b=null,k="";return 1===a.length&&(b=a[0],k=b.href.replace(/[^\/]+$/,"")),k=k.replace(/\/+$/,""),k&&(k+="/"),k};a.getBaseUrl=function(){return a.getBaseHref()||a.getBasePageUrl()||a.getRootUrl()};a.getPageUrl=function(){var d;return d=((a.getState(!1,!1)||{}).url||a.getLocationHref()).replace(/\/+$/,"").replace(/[^\/]+$/,function(a,d,b){return/\./.test(a)?a:a+"/"}),d};a.getBasePageUrl=
function(){return a.getLocationHref().replace(/[#\?].*/,"").replace(/[^\/]+$/,function(a,b,k){return/[^\/]$/.test(a)?"":a}).replace(/\/+$/,"")+"/"};a.getFullUrl=function(d,b){var h=d,c=d.substring(0,1);return b="undefined"==typeof b?!0:b,/[a-z]+:\/\//.test(d)||("/"===c?h=a.getRootUrl()+d.replace(/^\/+/,""):"#"===c?h=a.getPageUrl().replace(/#.*/,"")+d:"?"===c?h=a.getPageUrl().replace(/[\?#].*/,"")+d:b?h=a.getBaseUrl()+d.replace(/^(\.\/)+/,""):h=a.getBasePageUrl()+d.replace(/^(\.\/)+/,"")),h.replace(/#$/,
"")};a.getShortUrl=function(d){var b=a.getBaseUrl(),k=a.getRootUrl();return a.emulated.pushState&&(d=d.replace(b,"")),d=d.replace(k,"/"),a.isTraditionalAnchor(d)&&(d="./"+d),d=d.replace(/^(\.\/)+/g,"./").replace(/#$/,""),d};a.getLocationHref=function(a){return a=a||m,a.URL===a.location.href?a.location.href:a.location.href===decodeURIComponent(a.URL)?a.URL:a.location.hash&&decodeURIComponent(a.location.href.replace(/^[^#]+/,""))===a.location.hash?a.location.href:-1==a.URL.indexOf("#")&&-1!=a.location.href.indexOf("#")?
a.location.href:a.URL||a.location.href};a.store={};a.idToState=a.idToState||{};a.stateToId=a.stateToId||{};a.urlToId=a.urlToId||{};a.storedStates=a.storedStates||[];a.savedStates=a.savedStates||[];a.normalizeStore=function(){a.store.idToState=a.store.idToState||{};a.store.urlToId=a.store.urlToId||{};a.store.stateToId=a.store.stateToId||{}};a.getState=function(d,b){"undefined"==typeof d&&(d=!0);"undefined"==typeof b&&(b=!0);var h=a.getLastSavedState();return!h&&b&&(h=a.createStateObject()),d&&(h=a.cloneObject(h),
h.url=h.cleanUrl||h.url),h};a.getIdByState=function(d){var b=a.extractId(d.url);if(!b){var c=a.getStateString(d);if("undefined"!=typeof a.stateToId[c])b=a.stateToId[c];else if("undefined"!=typeof a.store.stateToId[c])b=a.store.stateToId[c];else{for(;b=(new Date).getTime()+String(Math.random()).replace(/\D/g,""),"undefined"!=typeof a.idToState[b]||"undefined"!=typeof a.store.idToState[b];);a.stateToId[c]=b;a.idToState[b]=d}}return b};a.normalizeState=function(b){var d,c;b&&"object"==typeof b||(b={});
if("undefined"!=typeof b.normalized)return b;b.data&&"object"==typeof b.data||(b.data={});return d={},d.normalized=!0,d.title=b.title||"",d.url=a.getFullUrl(b.url?b.url:a.getLocationHref()),d.hash=a.getShortUrl(d.url),d.data=a.cloneObject(b.data),d.id=a.getIdByState(d),d.cleanUrl=d.url.replace(/\??&_suid.*/,""),d.url=d.cleanUrl,c=!a.isEmptyObject(d.data),(d.title||c)&&!0!==a.options.disableSuid&&(d.hash=a.getShortUrl(d.url).replace(/\??&_suid.*/,""),/\?/.test(d.hash)||(d.hash+="?"),d.hash+="&_suid="+
d.id),d.hashedUrl=a.getFullUrl(d.hash),(a.emulated.pushState||a.bugs.safariPoll)&&a.hasUrlDuplicate(d)&&(d.url=d.hashedUrl),d};a.createStateObject=function(b,c,k){b={data:b,title:c,url:k};return b=a.normalizeState(b),b};a.getStateById=function(b){b=String(b);return a.idToState[b]||a.store.idToState[b]||r};a.getStateString=function(b){var d,c,e;return d=a.normalizeState(b),c={data:d.data,title:b.title,url:b.url},e=g.stringify(c),e};a.getStateId=function(b){var d,c;return d=a.normalizeState(b),c=d.id,
c};a.getHashByState=function(b){var d,c;return d=a.normalizeState(b),c=d.hash,c};a.extractId=function(a){var b,d,c;return-1!=a.indexOf("#")?c=a.split("#")[0]:c=a,d=/(.*)&_suid=([0-9]+)$/.exec(c),b=d?String(d[2]||""):"",b||!1};a.isTraditionalAnchor=function(a){return!/[\/\?\.]/.test(a)};a.extractState=function(b,c){var d=null,e,h;return c=c||!1,e=a.extractId(b),e&&(d=a.getStateById(e)),d||(h=a.getFullUrl(b),e=a.getIdByUrl(h)||!1,e&&(d=a.getStateById(e)),!d&&c&&!a.isTraditionalAnchor(b)&&(d=a.createStateObject(null,
null,h))),d};a.getIdByUrl=function(b){return a.urlToId[b]||a.store.urlToId[b]||r};a.getLastSavedState=function(){return a.savedStates[a.savedStates.length-1]||r};a.getLastStoredState=function(){return a.storedStates[a.storedStates.length-1]||r};a.hasUrlDuplicate=function(b){var d=!1,c;return c=a.extractState(b.url),d=c&&c.id!==b.id,d};a.storeState=function(b){return a.urlToId[b.url]=b.id,a.storedStates.push(a.cloneObject(b)),b};a.isLastSavedState=function(b){var d=!1,c,e,f;return a.savedStates.length&&
(c=b.id,e=a.getLastSavedState(),f=e.id,d=c===f),d};a.saveState=function(b){return a.isLastSavedState(b)?!1:(a.savedStates.push(a.cloneObject(b)),!0)};a.getStateByIndex=function(b){var d=null;return"undefined"==typeof b?d=a.savedStates[a.savedStates.length-1]:0>b?d=a.savedStates[a.savedStates.length+b]:d=a.savedStates[b],d};a.getCurrentIndex=function(){var b=null;return 1>a.savedStates.length?b=0:b=a.savedStates.length-1,b};a.getHash=function(b){b=a.getLocationHref(b);var d;return d=a.getHashByUrl(b),
d};a.unescapeHash=function(b){b=a.normalizeHash(b);return b=decodeURIComponent(b),b};a.normalizeHash=function(a){return a.replace(/[^#]*#/,"").replace(/#.*/,"")};a.setHash=function(b,c){var d,e;return!1!==c&&a.busy()?(a.pushQueue({scope:a,callback:a.setHash,args:arguments,queue:c}),!1):(a.busy(!0),d=a.extractState(b,!0),d&&!a.emulated.pushState?a.pushState(d.data,d.title,d.url,!1):a.getHash()!==b&&(a.bugs.setHash?(e=a.getPageUrl(),a.pushState(null,null,e+"#"+b,!1)):m.location.hash=b),a)};a.escapeHash=
function(b){b=a.normalizeHash(b);return b=c.encodeURIComponent(b),a.bugs.hashEscape||(b=b.replace(/%21/g,"!").replace(/%26/g,"&").replace(/%3D/g,"=").replace(/%3F/g,"?")),b};a.getHashByUrl=function(b){b=String(b).replace(/([^#]*)#?([^#]*)#?(.*)/,"$2");return b=a.unescapeHash(b),b};a.setTitle=function(b){var d=b.title,c;d||(c=a.getStateByIndex(0),c&&c.url===b.url&&(d=c.title||a.options.initialTitle));try{m.getElementsByTagName("title")[0].innerHTML=d.replace("<","&lt;").replace(">","&gt;").replace(" & ",
" &amp; ")}catch(w){}return m.title=d,a};a.queues=[];a.busy=function(b){"undefined"!=typeof b?a.busy.flag=b:"undefined"==typeof a.busy.flag&&(a.busy.flag=!1);if(!a.busy.flag){f(a.busy.timeout);var d=function(){var b;if(!a.busy.flag)for(b=a.queues.length-1;0<=b;--b){var c=a.queues[b];0!==c.length&&(c=c.shift(),a.fireQueueItem(c),a.busy.timeout=n(d,a.options.busyDelay))}};a.busy.timeout=n(d,a.options.busyDelay)}return a.busy.flag};a.busy.flag=!1;a.fireQueueItem=function(b){return b.callback.apply(b.scope||
a,b.args||[])};a.pushQueue=function(b){return a.queues[b.queue||0]=a.queues[b.queue||0]||[],a.queues[b.queue||0].push(b),a};a.queue=function(b,c){return"function"==typeof b&&(b={callback:b}),"undefined"!=typeof c&&(b.queue=c),a.busy()?a.pushQueue(b):a.fireQueueItem(b),a};a.clearQueue=function(){return a.busy.flag=!1,a.queues=[],a};a.stateChanged=!1;a.doubleChecker=!1;a.doubleCheckComplete=function(){return a.stateChanged=!0,a.doubleCheckClear(),a};a.doubleCheckClear=function(){return a.doubleChecker&&
(f(a.doubleChecker),a.doubleChecker=!1),a};a.doubleCheck=function(b){return a.stateChanged=!1,a.doubleCheckClear(),a.bugs.ieDoubleCheck&&(a.doubleChecker=n(function(){return a.doubleCheckClear(),a.stateChanged||b(),!0},a.options.doubleCheckInterval)),a};a.safariStatePoll=function(){var b=a.extractState(a.getLocationHref());if(!a.isLastSavedState(b))return b||a.createStateObject(),a.Adapter.trigger(c,"popstate"),a};a.back=function(b){return!1!==b&&a.busy()?(a.pushQueue({scope:a,callback:a.back,args:arguments,
queue:b}),!1):(a.busy(!0),a.doubleCheck(function(){a.back(!1)}),t.go(-1),!0)};a.forward=function(b){return!1!==b&&a.busy()?(a.pushQueue({scope:a,callback:a.forward,args:arguments,queue:b}),!1):(a.busy(!0),a.doubleCheck(function(){a.forward(!1)}),t.go(1),!0)};a.go=function(b,c){var d;if(0<b)for(d=1;d<=b;++d)a.forward(c);else{if(!(0>b))throw Error("History.go: History.go requires a positive or negative integer passed.");for(d=-1;d>=b;--d)a.back(c)}return a};a.emulated.pushState?(u=function(){},a.pushState=
a.pushState||u,a.replaceState=a.replaceState||u):(a.onPopState=function(b,e){var d=!1,h=!1,f,g;return a.doubleCheckComplete(),f=a.getHash(),f?(g=a.extractState(f||a.getLocationHref(),!0),g?a.replaceState(g.data,g.title,g.url,!1):(a.Adapter.trigger(c,"anchorchange"),a.busy(!1)),a.expectedStateId=!1,!1):(d=a.Adapter.extractEventData("state",b,e)||!1,d?h=a.getStateById(d):a.expectedStateId?h=a.getStateById(a.expectedStateId):h=a.extractState(a.getLocationHref()),h||(h=a.createStateObject(null,null,a.getLocationHref())),
a.expectedStateId=!1,a.isLastSavedState(h)?(a.busy(!1),!1):(a.storeState(h),a.saveState(h),a.setTitle(h),a.Adapter.trigger(c,"statechange"),a.busy(!1),!0))},a.Adapter.bind(c,"popstate",a.onPopState),a.pushState=function(b,e,f,g){if(a.getHashByUrl(f)&&a.emulated.pushState)throw Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(!1!==g&&a.busy())return a.pushQueue({scope:a,callback:a.pushState,args:arguments,queue:g}),!1;a.busy(!0);var d=a.createStateObject(b,
e,f);return a.isLastSavedState(d)?a.busy(!1):(a.storeState(d),a.expectedStateId=d.id,t.pushState(d.id,d.title,d.url),a.Adapter.trigger(c,"popstate")),!0},a.replaceState=function(b,e,f,g){if(a.getHashByUrl(f)&&a.emulated.pushState)throw Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(!1!==g&&a.busy())return a.pushQueue({scope:a,callback:a.replaceState,args:arguments,queue:g}),!1;a.busy(!0);var d=a.createStateObject(b,e,f);return a.isLastSavedState(d)?a.busy(!1):
(a.storeState(d),a.expectedStateId=d.id,t.replaceState(d.id,d.title,d.url),a.Adapter.trigger(c,"popstate")),!0});if(e)try{a.store=g.parse(e.getItem("History.store"))||{}}catch(d){a.store={}}else a.store={};a.normalizeStore();a.Adapter.bind(c,"unload",a.clearAllIntervals);a.saveState(a.storeState(a.extractState(a.getLocationHref(),!0)));e&&(a.onUnload=function(){var b;try{var c=g.parse(e.getItem("History.store"))||{}}catch(k){c={}}c.idToState=c.idToState||{};c.urlToId=c.urlToId||{};c.stateToId=c.stateToId||
{};for(b in a.idToState)a.idToState.hasOwnProperty(b)&&(c.idToState[b]=a.idToState[b]);for(b in a.urlToId)a.urlToId.hasOwnProperty(b)&&(c.urlToId[b]=a.urlToId[b]);for(b in a.stateToId)a.stateToId.hasOwnProperty(b)&&(c.stateToId[b]=a.stateToId[b]);a.store=c;a.normalizeStore();c=g.stringify(c);try{e.setItem("History.store",c)}catch(k){if(k.code!==DOMException.QUOTA_EXCEEDED_ERR)throw k;e.length&&(e.removeItem("History.store"),e.setItem("History.store",c))}},a.intervalList.push(q(a.onUnload,a.options.storeInterval)),
a.Adapter.bind(c,"beforeunload",a.onUnload),a.Adapter.bind(c,"unload",a.onUnload));a.emulated.pushState||(a.bugs.safariPoll&&a.intervalList.push(q(a.safariStatePoll,a.options.safariPollInterval)),"Apple Computer, Inc."!==b.vendor&&"Mozilla"!==(b.appCodeName||""))||(a.Adapter.bind(c,"hashchange",function(){a.Adapter.trigger(c,"popstate")}),a.getHash()&&a.Adapter.onDomLoad(function(){a.Adapter.trigger(c,"hashchange")}))};a.options&&a.options.delayInit||a.init()})(window);