console.log(" iRingo: \uD83C\uDF24 WeatherKit"),console.log("response.bundle.js"),console.log("Version: 2.0.6"),console.log("Date: 2025/9/10 00:47:28"),(()=>{"use strict";var t,e,i,a,s,r,o,n,d,c,l,b,p,u,h,_,m,f,y,N,A,I,g;let T=(()=>{let t=Object.keys(globalThis);switch(!0){case t.includes("$task"):return"Quantumult X";case t.includes("$loon"):return"Loon";case t.includes("$rocket"):return"Shadowrocket";case"undefined"!=typeof module:return"Node.js";case t.includes("Egern"):return"Egern";case t.includes("$environment"):if($environment["surge-version"])return"Surge";if($environment["stash-version"])return"Stash";return;default:return}})();class C{static #t=new Map([]);static #e=[];static #i=new Map([]);static clear=()=>{};static count=(t="default")=>{switch(C.#t.has(t)){case!0:C.#t.set(t,C.#t.get(t)+1);break;case!1:C.#t.set(t,0)}C.log(`${t}: ${C.#t.get(t)}`)};static countReset=(t="default")=>{switch(C.#t.has(t)){case!0:C.#t.set(t,0),C.log(`${t}: ${C.#t.get(t)}`);break;case!1:C.warn(`Counter "${t}" doesn’t exist`)}};static debug=(...t)=>{C.#a<4||(t=t.map(t=>`🅱️ ${t}`),C.log(...t))};static error(...t){if(!(C.#a<1)){switch(T){case"Surge":case"Loon":case"Stash":case"Egern":case"Shadowrocket":case"Quantumult X":default:t=t.map(t=>`❌ ${t}`);break;case"Node.js":t=t.map(t=>`❌ ${t.stack}`)}C.log(...t)}}static exception=(...t)=>C.error(...t);static group=t=>C.#e.unshift(t);static groupEnd=()=>C.#e.shift();static info(...t){C.#a<3||(t=t.map(t=>`ℹ️ ${t}`),C.log(...t))}static #a=3;static get logLevel(){switch(C.#a){case 0:return"OFF";case 1:return"ERROR";case 2:return"WARN";case 3:default:return"INFO";case 4:return"DEBUG";case 5:return"ALL"}}static set logLevel(t){switch(typeof t){case"string":t=t.toLowerCase();break;case"number":break;default:t="warn"}switch(t){case 0:case"off":C.#a=0;break;case 1:case"error":C.#a=1;break;case 2:case"warn":case"warning":default:C.#a=2;break;case 3:case"info":C.#a=3;break;case 4:case"debug":C.#a=4;break;case 5:case"all":C.#a=5}}static log=(...t)=>{0!==C.#a&&(t=t.map(t=>{switch(typeof t){case"object":t=JSON.stringify(t);break;case"bigint":case"number":case"boolean":case"string":t=t.toString()}return t}),C.#e.forEach(e=>{(t=t.map(t=>` ${t}`)).unshift(`▼ ${e}:`)}),console.log((t=["",...t]).join("\n")))};static time=(t="default")=>C.#i.set(t,Date.now());static timeEnd=(t="default")=>C.#i.delete(t);static timeLog=(t="default")=>{let e=C.#i.get(t);e?C.log(`${t}: ${Date.now()-e}ms`):C.warn(`Timer "${t}" doesn’t exist`)};static warn(...t){C.#a<2||(t=t.map(t=>`⚠️ ${t}`),C.log(...t))}}class O{static escape(t){let e={"&":"&","<":"<",">":">",'"':""","'":"'"};return t.replace(/[&<>"']/g,t=>e[t])}static get(t={},e="",i){Array.isArray(e)||(e=O.toPath(e));let a=e.reduce((t,e)=>Object(t)[e],t);return void 0===a?i:a}static omit(t={},e=[]){return Array.isArray(e)||(e=[e.toString()]),e.forEach(e=>O.unset(t,e)),t}static pick(t={},e=[]){return Array.isArray(e)||(e=[e.toString()]),Object.fromEntries(Object.entries(t).filter(([t,i])=>e.includes(t)))}static set(t,e,i){return Array.isArray(e)||(e=O.toPath(e)),e.slice(0,-1).reduce((t,i,a)=>Object(t[i])===t[i]?t[i]:t[i]=/^\d+$/.test(e[a+1])?[]:{},t)[e[e.length-1]]=i,t}static toPath(t){return t.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean)}static unescape(t){let e={"&":"&","<":"<",">":">",""":'"',"'":"'"};return t.replace(/&|<|>|"|'/g,t=>e[t])}static unset(t={},e=""){return Array.isArray(e)||(e=O.toPath(e)),e.reduce((t,i,a)=>a===e.length-1?(delete t[i],!0):Object(t)[i],t)}}let S={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",304:"Not Modified",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function w(t,e){let i=e?new Date(e):new Date;for(let[e,a]of Object.entries({YY:i.getFullYear().toString().substring(3),yyyy:i.getFullYear().toString(),MM:(i.getMonth()+1).toString().padStart(2,"0"),dd:i.getDate().toString().padStart(2,"0"),HH:i.getHours().toString().padStart(2,"0"),mm:i.getMinutes().toString().padStart(2,"0"),sss:i.getMilliseconds().toString().padStart(3,"0"),ss:i.getSeconds().toString().padStart(2,"0"),S:`${Math.floor(i.getMonth()/3)+1}`}))t=t.replace(e,a);return t}async function F(t,e={}){switch(typeof t){case"object":t={...e,...t};break;case"string":t={...e,url:t};break;default:throw TypeError(`${Function.name}: 参数类型错误, resource 必须为对象或字符串`)}!t.method&&(t.method="GET",(t.body??t.bodyBytes)&&(t.method="POST")),delete t.headers?.Host,delete t.headers?.[":authority"],delete t.headers?.["Content-Length"],delete t.headers?.["content-length"];let i=t.method.toLocaleLowerCase();switch(!t.timeout&&(t.timeout=5),t.timeout&&(t.timeout=Number.parseInt(t.timeout,10),t.timeout>500&&(t.timeout=Math.round(t.timeout/1e3))),T){case"Loon":case"Surge":case"Stash":case"Egern":case"Shadowrocket":default:if(t.timeout&&"Loon"===T&&(t.timeout=1e3*t.timeout),t.policy)switch(T){case"Loon":t.node=t.policy;break;case"Stash":O.set(t,"headers.X-Stash-Selected-Proxy",encodeURI(t.policy));break;case"Shadowrocket":O.set(t,"headers.X-Surge-Proxy",t.policy)}switch("boolean"==typeof t.redirection&&(t["auto-redirect"]=t.redirection),t.bodyBytes&&!t.body&&(t.body=t.bodyBytes,t.bodyBytes=void 0),(t.headers?.Accept||t.headers?.accept)?.split(";")?.[0]){case"application/protobuf":case"application/x-protobuf":case"application/vnd.google.protobuf":case"application/vnd.apple.flatbuffer":case"application/grpc":case"application/grpc+proto":case"application/octet-stream":t["binary-mode"]=!0}return await new Promise((e,a)=>{$httpClient[i](t,(i,s,r)=>{i?a(i):(s.ok=/^2\d\d$/.test(s.status),s.statusCode=s.status,s.statusText=S[s.status],r&&(s.body=r,!0==t["binary-mode"]&&(s.bodyBytes=r)),e(s))})});case"Quantumult X":return t.timeout=1e3*t.timeout,t.policy&&O.set(t,"opts.policy",t.policy),"boolean"==typeof t["auto-redirect"]&&O.set(t,"opts.redirection",t["auto-redirect"]),t.body instanceof ArrayBuffer?(t.bodyBytes=t.body,t.body=void 0):ArrayBuffer.isView(t.body)?(t.bodyBytes=t.body.buffer.slice(t.body.byteOffset,t.body.byteLength+t.body.byteOffset),t.body=void 0):t.body&&(t.bodyBytes=void 0),Promise.race([await $task.fetch(t).then(t=>{switch(t.ok=/^2\d\d$/.test(t.statusCode),t.status=t.statusCode,t.statusText=S[t.status],(t.headers?.["Content-Type"]??t.headers?.["content-type"])?.split(";")?.[0]){case"application/protobuf":case"application/x-protobuf":case"application/vnd.google.protobuf":case"application/vnd.apple.flatbuffer":case"application/grpc":case"application/grpc+proto":case"application/octet-stream":t.body=t.bodyBytes}return t.bodyBytes=void 0,t},t=>Promise.reject(t.error)),new Promise((e,i)=>{setTimeout(()=>{i(Error(`${Function.name}: 请求超时, 请检查网络后重试`))},t.timeout)})]);case"Node.js":{let e=globalThis.fetch?globalThis.fetch:require("node-fetch"),i=(globalThis.fetchCookie?globalThis.fetchCookie:require("fetch-cookie").default)(e);t.timeout=1e3*t.timeout,t.redirect=t.redirection?"follow":"manual";let{url:a,...s}=t;return Promise.race([await i(a,s).then(async t=>{let e,i=await t.arrayBuffer();try{e=t.headers.raw()}catch{e=Array.from(t.headers.entries()).reduce((t,[e,i])=>(t[e]=t[e]?[...t[e],i]:[i],t),{})}return{ok:t.ok??/^2\d\d$/.test(t.status),status:t.status,statusCode:t.status,statusText:t.statusText,body:new TextDecoder("utf-8").decode(i),bodyBytes:i,headers:Object.fromEntries(Object.entries(e).map(([t,e])=>[t,"set-cookie"!==t.toLowerCase()?e.toString():e]))}}).catch(t=>Promise.reject(t.message)),new Promise((e,i)=>{setTimeout(()=>{i(Error(`${Function.name}: 请求超时, 请检查网络后重试`))},t.timeout)})])}}}class v{static data=null;static dataFile="box.dat";static #s=/^@(?[^.]+)(?:\.(?.*))?$/;static getItem(t,e=null){let i=e;if(!0===t.startsWith("@")){let{key:e,path:a}=t.match(v.#s)?.groups;t=e;let s=v.getItem(t,{});"object"!=typeof s&&(s={}),i=O.get(s,a);try{i=JSON.parse(i)}catch(t){}}else{switch(T){case"Surge":case"Loon":case"Stash":case"Egern":case"Shadowrocket":i=$persistentStore.read(t);break;case"Quantumult X":i=$prefs.valueForKey(t);break;case"Node.js":v.data=v.#r(v.dataFile),i=v.data?.[t];break;default:i=v.data?.[t]||null}try{i=JSON.parse(i)}catch(t){}}return i??e}static setItem(t=new String,e=new String){let i=!1;if(e="object"==typeof e?JSON.stringify(e):String(e),!0===t.startsWith("@")){let{key:a,path:s}=t.match(v.#s)?.groups;t=a;let r=v.getItem(t,{});"object"!=typeof r&&(r={}),O.set(r,s,e),i=v.setItem(t,r)}else switch(T){case"Surge":case"Loon":case"Stash":case"Egern":case"Shadowrocket":i=$persistentStore.write(e,t);break;case"Quantumult X":i=$prefs.setValueForKey(e,t);break;case"Node.js":v.data=v.#r(v.dataFile),v.data[t]=e,v.#o(v.dataFile),i=!0;break;default:i=v.data?.[t]||null}return i}static removeItem(t){let e=!1;if(!0===t.startsWith("@")){let{key:i,path:a}=t.match(v.#s)?.groups;t=i;let s=v.getItem(t);"object"!=typeof s&&(s={}),keyValue=O.unset(s,a),e=v.setItem(t,s)}else switch(T){case"Surge":case"Loon":case"Stash":case"Egern":case"Shadowrocket":case"Node.js":default:e=!1;break;case"Quantumult X":e=$prefs.removeValueForKey(t)}return e}static clear(){let t=!1;switch(T){case"Surge":case"Loon":case"Stash":case"Egern":case"Shadowrocket":case"Node.js":default:t=!1;break;case"Quantumult X":t=$prefs.removeAllValues()}return t}static #r=t=>{if("Node.js"!==T)return{};{this.fs=this.fs?this.fs:require("node:fs"),this.path=this.path?this.path:require("node:path");let e=this.path.resolve(t),i=this.path.resolve(process.cwd(),t),a=this.fs.existsSync(e),s=!a&&this.fs.existsSync(i);if(!a&&!s)return{};try{return JSON.parse(this.fs.readFileSync(a?e:i))}catch(t){return{}}}};static #o=(t=this.dataFile)=>{if("Node.js"===T){this.fs=this.fs?this.fs:require("node:fs"),this.path=this.path?this.path:require("node:path");let e=this.path.resolve(t),i=this.path.resolve(process.cwd(),t),a=this.fs.existsSync(e),s=!a&&this.fs.existsSync(i),r=JSON.stringify(this.data);a?this.fs.writeFileSync(e,r):s?this.fs.writeFileSync(i,r):this.fs.writeFileSync(e,r)}}}function P(t){return/^\d+$/.test(t)&&(t=Number.parseInt(t,10)),t}let x={WeatherKit:{Settings:{DataSets:["airQuality","currentWeather","forecastDaily","forecastHourly","forecastNextHour","locationInfo","news","historicalComparisons","weatherAlerts","weatherChanges"],Weather:{Provider:"WeatherKit"},NextHour:{Provider:"ColorfulClouds"},AQI:{Provider:"ColorfulClouds",ReplaceProviders:["QWeather"],ComparisonProvider:"Auto",Local:{Scale:"EPA_NowCast",ReplaceScales:["HJ6332012"],ConvertUnits:!1}},API:{WAQI:{Token:null},QWeather:{Token:null,Host:"devapi.qweather.com"},ColorfulClouds:{Token:null}}},Configs:{Availability:{v1:["currentWeather","dailyForecast","hourlyForecast","minuteForecast","weatherAlerts"],v2:["airQuality","currentWeather","forecastDaily","forecastHourly","forecastPeriodic","historicalComparisons","weatherChanges","forecastNextHour","weatherAlerts","weatherAlertNotifications","news"]}}},Default:{Settings:{LogLevel:"WARN"},Configs:{Storefront:{AE:"143481",AF:"143610",AG:"143540",AI:"143538",AL:"143575",AM:"143524",AO:"143564",AR:"143505",AT:"143445",AU:"143460",AZ:"143568",BA:"143612",BB:"143541",BD:"143490",BE:"143446",BF:"143578",BG:"143526",BH:"143559",BJ:"143576",BM:"143542",BN:"143560",BO:"143556",BR:"143503",BS:"143539",BT:"143577",BW:"143525",BY:"143565",BZ:"143555",CA:"143455",CD:"143613",CG:"143582",CH:"143459",CI:"143527",CL:"143483",CM:"143574",CN:"143465",CO:"143501",CR:"143495",CV:"143580",CY:"143557",CZ:"143489",DE:"143443",DK:"143458",DM:"143545",DO:"143508",DZ:"143563",EC:"143509",EE:"143518",EG:"143516",ES:"143454",FI:"143447",FJ:"143583",FM:"143591",FR:"143442",GA:"143614",GB:"143444",GD:"143546",GF:"143615",GH:"143573",GM:"143584",GR:"143448",GT:"143504",GW:"143585",GY:"143553",HK:"143463",HN:"143510",HR:"143494",HU:"143482",ID:"143476",IE:"143449",IL:"143491",IN:"143467",IQ:"143617",IS:"143558",IT:"143450",JM:"143511",JO:"143528",JP:"143462",KE:"143529",KG:"143586",KH:"143579",KN:"143548",KP:"143466",KR:"143466",KW:"143493",KY:"143544",KZ:"143517",TC:"143552",TD:"143581",TJ:"143603",TH:"143475",TM:"143604",TN:"143536",TO:"143608",TR:"143480",TT:"143551",TW:"143470",TZ:"143572",LA:"143587",LB:"143497",LC:"143549",LI:"143522",LK:"143486",LR:"143588",LT:"143520",LU:"143451",LV:"143519",LY:"143567",MA:"143620",MD:"143523",ME:"143619",MG:"143531",MK:"143530",ML:"143532",MM:"143570",MN:"143592",MO:"143515",MR:"143590",MS:"143547",MT:"143521",MU:"143533",MV:"143488",MW:"143589",MX:"143468",MY:"143473",MZ:"143593",NA:"143594",NE:"143534",NG:"143561",NI:"143512",NL:"143452",NO:"143457",NP:"143484",NR:"143606",NZ:"143461",OM:"143562",PA:"143485",PE:"143507",PG:"143597",PH:"143474",PK:"143477",PL:"143478",PT:"143453",PW:"143595",PY:"143513",QA:"143498",RO:"143487",RS:"143500",RU:"143469",RW:"143621",SA:"143479",SB:"143601",SC:"143599",SE:"143456",SG:"143464",SI:"143499",SK:"143496",SL:"143600",SN:"143535",SR:"143554",ST:"143598",SV:"143506",SZ:"143602",UA:"143492",UG:"143537",US:"143441",UY:"143514",UZ:"143566",VC:"143550",VE:"143502",VG:"143543",VN:"143471",VU:"143609",XK:"143624",YE:"143571",ZA:"143472",ZM:"143622",ZW:"143605"}}}},E=new Int32Array(2),M=new Float32Array(E.buffer),R=new Float64Array(E.buffer),U=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0];!function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"}(t||(t={}));class L{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new L(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){M["0"]=e,this.writeInt32(t,E["0"])}writeFloat64(t,e){R["0"]=e,this.writeInt32(t,E[+!U]),this.writeInt32(t+4,E[+!!U])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space=0&&0==this.vtable[e];e--);let i=e+1;for(;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);let a=(i+2)*2;this.addInt16(a);let s=0,r=this.space;t:for(e=0;e=0;t--)this.writeInt8(e.charCodeAt(t))}this.prep(this.minalign,4+a),this.addOffset(t),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){let i=this.bb.capacity()-t,a=i-this.bb.readInt32(i);if(!(e=0;i--)t.addOffset(e[i]);return t.endVector()}static startPollutantsVector(t,e){t.startVector(4,e,4)}static addPreviousDayComparison(t,i){t.addFieldInt8(5,i,e.UNKNOWN)}static addPrimaryPollutant(t,e){t.addFieldInt8(6,e,a.NOT_AVAILABLE)}static addScale(t,e){t.addFieldOffset(7,e,0)}static endAirQuality(t){return t.endObject()}static createAirQuality(t,e,i,a,s,r,o,n,d){return k.startAirQuality(t),k.addMetadata(t,e),k.addCategoryIndex(t,i),k.addIndex(t,a),k.addIsSignificant(t,s),k.addPollutants(t,r),k.addPreviousDayComparison(t,o),k.addPrimaryPollutant(t,n),k.addScale(t,d),k.endAirQuality(t)}}class H{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsArticles(t,e){return(e||new H).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsArticles(t,e){return t.setPosition(t.position()+4),(e||new H).__init(t.readInt32(t.position())+t.position(),t)}id(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}supportedStorefronts(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*t,e):null}supportedStorefrontsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}alertIds(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*t,e):null}alertIdsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}phenomena(t,e){let i=this.bb.__offset(this.bb_pos,10);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*t,e):null}phenomenaLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}headlineOverride(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}locale(t){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__string(this.bb_pos+e,t):null}static startArticles(t){t.startObject(6)}static addId(t,e){t.addFieldOffset(0,e,0)}static addSupportedStorefronts(t,e){t.addFieldOffset(1,e,0)}static createSupportedStorefrontsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startSupportedStorefrontsVector(t,e){t.startVector(4,e,4)}static addAlertIds(t,e){t.addFieldOffset(2,e,0)}static createAlertIdsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startAlertIdsVector(t,e){t.startVector(4,e,4)}static addPhenomena(t,e){t.addFieldOffset(3,e,0)}static createPhenomenaVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPhenomenaVector(t,e){t.startVector(4,e,4)}static addHeadlineOverride(t,e){t.addFieldOffset(4,e,0)}static addLocale(t,e){t.addFieldOffset(5,e,0)}static endArticles(t){return t.endObject()}static createArticles(t,e,i,a,s,r,o){return H.startArticles(t),H.addId(t,e),H.addSupportedStorefronts(t,i),H.addAlertIds(t,a),H.addPhenomena(t,s),H.addHeadlineOverride(t,r),H.addLocale(t,o),H.endArticles(t)}}!function(t){t[t.MEAN=0]="MEAN",t[t.UNKNOWN1=1]="UNKNOWN1",t[t.UNKNOWN2=2]="UNKNOWN2",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.UNKNOWN5=5]="UNKNOWN5"}(r||(r={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.OBSERVED=1]="OBSERVED",t[t.LIKELY=2]="LIKELY",t[t.POSSIBLE=3]="POSSIBLE",t[t.UNLIKELY=4]="UNLIKELY",t[t.UNKNOWN5=5]="UNKNOWN5"}(o||(o={})),function(t){t[t.STEADY=0]="STEADY",t[t.INC=1]="INC",t[t.DEC=2]="DEC",t[t.UNKNOWN3=3]="UNKNOWN3"}(n||(n={}));class V{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsChange(t,e){return(e||new V).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsChange(t,e){return t.setPosition(t.position()+4),(e||new V).__init(t.readInt32(t.position())+t.position(),t)}forecastStart(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}forecastEnd(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}maxTemperatureChange(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):n.STEADY}minTemperatureChange(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):n.STEADY}dayPrecipitationChange(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):n.STEADY}nightPrecipitationChange(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):n.STEADY}static startChange(t){t.startObject(6)}static addForecastStart(t,e){t.addFieldInt32(0,e,0)}static addForecastEnd(t,e){t.addFieldInt32(1,e,0)}static addMaxTemperatureChange(t,e){t.addFieldInt8(2,e,n.STEADY)}static addMinTemperatureChange(t,e){t.addFieldInt8(3,e,n.STEADY)}static addDayPrecipitationChange(t,e){t.addFieldInt8(4,e,n.STEADY)}static addNightPrecipitationChange(t,e){t.addFieldInt8(5,e,n.STEADY)}static endChange(t){return t.endObject()}static createChange(t,e,i,a,s,r,o){return V.startChange(t),V.addForecastStart(t,e),V.addForecastEnd(t,i),V.addMaxTemperatureChange(t,a),V.addMinTemperatureChange(t,s),V.addDayPrecipitationChange(t,r),V.addNightPrecipitationChange(t,o),V.endChange(t)}}!function(t){t[t.UNKNOWN0=0]="UNKNOWN0",t[t.TEMPERATURE_MAX=1]="TEMPERATURE_MAX",t[t.PRECIPITATION=2]="PRECIPITATION",t[t.UNKNOWN3=3]="UNKNOWN3"}(d||(d={})),function(t){t[t.MUCHHIGHER=0]="MUCHHIGHER",t[t.HIGHER=1]="HIGHER",t[t.NORMAL=2]="NORMAL",t[t.LOWER=3]="LOWER",t[t.MUCHLOWER=4]="MUCHLOWER",t[t.UNKNOWN5=5]="UNKNOWN5"}(c||(c={}));class K{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsComparison(t,e){return(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsComparison(t,e){return t.setPosition(t.position()+4),(e||new K).__init(t.readInt32(t.position())+t.position(),t)}condition(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):d.UNKNOWN0}currentValue(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb_pos+t):0}baselineValue(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readFloat32(this.bb_pos+t):0}deviation(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):c.MUCHHIGHER}baselineType(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}baselineStartDate(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readUint32(this.bb_pos+t):0}static startComparison(t){t.startObject(6)}static addCondition(t,e){t.addFieldInt8(0,e,d.UNKNOWN0)}static addCurrentValue(t,e){t.addFieldFloat32(1,e,0)}static addBaselineValue(t,e){t.addFieldFloat32(2,e,0)}static addDeviation(t,e){t.addFieldInt8(3,e,c.MUCHHIGHER)}static addBaselineType(t,e){t.addFieldInt32(4,e,0)}static addBaselineStartDate(t,e){t.addFieldInt32(5,e,0)}static endComparison(t){return t.endObject()}static createComparison(t,e,i,a,s,r,o){return K.startComparison(t),K.addCondition(t,e),K.addCurrentValue(t,i),K.addBaselineValue(t,a),K.addDeviation(t,s),K.addBaselineType(t,r),K.addBaselineStartDate(t,o),K.endComparison(t)}}!function(t){t[t.CLEAR=0]="CLEAR",t[t.UNKNOWN1=1]="UNKNOWN1",t[t.UNKNOWN2=2]="UNKNOWN2",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.HEAVY_RAIN=5]="HEAVY_RAIN",t[t.RAIN=6]="RAIN",t[t.DRIZZLE=7]="DRIZZLE",t[t.POSSIBLE_DRIZZLE=8]="POSSIBLE_DRIZZLE",t[t.UNKNOWN9=9]="UNKNOWN9",t[t.UNKNOWN10=10]="UNKNOWN10",t[t.UNKNOWN11=11]="UNKNOWN11",t[t.UNKNOWN12=12]="UNKNOWN12",t[t.UNKNOWN13=13]="UNKNOWN13",t[t.UNKNOWN14=14]="UNKNOWN14",t[t.SNOW=15]="SNOW",t[t.UNKNOWN16=16]="UNKNOWN16",t[t.UNKNOWN17=17]="UNKNOWN17",t[t.UNKNOWN18=18]="UNKNOWN18"}(l||(l={})),function(t){t[t.CLEAR=0]="CLEAR",t[t.START=1]="START",t[t.STOP=2]="STOP",t[t.START_STOP=3]="START_STOP",t[t.STOP_START=4]="STOP_START",t[t.CONSTANT=5]="CONSTANT",t[t.UNKNOWN6=6]="UNKNOWN6",t[t.UNKNOWN7=7]="UNKNOWN7"}(b||(b={})),function(t){t[t.FIRST_AT=0]="FIRST_AT",t[t.SECOND_AT=1]="SECOND_AT",t[t.UNKNOWN2=2]="UNKNOWN2"}(p||(p={}));class ${bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsParameter(t,e){return(e||new $).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsParameter(t,e){return t.setPosition(t.position()+4),(e||new $).__init(t.readInt32(t.position())+t.position(),t)}type(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):p.FIRST_AT}date(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}static startParameter(t){t.startObject(2)}static addType(t,e){t.addFieldInt8(0,e,p.FIRST_AT)}static addDate(t,e){t.addFieldInt32(1,e,0)}static endParameter(t){return t.endObject()}static createParameter(t,e,i){return $.startParameter(t),$.addType(t,e),$.addDate(t,i),$.endParameter(t)}}class G{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCondition(t,e){return(e||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCondition(t,e){return t.setPosition(t.position()+4),(e||new G).__init(t.readInt32(t.position())+t.position(),t)}startTime(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}endTime(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}forecastToken(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):b.CLEAR}beginCondition(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):l.CLEAR}endCondition(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):l.CLEAR}parameters(t,e){let i=this.bb.__offset(this.bb_pos,14);return i?(e||new $).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}parametersLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}static startCondition(t){t.startObject(6)}static addStartTime(t,e){t.addFieldInt32(0,e,0)}static addEndTime(t,e){t.addFieldInt32(1,e,0)}static addForecastToken(t,e){t.addFieldInt8(2,e,b.CLEAR)}static addBeginCondition(t,e){t.addFieldInt8(3,e,l.CLEAR)}static addEndCondition(t,e){t.addFieldInt8(4,e,l.CLEAR)}static addParameters(t,e){t.addFieldOffset(5,e,0)}static createParametersVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startParametersVector(t,e){t.startVector(4,e,4)}static endCondition(t){return t.endObject()}static createCondition(t,e,i,a,s,r,o){return G.startCondition(t),G.addStartTime(t,e),G.addEndTime(t,i),G.addForecastToken(t,a),G.addBeginCondition(t,s),G.addEndCondition(t,r),G.addParameters(t,o),G.endCondition(t)}}!function(t){t[t.CLEAR=0]="CLEAR",t[t.RAIN=1]="RAIN",t[t.SNOW=2]="SNOW",t[t.SLEET=3]="SLEET",t[t.HAIL=4]="HAIL",t[t.MIXED=5]="MIXED",t[t.UNKNOWN6=6]="UNKNOWN6"}(u||(u={}));class Q{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPrecipitationAmountByType(t,e){return(e||new Q).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPrecipitationAmountByType(t,e){return t.setPosition(t.position()+4),(e||new Q).__init(t.readInt32(t.position())+t.position(),t)}precipitationType(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):u.CLEAR}expected(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb_pos+t):0}minimumSnow(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readFloat32(this.bb_pos+t):0}maximumSnow(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readFloat32(this.bb_pos+t):0}expectedSnow(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readFloat32(this.bb_pos+t):0}static startPrecipitationAmountByType(t){t.startObject(5)}static addPrecipitationType(t,e){t.addFieldInt8(0,e,u.CLEAR)}static addExpected(t,e){t.addFieldFloat32(1,e,0)}static addMinimumSnow(t,e){t.addFieldFloat32(2,e,0)}static addMaximumSnow(t,e){t.addFieldFloat32(3,e,0)}static addExpectedSnow(t,e){t.addFieldFloat32(4,e,0)}static endPrecipitationAmountByType(t){return t.endObject()}static createPrecipitationAmountByType(t,e,i,a,s,r){return Q.startPrecipitationAmountByType(t),Q.addPrecipitationType(t,e),Q.addExpected(t,i),Q.addMinimumSnow(t,a),Q.addMaximumSnow(t,s),Q.addExpectedSnow(t,r),Q.endPrecipitationAmountByType(t)}}!function(t){t[t.RISING=0]="RISING",t[t.FALLING=1]="FALLING",t[t.STEADY=2]="STEADY",t[t.UNKNOWN3=3]="UNKNOWN3"}(h||(h={})),function(t){t[t.CLEAR=0]="CLEAR",t[t.BLIZZARD=1]="BLIZZARD",t[t.PRECIPITATION=2]="PRECIPITATION",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.CLOUDY=5]="CLOUDY",t[t.DRIZZLE=6]="DRIZZLE",t[t.FLURRIES=7]="FLURRIES",t[t.FOGGY=8]="FOGGY",t[t.UNKNOWN9=9]="UNKNOWN9",t[t.UNKNOWN10=10]="UNKNOWN10",t[t.UNKNOWN11=11]="UNKNOWN11",t[t.UNKNOWN12=12]="UNKNOWN12",t[t.HAZE=13]="HAZE",t[t.HEAVY_RAIN=14]="HEAVY_RAIN",t[t.HEAVY_SNOW=15]="HEAVY_SNOW",t[t.UNKNOWN16=16]="UNKNOWN16",t[t.UNKNOWN17=17]="UNKNOWN17",t[t.ISOLATED_THUNDERSTORMS=18]="ISOLATED_THUNDERSTORMS",t[t.MOSTLY_CLEAR=19]="MOSTLY_CLEAR",t[t.MOSTLY_CLOUDY=20]="MOSTLY_CLOUDY",t[t.PARTLY_CLOUDY=21]="PARTLY_CLOUDY",t[t.RAIN=22]="RAIN",t[t.UNKNOWN23=23]="UNKNOWN23",t[t.UNKNOWN24=24]="UNKNOWN24",t[t.UNKNOWN25=25]="UNKNOWN25",t[t.SNOW=26]="SNOW",t[t.UNKNOWN27=27]="UNKNOWN27",t[t.UNKNOWN28=28]="UNKNOWN28",t[t.FREEZING_DRIZZLE=29]="FREEZING_DRIZZLE",t[t.THUNDERSTORMS=30]="THUNDERSTORMS",t[t.UNKNOWN31=31]="UNKNOWN31",t[t.WINDY=32]="WINDY",t[t.UNKNOWN33=33]="UNKNOWN33",t[t.UNKNOWN34=34]="UNKNOWN34",t[t.UNKNOWN35=35]="UNKNOWN35",t[t.UNKNOWN36=36]="UNKNOWN36",t[t.UNKNOWN37=37]="UNKNOWN37",t[t.UNKNOWN38=38]="UNKNOWN38",t[t.UNKNOWN39=39]="UNKNOWN39",t[t.UNKNOWN40=40]="UNKNOWN40",t[t.UNKNOWN41=41]="UNKNOWN41",t[t.UNKNOWN42=42]="UNKNOWN42",t[t.UNKNOWN43=43]="UNKNOWN43",t[t.UNKNOWN44=44]="UNKNOWN44"}(_||(_={}));class j{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCurrentWeatherData(t,e){return(e||new j).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCurrentWeatherData(t,e){return t.setPosition(t.position()+4),(e||new j).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}asOf(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}cloudCover(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverLowAltPct(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverMidAltPct(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverHighAltPct(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):0}conditionCode(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt8(this.bb_pos+t):_.CLEAR}daylight(){let t=this.bb.__offset(this.bb_pos,18);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}humidity(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt8(this.bb_pos+t):0}perceivedPrecipitationIntensity(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmount1h(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmount6h(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmount24h(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountNext1h(){let t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountNext6h(){let t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountNext24h(){let t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountNext1hByType(t,e){let i=this.bb.__offset(this.bb_pos,36);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountNext1hByTypeLength(){let t=this.bb.__offset(this.bb_pos,36);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationAmountNext6hByType(t,e){let i=this.bb.__offset(this.bb_pos,38);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountNext6hByTypeLength(){let t=this.bb.__offset(this.bb_pos,38);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationAmountNext24hByType(t,e){let i=this.bb.__offset(this.bb_pos,40);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountNext24hByTypeLength(){let t=this.bb.__offset(this.bb_pos,40);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationAmountPrevious1hByType(t,e){let i=this.bb.__offset(this.bb_pos,42);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountPrevious1hByTypeLength(){let t=this.bb.__offset(this.bb_pos,42);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationAmountPrevious6hByType(t,e){let i=this.bb.__offset(this.bb_pos,44);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountPrevious6hByTypeLength(){let t=this.bb.__offset(this.bb_pos,44);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationAmountPrevious24hByType(t,e){let i=this.bb.__offset(this.bb_pos,46);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountPrevious24hByTypeLength(){let t=this.bb.__offset(this.bb_pos,46);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationIntensity(){let t=this.bb.__offset(this.bb_pos,48);return t?this.bb.readFloat32(this.bb_pos+t):0}pressure(){let t=this.bb.__offset(this.bb_pos,50);return t?this.bb.readFloat32(this.bb_pos+t):0}pressureTrend(){let t=this.bb.__offset(this.bb_pos,52);return t?this.bb.readInt8(this.bb_pos+t):h.RISING}snowfallAmount1h(){let t=this.bb.__offset(this.bb_pos,54);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallAmount6h(){let t=this.bb.__offset(this.bb_pos,56);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallAmount24h(){let t=this.bb.__offset(this.bb_pos,58);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallAmountNext1h(){let t=this.bb.__offset(this.bb_pos,60);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallAmountNext6h(){let t=this.bb.__offset(this.bb_pos,62);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallAmountNext24h(){let t=this.bb.__offset(this.bb_pos,64);return t?this.bb.readFloat32(this.bb_pos+t):0}temperature(){let t=this.bb.__offset(this.bb_pos,66);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureApparent(){let t=this.bb.__offset(this.bb_pos,68);return t?this.bb.readFloat32(this.bb_pos+t):0}unknown34(){let t=this.bb.__offset(this.bb_pos,70);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureDewPoint(){let t=this.bb.__offset(this.bb_pos,72);return t?this.bb.readFloat32(this.bb_pos+t):0}uvIndex(){let t=this.bb.__offset(this.bb_pos,74);return t?this.bb.readInt8(this.bb_pos+t):0}visibility(){let t=this.bb.__offset(this.bb_pos,76);return t?this.bb.readFloat32(this.bb_pos+t):0}windDirection(){let t=this.bb.__offset(this.bb_pos,78);return t?this.bb.readInt16(this.bb_pos+t):0}windGust(){let t=this.bb.__offset(this.bb_pos,80);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeed(){let t=this.bb.__offset(this.bb_pos,82);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCurrentWeatherData(t){t.startObject(40)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addAsOf(t,e){t.addFieldInt32(1,e,0)}static addCloudCover(t,e){t.addFieldInt8(2,e,0)}static addCloudCoverLowAltPct(t,e){t.addFieldInt8(3,e,0)}static addCloudCoverMidAltPct(t,e){t.addFieldInt8(4,e,0)}static addCloudCoverHighAltPct(t,e){t.addFieldInt8(5,e,0)}static addConditionCode(t,e){t.addFieldInt8(6,e,_.CLEAR)}static addDaylight(t,e){t.addFieldInt8(7,+e,0)}static addHumidity(t,e){t.addFieldInt8(8,e,0)}static addPerceivedPrecipitationIntensity(t,e){t.addFieldFloat32(9,e,0)}static addPrecipitationAmount1h(t,e){t.addFieldFloat32(10,e,0)}static addPrecipitationAmount6h(t,e){t.addFieldFloat32(11,e,0)}static addPrecipitationAmount24h(t,e){t.addFieldFloat32(12,e,0)}static addPrecipitationAmountNext1h(t,e){t.addFieldFloat32(13,e,0)}static addPrecipitationAmountNext6h(t,e){t.addFieldFloat32(14,e,0)}static addPrecipitationAmountNext24h(t,e){t.addFieldFloat32(15,e,0)}static addPrecipitationAmountNext1hByType(t,e){t.addFieldOffset(16,e,0)}static createPrecipitationAmountNext1hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountNext1hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationAmountNext6hByType(t,e){t.addFieldOffset(17,e,0)}static createPrecipitationAmountNext6hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountNext6hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationAmountNext24hByType(t,e){t.addFieldOffset(18,e,0)}static createPrecipitationAmountNext24hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountNext24hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationAmountPrevious1hByType(t,e){t.addFieldOffset(19,e,0)}static createPrecipitationAmountPrevious1hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountPrevious1hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationAmountPrevious6hByType(t,e){t.addFieldOffset(20,e,0)}static createPrecipitationAmountPrevious6hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountPrevious6hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationAmountPrevious24hByType(t,e){t.addFieldOffset(21,e,0)}static createPrecipitationAmountPrevious24hByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountPrevious24hByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationIntensity(t,e){t.addFieldFloat32(22,e,0)}static addPressure(t,e){t.addFieldFloat32(23,e,0)}static addPressureTrend(t,e){t.addFieldInt8(24,e,h.RISING)}static addSnowfallAmount1h(t,e){t.addFieldFloat32(25,e,0)}static addSnowfallAmount6h(t,e){t.addFieldFloat32(26,e,0)}static addSnowfallAmount24h(t,e){t.addFieldFloat32(27,e,0)}static addSnowfallAmountNext1h(t,e){t.addFieldFloat32(28,e,0)}static addSnowfallAmountNext6h(t,e){t.addFieldFloat32(29,e,0)}static addSnowfallAmountNext24h(t,e){t.addFieldFloat32(30,e,0)}static addTemperature(t,e){t.addFieldFloat32(31,e,0)}static addTemperatureApparent(t,e){t.addFieldFloat32(32,e,0)}static addUnknown34(t,e){t.addFieldFloat32(33,e,0)}static addTemperatureDewPoint(t,e){t.addFieldFloat32(34,e,0)}static addUvIndex(t,e){t.addFieldInt8(35,e,0)}static addVisibility(t,e){t.addFieldFloat32(36,e,0)}static addWindDirection(t,e){t.addFieldInt16(37,e,0)}static addWindGust(t,e){t.addFieldFloat32(38,e,0)}static addWindSpeed(t,e){t.addFieldFloat32(39,e,0)}static endCurrentWeatherData(t){return t.endObject()}static createCurrentWeatherData(t,e,i,a,s,r,o,n,d,c,l,b,p,u,h,_,m,f,y,N,A,I,g,T,C,O,S,w,F,v,P,x,E,M,R,U,L,W,D,B,k){return j.startCurrentWeatherData(t),j.addMetadata(t,e),j.addAsOf(t,i),j.addCloudCover(t,a),j.addCloudCoverLowAltPct(t,s),j.addCloudCoverMidAltPct(t,r),j.addCloudCoverHighAltPct(t,o),j.addConditionCode(t,n),j.addDaylight(t,d),j.addHumidity(t,c),j.addPerceivedPrecipitationIntensity(t,l),j.addPrecipitationAmount1h(t,b),j.addPrecipitationAmount6h(t,p),j.addPrecipitationAmount24h(t,u),j.addPrecipitationAmountNext1h(t,h),j.addPrecipitationAmountNext6h(t,_),j.addPrecipitationAmountNext24h(t,m),j.addPrecipitationAmountNext1hByType(t,f),j.addPrecipitationAmountNext6hByType(t,y),j.addPrecipitationAmountNext24hByType(t,N),j.addPrecipitationAmountPrevious1hByType(t,A),j.addPrecipitationAmountPrevious6hByType(t,I),j.addPrecipitationAmountPrevious24hByType(t,g),j.addPrecipitationIntensity(t,T),j.addPressure(t,C),j.addPressureTrend(t,O),j.addSnowfallAmount1h(t,S),j.addSnowfallAmount6h(t,w),j.addSnowfallAmount24h(t,F),j.addSnowfallAmountNext1h(t,v),j.addSnowfallAmountNext6h(t,P),j.addSnowfallAmountNext24h(t,x),j.addTemperature(t,E),j.addTemperatureApparent(t,M),j.addUnknown34(t,R),j.addTemperatureDewPoint(t,U),j.addUvIndex(t,L),j.addVisibility(t,W),j.addWindDirection(t,D),j.addWindGust(t,B),j.addWindSpeed(t,k),j.endCurrentWeatherData(t)}}class Y{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDayPartForecast(t,e){return(e||new Y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDayPartForecast(t,e){return t.setPosition(t.position()+4),(e||new Y).__init(t.readInt32(t.position())+t.position(),t)}forecastStart(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}forecastEnd(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}cloudCover(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverLowAltPct(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverMidAltPct(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverHighAltPct(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):0}conditionCode(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt8(this.bb_pos+t):_.CLEAR}humidity(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt8(this.bb_pos+t):0}humidityMax(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt8(this.bb_pos+t):0}humidityMin(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationAmount(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountByType(t,e){let i=this.bb.__offset(this.bb_pos,26);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountByTypeLength(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationChance(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationType(){let t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt8(this.bb_pos+t):u.CLEAR}snowfallAmount(){let t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureMax(){let t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureMin(){let t=this.bb.__offset(this.bb_pos,36);return t?this.bb.readFloat32(this.bb_pos+t):0}visibilityMax(){let t=this.bb.__offset(this.bb_pos,38);return t?this.bb.readFloat32(this.bb_pos+t):0}visibilityMin(){let t=this.bb.__offset(this.bb_pos,40);return t?this.bb.readFloat32(this.bb_pos+t):0}windDirection(){let t=this.bb.__offset(this.bb_pos,42);return t?this.bb.readInt16(this.bb_pos+t):0}windGustSpeedMax(){let t=this.bb.__offset(this.bb_pos,44);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeed(){let t=this.bb.__offset(this.bb_pos,46);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeedMax(){let t=this.bb.__offset(this.bb_pos,48);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationIntensityMax(){let t=this.bb.__offset(this.bb_pos,50);return t?this.bb.readFloat32(this.bb_pos+t):0}perceivedPrecipitationIntensityMax(){let t=this.bb.__offset(this.bb_pos,52);return t?this.bb.readFloat32(this.bb_pos+t):0}uvIndexMin(){let t=this.bb.__offset(this.bb_pos,54);return t?this.bb.readInt8(this.bb_pos+t):0}uvIndexMax(){let t=this.bb.__offset(this.bb_pos,56);return t?this.bb.readInt8(this.bb_pos+t):0}temperatureApparentMin(){let t=this.bb.__offset(this.bb_pos,58);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureApparentMax(){let t=this.bb.__offset(this.bb_pos,60);return t?this.bb.readFloat32(this.bb_pos+t):0}daylight(){let t=this.bb.__offset(this.bb_pos,62);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startDayPartForecast(t){t.startObject(30)}static addForecastStart(t,e){t.addFieldInt32(0,e,0)}static addForecastEnd(t,e){t.addFieldInt32(1,e,0)}static addCloudCover(t,e){t.addFieldInt8(2,e,0)}static addCloudCoverLowAltPct(t,e){t.addFieldInt8(3,e,0)}static addCloudCoverMidAltPct(t,e){t.addFieldInt8(4,e,0)}static addCloudCoverHighAltPct(t,e){t.addFieldInt8(5,e,0)}static addConditionCode(t,e){t.addFieldInt8(6,e,_.CLEAR)}static addHumidity(t,e){t.addFieldInt8(7,e,0)}static addHumidityMax(t,e){t.addFieldInt8(8,e,0)}static addHumidityMin(t,e){t.addFieldInt8(9,e,0)}static addPrecipitationAmount(t,e){t.addFieldFloat32(10,e,0)}static addPrecipitationAmountByType(t,e){t.addFieldOffset(11,e,0)}static createPrecipitationAmountByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationChance(t,e){t.addFieldInt8(12,e,0)}static addPrecipitationType(t,e){t.addFieldInt8(13,e,u.CLEAR)}static addSnowfallAmount(t,e){t.addFieldFloat32(14,e,0)}static addTemperatureMax(t,e){t.addFieldFloat32(15,e,0)}static addTemperatureMin(t,e){t.addFieldFloat32(16,e,0)}static addVisibilityMax(t,e){t.addFieldFloat32(17,e,0)}static addVisibilityMin(t,e){t.addFieldFloat32(18,e,0)}static addWindDirection(t,e){t.addFieldInt16(19,e,0)}static addWindGustSpeedMax(t,e){t.addFieldFloat32(20,e,0)}static addWindSpeed(t,e){t.addFieldFloat32(21,e,0)}static addWindSpeedMax(t,e){t.addFieldFloat32(22,e,0)}static addPrecipitationIntensityMax(t,e){t.addFieldFloat32(23,e,0)}static addPerceivedPrecipitationIntensityMax(t,e){t.addFieldFloat32(24,e,0)}static addUvIndexMin(t,e){t.addFieldInt8(25,e,0)}static addUvIndexMax(t,e){t.addFieldInt8(26,e,0)}static addTemperatureApparentMin(t,e){t.addFieldFloat32(27,e,0)}static addTemperatureApparentMax(t,e){t.addFieldFloat32(28,e,0)}static addDaylight(t,e){t.addFieldInt8(29,+e,0)}static endDayPartForecast(t){return t.endObject()}static createDayPartForecast(t,e,i,a,s,r,o,n,d,c,l,b,p,u,h,_,m,f,y,N,A,I,g,T,C,O,S,w,F,v,P){return Y.startDayPartForecast(t),Y.addForecastStart(t,e),Y.addForecastEnd(t,i),Y.addCloudCover(t,a),Y.addCloudCoverLowAltPct(t,s),Y.addCloudCoverMidAltPct(t,r),Y.addCloudCoverHighAltPct(t,o),Y.addConditionCode(t,n),Y.addHumidity(t,d),Y.addHumidityMax(t,c),Y.addHumidityMin(t,l),Y.addPrecipitationAmount(t,b),Y.addPrecipitationAmountByType(t,p),Y.addPrecipitationChance(t,u),Y.addPrecipitationType(t,h),Y.addSnowfallAmount(t,_),Y.addTemperatureMax(t,m),Y.addTemperatureMin(t,f),Y.addVisibilityMax(t,y),Y.addVisibilityMin(t,N),Y.addWindDirection(t,A),Y.addWindGustSpeedMax(t,I),Y.addWindSpeed(t,g),Y.addWindSpeedMax(t,T),Y.addPrecipitationIntensityMax(t,C),Y.addPerceivedPrecipitationIntensityMax(t,O),Y.addUvIndexMin(t,S),Y.addUvIndexMax(t,w),Y.addTemperatureApparentMin(t,F),Y.addTemperatureApparentMax(t,v),Y.addDaylight(t,P),Y.endDayPartForecast(t)}}!function(t){t[t.NEW=0]="NEW",t[t.WAXING_CRESCENT=1]="WAXING_CRESCENT",t[t.FIRST_QUARTER=2]="FIRST_QUARTER",t[t.WAXING_GIBBOUS=3]="WAXING_GIBBOUS",t[t.FULL=4]="FULL",t[t.WANING_GIBBOUS=5]="WANING_GIBBOUS",t[t.THIRD_QUARTER=6]="THIRD_QUARTER",t[t.WANING_CRESCENT=7]="WANING_CRESCENT",t[t.UNKNOWN8=8]="UNKNOWN8"}(m||(m={}));class X{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDayWeatherConditions(t,e){return(e||new X).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDayWeatherConditions(t,e){return t.setPosition(t.position()+4),(e||new X).__init(t.readInt32(t.position())+t.position(),t)}forecastStart(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}forecastEnd(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}conditionCode(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):_.CLEAR}humidityMax(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):0}humidityMin(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):0}maxUvIndex(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):0}moonPhase(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt8(this.bb_pos+t):m.NEW}moonrise(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readUint32(this.bb_pos+t):0}moonset(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint32(this.bb_pos+t):0}precipitationAmount(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmountByType(t,e){let i=this.bb.__offset(this.bb_pos,24);return i?(e||new Q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}precipitationAmountByTypeLength(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}precipitationChance(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationType(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt8(this.bb_pos+t):u.CLEAR}snowfallAmount(){let t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readFloat32(this.bb_pos+t):0}solarMidnight(){let t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readUint32(this.bb_pos+t):0}solarNoon(){let t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readUint32(this.bb_pos+t):0}sunrise(){let t=this.bb.__offset(this.bb_pos,36);return t?this.bb.readUint32(this.bb_pos+t):0}sunriseCivil(){let t=this.bb.__offset(this.bb_pos,38);return t?this.bb.readUint32(this.bb_pos+t):0}sunriseNautical(){let t=this.bb.__offset(this.bb_pos,40);return t?this.bb.readUint32(this.bb_pos+t):0}sunriseAstronomical(){let t=this.bb.__offset(this.bb_pos,42);return t?this.bb.readUint32(this.bb_pos+t):0}sunset(){let t=this.bb.__offset(this.bb_pos,44);return t?this.bb.readUint32(this.bb_pos+t):0}sunsetCivil(){let t=this.bb.__offset(this.bb_pos,46);return t?this.bb.readUint32(this.bb_pos+t):0}sunsetNautical(){let t=this.bb.__offset(this.bb_pos,48);return t?this.bb.readUint32(this.bb_pos+t):0}sunsetAstronomical(){let t=this.bb.__offset(this.bb_pos,50);return t?this.bb.readUint32(this.bb_pos+t):0}temperatureMax(){let t=this.bb.__offset(this.bb_pos,52);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureMaxTime(){let t=this.bb.__offset(this.bb_pos,54);return t?this.bb.readUint32(this.bb_pos+t):0}temperatureMin(){let t=this.bb.__offset(this.bb_pos,56);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureMinTime(){let t=this.bb.__offset(this.bb_pos,58);return t?this.bb.readUint32(this.bb_pos+t):0}windGustSpeedMax(){let t=this.bb.__offset(this.bb_pos,60);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeedAvg(){let t=this.bb.__offset(this.bb_pos,62);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeedMax(){let t=this.bb.__offset(this.bb_pos,64);return t?this.bb.readFloat32(this.bb_pos+t):0}visibilityMax(){let t=this.bb.__offset(this.bb_pos,66);return t?this.bb.readFloat32(this.bb_pos+t):0}visibilityMin(){let t=this.bb.__offset(this.bb_pos,68);return t?this.bb.readFloat32(this.bb_pos+t):0}overnightForecast(t){let e=this.bb.__offset(this.bb_pos,70);return e?(t||new Y).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}daytimeForecast(t){let e=this.bb.__offset(this.bb_pos,72);return e?(t||new Y).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}restOfDayForecast(t){let e=this.bb.__offset(this.bb_pos,74);return e?(t||new Y).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startDayWeatherConditions(t){t.startObject(36)}static addForecastStart(t,e){t.addFieldInt32(0,e,0)}static addForecastEnd(t,e){t.addFieldInt32(1,e,0)}static addConditionCode(t,e){t.addFieldInt8(2,e,_.CLEAR)}static addHumidityMax(t,e){t.addFieldInt8(3,e,0)}static addHumidityMin(t,e){t.addFieldInt8(4,e,0)}static addMaxUvIndex(t,e){t.addFieldInt8(5,e,0)}static addMoonPhase(t,e){t.addFieldInt8(6,e,m.NEW)}static addMoonrise(t,e){t.addFieldInt32(7,e,0)}static addMoonset(t,e){t.addFieldInt32(8,e,0)}static addPrecipitationAmount(t,e){t.addFieldFloat32(9,e,0)}static addPrecipitationAmountByType(t,e){t.addFieldOffset(10,e,0)}static createPrecipitationAmountByTypeVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPrecipitationAmountByTypeVector(t,e){t.startVector(4,e,4)}static addPrecipitationChance(t,e){t.addFieldInt8(11,e,0)}static addPrecipitationType(t,e){t.addFieldInt8(12,e,u.CLEAR)}static addSnowfallAmount(t,e){t.addFieldFloat32(13,e,0)}static addSolarMidnight(t,e){t.addFieldInt32(14,e,0)}static addSolarNoon(t,e){t.addFieldInt32(15,e,0)}static addSunrise(t,e){t.addFieldInt32(16,e,0)}static addSunriseCivil(t,e){t.addFieldInt32(17,e,0)}static addSunriseNautical(t,e){t.addFieldInt32(18,e,0)}static addSunriseAstronomical(t,e){t.addFieldInt32(19,e,0)}static addSunset(t,e){t.addFieldInt32(20,e,0)}static addSunsetCivil(t,e){t.addFieldInt32(21,e,0)}static addSunsetNautical(t,e){t.addFieldInt32(22,e,0)}static addSunsetAstronomical(t,e){t.addFieldInt32(23,e,0)}static addTemperatureMax(t,e){t.addFieldFloat32(24,e,0)}static addTemperatureMaxTime(t,e){t.addFieldInt32(25,e,0)}static addTemperatureMin(t,e){t.addFieldFloat32(26,e,0)}static addTemperatureMinTime(t,e){t.addFieldInt32(27,e,0)}static addWindGustSpeedMax(t,e){t.addFieldFloat32(28,e,0)}static addWindSpeedAvg(t,e){t.addFieldFloat32(29,e,0)}static addWindSpeedMax(t,e){t.addFieldFloat32(30,e,0)}static addVisibilityMax(t,e){t.addFieldFloat32(31,e,0)}static addVisibilityMin(t,e){t.addFieldFloat32(32,e,0)}static addOvernightForecast(t,e){t.addFieldOffset(33,e,0)}static addDaytimeForecast(t,e){t.addFieldOffset(34,e,0)}static addRestOfDayForecast(t,e){t.addFieldOffset(35,e,0)}static endDayWeatherConditions(t){return t.endObject()}}class J{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDailyForecastData(t,e){return(e||new J).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDailyForecastData(t,e){return t.setPosition(t.position()+4),(e||new J).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}days(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new X).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}daysLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startDailyForecastData(t){t.startObject(2)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addDays(t,e){t.addFieldOffset(1,e,0)}static createDaysVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startDaysVector(t,e){t.startVector(4,e,4)}static endDailyForecastData(t){return t.endObject()}static createDailyForecastData(t,e,i){return J.startDailyForecastData(t),J.addMetadata(t,e),J.addDays(t,i),J.endDailyForecastData(t)}}class Z{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsForecastMinute(t,e){return(e||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsForecastMinute(t,e){return t.setPosition(t.position()+4),(e||new Z).__init(t.readInt32(t.position())+t.position(),t)}startTime(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}precipitationChance(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationIntensity(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readFloat32(this.bb_pos+t):0}perceivedPrecipitationIntensity(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readFloat32(this.bb_pos+t):0}static startForecastMinute(t){t.startObject(4)}static addStartTime(t,e){t.addFieldInt32(0,e,0)}static addPrecipitationChance(t,e){t.addFieldInt8(1,e,0)}static addPrecipitationIntensity(t,e){t.addFieldFloat32(2,e,0)}static addPerceivedPrecipitationIntensity(t,e){t.addFieldFloat32(3,e,0)}static endForecastMinute(t){return t.endObject()}static createForecastMinute(t,e,i,a,s){return Z.startForecastMinute(t),Z.addStartTime(t,e),Z.addPrecipitationChance(t,i),Z.addPrecipitationIntensity(t,a),Z.addPerceivedPrecipitationIntensity(t,s),Z.endForecastMinute(t)}}class q{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsForecastPeriodSummary(t,e){return(e||new q).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsForecastPeriodSummary(t,e){return t.setPosition(t.position()+4),(e||new q).__init(t.readInt32(t.position())+t.position(),t)}startTime(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}endTime(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}condition(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):u.CLEAR}precipitationChance(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationIntensity(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readFloat32(this.bb_pos+t):0}static startForecastPeriodSummary(t){t.startObject(5)}static addStartTime(t,e){t.addFieldInt32(0,e,0)}static addEndTime(t,e){t.addFieldInt32(1,e,0)}static addCondition(t,e){t.addFieldInt8(2,e,u.CLEAR)}static addPrecipitationChance(t,e){t.addFieldInt8(3,e,0)}static addPrecipitationIntensity(t,e){t.addFieldFloat32(4,e,0)}static endForecastPeriodSummary(t){return t.endObject()}static createForecastPeriodSummary(t,e,i,a,s,r){return q.startForecastPeriodSummary(t),q.addStartTime(t,e),q.addEndTime(t,i),q.addCondition(t,a),q.addPrecipitationChance(t,s),q.addPrecipitationIntensity(t,r),q.endForecastPeriodSummary(t)}}class z{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsHistoricalComparison(t,e){return(e||new z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsHistoricalComparison(t,e){return t.setPosition(t.position()+4),(e||new z).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}comparisons(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new K).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}comparisonsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startHistoricalComparison(t){t.startObject(2)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addComparisons(t,e){t.addFieldOffset(1,e,0)}static createComparisonsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startComparisonsVector(t,e){t.startVector(4,e,4)}static endHistoricalComparison(t){return t.endObject()}static createHistoricalComparison(t,e,i){return z.startHistoricalComparison(t),z.addMetadata(t,e),z.addComparisons(t,i),z.endHistoricalComparison(t)}}class tt{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsHourWeatherConditions(t,e){return(e||new tt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsHourWeatherConditions(t,e){return t.setPosition(t.position()+4),(e||new tt).__init(t.readInt32(t.position())+t.position(),t)}forecastStart(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}cloudCover(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverLowAltPct(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverMidAltPct(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):0}cloudCoverHighAltPct(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt8(this.bb_pos+t):0}conditionCode(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt8(this.bb_pos+t):_.CLEAR}daylight(){let t=this.bb.__offset(this.bb_pos,16);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}humidity(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt8(this.bb_pos+t):0}perceivedPrecipitationIntensity(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationAmount(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationIntensity(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}precipitationChance(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt8(this.bb_pos+t):0}precipitationType(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt8(this.bb_pos+t):u.CLEAR}pressure(){let t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readFloat32(this.bb_pos+t):0}pressureTrend(){let t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readInt8(this.bb_pos+t):h.RISING}snowfallAmount(){let t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}snowfallIntensity(){let t=this.bb.__offset(this.bb_pos,36);return t?this.bb.readFloat32(this.bb_pos+t):0}temperature(){let t=this.bb.__offset(this.bb_pos,38);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureApparent(){let t=this.bb.__offset(this.bb_pos,40);return t?this.bb.readFloat32(this.bb_pos+t):0}unknown20(){let t=this.bb.__offset(this.bb_pos,42);return t?this.bb.readFloat32(this.bb_pos+t):0}temperatureDewPoint(){let t=this.bb.__offset(this.bb_pos,44);return t?this.bb.readFloat32(this.bb_pos+t):0}uvIndex(){let t=this.bb.__offset(this.bb_pos,46);return t?this.bb.readInt8(this.bb_pos+t):0}visibility(){let t=this.bb.__offset(this.bb_pos,48);return t?this.bb.readFloat32(this.bb_pos+t):0}windDirection(){let t=this.bb.__offset(this.bb_pos,50);return t?this.bb.readInt16(this.bb_pos+t):0}windGust(){let t=this.bb.__offset(this.bb_pos,52);return t?this.bb.readFloat32(this.bb_pos+t):0}windSpeed(){let t=this.bb.__offset(this.bb_pos,54);return t?this.bb.readFloat32(this.bb_pos+t):0}static startHourWeatherConditions(t){t.startObject(26)}static addForecastStart(t,e){t.addFieldInt32(0,e,0)}static addCloudCover(t,e){t.addFieldInt8(1,e,0)}static addCloudCoverLowAltPct(t,e){t.addFieldInt8(2,e,0)}static addCloudCoverMidAltPct(t,e){t.addFieldInt8(3,e,0)}static addCloudCoverHighAltPct(t,e){t.addFieldInt8(4,e,0)}static addConditionCode(t,e){t.addFieldInt8(5,e,_.CLEAR)}static addDaylight(t,e){t.addFieldInt8(6,+e,0)}static addHumidity(t,e){t.addFieldInt8(7,e,0)}static addPerceivedPrecipitationIntensity(t,e){t.addFieldFloat32(8,e,0)}static addPrecipitationAmount(t,e){t.addFieldFloat32(9,e,0)}static addPrecipitationIntensity(t,e){t.addFieldFloat32(10,e,0)}static addPrecipitationChance(t,e){t.addFieldInt8(11,e,0)}static addPrecipitationType(t,e){t.addFieldInt8(12,e,u.CLEAR)}static addPressure(t,e){t.addFieldFloat32(13,e,0)}static addPressureTrend(t,e){t.addFieldInt8(14,e,h.RISING)}static addSnowfallAmount(t,e){t.addFieldFloat32(15,e,0)}static addSnowfallIntensity(t,e){t.addFieldFloat32(16,e,0)}static addTemperature(t,e){t.addFieldFloat32(17,e,0)}static addTemperatureApparent(t,e){t.addFieldFloat32(18,e,0)}static addUnknown20(t,e){t.addFieldFloat32(19,e,0)}static addTemperatureDewPoint(t,e){t.addFieldFloat32(20,e,0)}static addUvIndex(t,e){t.addFieldInt8(21,e,0)}static addVisibility(t,e){t.addFieldFloat32(22,e,0)}static addWindDirection(t,e){t.addFieldInt16(23,e,0)}static addWindGust(t,e){t.addFieldFloat32(24,e,0)}static addWindSpeed(t,e){t.addFieldFloat32(25,e,0)}static endHourWeatherConditions(t){return t.endObject()}static createHourWeatherConditions(t,e,i,a,s,r,o,n,d,c,l,b,p,u,h,_,m,f,y,N,A,I,g,T,C,O,S){return tt.startHourWeatherConditions(t),tt.addForecastStart(t,e),tt.addCloudCover(t,i),tt.addCloudCoverLowAltPct(t,a),tt.addCloudCoverMidAltPct(t,s),tt.addCloudCoverHighAltPct(t,r),tt.addConditionCode(t,o),tt.addDaylight(t,n),tt.addHumidity(t,d),tt.addPerceivedPrecipitationIntensity(t,c),tt.addPrecipitationAmount(t,l),tt.addPrecipitationIntensity(t,b),tt.addPrecipitationChance(t,p),tt.addPrecipitationType(t,u),tt.addPressure(t,h),tt.addPressureTrend(t,_),tt.addSnowfallAmount(t,m),tt.addSnowfallIntensity(t,f),tt.addTemperature(t,y),tt.addTemperatureApparent(t,N),tt.addUnknown20(t,A),tt.addTemperatureDewPoint(t,I),tt.addUvIndex(t,g),tt.addVisibility(t,T),tt.addWindDirection(t,C),tt.addWindGust(t,O),tt.addWindSpeed(t,S),tt.endHourWeatherConditions(t)}}class te{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsHourlyForecastData(t,e){return(e||new te).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsHourlyForecastData(t,e){return t.setPosition(t.position()+4),(e||new te).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}hours(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}hoursLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startHourlyForecastData(t){t.startObject(2)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addHours(t,e){t.addFieldOffset(1,e,0)}static createHoursVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startHoursVector(t,e){t.startVector(4,e,4)}static endHourlyForecastData(t){return t.endObject()}static createHourlyForecastData(t,e,i){return te.startHourlyForecastData(t),te.addMetadata(t,e),te.addHours(t,i),te.endHourlyForecastData(t)}}!function(t){t[t.NORMAL=0]="NORMAL",t[t.LOW=1]="LOW",t[t.HIGH=2]="HIGH",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.UNKNOWN5=5]="UNKNOWN5"}(f||(f={}));class ti{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLocationInfo(t,e){return(e||new ti).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLocationInfo(t,e){return t.setPosition(t.position()+4),(e||new ti).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}preciseName(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}countryCode(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}timeZone(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}primaryName(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}static startLocationInfo(t){t.startObject(5)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addPreciseName(t,e){t.addFieldOffset(1,e,0)}static addCountryCode(t,e){t.addFieldOffset(2,e,0)}static addTimeZone(t,e){t.addFieldOffset(3,e,0)}static addPrimaryName(t,e){t.addFieldOffset(4,e,0)}static endLocationInfo(t){return t.endObject()}static createLocationInfo(t,e,i,a,s,r){return ti.startLocationInfo(t),ti.addMetadata(t,e),ti.addPreciseName(t,i),ti.addCountryCode(t,a),ti.addTimeZone(t,s),ti.addPrimaryName(t,r),ti.endLocationInfo(t)}}!function(t){t[t.UNKNOWN0=0]="UNKNOWN0",t[t.AIR_QUALITY_DETAILS=1]="AIR_QUALITY_DETAILS",t[t.UNKNOWN2=2]="UNKNOWN2",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.UNKNOWN5=5]="UNKNOWN5",t[t.UNKNOWN6=6]="UNKNOWN6",t[t.UNKNOWN7=7]="UNKNOWN7",t[t.UNKNOWN8=8]="UNKNOWN8",t[t.TEMPERATURE_FEELS_LIKE_DETAILS=9]="TEMPERATURE_FEELS_LIKE_DETAILS",t[t.UNKNOWN10=10]="UNKNOWN10",t[t.TRENDS=11]="TRENDS",t[t.UV_DETAILS=12]="UV_DETAILS",t[t.UNKNOWN13=13]="UNKNOWN13",t[t.UNKNOWN14=14]="UNKNOWN14",t[t.UNKNOWN15=15]="UNKNOWN15",t[t.UNKNOWN16=16]="UNKNOWN16",t[t.UNKNOWN17=17]="UNKNOWN17",t[t.UNKNOWN18=18]="UNKNOWN18"}(y||(y={}));class ta{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPlacement(t,e){return(e||new ta).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPlacement(t,e){return t.setPosition(t.position()+4),(e||new ta).__init(t.readInt32(t.position())+t.position(),t)}priority(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):0}articles(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new H).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}articlesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}placement(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt8(this.bb_pos+t):y.UNKNOWN0}static startPlacement(t){t.startObject(3)}static addPriority(t,e){t.addFieldInt8(0,e,0)}static addArticles(t,e){t.addFieldOffset(1,e,0)}static createArticlesVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startArticlesVector(t,e){t.startVector(4,e,4)}static addPlacement(t,e){t.addFieldInt8(2,e,y.UNKNOWN0)}static endPlacement(t){return t.endObject()}static createPlacement(t,e,i,a){return ta.startPlacement(t),ta.addPriority(t,e),ta.addArticles(t,i),ta.addPlacement(t,a),ta.endPlacement(t)}}class ts{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNews(t,e){return(e||new ts).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNews(t,e){return t.setPosition(t.position()+4),(e||new ts).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}placements(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new ta).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}placementsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNews(t){t.startObject(2)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addPlacements(t,e){t.addFieldOffset(1,e,0)}static createPlacementsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startPlacementsVector(t,e){t.startVector(4,e,4)}static endNews(t){return t.endObject()}static createNews(t,e,i){return ts.startNews(t),ts.addMetadata(t,e),ts.addPlacements(t,i),ts.endNews(t)}}class tr{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNextHourForecastData(t,e){return(e||new tr).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNextHourForecastData(t,e){return t.setPosition(t.position()+4),(e||new tr).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}condition(t,e){let i=this.bb.__offset(this.bb_pos,6);return i?(e||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}conditionLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}summary(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new q).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}summaryLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}forecastStart(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb_pos+t):0}forecastEnd(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}minutes(t,e){let i=this.bb.__offset(this.bb_pos,14);return i?(e||new Z).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}minutesLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNextHourForecastData(t){t.startObject(6)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addCondition(t,e){t.addFieldOffset(1,e,0)}static createConditionVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startConditionVector(t,e){t.startVector(4,e,4)}static addSummary(t,e){t.addFieldOffset(2,e,0)}static createSummaryVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startSummaryVector(t,e){t.startVector(4,e,4)}static addForecastStart(t,e){t.addFieldInt32(3,e,0)}static addForecastEnd(t,e){t.addFieldInt32(4,e,0)}static addMinutes(t,e){t.addFieldOffset(5,e,0)}static createMinutesVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startMinutesVector(t,e){t.startVector(4,e,4)}static endNextHourForecastData(t){return t.endObject()}static createNextHourForecastData(t,e,i,a,s,r,o){return tr.startNextHourForecastData(t),tr.addMetadata(t,e),tr.addCondition(t,i),tr.addSummary(t,a),tr.addForecastStart(t,s),tr.addForecastEnd(t,r),tr.addMinutes(t,o),tr.endNextHourForecastData(t)}}!function(t){t[t.UNKNOWN0=0]="UNKNOWN0",t[t.SHELTER=1]="SHELTER",t[t.EVACUATE=2]="EVACUATE",t[t.PREPARE=3]="PREPARE",t[t.EXECUTE=4]="EXECUTE",t[t.AVOID=5]="AVOID",t[t.MONITOR=6]="MONITOR",t[t.ACCESS=7]="ACCESS",t[t.ALLCLEAR=8]="ALLCLEAR",t[t.NONE=9]="NONE",t[t.UNKNOWN10=10]="UNKNOWN10"}(N||(N={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.EXTREME=1]="EXTREME",t[t.SEVERE=2]="SEVERE",t[t.MODERATE=3]="MODERATE",t[t.MINOR=4]="MINOR",t[t.UNKNOWN5=5]="UNKNOWN5"}(A||(A={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNKNOWN1=1]="UNKNOWN1",t[t.UNKNOWN2=2]="UNKNOWN2",t[t.UNKNOWN3=3]="UNKNOWN3",t[t.UNKNOWN4=4]="UNKNOWN4",t[t.UNKNOWN5=5]="UNKNOWN5",t[t.UNKNOWN6=6]="UNKNOWN6",t[t.UNKNOWN7=7]="UNKNOWN7",t[t.UNKNOWN8=8]="UNKNOWN8",t[t.UNKNOWN9=9]="UNKNOWN9",t[t.STATEMENT=10]="STATEMENT",t[t.UNKNOWN11=11]="UNKNOWN11",t[t.ADVISORY=12]="ADVISORY",t[t.UNKNOWN13=13]="UNKNOWN13"}(I||(I={}));class to{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUUID(t,e){return(e||new to).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUUID(t,e){return t.setPosition(t.position()+4),(e||new to).__init(t.readInt32(t.position())+t.position(),t)}bytes(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}bytesLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}bytesArray(){let t=this.bb.__offset(this.bb_pos,4);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUUID(t){t.startObject(1)}static addBytes(t,e){t.addFieldOffset(0,e,0)}static createBytesVector(t,e){t.startVector(1,e.length,1);for(let i=e.length-1;i>=0;i--)t.addInt8(e[i]);return t.endVector()}static startBytesVector(t,e){t.startVector(1,e,1)}static endUUID(t){return t.endObject()}static createUUID(t,e){return to.startUUID(t),to.addBytes(t,e),to.endUUID(t)}}!function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.IMMEDIATE=1]="IMMEDIATE",t[t.EXPECTED=2]="EXPECTED",t[t.FUTURE=3]="FUTURE",t[t.PAST=4]="PAST",t[t.UNKNOWN5=5]="UNKNOWN5"}(g||(g={}));class tn{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWeatherAlertSummary(t,e){return(e||new tn).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWeatherAlertSummary(t,e){return t.setPosition(t.position()+4),(e||new tn).__init(t.readInt32(t.position())+t.position(),t)}id(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new to).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}areaId(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}areaName(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}attributionUrl(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}countryCode(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}description(t){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__string(this.bb_pos+e,t):null}token(t){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__string(this.bb_pos+e,t):null}effectiveTime(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readUint32(this.bb_pos+t):0}expireTime(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint32(this.bb_pos+t):0}issuedTime(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readUint32(this.bb_pos+t):0}eventOnsetTime(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readUint32(this.bb_pos+t):0}eventEndTime(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readUint32(this.bb_pos+t):0}detailsUrl(t){let e=this.bb.__offset(this.bb_pos,28);return e?this.bb.__string(this.bb_pos+e,t):null}phenomenon(t){let e=this.bb.__offset(this.bb_pos,30);return e?this.bb.__string(this.bb_pos+e,t):null}severity(){let t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readInt8(this.bb_pos+t):A.UNKNOWN}significance(){let t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readInt8(this.bb_pos+t):I.UNKNOWN}source(t){let e=this.bb.__offset(this.bb_pos,36);return e?this.bb.__string(this.bb_pos+e,t):null}eventSource(t){let e=this.bb.__offset(this.bb_pos,38);return e?this.bb.__string(this.bb_pos+e,t):null}urgency(){let t=this.bb.__offset(this.bb_pos,40);return t?this.bb.readInt8(this.bb_pos+t):g.UNKNOWN}certainty(){let t=this.bb.__offset(this.bb_pos,42);return t?this.bb.readInt8(this.bb_pos+t):o.UNKNOWN}importance(){let t=this.bb.__offset(this.bb_pos,44);return t?this.bb.readInt8(this.bb_pos+t):f.NORMAL}responses(t){let e=this.bb.__offset(this.bb_pos,46);return e?this.bb.readInt8(this.bb.__vector(this.bb_pos+e)+t):0}responsesLength(){let t=this.bb.__offset(this.bb_pos,46);return t?this.bb.__vector_len(this.bb_pos+t):0}responsesArray(){let t=this.bb.__offset(this.bb_pos,46);return t?new Int8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}unknown23(){let t=this.bb.__offset(this.bb_pos,48);return t?this.bb.readInt8(this.bb_pos+t):0}unknown24(){let t=this.bb.__offset(this.bb_pos,50);return t?this.bb.readInt8(this.bb_pos+t):0}unknown25(){let t=this.bb.__offset(this.bb_pos,52);return t?this.bb.readInt8(this.bb_pos+t):0}unknown26(){let t=this.bb.__offset(this.bb_pos,54);return t?this.bb.readInt8(this.bb_pos+t):0}static startWeatherAlertSummary(t){t.startObject(26)}static addId(t,e){t.addFieldOffset(0,e,0)}static addAreaId(t,e){t.addFieldOffset(1,e,0)}static addAreaName(t,e){t.addFieldOffset(2,e,0)}static addAttributionUrl(t,e){t.addFieldOffset(3,e,0)}static addCountryCode(t,e){t.addFieldOffset(4,e,0)}static addDescription(t,e){t.addFieldOffset(5,e,0)}static addToken(t,e){t.addFieldOffset(6,e,0)}static addEffectiveTime(t,e){t.addFieldInt32(7,e,0)}static addExpireTime(t,e){t.addFieldInt32(8,e,0)}static addIssuedTime(t,e){t.addFieldInt32(9,e,0)}static addEventOnsetTime(t,e){t.addFieldInt32(10,e,0)}static addEventEndTime(t,e){t.addFieldInt32(11,e,0)}static addDetailsUrl(t,e){t.addFieldOffset(12,e,0)}static addPhenomenon(t,e){t.addFieldOffset(13,e,0)}static addSeverity(t,e){t.addFieldInt8(14,e,A.UNKNOWN)}static addSignificance(t,e){t.addFieldInt8(15,e,I.UNKNOWN)}static addSource(t,e){t.addFieldOffset(16,e,0)}static addEventSource(t,e){t.addFieldOffset(17,e,0)}static addUrgency(t,e){t.addFieldInt8(18,e,g.UNKNOWN)}static addCertainty(t,e){t.addFieldInt8(19,e,o.UNKNOWN)}static addImportance(t,e){t.addFieldInt8(20,e,f.NORMAL)}static addResponses(t,e){t.addFieldOffset(21,e,0)}static createResponsesVector(t,e){t.startVector(1,e.length,1);for(let i=e.length-1;i>=0;i--)t.addInt8(e[i]);return t.endVector()}static startResponsesVector(t,e){t.startVector(1,e,1)}static addUnknown23(t,e){t.addFieldInt8(22,e,0)}static addUnknown24(t,e){t.addFieldInt8(23,e,0)}static addUnknown25(t,e){t.addFieldInt8(24,e,0)}static addUnknown26(t,e){t.addFieldInt8(25,e,0)}static endWeatherAlertSummary(t){return t.endObject()}static createWeatherAlertSummary(t,e,i,a,s,r,o,n,d,c,l,b,p,u,h,_,m,f,y,N,A,I,g,T,C,O,S){return tn.startWeatherAlertSummary(t),tn.addId(t,e),tn.addAreaId(t,i),tn.addAreaName(t,a),tn.addAttributionUrl(t,s),tn.addCountryCode(t,r),tn.addDescription(t,o),tn.addToken(t,n),tn.addEffectiveTime(t,d),tn.addExpireTime(t,c),tn.addIssuedTime(t,l),tn.addEventOnsetTime(t,b),tn.addEventEndTime(t,p),tn.addDetailsUrl(t,u),tn.addPhenomenon(t,h),tn.addSeverity(t,_),tn.addSignificance(t,m),tn.addSource(t,f),tn.addEventSource(t,y),tn.addUrgency(t,N),tn.addCertainty(t,A),tn.addImportance(t,I),tn.addResponses(t,g),tn.addUnknown23(t,T),tn.addUnknown24(t,C),tn.addUnknown25(t,O),tn.addUnknown26(t,S),tn.endWeatherAlertSummary(t)}}class td{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWeatherAlertCollectionData(t,e){return(e||new td).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWeatherAlertCollectionData(t,e){return t.setPosition(t.position()+4),(e||new td).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}detailsUrl(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}alerts(t,e){let i=this.bb.__offset(this.bb_pos,8);return i?(e||new tn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}alertsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startWeatherAlertCollectionData(t){t.startObject(3)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addDetailsUrl(t,e){t.addFieldOffset(1,e,0)}static addAlerts(t,e){t.addFieldOffset(2,e,0)}static createAlertsVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startAlertsVector(t,e){t.startVector(4,e,4)}static endWeatherAlertCollectionData(t){return t.endObject()}static createWeatherAlertCollectionData(t,e,i,a){return td.startWeatherAlertCollectionData(t),td.addMetadata(t,e),td.addDetailsUrl(t,i),td.addAlerts(t,a),td.endWeatherAlertCollectionData(t)}}class tc{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWeatherChanges(t,e){return(e||new tc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWeatherChanges(t,e){return t.setPosition(t.position()+4),(e||new tc).__init(t.readInt32(t.position())+t.position(),t)}metadata(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new D).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}forecastStart(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}forecastEnd(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}changes(t,e){let i=this.bb.__offset(this.bb_pos,10);return i?(e||new V).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}changesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startWeatherChanges(t){t.startObject(4)}static addMetadata(t,e){t.addFieldOffset(0,e,0)}static addForecastStart(t,e){t.addFieldInt32(1,e,0)}static addForecastEnd(t,e){t.addFieldInt32(2,e,0)}static addChanges(t,e){t.addFieldOffset(3,e,0)}static createChangesVector(t,e){t.startVector(4,e.length,4);for(let i=e.length-1;i>=0;i--)t.addOffset(e[i]);return t.endVector()}static startChangesVector(t,e){t.startVector(4,e,4)}static endWeatherChanges(t){return t.endObject()}static createWeatherChanges(t,e,i,a,s){return tc.startWeatherChanges(t),tc.addMetadata(t,e),tc.addForecastStart(t,i),tc.addForecastEnd(t,a),tc.addChanges(t,s),tc.endWeatherChanges(t)}}class tl{bb=null;bb_pos=0;__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWeather(t,e){return(e||new tl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWeather(t,e){return t.setPosition(t.position()+4),(e||new tl).__init(t.readInt32(t.position())+t.position(),t)}airQuality(t){let e=this.bb.__offset(this.bb_pos,4);return e?(t||new k).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}currentWeather(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new j).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}forecastDaily(t){let e=this.bb.__offset(this.bb_pos,8);return e?(t||new J).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}forecastHourly(t){let e=this.bb.__offset(this.bb_pos,10);return e?(t||new te).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}forecastNextHour(t){let e=this.bb.__offset(this.bb_pos,12);return e?(t||new tr).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}news(t){let e=this.bb.__offset(this.bb_pos,14);return e?(t||new ts).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}weatherAlerts(t){let e=this.bb.__offset(this.bb_pos,16);return e?(t||new td).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}weatherChanges(t){let e=this.bb.__offset(this.bb_pos,18);return e?(t||new tc).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}historicalComparisons(t){let e=this.bb.__offset(this.bb_pos,20);return e?(t||new z).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}locationInfo(t){let e=this.bb.__offset(this.bb_pos,22);return e?(t||new ti).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startWeather(t){t.startObject(10)}static addAirQuality(t,e){t.addFieldOffset(0,e,0)}static addCurrentWeather(t,e){t.addFieldOffset(1,e,0)}static addForecastDaily(t,e){t.addFieldOffset(2,e,0)}static addForecastHourly(t,e){t.addFieldOffset(3,e,0)}static addForecastNextHour(t,e){t.addFieldOffset(4,e,0)}static addNews(t,e){t.addFieldOffset(5,e,0)}static addWeatherAlerts(t,e){t.addFieldOffset(6,e,0)}static addWeatherChanges(t,e){t.addFieldOffset(7,e,0)}static addHistoricalComparisons(t,e){t.addFieldOffset(8,e,0)}static addLocationInfo(t,e){t.addFieldOffset(9,e,0)}static endWeather(t){return t.endObject()}static finishWeatherBuffer(t,e){t.finish(e)}static finishSizePrefixedWeatherBuffer(t,e){t.finish(e,void 0,!0)}}class tb{static Name="WeatherKit2";static Version="1.2.1";static encode(t,r="all",T={}){let O,S;switch(C.info("☑️ WeatherKit2.encode",`dataSet: ${r}`),T?.metadata&&(S=D.createMetadata(t,t.createString(T?.metadata?.attributionUrl),T?.metadata?.expireTime,t.createString(T?.metadata?.language),T?.metadata?.latitude,T?.metadata?.longitude,t.createString(T?.metadata?.providerLogo),t.createString(T?.metadata?.providerName),T?.metadata?.readTime,T?.metadata?.reportedTime,T?.metadata?.temporarilyUnavailable,i[T?.metadata?.sourceType],T?.metadata?.unknown11,T?.metadata?.unknown12,T?.metadata?.unknown13,T?.metadata?.unknown14,T?.metadata?.unknown15)),r){case"all":{let e={};T?.airQuality&&(e.airQualityOffset=tb.encode(t,"airQuality",T.airQuality)),T?.currentWeather&&(e.currentWeatherOffset=tb.encode(t,"currentWeather",T.currentWeather)),T?.forecastDaily&&(e.forecastDailyOffset=tb.encode(t,"forecastDaily",T.forecastDaily)),T?.forecastHourly&&(e.forecastHourlyOffset=tb.encode(t,"forecastHourly",T.forecastHourly)),T?.forecastNextHour&&(e.forecastNextHourOffset=tb.encode(t,"forecastNextHour",T.forecastNextHour)),T?.news&&(e.newsOffset=tb.encode(t,"news",T.news)),T?.weatherAlerts&&(e.weatherAlertsOffset=tb.encode(t,"weatherAlerts",T.weatherAlerts)),T?.weatherChanges&&(e.weatherChangesOffset=tb.encode(t,"weatherChanges",T.weatherChanges)),T?.historicalComparisons&&(e.historicalComparisonsOffset=tb.encode(t,"historicalComparisons",T.historicalComparisons)),T?.locationInfo&&(e.locationInfoOffset=tb.encode(t,"locationInfo",T.locationInfo)),O=tb.createWeather(t,e.airQualityOffset,e.currentWeatherOffset,e.forecastDailyOffset,e.forecastHourlyOffset,e.forecastNextHourOffset,e.newsOffset,e.weatherAlertsOffset,e.weatherChangesOffset,e.historicalComparisonsOffset,e.locationInfoOffset);break}case"airQuality":{let i=k.createPollutantsVector(t,T?.pollutants?.map(e=>B.createPollutant(t,a[e.pollutantType],e.amount,s[e.units]))),r=t.createString(T?.scale);O=k.createAirQuality(t,S,T?.categoryIndex,T?.index,T?.isSignificant,i,e[T?.previousDayComparison],a[T?.primaryPollutant],r);break}case"currentWeather":{let e=j.createPrecipitationAmountNext1hByTypeVector(t,T?.precipitationAmountNext1hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),i=j.createPrecipitationAmountNext24hByTypeVector(t,T?.precipitationAmountNext24hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),a=j.createPrecipitationAmountNext6hByTypeVector(t,T?.precipitationAmountNext6hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),s=j.createPrecipitationAmountPrevious1hByTypeVector(t,T?.precipitationAmountPrevious1hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),r=j.createPrecipitationAmountPrevious24hByTypeVector(t,T?.precipitationAmountPrevious24hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),o=j.createPrecipitationAmountPrevious6hByTypeVector(t,T?.precipitationAmountPrevious6hByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow)));O=j.createCurrentWeatherData(t,S,T?.asOf,T?.cloudCover,T?.cloudCoverLowAltPct,T?.cloudCoverMidAltPct,T?.cloudCoverHighAltPct,_[T?.conditionCode],T?.daylight,T?.humidity,T?.perceivedPrecipitationIntensity,T?.precipitationAmount1h,T?.precipitationAmount6h,T?.precipitationAmount24h,T?.precipitationAmountNext1h,T?.precipitationAmountNext6h,T?.precipitationAmountNext24h,e,a,i,s,o,r,T?.precipitationIntensity,T?.pressure,h[T?.pressureTrend],T?.snowfallAmount1h,T?.snowfallAmount6h,T?.snowfallAmount24h,T?.snowfallAmountNext1h,T?.snowfallAmountNext6h,T?.snowfallAmountNext24h,T?.temperature,T?.temperatureApparent,T?.unknown34,T?.temperatureDewPoint,T?.uvIndex,T?.visibility,T?.windDirection,T?.windGust,T?.windSpeed);break}case"forecastDaily":{let e=T?.days?.map(e=>{let i={};return i.precipitationAmountByTypeOffest=X.createPrecipitationAmountByTypeVector(t,e?.precipitationAmountByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),e?.daytimeForecast&&(i.daytimeForecastPrecipitationAmountByTypeOffest=Y.createPrecipitationAmountByTypeVector(t,e?.daytimeForecast?.precipitationAmountByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),i.daytimeForecastOffset=Y.createDayPartForecast(t,e?.daytimeForecast?.forecastStart,e?.daytimeForecast?.forecastEnd,e?.daytimeForecast?.cloudCover,e?.daytimeForecast?.cloudCoverLowAltPct,e?.daytimeForecast?.cloudCoverMidAltPct,e?.daytimeForecast?.cloudCoverHighAltPct,_[e?.daytimeForecast?.conditionCode],e?.daytimeForecast?.humidity,e?.daytimeForecast?.humidityMax,e?.daytimeForecast?.humidityMin,e?.daytimeForecast?.precipitationAmount,i.daytimeForecastPrecipitationAmountByTypeOffest,e?.daytimeForecast?.precipitationChance,u[e?.daytimeForecast?.precipitationType],e?.daytimeForecast?.snowfallAmount,e?.daytimeForecast?.temperatureMax,e?.daytimeForecast?.temperatureMin,e?.daytimeForecast?.visibilityMax,e?.daytimeForecast?.visibilityMin,e?.daytimeForecast?.windDirection,e?.daytimeForecast?.windGustSpeedMax,e?.daytimeForecast?.windSpeed,e?.daytimeForecast?.windSpeedMax,e?.daytimeForecast?.precipitationIntensityMax,e?.daytimeForecast?.perceivedPrecipitationIntensityMax,e?.daytimeForecast?.uvIndexMin,e?.daytimeForecast?.uvIndexMax,e?.daytimeForecast?.temperatureApparentMin,e?.daytimeForecast?.temperatureApparentMax,e?.daytimeForecast?.daylight)),e?.overnightForecast&&(i.overnightForecastPrecipitationAmountByTypeOffest=Y.createPrecipitationAmountByTypeVector(t,e?.overnightForecast?.precipitationAmountByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),i.overnightForecastOffset=Y.createDayPartForecast(t,e?.overnightForecast?.forecastStart,e?.overnightForecast?.forecastEnd,e?.overnightForecast?.cloudCover,e?.overnightForecast?.cloudCoverLowAltPct,e?.overnightForecast?.cloudCoverMidAltPct,e?.overnightForecast?.cloudCoverHighAltPct,_[e?.overnightForecast?.conditionCode],e?.overnightForecast?.humidity,e?.overnightForecast?.humidityMax,e?.overnightForecast?.humidityMin,e?.overnightForecast?.precipitationAmount,i.overnightForecastPrecipitationAmountByTypeOffest,e?.overnightForecast?.precipitationChance,u[e?.overnightForecast?.precipitationType],e?.overnightForecast?.snowfallAmount,e?.overnightForecast?.temperatureMax,e?.overnightForecast?.temperatureMin,e?.overnightForecast?.visibilityMax,e?.overnightForecast?.visibilityMin,e?.overnightForecast?.windDirection,e?.overnightForecast?.windGustSpeedMax,e?.overnightForecast?.windSpeed,e?.overnightForecast?.windSpeedMax,e?.overnightForecast?.precipitationIntensityMax,e?.overnightForecast?.perceivedPrecipitationIntensityMax,e?.overnightForecast?.uvIndexMin,e?.overnightForecast?.uvIndexMax,e?.overnightForecast?.temperatureApparentMin,e?.overnightForecast?.temperatureApparentMax,e?.overnightForecast?.daylight)),e?.restOfDayForecast&&(i.restOfDayForecastPrecipitationAmountByTypeOffest=Y.createPrecipitationAmountByTypeVector(t,e?.restOfDayForecast?.precipitationAmountByType?.map(e=>Q.createPrecipitationAmountByType(t,u[e.precipitationType],e.expected,e.minimumSnow,e.maximumSnow,e.expectedSnow))),i.restOfDayForecastOffset=Y.createDayPartForecast(t,e?.restOfDayForecast?.forecastStart,e?.restOfDayForecast?.forecastEnd,e?.restOfDayForecast?.cloudCover,e?.restOfDayForecast?.cloudCoverLowAltPct,e?.restOfDayForecast?.cloudCoverMidAltPct,e?.restOfDayForecast?.cloudCoverHighAltPct,_[e?.restOfDayForecast?.conditionCode],e?.restOfDayForecast?.humidity,e?.restOfDayForecast?.humidityMax,e?.restOfDayForecast?.humidityMin,e?.restOfDayForecast?.precipitationAmount,i.restOfDayForecastPrecipitationAmountByTypeOffest,e?.restOfDayForecast?.precipitationChance,u[e?.restOfDayForecast?.precipitationType],e?.restOfDayForecast?.snowfallAmount,e?.restOfDayForecast?.temperatureMax,e?.restOfDayForecast?.temperatureMin,e?.restOfDayForecast?.visibilityMax,e?.restOfDayForecast?.visibilityMin,e?.restOfDayForecast?.windDirection,e?.restOfDayForecast?.windGustSpeedMax,e?.restOfDayForecast?.windSpeed,e?.restOfDayForecast?.windSpeedMax,e?.restOfDayForecast?.precipitationIntensityMax,e?.restOfDayForecast?.perceivedPrecipitationIntensityMax,e?.restOfDayForecast?.uvIndexMin,e?.restOfDayForecast?.uvIndexMax,e?.restOfDayForecast?.temperatureApparentMin,e?.restOfDayForecast?.temperatureApparentMax,e?.restOfDayForecast?.daylight)),X.startDayWeatherConditions(t),X.addForecastStart(t,e?.forecastStart),X.addForecastEnd(t,e?.forecastEnd),X.addConditionCode(t,_[e?.conditionCode]),X.addHumidityMax(t,e?.humidityMax),X.addHumidityMin(t,e?.humidityMin),X.addMaxUvIndex(t,e?.maxUvIndex),X.addMoonPhase(t,m[e?.moonPhase]),X.addMoonrise(t,e?.moonrise),X.addMoonset(t,e?.moonset),X.addPrecipitationAmount(t,e?.precipitationAmount),X.addPrecipitationAmountByType(t,i.precipitationAmountByTypeOffest),X.addPrecipitationChance(t,e?.precipitationChance),X.addPrecipitationType(t,u[e?.precipitationType]),X.addSnowfallAmount(t,e?.snowfallAmount),X.addSolarMidnight(t,e?.solarMidnight),X.addSolarNoon(t,e?.solarNoon),X.addSunrise(t,e?.sunrise),X.addSunriseCivil(t,e?.sunriseCivil),X.addSunriseNautical(t,e?.sunriseNautical),X.addSunriseAstronomical(t,e?.sunriseAstronomical),X.addSunset(t,e?.sunset),X.addSunsetCivil(t,e?.sunsetCivil),X.addSunsetNautical(t,e?.sunsetNautical),X.addSunsetAstronomical(t,e?.sunsetAstronomical),X.addTemperatureMax(t,e?.temperatureMax),X.addTemperatureMaxTime(t,e?.temperatureMaxTime),X.addTemperatureMin(t,e?.temperatureMin),X.addTemperatureMinTime(t,e?.temperatureMinTime),X.addVisibilityMax(t,e?.visibilityMax),X.addVisibilityMin(t,e?.visibilityMin),X.addWindGustSpeedMax(t,e?.windGustSpeedMax),X.addWindSpeedAvg(t,e?.windSpeedAvg),X.addWindSpeedMax(t,e?.windSpeedMax),e?.daytimeForecast&&X.addDaytimeForecast(t,i.daytimeForecastOffset),e?.overnightForecast&&X.addOvernightForecast(t,i.overnightForecastOffset),e?.restOfDayForecast&&X.addRestOfDayForecast(t,i.restOfDayForecastOffset),X.endDayWeatherConditions(t)}),i=J.createDaysVector(t,e);O=J.createDailyForecastData(t,S,i);break}case"forecastHourly":{let e=T?.hours?.map(e=>tt.createHourWeatherConditions(t,e?.forecastStart,e?.cloudCover,e?.cloudCoverLowAltPct,e?.cloudCoverMidAltPct,e?.cloudCoverHighAltPct,_[e?.conditionCode],e?.daylight,e?.humidity,e?.perceivedPrecipitationIntensity,e?.precipitationAmount,e?.precipitationIntensity,e?.precipitationChance,u[e?.precipitationType],e?.pressure,h[e?.pressureTrend],e?.snowfallAmount,e?.snowfallIntensity,e?.temperature,e?.temperatureApparent,e?.unknown20,e?.temperatureDewPoint,e?.uvIndex,e?.visibility,e?.windDirection,e?.windGust,e?.windSpeed)),i=te.createHoursVector(t,e);O=te.createHourlyForecastData(t,S,i);break}case"forecastNextHour":{let e=T?.condition?.map(e=>{let i=e?.parameters.map(e=>$.createParameter(t,p[e?.type],e?.date)),a=G.createParametersVector(t,i);return G.createCondition(t,e?.startTime,e?.endTime,b[e?.forecastToken],l[e?.beginCondition],l[e?.endCondition],a)}),i=tr.createConditionVector(t,e),a=T?.summary?.map(e=>q.createForecastPeriodSummary(t,e?.startTime,e?.endTime,u[e?.condition],e?.precipitationChance,e?.precipitationIntensity)),s=tr.createSummaryVector(t,a),r=T?.minutes?.map(e=>Z.createForecastMinute(t,e?.startTime,e?.precipitationChance,e?.precipitationIntensity,e?.perceivedPrecipitationIntensity)),o=tr.createMinutesVector(t,r);O=tr.createNextHourForecastData(t,S,i,s,T?.forecastStart,T?.forecastEnd,o);break}case"news":{let e=T?.placements?.map(e=>{let i=e?.articles?.map(e=>{let i=H.createAlertIdsVector(t,e?.alertIds?.map(e=>t.createString(e))),a=t.createString(e?.headlineOverride),s=t.createString(e?.id),r=t.createString(e?.locale),o=H.createPhenomenaVector(t,e?.phenomena?.map(e=>t.createString(e))),n=H.createSupportedStorefrontsVector(t,e?.supportedStorefronts?.map(e=>t.createString(e)));return H.createArticles(t,s,n,i,o,a,r)}),a=ta.createArticlesVector(t,i);return ta.createPlacement(t,e?.priority,a,y[e?.placement])}),i=ts.createPlacementsVector(t,e);O=ts.createNews(t,S,i);break}case"weatherAlert":case"weatherAlerts":{let e=T?.alerts?.map(e=>{let i=e?.responses?.map(t=>N[t]),a=tn.createResponsesVector(t,i),s=to.createBytesVector(t,e?.id?.bytes),r=to.createUUID(t,s),n=t.createString(e?.areaId),d=t.createString(e?.areaName),c=t.createString(e?.attributionUrl),l=t.createString(e?.countryCode),b=t.createString(e?.description),p=t.createString(e?.token),u=t.createString(e?.detailsUrl),h=t.createString(e?.phenomenon),_=t.createString(e?.source),m=t.createString(e?.eventSource);return tn.createWeatherAlertSummary(t,r,n,d,c,l,b,p,e?.effectiveTime,e?.expireTime,e?.issuedTime,e?.eventOnsetTime,e?.eventEndTime,u,h,A[e?.severity],I[e?.significance],_,m,g[e?.urgency],o[e?.certainty],f[e?.importance],a,e?.unknown23,e?.unknown24,e?.unknown25,e?.unknown26)}),i=td.createAlertsVector(t,e),a=t.createString(T?.detailsUrl);O=td.createWeatherAlertCollectionData(t,S,a,i);break}case"weatherChange":case"weatherChanges":{let e=T?.changes?.map(e=>V.createChange(t,e?.forecastStart,e?.forecastEnd,n[e?.maxTemperatureChange],n[e?.minTemperatureChange],n[e?.dayPrecipitationChange],n[e?.nightPrecipitationChange])),i=tc.createChangesVector(t,e);O=tc.createWeatherChanges(t,S,T?.forecastStart,T?.forecastEnd,i);break}case"trendComparison":case"trendComparisons":case"historicalComparison":case"historicalComparisons":{let e=T?.comparisons?.map(e=>K.createComparison(t,d[e?.condition],e?.currentValue,e?.baselineValue,c[e?.deviation],e?.baselineType,e?.baselineStartDate)),i=z.createComparisonsVector(t,e);O=z.createHistoricalComparison(t,S,i);break}case"locationInfo":O=ti.createLocationInfo(t,S,t.createString(T?.preciseName),t.createString(T?.countryCode),t.createString(T?.timeZone),t.createString(T?.primaryName))}return C.info("✅ WeatherKit2.encode",`dataSet: ${r}`),O}static decode(t,r="all",T={}){C.info("☑️ WeatherKit2.decode",`dataSet: ${r}`);let O=tl.getRootAsWeather(t),S=O?.airQuality(),w=O?.currentWeather(),F=O?.forecastDaily(),v=O?.forecastHourly(),P=O?.forecastNextHour(),x=O?.news(),E=O?.weatherAlerts(),M=O?.weatherChanges(),R=O?.historicalComparisons(),U=O?.locationInfo();switch(r){case"all":S&&(T.airQuality=tb.decode(t,"airQuality",S)),w&&(T.currentWeather=tb.decode(t,"currentWeather",w)),F&&(T.forecastDaily=tb.decode(t,"forecastDaily",F)),v&&(T.forecastHourly=tb.decode(t,"forecastHourly",v)),P&&(T.forecastNextHour=tb.decode(t,"forecastNextHour",P)),x&&(T.news=tb.decode(t,"news",x)),E&&(T.weatherAlerts=tb.decode(t,"weatherAlerts",E)),M&&(T.weatherChanges=tb.decode(t,"weatherChange",M)),R&&(T.historicalComparisons=tb.decode(t,"trendComparison",R)),U&&(T.locationInfo=tb.decode(t,"locationInfo",U));break;case"airQuality":T={metadata:tb.decode(t,"metadata",S?.metadata()),categoryIndex:S?.categoryIndex(),index:S?.index(),isSignificant:S?.isSignificant(),pollutants:[],previousDayComparison:e[S?.previousDayComparison()],primaryPollutant:a[S?.primaryPollutant()],scale:S?.scale()};for(let t=0;t ${a}`,`convertUnits: ${s}`),`${i}|${a}`){case"HJ6332012|NONE":C.debug("HJ6332012|NONE"),a=i;case"HJ6332012|HJ6332012":case"EPA_NowCast|HJ6332012":C.debug("HJ6332012|HJ6332012"),"object"==typeof t.index&&(t.scale=th.#n.Scales[a]?.scale,t.index=t?.index?.[t.scale],t.categoryIndex=th.CategoryIndex(t?.index,t.scale)),t.isSignificant=t?.categoryIndex>=th.#n.Scales[a].significant;break;case"EPA_NowCast|NONE":C.debug("EPA_NowCast|NONE"),a=i;case`${i}|EPA_NowCast`:case`${i}|WAQI_InstantCast`:if(C.debug(`${i}|${a}`),"object"==typeof t.index&&(t.scale=th.#n.Scales[a]?.scale,t.index=t?.index?.[t.scale],t.categoryIndex=th.CategoryIndex(t?.index,t.scale)),e?.AQI?.Local?.ReplaceScales.includes(i)&&t.pollutants){let{AQI:i,pollutantType:s}=th.#d(t.pollutants,a).reduce((t,e)=>t?.AQI>e?.AQI?t:e,{});e?.AQI?.Local?.Scale!=="NONE"&&(t.index=i),e?.AQI?.Local?.Scale!=="NONE"&&(t.scale=th.#n.Scales[a].scale),t.primaryPollutant=s||"NOT_AVAILABLE",e?.AQI?.Local?.Scale!=="NONE"&&(t.categoryIndex=th.CategoryIndex(i,a)),e?.AQI?.Local?.Scale!=="NONE"&&(t.metadata.providerName+=` Converted using ${a}`)}t.isSignificant=t?.categoryIndex>=th.#n.Scales[a].significant}return s&&(t.pollutants=t?.pollutants?.map(t=>(t.amount=t.convertedAmount,t.units=t.convertedUnits,t))),C.info("✅ ConvertScale"),t}static CategoryIndex(t=0,e="WAQI_InstantCast"){let i;switch(typeof t){case"number":break;case"string":t=Number.parseInt(t,10)}for(let[a,s]of(C.info("☑️ CategoryIndex",`aqi: ${t}`),Object.entries(th.#n.Scales[e].categoryIndex)))if(i=Number.parseInt(a,10),t>=s[0]&&t<=s[1])break;return C.info("✅ CategoryIndex",`categoryIndex: ${i}`),i}static ComparisonTrend(t,e){C.info("☑️ ComparisonTrend",`todayAQI: ${t}`,`yesterdayAQI: ${e}`);let i="UNKNOWN",a=Number(t)-Number(e);if(Number.isNaN(a))i="UNKNOWN";else switch(a){case 10:case 9:case 8:case 7:case 6:case 5:case 4:i="WORSE";break;case 3:case 2:case 1:case 0:case -1:case -2:case -3:i="SAME";break;case -4:case -5:case -6:case -7:case -8:case -9:case -10:i="BETTER";break;case null:i="UNKNOWN";break;default:switch(a>0){case!0:i="MUCH_WORSE";break;case!1:i="MUCH_BETTER"}}return C.info("✅ ComparisonTrend",`trend: ${i}`),i}static ConvertUnits(t=[]){return C.info("☑️ ConvertUnits"),t=t.map(t=>{switch(t.units){case"PARTS_PER_MILLION":t.amount=th.#c(t.amount,t.units,"PARTS_PER_BILLION"),t.units="PARTS_PER_BILLION";break;case"MILLIGRAMS_PER_CUBIC_METER":t.amount=th.#c(t.amount,t.units,"MICROGRAMS_PER_CUBIC_METER"),t.units="MICROGRAMS_PER_CUBIC_METER"}return t}),C.info("✅ ConvertUnits"),t}static FixUnits(t){switch(C.info("☑️ FixUnits"),t?.metadata?.providerName){case"和风天气":case"QWeather":t.pollutants=t?.pollutants?.map(t=>("CO"===t.pollutantType&&(t.units="MILLIGRAMS_PER_CUBIC_METER"),t))}return C.info("✅ FixUnits"),t}static #n={Scales:{HJ6332012:{scale:"HJ6332012",categoryIndex:{"-1":[5e-324,-1],1:[0,50],2:[51,100],3:[101,150],4:[151,200],5:[201,300],6:[301,500],7:[500,Number.MAX_VALUE]},significant:3,pollutants:{SO2_24H:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,50],2:[51,150],3:[151,475],4:[476,800],5:[801,1600],6:[1601,2100],7:[2101,2602]}},SO2:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,150],2:[151,500],3:[501,650],4:[651,800]}},NO2_24H:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,40],2:[41,80],3:[81,180],4:[181,280],5:[281,565],6:[566,750],7:[751,940]}},NO2:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,100],2:[101,200],3:[201,700],4:[701,1200],5:[1201,2340],6:[2341,3090],7:[3091,3840]}},PM10:{units:"MICROGRAMS_PER_CUBIC_METER"},PM10_24H:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,50],2:[51,150],3:[151,250],4:[251,350],5:[351,420],6:[421,500],7:[501,600]}},CO_24H:{units:"MILLIGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,2],2:[3,4],3:[5,14],4:[15,24],5:[25,36],6:[37,48],7:[49,60]}},CO:{units:"MILLIGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,5],2:[6,10],3:[11,35],4:[36,60],5:[61,90],6:[91,120],7:[121,150]}},OZONE:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,160],2:[161,200],3:[201,300],4:[301,400],5:[401,800],6:[801,1e3],7:[1001,1200]}},OZONE_8H:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,100],2:[101,160],3:[161,215],4:[216,265],5:[266,800]}},PM2_5:{units:"MICROGRAMS_PER_CUBIC_METER"},PM2_5_24H:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,35],2:[36,75],3:[76,115],4:[116,150],5:[151,250],6:[251,350],7:[351,500]}}}},EPA_NowCast:{scale:"EPA_NowCast",categoryIndex:{"-1":[5e-324,-1],1:[0,50],2:[51,100],3:[101,150],4:[151,200],5:[201,300],6:[301,500],7:[500,Number.MAX_VALUE]},significant:3,pollutants:{OZONE_8H:{units:"PARTS_PER_MILLION",ppxToXGM3:1.97,ranges:{1:[0,.054],2:[.055,.07],3:[.071,.085],4:[.086,.105],5:[.106,.2]}},OZONE:{units:"PARTS_PER_MILLION",ppxToXGM3:1.97,ranges:{3:[.125,.164],4:[.165,.204],5:[.205,.404],6:[.405,.604]}},PM2_5:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,9],2:[9.1,35.4],3:[35.5,55.4],4:[55.5,125.4],5:[125.5,225.4],6:[225.5,325.4]}},PM10:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,54],2:[55,154],3:[155,254],4:[255,354],5:[355,424],6:[425,604]}},CO_8H:{units:"PARTS_PER_MILLION",ppxToXGM3:1.14,ranges:{1:[0,4.4],2:[4.5,9.4],3:[9.5,12.4],4:[12.5,15.4],5:[15.5,30.4],6:[30.5,50.4]}},CO:{units:"PARTS_PER_MILLION",ppxToXGM3:1.14,ranges:{1:[0,4.4],2:[4.5,9.4],3:[9.5,12.4],4:[12.5,15.4],5:[15.5,30.4],6:[30.5,50.4]}},SO2:{units:"PARTS_PER_BILLION",ppxToXGM3:2.62,ranges:{1:[0,35],2:[36,75],3:[76,185],4:[186,304]}},SO2_24H:{units:"PARTS_PER_BILLION",ppxToXGM3:-1,ranges:{5:[305,604],6:[605,1004]}},SO2_MAX_1H:{units:"PARTS_PER_BILLION",ppxToXGM3:-1,ranges:{5:[305,604],6:[605,Number.MAX_VALUE]}},NO2:{units:"PARTS_PER_BILLION",ppxToXGM3:1.88,ranges:{1:[0,53],2:[54,100],3:[101,360],4:[361,649],5:[650,1249],6:[1250,2049]}}}},WAQI_InstantCast:{scale:"EPA_NowCast",categoryIndex:{"-1":[5e-324,-1],1:[0,50],2:[51,100],3:[101,150],4:[151,200],5:[201,300],6:[301,500],7:[500,Number.MAX_VALUE]},significant:3,pollutants:{OZONE:{units:"PARTS_PER_BILLION",ppxToXGM3:1.97,ranges:{1:[0,61.5],2:[62.5,100.5],3:[101.5,151.5],4:[152.5,204],5:[205,404],6:[405,605]}},SO2:{units:"PARTS_PER_BILLION",ppxToXGM3:2.62,ranges:{1:[0,35],2:[36,75],3:[76,185],4:[186,304]}},SO2_MAX_1H:{units:"PARTS_PER_BILLION",ppxToXGM3:-1,ranges:{5:[305,604],6:[605,Number.MAX_VALUE]}},NO2:{units:"PARTS_PER_BILLION",ppxToXGM3:1.88,ranges:{1:[0,53],2:[54,100],3:[101,360],4:[361,649],5:[650,1249],6:[1250,2049]}},PM2_5:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,9],2:[9.1,35.4],3:[35.5,55.4],4:[55.5,125.4],5:[125.5,225.4],6:[225.5,325.4]}},PM10:{units:"MICROGRAMS_PER_CUBIC_METER",ppxToXGM3:-1,ranges:{1:[0,54],2:[55,154],3:[155,254],4:[255,354],5:[355,424],6:[425,604]}},CO:{units:"PARTS_PER_MILLION",ppxToXGM3:1.14,ranges:{1:[0,4.4],2:[4.5,9.4],3:[9.5,12.4],4:[12.5,15.4],5:[15.5,30.4],6:[30.5,50.4]}}}}},Pollutants:{co:"CO",no:"NO",no2:"NO2",so2:"SO2",o3:"OZONE",nox:"NOX",pm25:"PM2_5",pm10:"PM10",other:"NOT_AVAILABLE"},Units:{MICROGRAMS_PER_CUBIC_METER:"μg/m3","μg/m3":"MICROGRAMS_PER_CUBIC_METER",MILLIGRAMS_PER_CUBIC_METER:"mg/m3","mg/m3":"MILLIGRAMS_PER_CUBIC_METER",ppb:"PARTS_PER_BILLION",PARTS_PER_BILLION:"ppb",ppm:"PARTS_PER_MILLION",PARTS_PER_MILLION:"ppm"}};static #d(t=[],e="WAQI_InstantCast"){return C.info("☑️ Pollutants",`scale: ${e}`),t=t.map(t=>{let i,a=th.#n.Scales[e].pollutants[t.pollutantType];for(let[e,s]of(t.convertedAmount=th.#c(t.amount,t.units,a.units,a.ppxToXGM3),t.convertedUnits=a.units,Object.entries((t={...a,...t}).ranges)))if(i=Number.parseInt(e,10),t.convertedAmount>=s[0]&&t.convertedAmount<=s[1])break;return t.range=t.ranges[i],t.categoryIndex=Number.parseInt(i,10),t.category=th.#n.Scales[e].categoryIndex[i],t.AQI=Math.round((t.category[1]-t.category[0])*(t.convertedAmount-t.range[0])/(t.range[1]-t.range[0])+t.category[0]),t}),C.info("✅ Pollutants"),t}static #c(t,e,i,a=-1){if(C.info("☑️ ConvertUnit"),C.debug(`form: ${t} ${th.#n.Units[e]}`),C.debug(`ppxToXGM3Value: ${a}`),t<0)t=-1;else switch(e){case"PARTS_PER_MILLION":switch(i){case"PARTS_PER_MILLION":break;case"PARTS_PER_BILLION":t*=1e3;break;case"MILLIGRAMS_PER_CUBIC_METER":t*=a;break;case"MICROGRAMS_PER_CUBIC_METER":t=th.#c(t,e,"PARTS_PER_BILLION",a)*a;break;default:t=-1}break;case"PARTS_PER_BILLION":switch(i){case"PARTS_PER_BILLION":break;case"PARTS_PER_MILLION":t*=.001;break;case"MILLIGRAMS_PER_CUBIC_METER":t=th.#c(t,e,"PARTS_PER_MILLION",a)*a;break;case"MICROGRAMS_PER_CUBIC_METER":t*=a;break;default:t=-1}break;case"MILLIGRAMS_PER_CUBIC_METER":switch(i){case"MILLIGRAMS_PER_CUBIC_METER":break;case"MICROGRAMS_PER_CUBIC_METER":t*=1e3;break;case"PARTS_PER_MILLION":t/=a;break;case"PARTS_PER_BILLION":t=th.#c(t,e,"MICROGRAMS_PER_CUBIC_METER",a)/a;break;default:t=-1}break;case"MICROGRAMS_PER_CUBIC_METER":switch(i){case"MICROGRAMS_PER_CUBIC_METER":break;case"MILLIGRAMS_PER_CUBIC_METER":t*=.001;break;case"PARTS_PER_MILLION":t=th.#c(t,e,"MILLIGRAMS_PER_CUBIC_METER",a)/a;break;case"PARTS_PER_BILLION":t/=a;break;default:t=-1}break;default:t=-1}return C.debug(`to: ${t} ${th.#n.Units[i]}`),C.info("✅ ConvertUnit"),t}}class t_{Name="ForecastNextHour";Version="v1.6.2";Author="iRingo";static #l={Pollutants:{co:"CO",no:"NO",no2:"NO2",so2:"SO2",o3:"OZONE",nox:"NOX",pm25:"PM2_5",pm10:"PM10",other:"NOT_AVAILABLE"},WeatherCondition:{晴朗:"CLEAR",雨夹雪:"SLEET",小雨:"DRIZZLE",下雨:"RAIN",中雨:"RAIN",大雨:"HEAVY_RAIN",小雪:"FLURRIES",下雪:"SNOW",中雪:"SNOW",大雪:"HEAVY_SNOW",冰雹:"HAIL"},PrecipitationType:{晴朗:"CLEAR",雨夹雪:"SLEET",rain:"RAIN",雨:"RAIN",snow:"SNOW",雪:"SNOW",冰雹:"HAIL"},Precipitation:{Level:{INVALID:-1,NO:0,LIGHT:1,MODERATE:2,HEAVY:3,STORM:4},Range:{radar:{NO:[0,.031],LIGHT:[.031,.25],MODERATE:[.25,.35],HEAVY:[.35,.48],STORM:[.48,Number.MAX_VALUE]},mmph:{NO:[0,.08],LIGHT:[.08,3.44],MODERATE:[3.44,11.33],HEAVY:[11.33,51.3],STORM:[51.3,Number.MAX_VALUE]}}}};static WeatherCondition(t){C.info("☑️ WeatherCondition",`sentence: ${t}`);let e="CLEAR";return Object.keys(t_.#l.WeatherCondition).forEach(i=>{t.includes(i)&&(e=t_.#l.WeatherCondition[i])}),C.info(`✅ WeatherCondition: ${e}`),e}static PrecipitationType(t){C.info("☑️ PrecipitationType",`sentence: ${t}`);let e="CLEAR";return Object.keys(t_.#l.PrecipitationType).forEach(i=>{t.includes(i)&&(e=t_.#l.PrecipitationType[i])}),C.info(`✅ PrecipitationType: ${e}`),e}static Minute(t=[],e="",i="mmph"){C.info("☑️ Minute");let a=t_.PrecipitationType(e);return t=t.map((t,e)=>{if(t.precipitationIntensity=Math.trunc(1e6*t.precipitationIntensity)/1e6,t.perceivedPrecipitationIntensity=t_.#b(t.precipitationIntensity,i),t.perceivedPrecipitationIntensity>2){switch(a){case"RAIN":t.condition="HEAVY_RAIN";break;case"SNOW":t.condition="HEAVY_SNOW";break;default:t.condition=a}t.summaryCondition=a,t.clear=!1}else if(t.perceivedPrecipitationIntensity>1){switch(a){case"RAIN":t.condition="RAIN";break;case"SNOW":t.condition="SNOW";break;default:t.condition=a}t.summaryCondition=a,t.clear=!1}else if(t.perceivedPrecipitationIntensity>.1){switch(a){case"RAIN":t.condition="DRIZZLE";break;case"SNOW":t.condition="FLURRIES";break;default:t.condition=a}t.summaryCondition=a,t.clear=!1}else if(t.perceivedPrecipitationIntensity>0){switch(a){case"RAIN":t.condition="POSSIBLE_DRIZZLE";break;case"SNOW":t.condition="POSSIBLE_FLURRIES";break;default:t.condition=`POSSIBLE_${a}`}t.summaryCondition=a,t.clear=!1}else t.condition="CLEAR",t.summaryCondition="CLEAR",t.clear=!0;return t}),C.info("✅ Minute"),t}static Summary(t=[]){C.info("☑️ Summary");let e=[],i={condition:"CLEAR",startTime:0,precipitationChance:0,precipitationIntensity:0,maxCondition:"",clear:!0},a=Math.min(71,t.length);for(let s=0;st.clear).join("|")){case"true":{let i=t[0];e.push({beginCondition:i.maxCondition,endCondition:i.maxCondition,forecastToken:"CLEAR",parameters:[],startTime:i.startTime,endTime:0});break}case"false":{let i=t[0];e.push({beginCondition:i.maxCondition,endCondition:i.maxCondition,forecastToken:"CONSTANT",parameters:[],startTime:i.startTime,endTime:0});break}case"true|false":{let i=t[0],a=t[1];e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"START",parameters:[{date:a.startTime,type:"FIRST_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"CONSTANT",parameters:[],startTime:a.startTime,endTime:0});break}case"false|true":{let i=t[0],a=t[1];e.push({beginCondition:i.maxCondition,endCondition:i.maxCondition,forecastToken:"STOP",parameters:[{date:i.endTime,type:"FIRST_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"CLEAR",parameters:[],startTime:a.startTime,endTime:0});break}case"false|true|false":{let i=t[0],a=t[1],s=t[2];e.push({beginCondition:i.maxCondition,endCondition:s.maxCondition,forecastToken:"STOP_START",parameters:[{date:i.endTime,type:"FIRST_AT"},{date:s.startTime,type:"SECOND_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:s.maxCondition,endCondition:s.maxCondition,forecastToken:"START",parameters:[{date:s.startTime,type:"FIRST_AT"}],startTime:a.startTime,endTime:a.endTime}),e.push({beginCondition:s.maxCondition,endCondition:s.maxCondition,forecastToken:"CONSTANT",parameters:[],startTime:s.startTime,endTime:0});break}case"true|false|true":{let i=t[0],a=t[1],s=t[2];e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"START_STOP",parameters:[{date:a.startTime,type:"FIRST_AT"},{date:a.endTime,type:"SECOND_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"STOP",parameters:[{date:a.endTime,type:"FIRST_AT"}],startTime:a.startTime,endTime:a.endTime}),e.push({beginCondition:s.maxCondition,endCondition:s.maxCondition,forecastToken:"CLEAR",parameters:[],startTime:s.startTime,endTime:0});break}case"false|true|false|true":{let i=t[0],a=t[1],s=t[2],r=t[3];e.push({beginCondition:i.maxCondition,endCondition:s.maxCondition,forecastToken:"STOP_START",parameters:[{date:i.endTime,type:"FIRST_AT"},{date:s.startTime,type:"SECOND_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:s.maxCondition,endCondition:s.maxCondition,forecastToken:"START_STOP",parameters:[{date:s.startTime,type:"FIRST_AT"},{date:s.endTime,type:"SECOND_AT"}],startTime:a.startTime,endTime:a.endTime}),e.push({beginCondition:s.maxCondition,endCondition:s.maxCondition,forecastToken:"STOP",parameters:[{date:s.endTime,type:"FIRST_AT"}],startTime:s.startTime,endTime:s.endTime}),e.push({beginCondition:r.maxCondition,endCondition:r.maxCondition,forecastToken:"CLEAR",parameters:[],startTime:r.startTime,endTime:0});break}case"true|false|true|false":{let i=t[0],a=t[1],s=t[2],r=t[3];e.push({beginCondition:a.maxCondition,endCondition:a.maxCondition,forecastToken:"START_STOP",parameters:[{date:a.startTime,type:"FIRST_AT"},{date:a.endTime,type:"SECOND_AT"}],startTime:i.startTime,endTime:i.endTime}),e.push({beginCondition:a.maxCondition,endCondition:r.maxCondition,forecastToken:"STOP_START",parameters:[{date:a.endTime,type:"FIRST_AT"},{date:r.startTime,type:"SECOND_AT"}],startTime:a.startTime,endTime:a.endTime}),e.push({beginCondition:r.maxCondition,endCondition:r.maxCondition,forecastToken:"START",parameters:[{date:r.startTime,type:"FIRST_AT"}],startTime:s.startTime,endTime:s.endTime}),e.push({beginCondition:r.maxCondition,endCondition:r.maxCondition,forecastToken:"CONSTANT",parameters:[],startTime:r.startTime,endTime:0})}}return C.debug(`Conditions: ${JSON.stringify(e,null,2)}`),C.info("✅ Condition"),e}static #b(t,e="mmph"){let i=t_.#l.Precipitation.Range[e],a=0;return 0===t||t>i.NO[0]&&t<=i.NO[1]?a=0:t>i.LIGHT[0]&&t<=i.LIGHT[1]?a=Math.min(1,(t-i.LIGHT[0])/(i.LIGHT[1]-i.LIGHT[0])):t>i.MODERATE[0]&&t<=i.MODERATE[1]?a=1+Math.min(1,(t-i.MODERATE[0])/(i.MODERATE[1]-i.MODERATE[0])):t>i.HEAVY[0]&&(a=2+Math.min(1,(t-i.HEAVY[0])/(i.HEAVY[1]-i.HEAVY[0]))),a=Math.trunc(1e3*a)/1e3}}class tm{constructor(t,e){this.Name="ColorfulClouds",this.Version="3.3.8",C.log(`🟧 ${this.Name} v${this.Version}`),this.endpoint=`https://api.caiyunapp.com/v2.6/${e}/${t.longitude},${t.latitude}`,this.headers={Referer:"https://caiyunapp.com/"},this.version=t.version,this.language=t.language,this.country=t.country,this.airQuality,this.currentWeather}#n={Pollutants:{co:"CO",no:"NO",no2:"NO2",so2:"SO2",o3:"OZONE",nox:"NOX",pm25:"PM2_5",pm10:"PM10",other:"NOT_AVAILABLE"}};async RealTime(){if(!this.airQuality||!this.currentWeather){C.info("☑️ RealTime");let t={url:`${this.endpoint}/realtime`,headers:this.headers};try{let e=await F(t).then(t=>JSON.parse(t?.body??"{}"));switch(e?.status){case"ok":switch(e?.result?.realtime?.status){case"ok":{let t=Date.now()/1e3|0,i={attributionUrl:"https://www.caiyunapp.com/h5",expireTime:t+3600,language:"zh-CN",latitude:e?.location?.[0],longitude:e?.location?.[1],providerLogo:tp("彩云天气",this.version),providerName:"彩云天气",readTime:t,reportedTime:e?.server_time,temporarilyUnavailable:!1,sourceType:"STATION"};switch(this.airQuality={metadata:i,categoryIndex:-1,index:{HJ6332012:e?.result?.realtime?.air_quality?.aqi?.chn,EPA_NowCast:e?.result?.realtime?.air_quality?.aqi?.usa},isSignificant:!1,pollutants:this.#p(e?.result?.realtime?.air_quality)},this.country){case"CN":case"HK":case"MO":case"TW":this.airQuality.scale="HJ6332012";break;default:this.airQuality.scale="EPA_NowCast"}this.currentWeather={metadata:i,cloudCover:Math.round(e?.result?.realtime?.cloudrate*100),conditionCode:tu.ConvertWeatherCode(e?.result?.realtime?.skycon),humidity:Math.round(e?.result?.realtime?.humidity*100),perceivedPrecipitationIntensity:e?.result?.realtime?.precipitation?.local?.intensity,pressure:e?.result?.realtime?.pressure/100,temperature:e?.result?.realtime?.temperature,temperatureApparent:e?.result?.realtime?.apparent_temperature,visibility:e?.result?.realtime?.visibility*1e3,windDirection:e?.result?.realtime?.wind?.direction,windSpeed:e?.result?.realtime?.wind?.speed};break}case"error":case void 0:throw Error(JSON.stringify({status:e?.result?.realtime?.status,reason:e?.result?.realtime}))}break;case"error":case"failed":case void 0:throw Error(JSON.stringify(e??{}))}}catch(t){C.error(`RealTime: ${t}`)}finally{C.info("✅ RealTime")}}return{airQuality:this.airQuality,currentWeather:this.currentWeather}}async Minutely(){let t;C.info("☑️ Minutely");let e={url:`${this.endpoint}/minutely?unit=metric:v2`,headers:this.headers};try{let i=await F(e).then(t=>JSON.parse(t?.body??"{}"));switch(i?.status){case"ok":switch(i?.result?.minutely?.status){case"ok":{let e=Date.now()/1e3|0,a={attributionUrl:"https://www.caiyunapp.com/h5",expireTime:e+3600,language:"zh-CN",latitude:i?.location?.[0],longitude:i?.location?.[1],providerLogo:tp("彩云天气",this.version),providerName:"彩云天气",readTime:e,reportedTime:i?.server_time,temporarilyUnavailable:!1,sourceType:"MODELED"};i.result.minutely.probability=i.result.minutely.probability.map(t=>Math.round(100*t));let s=new Date(i?.server_time*1e3).setSeconds(0,0);s=s.valueOf()/1e3-60,(t={metadata:a,condition:[],forecastEnd:0,forecastStart:s,minutes:i?.result?.minutely?.precipitation_2h?.map((t,e)=>{let a={perceivedPrecipitationIntensity:0,precipitationChance:0,precipitationIntensity:t,startTime:s+60*e};return e<30?a.precipitationChance=i?.result?.minutely?.probability?.[0]:e<60?a.precipitationChance=i?.result?.minutely?.probability?.[1]:e<90?a.precipitationChance=i?.result?.minutely?.probability?.[2]:a.precipitationChance=i?.result?.minutely?.probability?.[3],a}),summary:[]}).minutes.length=Math.min(85,t.minutes.length),t.forecastEnd=s+60*t.minutes.length,t.minutes=t_.Minute(t.minutes,i?.result?.minutely?.description,"mmph"),t.summary=t_.Summary(t.minutes),t.condition=t_.Condition(t.summary);break}case"error":case"failed":case void 0:throw Error(JSON.stringify({status:i?.result?.minutely?.status,reason:i?.result?.minutely}))}break;case"error":case"failed":case void 0:throw Error(JSON.stringify(i??{}))}}catch(t){C.error(`Minutely: ${t}`)}finally{C.info("✅ Minutely")}return t}async Hourly(t=273,e){let i;C.info("☑️ Hourly");let a={url:`${this.endpoint}/hourly?hourlysteps=${t}`,headers:this.headers};e&&(a.url+=`&begin=${e}`);try{let e=await F(a).then(t=>JSON.parse(t?.body??"{}"));switch(e?.status){case"ok":switch(e?.result?.hourly?.status){case"ok":{let a=Date.now()/1e3|0,s={attributionUrl:"https://www.caiyunapp.com/h5",expireTime:a+3600,language:"zh-CN",latitude:e?.location?.[0],longitude:e?.location?.[1],providerLogo:tp("彩云天气",this.version),providerName:"彩云天气",readTime:a,reportedTime:e?.server_time,temporarilyUnavailable:!1,sourceType:"STATION"};switch(this.airQuality={metadata:s,categoryIndex:-1,index:{HJ6332012:e?.result?.hourly?.air_quality?.aqi?.[0]?.value?.chn,EPA_NowCast:e?.result?.hourly?.air_quality?.aqi?.[0]?.value?.usa},isSignificant:!1},this.country){case"CN":case"HK":case"MO":case"TW":this.airQuality.scale="HJ6332012";break;default:this.airQuality.scale="EPA_NowCast"}i={metadata:s,hours:[]};for(let a=0;aJSON.parse(t?.body??"{}"));switch(e?.status){case"ok":switch(e?.result?.daily?.status){case"ok":{let a=Date.now()/1e3|0;i={metadata:{attributionUrl:"https://www.caiyunapp.com/h5",expireTime:a+3600,language:"zh-CN",latitude:e?.location?.[0],longitude:e?.location?.[1],providerLogo:tp("彩云天气",this.version),providerName:"彩云天气",readTime:a,reportedTime:e?.server_time,temporarilyUnavailable:!1,sourceType:"STATION"},days:[]};for(let a=0;aJSON.parse(t?.body??"{}"));if(t?.code==="200")e={attributionUrl:t?.location?.[0]?.fxLink,latitude:t?.location?.[0]?.lat,longitude:t?.location?.[0]?.lon,providerName:"和风天气",locationID:t?.location?.[0]?.id};else throw Error(t?.code)}catch(t){C.error(`GeoAPI: ${t}`)}finally{C.debug(`metadata: ${JSON.stringify(e,null,2)}`),C.info("✅ GeoAPI")}return e}async WeatherNow(){let t;C.info("☑️ WeatherNow");let e={url:`${this.endpoint}/v7/weather/now?location=${this.longitude},${this.latitude}`,headers:this.headers};try{let i=await F(e).then(t=>JSON.parse(t?.body??"{}"));switch(i?.code){case"200":{let e=Date.now()/1e3|0;t={metadata:{attributionUrl:i?.fxLink,expireTime:e+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:e,reportedTime:new Date(i?.now?.pubTime).getTime()/1e3|0,temporarilyUnavailable:!1,sourceType:"STATION"},cloudCover:Number.parseInt(i?.now?.cloud,10),conditionCode:tu.ConvertWeatherCode(i?.now?.text),humidity:Number.parseInt(i?.now?.humidity,10),perceivedPrecipitationIntensity:Number.parseFloat(i?.now?.precip),pressure:Number.parseFloat(i?.now?.pressure),temperature:Number.parseFloat(i?.now?.temp),temperatureApparent:Number.parseFloat(i?.now?.feelsLike),temperatureDewPoint:Number.parseFloat(i?.now?.dew),visibility:1e3*Number.parseFloat(i?.now?.vis),windDirection:Number.parseInt(i?.now?.wind360,10),windSpeed:Number.parseFloat(i?.now?.windSpeed)};break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(i?.code)}}catch(t){C.error(`WeatherNow: ${t}`)}finally{C.info("✅ WeatherNow")}return t}async AirNow(){let t;C.info("☑️ AirNow");let e={url:`${this.endpoint}/v7/air/now?location=${this.longitude},${this.latitude}`,headers:this.headers};try{let i=await F(e).then(t=>JSON.parse(t?.body??"{}"));switch(i?.code){case"200":{let e=Date.now()/1e3|0;t={metadata:{attributionUrl:i?.fxLink,expireTime:e+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:e,reportedTime:new Date(i?.now?.pubTime).getTime()/1e3|0,temporarilyUnavailable:!1,sourceType:"STATION"},categoryIndex:Number.parseInt(i?.now?.level,10),index:Number.parseInt(i?.now?.aqi,10),isSignificant:!1,pollutants:this.#p(i?.now),previousDayComparison:"UNKNOWN",primaryPollutant:this.#n.Pollutants[i?.now?.primary]||"NOT_AVAILABLE",scale:"HJ6332012"},i?.refer?.sources?.[0]&&(t.metadata.providerName+=` 数据源: ${i?.refer?.sources?.[0]}`);break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(i?.code)}}catch(t){C.error(`AirNow: ${t}`)}finally{C.info("✅ AirNow")}return t}async AirQualityCurrent(){let t;C.info("☑️ AirQualityCurrent");let e={url:`${this.endpoint}/airquality/v1/current/${this.latitude}/${this.longitude}`,headers:this.headers};try{let i=await F(e).then(t=>JSON.parse(t?.body??"{}"));if(i?.error===void 0){let a=Date.now()/1e3|0;t={metadata:{attributionUrl:e.url,expireTime:a+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:a,reportedTime:a,temporarilyUnavailable:!1,sourceType:"STATION",stationID:i?.stations?.[0]?.id},categoryIndex:Number.parseInt(i?.indexes?.[0]?.level,10),index:i?.indexes?.[0]?.aqi,isSignificant:!1,pollutants:i?.pollutants?.map(t=>(t.pollutantType=this.#n.Pollutants[t?.code],t.amount=t?.concentration?.value,t.units=this.#n.Units[t?.concentration?.unit],t)),previousDayComparison:"UNKNOWN",primaryPollutant:this.#n.Pollutants[i?.indexes?.[0]?.primaryPollutant?.code]||"NOT_AVAILABLE",scale:"HJ6332012"},i?.stations?.[0]?.name&&(t.metadata.providerName+=` 数据源: ${i?.stations?.[0]?.name}检测站`)}else throw Error(JSON.stringify(i?.error,null,2))}catch(t){C.error(`AirQualityCurrent: ${t}`)}finally{C.info("✅ AirQualityCurrent")}return t}async Minutely(){let t;C.info("☑️ Minutely");let e={url:`${this.endpoint}/v7/minutely/5m?location=${this.longitude},${this.latitude}`,headers:this.headers};try{let i=await F(e).then(t=>JSON.parse(t?.body??"{}"));switch(i?.code){case"200":{let e=Date.now()/1e3|0,a=new Date(i?.updateTime).setSeconds(0,0);a=a.valueOf()/1e3,(t={metadata:{attributionUrl:i?.fxLink,expireTime:e+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:e,reportedTime:e,temporarilyUnavailable:!1,sourceType:"MODELED"},condition:[],forecastEnd:0,forecastStart:a,minutes:i?.minutely?.map((t,e)=>{let i={perceivedPrecipitationIntensity:0,precipitationChance:0,precipitationIntensity:12*Number.parseFloat(t.precip),startTime:new Date(t.fxTime)/1e3},a=[{...i},{...i},{...i},{...i},{...i}];return a=a.map((t,e)=>(t.startTime=t.startTime+60*e,t))}).flat(Infinity),summary:[]}).minutes.length=Math.min(85,t.minutes.length),t.forecastEnd=a+60*t.minutes.length,t.minutes=t_.Minute(t.minutes,i?.summary,"mmph"),t.summary=t_.Summary(t.minutes),t.condition=t_.Condition(t.summary);break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(i?.code)}}catch(t){C.error(`Minutely: ${t}`)}finally{C.info("✅ Minutely")}return t}async Hourly(t=168){let e;C.info("☑️ Hourly",`host: ${this.host}`);let i={url:`${this.endpoint}/v7/weather/${t}h?location=${this.longitude},${this.latitude}`,headers:this.headers};try{let t=await F(i).then(t=>JSON.parse(t?.body??"{}"));switch(t?.code){case"200":{let i=Date.now()/1e3|0;e={metadata:{attributionUrl:t?.fxLink,expireTime:i+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:i,reportedTime:new Date(t?.updateTime),temporarilyUnavailable:!1,sourceType:"STATION"},hours:t?.hourly?.map(t=>({cloudCover:Number.parseInt(t?.cloud,10),conditionCode:tu.ConvertWeatherCode(t?.text),forecastStart:new Date(t?.fxTime).getTime()/1e3|0,humidity:Number.parseInt(t?.humidity,10),precipitationAmount:Number.parseFloat(t?.precip),precipitationChance:Number.parseInt(t?.pop,10),precipitationIntensity:Number.parseInt(t?.precip,10),pressure:Number.parseFloat(t?.pressure),temperature:Number.parseFloat(t?.temp),temperatureDewPoint:Number.parseFloat(t?.dew),windDirection:Number.parseInt(t?.wind360,10),windSpeed:Number.parseFloat(t?.windSpeed)}))};break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(t?.code)}}catch(t){C.error(`Hourly: ${t}`)}finally{C.info("✅ Hourly")}return e}async Daily(t=10){let e;C.info("☑️ Daily",`host: ${this.host}`);let i={url:`${this.endpoint}/v7/weather/${t}d?location=${this.longitude},${this.latitude}`,headers:this.headers};try{let t=await F(i).then(t=>JSON.parse(t?.body??"{}"));switch(t?.code){case"200":{let i=Date.now()/1e3|0,a={attributionUrl:t?.fxLink,expireTime:i+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:i,reportedTime:new Date(t?.updateTime),temporarilyUnavailable:!1,sourceType:"STATION"},s=a.reportedTime.getTimezoneOffset();e={metadata:a,days:t?.daily?.map(t=>{let e=(Date.parse(t?.fxDate)/1e3|0)+60*s;return{forecastStart:e,forecastEnd:e+86400,maxUvIndex:Number.parseInt(t?.uvIndex,10),moonPhase:tu.ConvertMoonPhase(t?.moonPhase),moonrise:this.#u(t?.fxDate,t?.moonrise),moonset:this.#u(t?.fxDate,t?.moonset),precipitationAmount:Number.parseFloat(t?.precip),sunrise:this.#u(t?.fxDate,t?.sunrise),sunset:this.#u(t?.fxDate,t?.sunset),temperatureMax:Number.parseFloat(t?.tempMax),temperatureMin:Number.parseFloat(t?.tempMin),windSpeedAvg:(7*Number.parseFloat(t?.windSpeedDay)+17*Number.parseFloat(t?.windSpeedNight))/24,daytimeForecast:{forecastStart:e+25200,forecastEnd:e+25200+43200,conditionCode:tu.ConvertWeatherCode(t?.textDay),precipitationAmount:Number.parseFloat(t?.precip),windDirection:Number.parseInt(t?.wind360Day,10),windSpeed:Number.parseFloat(t?.windSpeedDay)},overnightForecast:{forecastStart:e+68400,forecastEnd:e+68400+43200,conditionCode:tu.ConvertWeatherCode(t?.textNight),precipitationAmount:Number.parseFloat(t?.precip),windDirection:Number.parseInt(t?.wind360Night,10),windSpeed:Number.parseFloat(t?.windSpeedNight)}}})};break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(t?.code)}}catch(t){C.error(`Daily: ${t}`)}finally{C.info("✅ Daily")}return e}async HistoricalAir(t=new Number,e=w("yyyyMMdd",Date.now()-864e5)){let i;C.info("☑️ HistoricalAir",`locationID:${t}`,`date: ${e}`);let a={url:`${this.endpoint}/v7/historical/air/?location=${t}&date=${e}`,headers:this.headers};try{let t=await F(a).then(t=>JSON.parse(t?.body??"{}"));switch(t?.code){case"200":{let e=Date.now()/1e3|0,a=new Date().getHours();i={metadata:{attributionUrl:t?.fxLink,expireTime:e+3600,language:"zh-CN",latitude:this.latitude,longitude:this.longitude,providerLogo:tp("和风天气",this.version),providerName:"和风天气",readTime:e,reportedTime:e,temporarilyUnavailable:!1,sourceType:"STATION"},categoryIndex:Number.parseInt(t?.airHourly?.[a]?.level,10),index:Number.parseInt(t?.airHourly?.[a]?.aqi,10),pollutants:this.#p(t?.airHourly?.[a]),primaryPollutant:this.#n.Pollutants[t?.airHourly?.[a]?.primary]||"NOT_AVAILABLE",scale:"HJ6332012"};break}case"204":case"400":case"401":case"402":case"403":case"404":case"429":case"500":case void 0:throw Error(t?.code)}}catch(t){C.error(`HistoricalAir: ${t}`)}finally{C.info("✅ HistoricalAir")}return i}#p(t={}){C.info("☑️ CreatePollutants");let e=[];for(let[i,a]of Object.entries(t))switch(i){case"co":e.push({amount:Number.parseFloat(a??-1),pollutantType:this.#n.Pollutants[i],units:"MILLIGRAMS_PER_CUBIC_METER"});break;case"no":case"no2":case"so2":case"o3":case"nox":case"pm25":case"pm2p5":case"pm10":e.push({amount:Number.parseFloat(a??-1),pollutantType:this.#n.Pollutants[i],units:"MICROGRAMS_PER_CUBIC_METER"})}return C.info("✅ CreatePollutants"),e}#u(t,e){return new Date(`${t}T${e}:00+08:00`).getTime()/1e3|0}}class ty{constructor(t,e){this.Name="WAQI",this.Version="1.4.3",C.log(`🟧 ${this.Name} v${this.Version}`),this.headers={Accept:"application/json"},this.token=e,this.version=t.version,this.language=t.language,this.latitude=t.latitude,this.longitude=t.longitude,this.country=t.country}#l={Pollutants:{co:"CO",no:"NO",no2:"NO2",so2:"SO2",o3:"OZONE",nox:"NOX",pm25:"PM2_5",pm10:"PM10",other:"NOT_AVAILABLE"}};async Nearest(t="mapq"){let e;C.info("☑️ Nearest",`mapqVersion: ${t}`);let i={url:`https://api.waqi.info/${t}/nearest?n=1&geo=1/${this.latitude}/${this.longitude}`,headers:this.headers};try{let a=await F(i).then(t=>JSON.parse(t?.body??"{}"));switch(t){case"mapq":switch(a?.status){default:case void 0:{let t=Date.now()/1e3|0;(e={metadata:{attributionUrl:i.url,expireTime:t+3600,language:`${this.language}-${this.country}`,latitude:a?.d?.[0]?.geo?.[0],longitude:a?.d?.[0]?.geo?.[1],providerLogo:tp("WAQI",this.version),providerName:`World Air Quality Index Project 监测站:${a?.d?.[0]?.nna}`,readTime:t,reportedTime:a?.d?.[0]?.t,temporarilyUnavailable:!1,sourceType:"STATION",stationId:Number.parseInt(a?.d?.[0]?.x,10),stationKey:a?.d?.[0]?.k},categoryIndex:th.CategoryIndex(a?.d?.[0]?.v,"WAQI_InstantCast"),index:Number.parseInt(a?.d?.[0]?.v,10),primaryPollutant:this.#l.Pollutants[a?.d?.[0]?.pol]||"NOT_AVAILABLE",scale:"EPA_NowCast"}).isSignificant=e.categoryIndex>=3;break}case"error":throw JSON.stringify({status:a?.status,reason:a?.message})}break;case"mapq2":switch(a?.status){case"ok":{let t=Date.now()/1e3|0;(e={metadata:{attributionUrl:i.url,language:`${this.language}-${this.country}`,latitude:a?.data?.stations?.[0]?.geo?.[0],longitude:a?.data?.stations?.[0]?.geo?.[1],expireTime:t+3600,providerLogo:tp("WAQI",this.version),providerName:`World Air Quality Index Project 监测站:${a?.data?.stations?.[0]?.name}`,readTime:t,reportedTime:new Date(a?.data?.stations?.[0]?.utime).getTime()/1e3|0,temporarilyUnavailable:!1,sourceType:"STATION",stationId:Number.parseInt(a?.data?.stations?.[0]?.idx,10)},categoryIndex:th.CategoryIndex(a?.data?.stations?.[0]?.aqi,"WAQI_InstantCast"),index:Number.parseInt(a?.data?.stations?.[0]?.aqi,10),primaryPollutant:"NOT_AVAILABLE",scale:"EPA_NowCast"}).isSignificant=e.categoryIndex>=3;break}case"error":case void 0:throw JSON.stringify({status:a?.status,reason:a?.reason})}}}catch(t){C.error(`Nearest: ${t}`)}finally{C.info("✅ Nearest")}return e}async Token(t=0){let e;C.info("☑️ Token",`stationId: ${t}`);let i={url:`https://api.waqi.info/api/token/${t}`,headers:this.headers};try{let t=await F(i).then(t=>JSON.parse(t?.body??"{}"));if(t?.status==="error")throw JSON.stringify({status:t?.status,reason:t?.data});switch(t?.rxs?.status){case"ok":switch(t?.rxs?.obs?.[0]?.status){case"ok":e=t?.rxs?.obs?.[0]?.msg?.token;break;case"error":throw JSON.stringify({status:t?.rxs?.obs?.[0]?.status,reason:t?.rxs?.obs?.[0]?.msg})}break;case"error":case void 0:throw JSON.stringify({status:t?.rxs?.status,reason:t?.rxs})}}catch(t){C.error(`Token: ${t}`)}finally{C.info("✅ Token")}return e}async AQI(t=0,e=this.token){let i;C.info("☑️ AQI",`stationId: ${t}`,`token: ${e}`);let a={url:`https://api.waqi.info/api/feed/@${t}/aqi.json`,headers:this.headers,body:`token=${e}&id=${t}`};try{let e=await F(a).then(t=>JSON.parse(t?.body??"{}"));if(e?.status==="error")throw JSON.stringify({status:e?.status,reason:e?.data});switch(e?.rxs?.status){case"ok":switch(e?.rxs?.obs?.[0]?.status){case"ok":{let a=Date.now()/1e3|0;(i={metadata:{attributionUrl:e?.rxs?.obs?.[0]?.msg?.city?.url,expireTime:a+3600,language:`${this.language}-${this.country}`,latitude:e?.rxs?.obs?.[0]?.msg?.city?.geo?.[0],longitude:e?.rxs?.obs?.[0]?.msg?.city?.geo?.[1],providerLogo:tp("WAQI",this.version),providerName:`World Air Quality Index Project 监测站:${e?.rxs?.obs?.[0]?.msg?.city?.name}`,readTime:a,reportedTime:e?.rxs?.obs?.[0]?.msg?.time?.v,temporarilyUnavailable:!1,sourceType:"STATION",stationId:t},categoryIndex:th.CategoryIndex(e?.rxs?.obs?.[0]?.msg?.aqi,"WAQI_InstantCast"),index:Number.parseInt(e?.rxs?.obs?.[0]?.msg?.aqi,10),primaryPollutant:this.#l.Pollutants[e?.rxs?.obs?.[0]?.msg?.dominentpol]||"NOT_AVAILABLE",scale:"EPA_NowCast"}).isSignificant=i.categoryIndex>=3;break}case"error":case void 0:throw JSON.stringify({status:e?.rxs?.[0]?.status,reason:e?.rxs?.obs?.[0]?.msg})}break;case"error":case void 0:throw JSON.stringify({status:e?.rxs?.status,reason:e?.rxs})}}catch(t){C.error(`AQI: ${t}`)}finally{C.info("✅ AQI")}return i}async AQI2(t=0,e=this.token){let i;C.info("☑️ AQI2",`stationId: ${t}`);let a={url:`https://api2.waqi.info/feed/geo:${this.latitude};${this.longitude}/?token=${e}`,headers:this.headers};t&&(a.url=`https://api2.waqi.info/feed/@${t}/?token=${e}`);try{let e=await F(a).then(t=>JSON.parse(t?.body??"{}"));switch(e?.status){case"ok":{let a=Date.now()/1e3|0;(i={metadata:{attributionUrl:e?.data?.city?.url,expireTime:a+3600,language:`${this.language}-${this.country}`,latitude:e?.data?.city?.geo?.[0],longitude:e?.data?.city?.geo?.[1],providerLogo:tp("WAQI",this.version),providerName:`World Air Quality Index Project 监测站:${e?.data?.city?.name}`,readTime:a,reportedTime:e?.data?.time?.v,temporarilyUnavailable:!1,sourceType:"STATION",stationId:t||Number.parseInt(e?.data?.idx,10)},categoryIndex:th.CategoryIndex(e?.data?.aqi,"WAQI_InstantCast"),index:Number.parseInt(e?.data?.aqi,10),primaryPollutant:this.#l.Pollutants[e?.data?.dominentpol]||"NOT_AVAILABLE",scale:"EPA_NowCast"}).isSignificant=i.categoryIndex>=3;break}case"error":case void 0:throw JSON.stringify({status:e?.status,reason:e?.data})}}catch(t){C.error(`AQI2: ${t}`)}finally{C.info("✅ AQI2")}return i}}let tN=new URL($request.url);C.info(`url: ${tN.toJSON()}`);let tA=tN.pathname.split("/").filter(Boolean);C.info(`PATHs: ${tA}`);let tI=($response.headers?.["Content-Type"]??$response.headers?.["content-type"])?.split(";")?.[0];async function tg(t,e,i){let a;switch(C.info("☑️ InjectAirQuality"),e?.AQI?.Provider){case"WeatherKit":break;case"QWeather":a=await i.qWeather.AirNow();break;case"ColorfulClouds":default:a=(await i.colorfulClouds.RealTime()).airQuality;break;case"WAQI":if(e?.API?.WAQI?.Token)a=await i.waqi.AQI2();else{let t=await i.waqi.Nearest(),e=await i.waqi.Token(t?.metadata?.stationId);(a=await i.waqi.AQI(t?.metadata?.stationId,e)).metadata={...t?.metadata,...a?.metadata},a={...t,...a}}}return a?.metadata&&(a.metadata={...t?.metadata,...a.metadata},t={...t,...a},t?.pollutants||(t.pollutants=[])),t=th.ConvertScale(t,e),C.info("✅ InjectAirQuality"),t}async function tT(t,e,i){let a;switch(C.info("☑️ HistoricalAirQuality"),e?.AQI?.ComparisonProvider==="Auto"&&(e.AQI.ComparisonProvider=e.AQI.Provider),e?.AQI?.ComparisonProvider||e?.AQI?.Provider){case"WeatherKit":case"WAQI":a={};break;case"QWeather":if(!t?.metadata?.locationID){let e=await i.qWeather.GeoAPI();t?.metadata?.attributionUrl||(t.metadata.attributionUrl=e.attributionUrl),t.metadata.locationID=e?.locationID}a=await i.qWeather.HistoricalAir(t?.metadata?.locationID);break;case"ColorfulClouds":a=(await i.colorfulClouds.Hourly(1,(Date.now()-864e5)/1e3|0)).airQuality}return a=th.ConvertScale(a,e),C.info("✅ HistoricalAirQuality"),a}async function tC(t,e,i){C.info("☑️ CompareAirQuality",`airQuality.scale: ${t?.scale}`);let a=await tT(t,e,i);return t.previousDayComparison=th.ComparisonTrend(t?.index,a?.index),C.info("✅ CompareAirQuality"),t}async function tO(t,e,i){let a;switch(C.info("☑️ InjectCurrentWeather"),e?.Weather?.Provider){case"WeatherKit":default:break;case"QWeather":a=await i.qWeather.WeatherNow();break;case"ColorfulClouds":a=(await i.colorfulClouds.RealTime()).currentWeather}return a?.metadata&&(a.metadata={...t?.metadata,...a.metadata},t={...t,...a}),C.info("✅ InjectCurrentWeather"),t}async function tS(t,e,i){let a;switch(C.info("☑️ InjectForecastDaily"),e?.Weather?.Provider){case"WeatherKit":default:break;case"QWeather":a=await i.qWeather.Daily();break;case"ColorfulClouds":{let e=t.days?.length||11,s=t.days?.[0]?.forecastStart||void 0;a=await i.colorfulClouds.Daily(e,s)}}return a?.metadata&&(t.metadata={...t?.metadata,...a.metadata},tu.mergeForecast(t?.days,a?.days)),C.info("✅ InjectForecastDaily"),t}async function tw(t,e,i){let a;switch(C.info("☑️ InjectForecastHourly"),e?.Weather?.Provider){case"WeatherKit":default:break;case"QWeather":a=await i.qWeather.Hourly();break;case"ColorfulClouds":{let e=t.hours?.length||273,s=t.hours?.[0]?.forecastStart||void 0;a=(await i.colorfulClouds.Hourly(e,s)).forecastHourly}}return a?.metadata&&(t.metadata={...t?.metadata,...a.metadata},t.hours=tu.mergeForecast(t?.hours,a?.hours)),C.info("✅ InjectForecastHourly"),t}async function tF(t,e,i){let a;switch(C.info("☑️ InjectForecastNextHour"),e?.NextHour?.Provider){case"WeatherKit":break;case"QWeather":a=await i.qWeather.Minutely();break;default:a=await i.colorfulClouds.Minutely()}return a?.metadata&&(a.metadata={...t?.metadata,...a.metadata},t={...t,...a}),C.info("✅ InjectForecastNextHour"),t}C.info(`FORMAT: ${tI}`),(async()=>{let{Settings:t,Caches:e,Configs:i}=function(t,e,i){C.info("☑️ Set Environment Variables");let{Settings:a,Caches:s,Configs:r}=function(t,e,i){e=[e].flat(1/0);let a={Settings:i?.Default?.Settings||{},Configs:i?.Default?.Configs||{},Caches:{}};switch(e.forEach(t=>{a.Settings={...a.Settings,...i?.[t]?.Settings},a.Configs={...a.Configs,...i?.[t]?.Configs}}),typeof $argument){case"string":$argument=Object.fromEntries($argument.split("&").map(t=>t.split("=",2).map(t=>t.replace(/\"/g,""))));case"object":{let t={};Object.keys($argument).forEach(e=>O.set(t,e,$argument[e])),a.Settings={...a.Settings,...t}}}let s=v.getItem(t);return s&&e.forEach(t=>{switch(typeof s?.[t]?.Settings){case"string":s[t].Settings=JSON.parse(s[t].Settings||"{}");case"object":a.Settings={...a.Settings,...s[t].Settings}}switch(typeof s?.[t]?.Caches){case"string":s[t].Caches=JSON.parse(s[t].Caches||"{}");case"object":a.Caches={...a.Caches,...s[t].Caches}}}),function t(e,i){for(let a in e){let s=e[a];e[a]="object"==typeof s&&null!==s?t(s,i):i(a,s)}return e}(a.Settings,(t,e)=>("true"===e||"false"===e?e=JSON.parse(e):"string"==typeof e&&(e=e.includes(",")?e.split(",").map(t=>P(t)):P(e)),e)),a}(t,e,i);if(Array.isArray(a?.AQI?.ReplaceProviders)||O.set(a,"AQI.ReplaceProviders",a?.AQI?.ReplaceProviders?[a.AQI.ReplaceProviders.toString()]:[]),a.AQI.ReplaceProviders.includes("TWC")&&a.AQI.ReplaceProviders.push("The Weather Channel"),a.AQI.ReplaceProviders.includes("QWeather")&&a.AQI.ReplaceProviders.push("和风天气"),a.AQI.ReplaceProviders.push(void 0),Array.isArray(a?.AQI?.Local?.ReplaceScales)||O.set(a,"AQI.Local.ReplaceScales",a?.AQI?.Local?.ReplaceScales?[a.AQI.Local.ReplaceScales.toString()]:[]),C.info(`typeof Settings: ${typeof a}`,`Settings: ${JSON.stringify(a,null,2)}`),r.Locale&&(r.Locale=new Map(r.Locale)),r.i18n)for(let t in r.i18n)r.i18n[t]=new Map(r.i18n[t]);return C.info("✅ Set Environment Variables"),{Settings:a,Caches:s,Configs:r}}("iRingo","WeatherKit",x);C.logLevel=t.LogLevel;let a={};switch(tI){case void 0:case"application/x-www-form-urlencoded":case"text/plain":default:case"application/x-mpegURL":case"application/x-mpegurl":case"application/vnd.apple.mpegurl":case"audio/mpegurl":case"text/xml":case"text/html":case"text/plist":case"application/xml":case"application/plist":case"application/x-plist":case"text/vtt":case"application/vtt":break;case"text/json":case"application/json":a=JSON.parse($response.body??"{}"),"weatherkit.apple.com"===tN.hostname&&tN.pathname.startsWith("/api/v1/availability/")&&(a=i?.Availability?.v2),$response.body=JSON.stringify(a);break;case"application/vnd.apple.flatbuffer":case"application/protobuf":case"application/x-protobuf":case"application/vnd.google.protobuf":case"application/grpc":case"application/grpc+proto":case"application/octet-stream":{let e="Quantumult X"===T?new Uint8Array($response.bodyBytes??[]):$response.body??new Uint8Array;if("application/vnd.apple.flatbuffer"===tI){let i=new L(e),s=new W;if("weatherkit.apple.com"===tN.hostname&&tN.pathname.startsWith("/api/v2/weather/")){a=tb.decode(i,"all");let e=function(t=new URL($request.url)){C.info("☑️ parseWeatherKitURL");let e=t?.pathname.match(/^\/api\/(?v1|v2|v3)\/(availability|weather)\/(?\w+)(?:-\w+)?(-(?[A-Z]{2}))?\/(?-?\d+\.?\d*)\/(?-?\d+\.?\d*)$/i)?.groups,i={version:e?.version,language:e?.language,latitude:e?.latitude,longitude:e?.longitude,country:e?.country||t?.searchParams?.get("country")};return C.info("✅ parseWeatherKitURL",`🟧version: ${i.version} 🟧language: ${i.language} 🟧country: ${i.country}`,`🟧latitude: ${i.latitude} 🟧longitude: ${i.longitude}`),i}(tN),r={colorfulClouds:new tm(e,t?.API?.ColorfulClouds?.Token||"Y2FpeXVuX25vdGlmeQ=="),qWeather:new tf(e,t?.API?.QWeather?.Token,t?.API?.QWeather?.Host),waqi:new ty(e,t?.API?.WAQI?.Token)};tN.searchParams.get("dataSets").includes("airQuality")&&(a.airQuality=th.FixUnits(a.airQuality),t?.AQI?.ReplaceProviders?.includes(a?.airQuality?.metadata?.providerName)&&(a.airQuality=await tg(a.airQuality,t,r)),a?.airQuality&&(a.airQuality=await tC(a.airQuality,t,r)),a?.airQuality?.pollutants&&(a.airQuality.pollutants=th.ConvertUnits(a.airQuality.pollutants)),a?.airQuality?.metadata?.providerName&&!a?.airQuality?.metadata?.providerLogo&&(a.airQuality.metadata.providerLogo=tp(a?.airQuality?.metadata?.providerName,"v2"))),tN.searchParams.get("dataSets").includes("currentWeather")&&(a.currentWeather=await tO(a.currentWeather,t,r),a?.currentWeather?.metadata?.providerName&&!a?.currentWeather?.metadata?.providerLogo&&(a.currentWeather.metadata.providerLogo=tp(a?.currentWeather?.metadata?.providerName,"v2"))),tN.searchParams.get("dataSets").includes("forecastDaily")&&(a.forecastDaily=await tS(a.forecastDaily,t,r),a?.forecastDaily?.metadata?.providerName&&!a?.forecastDaily?.metadata?.providerLogo&&(a.forecastDaily.metadata.providerLogo=tp(a?.forecastDaily?.metadata?.providerName,"v2"))),tN.searchParams.get("dataSets").includes("forecastHourly")&&(a.forecastHourly=await tw(a.forecastHourly,t,r),a?.forecastHourly?.metadata?.providerName&&!a?.forecastHourly?.metadata?.providerLogo&&(a.forecastHourly.metadata.providerLogo=tp(a?.forecastHourly?.metadata?.providerName,"v2"))),tN.searchParams.get("dataSets").includes("forecastNextHour")&&(a?.forecastNextHour||(a.forecastNextHour=await tF(a.forecastNextHour,t,r)),a?.forecastNextHour?.metadata?.providerName&&!a?.forecastNextHour?.metadata?.providerLogo&&(a.forecastNextHour.metadata.providerLogo=tp(a?.forecastNextHour?.metadata?.providerName,"v2")));let o=tb.encode(s,"all",a);s.finish(o)}e=s.asUint8Array()}$response.body=e}}})().catch(t=>C.error(t)).finally(()=>(function(t={}){switch(T){case"Surge":t.policy&&O.set(t,"headers.X-Surge-Policy",t.policy),C.log("\uD83D\uDEA9 执行结束!",`🕛 ${new Date().getTime()/1e3-$script.startTime} 秒`),$done(t);break;case"Loon":t.policy&&(t.node=t.policy),C.log("\uD83D\uDEA9 执行结束!",`🕛 ${(new Date-$script.startTime)/1e3} 秒`),$done(t);break;case"Stash":t.policy&&O.set(t,"headers.X-Stash-Selected-Proxy",encodeURI(t.policy)),C.log("\uD83D\uDEA9 执行结束!",`🕛 ${(new Date-$script.startTime)/1e3} 秒`),$done(t);break;case"Egern":case"Shadowrocket":C.log("\uD83D\uDEA9 执行结束!"),$done(t);break;case"Quantumult X":switch(t.policy&&O.set(t,"opts.policy",t.policy),typeof(t=O.pick(t,["status","url","headers","body","bodyBytes"])).status){case"number":t.status=`HTTP/1.1 ${t.status} ${S[t.status]}`;break;case"string":case"undefined":break;default:throw TypeError(`${Function.name}: 参数类型错误, status 必须为数字或字符串`)}t.body instanceof ArrayBuffer?(t.bodyBytes=t.body,t.body=void 0):ArrayBuffer.isView(t.body)?(t.bodyBytes=t.body.buffer.slice(t.body.byteOffset,t.body.byteLength+t.body.byteOffset),t.body=void 0):t.body&&(t.bodyBytes=void 0),C.log("\uD83D\uDEA9 执行结束!"),$done(t);break;default:C.log("\uD83D\uDEA9 执行结束!"),process.exit(1)}})($response))})();