1!function(){"use strict";function e(e,r){for(var s=0;s<r.length;s++){var d=r[s];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(e,t(d.key),d)}}function r(r,t,s){return t&&e(r.prototype,t),s&&e(r,s),Object.defineProperty(r,"prototype",{writable:!1}),r}function t(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,r||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}function s(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(self.webpackChunkthor_app=self.webpackChunkthor_app||[]).push([[9084],{91062:function(e,t,d){d.d(t,{l:function(){return i}});var n,a=d(92674),o=d(62415),i=((n=r(function e(){s(this,e)})).\u0275fac=function(e){return new(e||n)},n.\u0275mod=o.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=o.\u0275\u0275defineInjector({imports:[[a.ez]]}),n)},70786:function(e,t,d){d.d(t,{Z:function(){return p}});var n=d(65426),a=d(9628),o=d(62415),i=d(24521),u=d(95178),c=d(38592),_=d(36951),l=d(37403),p=function(){var e=function(){return r(function e(r,t,d,n,a){s(this,e),this.http=r,this.GeneralUtils=t,this.Api=d,this.Endpoint=n,this.UserUtils=a,this.allowCheckout=!1,this.stateBeforeBasket=null,this.confirmation={options:null,payload:null,order_res:null}},[{key:"initPayload",value:function(){return{remote_client_id:this.GeneralUtils.guid(),payment_request:{billing_address:{recipient:null,address1:null,address2:null,address3:null,city:null,state:null,postcode:null,country_code:"GB",country:"United Kingdom"},method_id:null,currency:"GBP",credit_card_no:null,cvc:null,exp_month:null,exp_year:null,payment_method_type:null,user_save_card_data_consent:!0,user_save_address_payment_consent:!0},card_order_requests:[],discount_code:null,use_credits:!1,basket:!0}}},{key:"initOptions",value:function(){return{isPersonalisationWarningVisible:!1,countries:[],address_lookup:null,address_lookup_list:[],address_lookup_type:"postcode",previous_addresses:[],show_recipient_options:!0,selected_address_id:null,selected_address_string:null,show_all_addresses:!1,new_address_form_visible:!1,google_address_search:null,full_basket:[],payment_methods:[],selected_payment_method_index:null,show_all_payment_methods:!1,new_payment_method_form_visible:!1,new_card_type:"INVALID CARD",billing_address_match_delivery:!1,selected_countries:{delivery:{iso:"GB",value:"United Kingdom"},billing:{iso:"GB",value:"United Kingdom"}},checkout_step:2,checkout_step_1_valid:!0,checkout_step_2_valid:!1,checkout_step_3_valid:!1,review_cards_list_visible:!0,open_personalisation:null,datepicker:{today:null,dispatch:null,estimated_min:null,estimated_max:null,min_date:null,max_date:null,dispatch_formatted:null,estimated_min_formatted:null,estimated_max_formatted:null,requested_date_formatted:null},order_costs:null,total_quantity:0,discount_code:null,placing_order:!1,order_error_visble:!1,order_error_message:null,placing_order_header:"We're processing your order",show_credits_warning:!1,show_discount_warning:!1,mega_order_update_popup_visible:!1,mega_order_update_popup_address:{}}}},{key:"getOrderCosts",value:function(e){for(var r={payment_request:{currency:"GBP"},card_order_requests:[],basket:!0,discount_code:e.discount_code,use_credits:e.use_credits},t=0;t<e.card_order_requests.length;t++){r.card_order_requests.push({delivery_address:{recipient:e.card_order_requests[t].delivery_address.recipient,address1:e.card_order_requests[t].delivery_address.address1,address2:e.card_order_requests[t].delivery_address.address2,address3:e.card_order_requests[t].delivery_address.address3,city:e.card_order_requests[t].delivery_address.city,state:e.card_order_requests[t].delivery_address.state,postcode:e.card_order_requests[t].delivery_address.postcode,country_code:e.card_order_requests[t].delivery_address.country_code,country:e.card_order_requests[t].delivery_address.country},cards:[],recipient_type:e.card_order_requests[t].recipient_type,order_delivery:e.card_order_requests[t].order_delivery,id:e.card_order_requests[t].id});for(var s=0;s<e.card_order_requests[t].cards.length;s++)r.card_order_requests[t].cards.push({quantity:e.card_order_requests[t].cards[s].quantity,format:e.card_order_requests[t].cards[s].format,item_options:e.card_order_requests[t].cards[s].item_options,card_id:e.card_order_requests[t].cards[s].card_id,inner_back:e.card_order_requests[t].cards[s].inner_back,reminder_id:null})}return this.Api.request(this.Endpoint.v2Order+"/costs",{method:"POST",data:r})}},{key:"getPreviousAddresses",value:function(){return this.UserUtils.getPreviousAddresses()}},{key:"getPaymentMethods",value:function(){return this.UserUtils.getPaymentMethods()}},{key:"setSelectedAddress",value:function(e){return{recipient:e.recipient,address1:e.address1,address2:e.address2,address3:e.address3,postcode:e.postcode,city:e.city,state:e.state,country_code:e.country_code,country:e.country}}},{key:"getNewShippingAddressObj",value:function(e){return{recipient:e.recipient,address1:e.address1,address2:e.address2,address3:e.address3,postcode:e.postcode,city:e.city,state:e.state,country_code:e.country_code,country:e.country,id:"new_address"}}},{key:"setBillingAsDelivery",value:function(e){return{recipient:e.recipient,address1:e.address1,address2:e.address2,address3:e.address3,postcode:e.postcode,city:e.city,state:e.state,country_code:e.country_code,country:e.country}}},{key:"setCountryModel",value:function(e,r){return{iso:e,value:r}}},{key:"resetAddress",value:function(){return{recipient:null,address1:null,address2:null,address3:null,postcode:null,city:null,state:null,country_code:"GB",country:"United Kingdom"}}},{key:"resetPayment",value:function(){return{billing_address:{address1:null,address2:null,address3:null,city:null,postcode:null,country_code:"GB",country:"United Kingdom"},method_id:null,currency:"GBP",credit_card_no:null,cvc:null,exp_month:null,exp_year:null,payment_method_type:"STRIPE"}}},{key:"setSelectedAddressString",value:function(e){var r=[e.recipient,e.address1,e.address2,e.address3,e.city,e.postcode,e.country].filter(function(e){return e}).join(", ");return r.length>55&&(r=r.substring(0,55)+"..."),r}},{key:"createPayloadBasketItem",value:function(e){return{quantity:e.quantity,card_id:e.card_id,reminder_id:null,inner_back:{type:e.inner_back.type,single_text:null,text_customisation_request:e.inner_back.text_customisation_request}}}},{key:"setMaxDate",value:function(e){var r=e.split("-");return new Date(e).getFullYear()+1+"-"+r[1]+"-"+r[2]}},{key:"minDate",value:function(e){return e&&new Date(e).getTime()<(new Date).getTime()&&(e=(new Date).toISOString().slice(0,10)),e}},{key:"getDeliveryDates",value:function(e,r){var t={dispatch_type:void 0===(r=this.minDate(r))?"IMMEDIATE":"LATER",country:{code:e},requested_arrival_date:r};return void 0===r&&delete t.requested_arrival_date,this.Api.request(this.Endpoint.arrivalDate,{method:"POST",data:t})}},{key:"formatDeliveryDates",value:function(e){return new Date(e).toUTCString().split(" ").slice(0,4).join(" ")}},{key:"setDeliveryDates",value:function(e,r){return{dispatch:e.dispatch_date,estimated_min:e.estimated_earliest_arrival_date,estimated_max:e.estimated_latest_arrival_date,min_date:r.min_date,max_date:r.max_date}}},{key:"lookUpAddress",value:function(e){var r=this,t=e.trim();return new Promise(function(e,s){r.http.get("https://api.ideal-postcodes.co.uk/v1/postcodes/"+t+"?api_key=ak_ml8cvu29epiXaqk0SE1wcdQuVcnaC").pipe((0,n.b)(function(e){return console.log(e)},function(e){return s(e)})).subscribe(function(r){for(var t=[],s=r.result,d=0;d<(null==s?void 0:s.length);d++){var n=s[d];t.push({address1:n.line_1,address2:n.line_2,address3:n.line_3,city:n.post_town,postcode:n.postcode,country:"United Kingdom",country_code:"GB"})}e(t)})})}},{key:"showCouponError",value:function(e,r){switch(e){case"DISCOUNT_CAMPAIGN_NOT_FOUND":return"We don't recognise this discount code.";case"INVALID_DISCOUNT_TARGET":return"This code cannot be used with the items in your basket.";case"REDEMPTIONS_PER_USER_REACHED":return"This code has already been used.";case"ONLY_FIRST_ORDER":return"This discount code can only be used for your first order.";case"DISCOUNT_INVALID_PLATFORM_APP_ONLY":return{title:"Discount code not valid for web orders",message:"The promo code could not be applied to your order because it is only valid for orders placed through our app. Please switch to our app and reapply the promo code.",discountCode:r};case"DISCOUNT_INVALID_PLATFORM_IOS_ONLY":return{title:"Discount code is only valid for iOS app",message:"The promo code could not be applied to your order because it is only valid for orders placed through our iOS app. Please switch to our iOS app and reapply the promo code.",discountCode:r};case"DISCOUNT_INVALID_PLATFORM_ANDROID_ONLY":return{title:"Discount code is only valid for Android app",message:"The promo code could not be applied to your order because it is only valid for orders placed through our Android app. Please switch to our Android app and reapply the promo code.",discountCode:r};default:return"Invalid discount code"}}},{key:"constructOrderFormData",value:function(e){var r={payment_request:e.payment_request,remote_client_id:e.remote_client_id,card_order_requests:[],basket:!0,discount_code:e.discount_code,use_credits:null,tracking:{}};r.use_credits=!0===e.use_credits;for(var t=0;t<e.card_order_requests.length;t++){for(var s=[],d=0;d<e.card_order_requests[t].cards.length;d++)s.push({quantity:e.card_order_requests[t].cards[d].quantity,format:e.card_order_requests[t].cards[d].format,item_options:e.card_order_requests[t].cards[d].item_options,client_order_item_id:e.card_order_requests[t].cards[d].client_order_item_id,card_id:e.card_order_requests[t].cards[d].card_id,inner_back:e.card_order_requests[t].cards[d].inner_back,reminder_id:null});r.card_order_requests.push({delivery_address:{recipient:e.card_order_requests[t].delivery_address.recipient,address1:e.card_order_requests[t].delivery_address.address1,address2:e.card_order_requests[t].delivery_address.address2,address3:e.card_order_requests[t].delivery_address.address3,city:e.card_order_requests[t].delivery_address.city,state:e.card_order_requests[t].delivery_address.state,postcode:e.card_order_requests[t].delivery_address.postcode,country_code:e.card_order_requests[t].delivery_address.country_code,country:e.card_order_requests[t].delivery_address.country},cards:s,message_sticker:e.card_order_requests[t].message_sticker,recipient_type:e.card_order_requests[t].recipient_type,order_delivery:e.card_order_requests[t].order_delivery,user_address_consent:e.card_order_requests[t].user_address_consent,id:e.card_order_requests[t].id})}return r}},{key:"placeOrder",value:function(e){return this.Api.request(this.Endpoint.v2Order+"/place",{method:"POST",data:e,useEnvHeader:!0})}},{key:"getOrderErrorMessage",value:function(e){if(!e.data)return e.message?e.message:"Unfortunately something went wrong, please try again!";switch(e.data.code){case"PAYMENT_ALREADY_REGISTERED":return"This payment method is already registered on another account! Please update your payment details.";case"CARD_DECLINED":return"Unfortunately your card was declined, please contact your card
1issuer.";case"EXPIRED_CARD":case"EXPIRY_MONTH":case"EXPIRY_YEAR":return"Unfortunately your card has expired, please update your card details.";case"INVALID_CVC":return"Unfortunately your CVC is invalid, please update your card details.";case"INCORRECT_CVC":return"Unfortunately your CVC is incorrect, please update your card details.";case"INVALID_NUMBER":return"Unfortunately your card number can't be longer than 16 digits, please update your card number.";case"INCORRECT_NUMBER":return"Unfortunately your card number is incorrect, please update your card number.";default:return"Unfortunately something went wrong, please try again!"}}},{key:"getOrderById",value:function(e){return this.Api.request(this.Endpoint.v2Order+"/"+e,void 0)}},{key:"executePaypalPayment",value:function(e){var r=a.g.getToken();return this.Api.request(this.Endpoint.v2Order+"/"+e+"/paypal/payment/execute"+(r?"?affiliate_token=".concat(r):""),{method:"PUT"}).then(function(e){return a.g.removeToken(),e})}},{key:"cancelPaypalPayment",value:function(e){return this.Api.request(this.Endpoint.v2Order+"/"+e+"/paypal/payment/cancel",{method:"PUT"})}}])}();return e.\u0275fac=function(r){return new(r||e)(o.\u0275\u0275inject(i.eN),o.\u0275\u0275inject(u.w),o.\u0275\u0275inject(c.V),o.\u0275\u0275inject(_.F),o.\u0275\u0275inject(l.f))},e.\u0275prov=o.\u0275\u0275defineInjectable({token:e,factory:e.\u0275fac,providedIn:"root"}),e}()}}])}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.