@nam088/zca-js 1.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +0,0 @@
1
- 'use strict';var Qe=require('tough-cookie'),Ro=require('fs/promises'),_=require('crypto-js'),Re=require('crypto'),Ke=require('fs'),Pe=require('path'),Un=require('pako'),Tn=require('spark-md5'),kn=require('json-bigint'),Ge=require('lodash/assign'),semver=require('semver'),$n=require('events'),yt=require('ws'),we=require('lodash/castArray'),ho=require('form-data'),rs=require('lodash/isArray'),fs=require('lodash/isEmpty');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Qe__default=/*#__PURE__*/_interopDefault(Qe);var Ro__default=/*#__PURE__*/_interopDefault(Ro);var ___default=/*#__PURE__*/_interopDefault(_);var Re__default=/*#__PURE__*/_interopDefault(Re);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Pe__default=/*#__PURE__*/_interopDefault(Pe);var Un__default=/*#__PURE__*/_interopDefault(Un);var Tn__default=/*#__PURE__*/_interopDefault(Tn);var kn__default=/*#__PURE__*/_interopDefault(kn);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var $n__default=/*#__PURE__*/_interopDefault($n);var yt__default=/*#__PURE__*/_interopDefault(yt);var we__default=/*#__PURE__*/_interopDefault(we);var ho__default=/*#__PURE__*/_interopDefault(ho);var rs__default=/*#__PURE__*/_interopDefault(rs);var fs__default=/*#__PURE__*/_interopDefault(fs);var gn=Object.defineProperty,ln=Object.defineProperties;var fn=Object.getOwnPropertyDescriptors;var Ne=Object.getOwnPropertySymbols;var yn=Object.prototype.hasOwnProperty,hn=Object.prototype.propertyIsEnumerable;var De=(o,t,e)=>t in o?gn(o,t,{enumerable:true,configurable:true,writable:true,value:e}):o[t]=e,M=(o,t)=>{for(var e in t||(t={}))yn.call(t,e)&&De(o,e,t[e]);if(Ne)for(var e of Ne(t))hn.call(t,e)&&De(o,e,t[e]);return o},N=(o,t)=>ln(o,fn(t));var p=class extends Error{constructor(t,e){super(t),this.name="ZcaApiError",this.code=e||null;}};var X=class extends p{constructor(){super("Missing `imageMetadataGetter`. Please provide it in the Zalo object options."),this.name="ZaloApiMissingImageMetadataGetter";}};var ie=class extends p{constructor(t="Operation aborted"){super(t),this.name="ZaloApiLoginQRAborted";}};var pe=class extends p{constructor(t="Login QR request declined"){super(t),this.name="ZaloApiLoginQRDeclined";}};var Rn=(c=>(c[c.Everyone=0]="Everyone",c[c.Stranger=1]="Stranger",c[c.SpecificFriends=2]="SpecificFriends",c[c.FriendsExcept=3]="FriendsExcept",c))(Rn||{});var ze=(n=>(n[n.Note=1]="Note",n[n.PinnedMessage=2]="PinnedMessage",n[n.Poll=3]="Poll",n))(ze||{});var I=(e=>(e[e.User=0]="User",e[e.Group=1]="Group",e))(I||{}),qe=(n=>(n[n.Group=1]="Group",n[n.User=3]="User",n[n.Page=5]="Page",n))(qe||{}),bn=(e=>(e[e.Male=0]="Male",e[e.Female=1]="Female",e))(bn||{}),vn=(R=>(R[R.ABBank=970425]="ABBank",R[R.ACB=970416]="ACB",R[R.Agribank=970405]="Agribank",R[R.BIDV=970418]="BIDV",R[R.BVBank=970454]="BVBank",R[R.BacA_Bank=970409]="BacA_Bank",R[R.BaoViet_Bank=970438]="BaoViet_Bank",R[R.CAKE=546034]="CAKE",R[R.CB_Bank=970444]="CB_Bank",R[R.CIMB_Bank=422589]="CIMB_Bank",R[R.Coop_Bank=970446]="Coop_Bank",R[R.DBS_Bank=796500]="DBS_Bank",R[R.DongA_Bank=970406]="DongA_Bank",R[R.Eximbank=970431]="Eximbank",R[R.GPBank=970408]="GPBank",R[R.HDBank=970437]="HDBank",R[R.HSBC=458761]="HSBC",R[R.HongLeong_Bank=970442]="HongLeong_Bank",R[R.IBK_HCM=970456]="IBK_HCM",R[R.IBK_HN=970455]="IBK_HN",R[R.Indovina_Bank=970434]="Indovina_Bank",R[R.KBank=668888]="KBank",R[R.KienlongBank=970452]="KienlongBank",R[R.Kookmin_Bank_HCM=970463]="Kookmin_Bank_HCM",R[R.Kookmin_Bank_HN=970462]="Kookmin_Bank_HN",R[R.LPBank=970449]="LPBank",R[R.MB_Bank=970422]="MB_Bank",R[R.MSB=970426]="MSB",R[R.NCB=970419]="NCB",R[R.Nam_A_Bank=970428]="Nam_A_Bank",R[R.NongHyup_Bank=801011]="NongHyup_Bank",R[R.OCB=970448]="OCB",R[R.Ocean_Bank=970414]="Ocean_Bank",R[R.PGBank=970430]="PGBank",R[R.PVcomBank=970412]="PVcomBank",R[R.Public_Bank_Vietnam=970439]="Public_Bank_Vietnam",R[R.SCB=970429]="SCB",R[R.SHB=970443]="SHB",R[R.Sacombank=970403]="Sacombank",R[R.Saigon_Bank=970400]="Saigon_Bank",R[R.SeABank=970440]="SeABank",R[R.Shinhan_Bank=970424]="Shinhan_Bank",R[R.Standard_Chartered_Vietnam=970410]="Standard_Chartered_Vietnam",R[R.TNEX=9704261]="TNEX",R[R.TPBank=970423]="TPBank",R[R.Techcombank=970407]="Techcombank",R[R.Timo=963388]="Timo",R[R.UBank=546035]="UBank",R[R.United_Overseas_Bank_Vietnam=970458]="United_Overseas_Bank_Vietnam",R[R.VIB=970441]="VIB",R[R.VPBank=970432]="VPBank",R[R.VRB=970421]="VRB",R[R.VietABank=970427]="VietABank",R[R.VietBank=970433]="VietBank",R[R.Vietcombank=970436]="Vietcombank",R[R.VietinBank=970415]="VietinBank",R[R.Woori_Bank=970457]="Woori_Bank",R))(vn||{});var ce=class{constructor(t){this.type=0;this.data=t,this.threadId=t.deliveredUids[0],this.isSelf=false;}},me=class{constructor(t,e){this.type=1;this.data=e,this.threadId=e.groupId,this.isSelf=e.deliveredUids.includes(t);}};var Je=(f=>(f[f.ADD=0]="ADD",f[f.REMOVE=1]="REMOVE",f[f.REQUEST=2]="REQUEST",f[f.UNDO_REQUEST=3]="UNDO_REQUEST",f[f.REJECT_REQUEST=4]="REJECT_REQUEST",f[f.SEEN_FRIEND_REQUEST=5]="SEEN_FRIEND_REQUEST",f[f.BLOCK=6]="BLOCK",f[f.UNBLOCK=7]="UNBLOCK",f[f.BLOCK_CALL=8]="BLOCK_CALL",f[f.UNBLOCK_CALL=9]="UNBLOCK_CALL",f[f.PIN_UNPIN=10]="PIN_UNPIN",f[f.PIN_CREATE=11]="PIN_CREATE",f[f.UNKNOWN=12]="UNKNOWN",f))(Je||{});function $e(o,t,e){if(e==0||e==1||e==6||e==7||e==8||e==9)return {type:e,data:t,threadId:t,isSelf:![0,1].includes(e)};if(e==4||e==3){let n=t.toUid;return {type:e,data:t,threadId:n,isSelf:t.fromUid==o}}else if(e==2){let n=t.toUid;return {type:e,data:t,threadId:n,isSelf:t.fromUid==o}}else {if(e==5)return {type:e,data:t,threadId:o,isSelf:true};if(e==11){let n=t.conversationId;return {type:e,data:t,threadId:n,isSelf:t.actorId==o}}else if(e==10){let n=t.conversationId;return {type:e,data:t,threadId:n,isSelf:t.actorId==o}}else return {type:12,data:JSON.stringify(t),threadId:"",isSelf:false}}}var wn=(n=>(n[n.Note=0]="Note",n[n.Message=2]="Message",n[n.Poll=3]="Poll",n))(wn||{}),Sn=(e=>(e[e.Group=1]="Group",e[e.Community=2]="Community",e))(Sn||{});var Ze=(F=>(F.JOIN_REQUEST="join_request",F.JOIN="join",F.LEAVE="leave",F.REMOVE_MEMBER="remove_member",F.BLOCK_MEMBER="block_member",F.UPDATE_SETTING="update_setting",F.UPDATE="update",F.NEW_LINK="new_link",F.ADD_ADMIN="add_admin",F.REMOVE_ADMIN="remove_admin",F.NEW_PIN_TOPIC="new_pin_topic",F.UPDATE_PIN_TOPIC="update_pin_topic",F.REORDER_PIN_TOPIC="reorder_pin_topic",F.UPDATE_BOARD="update_board",F.REMOVE_BOARD="remove_board",F.UPDATE_TOPIC="update_topic",F.UNPIN_TOPIC="unpin_topic",F.REMOVE_TOPIC="remove_topic",F.ACCEPT_REMIND="accept_remind",F.REJECT_REMIND="reject_remind",F.REMIND_TOPIC="remind_topic",F.UPDATE_AVATAR="update_avatar",F.UNKNOWN="unknown",F))(Ze||{});function Be(o,t,e,n){var r;let c="group_id"in t?t.group_id:t.groupId;if(e=="join_request")return {type:e,act:n,data:t,threadId:c,isSelf:false};if(e=="new_pin_topic"||e=="unpin_topic"||e=="update_pin_topic")return {type:e,act:n,data:t,threadId:c,isSelf:t.actorId==o};if(e=="reorder_pin_topic")return {type:e,act:n,data:t,threadId:c,isSelf:t.actorId==o};if(e=="update_board"||e=="remove_board")return {type:e,act:n,data:t,threadId:c,isSelf:t.sourceId==o};if(e=="accept_remind"||e=="reject_remind")return {type:e,act:n,data:t,threadId:c,isSelf:t.updateMembers.some(a=>a==o)};if(e=="remind_topic")return {type:e,act:n,data:t,threadId:c,isSelf:t.creatorId==o};{let a=t;return {type:e,act:n,data:a,threadId:c,isSelf:((r=a.updateMembers)==null?void 0:r.some(i=>i.id==o))||a.sourceId==o}}}var ee=class{constructor(t,e){this.type=0;this.data=e,this.threadId=e.uidFrom=="0"?e.idTo:e.uidFrom,this.isSelf=e.uidFrom=="0",e.idTo=="0"&&(e.idTo=t),e.uidFrom=="0"&&(e.uidFrom=t),e.quote&&(e.quote.ownerId=String(e.quote.ownerId));}},te=class{constructor(t,e){this.type=1;this.data=e,this.threadId=e.idTo,this.isSelf=e.uidFrom=="0",e.uidFrom=="0"&&(e.uidFrom=t),e.quote&&(e.quote.ownerId=String(e.quote.ownerId));}};var je=(T=>(T.HEART="/-heart",T.LIKE="/-strong",T.HAHA=":>",T.WOW=":o",T.CRY=":-((",T.ANGRY=":-h",T.KISS=":-*",T.TEARS_OF_JOY=":')",T.SHIT="/-shit",T.ROSE="/-rose",T.BROKEN_HEART="/-break",T.DISLIKE="/-weak",T.LOVE=";xx",T.CONFUSED=";-/",T.WINK=";-)",T.FADE="/-fade",T.SUN="/-li",T.BIRTHDAY="/-bd",T.BOMB="/-bome",T.OK="/-ok",T.PEACE="/-v",T.THANKS="/-thanks",T.PUNCH="/-punch",T.SHARE="/-share",T.PRAY="_()_",T.NO="/-no",T.BAD="/-bad",T.LOVE_YOU="/-loveu",T.SAD="--b",T.VERY_SAD=":((",T.COOL="x-)",T.NERD="8-)",T.BIG_SMILE=";-d",T.SUNGLASSES="b-)",T.NEUTRAL=":--|",T.SAD_FACE="p-(",T.BYE=":-bye",T.SLEEPY="|-)",T.WIPE=":wipe",T.DIG=":-dig",T.ANGUISH="&-(",T.HANDCLAP=":handclap",T.ANGRY_FACE=">-|",T.F_CHAIR=":-f",T.L_CHAIR=":-l",T.R_CHAIR=":-r",T.SILENT=";-x",T.SURPRISE=":-o",T.EMBARRASSED=";-s",T.AFRAID=";-a",T.SAD2=":-<",T.BIG_LAUGH=":))",T.RICH="$-)",T.BEER="/-beer",T.NONE="",T))(je||{}),K=class{constructor(t,e,n){this.data=e,this.threadId=n||e.uidFrom=="0"?e.idTo:e.uidFrom,this.isSelf=e.uidFrom=="0",this.isGroup=n,e.idTo=="0"&&(e.idTo=t),e.uidFrom=="0"&&(e.uidFrom=t);}};var Ve=(c=>(c[c.None=0]="None",c[c.Daily=1]="Daily",c[c.Weekly=2]="Weekly",c[c.Monthly=3]="Monthly",c))(Ve||{});var de=class{constructor(t){this.type=0;this.data=t,this.threadId=t.idTo,this.isSelf=false;}},ue=class{constructor(t,e){this.type=1;this.data=e,this.threadId=e.groupId,this.isSelf=e.seenUids.includes(t);}};var ge=class{constructor(t){this.type=0;this.data=t,this.threadId=t.uid,this.isSelf=false;}},le=class{constructor(t){this.type=1;this.data=t,this.threadId=t.gid,this.isSelf=false;}};var re=class{constructor(t,e,n){this.data=e,this.threadId=n||e.uidFrom=="0"?e.idTo:e.uidFrom,this.isSelf=e.uidFrom=="0",this.isGroup=n,e.idTo=="0"&&(e.idTo=t),e.uidFrom=="0"&&(e.uidFrom=t);}};var Fn=(g=>(g[g.Other=0]="Other",g[g.RealEstate=1]="RealEstate",g[g.TechnologyAndDevices=2]="TechnologyAndDevices",g[g.TravelAndHospitality=3]="TravelAndHospitality",g[g.EducationAndTraining=4]="EducationAndTraining",g[g.ShoppingAndRetail=5]="ShoppingAndRetail",g[g.CosmeticsAndBeauty=6]="CosmeticsAndBeauty",g[g.RestaurantAndCafe=7]="RestaurantAndCafe",g[g.AutoAndMotorbike=8]="AutoAndMotorbike",g[g.FashionAndApparel=9]="FashionAndApparel",g[g.FoodAndBeverage=10]="FoodAndBeverage",g[g.MediaAndEntertainment=11]="MediaAndEntertainment",g[g.InternalCommunications=12]="InternalCommunications",g[g.Transportation=13]="Transportation",g[g.Telecommunications=14]="Telecommunications",g))(Fn||{}),sa={0:"D\u1ECBch v\u1EE5 kh\xE1c (Kh\xF4ng hi\u1EC3n th\u1ECB)",1:"B\u1EA5t \u0111\u1ED9ng s\u1EA3n",2:"C\xF4ng ngh\u1EC7 & Thi\u1EBFt b\u1ECB",3:"Du l\u1ECBch & L\u01B0u tr\xFA",4:"Gi\xE1o d\u1EE5c & \u0110\xE0o t\u1EA1o",5:"Mua s\u1EAFm & B\xE1n l\u1EBB",6:"M\u1EF9 ph\u1EA9m & L\xE0m \u0111\u1EB9p",7:"Nh\xE0 h\xE0ng & Qu\xE1n",8:"\xD4 t\xF4 & Xe m\xE1y",9:"Th\u1EDDi trang & May m\u1EB7c",10:"Th\u1EF1c ph\u1EA9m & \u0110\u1ED3 u\u1ED1ng",11:"Truy\u1EC1n th\xF4ng & Gi\u1EA3i tr\xED",12:"Truy\u1EC1n th\xF4ng n\u1ED9i b\u1ED9",13:"V\u1EADn t\u1EA3i",14:"Vi\u1EC5n th\xF4ng"};var ke=class extends Map{set(t,e,n=3e5){return setTimeout(()=>{this.delete(t);},n),super.set(t,e)}},Ae=(o=30,t=665)=>({API_TYPE:o,API_VERSION:t,uploadCallbacks:new ke,options:{selfListen:false,checkUpdate:true,logging:true,polyfill:global.fetch},secretKey:null});function fe(o){return !!o.secretKey}var ye=50;function W(o,t){return Object.prototype.hasOwnProperty.call(o,t)}function Ie(o,t){let e=[];for(let c in t)W(t,c)&&e.push(c);e.sort();let n="zsecure"+o;for(let c=0;c<e.length;c++)n+=t[e[c]];return ___default.default.MD5(n).toString()}function Q(o,t,e={},n=true){let c=new URL(t);for(let r in e)W(e,r)&&c.searchParams.append(r,e[r].toString());return n&&(c.searchParams.has("zpw_ver")||c.searchParams.set("zpw_ver",o.API_VERSION.toString()),c.searchParams.has("zpw_type")||c.searchParams.set("zpw_type",o.API_TYPE.toString())),c.toString()}var oe=class o{constructor({type:t,imei:e,firstLaunchTime:n}){this.zcid=null;this.enc_ver="v2",this.zcid=null,this.encryptKey=null,this.createZcid(t,e,n),this.zcid_ext=o.randomString(),this.createEncryptKey();}getEncryptKey(){if(!this.encryptKey)throw new p("getEncryptKey: didn't create encryptKey yet");return this.encryptKey}createZcid(t,e,n){if(!t||!e||!n)throw new p("createZcid: missing params");let c=`${t},${e},${n}`,r=o.encodeAES("3FC4F0D2AB50057BCE0D90D9187A22B1",c,"hex",true);this.zcid=r;}createEncryptKey(t=0){let e=(n,c)=>{let{even:r}=o.processStr(n),{even:a,odd:i}=o.processStr(c);if(!r||!a||!i)return false;let s=r.slice(0,8).join("")+a.slice(0,12).join("")+i.reverse().slice(0,12).join("");return this.encryptKey=s,true};if(!this.zcid||!this.zcid_ext)throw new p("createEncryptKey: zcid or zcid_ext is null");try{let n=___default.default.MD5(this.zcid_ext).toString().toUpperCase();if(e(n,this.zcid)||!(t<3))return !1;this.createEncryptKey(t+1);}catch(n){t<3&&this.createEncryptKey(t+1);}return true}getParams(){return this.zcid?{zcid:this.zcid,zcid_ext:this.zcid_ext,enc_ver:this.enc_ver}:null}static processStr(t){if(!t||typeof t!="string")return {even:null,odd:null};let[e,n]=[...t].reduce((c,r,a)=>(c[a%2].push(r),c),[[],[]]);return {even:e,odd:n}}static randomString(t,e){let n=t||6,c=e&&t&&e>t?e:12,r=Math.floor(Math.random()*(c-n+1))+n;if(r>12){let a="";for(;r>0;)a+=Math.random().toString(16).substr(2,r>12?12:r),r-=12;return a}return Math.random().toString(16).substr(2,r)}static encodeAES(t,e,n,c,r=0){if(!e)return null;try{{let a=n=="hex"?___default.default.enc.Hex:___default.default.enc.Base64,i=___default.default.enc.Utf8.parse(t),s={words:[0,0,0,0],sigBytes:16},m=___default.default.AES.encrypt(e,i,{iv:s,mode:___default.default.mode.CBC,padding:___default.default.pad.Pkcs7}).ciphertext.toString(a);return c?m.toUpperCase():m}}catch(a){return r<3?o.encodeAES(t,e,n,c,r+1):null}}};function We(o,t){let e=null;try{return e=An(o,t),JSON.parse(e)}catch(n){return e}}function An(o,t){t=decodeURIComponent(t);let e=___default.default.enc.Utf8.parse(o),n={words:[0,0,0,0],sigBytes:16};return ___default.default.AES.decrypt({ciphertext:___default.default.enc.Base64.parse(t)},e,{iv:n,mode:___default.default.mode.CBC,padding:___default.default.pad.Pkcs7}).toString(___default.default.enc.Utf8)}function He(o){return Buffer.from(o,"base64")}function Pn(o){try{return new TextDecoder().decode(o)}catch(t){return null}}function Ye(o,t,e=0){try{let n=___default.default.enc.Base64.parse(o);return ___default.default.AES.encrypt(t,n,{iv:___default.default.enc.Hex.parse("00000000000000000000000000000000"),mode:___default.default.mode.CBC,padding:___default.default.pad.Pkcs7}).ciphertext.toString(___default.default.enc.Base64)}catch(n){return e<3?Ye(o,t,e+1):null}}function Xe(o,t,e=0){try{t=decodeURIComponent(t);let n=___default.default.enc.Base64.parse(o);return ___default.default.AES.decrypt({ciphertext:___default.default.enc.Base64.parse(t)},n,{iv:___default.default.enc.Hex.parse("00000000000000000000000000000000"),mode:___default.default.mode.CBC,padding:___default.default.pad.Pkcs7}).toString(___default.default.enc.Utf8)}catch(n){return e<3?Xe(o,t,e+1):null}}async function En(o,t="https://chat.zalo.me"){if(!o.cookie)throw new p("Cookie is not available");if(!o.userAgent)throw new p("User agent is not available");return {Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9","content-type":"application/x-www-form-urlencoded",Cookie:await o.cookie.getCookieString(t),Origin:"https://chat.zalo.me",Referer:"https://chat.zalo.me/","User-Agent":o.userAgent}}async function D(o,t,e,n=false){o.cookie||(o.cookie=new Qe__default.default.CookieJar);let c=new URL(t).origin,r=await En(o,c);n||(e?e.headers=Object.assign(r,e.headers||{}):e={headers:r});let a=M(M({},e!=null?e:{}),{agent:o.options.agent}),i=await o.options.polyfill(t,a),s=i.headers.get("set-cookie");if(s&&!n){let y=s.split(", ");for(let f of y){let h=Qe__default.default.Cookie.parse(f);try{h&&await o.cookie.setCookie(h,h.domain!="zalo.me"?`https://${h.domain}`:c);}catch(g){L(o).error(g);}}}let m=i.headers.get("location");if(m){let y=M({},e);return y.method="GET",n||(y.headers=new Headers(y.headers),y.headers.set("Referer","https://id.zalo.me/")),await D(o,m,y)}return i}async function j(o,t){if(!o.options.imageMetadataGetter)throw new X;let e=await o.options.imageMetadataGetter(t);if(!e)throw new p("Failed to get image metadata");return {fileName:t.split("/").pop(),totalSize:e.size,width:e.width,height:e.height}}async function Le(o){return Ke__default.default.promises.stat(o).then(t=>t.size)}async function et(o,t){if(!o.options.imageMetadataGetter)throw new X;let e=await o.options.imageMetadataGetter(t);if(!e)throw new p("Failed to get gif metadata");return {fileName:Pe__default.default.basename(t),totalSize:e.size,width:e.width,height:e.height}}async function J(o,t){if(typeof o.data!="string")throw new p(`Invalid data, expected string but got ${typeof o.data}`);if(typeof o.encrypt!="number")throw new p(`Invalid encrypt type, expected number but got ${typeof o.encrypt}`);if(o.encrypt<0||o.encrypt>3)throw new p(`Invalid encrypt type, expected 0-3 but got ${o.encrypt}`);let e=o.data,n=o.encrypt;if(n===0)return JSON.parse(e);let c=He(n===1?e:decodeURIComponent(e)),r=c;if(n!==1)if(t&&c.length>=48){let s={name:"AES-GCM",iv:c.subarray(0,16),tagLength:128,additionalData:c.subarray(16,32)},m=c.subarray(32),u=await Re__default.default.subtle.importKey("raw",He(t),s,false,["decrypt"]);r=await Re__default.default.subtle.decrypt(s,u,m);}else throw new p("Invalid data length or missing cipher key");let a=n===3?new Uint8Array(r):Un__default.default.inflate(r),i=Pn(a);if(i)return kn__default.default.parse(i)}async function be(o,t){let e=typeof o=="string"?await Ke__default.default.promises.readFile(o):o.data;return new Promise(n=>{let c=0,r=2097152,a=Math.ceil(t/r),i=new Tn__default.default.ArrayBuffer;function s(){let m=c*r,u=m+r>=t?t:m+r;i.append(new Uint8Array(e.subarray(m,u)).buffer),c++,c<a?s():n({currentChunk:c,data:i.end()});}s();})}var L=o=>({verbose:(...t)=>{o.options.logging&&console.log("\x1B[35m\u{1F680} VERBOSE\x1B[0m",...t);},info:(...t)=>{o.options.logging&&console.log("\x1B[34mINFO\x1B[0m",...t);},warn:(...t)=>{o.options.logging&&console.log("\x1B[33mWARN\x1B[0m",...t);},error:(...t)=>{o.options.logging&&console.log("\x1B[31mERROR\x1B[0m",...t);},success:(...t)=>{o.options.logging&&console.log("\x1B[32mSUCCESS\x1B[0m",...t);},timestamp:(...t)=>{let e=new Date().toISOString();o.options.logging&&console.log(`\x1B[90m[${e}]\x1B[0m`,...t);}});function tt(o){return o==="webchat"?1:o==="chat.voice"?31:o==="chat.photo"?32:o==="chat.sticker"?36:o==="chat.doodle"?37:o==="chat.recommended"||o==="chat.link"?38:o==="chat.video.msg"?44:o==="share.file"?46:o==="chat.gif"?49:o==="chat.location.new"?43:1}function he(o,t,e){let n=(o=""+o).length;return n===e?o:n>e?o.slice(-e):t.repeat(e-n)+o}function rt(o,t=Date.now()){let e=new Date(t),n={year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"},c=new Intl.DateTimeFormat("vi-VN",n).format(e);return o.includes("%H")||o.includes("%d")?o.replace("%H",e.getHours().toString().padStart(2,"0")).replace("%M",e.getMinutes().toString().padStart(2,"0")).replace("%S",e.getSeconds().toString().padStart(2,"0")).replace("%d",e.getDate().toString().padStart(2,"0")).replace("%m",(e.getMonth()+1).toString().padStart(2,"0")).replace("%Y",e.getFullYear().toString()):c}function ot(o){let t=new Date(o);return he(t.getHours(),"0",2)+":"+he(t.getMinutes(),"0",2)+" "+he(t.getDate(),"0",2)+"/"+he(t.getMonth()+1,"0",2)+"/"+t.getFullYear()}function Z(o){return Pe__default.default.extname(o).slice(1)}function ne(o){return Pe__default.default.basename(o)}function B(o){for(let t in o)o[t]===void 0&&delete o[t];return o}function nt(o){return o=="join_request"?"join_request":o=="join"?"join":o=="leave"?"leave":o=="remove_member"?"remove_member":o=="block_member"?"block_member":o=="update_setting"?"update_setting":o=="update_avatar"?"update_avatar":o=="update"?"update":o=="new_link"?"new_link":o=="add_admin"?"add_admin":o=="remove_admin"?"remove_admin":o=="new_pin_topic"?"new_pin_topic":o=="update_pin_topic"?"update_pin_topic":o=="update_topic"?"update_topic":o=="update_board"?"update_board":o=="remove_board"?"remove_board":o=="reorder_pin_topic"?"reorder_pin_topic":o=="unpin_topic"?"unpin_topic":o=="remove_topic"?"remove_topic":o=="accept_remind"?"accept_remind":o=="reject_remind"?"reject_remind":o=="remind_topic"?"remind_topic":"unknown"}function st(o){return o=="add"?0:o=="remove"?1:o=="block"?6:o=="unblock"?7:o=="block_call"?8:o=="unblock_call"?9:o=="req_v2"?2:o=="reject"?4:o=="undo_req"?3:o=="seen_fr_req"?5:o=="pin_unpin"?10:o=="pin_create"?11:12}async function In(o,t,e=true){let n={data:null,error:null};if(!t.ok)return n.error={message:"Request failed with status code "+t.status},n;try{let c=await t.json();if(c.error_code!=0)return n.error={message:c.error_message,code:c.error_code},n;let r=e?JSON.parse(Xe(o.secretKey,c.data)):c;if(r.error_code!=0)return n.error={message:r.error_message,code:r.error_code},n;n.data=r.data;}catch(c){L(o).error("Failed to parse response data:",c),n.error={message:"Failed to parse response data"};}return n}async function V(o,t,e,n){let c=await In(o,t,n);if(c.error)throw new p(c.error.message,c.error.code);return e?e(c):c.data}function d(){return o=>(t,e)=>{if(!fe(t))throw new p("Invalid context "+JSON.stringify(t,null,2));let n={makeURL(c,r,a){return Q(t,c,r,a)},encodeAES(c,r){return Ye(t.secretKey,c,r)},request(c,r,a){return D(t,c,r,a)},logger:L(t),resolve:(c,r,a)=>V(t,c,r,a)};return o(e,t,n)}}function at(o){return Re__default.default.randomUUID()+"-"+___default.default.MD5(o).toString()}function it(o){return Re__default.default.createHash("md5").update(o).digest("hex")}var xe=(r=>(r[r.QRCodeGenerated=0]="QRCodeGenerated",r[r.QRCodeExpired=1]="QRCodeExpired",r[r.QRCodeScanned=2]="QRCodeScanned",r[r.QRCodeDeclined=3]="QRCodeDeclined",r[r.GotLoginInfo=4]="GotLoginInfo",r))(xe||{});async function Mn(o){let e=await(await D(o,"https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F",{headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","cache-control":"max-age=0",priority:"u=0, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"same-site","sec-fetch-user":"?1","upgrade-insecure-requests":"1",Referer:"https://chat.zalo.me/","Referrer-Policy":"strict-origin-when-cross-origin"},method:"GET"})).text(),n=/https:\/\/stc-zlogin\.zdn\.vn\/main-([\d.]+)\.js/,c=e.match(n);return c==null?void 0:c[1]}async function Gn(o,t){let e=new URLSearchParams;return e.append("continue","https://zalo.me/pc"),e.append("v",t),await D(o,"https://id.zalo.me/account/logininfo",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","content-type":"application/x-www-form-urlencoded",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc","Referrer-Policy":"strict-origin-when-cross-origin"},body:e,method:"POST"}).then(n=>n.json()).catch(L(o).error)}async function _n(o,t){let e=new URLSearchParams;return e.append("type","device"),e.append("continue","https://zalo.me/pc"),e.append("v",t),await D(o,"https://id.zalo.me/account/verify-client",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","content-type":"application/x-www-form-urlencoded",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc","Referrer-Policy":"strict-origin-when-cross-origin"},body:e,method:"POST"}).then(n=>n.json()).catch(L(o).error)}async function Cn(o,t){let e=new URLSearchParams;return e.append("continue","https://zalo.me/pc"),e.append("v",t),await D(o,"https://id.zalo.me/account/authen/qr/generate",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","content-type":"application/x-www-form-urlencoded",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc","Referrer-Policy":"strict-origin-when-cross-origin"},body:e,method:"POST"}).then(n=>n.json()).catch(L(o).error)}async function pt(o,t){await Ro.writeFile(o,t,"base64");}async function ct(o,t,e,n){let c=new URLSearchParams;return c.append("code",e),c.append("continue","https://chat.zalo.me/"),c.append("v",t),await D(o,"https://id.zalo.me/account/authen/qr/waiting-scan",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","content-type":"application/x-www-form-urlencoded",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F","Referrer-Policy":"strict-origin-when-cross-origin"},body:c,method:"POST",signal:n}).then(r=>r.json()).then(r=>r.error_code==8?ct(o,t,e,n):r).catch(r=>{n.aborted||L(o).error(r);})}async function mt(o,t,e,n){let c=new URLSearchParams;return c.append("code",e),c.append("gToken",""),c.append("gAction","CONFIRM_QR"),c.append("continue","https://chat.zalo.me/"),c.append("v",t),L(o).info("Please confirm on your phone"),await D(o,"https://id.zalo.me/account/authen/qr/waiting-confirm",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5","content-type":"application/x-www-form-urlencoded",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F","Referrer-Policy":"strict-origin-when-cross-origin"},body:c,method:"POST",signal:n}).then(r=>r.json()).then(r=>r.error_code==8?mt(o,t,e,n):r).catch(r=>{n.aborted||L(o).error(r);})}async function On(o){return await D(o,"https://id.zalo.me/account/checksession?continue=https%3A%2F%2Fchat.zalo.me%2Findex.html",{headers:{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",priority:"u=0, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"same-origin","upgrade-insecure-requests":"1",Referer:"https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F","Referrer-Policy":"strict-origin-when-cross-origin"},redirect:"manual",method:"GET"}).catch(L(o).error)}async function Nn(o){return await D(o,"https://jr.chat.zalo.me/jr/userinfo",{headers:{accept:"*/*","accept-language":"vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",priority:"u=1, i","sec-ch-ua":'"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-site",Referer:"https://chat.zalo.me/","Referrer-Policy":"strict-origin-when-cross-origin"},method:"GET"}).then(t=>t.json()).catch(L(o).error)}async function Me(o,t,e){return o.cookie=new Qe.CookieJar,o.userAgent=t.userAgent,new Promise(async(n,c)=>{var u;let r=new AbortController,a=null;function i(){r.abort(),a&&(clearTimeout(a),a=null);}try{let l=function(){return i(),n(Me(o,t,e))},y=function(){return i(),c(new ie)};var s=l,m=y;o.options.logging&&console.log();let f=await Mn(o);if(!f)throw new p("Cannot get API login version");L(o).info("Got login version:",f),await Gn(o,f),await _n(o,f);let h=await Cn(o,f);if(!h||!h.data)throw new p(`Unable to generate QRCode
2
- Response: ${JSON.stringify(h,null,2)}`);let g=h.data;if(e)e({type:0,data:N(M({},h.data),{image:h.data.image.replace(/^data:image\/png;base64,/,"")}),actions:{async saveToFile(P=(w=>(w=t.qrPath)!=null?w:"qr.png")()){await pt(P,g.image.replace(/^data:image\/png;base64,/,"")),L(o).info("Scan the QR code at",`'${P}'`,"to proceed with login");},retry:l,abort:y}});else {let P=(u=t.qrPath)!=null?u:"qr.png";await pt(P,g.image.replace(/^data:image\/png;base64,/,"")),L(o).info("Scan the QR code at",`'${P}'`,"to proceed with login");}a=setTimeout(()=>{i(),L(o).info("QR expired!"),e?e({type:1,data:null,actions:{retry:l,abort:y}}):l();},1e5);let b=await ct(o,f,h.data.code,r.signal);if(!b||!b.data)throw new p("Cannot get scan result");e&&e({type:2,data:b.data,actions:{retry:l,abort:y}});let v=await mt(o,f,h.data.code,r.signal);if(!v)throw new p("Cannot get confirm result");if(clearTimeout(a),v.error_code==-13){if(e)e({type:3,data:{code:g.code},actions:{retry:l,abort:y}});else throw L(o).error("QRCode login declined"),new pe;return}else if(v.error_code!=0)throw new p(`An error has occurred.
3
- Response: ${JSON.stringify(v,null,2)}`);if(!await On(o))throw new p("Cannot get session, login failed");L(o).info("Successfully logged into the account",b.data.display_name);let S=await Nn(o);if(!S||!S.data)throw new p("Can't get account info");if(!S.data.logged)throw new p("Can't login");n({cookies:o.cookie.toJSON().cookies,userInfo:S.data.info});}catch(l){i(),c(l);}})}async function ut(o,t){let e=await lt(o,t,"getlogininfo");try{let n=await D(o,Q(o,"https://wpa.chat.zalo.me/api/login/getLoginInfo",N(M({},e.params),{nretry:0})));if(!n.ok)throw new p("Failed to fetch login info: "+n.statusText);let c=await n.json();if(e.enk){let r=We(e.enk,c.data);return r!=null&&typeof r!="string"?r:null}return null}catch(n){throw L(o).error("Login failed:",n),n}}async function gt(o,t){let e=await lt(o,t,"getserverinfo");if(!e.params.signkey||typeof e.params.signkey!="string")throw new p("Missing signkey");let n=await D(o,Q(o,"https://wpa.chat.zalo.me/api/login/getServerInfo",{imei:o.imei,type:o.API_TYPE,client_version:o.API_VERSION,computer_name:"Web",signkey:e.params.signkey},false));if(!n.ok)throw new p("Failed to fetch server info: "+n.statusText);let c=await n.json();if(c.data==null)throw new p("Failed to fetch server info: "+c.error_message);return c.data}async function lt(o,t,e){let n={},c={computer_name:"Web",imei:o.imei,language:o.language,ts:Date.now()},r=await Dn(o,c,t);if(r==null)Ge__default.default(n,c);else {let{encrypted_params:a,encrypted_data:i}=r;Ge__default.default(n,a),n.params=i;}return n.type=o.API_TYPE,n.client_version=o.API_VERSION,n.signkey=e=="getserverinfo"?Ie(e,{imei:o.imei,type:o.API_TYPE,client_version:o.API_VERSION,computer_name:"Web"}):Ie(e,n),{params:n,enk:r?r.enk:null}}async function Dn(o,t,e){if(e){let n=new oe({type:o.API_TYPE,imei:t.imei,firstLaunchTime:Date.now()});try{let c=JSON.stringify(t),r=n.getEncryptKey(),a=oe.encodeAES(r,c,"base64",!1),i=n.getParams();return i?{encrypted_data:a,encrypted_params:i,enk:r}:null}catch(c){throw new p("Failed to encrypt params: "+c)}}return null}var qn="2.0.4",Jn="https://registry.npmjs.org/zca-js";async function ft(o){if(!o.options.checkUpdate)return;let t=M({},{agent:o.options.agent}),e=await o.options.polyfill(Jn,t).catch(()=>null);if(!e||!e.ok)return;let n=await e.json().catch(()=>null);if(!n)return;let c=n["dist-tags"].latest;semver.compare(qn,c)===-1?L(o).info(`A new version of zca-js is available: ${c}`):L(o).info("zca-js is up to date");}var ht=(c=>(c[c.ManualClosure=1e3]="ManualClosure",c[c.AbnormalClosure=1006]="AbnormalClosure",c[c.DuplicateConnection=3e3]="DuplicateConnection",c[c.KickConnection=3003]="KickConnection",c))(ht||{}),ve=class extends $n__default.default{constructor(e,n){super();this.ctx=e;this.urls=n;this.id=0;if(!e.cookie)throw new p("Cookie is not available");if(!e.userAgent)throw new p("User agent is not available");this.wsURL=Q(this.ctx,this.urls[0],{t:Date.now()}),this.retryCount={},this.rotateCount=0;for(let c in e.settings.features.socket.retries){let{times:r,max:a}=e.settings.features.socket.retries[c];this.retryCount[c]={count:0,max:a||0,times:typeof r=="number"?[r]:r};}this.cookie=e.cookie.getCookieStringSync("https://chat.zalo.me"),this.userAgent=e.userAgent,this.selfListen=e.options.selfListen,this.ws=null,this.onConnectedCallback=()=>{},this.onClosedCallback=()=>{},this.onErrorCallback=()=>{},this.onMessageCallback=()=>{};}onConnected(e){this.onConnectedCallback=e;}onClosed(e){this.onClosedCallback=e;}onError(e){this.onErrorCallback=e;}onMessage(e){this.onMessageCallback=e;}canRetry(e){if(!this.ctx.settings.features.socket.close_and_retry_codes.includes(e)||this.retryCount[e.toString()].count>=this.retryCount[e.toString()].max)return false;this.retryCount[e.toString()].count++;let{count:n,max:c,times:r}=this.retryCount[e.toString()],a=n-1<r.length?r[n-1]:r[r.length-1];return L(this.ctx).verbose(`Retry for code ${e} in ${a}ms (${n}/${c})`),a}shouldRotate(e){return !(!this.ctx.settings.features.socket.rotate_error_codes.includes(e)||this.rotateCount>=this.urls.length-1)}rotateEndpoint(){this.rotateCount++,this.wsURL=Q(this.ctx,this.urls[this.rotateCount],{t:Date.now()}),L(this.ctx).verbose(`Rotating endpoint to ${this.wsURL}`);}start({retryOnClose:e=false}={}){if(this.ws)throw new p("Already started");let n=new yt__default.default(this.wsURL,{headers:{"accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","cache-control":"no-cache",connection:"Upgrade",host:new URL(this.wsURL).host,origin:"https://chat.zalo.me",prgama:"no-cache","sec-websocket-extensions":"permessage-deflate; client_max_window_bits","sec-websocket-version":"13",upgrade:"websocket","user-agent":this.userAgent,cookie:this.cookie},agent:this.ctx.options.agent});this.ws=n,n.onopen=()=>{this.onConnectedCallback(),this.emit("connected");},n.onclose=c=>{this.reset(),this.emit("disconnected",c.code,c.reason);let r=e&&this.canRetry(c.code);r&&e?(this.shouldRotate(c.code)&&this.rotateEndpoint(),setTimeout(()=>{this.start({retryOnClose:true});},r)):(this.onClosedCallback(c.code,c.reason),this.emit("closed",c.code,c.reason));},n.onerror=c=>{this.onErrorCallback(c),this.emit("error",c);},n.onmessage=async c=>{let{data:r}=c;if(!(r instanceof Buffer))return;let a=r.subarray(0,4),[i,s,m]=Zn(a);try{let u=r.subarray(4),l=new TextDecoder("utf-8").decode(u);if(l.length==0)return;let y=JSON.parse(l);if(i==1&&s==1&&m==1&&W(y,"key")){this.cipherKey=y.key,this.emit("cipher_key",y.key),this.pingInterval&&clearInterval(this.pingInterval);let f=()=>{let h={version:1,cmd:2,subCmd:1,data:{eventId:Date.now()}};this.sendWs(h,!1);};this.pingInterval=setInterval(()=>{f();},this.ctx.settings.features.socket.ping_interval);}if(i==1&&s==501&&m==0){let f=(await J(y,this.cipherKey)).data,{msgs:h}=f;for(let g of h)if(typeof g.content=="object"&&W(g.content,"deleteMsg")){let b=new re(this.ctx.uid,g,!1);if(b.isSelf&&!this.selfListen)continue;this.emit("undo",b);}else {let b=new ee(this.ctx.uid,g);if(b.isSelf&&!this.selfListen)continue;this.onMessageCallback(b),this.emit("message",b);}}if(i==1&&s==521&&m==0){let f=(await J(y,this.cipherKey)).data,{groupMsgs:h}=f;for(let g of h)if(typeof g.content=="object"&&W(g.content,"deleteMsg")){let b=new re(this.ctx.uid,g,!0);if(b.isSelf&&!this.selfListen)continue;this.emit("undo",b);}else {let b=new te(this.ctx.uid,g);if(b.isSelf&&!this.selfListen)continue;this.onMessageCallback(b),this.emit("message",b);}}if(i==1&&s==601&&m==0){let f=(await J(y,this.cipherKey)).data,{controls:h}=f;for(let g of h)if(g.content.act_type=="file_done"){let b={fileUrl:g.content.data.url,fileId:g.content.fileId},v=this.ctx.uploadCallbacks.get(String(g.content.fileId));v&&v(b),this.ctx.uploadCallbacks.delete(String(g.content.fileId)),this.emit("upload_attachment",b);}else if(g.content.act_type=="group"){if(g.content.act=="join_reject")continue;let b=typeof g.content.data=="string"?JSON.parse(g.content.data):g.content.data,v=Be(this.ctx.uid,b,nt(g.content.act),g.content.act);if(v.isSelf&&!this.selfListen)continue;this.emit("group_event",v);}else if(g.content.act_type=="fr"){if(g.content.act=="req")continue;let b=typeof g.content.data=="string"?JSON.parse(g.content.data):g.content.data;typeof b=="object"&&"topic"in b&&typeof b.topic=="object"&&"params"in b.topic&&(b.topic.params=JSON.parse(`${b.topic.params}`));let v=$e(this.ctx.uid,typeof b=="number"?g.content.data:b,st(g.content.act));if(v.isSelf&&!this.selfListen)continue;this.emit("friend_event",v);}}if(s==612){let f=(await J(y,this.cipherKey)).data,{reacts:h,reactGroups:g}=f;for(let b of h){b.content=JSON.parse(b.content);let v=new K(this.ctx.uid,b,!1);v.isSelf&&!this.selfListen||this.emit("reaction",v);}for(let b of g){b.content=JSON.parse(b.content);let v=new K(this.ctx.uid,b,!0);v.isSelf&&!this.selfListen||this.emit("reaction",v);}}if(s==610||s==611){let f=(await J(y,this.cipherKey)).data,h=s==611,b=f[h?"reactGroups":"reacts"].map(v=>new K(this.ctx.uid,v,h));this.emit("old_reactions",b,h);}if(s==510&&m==1){let g=(await J(y,this.cipherKey)).data.msgs.map(b=>new ee(this.ctx.uid,b));this.emit("old_messages",g,0);}if(s==511&&m==1){let g=(await J(y,this.cipherKey)).data.groupMsgs.map(b=>new te(this.ctx.uid,b));this.emit("old_messages",g,1);}if(s==602&&m==0){let f=(await J(y,this.cipherKey)).data,{actions:h}=f;for(let g of h){let b=JSON.parse(`{${g.data}}`);if(g.act_type=="typing"){if(g.act=="typing"){let v=new ge(b);this.emit("typing",v);}else if(g.act=="gtyping"){let v=new le(b);this.emit("typing",v);}}}}if(s==502&&m==0){let f=(await J(y,this.cipherKey)).data,{delivereds:h,seens:g}=f;if(Array.isArray(h)&&h.length>0){let b=h.map(v=>new ce(v));this.emit("delivered_messages",b);}if(Array.isArray(g)&&g.length>0){let b=g.map(v=>new de(v));this.emit("seen_messages",b);}}if(s==522&&m==0){let f=(await J(y,this.cipherKey)).data,{delivereds:h,groupSeens:g}=f;if(Array.isArray(h)&&h.length>0){let b=h.map(v=>new me(this.ctx.uid,v));this.selfListen||(b=b.filter(v=>!v.isSelf)),this.emit("delivered_messages",b);}if(Array.isArray(g)&&g.length>0){let b=g.map(v=>new ue(this.ctx.uid,v));this.selfListen||(b=b.filter(v=>!v.isSelf)),this.emit("seen_messages",b);}}i==1&&s==3e3&&m==0&&(L(this.ctx).error(),L(this.ctx).error("Another connection is opened, closing this one"),L(this.ctx).error(),n.readyState!==yt__default.default.CLOSED&&n.close(3e3));}catch(u){this.onErrorCallback(u),this.emit("error",u);}};}stop(){this.ws&&(this.ws.close(1e3),this.reset());}sendWs(e,n=true){if(this.ws){n&&(e.data.req_id=`req_${this.id++}`);let c=new TextEncoder().encode(JSON.stringify(e.data)),r=c.length,a=new DataView(Buffer.alloc(4+r).buffer);a.setUint8(0,e.version),a.setInt32(1,e.cmd,true),a.setInt8(3,e.subCmd),c.forEach((i,s)=>{a.setUint8(4+s,i);}),this.ws.send(a);}}requestOldMessages(e,n=null){let c={version:1,cmd:e===0?510:511,subCmd:1,data:{first:true,lastId:n,preIds:[]}};this.sendWs(c);}requestOldReactions(e,n=null){let c={version:1,cmd:e===0?610:611,subCmd:1,data:{first:true,lastId:n,preIds:[]}};this.sendWs(c);}reset(){this.ws=null,this.cipherKey=void 0,this.pingInterval&&clearInterval(this.pingInterval);}};function Zn(o){if(o.byteLength<4)throw new p("Invalid header");return [o[0],o.readUInt16LE(1),o[3]]}var Rt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/accept`);return async function(r){let a={fid:r,language:t.language},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var bt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/blockedmems/add`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var vt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/admins/add`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var wt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/option/add`);return async function(r){let a={poll_id:r.pollId,new_options:JSON.stringify(r.options),voted_option_ids:r.votedOptionIds},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var St=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.quick_message[0]}/api/quickmessage/create`);return async function(r){let a=r.media?1:0,i={keyword:r.keyword,message:{title:r.title,params:""},type:a,imei:t.imei};if(a===1){if(!r.media)throw new p("Media is required");let u=await o.uploadProductPhoto({file:r.media}),l=u.photoId,y=u.thumbUrl,f=u.normalUrl,h=u.hdUrl;i.media={items:[{type:0,photoId:l,title:"",width:"",height:"",previewThumb:y,rawUrl:f||h,thumbUrl:y,normalUrl:f||h,hdUrl:h||f}]};}let s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var Ft=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.reaction[0]}/api/message/reaction`),1:e.makeURL(`${o.zpwServiceMap.reaction[0]}/api/group/reaction`)};return async function(r,a){let i=n[a.type],s,m;if(typeof r=="object")s=r.rType,m=r.source;else switch(r){case ":>":s=0,m=6;break;case "/-strong":s=3,m=6;break;case "/-heart":s=5,m=6;break;case ":o":s=32,m=6;break;case ":-((":s=2,m=6;break;case ":-h":s=20,m=6;break;case ":-*":s=8,m=6;break;case ":')":s=7,m=6;break;case "/-shit":s=66,m=6;break;case "/-rose":s=120,m=6;break;case "/-break":s=65,m=6;break;case "/-weak":s=4,m=6;break;case ";xx":s=29,m=6;break;case ";-/":s=51,m=6;break;case ";-)":s=45,m=6;break;case "/-fade":s=121,m=6;break;case "/-li":s=67,m=6;break;case "/-bd":s=126,m=6;break;case "/-bome":s=127,m=6;break;case "/-ok":s=68,m=6;break;case "/-v":s=69,m=6;break;case "/-thanks":s=70,m=6;break;case "/-punch":s=71,m=6;break;case "/-share":s=72,m=6;break;case "_()_":s=73,m=6;break;case "/-no":s=131,m=6;break;case "/-bad":s=132,m=6;break;case "/-loveu":s=133,m=6;break;case "--b":s=1,m=6;break;case ":((":s=16,m=6;break;case "x-)":s=21,m=6;break;case "8-)":s=22,m=6;break;case ";-d":s=23,m=6;break;case "b-)":s=26,m=6;break;case ":--|":s=30,m=6;break;case "p-(":s=35,m=6;break;case ":-bye":s=36,m=6;break;case "|-)":s=38,m=6;break;case ":wipe":s=39,m=6;break;case ":-dig":s=42,m=6;break;case "&-(":s=44,m=6;break;case ":handclap":s=46,m=6;break;case ">-|":s=47,m=6;break;case ":-f":s=48,m=6;break;case ":-l":s=49,m=6;break;case ":-r":s=50,m=6;break;case ";-x":s=52,m=6;break;case ":-o":s=53,m=6;break;case ";-s":s=54,m=6;break;case ";-a":s=60,m=6;break;case ":-<":s=61,m=6;break;case ":))":s=62,m=6;break;case "$-)":s=63,m=6;break;case "/-beer":s=99,m=6;break;default:s=-1,m=6;}let u=typeof r=="object"?r.icon:r;if(s==null||m==null||u==null)throw new p("Invalid reaction");let l={react_list:[{message:JSON.stringify({rMsg:[{gMsgID:parseInt(a.data.msgId),cMsgID:parseInt(a.data.cliMsgId),msgType:1}],rIcon:u,rType:s,source:m}),clientId:Date.now()}]};a.type==0?l.toid=a.threadId:(l.grid=a.threadId,l.imei=t.imei);let y=e.encodeAES(JSON.stringify(l));if(!y)throw new p("Failed to encrypt message");let f=await e.request(i,{method:"POST",body:new URLSearchParams({params:y})});return e.resolve(f,h=>typeof h.data.msgIds=="string"?{msgIds:JSON.parse(h.data.msgIds)}:h.data)}});var Ut=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/conv/addUnreadMark`);return async function(r,a=0){let i=Date.now(),s=i.toString(),m=a===1,u={param:JSON.stringify({[m?"convsGroup":"convsUser"]:[{id:r,cliMsgId:s,fromUid:"0",ts:i}],[m?"convsUser":"convsGroup"]:[],imei:t.imei})},l=e.encodeAES(JSON.stringify(u));if(!l)throw new p("Failed to encrypt params");let y=await e.request(n,{method:"POST",body:new URLSearchParams({params:l})});return e.resolve(y,f=>{let h=f.data;return typeof h.data=="string"?{data:JSON.parse(h.data),status:h.status}:f.data})}});var Tt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/invite/v2`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i,memberTypes:i.map(()=>-1),imei:t.imei,clientLang:t.language},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var kt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/block`);return async function(r){let a={fid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var At=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/feed/block`);return async function(r,a){let i={fid:a,isBlockFeed:r?1:0,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Pt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.file[0]}/api/profile/upavatar`);return async function(r){let a=typeof r=="string",i=a?await j(t,r):r.metadata,s=i.totalSize||0,m={avatarSize:120,clientId:String(t.uid+rt("%H:%M %d/%m/%Y")),language:t.language,metaData:JSON.stringify({origin:{width:i.width||1080,height:i.height||1080},processed:{width:i.width||1080,height:i.height||1080,size:s}})},u=a?Ke__default.default.readFileSync(r):r.data,l=new ho__default.default;l.append("fileContent",u,{filename:"blob",contentType:"image/jpeg"});let y=e.encodeAES(JSON.stringify(m));if(!y)throw new p("Failed to encrypt params");let f=await e.request(e.makeURL(n,{params:y}),{method:"POST",headers:l.getHeaders(),body:l.getBuffer()});return e.resolve(f)}});var Et=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.alias[0]}/api/alias/update`);return async function(r,a){let i={friendId:a,alias:r,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var It=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.file[0]}/api/group/upavatar`);return async function(r,a){let i={grid:a,avatarSize:120,clientId:`g${a}${ot(new Date().getTime())}`,imei:t.imei},s=typeof r=="string",m=s?await j(t,r):r.metadata;i.originWidth=m.width||1080,i.originHeight=m.height||1080;let u=s?Ke__default.default.readFileSync(r):r.data,l=new ho__default.default;l.append("fileContent",u,{filename:"blob",contentType:"image/jpeg"});let y=e.encodeAES(JSON.stringify(i));if(!y)throw new p("Failed to encrypt params");let f=await e.request(e.makeURL(n,{params:y}),{method:"POST",headers:l.getHeaders(),body:l.getBuffer()});return e.resolve(f)}});var Lt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/updateinfo`);return async function(r,a){r.length==0&&(r=Date.now().toString());let i={grid:a,gname:r,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var xt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/change-owner`);return async function(r,a){let i={grid:a,newAdminId:r,imei:t.imei,language:t.language},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var Mt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.auto_reply[0]}/api/autoreply/create`);return async function(r){let a=we__default.default(r.uids||[]),i=r.scope===2||r.scope===3?a:[],s={cliLang:t.language,enable:r.isEnable,content:r.content,startTime:r.startTime,endTime:r.endTime,recurrence:["RRULE:FREQ=DAILY;"],scope:r.scope,uids:i},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Gt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/create`);return async function(r){let a={catalog_name:r,catalog_photo:""},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var _t=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/create/v2`);return async function(r){if(r.members.length==0)throw new p("Group must have at least one member");let a={clientId:Date.now(),gname:String(Date.now()),gdesc:null,members:r.members,membersTypes:r.members.map(()=>-1),nameChanged:0,createLink:1,clientLang:t.language,imei:t.imei,zsource:601};r.name&&r.name.length>0&&(a.gname=r.name,a.nameChanged=1);let i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=await e.request(e.makeURL(n,{params:i}),{method:"POST"}),m=await e.resolve(s);return r.avatarSource=r.avatarSource||r.avatarPath,r.avatarSource&&await o.changeGroupAvatar(r.avatarSource,m.groupId).catch(e.logger.error),m}});var Ct=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/createv2`);return async function(r,a){let i={grid:a,type:0,color:-16777216,emoji:"",startTime:-1,duration:-1,params:JSON.stringify({title:r.title}),repeat:0,src:1,imei:t.imei,pinAct:r.pinAct?1:0},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m,u=>(typeof u.data.params=="string"&&(u.data.params=JSON.parse(u.data.params)),u.data))}});var Ot=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/create`);return async function(r,a){var u;let i={group_id:a,question:r.question,options:r.options,expired_time:(u=r.expiredTime)!=null?u:0,pinAct:false,allow_multi_choices:!!r.allowMultiChoices,allow_add_new_option:!!r.allowAddNewOption,is_hide_vote_preview:!!r.hideVotePreview,is_anonymous:!!r.isAnonymous,poll_type:0,src:1,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Nt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/product/create`);return async function(r){let a=r.product_photos||[];if(r.files&&r.files.length==0){if(r.files.length>5)throw new p("Maximum 5 media files are allowed");for(let u of r.files){let l=await o.uploadProductPhoto({file:u}),y=l.normalUrl||l.hdUrl;a.push(y);}}if(a.length>5)throw new p("Maximum 5 media files are allowed");let i={product_name:r.productName,price:r.price,description:r.description,product_photos:a,catalog_id:r.catalogId,currency_unit:"\u20AB",create_time:Date.now()},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Dt=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/oneone/create`),1:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/createv2`)};return async function(r,a,i=0){var l,y,f,h,g,b;let s=i===0?{objectData:JSON.stringify({toUid:a,type:0,color:-16245706,emoji:(l=r.emoji)!=null?l:"\u23F0",startTime:(y=r.startTime)!=null?y:Date.now(),duration:-1,params:{title:r.title},needPin:false,repeat:(f=r.repeat)!=null?f:0,creatorUid:t.uid,src:1}),imei:t.imei}:{grid:a,type:0,color:-16245706,emoji:(h=r.emoji)!=null?h:"\u23F0",startTime:(g=r.startTime)!=null?g:Date.now(),duration:-1,params:JSON.stringify({title:r.title}),repeat:(b=r.repeat)!=null?b:0,src:1,imei:t.imei,pinAct:0},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var zt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.auto_reply[0]}/api/autoreply/delete`);return async function(r){let a={cliLang:t.language,id:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var qt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/del-avatars`);return async function(r){let i=we__default.default(r).map(l=>({photoId:l})),s={delPhotos:JSON.stringify(i),imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var Jt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/delete`);return async function(r){let a={catalog_id:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var $t=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/deleteconver`,{nretry:0}),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/deleteconver`,{nretry:0})};return async function(r,a,i=0){let s=Date.now().toString(),m=i===0?{toid:a,cliMsgId:s,conver:r,onlyMe:1,imei:t.imei}:{grid:a,cliMsgId:s,conver:r,onlyMe:1,imei:t.imei},u=e.encodeAES(JSON.stringify(m));if(!u)throw new p("Failed to encrypt params");let l=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:u})});return e.resolve(l)}});var Zt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/inv-box/mdel-inv`);return async function(r,a=false){let i=we__default.default(r),s={invitations:JSON.stringify(i.map(l=>({grid:l}))),block:a?1:0},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var Bt=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/delete`),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/deletemsg`)};return async function(r,a=false){let{threadId:i,type:s=0,data:m}=r,u=s===1;if(t.uid==m.uidFrom&&a===false)throw new p("To delete your message for everyone, use undo api instead");if(!u&&a===false)throw new p("Can't delete message for everyone in a private chat");let y={[u?"grid":"toid"]:i,cliMsgId:Date.now(),msgs:[{cliMsgId:m.cliMsgId,globalMsgId:m.msgId,ownerId:m.uidFrom,destId:i}],onlyMe:a?1:0};u||(y.imei=t.imei);let f=e.encodeAES(JSON.stringify(y));if(!f)throw new p("Failed to encrypt message");let h=await e.request(n[s],{method:"POST",body:new URLSearchParams({params:f})});return e.resolve(h)}});var jt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/product/mdelete`);return async function(r){let i={product_ids:we__default.default(r.productIds),catalog_id:r.catalogId},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Vt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/link/disable`);return async function(r){let a={grid:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Qt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/disperse`);return async function(r){let a={grid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Ht=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/updatev2`);return async function(r,a){let i={grid:a,type:0,color:-16777216,emoji:"",startTime:-1,duration:-1,params:JSON.stringify({title:r.title}),topicId:r.topicId,repeat:0,imei:t.imei,pinAct:r.pinAct?1:2},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m,u=>{let l=u.data;return typeof l.params=="string"&&(l.params=JSON.parse(l.params)),l})}});var Kt=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/oneone/update`),1:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/updatev2`)};return async function(r,a,i=0){var l,y,f,h,g,b;let s=i===0?{objectData:JSON.stringify({toUid:a,type:0,color:-16777216,emoji:(l=r.emoji)!=null?l:"",startTime:(y=r.startTime)!=null?y:Date.now(),duration:-1,params:{title:r.title},needPin:false,reminderId:r.topicId,repeat:(f=r.repeat)!=null?f:0})}:{grid:a,type:0,color:-16777216,emoji:(h=r.emoji)!=null?h:"",startTime:(g=r.startTime)!=null?g:Date.now(),duration:-1,params:JSON.stringify({title:r.title}),topicId:r.topicId,repeat:(b=r.repeat)!=null?b:0,imei:t.imei,pinAct:2},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Wt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/link/new`);return async function(r){let a={grid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Yt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/me-v2`);return async function(){let r=await e.request(n,{method:"GET"});return e.resolve(r)}});var Xt=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/profile/get`);return async function(r){if(!r)throw new p("Missing phoneNumber");r.startsWith("0")&&t.language=="vi"&&(r="84"+r.slice(1));let a={phone:r,avatar_size:240,language:t.language,imei:t.imei,reqSrc:40},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=new URL(n);s.searchParams.append("params",i);let m=await e.request(e.makeURL(s.toString(),{params:i}));return e.resolve(m,u=>{if(u.error&&u.error.code!=216)throw new p(u.error.message,u.error.code);return u.data})}});var er=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.file[0]}/api/message/mforward`),1:e.makeURL(`${o.zpwServiceMap.file[0]}/api/group/mforward`)};return async function(r,a,i=0){var g,b;if(!r.message)throw new p("Missing message content");if(!a||a.length===0)throw new p("Missing thread IDs");let m=Date.now().toString(),u={message:r.message,reference:r.reference?JSON.stringify({type:3,data:JSON.stringify(r.reference)}):void 0},l=r.reference?{fw:{pmsg:{st:1,ts:r.reference.ts,id:r.reference.id},rmsg:{st:1,ts:r.reference.ts,id:r.reference.id},fwLvl:r.reference.fwLvl}}:null,y;i===0?y={toIds:a.map(v=>{var E;return {clientId:m,toUid:v,ttl:(E=r.ttl)!=null?E:0}}),imei:t.imei,ttl:(g=r.ttl)!=null?g:0,msgType:"1",totalIds:a.length,msgInfo:JSON.stringify(u),decorLog:JSON.stringify(l)}:y={grids:a.map(v=>{var E;return {clientId:m,grid:v,ttl:(E=r.ttl)!=null?E:0}}),ttl:(b=r.ttl)!=null?b:0,msgType:"1",totalIds:a.length,msgInfo:JSON.stringify(u),decorLog:JSON.stringify(l)};let f=e.encodeAES(JSON.stringify(y));if(!f)throw new p("Failed to encrypt params");let h=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:f})});return e.resolve(h)}});var tr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.alias[0]}/api/alias/list`);return async function(r=100,a=1){let i={page:a,count:r,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var rr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/friend/getfriends`);return async function(r=2e4,a=1){let i={incInvalid:1,page:a,count:r,avatar_size:120,actiontime:0,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt message");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var or=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_poll[0]}/api/group/getlg/v4`);return async function(){let r=await e.request(n,{method:"GET"});return e.resolve(r)}});var nr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.label[0]}/api/archivedchat/list`);return async function(){let r={version:1,imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var sr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/conv/autodelete/getConvers`);return async function(){let r={},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var ar=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.auto_reply[0]}/api/autoreply/list`);return async function(){let r={version:0,cliLang:t.language},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var ir=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/avatar-list`);return async function(r=50,a=1){let i={page:a,albumId:"0",count:r,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var pr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/friend/get-bizacc`);return async function(r){let a={fid:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var cr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/list`);return async function(r){var m,u,l;let a={version_list_catalog:0,limit:(m=r==null?void 0:r.limit)!=null?m:20,last_product_id:(u=r==null?void 0:r.lastProductId)!=null?u:-1,page:(l=r==null?void 0:r.page)!=null?l:0},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var mr=d()((o,t)=>()=>t);var dr=d()((o,t)=>function(){return t.cookie});var ur=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend_board[0]}/api/friendboard/list`);return async function(r){let a={conversationId:r,version:0,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var gr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/friend/onlines`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i,s=>{let m=s.data;if(rs__default.default(m.onlines)){for(let u of m.onlines)if(typeof u.status=="string"){let l=JSON.parse(u.status);l&&typeof l.status=="string"&&(u.status=l.status);}}return m})}});var lr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/recommendsv2/list`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var fr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/reqstatus`);return async function(r){let a={fid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var yr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/blockedmems/list`);return async function(r,a){var u,l;let i={grid:a,page:(u=r.page)!=null?u:1,count:(l=r.count)!=null?l:50,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var hr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/getmg-v2`);return async function(r){let a=we__default.default(r),i={gridVerMap:JSON.stringify(a.reduce((u,l)=>(u[l]=0,u),{}))},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt message");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Rr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/inv-box/inv-info`);return async function(r){var m,u;let a={grId:r.groupId,mcount:(m=r.mcount)!=null?m:10,mpage:(u=r.mpage)!=null?u:1},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s,l=>{let y=l.data,f=y.groupInfo.topic;if(typeof f.params=="string"){let h=JSON.parse(f.params);typeof h.extra=="string"&&(h.extra=JSON.parse(h.extra)),f.params=h;}return y})}});var br=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/inv-box/list`);return async function(r){var m,u,l,y;let a={mpage:(m=r==null?void 0:r.mpage)!=null?m:1,page:(u=r==null?void 0:r.page)!=null?u:0,invPerPage:(l=r==null?void 0:r.invPerPage)!=null?l:12,mcount:(y=r==null?void 0:r.mcount)!=null?y:10,lastGroupId:null,avatar_size:120,member_avatar_size:120},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var vr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/link/detail`);return async function(r){let a={grid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var wr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/link/ginfo`);return async function(r){var m;let a={link:r.link,avatar_size:120,member_avatar_size:120,mpage:(m=r.memberPage)!=null?m:1},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Sr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/group/members`);return async function(r){let i={friend_pversion_map:we__default.default(r).map(u=>u.endsWith("_0")?u:`${u}_0`)},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt message");let m=await e.request(e.makeURL(n,{params:s}));return e.resolve(m)}});var Fr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/hiddenconvers/get-all`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var Ur=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.label[0]}/api/convlabel/get`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt message");let i=await e.request(e.makeURL(n,{params:a}));return e.resolve(i,s=>{let m=s.data;return {labelData:JSON.parse(m.labelData),version:m.version,lastUpdateTime:m.lastUpdateTime}})}});var Tr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/list`);return async function(r,a){var u,l;let i={group_id:a,board_type:0,page:(u=r.page)!=null?u:1,count:(l=r.count)!=null?l:20,last_id:0,last_type:0,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m,y=>{let f=y.data;return f.items.forEach(h=>{if(h.boardType!=3){let g=h.data;typeof g.params=="string"&&(g.params=JSON.parse(g.params));}}),f})}});var kr=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/oneone/list`),1:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/listReminder`)};return async function(r,a,i=0){var l,y,f,h;let s=M({objectData:JSON.stringify(i===0?{uid:a,board_type:1,page:(l=r.page)!=null?l:1,count:(y=r.count)!=null?y:20,last_id:0,last_type:0}:{group_id:a,board_type:1,page:(f=r.page)!=null?f:1,count:(h=r.count)!=null?h:20,last_id:0,last_type:0})},i===1&&{imei:t.imei}),m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n[i],{params:m}),{method:"GET"});return e.resolve(u,g=>JSON.parse(g.data))}});var Ar=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/getmute`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var Pr=d()((o,t)=>()=>t.uid);var Er=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/pending-mems/list`);return async function(r){let a={grid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Ir=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/pinconvers/list`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var Lr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/detail`);return async function(r){if(!r)throw new p("Missing poll id");let a={poll_id:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var xr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/product/list`);return async function(r){var m,u,l,y;let a={catalog_id:r.catalogId,limit:(m=r.limit)!=null?m:100,version_catalog:(u=r.versionCatalog)!=null?u:0,last_product_id:(l=r.lastProductId)!=null?l:-1,page:(y=r.page)!=null?y:0},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Mr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/mget-qr`);return async function(r){typeof r=="string"&&(r=[r]);let a={fids:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Gr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.quick_message[0]}/api/quickmessage/list`);return async function(){let r={version:0,lang:0,imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var _r=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/group/related`);return async function(r){let a=we__default.default(r),i={friend_ids:JSON.stringify(a),imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Cr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/getReminder`);return async function(r){let a={eventId:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Or=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/listResponseEvent`);return async function(r){let a={eventId:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Nr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/requested/list`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var Dr=d()((o,t,e)=>{let n=e.makeURL("https://wpa.chat.zalo.me/api/setting/me");return async function(){let r={},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var zr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.sticker}/api/message/sticker`);return async function(r){if(!r)throw new p("Missing keyword");let a={keyword:r,gif:1,guggy:0,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=new URL(n);s.pathname=s.pathname+"/suggest/stickers";let m=await e.request(e.makeURL(s.toString(),{params:i}));return e.resolve(m,u=>{let l=u.data,y=[];return l.sugg_sticker&&l.sugg_sticker.forEach(f=>y.push(f.sticker_id)),y})}});var qr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.sticker}/api/message/sticker/sticker_detail`);return async function(a){if(!a)throw new p("Missing sticker id");let i=we__default.default(a);if(i.length==0)throw new p("Missing sticker id");let s=[],m=i.map(l=>c(l));return (await Promise.allSettled(m)).forEach(l=>{l.status==="fulfilled"&&s.push(l.value);}),s};async function c(r){let a={sid:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=await e.request(e.makeURL(n,{params:i}));return V(t,s)}});var Jr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/conv/getUnreadMark`);return async function(){let r={},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i,s=>{let m=s.data;return typeof m.data=="string"?{data:JSON.parse(m.data),status:m.status}:m})}});var $r=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/friend/getprofiles/v2`);return async function(r){if(!r)throw new p("Missing user id");let i=we__default.default(r).map(l=>l.split("_").length>1?l:`${l}_0`),s={phonebook_version:t.extraVer.phonebook,friend_pversion_map:i,avatar_size:120,language:t.language,show_online_status:1,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Zr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/invite/multi`);return async function(r,a){let i={grids:we__default.default(a),member:r,memberType:-1,srcInteraction:2,clientLang:t.language},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var Br=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/inv-box/join`);return async function(r){let a={grid:r,lang:t.language},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var jr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/link/join`);return async function(r){let a={link:r,clientLang:t.language},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Vr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.chat[0]}/keepalive`);return async function(){let r={imei:t.imei},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i,void 0,false)}});var Qr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/lastOnline`);return async function(r){let a={uid:r,conv_type:1,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Hr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/leave`);return async function(r,a=false){let i={grids:[r],imei:t.imei,silent:a?1:0,language:t.language},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Kr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/end`);return async function(r){let a={poll_id:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Wr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.file[0]}/api/message/parselink`);return async function(r){let a={link:r,version:1,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Yr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/reject`);return async function(r){let a={fid:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Xr=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/remove`);return async function(r){let a={fid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var eo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.alias[0]}/api/alias/remove`);return async function(r){let a={friendId:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var to=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/blockedmems/remove`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var ro=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/admins/remove`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var oo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.quick_message[0]}/api/quickmessage/delete`);return async function(r){let i={itemIds:we__default.default(r)},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var no=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/oneone/remove`),1:e.makeURL(`${o.zpwServiceMap.group_board[0]}/api/board/topic/remove`)};return async function(r,a,i=0){let s=i===0?{uid:a,reminderId:r}:{grid:a,topicId:r,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var so=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/conv/removeUnreadMark`);return async function(r,a=0){let i=Date.now(),s=a===1,m={param:JSON.stringify({[s?"convsGroup":"convsUser"]:[r],[s?"convsUser":"convsGroup"]:[],[s?"convsGroupData":"convsUserData"]:[{id:r,ts:i}],[s?"convsUserData":"convsGroupData"]:[]})},u=e.encodeAES(JSON.stringify(m));if(!u)throw new p("Failed to encrypt params");let l=await e.request(n,{method:"POST",body:new URLSearchParams({params:u})});return e.resolve(l,y=>{let f=y.data;return typeof f.data=="string"?{data:JSON.parse(f.data),status:f.status}:y.data})}});var ao=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/kickout`);return async function(r,a){let i=we__default.default(r),s={grid:a,members:i,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var io=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/hiddenconvers/reset`);return async function(){let r={},a=e.encodeAES(JSON.stringify(r));if(!a)throw new p("Failed to encrypt params");let i=await e.request(e.makeURL(n,{params:a}),{method:"GET"});return e.resolve(i)}});var po=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/reuse-avatar`);return async function(r){let a={photoId:r,isPostSocial:0,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var co=(c=>(c[c.SUCCESS=0]="SUCCESS",c[c.NOT_IN_PENDING_LIST=170]="NOT_IN_PENDING_LIST",c[c.ALREADY_IN_GROUP=178]="ALREADY_IN_GROUP",c[c.INSUFFICIENT_PERMISSION=166]="INSUFFICIENT_PERMISSION",c))(co||{}),mo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/pending-mems/review`);return async function(r,a){let i=we__default.default(r.members),s={grid:a,members:i,isApprove:r.isApprove?1:0},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var uo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.zimsg[0]}/api/transfer/card`);return async function(r,a,i=0){var l;let s={binBank:r.binBank,numAccBank:r.numAccBank,nameAccBank:((l=r.nameAccBank)==null?void 0:l.toUpperCase())||"---",cliMsgId:Date.now().toString(),tsMsg:Date.now(),destUid:a,destType:i===1?1:0},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var go=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.file[0]}/api/message/forward`),1:e.makeURL(`${o.zpwServiceMap.file[0]}/api/group/forward`)};return async function(r,a,i=0){var g;let m=(await o.getQR(r.userId))[r.userId],u=Date.now().toString(),l={ttl:(g=r.ttl)!=null?g:0,msgType:6,clientId:u,msgInfo:{contactUid:r.userId,qrCodeUrl:m}};r.phoneNumber&&(l.msgInfo.phone=r.phoneNumber),i==1?(l.visibility=0,l.grid=a):(l.toId=a,l.imei=t.imei);let y=JSON.stringify(l.msgInfo);l.msgInfo=y;let f=e.encodeAES(JSON.stringify(l));if(!f)throw new p("Failed to encrypt params");let h=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:f})});return e.resolve(h)}});var lo=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/deliveredv2`),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/deliveredv2`)};return async function(r,a,i=0){if(!a)throw new p("messages are missing or not in a valid array format.");let s=we__default.default(a);if(s.length===0||s.length>ye)throw new p("messages must contain between 1 and 50 messages.");let m=s[0].idTo;if(i===1&&!s.every(h=>h.idTo===m))throw new p("All messages must have the same idTo for Group thread");let u=M({seen:r?1:0,data:s.map(h=>({cmi:h.cliMsgId,gmi:h.msgId,si:h.uidFrom,di:h.idTo===t.uid?"0":h.idTo,mt:h.msgType,st:h.st||h.st===0?0:-1,at:h.at||h.at===0?0:-1,cmd:h.cmd||h.cmd===0?0:-1,ts:parseInt(`${h.ts}`)||parseInt(`${h.ts}`)===0?0:-1}))},i===0?{}:{grid:m}),l=M({msgInfos:JSON.stringify(u)},i===0?{}:{imei:t.imei}),y=e.encodeAES(JSON.stringify(l));if(!y)throw new p("Failed to encrypt params");let f=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:y})});return e.resolve(f)}});var fo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/sendreq`);return async function(r,a){let i={toid:a,msg:r,reqsrc:30,imei:t.imei,language:t.language,srcParams:JSON.stringify({uidTo:a})},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var yo=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/link`,{nretry:0}),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/sendlink`,{nretry:0})};return async function(r,a,i=0){var y;let s=await o.parseLink(r.link),m={msg:r.msg&&r.msg.trim()?r.msg.includes(r.link)?r.msg:r.msg+" "+r.link:r.link,href:s.data.href,src:s.data.src,title:s.data.title,desc:s.data.desc,thumb:s.data.thumb,type:2,media:JSON.stringify(s.data.media),ttl:(y=r.ttl)!=null?y:0,clientId:Date.now()};i==1?(m.grid=a,m.imei=t.imei):(m.toId=a,m.mentionInfo="");let u=e.encodeAES(JSON.stringify(m));if(!u)throw new p("Failed to encrypt params");let l=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:u})});return e.resolve(l)}});var ys={image:"photo_original/send?",gif:"gif?",video:"asyncfile/msg?",others:"asyncfile/msg?"};function hs(o){let t=o;return typeof t.content=="string"?t.propertyExt:t.msgType=="chat.todo"?{properties:{color:0,size:0,type:0,subType:0,ext:'{"shouldParseLinkOrContact":0}'}}:N(M({},t.content),{thumbUrl:t.content.thumb,oriUrl:t.content.href,normalUrl:t.content.href})}function Rs(o){let t=o;return t.msgType=="chat.todo"&&typeof t.content=="object"&&typeof t.content.params=="string"?JSON.parse(t.content.params).item.content:""}var bo=(f=>(f.Bold="b",f.Italic="i",f.Underline="u",f.StrikeThrough="s",f.Red="c_db342e",f.Orange="c_f27806",f.Yellow="c_f7b503",f.Green="c_15a85f",f.Small="f_13",f.Big="f_18",f.UnorderedList="lst_1",f.OrderedList="lst_2",f.Indent="ind_$",f))(bo||{}),vo=(n=>(n[n.Default=0]="Default",n[n.Important=1]="Important",n[n.Urgent=2]="Urgent",n))(vo||{}),wo=d()((o,t,e)=>{let n={message:{0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message`,{nretry:0}),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group`,{nretry:0})},attachment:{0:`${o.zpwServiceMap.file[0]}/api/message/`,1:`${o.zpwServiceMap.file[0]}/api/group/`}},{sharefile:c}=t.settings.features;function r(g){return g>c.max_file}function a(g){return g>c.max_size_share_file_v3*1024*1024}function i(){return Date.now()}async function s(g){let b=we__default.default(g),v=[];for(let E of b)v.push((async()=>{let S=await e.request(E.url,{method:"POST",body:E.body,headers:E.headers});return await V(t,S)})());return await Promise.all(v)}async function m(g,b){let v=new ho__default.default,E=typeof g=="string"?await Ro__default.default.readFile(g):g.data;v.append("fileContent",E,{filename:"blob",contentType:"image/png"});let S={clientId:Date.now(),imei:t.imei},P=e.encodeAES(JSON.stringify(S));if(!P)throw new p("Failed to encrypt message");let w=await e.request(e.makeURL(b+"upthumb?",{params:P}),{method:"POST",headers:v.getHeaders(),body:v.getBuffer()});return await V(t,w)}function u(g,b,v){let E=0,S=!fs__default.default(v)&&g==1?we__default.default(v).filter(P=>P.pos>=0&&P.uid&&P.len>0).map(P=>(E+=P.len,{pos:P.pos,uid:P.uid,len:P.len,type:P.uid=="-1"?1:0})):[];if(E>b.length)throw new p("Invalid mentions: total mention characters exceed message length");return {mentionsFinal:S,msgFinal:b}}function l(g,b){b&&Ge__default.default(g,{textProperties:JSON.stringify({styles:b.map(v=>{var S;let E=N(M({},v),{indentSize:void 0,st:v.st=="ind_$"?"ind_$".replace(/\$/g,`${(S=v.indentSize)!=null?S:1}0`):v.st});return B(E),E}),ver:0})});}function y(g,b){(b==1||b==2)&&Ge__default.default(g,{metaData:{urgency:b}});}async function f({msg:g,styles:b,urgency:v,mentions:E,quote:S,ttl:P},w,x){if(!g||g.length==0)throw new p("Missing message content");let F=x==1,{mentionsFinal:O,msgFinal:G}=u(x,g,E);if(g=G,S){if(typeof S.content!="string"&&S.msgType=="webchat")throw new p("This kind of `webchat` quote type is not available");if(S.msgType=="group.poll")throw new p("The `group.poll` quote type is not available")}let U=O.length>0&&F,C=S?{toid:F?void 0:w,grid:F?w:void 0,message:g,clientId:Date.now(),mentionInfo:U?JSON.stringify(O):void 0,qmsgOwner:S.uidFrom,qmsgId:S.msgId,qmsgCliId:S.cliMsgId,qmsgType:tt(S.msgType),qmsgTs:S.ts,qmsg:typeof S.content=="string"?S.content:Rs(S),imei:F?void 0:t.imei,visibility:F?0:void 0,qmsgAttach:F?JSON.stringify(hs(S)):void 0,qmsgTTL:S.ttl,ttl:P!=null?P:0}:{message:g,clientId:Date.now(),mentionInfo:U?JSON.stringify(O):void 0,imei:F?void 0:t.imei,ttl:P!=null?P:0,visibility:F?0:void 0,toid:F?void 0:w,grid:F?w:void 0};l(C,b),y(C,v),B(C);let A=e.encodeAES(JSON.stringify(C));if(!A)throw new p("Failed to encrypt message");let z=new URL(n.message[x]);return S?z.pathname=z.pathname+"/quote":z.pathname=z.pathname+"/"+(F?C.mentionInfo?"mention":"sendmsg":"sms"),{url:z.toString(),body:new URLSearchParams({params:A})}}async function h({msg:g,attachments:b,mentions:v,quote:E,ttl:S,urgency:P},w,x){if(!b)throw new p("Missing attachments");let F=we__default.default(b);if(F.length==0)throw new p("Missing attachments");let O=F[0],U=Z(typeof O=="string"?O:O.filename),C=F.length==1,A=x==1,z=C&&["jpg","jpeg","png","webp"].includes(U),se=F.filter(k=>Z(typeof k=="string"?k:k.filename)=="gif"),H=F.filter(k=>Z(typeof k=="string"?k:k.filename)!="gif"),Y=H.length==0?[]:await o.uploadAttachment(H,w,x),Fe=[],an=Y.length-1,pn=i(),{mentionsFinal:_e,msgFinal:cn}=u(x,g,v);g=cn;let mn=_e.length>0&&A&&H.length==1,ae=H.length>1,dn=Date.now();for(let k of Y){let q;switch(k.fileType){case "image":{q={fileType:k.fileType,params:{photoId:k.photoId,clientId:(dn++).toString(),desc:g,width:k.width,height:k.height,toid:A?void 0:String(w),grid:A?String(w):void 0,rawUrl:k.normalUrl,hdUrl:k.hdUrl,thumbUrl:k.thumbUrl,oriUrl:A?k.normalUrl:void 0,normalUrl:A?void 0:k.normalUrl,hdSize:String(k.totalSize),zsource:-1,ttl:S!=null?S:0,jcp:'{"convertible":"jxl"}',groupLayoutId:ae?pn:void 0,isGroupLayout:ae?1:void 0,idInGroup:ae?an--:void 0,totalItemInGroup:ae?Y.length:void 0,mentionInfo:mn&&z&&!E?JSON.stringify(_e):void 0},body:new URLSearchParams};break}case "video":{q={fileType:k.fileType,params:{fileId:k.fileId,checksum:k.checksum,checksumSha:"",extention:Z(k.fileName),totalSize:k.totalSize,fileName:k.fileName,clientId:k.clientFileId,fType:1,fileCount:0,fdata:"{}",toid:A?void 0:String(w),grid:A?String(w):void 0,fileUrl:k.fileUrl,zsource:-1,ttl:S!=null?S:0},body:new URLSearchParams};break}case "others":{q={fileType:k.fileType,params:{fileId:k.fileId,checksum:k.checksum,checksumSha:"",extention:Z(k.fileName),totalSize:k.totalSize,fileName:k.fileName,clientId:k.clientFileId,fType:1,fileCount:0,fdata:"{}",toid:A?void 0:String(w),grid:A?String(w):void 0,fileUrl:k.fileUrl,zsource:-1,ttl:S!=null?S:0},body:new URLSearchParams};break}}y(q.params,P),B(q.params);let $=e.encodeAES(JSON.stringify(q.params));if(!$)throw new p("Failed to encrypt message");q.body.append("params",$),Fe.push(q);}for(let k of se){let q=typeof k=="string",$=q?await et(t,k):N(M({},k.metadata),{fileName:k.filename});if(a($.totalSize))throw new p(`File ${q?ne(k):k.filename} size exceed maximum size of ${c.max_size_share_file_v3}MB`);let un=await m(k,n.attachment[0]),Ue=new ho__default.default;Ue.append("chunkContent",q?await Ro__default.default.readFile(k):k.data,{filename:q?ne(k):k.filename,contentType:"application/octet-stream"});let Te={clientId:Date.now().toString(),fileName:$.fileName,totalSize:$.totalSize,width:$.width,height:$.height,msg:g,type:1,ttl:S!=null?S:0,visibility:A?0:void 0,toid:A?void 0:w,grid:A?w:void 0,thumb:un.url,checksum:(await be(k,$.totalSize)).data,totalChunk:1,chunkId:1};y(Te,P),B(Te);let Oe=e.encodeAES(JSON.stringify(Te));if(!Oe)throw new p("Failed to encrypt message");Fe.push({query:{params:Oe,type:"1"},body:Ue.getBuffer(),headers:Ue.getHeaders(),fileType:"gif"});}let Ce=[];for(let k of Fe)Ce.push({url:e.makeURL(n.attachment[x]+ys[k.fileType],Ge__default.default({nretry:"0"},k.query||{})),body:k.body,headers:k.fileType=="gif"?k.headers:{}});return Ce}return async function(b,v,E=0){if(!b)throw new p("Missing message content");if(!v)throw new p("Missing threadId");typeof b=="string"&&(b={msg:b});let{msg:S,mentions:P}=b,{attachments:w}=b,{quote:x,ttl:F,styles:O,urgency:G}=b,U=w?we__default.default(w):[];if(!S&&U.length==0)throw new p("Missing message content");if(U.length>0&&r(U.length))throw new p("Exceed maximum file of "+c.max_file);let C={message:null,attachment:[]};if(U.length>0){let A=Z(typeof U[0]=="string"?U[0]:U[0].filename);(!(U.length==1&&["jpg","jpeg","png","webp"].includes(A))&&S.length>0||S.length>0&&x)&&(await f(b,v,E).then(async Y=>{C.message=(await s(Y))[0];}),S="",P=void 0);let H=await h({msg:S,mentions:P,attachments:w,quote:x,ttl:F,urgency:G},v,E);C.attachment=await s(H),S="";}if(S.length>0){let A=await f(b,v,E);C.message=(await s(A))[0];}return C}});var So=(c=>(c[c.Sensitive=1]="Sensitive",c[c.Annoy=2]="Annoy",c[c.Fraud=3]="Fraud",c[c.Other=0]="Other",c))(So||{}),Fo=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.profile[0]}/api/report/abuse-v2`),1:e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/reportabuse`)};return async function(r,a,i=0){let s=i==0?{idTo:a,objId:"person.profile",reason:r.reason.toString(),content:r.reason==0?r.content:void 0}:{uidTo:a,type:14,reason:r.reason,content:r.reason==0?r.content:"",imei:t.imei};B(s);let m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Uo=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/seenv2`,{nretry:0}),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/seenv2`,{nretry:0})};return async function(r,a=0){if(!r)throw new p("messages are missing or not in a valid array format.");let i=we__default.default(r);if(i.length===0||i.length>ye)throw new p("messages must contain between 1 and 50 messages.");let s=a===1,m=s?i[0].idTo:i[0].uidFrom,u={data:i.map(h=>{if((s?h.idTo:h.uidFrom)!==m)throw new p("All messages must belong to the same thread.");return {cmi:h.cliMsgId,gmi:h.msgId,si:h.uidFrom,di:h.idTo===t.uid?"0":h.idTo,mt:h.msgType,st:h.st||h.st===0?0:-1,at:h.at||h.at===0?0:-1,cmd:h.cmd||h.cmd===0?0:-1,ts:parseInt(`${h.ts}`)||parseInt(`${h.ts}`)===0?0:-1}}),[s?"grid":"senderId"]:m},l=M({msgInfos:JSON.stringify(u)},s?{imei:t.imei}:{}),y=e.encodeAES(JSON.stringify(l));if(!y)throw new p("Failed to encrypt params");let f=await e.request(n[a],{method:"POST",body:new URLSearchParams({params:y})});return e.resolve(f)}});var To=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/sticker`,{nretry:"0"}),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/sticker`,{nretry:"0"})};return async function(r,a,i=0){if(!r)throw new p("Missing sticker");if(!a)throw new p("Missing threadId");if(!r.id)throw new p("Missing sticker id");if(!r.cateId)throw new p("Missing sticker cateId");if(!r.type)throw new p("Missing sticker type");let s=i===1,m={stickerId:r.id,cateId:r.cateId,type:r.type,clientId:Date.now(),imei:t.imei,zsource:101,toid:s?void 0:a,grid:s?a:void 0};B(m);let u=e.encodeAES(JSON.stringify(m));if(!u)throw new p("Failed to encrypt message");let l=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:u})});return e.resolve(l)}});var ko=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/typing`),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/typing`)};return async function(r,a=0,i=3){if(!r)throw new p("Missing threadId");let s=N(M({[a===0?"toid":"grid"]:r},a===0?{destType:i}:{}),{imei:t.imei}),m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n[a],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Ao=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.file[0]}/api/message/forward`),1:e.makeURL(`${o.zpwServiceMap.file[0]}/api/group/forward`)};return async function(r,a,i=0){var f,h,g,b,v,E,S,P,w,x;let s=0,m=Date.now();try{let F=await e.request(r.videoUrl,{method:"HEAD"},!0);F.ok&&(s=parseInt(F.headers.get("content-length")||"0"));}catch(F){throw new p(`Unable to get video content: ${F instanceof Error?F.message:String(F)}`)}let u=i===0?{toId:a,clientId:String(m),ttl:(f=r.ttl)!=null?f:0,zsource:704,msgType:5,msgInfo:JSON.stringify({videoUrl:r.videoUrl,thumbUrl:r.thumbnailUrl,duration:(h=r.duration)!=null?h:0,width:(g=r.width)!=null?g:1280,height:(b=r.height)!=null?b:720,fileSize:s,properties:{color:-1,size:-1,type:1003,subType:0,ext:{sSrcType:-1,sSrcStr:"",msg_warning_type:0}},title:(v=r.msg)!=null?v:""}),imei:t.imei}:{grid:a,visibility:0,clientId:String(m),ttl:(E=r.ttl)!=null?E:0,zsource:704,msgType:5,msgInfo:JSON.stringify({videoUrl:r.videoUrl,thumbUrl:r.thumbnailUrl,duration:(S=r.duration)!=null?S:0,width:(P=r.width)!=null?P:1280,height:(w=r.height)!=null?w:720,fileSize:s,properties:{color:-1,size:-1,type:1003,subType:0,ext:{sSrcType:-1,sSrcStr:"",msg_warning_type:0}},title:(x=r.msg)!=null?x:""}),imei:t.imei};if(i!==0&&i!==1)throw new p("Thread type is invalid");let l=e.encodeAES(JSON.stringify(u));if(!l)throw new p("Failed to encrypt params");let y=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:l})});return e.resolve(y)}});var Po=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.file[0]}/api/message/forward`),1:e.makeURL(`${o.zpwServiceMap.file[0]}/api/group/forward`)};return async function(r,a,i=0){var f,h;let s=null,m=Date.now().toString();try{let g=await e.request(r.voiceUrl,{method:"HEAD"},!0);g.ok&&(s=parseInt(g.headers.get("content-length")||"0"));}catch(g){throw new p(`Unable to get voice content: ${g instanceof Error?g.message:String(g)}`)}let u=i===0?{toId:a,ttl:(f=r.ttl)!=null?f:0,zsource:-1,msgType:3,clientId:m,msgInfo:JSON.stringify({voiceUrl:r.voiceUrl,m4aUrl:r.voiceUrl,fileSize:s!=null?s:0}),imei:t.imei}:{grid:a,visibility:0,ttl:(h=r.ttl)!=null?h:0,zsource:-1,msgType:3,clientId:m,msgInfo:JSON.stringify({voiceUrl:r.voiceUrl,m4aUrl:r.voiceUrl,fileSize:s!=null?s:0}),imei:t.imei};if(i!==0&&i!==1)throw new p("Thread type is invalid");let l=e.encodeAES(JSON.stringify(u));if(!l)throw new p("Failed to encrypt params");let y=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:l})});return e.resolve(y)}});var Eo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/hiddenconvers/add-remove`);return async function(r,a,i=0){let s=we__default.default(a);if(s.length===0)throw new p("threadId is required");let m=i===1?1:0,u={[r?"add_threads":"del_threads"]:JSON.stringify(s.map(f=>({thread_id:f,is_group:m}))),[r?"del_threads":"add_threads"]:"[]",imei:t.imei},l=e.encodeAES(JSON.stringify(u));if(!l)throw new p("Failed to encrypt params");let y=await e.request(n,{method:"POST",body:new URLSearchParams({params:l})});return e.resolve(y)}});var Io=(c=>(c[c.ONE_HOUR=3600]="ONE_HOUR",c[c.FOUR_HOURS=14400]="FOUR_HOURS",c[c.FOREVER=-1]="FOREVER",c.UNTIL_8AM="until8AM",c))(Io||{}),Lo=(e=>(e[e.MUTE=1]="MUTE",e[e.UNMUTE=3]="UNMUTE",e))(Lo||{}),xo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/setmute`);return async function(r={},a,i=0){let{duration:s=-1,action:m=1}=r,u;if(m===3)u=-1;else if(s===-1)u=-1;else if(s==="until8AM"){let h=new Date,g=new Date(h);g.setHours(8,0,0,0),h.getHours()>=8&&g.setDate(g.getDate()+1),u=Math.floor((g.getTime()-h.getTime())/1e3);}else u=s;let l={toid:a,duration:u,action:m,startTime:Math.floor(Date.now()/1e3),muteType:i===0?1:2,imei:t.imei},y=e.encodeAES(JSON.stringify(l));if(!y)throw new p("Failed to encrypt params");let f=await e.request(n,{method:"POST",body:new URLSearchParams({params:y})});return e.resolve(f)}});var Mo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/pinconvers/updatev2`);return async function(r,a,i=0){let s=we__default.default(a),m={actionType:r?1:2,conversations:i==1?s.map(y=>`g${y}`):s.map(y=>`u${y}`)},u=e.encodeAES(JSON.stringify(m));if(!u)throw new p("Failed to encrypt params");let l=await e.request(n,{method:"POST",body:new URLSearchParams({params:u})});return e.resolve(l)}});var Go=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/share`);return async function(r){let a={poll_id:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var _o=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/unblock`);return async function(r){let a={fid:r,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Co=d()((o,t,e)=>{let n={0:e.makeURL(`${o.zpwServiceMap.chat[0]}/api/message/undo`),1:e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/undomsg`)};return async function(r,a,i=0){let s={msgId:r.msgId,clientId:Date.now(),cliMsgIdUndo:r.cliMsgId};i==1?(s.grid=a,s.visibility=0,s.imei=t.imei):s.toid=a;let m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt message");let u=await e.request(n[i],{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Oo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.friend[0]}/api/friend/undo`);return async function(r){let a={fid:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var No=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/ping`),c=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/deactive`);return async function(a){let i={status:a?1:0,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=a?n:c,u=await e.request(e.makeURL(m,{params:s}),{method:"GET"});return e.resolve(u)}});var Do=(c=>(c[c.NO_DELETE=0]="NO_DELETE",c[c.ONE_DAY=864e5]="ONE_DAY",c[c.SEVEN_DAYS=6048e5]="SEVEN_DAYS",c[c.FOURTEEN_DAYS=12096e5]="FOURTEEN_DAYS",c))(Do||{}),zo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/conv/autodelete/updateConvers`);return async function(r,a,i=0){let s={threadId:a,isGroup:i===1?1:0,ttl:r,clientLang:t.language},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var qo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.auto_reply[0]}/api/autoreply/update`);return async function(r){let a=we__default.default(r.uids||[]),i=r.scope===2||r.scope===3?a:[],s={cliLang:t.language,id:r.id,enable:r.isEnable,content:r.content,startTime:r.startTime,endTime:r.endTime,recurrence:["RRULE:FREQ=DAILY;"],scope:r.scope,uids:i},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(n,{method:"POST",body:new URLSearchParams({params:m})});return e.resolve(u)}});var Jo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/catalog/update`);return async function(r){let a={catalog_id:r.catalogId,catalog_name:r.catalogName,catalog_photo:""},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var $o=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/group/setting/update`);return async function(r,a){let i={blockName:r.blockName?1:0,signAdminMsg:r.signAdminMsg?1:0,setTopicOnly:r.setTopicOnly?1:0,enableMsgHistory:r.enableMsgHistory?1:0,joinAppr:r.joinAppr?1:0,lockCreatePost:r.lockCreatePost?1:0,lockCreatePoll:r.lockCreatePoll?1:0,lockSendMsg:r.lockSendMsg?1:0,lockViewMember:r.lockViewMember?1:0,bannFeature:0,dirtyMedia:0,banDuration:0,blocked_members:[],grid:a,imei:t.imei},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var Zo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.conversation[0]}/api/hiddenconvers/update-pin`),c=/^\d{4}$/;return async function(a){if(!c.test(a))throw new p("Pin must be a 4-digit number between 0000-9999");let s={new_pin:it(a),imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var Bo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.label[0]}/api/convlabel/update`);return async function(r){let a={labelData:JSON.stringify(r.labelData),version:r.version,imei:t.imei},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt message");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})}),m=await e.resolve(s);return {labelData:JSON.parse(m.labelData),version:m.version,lastUpdateTime:m.lastUpdateTime}}});var jo=(e=>(e.VI="VI",e.EN="EN",e))(jo||{}),Vo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/updatelang`);return async function(r="VI"){let a={language:r},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(e.makeURL(n,{params:i}),{method:"GET"});return e.resolve(s)}});var Qo=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.catalog[0]}/api/prodcatalog/product/update`);return async function(r){let a=r.product_photos||[];if(r.files&&r.files.length==0){if(r.files.length>5)throw new p("Maximum 5 media files are allowed");for(let u of r.files){let l=await o.uploadProductPhoto({file:u}),y=l.normalUrl||l.hdUrl;a.push(y);}}if(a.length>5)throw new p("Maximum 5 media files are allowed");let i={product_id:r.productId,product_name:r.productName,price:r.price,description:r.description,product_photos:a,catalog_id:r.catalogId,currency_unit:"\u20AB",create_time:r.createTime},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(n,{method:"POST",body:new URLSearchParams({params:s})});return e.resolve(m)}});var Ho=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.profile[0]}/api/social/profile/update`);return async function(r){var m,u,l,y,f;let a={profile:JSON.stringify({name:r.profile.name,dob:r.profile.dob,gender:r.profile.gender}),biz:JSON.stringify({desc:(m=r.biz)==null?void 0:m.description,cate:(u=r.biz)==null?void 0:u.cate,addr:(l=r.biz)==null?void 0:l.address,website:(y=r.biz)==null?void 0:y.website,email:(f=r.biz)==null?void 0:f.email}),language:t.language},i=e.encodeAES(JSON.stringify(a));if(!i)throw new p("Failed to encrypt params");let s=await e.request(n,{method:"POST",body:new URLSearchParams({params:i})});return e.resolve(s)}});var Ko=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.quick_message[0]}/api/quickmessage/update`);return async function(r,a){let i=r.media?1:0,s={itemId:a,keyword:r.keyword,message:{title:r.title,params:""},type:i};if(i===1){if(!r.media)throw new p("Media is required");let l=await o.uploadProductPhoto({file:r.media}),y=l.photoId,f=l.thumbUrl,h=l.normalUrl,g=l.hdUrl;s.media={items:[{type:0,photoId:y,title:"",width:"",height:"",previewThumb:f,rawUrl:h||g,thumbUrl:f,normalUrl:h||g,hdUrl:g||h}]};}let m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var Wo=(y=>(y.ViewBirthday="view_birthday",y.ShowOnlineStatus="show_online_status",y.DisplaySeenStatus="display_seen_status",y.ReceiveMessage="receive_message",y.AcceptCall="accept_stranger_call",y.AddFriendViaPhone="add_friend_via_phone",y.AddFriendViaQR="add_friend_via_qr",y.AddFriendViaGroup="add_friend_via_group",y.AddFriendViaContact="add_friend_via_contact",y.DisplayOnRecommendFriend="display_on_recommend_friend",y.ArchivedChat="archivedChatStatus",y.QuickMessage="quickMessageStatus",y))(Wo||{}),Yo=d()((o,t,e)=>{let n=e.makeURL("https://wpa.chat.zalo.me/api/setting/update");return async function(r,a){let i={[r]:a},s=e.encodeAES(JSON.stringify(i));if(!s)throw new p("Failed to encrypt params");let m=await e.request(e.makeURL(n,{params:s}),{method:"GET"});return e.resolve(m)}});var Ts={image:"photo_original/upload",video:"asyncfile/upload",others:"asyncfile/upload"},en=d()((o,t,e)=>{let n=`${o.zpwServiceMap.file[0]}/api`,{sharefile:c}=t.settings.features;function r(s){return s>c.max_file}function a(s){return s>c.max_size_share_file_v3*1024*1024}function i(s){return c.restricted_ext_file.indexOf(s)==-1}return async function(m,u,l=0){if(!m)throw new p("Missing sources");let y=we__default.default(m);if(y.length==0)throw new p("Missing sources");if(r(y.length))throw new p("Exceed maximum file of "+c.max_file);if(!u)throw new p("Missing threadId");let f=t.settings.features.sharefile.chunk_size_file,h=l==1,g=[],b=`${n}/${h?"group":"message"}/`,v=h?"11":"2",E=Date.now();for(let w of y){let x=typeof w=="string",F=typeof w=="object"&&w.data instanceof Buffer;if(!x&&!F)throw new p("Invalid source type");if(!x&&!w.filename)throw new p("Missing filename");if(x&&!Ke__default.default.existsSync(w))throw new p("File not found");let O=Z(x?w:w.filename).toLowerCase(),G=x?ne(w):w.filename;if(i(O)==false)throw new p(`File extension "${O}" is not allowed`);let U={filePath:x?w:w.filename,chunkContent:[],params:{},source:w};switch(h?U.params.grid=u:U.params.toid=u,O){case "jpg":case "jpeg":case "png":case "webp":{let A=x?await j(t,w):N(M({},w.metadata),{fileName:G});if(a(A.totalSize))throw new p(`File ${G} size exceed maximum size of ${c.max_size_share_file_v3}MB`);U.fileData=A,U.fileType="image",U.params.totalChunk=Math.ceil(U.fileData.totalSize/f),U.params.fileName=G,U.params.clientId=E++,U.params.totalSize=A.totalSize,U.params.imei=t.imei,U.params.isE2EE=0,U.params.jxl=0,U.params.chunkId=1;break}case "mp4":{let A=x?await Le(w):w.metadata.totalSize;if(a(A))throw new p(`File ${G} size exceed maximum size of ${c.max_size_share_file_v3}MB`);U.fileType="video",U.fileData={fileName:G,totalSize:A},U.params.totalChunk=Math.ceil(U.fileData.totalSize/f),U.params.fileName=G,U.params.clientId=E++,U.params.totalSize=A,U.params.imei=t.imei,U.params.isE2EE=0,U.params.jxl=0,U.params.chunkId=1;break}default:{let A=x?await Le(w):w.metadata.totalSize;if(a(A))throw new p(`File ${G} size exceed maximum size of ${c.max_size_share_file_v3}MB`);U.fileType="others",U.fileData={fileName:G,totalSize:A},U.params.totalChunk=Math.ceil(U.fileData.totalSize/f),U.params.fileName=G,U.params.clientId=E++,U.params.totalSize=A,U.params.imei=t.imei,U.params.isE2EE=0,U.params.jxl=0,U.params.chunkId=1;break}}let C=x?await Ke__default.default.promises.readFile(w):w.data;for(let A=0;A<U.params.totalChunk;A++){let z=new ho__default.default,se=C.subarray(A*f,(A+1)*f);z.append("chunkContent",se,{filename:G,contentType:"application/octet-stream"}),U.chunkContent[A]=z;}g.push(U);}let S=[],P=[];for(let w of g)for(let x=0;x<w.params.totalChunk;x++){let F=e.encodeAES(JSON.stringify(w.params));if(!F)throw new p("Failed to encrypt message");S.push(e.request(e.makeURL(b+Ts[w.fileType],{type:v,params:F}),{method:"POST",headers:w.chunkContent[x].getHeaders(),body:w.chunkContent[x].getBuffer()}).then(async O=>{let G=await V(t,O);G&&G.fileId!="-1"&&G.photoId!="-1"&&await new Promise(U=>{if(w.fileType=="video"||w.fileType=="others"){let C=async A=>{let z=N(M(M({fileType:w.fileType},G),A),{totalSize:w.fileData.totalSize,fileName:w.fileData.fileName,checksum:(await be(w.source,w.fileData.totalSize)).data});P.push(z),U();};t.uploadCallbacks.set(G.fileId.toString(),C);}if(w.fileType=="image"){let C={fileType:"image",width:w.fileData.width,height:w.fileData.height,totalSize:w.fileData.totalSize,hdSize:w.fileData.totalSize,finished:G.finished,normalUrl:G.normalUrl,hdUrl:G.hdUrl,thumbUrl:G.thumbUrl,chunkId:G.chunkId,photoId:G.photoId,clientFileId:G.clientFileId};P.push(C),U();}});})),w.params.chunkId++;}return await Promise.all(S),P}});var tn=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.file[0]}/api/product/upload/photo`);return async function(r){let a=typeof r.file=="string",s=(a?await j(t,r.file):r.file.metadata).totalSize||0,m=a?await Ke__default.default.promises.readFile(r.file):r.file.data,u=new ho__default.default;u.append("chunkContent",m,{filename:"undefined",contentType:"application/octet-stream"});let l={totalChunk:1,fileName:`Base64_Img_Picker_${Date.now()}.jpg`,clientId:Date.now(),totalSize:s,imei:t.imei,chunkId:1,toid:t.loginInfo.send2me_id,featureId:1},y=e.encodeAES(JSON.stringify(l));if(!y)throw new p("Failed to encrypt params");let f=await e.request(e.makeURL(n,{params:y}),{method:"POST",headers:u.getHeaders(),body:u.getBuffer()});return e.resolve(f)}});var rn=d()((o,t,e)=>{let n=e.makeURL(`${o.zpwServiceMap.group[0]}/api/poll/vote`);return async function(r,a){let i=we__default.default(a),s={poll_id:r,option_ids:i,imei:t.imei},m=e.encodeAES(JSON.stringify(s));if(!m)throw new p("Failed to encrypt params");let u=await e.request(e.makeURL(n,{params:m}),{method:"GET"});return e.resolve(u)}});var on=d()((o,t,e)=>function(c,r){Object.defineProperty(o,c,{value:function(a){return r({ctx:t,utils:e,props:a})},writable:false,enumerable:false,configurable:false});});var Se=class{constructor(t,e,n){this.zpwServiceMap=e,this.listener=new ve(t,n),this.acceptFriendRequest=Rt(t,this),this.addGroupBlockedMember=bt(t,this),this.addGroupDeputy=vt(t,this),this.addPollOptions=wt(t,this),this.addQuickMessage=St(t,this),this.addReaction=Ft(t,this),this.addUnreadMark=Ut(t,this),this.addUserToGroup=Tt(t,this),this.blockUser=kt(t,this),this.blockViewFeed=At(t,this),this.changeAccountAvatar=Pt(t,this),this.changeFriendAlias=Et(t,this),this.changeGroupAvatar=It(t,this),this.changeGroupName=Lt(t,this),this.changeGroupOwner=xt(t,this),this.createAutoReply=Mt(t,this),this.createCatalog=Gt(t,this),this.createGroup=_t(t,this),this.createNote=Ct(t,this),this.createPoll=Ot(t,this),this.createProductCatalog=Nt(t,this),this.createReminder=Dt(t,this),this.deleteAutoReply=zt(t,this),this.deleteAvatar=qt(t,this),this.deleteCatalog=Jt(t,this),this.deleteChat=$t(t,this),this.deleteGroupInviteBox=Zt(t,this),this.deleteMessage=Bt(t,this),this.deleteProductCatalog=jt(t,this),this.disableGroupLink=Vt(t,this),this.disperseGroup=Qt(t,this),this.editNote=Ht(t,this),this.editReminder=Kt(t,this),this.enableGroupLink=Wt(t,this),this.fetchAccountInfo=Yt(t,this),this.findUser=Xt(t,this),this.forwardMessage=er(t,this),this.getAliasList=tr(t,this),this.getAllFriends=rr(t,this),this.getAllGroups=or(t,this),this.getArchivedChatList=nr(t,this),this.getAutoDeleteChat=sr(t,this),this.getAutoReplyList=ar(t,this),this.getAvatarList=ir(t,this),this.getBizAccount=pr(t,this),this.getCatalogList=cr(t,this),this.getContext=mr(t,this),this.getCookie=dr(t,this),this.getFriendBoardList=ur(t,this),this.getFriendOnlines=gr(t,this),this.getFriendRecommendations=lr(t,this),this.getFriendRequestStatus=fr(t,this),this.getGroupBlockedMember=yr(t,this),this.getGroupInfo=hr(t,this),this.getGroupInviteBoxInfo=Rr(t,this),this.getGroupInviteBoxList=br(t,this),this.getGroupLinkDetail=vr(t,this),this.getGroupLinkInfo=wr(t,this),this.getGroupMembersInfo=Sr(t,this),this.getHiddenConversations=Fr(t,this),this.getLabels=Ur(t,this),this.getListBoard=Tr(t,this),this.getListReminder=kr(t,this),this.getMute=Ar(t,this),this.getOwnId=Pr(t,this),this.getPendingGroupMembers=Er(t,this),this.getPinConversations=Ir(t,this),this.getPollDetail=Lr(t,this),this.getProductCatalogList=xr(t,this),this.getQR=Mr(t,this),this.getQuickMessageList=Gr(t,this),this.getRelatedFriendGroup=_r(t,this),this.getReminder=Cr(t,this),this.getReminderResponses=Or(t,this),this.getSentFriendRequest=Nr(t,this),this.getSettings=Dr(t,this),this.getStickers=zr(t,this),this.getStickersDetail=qr(t,this),this.getUnreadMark=Jr(t,this),this.getUserInfo=$r(t,this),this.inviteUserToGroups=Zr(t,this),this.joinGroupInviteBox=Br(t,this),this.joinGroupLink=jr(t,this),this.keepAlive=Vr(t,this),this.lastOnline=Qr(t,this),this.leaveGroup=Hr(t,this),this.lockPoll=Kr(t,this),this.parseLink=Wr(t,this),this.rejectFriendRequest=Yr(t,this),this.removeFriend=Xr(t,this),this.removeFriendAlias=eo(t,this),this.removeGroupBlockedMember=to(t,this),this.removeGroupDeputy=ro(t,this),this.removeQuickMessage=oo(t,this),this.removeReminder=no(t,this),this.removeUnreadMark=so(t,this),this.removeUserFromGroup=ao(t,this),this.resetHiddenConversPin=io(t,this),this.reuseAvatar=po(t,this),this.reviewPendingMemberRequest=mo(t,this),this.sendBankCard=uo(t,this),this.sendCard=go(t,this),this.sendDeliveredEvent=lo(t,this),this.sendFriendRequest=fo(t,this),this.sendLink=yo(t,this),this.sendMessage=wo(t,this),this.sendReport=Fo(t,this),this.sendSeenEvent=Uo(t,this),this.sendSticker=To(t,this),this.sendTypingEvent=ko(t,this),this.sendVideo=Ao(t,this),this.sendVoice=Po(t,this),this.setHiddenConversations=Eo(t,this),this.setMute=xo(t,this),this.setPinnedConversations=Mo(t,this),this.sharePoll=Go(t,this),this.unblockUser=_o(t,this),this.undo=Co(t,this),this.undoFriendRequest=Oo(t,this),this.updateActiveStatus=No(t,this),this.updateAutoDeleteChat=zo(t,this),this.updateAutoReply=qo(t,this),this.updateCatalog=Jo(t,this),this.updateGroupSettings=$o(t,this),this.updateHiddenConversPin=Zo(t,this),this.updateLabels=Bo(t,this),this.updateLang=Vo(t,this),this.updateProductCatalog=Qo(t,this),this.updateProfile=Ho(t,this),this.updateQuickMessage=Ko(t,this),this.updateSettings=Yo(t,this),this.uploadAttachment=en(t,this),this.uploadProductPhoto=tn(t,this),this.votePoll=rn(t,this),this.custom=on(t,this);}};var sn=class{constructor(t={}){this.options=t;this.enableEncryptParam=true;}parseCookies(t){var c;let e=Array.isArray(t)?t:t.cookies;e.forEach((r,a)=>{typeof r.domain=="string"&&r.domain.startsWith(".")&&(e[a].domain=r.domain.slice(1));});let n=new Qe__default.default.CookieJar;for(let r of e)try{n.setCookieSync((c=Qe__default.default.Cookie.fromJSON(N(M({},r),{key:r.key||r.name})))!=null?c:"","https://chat.zalo.me");}catch(a){L({options:{logging:this.options.logging}}).error("Failed to set cookie:",a);}return n}validateParams(t){if(!t.imei||!t.cookie||!t.userAgent)throw new p("Missing required params")}async login(t){let e=Ae(this.options.apiType,this.options.apiVersion);return Object.assign(e.options,this.options),this.loginCookie(e,t)}async loginCookie(t,e){await ft(t),this.validateParams(e),t.imei=e.imei,t.cookie=this.parseCookies(e.cookie),t.userAgent=e.userAgent,t.language=e.language||"vi";let n=await ut(t,this.enableEncryptParam),c=await gt(t,this.enableEncryptParam),r=n==null?void 0:n.data;if(!n||!r||!c)throw new p("\u0110\u0103ng nh\u1EADp th\u1EA5t b\u1EA1i");if(t.secretKey=r.zpw_enk,t.uid=r.uid,t.settings=c.setttings||c.settings,t.extraVer=c.extra_ver,t.loginInfo=r,!fe(t))throw new p("Kh\u1EDFi t\u1EA1o ng\u1EEF c\u1EA3nh th\u1EA5t b\u1EA1i.");return L(t).info("Logged in as",r.uid),new Se(t,r.zpw_service_map_v3,r.zpw_ws)}async loginQR(t,e){t||(t={}),t.userAgent||(t.userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"),t.language||(t.language="vi");let n=Ae(this.options.apiType,this.options.apiVersion);Object.assign(n.options,this.options);let c=await Me(n,t,e);if(!c)throw new p("Unable to login with QRCode");let r=at(t.userAgent);return e&&e({type:4,data:{cookie:c.cookies,imei:r,userAgent:t.userAgent},actions:null}),this.loginCookie(n,{cookie:c.cookies,imei:r,userAgent:t.userAgent,language:t.language})}};
4
- exports.API=Se;exports.AutoReplyScope=Rn;exports.BinBankCard=vn;exports.BoardType=ze;exports.BusinessCategory=Fn;exports.BusinessCategoryName=sa;exports.ChatTTL=Do;exports.CloseReason=ht;exports.DestType=qe;exports.FriendEventType=Je;exports.Gender=bn;exports.GroupDeliveredMessage=me;exports.GroupEventType=Ze;exports.GroupMessage=te;exports.GroupSeenMessage=ue;exports.GroupTopicType=wn;exports.GroupType=Sn;exports.GroupTyping=le;exports.LoginQRCallbackEventType=xe;exports.MuteAction=Lo;exports.MuteDuration=Io;exports.Reaction=K;exports.Reactions=je;exports.ReminderRepeatMode=Ve;exports.ReportReason=So;exports.ReviewPendingMemberRequestStatus=co;exports.TextStyle=bo;exports.ThreadType=I;exports.Undo=re;exports.UpdateLangAvailableLanguages=jo;exports.UpdateSettingsType=Wo;exports.Urgency=vo;exports.UserDeliveredMessage=ce;exports.UserMessage=ee;exports.UserSeenMessage=de;exports.UserTyping=ge;exports.Zalo=sn;exports.ZaloApiError=p;exports.ZaloApiLoginQRAborted=ie;exports.ZaloApiLoginQRDeclined=pe;exports.ZaloApiMissingImageMetadataGetter=X;exports.initializeFriendEvent=$e;exports.initializeGroupEvent=Be;//# sourceMappingURL=index.min.cjs.map
5
- //# sourceMappingURL=index.min.cjs.map