var babelHelpers={};babelHelpers.typeof="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol?"symbol":typeof a};
babelHelpers.jsx=function(){var a="function"===typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;return function(b,c,d,e){var f=b&&b.defaultProps,h=arguments.length-3;c||0===h||(c={});if(c&&f)for(var g in f)void 0===c[g]&&(c[g]=f[g]);else c||(c=f||{});if(1===h)c.children=e;else if(1<h){f=Array(h);for(g=0;g<h;g++)f[g]=arguments[g+3];c.children=f}return{$$typeof:a,type:b,key:void 0===d?null:""+d,ref:null,props:c,_owner:null}}}();
babelHelpers.asyncToGenerator=function(a){return function(){var b=a.apply(this,arguments);return new Promise(function(a,d){function e(f,h){try{var g=b[f](h),k=g.value}catch(l){d(l);return}if(g.done)a(k);else return Promise.resolve(k).then(function(a){return e("next",a)},function(a){return e("throw",a)})}return e("next")})}};babelHelpers.classCallCheck=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");};
babelHelpers.createClass=function(){function a(a,c){for(var d=0;d<c.length;d++){var e=c[d];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}();babelHelpers.defineEnumerableProperties=function(a,b){for(var c in b){var d=b[c];d.configurable=d.enumerable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,c,d)}return a};
babelHelpers.defaults=function(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f&&f.configurable&&void 0===a[e]&&Object.defineProperty(a,e,f)}return a};babelHelpers.defineProperty=function(a,b,c){b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c;return a};
babelHelpers.extends=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],d;for(d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a};babelHelpers.get=function get(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e)return b=Object.getPrototypeOf(b),null===b?void 0:get(b,c,d);if("value"in e)return e.value;c=e.get;return void 0===c?void 0:c.call(d)};
babelHelpers.inherits=function(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)};babelHelpers.instanceof=function(a,b){return null!=b&&"undefined"!==typeof Symbol&&b[Symbol.hasInstance]?b[Symbol.hasInstance](a):a instanceof b};
babelHelpers.interopRequireDefault=function(a){return a&&a.__esModule?a:{default:a}};babelHelpers.interopRequireWildcard=function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);b.default=a;return b};babelHelpers.newArrowCheck=function(a,b){if(a!==b)throw new TypeError("Cannot instantiate an arrow function");};babelHelpers.objectDestructuringEmpty=function(a){if(null==a)throw new TypeError("Cannot destructure undefined");};
babelHelpers.objectWithoutProperties=function(a,b){var c={},d;for(d in a)0<=b.indexOf(d)||Object.prototype.hasOwnProperty.call(a,d)&&(c[d]=a[d]);return c};babelHelpers.possibleConstructorReturn=function(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!==typeof b&&"function"!==typeof b?a:b};babelHelpers.selfGlobal="undefined"===typeof global?self:global;
babelHelpers.set=function set(b,c,d,e){var f=Object.getOwnPropertyDescriptor(b,c);void 0===f?(b=Object.getPrototypeOf(b),null!==b&&set(b,c,d,e)):"value"in f&&f.writable?f.value=d:(c=f.set,void 0!==c&&c.call(e,d));return d};
babelHelpers.slicedToArray=function(){return function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var h=a[Symbol.iterator](),g;!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(k){e=!0,f=k}finally{try{if(!d&&h["return"])h["return"]()}finally{if(e)throw f;}}return c}throw new TypeError("Invalid attempt to destructure non-iterable instance");}}();
babelHelpers.slicedToArrayLoose=function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a)){for(var c=[],d=a[Symbol.iterator](),e;!(e=d.next()).done&&(c.push(e.value),!b||c.length!==b););return c}throw new TypeError("Invalid attempt to destructure non-iterable instance");};babelHelpers.taggedTemplateLiteral=function(a,b){return Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))};babelHelpers.taggedTemplateLiteralLoose=function(a,b){a.raw=b;return a};
babelHelpers.temporalRef=function(a,b,c){if(a===c)throw new ReferenceError(b+" is not defined - temporal dead zone");return a};babelHelpers.temporalUndefined={};babelHelpers.toArray=function(a){return Array.isArray(a)?a:Array.mtFrom(a)};babelHelpers.toConsumableArray=function(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}return Array.mtFrom(a)};babelHelpers;var __registerModule;(function(){function g(d,b){var a;if("/"===b.charAt(0))a=b;else{a=d.split("/");var e=b.split("/");a.pop();for(var c=0;c<e.length;c++)"."!==e[c]&&(".."===e[c]?a.pop():a.push(e[c]));a=a.join("/")}return f[a]}var f={};__registerModule=function(d,b){b(g.bind(null,d),f[d]={},null)}})();(function(){this.MooTools={version:"1.4.5",build:"ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0"};var f=this.typeOf=function(a){if(null==a)return"null";if(null!=a.$family)return a.$family();if(a.nodeName){if(1==a.nodeType)return"element";if(3==a.nodeType)return/\S/.test(a.nodeValue)?"textnode":"whitespace"}else if("number"==typeof a.length){if(a.callee)return"arguments";if("item"in a)return"collection"}return typeof a};this.instanceOf=function(a,b){if(null==a)return!1;for(var c=a.$constructor||a.constructor;c;){if(c===
b)return!0;c=c.parent}return a instanceof b};var g=this.Function,l=!0,w;for(w in{toString:1})l=null;l&&(l="hasOwnProperty valueOf isPrototypeOf propertyIsEnumerable toLocaleString toString constructor".split(" "));g.prototype.overloadSetter=function(a){var b=this;return function(c,d){if(null==c)return this;if(a||"string"!=typeof c){for(var e in c)b.call(this,e,c[e]);if(l)for(var h=l.length;h--;)e=l[h],c.hasOwnProperty(e)&&b.call(this,e,c[e])}else b.call(this,c,d);return this}};g.prototype.overloadGetter=
function(a){var b=this;return function(c){var d,e;"string"!=typeof c?d=c:1<arguments.length?d=arguments:a&&(d=[c]);if(d){e={};for(var h=0;h<d.length;h++)e[d[h]]=b.call(this,d[h])}else e=b.call(this,c);return e}};g.prototype.extend=function(a,b){this[a]=b}.overloadSetter();g.prototype.implement=function(a,b){this.prototype[a]=b}.overloadSetter();var p=Array.prototype.slice;g.from=function(a){return"function"==f(a)?a:function(){return a}};Array.mtFrom=function(a){return null==a?[]:k.isEnumerable(a)&&
"string"!=typeof a?"array"==f(a)?a:p.call(a):[a]};Number.from=function(a){a=parseFloat(a);return isFinite(a)?a:null};String.from=function(a){return a+""};g.implement({hide:function(){this.$hidden=!0;return this},protect:function(){this.$protected=!0;return this}});var k=this.Type=function(a,b){if(a){var c=a.toLowerCase();k["is"+a]=function(a){return f(a)==c};null!=b&&(b.prototype.$family=function(){return c}.hide())}if(null==b)return null;b.extend(this);b.$constructor=k;return b.prototype.$constructor=
b},x=Object.prototype.toString;k.isEnumerable=function(a){return null!=a&&"number"==typeof a.length&&"[object Function]"!=x.call(a)};var q={},r=function(a){a=f(a.prototype);return q[a]||(q[a]=[])},m=function(a,b){if(!b||!b.$hidden){for(var c=r(this),d=0;d<c.length;d++){var e=c[d];"type"==f(e)?m.call(e,a,b):e.call(this,a,b)}c=this.prototype[a];null!=c&&c.$protected||(this.prototype[a]=b);null==this[a]&&"function"==f(b)&&n.call(this,a,function(a){return b.apply(a,p.call(arguments,1))})}},n=function(a,
b){if(!b||!b.$hidden){var c=this[a];null!=c&&c.$protected||(this[a]=b)}};k.implement({implement:m.overloadSetter(),extend:n.overloadSetter(),alias:function(a,b){m.call(this,a,this.prototype[b])}.overloadSetter(),mirror:function(a){r(this).push(a);return this}});new k("Type",k);var t=function(a,b,c){var d=b!=Object,e=b.prototype;d&&(b=new k(a,b));a=0;for(var h=c.length;a<h;a++){var f=c[a],g=b[f],l=e[f];g&&g.protect();d&&l&&b.implement(f,l.protect())}if(d){var m=e.propertyIsEnumerable(c[0]);b.forEachMethod=
function(a){if(!m)for(var b=0,d=c.length;b<d;b++)a.call(e,e[c[b]],c[b]);for(var f in e)a.call(e,e[f],f)}}return t};t("String",String,"charAt charCodeAt concat indexOf lastIndexOf match quote replace search slice split substr substring trim toLowerCase toUpperCase".split(" "))("Array",Array,"pop push reverse shift sort splice unshift concat join slice indexOf lastIndexOf filter forEach every map some reduce reduceRight".split(" "))("Number",Number,["toExponential","toFixed","toLocaleString","toPrecision"])("Function",
g,["apply","call","bind"])("RegExp",RegExp,["exec","test"])("Object",Object,"create defineProperty defineProperties keys getPrototypeOf getOwnPropertyDescriptor getOwnPropertyNames preventExtensions isExtensible seal isSealed freeze isFrozen".split(" "))("Date",Date,["now"]);Object.extend=n.overloadSetter();Date.extend("now",function(){return+new Date});new k("Boolean",Boolean);Number.prototype.$family=function(){return isFinite(this)?"number":"null"}.hide();Number.extend("random",function(a,b){return Math.floor(Math.random()*
(b-a+1)+a)});var y=Object.prototype.hasOwnProperty;Object.extend("forEach",function(a,b,c){for(var d in a)y.call(a,d)&&b.call(c,a[d],d,a)});Object.each=Object.forEach;Array.implement({each:function(a,b){Array.forEach(this,a,b);return this}});var u=function(a){switch(f(a)){case "array":return a.clone();case "object":return Object.clone(a);default:return a}};Array.implement("clone",function(){for(var a=this.length,b=Array(a);a--;)b[a]=u(this[a]);return b});var v=function(a,b,c){switch(f(c)){case "object":"object"==
f(a[b])?Object.merge(a[b],c):a[b]=Object.clone(c);break;case "array":a[b]=c.clone();break;default:a[b]=c}return a};Object.extend({merge:function(a,b,c){if("string"==f(b))return v(a,b,c);for(var d=1,e=arguments.length;d<e;d++){var h=arguments[d],g;for(g in h)v(a,g,h[g])}return a},clone:function(a){var b={},c;for(c in a)b[c]=u(a[c]);return b},append:function(a){for(var b=1,c=arguments.length;b<c;b++){var d=arguments[b]||{},e;for(e in d)a[e]=d[e]}return a}});["Object","WhiteSpace","TextNode","Collection",
"Arguments"].each(function(a){new k(a)});var z=Date.now();String.extend("uniqueID",function(){return(z++).toString(36)})})();Array.implement({clean:function(){return this.filter(function(a){return null!=a})},invoke:function(a){var b=Array.slice(arguments,1);return this.map(function(c){return c[a].apply(c,b)})},associate:function(a){for(var b={},c=Math.min(this.length,a.length),d=0;d<c;d++)b[a[d]]=this[d];return b},link:function(a){for(var b={},c=0,d=this.length;c<d;c++)for(var e in a)if(a[e](this[c])){b[e]=this[c];delete a[e];break}return b},contains:function(a,b){return-1!=this.indexOf(a,b)},append:function(a){this.push.apply(this,
a);return this},getLast:function(){return this.length?this[this.length-1]:null},getRandom:function(){return this.length?this[Number.random(0,this.length-1)]:null},include:function(a){this.contains(a)||this.push(a);return this},combine:function(a){for(var b=0,c=a.length;b<c;b++)this.include(a[b]);return this},erase:function(a){for(var b=this.length;b--;)this[b]===a&&this.splice(b,1);return this},empty:function(){this.length=0;return this},flatten:function(){for(var a=[],b=0,c=this.length;b<c;b++){var d=
typeOf(this[b]);"null"!=d&&(a=a.concat("array"==d||"collection"==d||"arguments"==d||instanceOf(this[b],Array)?Array.flatten(this[b]):this[b]))}return a},pick:function(){for(var a=0,b=this.length;a<b;a++)if(null!=this[a])return this[a];return null},hexToRgb:function(a){if(3!=this.length)return null;var b=this.map(function(a){1==a.length&&(a+=a);return a.toInt(16)});return a?b:"rgb("+b+")"},rgbToHex:function(a){if(3>this.length)return null;if(4==this.length&&0==this[3]&&!a)return"transparent";for(var b=
[],c=0;3>c;c++){var d=(this[c]-0).toString(16);b.push(1==d.length?"0"+d:d)}return a?b:"#"+b.join("")}});String.implement({test:function(b,a){return("regexp"==typeOf(b)?b:new RegExp(""+b,a)).test(this)},contains:function(b,a){return a?-1<(a+this+a).indexOf(a+b+a):-1<String(this).indexOf(b)},clean:function(){return String(this).replace(/\s+/g," ").trim()},camelCase:function(){return String(this).replace(/-\D/g,function(b){return b.charAt(1).toUpperCase()})},hyphenate:function(){return String(this).replace(/[A-Z]/g,function(b){return"-"+b.charAt(0).toLowerCase()})},capitalize:function(){return String(this).replace(/\b[a-z]/g,
function(b){return b.toUpperCase()})},escapeRegExp:function(){return String(this).replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},toInt:function(b){return parseInt(this,b||10)},toFloat:function(){return parseFloat(this)},hexToRgb:function(b){var a=String(this).match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return a?a.slice(1).hexToRgb(b):null},rgbToHex:function(b){var a=String(this).match(/\d{1,3}/g);return a?a.rgbToHex(b):null},substitute:function(b,a){"singleCurlies"===a?a=/\\?\{([^{}]+)\}/g:a||(a=/\\?\{\{([^{}]+)\}\}/g);
return String(this).replace(a,function(a,c){return"\\"==a.charAt(0)?a.slice(1):null!=b[c]?b[c]:""})}});Function.extend({attempt:function(){for(var a=0,b=arguments.length;a<b;a++)try{return arguments[a]()}catch(c){}return null}});Function.implement({attempt:function(a,b){try{return this.apply(b,Array.mtFrom(a))}catch(c){}return null},pass:function(a,b){var c=this;null!=a&&(a=Array.mtFrom(a));return function(){return c.apply(b,a||arguments)}},delay:function(a,b,c){return setTimeout(this.pass(null==c?[]:c,b),a)},periodical:function(a,b,c){return setInterval(this.pass(null==c?[]:c,b),a)}});Number.implement({limit:function(a,b){return Math.min(b,Math.max(a,this))},round:function(a){a=Math.pow(10,a||0).toFixed(0>a?-a:0);return Math.round(this*a)/a},times:function(a,b){for(var c=0;c<this;c++)a.call(b,c,this)},toFloat:function(){return parseFloat(this)},toInt:function(a){return parseInt(this,a||10)}});Number.alias("each","times");(function(a){var b={};a.each(function(a){Number[a]||(b[a]=function(){return Math[a].apply(null,[this].concat(Array.mtFrom(arguments)))})});Number.implement(b)})("abs acos asin atan atan2 ceil cos exp floor log max min pow sin sqrt tan".split(" "));(function(){var d=this.Class=new Type("Class",function(a){instanceOf(a,Function)&&(a={initialize:a});var b=function(){e(this);if(b.$prototyping)return this;this.$caller=null;var a=this.initialize?this.initialize.apply(this,arguments):this;this.$caller=this.caller=null;return a}.extend(this).implement(a);b.$constructor=d;b.prototype.$constructor=b;b.prototype.parent=g;return b}),g=function(){if(!this.$caller)throw Error('The method "parent" cannot be called.');var a=this.$caller.$name,b=this.$caller.$owner.parent,
b=b?b.prototype[a]:null;if(!b)throw Error('The method "'+a+'" has no parent.');return b.apply(this,arguments)},e=function(a){for(var b in a){var c=a[b];switch(typeOf(c)){case "object":var d=function(){};d.prototype=c;a[b]=e(new d);break;case "array":a[b]=c.clone()}}return a},h=function(a,b,c){c.$origin&&(c=c.$origin);var d=function(){if(c.$protected&&null==this.$caller)throw Error('The method "'+b+'" cannot be called.');var a=this.caller,e=this.$caller;this.caller=e;this.$caller=d;var f=c.apply(this,
arguments);this.$caller=e;this.caller=a;return f}.extend({$owner:a,$origin:c,$name:b});return d},f=function(a,b,c){if(d.Mutators.hasOwnProperty(a)&&(b=d.Mutators[a].call(this,b),null==b))return this;if("function"==typeOf(b)){if(b.$hidden)return this;this.prototype[a]=c?b:h(this,a,b)}else Object.merge(this.prototype,a,b);return this};d.implement("implement",f.overloadSetter());d.Mutators={Extends:function(a){this.parent=a;a.$prototyping=!0;var b=new a;delete a.$prototyping;this.prototype=b},Implements:function(a){Array.mtFrom(a).each(function(b){b=
new b;for(var a in b)f.call(this,a,b[a],!0)},this)}}})();(function(){this.Chain=new Class({$chain:[],chain:function(){this.$chain.append(Array.flatten(arguments));return this},callChain:function(){return this.$chain.length?this.$chain.shift().apply(this,arguments):!1},clearChain:function(){this.$chain.empty();return this}});var e=function(a){return a.replace(/^on([A-Z])/,function(a,c){return c.toLowerCase()})};this.Events=new Class({$events:{},addEvent:function(a,b,c){a=e(a);this.$events[a]=(this.$events[a]||[]).include(b);c&&(b.internal=!0);return this},
addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},fireEvent:function(a,b,c){a=e(a);a=this.$events[a];if(!a)return this;b=Array.mtFrom(b);a.each(function(a){c?a.delay(c,this,b):a.apply(this,b)},this);return this},removeEvent:function(a,b){a=e(a);var c=this.$events[a];if(c&&!b.internal){var d=c.indexOf(b);-1!=d&&delete c[d]}return this},removeEvents:function(a){var b;if("object"==typeOf(a)){for(b in a)this.removeEvent(b,a[b]);return this}a&&(a=e(a));for(b in this.$events)if(!a||
a==b)for(var c=this.$events[b],d=c.length;d--;)d in c&&this.removeEvent(b,c[d]);return this}});this.Options=new Class({setOptions:function(){var a=this.options=Object.merge.apply(null,[{},this.options].append(arguments));if(this.addEvent)for(var b in a)"function"==typeOf(a[b])&&/^on[A-Z]/.test(b)&&(this.addEvent(b,a[b]),delete a[b]);return this}})})();(function(){var g=Object.prototype.hasOwnProperty;Object.extend({subset:function(a,c){for(var b={},e=0,d=c.length;e<d;e++){var f=c[e];f in a&&(b[f]=a[f])}return b},map:function(a,c,b){var e={},d;for(d in a)g.call(a,d)&&(e[d]=c.call(b,a[d],d,a));return e},filter:function(a,c,b){var e={},d;for(d in a){var f=a[d];g.call(a,d)&&c.call(b,f,d,a)&&(e[d]=f)}return e},every:function(a,c,b){for(var e in a)if(g.call(a,e)&&!c.call(b,a[e],e))return!1;return!0},some:function(a,c,b){for(var e in a)if(g.call(a,e)&&
c.call(b,a[e],e))return!0;return!1},mtValues:function(a){var c=[],b;for(b in a)g.call(a,b)&&c.push(a[b]);return c},getLength:function(a){return Object.keys(a).length},keyOf:function(a,c){for(var b in a)if(g.call(a,b)&&a[b]===c)return b;return null},contains:function(a,c){return null!=Object.keyOf(a,c)},toQueryString:function(a,c){var b=[];Object.each(a,function(a,d){c&&(d=c+"["+d+"]");var f;switch(typeOf(a)){case "object":f=Object.toQueryString(a,d);break;case "array":var g={};a.each(function(a,b){g[b]=
a});f=Object.toQueryString(g,d);break;default:f=d+"\x3d"+encodeURIComponent(a)}null!=a&&b.push(f)});return b.join("\x26")}})})();(function(){var d=function(a){return null!=a},e=Object.prototype.hasOwnProperty;Object.extend({getFromPath:function(a,b){"string"==typeof b&&(b=b.split("."));for(var c=0,d=b.length;c<d;c++)if(e.call(a,b[c]))a=a[b[c]];else return null;return a},cleanValues:function(a,b){b=b||d;for(var c in a)b(a[c])||delete a[c];return a},erase:function(a,b){e.call(a,b)&&delete a[b];return a},run:function(a){var b=Array.slice(arguments,1),c;for(c in a)a[c].apply&&a[c].apply(a,b);return a}})})();(function(){var e=null,g={},k=function(a){return instanceOf(a,h.Set)?a:g[a]},h=this.Locale={define:function(a,c,d,b){var f;instanceOf(a,h.Set)?(f=a.name)&&(g[f]=a):(f=a,g[f]||(g[f]=new h.Set(f)),a=g[f]);c&&a.define(c,d,b);e||(e=a);return a},use:function(a){if(a=k(a))e=a,this.fireEvent("change",a);return this},getCurrent:function(){return e},get:function(a,c){return e?e.get(a,c):""},inherit:function(a,c,d){(a=k(a))&&a.inherit(c,d);return this},list:function(){return Object.keys(g)}};Object.append(h,
new Events);h.Set=new Class({sets:{},inherits:{locales:[],sets:{}},initialize:function(a){this.name=a||""},define:function(a,c,d){var b=this.sets[a];b||(b={});c&&("object"==typeOf(c)?b=Object.merge(b,c):b[c]=d);this.sets[a]=b;return this},get:function(a,c,d){var b=Object.getFromPath(this.sets,a);if(null!=b)return a=typeOf(b),"function"==a?b=b.apply(null,Array.mtFrom(c)):"object"==a&&(b=Object.clone(b)),b;var b=a.indexOf("."),b=0>b?a:a.substr(0,b),f=(this.inherits.sets[b]||[]).combine(this.inherits.locales).include("en-US");
d||(d=[]);for(var e=0,h=f.length;e<h;e++)if(!d.contains(f[e])&&(d.include(f[e]),b=g[f[e]])&&(b=b.get(a,c,d),null!=b))return b;return""},inherit:function(a,c){a=Array.mtFrom(a);c&&!this.inherits.sets[c]&&(this.inherits.sets[c]=[]);for(var d=a.length;d--;)(c?this.inherits.sets[c]:this.inherits.locales).unshift(a[d]);return this}})})();__registerModule("/nz/co/airnz/vbook/text/vbook.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"airpoints.costpanel.title":"Airpoints Payment","ajax.requestfailed":"Request failed, please try again.","common.example":"e.g",cancel:"Cancel","cash.costpanel.title":"NZD Payment",close:"Close","common.info":"Info","common.nextstep":"Next Step","costpanel.fairconditions.link":"Fare conditions","costpanel.item.cardpaymentfee":"Card payment fee","costpanel.item.carbonoffset":"Carbon offset",
"costpanel.item.flexibility":"Flexibility","costpanel.item.skycouch":"Skycouch","costpanel.item.totalinsurance":"Insurance","costpanel.item.unaccompaniedminor":"Child travelling alone fee","costpanel.item.PROMO_CODE_DISCOUNT":'Your \x3ca href\x3d"farediscount" class\x3d"newWindow"\x3epromo code\x3c/a\x3e saved',"costpanel.item.PROMO_CODE_NO_DISCOUNT":'\x3ca href\x3d"farediscount" class\x3d"newWindow"\x3ePromo code\x3c/a\x3e discount applied',"mobi.costpanel.item.PROMO_CODE_DISCOUNT":'Your \x3ca id\x3d"farediscount-info" href\x3d"#"\x3epromo code\x3c/a\x3e saved',
"costpanel.item.vehicledeposit":"Car (deposit)","costpanel.item.seats":"Seat Select","costpanel.item.DISCOUNT_CARD_DISCOUNT":"Your Starfish discount saved","costpanel.item.LOOKUP_DISCOUNT":"Government\x3cbr/\x3ediscount saved","costpanel.item.FDT_DISCOUNT":"Your discount saved","costpanel.title.flightcost":"Total Cost","costpanel.title.totalcost":"Total Cost","costpanel.travelinsurance.add":"Add","costpanel.cardpaymentfee.popup.td":"This fee will be removed if you pay by internet banking (POLi) or Travelcard.",
"costpanel.cardpaymentfee.popup.td.onesmart":"This fee will be removed if you pay by internet banking (POLi), Travelcard or OneSmart.","costpanel.cardpaymentfee.popup.td.zerodollars":"This fee is only charged for bookings paid by charge, credit or debit card.","costpanel.cardpaymentfee.popup.pt":"This fee is not charged for bookings paid by internet banking (POLi), Travelcard or Airpoints Dollars.","costpanel.cardpaymentfee.popup.pt.onesmart":"This fee is not charged for bookings paid by internet banking (POLi), Travelcard, OneSmart or Airpoints Dollars.",
"costpanel.cardpaymentfee.popup.pt.zerodollars":"This fee is only charged for bookings paid by charge, credit or debit card.","createitinerary.arrives":"Arrives","createitinerary.departs":"Departs","createitinerary.duration":"Duration","createitinerary.form.aria":"Itinerary Options. JAWS users, flight options are contained in a table for each journey leg. Use table navigation to browse these options.","createitinerary.prepaid.one.bag":"You've added 1 Extra Bag.","createitinerary.prepaid.bags":"You've added {{numberOfBagsAdded}} Extra Bags.",
"createitinerary.prepaid.one.bag.upsell.title":'\x3cspan class\x3d"baggage-fare-info"\x3eYou\'ve added 1 Extra Bag.\x3c/span\x3e\x3cbr /\x3e',"createitinerary.prepaid.bags.upsell.title":'\x3cspan class\x3d"baggage-fare-info"\x3eYou\'ve added {{numberOfBagsAdded}} Extra Bags.\x3c/span\x3e\x3cbr /\x3e',"createitinerary.prepaid.add.another":"Add another bag","createitinerary.prepaid.popup.none":"no extra bags","createitinerary.prepaid.popup.one.bag":"1 extra bag (23kg) - {{cost}}","createitinerary.prepaid.popup.bags":"{{bagCount}} extra bags (23kg each) - {{cost}}",
"vbook.selectitinerary.atpco.warning":"","createitinerary.mixfarelabel.text":"Select different\x3cbr /\x3efares for different\x3cbr /\x3epassengers","createitinerary.mixfare.button.label":"Select different fares for different passengers","createitinerary.so":"Sold out","createitinerary.so.domestic":"Other fares available","createitinerary.order1":"Price","createitinerary.order2":"Departure time","createitinerary.order3":"Arrival time","createitinerary.order4":"Stops","createitinerary.order5":"Duration",
"createitinerary.order6":"Operating airline","createitinerary.originanddestheader":"{{date}}","createitinerary.pickmixtopmsg":'Choose the product types that best suit each traveller\'s needs.\x3cbr/\x3ee.g. 1 Seat, 1 Seat + Bag etc. \x3ca href\x3d"http://www.airnewzealand.co.nz/the-choice-is-all-yours" class\x3d"newWindow wspec_wide" data-rel\x3d"faretypes_info"\x3eLearn more about each product\x3c/a\x3e.',"vbook.button.continue.extras":"View extras","vbook.aria.label.submission.navigation":"Go to next booking step",
"creditCardDeclinedFinal.error.message":"The system cannot complete your booking as card authorisation has been declined three times.\x3cbr/\x3eFor security reasons this session will now end. Please contact the card issuer.","creditCardDeclinedFinal.error.message.description":"For security reasons your session has been expired.","creditCardDeclinedFinal.error.message.details":"The system cannot complete your booking as card authorisation has been declined three times.\x3cbr/\x3eFor security reasons this session will now end. Please contact the card issuer.",
"creditCardDeclinedFinal.error.message.title":"Session Expired","creditCardDeclinedFinal.error.message.startover":"Continue","discountcard.applied.description.starfish":"\x3cstrong\x3eDiscounted\x3c/strong\x3e fares are shown below.\x3cbr/\x3eIf {{memberName}} is not a traveller in this booking \x3ca href\x3d\x26#39;{{linkUrl}}\x26#39; \x3eshow non-discounted fares.\x3c/a\x3e","discountcard.notapplied.description.starfish":"\x3cstrong\x3eNon-discounted\x3c/strong\x3e fares are shown below.\x3cbr/\x3eIf {{memberName}} is a traveller in this booking \x3ca href\x3d\x26#39;{{linkUrl}}\x26#39; \x3eshow discounted fares.\x3c/a\x3e",
"discountcard.notes.starfish":"Please note: Starfish discounts are not shown in the calendar search","calendar.outbound.header":"Departure date","calendar.inbound.header":"Return date","header.loginair.airpoints.enjoypartnerbenefits":"enjoy Elite benefits","header.loginair.airpoints.airpointsbalancelabel":"Available Balance with Airpoints Advance","header.loginair.airpoints.airpointsdollarslabel":"Airpoints Dollars","header.loginair.airpoints.shairpointsgrouplabel":"Shairpoints Group","header.loginair.airpoints.shairpointsgroup.airpointsdollarslabel":"Shairpoints Balance",
"loginair.airpoints.tier.J":"Airpoints","loginair.airpoints.tier.S":"Silver","loginair.airpoints.tier.G":"Gold","loginair.airpoints.tier.E":"Elite","pattern.hud.datetime.full":"EEEE dd MMMM yyyy '[TIME]'","link.promocodeinfo":'Your \x3ca href\x3d"farediscount" class\x3d"newWindow wspec_large" data-rel\x3d"farediscount"\x3epromo code\x3c/a\x3e saved',"loading.msg":"Just a moment","popup.header.validation":"Oops!","popup.msg.continueregular.default":"Use this button to continue with payment.","product.GS.name":"grabaseat",
"product.GB.name":"grabaseat + bag","product.SS.name":"Smart Saver","product.FP.name":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3edate\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi date\x3c/span\x3e',"product.DS.name":"Seat","product.DB.name":"Seat + Bag","product.DC.name":"flexitime","product.DF.name":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3edate\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi date\x3c/span\x3e',"product.JS.name":"Seat","product.SB.name":"Seat + Bag",
"product.WK.name":"The Works","product.GA.name":"Getaway","product.FD.name":"Freedom","product.WK.CHD.name":"Kids Works","product.WD.name":"Works Deluxe","product.WD.CHD.name":"Kids Works Deluxe","product.SES.name":"Economy Saver","product.SEF.name":"Economy Flexi","product.SE.name":"Economy","product.PE.name":"Premium Economy","product.ES.name":"Economy Saver","product.EF.name":"Economy Flexi","product.LE.name":"Economy","product.LPE.name":"Premium Economy","product.LBS.name":"Business","product.LBP.name":"Business Premier",
"product.BS.name":"Business","product.BSS.name":"Business Saver","purchasetickets.airpoints.label.seats":"Seat Select","purchasetickets.airpoints.label.bags":"All selected bags","purchasetickets.airpoints.label.skycouch":"Skycouch","purchasetickets.airpoints.label.unaccompaniedminor":"Child travelling alone fee","purchasetickets.payment.poli.asbnetcode.limit.below":"\x3cspan\x3ePlease note:\x3c/span\x3e if there have been other payments from your ASB account today then this payment may exceed the bank's $500 daily limit. This means you may need to be registered for ASB Netcode before completing this POLi payment. If requested, please do not authorise the payment by phoning the bank - your booking can only be confirmed when you use Netcode.",
"purchasetickets.payment.poli.asbnetcode.limit.exceeded":"\x3cspan\x3ePlease note:\x3c/span\x3e because this payment is greater than ASB Bank's $500 daily limit, you must be registered for ASB Netcode before completing this POLi payment. Do not authorise the payment by phoning the bank - your booking can only be confirmed when you use Netcode.","vbook.purchasetickets.title":"Review and pay","search.depart.from":"From","search.multicity.delete":"Delete this flight","search.multicity.surface.title":"Click to change to surface transport",
"search.multicity.flight.title":"Click to change to flight","search.multicity.key.start":"Click on the map to\nchoose your starting\npoint","search.multicity.key.next":"Next, click to choose\neach stop in your\nitinerary.","search.multicity.key.remove":"Remove last selection","search.multicity.key.click":"Click line on map to","search.multicity.key.click.two":"change journey type.","search.multicity.key.flight":"FLIGHT","search.multicity.key.surface":"SURFACE","search.multicity.key.journey":"JOURNEY",
"search.multicity.pax.infants.info":"Infants do not occupy a seat. To book a seat, please select a child fare.","search.return.to":"To","search.typeplacename":"Type place name","vbook.seatselect.title":"Select your seats","vbook.seatselect":"Seat select","travellerdetailpassportpanel.frform.popup.html":'\x3cimg height\x3d"300" src\x3d"{0}" width\x3d"434"/\x3e',"travellerdetails.seat.select.frequent.flyer.popup":"Adding an Airpoints number will remove your seat selection, as pricing may change based on membership.",
"gateway.payment.name.alipay":"Alipay","gateway.payment.subject.alipay":"Flight booking payment ref: {0,number,#}","SortOrder.PRICE":"Price","SortOrder.DEPARTURE":"Departure time","SortOrder.ARRIVAL":"Arrival time","SortOrder.STOPS":"Stops","SortOrder.DURATION":"Duration","SortOrder.AIRLINE":"Operating airline","SortOrder.Ordering":"PRICE;STOPS;DURATION;DEPARTURE;ARRIVAL","tax.breakdown.detailslink":"Details","travellerdetails.pax.defaultname.adult":"Adult {{index}}","travellerdetails.pax.defaultname.child":"Child {{index}}",
"travellerdetails.pax.defaultname.infant":"Infant {{index}}","travellerdetails.header.infantfares":"Infant fares do not include a seat","travellerdetails.header.outbound":"Outbound","travellerdetails.header.outboundreturn":"Outbound \x26 Inbound","travellerdetails.header.return":"Inbound","travellerdetails.header.travelinsurance":"Travel Insurance","travellerdetails.option.airpointsforbusiness.nominee.divider":"Airpoints for Business members","travellerdetails.option.allnomineesselected":"All nominated travellers have been selected",
"vbook.travellerdetails.title":"Enter passenger details","travelagent.booking.header":"Booking to be made on behalf of Traveller(s) by Travel Agent {0}.","travellerdetails.unaccompaniedminor.message.UNACCOMPANIED_MINOR_TRAVEL_SUPPORTED":"Unaccompanied minors","travellerdetails.unaccompaniedminor.message.PAX_SELECTION_NOT_SUPPORTED":"Unaccompanied minors must be booked at adult fare levels. To continue please change your search and select only Adults.","travellerdetails.unaccompaniedminor.message.PAX_SELECTION_NOT_SUPPORTED.infant":"Infants may not travel as children travelling alone. To continue please change your search.",
"travellerdetails.unaccompaniedminor.message.PAX_SELECTION_NOT_SUPPORTED.farehold":"Unaccompanied minors must be booked at adult fare levels.","travellerdetails.field.phone.areacode.placeholder":"9","travellerdetails.field.phone.number.placeholder":"1234567","travellerdetails.field.mobile.areacode.placeholder":"21","travellerdetails.field.mobile.number.placeholder":"1234567","loading.processing.codeshare":"Please wait while we check with partner airlines.\x3cbr/\x3e(Do not press back or refresh during this time)",
"autocomplete.noairport":"No airport found","autocomplete.nocountrycode":"No country code found","search.serviceclass.economy":"Economy - lowest","search.serviceclass.premiumeconomy":"Premium Economy","search.serviceclass.business":"Business Class","search.serviceclass.first":"First Class","search.form.adults":"1|1 adult;2|2 adults;3|3 adults;4|4 adults;5|5 adults;6|6 adults;7|7 adults;8|8 adults;9|9 adults","search.form.children":"0|0 children;1|1 child;2|2 children;3|3 children;4|4 children;5|5 children;6|6 children;7|7 children;8|8 children",
"search.form.infants":"0|0 infants;1|1 infant;2|2 infants;3|3 infants;4|4 infants","popup.msg.deal.tactical":"Deal fare on sale for a limited time.","popup.msg.deal.companion":"Companion deal on sale for a limited time.","popup.msg.deal.promocode":"This fare has qualified for your government discount.","popup.msg.sellingout":"Be quick - there are 5 or fewer seats available at this price.","common.to":"to","createitinerary.promocode.invalid":'Please note: the Promo Code you entered is not applicable to your selected date(s). \x3ca href\x3d"farediscount" class\x3d"newWindow wspec_large" data-rel\x3d"farediscount"\x3eDetails\x3c/a\x3e.',
"createitinerary.hotel.removal":"If you change your travel dates, please reselect your hotel on the Purchase Tickets page to match your new travel dates.","createitinerary.bags.removal":"Prepaid baggage not available for this combination of flights, selected bags have been removed.","travellerdetails.hotel.removal":"Please note that changing the date of birth of a child may affect hotel pricing, so your current hotel selection will be cleared. Please re-select your hotel options from the new search results for updated pricing.",
"continue":"Continue","createitinerary.tabletitle.international":"Int'l","createitinerary.tabletitle.tasman":"Tasman","scrollcalendar.ECONOMY.available":"Economy Available","scrollcalendar.PREMIUM.available":"Premium Available","scrollcalendar.PREMIUM.available.longhaul":"Premium Economy Available","scrollcalendar.BUSINESS.available":"Business Available","scrollcalendar.noseatsavailable":"No Seats Available","aog.travellerdetails.travellersearch.initial.label":"Type in surname","aog.travellerdetails.travellersearch.nomatch":"No matching traveller found.",
"car.search.title":"Cars at {{location}}","car.search.pickup.date":"pick up date","car.search.dropoff.date":"drop off date","car.search.days":"for {{rentalDays}} days","car.search.one.day":"for 1 day","car.search.type.here":"Type place name","car.search.no.locations":"No location found","share.itinerary.ci.oneway":"Looking at this Air New Zealand flight from {0}","share.itinerary.ci.return":"Looking at these Air New Zealand flights to {0}","share.itinerary.ci.multicity":"Looking at these Air New Zealand flights around NZ",
"share.itinerary.ci.multistop":"Looking at these Air New Zealand flights to {0}","share.itinerary.bc.oneway":"Just booked this Air New Zealand flight from {0}","share.itinerary.bc.return":"Just booked these Air New Zealand flights to {0}","share.itinerary.bc.multicity":"Just booked these Air New Zealand flights around NZ","share.itinerary.bc.multistop":"Just booked these Air New Zealand flights to {0}","share.itinerary.depart":"Depart:","share.itinerary.arrive":"Arrive:","share.itinerary.flightNumbers":"Flight number(s):",
"pattern.ancillary.datetime.full":"EEE, d MMM yyyy 'at' '[TIME]'","pattern.ancillary.date":"EEE, d MMM yyyy","pattern.monthyear":"MMMM yyyy","pattern.date.daydate.short":"EEE d","pattern.mmdd":"dd/MM","pattern.date.full":"EEEE dd MMMM yyyy","pattern.date.full.variation.2":"EEE, dd MMMM yyyy","pattern.date.full.variation.3":"EEE, dd MMM yyyy","reservationhold.teaser.reserve":"For just {{costWithoutDecimal}}, you can lock in this great price for {{holdPeriodInDays}} days.","reservationhold.teaser.message":"For just {0}, you can lock in this great price for {1} days.",
"reservationhold.teaser.popup.select":"Please select a flight to continue.","reservationhold.teaser.popup.use":"Use this button to hold these fares.","reservationhold.teaser.popup.notavailable":"Fare Hold is not available for this trip.","reservationhold.teaser.popup.notavailable.departuredate":"Fare Hold is not available for travel within the next {0} days.","reservationhold.teaser.popup.notavailable.nonnzoperatingairline":"Fare Hold is not available for bookings including flights on partner airlines.",
"reservationhold.teaser.popup.notavailable.promocodedealcode":"Fare Hold is not available for bookings including deal fares or promo codes.","reservationhold.teaser.popup.notavailable.skycouchwd":"Fare Hold is not available for bookings including Works Deluxe.","gateway.payment.name.chinapay":"ChinaPay","mobi.cardpayment.savedcards.deletefailed":"We have been unable to delete your card. Please try again later.","reservationhold.oal.retrieve.segment.issue.description":"","reservationhold.oal.retrieve.segment.issue.details":"Sorry, there was a problem confirming one (or more) of the partner airline flights in your booking and it cannot be retrieved. Please search for flights again.",
"reservationhold.oal.retrieve.segment.issue.title":"Problem with booking.","reservationhold.generic.retrieve.issue.details":"We could not retrieve your booking. Sorry for the inconvenience. Please search for flights again.","reservationhold.generic.retrieve.issue.title":"Problem with booking.","multistop.add.stopovers.inactive":"Please select Starting point and Primary (furthest) destination.","multistop.add.stopovers":"Click to advance to adding stopovers.","cta.continue":"Continue"};Locale.define("en-NZ",
"vbook",{text:b});a.default=b});__registerModule("/nz/co/airnz/vbook/text/vbookerrors.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"/actions/captcha.answer.incorrect":"Captcha answer was incorrect, please try again.","/actions/google.recaptcha.incorrect":"Please verify that you are not a robot.","/actions/createitinerary.flights.invalidreturndate":"The requested return date is before the departure date - please modify your search dates.","/actions/search.searchLegs.invalidreturndate":"Please list your flight selections in date sequence, with the earliest first.",
"/actions/search.searchLegs.originanddestination":"Please select an origin and destination","/actions/search.promocode.errorMessage":"The Promo Code you entered does not match a current promotion. Please try again, or click 'Search' to continue without a Promo Code.","alipayExpressBank.errorMessage":"Please select a bank.","chinapayment.notwithinallowableperiod.errorMessage":"Payment using UnionPay or Alipay is not permitted where travel commences in less than 3 days.","cardForm.cardholder.valueNotPresent":"Please enter cardholder's name.",
"cardForm.cardHolderName.errorMessage":"","cardForm.cardnumber.not.provided":"Please enter card number.","cardForm.cardNumber.valueDoesNotMatch":"The card number you have entered is not a Travelcard number, please try again.","cardForm.cardType.errorMessage":"Please select card type.","cardForm.cardType.invalid":"The card type you have selected is not supported. Please select a valid card type.","/actions/purchasetickets.email.errorMessage":"Please enter an email address.","/actions/purchasetickets.email.invalidEmail":"You have entered an invalid email address.",
"/actions/purchasetickets.approverEmailAddress.invalidEmail":"You have entered an invalid email address.","cardForm.expirymonth.errorMessage":"Please select card expiry month.","cardForm.expiryyear.errorMessage":"Please select card expiry year.","cardForm.travelCardCostCentre.valueTooShort":"You have entered an invalid cost centre.","cardForm.travelCardCostCentre.errorMessage":"You have entered an invalid cost centre.","cardForm.travelCardCostCentre.not.provided":"Please enter a cost centre.","/actions/purchasetickets/poli/start.selectedBank.valueNotPresent":"Please select a bank.",
"/actions/travellerdetails.travellers.firstName.errorMessage":"Please enter only valid characters for the passenger's first name.","/actions/travellerdetails.travellers.firstName.valueNotPresent":"Please enter a first name for each passenger.","/actions/travellerdetails.travellers.loyaltyProgramme.valueNotPresent":'Please enter a membership number below, or choose "none" from the list below.',"/actions/travellerdetails.travellers.middleName.errorMessage":"Please enter only valid characters for the passenger's middle name(s).",
"/actions/travellerdetails.travellers.phoneAreaCode.errorMessage":"You have entered an invalid area code. Maximum 6 digits allowed. For example 03 for Christchurch.","/actions/travellerdetails.travellers.phoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.","/actions/travellerdetails.travellers.phoneNumber.errorMessage":"You have entered an invalid number. Minimum of 5 digits must be entered.","/actions/travellerdetails.travellers.mobilePhoneAreaCode.errorMessage":"You have entered an invalid prefix.",
"/actions/travellerdetails.travellers.mobilePhoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.","validation.nz.mobilePhoneNumber.errorMessage":"You have entered an invalid number. Minimum of 6 digits must be entered.","/actions/travellerdetails.travellers.surname.errorMessage":"Please enter only valid characters for the passenger's last name.","/actions/travellerdetails.travellers.surname.valueNotPresent":"Please enter a last name for each passenger.",
"/actions/travellerdetails.usAddress.zipCode.errorMessage":"Please enter only valid digits for the zip code.","/actions/travellerdetails.usAddress.zipCode.valueDoesNotMatch":"Please enter a valid numeric zip code.","/actions/travellerdetails.usAddress.addressLine1.valueDoesNotMatch":"Please enter a valid street address.","/actions/travellerdetails.usAddress.addressLine2.valueDoesNotMatch":"Please enter a valid street address.","/actions/travellerdetails.usAddress.city.valueDoesNotMatch":"Please enter a valid city.",
"/actions/travellerdetails.usAddress.state.valueDoesNotMatch":"Please enter a valid state.","/actions/travellerdetails.travellers.title.valueNotPresent":"Title must be entered.","/actions/travellerdetails.travellers.gender.valueDoesNotMatchTitle":"Please re-select gender as current selection does not match title.","/actions/travellerdetails.travellers.membershipNumber.errorMessage":"You have entered an invalid frequent flyer number.","passportExpiryDate.errorMessage":"Passport expiry is not a valid date",
"/actions/travellerdetails.travellers.passportNumber.errorMessage":"Passport number must be 1 to 15 characters long and should only contain alphanumerics.","/actions/travellerdetails.travellers.dob.errorMessage":"Please enter a date of birth.","/actions/travellerdetails.travellers.redressNumber.errorMessage":"Redress number must be 1 to 25 characters long and should only contain numerics.","/actions/travellerdetails.unaccompaniedMinorTravellers.age.valueNotPresent":"Please enter an age.","unaccompaniedMinorContacts.name.valueNotPresent":"Please enter a name.",
"unaccompaniedMinorContacts.name.errorMessage":"Please enter only valid characters for the name.","unaccompaniedMinorContacts.phoneCountryCode.valueNotPresent":"Ensure you complete the phone number details in the boxes (country/area/local).","unaccompaniedMinorContacts.phoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.","unaccompaniedMinorContacts.phoneAreaCode.valueNotPresent":"Ensure you complete the phone number details in the boxes (country/area/local).",
"unaccompaniedMinorContacts.phoneAreaCode.errorMessage":"You have entered an invalid area code. Maximum 6 digits allowed. For example 03 for Christchurch.","unaccompaniedMinorContacts.phoneNumber.valueNotPresent":"Ensure you complete the phone number details in the boxes (country/area/local).","unaccompaniedMinorContacts.addressLine1.valueNotPresent":"Please enter a postal address.","unaccompaniedMinorContacts.addressLine1.errorMessage":"Please enter only valid characters for the postal address.",
"unaccompaniedMinorContacts.city.valueNotPresent":"Please enter a city.","unaccompaniedMinorContacts.city.errorMessage":"Please enter only valid characters for the city.","unaccompaniedMinorContacts.country.valueNotPresent":"Please enter a country.","unaccompaniedMinorContacts.relationship.valueNotPresent":"Please enter the relationship of the contact to the child(ren) travelling alone.","unaccompaniedMinorContacts.relationship.errorMessage":"Please enter only valid characters for the relationship of the contact to the child(ren) travelling alone.",
"unaccompaniedMinorContacts.zipCode.valueNotPresent":"Please enter Postcode/Zip Code.","unaccompaniedMinorContacts.zipCode.errorMessage":"Please enter a valid Postcode/Zip Code.","travellerdetails.emailAddress.valueNotPresent":"Please enter an email address.","unaccompaniedMinorContacts.id.valueNotPresent":"Please return a contact id.","unaccompaniedMinorContacts.phoneType.valueNotPresent":"Please return a phone type. One of: DAY_PHONE, BUSINESS_PHONE, OTHER_PHONE, MOBILE_PHONE","unaccompaniedMinorContacts.journeyLegId.valueNotPresent":"Please return an journey leg id.",
"unaccompaniedMinorContacts.airport.valueNotPresent":"Please return an Airport code.","/actions/travellerdetails.postcode.errorMessage":"Please enter a valid postcode.","airpoints.amps.error":"We are unable to process Airpoints Dollars payments at the current time. Please continue your booking with another payment method or try again later. We apologise for any inconvenience","login.airpoints.amps.error":"We are unable to process Airpoints Dollars payments at the current time. Please continue your booking with credit card payment or try again later. We apologise for any inconvenience.",
"airpoints.error.insufficentBalance":"You do not have enough Airpoints Dollars to complete this booking. Please review your payment options for each passenger and try again.","booking.already.in.progress.message.details":'\x3cspan class\x3d"msg"\x3eThank you for booking online with Air New Zealand.\x3cbr/\x3eChoose \x3cstrong\x3eMake another booking\x3c/strong\x3e below to start again.\x3c/span\x3e',"booking.already.in.progress.message.title":'\x3cspan class\x3d"head"\x3eThe booking is complete.\x3c/span\x3e',
"captcha.notprovided":"Please provide an answer to the authenticity request above.","google.recaptcha.notprovided":"Please verify that you are not a robot.","creditCardDeclined.error.message":"Your Travelcard is no longer valid. Please contact the Government Service Centre team on 0800\x26nbsp;199\x26nbsp;111.","savedcard.creditCardDeclined.error.message":"We have been unable to process your {2} card ending in {3}. Please check your details, try another card or phone 0800\x26nbsp;199\x26nbsp;111 to complete your booking.",
"invalidCVV.error.message":"Your Travelcard is no longer valid. Please contact the Government Service Centre team on 0800\x26nbsp;199\x26nbsp;111.\x3cbr/\x3eSecurity Code is invalid, please re-enter your Security Code to complete your booking.","savedcard.invalidCVV.error.message":"We have been unable to process your {2} card ending in {3}. Please check your details, try another card or phone 0800\x26nbsp;199\x26nbsp;111 to complete your booking.","error.header":"Error message","invalid.dob.validation.message":"Please enter a date of birth.",
"other.airline.reject.error.message":"Sorry, your booking could not be completed because the fare you selected is no longer available. Please select another fare or change your travel dates and search again.","no.more.seat.error.message":"The fares and/or flights you selected are no longer available. Unfortunately, they have sold out since you made your selection.\x3cbr/\x3ePayment has not been processed.\x3cbr/\x3eYour Travelcard has not been charged.","price.changed.error.message":"Sorry, the booking could not be completed because the level of the selected fare has changed. Please start again.",
"search.validation.cities.not.selected":"Please select From and To cities.","search.validation.inbound.date.after.booking.limit":"Travel dates must be within 350 days of today's date.","search.validation.inbound.date.after.domestic.booking.limit":"Travel dates must be within 355 days of today's date.","search.validation.invalid.return.origin.and.destination":"Inbound journey leg must be reverse of outbound.","search.validation.max.infant.count":"You can only make an online booking for 1 infant per adult, up to a maximum total of 9 passengers. You will need to reserve a seat for any additional infants and pay a child's fare. Any additional infants must be restrained in an approved infant car seat, which the accompanying adult(s) must provide.",
"search.validation.max.pax.count":"A maximum of 9 passengers applies per online booking. To continue you may either make multiple bookings or call Air New Zealand Reservations on 0800\x26nbsp;199\x26nbsp;111 to complete the booking.","search.validation.maximum.pax.for.coreshare":"As your itinerary includes flights on other airlines, we are unable to book more than {2} passengers online.\x3cbr/\x3ePlease phone 0800\x26nbsp;199\x26nbsp;111 to continue the booking. A service fee may apply.","search.validation.maximum.pax.for.coreshare.business":"As the itinerary includes flights on other airlines, we are unable to book more than {2} Business Class passengers online.\x3cbr/\x3ePlease phone 0800\x26nbsp;199\x26nbsp;111 to continue the booking. A service fee may apply.",
"search.validation.min.adult.pax":"At least one adult passenger must be present in the booking.","search.validation.min.child.pax":"At least one child passenger must be present in the booking.","search.validation.children.dob":"Please fill out these fields.","search.validation.outbound.date.after.booking.limit":"Travel dates must be within 350 days of today's date.","search.validation.outbound.date.after.domestic.booking.limit":"Travel dates must be within 355 days of today's date.","search.validation.outbound.date.after.inbound":"The requested return date is before the departure date - please modify your search dates.",
"search.validation.outbound.date.before.allowed":"Bookings cannot be made online within 1 day of departure. Please change your dates below or phone 0800\x26nbsp;199\x26nbsp;111 to book on your selected date(s).","search.validation.outbound.date.before.today":"Travel dates must be within 350 days of today's date.","search.validation.same.origin.and.destination":"Your destination cannot be the same as your point of origin. Please change your request and search again.","search.validation.unexpected.search.legs":"Unexpected number of search legs for {2} journey: {3}",
"search.validation.invalid.market.legs":"Fares for the selected route are not available for purchase. Please try booking your flights separately. Alternatively please call 0800\x26nbsp;199\x26nbsp;111 to speak to an Air New Zealand consultant.","search.validation.invalid.city.pair":"Sorry, fares for the selected route are not available for purchase on the Air New Zealand website. Please change locations and search again or call us on 0800\x26nbsp;199\x26nbsp;111 to complete the booking.","selectdates.invalid.selection":"No fares available for the selected travel dates. Please select different dates.",
"service.unavailable":"Sorry, but there seems there was a problem performing that task our end. Please either try again, or come back later.","validation.global":"Please review and complete the information on this page.","validation.aria.alert":"There is a problem with the information you have entered. Please review and resubmit.","validation.msg.forgotpass":"Please try again.","validation.msg.forgotpass2":"Please try again.","validation.msg.forgotuser":"Please try again.","validation.msg.login":'The details entered are incorrect. Please try again or select \x3ca href\x3d"https://registration.airnewzealand.com/spr/challenge_phrase/challenge_phrase.jsp?formId\x3dlogin_help" target\x3d"_blank"\x3eHelp\x3c/a\x3e to continue.',
"validation.purchasetickets.cardexpiry.invalid":"Please select a valid expiry date.","cardForm.cardNumber.containsdashes":"Please enter card number without dashes.","cardForm.cardNumber.errorMessage":"The card number you have entered is not a Travelcard number. Government flights must be purchased using a Travelcard. Please enter a valid Travelcard number and try again.","validation.purchasetickets.costcentre.valueNotPresent":"Please enter a travelcard cost centre.","validation.purchasetickets.costcentre.invalid":"You have entered an invalid cost centre.",
"validation.purchasetickets.avis.invalid":"Incorrect Avis details entered.","validation.purchasetickets.hertz.invalid":"Incorrect Hertz details entered.","validation.travellerdetails.adult.min.age":"You have entered a passenger age of under 12 (at time of travel). This passenger must travel as a child. Please amend your booking.","validation.travellerdetails.child.max.age":"Children must be 11 years or younger at time of travel. Please start over and select an adult fare for this traveller.","validation.travellerdetails.dob":"Please enter a date of birth.",
"validation.travellerdetails.gender":"Please select a gender.","validation.travellerdetails.address.state":"Please select a state.","validation.travellerdetails.address.zipcode":"Please enter a numeric zip code.","validation.travellerdetails.infant.max.age":"Infants must be 23 months or younger at the time of travel for all flights. Please start over and select a child fare for this traveller.","validation.travellerdetails.names.total.length":"Please ensure that the first name and last name are no longer than {2} letters in total.",
"validation.travellerdetails.freqflyer.selectprogram":"You have not entered a programme type.","validation.travellerdetails.freqflyer.name.not.matching":"An incorrect frequent flyer programme and membership number has been entered. Please try again or call 0800\x26nbsp;199\x26nbsp;111 for assistance.","validation.travellerdetails.phone.areacode.invalid":"You have entered an invalid area code. Maximum 6 digits allowed. For example 03 for Christchurch.","validation.travellerdetails.mobilephone.prefix.invalid":"You have entered an invalid prefix.",
"validation.travellerdetails.nz.mobilephone.prefix.invalid":"Please enter a valid mobile phone prefix. For example: 021, 022, 027 etc.","validation.travellerdetails.au.mobilephone.prefix.invalid":"Please enter a valid mobile phone prefix. For example: 0419 etc.","validation.contact.phone.invalid":"Please enter a valid phone number","poli.sorrynotavailable":'\x3cp\x3eSorry, Internet Bank Payment (POLi) is not currently available\x3c/p\x3e\n      \x3cp\x3e\n        \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"poliwhy" href\x3d"http://www.airnewzealand.co.nz/why-can-t-i-use-poli"\x3eWhy can\'t I use internet banking (POLi)?\x3c/a\x3e\n      \x3c/p\x3e',
"poli.sorrynotavailable.mac":'\x3cp\x3eSorry, Internet Bank Payment (POLi) is not currently available\x3c/p\x3e\n      \x3cp\x3e\n        \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"poliwhy" href\x3d"http://www.airnewzealand.co.nz/why-can-t-i-use-poli-mac"\x3eInfo for Mac users\x3c/a\x3e\n      \x3c/p\x3e',"farediscount.promocode.invalid.for.search":'The Promo Code you entered does not match your search criteria. \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"farediscount" href\x3d"farediscount"\x3eDetails.\x3c/a\x3e Please try another Promo Code, change your search criteria, or delete the Promo Code to continue without a Promo Code.',
"farediscount.promocode.expired":'The Promo Code you entered has expired or is not yet valid. \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"farediscount" href\x3d"farediscount"\x3eDetails.\x3c/a\x3e If you have another Code, please enter it, or click \'Search\' to continue without a Promo Code.',"farediscount.promocode.must.login":'You cannot use the Promo Code entered as you are not signed in to Airpoints. \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"farediscount" href\x3d"farediscount"\x3eDetails.\x3c/a\x3e\x3cbr/\x3eSign in to Airpoints and retry, or click Search to continue without a Promo Code.',
"farediscount.invalid.dateofbirth.in.airpoints.profile":"You are not eligible to use the Promo Code entered as your Airpoints profile does not have a valid date of birth. Please retry after updating your airpoints profile, or click Search to continue without a Promo Code.","farediscount.promocode.has.incorrect.dateofbirth":'Your supplied age does not meet the criteria for this Promo Code. \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"farediscount" href\x3d"farediscount"\x3eDetails.\x3c/a\x3e',
"farediscount.promocode.invalid.airpoints.tier":'You are not eligible to use the Promo Code entered as your Airpoints tier status does not match the promotion criteria. \x3ca class\x3d"newWindow wspec_large" data-rel\x3d"farediscount" href\x3d"farediscount"\x3eDetails.\x3c/a\x3e If you have another Code, please enter it, or click \'Search\' to continue without a Promo Code.',"farediscount.promocode.no.usage.available":"Sorry, there are not enough Promo Codes uses left to cover your entire group.",
"farediscount.promocode.traveldates.invalid":"Your requested travel dates do not meet the criteria for this Promo Code. The applicable travel dates are: {2} to {3}.","/actions/purchasetickets.myersCardNumber.errorMessage":"","cardForm.cardSecurityCode.valueNotPresent":"Please enter security code.","cardForm.cardSecurityCode.valueDoesNotMatch":"Security Code is invalid, please re-enter your Security Code to complete your booking.","savedCard.cardSecurityCode.valueDoesNotMatch":"We have been unable to process your {2} card ending in {3}. Please check your details, try another card or phone 0800\x26nbsp;199\x26nbsp;111 to complete your booking.",
"/actions/purchasetickets.reasoncode.errorMessage":"Please enter a reason code.","/actions/purchasetickets.reasoncode.invalid.errorMessage":"Please enter only valid characters for the travel reason.","/actions/purchasetickets.reasoncodeother.errorMessage":"Please enter a reason.","/actions/aoglogin.username.valueNotPresent":"Please enter username.","/actions/aoglogin.username.errorMessage":"The username or password you entered do not match our records. Please try again.","/actions/aoglogin.password.valueNotPresent":"Please enter password.",
"/actions/aoglogin.password.errorMessage":"The username or password you entered do not match our records. Please try again.","/actions/aoghome.selectedTravelGroupIndex.errorMessage":"Please select a travel group.","/actions/aoghome.selectedAgencyId.errorMessage":"Please select an agency.","/actions/aoghome.selectedTravelGroupIndex.invalid":"Selected travel group has no valid travelcard(s). Please phone 0800\x26nbsp;199\x26nbsp;111 for assistance.","/actions/travelarrangerchangepassword.username.valueNotPresent":"Please enter username.",
"/actions/travelarrangerchangepassword.username.errorMessage":"The username or password you entered do not match our records. Please try again.","/actions/travelarrangerchangepassword.oldPassword.valueNotPresent":"Please enter your old password.","/actions/travelarrangerchangepassword.oldPassword.errorMessage":"The username or password you entered do not match our records. Please try again.","/actions/travelarrangerchangepassword.newPassword.valueNotPresent":"Please enter your new password.","/actions/travelarrangerchangepassword.newPassword.errorMessage":"Please enter a valid password at least 8 characters long.",
"/actions/travelarrangerchangepassword.confirmPassword.valueNotPresent":"Please confirm your new password.","/actions/travelarrangerchangepassword.confirmPassword.errorMessage":"The new password you entered is not valid. Password must be at least 8 characters long.","/actions/travelarrangerchangepassword.confirmPassword.notmatch.errorMessage":"The passwords you entered did not match.","/actions/travelarrangerforgotpassword.username.valueNotPresent":"Please enter username.","/actions/travelarrangerforgotpassword.username.errorMessage":"Please enter a valid username.",
"/actions/travelarrangerforgotpassword.processed":"Your request has been processed. Please check your email for further instructions.","/actions/travelarrangerforgotpassword.processerror":'We were unable to process your request. \x3ca href\x3d"{2}/actions/travelarrangerforgotpassword"\x3ePlease try again\x3c/a\x3e.',"aog.travellerdetails.travellerprofile.duplicatesfound":"The same traveller cannot be selected more than once.","/actions/travelarrangerchangepassword.confirmNewPassword.valueNotPresent":"Please confirm your new password.",
"/actions/travelarrangerchangepassword.confirmNewPassword.errorMessage":"Password must be at least 8 characters long.","search.seasonal.airport":"Our service to {4} operates from {5} to {6}. Please select alternative travel dates.","search.seasonal.airport.without.end.date":"Our service to {4} operates from {5}. Please select alternative travel dates.","search.new.seasonal.airport":"Our new service to {4} operates from {5} to {6}. Please select alternative travel dates.","search.new.seasonal.airport.without.end.date":"Our new service to {4} operates from {5}. Please select alternative travel dates.",
"search.seasonal.airport.class.specific":"{2} class travel is only available on our direct service from {3} to {4} which operates between {5} and {6}. Please select alternative travel dates.","search.new.seasonal.airport.class.specific":"{2} class travel is only available on our new service from {3} to {4} which operates between {5} and {6}. Please select alternative travel dates.","search.seasonal.airport.no.future.ranges":"Sorry, our service to {4} no longer operates.","/actions/loginair.travelgroup.errorMessage":"Selected group has no valid Travelcard(s). Please phone 0800 199 111 for assistance.",
"/actions/reservationhold.form.title.valueNotPresent":"Title must be entered.","/actions/reservationhold.form.firstName.errorMessage":"Please enter only valid characters for the first name.","/actions/reservationhold.form.firstName.valueNotPresent":"Please enter a first name.","/actions/reservationhold.form.familyName.errorMessage":"Please enter only valid characters for the family name.","/actions/reservationhold.form.familyName.valueNotPresent":"Please enter a family name.","/actions/reservationhold.form.names.total.length":"Please ensure that the first name and family name are no longer than 28 letters in total.",
"/actions/reservationhold.form.phoneAreaCode.errorMessage":"You have entered an invalid area code. Maximum 6 digits allowed. For example 03 for Christchurch.","/actions/reservationhold.form.phoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.","/actions/reservationhold.form.phoneNumber.errorMessage":"You have entered an invalid number. Minimum of 5 digits must be entered.","/actions/reservationhold.form.mobilePhoneAreaCode.errorMessage":"You have entered an invalid prefix.",
"/actions/reservationhold.form.mobilePhoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.","/actions/reservationhold.form.mobilePhoneNumber.errorMessage":"You have entered an invalid number. Minimum of 6 digits must be entered.","/actions/reservationhold.form.emailAddress.valueNotPresent":"Please enter an email address.","/actions/reservationhold.form.emailAddress.invalidEmail":"You have entered an invalid email address.","/actions/reservationhold.form.emailAddress.valueTooLong":"You have entered an invalid email address.",
"/actions/reservationhold.chinaPayOption.valueNotPresent":"Please select a payment option.","gatewaypayment.error.notpossible":"It is not possible to complete your request. Please look down the page for more instructions.","chinapay.error.up.notcompleted":"Your UnionPay payment has not been completed. Please try again or continue your payment by international credit card.","chinapay.error.cc.notcompleted":"Your Credit Card payment has not been completed. Please try again or continue your payment by UnionPay bank card.",
"gatewaypayment.error.timeout":"Your payment has timed out. If you completed payment please contact us on 0800 199 111.","sofort.error.notcompleted":"Your Sofort payment has not been completed. Please try again or continue your payment by credit card. If you require assistance with completing this payment process please contact us on 0800 199 111","alipay.error.notcompleted":"Your Alipay payment has not been completed. Please try again or continue your booking with another payment method. If you require assistance with completing this payment process please contact us on 0800 199 111",
"search.validation.add.time.filter":"Due to the complexity of your itinerary, please select your preferred departure time for each flight below. If any of your preferred times are not available we will show the closest alternatives.","search.validation.city.in.same.country.message":"Sorry, your selected cities must not all be in the same country. Please select one or more cities from different countries.","multistop.validation.travellerdetails.adult.min.age":'\x3ca href\x3d"http://www.airnewzealand.co.nz/children-travelling-alone" target\x3d"_blank"\x3eUnaccompanied Minors\x3c/a\x3e cannot be booked online to this destination. Please phone 0800\x26nbsp;199\x26nbsp;111 to book through our contact centre.',
"multistop.search.invalid.date.sequence":"The departure time for each flight must be later than the arrival time of the previous flight. Please change your flight selection.","search.validation.open.jaw.at.origin.not.in.same.region":"Sorry, you can only return to cities in the region you departed from.","emailAddress.valueNotPresent":"Please enter an email address.","emailAddress.valueInvalid":"You have entered an invalid email address.","phoneCountryCode.errorMessage":"Please enter a valid country code. For example 64 for New Zealand.",
"phoneAreaCode.errorMessage":"Please enter a valid area code. Maximum 6 digits allowed. For example 03 for Christchurch.","phoneNumber.errorMessage":"Please enter a valid number. Minimum of 5 digits must be entered.","validation.required.valueNotPresent":"Please fill out this field"};Locale.define("en-NZ","vbook",{text:b});a.default=b});(function(){var h=function(a,c,b){b=b||window;for(var d=0,e;b&&(e=a[d]);d++)b=b[e]||(c?b[e]={}:void 0);return b};Object.extend("place",function(a,c,b){var d=a.split(".");a=d.pop();return(b=h(d,!0,b))&&a?b[a]=c:void 0});Object.extend("retrieve",function(a,c,b){return h(a.split("."),c,b)});Object.extend("exists",function(a,c){return void 0!==Object.retrieve(a,!1,c)});var k=Object.prototype.hasOwnProperty;Object.extend("find",function(a,c,b){var d=null,e;for(e in a){var f=a[e];if(k.call(a,e)&&c.call(b,
f,e,a)){d=f;break}}return d||void 0});Object.extend("mtEntries",function(a,c,b){c=c||"key";b=b||"value";var d=[];Object.each(a,function(a,f){var g={};g[c]=f;g[b]=a;d.push(g)});return d})})();__registerModule("/nz/co/airnz/vui/injector/injector",function(r,k){function l(a,b,d){e[a]&&e[a].singleton&&!b.singleton&&delete f[a];e[a]=b;b.instance?(f[a]=b.instance,b.singleton=!0):d||b.klass.implement({InjectAs:Object.append(b,{name:a})})}function h(a,b){if(Array.isArray(a))return a.map(function(a){return h(a)}).associate(a);var d=e[a];if(d){var c=Object.clone(d.options);b&&(c=Object.append(c,b));return d.singleton?(f[a]||(f[a]=new d.klass(c)),f[a]):new d.klass(c)}return null}function m(a){if(!f[a])throw Error("Attempt to dispose "+
a+", but no instance was found");var b=f[a];"function"===typeof b.dispose&&b.dispose();delete f[a]}function n(a,b,d){b=h(b);d&&Object.each(b,function(a,b){if(null===a)throw Error("No binding for "+b);});Object.append(a,b)}function p(a,b){b&&b.forEach(function(b){var c=e[b];c&&!c.singleton&&(c=a[b])&&"function"===typeof c.dispose&&(c.dispose(),delete a[b])})}Object.defineProperty(k,"__esModule",{value:!0});var e={},f={},g={},q={get:h,bind:l,bindSingleton:function(a,b){l(a,{instance:b})},construct:function(a,
b,d){var c=Object.clone(a.InjectAs||{});if(c.singleton){if(!c.name)throw Error('Must specify InjectAs singleton "name" for '+a.$name);if(f[c.name])return h(c.name)}var e=c.name||a.$name;if(g[e]===b)throw Error("Circular Dependency: ["+e+"] depended on by one of it's own (transitive) dependencies: "+Object.keys(g));g[e]||(g[e]=b);a.Depends&&n(a,a.Depends,!0);a.Optionally&&n(a,a.Optionally,!1);c.options&&(a.options=a.options||{},a.options=Object.merge(a.options,c.options));b=b.apply(a,d);c.singleton&&
(f[c.name]=a);g[e]&&delete g[e];return b},disposeSingletonInstance:function(a){m(a);delete e[a]},disposeCreatedSingletons:function(){Object.each(f,function(a,b){var d=e[b];d&&!d.instance&&m(b)})},disposeInjectedNonSingletons:function(a){p(a,a.Depends);p(a,a.Optionally)}};Object.place("VUI.Injector",q);k.default=q});(function(){var b=this.document,f=b.window=this,e=navigator.userAgent.toLowerCase(),g=navigator.platform.toLowerCase(),d=e.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/)||[null,"unknown",0],a=this.Browser={extend:Function.prototype.extend,name:"version"==d[1]?d[3]:d[1],version:"ie"==d[1]&&b.documentMode||parseFloat("opera"==d[1]&&d[4]?d[4]:d[2]),Platform:{name:e.match(/ip(?:ad|od|hone)/)?"ios":(e.match(/(?:webos|android)/)||g.match(/mac|win|linux/)||
["other"])[0]},Features:{xpath:!!b.evaluate,air:!!f.runtime,query:!!b.querySelector,json:!!f.JSON},Plugins:{}};a[a.name]=!0;a[a.name+parseInt(a.version,10)]=!0;a.Platform[a.Platform.name]=!0;a.Request=function(){var b=function(){return new XMLHttpRequest},c=function(){return new ActiveXObject("MSXML2.XMLHTTP")},a=function(){return new ActiveXObject("Microsoft.XMLHTTP")};return Function.attempt(function(){b();return b},function(){c();return c},function(){a();return a})}();a.Features.xhr=!!a.Request;
e=(Function.attempt(function(){return navigator.plugins["Shockwave Flash"].description},function(){return(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")})||"0 r0").match(/\d+/g);a.Plugins.Flash={version:Number(e[0]||"0."+e[1])||0,build:Number(e[2])||0};a.exec=function(a){if(!a)return a;if(f.execScript)f.execScript(a);else{var c=b.createElement("script");c.setAttribute("type","text/javascript");c.text=a;b.head.appendChild(c);b.head.removeChild(c)}return a};String.implement("stripScripts",
function(b){var c="",d=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(b,a){c+=a+"\n";return""});!0===b?a.exec(c):"function"==typeOf(b)&&b(c,d);return d});a.extend({Document:this.Document,Window:this.Window,Element:this.Element,Event:this.Event});this.Window=this.$constructor=new Type("Window",function(){});this.$family=Function.from("window").hide();Window.mirror(function(b,a){f[b]=a});this.Document=b.$constructor=new Type("Document",function(){});b.$family=Function.from("document").hide();
Document.mirror(function(a,c){b[a]=c});b.html=b.documentElement;b.head||(b.head=b.getElementsByTagName("head")[0]);if(b.execCommand)try{b.execCommand("BackgroundImageCache",!1,!0)}catch(h){}})();(function(){function t(a,q,b,C,x,y,c,r,g,w,f,t,z,B,v,m){if(q||-1===n)if(d.expressions[++n]=[],l=-1,q)return"";if(b||C||-1===l)b=b||" ",a=d.expressions[n],u&&a[l]&&(a[l].reverseCombinator=A(b)),a[++l]={combinator:b,tag:"*"};b=d.expressions[n][l];if(x)b.tag=x.replace(e,"");else if(y)b.id=y.replace(e,"");else if(c)c=c.replace(e,""),b.classList||(b.classList=[]),b.classes||(b.classes=[]),b.classList.push(c),b.classes.push({value:c,regexp:new RegExp("(^|\\s)"+h(c)+"(\\s|$)")});else if(z)m=(m=m||v)?m.replace(e,
""):null,b.pseudos||(b.pseudos=[]),b.pseudos.push({key:z.replace(e,""),value:m,type:1==t.length?"class":"element"});else if(r){r=r.replace(e,"");f=(f||"").replace(e,"");var k,p;switch(g){case "^\x3d":p=new RegExp("^"+h(f));break;case "$\x3d":p=new RegExp(h(f)+"$");break;case "~\x3d":p=new RegExp("(^|\\s)"+h(f)+"(\\s|$)");break;case "|\x3d":p=new RegExp("^"+h(f)+"(-|$)");break;case "\x3d":k=function(a){return f==a};break;case "*\x3d":k=function(a){return a&&-1<a.indexOf(f)};break;case "!\x3d":k=function(a){return f!=
a};break;default:k=function(a){return!!a}}""==f&&/^[*$^]=$/.test(g)&&(k=function(){return!1});k||(k=function(a){return a&&p.test(a)});b.attributes||(b.attributes=[]);b.attributes.push({key:r,operator:g,value:f,test:k})}return""}var d,n,l,u,B={},v={},e=/\\/g,w=function(a,q){if(null==a)return null;if(!0===a.Slick)return a;a=(""+a).replace(/^\s+|\s+$/g,"");var b=(u=!!q)?v:B;if(b[a])return b[a];d={Slick:!0,expressions:[],raw:a,reverse:function(){return w(this.raw,!0)}};for(n=-1;a!=(a=a.replace(D,t)););
d.length=d.expressions.length;return b[d.raw]=u?E(d):d},A=function(a){return"!"===a?" ":" "===a?"!":/^!/.test(a)?a.replace(/^!/,""):"!"+a},E=function(a){for(var d=a.expressions,b=0;b<d.length;b++){for(var e=d[b],h={parts:[],tag:"*",combinator:A(e[0].combinator)},g=0;g<e.length;g++){var c=e[g];c.reverseCombinator||(c.reverseCombinator=" ");c.combinator=c.reverseCombinator;delete c.reverseCombinator}e.reverse().push(h)}return a},h=function(a){return a.replace(/[-[\]{}()*+?.\\^$|,#\s]/g,function(a){return"\\"+
a})},D=new RegExp("^(?:\\s*(,)\\s*|\\s*(\x3ccombinator\x3e+)\\s*|(\\s+)|(\x3cunicode\x3e+|\\*)|\\#(\x3cunicode\x3e+)|\\.(\x3cunicode\x3e+)|\\[\\s*(\x3cunicode1\x3e+)(?:\\s*([*^$!~|]?\x3d)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(\x3cunicode\x3e+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(/<combinator>/,"["+h("\x3e+~`!@$%^\x26\x3d{}\\;\x3c/")+"]").replace(/<unicode>/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(/<unicode1>/g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),
g=this.Slick||{};g.parse=function(a){return w(a)};g.escapeRegExp=h;this.Slick||(this.Slick=g)}).apply("undefined"!=typeof exports?exports:this);(function(){var d={},w={},B=Object.prototype.toString;d.isNativeCode=function(a){return/\{\s*\[native code\]\s*\}/.test(""+a)};d.isXML=function(a){return!!a.xmlVersion||!!a.xml||"[object XMLDocument]"==B.call(a)||9==a.nodeType&&"HTML"!=a.documentElement.nodeName};d.setDocument=function(a){var b=a.nodeType;if(9!=b)if(b)a=a.ownerDocument;else if(a.navigator)a=a.document;else return;if(this.document!==a){this.document=a;var b=a.documentElement,e=this.getUIDXML(b),c=w[e],h;if(!c){c=w[e]={};c.root=b;c.isXMLDocument=
this.isXML(a);c.brokenStarGEBTN=c.starSelectsClosedQSA=c.idGetsName=c.brokenMixedCaseQSA=c.brokenGEBCN=c.brokenCheckedQSA=c.brokenEmptyAttributeQSA=c.isHTMLDocument=c.nativeMatchesSelector=!1;var f,g,d,n,k,l=a.createElement("div"),m=a.body||a.getElementsByTagName("body")[0]||b;m.appendChild(l);try{l.innerHTML='\x3ca id\x3d"slick_uniqueid"\x3e\x3c/a\x3e',c.isHTMLDocument=!!a.getElementById("slick_uniqueid")}catch(p){}if(c.isHTMLDocument){l.style.display="none";l.appendChild(a.createComment(""));e=
1<l.getElementsByTagName("*").length;try{l.innerHTML="foo\x3c/foo\x3e",f=(k=l.getElementsByTagName("*"))&&!!k.length&&"/"==k[0].nodeName.charAt(0)}catch(p){}c.brokenStarGEBTN=e||f;try{l.innerHTML='\x3ca name\x3d"slick_uniqueid"\x3e\x3c/a\x3e\x3cb id\x3d"slick_uniqueid"\x3e\x3c/b\x3e',c.idGetsName=a.getElementById("slick_uniqueid")===l.firstChild}catch(p){}if(l.getElementsByClassName){try{l.innerHTML='\x3ca class\x3d"f"\x3e\x3c/a\x3e\x3ca class\x3d"b"\x3e\x3c/a\x3e',l.getElementsByClassName("b").length,
l.firstChild.className="b",d=2!=l.getElementsByClassName("b").length}catch(p){}try{l.innerHTML='\x3ca class\x3d"a"\x3e\x3c/a\x3e\x3ca class\x3d"f b a"\x3e\x3c/a\x3e',g=2!=l.getElementsByClassName("a").length}catch(p){}c.brokenGEBCN=d||g}if(l.querySelectorAll){try{l.innerHTML="foo\x3c/foo\x3e",k=l.querySelectorAll("*"),c.starSelectsClosedQSA=k&&!!k.length&&"/"==k[0].nodeName.charAt(0)}catch(p){}try{l.innerHTML='\x3ca class\x3d"MiX"\x3e\x3c/a\x3e',c.brokenMixedCaseQSA=!l.querySelectorAll(".MiX").length}catch(p){}try{l.innerHTML=
'\x3cselect\x3e\x3coption selected\x3d"selected"\x3ea\x3c/option\x3e\x3c/select\x3e',c.brokenCheckedQSA=0==l.querySelectorAll(":checked").length}catch(p){}try{l.innerHTML='\x3ca class\x3d""\x3e\x3c/a\x3e',c.brokenEmptyAttributeQSA=0!=l.querySelectorAll('[class*\x3d""]').length}catch(p){}}try{l.innerHTML='\x3cform action\x3d"s"\x3e\x3cinput id\x3d"action"/\x3e\x3c/form\x3e',n="s"!=l.firstChild.getAttribute("action")}catch(p){}c.nativeMatchesSelector=b.matchesSelector||b.mozMatchesSelector||b.webkitMatchesSelector;
if(c.nativeMatchesSelector)try{c.nativeMatchesSelector.call(b,":slick"),c.nativeMatchesSelector=null}catch(p){}}try{b.slick_expando=1,delete b.slick_expando,c.getUID=this.getUIDHTML}catch(p){c.getUID=this.getUIDXML}m.removeChild(l);l=k=m=null;c.getAttribute=c.isHTMLDocument&&n?function(a,b){var c=this.attributeGetters[b];return c?c.call(a):(c=a.getAttributeNode(b))?c.nodeValue:null}:function(a,b){var c=this.attributeGetters[b];return c?c.call(a):a.getAttribute(b)};c.hasAttribute=b&&this.isNativeCode(b.hasAttribute)?
function(a,b){return a.hasAttribute(b)}:function(a,b){a=a.getAttributeNode(b);return!(!a||!a.specified&&!a.nodeValue)};f=b&&this.isNativeCode(b.contains);g=a&&this.isNativeCode(a.contains);c.contains=f&&g?function(a,b){return a.contains(b)}:f&&!g?function(b,c){return b===c||(b===a?a.documentElement:b).contains(c)}:b&&b.compareDocumentPosition?function(a,b){return a===b||!!(a.compareDocumentPosition(b)&16)}:function(a,b){if(b){do if(b===a)return!0;while(b=b.parentNode)}return!1};c.documentSorter=b.compareDocumentPosition?
function(a,b){return a.compareDocumentPosition&&b.compareDocumentPosition?a.compareDocumentPosition(b)&4?-1:a===b?0:1:0}:"sourceIndex"in b?function(a,b){return a.sourceIndex&&b.sourceIndex?a.sourceIndex-b.sourceIndex:0}:a.createRange?function(a,b){if(!a.ownerDocument||!b.ownerDocument)return 0;var c=a.ownerDocument.createRange(),e=b.ownerDocument.createRange();c.setStart(a,0);c.setEnd(a,0);e.setStart(b,0);e.setEnd(b,0);return c.compareBoundaryPoints(Range.START_TO_END,e)}:null;b=null}for(h in c)this[h]=
c[h]}};var C=/^([#.]?)((?:[\w-]+|\*))$/,D=/\[.+[*$^]=(?:""|'')?\]/,A={};d.search=function(a,b,e,c){var h=this.found=c?null:e||[];if(!a)return h;if(a.navigator)a=a.document;else if(!a.nodeType)return h;var f,g,d=this.uniques={};e=!(!e||!e.length);var n=9==a.nodeType;this.document!==(n?a:a.ownerDocument)&&this.setDocument(a);if(e)for(g=h.length;g--;)d[this.getUID(h[g])]=!0;if("string"==typeof b){var k=b.match(C);a:if(k){g=k[1];var l=k[2];if(!g){if("*"==l&&this.brokenStarGEBTN)break a;f=a.getElementsByTagName(l);
if(c)return f[0]||null;for(g=0;k=f[g++];)e&&d[this.getUID(k)]||h.push(k)}else if("#"==g){if(!this.isHTMLDocument||!n)break a;k=a.getElementById(l);if(!k)return h;if(this.idGetsName&&k.getAttributeNode("id").nodeValue!=l)break a;if(c)return k||null;e&&d[this.getUID(k)]||h.push(k)}else if("."==g){if(!this.isHTMLDocument||(!a.getElementsByClassName||this.brokenGEBCN)&&a.querySelectorAll)break a;if(a.getElementsByClassName&&!this.brokenGEBCN){f=a.getElementsByClassName(l);if(c)return f[0]||null;for(g=
0;k=f[g++];)e&&d[this.getUID(k)]||h.push(k)}else{var q=new RegExp("(^|\\s)"+m.escapeRegExp(l)+"(\\s|$)");f=a.getElementsByTagName("*");for(g=0;k=f[g++];)if((className=k.className)&&q.test(className)){if(c)return k;e&&d[this.getUID(k)]||h.push(k)}}}e&&this.sort(h);return c?null:h}a:if(a.querySelectorAll&&!(!this.isHTMLDocument||A[b]||this.brokenMixedCaseQSA||this.brokenCheckedQSA&&-1<b.indexOf(":checked")||this.brokenEmptyAttributeQSA&&D.test(b)||!n&&-1<b.indexOf(",")||m.disableQSA)){g=b;k=a;if(!n){var p=
k.getAttribute("id");k.setAttribute("id","slickid__");g="#slickid__ "+g;a=k.parentNode}try{if(c)return a.querySelector(g)||null;f=a.querySelectorAll(g)}catch(v){A[b]=1;break a}finally{n||(p?k.setAttribute("id",p):k.removeAttribute("id"),a=k)}if(this.starSelectsClosedQSA)for(g=0;k=f[g++];)!("@"<k.nodeName)||e&&d[this.getUID(k)]||h.push(k);else for(g=0;k=f[g++];)e&&d[this.getUID(k)]||h.push(k);e&&this.sort(h);return h}f=this.Slick.parse(b);if(!f.length)return h}else{if(null==b)return h;if(b.Slick)f=
b;else return this.contains(a.documentElement||a,b)&&(h?h.push(b):h=b),h}this.posNTH={};this.posNTHLast={};this.posNTHType={};this.posNTHTypeLast={};this.push=!e&&(c||1==f.length&&1==f.expressions[0].length)?this.pushArray:this.pushUID;null==h&&(h=[]);var t,x,y,z,r,u,w=f.expressions;g=0;a:for(;u=w[g];g++)for(b=0;r=u[b];b++){p="combinator:"+r.combinator;if(!this[p])continue a;n=this.isXMLDocument?r.tag:r.tag.toUpperCase();k=r.id;l=r.classList;y=r.classes;z=r.attributes;r=r.pseudos;t=b===u.length-1;
this.bitUniques={};t?(this.uniques=d,this.found=h):(this.uniques={},this.found=[]);if(0===b){if(this[p](a,n,k,y,z,r,l),c&&t&&h.length)break a}else if(c&&t)for(t=0,x=q.length;t<x;t++){if(this[p](q[t],n,k,y,z,r,l),h.length)break a}else for(t=0,x=q.length;t<x;t++)this[p](q[t],n,k,y,z,r,l);q=this.found}(e||1<f.expressions.length)&&this.sort(h);return c?h[0]||null:h};d.uidx=1;d.uidk="slick-uniqueid";d.getUIDXML=function(a){var b=a.getAttribute(this.uidk);b||(b=this.uidx++,a.setAttribute(this.uidk,b));
return b};d.getUIDHTML=function(a){return a.uniqueNumber||(a.uniqueNumber=this.uidx++)};d.sort=function(a){if(!this.documentSorter)return a;a.sort(this.documentSorter);return a};d.cacheNTH={};d.matchNTH=/^([+-]?\d*)?([a-z]+)?([+-]\d+)?$/;d.parseNTHArgument=function(a){var b=a.match(this.matchNTH);if(!b)return!1;var e=b[2]||!1,c=b[1]||1;"-"==c&&(c=-1);b=+b[3]||0;b="n"==e?{a:c,b:b}:"odd"==e?{a:2,b:1}:"even"==e?{a:2,b:0}:{a:0,b:c};return this.cacheNTH[a]=b};d.createNTHPseudo=function(a,b,e,c){return function(h,
f){var g=this.getUID(h);if(!this[e][g]){var d=h.parentNode;if(!d)return!1;var d=d[a],n=1;if(c){var k=h.nodeName;do d.nodeName==k&&(this[e][this.getUID(d)]=n++);while(d=d[b])}else{do 1==d.nodeType&&(this[e][this.getUID(d)]=n++);while(d=d[b])}}f=f||"n";n=this.cacheNTH[f]||this.parseNTHArgument(f);if(!n)return!1;d=n.a;n=n.b;g=this[e][g];if(0==d)return n==g;if(0<d){if(g<n)return!1}else if(n<g)return!1;return 0==(g-n)%d}};d.pushArray=function(a,b,e,c,h,f){this.matchSelector(a,b,e,c,h,f)&&this.found.push(a)};
d.pushUID=function(a,b,e,c,h,f){var g=this.getUID(a);!this.uniques[g]&&this.matchSelector(a,b,e,c,h,f)&&(this.uniques[g]=!0,this.found.push(a))};d.matchNode=function(a,b){if(this.isHTMLDocument&&this.nativeMatchesSelector)try{return this.nativeMatchesSelector.call(a,b.replace(/\[([^=]+)=\s*([^'"\]]+?)\s*\]/g,'[$1\x3d"$2"]'))}catch(d){}var e=this.Slick.parse(b);if(!e)return!0;var c=e.expressions,h=0,f;for(f=0;currentExpression=c[f];f++)if(1==currentExpression.length){var g=currentExpression[0];if(this.matchSelector(a,
this.isXMLDocument?g.tag:g.tag.toUpperCase(),g.id,g.classes,g.attributes,g.pseudos))return!0;h++}if(h==e.length)return!1;e=this.search(this.document,e);for(f=0;c=e[f++];)if(c===a)return!0;return!1};d.matchPseudo=function(a,b,e){var c="pseudo:"+b;if(this[c])return this[c](a,e);a=this.getAttribute(a,b);return e?e==a:!!a};d.matchSelector=function(a,b,e,c,h,f){if(b){var d=this.isXMLDocument?a.nodeName:a.nodeName.toUpperCase();if("*"==b){if("@">d)return!1}else if(d!=b)return!1}if(e&&a.getAttribute("id")!=
e)return!1;if(c)for(b=c.length;b--;)if(e=this.getAttribute(a,"class"),!e||!c[b].regexp.test(e))return!1;if(h)for(b=h.length;b--;)if(c=h[b],c.operator?!c.test(this.getAttribute(a,c.key)):!this.hasAttribute(a,c.key))return!1;if(f)for(b=f.length;b--;)if(c=f[b],!this.matchPseudo(a,c.key,c.value))return!1;return!0};var v={" ":function(a,b,e,c,h,d,g){var m;if(this.isHTMLDocument){if(e){m=this.document.getElementById(e);if(!m&&a.all||this.idGetsName&&m&&m.getAttributeNode("id").nodeValue!=e){g=a.all[e];
if(!g)return;g[0]||(g=[g]);for(a=0;m=g[a++];){var n=m.getAttributeNode("id");if(n&&n.nodeValue==e){this.push(m,b,null,c,h,d);break}}return}if(m){if(this.document!==a&&!this.contains(a,m))return;this.push(m,b,null,c,h,d);return}if(this.contains(this.root,a))return}if(c&&a.getElementsByClassName&&!this.brokenGEBCN&&(g=a.getElementsByClassName(g.join(" ")))&&g.length){for(a=0;m=g[a++];)this.push(m,b,e,null,h,d);return}}if((g=a.getElementsByTagName(b))&&g.length)for(this.brokenStarGEBTN||(b=null),a=0;m=
g[a++];)this.push(m,b,e,c,h,d)},"\x3e":function(a,b,e,c,d,f){if(a=a.firstChild){do 1==a.nodeType&&this.push(a,b,e,c,d,f);while(a=a.nextSibling)}},"+":function(a,b,e,c,d,f){for(;a=a.nextSibling;)if(1==a.nodeType){this.push(a,b,e,c,d,f);break}},"^":function(a,b,e,c,d,f){if(a=a.firstChild)if(1==a.nodeType)this.push(a,b,e,c,d,f);else this["combinator:+"](a,b,e,c,d,f)},"~":function(a,b,e,c,d,f){for(;a=a.nextSibling;)if(1==a.nodeType){var g=this.getUID(a);if(this.bitUniques[g])break;this.bitUniques[g]=
!0;this.push(a,b,e,c,d,f)}},"++":function(a,b,e,c,d,f){this["combinator:+"](a,b,e,c,d,f);this["combinator:!+"](a,b,e,c,d,f)},"~~":function(a,b,e,c,d,f){this["combinator:~"](a,b,e,c,d,f);this["combinator:!~"](a,b,e,c,d,f)},"!":function(a,b,e,c,d,f){for(;a=a.parentNode;)a!==this.document&&this.push(a,b,e,c,d,f)},"!\x3e":function(a,b,d,c,h,f){a=a.parentNode;a!==this.document&&this.push(a,b,d,c,h,f)},"!+":function(a,b,d,c,h,f){for(;a=a.previousSibling;)if(1==a.nodeType){this.push(a,b,d,c,h,f);break}},
"!^":function(a,b,d,c,h,f){if(a=a.lastChild)if(1==a.nodeType)this.push(a,b,d,c,h,f);else this["combinator:!+"](a,b,d,c,h,f)},"!~":function(a,b,d,c,h,f){for(;a=a.previousSibling;)if(1==a.nodeType){var g=this.getUID(a);if(this.bitUniques[g])break;this.bitUniques[g]=!0;this.push(a,b,d,c,h,f)}}},u;for(u in v)d["combinator:"+u]=v[u];var v={empty:function(a){var b=a.firstChild;return!(b&&1==b.nodeType)&&!(a.innerText||a.textContent||"").length},not:function(a,b){return!this.matchNode(a,b)},contains:function(a,
b){return-1<(a.innerText||a.textContent||"").indexOf(b)},"first-child":function(a){for(;a=a.previousSibling;)if(1==a.nodeType)return!1;return!0},"last-child":function(a){for(;a=a.nextSibling;)if(1==a.nodeType)return!1;return!0},"only-child":function(a){for(var b=a;b=b.previousSibling;)if(1==b.nodeType)return!1;for(;a=a.nextSibling;)if(1==a.nodeType)return!1;return!0},"nth-child":d.createNTHPseudo("firstChild","nextSibling","posNTH"),"nth-last-child":d.createNTHPseudo("lastChild","previousSibling",
"posNTHLast"),"nth-of-type":d.createNTHPseudo("firstChild","nextSibling","posNTHType",!0),"nth-last-of-type":d.createNTHPseudo("lastChild","previousSibling","posNTHTypeLast",!0),index:function(a,b){return this["pseudo:nth-child"](a,""+(b+1))},even:function(a){return this["pseudo:nth-child"](a,"2n")},odd:function(a){return this["pseudo:nth-child"](a,"2n+1")},"first-of-type":function(a){for(var b=a.nodeName;a=a.previousSibling;)if(a.nodeName==b)return!1;return!0},"last-of-type":function(a){for(var b=
a.nodeName;a=a.nextSibling;)if(a.nodeName==b)return!1;return!0},"only-of-type":function(a){for(var b=a,d=a.nodeName;b=b.previousSibling;)if(b.nodeName==d)return!1;for(;a=a.nextSibling;)if(a.nodeName==d)return!1;return!0},enabled:function(a){return!a.disabled},disabled:function(a){return a.disabled},checked:function(a){return a.checked||a.selected},focus:function(a){return this.isHTMLDocument&&this.document.activeElement===a&&(a.href||a.type||this.hasAttribute(a,"tabindex"))},root:function(a){return a===
this.root},selected:function(a){return a.selected}},q;for(q in v)d["pseudo:"+q]=v[q];q=d.attributeGetters={"for":function(){return"htmlFor"in this?this.htmlFor:this.getAttribute("for")},href:function(){return"href"in this?this.getAttribute("href",2):this.getAttribute("href")},style:function(){return this.style?this.style.cssText:this.getAttribute("style")},tabindex:function(){var a=this.getAttributeNode("tabindex");return a&&a.specified?a.nodeValue:null},type:function(){return this.getAttribute("type")},
maxlength:function(){var a=this.getAttributeNode("maxLength");return a&&a.specified?a.nodeValue:null}};q.MAXLENGTH=q.maxLength=q.maxlength;var m=d.Slick=this.Slick||{};m.version="1.1.7";m.search=function(a,b,e){return d.search(a,b,e)};m.find=function(a,b){return d.search(a,b,null,!0)};m.contains=function(a,b){d.setDocument(a);return d.contains(a,b)};m.getAttribute=function(a,b){d.setDocument(a);return d.getAttribute(a,b)};m.hasAttribute=function(a,b){d.setDocument(a);return d.hasAttribute(a,b)};m.match=
function(a,b){if(!a||!b)return!1;if(!b||b===a)return!0;d.setDocument(a);return d.matchNode(a,b)};m.defineAttributeGetter=function(a,b){d.attributeGetters[a]=b;return this};m.lookupAttributeGetter=function(a){return d.attributeGetters[a]};m.definePseudo=function(a,b){d["pseudo:"+a]=function(a,c){return b.call(a,c)};return this};m.lookupPseudo=function(a){var b=d["pseudo:"+a];return b?function(a){return b.call(this,a)}:null};m.override=function(a,b){d.override(a,b);return this};m.isXML=d.isXML;m.uidOf=
function(a){return d.getUIDHTML(a)};this.Slick||(this.Slick=m)}).apply("undefined"!=typeof exports?exports:this);var Element=function(d,c){var e=Element.Constructors[d];if(e)return e(c);if("string"!=typeof d)return document.id(d).set(c);c||(c={});if(!/^[\w-]+$/.test(d)){e=Slick.parse(d).expressions[0][0];d="*"==e.tag?"div":e.tag;e.id&&null==c.id&&(c.id=e.id);var f=e.attributes;if(f)for(var g,h=0,l=f.length;h<l;h++)g=f[h],null==c[g.key]&&(null!=g.value&&"\x3d"==g.operator?c[g.key]=g.value:g.value||g.operator||(c[g.key]=!0));e.classList&&null==c["class"]&&(c["class"]=e.classList.join(" "))}return document.newElement(d,
c)};Browser.Element&&(Element.prototype=Browser.Element.prototype,Element.prototype._fireEvent=function(d){return function(c,e){return d.call(this,c,e)}}(Element.prototype.fireEvent));(new Type("Element",Element)).mirror(function(d){if(!Array.prototype[d]){var c={};c[d]=function(){for(var c=[],f=arguments,g=!0,h=0,l=this.length;h<l;h++)var k=this[h],k=c[h]=k[d].apply(k,f),g=g&&"element"==typeOf(k);return g?new Elements(c):c};Elements.implement(c)}});
Browser.Element||(Element.parent=Object,Element.Prototype={$constructor:Element,$family:Function.from("element").hide()},Element.mirror(function(d,c){Element.Prototype[d]=c}));Element.Constructors={};
var IFrame=new Type("IFrame",function(){var d=Array.link(arguments,{properties:Type.isObject,iframe:function(c){return null!=c}}),c=d.properties||{},e;d.iframe&&(e=document.id(d.iframe));var f=c.onload||function(){};delete c.onload;c.id=c.name=[c.id,c.name,e?e.id||e.name:"IFrame_"+String.uniqueID()].pick();e=new Element(e||"iframe",c);d=function(){f.call(e.contentWindow)};window.frames[c.id]?d():e.addListener("load",d);return e}),Elements=this.Elements=function(d){if(d&&d.length)for(var c={},e,f=
0;e=d[f++];){var g=Slick.uidOf(e);c[g]||(c[g]=!0,this.push(e))}};Elements.prototype={length:0};Elements.parent=Array;
(new Type("Elements",Elements)).implement({filter:function(d,c){return d?new Elements(Array.filter(this,"string"==typeOf(d)?function(c){return c.match(d)}:d,c)):this}.protect(),push:function(){for(var d=this.length,c=0,e=arguments.length;c<e;c++){var f=document.id(arguments[c]);f&&(this[d++]=f)}return this.length=d}.protect(),unshift:function(){for(var d=[],c=0,e=arguments.length;c<e;c++){var f=document.id(arguments[c]);f&&d.push(f)}return Array.prototype.unshift.apply(this,d)}.protect(),concat:function(){for(var d=
new Elements(this),c=0,e=arguments.length;c<e;c++){var f=arguments[c];Type.isEnumerable(f)?d.append(f):d.push(f)}return d}.protect(),append:function(d){for(var c=0,e=d.length;c<e;c++)this.push(d[c]);return this}.protect(),empty:function(){for(;this.length;)delete this[--this.length];return this}.protect()});
(function(){var d=Array.prototype.splice,c={0:0,1:1,length:2};d.call(c,1,1);1==c[1]&&Elements.implement("splice",function(){for(var c=this.length,f=d.apply(this,arguments);c>=this.length;)delete this[c--];return f}.protect());Array.forEachMethod(function(c,d){Elements.implement(d,c)});Array.mirror(Elements);Document.implement({newElement:function(c,d){d&&null!=d.checked&&(d.defaultChecked=d.checked);return this.id(this.createElement(c)).set(d)}})})();
(function(){Slick.uidOf(window);Slick.uidOf(document);Document.implement({newTextNode:function(a){return this.createTextNode(a)},getDocument:function(){return this},getWindow:function(){return this.window},id:function(){var a={string:function(b,c,d){return(b=Slick.find(d,"#"+b.replace(/(\W)/g,"\\$1")))?a.element(b,c):null},element:function(a,c){Slick.uidOf(a);if(!c&&!a.$family&&!/^(?:object|embed)$/i.test(a.tagName)){var d=a.fireEvent;a._fireEvent=function(a,b){return d(a,b)};Object.append(a,Element.Prototype)}return a},
object:function(b,c,d){return b.toElement?a.element(b.toElement(d),c):null}};a.textnode=a.whitespace=a.window=a.document=function(a){return a};return function(b,c,d){if(b&&b.$family&&b.uniqueNumber)return b;var e=typeOf(b);return a[e]?a[e](b,c,d||document):null}}()});null==window.$&&Window.implement("$",function(a,b){return document.id(a,b,this.document)});Window.implement({getDocument:function(){return this.document},getWindow:function(){return this}});[Document,Element].invoke("implement",{getElements:function(a){return Slick.search(this,
a,new Elements)},getElement:function(a){return document.id(Slick.find(this,a))}});var d=function(a,b){if(!a)return b;a=Object.clone(Slick.parse(a));for(var c=a.expressions,d=c.length;d--;)c[d][0].combinator=b;return a};Object.forEach({getNext:"~",getPrevious:"!~",getParent:"!"},function(a,b){Element.implement(b,function(b){return this.getElement(d(b,a))})});Object.forEach({getAllNext:"~",getAllPrevious:"!~",getSiblings:"~~",getChildren:"\x3e",getParents:"!"},function(a,b){Element.implement(b,function(b){return this.getElements(d(b,
a))})});Element.implement({getFirst:function(a){return document.id(Slick.search(this,d(a,"\x3e"))[0])},getLast:function(a){return document.id(Slick.search(this,d(a,"\x3e")).getLast())},getWindow:function(){return this.ownerDocument.window},getDocument:function(){return this.ownerDocument},getElementById:function(a){return document.id(Slick.find(this,"#"+(""+a).replace(/(\W)/g,"\\$1")))},match:function(a){return!a||Slick.match(this,a)}});null==window.$$&&Window.implement("$$",function(a){if(1==arguments.length){if("string"==
typeof a)return Slick.search(this.document,a,new Elements);if(Type.isEnumerable(a))return new Elements(a)}return new Elements(arguments)});var c={before:function(a,b){var c=b.parentNode;c&&c.insertBefore(a,b)},after:function(a,b){var c=b.parentNode;c&&c.insertBefore(a,b.nextSibling)},bottom:function(a,b){b.appendChild(a)},top:function(a,b){b.insertBefore(a,b.firstChild)}};c.inside=c.bottom;var e={},f={},g={};Array.forEach("type value defaultValue accessKey cellPadding cellSpacing colSpan frameBorder rowSpan tabIndex useMap".split(" "),
function(a){g[a.toLowerCase()]=a});g.html="innerHTML";g.text=null==document.createElement("div").textContent?"innerText":"textContent";Object.forEach(g,function(a,b){f[b]=function(b,c){b[a]=c};e[b]=function(b){return b[a]}});Array.forEach("compact nowrap ismap declare noshade checked disabled readOnly multiple selected noresize defer defaultChecked autofocus controls autoplay loop".split(" "),function(a){var b=a.toLowerCase();f[b]=function(b,c){b[a]=!!c};e[b]=function(b){return!!b[a]}});Object.append(f,
{"class":function(a,b){"className"in a?a.className=b||"":a.setAttribute("class",b)},"for":function(a,b){"htmlFor"in a?a.htmlFor=b:a.setAttribute("for",b)},style:function(a,b){a.style?a.style.cssText=b:a.setAttribute("style",b)},value:function(a,b){a.value=null!=b?b:""}});e["class"]=function(a){return"className"in a?a.className||null:a.getAttribute("class")};var h=document.createElement("button");try{h.type="button"}catch(a){}"button"!=h.type&&(f.type=function(a,b){a.setAttribute("type",b)});h=null;
h=document.createElement("input");h.value="t";h.type="submit";"t"!=h.value&&(f.type=function(a,b){var c=a.value;a.type=b;a.value=c});h=null;Element.implement({setProperty:function(a,b){var c=f[a.toLowerCase()];c?c(this,b):null==b?this.removeAttribute(a):this.setAttribute(a,""+b);return this},setProperties:function(a){for(var b in a)this.setProperty(b,a[b]);return this},getProperty:function(a){var b=e[a.toLowerCase()];return b?b(this):(b=Slick.getAttribute(this,a))||Slick.hasAttribute(this,a)?b:null},
getProperties:function(){var a=Array.mtFrom(arguments);return a.map(this.getProperty,this).associate(a)},removeProperty:function(a){return this.setProperty(a,null)},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this},set:function(a,b){var c=Element.Properties[a];c&&c.set?c.set.call(this,b):this.setProperty(a,b)}.overloadSetter(),get:function(a){var b=Element.Properties[a];return b&&b.get?b.get.apply(this):this.getProperty(a)}.overloadGetter(),erase:function(a){var b=
Element.Properties[a];b&&b.erase?b.erase.apply(this):this.removeProperty(a);return this},hasClass:function(a){return this.className.clean().contains(a," ")},addClass:function(a){this.hasClass(a)||(this.className=(this.className+" "+a).clean());return this},removeClass:function(a){this.className=this.className.replace(new RegExp("(^|\\s)"+a+"(?:\\s|$)"),"$1");return this},toggleClass:function(a,b){null==b&&(b=!this.hasClass(a));return b?this.addClass(a):this.removeClass(a)},adopt:function(){var a=
this,b,c=Array.flatten(arguments),d=c.length;1<d&&(a=b=document.createDocumentFragment());for(var e=0;e<d;e++){var f=document.id(c[e],!0);f&&a.appendChild(f)}b&&this.appendChild(b);return this},appendText:function(a,b){return this.grab(this.getDocument().newTextNode(a),b)},grab:function(a,b){c[b||"bottom"](document.id(a,!0),this);return this},inject:function(a,b){c[b||"bottom"](this,document.id(a,!0));return this},replaces:function(a){a=document.id(a,!0);a.parentNode.replaceChild(this,a);return this},
wraps:function(a,b){a=document.id(a,!0);return this.replaces(a).grab(a,b)},getSelected:function(){this.selectedIndex;return new Elements(Array.mtFrom(this.options).filter(function(a){return a.selected}))},toQueryString:function(a){var b=[];this.getElements("input, select, textarea").each(function(c){var d=c.type;c.name&&!c.disabled&&"submit"!=d&&"reset"!=d&&"file"!=d&&"image"!=d&&(d="select"==c.get("tag")?c.getSelected().map(function(a){return document.id(a).get("value")}):"radio"!=d&&"checkbox"!=
d||c.checked?c.get("value"):null,Array.mtFrom(d).each(function(d){if("undefined"!=typeof d){var e=a?a(c.name):c.name;b.push(encodeURIComponent(e)+"\x3d"+encodeURIComponent(d))}}))});return b.join("\x26")}});var l={},k={},m=function(a){return k[a]||(k[a]={})},n=function(a){var b=a.uniqueNumber;a.removeEvents&&a.removeEvents();a.clearAttributes&&a.clearAttributes();null!=b&&(delete l[b],delete k[b]);return a},p={input:"checked",option:"selected",textarea:"value"};Element.implement({destroy:function(){var a=
n(this).getElementsByTagName("*");Array.each(a,n);Element.dispose(this);return null},empty:function(){Array.mtFrom(this.childNodes).each(Element.dispose);return this},dispose:function(){return this.parentNode?this.parentNode.removeChild(this):this},clone:function(a,b){a=!1!==a;var c=this.cloneNode(a),d=[c],e=[this],f;a&&(d.append(Array.mtFrom(c.getElementsByTagName("*"))),e.append(Array.mtFrom(this.getElementsByTagName("*"))));for(f=d.length;f--;){var g=d[f],h=e[f];b||g.removeAttribute("id");var k=
p[h.tagName.toLowerCase()];k&&h[k]&&(g[k]=h[k])}return document.id(c)}});[Element,Window,Document].invoke("implement",{addListener:function(a,b,c){if("unload"==a){var d=b,e=this;b=function(){e.removeListener("unload",b);d()}}else l[Slick.uidOf(this)]=this;this.addEventListener?this.addEventListener(a,b,!!c):this.attachEvent("on"+a,b);return this},removeListener:function(a,b,c){this.removeEventListener?this.removeEventListener(a,b,!!c):this.detachEvent("on"+a,b);return this},retrieve:function(a,b){var c=
m(Slick.uidOf(this)),d=c[a];null!=b&&null==d&&(d=c[a]=b);return null!=d?d:null},store:function(a,b){m(Slick.uidOf(this))[a]=b;return this},eliminate:function(a){delete m(Slick.uidOf(this))[a];return this}});Element.Properties={};Element.Properties.style={set:function(a){this.style.cssText=a},get:function(){return this.style.cssText},erase:function(){this.style.cssText=""}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase()}};Element.Properties.html={set:function(a){null==a?a=
"":"array"==typeOf(a)&&(a=a.join(""));this.innerHTML=a},erase:function(){this.innerHTML=""}};document.createElement("div").getAttributeNode("id")&&(Element.Properties.id={set:function(a){this.id=this.getAttributeNode("id").value=a},get:function(){return this.id||null},erase:function(){this.id=this.getAttributeNode("id").value=""}})})();(function(){var f=function(){},g="onprogress"in new Browser.Request,h=this.MtRequest=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:!0,format:!1,method:"post",link:"ignore",isSuccess:null,emulation:!0,urlEncoded:!0,encoding:"utf-8",evalScripts:!1,evalResponse:!1,timeout:0,noCache:!1},initialize:function(a){this.xhr=new Browser.Request;this.setOptions(a);this.headers=
this.options.headers},onStateChange:function(){var a=this.xhr;4==a.readyState&&this.running&&(this.running=!1,this.status=0,Function.attempt(function(){var b=a.status;this.status=1223==b?204:b}.bind(this)),a.onreadystatechange=f,g&&(a.onprogress=a.onloadstart=f),clearTimeout(this.timer),this.response={text:this.xhr.responseText||"",xml:this.xhr.responseXML},this.options.isSuccess.call(this,this.status)?this.success(this.response.text,this.response.xml):this.failure())},isSuccess:function(){var a=
this.status;return 200<=a&&300>a},isRunning:function(){return!!this.running},processScripts:function(a){return this.options.evalResponse||/(ecma|java)script/.test(this.getHeader("Content-type"))?Browser.exec(a):a.stripScripts(this.options.evalScripts)},success:function(a,b){this.onSuccess(this.processScripts(a),b)},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain()},failure:function(){this.onFailure()},onFailure:function(){this.fireEvent("complete").fireEvent("failure",
this.xhr)},loadstart:function(a){this.fireEvent("loadstart",[a,this.xhr])},progress:function(a){this.fireEvent("progress",[a,this.xhr])},timeout:function(){this.fireEvent("timeout",this.xhr)},setHeader:function(a,b){this.headers[a]=b;return this},getHeader:function(a){return Function.attempt(function(){return this.xhr.getResponseHeader(a)}.bind(this))},check:function(){if(!this.running)return!0;switch(this.options.link){case "cancel":return this.cancel(),!0;case "chain":this.chain(this.caller.pass(arguments,
this))}return!1},send:function(a){if(!this.check(a))return this;this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.running=!0;var b=typeOf(a);if("string"==b||"element"==b)a={data:a};b=this.options;a=Object.append({data:b.data,url:b.url,method:b.method},a);var c=a.data,b=String(a.url);a=a.method.toLowerCase();switch(typeOf(c)){case "element":c=document.id(c).toQueryString();break;case "object":case "hash":c=Object.toQueryString(c)}if(this.options.format)var e="format\x3d"+this.options.format,
c=c?e+"\x26"+c:e;this.options.emulation&&!["get","post"].contains(a)&&(a="_method\x3d"+a,c=c?a+"\x26"+c:a,a="post");this.options.urlEncoded&&["post","put"].contains(a)&&(this.headers["Content-type"]="application/x-www-form-urlencoded"+(this.options.encoding?"; charset\x3d"+this.options.encoding:""));b||(b=document.location.pathname);e=b.lastIndexOf("/");-1<e&&-1<(e=b.indexOf("#"))&&(b=b.substr(0,e));this.options.noCache&&(b+=(b.contains("?")?"\x26":"?")+String.uniqueID());c&&"get"==a&&(c=(""+c).replace(/\[/g,
"%5B").replace(/\]/g,"%5D"),b+=(b.contains("?")?"\x26":"?")+c,c=null);var d=this.xhr;g&&(d.onloadstart=this.loadstart.bind(this),d.onprogress=this.progress.bind(this));d.open(a.toUpperCase(),b,this.options.async,this.options.user,this.options.password);(this.options.user||this.options.withCredentials)&&"withCredentials"in d&&(d.withCredentials=!0);d.onreadystatechange=this.onStateChange.bind(this);Object.each(this.headers,function(a,b){try{d.setRequestHeader(b,a)}catch(c){this.fireEvent("exception",
[b,a])}},this);this.fireEvent("request");d.send(c);if(this.options.async)this.options.timeout&&(this.timer=this.timeout.delay(this.options.timeout,this));else this.onStateChange();return this},cancel:function(){if(!this.running)return this;this.running=!1;var a=this.xhr;a.abort();clearTimeout(this.timer);a.onreadystatechange=f;g&&(a.onprogress=a.onloadstart=f);this.xhr=new Browser.Request;this.fireEvent("cancel");return this}}),k={};"get post put delete GET POST PUT DELETE".split(" ").each(function(a){k[a]=
function(b){var c={method:a};null!=b&&(c.data=b);return this.send(c)}});h.implement(k);Element.Properties.send={set:function(a){this.get("send").cancel().setOptions(a);return this},get:function(){var a=this.retrieve("send");a||(a=new h({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")}),this.store("send",a));return a}};Element.implement({send:function(a){var b=this.get("send");b.send({data:this,url:a||b.options.url});return this}})})();MtRequest.JSON=new Class({Extends:MtRequest,options:{secure:!0},initialize:function(a){this.parent(a);Object.append(this.headers,{Accept:"application/json","X-Request":"JSON"})},success:function(a){var b;try{b=this.response.json=JSON.parse(a)}catch(c){this.fireEvent("error",[a,c]);return}if(null==b)this.onFailure();else this.onSuccess(b,a)}});(function(){var b=Class;Class=function(a,d,f){var c=1<arguments.length;c&&(d.$name=a);var e=new b(c?d:a);c&&Object.place(a,e,f);return e};for(var a in b)b.hasOwnProperty(a)&&(Class[a]=b[a])})();__registerModule("/nz/co/airnz/vui/catchupevents/catchupevents",function(g,e){function d(b){return b.replace(/^on([A-Z])/,function(b,a){return a.toLowerCase()})}Object.defineProperty(e,"__esModule",{value:!0});var f=Class("VUI.CatchUpEvents",{Extends:window.Events,fireEvent:function(b,c,a){b=d(b);this.$catchup||(this.$catchup={});this.$catchup[b]={args:c,delay:a||0};return this.parent(b,c,a||1)},addEvent:function(b,c){var a=d(b);/:catchup/.test(a)&&(a=a.replace(":catchup",""),this.$catchup&&this.$catchup[a]&&
c.delay(this.$catchup[a].delay,this,this.$catchup[a].args));return this.parent(a,c)},removeEvent:function(b,c){var a=d(b);/:catchup/.test(a)&&(a=a.replace(":catchup",""));return this.parent(a,c)}});e.default=f});__registerModule("/nz/co/airnz/vui/jsoneventrepeater/jsoneventrepeater",function(k,l){Object.defineProperty(l,"__esModule",{value:!0});var f=k("../injector/injector"),f=babelHelpers.interopRequireDefault(f),d=k("../catchupevents/catchupevents"),d=new (function(d){function e(){babelHelpers.classCallCheck(this,e);var a=babelHelpers.possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));a._runningJsonRequests={};var b=a.fireEvent.bind(a),c=a.success.bind(a),d=a._startRequest.bind(a),
g=a._completeRequest.bind(a),f=a.afterAllTrackedRequestsCompleted.bind(a),n=a.afterTrackedRequestsCompleted.bind(a);MtRequest.prototype.addEvents({onRequest:function(){b("request",[this])}});MtRequest.JSON.prototype.addEvents({onRequest:function(){b("request",[this])},onSuccess:function(a,b){c(a,b);g(this)},onError:function(a,c){b("error",[a,c]);g(this)},onFailure:function(a){var c=void 0;try{c=JSON.parse(a.responseText)}catch(d){}b("failure",c,!0);g(this)},onCancel:function(){b("cancel");g(this)},
onTimeout:function(){b("timeout");g(this)}});var h=MtRequest.JSON.prototype.send;MtRequest.JSON.prototype.send=function(){d(this);for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];a=b[0]||{};a.vuiAfterTrackedRequests||!1!==a.vuiAfterTrackedRequests&&this.options.vuiAfterTrackedRequests?(a=a.vuiAfterTrackedRequests||this.options.vuiAfterTrackedRequests,!0===a?f(h.pass(b,this)):n(a,h.pass(b,this))):h.apply(this,b)};return a}babelHelpers.inherits(e,d);babelHelpers.createClass(e,[{key:"success",
value:function(a){a&&(this._refireAll("success",a),this._refireAll("post-success",a))}},{key:"_refireAll",value:function(a,b){this.fireEvent(a,[b]);if(Array.isArray(b))for(var c=0;c<b.length;c+=1)this.refire(a,b[c]);else this.refire(a,b)}},{key:"refire",value:function(a,b){this.fireEvent(a+"-"+b.name,[b])}},{key:"_startRequest",value:function(a){if(a=a.options.vuiTrackingKey)this._runningJsonRequests[a]?this._runningJsonRequests[a]+=1:(this.fireEvent("trackedRequestsStart",a),this._runningJsonRequests[a]=
1)}},{key:"_completeRequest",value:function(a){(a=a.options.vuiTrackingKey)&&this._runningJsonRequests[a]&&(--this._runningJsonRequests[a],0===this._runningJsonRequests[a]&&(delete this._runningJsonRequests[a],this.fireEvent("trackedRequestsComplete",a),Object.getLength(this._runningJsonRequests)||this.fireEvent("allTrackedRequestsComplete")))}},{key:"afterAllTrackedRequestsCompleted",value:function(a){Object.getLength(this._runningJsonRequests)?this.addEvent("allTrackedRequestsComplete",a):a()}},
{key:"afterTrackedRequestsCompleted",value:function(a,b){var c=this,d=Array.mtFrom(a);d.some(function(a){return!!c._runningJsonRequests[a]})?function(){c.addEvent("trackedRequestsComplete",function m(){d.some(function(a){return!!c._runningJsonRequests[a]})||(c.removeEvent("trackedRequestsComplete",m),b())})}():b()}}]);return e}(babelHelpers.interopRequireDefault(d).default));window.jsonEvents=d;f.default.bindSingleton("JsonEventRepeater",d);l.default=d});__registerModule("/nz/co/airnz/vui/pageinit/pageinit",function(b,c){Object.defineProperty(c,"__esModule",{value:!0});var a=b("../injector/injector"),d=babelHelpers.interopRequireDefault(a),a=b("../jsoneventrepeater/jsoneventrepeater"),e=babelHelpers.interopRequireDefault(a),a=function(a){var b=[];a.forEach(function(a){var c="init"+a.name;d.default.bind(c,{singleton:!0,instance:a});e.default.refire("success",a);b.push(c)});return b};Object.place("VUI.pageInit",a);c.default=a});!function(r,m,t){function p(){return"function"!=typeof m.createElement?m.createElement(arguments[0]):w?m.createElementNS.call(m,"http://www.w3.org/2000/svg",arguments[0]):m.createElement.apply(m,arguments)}function I(a){return a.replace(/([a-z])-([a-z])/g,function(b,a,y){return a+y.toUpperCase()}).replace(/^-/,"")}function J(a,b){return function(){return a.apply(b,arguments)}}function z(a){return a.replace(/([A-Z])/g,function(b,a){return"-"+a.toLowerCase()}).replace(/^ms-/,"-ms-")}function K(a,b,
c,y){var e,k,d,l,g=p("div"),h;d=m.body;h=(d||(d=p(w?"svg":"body"),d.fake=!0),d);if(parseInt(c,10))for(;c--;)d=p("div"),d.id=y?y[c]:"modernizr"+(c+1),g.appendChild(d);return e=p("style"),e.type="text/css",e.id="smodernizr",(h.fake?h:g).appendChild(e),h.appendChild(g),e.styleSheet?e.styleSheet.cssText=a:e.appendChild(m.createTextNode(a)),g.id="modernizr",h.fake&&(h.style.background="",h.style.overflow="hidden",l=q.style.overflow,q.style.overflow="hidden",q.appendChild(h)),k=b(g,a),h.fake?(h.parentNode.removeChild(h),
q.style.overflow=l,q.offsetHeight):g.parentNode.removeChild(g),!!k}function L(a,b){var c=a.length;if("CSS"in r&&"supports"in r.CSS){for(;c--;)if(r.CSS.supports(z(a[c]),b))return!0;return!1}if("CSSSupportsRule"in r){for(var d=[];c--;)d.push("("+z(a[c])+":"+b+")");return d=d.join(" or "),K("@supports ("+d+") { #modernizr { position: absolute; } }",function(b){return"absolute"==getComputedStyle(b,null).position})}return t}function A(a,b,c,d){function e(){f&&(delete n.style,delete n.modElem)}if(d="undefined"===
typeof d?!1:d,"undefined"!==typeof c){var k=L(a,c);if("undefined"!==typeof k)return k}for(var f,l,g,h,k=["modernizr","tspan"];!n.style;)f=!0,n.modElem=p(k.shift()),n.style=n.modElem.style;l=a.length;for(k=0;l>k;k++)if(g=a[k],h=n.style[g],!!~(""+g).indexOf("-")&&(g=I(g)),n.style[g]!==t){if(d||"undefined"===typeof c)return e(),"pfx"==b?g:!0;try{n.style[g]=c}catch(m){}if(n.style[g]!=h)return e(),"pfx"==b?g:!0}return e(),!1}function B(a,b,c,d,e){var k=a.charAt(0).toUpperCase()+a.slice(1),f=(a+" "+C.join(k+
" ")+k).split(" "),l;if("string"===typeof b||"undefined"===typeof b)l=A(f,b,d,e);else{f=(a+" "+D.join(k+" ")+k).split(" ");a:{a=f;for(var g in a)if(a[g]in b){b=!1===c?a[g]:(l=b[a[g]],"function"===typeof l?J(l,c||b):l);break a}b=!1}l=b}return l}function E(a,b,c){return B(a,t,t,b,c)}var F=[],x=[],f={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(a,b){var c=this;setTimeout(function(){b(c[a])},0)},addTest:function(a,b,c){x.push({name:a,fn:b,
options:c})},addAsyncTest:function(a){x.push({name:null,fn:a})}},d=function(){};d.prototype=f;var d=new d,q=m.documentElement,w="svg"===q.nodeName.toLowerCase();w||!function(a,b){function c(){var b=u.elements;return"string"==typeof b?b.split(" "):b}function d(b){var a=t[b[r]];return a||(a={},p++,b[r]=p,t[p]=a),a}function e(a,c,v){if(c||(c=b),g)return c.createElement(a);v||(v=d(c));var e;return e=v.cache[a]?v.cache[a].cloneNode():q.test(a)?(v.cache[a]=v.createElem(a)).cloneNode():v.createElem(a),!e.canHaveChildren||
n.test(a)||e.tagUrn?e:v.frag.appendChild(e)}function f(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag());a.createElement=function(c){return u.shivMethods?e(c,a,b):b.createElem(c)};a.createDocumentFragment=Function("h,f","return function(){var n\x3df.cloneNode(),c\x3dn.createElement;h.shivMethods\x26\x26("+c().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(u,b.frag)}
function m(a){a||(a=b);var c=d(a);if(u.shivCSS&&!l&&!c.hasCSS){var e,h=a;e=h.createElement("p");h=h.getElementsByTagName("head")[0]||h.documentElement;e=(e.innerHTML="x\x3cstyle\x3earticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}\x3c/style\x3e",h.insertBefore(e.lastChild,h.firstChild));c.hasCSS=!!e}return g||f(a,c),a}var l,g,h=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
q=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,r="_html5shiv",p=0,t={};!function(){try{var a=b.createElement("a");a.innerHTML="\x3cxyz\x3e\x3c/xyz\x3e";l="hidden"in a;var c;if(!(c=1==a.childNodes.length)){b.createElement("a");var d=b.createDocumentFragment();c="undefined"==typeof d.cloneNode||"undefined"==typeof d.createDocumentFragment||"undefined"==typeof d.createElement}g=c}catch(e){g=l=!0}}();var u={elements:h.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",
version:"3.7.3",shivCSS:!1!==h.shivCSS,supportsUnknownElements:g,shivMethods:!1!==h.shivMethods,type:"default",shivDocument:m,createElement:e,createDocumentFragment:function(a,e){if(a||(a=b),g)return a.createDocumentFragment();e=e||d(a);for(var h=e.frag.cloneNode(),f=0,k=c(),l=k.length;l>f;f++)h.createElement(k[f]);return h},addElements:function(a,b){var c=u.elements;"string"!=typeof c&&(c=c.join(" "));"string"!=typeof a&&(a=a.join(" "));u.elements=c+" "+a;m(b)}};a.html5=u;m(b);"object"==typeof module&&
module.exports&&(module.exports=u)}("undefined"!=typeof r?r:this,m);var D=f._config.usePrefixes?["moz","o","ms","webkit"]:[];f._domPrefixes=D;var C=f._config.usePrefixes?["Moz","O","ms","Webkit"]:[];f._cssomPrefixes=C;var G={elem:p("modernizr")};d._q.push(function(){delete G.elem});var n={style:G.elem.style};d._q.unshift(function(){delete n.style});f.testProp=function(a,b,c){return A([a],t,b,c)};f.testAllProps=B;f.testAllProps=E;d.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&
E("transform","scale(1)",!0)});var H=f._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];f._prefixes=H;d.addTest("csspositionsticky",function(){var a=p("a").style;return a.cssText="position:"+H.join("sticky;position:").slice(0,-9),-1!==a.position.indexOf("sticky")});(function(){var a,b,c,f,e,k;for(k in x)if(x.hasOwnProperty(k)){if(a=[],b=x[k],b.name&&(a.push(b.name.toLowerCase()),b.options&&b.options.aliases&&b.options.aliases.length))for(c=0;c<b.options.aliases.length;c++)a.push(b.options.aliases[c].toLowerCase());
c="function"===typeof b.fn?b.fn():b.fn;for(f=0;f<a.length;f++)e=a[f],e=e.split("."),1===e.length?d[e[0]]=c:(!d[e[0]]||d[e[0]]instanceof Boolean||(d[e[0]]=new Boolean(d[e[0]])),d[e[0]][e[1]]=c),F.push((c?"":"no-")+e.join("-"))}})();(function(a){var b=q.className,c=d._config.classPrefix||"";if(w&&(b=b.baseVal),d._config.enableJSClass)b=b.replace(new RegExp("(^|\\s)"+c+"no-js(\\s|$)"),"$1"+c+"js$2");d._config.enableClasses&&(b+=" "+c+a.join(" "+c),w?q.className.baseVal=b:q.className=b)})(F);delete f.addTest;
delete f.addAsyncTest;for(f=0;f<d._q.length;f++)d._q[f]();r.Modernizr=d}(window,document);__registerModule("/nz/co/airnz/vui/vlook/vlook",function(a,b){});__registerModule("/nz/co/airnz/vui/common/messages/messages.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"vui.messages.label.close":"Close","vui.messages.payment.text":"Pay now","vui.messages.selectandcontinue":"Select and continue"};Locale.define("en-NZ","vui",{common:{messages:b}});a.default=b});(function(){var f={},e=this.DOMEvent=new Type("DOMEvent",function(a,d){d||(d=window);a=a||d.event;if(a.$extended)return a;this.event=a;this.$extended=!0;this.shift=a.shiftKey;this.control=a.ctrlKey;this.alt=a.altKey;this.meta=a.metaKey;for(var b=this.type=a.type,c=a.target||a.srcElement;c&&3==c.nodeType;)c=c.parentNode;this.target=document.id(c);if(0==b.indexOf("key"))c=this.code=a.which||a.keyCode,this.key=f[c],"keydown"==b&&(111<c&&124>c?this.key="f"+(c-111):95<c&&106>c&&(this.key=c-96)),null==
this.key&&(this.key=String.fromCharCode(c).toLowerCase());else if("click"==b||"dblclick"==b||"contextmenu"==b||"DOMMouseScroll"==b||0==b.indexOf("mouse")){c=d.document;c=c.compatMode&&"CSS1Compat"!=c.compatMode?c.body:c.html;this.page={x:null!=a.pageX?a.pageX:a.clientX+c.scrollLeft,y:null!=a.pageY?a.pageY:a.clientY+c.scrollTop};this.client={x:null!=a.pageX?a.pageX-d.pageXOffset:a.clientX,y:null!=a.pageY?a.pageY-d.pageYOffset:a.clientY};if("DOMMouseScroll"==b||"mousewheel"==b)this.wheel=a.wheelDelta?
a.wheelDelta/120:-(a.detail||0)/3;this.rightClick=3==a.which||2==a.button;if("mouseover"==b||"mouseout"==b){for(b=a.relatedTarget||a[("mouseover"==b?"from":"to")+"Element"];b&&3==b.nodeType;)b=b.parentNode;this.relatedTarget=document.id(b)}}else if(0==b.indexOf("touch")||0==b.indexOf("gesture"))this.rotation=a.rotation,this.scale=a.scale,this.targetTouches=a.targetTouches,this.changedTouches=a.changedTouches,(b=this.touches=a.touches)&&b[0]&&(b=b[0],this.page={x:b.pageX,y:b.pageY},this.client={x:b.clientX,
y:b.clientY});this.client||(this.client={});this.page||(this.page={})});e.implement({stop:function(){return this.preventDefault().stopPropagation()},stopPropagation:function(){this.event.stopPropagation?this.event.stopPropagation():this.event.cancelBubble=!0;return this},preventDefault:function(){this.event.preventDefault?this.event.preventDefault():this.event.returnValue=!1;return this}});e.defineKey=function(a,d){f[a]=d;return this};e.defineKeys=e.defineKey.overloadSetter(!0);e.defineKeys({38:"up",
40:"down",37:"left",39:"right",27:"esc",32:"space",8:"backspace",9:"tab",46:"delete",13:"enter"})})();(function(){Element.Properties.events={set:function(a){this.addEvents(a)}};[Element,Window,Document].invoke("implement",{addEvent:function(a,b,d){var c=this.retrieve("events",{});c[a]||(c[a]={keys:[],values:[]});if(c[a].keys.contains(b))return this;c[a].keys.push(b);var e=a,f=Element.Events[a],g=b,h=this;f&&(f.onAdd&&f.onAdd.call(this,b,a),f.condition&&(g=function(c){return f.condition.call(this,c,a)?b.call(this,c):!0}),f.base&&(e=Function.from(f.base).call(this,a)));var k=function(){return b.call(h)},
l=Element.NativeEvents[e];l&&(2==l&&(k=function(a){a=new DOMEvent(a,h.getWindow());!1===g.call(h,a)&&a.stop()}),this.addListener(e,k,d));c[a].values.push(k);return this},removeEvent:function(a,b,d){var c=this.retrieve("events");if(!c||!c[a])return this;var e=c[a],f=e.keys.indexOf(b);if(-1==f)return this;c=e.values[f];delete e.keys[f];delete e.values[f];if(e=Element.Events[a])e.onRemove&&e.onRemove.call(this,b,a),e.base&&(a=Function.from(e.base).call(this,a));return Element.NativeEvents[a]?this.removeListener(a,
c,d):this},addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},removeEvents:function(a){var b;if("object"==typeOf(a)){for(b in a)this.removeEvent(b,a[b]);return this}var d=this.retrieve("events");if(!d)return this;if(a)d[a]&&(d[a].keys.each(function(b){this.removeEvent(a,b)},this),delete d[a]);else{for(b in d)this.removeEvents(b);this.eliminate("events")}return this},fireEvent:function(a,b,d){var c=this.retrieve("events");if(!c||!c[a])return this;b=Array.mtFrom(b);c[a].keys.each(function(a){d?
a.delay(d,this,b):a.apply(this,b)},this);return this},cloneEvents:function(a,b){a=document.id(a);var d=a.retrieve("events");if(!d)return this;if(b)d[b]&&d[b].keys.each(function(a){this.addEvent(b,a)},this);else for(var c in d)this.cloneEvents(a,c);return this}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,orientationchange:2,touchstart:2,touchmove:2,
touchend:2,touchcancel:2,gesturestart:2,gesturechange:2,gestureend:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,paste:2,input:2,load:2,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};Element.Events={mousewheel:{base:Browser.firefox?"DOMMouseScroll":"mousewheel"}};if("onmouseenter"in document.documentElement)Element.NativeEvents.mouseenter=Element.NativeEvents.mouseleave=2;else{var g=function(a){a=a.relatedTarget;return null==a?!0:a?a!=
this&&"xul"!=a.prefix&&"document"!=typeOf(this)&&!this.contains(a):!1};Element.Events.mouseenter={base:"mouseover",condition:g};Element.Events.mouseleave={base:"mouseout",condition:g}}})();(function(){Array.prototype.find||Array.implement({find:function(a,b){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!==typeof a)throw new TypeError("predicate must be a function");for(var c=Object(this),e=c.length>>>0,d,f=0;f<e;f++)if(d=c[f],a.call(b,d,f,c))return d}});Array.prototype.findBy||Array.implement({findBy:function(a,b){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");return this.find(function(c){return c[a]===
b})}});Array.implement({sortBy:function(a){if(null==this)throw new TypeError("Array.prototype.sortBy called on null or undefined");return this.sort(function(b,c){var e=b[a],d=c[a];return e<d?-1:e>d?1:0})}});Array.prototype.move||Array.implement({move:function(a,b){if(b>=this.length)for(var c=b-this.length;c--+1;)this.push(void 0);this.splice(b,0,this.splice(a,1)[0])}})})();(function(){Class("VUI.Templates",{loadTemplates:function(a){a=a||{};if(a.hogan)return a=new Hogan.Template(a.hogan),this._populateTemplate.bind(this,a);var b=this;a.componentId?a=a.componentId:(a=this.$name.split("."),a=(a.join(".")+"."+a[a.length-1]).toLowerCase());b._templates=Object.map(Object.getFromPath(templates,a).hoganTemplates,function(a){return new Hogan.Template(a)});b.templates=Object.map(b._templates,function(a){return b._populateTemplate.bind(b,a)});return b.templates},_populateTemplate:function(a,
b){b?b.ctx=ctx:b={ctx:ctx};window._sourcePage&&(b._sourcePageTag="\x3cinput name\x3d'_sourcePage' type\x3d'hidden' value\x3d'"+window._sourcePage+"'/\x3e");var c=a.render(b,this._templates);return(new Element("div",{html:c})).getFirst()}});Element.implement({resolveElements:function(a){var b=this;return Object.map(a,function(a){a=b.getElements(a);switch(a.length){case 0:return null;case 1:return a[0];default:return a}})}})})();var Hogan={};
(function(n,k){function l(a){return String(null===a||void 0===a?"":a)}n.Template=function(a,b,c,e){this.r=a||this.r;this.c=c;this.options=e;this.text=b||"";this.buf=k?[]:""};n.Template.prototype={r:function(a,b,c){return""},v:function(a){a=l(a);return p.test(a)?a.replace(q,"\x26amp;").replace(r,"\x26lt;").replace(t,"\x26gt;").replace(u,"\x26#39;").replace(v,"\x26quot;"):a},t:l,render:function(a,b,c){return this.ri([a],b||{},c)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,e){a=c[a];
if(!a)return"";this.c&&"string"==typeof a&&(a=this.c.compile(a,this.options));return a.ri(b,c,e)},rs:function(a,b,c){var e=a[a.length-1];if(m(e))for(var f=0;f<e.length;f++)a.push(e[f]),c(a,b,this),a.pop();else c(a,b,this)},s:function(a,b,c,e,f,d,g){if(m(a)&&0===a.length)return!1;"function"==typeof a&&(a=this.ls(a,b,c,e,f,d,g));c=""===a||!!a;!e&&c&&b&&b.push("object"==typeof a?a:b[b.length-1]);return c},d:function(a,b,c,e){var f=a.split("."),d=this.f(f[0],b,c,e),g=null;if("."===a&&m(b[b.length-2]))return b[b.length-
1];for(a=1;a<f.length;a++)d&&"object"==typeof d&&f[a]in d?(g=d,d=d[f[a]]):d="";if(e&&!d)return!1;e||"function"!=typeof d||(b.push(g),d=this.lv(d,b,c),b.pop());return d},f:function(a,b,c,e){for(var f=!1,d=null,g=!1,h=b.length-1;0<=h;h--)if((d=b[h])&&"object"==typeof d&&a in d){f=d[a];g=!0;break}if(!g)return e?!1:"";e||"function"!=typeof f||(f=this.lv(f,b,c));return f},ho:function(a,b,c,e,f){var d=this.c,g=this.options;g.delimiters=f;a=a.call(b,e,function(a){return d.compile(a,g).render(b,c)});this.b(d.compile(a.toString(),
g).render(b,c));return!1},b:k?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:k?function(){var a=this.buf.join("");this.buf=[];return a}:function(){var a=this.buf;this.buf="";return a},ls:function(a,b,c,e,f,d,g){b=b[b.length-1];var h=null;if(!e&&this.c&&0<a.length)return this.ho(a,b,c,this.text.substring(f,d),g);h=a.call(b);if("function"==typeof h){if(e)return!0;if(this.c)return this.ho(h,b,c,this.text.substring(f,d),g)}return h},lv:function(a,b,c){b=b[b.length-1];a=a.call(b);"function"==
typeof a&&(a=a.call(b));a=l(a);return this.c&&~a.indexOf("{\\u007B")?this.c.compile(a,this.options).render(b,c):a}};var q=/&/g,r=/</g,t=/>/g,u=/\'/g,v=/\"/g,p=/[&<>\"\']/,m=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}})("undefined"!==typeof exports?exports:Hogan);(function(){(function(U){var r=this||(0,eval)("this"),x=r.document,M=r.navigator,t=r.jQuery,F=r.JSON;(function(t){"function"===typeof define&&define.amd?define(["exports","require"],t):"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?t(module.exports||exports):t(r.ko={})})(function(N,O){function J(a,c){return null===a||typeof a in Q?a===c:!1}function R(a,c){var d;return function(){d||(d=setTimeout(function(){d=void 0;a()},c))}}function S(a,c){var d;return function(){clearTimeout(d);
d=setTimeout(a,c)}}function K(b,c,d,e){a.bindingHandlers[b]={init:function(b,h,k,l,m){var g,u;a.computed(function(){var p=a.utils.unwrapObservable(h()),l=!d!==!p,q=!u;if(q||c||l!==g)q&&a.computedContext.getDependenciesCount()&&(u=a.utils.cloneNodes(a.virtualElements.childNodes(b),!0)),l?(q||a.virtualElements.setDomNodeChildren(b,a.utils.cloneNodes(u)),a.applyBindingsToDescendants(e?e(m,p):m,b)):a.virtualElements.emptyNode(b),g=l},null,{disposeWhenNodeIsRemoved:b});return{controlsDescendantBindings:!0}}};
a.expressionRewriting.bindingRewriteValidators[b]=!1;a.virtualElements.allowedBindings[b]=!0}var a="undefined"!==typeof N?N:{};a.exportSymbol=function(b,c){for(var d=b.split("."),e=a,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=c};a.exportProperty=function(a,c,d){a[c]=d};a.version="3.3.0";a.exportSymbol("version",a.version);a.utils=function(){function b(a,b){for(var d in a)a.hasOwnProperty(d)&&b(d,a[d])}function c(a,b){if(b)for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a}function d(a,
b){a.__proto__=b;return a}function e(b,d,c,g){var e=b[d].match(u)||[];a.utils.arrayForEach(c.match(u),function(b){a.utils.addOrRemoveItem(e,b,g)});b[d]=e.join(" ")}var f={__proto__:[]}instanceof Array,h={},k={},l=M&&/Firefox\/2/i.test(M.userAgent)?"KeyboardEvent":"UIEvents";h[l]=["keyup","keydown","keypress"];h.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");b(h,function(a,b){if(b.length)for(var d=0,c=b.length;d<c;d++)k[b[d]]=a});var m=
{propertychange:!0},g=x&&function(){for(var a=3,b=x.createElement("div"),d=b.getElementsByTagName("i");b.innerHTML="\x3c!--[if gt IE "+ ++a+"]\x3e\x3ci\x3e\x3c/i\x3e\x3c![endif]--\x3e",d[0];);return 4<a?a:void 0}(),u=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(a,b){for(var d=0,c=a.length;d<c;d++)b(a[d],d)},arrayIndexOf:function(a,b){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(a,b);
for(var d=0,c=a.length;d<c;d++)if(a[d]===b)return d;return-1},arrayFirst:function(a,b,d){for(var c=0,g=a.length;c<g;c++)if(b.call(d,a[c],c))return a[c];return null},arrayRemoveItem:function(b,d){var c=a.utils.arrayIndexOf(b,d);0<c?b.splice(c,1):0===c&&b.shift()},arrayGetDistinctValues:function(b){b=b||[];for(var d=[],c=0,g=b.length;c<g;c++)0>a.utils.arrayIndexOf(d,b[c])&&d.push(b[c]);return d},arrayMap:function(a,b){a=a||[];for(var d=[],c=0,g=a.length;c<g;c++)d.push(b(a[c],c));return d},arrayFilter:function(a,
b){a=a||[];for(var d=[],c=0,g=a.length;c<g;c++)b(a[c],c)&&d.push(a[c]);return d},arrayPushAll:function(a,b){if(b instanceof Array)a.push.apply(a,b);else for(var d=0,c=b.length;d<c;d++)a.push(b[d]);return a},addOrRemoveItem:function(b,d,c){var g=a.utils.arrayIndexOf(a.utils.peekObservable(b),d);0>g?c&&b.push(d):c||b.splice(g,1)},canSetPrototype:f,extend:c,setPrototypeOf:d,setPrototypeOfOrExtend:f?d:c,objectForEach:b,objectMap:function(a,b){if(!a)return a;var d={},c;for(c in a)a.hasOwnProperty(c)&&
(d[c]=b(a[c],c,a));return d},emptyDomNode:function(b){for(;b.firstChild;)a.removeNode(b.firstChild)},moveCleanedNodesToContainerElement:function(b){b=a.utils.makeArray(b);for(var d=(b[0]&&b[0].ownerDocument||x).createElement("div"),c=0,g=b.length;c<g;c++)d.appendChild(a.cleanNode(b[c]));return d},cloneNodes:function(b,d){for(var c=0,g=b.length,e=[];c<g;c++){var m=b[c].cloneNode(!0);e.push(d?a.cleanNode(m):m)}return e},setDomNodeChildren:function(b,d){a.utils.emptyDomNode(b);if(d)for(var c=0,g=d.length;c<
g;c++)b.appendChild(d[c])},replaceDomNodes:function(b,d){var c=b.nodeType?[b]:b;if(0<c.length){for(var g=c[0],e=g.parentNode,m=0,l=d.length;m<l;m++)e.insertBefore(d[m],g);m=0;for(l=c.length;m<l;m++)a.removeNode(c[m])}},fixUpContinuousNodeArray:function(a,b){if(a.length){for(b=8===b.nodeType&&b.parentNode||b;a.length&&a[0].parentNode!==b;)a.splice(0,1);if(1<a.length){var d=a[0],c=a[a.length-1];for(a.length=0;d!==c;)if(a.push(d),d=d.nextSibling,!d)return;a.push(c)}}return a},setOptionNodeSelectionState:function(a,
b){7>g?a.setAttribute("selected",b):a.selected=b},stringTrim:function(a){return null===a||void 0===a?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(a,b){a=a||"";return b.length>a.length?!1:a.substring(0,b.length)===b},domNodeIsContainedBy:function(a,b){if(a===b)return!0;if(11===a.nodeType)return!1;if(b.contains)return b.contains(3===a.nodeType?a.parentNode:a);if(b.compareDocumentPosition)return 16==(b.compareDocumentPosition(a)&16);for(;a&&a!=b;)a=
a.parentNode;return!!a},domNodeIsAttachedToDocument:function(b){return a.utils.domNodeIsContainedBy(b,b.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(b){return!!a.utils.arrayFirst(b,a.utils.domNodeIsAttachedToDocument)},tagNameLower:function(a){return a&&a.tagName&&a.tagName.toLowerCase()},registerEventHandler:function(b,d,c){var e=g&&m[d];if(!e&&t)t(b).bind(d,c);else if(e||"function"!=typeof b.addEventListener)if("undefined"!=typeof b.attachEvent){var l=function(a){c.call(b,
a)},f="on"+d;b.attachEvent(f,l);a.utils.domNodeDisposal.addDisposeCallback(b,function(){b.detachEvent(f,l)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else b.addEventListener(d,c,!1)},triggerEvent:function(b,d){if(!b||!b.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var c;"input"===a.utils.tagNameLower(b)&&b.type?"click"!=d.toLowerCase()?c=!1:(c=b.type,c="checkbox"==c||"radio"==c):c=!1;if(t&&!c)t(b).trigger(d);else if("function"==typeof x.createEvent)if("function"==
typeof b.dispatchEvent)c=x.createEvent(k[d]||"HTMLEvents"),c.initEvent(d,!0,!0,r,0,0,0,0,0,!1,!1,!1,!1,0,b),b.dispatchEvent(c);else throw Error("The supplied element doesn't support dispatchEvent");else if(c&&b.click)b.click();else if("undefined"!=typeof b.fireEvent)b.fireEvent("on"+d);else throw Error("Browser doesn't support triggering events");},unwrapObservable:function(b){return a.isObservable(b)?b():b},wrapObservable:function(b){return a.isObservable(b)?b:a.observable(b)},peekObservable:function(b){return a.isObservable(b)?
b.peek():b},toggleDomNodeCssClass:function(b,d,c){var g;d&&("object"===typeof b.classList?(g=b.classList[c?"add":"remove"],a.utils.arrayForEach(d.match(u),function(a){g.call(b.classList,a)})):"string"===typeof b.className.baseVal?e(b.className,"baseVal",d,c):e(b,"className",d,c))},setTextContent:function(b,d){var c=a.utils.unwrapObservable(d);if(null===c||void 0===c)c="";var g=a.virtualElements.firstChild(b);!g||3!=g.nodeType||a.virtualElements.nextSibling(g)?a.virtualElements.setDomNodeChildren(b,
[b.ownerDocument.createTextNode(c)]):g.data=c;a.utils.forceRefresh(b)},setElementName:function(a,b){a.name=b;if(7>=g)try{a.mergeAttributes(x.createElement("\x3cinput name\x3d'"+a.name+"'/\x3e"),!1)}catch(c){}},forceRefresh:function(a){9<=g&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},ensureSelectElementIsRenderedCorrectly:function(a){if(g){var b=a.style.width;a.style.width=0;a.style.width=b}},range:function(b,c){b=a.utils.unwrapObservable(b);c=a.utils.unwrapObservable(c);
for(var d=[],g=b;g<=c;g++)d.push(g);return d},makeArray:function(a){for(var b=[],c=0,d=a.length;c<d;c++)b.push(a[c]);return b},isIe6:6===g,isIe7:7===g,ieVersion:g,getFormFields:function(b,c){for(var d=a.utils.makeArray(b.getElementsByTagName("input")).concat(a.utils.makeArray(b.getElementsByTagName("textarea"))),g="string"==typeof c?function(a){return a.name===c}:function(a){return c.test(a.name)},e=[],m=d.length-1;0<=m;m--)g(d[m])&&e.push(d[m]);return e},parseJson:function(b){return"string"==typeof b&&
(b=a.utils.stringTrim(b))?F&&F.parse?F.parse(b):(new Function("return "+b))():null},stringifyJson:function(b,c,d){if(!F||!F.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE \x3c 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return F.stringify(a.utils.unwrapObservable(b),c,d)},postJson:function(c,d,g){g=g||{};var e=g.params||{},m=g.includeFields||this.fieldsIncludedWithJsonPost,
l=c;if("object"==typeof c&&"form"===a.utils.tagNameLower(c))for(var l=c.action,f=m.length-1;0<=f;f--)for(var h=a.utils.getFormFields(c,m[f]),u=h.length-1;0<=u;u--)e[h[u].name]=h[u].value;d=a.utils.unwrapObservable(d);var k=x.createElement("form");k.style.display="none";k.action=l;k.method="post";for(var D in d)c=x.createElement("input"),c.type="hidden",c.name=D,c.value=a.utils.stringifyJson(a.utils.unwrapObservable(d[D])),k.appendChild(c);b(e,function(a,b){var c=x.createElement("input");c.type="hidden";
c.name=a;c.value=b;k.appendChild(c)});x.body.appendChild(k);g.submitter?g.submitter(k):k.submit();setTimeout(function(){k.parentNode.removeChild(k)},0)}}}();a.exportSymbol("utils",a.utils);a.exportSymbol("utils.arrayForEach",a.utils.arrayForEach);a.exportSymbol("utils.arrayFirst",a.utils.arrayFirst);a.exportSymbol("utils.arrayFilter",a.utils.arrayFilter);a.exportSymbol("utils.arrayGetDistinctValues",a.utils.arrayGetDistinctValues);a.exportSymbol("utils.arrayIndexOf",a.utils.arrayIndexOf);a.exportSymbol("utils.arrayMap",
a.utils.arrayMap);a.exportSymbol("utils.arrayPushAll",a.utils.arrayPushAll);a.exportSymbol("utils.arrayRemoveItem",a.utils.arrayRemoveItem);a.exportSymbol("utils.extend",a.utils.extend);a.exportSymbol("utils.fieldsIncludedWithJsonPost",a.utils.fieldsIncludedWithJsonPost);a.exportSymbol("utils.getFormFields",a.utils.getFormFields);a.exportSymbol("utils.peekObservable",a.utils.peekObservable);a.exportSymbol("utils.postJson",a.utils.postJson);a.exportSymbol("utils.parseJson",a.utils.parseJson);a.exportSymbol("utils.registerEventHandler",
a.utils.registerEventHandler);a.exportSymbol("utils.stringifyJson",a.utils.stringifyJson);a.exportSymbol("utils.range",a.utils.range);a.exportSymbol("utils.toggleDomNodeCssClass",a.utils.toggleDomNodeCssClass);a.exportSymbol("utils.triggerEvent",a.utils.triggerEvent);a.exportSymbol("utils.unwrapObservable",a.utils.unwrapObservable);a.exportSymbol("utils.objectForEach",a.utils.objectForEach);a.exportSymbol("utils.addOrRemoveItem",a.utils.addOrRemoveItem);a.exportSymbol("utils.setTextContent",a.utils.setTextContent);
a.exportSymbol("unwrap",a.utils.unwrapObservable);a.exportSymbol("wrap",a.utils.wrapObservable);Function.prototype.bind||(Function.prototype.bind=function(a){var c=this;if(1===arguments.length)return function(){return c.apply(a,arguments)};var d=Array.prototype.slice.call(arguments,1);return function(){var e=d.slice(0);e.push.apply(e,arguments);return c.apply(a,e)}});a.utils.domData=new function(){function a(b,h){var k=b[d];if(!k||"null"===k||!e[k]){if(!h)return;k=b[d]="ko"+c++;e[k]={}}return e[k]}
var c=0,d="__ko__"+(new Date).getTime(),e={};return{get:function(c,d){var e=a(c,!1);return void 0===e?void 0:e[d]},set:function(c,d,e){if(void 0!==e||void 0!==a(c,!1))a(c,!0)[d]=e},clear:function(a){var b=a[d];return b?(delete e[b],a[d]=null,!0):!1},nextKey:function(){return c++ +d}}};a.exportSymbol("utils.domData",a.utils.domData);a.exportSymbol("utils.domData.clear",a.utils.domData.clear);a.utils.domNodeDisposal=new function(){function b(b,c){var e=a.utils.domData.get(b,d);void 0===e&&c&&(e=[],
a.utils.domData.set(b,d,e));return e}function c(d){var e=b(d,!1);if(e)for(var e=e.slice(0),l=0;l<e.length;l++)e[l](d);a.utils.domData.clear(d);a.utils.domNodeDisposal.cleanExternalData(d);if(f[d.nodeType])for(e=d.firstChild;d=e;)e=d.nextSibling,8===d.nodeType&&c(d)}var d=a.utils.domData.nextKey(),e={1:!0,8:!0,9:!0},f={1:!0,9:!0};return{addDisposeCallback:function(a,c){if("function"!=typeof c)throw Error("Callback must be a function");b(a,!0).push(c)},removeDisposeCallback:function(c,e){var l=b(c,
!1);l&&(a.utils.arrayRemoveItem(l,e),0==l.length&&a.utils.domData.set(c,d,void 0))},cleanNode:function(b){if(e[b.nodeType]&&(c(b),f[b.nodeType])){var d=[];a.utils.arrayPushAll(d,b.getElementsByTagName("*"));for(var l=0,m=d.length;l<m;l++)c(d[l])}return b},removeNode:function(b){a.cleanNode(b);b.parentNode&&b.parentNode.removeChild(b)},cleanExternalData:function(a){t&&"function"==typeof t.cleanData&&t.cleanData([a])}}};a.cleanNode=a.utils.domNodeDisposal.cleanNode;a.removeNode=a.utils.domNodeDisposal.removeNode;
a.exportSymbol("cleanNode",a.cleanNode);a.exportSymbol("removeNode",a.removeNode);a.exportSymbol("utils.domNodeDisposal",a.utils.domNodeDisposal);a.exportSymbol("utils.domNodeDisposal.addDisposeCallback",a.utils.domNodeDisposal.addDisposeCallback);a.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",a.utils.domNodeDisposal.removeDisposeCallback);(function(){a.utils.parseHtmlFragment=function(b,c){var d;if(t)if(t.parseHTML)d=t.parseHTML(b,c)||[];else{if((d=t.clean([b],c))&&d[0]){for(var e=
d[0];e.parentNode&&11!==e.parentNode.nodeType;)e=e.parentNode;e.parentNode&&e.parentNode.removeChild(e)}}else{(e=c)||(e=x);d=e.parentWindow||e.defaultView||r;var f=a.utils.stringTrim(b).toLowerCase(),e=e.createElement("div"),f=f.match(/^<(thead|tbody|tfoot)/)&&[1,"\x3ctable\x3e","\x3c/table\x3e"]||!f.indexOf("\x3ctr")&&[2,"\x3ctable\x3e\x3ctbody\x3e","\x3c/tbody\x3e\x3c/table\x3e"]||(!f.indexOf("\x3ctd")||!f.indexOf("\x3cth"))&&[3,"\x3ctable\x3e\x3ctbody\x3e\x3ctr\x3e","\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e"]||
[0,"",""],h="ignored\x3cdiv\x3e"+f[1]+b+f[2]+"\x3c/div\x3e";for("function"==typeof d.innerShiv?e.appendChild(d.innerShiv(h)):e.innerHTML=h;f[0]--;)e=e.lastChild;d=a.utils.makeArray(e.lastChild.childNodes)}return d};a.utils.setHtml=function(b,c){a.utils.emptyDomNode(b);c=a.utils.unwrapObservable(c);if(null!==c&&void 0!==c)if("string"!=typeof c&&(c=c.toString()),t)t(b).html(c);else for(var d=a.utils.parseHtmlFragment(c,b.ownerDocument),e=0;e<d.length;e++)b.appendChild(d[e])}})();a.exportSymbol("utils.parseHtmlFragment",
a.utils.parseHtmlFragment);a.exportSymbol("utils.setHtml",a.utils.setHtml);a.memoization=function(){function b(c,e){if(c)if(8==c.nodeType){var f=a.memoization.parseMemoText(c.nodeValue);null!=f&&e.push({domNode:c,memoId:f})}else if(1==c.nodeType)for(var f=0,h=c.childNodes,k=h.length;f<k;f++)b(h[f],e)}var c={};return{memoize:function(a){if("function"!=typeof a)throw Error("You can only pass a function to ko.memoization.memoize()");var b=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*
(1+Math.random())|0).toString(16).substring(1);c[b]=a;return"\x3c!--[ko_memo:"+b+"]--\x3e"},unmemoize:function(a,b){var f=c[a];if(void 0===f)throw Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized.");try{return f.apply(null,b||[]),!0}finally{delete c[a]}},unmemoizeDomNodeAndDescendants:function(c,e){var f=[];b(c,f);for(var h=0,k=f.length;h<k;h++){var l=f[h].domNode,m=[l];e&&a.utils.arrayPushAll(m,e);a.memoization.unmemoize(f[h].memoId,m);l.nodeValue="";l.parentNode&&
l.parentNode.removeChild(l)}},parseMemoText:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:null}}}();a.exportSymbol("memoization",a.memoization);a.exportSymbol("memoization.memoize",a.memoization.memoize);a.exportSymbol("memoization.unmemoize",a.memoization.unmemoize);a.exportSymbol("memoization.parseMemoText",a.memoization.parseMemoText);a.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",a.memoization.unmemoizeDomNodeAndDescendants);a.extenders={throttle:function(b,c){b.throttleEvaluation=
c;var d=null;return a.dependentObservable({read:b,write:function(a){clearTimeout(d);d=setTimeout(function(){b(a)},c)}})},rateLimit:function(a,c){var d,e,f;"number"==typeof c?d=c:(d=c.timeout,e=c.method);f="notifyWhenChangesStop"==e?S:R;a.limit(function(a){return f(a,d)})},notify:function(a,c){a.equalityComparer="always"==c?null:J}};var Q={undefined:1,"boolean":1,number:1,string:1};a.exportSymbol("extenders",a.extenders);a.subscription=function(b,c,d){this._target=b;this.callback=c;this.disposeCallback=
d;this.isDisposed=!1;a.exportProperty(this,"dispose",this.dispose)};a.subscription.prototype.dispose=function(){this.isDisposed=!0;this.disposeCallback()};a.subscribable=function(){a.utils.setPrototypeOfOrExtend(this,a.subscribable.fn);this._subscriptions={};this._versionNumber=1};var A={subscribe:function(b,c,d){var e=this;d=d||"change";b=c?b.bind(c):b;var f=new a.subscription(e,b,function(){a.utils.arrayRemoveItem(e._subscriptions[d],f);e.afterSubscriptionRemove&&e.afterSubscriptionRemove(d)});
e.beforeSubscriptionAdd&&e.beforeSubscriptionAdd(d);e._subscriptions[d]||(e._subscriptions[d]=[]);e._subscriptions[d].push(f);return f},subscribeNow:function(a,c,d){(c?a.bind(c):a)(this());return this.subscribe(a,c,d)},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.updateVersion();if(this.hasSubscriptionsForEvent(c))try{a.dependencyDetection.begin();for(var d=this._subscriptions[c].slice(0),e=0,f;f=d[e];++e)f.isDisposed||f.callback(b)}finally{a.dependencyDetection.end()}},getVersion:function(){return this._versionNumber},
hasChanged:function(a){return this.getVersion()!==a},updateVersion:function(){++this._versionNumber},limit:function(b){var c=this,d=a.isObservable(c),e,f,h;c._origNotifySubscribers||(c._origNotifySubscribers=c.notifySubscribers,c.notifySubscribers=function(a,b){b&&"change"!==b?"beforeChange"===b?c._rateLimitedBeforeChange(a):c._origNotifySubscribers(a,b):c._rateLimitedChange(a)});var k=b(function(){d&&h===c&&(h=c());e=!1;c.isDifferent(f,h)&&c._origNotifySubscribers(f=h)});c._rateLimitedChange=function(a){e=
!0;h=a;k()};c._rateLimitedBeforeChange=function(a){e||(f=a,c._origNotifySubscribers(a,"beforeChange"))}},hasSubscriptionsForEvent:function(a){return this._subscriptions[a]&&this._subscriptions[a].length},getSubscriptionsCount:function(b){if(b)return this._subscriptions[b]&&this._subscriptions[b].length||0;var c=0;a.utils.objectForEach(this._subscriptions,function(a,b){c+=b.length});return c},isDifferent:function(a,c){return!this.equalityComparer||!this.equalityComparer(a,c)},extend:function(b){var c=
this;b&&a.utils.objectForEach(b,function(b,e){var f=a.extenders[b];"function"==typeof f&&(c=f(c,e)||c)});return c}};a.exportProperty(A,"subscribe",A.subscribe);a.exportProperty(A,"extend",A.extend);a.exportProperty(A,"getSubscriptionsCount",A.getSubscriptionsCount);a.utils.canSetPrototype&&a.utils.setPrototypeOf(A,Function.prototype);a.subscribable.fn=A;a.isSubscribable=function(a){return null!=a&&"function"==typeof a.subscribe&&"function"==typeof a.notifySubscribers};a.exportSymbol("subscribable",
a.subscribable);a.exportSymbol("isSubscribable",a.isSubscribable);a.computedContext=a.dependencyDetection=function(){function b(a){d.push(e);e=a}function c(){e=d.pop()}var d=[],e,f=0;return{begin:b,end:c,registerDependency:function(b){if(e){if(!a.isSubscribable(b))throw Error("Only subscribable things can act as dependencies");e.callback(b,b._id||(b._id=++f))}},ignore:function(a,d,e){try{return b(),a.apply(d,e||[])}finally{c()}},getDependenciesCount:function(){if(e)return e.computed.getDependenciesCount()},
isInitial:function(){if(e)return e.isInitial}}}();a.exportSymbol("computedContext",a.computedContext);a.exportSymbol("computedContext.getDependenciesCount",a.computedContext.getDependenciesCount);a.exportSymbol("computedContext.isInitial",a.computedContext.isInitial);a.exportSymbol("computedContext.isSleeping",a.computedContext.isSleeping);a.exportSymbol("ignoreDependencies",a.ignoreDependencies=a.dependencyDetection.ignore);a.observable=function(b){function c(){if(0<arguments.length)return c.isDifferent(d,
arguments[0])&&(c.valueWillMutate(),d=arguments[0],c.valueHasMutated()),this;a.dependencyDetection.registerDependency(c);return d}var d=b;a.subscribable.call(c);a.utils.setPrototypeOfOrExtend(c,a.observable.fn);c.peek=function(){return d};c.valueHasMutated=function(){c.notifySubscribers(d)};c.valueWillMutate=function(){c.notifySubscribers(d,"beforeChange")};a.exportProperty(c,"peek",c.peek);a.exportProperty(c,"valueHasMutated",c.valueHasMutated);a.exportProperty(c,"valueWillMutate",c.valueWillMutate);
return c};a.observable.fn={equalityComparer:J};var H=a.observable.protoProperty="__ko_proto__";a.observable.fn[H]=a.observable;a.utils.canSetPrototype&&a.utils.setPrototypeOf(a.observable.fn,a.subscribable.fn);a.hasPrototype=function(b,c){return null===b||void 0===b||void 0===b[H]?!1:b[H]===c?!0:a.hasPrototype(b[H],c)};a.isObservable=function(b){return a.hasPrototype(b,a.observable)};a.isWriteableObservable=function(b){return"function"==typeof b&&b[H]===a.observable||"function"==typeof b&&b[H]===
a.dependentObservable&&b.hasWriteFunction?!0:!1};a.exportSymbol("observable",a.observable);a.exportSymbol("isObservable",a.isObservable);a.exportSymbol("isWriteableObservable",a.isWriteableObservable);a.exportSymbol("isWritableObservable",a.isWriteableObservable);a.observableArray=function(b){b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");b=a.observable(b);a.utils.setPrototypeOfOrExtend(b,
a.observableArray.fn);return b.extend({trackArrayChanges:!0})};a.observableArray.fn={remove:function(b){for(var c=this.peek(),d=[],e="function"!=typeof b||a.isObservable(b)?function(a){return a===b}:b,f=0;f<c.length;f++){var h=c[f];e(h)&&(0===d.length&&this.valueWillMutate(),d.push(h),c.splice(f,1),f--)}d.length&&this.valueHasMutated();return d},removeAll:function(b){if(void 0===b){var c=this.peek(),d=c.slice(0);this.valueWillMutate();c.splice(0,c.length);this.valueHasMutated();return d}return b?
this.remove(function(c){return 0<=a.utils.arrayIndexOf(b,c)}):[]},destroy:function(b){var c=this.peek(),d="function"!=typeof b||a.isObservable(b)?function(a){return a===b}:b;this.valueWillMutate();for(var e=c.length-1;0<=e;e--)d(c[e])&&(c[e]._destroy=!0);this.valueHasMutated()},destroyAll:function(b){return void 0===b?this.destroy(function(){return!0}):b?this.destroy(function(c){return 0<=a.utils.arrayIndexOf(b,c)}):[]},indexOf:function(b){var c=this();return a.utils.arrayIndexOf(c,b)},replace:function(a,
c){var d=this.indexOf(a);0<=d&&(this.valueWillMutate(),this.peek()[d]=c,this.valueHasMutated())}};a.utils.arrayForEach("pop push reverse shift sort splice unshift".split(" "),function(b){a.observableArray.fn[b]=function(){var a=this.peek();this.valueWillMutate();this.cacheDiffForKnownOperation(a,b,arguments);a=a[b].apply(a,arguments);this.valueHasMutated();return a}});a.utils.arrayForEach(["slice"],function(b){a.observableArray.fn[b]=function(){var a=this();return a[b].apply(a,arguments)}});a.utils.canSetPrototype&&
a.utils.setPrototypeOf(a.observableArray.fn,a.observable.fn);a.exportSymbol("observableArray",a.observableArray);a.extenders.trackArrayChanges=function(b){function c(){if(!d){d=!0;var c=b.notifySubscribers;b.notifySubscribers=function(a,b){b&&"change"!==b||++h;return c.apply(this,arguments)};var g=[].concat(b.peek()||[]);e=null;f=b.subscribe(function(c){c=[].concat(c||[]);if(b.hasSubscriptionsForEvent("arrayChange")){var d;if(!e||1<h)e=a.utils.compareArrays(g,c,{sparse:!0});d=e}g=c;e=null;h=0;d&&
d.length&&b.notifySubscribers(d,"arrayChange")})}}if(!b.cacheDiffForKnownOperation){var d=!1,e=null,f,h=0,k=b.beforeSubscriptionAdd,l=b.afterSubscriptionRemove;b.beforeSubscriptionAdd=function(a){k&&k.call(b,a);"arrayChange"===a&&c()};b.afterSubscriptionRemove=function(a){l&&l.call(b,a);"arrayChange"!==a||b.hasSubscriptionsForEvent("arrayChange")||(f.dispose(),d=!1)};b.cacheDiffForKnownOperation=function(b,c,l){function f(a,b,c){return k[k.length]={status:a,value:b,index:c}}if(d&&!h){var k=[],q=b.length,
y=l.length,v=0;switch(c){case "push":v=q;case "unshift":for(c=0;c<y;c++)f("added",l[c],v+c);break;case "pop":v=q-1;case "shift":q&&f("deleted",b[v],v);break;case "splice":c=Math.min(Math.max(0,0>l[0]?q+l[0]:l[0]),q);for(var q=1===y?q:Math.min(c+(l[1]||0),q),y=c+y-2,v=Math.max(q,y),z=[],B=[],I=2;c<v;++c,++I)c<q&&B.push(f("deleted",b[c],c)),c<y&&z.push(f("added",l[I],c));a.utils.findMovesInArrayComparison(B,z);break;default:return}e=k}}}};a.computed=a.dependentObservable=function(b,c,d){function e(a,
b,c){if(I&&b===m)throw Error("A 'pure' computed must not be called recursively");C[a]=c;c._order=G++;c._version=b.getVersion()}function f(){var a,b;for(a in C)if(C.hasOwnProperty(a)&&(b=C[a],b._target.hasChanged(b._version)))return!0}function h(){!w&&C&&a.utils.objectForEach(C,function(a,b){b.dispose&&b.dispose()});C=null;G=0;z=!0;w=q=!1}function k(){var a=m.throttleEvaluation;a&&0<=a?(clearTimeout(A),A=setTimeout(function(){l(!0)},a)):m._evalRateLimited?m._evalRateLimited():l(!0)}function l(b){if(!y&&
!z){if(r&&r()){if(!v){x();return}}else v=!1;y=!0;try{var d=C,g=G,l=I?void 0:!G;a.dependencyDetection.begin({callback:function(a,b){z||(g&&d[b]?(e(b,a,d[b]),delete d[b],--g):C[b]||e(b,a,w?{_target:a}:a.subscribe(k)))},computed:m,isInitial:l});C={};G=0;try{var f=c?B.call(c):B()}finally{a.dependencyDetection.end(),g&&!w&&a.utils.objectForEach(d,function(a,b){b.dispose&&b.dispose()}),q=!1}m.isDifferent(n,f)&&(w||p(n,"beforeChange"),n=f,w?m.updateVersion():b&&p(n));l&&p(n,"awake")}finally{y=!1}G||x()}}
function m(){if(0<arguments.length){if("function"===typeof E)E.apply(c,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}a.dependencyDetection.registerDependency(m);(q||w&&f())&&l();return n}function g(){(q&&!G||w&&f())&&l();return n}function u(){return q||0<G}function p(a,b){m.notifySubscribers(a,b)}var n,q=!0,y=!1,v=!1,z=!1,B=b,I=!1,w=!1;B&&"object"==typeof B?(d=
B,B=d.read):(d=d||{},B||(B=d.read));if("function"!=typeof B)throw Error("Pass a function that returns the value of the ko.computed");var E=d.write,D=d.disposeWhenNodeIsRemoved||d.disposeWhenNodeIsRemoved||null,t=d.disposeWhen||d.disposeWhen,r=t,x=h,C={},G=0,A=null;c||(c=d.owner);a.subscribable.call(m);a.utils.setPrototypeOfOrExtend(m,a.dependentObservable.fn);m.peek=g;m.getDependenciesCount=function(){return G};m.hasWriteFunction="function"===typeof E;m.dispose=function(){x()};m.isActive=u;var T=
m.limit;m.limit=function(a){T.call(m,a);m._evalRateLimited=function(){m._rateLimitedBeforeChange(n);q=!0;m._rateLimitedChange(m)}};d.pure?(w=I=!0,m.beforeSubscriptionAdd=function(b){if(!z&&w&&"change"==b){w=!1;if(q||f())C=null,G=0,q=!0,l();else{var c=[];a.utils.objectForEach(C,function(a,b){c[b._order]=a});a.utils.arrayForEach(c,function(a,b){var c=C[a],d=c._target.subscribe(k);d._order=b;d._version=c._version;C[a]=d})}z||p(n,"awake")}},m.afterSubscriptionRemove=function(b){z||"change"!=b||m.hasSubscriptionsForEvent("change")||
(a.utils.objectForEach(C,function(a,b){b.dispose&&(C[a]={_target:b._target,_order:b._order,_version:b._version},b.dispose())}),w=!0,p(void 0,"asleep"))},m._originalGetVersion=m.getVersion,m.getVersion=function(){w&&(q||f())&&l();return m._originalGetVersion()}):d.deferEvaluation&&(m.beforeSubscriptionAdd=function(a){"change"!=a&&"beforeChange"!=a||g()});a.exportProperty(m,"peek",m.peek);a.exportProperty(m,"dispose",m.dispose);a.exportProperty(m,"isActive",m.isActive);a.exportProperty(m,"getDependenciesCount",
m.getDependenciesCount);D&&(v=!0,D.nodeType&&(r=function(){return!a.utils.domNodeIsAttachedToDocument(D)||t&&t()}));w||d.deferEvaluation||l();D&&u()&&D.nodeType&&(x=function(){a.utils.domNodeDisposal.removeDisposeCallback(D,x);h()},a.utils.domNodeDisposal.addDisposeCallback(D,x));return m};a.isComputed=function(b){return a.hasPrototype(b,a.dependentObservable)};A=a.observable.protoProperty;a.dependentObservable[A]=a.observable;a.dependentObservable.fn={equalityComparer:J};a.dependentObservable.fn[A]=
a.dependentObservable;a.utils.canSetPrototype&&a.utils.setPrototypeOf(a.dependentObservable.fn,a.subscribable.fn);a.exportSymbol("dependentObservable",a.dependentObservable);a.exportSymbol("computed",a.dependentObservable);a.exportSymbol("isComputed",a.isComputed);a.pureComputed=function(b,c){if("function"===typeof b)return a.computed(b,c,{pure:!0});b=a.utils.extend({},b);b.pure=!0;return a.computed(b,c)};a.exportSymbol("pureComputed",a.pureComputed);(function(){function b(a,f,h){h=h||new d;a=f(a);
if("object"!=typeof a||null===a||void 0===a||a instanceof Date||a instanceof String||a instanceof Number||a instanceof Boolean)return a;var k=a instanceof Array?[]:{};h.save(a,k);c(a,function(c){var d=f(a[c]);switch(typeof d){case "boolean":case "number":case "string":case "function":k[c]=d;break;case "object":case "undefined":var g=h.get(d);k[c]=void 0!==g?g:b(d,f,h)}});return k}function c(a,b){if(a instanceof Array){for(var c=0;c<a.length;c++)b(c);"function"==typeof a.toJSON&&b("toJSON")}else for(c in a)b(c)}
function d(){this.keys=[];this.values=[]}a.toJS=function(c){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return b(c,function(b){for(var c=0;a.isObservable(b)&&10>c;c++)b=b();return b})};a.toJSON=function(b,c,d){b=a.toJS(b);return a.utils.stringifyJson(b,c,d)};d.prototype={constructor:d,save:function(b,c){var d=a.utils.arrayIndexOf(this.keys,b);0<=d?this.values[d]=c:(this.keys.push(b),this.values.push(c))},get:function(b){b=a.utils.arrayIndexOf(this.keys,
b);return 0<=b?this.values[b]:void 0}}})();a.exportSymbol("toJS",a.toJS);a.exportSymbol("toJSON",a.toJSON);(function(){a.selectExtensions={readValue:function(b){switch(a.utils.tagNameLower(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.utils.domData.get(b,a.bindingHandlers.options.optionValueDomDataKey):7>=a.utils.ieVersion?b.getAttributeNode("value")&&b.getAttributeNode("value").specified?b.value:b.text:b.value;case "select":return 0<=b.selectedIndex?a.selectExtensions.readValue(b.options[b.selectedIndex]):
void 0;default:return b.value.trim()}},writeValue:function(b,c,d){switch(a.utils.tagNameLower(b)){case "option":switch(typeof c){case "string":a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,void 0);"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__;b.value=c;break;default:a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof c?c:""}break;case "select":if(""===c||null===c)c=
void 0;for(var e=-1,f=0,h=b.options.length,k;f<h;++f)if(k=a.selectExtensions.readValue(b.options[f]),k==c||""==k&&void 0===c){e=f;break}if(d||0<=e||void 0===c&&1<b.size)b.selectedIndex=e;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.exportSymbol("selectExtensions",a.selectExtensions);a.exportSymbol("selectExtensions.readValue",a.selectExtensions.readValue);a.exportSymbol("selectExtensions.writeValue",a.selectExtensions.writeValue);a.expressionRewriting=function(){function b(b){b=a.utils.stringTrim(b);
123===b.charCodeAt(0)&&(b=b.slice(1,-1));var c=[],d=b.match(e),u,p=[],k=0;if(d){d.push(",");for(var q=0,y;y=d[q];++q){var v=y.charCodeAt(0);if(44===v){if(0>=k){c.push(u&&p.length?{key:u,value:p.join("")}:{unknown:u||p.join("")});u=k=0;p=[];continue}}else if(58===v){if(!k&&!u&&1===p.length){u=p.pop();continue}}else 47===v&&q&&1<y.length?(v=d[q-1].match(f))&&!h[v[0]]&&(b=b.substr(b.indexOf(y)+1),d=b.match(e),d.push(","),q=-1,y="/"):40===v||123===v||91===v?++k:41===v||125===v||93===v?--k:u||p.length||
34!==v&&39!==v||(y=y.slice(1,-1));p.push(y)}}return c}var c=["true","false","null","undefined"],d=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,e=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\/(?:[^/\\]|\\.)*\/w*|[^\s:,/][^,"'{}()/:[\]]*[^\s,"'{}()/:[\]]|[^\s]/g,f=/[\])"'A-Za-z0-9_$]+$/,h={"in":1,"return":1,"typeof":1},k={};return{bindingRewriteValidators:[],twoWayBindings:k,parseObjectLiteral:b,preProcessBindings:function(e,m){function g(b,e){var m;if(!q){var l=a.getBindingHandler(b);if(l&&l.preprocess&&
!(e=l.preprocess(e,b,g)))return;if(l=k[b])m=e,0<=a.utils.arrayIndexOf(c,m)?m=!1:(l=m.match(d),m=null===l?!1:l[1]?"Object("+l[1]+")"+l[2]:m),l=m;l&&h.push("'"+b+"':function(_z){"+m+"\x3d_z}")}n&&(e="function(){return "+e+" }");f.push("'"+b+"':"+e)}m=m||{};var f=[],h=[],n=m.valueAccessors,q=m.bindingParams,y="string"===typeof e?b(e):e;a.utils.arrayForEach(y,function(a){g(a.key||a.unknown,a.value)});h.length&&g("_ko_property_writers","{"+h.join(",")+" }");return f.join(",")},keyValueArrayContainsKey:function(a,
b){for(var c=0;c<a.length;c++)if(a[c].key==b)return!0;return!1},writeValueToProperty:function(b,c,d,e,f){if(b&&a.isObservable(b))!a.isWriteableObservable(b)||f&&b.peek()===e||b(e);else if((b=c.get("_ko_property_writers"))&&b[d])b[d](e)}}}();a.exportSymbol("expressionRewriting",a.expressionRewriting);a.exportSymbol("expressionRewriting.bindingRewriteValidators",a.expressionRewriting.bindingRewriteValidators);a.exportSymbol("expressionRewriting.parseObjectLiteral",a.expressionRewriting.parseObjectLiteral);
a.exportSymbol("expressionRewriting.preProcessBindings",a.expressionRewriting.preProcessBindings);a.exportSymbol("expressionRewriting._twoWayBindings",a.expressionRewriting.twoWayBindings);a.exportSymbol("jsonExpressionRewriting",a.expressionRewriting);a.exportSymbol("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",a.expressionRewriting.preProcessBindings);(function(){function b(a){return 8==a.nodeType&&h.test(f?a.text:a.nodeValue)}function c(a){return 8==a.nodeType&&k.test(f?a.text:a.nodeValue)}
function d(a,d){for(var e=a,l=1,f=[];e=e.nextSibling;){if(c(e)&&(l--,0===l))return f;f.push(e);b(e)&&l++}if(!d)throw Error("Cannot find closing comment tag to match: "+a.nodeValue);return null}function e(a,b){var c=d(a,b);return c?0<c.length?c[c.length-1].nextSibling:a.nextSibling:null}var f=x&&"\x3c!--test--\x3e"===x.createComment("test").text,h=f?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,k=f?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0};a.virtualElements=
{allowedBindings:{},childNodes:function(a){return b(a)?d(a):a.childNodes},emptyNode:function(c){if(b(c)){c=a.virtualElements.childNodes(c);for(var d=0,e=c.length;d<e;d++)a.removeNode(c[d])}else a.utils.emptyDomNode(c)},setDomNodeChildren:function(c,d){if(b(c)){a.virtualElements.emptyNode(c);for(var e=c.nextSibling,l=0,f=d.length;l<f;l++)e.parentNode.insertBefore(d[l],e)}else a.utils.setDomNodeChildren(c,d)},prepend:function(a,c){b(a)?a.parentNode.insertBefore(c,a.nextSibling):a.firstChild?a.insertBefore(c,
a.firstChild):a.appendChild(c)},insertAfter:function(c,d,e){e?b(c)?c.parentNode.insertBefore(d,e.nextSibling):e.nextSibling?c.insertBefore(d,e.nextSibling):c.appendChild(d):a.virtualElements.prepend(c,d)},firstChild:function(a){return b(a)?!a.nextSibling||c(a.nextSibling)?null:a.nextSibling:a.firstChild},nextSibling:function(a){b(a)&&(a=e(a));return a.nextSibling&&c(a.nextSibling)?null:a.nextSibling},hasBindingValue:b,virtualNodeBindingValue:function(a){return(a=(f?a.text:a.nodeValue).match(h))?a[1]:
null},normaliseVirtualElementDomStructure:function(d){if(l[a.utils.tagNameLower(d)]){var g=d.firstChild;if(g){do if(1===g.nodeType){var f;f=g.firstChild;var h=null;if(f){do if(h)h.push(f);else if(b(f)){var k=e(f,!0);k?f=k:h=[f]}else c(f)&&(h=[f]);while(f=f.nextSibling)}if(f=h)for(h=g.nextSibling,k=0;k<f.length;k++)h?d.insertBefore(f[k],h):d.appendChild(f[k])}while(g=g.nextSibling)}}}}})();a.exportSymbol("virtualElements",a.virtualElements);a.exportSymbol("virtualElements.allowedBindings",a.virtualElements.allowedBindings);
a.exportSymbol("virtualElements.emptyNode",a.virtualElements.emptyNode);a.exportSymbol("virtualElements.insertAfter",a.virtualElements.insertAfter);a.exportSymbol("virtualElements.prepend",a.virtualElements.prepend);a.exportSymbol("virtualElements.setDomNodeChildren",a.virtualElements.setDomNodeChildren);(function(){a.bindingProvider=function(){this.bindingCache={}};a.utils.extend(a.bindingProvider.prototype,{nodeHasBindings:function(b){switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||
a.components.getComponentNameForNode(b);case 8:return a.virtualElements.hasBindingValue(b);default:return!1}},getBindings:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b):null;return a.components.addBindingsForCustomElement(d,b,c,!1)},getBindingAccessors:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b,{valueAccessors:!0}):null;return a.components.addBindingsForCustomElement(d,b,c,!0)},getBindingsString:function(b,c){switch(b.nodeType){case 1:return b.getAttribute("data-bind");
case 8:return a.virtualElements.virtualNodeBindingValue(b);default:return null}},parseBindingsString:function(b,c,d,e){try{var f=this.bindingCache,h=b+(e&&e.valueAccessors||""),k;if(!(k=f[h])){var l,m=a.expressionRewriting.preProcessBindings(b,e);l=new Function("$context","$element","with($context){with($data||{}){return{"+m+"}}}");k=f[h]=l}return k(c,d)}catch(g){throw g.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+g.message,g;}}});a.bindingProvider.instance=new a.bindingProvider})();
a.exportSymbol("bindingProvider",a.bindingProvider);(function(){function b(a){return function(){return a}}function c(a){return a()}function d(b){return a.utils.objectMap(a.dependencyDetection.ignore(b),function(a,c){return function(){return b()[c]}})}function e(c,e,g){return"function"===typeof c?d(c.bind(null,e,g)):a.utils.objectMap(c,b)}function f(a,b){return d(this.getBindings.bind(this,a,b))}function h(b,c,d){var e,g=a.virtualElements.firstChild(c),f=a.bindingProvider.instance,l=f.preprocessNode;
if(l){for(;e=g;)g=a.virtualElements.nextSibling(e),l.call(f,e);g=a.virtualElements.firstChild(c)}for(;e=g;)g=a.virtualElements.nextSibling(e),k(b,e,d)}function k(b,c,d){var e=!0,g=1===c.nodeType;g&&a.virtualElements.normaliseVirtualElementDomStructure(c);if(g&&d||a.bindingProvider.instance.nodeHasBindings(c))e=m(c,null,b,d).shouldBindDescendants;e&&!u[a.utils.tagNameLower(c)]&&h(b,c,!g)}function l(b){var c=[],d={},e=[];a.utils.objectForEach(b,function I(g){if(!d[g]){var f=a.getBindingHandler(g);f&&
(f.after&&(e.push(g),a.utils.arrayForEach(f.after,function(c){if(b[c]){if(-1!==a.utils.arrayIndexOf(e,c))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+e.join(", "));I(c)}}),e.length--),c.push({key:g,handler:f}));d[g]=!0}});return c}function m(b,d,e,g){var m=a.utils.domData.get(b,p);if(!d){if(m)throw Error("You cannot apply bindings multiple times to the same element.");a.utils.domData.set(b,p,!0)}!m&&g&&a.storedBindingContextForNode(b,e);var h;if(d&&
"function"!==typeof d)h=d;else{var k=a.bindingProvider.instance,u=k.getBindingAccessors||f,n=a.dependentObservable(function(){(h=d?d(e,b):u.call(k,b,e))&&e._subscribable&&e._subscribable();return h},null,{disposeWhenNodeIsRemoved:b});h&&n.isActive()||(n=null)}var t;if(h){var r=function(){return a.utils.objectMap(n?n():h,c)},x=n?function(a){return function(){return(0,n()[a])()}}:function(a){return h[a]};r.get=function(a){return h[a]&&x(a)()};r.has=function(a){return a in h};g=l(h);a.utils.arrayForEach(g,
function(c){var d=c.handler.init,g=c.handler.update,f=c.key;if(8===b.nodeType&&!a.virtualElements.allowedBindings[f])throw Error("The binding '"+f+"' cannot be used with virtual elements");try{"function"==typeof d&&a.dependencyDetection.ignore(function(){var a=d(b,x(f),r,e.$data,e);if(a&&a.controlsDescendantBindings){if(void 0!==t)throw Error("Multiple bindings ("+t+" and "+f+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");
t=f}}),"function"==typeof g&&a.dependentObservable(function(){g(b,x(f),r,e.$data,e)},null,{disposeWhenNodeIsRemoved:b})}catch(l){throw l.message='Unable to process binding "'+f+": "+h[f]+'"\nMessage: '+l.message,l;}})}return{shouldBindDescendants:void 0===t}}function g(b){return b&&b instanceof a.bindingContext?b:new a.bindingContext(b)}a.bindingHandlers={};var u={script:!0,textarea:!0};a.getBindingHandler=function(b){return a.bindingHandlers[b]};a.bindingContext=function(b,c,d,e){var g=this,f="function"==
typeof b&&!a.isObservable(b),l,m=a.dependentObservable(function(){var l=f?b():b,h=a.utils.unwrapObservable(l);c?(c._subscribable&&c._subscribable(),a.utils.extend(g,c),m&&(g._subscribable=m)):(g.$parents=[],g.$root=h,g.ko=a);g.$rawData=l;g.$data=h;d&&(g[d]=h);e&&e(g,c,h);return g.$data},null,{disposeWhen:function(){return l&&!a.utils.anyDomNodeIsAttachedToDocument(l)},disposeWhenNodeIsRemoved:!0});m.isActive()&&(g._subscribable=m,m.equalityComparer=null,l=[],m._addNode=function(b){l.push(b);a.utils.domNodeDisposal.addDisposeCallback(b,
function(b){a.utils.arrayRemoveItem(l,b);l.length||(m.dispose(),g._subscribable=m=void 0)})})};a.bindingContext.prototype.createChildContext=function(b,c,d){return new a.bindingContext(b,this,c,function(a,b){a.$parentContext=b;a.$parent=b.$data;a.$parents=(b.$parents||[]).slice(0);a.$parents.unshift(a.$parent);d&&d(a)})};a.bindingContext.prototype.extend=function(b){return new a.bindingContext(this._subscribable||this.$data,this,null,function(c,d){c.$rawData=d.$rawData;a.utils.extend(c,"function"==
typeof b?b():b)})};var p=a.utils.domData.nextKey(),n=a.utils.domData.nextKey();a.storedBindingContextForNode=function(b,c){if(2==arguments.length)a.utils.domData.set(b,n,c),c._subscribable&&c._subscribable._addNode(b);else return a.utils.domData.get(b,n)};a.applyBindingAccessorsToNode=function(b,c,d){1===b.nodeType&&a.virtualElements.normaliseVirtualElementDomStructure(b);return m(b,c,g(d),!0)};a.applyBindingsToNode=function(b,c,d){d=g(d);return a.applyBindingAccessorsToNode(b,e(c,d,b),d)};a.applyBindingsToDescendants=
function(a,b){1!==b.nodeType&&8!==b.nodeType||h(g(a),b,!0)};a.applyBindings=function(a,b){!t&&r.jQuery&&(t=r.jQuery);if(b&&1!==b.nodeType&&8!==b.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");b=b||r.document.body;k(g(a),b,!0)};a.contextFor=function(b){switch(b.nodeType){case 1:case 8:var c=a.storedBindingContextForNode(b);if(c)return c;if(b.parentNode)return a.contextFor(b.parentNode)}};a.dataFor=function(b){return(b=a.contextFor(b))?
b.$data:void 0};a.exportSymbol("bindingHandlers",a.bindingHandlers);a.exportSymbol("applyBindings",a.applyBindings);a.exportSymbol("applyBindingsToDescendants",a.applyBindingsToDescendants);a.exportSymbol("applyBindingAccessorsToNode",a.applyBindingAccessorsToNode);a.exportSymbol("applyBindingsToNode",a.applyBindingsToNode);a.exportSymbol("contextFor",a.contextFor);a.exportSymbol("dataFor",a.dataFor)})();(function(b){function c(a,c){return a.hasOwnProperty(c)?a[c]:b}function d(b,d){var g=c(h,b),f;
g?g.subscribe(d):(g=h[b]=new a.subscribable,g.subscribe(d),e(b,function(a,c){var d=!(!c||!c.synchronous);k[b]={definition:a,isSynchronousComponent:d};delete h[b];f||d?g.notifySubscribers(a):setTimeout(function(){g.notifySubscribers(a)},0)}),f=!0)}function e(a,b){f("getConfig",[a],function(c){c?f("loadComponent",[a,c],function(a){b(a,c)}):b(null,null)})}function f(c,d,e,h){h||(h=a.components.loaders.slice(0));var k=h.shift();if(k){var n=k[c];if(n){var q=!1;if(n.apply(k,d.concat(function(a){q?e(null):
null!==a?e(a):f(c,d,e,h)}))!==b&&(q=!0,!k.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else f(c,d,e,h)}else e(null)}var h={},k={};a.components={get:function(b,e){var g=c(k,b);g?g.isSynchronousComponent?a.dependencyDetection.ignore(function(){e(g.definition)}):setTimeout(function(){e(g.definition)},0):d(b,e)},clearCachedDefinition:function(a){delete k[a]},_getFirstResultFromLoaders:f};a.components.loaders=
[];a.exportSymbol("components",a.components);a.exportSymbol("components.get",a.components.get);a.exportSymbol("components.clearCachedDefinition",a.components.clearCachedDefinition)})();(function(b){function c(b,c,d,e){var f={},l=2,k=function(){0===--l&&e(f)},z=d.template;d=d.viewModel;z?h(c,z,function(c){a.components._getFirstResultFromLoaders("loadTemplate",[b,c],function(a){f.template=a;k()})}):k();d?h(c,d,function(c){a.components._getFirstResultFromLoaders("loadViewModel",[b,c],function(a){f[m]=
a;k()})}):k()}function d(a,b,c){if("function"===typeof b)c(function(a){return new b(a)});else if("function"===typeof b[m])c(b[m]);else if("instance"in b){var e=b.instance;c(function(a,b){return e})}else"viewModel"in b?d(a,b.viewModel,c):a("Unknown viewModel value: "+b)}function e(b){switch(a.utils.tagNameLower(b)){case "script":return a.utils.parseHtmlFragment(b.text);case "textarea":return a.utils.parseHtmlFragment(b.value);case "template":if(f(b.content))return a.utils.cloneNodes(b.content.childNodes)}return a.utils.cloneNodes(b.childNodes)}
function f(a){return r.DocumentFragment?a instanceof DocumentFragment:a&&11===a.nodeType}function h(a,b,c){"string"===typeof b.require?O||r.require?(O||r.require)([b.require],c):a("Uses require, but no AMD loader is present"):c(b)}function k(a){return function(b){throw Error("Component '"+a+"': "+b);}}var l={};a.components.register=function(b,c){if(!c)throw Error("Invalid configuration for "+b);if(a.components.isRegistered(b))throw Error("Component "+b+" is already registered");l[b]=c};a.components.isRegistered=
function(a){return a in l};a.components.unregister=function(b){delete l[b];a.components.clearCachedDefinition(b)};a.components.defaultLoader={getConfig:function(a,b){var c=l.hasOwnProperty(a)?l[a]:null;b(c)},loadComponent:function(a,b,d){var e=k(a);h(e,b,function(b){c(a,e,b,d)})},loadTemplate:function(b,c,d){b=k(b);if("string"===typeof c)d(a.utils.parseHtmlFragment(c));else if(c instanceof Array)d(c);else if(f(c))d(a.utils.makeArray(c.childNodes));else if(c.element)if(c=c.element,r.HTMLElement?c instanceof
HTMLElement:c&&c.tagName&&1===c.nodeType)d(e(c));else if("string"===typeof c){var l=x.getElementById(c);l?d(e(l)):b("Cannot find element with ID "+c)}else b("Unknown element type: "+c);else b("Unknown template value: "+c)},loadViewModel:function(a,b,c){d(k(a),b,c)}};var m="createViewModel";a.exportSymbol("components.register",a.components.register);a.exportSymbol("components.isRegistered",a.components.isRegistered);a.exportSymbol("components.unregister",a.components.unregister);a.exportSymbol("components.defaultLoader",
a.components.defaultLoader);a.components.loaders.push(a.components.defaultLoader);a.components._allRegisteredComponents=l})();(function(b){function c(b,c){var h=b.getAttribute("params");if(h){var h=d.parseBindingsString(h,c,b,{valueAccessors:!0,bindingParams:!0}),h=a.utils.objectMap(h,function(c,d){return a.computed(c,null,{disposeWhenNodeIsRemoved:b})}),k=a.utils.objectMap(h,function(c,d){var g=c.peek();return c.isActive()?a.computed({read:function(){return a.utils.unwrapObservable(c())},write:a.isWriteableObservable(g)&&
function(a){c()(a)},disposeWhenNodeIsRemoved:b}):g});k.hasOwnProperty("$raw")||(k.$raw=h);return k}return{$raw:{}}}a.components.getComponentNameForNode=function(b){b=a.utils.tagNameLower(b);return a.components.isRegistered(b)&&b};a.components.addBindingsForCustomElement=function(b,d,h,k){if(1===d.nodeType){var l=a.components.getComponentNameForNode(d);if(l){b=b||{};if(b.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var m={name:l,params:c(d,h)};
b.component=k?function(){return m}:m}}return b};var d=new a.bindingProvider;9>a.utils.ieVersion&&(a.components.register=function(a){return function(b){x.createElement(b);return a.apply(this,arguments)}}(a.components.register),x.createDocumentFragment=function(b){return function(){var c=b(),d=a.components._allRegisteredComponents,k;for(k in d)d.hasOwnProperty(k)&&c.createElement(k);return c}}(x.createDocumentFragment))})();(function(b){function c(b,c,d){c=c.template;if(!c)throw Error("Component '"+
b+"' has no template");b=a.utils.cloneNodes(c);a.virtualElements.setDomNodeChildren(d,b)}function d(a,b,c,d){var e=a.createViewModel;return e?e.call(a,d,{element:b,templateNodes:c}):d}var e=0;a.bindingHandlers.component={init:function(f,h,k,l,m){var g,u,p=function(){var a=g&&g.dispose;"function"===typeof a&&a.call(g);u=null},n=a.utils.makeArray(a.virtualElements.childNodes(f));a.utils.domNodeDisposal.addDisposeCallback(f,p);a.computed(function(){var l=a.utils.unwrapObservable(h()),k,v;"string"===
typeof l?k=l:(k=a.utils.unwrapObservable(l.name),v=a.utils.unwrapObservable(l.params));if(!k)throw Error("No component name specified");var z=u=++e;a.components.get(k,function(e){if(u===z){p();if(!e)throw Error("Unknown component '"+k+"'");c(k,e,f);var l=d(e,f,n,v);e=m.createChildContext(l,b,function(a){a.$component=l;a.$componentTemplateNodes=n});g=l;a.applyBindingsToDescendants(e,f)}})},null,{disposeWhenNodeIsRemoved:f});return{controlsDescendantBindings:!0}}};a.virtualElements.allowedBindings.component=
!0})();var P={"class":"className","for":"htmlFor"};a.bindingHandlers.attr={update:function(b,c,d){c=a.utils.unwrapObservable(c())||{};a.utils.objectForEach(c,function(c,d){d=a.utils.unwrapObservable(d);var h=!1===d||null===d||void 0===d;h&&b.removeAttribute(c);8>=a.utils.ieVersion&&c in P?(c=P[c],h?b.removeAttribute(c):b[c]=d):h||b.setAttribute(c,d.toString());"name"===c&&a.utils.setElementName(b,h?"":d.toString())})}};(function(){a.bindingHandlers.checked={after:["value","attr"],init:function(b,
c,d){function e(){var e=b.checked,f=u?h():e;if(!a.computedContext.isInitial()&&(!l||e)){var k=a.dependencyDetection.ignore(c);m?g!==f?(e&&(a.utils.addOrRemoveItem(k,f,!0),a.utils.addOrRemoveItem(k,g,!1)),g=f):a.utils.addOrRemoveItem(k,f,e):a.expressionRewriting.writeValueToProperty(k,d,"checked",f,!0)}}function f(){var d=a.utils.unwrapObservable(c());b.checked=m?0<=a.utils.arrayIndexOf(d,h()):k?d:h()===d}var h=a.pureComputed(function(){return d.has("checkedValue")?a.utils.unwrapObservable(d.get("checkedValue")):
d.has("value")?a.utils.unwrapObservable(d.get("value")):b.value}),k="checkbox"==b.type,l="radio"==b.type;if(k||l){var m=k&&a.utils.unwrapObservable(c())instanceof Array,g=m?h():void 0,u=l||m;l&&!b.name&&a.bindingHandlers.uniqueName.init(b,function(){return!0});a.computed(e,null,{disposeWhenNodeIsRemoved:b});a.utils.registerEventHandler(b,"click",e);a.computed(f,null,{disposeWhenNodeIsRemoved:b})}}};a.expressionRewriting.twoWayBindings.checked=!0;a.bindingHandlers.checkedValue={update:function(b,c){b.value=
a.utils.unwrapObservable(c())}}})();a.bindingHandlers.css={update:function(b,c){var d=a.utils.unwrapObservable(c());null!==d&&"object"==typeof d?a.utils.objectForEach(d,function(c,d){d=a.utils.unwrapObservable(d);a.utils.toggleDomNodeCssClass(b,c,d)}):(d=String(d||""),a.utils.toggleDomNodeCssClass(b,b.__ko__cssValue,!1),b.__ko__cssValue=d,a.utils.toggleDomNodeCssClass(b,d,!0))}};a.bindingHandlers.enable={update:function(b,c){var d=a.utils.unwrapObservable(c());d&&b.disabled?b.removeAttribute("disabled"):
d||b.disabled||(b.disabled=!0)}};a.bindingHandlers.disable={update:function(b,c){a.bindingHandlers.enable.update(b,function(){return!a.utils.unwrapObservable(c())})}};a.bindingHandlers.event={init:function(b,c,d,e,f){var h=c()||{};a.utils.objectForEach(h,function(h){"string"==typeof h&&a.utils.registerEventHandler(b,h,function(b){var m,g=c()[h];if(g){try{var u=a.utils.makeArray(arguments);e=f.$data;u.unshift(e);m=g.apply(e,u)}finally{!0!==m&&(b.preventDefault?b.preventDefault():b.returnValue=!1)}!1===
d.get(h+"Bubble")&&(b.cancelBubble=!0,b.stopPropagation&&b.stopPropagation())}})})}};a.bindingHandlers.foreach={makeTemplateValueAccessor:function(b){return function(){var c=b(),d=a.utils.peekObservable(c);if(!d||"number"==typeof d.length)return{foreach:c,templateEngine:a.nativeTemplateEngine.instance};a.utils.unwrapObservable(c);return{foreach:d.data,as:d.as,includeDestroyed:d.includeDestroyed,afterAdd:d.afterAdd,beforeRemove:d.beforeRemove,afterRender:d.afterRender,beforeMove:d.beforeMove,afterMove:d.afterMove,
templateEngine:a.nativeTemplateEngine.instance}}},init:function(b,c,d,e,f){return a.bindingHandlers.template.init(b,a.bindingHandlers.foreach.makeTemplateValueAccessor(c))},update:function(b,c,d,e,f){return a.bindingHandlers.template.update(b,a.bindingHandlers.foreach.makeTemplateValueAccessor(c),d,e,f)}};a.expressionRewriting.bindingRewriteValidators.foreach=!1;a.virtualElements.allowedBindings.foreach=!0;a.bindingHandlers.hasfocus={init:function(b,c,d){var e=function(e){b.__ko_hasfocusUpdating=
!0;var f=b.ownerDocument;if("activeElement"in f){var l;try{l=f.activeElement}catch(m){l=f.body}e=l===b}f=c();a.expressionRewriting.writeValueToProperty(f,d,"hasfocus",e,!0);b.__ko_hasfocusLastValue=e;b.__ko_hasfocusUpdating=!1},f=e.bind(null,!0),e=e.bind(null,!1);a.utils.registerEventHandler(b,"focus",f);a.utils.registerEventHandler(b,"focusin",f);a.utils.registerEventHandler(b,"blur",e);a.utils.registerEventHandler(b,"focusout",e)},update:function(b,c){var d=!!a.utils.unwrapObservable(c());b.__ko_hasfocusUpdating||
b.__ko_hasfocusLastValue===d||(d?b.focus():b.blur(),a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,d?"focusin":"focusout"]))}};a.expressionRewriting.twoWayBindings.hasfocus=!0;a.bindingHandlers.hasFocus=a.bindingHandlers.hasfocus;a.expressionRewriting.twoWayBindings.hasFocus=!0;a.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.utils.setHtml(b,c())}};K("if");K("ifnot",!1,!0);K("with",!0,!1,function(a,c){return a.createChildContext(c)});
var L={};a.bindingHandlers.options={init:function(b){if("select"!==a.utils.tagNameLower(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:function(b,c,d){function e(){return a.utils.arrayFilter(b.options,function(a){return a.selected})}function f(a,b,c){var d=typeof b;return"function"==d?b(a):"string"==d?a[b]:c}function h(c,e){if(q&&g)a.selectExtensions.writeValue(b,a.utils.unwrapObservable(d.get("value")),
!0);else if(n.length){var f=0<=a.utils.arrayIndexOf(n,a.selectExtensions.readValue(e[0]));a.utils.setOptionNodeSelectionState(e[0],f);q&&!f&&a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,"change"])}}var k=b.multiple,l=0!=b.length&&k?b.scrollTop:null,m=a.utils.unwrapObservable(c()),g=d.get("valueAllowUnset")&&d.has("value"),u=d.get("optionsIncludeDestroyed");c={};var p,n=[];g||(k?n=a.utils.arrayMap(e(),a.selectExtensions.readValue):0<=b.selectedIndex&&n.push(a.selectExtensions.readValue(b.options[b.selectedIndex])));
m&&("undefined"==typeof m.length&&(m=[m]),p=a.utils.arrayFilter(m,function(b){return u||void 0===b||null===b||!a.utils.unwrapObservable(b._destroy)}),d.has("optionsCaption")&&(m=a.utils.unwrapObservable(d.get("optionsCaption")),null!==m&&void 0!==m&&p.unshift(L)));var q=!1;c.beforeRemove=function(a){b.removeChild(a)};m=h;d.has("optionsAfterRender")&&"function"==typeof d.get("optionsAfterRender")&&(m=function(b,c){h(b,c);a.dependencyDetection.ignore(d.get("optionsAfterRender"),null,[c[0],b!==L?b:void 0])});
a.utils.setDomNodeChildrenFromArrayMapping(b,p,function(c,e,l){l.length&&(n=!g&&l[0].selected?[a.selectExtensions.readValue(l[0])]:[],q=!0);e=b.ownerDocument.createElement("option");c===L?(a.utils.setTextContent(e,d.get("optionsCaption")),a.selectExtensions.writeValue(e,void 0)):(l=f(c,d.get("optionsValue"),c),a.selectExtensions.writeValue(e,a.utils.unwrapObservable(l)),c=f(c,d.get("optionsText"),l),a.utils.setTextContent(e,c));return[e]},c,m);a.dependencyDetection.ignore(function(){g?a.selectExtensions.writeValue(b,
a.utils.unwrapObservable(d.get("value")),!0):(k?n.length&&e().length<n.length:n.length&&0<=b.selectedIndex?a.selectExtensions.readValue(b.options[b.selectedIndex])!==n[0]:n.length||0<=b.selectedIndex)&&a.utils.triggerEvent(b,"change")});a.utils.ensureSelectElementIsRenderedCorrectly(b);l&&20<Math.abs(l-b.scrollTop)&&(b.scrollTop=l)}};a.bindingHandlers.options.optionValueDomDataKey=a.utils.domData.nextKey();a.bindingHandlers.selectedOptions={after:["options","foreach"],init:function(b,c,d){a.utils.registerEventHandler(b,
"change",function(){var e=c(),f=[];a.utils.arrayForEach(b.getElementsByTagName("option"),function(b){b.selected&&f.push(a.selectExtensions.readValue(b))});a.expressionRewriting.writeValueToProperty(e,d,"selectedOptions",f)})},update:function(b,c){if("select"!=a.utils.tagNameLower(b))throw Error("values binding applies only to SELECT elements");var d=a.utils.unwrapObservable(c());d&&"number"==typeof d.length&&a.utils.arrayForEach(b.getElementsByTagName("option"),function(b){var c=0<=a.utils.arrayIndexOf(d,
a.selectExtensions.readValue(b));a.utils.setOptionNodeSelectionState(b,c)})}};a.expressionRewriting.twoWayBindings.selectedOptions=!0;a.bindingHandlers.style={update:function(b,c){var d=a.utils.unwrapObservable(c()||{});a.utils.objectForEach(d,function(c,d){d=a.utils.unwrapObservable(d);if(null===d||void 0===d||!1===d)d="";b.style[c]=d})}};a.bindingHandlers.submit={init:function(b,c,d,e,f){if("function"!=typeof c())throw Error("The value for a submit binding must be a function");a.utils.registerEventHandler(b,
"submit",function(a){var d,e=c();try{d=e.call(f.$data,b)}finally{!0!==d&&(a.preventDefault?a.preventDefault():a.returnValue=!1)}})}};a.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.utils.setTextContent(b,c())}};a.virtualElements.allowedBindings.text=!0;(function(){if(r&&r.navigator)var b=function(a){if(a)return parseFloat(a[1])},c=r.opera&&r.opera.version&&parseInt(r.opera.version()),d=r.navigator.userAgent,e=b(d.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),
f=b(d.match(/Firefox\/([^ ]*)/));if(10>a.utils.ieVersion)var h=a.utils.domData.nextKey(),k=a.utils.domData.nextKey(),l=function(b){var c=this.activeElement;(c=c&&a.utils.domData.get(c,k))&&c(b)},m=function(b,c){var d=b.ownerDocument;a.utils.domData.get(d,h)||(a.utils.domData.set(d,h,!0),a.utils.registerEventHandler(d,"selectionchange",l));a.utils.domData.set(b,k,c)};a.bindingHandlers.textInput={init:function(b,d,l){var h=b.value,k,y,v=function(c){clearTimeout(k);y=k=void 0;c=b.value;h!==c&&(h=c,a.expressionRewriting.writeValueToProperty(d(),
l,"textInput",c))},z=function(a){k||(y=b.value,k=setTimeout(v,4))},t=function(){var c=a.utils.unwrapObservable(d());if(null===c||void 0===c)c="";void 0!==y&&c===y?setTimeout(t,4):b.value!==c&&(h=c,b.value=c)},r=function(c,d){a.utils.registerEventHandler(b,c,d)};10>a.utils.ieVersion?(r("propertychange",function(a){"value"===a.propertyName&&v(a)}),8==a.utils.ieVersion&&(r("keyup",v),r("keydown",v)),8<=a.utils.ieVersion&&(m(b,v),r("dragend",z))):(r("input",v),5>e&&"textarea"===a.utils.tagNameLower(b)?
(r("keydown",z),r("paste",z),r("cut",z)):11>c?r("keydown",z):4>f&&(r("DOMAutoComplete",v),r("dragdrop",v),r("drop",v)));r("change",v);a.computed(t,null,{disposeWhenNodeIsRemoved:b})}};a.expressionRewriting.twoWayBindings.textInput=!0;a.bindingHandlers.textinput={preprocess:function(a,b,c){c("textInput",a)}}})();a.bindingHandlers.uniqueName={init:function(b,c){if(c()){var d="ko_unique_"+ ++a.bindingHandlers.uniqueName.currentIndex;a.utils.setElementName(b,d)}}};a.bindingHandlers.uniqueName.currentIndex=
0;a.bindingHandlers.value={after:["options","foreach"],init:function(b,c,d){if("input"!=b.tagName.toLowerCase()||"checkbox"!=b.type&&"radio"!=b.type){var e=["change"],f=d.get("valueUpdate"),h=!1,k=null;r&&r.navigator&&0<=r.navigator.userAgent.toLowerCase().indexOf("safari")&&"input"==b.tagName.toLowerCase()&&0>"hidden checkbox radio file submit button".split(" ").indexOf(b.type)&&"off"!=b.autocomplete&&(!b.form||"off"!=b.form.autocomplete)&&e.unshift("blur");f&&("string"==typeof f&&(f=[f]),a.utils.arrayPushAll(e,
f),e=a.utils.arrayGetDistinctValues(e));var l=function(){k=null;h=!1;var e=c(),f=a.selectExtensions.readValue(b);a.expressionRewriting.writeValueToProperty(e,d,"value",f)};!a.utils.ieVersion||"input"!=b.tagName.toLowerCase()||"text"!=b.type||"off"==b.autocomplete||b.form&&"off"==b.form.autocomplete||-1!=a.utils.arrayIndexOf(e,"propertychange")||(a.utils.registerEventHandler(b,"propertychange",function(){h=!0}),a.utils.registerEventHandler(b,"focus",function(){h=!1}),a.utils.registerEventHandler(b,
"blur",function(){h&&l()}));a.utils.arrayForEach(e,function(c){var d=l;a.utils.stringStartsWith(c,"after")&&(d=function(){k=a.selectExtensions.readValue(b);setTimeout(l,0)},c=c.substring(5));a.utils.registerEventHandler(b,c,d)});var m=function(){var e=a.utils.unwrapObservable(c()),f=a.selectExtensions.readValue(b);if(null!==k&&e===k)setTimeout(m,0);else if(e!==f)if("select"===a.utils.tagNameLower(b)){var l=d.get("valueAllowUnset"),f=function(){a.selectExtensions.writeValue(b,e,l)};f();l||e===a.selectExtensions.readValue(b)?
setTimeout(f,0):a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,"change"])}else a.selectExtensions.writeValue(b,e)};a.computed(m,null,{disposeWhenNodeIsRemoved:b})}else a.applyBindingAccessorsToNode(b,{checkedValue:c})},update:function(){}};a.expressionRewriting.twoWayBindings.value=!0;a.bindingHandlers.visible={update:function(b,c){var d=a.utils.unwrapObservable(c()),e="none"!=b.style.display;d&&!e?b.style.display="":!d&&e&&(b.style.display="none")}};(function(b){a.bindingHandlers[b]={init:function(c,
d,e,f,h){return a.bindingHandlers.event.init.call(this,c,function(){var a={};a[b]=d();return a},e,f,h)}}})("click");a.templateEngine=function(){};a.templateEngine.prototype.renderTemplateSource=function(a,c,d,e){throw Error("Override renderTemplateSource");};a.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(a){throw Error("Override createJavaScriptEvaluatorBlock");};a.templateEngine.prototype.makeTemplateSource=function(b,c){if("string"==typeof b){c=c||x;var d=c.getElementById(b);
if(!d)throw Error("Cannot find template with ID "+b);return new a.templateSources.domElement(d)}if(1==b.nodeType||8==b.nodeType)return new a.templateSources.anonymousTemplate(b);throw Error("Unknown template type: "+b);};a.templateEngine.prototype.renderTemplate=function(a,c,d,e){a=this.makeTemplateSource(a,e);return this.renderTemplateSource(a,c,d,e)};a.templateEngine.prototype.isTemplateRewritten=function(a,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(a,c).data("isRewritten")};
a.templateEngine.prototype.rewriteTemplate=function(a,c,d){a=this.makeTemplateSource(a,d);c=c(a.text());a.text(c);a.data("isRewritten",!0)};a.exportSymbol("templateEngine",a.templateEngine);a.templateRewriting=function(){function b(b,c,d,k){b=a.expressionRewriting.parseObjectLiteral(b);for(var l=a.expressionRewriting.bindingRewriteValidators,m=0;m<b.length;m++){var g=b[m].key;if(l.hasOwnProperty(g)){var u=l[g];if("function"===typeof u){if(g=u(b[m].value))throw Error(g);}else if(!u)throw Error("This template engine does not support the '"+
g+"' binding within its templates");}}d="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+a.expressionRewriting.preProcessBindings(b,{valueAccessors:!0})+" } })()},'"+d.toLowerCase()+"')";return k.createJavaScriptEvaluatorBlock(d)+c}var c=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,d=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{ensureTemplateIsRewritten:function(b,c,d){c.isTemplateRewritten(b,
d)||c.rewriteTemplate(b,function(b){return a.templateRewriting.memoizeBindingAttributeSyntax(b,c)},d)},memoizeBindingAttributeSyntax:function(a,f){return a.replace(c,function(a,c,d,e,g){return b(g,c,d,f)}).replace(d,function(a,c){return b(c,"\x3c!-- ko --\x3e","#comment",f)})},applyMemoizedBindingsToNextSibling:function(b,c){return a.memoization.memoize(function(d,k){var l=d.nextSibling;l&&l.nodeName.toLowerCase()===c&&a.applyBindingAccessorsToNode(l,b,k)})}}}();a.exportSymbol("__tr_ambtns",a.templateRewriting.applyMemoizedBindingsToNextSibling);
(function(){a.templateSources={};a.templateSources.domElement=function(a){this.domElement=a};a.templateSources.domElement.prototype.text=function(){var b=a.utils.tagNameLower(this.domElement),b="script"===b?"text":"textarea"===b?"value":"innerHTML";if(0==arguments.length)return this.domElement[b];var c=arguments[0];"innerHTML"===b?a.utils.setHtml(this.domElement,c):this.domElement[b]=c};var b=a.utils.domData.nextKey()+"_";a.templateSources.domElement.prototype.data=function(c){if(1===arguments.length)return a.utils.domData.get(this.domElement,
b+c);a.utils.domData.set(this.domElement,b+c,arguments[1])};var c=a.utils.domData.nextKey();a.templateSources.anonymousTemplate=function(a){this.domElement=a};a.templateSources.anonymousTemplate.prototype=new a.templateSources.domElement;a.templateSources.anonymousTemplate.prototype.constructor=a.templateSources.anonymousTemplate;a.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var b=a.utils.domData.get(this.domElement,c)||{};void 0===b.textData&&b.containerData&&
(b.textData=b.containerData.innerHTML);return b.textData}a.utils.domData.set(this.domElement,c,{textData:arguments[0]})};a.templateSources.domElement.prototype.nodes=function(){if(0==arguments.length)return(a.utils.domData.get(this.domElement,c)||{}).containerData;a.utils.domData.set(this.domElement,c,{containerData:arguments[0]})};a.exportSymbol("templateSources",a.templateSources);a.exportSymbol("templateSources.domElement",a.templateSources.domElement);a.exportSymbol("templateSources.anonymousTemplate",
a.templateSources.anonymousTemplate)})();(function(){function b(b,c,d){var e;for(c=a.virtualElements.nextSibling(c);b&&(e=b)!==c;)b=a.virtualElements.nextSibling(e),d(e,b)}function c(c,d){if(c.length){var e=c[0],f=c[c.length-1],h=e.parentNode,k=a.bindingProvider.instance,q=k.preprocessNode;if(q){b(e,f,function(a,b){var c=a.previousSibling,d=q.call(k,a);d&&(a===e&&(e=d[0]||b),a===f&&(f=d[d.length-1]||c))});c.length=0;if(!e)return;e===f?c.push(e):(c.push(e,f),a.utils.fixUpContinuousNodeArray(c,h))}b(e,
f,function(b){1!==b.nodeType&&8!==b.nodeType||a.applyBindings(d,b)});b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.memoization.unmemoizeDomNodeAndDescendants(b,[d])});a.utils.fixUpContinuousNodeArray(c,h)}}function d(a){return a.nodeType?a:0<a.length?a[0]:null}function e(b,e,f,k,p){p=p||{};var n=(b&&d(b)||f||{}).ownerDocument,q=p.templateEngine||h;a.templateRewriting.ensureTemplateIsRewritten(f,q,n);f=q.renderTemplate(f,k,p,n);if("number"!=typeof f.length||0<f.length&&"number"!=typeof f[0].nodeType)throw Error("Template engine must return an array of DOM nodes");
n=!1;switch(e){case "replaceChildren":a.virtualElements.setDomNodeChildren(b,f);n=!0;break;case "replaceNode":a.utils.replaceDomNodes(b,f);n=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+e);}n&&(c(f,k),p.afterRender&&a.dependencyDetection.ignore(p.afterRender,null,[f,k.$data]));return f}function f(b,c,d){return a.isObservable(b)?b():"function"===typeof b?b(c,d):b}var h;a.setTemplateEngine=function(b){if(void 0!=b&&!(b instanceof a.templateEngine))throw Error("templateEngine must inherit from ko.templateEngine");
h=b};a.renderTemplate=function(b,c,g,k,p){g=g||{};if(void 0==(g.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");p=p||"replaceChildren";if(k){var n=d(k);return a.dependentObservable(function(){var h=c&&c instanceof a.bindingContext?c:new a.bindingContext(a.utils.unwrapObservable(c)),r=f(b,h.$data,h),h=e(k,p,r,h,g);"replaceNode"==p&&(k=h,n=d(k))},null,{disposeWhen:function(){return!n||!a.utils.domNodeIsAttachedToDocument(n)},disposeWhenNodeIsRemoved:n&&"replaceNode"==
p?n.parentNode:n})}return a.memoization.memoize(function(d){a.renderTemplate(b,c,g,d,"replaceNode")})};a.renderTemplateForEach=function(b,d,g,h,k){var n,q=function(a,c){n=k.createChildContext(a,g.as,function(a){a.$index=c});var d=f(b,a,n);return e(null,"ignoreTargetNode",d,n,g)},r=function(a,b,d){c(b,n);g.afterRender&&g.afterRender(b,a);n=null};return a.dependentObservable(function(){var b=a.utils.unwrapObservable(d)||[];"undefined"==typeof b.length&&(b=[b]);b=a.utils.arrayFilter(b,function(b){return g.includeDestroyed||
void 0===b||null===b||!a.utils.unwrapObservable(b._destroy)});a.dependencyDetection.ignore(a.utils.setDomNodeChildrenFromArrayMapping,null,[h,b,q,g,r])},null,{disposeWhenNodeIsRemoved:h})};var k=a.utils.domData.nextKey();a.bindingHandlers.template={init:function(b,c){var d=a.utils.unwrapObservable(c());if("string"==typeof d||d.name)a.virtualElements.emptyNode(b);else{if("nodes"in d){if(d=d.nodes||[],a.isObservable(d))throw Error('The "nodes" option must be a plain, non-observable array.');}else d=
a.virtualElements.childNodes(b);d=a.utils.moveCleanedNodesToContainerElement(d);(new a.templateSources.anonymousTemplate(b)).nodes(d)}return{controlsDescendantBindings:!0}},update:function(b,c,d,e,f){var h=c(),q;c=a.utils.unwrapObservable(h);d=!0;e=null;"string"==typeof c?c={}:(h=c.name,"if"in c&&(d=a.utils.unwrapObservable(c["if"])),d&&"ifnot"in c&&(d=!a.utils.unwrapObservable(c.ifnot)),q=a.utils.unwrapObservable(c.data));"foreach"in c?e=a.renderTemplateForEach(h||b,d&&c.foreach||[],c,b,f):d?(f=
"data"in c?f.createChildContext(q,c.as):f,e=a.renderTemplate(h||b,f,c,b)):a.virtualElements.emptyNode(b);f=e;(q=a.utils.domData.get(b,k))&&"function"==typeof q.dispose&&q.dispose();a.utils.domData.set(b,k,f&&f.isActive()?f:void 0)}};a.expressionRewriting.bindingRewriteValidators.template=function(b){b=a.expressionRewriting.parseObjectLiteral(b);return 1==b.length&&b[0].unknown||a.expressionRewriting.keyValueArrayContainsKey(b,"name")?null:"This template engine does not support anonymous templates nested within its templates"};
a.virtualElements.allowedBindings.template=!0})();a.exportSymbol("setTemplateEngine",a.setTemplateEngine);a.exportSymbol("renderTemplate",a.renderTemplate);a.utils.findMovesInArrayComparison=function(a,c,d){if(a.length&&c.length){var e,f,h,k,l;for(e=f=0;(!d||e<d)&&(k=a[f]);++f){for(h=0;l=c[h];++h)if(k.value===l.value){k.moved=l.index;l.moved=k.index;c.splice(h,1);e=h=0;break}e+=h}}};a.utils.compareArrays=function(){function b(b,d,e,f,h){var k=Math.min,l=Math.max,m=[],g,u=b.length,p,n=d.length,q=n-
u||1,r=u+n+1,v,t,x;for(g=0;g<=u;g++)for(t=v,m.push(v=[]),x=k(n,g+q),p=l(0,g-1);p<=x;p++)v[p]=p?g?b[g-1]===d[p-1]?t[p-1]:k(t[p]||r,v[p-1]||r)+1:p+1:g+1;k=[];l=[];q=[];g=u;for(p=n;g||p;)n=m[g][p]-1,p&&n===m[g][p-1]?l.push(k[k.length]={status:e,value:d[--p],index:p}):g&&n===m[g-1][p]?q.push(k[k.length]={status:f,value:b[--g],index:g}):(--p,--g,h.sparse||k.push({status:"retained",value:d[p]}));a.utils.findMovesInArrayComparison(l,q,10*u);return k.reverse()}return function(a,d,e){e="boolean"===typeof e?
{dontLimitMoves:e}:e||{};a=a||[];d=d||[];return a.length<=d.length?b(a,d,"added","deleted",e):b(d,a,"deleted","added",e)}}();a.exportSymbol("utils.compareArrays",a.utils.compareArrays);(function(){function b(b,c,f,h,k){var l=[],m=a.dependentObservable(function(){var g=c(f,k,a.utils.fixUpContinuousNodeArray(l,b))||[];0<l.length&&(a.utils.replaceDomNodes(l,g),h&&a.dependencyDetection.ignore(h,null,[f,g,k]));l.length=0;a.utils.arrayPushAll(l,g)},null,{disposeWhenNodeIsRemoved:b,disposeWhen:function(){return!a.utils.anyDomNodeIsAttachedToDocument(l)}});
return{mappedNodes:l,dependentObservable:m.isActive()?m:void 0}}var c=a.utils.domData.nextKey();a.utils.setDomNodeChildrenFromArrayMapping=function(d,e,f,h,k){function l(b,c){w=r[c];v!==c&&(A[b]=w);w.indexObservable(v++);a.utils.fixUpContinuousNodeArray(w.mappedNodes,d);q.push(w);B.push(w)}function m(b,c){if(b)for(var d=0,e=c.length;d<e;d++)c[d]&&a.utils.arrayForEach(c[d].mappedNodes,function(a){b(a,d,c[d].arrayEntry)})}e=e||[];h=h||{};var g=void 0===a.utils.domData.get(d,c),r=a.utils.domData.get(d,
c)||[],p=a.utils.arrayMap(r,function(a){return a.arrayEntry}),n=a.utils.compareArrays(p,e,h.dontLimitMoves),q=[],t=0,v=0,x=[],B=[];e=[];for(var A=[],p=[],w,E=0,D,F;D=n[E];E++)switch(F=D.moved,D.status){case "deleted":void 0===F&&(w=r[t],w.dependentObservable&&w.dependentObservable.dispose(),x.push.apply(x,a.utils.fixUpContinuousNodeArray(w.mappedNodes,d)),h.beforeRemove&&(e[E]=w,B.push(w)));t++;break;case "retained":l(E,t++);break;case "added":void 0!==F?l(E,F):(w={arrayEntry:D.value,indexObservable:a.observable(v++)},
q.push(w),B.push(w),g||(p[E]=w))}m(h.beforeMove,A);a.utils.arrayForEach(x,h.beforeRemove?a.cleanNode:a.removeNode);for(var E=0,g=a.virtualElements.firstChild(d),H;w=B[E];E++){w.mappedNodes||a.utils.extend(w,b(d,f,w.arrayEntry,k,w.indexObservable));for(t=0;n=w.mappedNodes[t];g=n.nextSibling,H=n,t++)n!==g&&a.virtualElements.insertAfter(d,n,H);!w.initialized&&k&&(k(w.arrayEntry,w.mappedNodes,w.indexObservable),w.initialized=!0)}m(h.beforeRemove,e);m(h.afterMove,A);m(h.afterAdd,p);a.utils.domData.set(d,
c,q)}})();a.exportSymbol("utils.setDomNodeChildrenFromArrayMapping",a.utils.setDomNodeChildrenFromArrayMapping);a.nativeTemplateEngine=function(){this.allowTemplateRewriting=!1};a.nativeTemplateEngine.prototype=new a.templateEngine;a.nativeTemplateEngine.prototype.constructor=a.nativeTemplateEngine;a.nativeTemplateEngine.prototype.renderTemplateSource=function(b,c,d,e){if(c=(9>a.utils.ieVersion?0:b.nodes)?b.nodes():null)return a.utils.makeArray(c.cloneNode(!0).childNodes);b=b.text();return a.utils.parseHtmlFragment(b,
e)};a.nativeTemplateEngine.instance=new a.nativeTemplateEngine;a.setTemplateEngine(a.nativeTemplateEngine.instance);a.exportSymbol("nativeTemplateEngine",a.nativeTemplateEngine);(function(){a.jqueryTmplTemplateEngine=function(){var a=this.jQueryTmplVersion=function(){if(!t||!t.tmpl)return 0;try{if(0<=t.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(a){}return 1}();this.renderTemplateSource=function(b,e,f,h){h=h||x;f=f||{};if(2>a)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");
var k=b.data("precompiled");k||(k=b.text()||"",k=t.template(null,"{{ko_with $item.koBindingContext}}"+k+"{{/ko_with}}"),b.data("precompiled",k));b=[e.$data];e=t.extend({koBindingContext:e},f.templateOptions);e=t.tmpl(k,b,e);e.appendTo(h.createElement("div"));t.fragments={};return e};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,b){x.write("\x3cscript type\x3d'text/html' id\x3d'"+a+"'\x3e"+b+"\x3c/script\x3e")};0<
a&&(t.tmpl.tag.ko_code={open:"__.push($1 || '');"},t.tmpl.tag.ko_with={open:"with($1) {",close:"} "})};a.jqueryTmplTemplateEngine.prototype=new a.templateEngine;a.jqueryTmplTemplateEngine.prototype.constructor=a.jqueryTmplTemplateEngine;var b=new a.jqueryTmplTemplateEngine;0<b.jQueryTmplVersion&&a.setTemplateEngine(b);a.exportSymbol("jqueryTmplTemplateEngine",a.jqueryTmplTemplateEngine)})()})})()})();(function(){ko.components.loaders.unshift({loadViewModel:function(c,a,b){"function"===typeof a?b(function(b,c){var d=new a(b);if(d.isValidatable){var e=ko.contextFor(c.element).$parents.findBy("isCompositeValidatable",!0);e&&e.registerValidatableViewModel(d)}return d}):b(null)},loadTemplate:function(c,a,b){if("string"===typeof a)return b(null);c=new VUI.Templates;a="function"===typeof a?c.loadTemplates({hogan:a})():c.loadTemplates({componentId:a.component})[a.template]();b([a])}})})();(function(a){(function(){var b=a.bindingHandlers.enable.update;a.bindingHandlers.enable.update=function(c,d){b&&b.apply(this,arguments);a.unwrap(d())?c.removeAttribute("aria-disabled"):c.setAttribute("aria-disabled",!0)}})()})(ko);(function(){window.addEvent("initComponents",function(){document.getElements("[data-autobind\x3dtrue]").each(function(a){ko.applyBindings({},a)})})})();(function(){Object.place("VUI.BindingHandlerDomUtil",{storeDomHandler:function(a,b,c){a=document.id(a);a.store(b,c);ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve(b).dispose();a.eliminate(b)})}})})();__registerModule("/nz/co/airnz/vui/date/date.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"js.days.three":"Sun|Mon|Tue|Wed|Thu|Fri|Sat","js.months.three":"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec","js.mmdd.display":"Enter a date (e.g. dd/mm)","duration.time.hours.minutes":'{{hours}}\x3cabbr class\x3d"vui-abbr-unstyled" title\x3d"hours"\x3eh\x3c/abbr\x3e {{minutes}}\x3cabbr class\x3d"vui-abbr-unstyled" title\x3d"minutes"\x3em\x3c/abbr\x3e',"duration.time.minutes.seconds":'\x3cspan aria-hidden\x3d"true"\x3e{{minutes}}:{{seconds}}\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3e{{minutes}} minutes and {{seconds}} seconds\x3c/span\x3e',
"duration.time.seconds.only":'\x3cspan aria-hidden\x3d"true"\x3e00:{{seconds}}\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3e{{seconds}} seconds\x3c/span\x3e',"pattern.hud.datetime.full":"EEEE dd MMMM yyyy '[TIME]'","pattern.ancillary.datetime.full":"EEE, d MMM yyyy 'at' '[TIME]'","pattern.ancillary.date":"EEE, d MMM yyyy","pattern.monthyear":"MMMM yyyy","pattern.date.daydate.short":"EEE d","pattern.mmdd":"dd/MM","pattern.date.full":"EEEE dd MMMM yyyy","pattern.date.full.variation.2":"EEE, dd MMMM yyyy",
"pattern.date.full.variation.3":"EEE, dd MMM yyyy"};Locale.define("en-NZ","vui",{date:b});a.default=b});Locale.define("en-US","Date",{months:"January February March April May June July August September October November December".split(" "),months_abbr:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),days_abbr:"Sun Mon Tue Wed Thu Fri Sat".split(" "),dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",firstDayOfWeek:0,ordinal:function(a){return 3<a&&21>a?"th":["th","st","nd",
"rd","th"][Math.min(a%10,4)]},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago",hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",weekAgo:"1 week ago",weeksAgo:"{delta} weeks ago",monthAgo:"1 month ago",monthsAgo:"{delta} months ago",yearAgo:"1 year ago",yearsAgo:"{delta} years ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",
hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now",weekUntil:"1 week from now",weeksUntil:"{delta} weeks from now",monthUntil:"1 month from now",monthsUntil:"{delta} months from now",yearUntil:"1 year from now",yearsUntil:"{delta} years from now"});(function(){var c=this.Date,k=c.Methods={ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"};"Date Day FullYear Hours Milliseconds Minutes Month Seconds Time TimezoneOffset Week Timezone GMTOffset DayOfYear LastMonth LastDayOfMonth UTCDate UTCDay UTCFullYear AMPM Ordinal UTCHours UTCMilliseconds UTCMinutes UTCMonth UTCSeconds UTCMilliseconds".split(" ").each(function(a){c.Methods[a.toLowerCase()]=a});var e=function(a,b,c){return 1==b?a:a<Math.pow(10,b-1)?(c||"0")+
e(a,b-1,c):a};c.implement({set:function(a,b){a=a.toLowerCase();var c=k[a]&&"set"+k[a];if(c&&this[c])this[c](b);return this}.overloadSetter(),get:function(a){a=a.toLowerCase();return(a=k[a]&&"get"+k[a])&&this[a]?this[a]():null}.overloadGetter(),clone:function(){return new c(this.get("time"))},increment:function(a,b){a=a||"day";b=null!=b?b:1;switch(a){case "year":return this.increment("month",12*b);case "month":var d=this.get("date");this.set("date",1).set("mo",this.get("mo")+b);return this.set("date",
d.min(this.get("lastdayofmonth")));case "week":return this.increment("day",7*b);case "day":return this.set("date",this.get("date")+b)}if(!c.units[a])throw Error(a+" is not a supported interval");return this.set("time",this.get("time")+b*c.units[a]())},decrement:function(a,b){return this.increment(a,-1*(null!=b?b:1))},isLeapYear:function(){return c.isLeapYear(this.get("year"))},clearTime:function(){return this.set({hr:0,min:0,sec:0,ms:0})},diff:function(a,b){"string"==typeOf(a)&&(a=c.parse(a));return((a-
this)/c.units[b||"day"](3,3)).round()},getLastDayOfMonth:function(){return c.daysInMonth(this.get("mo"),this.get("year"))},getDayOfYear:function(){return(c.UTC(this.get("year"),this.get("mo"),this.get("date")+1)-c.UTC(this.get("year"),0,1))/c.units.day()},setDay:function(a,b){null==b&&(b=c.getMsg("firstDayOfWeek"),""===b&&(b=1));a=(7+c.parseDay(a,!0)-b)%7;var d=(7+this.get("day")-b)%7;return this.increment("day",a-d)},getWeek:function(a){null==a&&(a=c.getMsg("firstDayOfWeek"),""===a&&(a=1));var b=
this,d=(7+b.get("day")-a)%7,f=0,g;if(1==a){g=b.get("month");var e=b.get("date")-d;if(11==g&&28<e)return 1;0==g&&-2>e&&(b=(new c(b)).decrement("day",d),d=0);g=(new c(b.get("year"),0,1)).get("day")||7;4<g&&(f=-7)}else g=(new c(b.get("year"),0,1)).get("day");f+=b.get("dayofyear");f=f+(6-d)+(7+g-a)%7;return f/7},getOrdinal:function(a){return c.getMsg("ordinal",a||this.get("date"))},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,
"$1$2$3")},getGMTOffset:function(){var a=this.get("timezoneOffset");return(0<a?"-":"+")+e((a.abs()/60).floor(),2)+e(a%60,2)},setAMPM:function(a){a=a.toUpperCase();var b=this.get("hr");return 11<b&&"AM"==a?this.decrement("hour",12):12>b&&"PM"==a?this.increment("hour",12):this},getAMPM:function(){return 12>this.get("hr")?"AM":"PM"},parse:function(a){this.set("time",c.parse(a));return this},isValid:function(a){a||(a=this);return"date"==typeOf(a)&&!isNaN(a.valueOf())},format:function(a){if(!this.isValid())return"invalid date";
a||(a="%x %X");"string"==typeof a&&(a=p[a.toLowerCase()]||a);if("function"==typeof a)return a(this);var b=this;return a.replace(/%([a-z%])/gi,function(a,f){switch(f){case "a":return c.getMsg("days_abbr")[b.get("day")];case "A":return c.getMsg("days")[b.get("day")];case "b":return c.getMsg("months_abbr")[b.get("month")];case "B":return c.getMsg("months")[b.get("month")];case "c":return b.format("%a %b %d %H:%M:%S %Y");case "d":return e(b.get("date"),2);case "e":return e(b.get("date"),2," ");case "H":return e(b.get("hr"),
2);case "I":return e(b.get("hr")%12||12,2);case "j":return e(b.get("dayofyear"),3);case "k":return e(b.get("hr"),2," ");case "l":return e(b.get("hr")%12||12,2," ");case "L":return e(b.get("ms"),3);case "m":return e(b.get("mo")+1,2);case "M":return e(b.get("min"),2);case "n":return b.get("mo")+1;case "o":return b.get("ordinal");case "p":return c.getMsg(b.get("ampm"));case "s":return Math.round(b/1E3);case "S":return e(b.get("seconds"),2);case "T":return b.format("%H:%M:%S");case "U":return e(b.get("week"),
2);case "w":return b.get("day");case "x":return b.format(c.getMsg("shortDate"));case "X":return b.format(c.getMsg("shortTime"));case "y":return b.get("year").toString().substr(2);case "Y":return b.get("year");case "z":return b.get("GMTOffset");case "Z":return b.get("Timezone")}return f})}}).alias({toJSON:"toISOString",compare:"diff",strftime:"format"});var q="Sun Mon Tue Wed Thu Fri Sat".split(" "),r="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),p={db:"%Y-%m-%d %H:%M:%S",compact:"%Y%m%dT%H%M%S",
"short":"%d %b %H:%M","long":"%B %d, %Y %H:%M",rfc822:function(a){return q[a.get("day")]+a.format(", %d ")+r[a.get("month")]+a.format(" %Y %H:%M:%S %Z")},rfc2822:function(a){return q[a.get("day")]+a.format(", %d ")+r[a.get("month")]+a.format(" %Y %H:%M:%S %z")},iso8601:function(a){return a.getUTCFullYear()+"-"+e(a.getUTCMonth()+1,2)+"-"+e(a.getUTCDate(),2)+"T"+e(a.getUTCHours(),2)+":"+e(a.getUTCMinutes(),2)+":"+e(a.getUTCSeconds(),2)+"."+e(a.getUTCMilliseconds(),3)+"Z"}},l=[],y=c.parse,t=function(a,
b,d){var f=-1,g=c.getMsg(a+"s");switch(typeOf(b)){case "object":f=g[b.get(a)];break;case "number":f=g[b];if(!f)throw Error("Invalid "+a+" index: "+b);break;case "string":b=g.filter(function(a){return this.test(a)},new RegExp("^"+b,"i"));if(!b.length)throw Error("Invalid "+a+" string");if(1<b.length)throw Error("Ambiguous "+a);f=b[0]}return d?g.indexOf(f):f},u=1900,n=70;c.extend({getMsg:function(a,b){return Locale.get("Date."+a,b)},units:{ms:Function.from(1),second:Function.from(1E3),minute:Function.from(6E4),
hour:Function.from(36E5),day:Function.from(864E5),week:Function.from(6084E5),month:function(a,b){var d=new c;return 864E5*c.daysInMonth(null!=a?a:d.get("mo"),null!=b?b:d.get("year"))},year:function(a){a=a||(new c).get("year");return c.isLeapYear(a)?316224E5:31536E6}},daysInMonth:function(a,b){return[31,c.isLeapYear(b)?29:28,31,30,31,30,31,31,30,31,30,31][a]},isLeapYear:function(a){return 0===a%4&&0!==a%100||0===a%400},parse:function(a){var b=typeOf(a);if("number"==b)return new c(a);if("string"!=b)return a;
a=a.clean();if(!a.length)return null;var d;l.some(function(b){var c=b.re.exec(a);return c?d=b.handler(c):!1});d&&d.isValid()||(d=new c(y(a)),d.isValid())||(d=new c(a.toInt()));return d},parseDay:function(a,b){return t("day",a,b)},parseMonth:function(a,b){return t("month",a,b)},parseUTC:function(a){a=new c(a);a=c.UTC(a.get("year"),a.get("mo"),a.get("date"),a.get("hr"),a.get("min"),a.get("sec"),a.get("ms"));return new c(a)},orderIndex:function(a){return c.getMsg("dateOrder").indexOf(a)+1},defineFormat:function(a,
b){p[a]=b;return this},defineParser:function(a){l.push(a.re&&a.handler?a:v(a));return this},defineParsers:function(){Array.flatten(arguments).each(c.defineParser);return this},define2DigitYearStart:function(a){n=a%100;u=a-n;return this}}).extend({defineFormats:c.defineFormat.overloadSetter()});var w=function(a){return new RegExp("(?:"+c.getMsg(a).map(function(a){return a.substr(0,3)}).join("|")+")[a-z]*")},z=function(a){switch(a){case "T":return"%H:%M:%S";case "x":return(1==c.orderIndex("month")?
"%m[-./]%d":"%d[-./]%m")+"([-./]%y)?";case "X":return"%H([.:]%M)?([.:]%S([.:]%s)?)? ?%p? ?%z?"}return null},h={d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,o:/[a-z]*/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/,z:/Z|[+-]\d{2}(?::?\d{2})?/};h.m=h.I;h.S=h.M;var x,A=function(a){x=a;h.a=h.A=w("days");h.b=h.B=w("months");l.each(function(a,c){a.format&&(l[c]=v(a.format))})},v=function(a){if(!x)return{format:a};var b=[],d=(a.source||a).replace(/%([a-z])/gi,function(a,
b){return z(b)||a}).replace(/\((?!\?)/g,"(?:").replace(/ (?!\?|\*)/g,",? ").replace(/%([a-z%])/gi,function(a,c){var d=h[c];if(!d)return c;b.push(c);return"("+d.source+")"}).replace(/\[a-z\]/gi,"[a-z\\u00c0-\\uffff;\x26]");return{format:a,re:new RegExp("^"+d+"$","i"),handler:function(a){a=a.slice(1).associate(b);var d=(new c).clearTime(),e=a.y||a.Y;null!=e&&m.call(d,"y",e);"d"in a&&m.call(d,"d",1);("m"in a||a.b||a.B)&&m.call(d,"m",1);for(var h in a)m.call(d,h,a[h]);return d}}},m=function(a,b){if(!b)return this;
switch(a){case "a":case "A":return this.set("day",c.parseDay(b,!0));case "b":case "B":return this.set("mo",c.parseMonth(b,!0));case "d":return this.set("date",b);case "H":case "I":return this.set("hr",b);case "m":return this.set("mo",b-1);case "M":return this.set("min",b);case "p":return this.set("ampm",b.replace(/\./g,""));case "S":return this.set("sec",b);case "s":return this.set("ms",1E3*("0."+b));case "w":return this.set("day",b);case "Y":return this.set("year",b);case "y":return b=+b,100>b&&
(b+=u+(b<n?100:0)),this.set("year",b);case "z":"Z"==b&&(b="+00");var d=b.match(/([+-])(\d{2}):?(\d{2})?/),d=(d[1]+"1")*(60*d[2]+(+d[3]||0))+this.getTimezoneOffset();return this.set("time",this-6E4*d)}return this};c.defineParsers("%Y([-./]%m([-./]%d((T| )%X)?)?)?","%Y%m%d(T%H(%M%S?)?)?","%x( %X)?","%d%o( %b( %Y)?)?( %X)?","%b( %d%o)?( %Y)?( %X)?","%Y %b( %d%o( %X)?)?","%o %b %d %X %z %Y","%T","%H:%M( ?%p)?");Locale.addEvent("change",function(a){Locale.get("Date")&&A(a)}).fireEvent("change",Locale.getCurrent())})();(function(){var g={a:/[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u0103\u0105]/g,A:/[\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u0102\u0104]/g,c:/[\u0107\u010d\u00e7]/g,C:/[\u0106\u010c\u00c7]/g,d:/[\u010f\u0111]/g,D:/[\u010e\u00d0]/g,e:/[\u00e8\u00e9\u00ea\u00eb\u011b\u0119]/g,E:/[\u00c8\u00c9\u00ca\u00cb\u011a\u0118]/g,g:/[\u011f]/g,G:/[\u011e]/g,i:/[\u00ec\u00ed\u00ee\u00ef]/g,I:/[\u00cc\u00cd\u00ce\u00cf]/g,l:/[\u013a\u013e\u0142]/g,L:/[\u0139\u013d\u0141]/g,n:/[\u00f1\u0148\u0144]/g,N:/[\u00d1\u0147\u0143]/g,
o:/[\u00f2\u00f3\u00f4\u00f5\u00f6\u00f8\u0151]/g,O:/[\u00d2\u00d3\u00d4\u00d5\u00d6\u00d8]/g,r:/[\u0159\u0155]/g,R:/[\u0158\u0154]/g,s:/[\u0161\u0161\u015f]/g,S:/[\u0160\u015e\u015a]/g,t:/[\u0165\u0163]/g,T:/[\u0164\u0162]/g,ue:/[\u00fc]/g,UE:/[\u00dc]/g,u:/[\u00f9\u00fa\u00fb\u016f\u00b5]/g,U:/[\u00d9\u00da\u00db\u016e]/g,y:/[\u00ff\u00fd]/g,Y:/[\u0178\u00dd]/g,z:/[\u017e\u017a\u017c]/g,Z:/[\u017d\u0179\u017b]/g,th:/[\u00fe]/g,TH:/[\u00de]/g,dh:/[\u00f0]/g,DH:/[\u00d0]/g,ss:/[\u00df]/g,oe:/[\u0153]/g,
OE:/[\u0152]/g,ae:/[\u00e6]/g,AE:/[\u00c6]/g},h={" ":/[\xa0\u2002\u2003\u2009]/g,"*":/[\xb7]/g,"'":/[\u2018\u2019]/g,'"':/[\u201c\u201d]/g,"...":/[\u2026]/g,"-":/[\u2013]/g,"\x26raquo;":/[\uFFFD]/g},e=function(a,b){var d=a,c;for(c in b)d=d.replace(b[c],c);return d},f=function(a,b){a=a||"";return new RegExp(b?"\x3c"+a+"(?!\\w)[^\x3e]*\x3e([\\s\\S]*?)\x3c/"+a+"(?!\\w)\x3e":"\x3c/?"+a+"([^\x3e]+)?\x3e","gi")};String.implement({standardize:function(){return e(this,g)},repeat:function(a){return Array(a+
1).join(this)},pad:function(a,b,d){if(this.length>=a)return this;a=(null==b?" ":""+b).repeat(a-this.length).substr(0,a-this.length);return d&&"right"!=d?"left"==d?a+this:a.substr(0,(a.length/2).floor())+this+a.substr(0,(a.length/2).ceil()):this+a},getTags:function(a,b){return this.match(f(a,b))||[]},stripTags:function(a,b){return this.replace(f(a,b),"")},tidy:function(){return e(this,h)},truncate:function(a,b,d){var c=this;null==b&&1==arguments.length&&(b="\u2026");if(c.length>a){c=c.substring(0,
a);if(d){var e=c.lastIndexOf(d);-1!=e&&(c=c.substr(0,e))}b&&(c+=b)}return c}})})();(function(){Object.place("VUI.DateFormatter",{formatLocalDateTime:function(a,b){if("array"!==typeOf(a)||3>a.length)throw Error("localDateTime must be an Array of format [year, month, date(, hour(, minutes(, seconds)))]");for(;7>a.length;)a.push(0);return(new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5],a[6])).format(b)},formatDurationInMinutes:function(a){var b=Math.floor(a/60);a%=60;return Locale.get("vui.date")["duration.time.hours.minutes"].substitute({hours:b,minutes:a})},formatDurationInSeconds:function(a,
b){var c=Math.floor(a/60),e=a%60,d="duration.time.minutes.seconds";b||0!==c||(d="duration.time.seconds.only");return Locale.get("vui.date")[d].substitute({minutes:(c+"").pad(2,"0","left"),seconds:(e+"").pad(2,"0","left")})},isSameLocalDate:function(a,b){return 3<=a.length&&3<=b.length?a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]:!1}})})();(function(){Object.place("VUI.DateUtils",{isSameLocalDate:function(a,b){if("array"!==typeOf(a)||"array"!==typeOf(b))throw Error("localDateTime must be an Array of format [year, month, date(, hour(, minutes(, seconds)))]");return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]},parseLocalDate:function(a){return new Date(a[0],a[1]-1,a[2],12)}})})();Locale.define("en-NZ","Date",{months:"January February March April May June July August September October November December".split(" "),months_abbr:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),days_abbr:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AM:"AM",PM:"PM"});
Date.defineFormats({"pattern.itinerary.journeyleg.departure.format":"%a %e %b %Y, %X","pattern.itinerary.journeyleg.departure.date.format":"%a %e %b %Y","pattern.hud.datetime.full":"%A %d %B %Y %X","pattern.time.12.hour":"%l:%M%p","pattern.time.24.hour":"%H:%M","pattern.time.12or24.hour":"%X","pattern.date.short":"%a %d %b","pattern.date.daymonthyear":"%d %B %Y","pattern.date.full":"%A %d %B %Y","pattern.date.full.variation.2":"%a, %d %B %Y","pattern.date.full.variation.3":"%a, %d %b %Y","share.itinerary.flight.datetime":"%X %a %e %b",
"pattern.ancillary.datetime.full":"%a, %e %b %Y 'at' %X","pattern.ancillary.date":"%a, %e %b %Y","pattern.date.mobi":"%a %e %b %Y","pattern.date.mobi.full":"%l:%M %p, %a %e %b %Y","pattern.timedate.mobi.medium":"%l:%M%p, %a %e %b","pattern.date.short.daydateth":"%a %e%o %b","pattern.date.medium.full":"%A %d %b %Y","pattern.date.mobi.daydatemonth":"%a %e %B","pattern.mmdd":"%d/%m","pattern.monthyear":"%B %Y","pattern.date.daydate.short":"%a %e","pattern.date.piped":"%d|%m|%Y","pattern.date.email.flight.departure.arrival.format":"%a %d %b %Y"});__registerModule("/nz/co/airnz/vui/formvalidation/formvalidation.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"formvalidation.error.required.fields":"Please fill out these fields","formvalidation.error.required.nominatedTraveller":"Please select one nominated traveller","formvalidation.error.valueDoesNotMatch.zipcode":"Please enter a valid numeric zip code","formvalidation.error.required":"Please fill out this field","formvalidation.error.pattern":"Please enter a valid value",
"formvalidation.error.email":"Please enter a valid email address","formvalidation.error.number":"Please enter a number","formvalidation.error.minLength":"Please enter at least {0} characters","formvalidation.error.maxLength":"Please enter no more than {0} characters","formvalidation.error.postcode":"Please enter a valid postcode","formvalidation.alert.fielderrors.singleError":'\x3cspan class\x3d"sr-only"\x3eThere is 1 problem on this page.\x3c/span\x3ePlease review and complete.',"formvalidation.alert.fielderrors.multipleErrors":'\x3cspan class\x3d"sr-only"\x3eThere are {{errorCount}} problems on this page.\x3c/span\x3ePlease review and complete.'};
Locale.define("en-NZ","vui",{formvalidation:b});a.default=b});Class.Mutators.Binds=function(a){this.prototype.initialize||this.implement("initialize",function(){});return Array.mtFrom(a).concat(this.prototype.Binds||[])};Class.Mutators.initialize=function(a){return function(){Array.mtFrom(this.Binds).each(function(a){var b=this[a];b&&(this[a]=b.bind(this))},this);return a.apply(this,arguments)}};__registerModule("/nz/co/airnz/vui/framework/injector/js/injectorclassmutators",function(g,k){var h=g("../../../injector/injector"),f=babelHelpers.interopRequireDefault(h);Class.Mutators.InjectAs=function(a){this.prototype.initialize||this.implement("initialize",function(){});a&&f.default.bind(a.name,{klass:this,singleton:a.singleton,options:{}},!0);return a};Class.Mutators.Depends=function(a){return Array.mtFrom(a).concat(this.prototype.Depends||[])};Class.Mutators.Optionally=function(a){return Array.mtFrom(a).concat(this.prototype.Optionally||
[])};Class.Mutators.initialize=function(a){return function(){var d=this;this.__beforeInitialize&&Array.isArray(this.__beforeInitialize)&&this.__beforeInitialize.invoke("call",this);Array.mtFrom(this.Binds).each(function(a){var b=d[a];b&&(d[a]=b.bind(d))},this);for(var b=void 0,b=arguments.length,e=Array(b),c=0;c<b;c++)e[c]=arguments[c];b=this.InjectAs||this.Depends||this.Optionally?f.default.construct(this,a,e):a.apply(this,e);this.__afterInitialize&&Array.isArray(this.__afterInitialize)&&this.__afterInitialize.invoke("call",
this);return b}}});(function(){var b=!1;VUI.Injector.get("JsonEventRepeater").addEvent("post-success-ajax-redirect-directive",function(a){b||(a=a.data.url?a.data.url:a.data,b=!0,window.setTimeout(function(){b=!1},1E4),window.location.href=a)})})();(function(e){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?e(require("knockout"),exports):"function"===typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.validation={})})(function(e,x){function v(a){var b="max"===a;return function(c,f){if(d.utils.isEmptyVal(c))return!0;var g,e;void 0===f.typeAttr?(e="text",g=f):(e=f.typeAttr,g=f.value);isNaN(g)||g instanceof Date||(e="number");var h;switch(e.toLowerCase()){case "week":h=/^(\d{4})-W(\d{2})$/;e=c.match(h);
if(null===e)throw Error("Invalid value for "+a+" attribute for week input.  Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min");return(g=g.match(h))?b?e[1]<g[1]||e[1]===g[1]&&e[2]<=g[2]:e[1]>g[1]||e[1]===g[1]&&e[2]>=g[2]:!1;case "month":h=/^(\d{4})-(\d{2})$/;e=c.match(h);if(null===e)throw Error("Invalid value for "+a+" attribute for month input.  Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min");return(g=
g.match(h))?b?e[1]<g[1]||e[1]===g[1]&&e[2]<=g[2]:e[1]>g[1]||e[1]===g[1]&&e[2]>=g[2]:!1;case "number":case "range":return b?!isNaN(c)&&parseFloat(c)<=parseFloat(g):!isNaN(c)&&parseFloat(c)>=parseFloat(g);default:return b?c<=g:c>=g}}}function y(a,b,c){a.isValidating(!0);var f=function(f){var e=!1,h="";a.__valid__()&&(f.message?(e=f.isValid,h=f.message):e=f,e||(a.error(d.formatMessage(h||c.message||b.message,q(c.params),a)),a.__valid__(e),a.failedRule(c.rule)));a.isValidating(!1)};d.utils.async(function(){b.validator(a(),
void 0===c.params?!0:q(c.params),f)})}if("undefined"===typeof e)throw Error("Knockout is required, please ensure it is loaded before loading this validation plug-in");e.validation=x;var d=e.validation,p=e.utils,q=p.unwrapObservable,l=p.arrayForEach,n=p.extend,w={registerExtenders:!0,messagesOnModified:!0,errorsAsTitle:!0,errorsAsTitleOnModified:!1,messageTemplate:null,insertMessages:!0,parseInputAttributes:!1,writeInputAttributes:!1,decorateInputElement:!1,decorateElementOnModified:!0,errorClass:null,
errorElementClass:"validationElement",errorMessageClass:"validationMessage",allowHtmlMessages:!1,grouping:{deep:!1,observable:!0,live:!1},validate:{}},r=n({},w);r.html5Attributes=["required","pattern","min","max","step"];r.html5InputTypes=["email","number","date"];r.reset=function(){n(r,w)};d.configuration=r;d.utils=function(){var a=(new Date).getTime(),b={};return{isArray:function(a){return a.isArray||"[object Array]"===Object.prototype.toString.call(a)},isObject:function(a){return null!==a&&"object"===
typeof a},isNumber:function(a){return!isNaN(a)},isObservableArray:function(a){return!!a&&"function"===typeof a.remove&&"function"===typeof a.removeAll&&"function"===typeof a.destroy&&"function"===typeof a.destroyAll&&"function"===typeof a.indexOf&&"function"===typeof a.replace},values:function(a){var b=[];if(a.hasOwnProperty)for(var d in a)a.hasOwnProperty(d)&&b.push(a[d]);return b},getValue:function(a){return"function"===typeof a?a():a},hasAttribute:function(a,b){return null!==a.getAttribute(b)},
getAttribute:function(a,b){return a.getAttribute(b)},setAttribute:function(a,b,d){return a.setAttribute(b,d)},isValidatable:function(a){return!!(a&&a.rules&&a.isValid&&a.isModified)},insertAfter:function(a,b){a.parentNode.insertBefore(b,a.nextSibling)},newId:function(){return a+=1},getConfigOptions:function(a){return d.utils.contextFor(a)||d.configuration},setDomData:function(a,e){var g=a.__ko_validation__;g||(a.__ko_validation__=g=d.utils.newId());b[g]=e},getDomData:function(a){return(a=a.__ko_validation__)?
b[a]:void 0},contextFor:function(a){switch(a.nodeType){case 1:case 8:var b=d.utils.getDomData(a);if(b)return b;if(a.parentNode)return d.utils.contextFor(a.parentNode)}},isEmptyVal:function(a){if(void 0===a||null===a||""===a)return!0},getOriginalElementTitle:function(a){var b=d.utils.getAttribute(a,"data-orig-title"),e=a.title;return d.utils.hasAttribute(a,"data-orig-title")?b:e},async:function(a){window.setImmediate?window.setImmediate(a):window.setTimeout(a,0)},forEach:function(a,b){if(d.utils.isArray(a))return l(a,
b);for(var e in a)a.hasOwnProperty(e)&&b(a[e],e)}}}();var z=function(){function a(a){l(a.subscriptions,function(a){a.dispose()});a.subscriptions=[]}function b(b){b.options.deep&&(l(b.flagged,function(a){delete a.__kv_traversed}),b.flagged.length=0);b.options.live||a(b)}function c(d,c){c.validatables=[];a(c);f(d,c);b(c)}function f(a,b,d){var c=[],g=a.peek?a.peek():a;!0!==a.__kv_traversed&&(b.options.deep&&(a.__kv_traversed=!0,b.flagged.push(a)),d=void 0!==d?d:b.options.deep?1:-1,e.isObservable(a)&&
(a.errors||m.isValidatable(a)||a.extend({validatable:!0}),b.validatables.push(a),b.options.live&&m.isObservableArray(a)&&b.subscriptions.push(a.subscribe(function(){b.graphMonitor.valueHasMutated()}))),g&&!g._destroy&&(m.isArray(g)?c=g:m.isObject(g)&&(c=m.values(g))),0!==d&&m.forEach(c,function(a){(a?!(e.isObservable(a)||a.traversableForValidation||a.value&&e.isObservable(a.value)):1)||!a||a.nodeType||e.isComputed(a)&&!a.rules||f(a,b,d+1)}))}function g(a){var b=[];l(a,function(a){m.isValidatable(a)&&
!a.isValid()&&b.push(a.error.peek())});return b}var k=0,h=d.configuration,m=d.utils;return{init:function(a,b){0<k&&!b||(a=a||{},a.errorElementClass=a.errorElementClass||a.errorClass||h.errorElementClass,a.errorMessageClass=a.errorMessageClass||a.errorClass||h.errorMessageClass,n(h,a),h.registerExtenders&&d.registerExtenders(),k=1)},reset:d.configuration.reset,group:function(a,b){b=n(n({},h.grouping),b);var d={options:b,graphMonitor:e.observable(),flagged:[],subscriptions:[],validatables:[]},f=null,
f=b.observable?e.computed(function(){d.graphMonitor();c(a,d);return g(d.validatables)}):function(){c(a,d);return g(d.validatables)};f.showAllMessages=function(a){void 0===a&&(a=!0);f.forEach(function(b){m.isValidatable(b)&&b.isModified(a)})};f.isAnyMessageShown=function(){return!!f.find(function(a){return m.isValidatable(a)&&!a.isValid()&&a.isModified()})};f.filter=function(a){a=a||function(){return!0};f();return p.arrayFilter(d.validatables,a)};f.find=function(a){a=a||function(){return!0};f();return p.arrayFirst(d.validatables,
a)};f.forEach=function(a){a=a||function(){};f();l(d.validatables,a)};f.map=function(a){a=a||function(a){return a};f();return p.arrayMap(d.validatables,a)};f._updateState=function(e){if(!m.isObject(e))throw Error("An object is required.");a=e;if(b.observable)d.graphMonitor.valueHasMutated();else return c(e,d),g(d.validatables)};f.getInvalidObservables=function(){var a=[];if(!f().length)return[];e.utils.arrayForEach(d.validatables,function(b){b.isValid()||a.push(b)});return a};return f},formatMessage:function(a,
b,d){m.isObject(b)&&b.typeAttr&&(b=b.value);if("function"===typeof a)return a(b,d);var c=q(b);null==c&&(c=[]);m.isArray(c)||(c=[c]);return a.replace(/{(\d+)}/gi,function(a,b){return"undefined"!==typeof c[b]?c[b]:a})},addRule:function(a,b){a.extend({validatable:!0});p.arrayFirst(a.rules(),function(a){return a.rule&&a.rule===b.rule})||a.rules.push(b);return a},addAnonymousRule:function(a,b){void 0===b.message&&(b.message="Error");b.onlyIf&&(b.condition=b.onlyIf);d.addRule(a,b)},addExtender:function(a){e.extenders[a]=
function(b,c){return c&&(c.message||c.onlyIf)?d.addRule(b,{rule:a,message:c.message,params:m.isEmptyVal(c.params)?!0:c.params,condition:c.onlyIf}):d.addRule(b,{rule:a,params:c})}},registerExtenders:function(){if(h.registerExtenders)for(var a in d.rules)d.rules.hasOwnProperty(a)&&(e.extenders[a]||d.addExtender(a))},insertValidationMessage:function(a){var b=document.createElement("SPAN");b.className=m.getConfigOptions(a).errorMessageClass;m.insertAfter(a,b);return b},parseInputValidationAttributes:function(a,
b){l(d.configuration.html5Attributes,function(c){if(m.hasAttribute(a,c)){var e=a.getAttribute(c)||!0;if("min"===c||"max"===c){var f=a.getAttribute("type");"undefined"!==typeof f&&f||(f="text");e={typeAttr:f,value:e}}d.addRule(b(),{rule:c,params:e})}});var c=a.getAttribute("type");l(d.configuration.html5InputTypes,function(a){a===c&&d.addRule(b(),{rule:"date"===a?"dateISO":a,params:!0})})},writeInputValidationAttributes:function(a,b){var c=b();if(c&&c.rules){var f=c.rules();l(d.configuration.html5Attributes,
function(b){var d=p.arrayFirst(f,function(a){return a.rule&&a.rule.toLowerCase()===b.toLowerCase()});d&&e.computed({read:function(){var c=e.unwrap(d.params);"pattern"===d.rule&&c instanceof RegExp&&(c=c.source);a.setAttribute(b,c)},disposeWhenNodeIsRemoved:a})});f=null}},makeBindingHandlerValidatable:function(a){var b=e.bindingHandlers[a].init;e.bindingHandlers[a].init=function(a,c,d,f,g){b(a,c,d,f,g);return e.bindingHandlers.validationCore.init(a,c,d,f,g)}},setRules:function(a,b){var c=function(a,
b){if(a&&b)for(var f in b)if(b.hasOwnProperty(f)){var g=b[f];if(a[f]){var h=a[f],k=q(h),n={},p={},l;for(l in g)g.hasOwnProperty(l)&&(d.rules[l]?n[l]=g[l]:p[l]=g[l]);e.isObservable(h)&&h.extend(n);if(k&&m.isArray(k))for(g=0;g<k.length;g++)c(k[g],p);else c(k,p)}}};c(a,b)}}}();n(e.validation,z);d.rules={};d.rules.required={validator:function(a,b){var c;if(void 0===a||null===a)return!b;c=a;"string"===typeof a&&(c=String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,""));return b?0<(c+"").length:!0},
message:"This field is required."};d.rules.min={validator:v("min"),message:"Please enter a value greater than or equal to {0}."};d.rules.max={validator:v("max"),message:"Please enter a value less than or equal to {0}."};d.rules.minLength={validator:function(a,b){return d.utils.isEmptyVal(a)?!0:(d.utils.isNumber(a)?""+a:a).length>=b},message:"Please enter at least {0} characters."};d.rules.maxLength={validator:function(a,b){return d.utils.isEmptyVal(a)?!0:(d.utils.isNumber(a)?""+a:a).length<=b},message:"Please enter no more than {0} characters."};
d.rules.pattern={validator:function(a,b){return d.utils.isEmptyVal(a)||null!==a.toString().match(b)},message:"Please check this value."};d.rules.step={validator:function(a,b){if(d.utils.isEmptyVal(a)||"any"===b)return!0;var c=100*a%(100*b);return 1E-5>Math.abs(c)||1E-5>Math.abs(1-c)},message:"The value must increment by {0}."};d.rules.email={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a):
!0},message:"Please enter a proper email address."};d.rules.date={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&!/Invalid|NaN/.test(new Date(a)):!0},message:"Please enter a proper date."};d.rules.dateISO={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^\d{4}[-/](?:0?[1-9]|1[012])[-/](?:0?[1-9]|[12][0-9]|3[01])$/.test(a):!0},message:"Please enter a proper date."};d.rules.number={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a):
!0},message:"Please enter a number."};d.rules.digit={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^\d+$/.test(a):!0},message:"Please enter a digit."};d.rules.phoneUS={validator:function(a,b){if(!b||d.utils.isEmptyVal(a))return!0;if("string"!==typeof a)return!1;a=a.replace(/\s+/g,"");return b&&9<a.length&&a.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},message:"Please specify a valid phone number."};d.rules.equal={validator:function(a,b){return a===d.utils.getValue(b)},
message:"Values must equal."};d.rules.notEqual={validator:function(a,b){return a!==d.utils.getValue(b)},message:"Please choose another value."};d.rules.unique={validator:function(a,b){var c=d.utils.getValue(b.collection),f=d.utils.getValue(b.externalValue),e=0;if(!a||!c)return!0;p.arrayFilter(c,function(c){a===(b.valueAccessor?b.valueAccessor(c):c)&&e++});return e<(f?1:2)},message:"Please make sure the value is unique."};d.registerExtenders();e.bindingHandlers.validationCore=function(){return{init:function(a,
b,c,f,g){c=d.utils.getConfigOptions(a);f=b();c.parseInputAttributes&&d.utils.async(function(){d.parseInputValidationAttributes(a,b)});c.insertMessages&&d.utils.isValidatable(f)&&(g=d.insertValidationMessage(a),c.messageTemplate?e.renderTemplate(c.messageTemplate,{field:f},null,g,"replaceNode"):e.applyBindingsToNode(g,{validationMessage:f}));c.writeInputAttributes&&d.utils.isValidatable(f)&&d.writeInputValidationAttributes(a,b);c.decorateInputElement&&d.utils.isValidatable(f)&&e.applyBindingsToNode(a,
{validationElement:f})}}}();d.makeBindingHandlerValidatable("value");d.makeBindingHandlerValidatable("checked");e.bindingHandlers.textInput&&d.makeBindingHandlerValidatable("textInput");d.makeBindingHandlerValidatable("selectedOptions");e.bindingHandlers.validationMessage={update:function(a,b){var c=b(),f=d.utils.getConfigOptions(a);q(c);var g=!1,k=!1;if(null===c||"undefined"===typeof c)throw Error("Cannot bind validationMessage to undefined value. data-bind expression: "+a.getAttribute("data-bind"));
var g=c.isModified&&c.isModified(),k=c.isValid&&c.isValid(),h=null;if(!f.messagesOnModified||g)h=k?null:c.error;c=!f.messagesOnModified||g?!k:!1;g="none"!==a.style.display;f.allowHtmlMessages?p.setHtml(a,h):e.bindingHandlers.text.update(a,function(){return h});g&&!c?a.style.display="none":!g&&c&&(a.style.display="")}};e.bindingHandlers.validationElement={update:function(a,b,c){var f=b(),g=d.utils.getConfigOptions(a);q(f);var k=!1,h=!1;if(null===f||"undefined"===typeof f)throw Error("Cannot bind validationElement to undefined value. data-bind expression: "+
a.getAttribute("data-bind"));k=f.isModified&&f.isModified();h=f.isValid&&f.isValid();e.bindingHandlers.css.update(a,function(){var a={};a[g.errorElementClass]=!g.decorateElementOnModified||k?!h:!1;return a},c);g.errorsAsTitle&&e.bindingHandlers.attr.update(a,function(){var b=!g.errorsAsTitleOnModified||k,c=d.utils.getOriginalElementTitle(a);if(b&&!h)return{title:f.error,"data-orig-title":c};if(!b||h)return{title:c,"data-orig-title":null}})}};e.bindingHandlers.validationOptions=function(){return{init:function(a,
b,c,e,g){if(b=q(b()))c=n({},d.configuration),n(c,b),d.utils.setDomData(a,c)}}}();e.extenders.validation=function(a,b){l(d.utils.isArray(b)?b:[b],function(b){d.addAnonymousRule(a,b)});return a};e.extenders.validatable=function(a,b){d.utils.isObject(b)||(b={enable:b});"enable"in b||(b.enable=!0);if(b.enable&&!d.utils.isValidatable(a)){var c=d.configuration.validate||{},c={throttleEvaluation:b.throttle||c.throttle};a.error=e.observable(null);a.rules=e.observableArray();a.isValidating=e.observable(!1);
a.__valid__=e.observable(!0);a.isModified=e.observable(!1);a.failedRule=e.observable(null);a.error.subscribe(function(b){b||a.failedRule(null)});a.isValid=e.computed(a.__valid__);a.setError=function(b){var c=a.error.peek(),d=a.__valid__.peek();a.error(b);a.__valid__(!1);c===b||d||a.isValid.notifySubscribers()};a.clearError=function(){a.error(null);a.__valid__(!0);return a};var f=a.subscribe(function(){a.isModified(!0)}),g=e.computed(n({read:function(){a();a.rules();d.validateObservable(a);return!0}},
c));n(g,c);a._disposeValidation=function(){a.isValid.dispose();a.rules.removeAll();f.dispose();g.dispose();delete a.rules;delete a.error;delete a.isValid;delete a.isValidating;delete a.__valid__;delete a.isModified;delete a.setError;delete a.clearError;delete a._disposeValidation}}else!1===b.enable&&a._disposeValidation&&a._disposeValidation();return a};d.validateObservable=function(a){for(var b=0,c,e,g=a.rules(),k=g.length;b<k;b++)if(e=g[b],!e.condition||e.condition())if(c=e.rule?d.rules[e.rule]:
e,c.async||e.async)y(a,c,e);else{var h;h=a;c.validator(h(),void 0===e.params?!0:q(e.params))?h=!0:(h.setError(d.formatMessage(e.message||c.message,q(e.params),h)),h.failedRule(e.rule),h=!1);if(!h)return!1}a.clearError();return!0};var t={},u;d.defineLocale=function(a,b){return a&&b?t[a.toLowerCase()]=b:null};d.locale=function(a){if(a)if(a=a.toLowerCase(),t.hasOwnProperty(a))d.localize(t[a]),u=a;else throw Error("Localization "+a+" has not been loaded.");return u};d.localize=function(a){var b=d.rules,
c;for(c in a)b.hasOwnProperty(c)&&(b[c].message=a[c])};(function(){var a={},b=d.rules,c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c].message);d.defineLocale("en-us",a)})();u="en-us";e.applyBindingsWithValidation=function(a,b,c){var f=document.body;b&&b.nodeType&&(f=b,b=c);d.init();b&&(b=n(n({},d.configuration),b),d.utils.setDomData(f,b));e.applyBindings(a,f)};var A=e.applyBindings;e.applyBindings=function(a,b){d.init();A(a,b)};e.validatedObservable=function(a,b){if(!b&&!d.utils.isObject(a))return e.observable(a).extend({validatable:!0});
var c=e.observable(a);c.errors=d.group(d.utils.isObject(a)?a:{},b);c.isValid=e.observable(0===c.errors().length);e.isObservable(c.errors)?c.errors.subscribe(function(a){c.isValid(0===a.length)}):e.computed(c.errors).subscribe(function(a){c.isValid(0===a.length)});c.subscribe(function(a){d.utils.isObject(a)||(a={});c.errors._updateState(a);c.isValid(0===c.errors().length)});return c}});(function(b){function t(b,c){if("checkbox"!==b.type)return!1;var d=c.rules&&c.rules();return d&&d.some(function(b){return"equal"===b.rule||"required"===b.rule})}function n(a,c,d){var g=a.nodeName,e=a.type;if(h.utils.isValidatable(c)){var f=b.computed(function(){b.utils.arrayForEach(c.rules(),function(b){"required"===b.rule&&b.params&&p.contains(g.toLowerCase())&&!k.contains(e)&&(b.condition?a.setAttribute("aria-required",!!b.condition()):a.setAttribute("aria-required",!0))})});b.utils.domNodeDisposal.addDisposeCallback(a,
function(){f.dispose()});var q=h.utils.getConfigOptions(a),r={attr:{"aria-invalid":b.pureComputed(function(){return b.unwrap(q.showAccessibleErrors)&&!c.isValid()})}},l=b.utils.tagNameLower(a),l=0<=b.utils.arrayIndexOf(p,l)?"aria-describedby":"aria-labelledby";r.attr[l]=b.pureComputed(function(){if(d&&b.unwrap(q.showAccessibleErrors)&&!c.isValid())return d+"-error"});b.applyBindingsToNode(a,r)}}function m(a){var c=b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(d,a){k.contains(d.type)&&
b.applyBindingsToNode(d,{validationOptions:{insertMessages:!1}});c&&c.apply(this,arguments);var e=a(),f=e.fieldName;f&&("null"===typeOf(d.getAttribute("id"))&&(d.id=f),"null"===typeOf(d.getAttribute("name"))||0===d.name.indexOf("ko_unique_"))&&(d.name=f);k.contains(d.type)&&!t(d,e)||n(d,e,f)}}var h=b.validation,p="button input keygen meter output progress select textarea".split(" "),k=["radio","hidden","checkbox"];h.configuration.showAccessibleErrors=!0;m("value");m("checked");m("textInput");(function(a){var c=
b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(b,a){c&&c.apply(this,arguments);var e=a();n(b,e,e.fieldName)}})("validationElement");(function(a){var c=b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(b,a){c&&c.apply(this,arguments);var e=a().fieldName;e&&!b.id&&(b.id=e+"-error")}})("validationMessage");b.validation.accessible={addFieldNames:function(a,c,d){c=c||{};var g=[],e=function(a,c,d){!a||"object"!==typeof a||!a.hasOwnProperty||a.constructor===Array||a.constructor===
Date||a.constructor===RegExp||a._destroy||a.nodeType||a.__knockoutAccessibleValidationTraversed||(a.__knockoutAccessibleValidationTraversed=!0,g.push(a),h.utils.forEach(a,function(a,f){if(a&&0!==f.indexOf("_")&&0!==f.indexOf("$")){if(b.isObservable(a)&&!a.fieldName){var g=d+f;a.fieldName="undefined"!==typeof c[g]?c[g]:g}a instanceof Array?b.utils.arrayForEach(a,function(a,b){e(a,c,d+f+"["+b+"].")}):e(a,c,d+f+".",c)}}))};e(a,c,d||"");g.each(function(a){delete a.__knockoutAccessibleValidationTraversed})}};
b.bindingHandlers["for"]={init:function(a,c){var d=c();b.bindingHandlers.attr.update(a,function(){return{"for":d.fieldName}})}}})(ko);(function(a){a.validation.rules.vuiRequiredCheckbox={validator:a.validation.rules.equal.validator,message:a.validation.rules.required.message};a.validation.registerExtenders()})(ko);__registerModule("/nz/co/airnz/vui/referencerecorder/referencerecorder",function(h,g){function e(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1)}Object.defineProperty(g,"__esModule",{value:!0});var f=h("../injector/injector"),k=babelHelpers.interopRequireDefault(f),f=new Class("VUI.Disposable",{initialize:function(){this._recordedDisposables=[];this._recordedEventHandles=[];this._recordedTimeouts=[];this._recordedKoBoundNodes=[]},record:function(a){Array.isArray(a)?this._recordedDisposables.append(a):
a&&this._recordedDisposables.push(a);return a},disposeRecorded:function(a){Array.isArray(a)?a.forEach(this.disposeRecorded,this):(a.dispose?a.dispose():a.destroy&&a.destroy(),e(this._recordedDisposables,a))},addRecordedEvent:function(a,b,d){var c=Object.freeze({target:a,type:b,fn:d});this._recordedEventHandles.push(c);a.addEvent(b,d);return c},addRecordedEvents:function(a,b){var d=this;Object.keys(b).forEach(function(c){return d.addRecordedEvent(a,c,b[c])});return a},disposeEvent:function(a,b,d){a.removeEvent(b,
d);var c=this._recordedEventHandles.find(function(c){return c.target===a&&c.type===b&&c.fn===d});e(this._recordedEventHandles,c)},disposeRecordedEvent:function(a){this.disposeEvent(a.target,a.type,a.fn)},recordTimeout:function(a){this._recordedTimeouts.push(a)},disposeTimeout:function(a){e(this._recordedTimeouts,a)},applyRecordedBindings:function(a,b){this._recordedKoBoundNodes.push(b);return ko.applyBindings(a,b)},applyRecordedBindingsToNode:function(a,b){this._recordedKoBoundNodes.push(a);return ko.applyBindingsToNode(a,
b)},dispose:function(){k.default.disposeInjectedNonSingletons(this);this._recordedEventHandles.forEach(function(a){a.target.removeEvent(a.type,a.fn)});this._recordedDisposables.forEach(function(a){a.dispose?a.dispose():a.destroy&&a.destroy()});this._recordedTimeouts.forEach(function(a){window.clearTimeout(a)});this._recordedKoBoundNodes.forEach(function(a){ko.cleanNode(a);a.destroy()});this._recordedDisposables=[];this._recordedEventHandles=[];this._recordedTimeouts=[];this._recordedKoBoundNodes=
[]}});g.default=f});(function(){var e=document.html,h=!!window.getComputedStyle;Element.Properties.styles={set:function(b){this.setStyles(b)}};var k=null!=e.style.opacity,l=null!=e.style.filter,f=/alpha\(opacity=([\d.]+)\)/i,p=function(b,a){b.store("$opacity",a);b.style.visibility=0<a||null==a?"visible":"hidden"},q=k?function(b,a){b.style.opacity=a}:l?function(b,a){b.currentStyle&&b.currentStyle.hasLayout||(b.style.zoom=1);null==a||1==a?(setFilter(b,f,""),1==a&&1!=m(b)&&setFilter(b,f,"alpha(opacity\x3d100)")):setFilter(b,
f,"alpha(opacity\x3d"+(100*a).limit(0,100).round()+")")}:p,m=k?function(b){b=b.style.opacity||b.getComputedStyle("opacity");return""==b?1:b.toFloat()}:l?function(b){b=b.style.filter||b.getComputedStyle("filter");var a;b&&(a=b.match(f));return null==a||null==b?1:a[1]/100}:function(b){var a=b.retrieve("$opacity");null==a&&(a="hidden"==b.style.visibility?0:1);return a},g=null==e.style.cssFloat?"styleFloat":"cssFloat",r={left:"0%",top:"0%",center:"50%",right:"100%",bottom:"100%"},n=null!=e.style.backgroundPositionX;
Element.implement({getComputedStyle:function(b){if(!h&&this.currentStyle)return this.currentStyle[b.camelCase()];var a=Element.getDocument(this).defaultView;return(a=a?a.getComputedStyle(this,null):null)?a.getPropertyValue(b==g?"float":b.hyphenate()):""},setStyle:function(b,a){if("opacity"==b)return null!=a&&(a=parseFloat(a)),q(this,a),this;b=("float"==b?g:b).camelCase();if("string"!=typeOf(a)){var d=(Element.Styles[b]||"@").split(" ");a=Array.mtFrom(a).map(function(a,b){return d[b]?"number"==typeOf(a)?
d[b].replace("@",Math.round(a)):a:""}).join(" ")}else a==String(Number(a))&&(a=Math.round(a));this.style[b]=a;return this},getStyle:function(b){if("opacity"==b)return m(this);b=("float"==b?g:b).camelCase();var a=this.style[b];if(!a||"zIndex"==b){if(Element.ShortStyles.hasOwnProperty(b)){var a=[],d;for(d in Element.ShortStyles[b])a.push(this.getStyle(d));return a.join(" ")}a=this.getComputedStyle(b)}if(n&&/^backgroundPosition[XY]?$/.test(b))return a.replace(/(top|right|bottom|left)/g,function(a){return r[a]})||
"0px";if(!a&&"backgroundPosition"==b)return"0px 0px";a&&(a=String(a),(d=a.match(/rgba?\([\d\s,]+\)/))&&(a=a.replace(d[0],d[0].rgbToHex())));if(!h&&!this.style[b]){if(/^(height|width)$/.test(b)&&!/px$/.test(a)){var c=0;("width"==b?["left","right"]:["top","bottom"]).each(function(a){c+=this.getStyle("border-"+a+"-width").toInt()+this.getStyle("padding-"+a).toInt()},this);return this["offset"+b.capitalize()]-c+"px"}if(/^border(.+)Width|margin|padding/.test(b)&&isNaN(parseFloat(a)))return"0px"}return a},
setStyles:function(b){for(var a in b)this.setStyle(a,b[a]);return this},getStyles:function(){var b={};Array.flatten(arguments).each(function(a){b[a]=this.getStyle(a)},this);return b}});Element.Styles={left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundSize:"@px",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",
margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"};Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(b){var a=Element.ShortStyles,d=Element.Styles;["margin","padding"].each(function(c){var e=
c+b;a[c][e]=d[e]="@px"});var c="border"+b;a.border[c]=d[c]="@px @ rgb(@, @, @)";var e=c+"Width",f=c+"Style",g=c+"Color";a[c]={};a.borderWidth[e]=a[c][e]=d[e]="@px";a.borderStyle[f]=a[c][f]=d[f]="@";a.borderColor[g]=a[c][g]=d[g]="rgb(@, @, @)"});n&&(Element.ShortStyles.backgroundPosition={backgroundPositionX:"@",backgroundPositionY:"@"})})();(function(){function c(a){return/^(?:body|html)$/i.test(a.tagName)}function f(a){a=a.getDocument();return a.compatMode&&"CSS1Compat"!=a.compatMode?a.body:a.html}var e=document.createElement("div"),g=document.createElement("div");e.style.height="0";e.appendChild(g);var l=g.offsetParent===e,e=g=null,h=function(a){return"static"!=d(a,"position")||c(a)},m=function(a){return h(a)||/^(?:table|td|th)$/i.test(a.tagName)};Element.implement({scrollTo:function(a,b){c(this)?this.getWindow().scrollTo(a,b):(this.scrollLeft=
a,this.scrollTop=b);return this},getSize:function(){return c(this)?this.getWindow().getSize():{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize:function(){return c(this)?this.getWindow().getScrollSize():{x:this.scrollWidth,y:this.scrollHeight}},getScroll:function(){return c(this)?this.getWindow().getScroll():{x:this.scrollLeft,y:this.scrollTop}},getScrolls:function(){for(var a=this.parentNode,b={x:0,y:0};a&&!c(a);)b.x+=a.scrollLeft,b.y+=a.scrollTop,a=a.parentNode;return b},getOffsetParent:l?
function(){var a=this;if(c(a)||"fixed"==d(a,"position"))return null;for(var b="static"==d(a,"position")?m:h;a=a.parentNode;)if(b(a))return a;return null}:function(){if(c(this)||"fixed"==d(this,"position"))return null;try{return this.offsetParent}catch(a){}return null},getOffsets:function(){var a=this.getBoundingClientRect(),b=document.id(this.getDocument().documentElement),k=b.getScroll(),c=this.getScrolls(),e="fixed"==d(this,"position");return{x:a.left.toInt()+c.x+(e?0:k.x)-b.clientLeft,y:a.top.toInt()+
c.y+(e?0:k.y)-b.clientTop}},getPosition:function(a){var b=this.getOffsets(),c=this.getScrolls(),b={x:b.x-c.x,y:b.y-c.y};return a&&(a=document.id(a))?(c=a.getPosition(),{x:b.x-c.x-(d(a,"border-left-width").toInt()||0),y:b.y-c.y-(d(a,"border-top-width").toInt()||0)}):b},getCoordinates:function(a){if(c(this))return this.getWindow().getCoordinates();a=this.getPosition(a);var b=this.getSize();a={left:a.x,top:a.y,width:b.x,height:b.y};a.right=a.left+a.width;a.bottom=a.top+a.height;return a},computePosition:function(a){return{left:a.x-
(d(this,"margin-left").toInt()||0),top:a.y-(d(this,"margin-top").toInt()||0)}},setPosition:function(a){return this.setStyles(this.computePosition(a))}});[Document,Window].invoke("implement",{getSize:function(){var a=f(this);return{x:a.clientWidth,y:a.clientHeight}},getScroll:function(){var a=this.getWindow(),b=f(this);return{x:a.pageXOffset||b.scrollLeft,y:a.pageYOffset||b.scrollTop}},getScrollSize:function(){var a=f(this),b=this.getSize(),c=this.getDocument().body;return{x:Math.max(a.scrollWidth,
c.scrollWidth,b.x),y:Math.max(a.scrollHeight,c.scrollHeight,b.y)}},getPosition:function(){return{x:0,y:0}},getCoordinates:function(){var a=this.getSize();return{top:0,left:0,bottom:a.y,right:a.x,height:a.y,width:a.x}}});var d=Element.getComputedStyle})();Element.alias({position:"setPosition"});
[Window,Document,Element].invoke("implement",{getHeight:function(){return this.getSize().y},getWidth:function(){return this.getSize().x},getScrollTop:function(){return this.getScroll().y},getScrollLeft:function(){return this.getScroll().x},getScrollHeight:function(){return this.getScrollSize().y},getScrollWidth:function(){return this.getScrollSize().x},getTop:function(){return this.getPosition().y},getLeft:function(){return this.getPosition().x}});(function(){var e=this.Fx=new Class({Implements:[Chain,Events,Options],options:{fps:60,unit:!1,duration:500,frames:null,frameSkip:!0,link:"ignore"},initialize:function(a){this.subject=this.subject||this;this.setOptions(a)},getTransition:function(){return function(a){return-(Math.cos(Math.PI*a)-1)/2}},step:function(a){if(this.options.frameSkip){var b=(null!=this.time?a-this.time:0)/this.frameInterval;this.time=a;this.frame+=b}else this.frame++;this.frame<this.frames?(a=this.transition(this.frame/this.frames),
this.set(this.compute(this.from,this.to,a))):(this.frame=this.frames,this.set(this.compute(this.from,this.to,1)),this.stop())},set:function(a){return a},compute:function(a,b,f){return e.compute(a,b,f)},check:function(){if(!this.isRunning())return!0;switch(this.options.link){case "cancel":return this.cancel(),!0;case "chain":this.chain(this.caller.pass(arguments,this))}return!1},start:function(a,b){if(!this.check(a,b))return this;this.from=a;this.to=b;this.frame=this.options.frameSkip?0:-1;this.time=
null;this.transition=this.getTransition();var f=this.options.frames,c=this.options.fps,d=this.options.duration;this.duration=e.Durations[d]||d.toInt();this.frameInterval=1E3/c;this.frames=f||Math.round(this.duration/this.frameInterval);this.fireEvent("start",this.subject);h.call(this,c);return this},stop:function(){this.isRunning()&&(this.time=null,g.call(this,this.options.fps),this.frames==this.frame?(this.fireEvent("complete",this.subject),this.callChain()||this.fireEvent("chainComplete",this.subject)):
this.fireEvent("stop",this.subject));return this},cancel:function(){this.isRunning()&&(this.time=null,g.call(this,this.options.fps),this.frame=this.frames,this.fireEvent("cancel",this.subject).clearChain());return this},pause:function(){this.isRunning()&&(this.time=null,g.call(this,this.options.fps));return this},resume:function(){this.frame<this.frames&&!this.isRunning()&&h.call(this,this.options.fps);return this},isRunning:function(){var a=c[this.options.fps];return a&&a.contains(this)}});e.compute=
function(a,b,c){return(b-a)*c+a};e.Durations={"short":250,normal:500,"long":1E3};var c={},d={},k=function(){for(var a=Date.now(),b=this.length;b--;){var c=this[b];c&&c.step(a)}},h=function(a){var b=c[a]||(c[a]=[]);b.push(this);d[a]||(d[a]=k.periodical(Math.round(1E3/a),b))},g=function(a){var b=c[a];b&&(b.erase(this),!b.length&&d[a]&&(delete c[a],d[a]=clearInterval(d[a])))}})();(function(){Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:!0},initialize:function(a,c){this.element=this.subject=document.id(a);this.parent(c);"element"!=typeOf(this.element)&&(this.element=document.id(this.element.getDocument().body));if(this.options.wheelStops){var d=this.element,b=this.cancel.pass(!1,this);this.addEvent("start",function(){d.addEvent("mousewheel",b)},!0);this.addEvent("complete",function(){d.removeEvent("mousewheel",b)},!0)}},set:function(){var a=Array.flatten(arguments);
Browser.firefox&&(a=[Math.round(a[0]),Math.round(a[1])]);this.element.scrollTo(a[0],a[1]);return this},compute:function(a,c,d){return[0,1].map(function(b){return Fx.compute(a[b],c[b],d)})},start:function(a,c){if(!this.check(a,c))return this;var d=this.element.getScroll();return this.parent([d.x,d.y],[a,c])},calculateScroll:function(a,c){var d=this.element,b=d.getScrollSize(),h=d.getScroll(),d=d.getSize(),g=this.options.offset,e={x:a,y:c},f;for(f in e)e[f]||0===e[f]||(e[f]=h[f]),"number"!=typeOf(e[f])&&
(e[f]=b[f]-d[f]),e[f]+=g[f];return[e.x,e.y]},toTop:function(){return this.start.apply(this,this.calculateScroll(!1,0))},toLeft:function(){return this.start.apply(this,this.calculateScroll(0,!1))},toRight:function(){return this.start.apply(this,this.calculateScroll("right",!1))},toBottom:function(){return this.start.apply(this,this.calculateScroll(!1,"bottom"))},toElement:function(a,c){c=c?Array.mtFrom(c):["x","y"];var d=/^(?:body|html)$/i.test(this.element.tagName)?{x:0,y:0}:this.element.getScroll(),
b=Object.map(document.id(a).getPosition(this.element),function(b,a){return c.contains(a)?b+d[a]:!1});return this.start.apply(this,this.calculateScroll(b.x,b.y))},toElementEdge:function(a,c,d){c=c?Array.mtFrom(c):["x","y"];a=document.id(a);var b={},h=a.getPosition(this.element);a=a.getSize();var g=this.element.getScroll(),e=this.element.getSize(),f={x:h.x+a.x,y:h.y+a.y};["x","y"].each(function(a){c.contains(a)&&(f[a]>g[a]+e[a]&&(b[a]=f[a]-e[a]),h[a]<g[a]&&(b[a]=h[a]));null==b[a]&&(b[a]=g[a]);d&&d[a]&&
(b[a]+=d[a])},this);b.x==g.x&&b.y==g.y||this.start(b.x,b.y);return this},toElementCenter:function(a,c,d){c=c?Array.mtFrom(c):["x","y"];a=document.id(a);var b={},h=a.getPosition(this.element),g=a.getSize(),e=this.element.getScroll(),f=this.element.getSize();["x","y"].each(function(a){c.contains(a)&&(b[a]=h[a]-(f[a]-g[a])/2);null==b[a]&&(b[a]=e[a]);d&&d[a]&&(b[a]+=d[a])},this);b.x==e.x&&b.y==e.y||this.start(b.x,b.y);return this}})})();__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/getstickyscrolloffset",function(e,c){Object.defineProperty(c,"__esModule",{value:!0});c.default=function(c){var d=c.getBoundingClientRect();return Array.mtFrom(document.querySelectorAll(".affix-sticky")).filter(function(a){if(!a.offsetParent||a.querySelector(".affix-disabled, .affix-position-bottom"))return!1;var b=a.getBoundingClientRect();if(d.left>b.right||d.right<b.left)return!1;b=a.parentNode.getBoundingClientRect();return d.top>=
b.bottom||d.bottom<=b.top||c.contains(a)?!1:!0}).reduce(function(a,b){return a+b.getSize().y},0)}});__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/animatescrollto",function(r,g){Object.defineProperty(g,"__esModule",{value:!0});g.default=function(d,e){d instanceof window.HTMLElement&&(d=e.element&&e.element instanceof window.HTMLElement?d.getBoundingClientRect().top+e.element.scrollTop-e.element.getBoundingClientRect().top:(window.scrollY||document.documentElement.scrollTop)+d.getBoundingClientRect().top);for(var a={speed:500,minDuration:250,maxDuration:1500,cancelOnUserAction:!0,
element:window,onComplete:void 0},b=Object.keys(a),h=0;h<b.length;h+=1){var m=b[h];"undefined"!==typeof e[m]&&(a[m]=e[m])}a.isWindow=a.element===window;var k=null,b=null;a.isWindow?(k=window.scrollY||document.documentElement.scrollTop,b=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)-window.innerHeight):(k=a.element.scrollTop,b=a.element.scrollHeight-
a.element.clientHeight);d>b&&(d=b);var n=d-k;if(0===n){if(a.onComplete&&"function"===typeof a.onComplete)a.onComplete()}else{var f=Math.abs(Math.round(n/1E3*a.speed));f<a.minDuration?f=a.minDuration:f>a.maxDuration&&(f=a.maxDuration);var g=Date.now(),l=null,c=null;a.cancelOnUserAction?(c=function(){p();window.cancelAnimationFrame(l);if(a.onCancel&&"function"===typeof a.onCancel)a.onCancel()},window.addEventListener("keydown",c),window.addEventListener("mousedown",c)):(c=function(a){a.preventDefault()},
window.addEventListener("scroll",c));window.addEventListener("wheel",c);window.addEventListener("touchstart",c);var p=function(){window.removeEventListener("wheel",c);window.removeEventListener("touchstart",c);a.cancelOnUserAction?(window.removeEventListener("keydown",c),window.removeEventListener("mousedown",c)):window.removeEventListener("scroll",c)},l=window.requestAnimationFrame(function q(){var c=Date.now()-g,b=c/f-1,b=Math.round(k+n*(b*b*b+1));if(c<f&&b!==d)a.isWindow?a.element.scrollTo(0,b):
a.element.scrollTop=b,l=window.requestAnimationFrame(q);else if(a.isWindow?a.element.scrollTo(0,d):a.element.scrollTop=d,window.cancelAnimationFrame(l),p(),a.onComplete&&"function"===typeof a.onComplete)a.onComplete()})}}});__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/element.fx.scroll",function(f,k){var e=f("./getstickyscrolloffset"),g=babelHelpers.interopRequireDefault(e),e=f("./animatescrollto"),h=babelHelpers.interopRequireDefault(e);Element.implement({vuiScrollToClearStickyElements:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=(0,g.default)(this),b=this.getPosition().y-this.getStyle("marginTop").toInt()-b;a.offset&&(b+=a.offset);var c=a.duration;a.animate&&!c&&(c=
Math.min(2*Math.abs(b-window.getScroll().y),1E3));var d=void 0;if(c)a.useNewScroll?(0,h.default)(b,{minDuration:c,maxDuration:c,onComplete:a.onComplete,cancelOnUserAction:a.cancelOnUserAction}):(d=new window.Fx.Scroll(document.body,{duration:c,transition:"quad:in:out"}),a.onComplete&&d.addEvent("complete",a.onComplete),d.start(0,b));else if(window.scrollTo(0,b),a.onComplete)a.onComplete();return d}})});(function(){ko.validation.rules.predefinedValidationError={validator:function(b,a){var d=a.validationError;return!(d&&!d.consumed)},message:function(b){b=b.validationError;var a=null;b&&(a=b.message);return a}};ko.extenders.groupRequired=function(b,a){return ko.pureComputed(function(){var a=b();a.requiredFields.forEach(function(a){a()});return a}).extend({groupRequiredValidation:a})};ko.validation.rules.groupRequiredValidation={validator:function(b){return Object.every(b.requiredFields,function(a){return!a.isValid||
a.isValid()})?Object.every(b.requiredFields,function(a){return ko.validation.rules.required.validator(ko.unwrap(a),!0)}):!0},message:function(){return Locale.get("vui.formvalidation")["formvalidation.error.required.fields"]}};ko.validation.registerExtenders();Class("VUI.ValidatableViewModel",{Depends:["ValidationsTracker"],isValidatable:!0,isValidationEnabled:!0,isValidationTrackingEnabled:!1,initValidation:function(b){var a=this;b=b||{};a.isValidationTrackingEnabled=!!a.formTracker;ko.validation.accessible.addFieldNames(a,
b.customFieldNameMappings);var d=ko.validation.group(a,{deep:!0,observable:!0,live:!0}),g=ko.observable(!1),e=ko.pureComputed(function(){return 0===d().length}),k=ko.pureComputed(function(){return g()&&!e()}).extend({notify:"always",rateLimit:0});a.validation={validationGroup:d,displayValidationErrors:g,displayValidationAlert:k,validateNow:function(){var b=[];a.isValidationTrackingEnabled&&b.push(a.validation.validationGroup.getInvalidObservables());a.isValidationTrackingEnabled&&a.formId&&a.ValidationsTracker.publishValidationErrors(a.formId,
b);d.showAllMessages();b=e();k.notifySubscribers(k.peek());return b?b:(g(!0),!1)},validationErrors:ko.observable(null)};(b=b.validationErrors)&&a.setValidationErrors(b)},toggleValidations:function(b){this.isValidationEnabled=!!b},addPreComputedValidator:function(b){b.extend({validation:{validator:function(a){return!a.validationMessage},message:function(){return b().validationMessage}}})},setValidationErrors:function(b){var a=this,d=[];a.validation.validationErrors(b);var g=function(e){e.__vuiValidatableTraversed||
(e.__vuiValidatableTraversed=!0,d.push(e),Object.each(e,function(d,h){var c=e[h];if(c&&0!==h.indexOf("_")){if(ko.isObservable(c)){var l=a._getFieldValidationError(c.fieldName||h,b);l&&(c.rules&&c.rules.remove(function(a){return"predefinedValidationError"===a.rule}),c.predefinedValidationSubscription&&(c.predefinedValidationSubscription.dispose(),c.predefinedValidationSubscription=null),c.extend({predefinedValidationError:{params:{validationError:l},onlyIf:function(){return!c.suppressExternalValidation||
!c.suppressExternalValidation()}}}),c.notifySubscribers(),c.predefinedValidationSubscription=c.subscribe(function(){l.consumed=!0;c.predefinedValidationSubscription.dispose();c.predefinedValidationSubscription=null;c.notifySubscribers()}))}var f=ko.utils.peekObservable(c);f&&"object"===typeof f&&f.hasOwnProperty&&f.constructor!==Date&&f.constructor!==RegExp&&!f._destroy&&!f.nodeType&&0!==h.indexOf("$")&&g(f)}}))};b.fields&&b.fields.length&&(g(a),d.each(function(a){delete a.__vuiValidatableTraversed}),
a.validation.validateNow())},_getFieldValidationError:function(b,a){var d=null;a.fields&&a.fields.some(function(a){if(b===a.field)return d=a,!0});return d},makeObservablesRequired:function(b,a){b.each(function(b){b.extend({required:a||function(){return!0}})})}})})();(function(){Class("VUI.CompositeValidatableViewModel",{isCompositeValidatable:!0,isValidationTrackingEnabled:!1,initValidation:function(b){var a=this;a.isValidationTrackingEnabled=!!a.formTracker;b=b||[];a.viewModels=ko.observableArray(b.filter(function(c){return c.validation}));a.validation={validationGroup:ko.pureComputed(function(){var c=[];a.viewModels().each(function(a){c.append(a.validation.validationGroup())});return c}),displayValidationErrors:ko.pureComputed(function(){return a.viewModels().some(function(a){return a.validation.displayValidationErrors()})}),
displayValidationAlert:ko.pureComputed(function(){return a.viewModels().some(function(a){return a.validation.displayValidationAlert()})}),validateNow:function(){var c=[],b=a.viewModels().map(function(b){if(b.isValidationEnabled)a.isValidationTrackingEnabled&&c.push(b.validation.validationGroup.getInvalidObservables());else return!0;return b.validation.validateNow()}).every(function(a){return a});a.isValidationTrackingEnabled&&a.formTracker.trackValidationErrors(c);return b},validationErrors:ko.pureComputed(function(){var b=
null;a.viewModels().some(function(a){if((a=a.validation.validationErrors)&&a.globalMessage)return b={globalMessage:a.globalMessage},!0});return b})}},registerValidatableViewModel:function(b){b.validation&&this.viewModels.push(b)}})})();(function(){Class("VUI.ValidationsTracker",{Implements:[VUI.CatchUpEvents],InjectAs:{name:"ValidationsTracker",singleton:!0},publishValidationErrors:function(a,b){this.fireEvent("validationErrors",{formId:a,invalidObservables:b})}})})();(function(){Class("VUI.GlobalValidationViewModel",{initGlobalValidation:function(a){this.validation={validationErrors:ko.observable(null)};(a=a&&a.validationErrors)&&this.setValidationErrors(a)},setValidationErrors:function(a){this.validation.validationErrors(a)}})})();(function(){window.addEvent("initFramework",function(){Object.each(ko.validation.rules,function(a,b){var c=Locale.get("vui.formvalidation")["formvalidation.error."+b];c&&(a.message=c)})});var g={errorElementClass:"vui-has-error",messageTemplate:"vui-validation-message-template",decorateInputElement:!0,errorsAsTitle:!1,allowHtmlMessages:!0,messagesOnModified:!1,decorateElementOnModified:!1};Class("VUI.ValidationBindingHandler",{Binds:["init"],Implements:[VUI.Templates],initialiseAll:function(){if(!this.initialised){this.loadTemplates({componentId:"vui.formvalidation.formvalidation"});
var a=this.templates.validationMessageTemplate({}),b=new Element("script",{id:"vui-validation-message-template",type:"text/html"});b.text=a.innerHTML;b.inject(document.body);this.initialised=!0}},init:function(a,b,c,e){a=$(a);var d=e.validation;if(!d)throw Error("vuiValidation bindingHandler can only be used on viewModels that extend VUI.ValidatableViewModel, have you Extended it, and called initValidation()?");a.setProperty("novalidate","");this.initialiseAll();c={showAccessibleErrors:d.displayValidationErrors};
b=ko.unwrap(b());var f=Object.merge({},ko.validation.configuration,g,c,b);ko.validation.utils.setDomData(a,f);ko.applyBindingsToNode(a,{css:{"vui-show-errors":d.displayValidationErrors}});(a=$(a.match("form")?a:a.getParent("form")))&&a.addEvent("submit",function(a){if(ko.isObservable(e.serverEvent)){var b,c=a.target.getElements('button, input[type\x3d"submit"]');c.some(function(a){return a===document.activeElement})?b=document.id(document.activeElement).getProperty("name"):1===c.length&&(b=document.id(c[0]).getProperty("name"));
e.serverEvent(b)}(b=d.validateNow())&&f.onValidSubmit&&(b=!0===f.onValidSubmit(a));b||a.preventDefault()})}});ko.bindingHandlers.vuiValidation=new VUI.ValidationBindingHandler})();(function(){Class("VUI.AlertAnnouncer",{InjectAs:{name:"AlertAnnouncer",singleton:!0},addAlert:function(d,e){var a=new Element("div",{styles:{position:"absolute",opacity:0}});a.setAttribute("tabindex","-1");a.style.clip="rect(0px,0px,0px,0px)";var b=new Element("div");b.inject(a);a.inject(d,"before");a.setAttribute("role","alert");b.empty();b.setAttribute("role","alert");a.style.clip="auto";var c;c=e?ko.unwrap(e):d.get("text");c=document.createTextNode(c);b.appendChild(c);a.focus();window.setTimeout(function(){a.style.clip=
"rect(0px,0px,0px,0px)";b.empty();a.removeAttribute("role")},1E3)}})})();(function(){Class("VUI.GlobalValidationAlertDomHandler",{Implements:[VUI.Templates,VUI.Disposable],Depends:["AlertAnnouncer"],Binds:["init"],initialize:function(a,d){var c=this;c.loadTemplates({componentId:"vui.formvalidation.formvalidation"});var b=d.validation,e=ko.pureComputed(function(){var a=b.validationErrors();return a&&a.globalMessage}).extend({notify:"always",rateLimit:0});a.addClass("vui-show-errors");var f=c.templates.alertTemplate({});a.adopt(f);c.applyRecordedBindings({displayAlert:e,
message:e},f);c.record(e.subscribeNow(function(b){b&&a.getElement(".vui-validation-alert").vuiScrollToClearStickyElements({duration:300,onComplete:function(){c.AlertAnnouncer.addAlert(a,b)}})}))}});ko.bindingHandlers.vuiGlobalValidationAlert={init:function(a,d,c,b){b=d()||b;a.store("vui.formvalidation.globalvalidationalertdomhandler",new VUI.GlobalValidationAlertDomHandler(a,b));ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve("vui.formvalidation.globalvalidationalertdomhandler").dispose()});
return{controlsDescendantBindings:!0}}}})();(function(){Class("VUI.ValidationAlertDomHandler",{Implements:[VUI.Templates,VUI.Disposable],Depends:["AlertAnnouncer"],Binds:["init"],initialize:function(a,e){var b=this;b.loadTemplates({componentId:"vui.formvalidation.formvalidation"});var c=Locale.get("vui.formvalidation"),d=e.validation,g=ko.pureComputed(function(){var a=d.validationGroup().length;return 1===a?c["formvalidation.alert.fielderrors.singleError"]:c["formvalidation.alert.fielderrors.multipleErrors"].substitute({errorCount:a})}),f=
b.templates.alertTemplate({});a.adopt(f);b.applyRecordedBindings({displayAlert:d.displayValidationAlert,message:g},f);b.record(d.displayValidationAlert.subscribe(function(){d.displayValidationAlert()&&a.getElement(".vui-validation-alert").vuiScrollToClearStickyElements({duration:300,onComplete:function(){b.AlertAnnouncer.addAlert(a)}})}))}});ko.bindingHandlers.vuiValidationAlert={init:function(a,e,b,c){a=document.id(a);c=e()||c;a.store("vui.formvalidation.validationalertdomhandler",new VUI.ValidationAlertDomHandler(a,
c));ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve("vui.formvalidation.validationalertdomhandler").dispose()});return{controlsDescendantBindings:!0}}}})();(function(){ko.bindingHandlers.vuiValidationMessage={init:function(a,c){var b=ko.validation.utils.getConfigOptions(a),d=c();if(!b.messageTemplate)throw Error("vuiValidationMessage binding handler must be used in a form that uses the vuiValidation binding handler");ko.renderTemplate(b.messageTemplate,{field:d},null,a);return{controlsDescendantBindings:!0}}}})();__registerModule("/nz/co/airnz/vui/formvalidation/html/formvalidation.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={alertTemplate:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"alert alert-error vui-alert-icon vui-validation-alert" data-bind\x3d"css: {\'vui-has-error\': displayAlert}"\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"vui-icon-alert" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+
a);this.b('      \x3cdiv data-bind\x3d"html: message"\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  ");return this.fl()},validationMessageTemplate:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"popover bottom vui-popover-error" data-bind\x3d"css: {\'vui-has-error\': !field.isValid()}"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"arrow" aria-hidden\x3d"true"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b('      \x3cdiv class\x3d"popover-content" data-bind\x3d"validationMessage: field"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.formvalidation.formvalidation.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/header/header.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{header:b});a.default=b});(function(){var h=!!window.addEventListener;Element.NativeEvents.focusin=Element.NativeEvents.focusout=2;var n={mouseenter:{base:"mouseover"},mouseleave:{base:"mouseout"},focus:{base:"focus"+(h?"":"in"),capture:!0},blur:{base:h?"blur":"focusout",capture:!0}},h=Element.prototype,p=h.addEvent,m=h.removeEvent,h=function(d,e){return function(f,b,g){if(-1==f.indexOf(":relay"))return d.call(this,f,b,g);var a=Slick.parse(f).expressions[0][0];if("relay"!=a.pseudos[0].key)return d.call(this,f,b,g);var c=a.tag;
a.pseudos.slice(1).each(function(a){c+=":"+a.key+(a.value?"("+a.value+")":"")});d.call(this,f,b);return e.call(this,c,a.pseudos[0].value,b)}},l={addEvent:function(d,e,f){var b=this.retrieve("$delegates",{}),g=b[d];if(g)for(var a in g)if(g[a].fn==f&&g[a].match==e)return this;a=d;var c=e,h=n[d]||{};d=h.base||a;e=function(a){return Slick.match(a,c)};var k=Element.Events[a];if(k&&k.condition){var l=e,m=k.condition;e=function(a,b){return l(a,b)&&m.call(a,b,d)}}var q=this,r=String.uniqueID(),k=h.listen?
function(a,b){!b&&a&&a.target&&(b=a.target);b&&h.listen(q,e,f,a,b,r)}:function(a,b){!b&&a&&a.target&&(b=a.target);if(b)a:for(var d=e,c=b;c&&c!=q;){if(d(c,a)){f.call(c,a,c);break a}c=document.id(c.parentNode)}};g||(g={});g[r]={match:c,fn:f,delegator:k};b[a]=g;return p.call(this,d,k,h.capture)},removeEvent:function(d,e,f,b){var g=this.retrieve("$delegates",{}),a=g[d];if(!a)return this;if(b){e=d;f=a[b].delegator;var c=n[d]||{};d=c.base||e;c.remove&&c.remove(this,b);delete a[b];g[e]=a;return m.call(this,
d,f)}if(f)for(c in a){if(b=a[c],b.match==e&&b.fn==f)return l.removeEvent.call(this,d,e,f,c)}else for(c in a)b=a[c],b.match==e&&l.removeEvent.call(this,d,e,b.fn,c);return this}};[Element,Window,Document].invoke("implement",{addEvent:h(p,l.addEvent),removeEvent:h(m,l.removeEvent)})})();(function(){function f(b){return function(){var a=this,c=VUI.Injector.get("JsonEventRepeater"),e=["config","state","data"];a.addRecordedEvent(c,"success-"+b+":catchup",function(b){e.each(function(d){var e="on"+d.capitalize();b[d]&&"function"===typeOf(a[e])&&a[e].call(a,b[d])})})}}Class.Mutators.ComponentDataEvents=function(b){var a=[];a.push(f(b));this.prototype.addRecordedEvent||Class.Mutators.Implements.call(this,[VUI.Disposable]);this.implement({__beforeInitialize:a,__afterInitialize:[]})};VUI.addComponentDataEvents=
function(b,a){var c=["config","state","data"];VUI.Injector.get("JsonEventRepeater").addEvent("success-"+a+":catchup",function(a){c.each(function(c){var d="on"+c.capitalize();a[c]&&"function"===typeOf(b[d])&&b[d].call(b,a[c])})})}})();__registerModule("/nz/co/airnz/vui/common/text/text.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"common.text.separated.comma":"{0}, {1}","common.text.separated.or":"{0} or {1}","common.text.separated.and":"{0} and {1}","common.text.eg":"e.g. {{example}}"};Locale.define("en-NZ","vui",{common:{text:b}});a.default=b});(function(){Class("VUI.StringUtils",{InjectAs:{name:"StringUtils",singleton:!0},getCommaSeparated:function(a){var c=Locale.get("vui.common.text")["common.text.separated.comma"],b="";a.each(function(a){b=b?c.substitute([b,a],"singleCurlies"):a});return b},getAndSeparated:function(a){return this._getCommaSeparatedWithTerminalSeparator(a,"common.text.separated.and")},getOrSeparated:function(a){return this._getCommaSeparatedWithTerminalSeparator(a,"common.text.separated.or")},_getCommaSeparatedWithTerminalSeparator:function(a,
c){var b=Locale.get("vui.common.text")[c];switch(a.length){case 0:return"";case 1:return a[0];case 2:return b.substitute(a,"singleCurlies");default:return b.substitute([this.getCommaSeparated(a.slice(0,-1)),a[a.length-1]],"singleCurlies")}},sentenceCasing:function(a,c){if(0<a.length){var b=a.substr(1);c&&(b=b.toLowerCase());return a.charAt(0).toUpperCase()+b}return""},getEg:function(a){return Locale.get("vui.common.text")["common.text.eg"].substitute({example:a})},splitCamelCase:function(a){return a.replace(/([a-z](?=[A-Z]))/g,
"$1 ").toLowerCase()}})})();__registerModule("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents",function(a,b){Object.defineProperty(b,"__esModule",{value:!0});var c=a("../jsoneventrepeater/jsoneventrepeater"),d=babelHelpers.interopRequireDefault(c),c=a("../referencerecorder/referencerecorder"),e=babelHelpers.interopRequireDefault(c),f=["config","state","data"];b.default=function(c,a){var b=new e.default;b.addRecordedEvent(d.default,"success-"+a+":catchup",function(b){f.each(function(a){b[a]&&"function"===typeof c[a]&&
c[a].call(c,b[a])})});return b}});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-mediaqueriestracker-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("../../../addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.config=ko.observable();this._eventReferences=(0,d.default)(this,"GtmMediaQueriesTracker")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-mediaqueriestracker",function(b,d){Object.defineProperty(d,"__esModule",{value:!0});var a=b("../../../injector/injector"),h=babelHelpers.interopRequireDefault(a),a=b("../../../referencerecorder/referencerecorder"),k=babelHelpers.interopRequireDefault(a),a=b("./gtm-mediaqueriestracker-datasource"),l=babelHelpers.interopRequireDefault(a),a=function(){function a(){var b=this;babelHelpers.classCallCheck(this,a);this._references=new k.default;
this._references.record(new l.default).config.subscribeNow(function(a){a&&a.isEnabled&&function(){var e=h.default.get("MediaQueries"),d=b._references.addRecordedEvent(e,"changeBreakpoint:catchup",function(a){window.dataLayer.push({"screen breakpoint":a.name});b._references.disposeRecordedEvent(d)}),f=void 0,g=void 0;b._references.addRecordedEvent(e,"changeOrientation:catchup",function(b){var c=e.getCurrentBreakpointState(),c=c&&c[0].name;f?window.dataLayer.push({event:"trackEventNoEcommerce","eventDetails.category":"change orientation",
"eventDetails.action":g+" to "+b.name,"eventDetails.label":f+" to "+c,"programme membership":a.programmeMembership}):window.dataLayer.push({"original orientation":b.name});g=b.name;f=c})}()});return Object.freeze(this)}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._references.dispose()}}]);return a}();d.default=a});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-eventtracker",function(f,g){Object.defineProperty(g,"__esModule",{value:!0});var d=f("../../../injector/injector"),h=babelHelpers.interopRequireDefault(d),d=f("./gtm-mediaqueriestracker"),k=babelHelpers.interopRequireDefault(d),l=function(a){if(!a||"string"!==typeof a)return null;var b=void 0;try{b=JSON.parse(a)}catch(c){b=eval("("+a+")")}return b};VUI.tracking=VUI.tracking||{};VUI.tracking.gtmConfig={EVENT_NAME_NO_ECOMMERCE:"trackEventNoEcommerce",
EVENT_NAME_ECOMMERCE:"trackEventEcommerce",EVENT_NAME_FORM_FIELD_VALUE:"trackFormFieldValue",CATEGORY_NAME_FORM_FIELD_VALUE:"form field - value",CATEGORY_NAME_FORM_FIELD_ENTRY:"form field - entry",CATEGORY_NAME_TEXT_LINK:"text link",CATEGORY_NAME_BUTTON:"cta button",IS_ENABLED:!!window.gtmEnabled};d=new Class("VUI.tracking.GTMEventTracker",{Implements:[VUI.Disposable],Depends:["GTMEcommerceDataSource"],InjectAs:{name:"GTMEventTracker",singleton:!0},Binds:["trackAttribute","_onGTMEcommerceData"],_alreadyTrackedTrackIds:[],
initialize:function(){VUI.tracking.gtmConfig.IS_ENABLED&&(this.addRecordedEvent(document.body,"click:relay([data-gatrack])",this.trackAttribute),this.addRecordedEvent(this.GTMEcommerceDataSource,"newdata:catchup",this._onGTMEcommerceData),this.record(new k.default))},_onGTMEcommerceData:function(a){var b=this;a&&a.dataLayerData&&(Array.isArray(a.dataLayerData)?a.dataLayerData.forEach(function(a){window.dataLayer.push(b._resetEventObject(a))}):window.dataLayer.push(this._resetEventObject(a.dataLayerData)))},
_resetEventObject:function(a){return Object.merge({},{event:void 0,"eventDetails.category":void 0,"eventDetails.action":void 0,"eventDetails.label":void 0,"eventDetails.value":void 0},a)},buildEventDataLayer:function(a){if(VUI.tracking.gtmConfig.IS_ENABLED){if(!(a.category&&a.category.trim().length&&a.action&&a.action.trim().length))throw Error("category and action must be defined");if(a.value&&isNaN(a.value))throw Error("value must be an number.");var b={event:a.eventName,"eventDetails.category":a.category.toLowerCase(),
"eventDetails.action":a.action.toLowerCase(),"eventDetails.label":a.label?a.label.toLowerCase():a.label,"eventDetails.value":a.value};Object.merge(b,a.customAttributes||{});window.dataLayer.push(b)}},_getDataLayerTrackingInfo:function(){for(var a=0;a<window.dataLayer.length;a+=1)if(window.dataLayer[a].meta)return window.dataLayer[a];return null},_getApplicationInfo:function(){var a=void 0;if(VUI.tracking.gtmConfig.IS_ENABLED){a=this._getDataLayerTrackingInfo();if(!a)throw Error("dataLayer meta must be defined");
a=a.meta["Page Section"]}return a},trackAttribute:function(a,b,c){if(b=c||b.get("data-gatrack"))a=b,"string"===typeof b&&(a=l(b)),b=VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,a.event?b=a.event:a.isEcommerce&&(b=VUI.tracking.gtmConfig.EVENT_NAME_ECOMMERCE),c=a.category?a.category:this._getApplicationInfo(),this.buildEventDataLayer({eventName:b,category:c,action:a.action||window.breadcrumbName,label:a.label,value:a.value,customAttributes:a.customAttributes})},trackEcommerceEvent:function(a,b,c,
e){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_ECOMMERCE,category:this._getApplicationInfo(),action:a,label:b,value:c,customAttributes:e})},trackGeneralEvent:function(a,b,c,e){this.trackNonApplicationGeneralEvent(this._getApplicationInfo(),a,b,c,e)},trackNonApplicationGeneralEvent:function(a,b,c,e,d){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,category:a,action:b,label:c,value:e,customAttributes:d})},trackFormFieldValueEvent:function(a,
b,c){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_FORM_FIELD_VALUE,category:VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_VALUE,action:a,label:b,value:void 0,customAttributes:{formFieldValue:c}})},trackFormFieldEntryEvent:function(a,b){this.trackNonApplicationGeneralEvent(VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_ENTRY,a,b)},trackEventOnce:function(a,b){this._alreadyTrackedTrackIds.contains(a)||(this.buildEventDataLayer(b),this._alreadyTrackedTrackIds.push(a))},getProductClickGTMData:function(a){this.GTMEcommerceDataSource.getProductClickGTMData(a)},
getProductGTMData:function(a){this.GTMEcommerceDataSource.getProductGTMData(a)},getVuiGtmTrackingAttributes:function(a){function b(a){if(a=a.getParent()){var d=a.retrieve("vuiGtmTrackingAttributes");d&&(c=Object.merge({},d,c));b(a)}}var c={};b(a);return c}});window.addEvent("initComponents",function(){h.default.get("GTMEventTracker")});g.default=d});(function(){Class("VUI.tracking.GTMEcommerceDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"GTMEcommerce",InjectAs:{name:"GTMEcommerceDataSource",singleton:!0},initialize:function(){},onData:function(a){this.fireEvent("newdata",a)},onConfig:function(a){var b=!this.request;this.productClickDataUrl=a.productClickDataUrl;b&&(this.request=new MtRequest.JSON({url:a.dataUrl}),this.productRequest=new MtRequest.JSON({url:a.dataUrl,link:"chain"}),a.dataUrl&&a.requestEcommerceOnLoad&&this.request.send())},
getProductClickGTMData:function(a){this.request&&(this.request.options.url=this.productClickDataUrl,this.request.post(a))},getProductGTMData:function(a){this.productRequest&&this.productRequest.post(a)}})})();(function(){var c=VUI.Injector.get("StringUtils");Object.place("VUI.tracking.GTMUtils",{sanitizeLabel:function(a,b){if("function"===typeof b)return b(a);if(b)return c.splitCamelCase(a)},sanitizeActionFromFieldName:function(a){a&&(a=a.substring(a.lastIndexOf(".")+1),a=c.splitCamelCase(a));return a}})})();(function(){var f=["airnz-ButtonBase","airnz-Link"],g=function(b){return Array.mtFrom(b.classList).some(function(c){return f.contains(c)})},h=[{tagName:"button",labelFrom:"name",event:"click"},{tagName:"a",labelFrom:"href",event:"click"}],e=["input","select"];Class("VUI.tracking.GTMContainerTracker",{Depends:["GTMEventTracker"],Implements:[VUI.Disposable],initialize:function(b,c){var a=this;a.sanitizeLabel=c.sanitizeLabel;a.useNewFormat=c.useNewFormat;var d=c.elementsToTrack||h,e=document.getElement(b);
e&&d.each(function(b){var d=Object.clone(c);a.addRecordedEvent(e,b.event+":relay("+b.tagName+")",function(c,e){g(e)||a._trackInteraction(c,e,b,d)})})},_trackInteraction:function(b,c,a,d){b=c.get("data-gatrack");d=d.eventDetails||{};b||this._skipFormFieldInteractionTracking(c)||(a.labelFrom&&(d.label=this.useNewFormat?this._sanitizeLabelNewFormat(c.get(a.labelFrom),a.tagName):this._sanitizeLabel(c.get(a.labelFrom),a.tagName),this.useNewFormat&&(d.action=this._sanitizeAction(c,a))),a.valueFrom&&(d.value=
c.get(a.valueFrom)),this.useNewFormat?e.contains(a.tagName)?d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_ENTRY:"a"===a.tagName?(d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_TEXT_LINK,d=this._overrideTrackingAttributesFromParent(c,d)):"button"===a.tagName&&(d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_BUTTON,d=this._overrideTrackingAttributesFromParent(c,d)):e.contains(a.tagName)&&(d.category="form field"),d.eventName=d.eventName||VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,
this.GTMEventTracker.buildEventDataLayer(d))},_overrideTrackingAttributesFromParent:function(b,c){var a=this.GTMEventTracker.getVuiGtmTrackingAttributes(b);return Object.merge({},c,a)},_skipFormFieldInteractionTracking:function(b){return b&&b.classList.contains("vui-gtm-skip-tracking")},_sanitizeLabel:function(b,c){if(!b)return"unnamed "+c;if("a"===c){var a=b.split("/").pop(-1);return a?"link to "+a.replace(/\?.*$/,""):b}return VUI.tracking.GTMUtils.sanitizeLabel(b,this.sanitizeLabel)},_sanitizeLabelNewFormat:function(b,
c){return b?VUI.tracking.GTMUtils.sanitizeLabel(b,this.sanitizeLabel):this._unNamedTag(c)},_getActionFromUrl:function(b){var c=b.split("/"),a=c.pop(-1);return a?(a=(a=a.replace(/\?.*$/,""))?a:c.pop(-1),"link to "+a):b},_unNamedTag:function(b){return"unnamed "+b},_sanitizeAction:function(b,c){var a=c.tagName;if("a"===a)return this._getActionFromUrl(b.get(c.labelFrom));var d=b.get(c.labelFrom);return d?VUI.tracking.GTMUtils.sanitizeActionFromFieldName(d):this._unNamedTag(a)}})})();(function(){Class("VUI.tracking.GTMFormTracker",{Depends:["GTMEventTracker","StringUtils","ValidationsTracker"],Implements:[VUI.Disposable],Binds:["_onValidationErrors"],NO_LABEL:"NO_LABEL",initialize:function(a){if(VUI.tracking.gtmConfig.IS_ENABLED){this.validationOptions=a.validationOptions;this.useNewFormat=a.useNewFormat;this.validationOptions&&(this.validationOptions.eventDetails={eventName:a.eventName||VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,action:a.action||"flight booking"});this.sanitizeLabel=
a.sanitizeLabel;var b=[{tagName:"input",labelFrom:"name",event:"focus"},{tagName:"select",labelFrom:"name",event:"focus"},{tagName:"textarea",labelFrom:"name",event:"focus"},{tagName:"button",labelFrom:"name",event:"click"},{tagName:"a",labelFrom:"href",event:"click"}];a.interactionOptions&&(a.interactionOptions.elementsToTrack=a.interactionOptions.elementsToTrack||b,a.interactionOptions.sanitizeLabel=a.sanitizeLabel,a.interactionOptions.useNewFormat=a.useNewFormat,this.containerTracker=new VUI.tracking.GTMContainerTracker(a.formId,
a.interactionOptions));this.addRecordedEvents(this.ValidationsTracker,{validationErrors:this._onValidationErrors})}},_onValidationErrors:function(a){a&&a.invalidObservables&&this.trackValidationErrors(a.invalidObservables)},trackValidationErrors:function(a){var b=this;if(b.useNewFormat){var d={},c=[];a=a.flatten();a.each(function(a){var e=a.fieldName;b.validationOptions&&("required"===a.failedRule()||"vuiRequiredCheckbox"===a.failedRule()?b._addMissedField(e,d):c.push(e))});Object.keys(d).forEach(function(a){var c=
d[a];a=a===b.NO_LABEL?void 0:a;b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - missed fields",action:c.join(", "),label:a})});c.length&&c.each(function(a){b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - invalid input",action:VUI.tracking.GTMUtils.sanitizeActionFromFieldName(a),label:VUI.tracking.GTMUtils.sanitizeLabel(a,b.sanitizeLabel)})})}else b._trackValidationErrorsOldWay(a)},
_addMissedField:function(a,b){var d=VUI.tracking.GTMUtils.sanitizeActionFromFieldName(a),c=VUI.tracking.GTMUtils.sanitizeLabel(a,this.sanitizeLabel),c=c||this.NO_LABEL;b[c]||(b[c]=[]);b[c].push(d)},_trackValidationErrorsOldWay:function(a){var b=this,d=[],c=[];a=a.flatten();a.each(function(a){var e=a.fieldName;b.validationOptions&&(e=VUI.tracking.GTMUtils.sanitizeLabel(e,b.sanitizeLabel),"required"===a.failedRule()||"vuiRequiredCheckbox"===a.failedRule()?d.push(e):c.push(e))});d.length&&b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,
category:"form error - missed fields",action:b.validationOptions.eventDetails.action,label:d.join(", ")});c.length&&c.each(function(a){b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - invalid input",action:b.validationOptions.eventDetails.action,label:a})})}})})();(function(){Class("VUI.tracking.GAEventTracker",{InjectAs:{name:"GAEventTracker",singleton:!0},Binds:["_trackLink","_trackButton"],_cachedEvents:[],initialize:function(){document.id("page-body").addEvents({"click:relay(a[data-track])":this._trackLink,"click:relay(button[data-track])":this._trackButton,"click:relay(input[data-track])":this._trackButton})},_trackLink:function(b,c){this.trackEvent(c.get("data-track"),c.get("href"),window.location.pathname)},_trackButton:function(b,c){var a=c.get("data-track");
a&&(a=a.split("|"),2===a.length?this.trackEvent(a[0],a[1],window.location.pathname):3===a.length&&this.trackEvent(a[0],a[1],a[2]))},trackEvent:function(b,c,a){"function"===typeof ga&&ga("send","event",{eventCategory:b,eventAction:c,eventLabel:a});"undefined"!==typeof _gaq&&(a||null!==a?_gaq.push(["_trackEvent",b,c,a]):_gaq.push(["_trackEvent",b,c]))},trackOnFirstChange:function(b,c,a,d){var e=this,f=b.subscribe(function(b){"undefined"!==typeof b&&(e.trackEvent(c,a,ko.unwrap(d)),f.dispose())});return f},
trackOnChange:function(b,c,a,d){var e=this;return b.subscribe(function(b){"undefined"!==typeof b&&e.trackEvent(c,a,ko.unwrap(d))})},cacheAndTrackCustomEvent:function(b){this._cachedEvents.push(b);this._initPolling()},_initPolling:function(){var b=this,c,a=0,d=function(){window.ga||window._gaq?(b._pushCachedEvents(),window.clearTimeout(c)):10>=a&&(c=d.delay(500),a++)};d()},_pushCachedEvents:function(){var b=this;b._cachedEvents.each(function(c){b.trackEvent(c.category,c.action,c.label)})}})})();__registerModule("/nz/co/airnz/vui/header/js/header-component",function(b,d){var a=b("../../referencerecorder/referencerecorder"),c=babelHelpers.interopRequireDefault(a),a=function(){function a(b){babelHelpers.classCallCheck(this,a);Object.merge(this,b);this._references=new c.default;this._references.record(new VUI.tracking.GTMContainerTracker(".vui-header",{eventDetails:{category:"flight booking",action:"header"}}))}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._references.dispose()}}]);
return a}();ko.components.register("vui-header",{template:{component:"vui.header.header",template:"Header"},viewModel:a})});__registerModule("/nz/co/airnz/vui/header/html/header.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Header:function(b,c,a){this.b(a=a||"");this.b('\x3cheader class\x3d"vui-header vui-inverse" role\x3d"banner"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-header-logo"\x3e');this.b("\n"+a);this.b('      \x3ca class\x3d"vui-link-unstyled" data-bind\x3d"attr: {href: $component.logoLinkUrl}"\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-icon-logo" aria-hidden\x3d"true"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-icon-koru" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"sr-only" data-bind\x3d"text: $component.logoLinkText"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("      \x3c/a\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c!-- ko template: {nodes: $componentTemplateNodes} --\x3e");this.b("\n"+a);this.b("    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("  \x3c/header\x3e");this.b("\n"+
a);this.b("\n");return this.fl()}};Object.place("templates.vui.header.header.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vbook/header/header.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vbook",{header:b});a.default=b});__registerModule("/nz/co/airnz/vbook/loginaog/loginaog.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"header.loginaog.link.changepassword":"Change password","header.loginaog.link.signout":"Sign out","header.loginaog.arialabel.travellers":"Travel Groups","header.loginaog.arialabel.agencies":"Agencies"};Locale.define("en-NZ","vbook",{loginaog:b});a.default=b});(function(e){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?e(require("knockout"),exports):"function"===typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.mapping={})})(function(e,f){function A(b,c){var a,d;for(d in c)if(c.hasOwnProperty(d)&&c[d])if(a=f.getType(b[d]),d&&b[d]&&"array"!==a&&"string"!==a)A(b[d],c[d]);else if("array"===f.getType(b[d])&&"array"===f.getType(c[d])){a=d;for(var e=b[d],l=c[d],p={},m=e.length-1;0<=m;--m)p[e[m]]=e[m];for(m=l.length-
1;0<=m;--m)p[l[m]]=l[m];e=[];l=void 0;for(l in p)e.push(p[l]);b[a]=e}else b[d]=c[d]}function G(b,c){var a={};A(a,b);A(a,c);return a}function C(b,c){for(var a=G({},b),e=M.length-1;0<=e;e--){var g=M[e];a[g]&&(a[""]instanceof Object||(a[""]={}),a[""][g]=a[g],delete a[g])}c&&(a.ignore=r(c.ignore,a.ignore),a.include=r(c.include,a.include),a.copy=r(c.copy,a.copy),a.observe=r(c.observe,a.observe));a.ignore=r(a.ignore,h.ignore);a.include=r(a.include,h.include);a.copy=r(a.copy,h.copy);a.observe=r(a.observe,
h.observe);a.mappedProperties=a.mappedProperties||{};a.copiedProperties=a.copiedProperties||{};return a}function r(b,c){"array"!==f.getType(b)&&(b="undefined"===f.getType(b)?[]:[b]);"array"!==f.getType(c)&&(c="undefined"===f.getType(c)?[]:[c]);return e.utils.arrayGetDistinctValues(b.concat(c))}function T(b,c){var a=e.dependentObservable;e.dependentObservable=function(a,c,d){d=d||{};a&&"object"==typeof a&&(d=a);var f=d.deferEvaluation,k=!1,D=function(a){var c=e.dependentObservable;e.dependentObservable=
v;var d=e.isWriteableObservable(a);e.dependentObservable=c;c=v({read:function(){k||(e.utils.arrayRemoveItem(b,a),k=!0);return a.apply(a,arguments)},write:d&&function(b){return a(b)},deferEvaluation:!0});c.__DO=a;return c};d.deferEvaluation=!0;a=new v(a,c,d);f||(a=D(a),b.push(a));return a};e.dependentObservable.fn=v.fn;e.computed=e.dependentObservable;var d=c();e.dependentObservable=a;e.computed=e.dependentObservable;return d}function H(b,c,a,d,g,l,p){var m="array"===f.getType(e.utils.unwrapObservable(c));
l=l||"";if(f.isMapped(b)){var k=e.utils.unwrapObservable(b).__ko_mapping__;a=G(k,a)}var D=p||g,h=function(){return a[d]&&a[d].create instanceof Function},r=function(b){return T(I,function(){return e.utils.unwrapObservable(g)instanceof Array?a[d].create({data:b||c,parent:D,skip:N}):a[d].create({data:b||c,parent:D})})},w=function(){return a[d]&&a[d].update instanceof Function},x=function(b,f){var g={data:f||c,parent:D,target:e.utils.unwrapObservable(b)};e.isWriteableObservable(b)&&(g.observable=b);
return a[d].update(g)};if(p=J.get(c))return p;d=d||"";if(m){var m=[],u=!1,n=function(a){return a};a[d]&&a[d].key&&(n=a[d].key,u=!0);e.isObservable(b)||(b=e.observableArray([]),b.mappedRemove=function(a){var c="function"==typeof a?a:function(b){return b===n(a)};return b.remove(function(a){return c(n(a))})},b.mappedRemoveAll=function(a){var c=E(a,n);return b.remove(function(a){return-1!=e.utils.arrayIndexOf(c,n(a))})},b.mappedDestroy=function(a){var c="function"==typeof a?a:function(b){return b===n(a)};
return b.destroy(function(a){return c(n(a))})},b.mappedDestroyAll=function(a){var c=E(a,n);return b.destroy(function(a){return-1!=e.utils.arrayIndexOf(c,n(a))})},b.mappedIndexOf=function(a){var c=E(b(),n);a=n(a);return e.utils.arrayIndexOf(c,a)},b.mappedGet=function(a){return b()[b.mappedIndexOf(a)]},b.mappedCreate=function(a){if(-1!==b.mappedIndexOf(a))throw Error("There already is an object with the key that you specified.");var c=h()?r(a):a;w()&&(a=x(c,a),e.isWriteableObservable(c)?c(a):c=a);b.push(c);
return c});p=E(e.utils.unwrapObservable(b),n).sort();k=E(c,n);u&&k.sort();u=e.utils.compareArrays(p,k);p={};var v,B=e.utils.unwrapObservable(c),z={},A=!0,k=0;for(v=B.length;k<v;k++){var t=n(B[k]);if(void 0===t||t instanceof Object){A=!1;break}z[t]=B[k]}var B=[],C=0,k=0;for(v=u.length;k<v;k++){var t=u[k],q,y=l+"["+k+"]";switch(t.status){case "added":var F=A?z[t.value]:K(e.utils.unwrapObservable(c),t.value,n);q=H(void 0,F,a,d,b,y,g);h()||(q=e.utils.unwrapObservable(q));y=O(e.utils.unwrapObservable(c),
F,p);q===N?C++:B[y-C]=q;p[y]=!0;break;case "retained":F=A?z[t.value]:K(e.utils.unwrapObservable(c),t.value,n);q=K(b,t.value,n);H(q,F,a,d,b,y,g);y=O(e.utils.unwrapObservable(c),F,p);B[y]=q;p[y]=!0;break;case "deleted":q=K(b,t.value,n)}m.push({event:t.status,item:q})}b(B);a[d]&&a[d].arrayChanged&&e.utils.arrayForEach(m,function(b){a[d].arrayChanged(b.event,b.item)})}else if(P(c)){b=e.utils.unwrapObservable(b);if(!b){if(h())return u=r(),w()&&(u=x(u)),u;if(w())return x(u);b={}}w()&&(b=x(b));J.save(c,
b);if(w())return b;Q(c,function(d){var f=l.length?l+"."+d:d;if(-1==e.utils.arrayIndexOf(a.ignore,f))if(-1!=e.utils.arrayIndexOf(a.copy,f))b[d]=c[d];else if("object"!=typeof c[d]&&"array"!=typeof c[d]&&0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=c[d],a.copiedProperties[f]=!0;else{var g=J.get(c[d]),p=H(b[d],c[d],a,d,b,f,b),g=g||p;if(0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=g(),a.copiedProperties[f]=!0;else{if(e.isWriteableObservable(b[d])){if(g=e.utils.unwrapObservable(g),
b[d]()!==g)b[d](g)}else g=void 0===b[d]?g:e.utils.unwrapObservable(g),b[d]=g;a.mappedProperties[f]=!0}}})}else switch(f.getType(c)){case "function":w()?e.isWriteableObservable(c)?(c(x(c)),b=c):b=x(c):b=c;break;default:if(e.isWriteableObservable(b))return q=w()?x(b):e.utils.unwrapObservable(c),b(q),q;h()||w();b=h()?r():e.observable(e.utils.unwrapObservable(c));w()&&b(x(b))}return b}function O(b,c,a){for(var d=0,e=b.length;d<e;d++)if(!0!==a[d]&&b[d]===c)return d;return null}function R(b,c){var a;c&&
(a=c(b));"undefined"===f.getType(a)&&(a=b);return e.utils.unwrapObservable(a)}function K(b,c,a){b=e.utils.unwrapObservable(b);for(var d=0,f=b.length;d<f;d++){var l=b[d];if(R(l,a)===c)return l}throw Error("When calling ko.update*, the key '"+c+"' was not found!");}function E(b,c){return e.utils.arrayMap(e.utils.unwrapObservable(b),function(a){return c?R(a,c):a})}function Q(b,c){if("array"===f.getType(b))for(var a=0;a<b.length;a++)c(a);else for(a in b)c(a)}function P(b){var c=f.getType(b);return("object"===
c||"array"===c)&&null!==b}function U(){var b=[],c=[];this.save=function(a,d){var f=e.utils.arrayIndexOf(b,a);0<=f?c[f]=d:(b.push(a),c.push(d))};this.get=function(a){a=e.utils.arrayIndexOf(b,a);return 0<=a?c[a]:void 0}}function S(){var b={},c=function(a){var c;try{c=a}catch(e){c="$$$"}a=b[c];void 0===a&&(a=new U,b[c]=a);return a};this.save=function(a,b){c(a).save(a,b)};this.get=function(a){return c(a).get(a)}}var v=e.dependentObservable,L=0,I,J,M=["create","update","key","arrayChanged"],N={},z={include:["_destroy"],
ignore:[],copy:[],observe:[]},h=z;f.isMapped=function(b){return(b=e.utils.unwrapObservable(b))&&b.__ko_mapping__};f.fromJS=function(b){if(0==arguments.length)throw Error("When calling ko.fromJS, pass the object you want to convert.");try{L++||(I=[],J=new S);var c,a;2==arguments.length&&(arguments[1].__ko_mapping__?a=arguments[1]:c=arguments[1]);3==arguments.length&&(c=arguments[1],a=arguments[2]);a&&(c=G(c,a.__ko_mapping__));c=C(c);var d=H(a,b,c);a&&(d=a);if(!--L)for(;I.length;){var e=I.pop();e&&
(e(),e.__DO.throttleEvaluation=e.throttleEvaluation)}d.__ko_mapping__=G(d.__ko_mapping__,c);return d}catch(f){throw L=0,f;}};f.fromJSON=function(b){var c=e.utils.parseJson(b);arguments[0]=c;return f.fromJS.apply(this,arguments)};f.updateFromJS=function(b){throw Error("ko.mapping.updateFromJS, use ko.mapping.fromJS instead. Please note that the order of parameters is different!");};f.updateFromJSON=function(b){throw Error("ko.mapping.updateFromJSON, use ko.mapping.fromJSON instead. Please note that the order of parameters is different!");
};f.toJS=function(b,c){h||f.resetDefaultOptions();if(0==arguments.length)throw Error("When calling ko.mapping.toJS, pass the object you want to convert.");if("array"!==f.getType(h.ignore))throw Error("ko.mapping.defaultOptions().ignore should be an array.");if("array"!==f.getType(h.include))throw Error("ko.mapping.defaultOptions().include should be an array.");if("array"!==f.getType(h.copy))throw Error("ko.mapping.defaultOptions().copy should be an array.");c=C(c,b.__ko_mapping__);return f.visitModel(b,
function(a){return e.utils.unwrapObservable(a)},c)};f.toJSON=function(b,c){var a=f.toJS(b,c);return e.utils.stringifyJson(a)};f.defaultOptions=function(){if(0<arguments.length)h=arguments[0];else return h};f.resetDefaultOptions=function(){h={include:z.include.slice(0),ignore:z.ignore.slice(0),copy:z.copy.slice(0)}};f.getType=function(b){if(b&&"object"===typeof b){if(b.constructor===Date)return"date";if(b.constructor===Array)return"array"}return typeof b};f.visitModel=function(b,c,a){a=a||{};a.visitedObjects=
a.visitedObjects||new S;var d,g=e.utils.unwrapObservable(b);if(P(g))a=C(a,g.__ko_mapping__),c(b,a.parentName),d="array"===f.getType(g)?[]:{};else return c(b,a.parentName);a.visitedObjects.save(b,d);var l=a.parentName;Q(g,function(b){if(!a.ignore||-1==e.utils.arrayIndexOf(a.ignore,b)){var m=g[b],k=a,h=l||"";"array"===f.getType(g)?l&&(h+="["+b+"]"):(l&&(h+="."),h+=b);k.parentName=h;if(-1!==e.utils.arrayIndexOf(a.copy,b)||-1!==e.utils.arrayIndexOf(a.include,b)||!g.__ko_mapping__||!g.__ko_mapping__.mappedProperties||
g.__ko_mapping__.mappedProperties[b]||!g.__ko_mapping__.copiedProperties||g.__ko_mapping__.copiedProperties[b]||"array"===f.getType(g))switch(f.getType(e.utils.unwrapObservable(m))){case "object":case "array":case "undefined":k=a.visitedObjects.get(m);d[b]="undefined"!==f.getType(k)?k:f.visitModel(m,c,a);break;default:d[b]=c(m,a.parentName)}}});return d}});(function(){var k=function(a,b){var c=[];Object.each(b,function(b){Object.each(b,function(b){a.each(function(a){c.push(a+"-"+b+("border"==a?"-width":""))})})});return c},l=function(a,b){var c=0;Object.each(b,function(b,h){h.test(a)&&(c+=b.toInt())});return c};Element.implement({measure:function(a){if(!this||this.offsetHeight||this.offsetWidth)return a.call(this);for(var b=this.getParent(),c=[];b&&!b.offsetHeight&&!b.offsetWidth&&b!=document.body;)c.push(b.expose()),b=b.getParent();b=this.expose();
a=a.call(this);b();c.each(function(b){b()});return a},expose:function(){if("none"!=this.getStyle("display"))return function(){};var a=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=a}.bind(this)},getDimensions:function(a){a=Object.merge({computeSize:!1},a);var b={x:0,y:0},c=this.getParent("body");if(c&&"none"==this.getStyle("display"))b=this.measure(function(){return a.computeSize?this.getComputedSize(a):this.getSize()});
else if(c)try{b=a.computeSize?this.getComputedSize(a):this.getSize()}catch(e){}return Object.append(b,b.x||0===b.x?{width:b.x,height:b.y}:{x:b.width,y:b.height})},getComputedSize:function(a){a=Object.merge({styles:["padding","border"],planes:{height:["top","bottom"],width:["left","right"]},mode:"both"},a);var b={},c={width:0,height:0},e;"vertical"==a.mode?(delete c.width,delete a.planes.width):"horizontal"==a.mode&&(delete c.height,delete a.planes.height);k(a.styles,a.planes).each(function(a){b[a]=
this.getStyle(a).toInt()},this);Object.each(a.planes,function(a,f){var g=f.capitalize(),d=this.getStyle(f);"auto"!=d||e||(e=this.getDimensions());d=b[f]="auto"==d?e[f]:d.toInt();c["total"+g]=d;a.each(function(a){var d=l(a,b);c["computed"+a.capitalize()]=d;c["total"+g]+=d})},this);return Object.append(c,b)}})})();__registerModule("/nz/co/airnz/vui/common/element/events/ontransitionend",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var f=c("../../../referencerecorder/referencerecorder"),g=babelHelpers.interopRequireDefault(f);Element.NativeEvents.transitionend=2;a.default=function(a,c,d){var b=new g.default,e=function(){b.dispose();c()};b.addRecordedEvent(a,"transitionend",e);d&&b.recordTimeout(window.setTimeout(e,d));return b}});__registerModule("/nz/co/airnz/vui/common/knockout/vui/bindinghandlers/effects/slidetoggle",function(g,h){Object.defineProperty(h,"__esModule",{value:!0});var c=g("../../../../../referencerecorder/referencerecorder"),k=babelHelpers.interopRequireDefault(c),c=g("../../../../../common/element/events/ontransitionend"),m=babelHelpers.interopRequireDefault(c),l=function(){function d(b,a){babelHelpers.classCallCheck(this,d);this._element=b;this._onComplete=a;this._transitions=new k.default}babelHelpers.createClass(d,
[{key:"setSlidState",value:function(b){this._element.removeClass("vui-sliding-up");this._element.removeClass("vui-sliding-down");this._element.toggleClass("vui-slid-up",!b);this._element.toggleClass("vui-slid-down",!!b)}},{key:"toggleSlide",value:function(b){var a=this._element;!b||a.hasClass("vui-sliding-down")||a.hasClass("vui-slid-down")?b||a.hasClass("vui-sliding-up")||a.hasClass("vui-slid-up")||this._slide(1,0):this._slide(0,1)}},{key:"_slide",value:function(b,a){var d=this,e=this._element,f=
a>b,c=f?"down":"up",f=f?"up":"down";this._transitions.dispose();e.removeClass("vui-sliding-"+f);e.removeClass("vui-slid-"+f);e.addClass("vui-sliding-"+c);this._transitions.record((0,m.default)(e,function(){e.addClass("vui-slid-"+c);e.removeClass("vui-sliding-"+c);d._onComplete&&d._onComplete(e)},2E3))}},{key:"dispose",value:function(){this._transitions.dispose()}}]);return d}(),n=function(){function d(b,a,c,e){var f=this;babelHelpers.classCallCheck(this,d);this._subscriptions=new k.default;this._slider=
new l(b,e);this._slider.setSlidState(a());c?this._subscriptions.record(ko.computed(function(){c()?(b.addClass("vui-slides"),f._slider.toggleSlide(a())):(b.removeClass("vui-slides"),f._slider.setSlidState(a()))})):(b.addClass("vui-slides"),this._subscriptions.record(a.subscribe(this._slider.toggleSlide.bind(this))))}babelHelpers.createClass(d,[{key:"dispose",value:function(){this._subscriptions.dispose()}}]);return d}();ko.bindingHandlers.vuiSlideToggle={init:function(d,b){var a=b(),c=void 0,e=void 0,
f=void 0;ko.isObservable(a)?c=a:(c=a.isSlideDown,e=a.isEnabled,f=a.onComplete);VUI.BindingHandlerDomUtil.storeDomHandler(d,"vuiSlideToggle",new n(d,c,e,f))}};h.default=l});(function(){function h(b,a){Object.each(a,function(a,e){b.removeEvent(e,a)})}function f(b,a,c){a.addEvents(c);a.store(b,c)}function g(b,a){var c=a.retrieve(b);c&&(h(a,c),a.eliminate(b))}function k(b){var a="vui"+b.capitalize()+"Key",c=a+"Events";Element.Events[a]={onAdd:function(a){f(c,this,{keydown:function(c,d){c.key===b&&a(c,d)}})},onRemove:function(){g(c,this)}}}var l=function(b,a){return b.some(function(b){return a===b||b.contains(a)})};Elements.implement({vuiAddFocusLeave:function(b){function a(a){f("focusLeaveEvents",
a,e)}var c=this;c.vuiRemoveFocusLeave();var e={blur:function(a){window.setTimeout(function(){var d=document.activeElement;d===document.body||l(c,d)||b(a)},100)}};c.each(function(b){a(b);b.getElements("a[href], input:not([type\x3dhidden], [disabled]), select:not([disabled]), [tabindex\x3d0], textarea:not([disabled]), button:not([disabled])").each(a)});return{dispose:this.vuiRemoveFocusLeave.bind(this)}},vuiRemoveFocusLeave:function(){function b(a){g("focusLeaveEvents",a)}this.each(function(a){b(a);
a.getElements("a[href], input:not([type\x3dhidden], [disabled]), select:not([disabled]), [tabindex\x3d0], textarea:not([disabled]), button:not([disabled])").each(b)})}});Element.Events.vuiFocusLeave={onAdd:function(b){(new Elements([this])).vuiAddFocusLeave(b)},onRemove:function(){(new Elements([this])).vuiRemoveFocusLeave()}};Element.Events.tap={onAdd:function(b){var a=this;f("tapEvents",a,{touchstart:function(c){if(1===c.touches.length){var e=c.client;a.addEvent("touchend:once",function(a){var d=
a.changedTouches[0];10>Math.abs(e.x-d.clientX)&&10>Math.abs(e.y-d.clientY)&&b(c,a)})}}})},onRemove:function(){g("tapEvents",this)}};Element.Events.vuiClickOutside={onAdd:function(b){var a=this,c=function(c){var d=c.target;d===a||a.contains(d)||b(c)},e=document.getElement("html"),c={click:c,tap:c};e.addEvents(c);a.store("vuiClickOutsideEvents",c)},onRemove:function(){var b=this.retrieve("vuiClickOutsideEvents");if(b){var a=document.getElement("html");h(a,b);this.eliminate("vuiClickOutsideEvents")}}};
k("space");k("esc");Element.Events.vuiLinkButtonClick={onAdd:function(b){f("vuiLinkClickEvents",this,{click:b,vuiSpaceKey:b})},onRemove:function(){g("vuiLinkClickEvents",this)}};Element.Events.vuiMouseMoveOver={base:"mouseover",condition:function(b){var a=Element.Events.vuiMouseMoveOver,c=b.client.x;b=b.client.y;if(c!==a.lastMouseX||b!==a.lastMouseY)return a.lastMouseX=c,a.lastMouseY=b,!0}}})();(function(e){Class("VUI.EventDomHandler",{Implements:[VUI.Disposable],initialize:function(a,c){this.addRecordedEvents(a,c)}});(function(a){e.bindingHandlers[a]={init:function(c,b){var d={};d[a]=function(a,c){!0!==b()(a,c)&&a.preventDefault()};VUI.BindingHandlerDomUtil.storeDomHandler(c,a,new VUI.EventDomHandler(c,d))}}})("vuiLinkButtonClick");e.bindingHandlers.vuiDismissOverlay={init:function(a,c){var b=c();VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiDismissOverlay",new VUI.EventDomHandler(a,
{vuiEscKey:b,vuiFocusLeave:b,vuiClickOutside:b}))}};Class("VUI.OverlayTriggerDomHandler",{Implements:[VUI.Disposable],initialize:function(a,c,b){function d(){b(!1);h&&(f.disposeRecorded(h),h=null);g&&(f.disposeRecordedEvent(g),g=null)}function e(){b(!0);h=k.vuiAddFocusLeave(d);g=f.addRecordedEvent(c,"vuiClickOutside",function(b){b.target===a||a.contains(b.target)||d()});f.record(h)}var f=this,k=new Elements([a,c]),h,g;f.addRecordedEvent(a,"click",function(a){a.preventDefault();b()?d():(e(),c.focus())});
f.addRecordedEvent(k,"vuiEscKey",function(){d();a.focus()})}});e.bindingHandlers.vuiOverlayTrigger={init:function(a,c){var b=c(),d=document.getElement(b.overlay);VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiOverlayTrigger",new VUI.OverlayTriggerDomHandler(a,d,b.isOverlayVisible))}};e.bindingHandlers.vuiClickRelay={init:function(a,c,b,d,n){c=c();var f=c.attribute,k=c.handler;a.addEvent("click:relay(["+f+"])",function(a,b){var c;try{var m=e.utils.makeArray(arguments);m.unshift(n.$data);m.unshift(b.getAttribute(f));
c=k.apply(d,m)}finally{!0!==c&&a.preventDefault()}})}};e.bindingHandlers.vuiButtonHold={init:function(a,c){var b=e.unwrap(c()),d=b.callback,n=b.allowKeys||["space","enter"],f=0===b.delay||b.delay?b.delay:300,k=b.repeatInterval=b.repeatInterval||50,h,g=!1,l=function(){window.clearTimeout(h);g=!1;k=b.repeatInterval},m=function(){a.get("disabled")?l():(d(),k-=.8,h=m.delay(k))},p=function(){a.fireEvent("click");h=m.delay(f);g=!0};VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiHold",new VUI.EventDomHandler(a,
{mousedown:function(){g||p()},keypress:function(a){!g&&n.contains(a.key)&&p()},touchstart:function(){g||p()},mouseup:l,mouseleave:l,keyup:l,touchend:l,touchcancel:l}))}};e.bindingHandlers.vuiTabTrap={init:function(a){VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiTabTrap",new VUI.EventDomHandler(a,{keydown:function(c){if("tab"===c.key){var b=a.getElements("a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), *[tabindex]"),d=b.length;if(!d)return!0;
var e=b.indexOf(document.activeElement),f;c.shift?0===e&&(f=b[d-1]):e===d-1&&(f=b[0]);if(f)return f.focus(),!1}else return!0}}))}};e.bindingHandlers.vuiAutoFocus={update:function(a,c){e.unwrap(c())&&a.focus()}};e.bindingHandlers.vuiLinkFocus={init:function(a,c){var b=c();VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiLinkFocus",new VUI.EventDomHandler(a,{click:function(){var a=document.querySelector(b);a&&window.setTimeout(function(){a.focus()})}}))}}})(ko);(function(){var e={xs:"(max-width: 543px)",sm:"(min-width:544px) and (max-width: 767px)",md:"(min-width:768px) and (max-width: 991px)",lg:"(min-width:992px) and (max-width: 1329px)",xl:"(min-width:1330px)"},f={portrait:"(orientation: portrait)",landscape:"(orientation: landscape)"},g={lg:"(max-width: 1329px)",xl:"(min-width:1330px)"};Class("VUI.MediaQueries",{Implements:[VUI.CatchUpEvents,VUI.Disposable],InjectAs:{name:"MediaQueries",singleton:!0},_breakpointMediaQueries:[],_orientationMediaQueries:[],
initialize:function(){var a;document.documentElement.hasClass("vui-md-disabled")?(a=g,this.breakpointMinValues={sm:"0px",md:"0px",lg:"1px",xl:1330}):(a=e,this.breakpointMinValues={sm:544,md:768,lg:992,xl:1330},this._initListeners(f,this._orientationMediaQueries,"changeOrientation"));this._initListeners(a,this._breakpointMediaQueries,"changeBreakpoint")},_initListeners:function(a,b,d){var c=this;Object.each(a,function(a,c){b.push({name:c,mql:window.matchMedia(a)})});b.each(function(a){a.mql.addListener(function(b){b.matches&&
c._publish(d,a)})});c._publish(d,c._getCurrentState(b))},_publish:function(a,b){this.fireEvent(a,b)},_getCurrentState:function(a){return a.filter(function(a){return a.mql.matches})},getCurrentBreakpointState:function(){return this._getCurrentState(this._breakpointMediaQueries)},isXsOrSm:function(){var a=this.getCurrentBreakpointState()[0];return["xs","sm"].contains(a.name)}})})();__registerModule("/nz/co/airnz/vbook/loginaog/html/loginaog.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={LoginAog:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-loginheader is-logged-in" data-bind\x3d"');this.b("\n"+a);this.b("  if: $component.isPopulated(),");this.b("\n"+a);this.b("  css: {");this.b("\n"+a);this.b("    'is-open': $component.isOpen(),");this.b("\n"+a);this.b('  }"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('  \x3ca href\x3d"#" class\x3d"vui-loginheader-toggle vui-loginheader-action vui-link-primary vui-link-unstyled" role\x3d"button" data-bind\x3d"');
this.b("\n"+a);this.b("    vuiOverlayTrigger: {");this.b("\n"+a);this.b("      overlay: '.vui-loginheader-panel',");this.b("\n"+a);this.b("      isOverlayVisible: $component.isOpen,");this.b("\n"+a);this.b("    },");this.b("\n"+a);this.b("    attr: {");this.b("\n"+a);this.b("      'aria-haspopup': $component.isPanelOverlay");this.b("\n"+a);this.b('    }"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cspan class\x3d"vui-loginheader-toggle-close vui-icon-close"\x3e\x3c/span\x3e');this.b("\n"+a);
this.b('    \x3cspan class\x3d"sr-only"\x3eClose\x3c/span\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-loginheader-toggle-label"\x3e');this.b("\n"+a);this.b("      \x3c!-- ko if: $component.isPopulated() --\x3e");this.b("\n"+a);this.b('      \x3csvg focusable\x3d"false" aria-label\x3d"[vui.loginheader.profile.toggle.label.sronly]" class\x3d"vui-loginheader-toggle-profile-icon" viewBox\x3d"0 0 13 13" xmlns\x3d"http://www.w3.org/2000/svg"\x3e\x3cpath d\x3d"M6.506.005C2.926.005.008 2.92.004 6.5 0 8.268.7 9.982 1.92 11.202 3.08 12.362 4.618 13 6.256 13c.088 0 .175-.002.264-.006 3.638-.148 6.49-3 6.49-6.494 0-3.58-2.92-6.495-6.504-6.495zM6.493 12.37c-.08.003-.16.004-.24.004-1.295 0-2.523-.446-3.51-1.267l.003-.018c0-1.647.966-3.048 2.412-3.524.364.186.775.294 1.212.294.436 0 .847-.107 1.21-.294 1.483.485 2.51 1.91 2.518 3.505-.99.766-2.235 1.243-3.605 1.3zm-.12-5.137c-1.128 0-2.043-.915-2.043-2.04 0-1.123.916-2.04 2.042-2.04 1.125 0 2.042.916 2.042 2.04 0 1.126-.917 2.04-2.042 2.04zm4.317 3.32c-.187-1.5-1.14-2.806-2.494-3.42.518-.485.844-1.174.844-1.94 0-1.47-1.197-2.665-2.668-2.665-1.472 0-2.67 1.196-2.67 2.666 0 .765.327 1.455.845 1.94C3.232 7.74 2.33 9.02 2.154 10.54 1.18 9.455.628 8 .63 6.5.635 3.265 3.27.633 6.506.633c3.24 0 5.875 2.633 5.875 5.87 0 1.57-.64 2.995-1.69 4.05z" fill-rule\x3d"evenodd"/\x3e\x3c/svg\x3e');
this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/a\x3e");this.b("\n"+a);this.b("\n"+a);this.b('  \x3cdiv class\x3d"vui-loginheader-panel" data-bind\x3d"');this.b("\n"+a);this.b("    vuiSlideToggle: {");this.b("\n"+a);this.b("      isSlideDown: $component.isOpen,");this.b("\n"+a);this.b("      isEnabled: $component.isMdDown");this.b("\n"+a);this.b("    },");this.b("\n"+a);this.b("    attr: {");this.b("\n"+a);this.b("      role: $component.isOpen() || !$component.isMdDown() ? 'dialog' : null,");
this.b("\n"+a);this.b("      tabindex: '-1',");this.b("\n"+a);this.b("      'aria-label': '[vui.loginheader.profile.overlay.label.sronly]'");this.b("\n"+a);this.b('    }"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-loginheader-panel-contents"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"vbk-loginaog vui-form-inline-lg"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('        \x3cspan data-bind\x3d"text: $component.profile.travelArranger.name()"\x3e\x3c/span\x3e');this.b("\n"+
a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.agencies().length \x3d\x3d\x3d 1 --\x3e");this.b("\n"+a);this.b('        / \x3cspan data-bind\x3d"text: $component.agencies()[0].shortName"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.agencies().length \x3e 1 --\x3e");this.b("\n"+a);this.b('        \x3cselect class\x3d"form-control input-sm vbk-loginaog-select" data-bind\x3d"');this.b("\n"+
a);this.b("          options: $component.agencies,");this.b("\n"+a);this.b("          optionsText: 'shortName',");this.b("\n"+a);this.b("          optionsValue: 'agencyId',");this.b("\n"+a);this.b('          value: $component.selectedAgencyId" class\x3d"vui-select" aria-label\x3d"Agencies"\x3e');this.b("\n"+a);this.b("        \x3c/select\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.travelGroups().length \x3d\x3d\x3d 1 \x26\x26 !$component.isAdmin() --\x3e");
this.b("\n"+a);this.b('        / \x3cspan data-bind\x3d"text: $component.travelGroups()[0].shortName"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.travelGroups().length \x3e 1 || $component.isAdmin() --\x3e");this.b("\n"+a);this.b('        \x3cselect class\x3d"form-control input-sm vbk-loginaog-select" data-bind\x3d"');this.b("\n"+a);this.b("          options: $component.travelGroups,");this.b("\n"+a);
this.b("          optionsText: 'shortName',");this.b("\n"+a);this.b("          optionsValue: 'id',");this.b("\n"+a);this.b('          value: $component.selectedTravelGroupId" class\x3d"vui-select" aria-label\x3d"Travel Groups"\x3e');this.b("\n"+a);this.b("        \x3c/select\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"vbk-loginaog-a-link"\x3e');this.b("\n"+a);this.b('          \x3ca data-bind\x3d"attr: {\'href\': $component.changePasswordUrl() }" class\x3d"vui-muted-text vbk-loginaog-change-password"\x3e');
this.b("\n"+a);this.b("            Change password");this.b("\n"+a);this.b("          \x3c/a\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('        \x3cdiv class\x3d"vbk-loginaog-a-link"\x3e');this.b("\n"+a);this.b('          \x3ca data-bind\x3d"attr: {\'href\': $component.logoutUrl() }" class\x3d"vbk-loginaog-sign-out"\x3e');this.b("\n"+a);this.b("            Sign out");this.b("\n"+a);this.b("          \x3c/a\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vbook.loginaog.loginaog.hoganTemplates",c);b.default=c});(function(){var c={agency:"selectedAgencyId",travel:"selectedTravelGroupIndex"};Class("VBook.loginAog.LoginAogDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"LoginAog",InjectAs:{name:"LoginAogDataSource",singleton:!0},onConfig:function(a){this._request=new MtRequest.JSON({link:"cancel"});this._urls={agency:a.selectAgencyUrl,travel:a.selectTravelGroupUrl};this.fireEvent("config",a)},onState:function(a){this.fireEvent("state",a);this.fireEvent("authupdate",a)},doUpdateSelected:function(a,
b){this._request.options.url=this._urls[b];this._request.send(c[b]+"\x3d"+a)}})})();(function(){var c={changePasswordUrl:"",logoutUrl:"",profile:{},agencies:[],travelGroups:[],selectedTravelGroupId:"",selectedAgencyId:""},b={};Class("VBook.loginAog.LoginAogComponentViewModel",{Implements:[VUI.Disposable,VUI.CatchUpEvents],Depends:["LoginAogDataSource","MediaQueries"],Binds:["_onState","_onConfig","_initEvents","_onChangeBreakpoint"],initialize:function(){ko.mapping.fromJS(c,b,this);this._initObservables();this._initEvents()},_initObservables:function(){this.isAdmin=ko.observable(!1);
this.isPopulated=ko.observable(!1);this.selectedTravelGroupId=ko.observable();this.selectedAgencyId=ko.observable();this.isOpen=ko.observable(!1);this.isPanelOverlay=ko.observable(!0);this.isLoggedIn=ko.observable(!0);var a=this.MediaQueries.getCurrentBreakpointState();this.isMdDown=ko.observable(this._isMdDown(a))},_initEvents:function(){var a=this;a.selectedTravelGroupId.subscribe(function(b){a.LoginAogDataSource.doUpdateSelected(b,"travel")});a.selectedAgencyId.subscribe(function(b){a.LoginAogDataSource.doUpdateSelected(b,
"agency")});a.addRecordedEvent(a.LoginAogDataSource,"state:catchup",a._onState);a.addRecordedEvent(a.LoginAogDataSource,"config:catchup",a._onConfig);a.addRecordedEvent(a.MediaQueries,"changeBreakpoint:catchup",a._onChangeBreakpoint)},_onState:function(a){ko.mapping.fromJS(a,b,this);a.profile&&a.profile.travelArranger&&(this.isPopulated(!0),this.isAdmin(1<this.agencies().length))},_onConfig:function(a){ko.mapping.fromJS(a,b,this)},_isMdDown:function(a){return["xs","sm","md"].contains(a.name)},_onChangeBreakpoint:function(a){this.isMdDown(this._isMdDown(a))}});
ko.components.register("vbk-loginaog",{template:{component:"vbook.loginaog.loginaog",template:"LoginAog"},viewModel:VBook.loginAog.LoginAogComponentViewModel})})();__registerModule("/nz/co/airnz/vui/bearfooter/bearfooter.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"footer.onlinebooking.help.phonenumber":'\x3cdiv\x3eOnline booking help:\x3c/div\x3e \x3ca href\x3d"tel:{{phoneNumber}}" class\x3d"vui-link-subtle"\x3e{{phoneNumber}}\x3c/a\x3e',"vui.footer.copyright":'Copyright \x3cspan aria-hidden\x3d"true"\x3e\u00a9\x3c/span\x3e {{todayYear}} Air New Zealand Limited.',"vui.footer.businessDetails":""};Locale.define("en-NZ","vui",
{bearfooter:b});a.default=b});__registerModule("/nz/co/airnz/vui/bookingui/bookingui-bindinghandler",function(h,k){var c=function a(d,b,e){var c=this,f=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};babelHelpers.classCallCheck(this,a);var g=window.bookingUiLocale;ko.isObservable(e)&&b&&b.render&&function(){var a=void 0;e.subscribeNow(function(c){a=b.render(c,{selector:d,locale:g,className:f.className})});c.dispose=function(){return a&&a()}}()};ko.bindingHandlers.bookingUi={init:function(a,d){var b=d();VUI.BindingHandlerDomUtil.storeDomHandler(a,
"bookingUi",new c(a,b.Component,b.props,b.config));return{controlsDescendantBindings:!0}}}});__registerModule("/nz/co/airnz/vui/oscarpopover/oscarpopover-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.data=ko.observable();this.config=ko.observable();this._eventReferences=(0,d.default)(this,"OscarPopover")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/oscarpopover/ssotoken-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){var b=this;babelHelpers.classCallCheck(this,a);this.config=ko.observable();this.data=ko.observable();this._eventReferences=(0,d.default)(this,"TOKEN");this.config.subscribe(function(a){b._request=new MtRequest.JSON({url:a.url,link:"chain"})})}
babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}},{key:"requestAuthToken",value:function(){this._request&&this._request.get()}}]);return a}();b.default=a});__registerModule("/nz/co/airnz/vui/oscarpopover/oscarpopover-component",function(b,h){var a=b("/nz/co/airnz/vui/referencerecorder/referencerecorder"),e=babelHelpers.interopRequireDefault(a),a=b("/nz/co/airnz/vui/injector/injector"),d=babelHelpers.interopRequireDefault(a),a=b("./oscarpopover-datasource"),f=babelHelpers.interopRequireDefault(a),a=b("./ssotoken-datasource"),g=babelHelpers.interopRequireDefault(a),a=function(){function a(){var c=this;babelHelpers.classCallCheck(this,a);if(window.bookingUiBook){this.OscarPopover=
window.bookingUiBook.OscarPopover;this.props=ko.observable(null);this._tracker=d.default.get("GTMEventTracker");this._references=new e.default;this._loginDataSource=d.default.get("LoginDataSource");this._ssoTokenDataSource=new g.default;this._references.record(this._ssoTokenDataSource.data.subscribe(function(a){c.updateAuthToken(a.token)}));var b=this._references.record(new f.default);this._references.record(b.data.subscribe(function(a){c.props({apiKey:a.apiKey,apiBaseUrl:a.apiBaseUrl,metadata:a.metadata,
trackingRef:a.trackingRef,clientId:a.clientId,onOpen:c.onOpen.bind(c),onClose:c.onClose.bind(c),placement:{y:"above",x:"right"}})}))}}babelHelpers.createClass(a,[{key:"onOpen",value:function(){var a=this;this._loginDataSource.isLoggedIn()&&this.loadAuthToken();this._references.addRecordedEvent(this._loginDataSource,"authupdate:catchup",function(){a._loginDataSource.isLoggedIn()?a.loadAuthToken():a.updateAuthToken()});this._tracker&&this._tracker.trackNonApplicationGeneralEvent("chatbot","action",
"footer link")}},{key:"onClose",value:function(){this._references.dispose()}},{key:"loadAuthToken",value:function(){this._ssoTokenDataSource.requestAuthToken()}},{key:"updateAuthToken",value:function(a){this.props(Object.merge({},this.props(),{authToken:a}))}},{key:"dispose",value:function(){this._references.dispose()}}]);return a}();ko.components.register("vui-oscarpopover",{template:'\x3cdiv data-bind\x3d"bookingUi: { Component: $component.OscarPopover, props: $component.props }"\x3e\x3c/div\x3e',
viewModel:a})});__registerModule("/nz/co/airnz/vui/bearfooter/html/footer.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Footer:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-footer" role\x3d"contentinfo" aria-label\x3d"footer"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"container"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"col-md-10 col-lg-offset-1"\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-row-same-height"\x3e');
this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: !$component.isGovernment --\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height" data-bind\x3d"css: {\'col-md-offset-4\': !$component.showOnlineHelp}"\x3e');this.b("\n"+a);this.b("                \x3ch5\x3eContact Us\x3c/h5\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.substitutePhoneNumber !\x3d\x3d null --\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-footer-phone" data-bind\x3d"html: $component.substitutePhoneNumber"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.substitutePhoneNumber \x3d\x3d\x3d null --\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-footer-phone"\x3e\x3ca href\x3d"tel:0800 199 111" class\x3d"vui-link-subtle"\x3e0800 199 111\x3c/a\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.isOscarEnabled --\x3e");this.b("\n"+a);this.b("                    \x3cvui-oscarpopover\x3e");
this.b("\n"+a);this.b("                    \x3c/vui-oscarpopover\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-link-subtle"\x3e\x3ca href\x3d"http://www.airnewzealand.co.nz/international-contact-numbers" class\x3d"vui-link-subtle"\x3eMore contact options and TTY assistance\x3c/a\x3e\x3c/div\x3e');this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');
this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.showSendUsFeedBackFooterText --\x3e");this.b("\n"+a);this.b('                    \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/govt-contact-us" target\x3d"_blank"\x3eSend us feedback\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"mailto:government@airnz.co.nz" target\x3d"_blank"\x3egovernment@airnz.co.nz\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("              \x3c!-- ko if: $component.showOnlineHelp --\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b("                  \x3ch5\x3eOnline Help\x3c/h5\x3e");this.b("\n"+a);this.b('                  \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b("                    \x3c!-- ko if: $component.showFAQFooterText --\x3e");
this.b("\n"+a);this.b('                      \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/govt-faqs" target\x3d"_blank"\x3eFrequently Asked Questions\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                    \x3c!-- ko if: $component.showMoreHelpOptionsFooterText --\x3e");this.b("\n"+a);this.b('                      \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/govt-faqs" target\x3d"_blank"\x3eMore help options\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/ul\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.isGovernment --\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+
a);this.b("                \x3ch5\x3eContact Us\x3c/h5\x3e");this.b("\n"+a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3cdiv class\x3d"vui-footer-phone"\x3e\x3ca href\x3d"tel:0800 199 111" class\x3d"vui-link-subtle"\x3e0800 199 111\x3c/a\x3e\x3c/div\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"mailto:government@airnz.co.nz" target\x3d"_blank"\x3egovernment@airnz.co.nz\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/govt-faqs" target\x3d"_blank"\x3eFrequently Asked Questions\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b("                \x3ch5\x3eManage a booking\x3c/h5\x3e");this.b("\n"+
a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/seatselect"\x3eRequest a seat\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/passportdetails"\x3eAdd passport details\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/managebookingstart"\x3eView, amend or cancel a booking\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b('              \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/website-terms-of-use" target\x3d"_blank"\x3eWebsite Terms of Use\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/privacy-policy" target\x3d"_blank"\x3ePrivacy Policy\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                \x3c!-- ko if: $component.showCookiePolicyFooterText --\x3e");this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/cookie-policy" target\x3d"_blank"\x3eCookie Policy\x3c/a\x3e\x3c/li\x3e');this.b("\n"+
a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/web-browser-compatibility" target\x3d"_blank"\x3eBrowser compatibility\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/conditions-of-carriage" target\x3d"_blank"\x3eConditions of Carriage\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("              \x3c/ul\x3e");
this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-footer-logo"\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-icon-koru" role\x3d"presentation"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-icon-logo" role\x3d"presentation"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"text-center vui-footer-copyright"\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-footer-staralliance-logo" role\x3d"presentation"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('        \x3cp class\x3d"vui-footer-copyright-text" data-bind\x3d"html: $component.copyright"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("      \x3c!-- ko if: $component.businessDetails --\x3e");this.b("\n"+
a);this.b('      \x3cdiv class\x3d"text-center vui-footer-business-details"\x3e');this.b("\n"+a);this.b('        \x3cp data-bind\x3d"html: $component.businessDetails"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.bearfooter.footer.hoganTemplates",c);b.default=c});(function(){Class("VUI.BearFooterComponentViewModel",{Implements:[VUI.Disposable],Depends:["initFooter"],Optionally:["initToggles"],initialize:function(b){var a=Locale.get("vui.bearfooter");Object.merge(this,this.initFooter.config);this.isGovernment=b.isGovernment;this.substitutePhoneNumber=null;this.phoneNumber&&(this.substitutePhoneNumber=a["footer.onlinebooking.help.phonenumber"].substitute({phoneNumber:this.phoneNumber}));this.showOnlineHelp=this.showFAQFooterText||this.showMoreHelpOptionsFooterText;
this.copyright=a["vui.footer.copyright"].substitute(this);this.businessDetails=a["vui.footer.businessDetails"].substitute(this);this.record(new VUI.tracking.GTMContainerTracker(".vui-footer",{eventDetails:{category:"flight booking",action:"footer"}}))}});ko.components.register("vui-footer",{template:{component:"vui.bearfooter.footer",template:"Footer"},viewModel:VUI.BearFooterComponentViewModel})})();__registerModule("/nz/co/airnz/vui/spinner/spinner.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{spinner:b});a.default=b});__registerModule("/nz/co/airnz/vui/spinner/html/spinner.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Spinner:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-spinner" data-bind\x3d"css: { \'vui-spinner--fullscreen\': $component.fullScreen() }"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-spinner-icon"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b("      \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e");
this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.spinner.spinner.hoganTemplates",c);b.default=c});(function(){Class("VUI.SpinnerComponentViewModel",{initialize:function(a){this.fullScreen=ko.wrap(a.fullScreen)}});ko.components.register("vui-spinner",{template:{component:"vui.spinner.spinner",template:"Spinner"},viewModel:VUI.SpinnerComponentViewModel})})();__registerModule("/nz/co/airnz/vui/loader/loader.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"loading.header":"Just a moment","loading.msg":"Just a moment"};Locale.define("en-NZ","vui",{loader:b});a.default=b});Fx.CSS=new Class({Extends:Fx,prepare:function(a,d,b){b=Array.mtFrom(b);var c=b[0];b=b[1];if(null==b){b=c;var c=a.getStyle(d),e=this.options.unit;if(e&&c.slice(-e.length)!=e&&0!=parseFloat(c)){a.setStyle(d,b+e);var f=a.getComputedStyle(d);if(!/px$/.test(f)&&(f=a.style[("pixel-"+d).camelCase()],null==f)){var g=a.style.left;a.style.left=b+e;f=a.style.pixelLeft;a.style.left=g}c=(b||1)/(parseFloat(f)||1)*(parseFloat(c)||0);a.setStyle(d,c+e)}}return{from:this.parse(c),to:this.parse(b)}},parse:function(a){a=
Function.from(a)();a="string"==typeof a?a.split(" "):Array.mtFrom(a);return a.map(function(a){a=String(a);var b=!1;Object.each(Fx.CSS.Parsers,function(c,e){if(!b){var f=c.parse(a);if(f||0===f)b={value:f,parser:c}}});return b=b||{value:a,parser:Fx.CSS.Parsers.String}})},compute:function(a,d,b){var c=[];Math.min(a.length,d.length).times(function(e){c.push({value:a[e].parser.compute(a[e].value,d[e].value,b),parser:a[e].parser})});c.$family=Function.from("fx:css:value");return c},serve:function(a,d){"fx:css:value"!=
typeOf(a)&&(a=this.parse(a));var b=[];a.each(function(a){b=b.concat(a.parser.serve(a.value,d))});return b},render:function(a,d,b,c){a.setStyle(d,this.serve(b,c))},search:function(a){if(Fx.CSS.Cache[a])return Fx.CSS.Cache[a];var d={},b=new RegExp("^"+a.escapeRegExp()+"$");Array.each(document.styleSheets,function(a,e){var f=a.href;f&&f.contains("://")&&!f.contains(document.domain)||Array.each(a.rules||a.cssRules,function(a,c){if(a.style){var e=a.selectorText?a.selectorText.replace(/^\w+/,function(a){return a.toLowerCase()}):
null;e&&b.test(e)&&Object.each(Element.Styles,function(b,c){a.style[c]&&!Element.ShortStyles[c]&&(b=String(a.style[c]),d[c]=/^rgb/.test(b)?b.rgbToHex():b)})}})});return Fx.CSS.Cache[a]=d}});Fx.CSS.Cache={};
Fx.CSS.Parsers={Color:{parse:function(a){return a.match(/^#[0-9a-f]{3,6}$/i)?a.hexToRgb(!0):(a=a.match(/(\d+),\s*(\d+),\s*(\d+)/))?[a[1],a[2],a[3]]:!1},compute:function(a,d,b){return a.map(function(c,e){return Math.round(Fx.compute(a[e],d[e],b))})},serve:function(a){return a.map(Number)}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(a,d){return d?a+d:a}},String:{parse:Function.from(!1),compute:function(a,d){return d},serve:function(a){return a}}};Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,c){this.element=this.subject=document.id(b);this.parent(c)},set:function(b,c){1==arguments.length&&(c=b,b=this.property||this.options.property);this.render(this.element,b,c,this.options.unit);return this},start:function(b,c,d){if(!this.check(b,c,d))return this;var a=Array.flatten(arguments);this.property=this.options.property||a.shift();a=this.prepare(this.element,this.property,a);return this.parent(a.from,a.to)}});
Element.Properties.tween={set:function(b){this.get("tween").cancel().setOptions(b);return this},get:function(){var b=this.retrieve("tween");b||(b=new Fx.Tween(this,{link:"cancel"}),this.store("tween",b));return b}};
Element.implement({tween:function(b,c,d){this.get("tween").start(b,c,d);return this},fade:function(b){var c=this.get("tween"),d,a=["opacity"].append(arguments),e;null==a[1]&&(a[1]="toggle");switch(a[1]){case "in":d="start";a[1]=1;break;case "out":d="start";a[1]=0;break;case "show":d="set";a[1]=1;break;case "hide":d="set";a[1]=0;break;case "toggle":e=this.retrieve("fade:flag",1==this.getStyle("opacity"));d="start";a[1]=e?0:1;this.store("fade:flag",!e);e=!0;break;default:d="start"}e||this.eliminate("fade:flag");
c[d].apply(c,a);a=a[a.length-1];"set"==d||0!=a?this.setStyle("visibility",0==a?"hidden":"visible"):c.chain(function(){this.element.setStyle("visibility","hidden");this.callChain()});return this},highlight:function(b,c){c||(c=this.retrieve("highlight:original",this.getStyle("background-color")),c="transparent"==c?"#fff":c);var d=this.get("tween");d.start("background-color",b||"#ffff88",c).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));d.callChain()}.bind(this));
return this}});Class.refactor=function(a,e){Object.each(e,function(d,c){var b=a.prototype[c],b=b&&b.$origin||b||function(){};a.implement(c,"function"==typeof d?function(){var a=this.previous;this.previous=b;var c=d.apply(this,arguments);this.previous=a;return c}:d)});return a};(function(f){var e=Element.Position={options:{relativeTo:document.body,position:{x:"center",y:"center"},offset:{x:0,y:0}},getOptions:function(b,a){a=Object.merge({},e.options,a);e.setPositionOption(a);e.setEdgeOption(a);e.setOffsetOption(b,a);e.setDimensionsOption(b,a);return a},setPositionOption:function(b){b.position=e.getCoordinateFromValue(b.position)},setEdgeOption:function(b){var a=e.getCoordinateFromValue(b.edge);b.edge=a?a:"center"==b.position.x&&"center"==b.position.y?{x:"center",y:"center"}:
{x:"left",y:"top"}},setOffsetOption:function(b,a){var c={x:0,y:0},d=b.measure(function(){return document.id(this.getOffsetParent())});if(d&&d!=b.getDocument().body){var g=d.getScroll(),c=d.measure(function(){var a=this.getPosition();if("fixed"==this.getStyle("position")){var b=window.getScroll();a.x+=b.x;a.y+=b.y}return a});a.offset={parentPositioned:d!=document.id(a.relativeTo),x:a.offset.x-c.x+g.x,y:a.offset.y-c.y+g.y}}},setDimensionsOption:function(b,a){a.dimensions=b.getDimensions({computeSize:!0,
styles:["padding","border","margin"]})},getPosition:function(b,a){var c={};a=e.getOptions(b,a);var d=document.id(a.relativeTo)||document.body;e.setPositionCoordinates(a,c,d);a.edge&&e.toEdge(c,a);var g=a.offset;c.left=(0<=c.x||g.parentPositioned||a.allowNegative?c.x:0).toInt();c.top=(0<=c.y||g.parentPositioned||a.allowNegative?c.y:0).toInt();e.toMinMax(c,a);(a.relFixedPosition||"fixed"==d.getStyle("position"))&&e.toRelFixedPosition(d,c);a.ignoreScroll&&e.toIgnoreScroll(d,c);a.ignoreMargins&&e.toIgnoreMargins(c,
a);c.left=Math.ceil(c.left);c.top=Math.ceil(c.top);delete c.x;delete c.y;return c},setPositionCoordinates:function(b,a,c){var d=b.offset.y,g=b.offset.x,e=c==document.body?window.getScroll():c.getPosition(),h=e.y,e=e.x,f=window.getSize();switch(b.position.x){case "left":a.x=e+g;break;case "right":a.x=e+g+c.offsetWidth;break;default:a.x=e+(c==document.body?f.x:c.offsetWidth)/2+g}switch(b.position.y){case "top":a.y=h+d;break;case "bottom":a.y=h+d+c.offsetHeight;break;default:a.y=h+(c==document.body?
f.y:c.offsetHeight)/2+d}},toMinMax:function(b,a){var c={left:"x",top:"y"},d;["minimum","maximum"].each(function(e){["left","top"].each(function(f){d=a[e]?a[e][c[f]]:null;null!=d&&("minimum"==e?b[f]<d:b[f]>d)&&(b[f]=d)})})},toRelFixedPosition:function(b,a){var c=window.getScroll();a.top+=c.y;a.left+=c.x},toIgnoreScroll:function(b,a){var c=b.getScroll();a.top-=c.y;a.left-=c.x},toIgnoreMargins:function(b,a){b.left+="right"==a.edge.x?a.dimensions["margin-right"]:"center"!=a.edge.x?-a.dimensions["margin-left"]:
-a.dimensions["margin-left"]+(a.dimensions["margin-right"]+a.dimensions["margin-left"])/2;b.top+="bottom"==a.edge.y?a.dimensions["margin-bottom"]:"center"!=a.edge.y?-a.dimensions["margin-top"]:-a.dimensions["margin-top"]+(a.dimensions["margin-bottom"]+a.dimensions["margin-top"])/2},toEdge:function(b,a){var c,d;d=a.dimensions;var e=a.edge;switch(e.x){case "left":c=0;break;case "right":c=-d.x-d.computedRight-d.computedLeft;break;default:c=-Math.round(d.totalWidth/2)}switch(e.y){case "top":d=0;break;
case "bottom":d=-d.y-d.computedTop-d.computedBottom;break;default:d=-Math.round(d.totalHeight/2)}b.x+=c;b.y+=d},getCoordinateFromValue:function(b){if("string"!=typeOf(b))return b;b=b.toLowerCase();return{x:b.test("left")?"left":b.test("right")?"right":"center",y:b.test(/upper|top/)?"top":b.test("bottom")?"bottom":"center"}}};Element.implement({position:function(b){if(b&&(null!=b.x||null!=b.y))return f?f.apply(this,arguments):this;var a=this.setStyle("position","absolute").calculatePosition(b);return b&&
b.returnPos?a:this.setStyles(a)},calculatePosition:function(b){return e.getPosition(this,b)}})})(Element.prototype.position);Class.Occlude=new Class({occlude:function(b,a){a=document.id(a||this.element);var c=a.retrieve(b||this.property);if(c&&!this.occluded)return this.occluded=c;this.occluded=!1;a.store(b||this.property,this);return this.occluded}});var IframeShim=new Class({Implements:[Options,Events,Class.Occlude],options:{className:"iframeShim",src:'javascript:false;document.write("");',display:!1,zIndex:null,margin:0,offset:{x:0,y:0},browsers:Browser.ie6||Browser.firefox&&3>Browser.version&&Browser.Platform.mac},property:"IframeShim",initialize:function(a,b){this.element=document.id(a);if(this.occlude())return this.occluded;this.setOptions(b);this.makeShim();return this},makeShim:function(){if(this.options.browsers){var a=this.element.getStyle("zIndex").toInt();
if(!a){var a=1,b=this.element.getStyle("position");"static"!=b&&b||this.element.setStyle("position","relative");this.element.setStyle("zIndex",a)}a=(null!=this.options.zIndex||0===this.options.zIndex)&&a>this.options.zIndex?this.options.zIndex:a-1;0>a&&(a=1);this.shim=(new Element("iframe",{src:this.options.src,scrolling:"no",frameborder:0,styles:{zIndex:a,position:"absolute",border:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(style\x3d0,opacity\x3d0)"},"class":this.options.className})).store("IframeShim",
this);a=function(){this.shim.inject(this.element,"after");this[this.options.display?"show":"hide"]();this.fireEvent("inject")}.bind(this);IframeShim.ready?a():window.addEvent("load",a)}else this.position=this.hide=this.show=this.dispose=Function.from(this)},position:function(){if(!IframeShim.ready||!this.shim)return this;var a=this.element.measure(function(){return this.getSize()});void 0!=this.options.margin&&(a.x-=2*this.options.margin,a.y-=2*this.options.margin,this.options.offset.x+=this.options.margin,
this.options.offset.y+=this.options.margin);this.shim.set({width:a.x,height:a.y}).position({relativeTo:this.element,offset:this.options.offset});return this},hide:function(){this.shim&&this.shim.setStyle("display","none");return this},show:function(){this.shim&&this.shim.setStyle("display","block");return this.position()},dispose:function(){this.shim&&this.shim.dispose();return this},destroy:function(){this.shim&&this.shim.destroy();return this}});
window.addEvent("load",function(){IframeShim.ready=!0});var Mask=new Class({Implements:[Options,Events],Binds:["position"],options:{style:{},"class":"mask",maskMargins:!1,useIframeShim:!0,iframeShimOptions:{}},initialize:function(a,c){this.target=document.id(a)||document.id(document.body);this.target.store("mask",this);this.setOptions(c);this.render();this.inject()},render:function(){this.element=new Element("div",{"class":this.options["class"],id:this.options.id||"mask-"+String.uniqueID(),styles:Object.merge({},this.options.style,{display:"none"}),events:{click:function(a){this.fireEvent("click",
a);this.options.hideOnClick&&this.hide()}.bind(this)}});this.hidden=!0},toElement:function(){return this.element},inject:function(a,c){c=c||this.options.inject&&this.options.inject.where||this.target==document.body?"inside":"after";a=a||this.options.inject&&this.options.inject.target||this.target;this.element.inject(a,c);this.options.useIframeShim&&(this.shim=new IframeShim(this.element,this.options.iframeShimOptions),this.addEvents({show:this.shim.show.bind(this.shim),hide:this.shim.hide.bind(this.shim),
destroy:this.shim.destroy.bind(this.shim)}))},position:function(){this.resize(this.options.width,this.options.height);this.element.position({relativeTo:this.target,position:"topLeft",ignoreMargins:!this.options.maskMargins,ignoreScroll:this.target==document.body});return this},resize:function(a,c){var b={styles:["padding","border"]};this.options.maskMargins&&b.styles.push("margin");b=this.target.getComputedSize(b);if(this.target==document.body){this.element.setStyles({width:0,height:0});var d=window.getScrollSize();
b.totalHeight<d.y&&(b.totalHeight=d.y);b.totalWidth<d.x&&(b.totalWidth=d.x)}this.element.setStyles({width:Array.pick([a,b.totalWidth,b.x]),height:Array.pick([c,b.totalHeight,b.y])});return this},show:function(){if(!this.hidden)return this;window.addEvent("resize",this.position);this.position();this.showMask.apply(this,arguments);return this},showMask:function(){this.element.setStyle("display","block");this.hidden=!1;this.fireEvent("show")},hide:function(){if(this.hidden)return this;window.removeEvent("resize",
this.position);this.hideMask.apply(this,arguments);return this.options.destroyOnHide?this.destroy():this},hideMask:function(){this.element.setStyle("display","none");this.hidden=!0;this.fireEvent("hide")},toggle:function(){this[this.hidden?"show":"hide"]()},destroy:function(){this.hide();this.element.destroy();this.fireEvent("destroy");this.target.eliminate("mask")}});
Element.Properties.mask={set:function(a){var c=this.retrieve("mask");c&&c.destroy();return this.eliminate("mask").store("mask:options",a)},get:function(){var a=this.retrieve("mask");a||(a=new Mask(this,this.retrieve("mask:options")),this.store("mask",a));return a}};Element.implement({mask:function(a){a&&this.set("mask",a);this.get("mask").show();return this},unmask:function(){this.get("mask").hide();return this}});var Spinner=new Class({Extends:Mask,Implements:Chain,options:{"class":"spinner",containerPosition:{},content:{"class":"spinner-content"},messageContainer:{"class":"spinner-msg"},img:{"class":"spinner-img"},fxOptions:{link:"chain"}},initialize:function(a,b){this.target=document.id(a)||document.id(document.body);this.target.store("spinner",this);this.setOptions(b);this.render();this.inject();var c=function(){this.active=!1}.bind(this);this.addEvents({hide:c,show:c})},render:function(){this.parent();
this.element.set("id",this.options.id||"spinner-"+String.uniqueID());this.content=document.id(this.options.content)||new Element("div",this.options.content);this.content.inject(this.element);this.options.message&&(this.msg=document.id(this.options.message)||(new Element("p",this.options.messageContainer)).appendText(this.options.message),this.msg.inject(this.content));this.options.img&&(this.img=document.id(this.options.img)||new Element("div",this.options.img),this.img.inject(this.content));this.element.set("tween",
this.options.fxOptions)},show:function(a){if(this.active)return this.chain(this.show.bind(this));if(!this.hidden)return this.callChain.delay(20,this),this;this.active=!0;return this.parent(a)},showMask:function(a){var b=function(){this.content.position(Object.merge({relativeTo:this.element},this.options.containerPosition))}.bind(this);a?(this.parent(),b()):(this.options.style.opacity||(this.options.style.opacity=this.element.getStyle("opacity").toFloat()),this.element.setStyles({display:"block",opacity:0}).tween("opacity",
this.options.style.opacity),b(),this.hidden=!1,this.fireEvent("show"),this.callChain())},hide:function(a){if(this.active)return this.chain(this.hide.bind(this));if(this.hidden)return this.callChain.delay(20,this),this;this.active=!0;return this.parent(a)},hideMask:function(a){if(a)return this.parent();this.element.tween("opacity",0).get("tween").chain(function(){this.element.setStyle("display","none");this.hidden=!0;this.fireEvent("hide");this.callChain()}.bind(this))},destroy:function(){this.content.destroy();
this.parent();this.target.eliminate("spinner")}});
MtRequest=Class.refactor(MtRequest,{options:{useSpinner:!1,spinnerOptions:{},spinnerTarget:!1},initialize:function(a){this._send=this.send;this.send=function(a){var c=this.getSpinner();c?c.chain(this._send.pass(a,this)).show():this._send(a);return this};this.previous(a)},getSpinner:function(){if(!this.spinner){var a=document.id(this.options.spinnerTarget)||document.id(this.options.update);if(this.options.useSpinner&&a){a.set("spinner",this.options.spinnerOptions);var b=this.spinner=a.get("spinner");
["complete","exception","cancel"].each(function(a){this.addEvent(a,b.hide.bind(b))},this)}}return this.spinner}});Element.Properties.spinner={set:function(a){var b=this.retrieve("spinner");b&&b.destroy();return this.eliminate("spinner").store("spinner:options",a)},get:function(){var a=this.retrieve("spinner");a||(a=new Spinner(this,this.retrieve("spinner:options")),this.store("spinner",a));return a}};
Element.implement({spin:function(a){a&&this.set("spinner",a);this.get("spinner").show();return this},unspin:function(){this.get("spinner").hide();return this}});(function(){Element.implement({vuiTriggerReflow:function(){return this.offsetHeight}});var d=function(){var a,c=document.createElement("fakeelement"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",MSTransition:"msTransitionEnd",OTransition:"oTransitionEnd",transition:"transitionend"};for(a in b)if(void 0!==c.style[a])return b[a]}();Element.implement({vuiOnTransitionEnd:function(a){var c=this;if(c.addEventListener){var b=function(){c.removeEventListener(d,b);a()};c.addEventListener(d,
b)}else a()}});Element.implement({vuiScrollIntoViewIfRequired:function(){var a=this.getOffsetParent();if(a){var c=a.getBoundingClientRect(),b=this.getCoordinates(a),d=b.top+b.height<=c.height;0<=b.top?d||a.scrollTo(0,a.scrollTop+b.top):a.scrollTo(0,a.scrollTop-(c.height-(b.height+b.top)))}}})})();Class("VUI.SpinUtil",{initialize:function(){},spin:function(a,b){b||(b=Locale.get("vui.loader")["loading.msg"]);a.spin({"class":"loader-msg",content:{html:'\x3cdiv class\x3d"msg"\x3e'+b+"\x3c/div\x3e"}})},unspin:function(a){a.unspin()}});(function(){Class("VUI.Loader",{Binds:["showLoading","hideLoading","setCustomLoaderMessage","actualHideLoading","tidyAfterTransition"],options:{parentElementId:null,messageDescription:null},MasterTimeOutPeriod:100,isPageLoader:!1,initialize:function(){var a=this;a.hideTimeout=null;a.isLoaderVisible=!0;a.isLoaderLoaded=!1;a.parentElement=null;a.isPageLoader||(a.MasterTimeOutPeriod=0,a.isLoaderLoaded=!0);a.earliestHide=Date.now()+a.MasterTimeOutPeriod;a.options.parentElementId&&(a.parentElement=document.id(a.options.parentElementId));
window.addEvent("pretracking",function(){a.isLoaderLoaded=!0;a.earliestHide=Date.now()+a.MasterTimeOutPeriod;a.hideLoading()})},showLoading:function(a){if(!this.isLoaderVisible&&this.parentElement){this.earliestHide=Date.now()+this.MasterTimeOutPeriod;this.refreshExistingTimeout();a=this.parentElement;if(this.notEmpty(this.options.messageDescription)){var b=a.getElement(".message");b&&b.set("html",this.options.messageDescription)}a.hasClass("vui-fades")?(a.removeClass("vui-faded-out"),a.addClass("vui-fading"),
a.vuiTriggerReflow(),a.removeClass("vui-fading")):a.fade("in");this.isLoaderVisible=!0}},getHideDelay:function(){return Math.max(this.earliestHide-Date.now(),0)},hideTimeoutFunction:function(){this.actualHideLoading()},refreshExistingTimeout:function(){this.hideTimeout&&(this.clearHideTimeout(),this.hideTimeout=setTimeout(this.hideTimeoutFunction.bind(this),this.getHideDelay()))},hideLoading:function(a){this.clearHideTimeout();a=this.getHideDelay();0===a?this.actualHideLoading():this.hideTimeout=
setTimeout(this.hideTimeoutFunction.bind(this),a)},actualHideLoading:function(){this.isLoaderVisible&&this.isLoaderLoaded&&this.parentElement&&(this.clearHideTimeout(),this.parentElement.hasClass("vui-fades")?(this.tidyAfterTransition.delay(400),this.parentElement.addClass("vui-fading"),this.cleanUpWhenMissingClassDefinition()):this.parentElement.fade("out"),this.MasterTimeOutPeriod=0,this.isLoaderVisible=!1)},tidyAfterTransition:function(){this.parentElement.removeClass("vui-fading");this.parentElement.addClass("vui-faded-out")},
clearHideTimeout:function(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)},cleanUpWhenMissingClassDefinition:function(){var a=this.parentElement;setTimeout(function(){var b=null,b=window.getComputedStyle?getComputedStyle(a,null).display:a.getComputedStyle("display");"none"!==b&&"flex"!==b&&a.fade("out")},400)},setCustomLoaderMessage:function(a){this.options.messageDescription=a},notEmpty:function(a){return"undefined"!==typeof a&&null!==a}})})();(function(){Class("VUI.PageLoader",{Extends:VUI.Loader,options:{parentElementId:"loading",messageDescription:null},isPageLoader:!0,InjectAs:{name:"PageLoader",singleton:!0},initialize:function(){this.parent()}});Class("VUI.PageLoaderForcedInstance",{Depends:["PageLoader"],initialize:function(){}})})();new VUI.PageLoaderForcedInstance;__registerModule("/nz/co/airnz/vui/selectableproduct/selectableproduct.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"selectableproduct.name.GS":"grabaseat","selectableproduct.description.GS":"\x3cul\x3e\x3cli\x3e1 carry on bag only, 7kg\x3c/li\x3e\x3cli\x3eNo checked bags\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.GS":"\x3cul\x3e\x3cli\x3e1 carry on bag only, 7kg\x3c/li\x3e\x3cli\x3eNo checked bags\x3c/li\x3e\x3c/ul\x3e","selectableproduct.name.GB":"grabaseat + bag",
"selectableproduct.description.GB":"\x3cstrong\x3egrabaseat plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 checked bag, 23kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.GB":"\x3cstrong\x3egrabaseat plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 checked bag, 23kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.name.SS":"Smart Saver","selectableproduct.description.SS":"\x3cstrong\x3egrabaseat + bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eStandard Seat included\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.SS":"\x3cstrong\x3egrabaseat + bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eEarn Airpoints Dollars\x3c/li\x3e\x3cli\x3eStandard Seat included\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.name.FP":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3edate\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi date\x3c/span\x3e',"selectableproduct.description.FP":"\x3cstrong\x3eSmart Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eFree to change at airport on day of travel\x3c/li\x3e\x3cli\x3e1 extra checked bag, 23kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.FP":"\x3cstrong\x3eSmart Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eFree to change at airport on day of travel\x3c/li\x3e\x3cli\x3e1 extra checked bag, 23kg\x3c/li\x3e\x3cli\x3eMore Airpoints Dollars\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.name.DS":"Seat","selectableproduct.name.html.DS":"\x3cstrong\x3eseat\x3c/strong\x3e","selectableproduct.description.DS":"\x3cul\x3e\x3cli\x3e1 carry on bag, 7kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.DS":"\x3cul\x3e\x3cli\x3e1 carry on bag, 7kg\x3c/li\x3e\x3cli\x3eEarn Airpoints Dollars\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.DS.bear":"\x3cp\x3ePerfect for travelling light \u2013 take 1 carry\u2010on bag (7kg)\x3c/p\x3e","selectableproduct.name.DB":"Seat + Bag",
"selectableproduct.name.html.DB":"\x3cspan\x3eseat\x3cstrong\x3e+bag\x3c/strong\x3e\x3c/span\x3e","selectableproduct.description.DB":"\x3cstrong\x3eSeat option plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 checked bag, 23kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.DB":"\x3cstrong\x3eSeat option plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 checked bag, 23kg\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.DB.bear":"\x3cp\x3eTake more than carry\u2010on \u2013 get 1 checked bag (23kg)\x3c/p\x3e",
"selectableproduct.name.DC":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3etime\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi Time\x3c/span\x3e',"selectableproduct.name.html.DC":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3etime\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi Time\x3c/span\x3e',"selectableproduct.description.DC":"\x3cstrong\x3eSeat + Bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eSeat select\x3c/li\x3e\x3cli\x3eOn day of travel, change flight time\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.DC":"\x3cstrong\x3eSeat + Bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eSeat select\x3c/li\x3e\x3cli\x3eOn day of travel, change flight time\x3c/li\x3e\x3cli\x3eMore Airpoints Dollars\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.DC.bear":"\x3cp\x3eChange to an earlier or later flight on day of travel\x3c/p\x3e","selectableproduct.name.DF":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3edate\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi date\x3c/span\x3e',
"selectableproduct.name.html.DF":'\x3cspan aria-hidden\x3d"true"\x3eflexi\x3cstrong\x3edate\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eFlexi date\x3c/span\x3e',"selectableproduct.description.DF":"\x3cstrong\x3eFlexi Time plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 extra bag, 23kg\x3c/li\x3e\x3cli\x3eChange at any time, fare upgrade may apply\x3c/li\x3e\x3cli\x3eRefundable\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.DF.after.DB":"\x3cstrong\x3eSeat + Bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 extra bag, 23kg\x3c/li\x3e\x3cli\x3eSeat select\x3c/li\x3e\x3cli\x3eChange at any time, fare upgrade may apply\x3c/li\x3e\x3cli\x3eRefundable\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.DF":"\x3cstrong\x3eFlexi Time plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 extra bag, 23kg\x3c/li\x3e\x3cli\x3eChange at any time, fare upgrade may apply\x3c/li\x3e\x3cli\x3eRefundable\x3c/li\x3e\x3cli\x3eMore Airpoints Dollars\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.DF.after.DB":"\x3cstrong\x3eSeat + Bag plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3e1 extra bag, 23kg\x3c/li\x3e\x3cli\x3eSeat select\x3c/li\x3e\x3cli\x3eChange at any time, fare upgrade may apply\x3c/li\x3e\x3cli\x3eRefundable\x3c/li\x3e\x3cli\x3eMore Airpoints Dollars\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.DF.bear":"\x3cp\x3eWhen you may need to change the day of travel\x3c/p\x3e","selectableproduct.link.url.domestic":"http://www.airnewzealand.co.nz/govt-domestic-compare-products","selectableproduct.link.url.accrueairpoints.domestic":"http://www.airnewzealand.co.nz/govt-domestic-compare-products-accrue","selectableproduct.name.wrapper":'\x3cspan class\x3d"vui-si-cost-product vui-si-product-{{productCode}}"\x3e{{productName}}\x3c/span\x3e',"selectableproduct.name.wrapper.pe":'\x3cspan class\x3d "vui-si-cost-product vui-si-product-{{productCode}}"\x3e\x3cspan class\x3d"vui-selectableproduct-logo-inline-pe vui-icon-premiumeconomy"\x3e\x3c/span\x3e\x3c/span\x3e',
"selectableproduct.name.JS":"Seat","selectableproduct.name.html.JS":"\x3cstrong\x3eseat\x3c/strong\x3e","selectableproduct.description.JS":"\x3cp\x3ePerfect for travelling light \u2013 take 1 carry\u2010on bag (7kg)\x3c/p\x3e","selectableproduct.description.accrueairpoints.JS":"\x3cp\x3ePerfect for travelling light \u2013 take 1 carry\u2010on bag (7kg)\x3c/p\x3e","selectableproduct.description.JS.bear":"\x3cp\x3ePerfect for travelling light \u2013 take 1 carry\u2010on bag (7kg)\x3c/p\x3e","selectableproduct.name.SB":"Seat + Bag",
"selectableproduct.name.html.SB":"\x3cspan\x3eseat\x3cstrong\x3e+bag\x3c/strong\x3e\x3c/span\x3e","selectableproduct.description.SB":"\x3cp\x3eTake more than carry\u2010on \u2013 get 1 checked bag (23kg)\x3c/p\x3e","selectableproduct.description.accrueairpoints.SB":"\x3cp\x3eTake more than carry\u2010on \u2013 get 1 checked bag (23kg)\x3c/p\x3e","selectableproduct.description.SB.bear":"\x3cp\x3eTake more than carry\u2010on \u2013 get 1 checked bag (23kg)\x3c/p\x3e","selectableproduct.name.WK":"The Works",
"selectableproduct.name.WK.CHD":"Kids Works","selectableproduct.name.html.WK":'\x3cspan aria-hidden\x3d"true"\x3ethe\x3cstrong\x3eworks\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eThe Works\x3c/span\x3e',"selectableproduct.description.WK":"\x3cp\x3eAll-inclusive experience with movies, food and beverage service\x3c/p\x3e","selectableproduct.description.accrueairpoints.WK":"\x3cp\x3eAll-inclusive experience with movies, food and beverage service\x3c/p\x3e","selectableproduct.description.WK.bear":"\x3cp\x3eAll-inclusive experience with movies, food and beverage service\x3c/p\x3e",
"selectableproduct.name.WD":"Works Deluxe","selectableproduct.name.WD.CHD":"Kids Works Deluxe","selectableproduct.name.html.WD":'\x3cspan aria-hidden\x3d"true"\x3eworks\x3cstrong\x3edeluxe\x3c/strong\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eWorks Deluxe\x3c/span\x3e',"selectableproduct.description.WD":"\x3cp\x3eIncludes neighbour free guarantee and 2 checked bags\x3c/p\x3e","selectableproduct.description.accrueairpoints.WD":"\x3cp\x3eIncludes neighbour free guarantee and 2 checked bags\x3c/p\x3e",
"selectableproduct.description.WD.bear":"\x3cp\x3eIncludes neighbour free guarantee and 2 checked bags\x3c/p\x3e","selectableproduct.link.url.shorthaul":"http://www.airnewzealand.co.nz/the-choice-is-all-yours","selectableproduct.link.url.accrueairpoints.shorthaul":"http://www.airnewzealand.co.nz/the-choice-is-all-yours","selectableproduct.name.SES":"Economy Saver","selectableproduct.description.SES":"\x3cul\x3e\x3cli\x3eComplimentary meal \x26 drinks\x3c/li\x3e\x3cli\x3eOn-demand entertainment\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.SES":"\x3cul\x3e\x3cli\x3eComplimentary meal \x26 drinks\x3c/li\x3e\x3cli\x3eOn-demand entertainment\x3c/li\x3e\x3c/ul\x3e","selectableproduct.name.SEF":"Economy Flexi","selectableproduct.description.SEF":"\x3cstrong\x3eEconomy Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eRefundable and changeable anytime\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.SEF":"\x3cstrong\x3eEconomy Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eRefundable and changeable anytime\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.name.SE":"Economy","selectableproduct.description.SE":"\x3cul\x3e\n        \x3cli\x3eInflight meal \x26amp; beverages\x3c/li\x3e\n        \x3cli\x3eOn-demand entertainment\x3c/li\x3e\n      \x3c/ul\x3e","selectableproduct.description.accrueairpoints.SE":"\x3cul\x3e\n        \x3cli\x3eInflight meal \x26amp; beverages\x3c/li\x3e\n        \x3cli\x3eOn-demand entertainment\x3c/li\x3e\n      \x3c/ul\x3e","selectableproduct.link.url.shorthaulsoto.economy":"http://www.airnewzealand.co.nz/the-tasman-experience",
"selectableproduct.link.url.accrueairpoints.shorthaulsoto.economy":"http://www.airnewzealand.co.nz/the-tasman-experience","selectableproduct.name.PE":"Premium Economy","selectableproduct.name.html.PE":"Premium Economy","selectableproduct.logo.PE":'\x3cspan class\x3d"vui-icon-premiumeconomystacked" aria-hidden\x3d"true"\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3ePremium Economy\x3c/span\x3e',"selectableproduct.logo.inline.PE":'\x3cspan class\x3d"vui-selectableproduct-logo-inline-pe vui-icon-premiumeconomy" aria-hidden\x3d"true"\x3e\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3ePremium Economy\x3c/span\x3e',
"selectableproduct.description.PE":"\x3cul\x3e\x3cli\x3eMore leg room and increased seat pitch\x3c/li\x3e\x3cli\x3ePremium dining\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.PE":"\x3cul\x3e\x3cli\x3eMore leg room and increased seat pitch\x3c/li\x3e\x3cli\x3ePremium dining\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.PE.bear":"\x3cp\x3eEnjoy extra leg room, leather seats, premium menu and more\x3c/p\x3e",
"selectableproduct.link.url.premiumeconomy":"http://www.airnewzealand.co.nz/tasman-and-pacific-compare-products-premium-economy","selectableproduct.link.url.accrueairpoints.premiumeconomy":"http://www.airnewzealand.co.nz/tasman-and-pacific-compare-products-premium-economy","selectableproduct.name.ES":"Economy Saver","selectableproduct.description.ES":"\x3cul\x3e\x3cli\x3eComplimentary meal \x26 drinks\x3c/li\x3e\x3cli\x3eOn-demand entertainment\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.ES":"\x3cul\x3e\x3cli\x3eComplimentary meal \x26 drinks\x3c/li\x3e\x3cli\x3eOn-demand entertainment\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.name.EF":"Economy Flexi","selectableproduct.description.EF":"\x3cstrong\x3eEconomy Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eRefundable and changeable anytime\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.EF":"\x3cstrong\x3eEconomy Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eRefundable and changeable anytime\x3c/li\x3e\x3c/ul\x3e","selectableproduct.name.LE":"Economy","selectableproduct.description.LE":"\x3cul\x3e\n        \x3cli\x3eInflight meal \x26amp; beverages\x3c/li\x3e\n        \x3cli\x3eOn-demand entertainment\x3c/li\x3e\n      \x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.LE":"\x3cul\x3e\n        \x3cli\x3eInflight meal \x26amp; beverages\x3c/li\x3e\n        \x3cli\x3eOn-demand entertainment\x3c/li\x3e\n      \x3c/ul\x3e","selectableproduct.link.url.longhaul.economy":"http://www.airnewzealand.co.nz/the-long-haul-experience","selectableproduct.link.url.accrueairpoints.longhaul.economy":"http://www.airnewzealand.co.nz/the-long-haul-experience","selectableproduct.name.LPE":"Premium Economy","selectableproduct.description.LPE":"\x3cul\x3e\x3cli\x3eMore leg room and increased seat pitch\x3c/li\x3e\x3cli\x3ePremium dining\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.LPE":"\x3cul\x3e\x3cli\x3eMore leg room and increased seat pitch\x3c/li\x3e\x3cli\x3ePremium dining\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.LPE.bear":"\x3cul\x3e\n        \x3cli\x3ePremium check-in\x3c/li\x3e\n        \x3cli\x3ePremium seating with increased leg room\x3c/li\x3e\n        \x3cli\x3eFine cuisine \x26amp; beverages\x3c/li\x3e\n      \x3c/ul\x3e","selectableproduct.link.url.longhaul.premiumeconomy":"http://www.airnewzealand.co.nz/premium-economy-experience",
"selectableproduct.link.url.accrueairpoints.longhaul.premiumeconomy":"http://www.airnewzealand.co.nz/premium-economy-experience","selectableproduct.name.LBS":"Business","selectableproduct.description.LBS":"\x3cul\x3e\x3cli\x3eArmchair seating\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.accrueairpoints.LBS":"\x3cul\x3e\x3cli\x3eArmchair seating\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.LBS.bear":"\x3cul\x3e\n        \x3cli\x3eComplimentary lounge access\x3c/li\x3e\n        \x3cli\x3ePremium check-in\x3c/li\x3e\n        \x3cli\x3eLuxurious leather armchair\x3c/li\x3e\n        \x3cli\x3eFine cuisine \x26amp; beverages\x3c/li\x3e\n      \x3c/ul\x3e","selectableproduct.name.LBP":"Business Premier","selectableproduct.description.LBP":"\x3cul\x3e\x3cli\x3eFully flat bed\x3c/li\x3e\x3cli\x3eVisitor seat for companion dining\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.LBP":"\x3cul\x3e\x3cli\x3eFully flat bed\x3c/li\x3e\x3cli\x3eVisitor seat for companion dining\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3c/ul\x3e","selectableproduct.link.url.longhaul.business":"http://www.airnewzealand.co.nz/the-long-haul-experience","selectableproduct.link.url.accrueairpoints.longhaul.business":"http://www.airnewzealand.co.nz/the-long-haul-experience","selectableproduct.name.BS":"Business",
"selectableproduct.name.html.BS":"Business","selectableproduct.description.BS":"\x3cul\x3e\x3cli\x3eBusiness Class seating\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium food \x26 drink\x3c/li\x3e\x3cli\x3eFull in-flight entertainment\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.BS.after.BSS":"\x3cstrong\x3eBusiness Saver plus:\x3c/strong\x3e\x3cul\x3e\x3cli\x3eRefundable at any time\x3c/li\x3e\x3cli\x3eChanges permitted\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.BS":"\x3cul\x3e\x3cli\x3eBusiness Class seating\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium food \x26 drink\x3c/li\x3e\x3cli\x3eFull in-flight entertainment\x3c/li\x3e\x3c/ul\x3e","selectableproduct.description.BS.bear":"\x3cp\x3eGet the ultimate inflight comfort, food and entertainment\x3c/p\x3e","selectableproduct.name.BSS":"Business","selectableproduct.description.BSS":"\x3cul\x3e\x3cli\x3eBusiness Class seating\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium food \x26 drink\x3c/li\x3e\x3cli\x3eFull in-flight entertainment\x3c/li\x3e\x3c/ul\x3e",
"selectableproduct.description.accrueairpoints.BSS":"\x3cul\x3e\x3cli\x3eBusiness Class seating\x3c/li\x3e\x3cli\x3ePremium check-in\x3c/li\x3e\x3cli\x3eLounge access\x3c/li\x3e\x3cli\x3ePremium food \x26 drink\x3c/li\x3e\x3cli\x3eFull in-flight entertainment\x3c/li\x3e\x3c/ul\x3e","selectableproduct.link.url.business":"http://www.airnewzealand.co.nz/tasman-and-pacific-compare-products-business","selectableproduct.link.url.accrueairpoints.business":"http://www.airnewzealand.co.nz/tasman-and-pacific-compare-products-business",
"selectableproduct.name.INF":"Infant","selectableproduct.name.mixed":"Mixed fares","selectableproduct.logo.inline.base.VA":'\x3cspan class\x3d"vui-va-product-logo"\x3e{{productName}}\x3c/span\x3e',"selectableproduct.name.JS.VA":"Seat","selectableproduct.name.SB.VA":"Seat+bag"};Locale.define("en-NZ","vui",{selectableproduct:b});a.default=b});(function(){Class("VUI.SelectableProductFormatter",{Optionally:["initToggles"],InjectAs:{name:"SelectableProductFormatter",singleton:!0},initialize:function(){this._lang=Locale.get("vui.selectableproduct")},getProductDisplayName:function(a){return this._lang["selectableproduct.name."+a.toUpperCase()]},getProductDisplayNameHtml:function(a){var b=this._lang["selectableproduct.name.html."+a.toUpperCase()];b||(b=this.getProductDisplayName(a));return b},getProductDisplayHtmlWrapped:function(a){var b=this._lang["selectableproduct.name.wrapper"],
c=this.getProductDisplayNameHtml(a);return b?b.substitute({productCode:a,productName:c}):c},getProductLogoWrapped:function(a){var b=this._lang["selectableproduct.name.wrapper."+a],c=this.getProductLogo(a);return b?b.substitute({productCode:a,productName:c}):c},getProductLogo:function(a){var b=this._lang["selectableproduct.logo."+a.toUpperCase()];b||(b=this.getProductDisplayNameHtml(a));return b},getInlineProductLogo:function(a){var b=this._lang["selectableproduct.logo.inline."+a.toUpperCase()];b||
(b=this.getProductLogo(a));return b},getProductDescription:function(a,b,c){var e=this.initToggles&&this.initToggles.config&&this.initToggles.config.br2,d="selectableproduct.description.";c&&!e&&(d+="accrueairpoints.");d+=a.toUpperCase();e&&(c=d+".bear",this._lang[c]&&(d=c));b&&(a=b.indexOf(a),0<a&&(b=d+".after."+b[a-1].toUpperCase(),this._lang[b]&&(d=b)));return this._lang[d]},getProductUrl:function(a,b){var c=b?"accrueairpoints.":"",e=this._getUrlResourceKeySuffix(a);return this._lang["selectableproduct.link.url."+
c+e]},getDisplay:function(a,b,c){return{code:a,codeLower:a.toLowerCase(),codeUpper:a.toUpperCase(),name:this.getProductDisplayName(a),description:this.getProductDescription(a,b,c),url:this.getProductUrl(a,c)}},_getUrlResourceKeySuffix:function(a){switch(a.toLowerCase()){case "gs":case "gb":case "ss":case "fp":case "ds":case "db":case "dc":case "df":return"domestic";case "js":case "sb":case "wk":case "wd":return"shorthaul";case "ses":case "sef":case "se":return"shorthaulsoto.economy";case "pe":return"premiumeconomy";
case "bs":case "bss":return"business";case "es":case "ef":case "le":return"longhaul.economy";case "lpe":return"longhaul.premiumeconomy";case "lbs":case "lbp":return"longhaul.business";default:return""}}})})();__registerModule("/nz/co/airnz/vui/hud/hud.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"hud.arrives.time.label":'Arrives \x3cspan class\x3d"vui-time"\x3e{{time}}\x3c/span\x3e',"hud.arrives.daytime.label":'Arrives {{day}}, \x3cspan class\x3d"vui-time"\x3e{{time}}\x3c/span\x3e',"hud.departs.time.label":'Departs \x3cspan class\x3d"vui-time"\x3e{{time}}\x3c/span\x3e',"hud.departs.daytime.label":'Departs {{day}} \x3cspan class\x3d"vui-time"\x3e{{time}}\x3c/span\x3e',
"hud.seat.product.name.economy":"Economy","hud.seat.product.name.pe":"Premium Economy","hud.seat.product.name.business":"Business Class","hud.bags.extrabaggage.terms.url":"http://www.airnewzealand.co.nz/extra-bags-terms-and-conditions","hud.statuspoints.label":"Status Points {{balance}}","hud.sronly.label.totalsummary":"total cost is {{total}}, airpoints dollars {{airpoints}}, {{taxes}}, {{flexipay}}, {{combinedTotal}}","hud.sronly.label.flexipay.fee":"includes airpoints dollars {{flexipayfee}} flexipay cost",
"hud.sronly.label.flexipay.combinedtotal":"combined total is {{combinedTotalAmount}}","hud.sronly.label.taxes.inclusive":"includes taxes and charges","hud.sronly.label.taxes.exclusive":"includes taxes and charges of {{amount}}","hud.promo.total":"Government discount saved","airaccrual.benefits.NONE":"No benefits apply with {0}","airaccrual.benefits.FFP":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/status-points" target\x3d"_blank"\x3eFrequent Flyer benefits\x3c/a\x3e apply with {0}',
"airaccrual.benefits.STAR_ALLIANCE":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/status-points#star-alliance-benefits" target\x3d"_blank"\x3eStar Alliance benefits\x3c/a\x3e apply with {0}',"airaccrual.benefits.PARTNER.CX":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/co-operation-partners-cathay-pacific" target\x3d"_blank"\x3ePartner benefits\x3c/a\x3e apply with {0}',"airaccrual.benefits.PARTNER.EY":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/co-operation-partners-etihad-airways" target\x3d"_blank"\x3ePartner benefits\x3c/a\x3e apply with {0}',
"airaccrual.benefits.PARTNER.VS":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/co-operation-partners-virgin-atlantic-airways" target\x3d"_blank"\x3ePartner benefits\x3c/a\x3e apply with {0}',"vui.hud.costs.flexipay.amount":'\x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e{{amount}}',"vui.hide.booking.details.label":"Hide details","airaccrual.benefits.PARTNER.VA":'\x3ca class\x3d"vui-muted-text" href\x3d"http://www.airnewzealand.co.nz/co-operation-partners-virgin-australia-group" target\x3d"_blank"\x3ePartner benefits\x3c/a\x3e apply with {0}'};
Locale.define("en-NZ","vui",{hud:b});a.default=b});(function(){function f(c,a){var b=c.getPosition().y;c.hasClass("affix")&&(b+=a);return b}Class("Affix",{Implements:[Options,Events,VUI.Disposable],VERSION:"3.3.5",options:{offset:0,target:window},initialize:function(c,a){this.setOptions(a);this.$target=$(this.options.target);this.addRecordedEvents(this.$target,{scroll:this.checkPosition.bind(this),click:this.checkPositionWithEventLoop.bind(this)});this.$element=document.getElement(c);this.pinnedOffest=this.unpin=this.affixed=null;this.$body=document.getElement("body");
this.checkPosition()},getState:function(c,a,b,e){var d=this.$target.getScroll().y,g=f(this.$element,d),h=this.$target.getSize().y;if(null!=b&&"top"==this.affixed)return d<b?"top":!1;if("bottom"==this.affixed)return null!=b?d+this.unpin>g?"bottom":d<b?"top":!1:d+h<=c-e?!1:"bottom";var k=null==this.affixed;return null!=b&&d<b?"top":null!=e&&(k?d:g)+(k?h:a)>=c-e?"bottom":!1},getPinnedOffset:function(){if(this.pinnedOffset)return this.pinnedOffset;this.resetClasses();this.$element.addClass("affix");var c=
this.$target.getScroll().y;return this.pinnedOffset=f(this.$element,c)-c},checkPositionWithEventLoop:function(){setTimeout(this.checkPosition.bind(this),0)},checkPosition:function(){var c=this.$element.getSize().y,a=this.options.offset,b=a.top,e=a.bottom,d=Math.max(document.getScrollSize().y,this.$body.getScrollSize().y);"object"!=typeof a&&(e=b=a);"function"==typeof b&&(b=a.top(this.$element));"function"==typeof e&&(e=a.bottom(this.$element));a=this.getState(d,c,b,e);this.affixed!=a&&(null!=this.unpin&&
this.$element.setStyle("top",""),b="affix"+(a?"-"+a:""),this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.resetClasses(),this.$element.addClass(b));"bottom"==a&&this.$element.setPosition({y:d-c-e})},resetClasses:function(){this.$element.removeClass("affix");this.$element.removeClass("affix-top");this.$element.removeClass("affix-bottom")}})})();(function(){Class("VUI.Affix",{Extends:Affix,Depends:["MediaQueries"],Implements:[VUI.Disposable,Options],Binds:"checkPosition disable enable _update updateOffset _updateStickyPosition _calculatePositionStickyBottom".split(" "),initialize:function(a,c){var b=this;b.$element=document.id(a);b.$elementWrapper=b.$element.getParent(".affix-wrapper");b.setOptions(c);b._isPositionStickySupported()&&(b.checkPosition=b.checkStickyPosition,b._update=b._updateStickyPosition,b.$stickyWrapper=b.$element.getParent(".affix-sticky"),
b.$stickyWrapperBottom=b.$element.getParent(".affix-sticky-bottom"),b._setStickyOffset());b.options.affixPosition?b.addRecordedEvent(b.MediaQueries,"changeBreakpoint:catchup",b._update):b.updateOffset({top:b._getOffsetTop(),bottom:b._getOffsetBottom()});b.parent(a,b.options);b.addRecordedEvent(window,"resize",b.checkPosition);window.setTimeout(function(){b.checkPosition()},0)},checkPosition:function(){if(!this.$element.hasClass("affix-disabled")){var a;this.options.fixedHeight&&!this._hasHeightFixed&&
(a=this.$element.getSize().y);this.parent();if(this.$elementWrapper){var c=this.$element.hasClass("affix")||this.$element.hasClass("affix-bottom");c?this.$element.setStyle("width",this.$elementWrapper.getSize().x):this.$element.setStyle("width");this.options.fixedHeight?c&&!this._hasHeightFixed&&(this.$elementWrapper.setStyle("min-height",a),this._hasHeightFixed=!0):c?this.$elementWrapper.setStyle("min-height",this.$element.getSize().y):this.$elementWrapper.setStyle("min-height");this.$elementWrapper.toggleClass("is-affixed",
c)}}},resetClasses:function(){this.parent();this.$elementWrapper.removeClass("is-affixed");this.$element.setStyle("width");this.options.fixedHeight||this.$elementWrapper.setStyle("min-height")},checkStickyPosition:function(){var a;this.options.fixedHeight&&!this._hasHeightFixed&&(a=this.$element.getSize().y);this.options.affixAfter&&this._setStickyOffset();var c=window.getScroll().y,b=this.$stickyWrapper.getParent().getPosition().y,d=parseInt(this.$stickyWrapper.getStyle("top")),c=c>=b-d;this.options.fixedHeight&&
!this._hasHeightFixed&&c&&(this.$stickyWrapper.setStyle("min-height",a),this._hasHeightFixed=!0);this.$element.toggleClass("is-affix-sticky",c);this.$stickyWrapperBottom&&(a=this.$stickyWrapperBottom.getBoundingClientRect().bottom,c=this.$stickyWrapperBottom.getParent().getBoundingClientRect().bottom,this.$stickyWrapperBottom.toggleClass("is-affix-sticky-bottom",1>Math.abs(c-a)))},_isPositionStickySupported:function(){return document.documentElement.hasClass("csspositionsticky")&&!document.documentElement.hasClass("vui-sticky-unsupported")},
_getAffixRelativeOffset:function(a){return document.getElements(a).reduce(function(a,b){return b&&!b.hasClass("affix-disabled")?a+b.getSize().y:a},0)},_getAffixTopOffset:function(){var a=0;this.options.affixAfter&&(a=this._getAffixRelativeOffset(this.options.affixAfter));return a},_setStickyOffset:function(){this.$stickyWrapper.setStyle("top",this._getAffixTopOffset())},_updateStickyPosition:function(a){a=this.options.affixPosition.bottom.contains(a.name);this.$stickyWrapperBottom?this.$stickyWrapperBottom.toggleClass("is-affix-sticky",
a):this.$stickyWrapper.addClass("is-affix-sticky",a);this.$element.toggleClass("affix-position-bottom",a)},_update:function(a){a=a.name;var c=this.options.affixPosition;this.pinnedOffset=null;if(c.bottom.contains(a)){var b=document.getElement(this.options.affixStop);this.updateOffset({top:function(a){var c=a.getSize().y;a.getParent(".affix-wrapper").setStyle("top","100%");a.setStyle("margin-top",-c);return Math.max(-1,b.getCoordinates().bottom+c-window.getSize().y)},bottom:this._getOffsetBottom()});
this.$element.removeClass("affix-position-top");this.$element.addClass("affix-position-bottom")}c.top.contains(a)&&(this.$elementWrapper.removeAttribute("style"),this.$element.setStyle("margin-top"),this.$element.removeClass("affix-position-bottom"),this.$element.addClass("affix-position-top"),this.updateOffset({top:this._getOffsetTop(),bottom:this._getOffsetBottom()}));this.checkPosition.delay(0,this)},toggle:function(a,c){this.$element.toggleClass("affix-disabled",!!a);this.$stickyWrapperBottom?
this.$stickyWrapperBottom.toggleClass("is-affix-disabled",!!a):this.$stickyWrapper&&this.$stickyWrapper.toggleClass("is-affix-disabled",!!a);this.resetClasses();this.affixed=null;c||window.scrollTo(0,0)},_getOffsetTop:function(){var a=this;return function(){var c=a._getAffixTopOffset(),b=a.$elementWrapper.getCoordinates().top-c;a.$element.getParent(".affix-wrapper").setStyle("top",c);return b}},_getOffsetBottom:function(){var a=this;return function(){if(a.options.affixWithin){var c=a.$elementWrapper.getParent(a.options.affixWithin);
return c?(c=window.getScrollSize().y-c.getCoordinates().bottom,a.options.affixBefore&&(c+=a._getAffixRelativeOffset(a.options.affixBefore)),c):0}}},updateOffset:function(a){this.options.offset=this.options.offset||{};a.top&&(this.options.offset.top=a.top);a.bottom&&(this.options.offset.bottom=a.bottom)}})})();(function(){Class("VUI.AffixController",{Implements:[VUI.Disposable],Binds:["disable","enable","updateHeight"],InjectAs:{name:"AffixController",singleton:!0},_instances:{},initialize:function(){Browser.chrome&&document.documentElement.addClass("vui-sticky-unsupported")},create:function(a,b){this._instances[b.name]||(this._instances[b.name]=this.record(new VUI.Affix(a,b)))},getInstance:function(a){return this._instances[a]},toggle:function(a,b,c){this._instances[a]&&this._instances[a].toggle(b,c)},
disposeInstance:function(a){this._instances[a].dispose();this._instances[a]=null},updateOffset:function(a,b){this._instances[a].updateOffset(b)}})})();(function(){ko.bindingHandlers.vuiAffix={init:function(b,c){var a=ko.unwrap(c()),d=VUI.Injector.get("AffixController");d.create(b,a);ko.utils.domNodeDisposal.addDisposeCallback(b,function(){d.disposeInstance(a.name)})},update:function(b,c){var a=ko.unwrap(c());VUI.Injector.get("AffixController").toggle(a.name,ko.unwrap(a.disable),ko.unwrap(a.disableScrollTo))}}})();(function(b){b.bindingHandlers.vuiLocalDateTime={update:function(c,d){var a=d(),a=VUI.DateFormatter.formatLocalDateTime(b.unwrap(a.value),b.unwrap(a.pattern));c.set("text",a)}};b.bindingHandlers.vuiDuration={update:function(c,d){var a=b.unwrap(d()),a=VUI.DateFormatter.formatDurationInMinutes(a);c.set("html",a)}}})(ko);Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(a,b){this.element=this.subject=document.id(a);this.parent(b)},set:function(a){"string"==typeof a&&(a=this.search(a));for(var b in a)this.render(this.element,b,a[b],this.options.unit);return this},compute:function(a,b,e){var c={},d;for(d in a)c[d]=this.parent(a[d],b[d],e);return c},start:function(a){if(!this.check(a))return this;"string"==typeof a&&(a=this.search(a));var b={},e={},c;for(c in a){var d=this.prepare(this.element,c,a[c]);b[c]=d.from;
e[c]=d.to}return this.parent(b,e)}});Element.Properties.morph={set:function(a){this.get("morph").cancel().setOptions(a);return this},get:function(){var a=this.retrieve("morph");a||(a=new Fx.Morph(this,{link:"cancel"}),this.store("morph",a));return a}};Element.implement({morph:function(a){this.get("morph").start(a);return this}});Element.implement({isDisplayed:function(){return"none"!=this.getStyle("display")},isVisible:function(){var a=this.offsetWidth,b=this.offsetHeight;return 0==a&&0==b?!1:0<a&&0<b?!0:"none"!=this.style.display},toggle:function(){return this[this.isDisplayed()?"hide":"show"]()},hide:function(){var a;try{a=this.getStyle("display")}catch(b){}return"none"==a?this:this.store("element:_originalDisplay",a||"").setStyle("display","none")},show:function(a){if(!a&&this.isDisplayed())return this;a=a||this.retrieve("element:_originalDisplay")||
"block";return this.setStyle("display","none"==a?"block":a)},swapClass:function(a,b){return this.removeClass(a).addClass(b)}});Document.implement({clearSelection:function(){if(window.getSelection){var a=window.getSelection();a&&a.removeAllRanges&&a.removeAllRanges()}else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(b){}}});(function(){var d=function(a){var c=a.options.hideInputs;if(window.OverText){var b=[null];OverText.each(function(a){b.include("."+a.options.labelClass)});b&&(c+=b.join(", "))}return c?a.element.getElements(c):null};Fx.Reveal=new Class({Extends:Fx.Morph,options:{link:"cancel",styles:["padding","border","margin"],transitionOpacity:!Browser.ie6,mode:"vertical",display:function(){return"tr"!=this.element.get("tag")?"block":"table-row"},opacity:1,hideInputs:Browser.ie?"select, input, textarea, object, embed":
null},dissolve:function(){if(this.hiding||this.showing)"chain"==this.options.link?this.chain(this.dissolve.bind(this)):"cancel"!=this.options.link||this.hiding||(this.cancel(),this.dissolve());else if("none"!=this.element.getStyle("display")){this.hiding=!0;this.showing=!1;this.hidden=!0;this.cssText=this.element.style.cssText;var a=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});this.options.transitionOpacity&&(a.opacity=this.options.opacity);var c={};Object.each(a,
function(a,b){c[b]=[a,0]});this.element.setStyles({display:Function.from(this.options.display).call(this),overflow:"hidden"});var b=d(this);b&&b.setStyle("visibility","hidden");this.$chain.unshift(function(){this.hidden&&(this.hiding=!1,this.element.style.cssText=this.cssText,this.element.setStyle("display","none"),b&&b.setStyle("visibility","visible"));this.fireEvent("hide",this.element);this.callChain()}.bind(this));this.start(c)}else this.callChain.delay(10,this),this.fireEvent("complete",this.element),
this.fireEvent("hide",this.element);return this},reveal:function(){if(this.showing||this.hiding)"chain"==this.options.link?this.chain(this.reveal.bind(this)):"cancel"!=this.options.link||this.showing||(this.cancel(),this.reveal());else if("none"==this.element.getStyle("display")){this.hiding=!1;this.showing=!0;this.hidden=!1;this.cssText=this.element.style.cssText;var a;this.element.measure(function(){a=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode})}.bind(this));
null!=this.options.heightOverride&&(a.height=this.options.heightOverride.toInt());null!=this.options.widthOverride&&(a.width=this.options.widthOverride.toInt());this.options.transitionOpacity&&(this.element.setStyle("opacity",0),a.opacity=this.options.opacity);var c={height:0,display:Function.from(this.options.display).call(this)};Object.each(a,function(a,b){c[b]=0});c.overflow="hidden";this.element.setStyles(c);var b=d(this);b&&b.setStyle("visibility","hidden");this.$chain.unshift(function(){this.element.style.cssText=
this.cssText;this.element.setStyle("display",Function.from(this.options.display).call(this));this.hidden||(this.showing=!1);b&&b.setStyle("visibility","visible");this.callChain();this.fireEvent("show",this.element)}.bind(this));this.start(a)}else this.callChain(),this.fireEvent("complete",this.element),this.fireEvent("show",this.element);return this},toggle:function(){"none"==this.element.getStyle("display")?this.reveal():this.dissolve();return this},cancel:function(){this.parent.apply(this,arguments);
null!=this.cssText&&(this.element.style.cssText=this.cssText);this.showing=this.hiding=!1;return this}});Element.Properties.reveal={set:function(a){this.get("reveal").cancel().setOptions(a);return this},get:function(){var a=this.retrieve("reveal");a||(a=new Fx.Reveal(this),this.store("reveal",a));return a}};Element.Properties.dissolve=Element.Properties.reveal;Element.implement({reveal:function(a){this.get("reveal").setOptions(a).reveal();return this},dissolve:function(a){this.get("reveal").setOptions(a).dissolve();
return this},nix:function(a){var c=Array.link(arguments,{destroy:Type.isBoolean,options:Type.isObject});this.get("reveal").setOptions(a).dissolve().chain(function(){this[c.destroy?"destroy":"dispose"]()}.bind(this));return this},wink:function(){var a=Array.link(arguments,{duration:Type.isNumber,options:Type.isObject}),c=this.get("reveal").setOptions(a.options);c.reveal().chain(function(){(function(){c.dissolve()}).delay(a.duration||2E3)})}})})();(function(e){e.bindingHandlers.vuiFadedIn={init:function(a){a.addClass("vui-fades")},update:function(a,b){a=document.id(a);var c=e.utils.unwrapObservable(b()),d,f;"object"===typeOf(c)?(d=c.visible,f=c.delay):d=c;d?a.hasClass("vui-faded-out")&&(a.removeClass("vui-faded-out"),a.addClass("vui-fading"),f?window.setTimeout(function(){a.removeClass("vui-fading")},f):(a.vuiTriggerReflow(),a.removeClass("vui-fading"))):a.addClass("vui-faded-out")}};e.bindingHandlers.vuiToggleSlide={init:function(a){var b=
new Fx.Reveal(a,{duration:300});a.store("vui.toggleslide",b)},update:function(a,b){var c=e.unwrap(b()),d=a.retrieve("vui.toggleslide");c?d.reveal():d.dissolve()}};e.bindingHandlers.vuiScrollTopOnFocus={init:function(a,b){var c=b(),d=null;a.store("vuiScrollTopOnFocusEnabled",!0);a.addEventListener("focus",function(){var b=a;a.retrieve("vuiScrollTopOnFocusEnabled")&&(d||(d=document.querySelector(c.offsetElement)),d&&(b=d),b.vuiScrollToClearStickyElements({animate:!0}))})},update:function(a,b){var c=
b();"undefined"!==typeOf(c.enabled)&&a.store("vuiScrollTopOnFocusEnabled",c.enabled)}}})(ko);(function(a){function e(b){var c=a.unwrap(b.columnCount),f=a.unwrap(b.deviceSize)||"xs";b=a.unwrap(b.colSpan)||1;c=(12/c*b).round(1).toString().replace(".","_");return"col-"+f+"-"+c}a.bindingHandlers.vuiGridCol={init:function(b,c){var f=a.unwrap(c()),d;f instanceof Array?f.each(function(c){d=e(c);b.addClass(d)}):(d="number"===typeof f?e({columnCount:f}):e(f),b.addClass(d))},getColClass:e};a.bindingHandlers.vuiLockHeight={init:function(b,c){var a=window.innerWidth,d=!1,e,g;g=function(){b.setStyle("min-height");
a=window.innerWidth;window.removeEventListener("resize",e);d=!1};e=function(){window.innerWidth!==a&&g()};c().subscribe(function(a){a?window.setTimeout(function(){var a=parseInt(b.getStyle("min-height"),10),a=isNaN(a)?0:a;b.setStyle("min-height",Math.max(a,b.getSize().y));d||(window.addEventListener("resize",e),d=!0)},0):!a&&d&&g()})}};a.bindingHandlers.vuiTriggerReflow={update:function(b,c){a.unwrap(c())&&b.vuiTriggerReflow()}};a.bindingHandlers.vuiVisible={update:function(b,c){a.unwrap(c())?b.setStyle("visibility",
"visible"):b.setStyle("visibility","hidden")}}})(ko);(function(a){function f(d){return function(){var b=a.unwrap(d());return{data:b.data,as:b.as,templateEngine:a.nativeTemplateEngine.instance}}}a.bindingHandlers.vuiStopBindings={init:function(){return{controlsDescendantBindings:!0}}};a.bindingHandlers.vuiWith={init:function(d,b){return a.bindingHandlers.template.init(d,f(b))},update:function(d,b,e,c,g){return a.bindingHandlers.template.update(d,f(b),e,c,g)}};a.expressionRewriting.bindingRewriteValidators.vuiWith=!1;a.virtualElements.allowedBindings.vuiWith=
!0;a.bindingHandlers.vuiHoganTemplate={init:function(d,b,a,c){b=b();c=(new VUI.Templates).loadTemplates({componentId:b.componentId})[b.templateName](b.data||c);d.adopt(c)}};a.bindingHandlers.vuiResponsiveImage={init:function(a,b){var e=b(),c=VUI_SERVLET_URL+"/"+e.imageFolder,g=[];e.sizes.forEach(function(a){var b;a.breakpoint?b=VUI.Injector.get("MediaQueries").breakpointMinValues[a.breakpoint]+"px":a.minWidth&&(b=a.minWidth);g.push((b?"(min-width: "+b+") ":"")+a.size)});var f=[];Object.each(e.srcset,
function(a,b){f.push(c+a+" "+b)});a.setAttribute("srcset",f.join(","));a.setAttribute("sizes",g.join(","));a.setAttribute("src",c+e.srcset[e.fallbackSrc])}}})(ko);__registerModule("/nz/co/airnz/vui/timepreference/timepreference.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{timepreference:b});a.default=b});(function(){Class("VUI.TimePreferenceViewModel",{Depends:["TimePreferenceDataSource","initTimePreference"],InjectAs:{name:"TimePreferenceViewModel",singleton:!0},initialize:function(){var a=this;a.canSwitchFormat=a.initTimePreference.config.canSwitchFormat;a.display24HourTime=ko.observable(a.initTimePreference.state.display24HourTime);a.timePattern=ko.pureComputed(function(){return a.display24HourTime()?"pattern.time.24.hour":"pattern.time.12.hour"});a.display24HourTime.subscribe(function(b){a.TimePreferenceDataSource.doSetTimePreference(b)})}})})();(function(){Class("VUI.TimePreferenceDatasource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"TimePreference",InjectAs:{name:"TimePreferenceDataSource",singleton:!0},onConfig:function(a){this.request=new MtRequest.JSON({url:a.url,link:"chain"})},onState:function(a){this.fireEvent("state",a)},doSetTimePreference:function(a){this.request.post({display24HourTime:a})}})})();__registerModule("/nz/co/airnz/vui/hud/hudreview/html/hudreview.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={HudReview:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-hud-review"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-row-same-height"\x3e');this.b("\n"+a);this.b("      \x3cdiv data-bind\x3d\"foreach: {data: $component.hud.legs, as: 'leg'}\"\x3e");this.b("\n"+a);this.b("        \x3cdiv data-bind\x3d\"foreach: {data: leg.flightSegments, as: 'segment'}\"\x3e");
this.b("\n"+a);this.b("          \x3c!-- ko if: leg.isFirst \x26\x26 segment.isFirst --\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-hud-review-title"\x3e');this.b("\n"+a);this.b('              \x3cspan data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("              \x3c!-- ko if: $component.hud.isReturn() --\x3e");this.b("\n"+a);this.b('              \x3cspan data-bind\x3d"text: $component.hud.journeyTypeTitle()"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("              \x3c!--/ko--\x3e");
this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-hud-review-party" data-bind\x3d"text: segment.party"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("            \x3c!-- ko if: $component.hud.isMultistop() --\x3e");this.b("\n"+a);this.b('              \x3cdiv data-bind\x3d"text: segment.flightText" class\x3d"vui-hud-leg-detail-text vui-hud-leg-flightnumber"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("            \x3c!--/ko--\x3e");this.b("\n"+a);this.b("          \x3c!--/ko--\x3e");
this.b("\n"+a);this.b("          \x3c!-- ko if: $component.hud.isReturn() || $component.hud.isOneway() --\x3e");this.b("\n"+a);this.b("          \x3cdiv\x3e");this.b("\n"+a);this.b("            \x3cspan data-bind\x3d\"attr: {'class': leg.isFirst ? 'vui-icon-departing' : 'vui-icon-returning' }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("            \x3c!-- ko if: (leg.isFirst \x26\x26 segment.isFirst) || ( leg.isLast \x26\x26 segment.isLast) --\x3e");this.b("\n"+a);this.b("            \x3cspan data-bind\x3d\"vuiLocalDateTime: {value: segment.departureDateTime, pattern: 'pattern.itinerary.journeyleg.departure.date.format'}\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b('            \x3cspan class\x3d"vui-time" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.time.12.hour\'}"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c!--/ko--\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("          \x3c!--/ko--\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);
this.b('    \x3cdiv class\x3d"vui-row-same-height"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-hud-footer-total-wrapper"\x3e');this.b("\n"+a);this.b('        \x3ca href\x3d"#" class\x3d"vui-link-primary vui-hud-view-details-link vui-link-unstyled" data-track\x3d"hud-viewbookingdetails"');this.b("\n"+a);this.b("           data-bind\x3d\"click: $component.hud.toggleHud.bind($component.hud),  visible: $component.hud.canExpand, attr: {'aria-expanded': (!!$component.hud.isExpanded()).toString() }\"\x3eView details\x3c/a\x3e");
this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-hud-footer-total text-right" role\x3d"region" aria-label\x3d"Total cost" data-bind\x3d"');this.b("\n"+a);this.b("                            css: { 'has-mixpayment': ($component.hud.hasMixedPayment())}\"\x3e");this.b("\n"+a);this.b('          \x3cdiv class\x3d"sr-only" data-bind\x3d"vuiHudTotalPanelAccessiblity: $component.hud.costs" aria-live\x3d"polite" aria-atomic\x3d"true"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b("          \x3c!-- ko if: $component.hud.showCashPayment() --\x3e");
this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-hud-total" data-bind\x3d"if: $component.hud.costs().TOTAL" aria-hidden\x3d"true"\x3e');this.b("\n"+a);this.b('            \x3cspan class\x3d"sr-only"\x3eTotal cost\x3c/span\x3e');this.b("\n"+a);this.b('            \x3csup data-bind\x3d"if: !$component.hud.hasAirpointsPayment()"\x3eTotal\x3c/sup\x3e');this.b("\n"+a);this.b('            \x3csup data-bind\x3d"text: $component.hud.costs().TOTAL.currency"\x3e\x3c/sup\x3e');this.b("\n"+a);this.b('            \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.hud.costs().TOTAL.amount"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-hud-airpoints-payment vui-hud-amount" data-bind\x3d"if: $component.hud.hasAirpointsPayment()"\x3e');this.b("\n"+a);this.b('            \x3cspan class\x3d"sr-only"\x3eAirpoints Dollars\x3c/span\x3e');this.b("\n"+a);this.b('            \x3cspan class\x3d"vui-icon-airpointsdollar" title\x3d"Airpoints Dollars"\x3e\x3c/span\x3e\x3cspan');
this.b("\n"+a);this.b('              data-bind\x3d"text: $component.hud.airpointsPayments().TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-hud-footer-taxes"\x3e');this.b("\n"+a);this.b("            \x3c!-- ko if: $component.hud.costs().TAX_TOTAL --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cspan data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.label"\x3e\x3c/span\x3e');this.b("\n"+
a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.hud.mcpOfferMessage() --\x3e\x3cspan");this.b("\n"+a);this.b('              data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.currency"\x3e\x3c/span\x3e\x3c!-- /ko --\x3e\x3cspan');this.b("\n"+a);this.b('              data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cspan data-bind\x3d"if: $component.hud.isTaxInclusive()"\x3e');
this.b("\n"+a);this.b('                              \x3cspan aria-hidden\x3d"true"\x3eincl. taxes \x26amp; charges\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eincludes taxes and charges\x3c/span\x3e');this.b("\n"+a);this.b("                            \x3c/span\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-hud-footer-promo" data-bind\x3d"if: $component.hud.costs().promo"\x3e');this.b("\n"+a);this.b('            \x3cspan data-bind\x3d"html: $component.hud.costs().promo.label"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('            \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.hud.costs().promo.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hudreview.hudreview.hoganTemplates",c);b.default=
c});__registerModule("/nz/co/airnz/vui/hud/hudreview/hudreview.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"vui.view.booking.details.label":"View details","hud.review.text.total":"Total"};Locale.define("en-NZ","vui",{hud:{hudreview:b}});a.default=b});__registerModule("/nz/co/airnz/vui/hud/hudreview/hudreview-component",function(b,d){var a=b("./html/hudreview.template.html"),a=babelHelpers.interopRequireDefault(a);ko.components.register("vui-hud-review",{template:a.default.HudReview,viewModel:function c(a){babelHelpers.classCallCheck(this,c);this.hud=a.hud}})});__registerModule("/nz/co/airnz/vui/hud/html/hudtoggle.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={HudToggle:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-hud-toggle-wrapper vui-overlay-wrapper" data-bind\x3d"visible: !$component.hud.showLightHud(), css: {\'show-at-bottom\': $component.showAtBottom}"\x3e');this.b("\n"+a);this.b('            \x3ca href\x3d"#" role\x3d"button" class\x3d"vui-hud-btn-toggle vui-link-unstyled" data-bind\x3d"');
this.b("\n"+a);this.b("                click: $component.hud.toggleHud.pass(!$component.showAtBottom), visible: $component.hud.canExpand, attr: {'aria-expanded': (!!$component.hud.isExpanded()).toString() }\"\x3e");this.b("\n"+a);this.b("                \x3cdiv class\x3d\"btn\" data-bind\x3d\"text: $component.hud.isExpanded() ? 'CLOSE' : 'VIEW DETAILS'\"\x3e\x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.hud.showTogglePrompt() --\x3e");this.b("\n"+a);
this.b('                \x3cdiv class\x3d"vui-hud-toggle-prompt vui-overlay-wrapper"\x3e');this.b("\n"+a);this.b('                    \x3cdiv class\x3d"popover bottom vui-hud-toggle-prompt-popover"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"arrow" aria-hidden\x3d"true"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"popover-content"\x3eView your full flight details here\x3c/div\x3e');this.b("\n"+a);this.b("                    \x3c/div\x3e");
this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("            \x3c/a\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hudtoggle.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/hud/js/hud-toggle-component",function(b,d){var a=b("../html/hudtoggle.template.html"),a=babelHelpers.interopRequireDefault(a);ko.components.register("vui-hud-toggle",{template:a.default.HudToggle,viewModel:function c(a){babelHelpers.classCallCheck(this,c);this.hud=a.hud;this.showAtBottom=a.showAtBottom},synchronous:!0})});__registerModule("/nz/co/airnz/vui/hud/html/hudairpointstotalsummary.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={AirpointsTotalSummary:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-hud-airpoints-total"');this.b("\n"+a);this.b('       data-bind\x3d"if: !$component.hud.isInternationalMultistop() \x26\x26 $component.hud.accrual() \x26\x26 $component.hud.accrual().successful"\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b('      \x3cspan class\x3d"text-nowrap"\x3e');
this.b("\n"+a);this.b('         \x3cspan\x3eEarn\x3c/span\x3e \x3cspan class\x3d"sr-only"\x3eAirpoints Dollars\x3c/span\x3e');this.b("\n"+a);this.b('         \x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e\x3cspan data-bind\x3d"text: $component.hud.accrual().airpoint"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("      \x3c/span\x3e");this.b("\n"+a);this.b('      \x3cspan aria-hidden\x3d"true"\x3e/\x3c/span\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"text-nowrap"');this.b("\n"+
a);this.b('          data-bind\x3d"html: $component.hud.getAccrualStatusPointLabel($component.hud.accrual().statusPoint)"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv data-bind\x3d"if: $component.hud.accrual().airpointsForBusinessPoint"\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"text-nowrap"\x3eAirpoints for Business \x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e\x3cspan');this.b("\n"+a);this.b('         data-bind\x3d"text: $component.hud.accrual().airpointsForBusinessPoint"\x3e\x3c/span\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hudairpointstotalsummary.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/hud/js/hud-airpointstotalsummary-component",function(b,c){var a=b("../html/hudairpointstotalsummary.template.html"),a=babelHelpers.interopRequireDefault(a);ko.components.register("vui-hud-ap-total-summary",{template:a.default.AirpointsTotalSummary,viewModel:function(a){this.hud=a.hud},synchronous:!0})});__registerModule("/nz/co/airnz/vui/hud/html/hudheader.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={HudHeader:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"" data-bind\x3d"css: {\'vui-hud-header-close-top\' : $component.hud.showCloseButtonAtTop()}"\x3e');this.b("\n"+a);this.b('  \x3cdiv data-bind\x3d"vuiWith: {data: $component.hud.firstLeg, as: \'leg\'}, vuiTriggerReflow: $component.hud.firstLeg()" class\x3d"vui-hud-header-summary" data-automation\x3d"hud-summary-top"\x3e');
this.b("\n"+a);this.b("    \x3cdiv data-bind\x3d\"foreach: {data: leg.flightSegments, as: 'segment'}\"\x3e");this.b("\n"+a);this.b('      \x3cdiv class\x3d"row vui-hud-leg" data-bind\x3d"if: segment.isFirst"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-row-same-height" data-bind\x3d"attr: {\'aria-label\': \'flight \' + (segment.segmentOrdinalIndex + 1) }" role\x3d"region"\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"col-lg-10 vui-col-lg-height"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"row vui-hud-leg-header"\x3e');
this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-xs-12 col-lg-3"\x3e');this.b("\n"+a);this.b("                \x3cdiv\x3e");this.b("\n"+a);this.b("                  \x3cspan data-bind\x3d\"html: segment.title,  attr: { 'data-automation': 'segment-title-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e\x3cspan");this.b("\n"+a);this.b('                    class\x3d"vui-displayed-sm vui-gone-lg vui-hud-journey-type"');this.b("\n"+a);this.b('                    data-bind\x3d"text: $component.hud.journeyTypeTitle()"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-overflow-ellipsis vui-hud-leg-detail-text vui-hud-leg-flightnumber"\x3e');this.b("\n"+a);this.b('                    \x3cspan data-bind\x3d"text: segment.flightText, attr: {title: segment.flightText}"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                    \x3c!-- ko if: segment.showAirportCodes --\x3e");this.b("\n"+a);this.b('                      \x3cspan class\x3d"vui-hud-leg-airports"\x3e');this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"text: segment.firstFlightOrigin"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('                        \x3cspan class\x3d"vui-icon-arrowright vui-note"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"text: segment.firstFlightDestination"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                      \x3c/span\x3e");this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3ca href\x3d"startover?retainSearchCriteria\x3dtrue" class\x3d"vui-hud-modify vui-link-primary vui-link-unstyled vui-gone-lg"');
this.b("\n"+a);this.b('                    data-track\x3d"hud-newsearch"\x3e');this.b("\n"+a);this.b("                  \x3c!-- TODO: sorry, this is hack, the link show be conditionally shown instead,");this.b("\n"+a);this.b("                    but it's beyond repair, because it affects the entire layout of the closed HUD --\x3e");this.b("\n"+a);this.b("                  \x3cspan data-bind\x3d\"css: !$component.hud.showModifySearch() \x26\x26 'sr-only'\"\x3e");this.b("\n"+a);this.b("                    Modify search");
this.b("\n"+a);this.b("                  \x3c/span\x3e");this.b("\n"+a);this.b("                \x3c/a\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-lg-2 vui-displayed-lg"\x3e');this.b("\n"+a);this.b("                \x3c!-- ko ifnot: $component.hud.isMultistop()  --\x3e");this.b("\n"+a);this.b('                  \x3cspan class\x3d"vui-icon-departing" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                \x3cspan class\x3d"sr-only" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.full\'}"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                \x3cspan aria-hidden\x3d"true" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.mobi\'},');this.b("\n"+a);this.b("                            attr: { 'data-automation': 'segment-departure-date-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                \x3cdiv data-bind\x3d"if: segment.flightText()"\x3e');this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-hud-leg-detail-text vui-time" data-bind\x3d"text: segment.departureTimeText,');this.b("\n"+a);this.b("                              attr: { 'data-automation': 'segment-departure-time-' + segment.segmentOrdinalIndex }\"\x3e\x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-lg-7 vui-displayed-lg"\x3e');this.b("\n"+a);this.b('                \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                  \x3cdiv class\x3d"col-lg-6"\x3e');this.b("\n"+a);this.b("                    \x3cspan data-bind\x3d\"text: segment.party, attr: {'data-automation': 'segment-pax-party-' + segment.segmentOrdinalIndex }\"\x3e \x3c/span\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+
a);this.b('                  \x3cdiv class\x3d"col-lg-4 vui-hud-selectable-product" data-bind\x3d"if: !$component.hud.isMultistop()"\x3e');this.b("\n"+a);this.b("                    \x3cspan data-bind\x3d\"html: leg.selectableProduct,  attr: { 'data-automation': 'selectable-product-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-hud-booking-class" data-bind\x3d"if: segment.bookingClass"\x3e');this.b("\n"+a);this.b("                              (\x3cspan data-bind\x3d\"text: segment.bookingClass,  attr: { 'data-automation': 'booking-class-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e)");
this.b("\n"+a);this.b("                    \x3c/span\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                  \x3cdiv class\x3d"col-lg-2" data-bind\x3d"if: !$component.hud.isMultistop() || $component.hud.showBaggageInfoOnly(),');this.b("\n"+a);this.b("                              css: {'has-baggage-link': $component.hud.showBaggageInfoOnly()}\"\x3e");this.b("\n"+a);this.b("                    \x3c!-- ko if: segment.baggage() --\x3e");this.b("\n"+
a);this.b("                      \x3c!-- ko if: $component.hud.showBaggageInfoOnly() --\x3e");this.b("\n"+a);this.b('                      \x3cdiv class\x3d"text-right"\x3e');this.b("\n"+a);this.b('                        \x3ca class\x3d"vui-hud-baggage-link vui-note text-nowrap" target\x3d"_blank"');this.b("\n"+a);this.b('                           data-bind\x3d"attr: { href: segment.baggage().fullDisclosureUrl }"\x3e');this.b("\n"+a);this.b('                          \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('                          \x3cspan data-bind\x3d"text: segment.baggage().total"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                        \x3c/a\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                      \x3c!-- ko ifnot: $component.hud.showBaggageInfoOnly() --\x3e");this.b("\n"+a);this.b('                      \x3cspan data-bind\x3d"text: segment.baggage().total,');
this.b("\n"+a);this.b("                                      attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                      \x3c!-- ko if: segment.baggage().dynamicBaggageStatus \x3d\x3d\x3d 'ERROR' --\x3e");this.b("\n"+a);this.b("                      \x3cspan class\x3d\"vui-highlight-danger\" data-bind\x3d\"attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e");
this.b("\n"+a);this.b("                        Bags");this.b("\n"+a);this.b("                      \x3c/span\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);
this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('          \x3cdiv class\x3d"col-sm-12 col-lg-2 vui-col-lg-height vui-hud-leg-costs"\x3e');this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c!-- the bottom row of the collapsed hud --\x3e");this.b("\n"+a);this.b('  \x3cdiv class\x3d"row vui-hud-leg vui-displayed-lg" data-automation\x3d"hud-summary-bottom"\x3e');
this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-row-same-height"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"col-lg-10 vui-col-lg-height" data-bind\x3d"if: $component.hud.legs().length"\x3e');this.b("\n"+a);this.b("        \x3cdiv data-bind\x3d\"vuiWith: {data: $component.hud.returnLeg, as: 'leg'}, vuiTriggerReflow: $component.hud.returnLeg()\"\x3e");this.b("\n"+a);this.b("          \x3cdiv data-bind\x3d\"foreach: {data: leg.flightSegments, as: 'segment'}\"\x3e");this.b("\n"+a);this.b('            \x3cdiv data-bind\x3d"if: segment.isFirst"\x3e');
this.b("\n"+a);this.b('              \x3cdiv class\x3d"row vui-hud-leg-header"\x3e');this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-xs-6 col-lg-3"\x3e');this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.hud.isReturn() --\x3e");this.b("\n"+a);this.b("                    \x3cspan data-bind\x3d\"html: segment.title,  attr: { 'data-automation': 'segment-title-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("                  \x3c!-- ko if: !$component.hud.isReturn() --\x3e");this.b("\n"+a);this.b("                    \x3cspan data-bind\x3d\"text: $component.hud.journeyTypeTitle(), attr: { 'data-automation': 'journey-type-title' }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-overflow-ellipsis vui-hud-leg-detail-text"\x3e');this.b("\n"+a);this.b('                    \x3cspan data-bind\x3d"text: segment.flightText, attr: {title: segment.flightText}"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                    \x3c!-- ko if: segment.showAirportCodes --\x3e");this.b("\n"+a);this.b('                      \x3cspan class\x3d"vui-hud-leg-airports"\x3e');this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"text: segment.firstFlightOrigin"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3cspan class\x3d"vui-icon-arrowright vui-note"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"text: segment.firstFlightDestination"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                      \x3c/span\x3e");this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-xs-6 col-lg-2"\x3e');this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.hud.isReturn()  --\x3e");this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-icon-returning" aria-hidden\x3d"true"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('                    \x3cspan class\x3d"sr-only" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.full\'}"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                    \x3cspan aria-hidden\x3d"true" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.mobi\'},');this.b("\n"+a);this.b("                              attr: { 'data-automation': 'segment-departure-date-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                  \x3cdiv data-bind\x3d"if: segment.flightText()"\x3e');this.b("\n"+a);this.b('                    \x3cdiv class\x3d"vui-hud-leg-detail-text vui-time" data-bind\x3d"text: segment.departureTimeText,');this.b("\n"+a);this.b("                            attr: { 'data-automation': 'segment-departure-time-' + segment.segmentOrdinalIndex }\"\x3e\x3c/div\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");
this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-xs-12 col-lg-7"\x3e');this.b("\n"+a);this.b('                  \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-lg-6" data-bind\x3d"if: $component.hud.showModifySearch"\x3e');this.b("\n"+a);this.b('                      \x3ca href\x3d"startover?retainSearchCriteria\x3dtrue" class\x3d"vui-link-primary vui-link-unstyled" data-track\x3d"hud-newsearch"\x3eModify search\x3c/a\x3e');
this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-lg-4 vui-hud-selectable-product" data-bind\x3d"if: !$component.hud.isMultistop()"\x3e');this.b("\n"+a);this.b("                      \x3cspan data-bind\x3d\"html: leg.selectableProduct ,  attr: { 'data-automation': 'selectable-product-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b('                      \x3cspan class\x3d"vui-hud-booking-class" data-bind\x3d"if: segment.bookingClass"\x3e');
this.b("\n"+a);this.b("                              (\x3cspan");this.b("\n"+a);this.b("                          data-bind\x3d\"text: segment.bookingClass,  attr: { 'data-automation': 'booking-class-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e)");this.b("\n"+a);this.b("                            \x3c/span\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-lg-2" data-bind\x3d"css: {\'has-baggage-link\': $component.hud.showBaggageInfoOnly()}"\x3e');
this.b("\n"+a);this.b("                      \x3c!-- ko if: segment.baggage() --\x3e");this.b("\n"+a);this.b("                        \x3c!-- ko if: $component.hud.showBaggageInfoOnly() --\x3e");this.b("\n"+a);this.b('                          \x3cdiv class\x3d"text-right"\x3e');this.b("\n"+a);this.b('                            \x3ca class\x3d"vui-hud-baggage-link vui-note text-nowrap" target\x3d"_blank"');this.b("\n"+a);this.b('                               data-bind\x3d"attr: { href: segment.baggage().fullDisclosureUrl }"\x3e');
this.b("\n"+a);this.b('                              \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                              \x3cspan data-bind\x3d"text: segment.baggage().total"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                            \x3c/a\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                            \x3ca class\x3d"vui-hud-dot-full-disclosure text-nowrap" target\x3d"_blank" data-bind\x3d"');this.b("\n"+a);this.b("                                          if: $component.hud.showBaggageFullDisclosureLink(), attr: { href: $component.hud.baggageFullDisclosureLink(), 'data-automation': 'baggage-disclosure-' + segment.segmentOrdinalIndex }\"\x3e");
this.b("\n"+a);this.b('                              \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                              * Excess baggage charges may apply");this.b("\n"+a);this.b("                            \x3c/a\x3e");this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c!-- ko ifnot: $component.hud.showBaggageInfoOnly() --\x3e");
this.b("\n"+a);this.b('                          \x3cspan data-bind\x3d"text: segment.baggage().total,');this.b("\n"+a);this.b("                                        attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c!-- ko if: segment.baggage().dynamicBaggageStatus \x3d\x3d\x3d 'ERROR' --\x3e");this.b("\n"+a);this.b("                          \x3cspan class\x3d\"vui-highlight-danger\" data-bind\x3d\"attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e");
this.b("\n"+a);this.b("                                    Bags");this.b("\n"+a);this.b("                          \x3c/span\x3e");this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");
this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b('      \x3cdiv class\x3d"col-sm-12 vui-hud-leg-costs col-lg-2 vui-col-lg-height"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b('  \x3cdiv class\x3d"row vui-hud-footer" data-bind\x3d"if: $component.hud.hasData" data-automation\x3d"hud-summary-footer"\x3e');this.b("\n"+
a);this.b('    \x3cdiv class\x3d"vui-row-same-height hud-footer-totals-wrapper"\x3e');this.b("\n"+a);this.b('      \x3cdiv data-automation\x3d"hud-footer-totals"');this.b("\n"+a);this.b('           class\x3d"col-lg-2 vui-col-lg-height vui-hud-footer-totals"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-hud-footer-total-wrapper vui-vertical-align-middle text-right"');this.b("\n"+a);this.b("             data-bind\x3d\"css: { 'vui-displayed-lg': !$component.hud.canExpand() }\"\x3e");
this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-hud-footer-total" role\x3d"region" aria-label\x3d"Total cost" data-bind\x3d"');this.b("\n"+a);this.b("                      css: { 'has-mixpayment': $component.hud.hasMixedPayment(), 'has-airpointspayment': $component.hud.hasAirpointsPayment()}\"\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"sr-only" data-bind\x3d"vuiHudTotalPanelAccessiblity: $component.hud.costs" aria-live\x3d"polite" aria-atomic\x3d"true"\x3e\x3c/div\x3e');this.b("\n"+
a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.hud.showCashPayment() --\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"vui-hud-total" data-bind\x3d"if: $component.hud.costs().TOTAL" aria-hidden\x3d"true"\x3e');this.b("\n"+a);this.b('                \x3cspan class\x3d"sr-only"\x3eTotal cost\x3c/span\x3e');this.b("\n"+a);this.b('                \x3csup data-bind\x3d"text: $component.hud.costs().TOTAL.currency"\x3e\x3c/sup\x3e');this.b("\n"+a);this.b('                \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.hud.costs().TOTAL.amount"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-hud-airpoints-payment vui-hud-amount" data-bind\x3d"if: $component.hud.hasAirpointsPayment()"\x3e');this.b("\n"+a);this.b('              \x3cspan class\x3d"sr-only"\x3eAirpoints Dollars\x3c/span\x3e');this.b("\n"+a);this.b('              \x3cspan class\x3d"vui-icon-airpointsdollar" title\x3d"Airpoints Dollars"\x3e\x3c/span\x3e\x3cspan');
this.b("\n"+a);this.b('                data-bind\x3d"text: $component.hud.airpointsPayments().TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-hud-footer-taxes"\x3e');this.b("\n"+a);this.b("              \x3c!-- ko if: $component.hud.costs().TAX_TOTAL --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3cspan data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.label"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.hud.mcpOfferMessage() --\x3e\x3cspan");this.b("\n"+a);this.b('                  data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.currency"\x3e\x3c/span\x3e\x3c!-- /ko --\x3e\x3cspan');this.b("\n"+a);this.b('                  data-bind\x3d"html: $component.hud.costs().TAX_TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3cspan data-bind\x3d"if: $component.hud.isTaxInclusive()"\x3e');
this.b("\n"+a);this.b('                          \x3cspan aria-hidden\x3d"true"\x3eincl. taxes \x26amp; charges\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eincludes taxes and charges\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c/span\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-hud-footer-promo" data-bind\x3d"if: $component.hud.costs().promo"\x3e');this.b("\n"+a);this.b('              \x3cspan data-bind\x3d"html: $component.hud.costs().promo.label"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('              \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.hud.costs().promo.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"vui-displayed-lg"\x3e');this.b("\n"+a);this.b('              \x3cvui-hud-ap-total-summary params\x3d"hud: $component.hud"\x3e\x3c/vui-hud-ap-total-summary\x3e');this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+
a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hudheader.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/hud/js/hud-header-component",function(b,c){var a=b("../html/hudheader.template.html"),a=babelHelpers.interopRequireDefault(a);ko.components.register("vui-hud-header",{template:a.default.HudHeader,viewModel:function(a){this.hud=a.hud},synchronous:!0})});__registerModule("/nz/co/airnz/vui/hud/html/hud.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Hud:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-hud-wrapper"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"affix-wrapper" data-bind\x3d"');this.b("\n"+a);this.b("        if: $component.hasData,");this.b("\n"+a);this.b("        css: { 'vui-hud-has-toggle-prompt': $component.showTogglePrompt(), 'vui-hud-light' : $component.showLightHud() },");this.b("\n"+
a);this.b("        vuiLockHeight: $component.lockHeightNow,");this.b("\n"+a);this.b('        vuiHudCollapseWhenReadyIfNeeded: $component.isReady"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-hud-sticky" data-bind\x3d"vuiAffix: { name: \'hud\', disable: $component.isAffixDisabled}"\x3e');this.b("\n"+a);this.b('        \x3cdiv id\x3d"vui-hud" class\x3d"container vui-hud vui-inverse" role\x3d"complementary" aria-label\x3d"itinerary summary"');this.b("\n"+a);this.b("            data-bind\x3d\"css: {'is-expanded': $component.isExpanded(), 'vui-inverse' : !$component.showLightHud()}\"\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('          \x3cvui-hud-toggle params\x3d"hud: $component, showAtBottom: true"\x3e\x3c/vui-hud-toggle\x3e');this.b("\n"+a);this.b("\n"+a);this.b("          \x3c!-- collapsed view of the HUD at top --\x3e");this.b("\n"+a);this.b("          \x3c!-- ko if: ($component.showCloseButtonAtTop() || !$component.isExpanded()) \x26\x26 !$component.showLightHud() --\x3e");this.b("\n"+a);this.b('            \x3cvui-hud-header params\x3d"hud: $component"\x3e\x3c/vui-hud-header\x3e');
this.b("\n"+a);this.b("          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("          \x3c!-- expanded view of the HUD --\x3e");this.b("\n"+a);this.b('          \x3cdiv data-bind\x3d"if: $component.isExpanded()"\x3e');this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.showCloseButtonAtTop() --\x3e");this.b("\n"+a);this.b('              \x3cvui-hud-toggle params\x3d"{hud: $component}"\x3e\x3c/vui-hud-toggle\x3e');this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv id\x3d"vui-hud-taxes-breakdown" data-bind\x3d"if: $component.taxes \x26\x26 $component.taxes.isTaxesBreakdownVisible()"\x3e');this.b("\n"+a);this.b('              \x3cdiv class\x3d"vui-hud-taxes-breakdown" data-bind\x3d"vuiHudTaxesTableBreakdown: $component.taxes"');this.b("\n"+a);this.b('                   tabindex\x3d"-1" role\x3d"alertdialog" aria-label\x3d"taxes costs breakdown"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                \x3cbutton name\x3d"hudTaxesBreakdownClose" class\x3d"vui-hud-taxes-breakdown-close vui-link-unstyled pull-right btn-link"');
this.b("\n"+a);this.b('                        data-bind\x3d"click: $component.taxes.hideBreakdown" type\x3d"button"\x3e');this.b("\n"+a);this.b('                  \x3cspan class\x3d"sr-only"\x3eCLOSE\x3c/span\x3e');this.b("\n"+a);this.b('                  \x3cspan class\x3d"vui-icon-close" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c/button\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3ctable class\x3d"table"\x3e');this.b("\n"+a);this.b("                  \x3ctbody\x3e");
this.b("\n"+a);this.b("                  \x3c!-- ko foreach: {data: $component.taxes.items, as: 'tax'} --\x3e");this.b("\n"+a);this.b("                  \x3ctr\x3e");this.b("\n"+a);this.b('                    \x3ctd\x3e\x3cspan\x3e\x3cb data-bind\x3d"text: tax.label" aria-hidden\x3d"true"\x3e\x3c/b\x3e\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b('                    \x3ctd\x3e\x3cspan data-bind\x3d"text: tax.description"\x3e\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b('                    \x3ctd\x3e\x3cspan data-bind\x3d"text: tax.amount"\x3e\x3c/span\x3e\x3c/td\x3e');
this.b("\n"+a);this.b("                  \x3c/tr\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.costs().TAX_TOTAL --\x3e");this.b("\n"+a);this.b('                  \x3ctr class\x3d"vui-hud-taxes-breakdown-total"\x3e');this.b("\n"+a);this.b("                    \x3ctd\x3eTotal\x3c/td\x3e");this.b("\n"+a);this.b('                    \x3ctd colspan\x3d"2"\x3e\x3c!-- ko if: $component.mcpOfferMessage() --\x3e\x3cspan');
this.b("\n"+a);this.b('                        data-bind\x3d"html: $component.costs().TAX_TOTAL.currency"\x3e\x3c/span\x3e\x3c!-- /ko --\x3e\x3cspan');this.b("\n"+a);this.b('                        data-bind\x3d"html: $component.costs().TAX_TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e\x3c/td\x3e");this.b("\n"+a);this.b("                  \x3c/tr\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/tbody\x3e");
this.b("\n"+a);this.b("                \x3c/table\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3cdiv data-bind\x3d\"foreach: {data: $component.legs, as: 'leg'}\"\x3e");this.b("\n"+a);this.b("\n"+a);this.b("              \x3cdiv data-bind\x3d\"foreach: {data: leg.flightSegments, as: 'segment'}\"\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                \x3cdiv class\x3d"row vui-hud-leg" data-bind\x3d"');
this.b("\n"+a);this.b("                  attr: {'data-automation': 'vui-hud-leg-' + segment.segmentOrdinalIndex },");this.b("\n"+a);this.b("                  css: {'vui-hud-leg-first': $component.showCloseButtonAtTop() \x26\x26 (leg.journeyLegId \x3d\x3d 1)}\"\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-row-same-height" data-bind\x3d"attr: {\'aria-label\': \'flight \' + (segment.segmentOrdinalIndex + 1) }" role\x3d"region"\x3e');this.b("\n"+a);this.b("\n"+a);
this.b('                    \x3cdiv class\x3d"col-lg-10 vui-col-lg-height"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cdiv class\x3d"row vui-hud-leg-header"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-lg-3 col-xs-6"\x3e');this.b("\n"+a);this.b("                          \x3cdiv data-bind\x3d\"html: segment.title,  attr: { 'data-automation': 'segment-title-' + segment.segmentOrdinalIndex }\" \x3e\x3c/div\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-xs-6 col-lg-2"\x3e');this.b("\n"+a);this.b("                          \x3c!-- ko ifnot: $component.isMultistop()  --\x3e");this.b("\n"+a);this.b("                          \x3cspan data-bind\x3d\"attr: {'class': leg.journeyLegId \x3d\x3d 1 ? 'vui-icon-departing' : 'vui-icon-returning' }\" aria-hidden\x3d\"true\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);
this.b("\n"+a);this.b('                          \x3cspan class\x3d"sr-only" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.full\'}"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                          \x3cspan aria-hidden\x3d"true" data-bind\x3d"vuiLocalDateTime: {value: segment.departureDateTime, pattern: \'pattern.date.mobi\'},');this.b("\n"+a);this.b("                              attr: { 'data-automation': 'segment-departure-date-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-lg-7"\x3e');this.b("\n"+a);this.b('                          \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-6"\x3e');this.b("\n"+a);this.b("                              \x3cspan data-bind\x3d\"text: segment.party, attr: {'data-automation': 'segment-pax-party-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                              \x3c!-- ko if: !segment.party() \x26\x26 $component.showModifySearch() --\x3e");this.b("\n"+a);this.b('                                \x3ca href\x3d"startover?retainSearchCriteria\x3dtrue" class\x3d"vui-link-primary vui-link-unstyled" data-track\x3d"hud-newsearch"\x3eModify search\x3c/a\x3e');this.b("\n"+a);this.b("                              \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);
this.b('                            \x3cdiv class\x3d"col-xs-4 vui-hud-selectable-product"\x3e');this.b("\n"+a);this.b("                              \x3cspan data-bind\x3d\"html: leg.selectableProduct,  attr: { 'data-automation': 'selectable-product-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b('                              \x3cspan class\x3d"vui-hud-booking-class" data-bind\x3d"if: segment.bookingClass"\x3e');this.b("\n"+a);this.b("                              (\x3cspan data-bind\x3d\"text: segment.bookingClass,  attr: { 'data-automation': 'segment-booking-class-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e)");
this.b("\n"+a);this.b("                            \x3c/span\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-2 col-lg-2" data-bind\x3d"css: {\'has-baggage-link\': $component.showBaggageInfoOnly()}"\x3e');this.b("\n"+a);this.b("                              \x3c!-- ko if: segment.baggage() --\x3e");this.b("\n"+a);this.b("                                \x3c!-- ko if: $component.showBaggageInfoOnly() --\x3e");
this.b("\n"+a);this.b('                                  \x3cdiv class\x3d"text-right"\x3e');this.b("\n"+a);this.b('                                    \x3ca class\x3d"vui-hud-baggage-link vui-note text-nowrap" target\x3d"_blank"');this.b("\n"+a);this.b('                                      data-bind\x3d"attr: { href: segment.baggage().fullDisclosureUrl }"\x3e');this.b("\n"+a);this.b('                                      \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('                                      \x3cspan class\x3d"vui-hud-baggage-link-wrappable" data-bind\x3d"text: segment.baggage().total"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                                    \x3c/a\x3e");this.b("\n"+a);this.b("                                  \x3c/div\x3e");this.b("\n"+a);this.b("                                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c!-- ko ifnot: $component.showBaggageInfoOnly() --\x3e");
this.b("\n"+a);this.b('                                  \x3cspan data-bind\x3d"text: segment.baggage().total,');this.b("\n"+a);this.b("                                        attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c!-- ko if: segment.baggage().dynamicBaggageStatus \x3d\x3d\x3d 'ERROR' --\x3e");this.b("\n"+
a);this.b("                                  \x3cspan class\x3d\"vui-highlight-danger\" data-bind\x3d\"attr: {'data-automation': 'segment-baggage-' + segment.segmentOrdinalIndex }\"\x3e");this.b("\n"+a);this.b("                                      Bags");this.b("\n"+a);this.b("                                    \x3c/span\x3e");this.b("\n"+a);this.b("                                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                              \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                      \x3c!-- ko if: segment.flightsBreakdown --\x3e");this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-hud-flights hud-flights" data-bind\x3d"foreach: {data: segment.flightsBreakdown, as: \'flightBreakdown\'}" \x3e');
this.b("\n"+a);this.b("                        \x3cdiv class\x3d\"vui-hud-flight\" data-bind\x3d\"attr: { 'data-automation': 'flight-' + segment.segmentOrdinalIndex + '-' + $index() }\"\x3e");this.b("\n"+a);this.b('                          \x3cdiv class\x3d"row vui-hud-flight-details" data-bind\x3d"attr: {\'data-automation-citypair\' : flightBreakdown.citypair}"\x3e');this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-6 col-lg-3"\x3e');this.b("\n"+a);this.b("                              \x3cspan data-bind\x3d\"css: {'vui-hud-light-flight-od' : $component.showLightHud()}\"\x3e");
this.b("\n"+a);this.b('                                \x3cspan class\x3d"vui-highlight" data-bind\x3d"text: flightBreakdown.flight.flightNumber,');this.b("\n"+a);this.b("                                        attr: { 'data-automation': 'flight-number-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b('                                \x3cspan data-bind\x3d"text: flightBreakdown.flight.origin.airportName,');this.b("\n"+a);this.b("                                        css: {'vui-highlight-danger': flightBreakdown.highlightOrigin},");
this.b("\n"+a);this.b("                                        attr: { 'data-automation': 'flight-airport-origin-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e to");this.b("\n"+a);this.b('                                \x3cspan data-bind\x3d"text: flightBreakdown.flight.destination.airportName,');this.b("\n"+a);this.b("                                        css: {'vui-highlight-danger': flightBreakdown.highlightDestination},");this.b("\n"+a);this.b("                                        attr: { 'data-automation': 'flight-airport-destination-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                              \x3c/span\x3e");this.b("\n"+a);this.b("                              \x3cbr /\x3e");this.b("\n"+a);this.b('                              \x3cspan class\x3d"text-nowrap" data-bind\x3d"text: flightBreakdown.flight.brandingName,');this.b("\n"+a);this.b("                                    attr: { 'data-automation': 'flight-company-destination-' + segment.segmentOrdinalIndex }\"\x3e");this.b("\n"+a);this.b('                                \x3c/span\x3e \x3cspan class\x3d"text-nowrap" data-bind\x3d"text: flightBreakdown.flight.aircraftType,');
this.b("\n"+a);this.b("                                    attr: { 'data-automation': 'flight-aircraft-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-6 col-lg-2"\x3e');this.b("\n"+a);this.b('                              Duration \x3cspan data-bind\x3d"vuiDuration: flightBreakdown.flight.flightDurationInMinutes,');this.b("\n"+a);this.b("                                    attr: { 'data-automation': 'flight-duration-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-12 vui-hud-pax-options col-lg-7"\x3e');this.b("\n"+a);this.b('                              \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                                \x3cdiv class\x3d"col-xs-3 col-lg-4"\x3e');this.b("\n"+a);this.b("                                  \x3c!-- ko foreach: {data: $component.names, as: 'paxName'} --\x3e");
this.b("\n"+a);this.b('                                  \x3cp class\x3d"vui-hud-leg-paxname" data-bind\x3d"text: paxName"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"col-xs-3 col-lg-2"\x3e');this.b("\n"+a);this.b("                                  \x3c!-- ko if: flightBreakdown.seatSelections.available \x3d\x3d\x3d 'NO' --\x3e");
this.b("\n"+a);this.b("                                  \x3cdiv\x3eSeat selection unavailable\x3c/div\x3e");this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                  \x3c!-- ko if: flightBreakdown.seatSelections.available \x3d\x3d\x3d 'YES' --\x3e");this.b("\n"+a);this.b("                                  \x3c!-- ko foreach: {data: flightBreakdown.seatSelections.numbers, as: 'seatNumber'} --\x3e");this.b("\n"+a);this.b('                                  \x3cdiv data-bind\x3d"text: seatNumber"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"col-xs-3 col-lg-4" data-automation\x3d"seat-text"\x3e');this.b("\n"+a);this.b("                                  \x3c!-- ko foreach: {data: flightBreakdown.seatSelections.products, as: 'seatProduct'} --\x3e");
this.b("\n"+a);this.b('                                  \x3cdiv data-bind\x3d"if: seatProduct"\x3e');this.b("\n"+a);this.b('                                    \x3cp data-bind\x3d"html: seatProduct"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("                                    \x3c!-- ko if: flightBreakdown.mixedServiceClassFlag --\x3e");this.b("\n"+a);this.b("                                    \x3cspan data-bind\x3d\"html: flightBreakdown.flight.serviceClassText, css: {'vui-highlight-danger': flightBreakdown.mixedServiceClassFlag}\"\x3e\x3c/span\x3e");
this.b("\n"+a);this.b("                                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                  \x3c/div\x3e");this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"col-xs-3 col-lg-2"\x3e');this.b("\n"+a);this.b("                                  \x3c!-- ko if: segment.baggage() --\x3e");this.b("\n"+
a);this.b("                                  \x3c!-- ko foreach: {data: segment.baggage().paxAllowances, as: 'paxAllowance'} --\x3e");this.b("\n"+a);this.b("                                  \x3cdiv data-bind\x3d\"text: paxAllowance, attr: { 'data-automation': 'pax-allowance-' + segment.segmentOrdinalIndex + '-' + $index() }\"\x3e\x3c/div\x3e");this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                                  \x3cdiv data-bind\x3d"text:segment.baggage().extraBaggage,');
this.b("\n"+a);this.b("                                            attr:{'data-automation': segment.baggage().extraBaggage \x26\x26 'extra-baggage'}\"\x3e\x3c/div\x3e");this.b("\n"+a);this.b("                                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                              \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("                          \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                          \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-6 col-lg-3"\x3e');this.b("\n"+a);this.b('                                \x3cspan aria-hidden\x3d"true" data-bind\x3d"html: flightBreakdown.flight.departure,');this.b("\n"+a);this.b("                                    attr: { 'data-automation': 'flight-departure-time-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+
a);this.b('                              \x3cspan class\x3d"sr-only"\x3e');this.b("\n"+a);this.b("                                  departs");this.b("\n"+a);this.b("                                  \x3cspan data-bind\x3d\"vuiLocalDateTime: {value: flightBreakdown.flight.departureDateTime, pattern: 'pattern.hud.datetime.full'}\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                                \x3c/span\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);
this.b('                            \x3cdiv class\x3d"col-xs-6 col-lg-2"\x3e');this.b("\n"+a);this.b('                                \x3cspan aria-hidden\x3d"true" data-bind\x3d"html: flightBreakdown.flight.arrival,');this.b("\n"+a);this.b("                                    attr: { 'data-automation': 'flight-arrival-time-' + segment.segmentOrdinalIndex }\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b('                              \x3cspan class\x3d"sr-only"\x3e');this.b("\n"+a);this.b("                                  arrives");
this.b("\n"+a);this.b("                                  \x3cspan data-bind\x3d\"vuiLocalDateTime: {value: flightBreakdown.flight.arrivalDateTime, pattern: 'pattern.hud.datetime.full'}\"\x3e\x3c/span\x3e");this.b("\n"+a);this.b("                                \x3c/span\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-xs-6 col-lg-7" data-bind\x3d"ifnot: segment.bookingClass"\x3e');this.b("\n"+a);this.b('                              \x3cdiv class\x3d"row vui-note"\x3e');
this.b("\n"+a);this.b('                                \x3cdiv class\x3d"col-lg-4 col-lg-offset-6"\x3eBooking class');this.b("\n"+a);this.b("                                  \x3cspan data-bind\x3d\"text: flightBreakdown.flight.resBookDesigCode,  attr: { 'data-automation': 'flight-booking-class-' + $index() }\"\x3e\x3c/span\x3e\x3c/div\x3e");this.b("\n"+a);this.b("                              \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("                          \x3c/div\x3e");
this.b("\n"+a);this.b("                          \x3c!-- ko if: flightBreakdown.flight.transitInterval --\x3e");this.b("\n"+a);this.b('                          \x3cdiv class\x3d"vui-hud-transit vui-labelled-divider vui-note"\x3e');this.b("\n"+a);this.b('                            \x3cdiv class\x3d"vui-labelled-divider-label"\x3e');this.b("\n"+a);this.b('                              Transit \x3cspan data-bind\x3d"text: flightBreakdown.flight.destination.airportCityName"\x3e\x3c/span\x3e');this.b("\n"+
a);this.b('                              (\x3cspan data-bind\x3d"vuiDuration: flightBreakdown.flight.transitIntervalDurationInMinutes"\x3e\x3c/span\x3e)');this.b("\n"+a);this.b('                              \x3cspan data-bind\x3d"if: flightBreakdown.highlightDestination,');this.b("\n"+a);this.b("                                      css: { 'vui-highlight-danger': flightBreakdown.highlightDestination }\"\x3ePlease note different arrival and departure airports.\x3c/span\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");
this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cdiv class\x3d"row vui-hud-leg-details"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-lg-2 col-lg-offset-3 col-xs-12"\x3e');this.b("\n"+a);this.b('                            \x3cspan data-bind\x3d"if: segment.flightsBreakdown.length \x3e 1"\x3e');
this.b("\n"+a);this.b('                              Duration \x3cspan data-bind\x3d"vuiDuration: segment.duration.standardMinutes"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                            \x3c/span\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-lg-7 col-xs-12"\x3e');this.b("\n"+a);this.b('                          \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-lg-6 col-lg-offset-3 col-xs-6" data-bind\x3d"if: leg.fareCondition"\x3e');
this.b("\n"+a);this.b('                              \x3ca class\x3d"vui-note" data-rel\x3d"fareConditions" target\x3d"_blank" data-bind\x3d"');this.b("\n"+a);this.b("                                    attr: {");this.b("\n"+a);this.b("                                      href: leg.fareCondition.url,");this.b("\n"+a);this.b("                                      'data-track': 'hud-farecondition-' + segment.segmentOrdinalIndex,");this.b("\n"+a);this.b("                                      'data-automation': 'flight-fare-conditions-' + segment.segmentOrdinalIndex");
this.b("\n"+a);this.b('                                    }"\x3e');this.b("\n"+a);this.b('                                \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                                \x3cspan data-bind\x3d"text: leg.fareCondition.text"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                              \x3c/a\x3e");this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b('                            \x3cdiv class\x3d"col-lg-3 col-xs-6" data-bind\x3d"if: segment.showBaggageFullDisclosureLink"\x3e');
this.b("\n"+a);this.b('                              \x3ca class\x3d"vui-note" target\x3d"_blank" data-bind\x3d"attr: { href: segment.baggage().fullDisclosureUrl, \'data-automation\': \'baggage-disclosure-\' + segment.segmentOrdinalIndex }"\x3e');this.b("\n"+a);this.b('                                \x3cspan class\x3d"sr-only" data-bind\x3d"html: segment.title"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                                Baggage info");this.b("\n"+a);this.b("                              \x3c/a\x3e");
this.b("\n"+a);this.b("                            \x3c/div\x3e");this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                      \x3c!-- ko if: segment.baggage() \x26\x26 segment.baggage().dynamicBaggageStatus \x3d\x3d\x3d 'ERROR' \x26\x26 leg.isLast \x26\x26 segment.isLast --\x3e");
this.b("\n"+a);this.b('                      \x3cdiv class\x3d"row vui-hud-baggage-error text-center"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-xl-8 col-xl-offset-2 col-lg-10 col-lg-offset-1"\x3e');this.b("\n"+a);this.b("                          \x3cp\x3e");this.b("\n"+a);this.b("                            \x3cspan class\x3d\"vui-highlight-danger\"\x3eBags\x3c/span\x3e We're sorry, your baggage allowance can't be calculated at this time. Your e-ticket will contain the correct baggage allowance details for your itinerary.");
this.b("\n"+a);this.b('                            \x3ca href\x3d"http://www.airnewzealand.co.nz/baggage" target\x3d"_blank"\x3e');this.b("\n"+a);this.b("                              General baggage allowance details");this.b("\n"+a);this.b("                            \x3c/a\x3e");this.b("\n"+a);this.b("                          \x3c/p\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-lg-2 col-lg-12 vui-hud-leg-costs vui-col-lg-height"');this.b("\n"+a);this.b("                        data-bind\x3d\"css: {'vui-hud-leg-costs-dummy-column': !segment.isFirst}\"\x3e");this.b("\n"+a);this.b("                      \x3c!-- This doens't work on IE as we're not applying height to the parent element. Please see comment on _layout.less  --\x3e");
this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-table-full-height"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cdiv data-bind\x3d"if: leg.costs" class\x3d"vui-table-full-height-row vui-table-full-height-row-expanded"\x3e');this.b("\n"+a);this.b("                          \x3c!-- ko if: segment.isFirst --\x3e");this.b("\n"+a);this.b("                          \x3c!-- ko foreach: {data: leg.costs.items, as: 'costitem'} --\x3e");this.b("\n"+a);this.b("                          \x3ctable class\x3d\"table\" data-bind\x3d\"css: {'vui-hud-leg-costs-total': $data.type \x3d\x3d\x3d 'TOTAL'},");
this.b("\n"+a);this.b("                                attr: { 'data-automation': costitem.dataAutomationLabel }\"\x3e");this.b("\n"+a);this.b("                            \x3ctr\x3e");this.b("\n"+a);this.b('                              \x3ctd\x3e\x3cspan data-bind\x3d"html: costitem.label"\x3e\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b('                              \x3ctd class\x3d"text-right"\x3e\x3cspan class\x3d"vui-hud-leg-costs-amount" data-bind\x3d"html: costitem.amount"\x3e\x3c/span\x3e\x3c/td\x3e');
this.b("\n"+a);this.b("                            \x3c/tr\x3e");this.b("\n"+a);this.b("                          \x3c/table\x3e");this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                        \x3c!-- ko if: segment.isLast \x26\x26 leg.isLast --\x3e");this.b("\n"+a);this.b('                        \x3cdiv class\x3d"vui-table-full-height-row" data-bind\x3d"visible: $component.costs().items.length"\x3e');
this.b("\n"+a);this.b('                          \x3cdiv class\x3d"row vui-hud-footer-item-total"\x3e');this.b("\n"+a);this.b("                            \x3c!-- ko foreach: { data: $component.costs().items, as: 'costitem' } --\x3e");this.b("\n"+a);this.b("                            \x3ctable class\x3d\"table\" data-bind\x3d\"attr: { 'data-automation': 'cost-item-' + costitem.type }\"\x3e");this.b("\n"+a);this.b("                              \x3ctr\x3e");this.b("\n"+a);this.b('                                \x3ctd\x3e\x3cspan data-bind\x3d"html: costitem.label"\x3e\x3c/span\x3e\x3c/td\x3e');
this.b("\n"+a);this.b("                                \x3c!-- ko if: costitem.type \x3d\x3d\x3d 'FLEXIPAY_FEE' --\x3e");this.b("\n"+a);this.b('                                \x3ctd class\x3d"text-right"\x3e\x3cspan data-bind\x3d"html: costitem.formattedAmount"\x3e\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b("                                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                                \x3c!-- ko if: costitem.type !\x3d\x3d 'FLEXIPAY_FEE' --\x3e");this.b("\n"+a);
this.b('                                \x3ctd class\x3d"text-right"\x3e\x3cspan data-bind\x3d"html: costitem.amount"\x3e\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b("                                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                              \x3c/tr\x3e");this.b("\n"+a);this.b("                            \x3c/table\x3e");this.b("\n"+a);this.b("                            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+
a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+
a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"row vui-hud-footer" data-bind\x3d"if: $component.hasData"\x3e');this.b("\n"+a);this.b('              \x3cdiv class\x3d"vui-row-same-height"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-lg-10 col-xs-12 vui-col-lg-height vui-hud-footer-details" data-automation\x3d"hud-footer-details"\x3e');this.b("\n"+a);this.b('                  \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-md-5 col-xs-12 vui-note"\x3e');
this.b("\n"+a);this.b("                      \x3c!-- ko if: $component.showAirpointsDisclaimer --\x3e");this.b("\n"+a);this.b("                      \x3cp data-bind\x3d\"attr: { 'data-automation': 'airpoints-disclaimer' }\"\x3eAirpoints\u2122 are estimated for each eligible passenger from Air New Zealand and Airpoints partner flights.\x3c/p\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                      \x3c!-- ko foreach: { data: $component.benefits(), as: 'benefit' } --\x3e");
this.b("\n"+a);this.b('                      \x3cp data-bind\x3d"html: benefit"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                    \x3cdiv class\x3d"col-md-7 col-xs-12"\x3e');this.b("\n"+a);this.b('                      \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-md-6 vui-hud-footer-contact-details"\x3e');
this.b("\n"+a);this.b("                          \x3c!-- ko if: $component.contactDetails.email || $component.contactDetails.phone--\x3e");this.b("\n"+a);this.b('                          \x3cdiv\x3eContact details \x3cspan aria-hidden\x3d"true"\x3e-\x3c/span\x3e\x3c/div\x3e');this.b("\n"+a);this.b('                          \x3cdiv data-bind\x3d"text: $component.contactDetails.email"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('                          \x3cdiv data-bind\x3d"text: $component.contactDetails.phone"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b('                        \x3cdiv class\x3d"col-md-6 text-right"\x3e');this.b("\n"+a);this.b('                          \x3cdiv data-bind\x3d"if: $component.hasExtraBaggage"\x3e');this.b("\n"+a);this.b('                            \x3ca class\x3d"vui-note" target\x3d"_blank" href\x3d"http://www.airnewzealand.co.nz/extra-bags-terms-and-conditions"');
this.b("\n"+a);this.b('                               data-track\x3d"hud-bagconditions"\x3eExtra bags terms \x26amp; conditions\x3c/a\x3e');this.b("\n"+a);this.b("                          \x3c/div\x3e");this.b("\n"+a);this.b("                          \x3c!-- ko if: $component.showBaggageFullDisclosureLink() --\x3e");this.b("\n"+a);this.b('                          \x3ca class\x3d"vui-note text-nowrap" target\x3d"_blank" data-bind\x3d"attr: { href: $component.baggageFullDisclosureLink(), \'data-automation\': \'baggage-disclosure-hud-footer\'}"\x3e');
this.b("\n"+a);this.b("                            * Excess baggage charges may apply");this.b("\n"+a);this.b("                          \x3c/a\x3e");this.b("\n"+a);this.b("                          \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-lg-2 col-xs-12 vui-col-lg-height vui-hud-footer-totals" data-automation\x3d"hud-footer-totals"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-hud-footer-total-wrapper vui-vertical-align-middle"\x3e');this.b("\n"+a);this.b('                    \x3ca href\x3d"#" class\x3d"vui-link-primary vui-link-unstyled vui-hud-hide-details-link" data-track\x3d"hud-hidebookingdetails"');
this.b("\n"+a);this.b("                       data-bind\x3d\"click: $component.toggleHud, visible: $component.showLightHud(), attr: {'aria-expanded': (!!$component.isExpanded()).toString() }\"\x3eHide details\x3c/a\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"vui-hud-footer-total text-right" role\x3d"region" aria-label\x3d"Total cost" data-bind\x3d"');this.b("\n"+a);this.b("                      css: { 'has-mixpayment': $component.hasMixedPayment() }\"\x3e");this.b("\n"+a);this.b('                      \x3cdiv aria-live\x3d"polite" aria-atomic\x3d"true" class\x3d"sr-only" data-bind\x3d"html: $component.accessibleTotal"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("                      \x3c!-- ko if: $component.mcpOfferMessage()--\x3e");this.b("\n"+a);this.b('                      \x3cdiv data-bind\x3d"html: $component.mcpOfferMessage()" class\x3d"vui-hud-mcp"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                      \x3c!-- ko if: $component.showCashPayment() --\x3e");this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-hud-total" data-bind\x3d"if: $component.costs().TOTAL" aria-hidden\x3d"true"\x3e');
this.b("\n"+a);this.b('                        \x3cspan class\x3d"sr-only"\x3eTotal cost\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3csup data-bind\x3d"text: $component.costs().TOTAL.currency"\x3e\x3c/sup\x3e');this.b("\n"+a);this.b('                        \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.costs().TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("                      \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-hud-airpoints-payment vui-hud-amount" data-bind\x3d"if: $component.hasAirpointsPayment()"\x3e');this.b("\n"+a);this.b('                        \x3cspan class\x3d"sr-only"\x3eAirpoints Dollars\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3cspan class\x3d"vui-icon-airpointsdollar" title\x3d"Airpoints Dollars"\x3e\x3c/span\x3e\x3cspan');this.b("\n"+a);this.b('                          data-bind\x3d"text: $component.airpointsPayments().TOTAL.amount"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-hud-footer-taxes"\x3e');this.b("\n"+a);this.b("                        \x3c!-- ko if: $component.costs().TAX_TOTAL --\x3e");this.b("\n"+a);this.b("                        \x3c!-- ko if: $component.taxes.taxesBreakdownAvailable() --\x3e");this.b("\n"+a);this.b('                        \x3cbutton name\x3d"hudTaxBreakdown" data-bind\x3d"click: $component.taxes.showBreakdown"');
this.b("\n"+a);this.b('                                class\x3d"btn-link vui-hud-footer-tax-link js-vui-hud-footer-tax-link"');this.b("\n"+a);this.b('                                aria-controls\x3d"vui-hud-taxes-breakdown" type\x3d"button"\x3e');this.b("\n"+a);this.b('                          \x3cspan class\x3d"sr-only"\x3edisplay taxes breakdown table\x3c/span\x3e');this.b("\n"+a);this.b('                          \x3cspan data-bind\x3d"html: $component.costs().TAX_TOTAL.label" aria-hidden\x3d"true"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                        \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                        \x3c!-- ko if: !$component.taxes.taxesBreakdownAvailable() --\x3e");this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"html: $component.costs().TAX_TOTAL.label"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                        \x3c!-- ko if: $component.mcpOfferMessage() --\x3e\x3cspan");
this.b("\n"+a);this.b('                          data-bind\x3d"html: $component.costs().TAX_TOTAL.currency"\x3e\x3c/span\x3e\x3c!-- /ko --\x3e\x3cspan');this.b("\n"+a);this.b('                          data-bind\x3d"html: $component.costs().TAX_TOTAL.amount"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"if: $component.isTaxInclusive()"\x3e');this.b("\n"+a);this.b('                        \x3cspan aria-hidden\x3d"true"\x3eincl. taxes \x26amp; charges\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3eincludes taxes and charges\x3c/span\x3e');
this.b("\n"+a);this.b("                      \x3c/span\x3e");this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cdiv class\x3d"vui-hud-footer-promo" data-bind\x3d"if: $component.costs().promo"\x3e');this.b("\n"+a);this.b('                        \x3cspan data-bind\x3d"html: $component.costs().promo.label"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                        \x3cspan class\x3d"vui-hud-amount" data-bind\x3d"html: $component.costs().promo.amount"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                      \x3cvui-hud-ap-total-summary params\x3d"hud: $component"\x3e\x3c/vui-hud-ap-total-summary\x3e');this.b("\n"+a);this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("            \x3cvui-hud-vehicle\x3e\x3c/vui-hud-vehicle\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("          \x3c!-- collapsed view of the HUD --\x3e");this.b("\n"+a);this.b('          \x3cdiv data-bind\x3d"if: !$component.isExpanded() \x26\x26 $component.showLightHud()"\x3e');this.b("\n"+a);this.b('            \x3cvui-hud-review params\x3d"hud: $component"\x3e\x3c/vui-hud-review\x3e');this.b("\n"+a);this.b("          \x3c/div\x3e");
this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hud.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/hud/html/hudvehicle.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={HudVehicle:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"" data-bind\x3d"if: $component.vehicle"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"row vui-hud-vehicle" role\x3d"region" aria-label\x3d"rental car"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"col-lg-8 col-xl-9"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"row"\x3e');
this.b("\n"+a);this.b('          \x3cdiv class\x3d"col-md-3"\x3e');this.b("\n"+a);this.b('            \x3cdiv data-bind\x3d"text: $component.vehicle().vendorName" class\x3d"vui-hud-vehicle-vendor"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('            \x3cdiv\x3e\x3cspan data-bind\x3d"text: $component.vehicle().car.name"\x3e\x3c/span\x3e\x3c/div\x3e');this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b('          \x3cdiv class\x3d"col-md-9"\x3e');this.b("\n"+a);this.b("            \x3ctable\x3e");
this.b("\n"+a);this.b("              \x3ctr\x3e");this.b("\n"+a);this.b('                \x3ctd\x3e\x3cspan class\x3d"vui-hud-vehicle-time-label text-nowrap"\x3ePick up\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b("                \x3ctd\x3e");this.b("\n"+a);this.b('                  \x3cspan data-bind\x3d"text: $component.vehicle().pickup.displayDatetime"\x3e\x3c/span\x3e /');this.b("\n"+a);this.b('                  \x3cspan data-bind\x3d"text: $component.vehicle().pickup.location"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                \x3c/td\x3e");this.b("\n"+a);this.b("              \x3c/tr\x3e");this.b("\n"+a);this.b("              \x3ctr\x3e");this.b("\n"+a);this.b('                \x3ctd\x3e\x3cspan class\x3d"vui-hud-vehicle-time-label text-nowrap"\x3eDrop off\x3c/span\x3e\x3c/td\x3e');this.b("\n"+a);this.b("                \x3ctd\x3e");this.b("\n"+a);this.b('                  \x3cspan data-bind\x3d"text: $component.vehicle().dropoff.displayDatetime"\x3e\x3c/span\x3e /');this.b("\n"+
a);this.b('                  \x3cspan data-bind\x3d"text: $component.vehicle().dropoff.location"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c/td\x3e");this.b("\n"+a);this.b("              \x3c/tr\x3e");this.b("\n"+a);this.b("            \x3c/table\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b('      \x3cdiv class\x3d"col-lg-4 col-xl-3 text-right" with\x3d"$component.vehicle().total"\x3e');
this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-hud-vehicle-total-label"\x3eTotal paid \x3cspan class\x3d"vui-hud-vehicle-total"');this.b("\n"+a);this.b('            data-bind\x3d"text: $component.vehicle().total"\x3e\x3c/span\x3e\x3c/div\x3e');this.b("\n"+a);this.b("        \x3cdiv\x3e\x3cb\x3ePlease pay full cost of rental car on collection\x3c/b\x3e\x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.hud.hudvehicle.hoganTemplates",c);b.default=c});(function(c){c.bindingHandlers.vuiHudTaxesTableBreakdown={init:function(d,a){var b=c.unwrap(a());c.applyBindingsToNode(d,{vuiFadedIn:b.isTaxesBreakdownVisible,vuiDismissOverlay:b.hideBreakdown})},update:function(d,a){if(c.unwrap(a()).isTaxesBreakdownVisible())d.setProperty("aria-hidden",!1),d.focus();else{var b=document.getElement(".js-vui-hud-footer-tax-link");d.setProperty("aria-hidden",!0);b&&b.focus()}}};c.bindingHandlers.vuiHudCollapseWhenReadyIfNeeded={update:function(d,a,b,c){a=a();var e=c.isPurchaseTicketsPage,
f=a.subscribe(function(a){if(a&&!c.disableHudCollapseWhenReady){a=d.querySelector(".vui-hud-sticky");var b=a.getCoordinates().top,b=window.getSize().y-b;a.getSize().y>=b?(c.isExpanded(!1),d.addClass("vui-hud-auto-collapsed")):e&&VUI.Injector.get("GAEventTracker").cacheAndTrackCustomEvent({category:"hud-toggle",action:"autoexpanded",label:"/vbook/actions/purchasetickets"});f.dispose()}})}}})(ko);(function(){Class("VUI.Hud.HudDataSource",{Implements:[VUI.CatchUpEvents],Binds:["isAirpoints4BusinessElegible","isAirpoints4BusinessPopulated"],ComponentDataEvents:"HUD",InjectAs:{name:"HudDataSource",singleton:!0},initialize:function(){this.hudState=null},onConfig:function(a){this.fireEvent("config",a)},onState:function(a){this.hudState=a;this.fireEvent("state",a)},isAirpoints4BusinessPopulated:function(){if(this.hudState){var a=this.hudState.hud.journey.accrual;if(a)return a.airpointsForBusinessPointEligible||
!!a.airpointsForBusinessPoint}return null},isAirpoints4BusinessEligible:function(){if(this.hudState){var a=this.hudState.hud.journey.accrual;if(a)return a.airpointsForBusinessPointEligible}return null}})})();(function(){Class("VUI.Hud.AirAccrualDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"airaccrual",InjectAs:{name:"AirAccrualDataSource",singleton:!0},initialize:function(){},onConfig:function(a){this.request=new MtRequest.JSON({url:a.url,noCache:!0,link:"cancel"})},onState:function(a){this.fireEvent("invalidating-airaccrual",[Array.mtFrom(a.invalidated)]);this.request.post({journeyLegId:a.invalidated})},onData:function(a){this.fireEvent("results",[a.accruals])},refresh:function(){this.fireEvent("invalidating-airaccrual");
this.request.post({_eventName:"journey"})}})})();(function(){Class("VUI.Hud.HudDynamicBaggageDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"HudDynamicBaggage",InjectAs:{name:"HudDynamicBaggageDataSource",singleton:!0},initialize:function(){},onConfig:function(a){this.request=new MtRequest.JSON({url:a.url,noCache:!0,link:"cancel"})},onState:function(){this.fireEvent("invalidating-huddynamicbaggage");this.request.post()},onData:function(a){this.fireEvent("results",[a.baggages])}})})();(function(){Class("VUI.Hud.HudTaxesDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"HudTaxes",InjectAs:{name:"HudTaxesDataSource",singleton:!0},onConfig:function(a){this.request=new MtRequest.JSON({url:a.url});this.fireEvent("config",a)},onData:function(a){this.fireEvent("data",a)},doUpdateTaxes:function(){this.request.post()}})})();(function(){Class("VUI.Hud.HudVehicleDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"HudVehicle",InjectAs:{name:"HudVehicleDataSource",singleton:!0},onData:function(a){this.fireEvent("results",a)}})})();(function(){Class("VUI.Hud.HudTaxesViewModel",{Depends:["HudTaxesDataSource"],Implements:[VUI.Disposable],Binds:["_onTaxesConfig","_onTaxesResults","showBreakdown","hideBreakdown"],InjectAs:{name:"HudTaxesViewModel",singleton:!0},initialize:function(){this.addRecordedEvent(this.HudTaxesDataSource,"config",this._onTaxesConfig);this.addRecordedEvent(this.HudTaxesDataSource,"data",this._onTaxesResults);this.isTaxesBreakdownVisible=ko.observable(!1);this.taxesBreakdownAvailable=ko.observable(!1);this.items=
ko.observable()},_onTaxesConfig:function(){this.taxesBreakdownAvailable(!0)},_onTaxesResults:function(a){a.items&&(this.items(a.items.filter(function(a){return"TOTAL"!==a.type})),this.isTaxesBreakdownVisible(!0))},showBreakdown:function(){this.isTaxesBreakdownVisible()||this.HudTaxesDataSource.doUpdateTaxes()},hideBreakdown:function(){this.isTaxesBreakdownVisible(!1)}})})();(function(){Class("VUI.Hud.HudVehicleComponentViewModel",{Implements:[VUI.Disposable],Depends:["HudVehicleDataSource"],Binds:["_onVehicleResults"],initialize:function(){this.vehicle=ko.observable();this.addRecordedEvent(this.HudVehicleDataSource,"results:catchup",this._onVehicleResults)},_onVehicleResults:function(a){this.vehicle(this._decorateVehicle(a.vehicleSelection))},_decorateVehicle:function(a){a&&(a.total=a.car.totalPrice.symbol+"0");return a}});ko.components.register("vui-hud-vehicle",{template:{component:"vui.hud.hudvehicle",
template:"HudVehicle"},viewModel:VUI.Hud.HudVehicleComponentViewModel})})();(function(){Class("VUI.Hud.HudComponentViewModel",{Implements:[VUI.Disposable],Depends:"HudDataSource AirAccrualDataSource HudDynamicBaggageDataSource TimePreferenceViewModel StringUtils HudTaxesViewModel GAEventTracker MediaQueries".split(" "),Optionally:["GTMEventTracker"],Binds:"_onConfig _onState _decorateLeg _decorateSegment _onAccrualResults _onBaggageResults _onVehicleResults _onBaggageInvalidation _onAccrualResultsInvalidation _anyBaggageFullDisclosureLink _initEventHandlers _initObservables toggleHud _onChangeBreakpoint _showCloseButtonAtTop".split(" "),
initialize:function(a){this.stepsComponent=VUI.Injector.get("initStepProgressBar");var b=this.stepsComponent.config.steps.findBy("id","purchase");this.isPurchaseTicketsPage=b&&b.current;this._lang=Locale.get("vui.hud");this.taxes=this.HudTaxesViewModel;this.showLightHud=ko.observable(a&&a.showLightHud);this._initObservables();this._initEventHandlers();this._initComputeds();this._hackConfig();this.record(new VUI.tracking.GTMContainerTracker(".vui-hud-wrapper",{eventDetails:{category:"flight booking",
action:"hud"}}))},_initEventHandlers:function(){this.addRecordedEvent(this.HudDataSource,"config:catchup",this._onConfig);this.addRecordedEvent(this.HudDataSource,"state:catchup",this._onState);this.addRecordedEvent(this.AirAccrualDataSource,"results:catchup",this._onAccrualResults);this.addRecordedEvent(this.AirAccrualDataSource,"invalidating-airaccrual:catchup",this._onAccrualResultsInvalidation);this.addRecordedEvent(this.HudDynamicBaggageDataSource,"results:catchup",this._onBaggageResults);this.addRecordedEvent(this.HudDynamicBaggageDataSource,
"invalidating-huddynamicbaggage:catchup",this._onBaggageInvalidation);this.addRecordedEvent(this.MediaQueries,"changeBreakpoint:catchup",this._onChangeBreakpoint)},_onChangeBreakpoint:function(a){this.showCloseButtonAtTop(this._showCloseButtonAtTop(a))},_initObservables:function(){this.hasData=ko.observable(!1);this.showModifySearch=ko.observable(!1);this.isExpanded=ko.observable(!1);this.isReady=ko.observable(!1);this.canShowTogglePrompt=ko.observable(!1);this._initCloseButtonObservables();this.legs=
ko.observableArray([]);this.firstLeg=ko.pureComputed(function(){return 0<this.legs().length?this.legs()[0]:{flightSegments:[]}},this);this.returnLeg=ko.pureComputed(function(){return 0===this.legs().length?null:1<this.legs().length?this.legs()[this.legs().length-1]:{flightSegments:[{index:0,isFirst:!0,flightText:ko.observable(null),baggage:function(){return!0},departureDateTime:ko.observable([0,0,0])}]}},this);this.party=ko.observable();this.contactDetails={email:ko.observable(),phone:ko.observable()};
this.costs=ko.observable({items:[]});this.journeyType=ko.observable();this.journeyTitle=ko.observable();this.journeyTypeTitle=ko.observable();this.journeyFlightsText=ko.observable();this.names=ko.observableArray([]);this.accrual=ko.observable(!1);this.hasExtraBaggage=ko.observable(!1);this.airpointsPayments=ko.observable({items:[]});this.mcpOfferMessage=ko.observable();this.benefits=ko.observableArray([]);this.showBaggageInfoOnly=ko.observable(!1);this.showAirpointsDisclaimer=ko.observable(!0);this.lockHeightNow=
ko.observable(!0);this.accessibleTotal=ko.observable().extend({rateLimit:{method:"notifyWhenChangesStop",timeout:100}})},_showCloseButtonAtTop:function(a){return["xs","sm","md"].contains(a.name)},_initCloseButtonObservables:function(){var a=this.MediaQueries.getCurrentBreakpointState();this.showCloseButtonAtTop=ko.observable(this._showCloseButtonAtTop(a))},_initComputeds:function(){var a=this;a.baggageFullDisclosureLink=ko.pureComputed(function(){var b;a.legs().every(function(a){return a.flightSegments().every(function(a){b=
(a=a.baggage())&&a.fullDisclosureUrl;return!!b})});return b});a.showBaggageFullDisclosureLink=ko.pureComputed(function(){return a.showBaggageInfoOnly()&&a.baggageFullDisclosureLink()});a.hasAirpointsPayment=ko.pureComputed(function(){return a.airpointsPayments().TOTAL&&!a.airpointsPayments().TOTAL.zero});a.hasCashPayment=ko.pureComputed(function(){var b=a.costs();return b&&b.TOTAL&&!b.TOTAL.zero});a.hasMixedPayment=ko.pureComputed(function(){return a.hasCashPayment()&&a.hasAirpointsPayment()});a.showCashPayment=
ko.pureComputed(function(){return a.hasAirpointsPayment()?a.hasCashPayment():!0});a.isTaxInclusive=ko.computed(function(){return a.costs()&&!a.costs().TAX_TOTAL&&a.costs().TOTAL&&!a.costs().TOTAL.zero});a.canExpand=ko.pureComputed(function(){return a.hasCashPayment()||a.hasAirpointsPayment()});a.isAffixDisabled=ko.pureComputed(function(){return a.isExpanded()||a.showLightHud()});a._initToggleComputeds();ko.computed(function(){var b=a.costs(),d=!a.showCashPayment(),e="",c="",f="",g="",h="";b&&(d?c=
0:(e=a.airpointsPayments()&&a.airpointsPayments().TOTAL&&a.airpointsPayments().TOTAL.amount||0,c=b.TOTAL&&b.TOTAL.amount),a.isTaxInclusive.peek()?f=a._lang["hud.sronly.label.taxes.inclusive"]:b.TAX_TOTAL&&(f=a._lang["hud.sronly.label.taxes.exclusive"].substitute({amount:b.TAX_TOTAL.amount})),b.hasFlexipayFee&&((b=b.items.find(function(a){return"FLEXIPAY_FEE"===a.type}))&&(g=a._lang["hud.sronly.label.flexipay.fee"].substitute({flexipayfee:b.amount})),c&&(h="$"+(parseFloat(c.replace("$",""))+parseInt(e,
10)).toFixed(2),h=a._lang["hud.sronly.label.flexipay.combinedtotal"].substitute({flexipayCombinedTotalAmount:h}))));e=a._lang["hud.sronly.label.totalsummary"].substitute({total:c,airpoints:e,taxes:f,flexipay:g,flexipayCombinedTotal:h});a.accessibleTotal(e)})},_initToggleComputeds:function(){var a=this,b=ko.observable(!!window.localStorage.getItem("VBook.HudViewModel.userToggled"));a.userToggled=ko.pureComputed({read:function(){return b()},write:function(a){a?window.localStorage.setItem("VBook.HudViewModel.userToggled",
"true"):window.localStorage.removeItem("VBook.HudViewModel.userToggled");b(a)}});a.showTogglePrompt=ko.pureComputed(function(){return a.canShowTogglePrompt()&&a.canExpand()&&!a.isExpanded()&&!a.userToggled()&&!a.showLightHud()})},_onAccrualResultsInvalidation:function(a){var b=this;a?a.each(function(a){b.legs().filter(function(b){return b.journeyLegId===a}).each(function(a){a.accrual(!1)})}):b.legs().each(function(a){a.accrual(!1)})},_onAccrualResults:function(a){var b=this;a.each(function(a){a&&
a.journeyLegId?b.legs().filter(function(b){return b.journeyLegId===a.journeyLegId}).each(function(b){b.accrual(a)}):b.accrual(a)})},_onBaggageResults:function(a){var b=this;Object.each(a,function(a,e){b.legs().filter(function(a){return a.journeyLegId===parseInt(e)}).each(function(b){b.flightSegments().each(function(b){return b.baggage(a[b.segmentIndex])})})})},_onBaggageInvalidation:function(){this.legs().each(function(a){a.flightSegments().each(function(a){a.baggage(!1)})})},_onConfig:function(a){this.showBaggageInfoOnly(a.showBaggageInfoOnly);
this.showAirpointsDisclaimer(a.showAirpointsDisclaimer)},_hackConfig:function(){var a=this.stepsComponent||VUI.Injector.get("initStepProgressBar");if(a){var b=a.config.steps,a=b.findBy("id","itinerary"),b=b.findBy("id","purchase"),a=a&&a.current,b=b&&b.current;this.canShowTogglePrompt(b);this.showModifySearch(a);this.isPurchaseTicketsPage=b;this.isExpanded(this.isPurchaseTicketsPage)}},_onState:function(a){this.journeyType(a.hud.journey.journeyType);this.hasData(!0);this.legs(a.hud.journey.legs.map(this._decorateLeg));
this.party(a.hud.journey.party);this.costs(this._decorateCosts(a.hud.journey.costs.items));a.hud.journey.costs.airpointsPaymentItems&&this.airpointsPayments(this._decorateCosts(a.hud.journey.costs.airpointsPaymentItems));this.mcpOfferMessage(a.hud.journey.costs.mcpOfferMessage);this.journeyTypeTitle(a.hud.journey.journeyTypeTitle);this.journeyFlightsText(a.hud.journey.journeyFlightsText);a.hud.contactDetails&&(this.contactDetails.email(a.hud.contactDetails.email),this.contactDetails.phone(a.hud.contactDetails.phone));
this.journeyTitle(a.hud.journey.journeyTitle);this.names(a.hud.journey.names);this.benefits(a.hud.journey.benefits);this.accrual(a.hud.journey.accrual);this.hasExtraBaggage(a.hud.journey.legs.some(function(a){return a.flightSegments().some(function(a){return a.baggage()&&a.baggage().extraBaggage})}));this.isReady(!0);this.lockHeightNow.notifySubscribers(!0)},getAccrualStatusPointLabel:function(a){var b=this._lang["hud.statuspoints.label"];return b&&a?b.substitute({balance:a}):""},isMultistop:function(){return"MULTISTOP"===
this.journeyType()||"MULTICITY"===this.journeyType()},isReturn:function(){return"RETURN"===this.journeyType()},isOneway:function(){return"ONE_WAY"===this.journeyType()},isInternationalMultistop:function(){return"MULTISTOP"===this.journeyType()},toggleHud:function(a){this.isExpanded(!this.isExpanded());this.userToggled(!0);this.GAEventTracker.trackEvent("hud-toggle",this.isExpanded()?"expanded":"collapsed",window.location.pathname);a&&this.GTMEventTracker&&this.GTMEventTracker.trackNonApplicationGeneralEvent("hud-toggle-top",
this.isExpanded()?"expanded":"collapsed");this.isPurchaseTicketsPage&&this.lockHeightNow(this.isExpanded())},_decorateCosts:function(a){var b=this,d=["TOTAL","TAX_TOTAL"],e=["PROMO_CODE_DISCOUNT","DISCOUNT_CARD_DISCOUNT","FDT_DISCOUNT","LOOKUP_DISCOUNT"],c={items:[]};a.each(function(a){d.contains(a.type)?c[a.type]=a:e.contains(a.type)?c.promo=a:("FLEXIPAY_FEE"===a.type&&(a.formattedAmount=b._lang["vui.hud.costs.flexipay.amount"].substitute({amount:a.amount}),c.hasFlexipayFee=!0),c.items.push(a))});
return c},_decorateLegCosts:function(a){a.dataAutomationLabel="segment-cost-"+(a.paxType?a.paxType:a.type)},_decorateSegment:function(a,b,d,e){var c=this;b.isFirst=0===d;b.isLast=d===e.length-1;b.baggage=ko.observable(b.baggage);b.party=ko.pureComputed(function(){if(1===a.journeyLegId&&0===d||c.isExpanded())return c.party()});var f=b.title;b.title=ko.pureComputed(function(){return c.isExpanded()||c.isReturn()?f:0===d&&1===a.journeyLegId?c.journeyTitle():c.journeyTypeTitle()});var g=b.flightText;b.flightText=
ko.pureComputed(function(){return c.isExpanded()||!c.isMultistop()?g:!c.isExpanded()&&a.isFirst&&c.isMultistop()?c.journeyFlightsText():""});b.arrival=c._getDayTimeLabel(b.arrivalDateTime,b.departureDateTime,!1);b.departureTimeText=ko.pureComputed(function(){return 7===b.departureDateTime.length&&0===b.departureDateTime[3]&&0===b.departureDateTime[4]&&0===b.departureDateTime[5]&&0===b.departureDateTime[6]?"":VUI.DateFormatter.formatLocalDateTime(b.departureDateTime,c.TimePreferenceViewModel.timePattern())});
"array"!==typeOf(b.arrivalDateTime)&&(b.departureDateTime[3]=12);b.duration&&!b.duration.standardSeconds&&c._decorateDuration(b);if(b.flightsBreakdown){1===b.flightsBreakdown.length&&(c.isReturn()||c.isOneway())&&(b.showAirportCodes=!0,b.firstFlightOrigin=b.flightsBreakdown[0].flight.origin.airportCode,b.firstFlightDestination=b.flightsBreakdown[0].flight.destination.airportCode);var h={ECONOMY:c._lang["hud.seat.product.name.economy"],PREMIUM_ECONOMY:c._lang["hud.seat.product.name.pe"],BUSINESS:c._lang["hud.seat.product.name.business"]};
b.flightsBreakdown.each(function(a){a.flight.departure=c._getDayTimeLabel(a.flight.departureDateTime,b.departureDateTime,!0);a.flight.arrival=c._getDayTimeLabel(a.flight.arrivalDateTime,b.departureDateTime,!1);a.flight.serviceClassText=h[a.flight.serviceClass];if(a.seatSelections){var d=c.StringUtils.getCommaSeparated(a.seatSelections.numbers.map(c._lowerCaseNoSeatNumberText));a.seatSelections.numbersCollapsed=c.StringUtils.sentenceCasing(d,!1);d=c.StringUtils.getCommaSeparated(a.seatSelections.products.clean());
a.seatSelections.productsCollapsed=c.StringUtils.sentenceCasing(d,!0)}a.citypair=a.flight.origin.airportCode+"-"+a.flight.destination.airportCode});b.bookingClass=ko.pureComputed(function(){if(!b.flightsBreakdown)return null;var a=b.flightsBreakdown[0].flight.resBookDesigCode;return b.flightsBreakdown.every(function(b){return a===b.flight.resBookDesigCode})?a:null});b.flightsBreakdown[0].isFirst=!0;b.isFirst=0===d;b.isLast=d===e.length-1;b.showBaggageFullDisclosureLink=ko.pureComputed(function(){return!c.showBaggageInfoOnly()&&
"YES"===b.baggage().dynamicBaggageStatus})}return b},_decorateDuration:function(a){var b=a.duration,d=Math.floor(b/1E3),e=Math.floor(d/60),c=Math.floor(e/60);a.duration={standardSeconds:d,standardMinutes:e,standardHours:c,standardDays:Math.floor(c/24),millis:b}},_decorateLeg:function(a,b,d){a.isFirst=0===b;a.isLast=b===d.length-1;a.accrual=ko.observable(a.accrual);Array.isArray(a.flightSegments)&&(a.flightSegments=ko.observableArray(a.flightSegments.map(this._decorateSegment.bind(this,a))));a.isLast=
b===d.length-1;a.isLastForCollapsedHud=2===a.journeyLegId||1===d.length;a.lastSegment=ko.pureComputed(function(){return 0<this.flightSegments().length?this.flightSegments()[0]:null},a);a.costs&&a.costs.items&&a.costs.items.each(this._decorateLegCosts);return a},_getDayTimeLabel:function(a,b,d){var e=this;return ko.pureComputed(function(){var c="hud.",c=d?c+"departs.":c+"arrives.",f=VUI.DateFormatter.formatLocalDateTime(a,e.TimePreferenceViewModel.timePattern()),g;VUI.DateFormatter.isSameLocalDate(a,
b)?c+="time.label":(c+="daytime.label",g=VUI.DateFormatter.formatLocalDateTime(a,"pattern.date.daydate.short"));return e._lang[c].substitute({day:g,time:f})})},_lowerCaseNoSeatNumberText:function(a){return a.test("[0-9]+[A-Z]+")?a:a.toLowerCase()}});ko.components.register("vui-hud",{template:{component:"vui.hud.hud",template:"Hud"},viewModel:VUI.Hud.HudComponentViewModel})})();__registerModule("/nz/co/airnz/vui/stepprogressbar/stepprogressbar.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{stepprogressbar:b});a.default=b});(function(){Class("VUI.StepProgressBarComponentViewModel",{Implements:[VUI.Disposable],Depends:["initStepProgressBar"],Optionally:["initToggles"],initialize:function(){this.steps=this.initStepProgressBar&&this.initStepProgressBar.config.steps||[];this.steps.each(function(a,b){a.number=b+1;a.stateClass=a.current?"is-current":a.url?"is-visited":""});this.record(new VUI.tracking.GTMContainerTracker(".vui-step-progress-bar",{eventDetails:{category:"flight booking",action:"step progress bar"}}))}});ko.components.register("vui-stepprogressbar",
{template:{component:"vui.stepprogressbar.stepprogressbar",template:"StepProgressBar"},viewModel:VUI.StepProgressBarComponentViewModel})})();__registerModule("/nz/co/airnz/vui/stepprogressbar/html/stepprogressbar.template.html",function(f,d){Object.defineProperty(d,"__esModule",{value:!0});var e={StepProgressBar:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container vui-step-progress-bar" role\x3d"navigation" aria-label\x3d"booking steps" data-bind\x3d"visible: $component.steps.length"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-step-bar row" data-bind\x3d"foreach: {data: $component.steps, as: \'step\'}"\x3e');
this.b("\n"+a);this.b("        \x3c!-- ko if: step.url --\x3e");this.b("\n"+a);this.b('          \x3ca class\x3d"vui-step vui-link-unstyled" data-track\x3d"breadcrumbs"');this.b("\n"+a);this.b('              data-bind\x3d"attr: {href: step.url}, css: step.stateClass"\x3e');this.b("\n"+a);this.b(this.rp("stepContent",b,c,"            "));this.b("          \x3c/a\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("        \x3c!-- ko if: !step.url --\x3e");this.b("\n"+a);
this.b('          \x3cdiv class\x3d"vui-step" data-bind\x3d"css: step.stateClass"\x3e');this.b("\n"+a);this.b(this.rp("stepContent",b,c,"            "));this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("    ");return this.fl()},stepContent:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-numbered-step vui-step-content"\x3e');this.b("\n"+
a);this.b('      \x3cspan class\x3d"vui-step-number" data-bind\x3d"text: step.number"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"vui-step-name vui-overflow-ellipsis" data-bind\x3d"text: step.name"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.stepprogressbar.stepprogressbar.hoganTemplates",e);d.default=e});__registerModule("/nz/co/airnz/vui/review/html/review.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Review:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b("\n"+a);this.b("    \x3c!--ko if : $component.showStepAtTop()--\x3e");this.b("\n"+a);this.b('      \x3cvui-stepprogressbar class\x3d"hide-margins"\x3e\x3c/vui-stepprogressbar\x3e');this.b("\n"+a);this.b('      \x3cvui-hud params\x3d"{showLightHud: true}" class\x3d"vui-hud-wrapper affix-sticky vui-overlay-wrapper"\x3e\x3c/vui-hud\x3e');
this.b("\n"+a);this.b("    \x3c!--/ko--\x3e");this.b("\n"+a);this.b("\n"+a);this.b("    \x3c!--ko if : !$component.showStepAtTop()--\x3e");this.b("\n"+a);this.b('      \x3cvui-hud params\x3d"{showLightHud: false}" class\x3d"vui-hud-wrapper affix-sticky vui-overlay-wrapper"\x3e\x3c/vui-hud\x3e');this.b("\n"+a);this.b("      \x3cvui-stepprogressbar\x3e\x3c/vui-stepprogressbar\x3e");this.b("\n"+a);this.b("    \x3c!--/ko--\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");
return this.fl()}};Object.place("templates.vui.review.review.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/review/review-component",function(b,e){var a=b("../referencerecorder/referencerecorder"),d=babelHelpers.interopRequireDefault(a),a=b("./html/review.template.html"),a=babelHelpers.interopRequireDefault(a),c=function(){function a(){var b=this;babelHelpers.classCallCheck(this,a);this._references=new d.default;this.showStepAtTop=ko.observable(!1);var c=VUI.Injector.get("MediaQueries");this._references.addRecordedEvent(c,"changeBreakpoint:catchup",function(a){b.showStepAtTop(["xs",
"sm"].contains(a.name))})}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._references.dispose()}}]);return a}();ko.components.register("vui-review",{template:a.default.Review,viewModel:c})});var Cookie=new Class({Implements:Options,options:{path:"/",domain:!1,duration:!1,secure:!1,document:document,encode:!0},initialize:function(a,b){this.key=a;this.setOptions(b)},write:function(a){this.options.encode&&(a=encodeURIComponent(a));this.options.domain&&(a+="; domain\x3d"+this.options.domain);this.options.path&&(a+="; path\x3d"+this.options.path);if(this.options.duration){var b=new Date;b.setTime(b.getTime()+864E5*this.options.duration);a+="; expires\x3d"+b.toGMTString()}this.options.secure&&
(a+="; secure");this.options.document.cookie=this.key+"\x3d"+a;return this},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"\x3d([^;]*)");return a?decodeURIComponent(a[1]):null},dispose:function(){(new Cookie(this.key,Object.merge({},this.options,{duration:-1}))).write("");return this}});Cookie.write=function(a,b,c){return(new Cookie(a,c)).write(b)};Cookie.read=function(a){return(new Cookie(a)).read()};
Cookie.dispose=function(a,b){return(new Cookie(a,b)).dispose()};__registerModule("/nz/co/airnz/vui/sessiontimeout/sessiontimeout.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"vui.sessiontimeout.heading":"You are nearly out of time to complete this booking!","vui.sessiontimeout.description":"You can continue your booking by choosing the option below.","vui.sessiontimeout.extend.session.action":"Continue with booking","vui.sessiontimeout.timer.message":'Your booking session will be reset in \x3cspan class\x3d"vui-sessiontimeout-countdown"\x3e{{duration}}\x3c/span\x3e.',
"vui.sessiontimeout.timedout.heading":"You are out of time to complete this booking!","vui.sessiontimeout.timedout.description":"Unfortunately you have not completed your purchase.","vui.sessiontimeout.redirect.session.action":"Start again"};Locale.define("en-NZ","vui",{sessiontimeout:b});a.default=b});__registerModule("/nz/co/airnz/vui/dialog/html/dialog.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Dialog:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"" role\x3d"dialog" data-bind\x3d"visible: $component.show(), vuiTabTrap"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-mask vui-dialog-mask"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-dialog-wrapper vui-faded-out" data-bind\x3d"vuiFadedIn: $component.show()"\x3e');
this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-dialog vui-panel" data-bind\x3d"hasFocus: $component.show()" tabindex\x3d"0"\x3e');this.b("\n"+a);this.b("        \x3c!-- ko if: $component.showDismissButton --\x3e");this.b("\n"+a);this.b('          \x3ca href\x3d"#" class\x3d"vui-link-unstyled vui-icon-close vui-dialog-close" data-bind\x3d"click: $component.dismiss"\x3e\x3c/a\x3e');this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('        \x3ch1 class\x3d"vui-section-heading" data-bind\x3d"html: $component.heading"\x3e\x3c/h1\x3e');
this.b("\n"+a);this.b('        \x3cp data-bind\x3d"html: $component.body"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("\n"+a);this.b('        \x3cbutton class\x3d"vui-dialog-action-button btn btn-primary" data-bind\x3d"html: $component.actionLabel, click: $component.action"\x3e\x3c/button\x3e');this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+
a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.dialog.dialog.hoganTemplates",c);b.default=c});(function(){var a={heading:"",body:"",actionLabel:"",show:!1,showDismissButton:!1,action:function(){}},b={};Class("VUI.DialogComponentViewModel",{initialize:function(c){ko.mapping.fromJS(Object.merge({},a,c),b,this)},dismiss:function(){this.show(!1)}});ko.components.register("vui-dialog",{template:{component:"vui.dialog.dialog",template:"Dialog"},viewModel:VUI.DialogComponentViewModel})})();__registerModule("/nz/co/airnz/vui/sessiontimeout/html/sessiontimeout.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={SessionTimeout:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b("\n"+a);this.b("    \x3cdiv data-bind\x3d\"component: {name: 'vui-dialog', params: $component.dialogConfig() }\"\x3e");this.b("\n"+a);this.b("      \x3c!-- ko if: !$parent.sessionTimedOut() --\x3e");this.b("\n"+a);this.b('        \x3cp class\x3d"vui-note" role\x3d"timer" aria-atomic\x3d"true" style\x3d"display:none"');
this.b("\n"+a);this.b('            data-bind\x3d"visible: $parent.showDialog"\x3e');this.b("\n"+a);this.b('          \x3cspan class\x3d"vui-sessiontimeout-countdowntext" data-bind\x3d"html: $parent.timerMessage"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("          \x3c/p\x3e");this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.sessiontimeout.sessiontimeout.hoganTemplates",
c);b.default=c});(function(){Class("VUI.sessionTimeout.SessionTimeoutDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"TimeoutConfig",InjectAs:{name:"SessionTimeoutDataSource",singleton:!0},initialize:function(){},onConfig:function(a){this.request=new MtRequest.JSON({url:a.extendSessionUrl});this.fireEvent("config",a)},extendSession:function(){this.request.get()}})})();(function(){Class("VUI.sessionTimeout.SessionTimeoutComponentViewModel",{Implements:[VUI.Disposable,Events],Depends:["SessionTimeoutModel"],Binds:["_showTimeoutWarning","_timedOut"],initialize:function(b){b=b||{};var a=this;a._lang=Locale.get("vui.sessiontimeout");a.showDialog=ko.observable(!1);a.sessionTimedOut=ko.observable(!1);a.dialogConfig=ko.observable({});a.countdownDisplay=ko.observable();a.heading=ko.observable(b.heading||a._lang["vui.sessiontimeout.heading"]);a.timedoutHeading=ko.observable(b.timedoutHeading||
a._lang["vui.sessiontimeout.timedout.heading"]);a.timerMessage=ko.pureComputed(function(){var b=a.countdownDisplay();return a._lang["vui.sessiontimeout.timer.message"].substitute({duration:b})});a.actionLabel=ko.observable(b.actionLabel||a._lang["vui.sessiontimeout.extend.session.action"]);a.timedOutActionLabel=ko.observable(b.timedOutActionLabel||a._lang["vui.sessiontimeout.redirect.session.action"]);a.addRecordedEvents(a.SessionTimeoutModel,{showWarning:a._showTimeoutWarning,timedOut:a._timedOut,
sessionExtended:function(){a.showDialog(!1)}});a.SessionTimeoutModel.countdownDisplay.subscribe(function(b){a.countdownDisplay(b)});a._handleDocumentVisibilityChange()},_showTimeoutWarning:function(){this.dialogConfig({heading:this.heading(),actionLabel:this.actionLabel(),action:this.SessionTimeoutModel.extendSession.pass(!0),show:this.showDialog});this.showDialog(!0)},_timedOut:function(){this.dialogConfig({heading:this.timedoutHeading(),actionLabel:this.timedOutActionLabel(),action:this.SessionTimeoutModel.redirectToStart,
show:this.showDialog});this.showDialog(!0);this.sessionTimedOut(!0)},_handleDocumentVisibilityChange:function(){var b=this;document.addEventListener("visibilitychange",function(){document.hidden||b.SessionTimeoutModel.checkSessionTimeout()},!1)}});ko.components.register("vui-sessiontimeout",{template:{component:"vui.sessiontimeout.sessiontimeout",template:"SessionTimeout"},viewModel:VUI.sessionTimeout.SessionTimeoutComponentViewModel})})();(function(){Class("VUI.sessionTimeout.SessionTimeoutModel",{Implements:[VUI.Disposable,Events],Depends:["SessionTimeoutDataSource","JsonEventRepeater","GTMEventTracker"],Binds:"_startTimer _showTimeoutWarning _timedOut _onConfig extendSession redirectToStart".split(" "),InjectAs:{name:"SessionTimeoutModel",singleton:!0},initialize:function(){var a=this;a._lang=Locale.get("vui.sessiontimeout");a.sessionTimedOut=!1;a.countdownStarted=!1;a.countdown=ko.observable(0);a.countdownDisplay=ko.pureComputed(function(){return VUI.DateFormatter.formatDurationInSeconds(a.countdown())});
a.addRecordedEvent(a.SessionTimeoutDataSource,"config:catchup",a._onConfig)},_onConfig:function(a){var b=this;b.config=a;b.maxInactiveIntervalInMiliseconds=1E3*a.maxInactiveInterval;b.warningIntervalInMiliseconds=1E3*a.warningInterval;b.timeoutWarningIntervalInMiliseconds=b.maxInactiveIntervalInMiliseconds-b.warningIntervalInMiliseconds;"ALLOWED"===b.config.enabled&&(b.JsonEventRepeater.addEvent("request",function(a){a.options.vuiTrackingKey&&"skip.session.extend"===a.options.vuiTrackingKey||b.extendSession(!1)}),
b._startTimer());"NOT_ALLOWED"===b.config.enabled&&(b.finalTimeoutTimer=b._timedOut.delay(1E3*a.maxSessionLifetimeLeft))},_startTimer:function(){window.clearInterval(this.countdownTimer);window.clearTimeout(this._timeoutTimer);window.clearTimeout(this._warningTimer);this._warningTimer=this._showTimeoutWarning.delay(this.timeoutWarningIntervalInMiliseconds);this._timeoutTimer=this._timedOut.delay(this.maxInactiveIntervalInMiliseconds);this._startTime=Date.now()},_showTimeoutWarning:function(a){"ALLOWED"===
this.config.enabled&&(this._startCountdown(a),this.fireEvent("showWarning"),this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","continue with booking"))},_timedOut:function(){"NOT_APPLICABLE"!==this.config.enabled&&(this.sessionTimedOut=!0,window.clearTimeout(this._warningTimer),this.fireEvent("timedOut"),this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","start again"))},_startCountdown:function(a){var b=this;b.countdown(a?
a:b.config.warningInterval);window.clearInterval(b.countdownTimer);b.countdownTimer=function(){0===b.countdown()?(window.clearInterval(b.countdownTimer),b.sessionTimedOut||b._timedOut()):b.countdown(b.countdown()-1)}.periodical(1E3);b.countdownStarted=!0},extendSession:function(a){a&&this.sessionTimedOut?this.redirectToStart():"ALLOWED"!==this.config.enabled||this.sessionTimedOut||(this._startTimer(),this.fireEvent("sessionExtended"),this.countdownStarted=!1,a&&(this.SessionTimeoutDataSource.extendSession(),
this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","selected","continue with booking")))},redirectToStart:function(){window.location.href=this.config.restartUrl;this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","start again")},checkSessionTimeout:function(){var a=Date.now()-this._startTime;a>this.maxInactiveIntervalInMiliseconds?this._timedOut():this.config&&"ALLOWED"===this.config.enabled&&a>this.timeoutWarningIntervalInMiliseconds&&
a<this.maxInactiveIntervalInMiliseconds&&(a=Math.round((this.maxInactiveIntervalInMiliseconds-a)/1E3),this.countdownStarted?this.countdown(a):this._showTimeoutWarning(a))}})})();__registerModule("/nz/co/airnz/vui/vauthsession/vauthsession-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("../addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.config=ko.observable();this.data=ko.observable();this._eventReferences=(0,d.default)(this,"VAuthSession")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/vauthsession/vauthsessionhandler",function(h,k){Object.defineProperty(k,"__esModule",{value:!0});var e=h("./vauthsession-datasource"),m=babelHelpers.interopRequireDefault(e),e=h("../referencerecorder/referencerecorder"),n=babelHelpers.interopRequireDefault(e),l=function(d){delete d.headers["X-Requested-With"];delete d.headers["X-Request"]},f=0,g=0,e=function(){function d(){var a=this;babelHelpers.classCallCheck(this,d);this._references=new n.default;var c=new m.default;
this.sessionTimedOut=!1;this.createSessionTimeout=this.getCurrentSessionTimeout=null;c.config.subscribeNow(function(b){b&&function(){a.maintainCurrentSessionEnabled=b.maintainCurrentSessionEnabled;var c=new MtRequest.JSON({url:b.updateCurrentSessionUrl,link:"chain",vuiTrackingKey:"skip.session.extend"});f=0;a.getVAuthCurrentSessionRequest=new MtRequest.JSON({url:b.getCurrentSessionUrl,method:"get",link:"chain",withCredentials:!0,vuiTrackingKey:"skip.session.extend",onSuccess:function(a){return c.send({data:{idToken:a.id_token}})},
onFailure:function(){3>f?(f+=1,a.getVAuthCurrentSessionToken(Date.now()+1E3)):c.send()}});l(a.getVAuthCurrentSessionRequest);b.pingOnLoad&&a.getVAuthCurrentSessionToken(Date.now())}()});c.data.subscribeNow(function(b){b&&a.isCookieEnabled()&&(b.createSessionUrl?a.createVAuthSession(b.createSessionUrl):0<=b.nextPingTimeout&&a.getVAuthCurrentSessionToken(Date.now()+b.nextPingTimeout))});(c=VUI.Injector.get("LoginDataSource"))&&this._references.addRecordedEvent(c,"submitLogin",function(){a.getCurrentSessionTimeout&&
window.clearTimeout(a.getCurrentSessionTimeout)});this._references.addRecordedEvent(VUI.Injector.get("SessionTimeoutModel"),"timedOut",function(){a.sessionTimedOut=!0;a._references.dispose()})}babelHelpers.createClass(d,[{key:"isCookieEnabled",value:function(){if(this.cookiesWorking)return!0;try{Cookie.write("test1","test1");var a=Cookie.read("test1");Cookie.dispose("test1");return this.cookiesWorking=!!a}catch(c){return!1}}},{key:"createVAuthSession",value:function(a){var c=this;g=0;var b=new MtRequest({url:a,
method:"get",withCredentials:!0,onSuccess:function(){return c.getVAuthCurrentSessionToken(Date.now()+1E3)},onFailure:function(){3>g&&(g+=1,c.createSessionTimeout&&window.clearTimeout(c.createSessionTimeout),c.createSessionTimeout=window.setTimeout(function(){return b.send()},1E3))}});l(b);b.send()}},{key:"getVAuthCurrentSessionToken",value:function(a){var c=this;if(this.maintainCurrentSessionEnabled&&!this.sessionTimedOut&&this.isCookieEnabled()){var b=Math.max(0,a-Date.now());this.getCurrentSessionTimeout&&
window.clearTimeout(this.getCurrentSessionTimeout);this.getCurrentSessionTimeout=1E4<b?window.setTimeout(function(){return c.getVAuthCurrentSessionToken(a)},1E4):window.setTimeout(function(){return c.getVAuthCurrentSessionRequest.send()},b)}}}]);return d}();k.default=new e});