PageSourceSearch

https://cdn0070.qrcodechimp.com/view/common/js/modal.js?v=1789022947a_k6

js qrcodechimp.com collected 2026-09-24 08:42:49 UTC 45,622 bytes, 343 lines download raw bytes

1const _plan_label={FR:"FREE",ST:"STARTER",PF:"PRO",UL:"ULTIMA",ULx2:"ULTIMA X@"},_plan_popup={config:{scan_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_2.png",header:"Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features!"},scan_limit_reached:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_5.png",header:"Your Dynamic QR codes limit is over, upgrade your plan today to unlock more features!"},code_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_1.png",header:"Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features!"},code_limit_reached:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_4.png",header:"Your Dynamic QR codes limit is over, upgrade your plan today to unlock more features!"},upgrade_statistics:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_3.png",header:"Get advanced QR code Statistics, upgrade your plan today to unlock more features!"},dbc_code_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_1.png",header:"You have exhausted your Digital Business Card limit. This card will be paused. Please upgrade your plan to activate more cards."}},showModal:function(modal_type="scan_limit_near"){document.getElementById("upgrade_custom_modal")==null&&$("body").append(` <div class="modal cstm_modal  fade upgrade_custom_modal cst_modal" id="upgrade_custom_modal">
2                                    <div class="modal-dialog modal-dialog-centered">
3                                        <div class="modal-content">
4                                            <!-- Modal body -->
5                                            <div class="modal-body text-center">
6                                                <div class="close_btn" data-dismiss="modal">&times;</div>
7                                                <div class="row justify-content-end">
8                                                    
9                                                    <div class="col-7 order-md-2">
10                                                        <div class="cstm_form_content upgrade_box_wrapper">
11                                                            <h3 class="upgrade_popup_title">Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features! </h3>
12                                                            <div class="row equal">
13                                                                <div class="col p-2">
14                                                                    <div class="upgrade_box wd_card_3 p-4">
15                                                                        Your Plan<br/>
16                                                                        <strong class="current_user_plan">FREE</strong>
17                                                                    </div>
18                                                                </div>
19                                                                <div class="col p-2">
20                                                                    <div class="upgrade_box plan_info_text wd_card_2 p-4">
21                                                                       
22                                                                    </div>
23                                                                </div>
24                                                            </div>
25                                                            <div class="row mt-4">
26                                                                <div class="col p-2">
27                                                                    <a href="/pricing" class="btn btn-primary btn-dark  py-2 btn-block">Upgrade Now</a>
28                                                                </div>
29                                                            </div>
30                                                        </div>
31                                                    </div>
32                                                    <div class="col-5 mt-4 cstm_modal_left_img order-md-1 text-center">
33                                                        <img class="img-fluid upgrade_modal_left_img" src="/assets/images/popup/upgrade_image_1.png"/>
34                                                    </div>
35                                                </div>
36                                            </div>
37                                        </div>
38                                    </div>
39                                </div>`),$("#upgrade_custom_modal .upgrade_modal_left_img").attr("src",_plan_popup.config[modal_type].upgrade_modal_left_img),$("#upgrade_custom_modal .upgrade_popup_title").text(_plan_popup.config[modal_type].header),$("#upgrade_custom_modal .current_user_plan").text(extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"LABEL"])),$("#upgrade_custom_modal .plan_info_text").html(_plan_popup.getPlanStats(modal_type.split("_")[0])),$("#upgrade_custom_modal").modal("show")},getPlanStats:function(type){switch(type){case"scan":return"Usage Alert<br/><strong>"+extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)+"/"+extractDataFromArray(__plan_info,[user_info.plan_info.plan,"MAX_SCAN"],10)+"</strong><br/>QR scans are used";case"code":return"Usage Alert<br/><strong>"+extractDataFromArray(user_info,["active_dynamic_codes"],0)+"/"+extractDataFromArray(__plan_info,[user_info.plan_info.plan,"DYNAMIC_QR"],10)+"</strong><br/>QR codes are used";case"statistics":return value;case"dbc":return"Usage Alert<br/><strong>"+user_info.active_dbc_qr_codes+"/"+getMaxAllowedDBCCodeCount("digital-business-cards")+"</strong><br/>QR codes are used"}},checkPlanStatus:function(){if(typeof user_info!="undefined"){typeof __plan_info=="undefined"&&(__plan_info={});const max_scans=extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"MAX_SCAN"],1e3),max_dynamic_codes=extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"DYNAMIC_QR"],10);var max_dbc_qr_codes=getMaxAllowedDBCCodeCount("digital-business-cards");let pathName=location.pathname;pathName!="/qr-code-solutions"&&typeof __savedQrCodeParams!="undefined"&&extractDataFromArray(__savedQrCodeParams,["id"],"")=="new"&&(user_info.active_dynamic_codes==max_dynamic_codes&&max_dynamic_codes!=-1?_plan_popup.showModal("code_limit_reached"):user_info.active_dynamic_codes>=max_dynamic_codes*.8&&max_dynamic_codes!=-1?_plan_popup.showModal("code_limit_near"):extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)==max_scans&&max_scans!=-1?_plan_popup.showModal("code_limit_reached"):extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)>=max_scans*.8&&max_scans!=-1?_plan_popup.showModal("code_limit_near"):user_info.active_dbc_qr_codes>=max_dbc_qr_codes&&max_dbc_qr_codes!=-1&&(pathName.includes("digital-business-cards")||pathName.includes("qr-code-solutions"))&&parseInt(extractDataFromArray(user_info,["dbc_as_dynamic_limit"],0))==0&&_plan_popup.showModal("dbc_code_limit_near"))}}},_successPopup={init:function(){document.getElementById("success_code_popup")==null&&$("body").append(` <div class="modal fade" id="success_code_popup">
40                                    <div class="modal-dialog modal-dialog-centered">
41                                        <div class="modal-content">
42                                             <div class="modal-header">
43                                                <h5 class="modal-title d-block w-100" id="exampleModalLabel">Success</h5>
44                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
45                                                    <span aria-hidden="true">×</span>
46                                                </button>
47                                            </div>
48                                            <!-- Modal body -->
49                                            <div class="modal-body">
50                                                <div class="row justify-content-center">
51                                                    <span class="text-success">Your QR Code saved successfully!</span>
52                                                </div>
53                                            </div>
54                                            <div class="modal-footer d-flex justify-content-between">
55                                                <button type="button" class="btn btn-outline-secondary " data-dismiss="modal">Close</button>
56                                                <a href="/user/dashboard" class="btn btn-primary">Go to Dashboard</a>
57                                            </div>
58                                        </div>
59                                    </div>
60                                </div>`)},showModal:function(){_successPopup.init(),$("#success_code_popup").modal("show")}},_checkOutPopup={_choosen:null,callback:null,gateway:"stripe",auto_renewal:!0,_from_saved_cards:!1,init:function(api=0){document.getElementById("checkout_popup")==null&&($("body").append(` <div class="modal fade" id="checkout_popup">
61                                    <div class="modal-dialog modal-lg modal-dialog-centered">
62                                        <div class="modal-content">
63                                             <div class="modal-header">
64                                                <h5 class="text-center modal-title d-block w-100" id="exampleModalLabel">Please verify the purchase details to proceed for the payment</h5>
65                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
66                                                    <span aria-hidden="true">×</span>
67                                                </button>
68                                            </div>
69                                            <!-- Modal body -->
70                                            <div class="modal-body p-5">
71                                                <div class="row pb-4">
72                                                    <div class="col-md-4">
73                                                        <span class="">Package Name</span>
74                                                        <h4 class="font-weight-semibold mt-2" id="ch_plan_label">PRO</h4>
75                                                    </div>
76                                                    <div class="col-md-8">
77                                                        <div class="row">
78                                                            <div class="col-md-7">
79                                                                <span class="font-12">Payment Plan</span>
80                                                                <select id="ch_plan_dropdown" class="form-control mt-2" `+(_checkOutPopup.disable_select?"disabled":"")+`>
81                                                                    <option>For a year</option>
82                                                                </select>
83                                                            </div>
84                                                            <div class="col-md-5 text-right ">
85                                                                <span class="font-12">Amount `+(_checkOutPopup.gateway=="razorpay"?"(Including GST)":"")+`</span>
86                                                                <h4 class="font-weight-semibold mt-3 ch_total_amount">$9.99</h4>
87                                                            </div>
88                                                        </div>
89                                                    </div>
90                                                </div>
91                                            
92                                                <div class="row border-top pt-4">
93                                                    <div class="col-md-4">
94
95                                                    </div>
96                                                    <div class="col-md-8">
97                                                        <div class="row pb-4 border-bottom" id="checkout_popup_auto_renew
97al_wrapper">
98                                                            <div class="col-md-8">
99                                                                <div class="font-weight-semibold font-14 mb-2">Auto Renewal</div>
100                                                                <div class="text-muted">Automatically charge the card to renew subscription</div>
101                                                            </div>
102                                                            <div class="col-md-4 p-2 pr-3 text-right">
103                                                                <label class="switch">
104                                                                    <input type="checkbox" id="auto_renewal" checked>
105                                                                    <span class="slider round"></span>
106                                                                </label>
107                                                            </div>
108                                                        </div>
109                                                        <div class="row  total_wrapper">
110                                                            <div class="col-md-6">
111                                                                <span class="font-weight-semibold ch_total_text">Total</span>
112                                                            </div>
113                                                            <div class="col-md-6">
114                                                                <h4 class="font-weight-semibold mt-2 ch_total_amount">$9.99</h4>
115                                                            </div>
116                                                        </div>
117                                                    </div>
118                                                </div>
119                                            </div>
120                                            <div class="modal-footer border-0 d-flex justify-content-end modal-footer pb-5 pr-5">
121                                                <button type="button" class="btn btn-primary" id="ch_proceed_btn">Proceed for Payment</button>
122                                            </div>
123
124                                        </div>
125                                    </div>
126                                </div>`),$("#ch_proceed_btn").on("click",function(e){if($("#checkout_popup").modal("hide"),extractDataFromArray(user_info,["force_bank_transfer"],!1)){_checkOutPopup.showBankTransferPopup();return}_checkOutPopup.callback(_checkOutPopup.plan,_checkOutPopup.period,$("#auto_renewal").prop("checked")?1:0)})),$("#ch_plan_label").text(api?"API":extractDataFromArray(__plan_info,[_checkOutPopup.plan,"LABEL"])),$("#ch_plan_dropdown").html(""),$("#ch_plan_dropdown").append('<option value="MONTHLY" '+(_checkOutPopup.period=="MONTHLY"?"selected":"")+">For a Month</option>"),$("#ch_plan_dropdown").append('<option value="YEARLY" '+(_checkOutPopup.period=="YEARLY"?"selected":"")+">For a Year (30% Saving)</option>
126"),$("#ch_plan_dropdown").off("change").on("change",function(e){_checkOutPopup.period=e.target.value,_checkOutPopup.updatePlanPrice()}),_checkOutPopup.updatePlanPrice()},showBankTransferPopup:function(){let currency=_checkOutPopup.gateway=="razorpay"?"INR ":"USD ",gateway=_checkOutPopup.gateway.toUpperCase(),period=_checkOutPopup.period,price=__plan_info[_checkOutPopup.plan].PRICE.STRIPE[_checkOutPopup.period],label=__plan_info[_checkOutPopup.plan].LABEL,total_price=__plan_info[_checkOutPopup.plan].PRICE[gateway][_checkOutPopup.period]*(period=="MONTHLY"?1:12);total_price=parseFloat(total_price.toFixed(2));let stripe=currency=="US$";Swal.fire({width:550,html:`
127                <div class="font-22 p-3 font-weight-semibold border-bottom">Payment Instructions for Account Upgrade</div>
128                <div class="text-left p-4" style="line-height:1.8;color: var(--secondary);">
129                    <div>
130                    Due to security reasons, we currently only accept payments via bank transfer from your account. <br>Please complete the bank wire transfer for the amount specified below and email the proof of payment to <br> <a href="[email protected]">[email protected]</a><br>Once we receive your proof of payment, your account will be upgraded.
131                    </div>
132                    <div class="pt-3">
133                        <div class="font-weight text-dark font-18 mb-2">Amount</div>
134                        <div class="d-flex justify-content-between mb-2">
135                            <div><span class=" text-dark">(`+label+`)</span>Plan charges</div>
136                            <div class="text-right">
137                                <div class="text-dark">`+currency+total_price+`</div>
138                                `+(period=="MONTHLY"?"":"<div class='font-12'>("+currency+price+" x 12 months)</div>")+`
139                                
140                            </div>
141                        </div>
142                        `+(stripe?` <div class="d-flex justify-content-between mb-2">
143                            <div>Bank Processing Fees</div>
144                            <div class="text-dark">US$25</div>
145                        </div>`:"")+`
146                       
147                        <div class="d-flex justify-content-between font-18 mb-4">
148                            <div class="font-weight-semibold">Total</div>
149                            <div class="font-weight-semibold text-dark">`+currency+(total_price+(stripe?25:0))+"  "+(stripe?"":'<span class="font-14 text-secondary" style=" font-weight: normal; ">(Including GST)</span>')+`</div>
150                        </div>
151                    </div>
152                    <div class="d-flex justify-content-between">
153                        <button class="btn btn-secondary" id="btn_cancel_transfer" onclick="Swal.close()">Cancel</button>
154                        <a class="btn btn-primary" target="_blank" href="https://help.qrcodechimp.com/article/313-bank-transfer-details">View Bank Transfer Details  &raquo;</a>
155                    </div>
156                </div>`,customClass:{popup:"swal_popup_with_no_padding",content:"swal_popup_with_no_padding",close:"swal_popup_close"},showConfirmButton:!1,onOpen:()=>{$("#")}})},updatePlanPrice:function(){let price=extractDataFromArray(__plan_info,[_checkOutPopup.plan,"PRICE",_checkOutPopup.gateway.toUpperCase(),_checkOutPopup.period]),currency="$";if(_checkOutPopup.gateway=="razorpay"&&(currency="₹"),_checkOutPopup.period=="MONTHLY")$("#checkout_popup .ch_total_amount").text(currency+price);else{let yearlyPrice=(price*12).toFixed(2);$("#checkout_popup .ch_total_amount").html(currency+yearlyPrice+'<br/><span style="font-size:12px;font-weight:normal;" class="text-muted">('+currency+`${price} x 12 months)</span>`)}},showModal:function(plan,period,callback){if(_checkOutPopup.callback=callback,_checkOutPopup.plan=plan,_checkOutPopup.period=period,$(".mypricing_content[data-plan="+_checkOutPopup.plan+"]").length>0){const parent_container=$(".mypricing_content[data-plan="+_checkOutPopup.plan+"]");
156_checkOutPopup.plan_data=parent_container.find(".mypricing_price_tag .currency").data()}else _checkOutPopup.plan_data=_checkOutPopup._choosen.data();function initCheckout(){_checkOutPopup.init(),$("#checkout_popup_auto_renewal_wrapper").show(),$("#checkout_popup_auto_renewal_wrapper #auto_renewal").prop("checked",!0),_checkOutPopup.gateway=="razorpay"&&(_checkOutPopup.auto_renewal=!1,$("#checkout_popup_auto_renewal_wrapper").hide(),$("#checkout_popup_auto_renewal_wrapper #auto_renewal").prop("checked",!1)),$("#checkout_popup").modal("show"),$("#custom_dbc_plan").hasClass("show")&&$("#custom_dbc_plan").modal("hide")}let showGatewayPopup=!1;__ipSrc?extractDataFromArray(user_info,["plan_info","gateway"],"")=="RAZORPAY"&&(showGatewayPopup=!0):extractDataFromArray(user_info,["plan_info","gateway"],"")=="RAZORPAY"?_checkOutPopup.gateway="razorpay":showGatewayPopup=!0,showGatewayPopup?_checkOutPopup.showPaymentGateway(()=>{_checkOutPopup.gateway=="razorpay"?_checkOutPopup/this.showEditBillingInfoPopup(()=>{initCheckout()}):initCheckout()}):initCheckout()},showEditBillingInfoPopup:callback=>{let country_dropdown_html="";const user_country=extractDataFromArray(user_info,["billing_info","country"],extractDataFromArray(user_info,["ip","country"])),user_state=extractDataFromArray(user_info,["billing_info","state"],extractDataFromArray(user_info,["ip","state"]));Object.keys(countryCodeToName).forEach(code=>{country_dropdown_html+='<option value="'+code+'" '+(user_country==code?"selected":"")+">"+countryCodeToName[code]+"</option>"});let state_dropdown_html="";user_country=="IN"&&(state_dropdown_html='<option value="">Select state</option>',IndianStateNames.forEach(state=>{state_dropdown_html+='<option value="'+state+'" '+(user_state==state?"selected":"")+">"+state+"</option>"})),$(".stripe_billing_address").html(),Swal.fire({width:600,title:"Billing Details",html:`
157            <div class="text-left">
158                <div class="font-16 font-weight-semibold mb-2">Business Name</div>
159                <div class="font-14">
160                    <input type="text" class="form-control" name="name" value="`+extractDataFromArray(user_info,["billing_info","name"],user_info.fname+(empty(user_info.lname)?"":" "+user_info.lname))+`" errormsg="Name is incomplete.">
161                </div>
162            </div>
163            `+BillingInfo.getBillingInfosForm(0,1,state_dropdown_html),showCancelButton:!0,reverseButtons:!0,confirmButtonText:"Save",willOpen:()=>{BillingInfo.inputValidations(),BillingInfo.listeners(),$("#swal2-content input[name=name]").on("input",function(e){e.target.value==""?showInputInvalid("#swal2-content input[name=name]"):hideInputInvalid("#swal2-content input[name=name]")})},preConfirm:()=>{let billing_info=BillingInfo.getFormData();return billing_info?(billing_info.name=$("#swal2-content input[name=name]").val(),empty(billing_info.name)?(showInputInvalid("#swal2-content input[name=name]"),!1):billing_info):!1}}).then(result=>{result.isConfirmed&&$.post("//"+__api_domain+"/user/services/api",{cmd:"updateBillingData",formData:JSON.stringify({billing_info:result.value}),user_id:getUrlParameterByName("user_id")},function(response){empty(response.data)||callback()})}),$("select[name=country]").select2(),$("select[name=state]").select2()},showPaymentGateway:function(callback){Swal.fire({title:"Confirm Your Country",text:"Please confirm your registered business location to continue:",showCancelButton:!0,cancelButtonText:"Outside India",confirmButtonText:"In India",reverseButtons:!0,allowOutsideClick:!1,customClass:{confirmButton:"pricing_gateway_btn"}}).then(result=>{result.isConfirmed?(_checkOutPopup.gateway="razorpay",callback()):Swal.fire({title:"Confirm Your Country",text:"We've detected that your current location is in India. Are you certain that your registered business location is outside of India?",showCancelButton:!0,cancelButtonText:"No",confirmButtonText:"Yes",reverseButtons:!0,allowOutsideClick:!1}).then(result2=>{result2.isConfirmed?_checkOutPopup.gateway="stripe":_checkOutPopup.gateway="razorpay",callback()})})}
163,showModalForAPI:function(plan,period,callback){_checkOutPopup.callback=callback,_checkOutPopup.plan=plan,_checkOutPopup.period=period,_checkOutPopup.plan_data={month:9.99,year:6.99,plan:"API"},_checkOutPopup.init(1),$("#checkout_popup").modal("show"),$("#custom_dbc_plan").modal("hide")}},_designEditConfirmPopup={init:function(){document.getElementById("design_edit_confirm_popup")==null&&($("body").append(` <div class="modal fade" id="design_edit_confirm_popup">
164                                    <div class="modal-dialog modal-dialog-centered">
165                                        <div class="modal-content">
166                                             <div class="modal-header d-none">
167                                                <h5 class="modal-title d-block w-100" id="exampleModalLabel">Success</h5>
168                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
169                                                    <span aria-hidden="true">×</span>
170                                                </button>
171                                            </div>
172                                            <!-- Modal body -->
173                                            <div class="modal-body">
174                                                <div class="row justify-content-center">
175                                                    <span class="py-4">Do you want to save the changes?</span>
176                                                </div>
177                                            </div>
178                                            <div class="modal-footer d-flex justify-content-between">
179                                                <button type="button" class="btn btn-outline-secondary " data-dismiss="modal">Discard</button>
180                                                <button type="button" class="btn btn-primary" id="btn_design_edit_confirm">Save</button>
181                                            </div>
182                                        </div>
183                                    </div>
184                                </div>`),$("#btn_design_edit_confirm").on("click",function(e){saveQROptions()}))},showModal:function(){_designEditConfirmPopup.init(),$("#design_edit_confirm_popup").modal("show")}},DownloadQRCode={_clickFrom:!1,show:function(){$("#desgin_qrcode_modal").modal("hide"),__savedQrCodeParams=typeof __savedQrCodeParams=="undefined"?{}:__savedQrCodeParams;const qr_id=extractDataFromArray(__savedQrCodeParams,["id"],"new");if(page=="dashboard"||page=="active-directory"||page=="qr-gifts"||page=="merchandise-wl"||page=="bulkUpload"||page=="folders"||page=="stats"||page=="folder-details"||!empty(qr_id)&&qr_id!="new"){DownloadQRCode.download();return}DownloadQRCode._clickFrom=!0,$(".submit_qr_code").click()},download:function(){let pageType=typeof selectedData!="undefined"&&!isEmpty(selectedData)?extractDataFromArray(selectedData,["page"],""):page;Swal.fire({width:"50rem",title:"Download QR Codes",html:`<div class="row mt-4">
185                        <div class="col-md-3">
186                            <div class="text-left">File format</div>
187                        </div>
188                        <div class="col-md-1">:</div>
189                        <div class="col-md-8">
190                            <ul class="nav nav-pills dwld_file_type" >
191                                <li class="nav-item">
192                                    <a class="nav-link border active" href="#!" data-type="png">PNG</a>
193                                </li>
194                                <li class="nav-item">
195                                    <a class="nav-link border " href="#!" data-type="pdf">PDF</a>
196                                </li>
197                                <li class="nav-item `+(extractDataFromArray(user_info,["svg_download"],!1)?"":"d-none")+`">
198                                    <a class="nav-link border " href="#!" data-type="svgBasic">SVG <span style="font-size: 12px;">(Basic)</span></a>
199                                </li>
200                                <li class="nav-item `+(extractDataFromArray(user_info,["svg_download"],!1)?"":"d-none")+`">
201                                    <a class="nav-link border " href="#!" data-type="svg">
201SVG <span style="font-size: 12px;">(Chrome Compatible Only)</span></a>
202                                </li>                                
203                            </ul>
204                        </div>
205                    </div>
206                    <div class="row my-4 qr_svg_alert" style="display:none;">
207                        <div class="col-md-3">
208                            <div class="text-left"></div>
209                        </div>
210                        <div class="col-md-1"></div>
211                        <div class="col-md-8 text-left text-danger font-16">
212                            <i class="icon-information mr-2 text-danger"></i><span id="qr_svg_alert_text">These SVGs will work only in Chrome browser, please print from Chrome. May not work in Illustrator and other image viewers.</span>
213                        </div>
214                    </div>
215                    <div class="row my-4 qr_download_size">
216                        <div class="col-md-3">
217                            <div class="text-left">QR Size</div>
218                        </div>
219                        <div class="col-md-1">:</div>
220                        <div class="col-md-8">
221                            <ul class="nav nav-pills border dwld_qr_size" style="width:fit-content">
222                                <li class="nav-item">
223                                    <a class="nav-link" href="#!" data-file_size="256">256px</a>
224                                </li>
225                                <li class="nav-item border">
226                                    <a class="nav-link" href="#!" data-file_size="512">512px</a>
227                                </li>
228                                <li class="nav-item border ">
229                                    <a class="nav-link active" href="#!" data-file_size="1024">1024px</a>
230                                </li>
231                                <li class="nav-item border">
232                                    <a class="nav-link" href="#!" data-file_size="2048">2048px</a>
233                                </li>
234                                <li class="nav-item border">
235                                    <a class="nav-link" href="#!" data-file_size="4096">4K</a>
236                                </li>
237                                <!-- li class="nav-item border">
238                                    <a class="nav-link" href="#!" data-file_size="8192">8K</a>
239                                </li -->
240                            </ul>
241                        </div>
242                    </div>
243                    <div class="row mb-2">
244                        <div class="col-md-4"></div>
245                        <div class="col-md-8 div_extra_actions" >
246                            <div class="d-flex custom-control custom-checkbox dwld_inc_name" style="width:200px;" >
247                                <input type="checkbox" class="custom-control-input" id="dwld_inc_name_check">
248                                <label class="custom-control-label" for="dwld_inc_name_check">Add name below QR</label>
249                            </div>
250                        </div>
251                    </div>
252                    `+(isGS1QRCode(pageType)?`<div class="row mb-2">
253                        <div class="col-md-4"></div>
254                        <div class="col-md-8 div_extra_actions">
255                            <div class="d-flex custom-control custom-checkbox">
256                                <input type="checkbox" class="custom-control-input" id="dwld_inc_barcode_check" `+($("#showBarcode").prop("checked")?"checked":"")+`>
257                                <label class="custom-control-label" for="dwld_inc_barcode_check">Show 1D barcode with QR Code</label>
258                            </div>
259                        </div>
260                    </div>
261                    <div class="row mb-2">
262                        <div class="col-md-4"></div>
263                        <div class="col-md-8 div_extra_actions">
264                            <div class="d-flex custom-control custom-checkbox">
265                                <input type="checkbox" class="custom-control-input" id="dwld_inc_value_check" `+($("#showGtin").prop("checked")?"checked":"")+`>
266                                <label class="custom-control-label" for="dwld_inc_value_check">Show GTIN Value with QR Code</label>
267                            </div>
268                        </div>
269                    </div>`:""),confirmButtonText:"Download",showCancelButton:!0,reverseButtons:!0,showCloseButton:!0,willOpen:function(){$(document).on("click",".dwld_file_type li",function(e){e.preventDefault(),$(".dwld_file_type li a").removeClass("active"),$(this).find("a").addClass("active");let dType=$(this).find("a").data("type");if(dType=="svgBasic"?$(".div_extra_actions").hide():$(".div_extra_actions").show(),dType=="svg"||dType=="svgBasic"){$(".qr_download_size").hide();let txt=dType=="svg"?"These SVGs are supported only in the Chrome browser. Please open and print them from Chrome, as they may not render correctly in Illustrator or other image viewers.":"These SVGs may not include name, stickers or background images, but they are compatible with most image viewers. Please download and test them before printing.";$("#qr_svg_alert_text").html(txt),$(".qr_svg_alert").show(),$(".dwld_inc_name").show()}else $(".qr_download_size").show(),$(".qr_svg_alert").hide(),$(".dwld_inc_name").show()}),$(document).on("click",".dwld_qr_size li",function(e){e.preventDefault(),$(".dwld_qr_size li a").removeClass("active"),$(this).find("a").addClass("active")}),$(document).on("change","#dwld_inc_barcode_check",function(e){e.target.checked||$("#dwld_inc_value_check").prop("checked",!1).trigger("change")}),$(document).on("change","#dwld_inc_value_check",function(e){e.target.checked&&$("#dwld_inc_barcode_check").prop("checked",!0).trigger("change")})}}).then(result=>{if(result.isConfirmed){var name="",gtinValue="";if(page=="dashboard")name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],"");else if(page=="folder-details"&&typeof __JsonPageData!="undefined"&&extractDataFromArray(__JsonPageData,["folder_data","folder_type"])=="qr"&&empty(selectedData.folder_name))name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],"");else if(page=="folder-details"&&typeof __JsonPageData!="undefined"&&extractDataFromArray(__JsonPageData,["folder_data","folder_type"])=="bulk"&&empty(selectedData.folder_name)){name=selectedData.name,BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.downloadQRCodes();return}else if(page=="bulkUpload"||page=="active-directory"){if(name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],""),!getUrlParameterByName("id")){BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.include_barcode=$("#dwld_inc_barcode_check").prop("checked"),BulkUploadHandler.include_gtin=$("#dwld_inc_value_check").prop("checked"),BulkUploadHandler.downloadQRCodes();return}}else if(page=="qr-gifts"||page=="merchandise-wl"){name=selectedData.name,QRCodesGiftsDataTable.downloadQRCodes(selectedData._id,selectedData.name,parseInt($(".dwld_qr_size li a.active").data("file_size")),$(".dwld_file_type li a.active").data("type"),$("#dwld_inc_name_check").prop("checked"));return}else if((page=="folders"||page=="folder-details")&&!empty(selectedData.folder_name)){name=selectedData.folder_name,BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.downloadFolderQRCodes();return}else if(name=extractDataFromArray(__savedQrCodeParams,["template_name"],""),typeof GS1!="undefined")try{gtinValue=extractDataFromArray(GS1,["fields","01"],"")}catch(e){console.error(e)}downloadImage(parseInt($(".dwld_qr_size li a.active").data("file_size")),name,$(".dwld_file_type li a.active").data("type"),$("#dwld_inc_name_check").prop("checked"),gtinValue,$("#dwld_inc_barcode_check").prop("checked"),$("#dwld_inc_value_check").prop("checked"))}DownloadQRCode._clickFrom=!1,hideLoader()})}},BillingInfo={getCountryDropdown:function(country="",hideIndia=0){let options="",option_selected=!1;return Object.keys(countryCodeToName).forEach(country_code=>{let selected="";hideIndia&&country_code=="IN"||(country==country_code&&(option_selected=!0,selected="selected"),options+='<option value="'+country_code+'" '+selected+">"+countryCodeToName[country_code]+"</option>")}),options='<option value="" disabled '+(option_selected?"":"selected")+">Select a country</option>"+options,options},getBillingInfosForm:function(hideIndia=0,payment=0,state_dropdown_html=""){let user_info_local=typeof user_info=="undefined"?{}:user_info,line1=extractDataFromArray(user_info_local,["billing_info","line1"],extractDataFromArray(user_info_local,["billing_info","address"],"")),line2=extractDataFromArray(user_info_local,["billing_info","line2"],""),city=extractDataFromArray(user_info_local,["billing_info","city"],""),state=extractDataFromArray(user_info_local,["billing_info","state"],""),country=extractDataFromArray(user_info_local,["billing_info","country"],extractDataFromArray(user_info_local,["ip","country"],"")),postal_code=extractDataFromArray(user_info_local,["billing_info","postal_code"],""),gst_pin=extractDataFromArray(user_info_local,["billing_info","gst_pin"],""),vat_id=extractDataFromArray(user_info_local,["billing_info","vat_id"],"");return country=country=="UK"?"GB":country,payment=page=="pricing"||payment,payment=payment&&_checkOutPopup.gateway=="str
269ipe",_checkOutPopup.gateway=="razorpay"?country="IN":_checkOutPopup._from_saved_cards&&(country=country=="IN"?"":country,hideIndia=1),'<div class="billing_info_form row '+(payment?(_checkOutPopup._from_saved_cards?"":"mx-0")+" mt-4":"")+`">
270                    <div class="col-md-12 font-16 font-weight-semibold mb-2">Billing Address</div>
271                    <div class="col-md-12 mb-2">
272                        <label>Country</label>
273                        <select type="text" class="form-control select2" id="billing_info_country" value="`+country+'" placeholder="Country" errormsg="Country is empty." '+(_checkOutPopup.gateway=="razorpay"?"disabled":"")+`>
274                            `+BillingInfo.getCountryDropdown(country,hideIndia)+`
275                        </select>
276                    </div>
277                    <div class="col-md-12">
278                        <label>Street Address</label>
279                        <input type="text" class="form-control" id="billing_info_line1" value="`+line1+`" placeholder="Line 1"  errormsg="Address is empty.">
280                    </div>
281                    <div class="col-md-6">
282                        <label>City</label>
283                        <input type="text" class="form-control" id="billing_info_city" value="`+city+`" placeholder="City">
284                    </div>
285                    <div class="col-md-6">
286                        <label>State</label>
287                        `+(empty(state_dropdown_html)?' <input type="text" class="form-control" id="billing_info_state"  value="'+state+'" placeholder="State">':'<select type="text" class="form-control select2" id="billing_info_state" name="state" value="'+state+`" placeholder="State" errormsg="State is empty." >
288                        `+state_dropdown_html+`
289                                </select > `)+`
290                       
291                    </div >
292                    <div class="col-md-6">
293                        <label>Zip</label>
294                        <input type="text" class="form-control" id="billing_info_postal_code" value="`+postal_code+`" placeholder="Zip" errormsg="Zipcode is empty.">
295                    </div>
296                    `+(payment?` <div class="col-md-6 " >
297                                                                <label>Phone Number</label>
298                                                                <input type="text" class="form-control" id="billing_info_phone" value="" placeholder="Phone"  errormsg="Phone is empty.">
299                                                            </div>`:"")+`
300                    `+(payment?"":`
301                    <div class="col-md-6 billing_info_gst_pin_wrapper" style = "`+(country!="IN"?"display:none;":"")+`" >
302                                        <label>GSTIN Number (for GST invoice)</label>
303                                        <input type="text" class="form-control" id="billing_info_gst_pin" value="`+gst_pin+`" placeholder="Optional">
304                                    </div>`)+`
305                    `+(payment?"":`
306                    <div class="col-md-6 billing_info_tax_id_wrapper" style = "`+(country=="IN"?"display:none;":"")+`" >
307                                        <label>VAT/TAX ID</label>
308                                        <input type="text" class="form-control" id="billing_info_vat_id" value="`+vat_id+`" placeholder="Optional">
309                                    </div>`)+`
310                                </div > `},listeners:function(){$("#billing_info_country").off().on("change",function(e){e.target.value=="IN"?($(".billing_info_gst_pin_wrapper").show(),$(".billing_info_tax_id_wrapper").hide()):($(".billing_info_tax_id_wrapper").show(),$(".billing_info_gst_pin_wrapper").hide())}),$("#billing_info_country").select2()},inputValidations:function(){$(".billing_info_form input, .billing_info_form select").off("input change").on("input change",function(e){e.target.value.trim()==""?showInputInvalid("#"+e.target.id):hideInputInvalid("#"+e.target.id)})},getFormData:function(){let address={};return Array.from($(".billing_info_form input, .billing_info_form select")).forEac
310h(ele=>{ele.value.trim()==""&&ele.getAttribute("errormsg")?showInputInvalid("#"+ele.id):address[ele.id.replace("billing_info_","")]=ele.value.trim()}),address.hasOwnProperty("state")||(address.state=$("#billing_info_state").val()),$(".invalid-input-alert").length==0?address.country=$("#billing_info_country").val():address=!1,address}},getZapierUpdatePopUp={show:function(updatedForms){let popupContent=`
311            <div class="modal zapier-edit-popup show swal2-show" id="zapier_edit_popup">
312                <div class="bg-light" style="max-width: 840px;">
313                    <div class="p-4">
314                        <div class="d-flex justify-content-around">
315                            <div class="zapier_logo" style="background-image: url('/images/exclamation_logo'); width:80px; height: 70px;"></div>
316                        </div>
317                        <div>
318                            <h1><small style="font-weight: 400;">Verify Field Mapping for Zapier Integration</small></h1>
319                        </div>
320                        <div>
321                            <p class="text-secondary" style="font-size: 20px;">Changes to form fields have been detected. Please edit the Zap, ensure the fields are correctly mapped. Otherwise, the Zapier integration may not function properly.</p>
322                            <br><br><br>
323                            <div>
324                                <h5>Need help?</h5>
325                                <label class="text-secondary">Refer to this FAQ: <span class="text-primary">How to verify field mapping for Zapier?</span></label>
326                            </div>
327                        </div>
328                        <div class="mt-2">
329        `;updatedForms.forEach(form=>{popupContent+=`
330                <div class="d-flex justify-content-between align-items-center mt-3">
331                    <h4>Form Name: <span class="text-secondary">${form.form_name}</span></h4>
332                    <button class="btn btn-outline-primary edit_zapier_modal" type="submit" data-form_id="${form.form_id}">Edit Zap</button>
333                </div>
334            `}),popupContent+=`
335                        </div>
336                        <br>
337                        <div class="d-flex justify-content-around mt-3 border-top">
338                            <button class="btn btn-primary w-25 close_edit_zap mt-3">Ok, got it!</button>
339                        </div>
340                    </div>
341                </div>
342            </div>
343        `,$("body").append(popupContent)},init:function(template_id){$.post("//"+__api_domain+"/user/services/api",{cmd:"checkZapierFormDataUpdateStatus",_id:template_id},function(res){res.data.status&&res.data.updated_forms.length>0&&getZapierUpdatePopUp.show(extractDataFromArray(res,["data","updated_forms"]))})}};window.addEventListener("load",function(event){page=="createTemplate"&&_plan_popup.checkPlanStatus()});function showInputInvalid(selector){if(!$(selector).next().hasClass("invalid-input-alert")&&$(selector).attr("errormsg")){let message=$(selector).attr("errormsg");$(selector).addClass("invalid-input"),$('<span class="invalid-input-alert">'+message+"</span>").insertAfter($(selector))}}function hideInputInvalid(selector){$(selector).removeClass("invalid-input"),$(selector).next().hasClass("invalid-input-alert")&&$(selector).next().remove()}

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.