!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.StringBuilder=t.denominationsVN=t.denominationsCH=t.denominationsDefault=t.possibleCashPayments=t.TimeStatus=t.intervalEndTime=t.intervalStartTime=void 0;var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();t.toMoneyOld=m,t.formatPrice=p,t.toMoney=y,t.getDenominations=g,t.getPossibleCashPayments=k,t.timeToToday=b,t.getDate=_,t.getSeconds=P,t.normalizeTime=w,t.normalizeServerTime=T,t.checkTimeBetween=M,t.calculateDistance=S;var r=s(n(2)),a=s(n(18));function s(e){return e&&e.__esModule?e:{default:e}}void 0===Number.prototype.toRadians&&(Number.prototype.toRadians=function(){return this*Math.PI/180});var o=t.intervalStartTime=(0,r.default)({hour:0,minute:0,second:0,millisecond:0}),u=t.intervalEndTime=(0,r.default)({hour:7,minute:0,second:0,millisecond:0}),c=t.TimeStatus=Object.freeze({Before:1,Between:2,After:3}),d=t.possibleCashPayments=[],l=t.denominationsDefault=[.1,.2,.5,1,2,5,10,20,50],h=t.denominationsCH=[1,2,5,10,20,50,100],f=t.denominationsVN=[1e3,2e3,5e3,2e4,5e4,1e5,2e5,5e5];function m(e,t,n,i){var r=e,a=isNaN(t)?2:Math.abs(t),s=n||".",o=void 0===i?",":i,u=r<0?"-":"",c=parseInt(r=Math.abs(r).toFixed(a))+"",d=(d=c.length)>3?d%3:0;return u+(d?c.substr(0,d)+o:"")+c.substr(d).replace(/(\d{3})(?=\d)/g,"$1"+o)+(a?s+Math.abs(r-c).toFixed(a).slice(2):"")}function p(e,t){var n=m(e,t.nrofdecimals,t.decimalsepparator,t.thousandsepparator);return void 0!==t.symbolposition&&"end"===t.symbolposition?n+" "+t.symbol:t.symbol+(""!==t.symbol?" ":"")+n}var v=t.StringBuilder=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.string="",this.append(t)}return i(e,[{key:"append",value:function(e){return e&&(this.string+=e),this}},{key:"clear",value:function(){return this.string="",this}},{key:"toString",value:function(){return this.string}}]),e}();function y(e,t){var n=e.toString(),i=n.lastIndexOf(".");return-1!==i&&(n=n.substr(i,n.length)).length>=4&&"5"===n[3]&&(e+=.001),parseFloat(e.toFixed(t))}function g(e){switch(e){case 6:return this.denominationsCH;case 239:return this.denominationsVN;default:return this.denominationsDefault}}function k(e,t){var n=[],i=t;n.push(e);for(var r=0;r<t.length;r++){var a=t[r],s=this.toMoney(Math.ceil(e/a)*a,2);0===n.filter(function(e){return s===e}).length&&n.push(s),s=0;for(var o=this.toMoney(Math.floor(e/a)*a,2),u=0;u<i.length-1;u++){var c=i[u];if(c<=a){var d=this.toMoney(o+Math.ceil((e-o)/c)*c,2);0===n.filter(function(e){return d===e}).length&&n.push(d),d=0}}}return n.sort(function(e,t){return e-t}),n}function b(e,t){return t.clone().set({hours:e.hours(),minutes:e.minutes(),seconds:0})}function _(e){return(0,r.default)({year:e.year(),month:e.month(),date:e.date()})}function P(e){var t=60*e.hours()+e.minutes();return r.default.duration(t,"minutes").asSeconds()}function w(e){var t=(0,r.default)(e),n=t.hours();return n>=this.intervalStartTime.hours()&&n<this.intervalEndTime.hours()&&t.add(-1,"days"),t}function T(e){var t=this.normalizeTime(e);return new a.default(t,t.day())}function M(e,t,n){var i=b(e.startTime,n),r=b(e.endTime,n),a=P(n),s=P(e.startTime),d=P(e.endTime),l=P(t),h=P(o),f=P(u),m=!1;return a>h&&l<f&&(m=!0),!m&&s>=h&&s<f?i.add(1,"days"):m&&s>h&&s<f||m&&i.add(-1,"days"),!m&&d>=h&&d<f?r.add(1,"days"):m&&d>h&&d<f||m&&r.add(-1,"days"),t.isBefore(i)?c.Before:t.isBetween(i,r)||t.isSame(i)||t.isSame(r)?c.Between:t.isAfter(r)?c.isAfter:void 0}function S(e,t,n,i){var r=e.toRadians(),a=n.toRadians(),s=(n-e).toRadians(),o=(i-t).toRadians(),u=Math.sin(s/2)*Math.sin(s/2)+Math.cos(r)*Math.cos(a)*Math.sin(o/2)*Math.sin(o/2);return 6371e3*(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)))}var D={intervalStartTime:o,intervalEndTime:u,TimeStatus:c,possibleCashPayments:d,denominationsDefault:l,denominationsCH:h,denominationsVN:f,formatPrice:p,StringBuilder:v,toMoney:y,getDenominations:g,getPossibleCashPayments:k,timeToToday:b,getDate:_,getSeconds:P,normalizeTime:w,normalizeServerTime:T,checkTimeBetween:M,calculateDistance:S};t.default=D},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)};n.MODE={RESTAURANT:"RESTAURANT",COUNTRY:"COUNTRY"},n.DeliveryMethod=Object.freeze({Type:{Delivery:1,DeliveryAndPickup:2,Pickup:3}}),n.PAGE=Object.freeze({UNKNOWN:"UNKNOWN",MENU:"MENU",CHECKOUT:"CHECKOUT",SUCCESS:"SUCCESS"}),n.Persistence=Object.freeze({BASKET:"Basket",LAST_INTERACTION_TIME:"BasketLastInteractionTime"}),t.default=n},function(e,t,n){(function(e){e.exports=function(){"use strict";var t,n;function i(){return t.apply(null,arguments)}function r(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function a(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function o(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,i=[];for(n=0;n<e.length;++n)i.push(t(e[n],n));return i}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e,t){for(var n in t)d(t,n)&&(e[n]=t[n]);return d(t,"toString")&&(e.toString=t.toString),d(t,"valueOf")&&(e.valueOf=t.valueOf),e}function h(e,t,n,i){return Ct(e,t,n,i,!0).utc()}function f(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function m(e){if(null==e._isValid){var t=f(e),i=n.call(t.parsedDateParts,function(e){return null!=e}),r=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&i);if(e._strict&&(r=r&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return r;e._isValid=r}return e._isValid}function p(e){var t=h(NaN);return null!=e?l(f(t),e):f(t).userInvalidated=!0,t}n=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,i=0;i<n;i++)if(i in t&&e.call(this,t[i],i,t))return!0;return!1};var v=i.momentProperties=[];function y(e,t){var n,i,r;if(s(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),s(t._i)||(e._i=t._i),s(t._f)||(e._f=t._f),s(t._l)||(e._l=t._l),s(t._strict)||(e._strict=t._strict),s(t._tzm)||(e._tzm=t._tzm),s(t._isUTC)||(e._isUTC=t._isUTC),s(t._offset)||(e._offset=t._offset),s(t._pf)||(e._pf=f(t)),s(t._locale)||(e._locale=t._locale),v.length>0)for(n=0;n<v.length;n++)i=v[n],s(r=t[i])||(e[i]=r);return e}var g=!1;function k(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function b(e){return e instanceof k||null!=e&&null!=e._isAMomentObject}function _(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function P(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=_(t)),n}function w(e,t,n){var i,r=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),s=0;for(i=0;i<r;i++)(n&&e[i]!==t[i]||!n&&P(e[i])!==P(t[i]))&&s++;return s+a}function T(e){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function M(e,t){var n=!0;return l(function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,e),n){for(var r,a=[],s=0;s<arguments.length;s++){if(r="","object"==typeof arguments[s]){for(var o in r+="\n["+s+"] ",arguments[0])r+=o+": "+arguments[0][o]+", ";r=r.slice(0,-2)}else r=arguments[s];a.push(r)}T(e+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),n=!1}return t.apply(this,arguments)},t)}var S,D={};function O(e,t){null!=i.deprecationHandler&&i.deprecationHandler(e,t),D[e]||(T(t),D[e]=!0)}function C(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function x(e,t){var n,i=l({},e);for(n in t)d(t,n)&&(a(e[n])&&a(t[n])?(i[n]={},l(i[n],e[n]),l(i[n],t[n])):null!=t[n]?i[n]=t[n]:delete i[n]);for(n in e)d(e,n)&&!d(t,n)&&a(e[n])&&(i[n]=l({},i[n]));return i}function I(e){null!=e&&this.set(e)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,S=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)d(e,t)&&n.push(t);return n};var A={};function E(e,t){var n=e.toLowerCase();A[n]=A[n+"s"]=A[t]=e}function j(e){return"string"==typeof e?A[e]||A[e.toLowerCase()]:void 0}function N(e){var t,n,i={};for(n in e)d(e,n)&&(t=j(n))&&(i[t]=e[n]);return i}var Y={};function R(e,t){Y[e]=t}function U(e,t,n){var i=""+Math.abs(e),r=t-i.length,a=e>=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}var V=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,B=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},L={};function F(e,t,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),e&&(L[e]=r),t&&(L[t[0]]=function(){return U(r.apply(this,arguments),t[1],t[2])}),n&&(L[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function H(e,t){return e.isValid()?(t=W(t,e.localeData()),z[t]=z[t]||function(e){var t,n,i,r=e.match(V);for(t=0,n=r.length;t<n;t++)L[r[t]]?r[t]=L[r[t]]:r[t]=(i=r[t]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(t){var i,a="";for(i=0;i<n;i++)a+=C(r[i])?r[i].call(t,e):r[i];return a}}(t),z[t](e)):e.localeData().invalidDate()}function W(e,t){var n=5;function i(e){return t.longDateFormat(e)||e}for(B.lastIndex=0;n>=0&&B.test(e);)e=e.replace(B,i),B.lastIndex=0,n-=1;return e}var G=/\d/,Q=/\d\d/,$=/\d{3}/,q=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,K=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,ee=/\d{1,3}/,te=/\d{1,4}/,ne=/[+-]?\d{1,6}/,ie=/\d+/,re=/[+-]?\d+/,ae=/Z|[+-]\d\d:?\d\d/gi,se=/Z|[+-]\d\d(?::?\d\d)?/gi,oe=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ue={};function ce(e,t,n){ue[e]=C(t)?t:function(e,i){return e&&n?n:t}}function de(e,t){return d(ue,e)?ue[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,i,r){return t||n||i||r})))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function fe(e,t){var n,i=t;for("string"==typeof e&&(e=[e]),o(t)&&(i=function(e,n){n[t]=P(e)}),n=0;n<e.length;n++)he[e[n]]=i}function me(e,t){fe(e,function(e,n,i,r){i._w=i._w||{},t(e,i._w,i,r)})}function pe(e,t,n){null!=t&&d(he,e)&&he[e](t,n._a,n,e)}var ve=0,ye=1,ge=2,ke=3,be=4,_e=5,Pe=6,we=7,Te=8;function Me(e){return Se(e)?366:365}function Se(e){return e%4==0&&e%100!=0||e%400==0}F("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),F(0,["YY",2],0,function(){return this.year()%100}),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),E("year","y"),R("year",1),ce("Y",re),ce("YY",J,Q),ce("YYYY",te,q),ce("YYYYY",ne,Z),ce("YYYYYY",ne,Z),fe(["YYYYY","YYYYYY"],ve),fe("YYYY",function(e,t){t[ve]=2===e.length?i.parseTwoDigitYear(e):P(e)}),fe("YY",function(e,t){t[ve]=i.parseTwoDigitYear(e)}),fe("Y",function(e,t){t[ve]=parseInt(e,10)}),i.parseTwoDigitYear=function(e){return P(e)+(P(e)>68?1900:2e3)};var De,Oe=Ce("FullYear",!0);function Ce(e,t){return function(n){return null!=n?(Ie(this,e,n),i.updateOffset(this,t),this):xe(this,e)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Ie(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Se(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Ae(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Ae(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,i=(t%(n=12)+n)%n;return e+=(t-i)/12,1===i?Se(e)?29:28:31-i%7%2}De=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},F("M",["MM",2],"Mo",function(){return this.month()+1}),F("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),F("MMMM",0,0,function(e){return this.localeData().months(this,e)}),E("month","M"),R("month",8),ce("M",J),ce("MM",J,Q),ce("MMM",function(e,t){return t.monthsShortRegex(e)}),ce("MMMM",function(e,t){return t.monthsRegex(e)}),fe(["M","MM"],function(e,t){t[ye]=P(e)-1}),fe(["MMM","MMMM"],function(e,t,n,i){var r=n._locale.monthsParse(e,i,n._strict);null!=r?t[ye]=r:f(n).invalidMonth=e});var Ee=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,je="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ne="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ye(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=P(t);else if(!o(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Ae(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Re(e){return null!=e?(Ye(this,e),i.updateOffset(this,!0),this):xe(this,"Month")}var Ue=oe,Ve=oe;function Be(){function e(e,t){return t.length-e.length}var t,n,i=[],r=[],a=[];for(t=0;t<12;t++)n=h([2e3,t]),i.push(this.monthsShort(n,"")),r.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(i.sort(e),r.sort(e),a.sort(e),t=0;t<12;t++)i[t]=le(i[t]),r[t]=le(r[t]);for(t=0;t<24;t++)a[t]=le(a[t]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function ze(e){var t;if(e<100&&e>=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Le(e,t,n){var i=7+t-n,r=(7+ze(e,0,i).getUTCDay()-t)%7;return-r+i-1}function Fe(e,t,n,i,r){var a,s,o=(7+n-i)%7,u=Le(e,i,r),c=1+7*(t-1)+o+u;return c<=0?s=Me(a=e-1)+c:c>Me(e)?(a=e+1,s=c-Me(e)):(a=e,s=c),{year:a,dayOfYear:s}}function He(e,t,n){var i,r,a=Le(e.year(),t,n),s=Math.floor((e.dayOfYear()-a-1)/7)+1;return s<1?(r=e.year()-1,i=s+We(r,t,n)):s>We(e.year(),t,n)?(i=s-We(e.year(),t,n),r=e.year()+1):(r=e.year(),i=s),{week:i,year:r}}function We(e,t,n){var i=Le(e,t,n),r=Le(e+1,t,n);return(Me(e)-i+r)/7}function Ge(e,t){return e.slice(t,7).concat(e.slice(0,t))}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),E("week","w"),E("isoWeek","W"),R("week",5),R("isoWeek",5),ce("w",J),ce("ww",J,Q),ce("W",J),ce("WW",J,Q),me(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=P(e)}),F("d",0,"do","day"),F("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),F("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),F("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),E("day","d"),E("weekday","e"),E("isoWeekday","E"),R("day",11),R("weekday",11),R("isoWeekday",11),ce("d",J),ce("e",J),ce("E",J),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,n,i){var r=n._locale.weekdaysParse(e,i,n._strict);null!=r?t.d=r:f(n).invalidWeekday=e}),me(["d","e","E"],function(e,t,n,i){t[i]=P(e)});var Qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$e="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),qe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ze=oe,Je=oe,Ke=oe;function Xe(){function e(e,t){return t.length-e.length}var t,n,i,r,a,s=[],o=[],u=[],c=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),a=this.weekdays(n,""),s.push(i),o.push(r),u.push(a),c.push(i),c.push(r),c.push(a);for(s.sort(e),o.sort(e),u.sort(e),c.sort(e),t=0;t<7;t++)o[t]=le(o[t]),u[t]=le(u[t]),c[t]=le(c[t]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function et(){return this.hours()%12||12}function tt(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function nt(e,t){return t._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,et),F("k",["kk",2],0,function(){return this.hours()||24}),F("hmm",0,0,function(){return""+et.apply(this)+U(this.minutes(),2)}),F("hmmss",0,0,function(){return""+et.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),F("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),F("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),tt("a",!0),tt("A",!1),E("hour","h"),R("hour",13),ce("a",nt),ce("A",nt),ce("H",J),ce("h",J),ce("k",J),ce("HH",J,Q),ce("hh",J,Q),ce("kk",J,Q),ce("hmm",K),ce("hmmss",X),ce("Hmm",K),ce("Hmmss",X),fe(["H","HH"],ke),fe(["k","kk"],function(e,t,n){var i=P(e);t[ke]=24===i?0:i}),fe(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),fe(["h","hh"],function(e,t,n){t[ke]=P(e),f(n).bigHour=!0}),fe("hmm",function(e,t,n){var i=e.length-2;t[ke]=P(e.substr(0,i)),t[be]=P(e.substr(i)),f(n).bigHour=!0}),fe("hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[ke]=P(e.substr(0,i)),t[be]=P(e.substr(i,2)),t[_e]=P(e.substr(r)),f(n).bigHour=!0}),fe("Hmm",function(e,t,n){var i=e.length-2;t[ke]=P(e.substr(0,i)),t[be]=P(e.substr(i))}),fe("Hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[ke]=P(e.substr(0,i)),t[be]=P(e.substr(i,2)),t[_e]=P(e.substr(r))});var it,rt=Ce("Hours",!0),at={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:je,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Qe,weekdaysMin:qe,weekdaysShort:$e,meridiemParse:/[ap]\.?m?\.?/i},st={},ot={};function ut(e){return e?e.toLowerCase().replace("_","-"):e}function ct(t){var n=null;if(!st[t]&&void 0!==e&&e&&e.exports)try{n=it._abbr,!function(){var e=new Error("Cannot find module 'undefined'");throw e.code="MODULE_NOT_FOUND",e}(),dt(n)}catch(e){}return st[t]}function dt(e,t){var n;return e&&((n=s(t)?ht(e):lt(e,t))?it=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),it._abbr}function lt(e,t){if(null!==t){var n,i=at;if(t.abbr=e,null!=st[e])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])i=st[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return ot[t.parentLocale]||(ot[t.parentLocale]=[]),ot[t.parentLocale].push({name:e,config:t}),null;i=n._config}return st[e]=new I(x(i,t)),ot[e]&&ot[e].forEach(function(e){lt(e.name,e.config)}),dt(e),st[e]}return delete st[e],null}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return it;if(!r(e)){if(t=ct(e))return t;e=[e]}return function(e){for(var t,n,i,r,a=0;a<e.length;){for(r=ut(e[a]).split("-"),t=r.length,n=(n=ut(e[a+1]))?n.split("-"):null;t>0;){if(i=ct(r.slice(0,t).join("-")))return i;if(n&&n.length>=t&&w(r,n,!0)>=t-1)break;t--}a++}return it}(e)}function ft(e){var t,n=e._a;return n&&-2===f(e).overflow&&(t=n[ye]<0||n[ye]>11?ye:n[ge]<1||n[ge]>Ae(n[ve],n[ye])?ge:n[ke]<0||n[ke]>24||24===n[ke]&&(0!==n[be]||0!==n[_e]||0!==n[Pe])?ke:n[be]<0||n[be]>59?be:n[_e]<0||n[_e]>59?_e:n[Pe]<0||n[Pe]>999?Pe:-1,f(e)._overflowDayOfYear&&(t<ve||t>ge)&&(t=ge),f(e)._overflowWeeks&&-1===t&&(t=we),f(e)._overflowWeekday&&-1===t&&(t=Te),f(e).overflow=t),e}function mt(e,t,n){return null!=e?e:null!=t?t:n}function pt(e){var t,n,r,a,s,o=[];if(!e._d){for(r=function(e){var t=new Date(i.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ge]&&null==e._a[ye]&&function(e){var t,n,i,r,a,s,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)a=1,s=4,n=mt(t.GG,e._a[ve],He(xt(),1,4).year),i=mt(t.W,1),((r=mt(t.E,1))<1||r>7)&&(u=!0);else{a=e._locale._week.dow,s=e._locale._week.doy;var c=He(xt(),a,s);n=mt(t.gg,e._a[ve],c.year),i=mt(t.w,c.week),null!=t.d?((r=t.d)<0||r>6)&&(u=!0):null!=t.e?(r=t.e+a,(t.e<0||t.e>6)&&(u=!0)):r=a}i<1||i>We(n,a,s)?f(e)._overflowWeeks=!0:null!=u?f(e)._overflowWeekday=!0:(o=Fe(n,i,r,a,s),e._a[ve]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(s=mt(e._a[ve],r[ve]),(e._dayOfYear>Me(s)||0===e._dayOfYear)&&(f(e)._overflowDayOfYear=!0),n=ze(s,0,e._dayOfYear),e._a[ye]=n.getUTCMonth(),e._a[ge]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ke]&&0===e._a[be]&&0===e._a[_e]&&0===e._a[Pe]&&(e._nextDay=!0,e._a[ke]=0),e._d=(e._useUTC?ze:function(e,t,n,i,r,a,s){var o;return e<100&&e>=0?(o=new Date(e+400,t,n,i,r,a,s),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,i,r,a,s),o}).apply(null,o),a=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ke]=24),e._w&&void 0!==e._w.d&&e._w.d!==a&&(f(e).weekdayMismatch=!0)}}var vt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gt=/Z|[+-]\d\d(?::?\d\d)?/,kt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],bt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_t=/^\/?Date\((\-?\d+)/i;function Pt(e){var t,n,i,r,a,s,o=e._i,u=vt.exec(o)||yt.exec(o);if(u){for(f(e).iso=!0,t=0,n=kt.length;t<n;t++)if(kt[t][1].exec(u[1])){r=kt[t][0],i=!1!==kt[t][2];break}if(null==r)return void(e._isValid=!1);if(u[3]){for(t=0,n=bt.length;t<n;t++)if(bt[t][1].exec(u[3])){a=(u[2]||" ")+bt[t][0];break}if(null==a)return void(e._isValid=!1)}if(!i&&null!=a)return void(e._isValid=!1);if(u[4]){if(!gt.exec(u[4]))return void(e._isValid=!1);s="Z"}e._f=r+(a||"")+(s||""),Dt(e)}else e._isValid=!1}var wt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function Tt(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}var Mt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function St(e){var t,n,i,r,a,s,o,u=wt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(u){var c=(t=u[4],n=u[3],i=u[2],r=u[5],a=u[6],s=u[7],o=[Tt(t),Ne.indexOf(n),parseInt(i,10),parseInt(r,10),parseInt(a,10)],s&&o.push(parseInt(s,10)),o);if(!function(e,t,n){if(e){var i=$e.indexOf(e),r=new Date(t[0],t[1],t[2]).getDay();if(i!==r)return f(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}(u[1],c,e))return;e._a=c,e._tzm=function(e,t,n){if(e)return Mt[e];if(t)return 0;var i=parseInt(n,10),r=i%100,a=(i-r)/100;return 60*a+r}(u[8],u[9],u[10]),e._d=ze.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),f(e).rfc2822=!0}else e._isValid=!1}function Dt(e){if(e._f!==i.ISO_8601)if(e._f!==i.RFC_2822){e._a=[],f(e).empty=!0;var t,n,r,a,s,o=""+e._i,u=o.length,c=0;for(r=W(e._f,e._locale).match(V)||[],t=0;t<r.length;t++)a=r[t],(n=(o.match(de(a,e))||[])[0])&&((s=o.substr(0,o.indexOf(n))).length>0&&f(e).unusedInput.push(s),o=o.slice(o.indexOf(n)+n.length),c+=n.length),L[a]?(n?f(e).empty=!1:f(e).unusedTokens.push(a),pe(a,n,e)):e._strict&&!n&&f(e).unusedTokens.push(a);f(e).charsLeftOver=u-c,o.length>0&&f(e).unusedInput.push(o),e._a[ke]<=12&&!0===f(e).bigHour&&e._a[ke]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[ke]=function(e,t,n){var i;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((i=e.isPM(n))&&t<12&&(t+=12),i||12!==t||(t=0),t):t}(e._locale,e._a[ke],e._meridiem),pt(e),ft(e)}else St(e);else Pt(e)}function Ot(e){var t=e._i,n=e._f;return e._locale=e._locale||ht(e._l),null===t||void 0===n&&""===t?p({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),b(t)?new k(ft(t)):(u(t)?e._d=t:r(n)?function(e){var t,n,i,r,a;if(0===e._f.length)return f(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;r<e._f.length;r++)a=0,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[r],Dt(t),m(t)&&(a+=f(t).charsLeftOver,a+=10*f(t).unusedTokens.length,f(t).score=a,(null==i||a<i)&&(i=a,n=t));l(e,n||t)}(e):n?Dt(e):function(e){var t=e._i;s(t)?e._d=new Date(i.now()):u(t)?e._d=new Date(t.valueOf()):"string"==typeof t?function(e){var t=_t.exec(e._i);null===t?(Pt(e),!1===e._isValid&&(delete e._isValid,St(e),!1===e._isValid&&(delete e._isValid,i.createFromInputFallback(e)))):e._d=new Date(+t[1])}(e):r(t)?(e._a=c(t.slice(0),function(e){return parseInt(e,10)}),pt(e)):a(t)?function(e){if(!e._d){var t=N(e._i);e._a=c([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),pt(e)}}(e):o(t)?e._d=new Date(t):i.createFromInputFallback(e)}(e),m(e)||(e._d=null),e))}function Ct(e,t,n,i,s){var o,u={};return!0!==n&&!1!==n||(i=n,n=void 0),(a(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||r(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=s,u._l=n,u._i=e,u._f=t,u._strict=i,(o=new k(ft(Ot(u))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function xt(e,t,n,i){return Ct(e,t,n,i,!1)}i.createFromInputFallback=M("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),i.ISO_8601=function(){},i.RFC_2822=function(){};var It=M("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=xt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:p()}),At=M("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=xt.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:p()});function Et(e,t){var n,i;if(1===t.length&&r(t[0])&&(t=t[0]),!t.length)return xt();for(n=t[0],i=1;i<t.length;++i)t[i].isValid()&&!t[i][e](n)||(n=t[i]);return n}var jt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Nt(e){var t=N(e),n=t.year||0,i=t.quarter||0,r=t.month||0,a=t.week||t.isoWeek||0,s=t.day||0,o=t.hour||0,u=t.minute||0,c=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===De.call(jt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,i=0;i<jt.length;++i)if(e[jt[i]]){if(n)return!1;parseFloat(e[jt[i]])!==P(e[jt[i]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*c+6e4*u+1e3*o*60*60,this._days=+s+7*a,this._months=+r+3*i+12*n,this._data={},this._locale=ht(),this._bubble()}function Yt(e){return e instanceof Nt}function Rt(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ut(e,t){F(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+U(~~(e/60),2)+t+U(~~e%60,2)})}Ut("Z",":"),Ut("ZZ",""),ce("Z",se),ce("ZZ",se),fe(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Bt(se,e)});var Vt=/([\+\-]|\d\d)/gi;function Bt(e,t){var n=(t||"").match(e);if(null===n)return null;var i=n[n.length-1]||[],r=(i+"").match(Vt)||["-",0,0],a=60*r[1]+P(r[2]);return 0===a?0:"+"===r[0]?a:-a}function zt(e,t){var n,r;return t._isUTC?(n=t.clone(),r=(b(e)||u(e)?e.valueOf():xt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):xt(e).local()}function Lt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Ft(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Ht=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Wt=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Gt(e,t){var n,i,r,a,s,u,c=e,l=null;return Yt(e)?c={ms:e._milliseconds,d:e._days,M:e._months}:o(e)?(c={},t?c[t]=e:c.milliseconds=e):(l=Ht.exec(e))?(n="-"===l[1]?-1:1,c={y:0,d:P(l[ge])*n,h:P(l[ke])*n,m:P(l[be])*n,s:P(l[_e])*n,ms:P(Rt(1e3*l[Pe]))*n}):(l=Wt.exec(e))?(n="-"===l[1]?-1:1,c={y:Qt(l[2],n),M:Qt(l[3],n),w:Qt(l[4],n),d:Qt(l[5],n),h:Qt(l[6],n),m:Qt(l[7],n),s:Qt(l[8],n)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(a=xt(c.from),s=xt(c.to),r=a.isValid()&&s.isValid()?(s=zt(s,a),a.isBefore(s)?u=$t(a,s):((u=$t(s,a)).milliseconds=-u.milliseconds,u.months=-u.months),u):{milliseconds:0,months:0},(c={}).ms=r.milliseconds,c.M=r.months),i=new Nt(c),Yt(e)&&d(e,"_locale")&&(i._locale=e._locale),i}function Qt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function $t(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function qt(e,t){return function(n,i){var r;return null===i||isNaN(+i)||(O(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=i,i=r),Zt(this,Gt(n="string"==typeof n?+n:n,i),e),this}}function Zt(e,t,n,r){var a=t._milliseconds,s=Rt(t._days),o=Rt(t._months);e.isValid()&&(r=null==r||r,o&&Ye(e,xe(e,"Month")+o*n),s&&Ie(e,"Date",xe(e,"Date")+s*n),a&&e._d.setTime(e._d.valueOf()+a*n),r&&i.updateOffset(e,s||o))}Gt.fn=Nt.prototype,Gt.invalid=function(){return Gt(NaN)};var Jt=qt(1,"add"),Kt=qt(-1,"subtract");function Xt(e,t){var n,i,r=12*(t.year()-e.year())+(t.month()-e.month()),a=e.clone().add(r,"months");return t-a<0?(n=e.clone().add(r-1,"months"),i=(t-a)/(a-n)):(n=e.clone().add(r+1,"months"),i=(t-a)/(n-a)),-(r+i)||0}function en(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ht(e))&&(this._locale=t),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var tn=M("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function nn(){return this._locale}var rn=1e3,an=60*rn,sn=60*an,on=3506328*sn;function un(e,t){return(e%t+t)%t}function cn(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-on:new Date(e,t,n).valueOf()}function dn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-on:Date.UTC(e,t,n)}function ln(e,t){F(0,[e,e.length],0,t)}function hn(e,t,n,i,r){var a;return null==e?He(this,i,r).year:(a=We(e,i,r),t>a&&(t=a),function(e,t,n,i,r){var a=Fe(e,t,n,i,r),s=ze(a.year,0,a.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}.call(this,e,t,n,i,r))}F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ln("gggg","weekYear"),ln("ggggg","weekYear"),ln("GGGG","isoWeekYear"),ln("GGGGG","isoWeekYear"),E("weekYear","gg"),E("isoWeekYear","GG"),R("weekYear",1),R("isoWeekYear",1),ce("G",re),ce("g",re),ce("GG",J,Q),ce("gg",J,Q),ce("GGGG",te,q),ce("gggg",te,q),ce("GGGGG",ne,Z),ce("ggggg",ne,Z),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=P(e)}),me(["gg","GG"],function(e,t,n,r){t[r]=i.parseTwoDigitYear(e)}),F("Q",0,"Qo","quarter"),E("quarter","Q"),R("quarter",7),ce("Q",G),fe("Q",function(e,t){t[ye]=3*(P(e)-1)}),F("D",["DD",2],"Do","date"),E("date","D"),R("date",9),ce("D",J),ce("DD",J,Q),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),fe(["D","DD"],ge),fe("Do",function(e,t){t[ge]=P(e.match(J)[0])});var fn=Ce("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),E("dayOfYear","DDD"),R("dayOfYear",4),ce("DDD",ee),ce("DDDD",$),fe(["DDD","DDDD"],function(e,t,n){n._dayOfYear=P(e)}),F("m",["mm",2],0,"minute"),E("minute","m"),R("minute",14),ce("m",J),ce("mm",J,Q),fe(["m","mm"],be);var mn=Ce("Minutes",!1);F("s",["ss",2],0,"second"),E("second","s"),R("second",15),ce("s",J),ce("ss",J,Q),fe(["s","ss"],_e);var pn,vn=Ce("Seconds",!1);for(F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),E("millisecond","ms"),R("millisecond",16),ce("S",ee,G),ce("SS",ee,Q),ce("SSS",ee,$),pn="SSSS";pn.length<=9;pn+="S")ce(pn,ie);function yn(e,t){t[Pe]=P(1e3*("0."+e))}for(pn="S";pn.length<=9;pn+="S")fe(pn,yn);var gn=Ce("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var kn=k.prototype;function bn(e){return e}kn.add=Jt,kn.calendar=function(e,t){var n=e||xt(),r=zt(n,this).startOf("day"),a=i.calendarFormat(this,r)||"sameElse",s=t&&(C(t[a])?t[a].call(this,n):t[a]);return this.format(s||this.localeData().calendar(a,this,xt(n)))},kn.clone=function(){return new k(this)},kn.diff=function(e,t,n){var i,r,a;if(!this.isValid())return NaN;if(!(i=zt(e,this)).isValid())return NaN;switch(r=6e4*(i.utcOffset()-this.utcOffset()),t=j(t)){case"year":a=Xt(this,i)/12;break;case"month":a=Xt(this,i);break;case"quarter":a=Xt(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-r)/864e5;break;case"week":a=(this-i-r)/6048e5;break;default:a=this-i}return n?a:_(a)},kn.endOf=function(e){var t;if(void 0===(e=j(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?dn:cn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=sn-un(t+(this._isUTC?0:this.utcOffset()*an),sn)-1;break;case"minute":t=this._d.valueOf(),t+=an-un(t,an)-1;break;case"second":t=this._d.valueOf(),t+=rn-un(t,rn)-1}return this._d.setTime(t),i.updateOffset(this,!0),this},kn.format=function(e){e||(e=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var t=H(this,e);return this.localeData().postformat(t)},kn.from=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||xt(e).isValid())?Gt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},kn.fromNow=function(e){return this.from(xt(),e)},kn.to=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||xt(e).isValid())?Gt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},kn.toNow=function(e){return this.to(xt(),e)},kn.get=function(e){return C(this[e=j(e)])?this[e]():this},kn.invalidAt=function(){return f(this).overflow},kn.isAfter=function(e,t){var n=b(e)?e:xt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=j(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},kn.isBefore=function(e,t){var n=b(e)?e:xt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=j(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},kn.isBetween=function(e,t,n,i){var r=b(e)?e:xt(e),a=b(t)?t:xt(t);return!!(this.isValid()&&r.isValid()&&a.isValid())&&(("("===(i=i||"()")[0]?this.isAfter(r,n):!this.isBefore(r,n))&&(")"===i[1]?this.isBefore(a,n):!this.isAfter(a,n)))},kn.isSame=function(e,t){var n,i=b(e)?e:xt(e);return!(!this.isValid()||!i.isValid())&&("millisecond"===(t=j(t)||"millisecond")?this.valueOf()===i.valueOf():(n=i.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},kn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},kn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},kn.isValid=function(){return m(this)},kn.lang=tn,kn.locale=en,kn.localeData=nn,kn.max=At,kn.min=It,kn.parsingFlags=function(){return l({},f(this))},kn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:Y[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=N(e)),i=0;i<n.length;i++)this[n[i].unit](e[n[i].unit]);else if(C(this[e=j(e)]))return this[e](t);return this},kn.startOf=function(e){var t;if(void 0===(e=j(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?dn:cn;switch(e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=un(t+(this._isUTC?0:this.utcOffset()*an),sn);break;case"minute":t=this._d.valueOf(),t-=un(t,an);break;case"second":t=this._d.valueOf(),t-=un(t,rn)}return this._d.setTime(t),i.updateOffset(this,!0),this},kn.subtract=Kt,kn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},kn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},kn.toDate=function(){return new Date(this.valueOf())},kn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):C(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},kn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=t+'[")]';return this.format(n+i+"-MM-DD[T]HH:mm:ss.SSS"+r)},kn.toJSON=function(){return this.isValid()?this.toISOString():null},kn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},kn.unix=function(){return Math.floor(this.valueOf()/1e3)},kn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},kn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},kn.year=Oe,kn.isLeapYear=function(){return Se(this.year())},kn.weekYear=function(e){return hn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},kn.isoWeekYear=function(e){return hn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},kn.quarter=kn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},kn.month=Re,kn.daysInMonth=function(){return Ae(this.year(),this.month())},kn.week=kn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},kn.isoWeek=kn.isoWeeks=function(e){var t=He(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},kn.weeksInYear=function(){var e=this.localeData()._week;return We(this.year(),e.dow,e.doy)},kn.isoWeeksInYear=function(){return We(this.year(),1,4)},kn.date=fn,kn.day=kn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},kn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},kn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},kn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},kn.hour=kn.hours=rt,kn.minute=kn.minutes=mn,kn.second=kn.seconds=vn,kn.millisecond=kn.milliseconds=gn,kn.utcOffset=function(e,t,n){var r,a=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Bt(se,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(r=Lt(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==e&&(!t||this._changeInProgress?Zt(this,Gt(e-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Lt(this)},kn.utc=function(e){return this.utcOffset(0,e)},kn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Lt(this),"m")),this},kn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Bt(ae,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},kn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?xt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},kn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},kn.isLocal=function(){return!!this.isValid()&&!this._isUTC},kn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},kn.isUtc=Ft,kn.isUTC=Ft,kn.zoneAbbr=function(){return this._isUTC?"UTC":""},kn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},kn.dates=M("dates accessor is deprecated. Use date instead.",fn),kn.months=M("months accessor is deprecated. Use month instead",Re),kn.years=M("years accessor is deprecated. Use year instead",Oe),kn.zone=M("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),kn.isDSTShifted=M("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),(e=Ot(e))._a){var t=e._isUTC?h(e._a):xt(e._a);this._isDSTShifted=this.isValid()&&w(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var _n=I.prototype;function Pn(e,t,n,i){var r=ht(),a=h().set(i,t);return r[n](a,e)}function wn(e,t,n){if(o(e)&&(t=e,e=void 0),e=e||"",null!=t)return Pn(e,t,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Pn(e,i,n,"month");return r}function Tn(e,t,n,i){"boolean"==typeof e?(o(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,o(t)&&(n=t,t=void 0),t=t||"");var r,a=ht(),s=e?a._week.dow:0;if(null!=n)return Pn(t,(n+s)%7,i,"day");var u=[];for(r=0;r<7;r++)u[r]=Pn(t,(r+s)%7,i,"day");return u}_n.calendar=function(e,t,n){var i=this._calendar[e]||this._calendar.sameElse;return C(i)?i.call(t,n):i},_n.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},_n.invalidDate=function(){return this._invalidDate},_n.ordinal=function(e){return this._ordinal.replace("%d",e)},_n.preparse=bn,_n.postformat=bn,_n.relativeTime=function(e,t,n,i){var r=this._relativeTime[n];return C(r)?r(e,t,n,i):r.replace(/%d/i,e)},_n.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return C(n)?n(t):n.replace(/%s/i,t)},_n.set=function(e){var t,n;for(n in e)C(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},_n.months=function(e,t){return e?r(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ee).test(t)?"format":"standalone"][e.month()]:r(this._months)?this._months:this._months.standalone},_n.monthsShort=function(e,t){return e?r(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ee.test(t)?"format":"standalone"][e.month()]:r(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},_n.monthsParse=function(e,t,n){var i,r,a;if(this._monthsParseExact)return function(e,t,n){var i,r,a,s=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(r=De.call(this._shortMonthsParse,s))?r:null:-1!==(r=De.call(this._longMonthsParse,s))?r:null:"MMM"===t?-1!==(r=De.call(this._shortMonthsParse,s))?r:-1!==(r=De.call(this._longMonthsParse,s))?r:null:-1!==(r=De.call(this._longMonthsParse,s))?r:-1!==(r=De.call(this._shortMonthsParse,s))?r:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(r=h([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(a="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[i].test(e))return i;if(n&&"MMM"===t&&this._shortMonthsParse[i].test(e))return i;if(!n&&this._monthsParse[i].test(e))return i}},_n.monthsRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Be.call(this),e?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Ve),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},_n.monthsShortRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Be.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Ue),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},_n.week=function(e){return He(e,this._week.dow,this._week.doy).week},_n.firstDayOfYear=function(){return this._week.doy},_n.firstDayOfWeek=function(){return this._week.dow},_n.weekdays=function(e,t){var n=r(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ge(n,this._week.dow):e?n[e.day()]:n},_n.weekdaysMin=function(e){return!0===e?Ge(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},_n.weekdaysShort=function(e){return!0===e?Ge(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},_n.weekdaysParse=function(e,t,n){var i,r,a;if(this._weekdaysParseExact)return function(e,t,n){var i,r,a,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=De.call(this._weekdaysParse,s))?r:null:"ddd"===t?-1!==(r=De.call(this._shortWeekdaysParse,s))?r:null:-1!==(r=De.call(this._minWeekdaysParse,s))?r:null:"dddd"===t?-1!==(r=De.call(this._weekdaysParse,s))?r:-1!==(r=De.call(this._shortWeekdaysParse,s))?r:-1!==(r=De.call(this._minWeekdaysParse,s))?r:null:"ddd"===t?-1!==(r=De.call(this._shortWeekdaysParse,s))?r:-1!==(r=De.call(this._weekdaysParse,s))?r:-1!==(r=De.call(this._minWeekdaysParse,s))?r:null:-1!==(r=De.call(this._minWeekdaysParse,s))?r:-1!==(r=De.call(this._weekdaysParse,s))?r:-1!==(r=De.call(this._shortWeekdaysParse,s))?r:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=h([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[i].test(e))return i;if(n&&"ddd"===t&&this._shortWeekdaysParse[i].test(e))return i;if(n&&"dd"===t&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}},_n.weekdaysRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},_n.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Je),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},_n.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Xe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ke),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},_n.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},_n.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},dt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===P(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),i.lang=M("moment.lang is deprecated. Use moment.locale instead.",dt),i.langData=M("moment.langData is deprecated. Use moment.localeData instead.",ht);var Mn=Math.abs;function Sn(e,t,n,i){var r=Gt(t,n);return e._milliseconds+=i*r._milliseconds,e._days+=i*r._days,e._months+=i*r._months,e._bubble()}function Dn(e){return e<0?Math.floor(e):Math.ceil(e)}function On(e){return 4800*e/146097}function Cn(e){return 146097*e/4800}function xn(e){return function(){return this.as(e)}}var In=xn("ms"),An=xn("s"),En=xn("m"),jn=xn("h"),Nn=xn("d"),Yn=xn("w"),Rn=xn("M"),Un=xn("Q"),Vn=xn("y");function Bn(e){return function(){return this.isValid()?this._data[e]:NaN}}var zn=Bn("milliseconds"),Ln=Bn("seconds"),Fn=Bn("minutes"),Hn=Bn("hours"),Wn=Bn("days"),Gn=Bn("months"),Qn=Bn("years"),$n=Math.round,qn={ss:44,s:45,m:45,h:22,d:26,M:11},Zn=Math.abs;function Jn(e){return(e>0)-(e<0)||+e}function Kn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Zn(this._milliseconds)/1e3,i=Zn(this._days),r=Zn(this._months);e=_(n/60),t=_(e/60),n%=60,e%=60;var a=_(r/12),s=r%=12,o=i,u=t,c=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",l=this.asSeconds();if(!l)return"P0D";var h=l<0?"-":"",f=Jn(this._months)!==Jn(l)?"-":"",m=Jn(this._days)!==Jn(l)?"-":"",p=Jn(this._milliseconds)!==Jn(l)?"-":"";return h+"P"+(a?f+a+"Y":"")+(s?f+s+"M":"")+(o?m+o+"D":"")+(u||c||d?"T":"")+(u?p+u+"H":"")+(c?p+c+"M":"")+(d?p+d+"S":"")}var Xn=Nt.prototype;return Xn.isValid=function(){return this._isValid},Xn.abs=function(){var e=this._data;return this._milliseconds=Mn(this._milliseconds),this._days=Mn(this._days),this._months=Mn(this._months),e.milliseconds=Mn(e.milliseconds),e.seconds=Mn(e.seconds),e.minutes=Mn(e.minutes),e.hours=Mn(e.hours),e.months=Mn(e.months),e.years=Mn(e.years),this},Xn.add=function(e,t){return Sn(this,e,t,1)},Xn.subtract=function(e,t){return Sn(this,e,t,-1)},Xn.as=function(e){if(!this.isValid())return NaN;var t,n,i=this._milliseconds;if("month"===(e=j(e))||"quarter"===e||"year"===e)switch(t=this._days+i/864e5,n=this._months+On(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Cn(this._months)),e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+e)}},Xn.asMilliseconds=In,Xn.asSeconds=An,Xn.asMinutes=En,Xn.asHours=jn,Xn.asDays=Nn,Xn.asWeeks=Yn,Xn.asMonths=Rn,Xn.asQuarters=Un,Xn.asYears=Vn,Xn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*P(this._months/12):NaN},Xn._bubble=function(){var e,t,n,i,r,a=this._milliseconds,s=this._days,o=this._months,u=this._data;return a>=0&&s>=0&&o>=0||a<=0&&s<=0&&o<=0||(a+=864e5*Dn(Cn(o)+s),s=0,o=0),u.milliseconds=a%1e3,e=_(a/1e3),u.seconds=e%60,t=_(e/60),u.minutes=t%60,n=_(t/60),u.hours=n%24,s+=_(n/24),r=_(On(s)),o+=r,s-=Dn(Cn(r)),i=_(o/12),o%=12,u.days=s,u.months=o,u.years=i,this},Xn.clone=function(){return Gt(this)},Xn.get=function(e){return e=j(e),this.isValid()?this[e+"s"]():NaN},Xn.milliseconds=zn,Xn.seconds=Ln,Xn.minutes=Fn,Xn.hours=Hn,Xn.days=Wn,Xn.weeks=function(){return _(this.days()/7)},Xn.months=Gn,Xn.years=Qn,Xn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var i=Gt(e).abs(),r=$n(i.as("s")),a=$n(i.as("m")),s=$n(i.as("h")),o=$n(i.as("d")),u=$n(i.as("M")),c=$n(i.as("y")),d=r<=qn.ss&&["s",r]||r<qn.s&&["ss",r]||a<=1&&["m"]||a<qn.m&&["mm",a]||s<=1&&["h"]||s<qn.h&&["hh",s]||o<=1&&["d"]||o<qn.d&&["dd",o]||u<=1&&["M"]||u<qn.M&&["MM",u]||c<=1&&["y"]||["yy",c];return d[2]=t,d[3]=+e>0,d[4]=n,function(e,t,n,i,r){return r.relativeTime(t||1,!!n,e,i)}.apply(null,d)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Xn.toISOString=Kn,Xn.toString=Kn,Xn.toJSON=Kn,Xn.locale=en,Xn.localeData=nn,Xn.toIsoString=M("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),Xn.lang=tn,F("X",0,0,"unix"),F("x",0,0,"valueOf"),ce("x",re),ce("X",/[+-]?\d+(\.\d{1,3})?/),fe("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),fe("x",function(e,t,n){n._d=new Date(P(e))}),i.version="2.24.0",t=xt,i.fn=kn,i.min=function(){return Et("isBefore",[].slice.call(arguments,0))},i.max=function(){return Et("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(e){return xt(1e3*e)},i.months=function(e,t){return wn(e,t,"months")},i.isDate=u,i.locale=dt,i.invalid=p,i.duration=Gt,i.isMoment=b,i.weekdays=function(e,t,n){return Tn(e,t,n,"weekdays")},i.parseZone=function(){return xt.apply(null,arguments).parseZone()},i.localeData=ht,i.isDuration=Yt,i.monthsShort=function(e,t){return wn(e,t,"monthsShort")},i.weekdaysMin=function(e,t,n){return Tn(e,t,n,"weekdaysMin")},i.defineLocale=lt,i.updateLocale=function(e,t){if(null!=t){var n,i,r=at;null!=(i=ct(e))&&(r=i._config),t=x(r,t),(n=new I(t)).parentLocale=st[e],st[e]=n,dt(e)}else null!=st[e]&&(null!=st[e].parentLocale?st[e]=st[e].parentLocale:null!=st[e]&&delete st[e]);return st[e]},i.locales=function(){return S(st)},i.weekdaysShort=function(e,t,n){return Tn(e,t,n,"weekdaysShort")},i.normalizeUnits=j,i.relativeTimeRounding=function(e){return void 0===e?$n:"function"==typeof e&&($n=e,!0)},i.relativeTimeThreshold=function(e,t){return void 0!==qn[e]&&(void 0===t?qn[e]:(qn[e]=t,"s"===e&&(qn.ss=t-1),!0))},i.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=kn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,n(17)(e))},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=s(n(1)),a=s(n(0));function s(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.count=0,this.comment=null,this.categoryId=null,this.ignoreMinimumOrderValue=!1,this.basePrice=0,this.price=0,this.baseTotalPrice=0,this.totalPrice=0,this.basePricePickup=0,this.pricePickup=0,this.baseTotalPricePickup=0,this.totalPricePickup=0,this.totalPriceMinimumOrder=0,this.size=null,this.isDisabled=!1,void 0!==t)for(var n in t)this[n]=t[n]}return i(e,[{key:"updateTotalPrice",value:function(){if(null===this.size)this.price=this.basePrice,this.pricePickup=this.basePricePickup,this.ignoreMinimumOrderValue||(this.totalPriceMinimumOrder=this.basePrice);else for(var e in this.price=this.size.price,this.pricePickup=this.size.pricePickup,this.ignoreMinimumOrderValue||(this.totalPriceMinimumOrder=this.price),this.size.sideDishes){var t=this.size.sideDishes[e];this.price+=t.price,this.pricePickup+=t.pricePickup,t.ignoreMinimumOrderValue||(this.totalPriceMinimumOrder+=t.price)}this.price=a.default.toMoney(this.price,2),this.pricePickup=a.default.toMoney(this.pricePickup,2),this.baseTotalPrice=a.default.toMoney(parseFloat(this.basePrice*this.count),2),this.baseTotalPricePickup=a.default.toMoney(parseFloat(this.basePricePickup*this.count),2),this.totalPrice=a.default.toMoney(parseFloat(this.price*this.count),2),this.totalPricePickup=a.default.toMoney(parseFloat(this.pricePickup*this.count),2)}},{key:"getBasePrice",value:function(e){if(e===r.default.DeliveryMethod.Type.Delivery)return this.size&&this.size.id?this.size.price:this.basePrice;if(e===r.default.DeliveryMethod.Type.Pickup)return this.size&&this.size.id?this.size.pricePickup:this.basePricePickup;throw new Error("Wrong DeliveryType: "+e+". Use Takeaway.DeliveryMethod.Type")}},{key:"getId",value:function(){return this.size&&this.size.id?this.size.id:this.id}},{key:"lowerComboCounter",value:function(){if(this.comboCounter)return this.comboCounter=this.comboCounter-1,!0}},{key:"getPrice",value:function(e){if(e===r.default.DeliveryMethod.Type.Delivery)return this.price;if(e===r.default.DeliveryMethod.Type.Pickup)return this.pricePickup;throw new Error("Wrong DeliveryType: "+e+". Use Takeaway.ENUM.DeliveryMethod.Type")}},{key:"getBaseTotalPrice",value:function(e){if(e===r.default.DeliveryMethod.Type.Delivery)return this.baseTotalPrice;if(e===r.default.DeliveryMethod.Type.Pickup)return this.baseTotalPricePickup;throw new Error("Wrong DeliveryType: "+e+". Use Takeaway.ENUM.DeliveryMethod.Type")}},{key:"getTotalPrice",value:function(e){if(e===r.default.DeliveryMethod.Type.Delivery)return this.totalPrice;if(e===r.default.DeliveryMethod.Type.Pickup)return this.totalPricePickup;throw new Error("Wrong DeliveryType: "+e+". Use Takeaway.ENUM.DeliveryMethod.Type")}},{key:"getMinimumOrderValueTotalPrice",value:function(e,t){if(this.ignoreMinimumOrderValue)return 0;if(t===r.default.DeliveryMethod.Type.Delivery)return e?this.totalPriceMinimumOrder:this.basePrice;if(t===r.default.DeliveryMethod.Type.Pickup)return 0;throw new Error("Wrong DeliveryType: "+t+". Use Takeaway.ENUM.DeliveryMethod.Type")}},{key:"resetComboCounter",value:function(){this.comboCounter=this.count}}]),e}();o.CommentMaxLength=160,t.default=o},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i,r=n(0),a=(i=r)&&i.__esModule?i:{default:i};var s=function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.calculateTransactionCosts=function(e){if(0===e)return 0;if(void 0===this.transactionFixed)return 0;var t=0;return 0===this.transactionFixed?0!==this.transactionPercentage&&(t=e*this.transactionPercentage/100):t=this.transactionFixed,0!==t&&(t=a.default.toMoney(parseFloat(t),2)),t},void 0!==t)for(var n in t)this[n]=t[n]};s.ID=Object.freeze({Cash:"0",Voucher:"13"}),t.default=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i,r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=n(0),s=(i=a)&&i.__esModule?i:{default:i};var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.orderTimes=[],this.exceptionTimes=[]}return r(e,[{key:"validateOrderTime",value:function(t,n){var i=[];if(this.exceptionTimes.length>0){var r=s.default.getDate(t);i=this.exceptionTimes.filter(function(e){return e.date.isSame(r)})}0===i.length&&(i=this.orderTimes.filter(function(e){return e.weekDay===n}));var a=e.Status.Open;if(i.length>0)for(var o in a=e.Status.Closed,i){var u=i[o];this.currentOrderTime=u;var c=s.default.timeToToday(u.startTime,t),d=s.default.timeToToday(u.endTime,t);if(0===s.default.getSeconds(c)&&0===s.default.getSeconds(d))return e.Status.Closed;var l=s.default.checkTimeBetween(u,t,t);if(l===s.default.TimeStatus.Before)return e.Status.PreOrder;if(l===s.default.TimeStatus.Between)return e.Status.Open}return a}},{key:"validateOrderTimeByServerTime",value:function(e){return this.status=this.validateOrderTime(e.time,e.weekDay),this.status}}]),e}();o.Status=Object.freeze({Closed:0,Open:1,PreOrder:2}),t.default=o},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return n(e,[{key:"isAvailable",value:function(e){return!(void 0!==this.date.startTime&&void 0!==this.date.endTime&&!e.time.isBetween(this.date.startTime,this.date.endTime))&&(-1===this.date.weekDay||this.date.weekDay===e.weekDay)}}]),e}();i.Type=Object.freeze({Product:1,Nth:2,Combination:3,Order:4}),t.default=i},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=s(n(1)),a=s(n(0));function s(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.translations={},this.openingTimes=[],this.pickupOpeningTimes=[],this.exceptionTimes=[],this.pickupExceptionTimes=[],this.deliveryAreas=[],this.categories=[],this.autoAddProducts=[],this.discounts=[],this.paymentMethods=[]}return i(e,[{key:"getOpeningStatus",value:function(t,n){var i=[];if(this.exceptionTimes.length>0||this.pickupExceptionTimes.length>0){var s=n===r.default.DeliveryMethod.Type.Delivery?this.exceptionTimes:this.pickupExceptionTimes,o=a.default.getDate(t.time);i=s.filter(function(e){return e.date.isSame(o,"date")})}0===i.length&&(i=(s=n===r.default.DeliveryMethod.Type.Delivery?this.openingTimes:this.pickupOpeningTimes).filter(function(e){return e.weekDay===t.weekDay}));for(var u in i){var c=i[u],d=a.default.timeToToday(c.startTime,t.time),l=a.default.timeToToday(c.endTime,t.time);if(0===a.default.getSeconds(d)&&0===a.default.getSeconds(l))return this.openingStatus=e.OpeningStatus.Closed,this.openingStatus;var h=a.default.checkTimeBetween(c,t.time,t.time);if(h===a.default.TimeStatus.Before)return this.openingStatus=e.OpeningStatus.PreOrder,this.openingStatus;if(h===a.default.TimeStatus.Between)return this.openingStatus=e.OpeningStatus.Open,this.openingStatus;this.openingStatus=e.OpeningStatus.Closed}return this.openingStatus}},{key:"isClosed",value:function(){return this.onlineStatus===e.OpeningStatus.Closed||this.openingStatus===e.OpeningStatus.Closed}},{key:"getCategoryById",value:function(e){return this.categories.filter(function(t){return e===t.id})[0]}},{key:"validateCategoriesOrderTime",value:function(e){for(var t in this.categories){this.categories[t].validateOrderTimeByServerTime(e)}}},{key:"getDeliveryAreaById",value:function(e){return this.deliveryAreas.filter(function(t){return e===t.id})[0]}}]),e}();o.OpeningStatus=Object.freeze({Closed:0,Open:1,PreOrder:2}),t.default=o},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i,r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=n(0),s=(i=a)&&i.__esModule?i:{default:i};var o=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.discount=0,this.remainingPayment=0,this.basedOnTotalPrice=0,void 0!==t)for(var n in t)this[n]=t[n]}return r(e,[{key:"calculateVoucherDiscount",value:function(t){switch(this.discount=0,this.basedOnTotalPrice=t,Number(this.type)){case e.Type.Credit:this.currentCredit<t?this.discount=this.currentCredit:this.discount=t;break;case e.Type.Discount:this.amount>0?this.discount=this.amount:this.discount=s.default.toMoney(t*this.percentage/100,2)}return this.remainingPayment=t-this.discount,this.remainingPayment<0&&(this.discount=t,this.remainingPayment=0),this.discount}},{key:"validateMinimumAmount",value:function(e){return e>=this.minimumOrderAmount}},{key:"validateVoucherProduct",value:function(e){if(!1===this.productId)return!0;if(!1!==this.productId)for(var t in e){var n=e[t];if(!n.isDisabled&&this.productId===n.id)return!0}return!1}}]),e}();o.Type=Object.freeze({Credit:1,Discount:2}),t.default=o},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return n(e,null,[{key:"empty",value:function(e){this.isNode(e)&&(e.textContent="")}},{key:"isNode",value:function(e){return void 0!==e&&e.nodeType===Node.ELEMENT_NODE}},{key:"hide",value:function(e){}},{key:"html",value:function(e,t){this.isNode(e)&&(this.empty(e),e.insertAdjacentHTML("beforeend",t))}}]),e}();t.default=i},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.ENUM=t.BasketInitiator=void 0;var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();n(11);var r=m(n(14)),a=m(n(5)),s=m(n(28)),o=m(n(6)),u=m(n(1)),c=m(n(2)),d=m(n(4)),l=m(n(7)),h=m(n(29)),f=m(n(0));function m(e){return e&&e.__esModule?e:{default:e}}(0,n(30).helperInit)(),new URLSearchParams(window.location.search).has("debug")||(console.debug=function(){},console.info=function(){},console.log=function(){});var p=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.categories,i=t.currentDelivery,m=t.currentRestaurant,p=t.deliveryType,v=t.mode,y=t.page,g=t.products,k=t.showToastFunction,b=t.time;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),y===u.default.PAGE.SUCCESS)return localStorage.removeItem(u.default.Persistence.BASKET),void localStorage.removeItem(u.default.Persistence.LAST_INTERACTION_TIME);this.serverDateTime=f.default.normalizeServerTime(b);var _=new l.default;_.id=m.Id,_.name=m.Name,_.url=m.Urls.Restaurant,_.cartUrl=m.Urls.Cart,_.orderUrl=m.Urls.OrderUrl,_.domain=m.Urls.Domain,_.onlineStatus=parseInt(m.Open),_.deliveryType=m.Pickup,_.deliveryAreaId=i?i.postcode:null,_.autoAddProducts=m.Settings.AutoAddedProducts,_.translations=m.Translations,_.currency=m.Currency,_.dynamicDeliveryCosts=m.dynamicDeliveryCosts;var P=[];for(var w in n){var T=n[w],M=new a.default;for(var S in M.id=w,T)if("exceptions"!==S){var D=T[S],O=new h.default;O.weekDay=D.weekDay,O.startTime=(0,c.default)(D.startTime,"HH:mm:ss"),O.endTime=(0,c.default)(D.endTime,"HH:mm:ss"),M.orderTimes.push(O)}else{var C=T[S];for(var x in C){var I=C[x],A=new h.default;A.date=f.default.getDate((0,c.default)(I.date)),A.startTime=(0,c.default)(I.startTime,"HH:mm:ss"),A.endTime=(0,c.default)(I.endTime,"HH:mm:ss"),M.exceptionTimes.push(A)}}P.push(M)}if(_.categories=P,_.validateCategoriesOrderTime(this.serverDateTime),_.openingTimes=this.parseOpeningTimes(m.Times.deliveryopentimes),_.pickupOpeningTimes=this.parseOpeningTimes(m.Times.pickupopentimes),_.exceptionTimes=this.parseExceptionTimes(m.Times.exceptionsdelivery),_.pickupExceptionTimes=this.parseExceptionTimes(m.Times.exceptionspickup),i){var E=[],j=void 0;for(var N in"postcode"===i.searchType?j=m.Locations:"address"===i.searchType&&(j=[m.Polygons[i.polygonIndex]]),console.log("currentDeliverySearchType",i.searchType),console.log("deliveryAreasSource",j),j){var Y=j[N],R=new s.default;R.id=Y.deliveryareaid.toString(),R.minimumOrderAmount=Y.minimumcosts,R.deliveryCosts=Y.costs;var U=0,V=0;for(var B in Y.costs){var z=Y.costs[B];U<z.till&&0!=z.till&&(U=z.till),0==z.till&&(V=!1)}R.noDeliveryCostsFrom=!1!==V?parseFloat(U):0,E.push(R)}_.deliveryAreas=E,console.log("restaurant.deliveryAreas",_.deliveryAreas)}var L=[];if(void 0!==m.Settings.PaymentMethods)for(var F in m.Settings.PaymentMethods){var H=m.Settings.PaymentMethods[F],W=new d.default;W.id=H.id,W.mainId=H.mainId,W.subId=H.subId,W.name=H.name,W.transactionFixed=H.fixed,W.transactionPercentage=H.percentage,L.push(W)}_.paymentMethods=L;var G=void 0;for(var Q in m.Settings.Discounts){var q=m.Settings.Discounts[Q];(G=new o.default).id=q.id,G.type=parseInt(q.type),G.deliveryType=parseInt(q.deliverytype),G.amount=q.discountamount,G.from=q.discountfrom,G.number=q.discountnumber,G.percentage=q.discountpercentage,G.specialPrice=q.discountprice,G.productIds2D=q.productsids,G.description=q.text,G.discountName=q.title,G.isDiscountRepeat=q.anynumber,G.inclusiveSidedishes=q.includeSidedishes;var Z=new h.default;Z.weekDay=null!==q.day?parseInt(q.day):-1,G.date=Z,_.discounts.push(G)}var J=new r.default({products:g,deliveryType:p,mode:v,restaurant:_,showToastFunction:k,page:y,serverDateTime:this.serverDateTime});if(y===u.default.PAGE.CHECKOUT){null===J.getPaymentMethod()?J.selectFirstPossiblePaymentMethod():J.selectPaymentMethodById(J.getPaymentMethod().id),console.log("Basket: selectPaymentMethodByLocalStorage()");var K=$("#ideliverytime, #ipickuptime")[0];if(-1===K.options.selectedIndex)return;var X=K.options[K.options.selectedIndex];J.validateDeliveryTime(X.value)}return void 0!==window.basketValidationResponse?J.updateBasketAfterValidation(window.basketValidationResponse):J.updateUI(),$(document).ready(function(){$(document.body).click(function(e){"cart-meal-textarea"!==e.target.className&&"div.cart-meal-edit-comment"!==e.target.className&&J.closeProductComment(e,J.selectedProductCommentId,!0)})}),J}return i(e,[{key:"parseOpeningTimes",value:function(e){var t=[];for(var n in e){var i=e[n];for(var r in i){var a=i[r],s=new h.default;s.weekDay=parseInt(n),s.startTime=(0,c.default)(a.starttime,"HH:mm"),s.endTime=(0,c.default)(a.endtime,"HH:mm"),t.push(s)}}return t}},{key:"parseExceptionTimes",value:function(e){var t=[];for(var n in e){var i=e[n],r=(0,c.default)(1e3*i.starttime),a=(0,c.default)(1e3*i.endtime),s=new h.default;s.date=f.default.getDate(r),s.startTime=(0,c.default)({hour:r.hours(),minute:r.minutes()}),s.endTime=(0,c.default)({hour:a.hours(),minute:a.minutes()}),t.push(s)}return t}}]),e}();t.BasketInitiator=p,t.ENUM=u.default,window.BasketInitiator=p,window.ENUM=u.default},function(e,t,n){n(12),String.prototype.includes||(String.prototype.includes=function(e,t){"use strict";return"number"!=typeof t&&(t=0),!(t+e.length>this.length)&&-1!==this.indexOf(e,t)}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var i=arguments[1],r=0;r<n;){var a=t[r];if(e.call(i,a,r,t))return a;r++}}}),Array.prototype.fill||Object.defineProperty(Array.prototype,"fill",{value:function(e){if(null==this)throw new TypeError("this is null or not defined");for(var t=Object(this),n=t.length>>>0,i=arguments[1],r=i>>0,a=r<0?Math.max(n+r,0):Math.min(r,n),s=arguments[2],o=void 0===s?n:s>>0,u=o<0?Math.max(n+o,0):Math.min(o,n);a<u;)t[a]=e,a++;return t}})},function(e,t,n){(function(e){!function(e){"use strict";var t,n=e.URLSearchParams&&e.URLSearchParams.prototype.get?e.URLSearchParams:null,i=n&&"a=1"===new n({a:1}).toString(),r=n&&"+"===new n("s=%2B").get("s"),a="__URLSearchParams__",s=!n||((t=new n).append("s"," &"),"s=+%26"===t.toString()),o=l.prototype,u=!(!e.Symbol||!e.Symbol.iterator);if(!(n&&i&&r&&s)){o.append=function(e,t){v(this[a],e,t)},o.delete=function(e){delete this[a][e]},o.get=function(e){var t=this[a];return e in t?t[e][0]:null},o.getAll=function(e){var t=this[a];return e in t?t[e].slice(0):[]},o.has=function(e){return e in this[a]},o.set=function(e,t){this[a][e]=[""+t]},o.toString=function(){var e,t,n,i,r=this[a],s=[];for(t in r)for(n=h(t),e=0,i=r[t];e<i.length;e++)s.push(n+"="+h(i[e]));return s.join("&")};var c=!!r&&n&&!i&&e.Proxy;Object.defineProperty(e,"URLSearchParams",{value:c?new Proxy(n,{construct:function(e,t){return new e(new l(t[0]).toString())}}):l});var d=e.URLSearchParams.prototype;d.polyfill=!0,d.forEach=d.forEach||function(e,t){var n=p(this.toString());Object.getOwnPropertyNames(n).forEach(function(i){n[i].forEach(function(n){e.call(t,n,i,this)},this)},this)},d.sort=d.sort||function(){var e,t,n,i=p(this.toString()),r=[];for(e in i)r.push(e);for(r.sort(),t=0;t<r.length;t++)this.delete(r[t]);for(t=0;t<r.length;t++){var a=r[t],s=i[a];for(n=0;n<s.length;n++)this.append(a,s[n])}},d.keys=d.keys||function(){var e=[];return this.forEach(function(t,n){e.push(n)}),m(e)},d.values=d.values||function(){var e=[];return this.forEach(function(t){e.push(t)}),m(e)},d.entries=d.entries||function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),m(e)},u&&(d[e.Symbol.iterator]=d[e.Symbol.iterator]||d.entries)}function l(e){((e=e||"")instanceof URLSearchParams||e instanceof l)&&(e=e.toString()),this[a]=p(e)}function h(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,function(e){return t[e]})}function f(e){return decodeURIComponent(e.replace(/\+/g," "))}function m(t){var n={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return u&&(n[e.Symbol.iterator]=function(){return n}),n}function p(e){var t={};if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&v(t,n,e[n]);else{0===e.indexOf("?")&&(e=e.slice(1));for(var i=e.split("&"),r=0;r<i.length;r++){var a=i[r],s=a.indexOf("=");-1<s?v(t,f(a.slice(0,s)),f(a.slice(s+1))):a&&v(t,f(a),"")}}return t}function v(e,t,n){var i="string"==typeof n?n:null!=n&&"function"==typeof n.toString?n.toString():JSON.stringify(n);t in e?e[t].push(i):e[t]=[i]}}(void 0!==e?e:"undefined"!=typeof window?window:this)}).call(this,n(13))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=p(n(15)),a=p(n(9)),s=p(n(1)),o=p(n(2)),u=p(n(4)),c=p(n(3)),d=p(n(20)),l=p(n(21)),h=p(n(22)),f=p(n(0)),m=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}n(23);var v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector(e)},y=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.deliveryType,i=t.mode,a=t.page,s=t.products,o=t.restaurant,u=t.serverDateTime,c=t.showToastFunction;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.selectedProductCommentId=null,this.selectedProductComment=null,this.mode=i,this.products=s,this.page=a,this.restaurant=o,this.serverDateTime=u,this.showToastFunction=c,console.log("%c BasketController() UI.renderContainer() ","background: #008000; color: #fff"),h.default.renderContainer({i18n:o.translations,deliveryType:n}),this.basket=new r.default(this.restaurant,n,this.serverDateTime),console.log("basketProducts",this.basket.basketProducts)}return i(e,[{key:"showRestaurantIsClosed",value:function(){var e=this.restaurant,t=e.name,n=e.translations,i=e.deliveryAreaId,r="";switch(this.mode){case s.default.MODE.RESTAURANT:r=t+" "+n.restaurantClosed2+".";break;case s.default.MODE.COUNTRY:default:r=t+" "+n.restaurantClosed2+' <a href="'+i+'">'+n.restaurantClosed3+"</a>."}this.showToastFunction(r)}},{key:"hasProductsForMinAge",value:function(e){var t=this.basket.getMinAgeConsentValue();return null!==t&&t>=e}},{key:"acceptAgeVerificationConsent",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return window.ageConsent("close"),!0===n?window.addSideDishBasket(e,t):window.addBasket(e,t)}},{key:"showAgeVerificationConsentMessage",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i='\n        <div>\n            <div class="popupheader">\n            <strong>'+this.restaurant.translations.AGE_VERIFICATION_HEADER+'</strong>\n            </div>\n            <div class="popupcontent">\n                <p>'+this.restaurant.translations.AGE_VERIFICATION_BODY_MAIN+"</p>\n                <p>\n                   <strong>"+this.restaurant.translations.AGE_VERIFICATION_BODY_AGE.replace("{max_age_restriction_in_basket}",t)+'</strong>\n                </p>\n            </div>\n            <div class="sidedish-footer">\n                <button class="cartbutton-button cartbutton-button-sidedishes add-btn-icon"\n                onclick="basket.acceptAgeVerificationConsent(\''+e+"', "+t+", "+n+')">\n                '+this.restaurant.translations.AGE_VERIFICATION_YES+'\n                </button>\n                <button onclick="window.ageConsent(\'close\')"\n                style="background-color: gray"\n                class="cartbutton-button cartbutton-button-sidedishes add-btn-icon">\n                '+this.restaurant.translations.AGE_VERIFICATION_NO+"\n               </button>\n            </div>\n        </div>";window.ageConsent("init"),jQuery("#ageRestriction").html(i)}},{key:"addProduct",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getProduct(e);if(null!==n){var i=this.basket.addProduct(n,t);switch(i){case r.default.PRODUCT.SUCCESS:this.updateUI();break;case r.default.PRODUCT.RESTAURANT_CLOSED:this.showRestaurantIsClosed();break;case r.default.PRODUCT.CATEGORY_UNAVAILABLE:var a=this.restaurant.getCategoryById(n.categoryId),s=new f.default.StringBuilder;s.append(this.restaurant.translations.categoryClosed1).append(" ").append(a.currentOrderTime.endTime.format("HH:mm")).append(this.restaurant.translations.categoryClosed2),this.showToastFunction(s.toString());break;default:console.log("Unknown error adding product")}}else console.log("failed to add product, trying to cheat by calling the method?")}},{key:"removeProduct",value:function(e,t){e.stopPropagation(),this.basket.removeProduct(t),t===this.selectedProductCommentId&&(this.selectedProductCommentId=null,this.selectedProductComment=null),0===this.basket.totalProducts&&this.removeVoucher(),this.updateUI()}},{key:"increaseProduct",value:function(e,t){e.stopPropagation(),this.basket.increaseProduct(t),this.updateUI()}},{key:"decreaseProduct",value:function(e,t){e.stopPropagation(),this.basket.decreaseProduct(t)&&(t===this.selectedProductCommentId&&(this.selectedProductCommentId=null,this.selectedProductComment=null),0===this.basket.totalProducts&&this.removeVoucher()),this.updateUI()}},{key:"openProductComment",value:function(e,t,n){if(e.stopPropagation(),!n){if(this.selectedProductCommentId===t)return void this.closeProductComment(e,t,!0);null!==this.selectedProductCommentId&&this.closeProductComment(e,this.selectedProductCommentId,!0)}jQuery(".cart-row.commentinput").hide(),this.selectedProductCommentId=t;var i=n?this.selectedProductComment:this.basket.getComment(t);this.selectedProductComment=i;var r=jQuery("#commentinput-"+t);r.show(),r.find("textarea").focus(),i&&(r.find("textarea").val(""),r.find("textarea").val(i))}},{key:"closeProductComment",value:function(e,t,n){if(null!==t){null!==e&&e.stopPropagation();var i=jQuery("#commentinput-"+t);if(n){var r=i.find("textarea").val().replace(/<(?:.|\n)*?>/gm,"");this.basket.addComment(t,r),this.selectedProductCommentId=null,this.updateBasketUI()}else i.find("textarea").val(""),i.hide(),this.selectedProductCommentId=null}}},{key:"deleteProductComment",value:function(e,t){e.stopPropagation(),jQuery("#commentinput-"+t).find("textarea").val(""),this.basket.addComment(t,""),this.selectedProductCommentId=null,this.selectedProductComment=null,this.updateBasketUI()}},{key:"addProductComment",value:function(e,t){var n=jQuery("#commentinput-"+t).find("textarea").val();this.selectedProductComment=n}},{key:"getDeliveryMethod",value:function(){return this.basket.deliveryType}},{key:"switchDeliveryType",value:function(e,t){return this.basket.switchDeliveryType(e,t)}},{key:"getBasketJson",value:function(){return this.basket.getBasketJson()}},{key:"validateDeliveryTime",value:function(e){jQuery("#deliverytime-notification").text(""),jQuery("#deliverytime-notification").addClass("hidden");var t=void 0;t="asap"===e?this.serverDateTime.time:f.default.timeToToday((0,o.default)(e,"HH:mm"),this.serverDateTime.time);var n=this.basket.validateDeliveryTime(t);if(null!==n){var i=this.restaurant.translations,r=new f.default.StringBuilder;r.append(i.timedProduct1).append(" '").append(n.product.productName).append("' ").append(i.timedProduct2).append(" ").append(n.category.currentOrderTime.startTime.format("HH:mm")).append(" ").append(i.timedProduct3).append(" ").append(n.category.currentOrderTime.endTime.format("HH:mm")).append(i.timedProduct4).append(" ").append("<a href='/"+this.restaurant.url+"'>").append(i.timedProduct5).append("</a>").append(" ").append(i.timedProduct6),a.default.html(v("#deliverytime-notification"),r.toString()),jQuery("#deliverytime-notification").removeClass("hidden")}}},{key:"proceedCheckout",value:function(){this.basket.isCheckoutAllowed&&(document.location=this.restaurant.orderUrl)}},{key:"updateBasketAfterValidation",value:function(e){this.basket.updateBasketAfterValidation(e),console.log("updateBasketAfterValidation"),this.updateUI()}},{key:"validateBasket",value:function(e){return this.basket.deliveryType===s.default.DeliveryMethod.Type.Delivery&&void 0===this.restaurant.deliveryAreaId?(console.log("postcode is missing"),null!=e&&e(!1),!1):!this.basket.isCheckoutAllowed||this.basket.isValidateBasketByServer?(null!=e&&e(!1),!1):void this.basket.validateBasketByServer(function(t){var n=this;if(console.log(t),t.productMismatch)for(var i in t.productMismatches){var r=t.productMismatches[i];this.parseProductMismatch(r)}if(t.productMissing)for(var a=new f.default.StringBuilder,s=t.productMissings.length;s--;){var o=t.productMissings[s],u=this.basket.basketProducts.filter(function(e){return e.uniqueId===o})[0];if(void 0!==u){if(a.append(u.productName).append("<br />"),null!==u.size){var c=[];u.productName!==u.size.sizeName&&c.push(u.size.sizeName),u.size.sideDishes.length>0&&c.push(this.generateSideDishString(u.size.sideDishes)),a.append(c.join(", ")).append("<br />")}a.append("<br />"),this.basket.removeProduct(u.uniqueId)}}var d=0,l=function(e){n.basket.basketProducts.filter(function(n){n.uniqueId===t.productExistingIds[e]&&d++}.bind(n))};for(var h in t.productExistingIds){l(h)}if(d!==t.productExistingIds.length)throw new Error("Something went wrong with the validation");this.basket.calculateTotalPrice(),this.basket.saveBasket(),this.updateUI();var m={isValid:!t.productMismatch&&!t.productMissing,isMismatch:t.productMismatch,isMissing:t.productMissing,errorMessage:t.message,redirectUrl:t.url};null!=e&&e(m)}.bind(this))}},{key:"parseProductMismatch",value:function(e){var t=this.basket.basketProducts.filter(function(t){return t.uniqueId===e.uniqueId})[0];if(void 0!==t){for(var n in null!==t.size?(t.size.price=e.singlePrice,t.size.pricePickup=e.singlePricePickup,t.deliveryType=parseInt(e.deliveryType),t.ignoreMinimumOrderValue=e.ignoreMinimumOrderValue):(t.basePrice=e.singlePrice,t.basePricePickup=e.singlePricePickup,t.deliveryType=parseInt(e.deliveryType),t.ignoreMinimumOrderValue=e.ignoreMinimumOrderValue),e.sideDishes){var i=e.sideDishes[n];t.size.sideDishes.filter(function(e){if(e.id===i.id)return e.price=parseFloat(i.price),e.pricePickup=parseFloat(i.price_pickup),void(e.ignoreMinimumOrderValue=i.ignoreMinimumOrderValue)})}return t.updateTotalPrice(),t}}},{key:"setPaymentMethod",value:function(e){this.basket.setPaymentMethod(e),this.updateUI()}},{key:"getPaymentMethod",value:function(){return this.basket.paymentMethod}},{key:"addVoucher",value:function(e){this.basket.addVoucher(e),this.updateUI()}},{key:"removeVoucher",value:function(){this.updateUI()}},{key:"getProduct",value:function(e){for(var t in this.products){var n=this.products[t];if(n.productId===e&&"0"!==n.categoryId){var i=new c.default;if(i.id=n.productId,i.productName=n.name,i.count=this.getProductCount(n),i.basePrice=n.price,i.basePricePickup=n.price_pickup,i.categoryId=n.categoryId,i.deliveryType=n.deliverymethod,i.ignoreMinimumOrderValue=!n.is_meal,n.hasSizes){if(void 0===n.sizes)return null;for(var r in n.sizes){var a=n.sizes[r];if(a.isSelected){var s=new d.default;for(var o in s.id=a.id,s.sizeName=a.name,s.price=a.price,s.pricePickup=a.price_pickup,s.sideDishes=[],s.deliveryType=parseInt(a.deliverytype),s.ignoreMinimumOrderValue=!a.is_meal,a.sidedishgroups){var u=a.sidedishgroups[o];for(var h in u.sidedishes){var f=u.sidedishes[h];if(f.isSelected){var m=new l.default;m.id=f.id,m.sideDishName=f.name,m.price=f.price,m.pricePickup=f.price_pickup,m.ignoreMinimumOrderValue=!f.is_meal,s.sideDishes.push(m)}}}i.size=s;break}}}return i}}return null}},{key:"getProductCount",value:function(e){if(!e.hasSizes)return 1;var t=1;for(var n in e.sizes){var i=e.sizes[n];if(i.isSelected){t=jQuery("#iproductnumber"+i.id).attr("value");break}}return void 0!==t?parseInt(t):t}},{key:"updateUI",value:function(){console.log("%c BasketController(): updateUI() ","background: #005000; color: #ff"),this.updateBasketUtilityBar(),this.updateBasketUI(),this.updateBasketMissingUI(),this.updatePaymentUI(),this.updateVoucherUI()}},{key:"updateBasketUtilityBar",value:function(){jQuery("#btn-basket span.btn-cart-price")[0].innerHTML=f.default.formatPrice(this.basket.totalPrice,this.restaurant.currency);var e=this.basket.totalProducts;jQuery(".btn-cart-amount")[0].innerHTML=e,e>0?jQuery("#btn-basket").addClass("btn-basket-products"):jQuery("#btn-basket").removeClass("btn-basket-products"),0!==e&&(jQuery("#btn-basket").find(".btn-cart-icon").addClass("pulse-button"),setTimeout(function(){jQuery("#btn-basket").find(".btn-cart-icon").removeClass("pulse-button")},250),jQuery(".subnav-wrapper").hasClass("basketmode")||(jQuery("#btn-basket").addClass("highlight"),setTimeout(function(){jQuery("#btn-basket").removeClass("highlight")},1e3)))}},{key:"generateSideDishString",value:function(e){var t=[];for(var n in e){var i=e[n],r=i.sideDishName.match(/(\(.*?\))/g),a=i.sideDishName;r&&r.length>0&&(a=i.sideDishName.replace(r[r.length-1],"")),a=a.replace(/(^\s+|\s+$)/g,""),this.basket.deliveryType==s.default.DeliveryMethod.Type.Delivery&&i.ignoreMinimumOrderValue&&(a="<span class='cart-meal-exclude' title='"+this.restaurant.translations.minimumExclusionProducts+"'>"+a+"</span>"),t.push(a)}return t.join(", ")}},{key:"updateBasketUI",value:function(){if(jQuery(".missing .missing_products").text(""),jQuery(".missing").hide(),jQuery(".mismatch").hide(),jQuery("#products").empty(),jQuery("#js-basket-container #discounts").empty(),jQuery("#autoaddproducts").empty(),jQuery("#voucher").empty().hide(),jQuery("#js-basket-container #sum").empty().hide(),jQuery("#cart-exclusive").hide(),jQuery("#cart-exclusive-only").hide(),jQuery("#empty").show(),jQuery("#js-basket-container .minimumorderamount-reached").hide(),jQuery("#js-basket-container .cartbutton-button").addClass("btn-disabled"),jQuery("#js-basket-container .cartbutton-button").attr("href","#"),jQuery("#js-basket-container .cartbutton-button").click(function(){return!1}),jQuery(".meal-error-mismatch").hide(),jQuery(".meal-error-missing").hide(),0!==this.basket.totalProducts){for(var e in jQuery("#empty").hide(),this.basket.basketProducts){var t=this.basket.basketProducts[e];if(!t.isDisabled){var n=this.basket.deliveryType===s.default.DeliveryMethod.Type.Delivery&&t.ignoreMinimumOrderValue,i="";if(null!==t.size){var r=[];t.productName!==t.size.sizeName&&r.push(t.size.sizeName),t.size.sideDishes.length>0&&r.push(this.generateSideDishString(t.size.sideDishes)),i='\n          <div class="cart-row">\n            <span class="cart-meal-extra grey">'+r.join(", ")+"</span>\n          </div>"}var o=null!==t.comment&&""!==t.comment,u=o?'\n        <div class="cart-row">\n          <span class="cart-meal-comment grey">'+t.comment+"</span>\n        </div>":"",c=o?'\n            <a class="cart-meal-btn delete"\n               onclick="basket.deleteProductComment(event, \''+t.uniqueId+"'); return false;\">\n                "+this.restaurant.translations.REMARK_DELETE+'\n            </a>\n            <a class="cart-meal-btn edit"\n               onclick="basket.closeProductComment(event, \''+t.uniqueId+"', true); return false;\">\n                "+this.restaurant.translations.REMARK_EDIT+"\n            </a>":'\n            <a class="cart-meal-btn cancel"\n               onclick="basket.closeProductComment(event, \''+t.uniqueId+"', false); return false;\">\n                "+this.restaurant.translations.REMARK_CANCEL+'\n            </a>\n            <a class="cart-meal-btn add"\n               onclick="basket.closeProductComment(event, \''+t.uniqueId+"', true); return false;\">\n                "+this.restaurant.translations.REMARK_ADD+"\n            </a>",d='\n        <div\n             class="cart-row commentinput"\n             id="commentinput-'+t.uniqueId+'"\n             style="'+(o?"":"display:none")+'"\n        >\n          <fieldset>\n            <legend>'+this.restaurant.translations.REMARK_BOX_TITLE+'</legend>\n            <textarea\n                class="cart-meal-textarea"\n                placeholder="'+this.restaurant.translations.REMARK_EXAMPLE+'"\n                cols="0"\n                rows="4"\n                maxlength="160"\n                onkeyup="basket.addProductComment(event, \''+t.uniqueId+'\', true); return false;"></textarea>\n          </fieldset>\n          <div class="cart-meal-btns">\n            '+c+"\n          </div>\n        </div>",l="",h=this.basket.ageRestrictionValue(t.uniqueId);null!==h&&h>0&&(l='<span class="age-restriction">+'+h+"</span>");var m='\n        <div class="cart-single-meal">\n          <div class="cart-row" data-restaurant="<?php echo $StaticBasket->RestaurantIdEncrypted; ?>">\n            <span class="cart-meal-amount">'+t.count+'x</span>\n            <span class="cart-meal-name">'+t.productName+"</span>\n            "+l+'\n            <div class="cart-meal-edit-buttons">\n              <div class="cart-meal-edit-delete"\n                   onclick="basket.decreaseProduct(event, \''+t.uniqueId+'\')"></div>\n              <div class="cart-meal-edit-add"\n                   onclick="basket.increaseProduct(event, \''+t.uniqueId+'\')"></div>\n              <div class="cart-meal-edit-comment"\n                   onclick="basket.openProductComment(event, \''+t.uniqueId+'\')"></div>\n            </div>\n            <span\n                  class="cart-meal-price '+(n?"cart-meal-exclude":"")+'"\n                  '+(n?'title="'+this.restaurant.translations.minimumExclusionProducts+'"':"")+"\n            >\n              "+f.default.formatPrice(t.getTotalPrice(this.basket.deliveryType),this.restaurant.currency)+'\n            </span>\n            <span class="cart-meal-delete"\n                  onclick="basket.removeProduct(event, \''+t.uniqueId+"')\"></span>\n          </div>\n          "+i+"\n          "+u+"\n          "+d+"\n        </div>";document.querySelector("#js-basket-container #products").insertAdjacentHTML("beforeend",m)}}for(var p in null!==this.selectedProductCommentId&&this.openProductComment(event,this.selectedProductCommentId,!0),this.basket.activeDiscounts){var y=this.basket.activeDiscounts[p];if(0!==y.totalPrice){var g=y.productNames.length>0?" ("+y.productNames.join(" + ")+")":"",k='\n        <div class="cart-single-meal">\n          <div class="cart-row">\n            <span class="cart-meal-amount">'+y.count+'x</span>\n            <span class="cart-meal-name">'+(y.discountName+g)+'</span>\n            <span class="cart-meal-price">-'+f.default.formatPrice(y.totalPrice,this.restaurant.currency)+'</span>\n            <span class="cart-meal-delete cart-meal-delete-disabled"></span>\n          </div>\n        </div>';document.querySelector("#js-basket-container #discounts").insertAdjacentHTML("beforeend",k)}}for(var b in this.basket.autoAddProducts){var _=this.basket.autoAddProducts[b],P='\n        <div class="cart-single-meal">\n          <div class="cart-row">\n            <span class="cart-meal-amount">'+_.count+'x</span>\n            <span class="cart-meal-name">'+_.productName+'</span>\n            <span class="cart-meal-price">'+f.default.formatPrice(_.getTotalPrice(this.basket.deliveryType),this.restaurant.currency)+'</span>\n            <span class="cart-meal-delete cart-meal-delete-disabled"></span>\n          </div>\n        </div>';document.querySelector("#js-basket-container #autoaddproducts").insertAdjacentHTML("beforeend",P)}if(this.basket.basketProducts.length>0){jQuery("#js-basket-container #sum").show();var w='\n        <div class="cart-row">\n          <span class="cart-sum-name grey">'+this.restaurant.translations.SUB_TOTAL_COSTS+'</span>\n          <span class="cart-sum-price grey">'+f.default.formatPrice(this.basket.baseTotalPrice,this.restaurant.currency)+"</span>\n        </div>";if(document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",w),this.basket.deliveryType===s.default.DeliveryMethod.Type.Delivery){var T=this.basket.deliveryCosts>0?f.default.formatPrice(this.basket.deliveryCosts,this.restaurant.currency):this.restaurant.translations.free,M='\n          <div class="cart-row">\n            <span class="cart-sum-name grey">'+this.restaurant.translations.DELIVERY_COSTS+'</span>\n            <span class="cart-sum-price grey">'+T+"</span>\n          </div>";document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",M)}if(null!==this.basket.voucher&&this.basket.voucherValidation.productRequired&&this.basket.voucherValidation.minimumAmount){var S='\n          <div class="cart-row">\n            <span class="cart-sum-name row-green">'+this.restaurant.translations.VOUCHER+'</span>\n            <span class="cart-sum-price row-green">-'+f.default.formatPrice(this.basket.voucher.discount,this.restaurant.currency)+"</span>\n          </div>";document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",S)}if(0!==this.basket.transactionCosts&&void 0!==this.basket.transactionCosts){var D='\n          <div class="cart-row">\n            <span class="cart-sum-name row-green">'+this.restaurant.translations.transactionCosts+" ("+this.basket.paymentMethod.name+')</span>\n            <span class="cart-sum-price row-green">'+f.default.formatPrice(this.basket.transactionCosts,this.restaurant.currency)+"</span>\n          </div>";document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",D)}var O='\n        <div class="cart-row row-sum">\n          <span class="cart-sum-name">'+this.restaurant.translations.TOTAL_COSTS+'</span>\n          <span class="cart-sum-price">'+f.default.formatPrice(this.basket.totalPrice,this.restaurant.currency)+"</span>\n        </div>";if(document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",O),this.basket.deliveryCosts>0&&this.basket.deliveryArea.noDeliveryCostsFrom>0){var C=f.default.formatPrice(this.basket.deliveryArea.noDeliveryCostsFrom,this.restaurant.currency),x='\n          <div class="cart-row">\n            <span class="cart-sum-name">'+this.restaurant.translations.FREE_DELIVERY_FROM.replace("{costs}",C)+"</span>\n          </div>";document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",x)}}if(this.basket.deliveryType===s.default.DeliveryMethod.Type.Delivery){if(this.basket.isCheckoutAllowed&&(jQuery(".cartbutton-button").removeClass("btn-disabled"),a.default.html(v("#js-basket-container .minimumorderamount-reached"),this.restaurant.translations.minimumReached)),void 0!==this.basket.deliveryArea){0===this.basket.getTotalProductsMOVOnly()&&jQuery("#cart-exclusive-only").css("display","flex");var I=this.basket.calculateMinimumAmount(this.basket.minimumOrderValueTotalPrice),A=void 0;if(A=I>0?(A=this.restaurant.translations.minimumNotReached.replace("{restaurant}",this.restaurant.name)).replace("{costs}",f.default.formatPrice(this.basket.deliveryArea.minimumOrderAmount,this.restaurant.currency)):this.restaurant.translations.minimumReached.replace("{costs}",f.default.formatPrice(this.basket.deliveryArea.minimumOrderAmount,this.restaurant.currency)),this.basket.hasMinimumAmount()&&this.basket.getTotalProductsMOVOnly()>0&&(a.default.html(v("#js-basket-container .minimumorderamount-reached"),A),jQuery("#js-basket-container .minimumorderamount-reached").show()),I>0){var E='\n            <div class="cart-row">\n              <span class="cart-sum-name row-green">'+this.restaurant.translations.REACH_MINIMUM_ORDER_AMOUNT+'</span>\n              <span class="cart-sum-price row-green">'+f.default.formatPrice(I,this.restaurant.currency)+"</span>\n            </div>";document.querySelector("#js-basket-container #sum").insertAdjacentHTML("beforeend",E)}}}else this.basket.isCheckoutAllowed&&jQuery(".cartbutton-button").removeClass("btn-disabled");this.basket.containsExcludeProduct()&&jQuery("#cart-exclusive").show()}}},{key:"updateBasketMissingUI",value:function(){if(this.page===s.default.PAGE.CHECKOUT){for(var e in this.basket.productMismatches){var t=this.basket.productMismatches[e];jQuery("#"+t.uniqueId).closest(".cart-single-meal").addClass("highlight")}for(var n in this.basket.productMissings){var i=this.basket.productMissings[n],r=new f.default.StringBuilder;if(r.append("<strong>").append(i.productName).append("</strong>").append("<br />"),null!==i.size){var o=[];i.productName!==i.size.sizeName&&o.push(i.size.sizeName),i.size.sideDishes.length>0&&o.push(this.generateSideDishString(i.size.sideDishes)),r.append("<i>").append(o.join(", ")).append("</i>").append("<br />")}r.append("<br />"),jQuery(".missing .missing_products").append(r.toString())}var u=this.restaurant.translations;if(this.basket.productMissings.length>0){var c=1===this.basket.productMissings.length?u.productMissingBasketSingular:u.productMissingBasketPlural;a.default.html(v(".missing .cart-meal-error"),c),jQuery(".missing").show(),c=1===this.basket.productMissings.length?u.productMissingSingular:u.productMissingPlural,a.default.html(v(".meal-error-missing"),c),jQuery(".meal-error-missing").show()}if(this.basket.productMismatches.length>0){var d=1===this.basket.productMismatches.length?u.productMismatchSingular:u.productMismatchPlural;a.default.html(v(".mismatch .cart-meal-error"),d),jQuery(".mismatch").show(),d=1===this.basket.productMismatches.length?u.productMismatchSingular:u.productMismatchPlural,a.default.html(v(".meal-error-mismatch"),d),jQuery(".meal-error-mismatch").show()}this.basket.clearBasketValidationData()}}},{key:"hideWarnings",value:function(){jQuery("#products .warning").hide(),jQuery("#js-basket-container .basketmismatch").hide(),jQuery("#js-basket-container .basketmissing").hide()}},{key:"updateVoucherUI",value:function(){if(null===this.basket.voucher)return jQuery("#ivouchercontainerr").show(),jQuery("#ivouchercontainer").empty(),void jQuery(".paymentnormal").show();jQuery("#ivouchercontainerr").hide();var e=this.restaurant.translations,t=this.basket.voucher,n=new f.default.StringBuilder;if(!this.basket.voucherValidation.productRequired)return n.append(e.voucherProductError1).append(" <b>").append(t.productName).append(" </b>").append(e.voucherProductError2).append(" ").append("<a href='/"+this.restaurant.url+"'>").append(e.voucherProductError3).append("</a>").append(" ").append(e.voucherProductError4).append('<div class="removevoucherbutton">').append('<a class="button_white button_white_checkvoucher" href="#" onclick="basket.removeVoucher(); return false">').append("<span>").append(this.restaurant.translations.voucherRemove).append("</span>").append("</a>").append("</div>").append("</div>"),void a.default.html(v("#ivouchercontainer"),n.toString());if(!this.basket.voucherValidation.minimumAmount)return n.append(e.voucherMinimumError1).append(" ").append("<b>").append(f.default.formatPrice(t.minimumOrderAmount,this.restaurant.currency)).append("</b> ").append(e.voucherMinimumError2).append(" ").append("<a href='/"+this.restaurant.url+"'>").append(e.voucherMinimumError3).append("</a>").append(" ").append(e.voucherMinimumError4).append('<div class="removevoucherbutton">').append('<a class="button_white button_white_checkvoucher" href="#" onclick="basket.removeVoucher(); return false">').append("<span>").append(this.restaurant.translations.voucherRemove).append("</span>").append("</a>").append("</div>").append("</div>"),void a.default.html(v("#ivouchercontainer"),n.toString());switch(Number(t.type)){case m.default.Type.Credit:n.append(e.voucherSummary1).append(" ").append("<b>").append(f.default.formatPrice(t.initialCredit,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary2).append(" ").append(e.voucherSummary7).append(" ").append("<b>").append(f.default.formatPrice(t.currentCredit,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary8).append(" "),t.remainingPayment>0?n.append(e.voucherSummary5).append(" ").append("<b>").append(f.default.formatPrice(t.remainingPayment,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary6):n.append(e.voucherSummary3).append(" ").append("<b>").append(f.default.formatPrice(t.basedOnTotalPrice,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary4);break;case m.default.Type.Discount:t.amount>0?n.append(e.voucherSummary1).append(" ").append("<b>").append(f.default.formatPrice(t.amount,this.restaurant.currency)).append(" "):n.append(e.voucherSummary1).append(" ").append("<b>").append(t.percentage,this.restaurant.currency).append("% "),n.append("</b>").append(" ").append(e.voucherSummary2).append(" ").append(e.voucherSummary3).append(" ").append("<b>").append(f.default.formatPrice(t.discount,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary4).append(" "),t.remainingPayment>0&&n.append(e.voucherSummary5).append(" ").append("<b>").append(f.default.formatPrice(t.remainingPayment,this.restaurant.currency)).append("</b>").append(" ").append(e.voucherSummary6)}var i=n.toString();n.clear(),n.append("<div class='vouchersummary'>").append("<b>").append(this.restaurant.translations.voucherAdded).append("</b>").append("<p>").append(i).append("</p>").append('<div class="removevoucherbutton">').append('<a class="button_white button_white_checkvoucher" href="#" onclick="basket.removeVoucher(); return false">').append("<span>").append(this.restaurant.translations.voucherRemove).append("</span>").append("</a>").append("</div>").append("</div>"),a.default.html(v("#ivouchercontainer"),n.toString())}},{key:"updatePaymentUI",value:function(){if(this.page===s.default.PAGE.CHECKOUT&&null!==this.basket.paymentMethod){switch(this.basket.paymentMethod.id){case u.default.ID.Cash:var e=f.default.getPossibleCashPayments(this.basket.totalPrice,f.default.getDenominations(window.GeoCountryCode));jQuery("#ipayswith option:gt(0)").remove();var t=jQuery("#ipayswith");for(var n in t.empty(),e){var i=e[n],r=f.default.formatPrice(i,this.restaurant.currency);"0"===n?t.append(jQuery("<option></option>").attr("value","").addClass("pulldown").html(this.restaurant.translations.exactCash+": "+r)):t.append(jQuery("<option></option>").attr("value",i).addClass("pulldown").html(r))}}jQuery(".paymentdetailsbox").children().hide();var a=void 0;(a=void 0!==this.basket.paymentMethod.mainId?jQuery("#payment-case-"+this.basket.paymentMethod.mainId).show():jQuery("#payment-case-"+this.basket.paymentMethod.id).show()).find(".var-payment-method").text(this.basket.paymentMethod.name),a.find(".var-costs").html(f.default.formatPrice(this.basket.transactionCosts,this.restaurant.currency)),this.basket.transactionCosts>0?jQuery(".transaction-cost-holder").show():jQuery(".transaction-cost-holder").hide(),this.basket.deliveryType===s.default.DeliveryMethod.Type.Delivery?this.isVoucherActive()||jQuery(".paymentmethod-delivery-only").show():this.isVoucherActive()||jQuery(".paymentmethod-delivery-only").hide()}}},{key:"isVoucherActive",value:function(){return null!==this.basket.voucher?(0===this.basket.totalPrice?(this.hideAllPaymentMethods(),jQuery("#payment-case-13").show()):(this.hideOfflinePaymentMethods(),this.showOnlinePaymentMethods()),!0):(this.showAllPaymentMethods(),!1)}},{key:"hideAllPaymentMethods",value:function(){jQuery(".paymentbuttonwrapper").hide(),jQuery(".paymentdetailnormal").hide(),jQuery(".payment-type-online").hide()}},{key:"hideOfflinePaymentMethods",value:function(){jQuery(".paymentdetailnormal").hide(),jQuery(".payment-method-type-offline").hide()}},{key:"showAllPaymentMethods",value:function(){jQuery(".paymentbuttonwrapper").show()}},{key:"showOnlinePaymentMethods",value:function(){jQuery(".payment-method-type-online").show()}},{key:"selectFirstPossiblePaymentMethod",value:function(){console.log("selectFirstPossiblePaymentMethod() init");var e=this.restaurant.paymentMethods[0].id;jQuery(".paymentbuttonwrapper","#ipaymentmethods").each(function(e,t){v(this).removeClass("paymentbuttonchecked"),0===e&&v(this).addClass("paymentbuttonchecked").find("input").prop("checked",!0)}),jQuery("#iselectpayment").val(e),this.setPaymentMethod(e)}},{key:"selectPaymentMethodById",value:function(e){jQuery(".paymentbuttonwrapper","#ipaymentmethods").each(function(t,n){v(this).removeClass("paymentbuttonchecked"),e===v(n).find("input").val()&&v(this).addClass("paymentbuttonchecked").find("input").prop("checked",!0)}),jQuery("#iselectpayment").val(e),this.setPaymentMethod(e)}}]),e}();t.default=y},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=p(n(16)),s=p(n(19)),o=p(n(5)),u=p(n(6)),c=p(n(1)),d=p(n(4)),l=p(n(3)),h=p(n(7)),f=p(n(0)),m=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}var v=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.Time=Object.freeze({TTL:18e5}),this.isCheckoutAllowed=!1,this.voucher=null,this.voucherValidation={success:!1,minimumAmount:!1,productRequired:!1},this.autoAddProducts=[],this.discounts=[],this.activeDiscounts=[],this.deliveryCosts=0,this.baseTotalPrice=0,this.minimumOrderValueTotalPrice=0,this.excludeMinimumOrderValueTotalPrice=0,this.autoAddProductsTotalPrice=0,this.totalPrice=0,this.totalProducts=0,this.paymentMethod=null,this.isValidateBasketByServer=!1,this.ageRestrictionsCart=[],this.serverDateTime=i,this.basketProducts=[],this.productMismatches=[],this.productMissings=[],this.restaurant=t,this.id=this.restaurant.id,this.deliveryType=n,this.setDeliveryAreaById(this.restaurant.deliveryAreaId),this.loadBasket(this.id),this.switchDeliveryType(this.deliveryType,!0)}return r(e,[{key:"setDeliveryAreaById",value:function(e){this.deliveryArea=this.restaurant.getDeliveryAreaById(e)}},{key:"switchDeliveryType",value:function(e,t){var n;if(!t){if(!(n=this.validateRestaurant()).restaurantSupportedDeliveryType)return n;if((n=this.validateBasket(e)).unsupportedDeliveryType.length>0||n.priceDifference.length>0)return n}this.deliveryType=e;for(var i=0;i<this.basketProducts.length;i++){var r=this.basketProducts[i];r.isDisabled=!1,r.deliveryType!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&(null!==r.size?r.size.deliveryType!==this.deliveryType&&(console.log("switchDeliveryType() basketProduct",r),this.removeProduct(r.uniqueId)):r.deliveryType!==this.deliveryType&&this.removeProduct(r.uniqueId))}return this.calculateTotalPrice(),this.restaurant.getOpeningStatus(this.serverDateTime,this.deliveryType),n}},{key:"calculateTotalPrice",value:function(){this.totalPrice=0,this.totalProducts=0,this.autoAddProductsTotalPrice=0,this.minimumOrderValueTotalPrice=0,this.activeDiscounts=[],this.totalPrice=this.calculateProductTotalPrice(this.basketProducts,this.deliveryType),this.totalProducts=this.calculateTotalProducts(this.basketProducts,this.deliveryType),this.autoAddProducts=[],this.totalProducts>0&&(this.autoAddProducts=this.calculateAutoAddProducts(this.totalPrice),this.autoAddProductsTotalPrice=this.calculateAutoAddProductPrice(this.autoAddProducts,this.deliveryType),this.totalPrice=this.totalPrice+this.autoAddProductsTotalPrice),this.totalProducts>0&&void 0!==this.restaurant.discounts&&this.restaurant.discounts.length>0&&(this.activeDiscounts=this.calculateDiscounts());for(var e=0;e<this.activeDiscounts.length;e++){var t=this.activeDiscounts[e];this.totalPrice=f.default.toMoney(parseFloat(this.totalPrice-t.totalPrice),2)}this.minimumOrderValueTotalPrice=this.calculateMOVPriceFromDiscount(this.basketProducts,this.activeDiscounts,this.deliveryType),this.minimumOrderValueTotalPrice<0&&(this.minimumOrderValueTotalPrice=0),this.baseTotalPrice=this.totalPrice,this.deliveryCosts=0,this.isCheckoutAllowed=!0,this.deliveryType===c.default.DeliveryMethod.Type.Delivery&&(this.isCheckoutAllowed=!1,this.validateMinimumAmount(this.minimumOrderValueTotalPrice)&&this.minimumOrderValueTotalPrice>0&&(this.isCheckoutAllowed=!0),this.deliveryCosts=this.calculateDeliveryCosts(this.totalPrice)),this.totalPrice=f.default.toMoney(parseFloat(this.totalPrice+this.deliveryCosts),2),null!==this.voucher&&(this.voucherValidation.minimumAmount=this.voucher.validateMinimumAmount(this.totalPrice),this.voucherValidation.productRequired=this.voucher.validateVoucherProduct(this.basketProducts),this.voucherValidation.minimumAmount&&this.voucherValidation.productRequired&&(this.totalPrice=f.default.toMoney(parseFloat(this.totalPrice-this.voucher.calculateVoucherDiscount(this.totalPrice)),2))),null!=this.paymentMethod&&(this.transactionCosts=this.paymentMethod.calculateTransactionCosts(this.totalPrice),this.totalPrice+=this.transactionCosts,null!==this.voucher&&(this.voucher.remainingPayment+=this.transactionCosts)),this.totalPrice=f.default.toMoney(this.totalPrice,2)}},{key:"lowerComboCounter",value:function(e){var t=this;e&&Array.isArray(e)&&e.forEach(function(e){var n=t.basketProducts.find(function(t){return t.getId()===e&&t.comboCounter>0});if(n)return n.lowerComboCounter();throw new Error("Cannot lower combocounter")})}},{key:"findCombination",value:function(e,t){var n=[],i=e.slice();if(t.every(function(e){return e.some(function(e){var t=i.indexOf(e);if(-1!==t){var r=i.splice(t,1);return n.push(r[0]),!0}})}))return n}},{key:"calculateDiscounts",value:function(){var e=this,t=[];if(0==this.totalProducts.length)return t;for(var n in this.restaurant.discounts){var i=this.restaurant.discounts[n];if(i.isAvailable(this.serverDateTime)&&(i.deliveryType===c.default.DeliveryMethod.Type.DeliveryAndPickup||i.deliveryType===this.deliveryType))switch(Number(i.type)){case u.default.Type.Product:for(var r in this.basketProducts){if(!(b=this.basketProducts[r]).isDisabled){var a=!1;for(var s in i.productIds2D[0]){var o=i.productIds2D[0][s],d=b.id;if(b.size&&b.size.id&&(d=b.size.id),d===o){for(var l=0;l<b.count;l++){if(i.number>0){var h=0;if(this.activeDiscounts.length>0&&(h=this.activeDiscounts.reduce(function(e,t){return e+(t.id===i.id)})),h>=i.number){a=!0;break}}var f=i.inclusiveSidedishes?b.getPrice(this.deliveryType):b.getBasePrice(this.deliveryType),m=this.calculateDiscountPrice(i,f),p=this.calculateProductAndDiscountMOVPrice(b,i,this.deliveryType);this.addDiscount(t,i,m,p,[b.productName])}if(a)break}if(a)break}}}break;case u.default.Type.Nth:var v=[],y=Number(i.number);for(var g in i.productIds2D[0]){o=i.productIds2D[0][g];for(var k in this.basketProducts){var b;if(!(b=this.basketProducts[k]).isDisabled){var _=b.id;if(b.size&&b.size.id&&(_=b.size.id),_===o)for(var P=0;P<b.count;P++)v.push({price:i.inclusiveSidedishes?b.getPrice(this.deliveryType):b.getBasePrice(this.deliveryType),product:b})}}}if(v.length<y)break;v.sort(function(e,t){return e.price-t.price});for(var w=(v.length-v.length%y)/y,T=0;T<w;T++){var M=v[T];m=this.calculateDiscountPrice(i,M.price),p=this.calculateProductAndDiscountMOVPrice(M.product,i,this.deliveryType);if(this.addDiscount(t,i,m,p,[M.product.productName]),!i.isDiscountRepeat)break}break;case u.default.Type.Combination:this.basketProducts&&Array.isArray(this.basketProducts)&&this.basketProducts.forEach(function(e){return e.resetComboCounter()});var S=void 0,D=function(){var n=[];e.basketProducts.forEach(function(e){n=n.concat(Array(e.comboCounter).fill(e.getId()))}),S=e.findCombination(n,i.productIds2D);var r=0,a=0;if(S){var s=[];e.lowerComboCounter(S),S.forEach(function(t){var n=e.basketProducts.find(function(e){return e.getId()===t});if(n){var o=i.inclusiveSidedishes?n.getPrice(e.deliveryType):n.getBasePrice(e.deliveryType);r+=o,a+=n.getMinimumOrderValueTotalPrice(i.inclusiveSidedishes,e.deliveryType),s.push(n.productName)}}),p=e.calculateDiscountPrice(i,a),m=e.calculateDiscountPrice(i,r),e.addDiscount(t,i,m,p,s)}};do{D()}while(S);break;case u.default.Type.Order:var O=this.autoAddProductsTotalPrice;O=this.totalPrice;var C=this.getMOVPrice(this.basketProducts,this.deliveryType);p=this.calculateDiscountPrice(i,C);if(i.from<=O){m=this.calculateDiscountPrice(i,O);this.addDiscount(t,i,m,p,[])}}}return t}},{key:"calculateDiscountPrice",value:function(e,t){var n=0;return e.specialPrice?n=Math.max(t-Number(e.specialPrice),0):e.amount?n=Math.max(Number(e.amount),0):e.percentage&&(n=f.default.toMoney(parseFloat(t*Number(e.percentage,0)/100),2)),n}},{key:"addDiscount",value:function(e,t,n,i,r){var s,o=e.filter(function(e){return e.id===t.id&&e.price===n&&e.movDiscount===i});o.length>0?((s=o[0]).count++,s.updateTotalPrice()):((s=new a.default).id=t.id,s.price=n,s.movDiscount=i,s.discountName=t.discountName,s.description=t.description,s.count=1,s.productNames=r,s.updateTotalPrice(),e.push(s))}},{key:"calculateDeliveryCosts",value:function(e){if(void 0===this.deliveryArea)return 0;var t=void 0,n=0;if(e>0)for(var r in this.deliveryArea.deliveryCosts){var a=this.deliveryArea.deliveryCosts[r],s=parseFloat(a.from),o=parseFloat(a.till);if(e>=s&&(e<o||0===o)){t=a;break}}return t&&(n=parseFloat(t.costs)),"object"===("undefined"==typeof currentRestaurant?"undefined":i(currentRestaurant))&&currentRestaurant.hasOwnProperty("dynamicDeliveryCosts")&&currentRestaurant.dynamicDeliveryCosts>0&&(n+=parseFloat(currentRestaurant.dynamicDeliveryCosts)),n}},{key:"calculateProductTotalPrice",value:function(e,t){for(var n=0,i=0;i<e.length;i++){var r=e[i];r.isDisabled||(n+=f.default.toMoney(r.getTotalPrice(t),2))}return f.default.toMoney(n,2)}},{key:"calculateTotalProducts",value:function(e,t){for(var n=0,i=0;i<e.length;i++){var r=e[i];r.isDisabled||(r.deliveryType!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&t!==r.deliveryType||(n+=r.count))}return n}},{key:"calculateAutoAddProducts",value:function(e){var t=[];if(0===this.basketProducts.length)return t;for(var n in this.restaurant.autoAddProducts){var i=this.restaurant.autoAddProducts[n],r=parseInt(i.deliverytype);if(r!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&r!==this.deliveryType)return t;var a=1;!1!==i.eachamount&&0!==i.eachamount&&e>0&&(a=Math.ceil(e/i.eachamount));parseFloat(i.price*a);var o=new s.default;o.productName=i.name,o.id=i.id,o.count=a,o.price=i.price,o.pricePickup=i.price_pickup,o.deliveryType=parseInt(i.deliverytype),o.updateTotalPrice(),t.push(o)}return t}},{key:"calculateAutoAddProductPrice",value:function(e,t){for(var n=0,i=0;i<e.length;i++){var r=e[i];r.deliveryType!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&r.deliveryType!==t||(n+=r.getTotalPrice(t))}return f.default.toMoney(n,2)}},{key:"calculateProductAndDiscountMOVPrice",value:function(e,t,n){var i=e.getMinimumOrderValueTotalPrice(t.inclusiveSidedishes,n);return 0==i?i:this.calculateDiscountPrice(t,i)}},{key:"getMOVPrice",value:function(e,t){for(var n=0,i=0;i<e.length;i++){var r=e[i];r.isDisabled||(r.deliveryType!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&t!==r.deliveryType||r.ignoreMinimumOrderValue||(n+=r.getMinimumOrderValueTotalPrice(!0,t)*r.count))}return n}},{key:"calculateMOVPriceFromDiscount",value:function(e,t,n){for(var i=this.getMOVPrice(e,n),r=0;r<t.length;r++){var a=t[r];i-=a.movDiscount*a.count}return f.default.toMoney(i,2)}},{key:"addProduct",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.restaurant.onlineStatus===h.default.OpeningStatus.Closed||this.restaurant.openingStatus===h.default.OpeningStatus.Closed)return e.PRODUCT.RESTAURANT_CLOSED;if(null!==t.categoryId){var i=this.restaurant.getCategoryById(t.categoryId);if(void 0!==i&&i.status===o.default.Status.Closed)return e.PRODUCT.CATEGORY_UNAVAILABLE}var r=this.generateProductOrderId(t),a=this.basketProducts.filter(function(e){return e.uniqueId===r}),s=void 0;return a.length>0?((s=a[0]).count+=t.count,s.updateTotalPrice()):(t.uniqueId=r,t.updateTotalPrice(),s=new l.default(t),this.basketProducts.push(s),Number.isInteger(n)&&n>0&&this.ageRestrictionsCart.push({uniqueId:r,minAge:n})),this.saveBasket(),this.calculateTotalPrice(),"undefined"!=typeof CookieWall&&"function"==typeof CookieWall.closeCookieWallThisSession&&CookieWall.closeCookieWallThisSession(),e.PRODUCT.SUCCESS}},{key:"increaseProduct",value:function(e){var t=this.basketProducts.filter(function(t){return t.uniqueId===e});if(t.length>0){var n=t[0];n.count++,n.updateTotalPrice()}this.saveBasket(),this.calculateTotalPrice()}},{key:"decreaseProduct",value:function(e){var t=this.basketProducts.filter(function(t){return t.uniqueId===e});if(t.length>0){var n=t[0];n.count--,n.count<=0?this.removeProduct(e):n.updateTotalPrice()}return this.saveBasket(),this.calculateTotalPrice(),0===n.count}},{key:"removeProduct",value:function(e){for(var t=0;t<this.basketProducts.length;t++){if(this.basketProducts[t].uniqueId===e){this.basketProducts.splice(t,1);for(var n=0;n<this.ageRestrictionsCart.length;n++)if(e===this.ageRestrictionsCart[n].uniqueId){this.ageRestrictionsCart.splice(n,1);break}break}}0==this.basketProducts.length&&this.removeVoucher(),this.saveBasket(),this.calculateTotalPrice()}},{key:"addComment",value:function(e,t){var n=this.basketProducts.filter(function(t){return t.uniqueId===e});if(n.length>0){var i=n[0];(t=(t=t.replace(/<(?:.|\n)*?>/gm,"")).replace(/(^\s+|\s+$)/g,"")).length>l.default.CommentMaxLength&&t.substring(0,l.default.CommentMaxLength),i.comment=t,this.saveBasket()}}},{key:"getComment",value:function(e){var t=this.basketProducts.filter(function(t){return t.uniqueId===e});return t.length>0?t[0].comment:null}},{key:"validateMinimumAmount",value:function(e){return void 0!==this.deliveryArea&&(0!=this.totalProducts&&(this.deliveryType===c.default.DeliveryMethod.Type.Pickup||e>=this.deliveryArea.minimumOrderAmount))}},{key:"hasMinimumAmount",value:function(){return 0!==this.deliveryArea.minimumOrderAmount}},{key:"calculateMinimumAmount",value:function(e){return e<this.deliveryArea.minimumOrderAmount?f.default.toMoney(this.deliveryArea.minimumOrderAmount-e,2):0}},{key:"validateDeliveryTime",value:function(e){for(var t in this.basketProducts){var n=this.basketProducts[t],i=this.restaurant.getCategoryById(n.categoryId);if(void 0!==i)if(i.validateOrderTime(e,e.day())!==o.default.Status.Open&&(n.deliveryType===c.default.DeliveryMethod.Type.DeliveryAndPickup||n.deliveryType===this.deliveryType))return{category:i,product:n}}return null}},{key:"addVoucher",value:function(e){this.voucher=e,this.saveBasket(),this.calculateTotalPrice()}},{key:"removeVoucher",value:function(){this.voucher=null,this.saveBasket(),this.calculateTotalPrice()}},{key:"setPaymentMethod",value:function(e){for(var t=0;t<this.restaurant.paymentMethods.length;t++){var n=this.restaurant.paymentMethods[t];if(n.id===e){this.paymentMethod=n;break}}this.saveBasket(),this.calculateTotalPrice()}},{key:"removePaymentMethod",value:function(){this.paymentMethod=null,this.saveBasket(),this.calculateTotalPrice()}},{key:"getMinAgeConsentValue",value:function(){for(var e=[],t=0;t<this.ageRestrictionsCart.length;t++)e.push(this.ageRestrictionsCart[t].minAge);return Math.max.apply(Math,e)}},{key:"ageRestrictionValue",value:function(e){for(var t=0;t<this.ageRestrictionsCart.length;t++)if(e===this.ageRestrictionsCart[t].uniqueId)return this.ageRestrictionsCart[t].minAge;return null}},{key:"saveBasket",value:function(){for(var e in this.basketProducts){delete this.basketProducts[e].comboCounter}var t=JSON.parse(localStorage.getItem(c.default.Persistence.BASKET)||"{}");t[this.id]={products:this.basketProducts,voucher:this.voucher,paymentMethod:this.paymentMethod,ageRestrictionsCart:this.ageRestrictionsCart},localStorage.setItem(c.default.Persistence.BASKET,JSON.stringify(t)),localStorage.setItem(c.default.Persistence.LAST_INTERACTION_TIME,Date.now())}},{key:"loadBasket",value:function(){if(Date.now()>this.getLastInteractionTime()+this.Time.TTL)this.clearBaskets();else{this.clearBasket(),localStorage.setItem(c.default.Persistence.LAST_INTERACTION_TIME,Date.now());var e=JSON.parse(localStorage.getItem(c.default.Persistence.BASKET)||"{}");if(e.hasOwnProperty(this.id)){for(var t=e[this.id],n=t.products,i=t.ageRestrictionsCart,r=0;r<n.length;r++){var a=new l.default(n[r]);a.updateTotalPrice(),this.basketProducts.push(a)}if(null!==t.voucher&&(this.voucher=new m.default(t.voucher)),null!==t.paymentMethod&&(this.paymentMethod=new d.default(t.paymentMethod)),null!=i)for(var s=0;s<i.length;s++)this.ageRestrictionsCart.push(i[s])}}}},{key:"clearBasket",value:function(){this.basketProducts=[],this.autoAddProducts=[],this.voucher=null,this.paymentMethod=null,this.ageRestrictionsCart=[]}},{key:"clearBaskets",value:function(){localStorage.setItem(c.default.Persistence.BASKET,"{}"),this.clearBasket()}},{key:"getTotalProducts",value:function(){for(var e=0,t=0;t<this.basketProducts.length;t++){e+=this.basketProducts[t].count}return e}},{key:"getTotalProductsMOVOnly",value:function(){for(var e=0,t=0;t<this.basketProducts.length;t++){var n=this.basketProducts[t];n.ignoreMinimumOrderValue||(e+=n.count)}return e}},{key:"getTotalProductsByRestaurantId",value:function(e){var t=0;if(Date.now()>this.getLastInteractionTime()+this.Time.TTL)return this.clearBaskets(),t;var n=JSON.parse(localStorage.getItem(c.default.Persistence.BASKET)||"{}");if(n.hasOwnProperty(e)){for(var i=n[e].products,r=0;r<i.length;r++)t+=i[r].count;return t}return t}},{key:"containsExcludeProduct",value:function(){if(this.deliveryType==c.default.DeliveryMethod.Type.Pickup)return!1;for(var e in this.basketProducts){var t=this.basketProducts[e];if(t.ignoreMinimumOrderValue)return!0;if(null!==t.size){if(t.size.ignoreMinimumOrderValue)return!0;for(var n in t.size.sideDishes){if(t.size.sideDishes[n].ignoreMinimumOrderValue)return!0}}}return!1}},{key:"validateRestaurant",value:function(){var e=!1;return this.restaurant.deliveryType===c.default.DeliveryMethod.Type.DeliveryAndPickup&&(e=!0),{restaurantSupportedDeliveryType:e}}},{key:"validateBasket",value:function(e){var t=[],n=[];for(var i in this.basketProducts){var r=this.basketProducts[i],a=!1;r.deliveryType!==c.default.DeliveryMethod.Type.DeliveryAndPickup&&(null!==r.size?r.size.deliveryType!==e&&t.push(r):r.deliveryType!==e&&(t.push(r),a=!0)),a||r.deliveryType===c.default.DeliveryMethod.Type.DeliveryAndPickup&&r.basePrice!==r.basePricePickup&&n.push(r)}return{unsupportedDeliveryType:t,priceDifference:n}}},{key:"reorder",value:function(e){this.clearBasket();var t=JSON.parse(localStorage.getItem(c.default.Persistence.BASKET)||"{}");t[this.id]=e[this.id],localStorage.setItem(c.default.Persistence.BASKET,JSON.stringify(t)),this.loadBasket(),this.switchDeliveryType(this.deliveryType,!0),this.saveBasket()}},{key:"updateBasketAfterValidation",value:function(e){if(this.productMismatches=[],this.productMissings=[],e.productMismatch)for(var t in e.productMismatches){var n=e.productMismatches[t];this.productMismatches.push(this.parseProductMismatch(n))}if(e.productMissing)for(var i=e.productMissings.length;i--;){var r=e.productMissings[i],a=this.basketProducts.filter(function(e){return e.uniqueId===r})[0];void 0!==a&&(this.productMissings.push(a),this.removeProduct(a.uniqueId))}for(var i in e.productExistingIds)this.basketProducts.filter(function(t){t.uniqueId===e.productExistingIds[i]&&0}.bind(this));e.productExistingIds.length,this.calculateTotalPrice(),this.saveBasket()}},{key:"parseProductMismatch",value:function(e){var t=this.basketProducts.filter(function(t){return t.uniqueId===e.uniqueId})[0];if(void 0!==t){for(var n in null!==t.size?(t.size.price=e.singlePrice,t.size.pricePickup=e.singlePricePickup,t.deliveryType=parseInt(e.deliveryType),t.ignoreMinimumOrderValue=e.ignoreMinimumOrderValue):(t.basePrice=e.singlePrice,t.basePricePickup=e.singlePricePickup,t.deliveryType=parseInt(e.deliveryType),t.ignoreMinimumOrderValue=e.ignoreMinimumOrderValue),e.sideDishes){var i=e.sideDishes[n];t.size.sideDishes.filter(function(e){if(e.id===i.id)return e.price=parseFloat(i.price),e.pricePickup=parseFloat(i.price_pickup),void(e.ignoreMinimumOrderValue=i.ignoreMinimumOrderValue)})}return t.updateTotalPrice(),t}}},{key:"clearBasketValidationData",value:function(){this.productMismatches=[],this.productMissings=[]}},{key:"validateBasketByServer",value:function(e){if(this.restaurant.openingStatus!=h.default.OpeningStatus.Closed){this.isValidateBasketByServer||(this.isValidateBasketByServer=!0);var t,n=this.getBasketJson();$.ajax({type:"POST",url:this.restaurant.cartUrl,contentType:"application/json; charset=utf-8",dataType:"json",data:n,success:function(e,n,i){t=e},error:function(e,t,n){}}).always=function(){this.isValidateBasketByServer=!1,e(t)}.bind(this)}}},{key:"getBasketJson",value:function(){var e=[];for(var t in this.basketProducts){var n=this.basketProducts[t],i={uniqueId:n.uniqueId,categoryId:n.categoryId,productId:n.id,productName:n.productName,count:n.count,totalPrice:n.totalPrice,comment:n.comment};if(null!==n.size)for(var r in i.sizeId=n.size.id,i.sizeName=n.size.sizeName,i.sideDishes=[],n.size.sideDishes){var a=n.size.sideDishes[r];i.sideDishes.push({sideDishId:a.id,sideDishName:a.sideDishName})}e.push(i)}var s=null;null!==this.paymentMethod&&(s=this.paymentMethod.id),null!==this.voucher&&0===this.totalPrice&&(s=d.default.ID.Voucher);var o={deliveryAreaId:this.restaurant.deliveryAreaId,dynamicDeliveryCosts:this.restaurant.dynamicDeliveryCosts,restaurantId:this.id,deliveryType:this.deliveryType,products:e,totalPrice:this.totalPrice,paymentMethod:s};return JSON.stringify(o)}},{key:"getLastInteractionTime",value:function(){var e=localStorage.getItem(c.default.Persistence.LAST_INTERACTION_TIME);return e?parseInt(e):(new Date).getTime()}},{key:"generateProductOrderId",value:function(e){if(null===e.size)return e.id;var t=e.size.id,n=e.size.sideDishes;if(void 0===n)return t;for(var i=0;i<n.length;i++)t+="-"+n[i].id;return t}}]),e}();v.PRODUCT=Object.freeze({SUCCESS:0,RESTAURANT_CLOSED:1,CATEGORY_UNAVAILABLE:2}),t.default=v},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i,r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=n(0),s=(i=a)&&i.__esModule?i:{default:i};var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.excludeMinimumOrder=0,this.movDiscount=0,this.productNames=[]}return r(e,[{key:"updateTotalPrice",value:function(){this.totalPrice=s.default.toMoney(this.price*this.count,2)}}]),e}();t.default=o},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.time=t,this.weekDay=n}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=s(n(0)),a=s(n(3));function s(e){return e&&e.__esModule?e:{default:e}}var o=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,a.default),i(t,[{key:"updateTotalPrice",value:function(){this.totalPrice=r.default.toMoney(this.price*this.count,2),this.totalPricePickup=r.default.toMoney(this.pricePickup*this.count,2)}}]),t}();t.default=o},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.price=0,this.pricePickup=0,this.ignoreMinimumOrderValue=!1,void 0!==t)for(var n in t)this[n]=t[n]}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.price=0,this.pricePickup=0,this.ignoreMinimumOrderValue=!1,void 0!==t)for(var n in t)this[n]=t[n]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=s(n(9)),a=s(n(1));function s(e){return e&&e.__esModule?e:{default:e}}var o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector(e)},u="#js-basket-container",c=function(){return o(u)},d=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return i(e,null,[{key:"renderContainer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.i18n,n=e.deliveryType,i='\n      <div class="menu-cart-fixed">\n\n        <div class="basket-notification" '+(n===a.default.DeliveryMethod.Type.Pickup?"":'style="display: none"')+">\n          "+t.PICKUP_NOTIFICATION+'\n        </div>\n\n        <div class="missing" style="display: none">\n          <h3 class="cart-meal-error">{{The following products are not available and removed from your basket.}}</h3>\n          <div class="missing_products"></div>\n        </div>\n\n        <div class="mismatch" style="display: none">\n          <h3 class="cart-meal-error">{{Some products have been changed. We\'ve updated them for you.}}</h3>\n        </div>\n\n        <div id="products"></div>\n        <div id="discounts"></div>\n        <div id="autoaddproducts"></div>\n        <div id="sum" class="cart-sum"></div>\n\n        <div id="empty" class="jig-cart-empty-state visible">\n          <div class="jig-cart-empty-state-icon"></div>\n          <h3>'+t.BASKET_IS_EMPTY+'</h3>\n        </div>\n      \n        <div class="cart-row" id="cart-exclusive" style="display: none">\n          <span class="cart-sum-name cart-meal-exclude">'+t.minimumExclusionProducts+'</span>\n        </div>\n\n        <section class="cartbutton">\n          <a class="cartbutton-button"\n             onclick="basket.proceedCheckout()">\n            '+t.ORDER+'\n          </a>\n          <div class="minimumorderamount-reached"></div>\n        </section>\n\n        <div class="cart-row" id="cart-exclusive-only" style="display: block">\n          <span class="cart-sum-name cart-meal-exclude-only">'+t.ONLY_EXCLUDED_PRODUCTS_WARNING+"</span>\n        </div>\n      </div>";r.default.html(c(),i)}}]),e}();t.default=d},function(e,t,n){var i=n(24);"string"==typeof i&&(i=[[e.i,i,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(26)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(25)(!1)).push([e.i,"@charset \"UTF-8\";\n#js-basket-container {\n  overflow: auto;\n  background: #fff;\n  height: 100%;\n  position: relative;\n  width: 320px;\n  top: -55px; }\n  #js-basket-container .cart-sum {\n    border-top: 1px solid #ccc;\n    border-bottom: 1px solid #ccc;\n    padding: 16px; }\n  #js-basket-container .cart-paymentmethods,\n  #js-basket-container .cartbutton {\n    padding: 0 16px;\n    margin-top: 30px; }\n  #js-basket-container .cartbutton .cartbutton-button {\n    border-radius: 3px;\n    display: inline-block;\n    text-align: center;\n    cursor: pointer;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    appearance: none;\n    color: #fff;\n    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);\n    background-color: #1574f5;\n    height: 50px;\n    line-height: 50px;\n    text-transform: uppercase;\n    width: 100%;\n    margin-bottom: 4px;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    font-weight: 600;\n    font-size: 20px; }\n    #js-basket-container .cartbutton .cartbutton-button:hover {\n      background-color: #0953bd;\n      color: #fff; }\n    #js-basket-container .cartbutton .cartbutton-button.btn-disabled {\n      border-bottom-color: #bbb;\n      background-color: #f0f0f0;\n      color: #bbb;\n      text-shadow: none;\n      cursor: not-allowed; }\n\nbody.fullscreen.basket .menucard-listing .menu-menucard,\nbody.fullscreen.basket .menucard-listing .tabs-inforating {\n  display: none !important; }\n\n.missing,\n.mismatch {\n  padding: 16px; }\n\n.cart-sum-name {\n  width: 100%;\n  padding: 4px 0; }\n\n.cart-sum-price {\n  min-width: 85px;\n  text-align: right;\n  white-space: nowrap; }\n\n.cartbutton-button-sidedishes {\n  text-transform: none; }\n\n.cart-single-meal {\n  padding: 4px 0 4px 16px;\n  font-size: 13px;\n  color: #000; }\n  .cart-single-meal.highlight {\n    background: #FFFDD0; }\n  .cart-single-meal .cart-row .cart-meal-amount {\n    padding-right: 32px;\n    width: 20px; }\n  .cart-single-meal .cart-row .cart-meal-edit-delete,\n  .cart-single-meal .cart-row .cart-meal-edit-add,\n  .cart-single-meal .cart-row .cart-meal-edit-comment,\n  .cart-single-meal .cart-row .cart-meal-delete {\n    cursor: pointer;\n    float: left; }\n  .cart-single-meal .cart-row .cart-meal-delete {\n    min-width: 40px; }\n    .cart-single-meal .cart-row .cart-meal-delete:before {\n      display: inline-block;\n      cursor: pointer;\n      color: #1574f5;\n      font-size: 18px;\n      content: '';\n      font-family: fontello;\n      font-weight: 400;\n      line-height: 0.3;\n      float: right;\n      padding: 16px; }\n  .cart-single-meal .cart-row .cart-meal-edit-delete:before,\n  .cart-single-meal .cart-row .cart-meal-edit-add:before {\n    content: '';\n    font-family: fontello;\n    font-weight: 400;\n    line-height: 1;\n    padding: 4px 8px;\n    margin: 0 3px;\n    border: 1px solid #cecece;\n    border-radius: 4px;\n    cursor: pointer; }\n  .cart-single-meal .cart-row .cart-meal-edit-delete:before {\n    content: ''; }\n\n.cart-row {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -moz-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  -webkit-justify-content: flex-start;\n  -moz-justify-content: flex-start;\n  justify-content: flex-start;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  -webkit-align-items: center;\n  -moz-align-items: center;\n  align-items: center;\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  width: 100%; }\n\n.cart-meal-edit-buttons {\n  min-width: 98px; }\n\n.cart-meal-name {\n  width: 100%;\n  padding: 4px 0;\n  word-break: break-word; }\n\n.cart-meal-price {\n  min-width: 80px;\n  text-align: right; }\n\n.cart-meal-delete-disabled:before {\n  color: #fff;\n  cursor: default; }\n\n.cart-meal-edit-comment:before {\n  display: inline-block;\n  cursor: pointer;\n  color: #1574f5;\n  font-size: 18px;\n  content: \"\";\n  font-family: fontello;\n  font-weight: 400;\n  line-height: 1;\n  padding: 0 10px; }\n\n.cart-meal-edit-comment.hascomment:before {\n  color: #0094FF; }\n\n.cart-meal-extra,\n.cart-meal-comment {\n  padding: 0 0 8px 32px; }\n\n.cart-meal-comment {\n  width: 100%;\n  margin-right: 12px;\n  font-style: italic;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap; }\n\n.cart-row.commentinput {\n  display: block; }\n\n.cart-row.commentinput fieldset {\n  margin-right: 12px;\n  border: 1px solid #1574f5; }\n\n.cart-row.commentinput fieldset legend {\n  margin-left: 10px;\n  padding: 0 4px; }\n\ntextarea.cart-meal-textarea {\n  width: 100%;\n  padding: 0 12px;\n  resize: none; }\n\n.cart-meal-btns {\n  float: right; }\n\n.cart-meal-btn {\n  min-width: 80px;\n  padding: 10px 12px;\n  float: left;\n  text-align: right;\n  font-weight: 600; }\n\n.meal-error-mismatch:before,\n.meal-error-missing:before {\n  margin-right: 12px;\n  content: '';\n  color: #FF0000;\n  font-family: fontello;\n  font-weight: 400;\n  font-size: 18px; }\n\n.cart-meal-error:before {\n  margin-right: 12px;\n  content: '';\n  color: #FF0000;\n  font-family: fontello;\n  font-weight: 400;\n  font-size: 18px; }\n\n.cart-meal-exclude:before {\n  margin-right: 4px;\n  content: '';\n  color: #888;\n  font-family: fontello;\n  font-weight: 400;\n  font-size: 12px; }\n\n#cart-exclusive .cart-meal-exclude {\n  padding: 0 16px 0;\n  margin-top: 20px;\n  text-align: center; }\n\n.cart-meal-exclude-only {\n  padding: 16px;\n  text-align: center; }\n\n.grey {\n  color: #666; }\n\n.row-sum {\n  font-weight: 900;\n  color: #000; }\n\n.row-green {\n  color: #380;\n  font-weight: 600; }\n\n.minimumorderamount-reached {\n  margin-top: 12px;\n  text-align: center; }\n\n.basket-notification {\n  font-size: 12px;\n  padding: 20px;\n  margin: 0px 22px;\n  margin-bottom: 12px;\n  border-radius: 3px;\n  border: 1px solid rgba(80, 174, 204, 0.51);\n  background-color: rgba(80, 174, 204, 0.1);\n  display: block; }\n\n.legend.excluded_from_minimum_calculation {\n  text-align: center;\n  margin: 1em; }\n  .legend.excluded_from_minimum_calculation:before {\n    display: inline-block;\n    color: #888;\n    content: \"\";\n    font-family: fontello;\n    font-weight: 400;\n    line-height: 1;\n    line-height: .3; }\n",""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=(s=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),a=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[n].concat(a).concat([r]).join("\n")}var s;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(r=0;r<e.length;r++){var s=e[r];null!=s[0]&&i[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),t.push(s))}},t}},function(e,t,n){var i,r,a={},s=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),o=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var i=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),u=null,c=0,d=[],l=n(27);function h(e,t){for(var n=0;n<e.length;n++){var i=e[n],r=a[i.id];if(r){r.refs++;for(var s=0;s<r.parts.length;s++)r.parts[s](i.parts[s]);for(;s<i.parts.length;s++)r.parts.push(g(i.parts[s],t))}else{var o=[];for(s=0;s<i.parts.length;s++)o.push(g(i.parts[s],t));a[i.id]={id:i.id,refs:1,parts:o}}}}function f(e,t){for(var n=[],i={},r=0;r<e.length;r++){var a=e[r],s=t.base?a[0]+t.base:a[0],o={css:a[1],media:a[2],sourceMap:a[3]};i[s]?i[s].parts.push(o):n.push(i[s]={id:s,parts:[o]})}return n}function m(e,t){var n=o(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=d[d.length-1];if("top"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),d.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=o(e.insertAt.before,n);n.insertBefore(t,r)}}function p(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=d.indexOf(e);t>=0&&d.splice(t,1)}function v(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return n.nc}();i&&(e.attrs.nonce=i)}return y(t,e.attrs),m(e,t),t}function y(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,i,r,a;if(t.transform&&e.css){if(!(a="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=a}if(t.singleton){var s=c++;n=u||(u=v(t)),i=_.bind(null,n,s,!1),r=_.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",y(t,e.attrs),m(e,t),t}(t),i=function(e,t,n){var i=n.css,r=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||a)&&(i=l(i));r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([i],{type:"text/css"}),o=e.href;e.href=URL.createObjectURL(s),o&&URL.revokeObjectURL(o)}.bind(null,n,t),r=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=function(e,t){var n=t.css,i=t.media;i&&e.setAttribute("media",i);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){p(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=f(e,t);return h(n,t),function(e){for(var i=[],r=0;r<n.length;r++){var s=n[r];(o=a[s.id]).refs--,i.push(o)}e&&h(f(e,t),t);for(r=0;r<i.length;r++){var o;if(0===(o=i[r]).refs){for(var u=0;u<o.parts.length;u++)o.parts[u]();delete a[o.id]}}}};var k,b=(k=[],function(e,t){return k[e]=t,k.filter(Boolean).join("\n")});function _(e,t,n,i){var r=n?"":i.css;if(e.styleSheet)e.styleSheet.cssText=b(t,r);else{var a=document.createTextNode(r),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(a,s[t]):e.appendChild(a)}}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,i=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var r,a=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(a)?e:(r=0===a.indexOf("//")?a:0===a.indexOf("/")?n+a:i+a.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")})}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.helperInit=function(){window.selectedProduct=null,window.hasRestaurantDeliveryAreaForPostcodeSearch=P,window.addBasket=M,window.addSimpleProductBasket=w,window.addSideDishBasket=l,window.canAddItemToCart=T,window.fomatQuerySplitPostcode=_,window.formatQueryPostcode=b,window.getUsersDeliveryAreaId=k,window.pmButtonSubtractOne=g,window.pmButtonAddOne=y,window.showSize=v,window.menucard_ShowSideDishes=o,window.isDeliveryPossible=m,window.menucard_DeliveryAreaNeeded=f,window.showEmergencyMessage=h,window.menucard_AddExtendedProductToBasket=d,window.menucard_SidedishPopup=c,window.changeSidedishDescription=u,window.allergens=allergens,window.proceedCheckout=s,window.toast=S,window.getCurrentDelivery=D,$(document).on("click",".staticBasket .baskettitle",function(){$(".staticBasket").toggleClass("opened")}),$(document).on("click",".closepopup",function(){p()}),$(document).on("change","#isizeselection",function(e){var t=$(e.target.options[e.target.options.selectedIndex]).data("id"),n=parseInt($(e.target.options[e.target.options.selectedIndex]).data("min-age"));for(var i in r.sizes){var a=r.sizes[i];a.isSelected=!1,a.id===t&&(a.isSelected=!0,Number.isInteger(n)&&n>0&&(a.minAge=n))}}),$(document).on("click",".templaterevamped-sidedishes .sidedish-checkbox input",function(t){e(t)}),$(document).on("click",".sidedishes .sidedish-checkbox input",function(t){e(t)});var e=function(e){var t=e.target.checked,n=$(e.target),i=n.data("sidedishid").toString(),a=parseInt(n.data("min-age"));for(var s in r.sizes){var o=r.sizes[s];if(o.isSelected)for(var u in o.sidedishgroups){var c=o.sidedishgroups[u];for(var d in c.sidedishes){var l=c.sidedishes[d];if(l.id===i)return l.isSelected=t,void(Number.isInteger(a)&&a>0&&(l.minAge=a))}}}},t=function(e){var t=$(e.target.options[e.target.options.selectedIndex]).data("sidedishid").toString(),n=parseInt($(e.target.options[e.target.options.selectedIndex]).data("min-age"));for(var i in(Number.isNaN(n)||n<=0)&&(n=null),r.sizes){var a=r.sizes[i];if(a.isSelected)for(var s in a.sidedishgroups){var o=a.sidedishgroups[s];for(var u in o.sidedishes){var c=o.sidedishes[u];if(c.id===t)for(var d in c.isSelected=!0,c.minAge=n,o.sidedishes){var l=o.sidedishes[d];l.id!==t&&(l.isSelected=!1,l.hasOwnProperty("minAge")&&delete l.minAge)}}}}};$(document).on("change",".sidedishes .sidedish-select .select-input select",t),$(document).on("change",".templaterevamped-sidedishes .templaterevamped-sidedish-select .select-input select",t),$(document).on("click","#modal",function(){p()}),$.when($.ready).then(function(){var e=function(){var e=ENUM.PAGE.UNKNOWN;$(document.body).hasClass("menu")&&(e=ENUM.PAGE.MENU);$(document.body).hasClass("checkout")&&(e=ENUM.PAGE.CHECKOUT);$(document.body).hasClass("menu")&&$(".confirm").length>0&&(e=ENUM.PAGE.SUCCESS);return e}();if(console.log(e),e===ENUM.PAGE.SUCCESS)return localStorage.removeItem(ENUM.Persistence.BASKET),void localStorage.removeItem(ENUM.Persistence.LAST_INTERACTION_TIME);e!==ENUM.PAGE.MENU&&e!==ENUM.PAGE.CHECKOUT||$.ajax({type:"GET",url:"basket/api/restaurant",success:function(t,n,i){var r=i.getResponseHeader("Date");moment.tz.add(site.tzData),moment.tz.setDefault(site.tz);var a=null!==r?Number(moment(r).format("x")):moment.now();if(Cookies.get("overridedate")){var o=Cookies.get("overridedate");a=Number(moment(o).format("x"))}var u=Cookies.get("postcode");console.log("deliveryAreaId",u),void 0!==u&&(u=b(u),u=_(u));var c=!!u&&{searchType:"postcode",postcode:u};basket=new BasketInitiator({categories:t.MenucardJson.categories,currentRestaurant:t,currentDelivery:c,deliveryType:ENUM.DeliveryMethod.Type.Delivery,page:e,products:t.MenucardJson.products,showToastFunction:S,time:a}),basket.proceedCheckout=s}})})};var r=null,a=function(e,t){return"template1"===t?e:t+"-"+e},s=function(){console.log("proceedcheckout"),$.ajax({type:"POST",url:"basket/api/validate-basket",data:{basket:basket.getBasketJson()},success:function(e){if(e.hasOwnProperty("redirect")&&e.redirect.hasOwnProperty("url")){var t=O();void 0!==t&&(e.redirect.url+=(e.redirect.url.includes("?")?"&":"?")+t.get("linkerParam")),window.location=e.redirect.url}else if(e.hasOwnProperty("validate")){if(e.validate.productMissing){var n=basket.restaurant.translations.productMissingBasketSingular;if(e.validate.productMissings.length>1)n=basket.restaurant.translations.productMissingBasketPlural;$(".basket-notification").text(n).show()}if(e.validate.productMismatch){n=basket.restaurant.translations.productMismatchSingular;if(e.validate.productMismatches.length>1)n=basket.restaurant.translations.productMismatchPlural;$(".basket-notification").text(n).show()}basket.updateBasketAfterValidation(e.validate)}}})},o=function(e,t,n,i){if(!1===T(i))return!1;var r=parseInt(n);return(isNaN(r)||r<=0)&&(r=null),c(e,t,r,i),!1},u=function(e,t){selectedValue=$(e).find(":selected").val(),$(".inline-desc > span",$(e).parent()).each(function(){$(this).attr("id")!=selectedValue?$(this).addClass("hidden"):$(this).removeClass("hidden")})},c=function(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2];var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"template1";$.ajax({type:"POST",url:"basket/api/add-sidedish",data:{action:"add",menucat:t,product:e,rest:basket.restaurant.id,template:n},headers:{"Cache-Control":"no-cache"},dataType:"html",success:function(t){var i=$.parseJSON(t);if(i){var s,o=e;console.log($("#isidedishselectionform"+o)),e=$('input[name="product"]',"#isidedishselectionform"+o).val(),console.log("menucard_ShowSideDishes() success: productId",e);var u=i.json.find(function(t){return t.id===e});for(var c in console.log(u),s=u?u.id:i.json[0].id,r=basket.products.filter(function(e){return e.productId===s&&"0"!==e.categoryId})[0],console.log("menucard_ShowSideDishes() success: selectedProduct",r),r.sizes=i.json,r.sizes[0].isSelected=!0,r.sizes){var d=r.sizes[c];if(!1!==d.sidedishes)for(var l in d.sidedishgroups){var h=d.sidedishgroups[l];"1"!==h.type&&"3"!==h.type||(h.sidedishes[0].isSelected=!0)}}var f=a("sidedishpopup",n);$("#"+f).popup("init",f),$("#"+f).html(i.html),$("#"+f+' input[type="text"]').first().focus()}}})},d=function(e){if(!1!==T()){console.log(r);var t=[],n=null;if(r.sizes.forEach(function(e){!0===e.isSelected&&(e.hasOwnProperty("minAge")&&t.push(e.minAge),e.sidedishgroups.forEach(function(e){e.sidedishes.forEach(function(e){!0===e.isSelected&&e.hasOwnProperty("minAge")&&t.push(e.minAge)})}))}),t.length&&(n=Math.max.apply(Math,t),Number.isInteger(n)&&n>0&&!basket.hasProductsForMinAge(n)))return basket.showAgeVerificationConsentMessage(e,n,!0);l(e,n)}},l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!1!==T()){for(var n in r.sizes){var i=r.sizes[n];if(i.id===e)return basket.addProduct(r.productId,t),p(),delete r.sizes,r=null,!1}throw new Error("Product mismatched")}},h=function(){if(site.emergency){var e=$("#emergencymessage").text();return e&&S(e),!0}return!1},f=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"template1";return $.ajax({type:"GET",url:"basket/api/delivery-area",success:function(e){e.length>0?($("#"+t).popup("init",t),$("#"+t).html(e),$("#"+t+'input[type="text"]').first().focus()):($(".shoppingcart").addClass("update"),setTimeout(function(){$(".shoppingcart").removeClass("update")},300))}}),!1},m=function(){var e=k(),t=Cookies.get("postcode"),n=Cookies.get("searchstring");return n="string"==typeof n?n.replace(/\s/g,"").toUpperCase():"",45==site.cc&&void 0!==t&&e!==b(t)&&(polygons=!1),1===basket.restaurant.deliveryType||e?e?P(e)?(console.log("isDeliveryPossible(): user is inside a postcode:",e),{searchType:"postcode",postcode:e}):(console.log("isDeliveryPossible(): false, no delivery to:",e),!1):(console.log("isDeliveryPossible(): false, no getUsersDeliveryAreaId()"),!1):(console.log("isDeliveryPossible(): true, pickup mode"),!0)},p=function(){var e=$("#modalSideDish");if(e.length){var t=e.data("template-class");e.popup("close",t)}},v=function(e){selectedValueParts=e.split(";"),productid=selectedValueParts[0],$(".sidedishformcontainer").addClass("hidden"),$("#isidedishformcontainer"+productid).removeClass("hidden"),$(".sizeattributecontainer").addClass("hidden"),$("#sizeattributecontainer"+productid).removeClass("hidden")},y=function e(t,n){null==n&&(n=99);var r=t.split(",");if(r.length>1)for(i=0;i<r.length;i++)e(r[i],n);else{var a=r[0];target_element=document.getElementById("i"+a),null!=target_element&&("INPUT"==target_element.tagName?(cur_value=parseInt(target_element.value),cur_value<n?target_element.value=cur_value+1:target_element.value=n):(cur_value=parseInt(target_element.innerHTML),cur_value<n?target_element.innerHTML=cur_value+1:target_element.innerHTML=n))}},g=function e(t,n){null==n&&(n=0);var r=t.split(",");if(r.length>1)for(i=0;i<r.length;i++)e(r[i],n);else{var a=r[0];target_element=document.getElementById("i"+a),null!=target_element&&("INPUT"==target_element.tagName?(cur_value=parseInt(target_element.value),cur_value>n?target_element.value=cur_value-1:target_element.value=n):(cur_value=parseInt(target_element.innerHTML),cur_value>n?target_element.innerHTML=cur_value-1:target_element.innerHTML=n))}},k=function(){var e=Cookies.get("postcode");if(void 0!==e&&(e=b(e),e=_(e)),void 0!==e){var t=Cookies.get("deliveryareaid");void 0!==t&&e!==t&&e===t.split("-")[0]&&(e=t,console.log("getUsersDeliveryAreaId(): (split postcode) return: ",t))}return void 0===e&&Cookies.get("searchstring1")&&Cookies.get("searchstring2")&&(e=Cookies.get("searchstring2"),console.log("getUsersDeliveryAreaId(): (vietnam) return:",e)),void 0!==e?e:null},b=function(e){if(180==site.cc||239==site.cc)return e;if(181==site.cc){var t=new RegExp("[^0-9-]","g");return e.replace(t,"")}var n=new RegExp("[^0-9]","g");return e.replace(n,"")},_=function(e){if(1!=site.cc&&3!=site.cc&&6!=site.cc)return e;var t=Cookies.get("deliveryareaid");if(void 0!==t){var n=new RegExp("[^0-9]","g");if(e.replace(n,"")==t.replace(n,""))return t}return e},P=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in basket.restaurant.deliveryAreas){var i=basket.restaurant.deliveryAreas[n];if(t){if(e===i.locationid.toString())return i.id.toString()}else if(e===i.id.toString())return!0}return!1},w=function(e,t){if(!1===T(t))return!1;var n=e.target;"A"!==e.target.tagName&&(n=e.target.closest(".addtobasket"));var i=n.dataset,r=parseInt(i.minAge);return isNaN(r)||r<=0?M(i.productid):basket.hasProductsForMinAge(r)?M(i.productid,r):basket.showAgeVerificationConsentMessage(i.productid,r)},T=function(e){return!h()&&(m()?!basket.restaurant.isClosed()||(basket.showRestaurantIsClosed(),!1):(f(basket.restaurant.id,e),!1))},M=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return!1!==T()&&(basket.addProduct(e,t),r=null,!1)},S=function(e){var t=$("#tooltip");t.html(e).show().delay(3e3).fadeOut(200,function(){return t.text("")})},D=function(e){var t=m();return(!t||currentRestaurant.Pickup!==ENUM.DeliveryMethod.Type.DeliveryAndPickup&&e!==ENUM.DeliveryMethod.Type.Delivery)&&(t=!1),console.log("%c ======= currentDelivery ========= ","background: #efefef; color: #333",t),t};var O=function(){if("undefined"!=typeof ga&&"undefined"!=typeof uaCode&&"function"==typeof ga.getAll)return ga.getAll().find(function(e){return e.get("trackingId")===uaCode})}}]);
//# sourceMappingURL=bundle.js.map