@shd101wyy/yo 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- var rw=Object.create;var hf=Object.defineProperty;var iw=Object.getOwnPropertyDescriptor;var ow=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,sw=Object.prototype.hasOwnProperty;var K=(e,t)=>()=>(e&&(t=e(e=0)),t);var Dl=(e,t)=>{for(var n in t)hf(e,n,{get:t[n],enumerable:!0})},lw=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ow(t))!sw.call(e,i)&&i!==n&&hf(e,i,{get:()=>t[i],enumerable:!(r=iw(t,i))||r.enumerable});return e};var Bt=(e,t,n)=>(n=e!=null?rw(aw(e)):{},lw(t||!e||!e.__esModule?hf(n,"default",{value:e,enumerable:!0}):n,e));var Ml,vf=K(()=>{Ml={name:"@shd101wyy/yo",displayName:"Yo",version:"0.1.20",main:"./out/cjs/index.cjs",module:"./out/esm/index.mjs",types:"./out/types/src/index.d.ts",bin:{yo:"./out/cjs/yo-cli.cjs","yo-cli":"./out/cjs/yo-cli.cjs"},files:["out","scripts","vendor","std",".github/skills"],repository:"https://github.com/shd101wyy/yo",author:"Yiyi Wang <shd101wyy@gmail.com>",license:"NCSA",keywords:["yo","language","compiler","vscode-extension"],scripts:{"build:esbuild":"bun run build.js","build:typings":"tsc --project . --declaration",build:"bun run build:esbuild && bun run build:typings",dev:"bun run build.js --watch",lint:"eslint .",format:'prettier --write "**/*.*" ".github/**/*.*"',test:"jest","test:watch":"jest --watch","test:coverage":"jest --coverage",postinstall:"node scripts/print-welcome.js && node scripts/check-liburing.js",prepare:"husky"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,yml,yaml,css,html}":["prettier --write"]},dependencies:{markdown_yo:"0.0.4","vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12",yargs:"^17.7.2"},devDependencies:{"@types/bun":"^1.3.8","@types/jest":"^29.5.11","@types/node":"^20.10.5","@types/yargs":"^17.0.32","@typescript-eslint/eslint-plugin":"^6.8.0","@typescript-eslint/parser":"^6.8.0",esbuild:"^0.20.0","esbuild-plugin-polyfill-node":"^0.3.0",eslint:"^8.52.0","eslint-plugin-import":"^2.32.0",glob:"^11.0.3",husky:"^9.1.7",jest:"^29.7.0","lint-staged":"^16.2.7",prettier:"^3.0.3","prettier-plugin-packagejson":"^2.4.6","ts-jest":"^29.1.1",typescript:"^5.8.3"}}});function Pl(e){let t=e==="cl",n=process.platform==="win32";return{compiler:e,isMSVC:t,isWindows:n,isGccOnWindows:n&&(e==="gcc"||e==="cc"),isClangOnWindows:n&&e==="clang",isEmcc:e==="emcc"}}function Tf(e){try{return(0,Ol.execSync)(`${e} --version`,{stdio:"ignore"}),!0}catch{return!1}}function zl(){let e=["clang","cc","gcc","zig","cl"];for(let t of e)if(Tf(t))return t;return null}function Xu(e){let{sanitize:t,compilerInfo:n}=e,{isMSVC:r,isGccOnWindows:i,isClangOnWindows:o}=n;return t==="address"?r?{flags:["/fsanitize=address"],info:"AddressSanitizer enabled (memory errors + leak detection)"}:i?{flags:[],warning:"AddressSanitizer is not supported by MinGW GCC on Windows. Use Clang (--cc clang) instead for sanitizer support."}:{flags:["-fsanitize=address","-fno-omit-frame-pointer"],info:"AddressSanitizer enabled (memory errors + leak detection)"}:t==="leak"?r?{flags:[],warning:"LeakSanitizer is not supported by MSVC, use AddressSanitizer instead"}:i||o?{flags:[],warning:"LeakSanitizer is not supported on Windows, use AddressSanitizer instead"}:{flags:["-fsanitize=leak"],info:"LeakSanitizer enabled (leak detection only)"}:{flags:[]}}function j_(e){var n;if(process.platform==="win32")try{let i=(n=(0,Ol.execSync)(`where.exe ${e==="cc"?"clang":e}`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(/\r?\n/)[0])==null?void 0:n.trim();if(!i)return;let o=ga.dirname(i),a=ga.dirname(o),s=ga.join(a,"lib","clang");if(!Rl.existsSync(s))return;let l=Rl.readdirSync(s);for(let u of l){let c=ga.join(s,u,"lib","windows");if(Rl.existsSync(c))return c}}catch{}}function Qu(){if(process.platform!=="linux")return!1;try{return(0,Ol.execSync)("command -v pkg-config",{stdio:"ignore"}),(0,Ol.execSync)("pkg-config --exists liburing",{stdio:"ignore"}),!0}catch{return!1}}function Ef(e){let{asanDllPath:t,lsanSuppressionFile:n,detectLeaks:r=!0}=e,i={...process.env,ASAN_OPTIONS:`detect_leaks=${r?1:0}`};if(n&&(i.LSAN_OPTIONS=`suppressions=${n}`),t){let o=Object.keys(i).find(s=>s.toLowerCase()==="path")||"PATH",a=i[o]||"";i[o]=`${t}${ga.delimiter}${a}`}return i}function K_(){return process.platform!=="darwin"?"":`leak:libobjc
2
+ var rw=Object.create;var hf=Object.defineProperty;var iw=Object.getOwnPropertyDescriptor;var ow=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,sw=Object.prototype.hasOwnProperty;var K=(e,t)=>()=>(e&&(t=e(e=0)),t);var Dl=(e,t)=>{for(var n in t)hf(e,n,{get:t[n],enumerable:!0})},lw=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ow(t))!sw.call(e,i)&&i!==n&&hf(e,i,{get:()=>t[i],enumerable:!(r=iw(t,i))||r.enumerable});return e};var Bt=(e,t,n)=>(n=e!=null?rw(aw(e)):{},lw(t||!e||!e.__esModule?hf(n,"default",{value:e,enumerable:!0}):n,e));var Ml,vf=K(()=>{Ml={name:"@shd101wyy/yo",displayName:"Yo",version:"0.1.21",main:"./out/cjs/index.cjs",module:"./out/esm/index.mjs",types:"./out/types/src/index.d.ts",bin:{yo:"./out/cjs/yo-cli.cjs","yo-cli":"./out/cjs/yo-cli.cjs"},files:["out","scripts","vendor","std",".github/skills"],repository:"https://github.com/shd101wyy/yo",author:"Yiyi Wang <shd101wyy@gmail.com>",license:"NCSA",keywords:["yo","language","compiler","vscode-extension"],scripts:{"build:esbuild":"bun run build.js","build:typings":"tsc --project . --declaration",build:"bun run build:esbuild && bun run build:typings",dev:"bun run build.js --watch",lint:"eslint .",format:'prettier --write "**/*.*" ".github/**/*.*"',test:"jest","test:watch":"jest --watch","test:coverage":"jest --coverage",postinstall:"node scripts/print-welcome.js && node scripts/check-liburing.js",prepare:"husky"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,yml,yaml,css,html}":["prettier --write"]},dependencies:{markdown_yo:"0.0.4","vscode-languageserver":"^9.0.1","vscode-languageserver-textdocument":"^1.0.12",yargs:"^17.7.2"},devDependencies:{"@types/bun":"^1.3.8","@types/jest":"^29.5.11","@types/node":"^20.10.5","@types/yargs":"^17.0.32","@typescript-eslint/eslint-plugin":"^6.8.0","@typescript-eslint/parser":"^6.8.0",esbuild:"^0.20.0","esbuild-plugin-polyfill-node":"^0.3.0",eslint:"^8.52.0","eslint-plugin-import":"^2.32.0",glob:"^11.0.3",husky:"^9.1.7",jest:"^29.7.0","lint-staged":"^16.2.7",prettier:"^3.0.3","prettier-plugin-packagejson":"^2.4.6","ts-jest":"^29.1.1",typescript:"^5.8.3"}}});function Pl(e){let t=e==="cl",n=process.platform==="win32";return{compiler:e,isMSVC:t,isWindows:n,isGccOnWindows:n&&(e==="gcc"||e==="cc"),isClangOnWindows:n&&e==="clang",isEmcc:e==="emcc"}}function Tf(e){try{return(0,Ol.execSync)(`${e} --version`,{stdio:"ignore"}),!0}catch{return!1}}function zl(){let e=["clang","cc","gcc","zig","cl"];for(let t of e)if(Tf(t))return t;return null}function Xu(e){let{sanitize:t,compilerInfo:n}=e,{isMSVC:r,isGccOnWindows:i,isClangOnWindows:o}=n;return t==="address"?r?{flags:["/fsanitize=address"],info:"AddressSanitizer enabled (memory errors + leak detection)"}:i?{flags:[],warning:"AddressSanitizer is not supported by MinGW GCC on Windows. Use Clang (--cc clang) instead for sanitizer support."}:{flags:["-fsanitize=address","-fno-omit-frame-pointer"],info:"AddressSanitizer enabled (memory errors + leak detection)"}:t==="leak"?r?{flags:[],warning:"LeakSanitizer is not supported by MSVC, use AddressSanitizer instead"}:i||o?{flags:[],warning:"LeakSanitizer is not supported on Windows, use AddressSanitizer instead"}:{flags:["-fsanitize=leak"],info:"LeakSanitizer enabled (leak detection only)"}:{flags:[]}}function j_(e){var n;if(process.platform==="win32")try{let i=(n=(0,Ol.execSync)(`where.exe ${e==="cc"?"clang":e}`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(/\r?\n/)[0])==null?void 0:n.trim();if(!i)return;let o=ga.dirname(i),a=ga.dirname(o),s=ga.join(a,"lib","clang");if(!Rl.existsSync(s))return;let l=Rl.readdirSync(s);for(let u of l){let c=ga.join(s,u,"lib","windows");if(Rl.existsSync(c))return c}}catch{}}function Qu(){if(process.platform!=="linux")return!1;try{return(0,Ol.execSync)("command -v pkg-config",{stdio:"ignore"}),(0,Ol.execSync)("pkg-config --exists liburing",{stdio:"ignore"}),!0}catch{return!1}}function Ef(e){let{asanDllPath:t,lsanSuppressionFile:n,detectLeaks:r=!0}=e,i={...process.env,ASAN_OPTIONS:`detect_leaks=${r?1:0}`};if(n&&(i.LSAN_OPTIONS=`suppressions=${n}`),t){let o=Object.keys(i).find(s=>s.toLowerCase()==="path")||"PATH",a=i[o]||"";i[o]=`${t}${ga.delimiter}${a}`}return i}function K_(){return process.platform!=="darwin"?"":`leak:libobjc
3
3
  leak:libdyld
4
4
  leak:libxpc
5
5
  leak:libsystem_malloc
@@ -154,7 +154,7 @@ Consider using Dyn(...) for dynamic dispatch if different concrete types are nee
154
154
  `:"")+(C?"Might be initialized here:":"Not initialized here:"),token:C??t[w].token})))}if(h.length===1){if(h[0]&&!s[p].consumedAtToken){let $={...s[p],consumedAtToken:h[0]};e=Ot(e,s[p],$),s[p]=$}}else if(!s[p].consumedAtToken&&h.every($=>$)){let $={...s[p],consumedAtToken:h[0]};e=Ot(e,s[p],$),s[p]=$}else{let $=h.filter(C=>!!C),k=h.filter(C=>!C);if($.length>0&&k.length>0)throw gn(h.map((C,w)=>({errorMessage:(w===0?`Variable "${f}" is consumed in some cases but not in other cases:
155
155
  `:"")+(C?"Consumed here:":"Not consumed here:"),token:C??t[w].token})))}if(!s[p].isOwningTheRcValue&&_.every($=>$)){let $={...s[p],isOwningTheRcValue:!0,isOwningTheSameRcValueAs:void 0};e=Ot(e,s[p],$),s[p]=$}else{let $=_.filter(C=>!!C),k=_.filter(C=>!C);if($.length>0&&k.length>0)throw gn(_.map((C,w)=>({errorMessage:(w===0?`Variable "${f}" might be holding the Rc value in some cases but not holding the Rc value in other cases:
156
156
  `:"")+(C?"Might be owning the Rc value here:":"Might be not owning the Rc value here:"),token:C??t[w].token})))}let v=s[p].id,T=[];for(let $=1;$<u;$++){let w=r[$-1].frames[o].variables[p];T.push(w.id)}if(T.some($=>$!==v)){let $=Nn(e.modulePath,f),k={...s[p],id:$,value:void 0,isOwningTheSameRcValueAs:void 0};e=Ot(e,s[p],k),s[p]=k}}}return e}function xo(e,t){e.$=t.$,e.args=t.args,e.func=t.func,e.isInfix=t.isInfix,e.tag=t.tag,e.token=t.token}function jc(e,t){S(e)||(e.tag=t.tag),xo(e,t)}function gi(e,t,n=!1){var a,s,l;if((a=e.$)!=null&&a.value&&G((s=e.$)==null?void 0:s.value))return t;let r=(l=e.$)==null?void 0:l.variableName;if(!r)return t;let i=ae(t,r);if(i.length===0)throw gn([{token:e.token,errorMessage:`Variable "${r}" is not defined.`}]);let o=i[i.length-1];if(o.consumedAtToken&&!n){let u=`use of moved value: \`${r}\``;throw gn([{token:e.token,errorMessage:u},{token:o.consumedAtToken,errorMessage:"value moved here"}])}else t=Ot(t,o,{...o,consumedAtToken:e.token});return t}function fr(e,t){var r;if(!e.$||!e.$.variableName)return;if(e.$.value){let i=e.$.variableName,o=!1;if(i&&cn(e.$.env.modulePath,i)&&yt(e.$.type)){let a=ae(e.$.env,i);if(a.length>0){let s=a[a.length-1];s.isOwningTheRcValue&&!s.consumedAtToken&&(e.$.env=Ot(e.$.env,s,{...s,consumedAtToken:e.token})),s.isOwningTheRcValue||(o=!0)}}if(!o)return}let n=e.$.variableName;if(!n)throw y({token:e.token,errorMessage:`Expression does not have a variable name to call ${F.___dup} on:
157
- ${I(e)}`});if(yt(e.$.type)){if(cn(e.$.env.modulePath,n)&&!(W(e)&&e.token.value!==n)){let a=ae(e.$.env,n);if(a.length>0){let s=a[a.length-1];if(s.isOwningTheRcValue){s.consumedAtToken||(e.$.env=Ot(e.$.env,s,{...s,consumedAtToken:e.token}));return}}}let i=Xt(`${F.___dup[0]}(${n})`),o=R({expr:i,env:e.$.env,context:{...t,expectedType:void 0}});if((r=o.$)!=null&&r.variableName){let a=ae(o.$.env,o.$.variableName);if(a.length>0){let s=a[a.length-1];s.consumedAtToken||(o.$.env=Ot(o.$.env,s,{...s,consumedAtToken:o.token}))}}e.$.deferredDupExpressions=[o],e.$.env=o.$.env}}function is(e,t){var o;let n=(o=e.$)==null?void 0:o.variableName;if(!n)return;let r=ae(t,n);if(r.length===0)throw gn([{token:e.token,errorMessage:`Variable "${n}" is not defined.`}]);let i=r[r.length-1];if(i.consumedAtToken){let a=`use of moved value: \`${n}\``;throw gn([{token:e.token,errorMessage:a},{token:i.consumedAtToken,errorMessage:"value moved here"}])}}var P,F,ye=K(()=>{ct();Me();rt();zi();qt();fn();Le();Qe();Tn();Ce();P={comptime:["comptime"],runtime:["runtime"],ref:["ref"],forall:["forall","\u2200"],using:["using"],given:["given"],where:["where"],quote:["quote",":"],unquote:["unquote","#"],unquote_splicing:["unquote_splicing","...#"],return:["return"],recur:["recur"],fn:["fn"],unsafe_fn:["unsafe_fn"],escape:["escape"],extern:["extern"],cond:["cond"],type:["type"],match:["match"],test:["test"],atomic:["atomic"],struct:["struct"],object:["object"],newtype:["newtype"],enum:["enum"],union:["union"],module:["module"],trait:["trait"],impl:["impl"],Impl:["Impl"],begin:["begin"],module_begin:["module_begin"],import:["import"],export:["export"],open:["open"],clone:["clone","%"],break:["break"],continue:["continue"],while:["while"],if:["if"],op_and:["&&"],op_or:["||"],gensym:["gensym"],dyn:["dyn"],Dyn:["Dyn"],Fn:["Fn"],c_include:["c_include"],undefined:["undefined"],null:["null"],true:["true"],false:["false"],unique:["unique","^"],Ptr:["*"],Iso:["Iso"],Tuple:["Tuple"],Array:["Array"],Slice:["Slice"],Future:["Future"],Concrete:["Concrete"],Type:["Type"],Module:["Module"],Trait:["Trait"],ComptimeList:["ComptimeList"],tuple:["tuple"],array:["array"],comptime_list:["comptime_list"]},F={comptime_expect_error:["comptime_expect_error"],comptime_assert:["comptime_assert"],comptime_print:["comptime_print"],comptime_fn:["comptime_fn"],va_start:["va_start"],__yo_array_fill:["__yo_array_fill"],typeof:["typeof"],sizeof:["sizeof"],alignof:["alignof"],typeid:["typeid"],downcast:["downcast"],consume:["consume"],macro_expand:["macro_expand"],as:["as"],the:["the"],do:["do"],rc:"rc",__yo_thread_set_maximum_threads:["__yo_thread_set_maximum_threads"],__yo_ptr_add:["__yo_ptr_add"],__yo_ptr_sub:["__yo_ptr_sub"],__yo_ptr_diff:["__yo_ptr_diff"],__yo_ptr_eq:["__yo_ptr_eq"],__yo_ptr_neq:["__yo_ptr_neq"],__yo_ptr_lt:["__yo_ptr_lt"],__yo_ptr_lte:["__yo_ptr_lte"],__yo_ptr_gt:["__yo_ptr_gt"],__yo_ptr_gte:["__yo_ptr_gte"],__yo_address_of:["&"],__yo_ptr_deref:["__yo_ptr_deref"],__yo_ptr_set:["__yo_ptr_set"],__yo_slice_len:["__yo_slice_len"],__yo_slice_new:["__yo_slice_new"],__yo_slice_ptr:["__yo_slice_ptr"],__yo_array_index:["__yo_array_index"],__yo_slice_index:["__yo_slice_index"],__yo_array_index_range:["__yo_array_index_range"],__yo_array_index_range_inclusive:["__yo_array_index_range_inclusive"],__yo_slice_index_range:["__yo_slice_index_range"],__yo_slice_index_range_inclusive:["__yo_slice_index_range_inclusive"],__yo_comptime_array_index:["__yo_comptime_array_index"],__yo_comptime_slice_index:["__yo_comptime_slice_index"],__yo_comptime_array_index_range:["__yo_comptime_array_index_range"],__yo_comptime_array_index_range_inclusive:["__yo_comptime_array_index_range_inclusive"],__yo_comptime_slice_index_range:["__yo_comptime_slice_index_range"],__yo_comptime_slice_index_range_inclusive:["__yo_comptime_slice_index_range_inclusive"],__yo_as:["__yo_as"],__yo_expr_is_atom:["__yo_expr_is_atom"],__yo_expr_is_fn_call:["__yo_expr_is_fn_call"],__yo_expr_get_callee:["__yo_expr_get_callee"],__yo_expr_get_args:["__yo_expr_get_args"],__yo_expr_to_string:["__yo_expr_to_string"],__yo_expr_eq:["__yo_expr_eq"],__yo_comptime_list_car:["__yo_comptime_list_car"],__yo_comptime_list_cdr:["__yo_comptime_list_cdr"],__yo_comptime_list_cons:["__yo_comptime_list_cons"],__yo_comptime_list_append:["__yo_comptime_list_append"],__yo_comptime_list_length:["__yo_comptime_list_length"],__yo_comptime_list_element_type:["__yo_comptime_list_element_type"],__yo_comptime_list_get:["__yo_comptime_list_get"],__yo_comptime_list_index:["__yo_comptime_list_index"],__yo_comptime_list_index_range:["__yo_comptime_list_index_range"],__yo_comptime_list_index_range_inclusive:["__yo_comptime_list_index_range_inclusive"],__yo_comptime_int_add:["__yo_comptime_int_add"],__yo_comptime_int_sub:["__yo_comptime_int_sub"],__yo_comptime_int_mul:["__yo_comptime_int_mul"],__yo_comptime_int_div:["__yo_comptime_int_div"],__yo_comptime_int_mod:["__yo_comptime_int_mod"],__yo_comptime_int_eq:["__yo_comptime_int_eq"],__yo_comptime_int_neq:["__yo_comptime_int_neq"],__yo_comptime_int_lt:["__yo_comptime_int_lt"],__yo_comptime_int_lte:["__yo_comptime_int_lte"],__yo_comptime_int_gt:["__yo_comptime_int_gt"],__yo_comptime_int_gte:["__yo_comptime_int_gte"],__yo_comptime_int_bit_and:["__yo_comptime_int_bit_and"],__yo_comptime_int_bit_or:["__yo_comptime_int_bit_or"],__yo_comptime_int_bit_xor:["__yo_comptime_int_bit_xor"],__yo_comptime_int_shl:["__yo_comptime_int_shl"],__yo_comptime_int_shr:["__yo_comptime_int_shr"],__yo_comptime_int_neg:["__yo_comptime_int_neg"],__yo_comptime_int_bit_not:["__yo_comptime_int_bit_not"],__yo_comptime_int_to_comptime_string:["__yo_comptime_int_to_comptime_string"],__yo_comptime_float_add:["__yo_comptime_float_add"],__yo_comptime_float_sub:["__yo_comptime_float_sub"],__yo_comptime_float_mul:["__yo_comptime_float_mul"],__yo_comptime_float_div:["__yo_comptime_float_div"],__yo_comptime_float_eq:["__yo_comptime_float_eq"],__yo_comptime_float_neq:["__yo_comptime_float_neq"],__yo_comptime_float_lt:["__yo_comptime_float_lt"],__yo_comptime_float_lte:["__yo_comptime_float_lte"],__yo_comptime_float_gt:["__yo_comptime_float_gt"],__yo_comptime_float_gte:["__yo_comptime_float_gte"],__yo_comptime_float_neg:["__yo_comptime_float_neg"],__yo_comptime_float_to_comptime_string:["__yo_comptime_float_to_comptime_string"],__yo_comptime_u8_add:["__yo_comptime_u8_add"],__yo_comptime_u8_sub:["__yo_comptime_u8_sub"],__yo_comptime_u8_mul:["__yo_comptime_u8_mul"],__yo_comptime_u8_div:["__yo_comptime_u8_div"],__yo_comptime_u8_mod:["__yo_comptime_u8_mod"],__yo_comptime_u8_eq:["__yo_comptime_u8_eq"],__yo_comptime_u8_neq:["__yo_comptime_u8_neq"],__yo_comptime_u8_lt:["__yo_comptime_u8_lt"],__yo_comptime_u8_lte:["__yo_comptime_u8_lte"],__yo_comptime_u8_gt:["__yo_comptime_u8_gt"],__yo_comptime_u8_gte:["__yo_comptime_u8_gte"],__yo_comptime_u8_neg:["__yo_comptime_u8_neg"],__yo_comptime_u8_bit_and:["__yo_comptime_u8_bit_and"],__yo_comptime_u8_bit_or:["__yo_comptime_u8_bit_or"],__yo_comptime_u8_bit_xor:["__yo_comptime_u8_bit_xor"],__yo_comptime_u8_bit_not:["__yo_comptime_u8_bit_not"],__yo_comptime_u8_shl:["__yo_comptime_u8_shl"],__yo_comptime_u8_shr:["__yo_comptime_u8_shr"],__yo_comptime_u8_to_comptime_string:["__yo_comptime_u8_to_comptime_string"],__yo_comptime_i8_add:["__yo_comptime_i8_add"],__yo_comptime_i8_sub:["__yo_comptime_i8_sub"],__yo_comptime_i8_mul:["__yo_comptime_i8_mul"],__yo_comptime_i8_div:["__yo_comptime_i8_div"],__yo_comptime_i8_mod:["__yo_comptime_i8_mod"],__yo_comptime_i8_eq:["__yo_comptime_i8_eq"],__yo_comptime_i8_neq:["__yo_comptime_i8_neq"],__yo_comptime_i8_lt:["__yo_comptime_i8_lt"],__yo_comptime_i8_lte:["__yo_comptime_i8_lte"],__yo_comptime_i8_gt:["__yo_comptime_i8_gt"],__yo_comptime_i8_gte:["__yo_comptime_i8_gte"],__yo_comptime_i8_neg:["__yo_comptime_i8_neg"],__yo_comptime_i8_bit_and:["__yo_comptime_i8_bit_and"],__yo_comptime_i8_bit_or:["__yo_comptime_i8_bit_or"],__yo_comptime_i8_bit_xor:["__yo_comptime_i8_bit_xor"],__yo_comptime_i8_bit_not:["__yo_comptime_i8_bit_not"],__yo_comptime_i8_shl:["__yo_comptime_i8_shl"],__yo_comptime_i8_shr:["__yo_comptime_i8_shr"],__yo_comptime_i8_to_comptime_string:["__yo_comptime_i8_to_comptime_string"],__yo_comptime_u16_add:["__yo_comptime_u16_add"],__yo_comptime_u16_sub:["__yo_comptime_u16_sub"],__yo_comptime_u16_mul:["__yo_comptime_u16_mul"],__yo_comptime_u16_div:["__yo_comptime_u16_div"],__yo_comptime_u16_mod:["__yo_comptime_u16_mod"],__yo_comptime_u16_eq:["__yo_comptime_u16_eq"],__yo_comptime_u16_neq:["__yo_comptime_u16_neq"],__yo_comptime_u16_lt:["__yo_comptime_u16_lt"],__yo_comptime_u16_lte:["__yo_comptime_u16_lte"],__yo_comptime_u16_gt:["__yo_comptime_u16_gt"],__yo_comptime_u16_gte:["__yo_comptime_u16_gte"],__yo_comptime_u16_neg:["__yo_comptime_u16_neg"],__yo_comptime_u16_bit_and:["__yo_comptime_u16_bit_and"],__yo_comptime_u16_bit_or:["__yo_comptime_u16_bit_or"],__yo_comptime_u16_bit_xor:["__yo_comptime_u16_bit_xor"],__yo_comptime_u16_bit_not:["__yo_comptime_u16_bit_not"],__yo_comptime_u16_shl:["__yo_comptime_u16_shl"],__yo_comptime_u16_shr:["__yo_comptime_u16_shr"],__yo_comptime_u16_to_comptime_string:["__yo_comptime_u16_to_comptime_string"],__yo_comptime_i16_add:["__yo_comptime_i16_add"],__yo_comptime_i16_sub:["__yo_comptime_i16_sub"],__yo_comptime_i16_mul:["__yo_comptime_i16_mul"],__yo_comptime_i16_div:["__yo_comptime_i16_div"],__yo_comptime_i16_mod:["__yo_comptime_i16_mod"],__yo_comptime_i16_eq:["__yo_comptime_i16_eq"],__yo_comptime_i16_neq:["__yo_comptime_i16_neq"],__yo_comptime_i16_lt:["__yo_comptime_i16_lt"],__yo_comptime_i16_lte:["__yo_comptime_i16_lte"],__yo_comptime_i16_gt:["__yo_comptime_i16_gt"],__yo_comptime_i16_gte:["__yo_comptime_i16_gte"],__yo_comptime_i16_neg:["__yo_comptime_i16_neg"],__yo_comptime_i16_bit_and:["__yo_comptime_i16_bit_and"],__yo_comptime_i16_bit_or:["__yo_comptime_i16_bit_or"],__yo_comptime_i16_bit_xor:["__yo_comptime_i16_bit_xor"],__yo_comptime_i16_bit_not:["__yo_comptime_i16_bit_not"],__yo_comptime_i16_shl:["__yo_comptime_i16_shl"],__yo_comptime_i16_shr:["__yo_comptime_i16_shr"],__yo_comptime_i16_to_comptime_string:["__yo_comptime_i16_to_comptime_string"],__yo_comptime_u32_add:["__yo_comptime_u32_add"],__yo_comptime_u32_sub:["__yo_comptime_u32_sub"],__yo_comptime_u32_mul:["__yo_comptime_u32_mul"],__yo_comptime_u32_div:["__yo_comptime_u32_div"],__yo_comptime_u32_mod:["__yo_comptime_u32_mod"],__yo_comptime_u32_eq:["__yo_comptime_u32_eq"],__yo_comptime_u32_neq:["__yo_comptime_u32_neq"],__yo_comptime_u32_lt:["__yo_comptime_u32_lt"],__yo_comptime_u32_lte:["__yo_comptime_u32_lte"],__yo_comptime_u32_gt:["__yo_comptime_u32_gt"],__yo_comptime_u32_gte:["__yo_comptime_u32_gte"],__yo_comptime_u32_neg:["__yo_comptime_u32_neg"],__yo_comptime_u32_bit_and:["__yo_comptime_u32_bit_and"],__yo_comptime_u32_bit_or:["__yo_comptime_u32_bit_or"],__yo_comptime_u32_bit_xor:["__yo_comptime_u32_bit_xor"],__yo_comptime_u32_bit_not:["__yo_comptime_u32_bit_not"],__yo_comptime_u32_shl:["__yo_comptime_u32_shl"],__yo_comptime_u32_shr:["__yo_comptime_u32_shr"],__yo_comptime_u32_to_comptime_string:["__yo_comptime_u32_to_comptime_string"],__yo_comptime_i32_add:["__yo_comptime_i32_add"],__yo_comptime_i32_sub:["__yo_comptime_i32_sub"],__yo_comptime_i32_mul:["__yo_comptime_i32_mul"],__yo_comptime_i32_div:["__yo_comptime_i32_div"],__yo_comptime_i32_mod:["__yo_comptime_i32_mod"],__yo_comptime_i32_eq:["__yo_comptime_i32_eq"],__yo_comptime_i32_neq:["__yo_comptime_i32_neq"],__yo_comptime_i32_lt:["__yo_comptime_i32_lt"],__yo_comptime_i32_lte:["__yo_comptime_i32_lte"],__yo_comptime_i32_gt:["__yo_comptime_i32_gt"],__yo_comptime_i32_gte:["__yo_comptime_i32_gte"],__yo_comptime_i32_neg:["__yo_comptime_i32_neg"],__yo_comptime_i32_bit_and:["__yo_comptime_i32_bit_and"],__yo_comptime_i32_bit_or:["__yo_comptime_i32_bit_or"],__yo_comptime_i32_bit_xor:["__yo_comptime_i32_bit_xor"],__yo_comptime_i32_bit_not:["__yo_comptime_i32_bit_not"],__yo_comptime_i32_shl:["__yo_comptime_i32_shl"],__yo_comptime_i32_shr:["__yo_comptime_i32_shr"],__yo_comptime_i32_to_comptime_string:["__yo_comptime_i32_to_comptime_string"],__yo_comptime_u64_add:["__yo_comptime_u64_add"],__yo_comptime_u64_sub:["__yo_comptime_u64_sub"],__yo_comptime_u64_mul:["__yo_comptime_u64_mul"],__yo_comptime_u64_div:["__yo_comptime_u64_div"],__yo_comptime_u64_mod:["__yo_comptime_u64_mod"],__yo_comptime_u64_eq:["__yo_comptime_u64_eq"],__yo_comptime_u64_neq:["__yo_comptime_u64_neq"],__yo_comptime_u64_lt:["__yo_comptime_u64_lt"],__yo_comptime_u64_lte:["__yo_comptime_u64_lte"],__yo_comptime_u64_gt:["__yo_comptime_u64_gt"],__yo_comptime_u64_gte:["__yo_comptime_u64_gte"],__yo_comptime_u64_neg:["__yo_comptime_u64_neg"],__yo_comptime_u64_bit_and:["__yo_comptime_u64_bit_and"],__yo_comptime_u64_bit_or:["__yo_comptime_u64_bit_or"],__yo_comptime_u64_bit_xor:["__yo_comptime_u64_bit_xor"],__yo_comptime_u64_bit_not:["__yo_comptime_u64_bit_not"],__yo_comptime_u64_shl:["__yo_comptime_u64_shl"],__yo_comptime_u64_shr:["__yo_comptime_u64_shr"],__yo_comptime_u64_to_comptime_string:["__yo_comptime_u64_to_comptime_string"],__yo_comptime_i64_add:["__yo_comptime_i64_add"],__yo_comptime_i64_sub:["__yo_comptime_i64_sub"],__yo_comptime_i64_mul:["__yo_comptime_i64_mul"],__yo_comptime_i64_div:["__yo_comptime_i64_div"],__yo_comptime_i64_mod:["__yo_comptime_i64_mod"],__yo_comptime_i64_eq:["__yo_comptime_i64_eq"],__yo_comptime_i64_neq:["__yo_comptime_i64_neq"],__yo_comptime_i64_lt:["__yo_comptime_i64_lt"],__yo_comptime_i64_lte:["__yo_comptime_i64_lte"],__yo_comptime_i64_gt:["__yo_comptime_i64_gt"],__yo_comptime_i64_gte:["__yo_comptime_i64_gte"],__yo_comptime_i64_neg:["__yo_comptime_i64_neg"],__yo_comptime_i64_bit_and:["__yo_comptime_i64_bit_and"],__yo_comptime_i64_bit_or:["__yo_comptime_i64_bit_or"],__yo_comptime_i64_bit_xor:["__yo_comptime_i64_bit_xor"],__yo_comptime_i64_bit_not:["__yo_comptime_i64_bit_not"],__yo_comptime_i64_shl:["__yo_comptime_i64_shl"],__yo_comptime_i64_shr:["__yo_comptime_i64_shr"],__yo_comptime_i64_to_comptime_string:["__yo_comptime_i64_to_comptime_string"],__yo_comptime_usize_add:["__yo_comptime_usize_add"],__yo_comptime_usize_sub:["__yo_comptime_usize_sub"],__yo_comptime_usize_mul:["__yo_comptime_usize_mul"],__yo_comptime_usize_div:["__yo_comptime_usize_div"],__yo_comptime_usize_mod:["__yo_comptime_usize_mod"],__yo_comptime_usize_eq:["__yo_comptime_usize_eq"],__yo_comptime_usize_neq:["__yo_comptime_usize_neq"],__yo_comptime_usize_lt:["__yo_comptime_usize_lt"],__yo_comptime_usize_lte:["__yo_comptime_usize_lte"],__yo_comptime_usize_gt:["__yo_comptime_usize_gt"],__yo_comptime_usize_gte:["__yo_comptime_usize_gte"],__yo_comptime_usize_neg:["__yo_comptime_usize_neg"],__yo_comptime_usize_bit_and:["__yo_comptime_usize_bit_and"],__yo_comptime_usize_bit_or:["__yo_comptime_usize_bit_or"],__yo_comptime_usize_bit_xor:["__yo_comptime_usize_bit_xor"],__yo_comptime_usize_bit_not:["__yo_comptime_usize_bit_not"],__yo_comptime_usize_shl:["__yo_comptime_usize_shl"],__yo_comptime_usize_shr:["__yo_comptime_usize_shr"],__yo_comptime_usize_to_comptime_string:["__yo_comptime_usize_to_comptime_string"],__yo_comptime_isize_add:["__yo_comptime_isize_add"],__yo_comptime_isize_sub:["__yo_comptime_isize_sub"],__yo_comptime_isize_mul:["__yo_comptime_isize_mul"],__yo_comptime_isize_div:["__yo_comptime_isize_div"],__yo_comptime_isize_mod:["__yo_comptime_isize_mod"],__yo_comptime_isize_eq:["__yo_comptime_isize_eq"],__yo_comptime_isize_neq:["__yo_comptime_isize_neq"],__yo_comptime_isize_lt:["__yo_comptime_isize_lt"],__yo_comptime_isize_lte:["__yo_comptime_isize_lte"],__yo_comptime_isize_gt:["__yo_comptime_isize_gt"],__yo_comptime_isize_gte:["__yo_comptime_isize_gte"],__yo_comptime_isize_neg:["__yo_comptime_isize_neg"],__yo_comptime_isize_bit_and:["__yo_comptime_isize_bit_and"],__yo_comptime_isize_bit_or:["__yo_comptime_isize_bit_or"],__yo_comptime_isize_bit_xor:["__yo_comptime_isize_bit_xor"],__yo_comptime_isize_bit_not:["__yo_comptime_isize_bit_not"],__yo_comptime_isize_shl:["__yo_comptime_isize_shl"],__yo_comptime_isize_shr:["__yo_comptime_isize_shr"],__yo_comptime_isize_to_comptime_string:["__yo_comptime_isize_to_comptime_string"],__yo_comptime_f32_add:["__yo_comptime_f32_add"],__yo_comptime_f32_sub:["__yo_comptime_f32_sub"],__yo_comptime_f32_mul:["__yo_comptime_f32_mul"],__yo_comptime_f32_div:["__yo_comptime_f32_div"],__yo_comptime_f32_eq:["__yo_comptime_f32_eq"],__yo_comptime_f32_neq:["__yo_comptime_f32_neq"],__yo_comptime_f32_lt:["__yo_comptime_f32_lt"],__yo_comptime_f32_lte:["__yo_comptime_f32_lte"],__yo_comptime_f32_gt:["__yo_comptime_f32_gt"],__yo_comptime_f32_gte:["__yo_comptime_f32_gte"],__yo_comptime_f32_neg:["__yo_comptime_f32_neg"],__yo_comptime_f32_to_comptime_string:["__yo_comptime_f32_to_comptime_string"],__yo_comptime_f64_add:["__yo_comptime_f64_add"],__yo_comptime_f64_sub:["__yo_comptime_f64_sub"],__yo_comptime_f64_mul:["__yo_comptime_f64_mul"],__yo_comptime_f64_div:["__yo_comptime_f64_div"],__yo_comptime_f64_eq:["__yo_comptime_f64_eq"],__yo_comptime_f64_neq:["__yo_comptime_f64_neq"],__yo_comptime_f64_lt:["__yo_comptime_f64_lt"],__yo_comptime_f64_lte:["__yo_comptime_f64_lte"],__yo_comptime_f64_gt:["__yo_comptime_f64_gt"],__yo_comptime_f64_gte:["__yo_comptime_f64_gte"],__yo_comptime_f64_neg:["__yo_comptime_f64_neg"],__yo_comptime_f64_to_comptime_string:["__yo_comptime_f64_to_comptime_string"],__yo_comptime_bool_and:["__yo_comptime_bool_and"],__yo_comptime_bool_or:["__yo_comptime_bool_or"],__yo_comptime_bool_eq:["__yo_comptime_bool_eq"],__yo_comptime_bool_neq:["__yo_comptime_bool_neq"],__yo_comptime_bool_not:["__yo_comptime_bool_not"],__yo_comptime_bool_to_comptime_string:["__yo_comptime_bool_to_comptime_string"],__yo_comptime_string_concat:["__yo_comptime_string_concat"],__yo_comptime_string_eq:["__yo_comptime_string_eq"],__yo_comptime_string_neq:["__yo_comptime_string_neq"],__yo_comptime_string_lt:["__yo_comptime_string_lt"],__yo_comptime_string_lte:["__yo_comptime_string_lte"],__yo_comptime_string_gt:["__yo_comptime_string_gt"],__yo_comptime_string_gte:["__yo_comptime_string_gte"],__yo_comptime_string_length:["__yo_comptime_string_length"],__yo_comptime_string_to_upper:["__yo_comptime_string_to_upper"],__yo_comptime_string_to_lower:["__yo_comptime_string_to_lower"],__yo_comptime_string_slice:["__yo_comptime_string_slice"],__yo_comptime_string_index:["__yo_comptime_string_index"],__yo_comptime_string_index_range:["__yo_comptime_string_index_range"],__yo_comptime_string_index_range_inclusive:["__yo_comptime_string_index_range_inclusive"],__yo_type_to_comptime_string:["__yo_type_to_comptime_string"],__yo_type_contains_rc_type:["__yo_type_contains_rc_type"],__yo_type_can_form_rc_cycle:["__yo_type_can_form_rc_cycle"],__yo_are_types_compatible:["__yo_are_types_compatible"],__yo_are_types_equal:["__yo_are_types_equal"],__yo_type_impls:["__yo_type_impls"],__yo_type_get_info:["__yo_type_get_info"],comptime_eval:["comptime_eval"],derive:["derive"],derive_rule:["derive_rule"],__yo_comptime_string_to_expr:["__yo_comptime_string_to_expr"],__yo_type_join_fields:["__yo_type_join_fields"],__yo_type_map_variants:["__yo_type_map_variants"],__yo_var_print_info:["__yo_var_print_info"],__yo_var_is_owning_the_rc_value:["__yo_var_is_owning_the_rc_value"],__yo_var_has_other_aliases:["__yo_var_has_other_aliases"],__yo_op_add:["__yo_op_add"],__yo_op_sub:["__yo_op_sub"],__yo_op_mul:["__yo_op_mul"],__yo_op_div:["__yo_op_div"],__yo_op_mod:["__yo_op_mod"],__yo_op_neg:["__yo_op_neg"],__yo_op_eq:["__yo_op_eq"],__yo_op_neq:["__yo_op_neq"],__yo_op_lt:["__yo_op_lt"],__yo_op_lte:["__yo_op_lte"],__yo_op_gt:["__yo_op_gt"],__yo_op_gte:["__yo_op_gte"],__yo_op_not:["__yo_op_not"],__yo_op_bit_and:["__yo_op_bit_and"],__yo_op_bit_or:["__yo_op_bit_or"],__yo_op_bit_xor:["__yo_op_bit_xor"],__yo_op_bit_complement:["__yo_op_bit_complement"],__yo_op_bit_left_shift:["__yo_op_bit_left_shift"],__yo_op_bit_right_shift:["__yo_op_bit_right_shift"],c_include:["c_include"],panic:["panic"],__yo_decr_rc:["__yo_decr_rc"],__yo_incr_rc:["__yo_incr_rc"],__yo_decr_rc_atomic:["__yo_decr_rc_atomic"],__yo_incr_rc_atomic:["__yo_incr_rc_atomic"],__yo_rc_own:["__yo_rc_own"],__yo_iso_extract:["__yo_iso_extract"],__yo_iso_dispose:["__yo_iso_dispose"],__yo_gc_collect:["__yo_gc_collect"],__yo_dyn_drop:["__yo_dyn_drop"],__yo_dyn_dup:["__yo_dyn_dup"],__yo_sometype_drop:["__yo_sometype_drop"],__yo_sometype_dup:["__yo_sometype_dup"],___drop:["___drop"],___dispose:["___dispose"],___dup:["___dup"],dispose:["dispose"],__yo_drop_array_element:["__yo_drop_array_element"],__yo_dup_array_element:["__yo_dup_array_element"],__yo_drop_tuple_element:["__yo_drop_tuple_element"],__yo_dup_tuple_element:["__yo_dup_tuple_element"],__yo_noop:["__yo_noop"],__yo_return_self:["__yo_return_self"],__yo_ms_sleep:["__yo_ms_sleep"],__yo_getrandom:["__yo_getrandom"],__yo_arc4random_buf:["__yo_arc4random_buf"],__yo_bcrypt_gen_random:["__yo_bcrypt_gen_random"],__yo_getentropy:["__yo_getentropy"],__yo_maybe_uninit_new:["__yo_maybe_uninit_new"],__yo_maybe_uninit_as_ptr:["__yo_maybe_uninit_as_ptr"],__yo_maybe_uninit_assume_init:["__yo_maybe_uninit_assume_init"],__yo_process_platform:["__yo_process_platform"],__yo_process_arch:["__yo_process_arch"],__yo_pointer_size_bits:["__yo_pointer_size_bits"],__yo_build_executable:["__yo_build_executable"],__yo_build_static_library:["__yo_build_static_library"],__yo_build_shared_library:["__yo_build_shared_library"],__yo_build_test:["__yo_build_test"],__yo_build_run:["__yo_build_run"],__yo_build_step:["__yo_build_step"],__yo_build_step_depend_on:["__yo_build_step_depend_on"],__yo_build_link:["__yo_build_link"],__yo_build_link_system_library:["__yo_build_link_system_library"],__yo_build_target_host:["__yo_build_target_host"],__yo_build_target_parse:["__yo_build_target_parse"],__yo_build_dependency:["__yo_build_dependency"],__yo_build_path_dependency:["__yo_build_path_dependency"],__yo_build_system_library:["__yo_build_system_library"],__yo_build_option:["__yo_build_option"],__yo_build_dep_artifact:["__yo_build_dep_artifact"],__yo_build_module:["__yo_build_module"],__yo_build_module_link:["__yo_build_module_link"],__yo_build_add_import:["__yo_build_add_import"],__yo_build_add_cflags:["__yo_build_add_cflags"],__yo_build_dep_module:["__yo_build_dep_module"],__yo_build_doc:["__yo_build_doc"],asm:["asm"],global_asm:["global_asm"]}});function Kc(e){var t;return b(e,["->","=>"])?!!(((t=e.$)==null?void 0:t.isAnonymousFunctionDefinition)===!0||S(e)&&S(e.func)&&(b(e.func,P.fn)||b(e.func,P.unsafe_fn)||b(e.func,P.Fn))||!e.$):!1}function Xc(e,t){if(!S(e))return!1;if(t(e.func))return!0;for(let n of e.args)if(S(n)&&b(n,"=>")){for(let r of n.args)if(t(r))return!0}else if(t(n))return!0;return!1}function co(e){var t,n,r;if(W(e))return xn(e,P.escape);if(S(e)){if((t=e.$)!=null&&t.macroExpansion)return co(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,co);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(co(e.func))return!0;for(let i of e.args)if(co(i))return!0}return!1}function Js(e){var t,n,r;if(W(e))return xn(e,P.return)||xn(e,P.escape);if(S(e)){if(b(e,P.return)||b(e,P.escape))return!0;if((t=e.$)!=null&&t.macroExpansion)return Js(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,Js);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(Js(e.func))return!0;for(let i of e.args)if(Js(i))return!0}return!1}function Ar(e){var t,n,r,i,o,a,s;if(S(e)){if(((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_await")return!0;if((r=e.$)!=null&&r.macroExpansion)return Ar(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,Ar);if(((o=(i=e.func.$)==null?void 0:i.type)==null?void 0:o.ioBuiltin)==="io_async"||Kc(e)||G((a=e.func.$)==null?void 0:a.value)&&Q(e.func.$.value.value)||S(e.func)&&((s=e.func.$)==null?void 0:s.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(Ar(e.func))return!0;for(let l of e.args)if(Ar(l))return!0}return!1}function el(e){var t,n,r;if(W(e))return xn(e,P.break)||xn(e,P.return)||xn(e,P.escape);if(S(e)){if(b(e,P.return)||b(e,P.escape))return!0;if((t=e.$)!=null&&t.macroExpansion)return el(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,el);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(el(e.func))return!0;for(let i of e.args)if(el(i))return!0}return!1}var wa=K(()=>{Zt();ye();Le();Ce()});var pe,An=K(()=>{$t();gr();pe={tag:"Unit",type:Li()}});function cu(e){if(e&&e.tag==="FnCall"&&b(e,":=")){let t=e.args[0];if(t&&t.tag==="Atom"&&t.token.type==="identifier"&&t.$){let n=t.token.value,r=ae(t.$.env,n);if(r.length>0)return r[r.length-1].id}}}function Qc(e,t){var a;let n=[],r=new Map,i=new Map,o=new Map;if(So(e,n,r,i,o,t),(a=e.$)!=null&&a.deferredDropExpressions)for(let s of e.$.deferredDropExpressions)So(s,n,r,i,o,t);return n.length===0&&r.clear(),{suspensionPoints:n,capturedVariables:Array.from(r.values()),hasSuspensions:n.length>0,variableIdRemapping:o}}function So(e,t,n,r,i,o,a){var s,l;switch(e.tag){case"Atom":if(e.$&&e.token.type==="identifier"){let u=e.token.value,c=e.$.type,p=ae(e.$.env,u);if(p.length>0){let f=p[p.length-1];if(f&&!n.has(f.id)&&!f.isCompileTimeOnly){let d=`${f.name}:${f.frameLevel}`,_=r.get(d);if(_&&_!==f.id)i.set(f.id,_);else if(f.isOwningTheSameRcValueAs){let h=f.isOwningTheSameRcValueAs;if(!n.has(h.id)){let m={id:h.id,name:h.name,type:h.type,isOwningTheSameRcValueAs:void 0};n.set(h.id,m);let g=`${h.name}:${h.frameLevel}`;r.has(g)||r.set(g,h.id)}}else n.set(f.id,{id:f.id,name:u,type:c,isOwningTheSameRcValueAs:void 0}),r.has(d)||r.set(d,f.id)}}}break;case"FnCall":{if(b(e,P.while)){let u=t.length;So(e.func,t,n,r,i,o,e);for(let p of e.args)So(p,t,n,r,i,o,e);let c=t.length;if(c>u)for(let p=u;p<c;p++)t[p].isInsideWhile=!0,t[p].whileNestingDepth=(t[p].whileNestingDepth??0)+1,t[p].enclosingWhileExpr||(t[p].enclosingWhileExpr=e);break}if(b(e,P.cond)){Xm(e,t,n,r,i,o);break}if(b(e,P.match)){Xm(e,t,n,r,i,o);break}if(o.detect(e,a,t),o.shouldSkipBody(e)){if((s=e.$)!=null&&s.deferredDupExpressions)for(let u of e.$.deferredDupExpressions)So(u,t,n,r,i,o,e);break}So(e.func,t,n,r,i,o,e);for(let u of e.args)So(u,t,n,r,i,o,e);if((l=e.$)!=null&&l.deferredDropExpressions)for(let u of e.$.deferredDropExpressions)So(u,t,n,r,i,o,e);break}}}function Xm(e,t,n,r,i,o){if(e.tag!=="FnCall")return;let a=t.length;So(e.func,t,n,r,i,o,e);let s=new Map(r),l=[];for(let c of e.args){let p=t.length;So(c,t,n,r,i,o,e),l.push(t.slice(p))}r.clear();for(let[c,p]of s)r.set(c,p);let u=Math.max(...l.map(c=>c.length),0);if(u>0){t.splice(a);let c=a;for(let p=0;p<u;p++){let f;for(let d of l)if(p<d.length){f=d[p];break}f&&(f.index=t.length,f.isInsideCond=!0,p===0&&(f.needsOwnCondBranchField=!0),p>0&&(f.condBranchSourceIndex=c),t.push(f))}}}var Bf=K(()=>{ct();ye();qt()});function Qm(e){let n=Qc(e,{detect(i,o,a){var s;if(i.tag==="FnCall"&&Hr(i)){let l=i.args[0];if(!l)return;let u=(s=l.$)==null?void 0:s.type;if(u&&gt(u)){let c=Jn(u);if(!c)return;let p=c.isFuture.outputType,f;if(l.tag==="Atom"&&l.token.type==="identifier"&&l.$){let _=l.token.value,h=ae(l.$.env,_);if(h.length>0){let m=h[h.length-1];m.isOwningTheSameRcValueAs?f=m.isOwningTheSameRcValueAs.id:f=m.id}}let d=cu(o);a.push({index:a.length,expr:i,resultType:p,futureType:c,targetVariableId:d,futureVariableId:f})}}},shouldSkipBody(i){return nr(i)}}),r=n.capturedVariables.map(i=>({id:i.id,name:i.name,type:i.type,kind:"local",isOwningTheSameRcValueAs:void 0}));return{awaitPoints:n.suspensionPoints,capturedVariables:r,hasAwaits:n.hasSuspensions,variableIdRemapping:n.variableIdRemapping}}function nr(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_async"}function Hr(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_await"}function Zm(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_state"}function Zc(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_spawn"}function Jm(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="join_handle_await"}var xi=K(()=>{ct();ye();qt();Bf();Zt()});function Yt(e){return W(e)&&e.token.type==="identifier"||e.token.type==="operator"}function pu(e,t,n){var a;if(!((a=e.$)!=null&&a.variableName))return;let r=ae(t,e.$.variableName);if(!r.length)return;let i=r[r.length-1],o=new Set;for(;i&&i.isOwningTheSameRcValueAs;){if(o.has(i.id))return;o.add(i.id),i=i.isOwningTheSameRcValueAs}if(i&&i.isOwningTheRcValue)return i}function Fa(e){var r,i;let t=(r=e.$)==null?void 0:r.env;if(!t)return;let n;if((i=e.$)!=null&&i.pathCollection)for(let o of e.$.pathCollection)o.length>0&&typeof o[0]=="string"&&(n=o[0]);else W(e)&&(n=e.token.value);if(n){let o=ae(t,n),a=o[o.length-1];if(a!=null&&a.isImplicit)throw y({token:e.token,errorMessage:`Cannot use implicit variable "${a.name}" in assignment. Implicit variables must be passed via using() parameters.`})}}var ii=K(()=>{ct();Me();ye();qt()});function Gf({variablesToDrop:e,env:t,context:n}){let r=[],i=t;for(let o of e){let a=Xt(`${F.___drop[0]}(${o.name})`),s=R({expr:a,env:i,context:{...n,expectedType:{env:i,type:pe.type}}});r.push(s),s.$&&s.$.env&&(i=s.$.env)}return{deferredDropExpressions:r.length>0?r:void 0,env:i}}function fu(e,t,n){var s,l;if(S(e)&&nr(e))return;if((s=e.$)!=null&&s.deferredDupExpressions)for(let u of e.$.deferredDupExpressions)fu(u,t,n);if(S(e)&&S(e.func)&&b(e.func,".",2)&&W(e.func.args[0])&&W(e.func.args[1])&&e.func.args[1].token.value===F.___dup[0]&&e.args.length===0&&((l=e.$)!=null&&l.env)){let u=e.func.args[0].token.value,c=ae(e.$.env,u);if(c.length>0){let p=c[c.length-1];t.has(p.id)||t.set(p.id,[]),t.get(p.id).push(e)}return}if(S(e)&&b(e,P.while))return;function i(u){var c,p;if(an((c=u.$)==null?void 0:c.controlFlow))return!0;if(S(u)&&b(u,P.begin)){let f=u.args[u.args.length-1];if(an((p=f==null?void 0:f.$)==null?void 0:p.controlFlow)||S(f)&&b(f,P.return))return!0}return!!(S(u)&&b(u,P.return))}function o(u){if(S(u)&&b(u,P.tuple,0))return!0;if(S(u)&&b(u,P.begin)){if(u.args.length===0)return!0;if(u.args.length===1){let c=u.args[0];if(S(c)&&b(c,P.tuple,0))return!0}}return!1}function a(u,c){let p=[],f=[],d=[];for(let h=c;h<u.args.length;h++){let m=u.args[h];if(S(m)&&b(m,"=>",2)){let g=m.args[1],v=ey(g);p.push(v),f.push(i(g)),d.push(o(g))}}let _=new Set;for(let h of p){for(let m of h.dupCalls.keys())_.add(m);for(let m of h.varsWithPartialBranchDups)n.add(m)}if(p.length>0)for(let h of _){let m=[],g=[];for(let v=0;v<p.length;v++){let T=p[v],E=T.dupCalls.has(h),$=f[v];if(E){let k=T.dupCalls.get(h);$?m.push(...k):g.push(...k)}}for(let v of m)t.has(h)||t.set(h,[]),v.__isEarlyReturnDup=!0,t.get(h).push(v);if(g.length>0){let v=0,T=0;for(let E=0;E<p.length;E++)f[E]||(v++,p[E].dupCalls.has(h)&&T++);if(T===v){t.has(h)||t.set(h,[]);for(let E of g)t.get(h).push(E)}else n.add(h)}}}if(S(e)&&b(e,P.cond)){a(e,0);return}if(S(e)&&b(e,P.match)){e.args[0]&&fu(e.args[0],t,n),a(e,1);return}if(S(e)){fu(e.func,t,n);for(let u of e.args)fu(u,t,n)}}function ey(e){let t=new Map,n=new Set;return fu(e,t,n),{dupCalls:t,varsWithPartialBranchDups:n}}function ep(e){return S(e)&&b(e,P.tuple,0)}function Wf(e,t){var n;if((n=e.$)!=null&&n.deferredDupExpressions&&(e.$.deferredDupExpressions=e.$.deferredDupExpressions.filter(r=>!t.has(r)),e.$.deferredDupExpressions.length===0&&(e.$.deferredDupExpressions=void 0)),S(e)){Wf(e.func,t);for(let r of e.args)Wf(r,t)}}function Zw(e,t){var i,o,a,s,l,u;let n=new Set,r=e.args;for(let c=0;c<r.length;c++){let p=r[c];if(!S(p)||!b(p,P.while))continue;let f=p.args[p.args.length-1];if(!(!f||!S(f)||!b(f,P.begin)))for(let d of f.args){if(!S(d)||!b(d,P.match))continue;let _=d.args[0];if(!_||!W(_))continue;let h=_.token.value,m,g,v;for(let x=1;x<d.args.length;x++){let A=d.args[x];if(!S(A)||!b(A,"=>",2))continue;let N=A.args[1];if(!(!S(N)||!b(N,P.begin))){for(let V of N.args)if(S(V)&&b(V,"=",2)){let z=V.args[0];if(W(z)&&z.token.value===h){m=V.args[1],g=V,v=N;break}}if(m)break}}if(!m||!g||!v||!((i=m.$)!=null&&i.deferredDupExpressions)||m.$.deferredDupExpressions.length===0)continue;let T;for(let x=0;x<c;x++){let A=r[x];if(S(A)&&b(A,"=",2)){let N=A.args[0];if(W(N)&&N.token.value===h){T=A.args[1];break}if(S(N)&&N.args.length>0&&W(N.args[0])&&N.args[0].token.value===h){T=A.args[1];break}}}if(!T)continue;let E=(o=T.$)==null?void 0:o.variableName;if(!E||!((a=T.$)!=null&&a.env))continue;let $=ae(T.$.env,E);if($.length===0||$[$.length-1].isOwningTheRcValue||!((s=T.$)!=null&&s.deferredDupExpressions)||T.$.deferredDupExpressions.length===0)continue;let C=!1;for(let x=c+1;x<r.length;x++)if(qf(r[x],h)){C=!0;break}if(C)continue;T.$.deferredDupExpressions=void 0,m.$.deferredDupExpressions=void 0;let w=(l=g.$)==null?void 0:l.variableName;w&&((u=v.$)!=null&&u.deferredDropExpressions)&&(v.$.deferredDropExpressions=v.$.deferredDropExpressions.filter(x=>Jw(x)!==w),v.$.deferredDropExpressions.length===0&&(v.$.deferredDropExpressions=void 0)),g.$&&(g.$.variableName=void 0);let L=ae(t,h);if(L.length>0){let x=L[L.length-1];t=Ot(t,x,{...x,consumedAtToken:x.token})}n.add(h)}}return{optimizedVarNames:n,env:t}}function Jw(e){if(S(e)&&e.args.length===0&&S(e.func)&&b(e.func,".",2)&&W(e.func.args[1])&&e.func.args[1].token.value===F.___drop[0]&&W(e.func.args[0]))return e.func.args[0].token.value;if(S(e)&&b(e,F.___drop)&&e.args.length>=1&&W(e.args[0]))return e.args[0].token.value}function qf(e,t){if(W(e)&&e.token.value===t)return!0;if(S(e)){if(qf(e.func,t))return!0;for(let n of e.args)if(qf(n,t))return!0}return!1}function Sn({expr:e,env:t,context:n,variablesToAdd:r=[],isEvaluatingFunctionBodyBeginBlock:i=!1}){var k,C,w,L,x,A,N,V,z;if(S(e)&&b(e,"_")&&!b(e,P.begin)){let O=e;O.args.some(Y=>S(Y)&&b(Y,":"))||(O.func={...O.func,token:{...O.func.token,value:P.begin[0]}})}if(!S(e)||!b(e,P.begin)){let O={tag:"FnCall",func:{tag:"Atom",token:{...e.token,value:P.begin[0]}},args:[Et(e)],token:{...e.token,value:P.begin[0]}};xo(e,O),e=e}let o=e.args,a=n.expectedType;if(o.length===0)return e.$={env:t,type:pe.type,value:pe,pathCollection:[]},e;t=vt(t,void 0,!0);for(let O=0;O<r.length;O++){let M=r[O],{env:Y}=Pe({env:t,variable:M});t=Y}let s=o[o.length-1],l,u=!1;for(let O=0;O<o.length;O++){let M=o[O];if(W(M)&&xn(M,P.return)||S(M)&&b(M,P.return)){if(O!==o.length-1&&!(O===o.length-2&&ep(o[o.length-1])))throw y({token:M.token,errorMessage:'The "return" keyword can only be used as the last expression.'});if(S(M)&&Ze(M,P.return,1),!n.isEvaluatingFunctionBodyOrAsyncBlock)throw y({token:M.token,errorMessage:'The "return" keyword can only be used inside a function body or async block.'});if(l=M,W(M)){M.$={env:t,type:pe.type,value:pe,pathCollection:[],controlFlow:ka("return")},s=M;break}else{Ze(M,P.return,1);let Y=M.args[0],B=R({expr:Y,env:t,context:{...n,expectedType:n.isEvaluatingFunctionBodyOrAsyncBlock.kind==="function-body"?{type:n.isEvaluatingFunctionBodyOrAsyncBlock.type.return.type,env:t}:n.expectedType}});if(!B.$)throw y({token:Y.token,errorMessage:`Return expression is not evaluated correctly:
157
+ ${I(e)}`});if(yt(e.$.type)){if(cn(e.$.env.modulePath,n)&&!(W(e)&&e.token.value!==n)){let a=ae(e.$.env,n);if(a.length>0){let s=a[a.length-1];if(s.isOwningTheRcValue){s.consumedAtToken||(e.$.env=Ot(e.$.env,s,{...s,consumedAtToken:e.token}));return}}}let i=Xt(`${F.___dup[0]}(${n})`),o=R({expr:i,env:e.$.env,context:{...t,expectedType:void 0}});if((r=o.$)!=null&&r.variableName){let a=ae(o.$.env,o.$.variableName);if(a.length>0){let s=a[a.length-1];s.consumedAtToken||(o.$.env=Ot(o.$.env,s,{...s,consumedAtToken:o.token}))}}e.$.deferredDupExpressions=[o],e.$.env=o.$.env}}function is(e,t){var o;let n=(o=e.$)==null?void 0:o.variableName;if(!n)return;let r=ae(t,n);if(r.length===0)throw gn([{token:e.token,errorMessage:`Variable "${n}" is not defined.`}]);let i=r[r.length-1];if(i.consumedAtToken){let a=`use of moved value: \`${n}\``;throw gn([{token:e.token,errorMessage:a},{token:i.consumedAtToken,errorMessage:"value moved here"}])}}var P,F,ye=K(()=>{ct();Me();rt();zi();qt();fn();Le();Qe();Tn();Ce();P={comptime:["comptime"],runtime:["runtime"],ref:["ref"],forall:["forall","\u2200"],using:["using"],given:["given"],where:["where"],quote:["quote",":"],unquote:["unquote","#"],unquote_splicing:["unquote_splicing","...#"],return:["return"],recur:["recur"],fn:["fn"],unsafe_fn:["unsafe_fn"],escape:["escape"],extern:["extern"],cond:["cond"],type:["type"],match:["match"],test:["test"],atomic:["atomic"],struct:["struct"],object:["object"],newtype:["newtype"],enum:["enum"],union:["union"],module:["module"],trait:["trait"],impl:["impl"],Impl:["Impl"],begin:["begin"],module_begin:["module_begin"],import:["import"],export:["export"],open:["open"],clone:["clone","%"],break:["break"],continue:["continue"],while:["while"],if:["if"],op_and:["&&"],op_or:["||"],gensym:["gensym"],dyn:["dyn"],Dyn:["Dyn"],Fn:["Fn"],c_include:["c_include"],undefined:["undefined"],null:["null"],true:["true"],false:["false"],unique:["unique","^"],Ptr:["*"],Iso:["Iso"],Tuple:["Tuple"],Array:["Array"],Slice:["Slice"],Future:["Future"],Concrete:["Concrete"],Type:["Type"],Module:["Module"],Trait:["Trait"],ComptimeList:["ComptimeList"],tuple:["tuple"],array:["array"],comptime_list:["comptime_list"]},F={comptime_expect_error:["comptime_expect_error"],comptime_assert:["comptime_assert"],comptime_print:["comptime_print"],comptime_fn:["comptime_fn"],va_start:["va_start"],__yo_array_fill:["__yo_array_fill"],typeof:["typeof"],sizeof:["sizeof"],alignof:["alignof"],typeid:["typeid"],downcast:["downcast"],consume:["consume"],macro_expand:["macro_expand"],as:["as"],the:["the"],do:["do"],rc:"rc",__yo_thread_set_maximum_threads:["__yo_thread_set_maximum_threads"],__yo_ptr_add:["__yo_ptr_add"],__yo_ptr_sub:["__yo_ptr_sub"],__yo_ptr_diff:["__yo_ptr_diff"],__yo_ptr_eq:["__yo_ptr_eq"],__yo_ptr_neq:["__yo_ptr_neq"],__yo_ptr_lt:["__yo_ptr_lt"],__yo_ptr_lte:["__yo_ptr_lte"],__yo_ptr_gt:["__yo_ptr_gt"],__yo_ptr_gte:["__yo_ptr_gte"],__yo_address_of:["&"],__yo_ptr_deref:["__yo_ptr_deref"],__yo_ptr_set:["__yo_ptr_set"],__yo_slice_len:["__yo_slice_len"],__yo_slice_new:["__yo_slice_new"],__yo_slice_ptr:["__yo_slice_ptr"],__yo_array_index:["__yo_array_index"],__yo_slice_index:["__yo_slice_index"],__yo_array_index_range:["__yo_array_index_range"],__yo_array_index_range_inclusive:["__yo_array_index_range_inclusive"],__yo_slice_index_range:["__yo_slice_index_range"],__yo_slice_index_range_inclusive:["__yo_slice_index_range_inclusive"],__yo_comptime_array_index:["__yo_comptime_array_index"],__yo_comptime_slice_index:["__yo_comptime_slice_index"],__yo_comptime_array_index_range:["__yo_comptime_array_index_range"],__yo_comptime_array_index_range_inclusive:["__yo_comptime_array_index_range_inclusive"],__yo_comptime_slice_index_range:["__yo_comptime_slice_index_range"],__yo_comptime_slice_index_range_inclusive:["__yo_comptime_slice_index_range_inclusive"],__yo_as:["__yo_as"],__yo_expr_is_atom:["__yo_expr_is_atom"],__yo_expr_is_fn_call:["__yo_expr_is_fn_call"],__yo_expr_get_callee:["__yo_expr_get_callee"],__yo_expr_get_args:["__yo_expr_get_args"],__yo_expr_to_string:["__yo_expr_to_string"],__yo_expr_eq:["__yo_expr_eq"],__yo_comptime_list_car:["__yo_comptime_list_car"],__yo_comptime_list_cdr:["__yo_comptime_list_cdr"],__yo_comptime_list_cons:["__yo_comptime_list_cons"],__yo_comptime_list_append:["__yo_comptime_list_append"],__yo_comptime_list_length:["__yo_comptime_list_length"],__yo_comptime_list_element_type:["__yo_comptime_list_element_type"],__yo_comptime_list_get:["__yo_comptime_list_get"],__yo_comptime_list_index:["__yo_comptime_list_index"],__yo_comptime_list_index_range:["__yo_comptime_list_index_range"],__yo_comptime_list_index_range_inclusive:["__yo_comptime_list_index_range_inclusive"],__yo_comptime_int_add:["__yo_comptime_int_add"],__yo_comptime_int_sub:["__yo_comptime_int_sub"],__yo_comptime_int_mul:["__yo_comptime_int_mul"],__yo_comptime_int_div:["__yo_comptime_int_div"],__yo_comptime_int_mod:["__yo_comptime_int_mod"],__yo_comptime_int_eq:["__yo_comptime_int_eq"],__yo_comptime_int_neq:["__yo_comptime_int_neq"],__yo_comptime_int_lt:["__yo_comptime_int_lt"],__yo_comptime_int_lte:["__yo_comptime_int_lte"],__yo_comptime_int_gt:["__yo_comptime_int_gt"],__yo_comptime_int_gte:["__yo_comptime_int_gte"],__yo_comptime_int_bit_and:["__yo_comptime_int_bit_and"],__yo_comptime_int_bit_or:["__yo_comptime_int_bit_or"],__yo_comptime_int_bit_xor:["__yo_comptime_int_bit_xor"],__yo_comptime_int_shl:["__yo_comptime_int_shl"],__yo_comptime_int_shr:["__yo_comptime_int_shr"],__yo_comptime_int_neg:["__yo_comptime_int_neg"],__yo_comptime_int_bit_not:["__yo_comptime_int_bit_not"],__yo_comptime_int_to_comptime_string:["__yo_comptime_int_to_comptime_string"],__yo_comptime_float_add:["__yo_comptime_float_add"],__yo_comptime_float_sub:["__yo_comptime_float_sub"],__yo_comptime_float_mul:["__yo_comptime_float_mul"],__yo_comptime_float_div:["__yo_comptime_float_div"],__yo_comptime_float_eq:["__yo_comptime_float_eq"],__yo_comptime_float_neq:["__yo_comptime_float_neq"],__yo_comptime_float_lt:["__yo_comptime_float_lt"],__yo_comptime_float_lte:["__yo_comptime_float_lte"],__yo_comptime_float_gt:["__yo_comptime_float_gt"],__yo_comptime_float_gte:["__yo_comptime_float_gte"],__yo_comptime_float_neg:["__yo_comptime_float_neg"],__yo_comptime_float_to_comptime_string:["__yo_comptime_float_to_comptime_string"],__yo_comptime_u8_add:["__yo_comptime_u8_add"],__yo_comptime_u8_sub:["__yo_comptime_u8_sub"],__yo_comptime_u8_mul:["__yo_comptime_u8_mul"],__yo_comptime_u8_div:["__yo_comptime_u8_div"],__yo_comptime_u8_mod:["__yo_comptime_u8_mod"],__yo_comptime_u8_eq:["__yo_comptime_u8_eq"],__yo_comptime_u8_neq:["__yo_comptime_u8_neq"],__yo_comptime_u8_lt:["__yo_comptime_u8_lt"],__yo_comptime_u8_lte:["__yo_comptime_u8_lte"],__yo_comptime_u8_gt:["__yo_comptime_u8_gt"],__yo_comptime_u8_gte:["__yo_comptime_u8_gte"],__yo_comptime_u8_neg:["__yo_comptime_u8_neg"],__yo_comptime_u8_bit_and:["__yo_comptime_u8_bit_and"],__yo_comptime_u8_bit_or:["__yo_comptime_u8_bit_or"],__yo_comptime_u8_bit_xor:["__yo_comptime_u8_bit_xor"],__yo_comptime_u8_bit_not:["__yo_comptime_u8_bit_not"],__yo_comptime_u8_shl:["__yo_comptime_u8_shl"],__yo_comptime_u8_shr:["__yo_comptime_u8_shr"],__yo_comptime_u8_to_comptime_string:["__yo_comptime_u8_to_comptime_string"],__yo_comptime_i8_add:["__yo_comptime_i8_add"],__yo_comptime_i8_sub:["__yo_comptime_i8_sub"],__yo_comptime_i8_mul:["__yo_comptime_i8_mul"],__yo_comptime_i8_div:["__yo_comptime_i8_div"],__yo_comptime_i8_mod:["__yo_comptime_i8_mod"],__yo_comptime_i8_eq:["__yo_comptime_i8_eq"],__yo_comptime_i8_neq:["__yo_comptime_i8_neq"],__yo_comptime_i8_lt:["__yo_comptime_i8_lt"],__yo_comptime_i8_lte:["__yo_comptime_i8_lte"],__yo_comptime_i8_gt:["__yo_comptime_i8_gt"],__yo_comptime_i8_gte:["__yo_comptime_i8_gte"],__yo_comptime_i8_neg:["__yo_comptime_i8_neg"],__yo_comptime_i8_bit_and:["__yo_comptime_i8_bit_and"],__yo_comptime_i8_bit_or:["__yo_comptime_i8_bit_or"],__yo_comptime_i8_bit_xor:["__yo_comptime_i8_bit_xor"],__yo_comptime_i8_bit_not:["__yo_comptime_i8_bit_not"],__yo_comptime_i8_shl:["__yo_comptime_i8_shl"],__yo_comptime_i8_shr:["__yo_comptime_i8_shr"],__yo_comptime_i8_to_comptime_string:["__yo_comptime_i8_to_comptime_string"],__yo_comptime_u16_add:["__yo_comptime_u16_add"],__yo_comptime_u16_sub:["__yo_comptime_u16_sub"],__yo_comptime_u16_mul:["__yo_comptime_u16_mul"],__yo_comptime_u16_div:["__yo_comptime_u16_div"],__yo_comptime_u16_mod:["__yo_comptime_u16_mod"],__yo_comptime_u16_eq:["__yo_comptime_u16_eq"],__yo_comptime_u16_neq:["__yo_comptime_u16_neq"],__yo_comptime_u16_lt:["__yo_comptime_u16_lt"],__yo_comptime_u16_lte:["__yo_comptime_u16_lte"],__yo_comptime_u16_gt:["__yo_comptime_u16_gt"],__yo_comptime_u16_gte:["__yo_comptime_u16_gte"],__yo_comptime_u16_neg:["__yo_comptime_u16_neg"],__yo_comptime_u16_bit_and:["__yo_comptime_u16_bit_and"],__yo_comptime_u16_bit_or:["__yo_comptime_u16_bit_or"],__yo_comptime_u16_bit_xor:["__yo_comptime_u16_bit_xor"],__yo_comptime_u16_bit_not:["__yo_comptime_u16_bit_not"],__yo_comptime_u16_shl:["__yo_comptime_u16_shl"],__yo_comptime_u16_shr:["__yo_comptime_u16_shr"],__yo_comptime_u16_to_comptime_string:["__yo_comptime_u16_to_comptime_string"],__yo_comptime_i16_add:["__yo_comptime_i16_add"],__yo_comptime_i16_sub:["__yo_comptime_i16_sub"],__yo_comptime_i16_mul:["__yo_comptime_i16_mul"],__yo_comptime_i16_div:["__yo_comptime_i16_div"],__yo_comptime_i16_mod:["__yo_comptime_i16_mod"],__yo_comptime_i16_eq:["__yo_comptime_i16_eq"],__yo_comptime_i16_neq:["__yo_comptime_i16_neq"],__yo_comptime_i16_lt:["__yo_comptime_i16_lt"],__yo_comptime_i16_lte:["__yo_comptime_i16_lte"],__yo_comptime_i16_gt:["__yo_comptime_i16_gt"],__yo_comptime_i16_gte:["__yo_comptime_i16_gte"],__yo_comptime_i16_neg:["__yo_comptime_i16_neg"],__yo_comptime_i16_bit_and:["__yo_comptime_i16_bit_and"],__yo_comptime_i16_bit_or:["__yo_comptime_i16_bit_or"],__yo_comptime_i16_bit_xor:["__yo_comptime_i16_bit_xor"],__yo_comptime_i16_bit_not:["__yo_comptime_i16_bit_not"],__yo_comptime_i16_shl:["__yo_comptime_i16_shl"],__yo_comptime_i16_shr:["__yo_comptime_i16_shr"],__yo_comptime_i16_to_comptime_string:["__yo_comptime_i16_to_comptime_string"],__yo_comptime_u32_add:["__yo_comptime_u32_add"],__yo_comptime_u32_sub:["__yo_comptime_u32_sub"],__yo_comptime_u32_mul:["__yo_comptime_u32_mul"],__yo_comptime_u32_div:["__yo_comptime_u32_div"],__yo_comptime_u32_mod:["__yo_comptime_u32_mod"],__yo_comptime_u32_eq:["__yo_comptime_u32_eq"],__yo_comptime_u32_neq:["__yo_comptime_u32_neq"],__yo_comptime_u32_lt:["__yo_comptime_u32_lt"],__yo_comptime_u32_lte:["__yo_comptime_u32_lte"],__yo_comptime_u32_gt:["__yo_comptime_u32_gt"],__yo_comptime_u32_gte:["__yo_comptime_u32_gte"],__yo_comptime_u32_neg:["__yo_comptime_u32_neg"],__yo_comptime_u32_bit_and:["__yo_comptime_u32_bit_and"],__yo_comptime_u32_bit_or:["__yo_comptime_u32_bit_or"],__yo_comptime_u32_bit_xor:["__yo_comptime_u32_bit_xor"],__yo_comptime_u32_bit_not:["__yo_comptime_u32_bit_not"],__yo_comptime_u32_shl:["__yo_comptime_u32_shl"],__yo_comptime_u32_shr:["__yo_comptime_u32_shr"],__yo_comptime_u32_to_comptime_string:["__yo_comptime_u32_to_comptime_string"],__yo_comptime_i32_add:["__yo_comptime_i32_add"],__yo_comptime_i32_sub:["__yo_comptime_i32_sub"],__yo_comptime_i32_mul:["__yo_comptime_i32_mul"],__yo_comptime_i32_div:["__yo_comptime_i32_div"],__yo_comptime_i32_mod:["__yo_comptime_i32_mod"],__yo_comptime_i32_eq:["__yo_comptime_i32_eq"],__yo_comptime_i32_neq:["__yo_comptime_i32_neq"],__yo_comptime_i32_lt:["__yo_comptime_i32_lt"],__yo_comptime_i32_lte:["__yo_comptime_i32_lte"],__yo_comptime_i32_gt:["__yo_comptime_i32_gt"],__yo_comptime_i32_gte:["__yo_comptime_i32_gte"],__yo_comptime_i32_neg:["__yo_comptime_i32_neg"],__yo_comptime_i32_bit_and:["__yo_comptime_i32_bit_and"],__yo_comptime_i32_bit_or:["__yo_comptime_i32_bit_or"],__yo_comptime_i32_bit_xor:["__yo_comptime_i32_bit_xor"],__yo_comptime_i32_bit_not:["__yo_comptime_i32_bit_not"],__yo_comptime_i32_shl:["__yo_comptime_i32_shl"],__yo_comptime_i32_shr:["__yo_comptime_i32_shr"],__yo_comptime_i32_to_comptime_string:["__yo_comptime_i32_to_comptime_string"],__yo_comptime_u64_add:["__yo_comptime_u64_add"],__yo_comptime_u64_sub:["__yo_comptime_u64_sub"],__yo_comptime_u64_mul:["__yo_comptime_u64_mul"],__yo_comptime_u64_div:["__yo_comptime_u64_div"],__yo_comptime_u64_mod:["__yo_comptime_u64_mod"],__yo_comptime_u64_eq:["__yo_comptime_u64_eq"],__yo_comptime_u64_neq:["__yo_comptime_u64_neq"],__yo_comptime_u64_lt:["__yo_comptime_u64_lt"],__yo_comptime_u64_lte:["__yo_comptime_u64_lte"],__yo_comptime_u64_gt:["__yo_comptime_u64_gt"],__yo_comptime_u64_gte:["__yo_comptime_u64_gte"],__yo_comptime_u64_neg:["__yo_comptime_u64_neg"],__yo_comptime_u64_bit_and:["__yo_comptime_u64_bit_and"],__yo_comptime_u64_bit_or:["__yo_comptime_u64_bit_or"],__yo_comptime_u64_bit_xor:["__yo_comptime_u64_bit_xor"],__yo_comptime_u64_bit_not:["__yo_comptime_u64_bit_not"],__yo_comptime_u64_shl:["__yo_comptime_u64_shl"],__yo_comptime_u64_shr:["__yo_comptime_u64_shr"],__yo_comptime_u64_to_comptime_string:["__yo_comptime_u64_to_comptime_string"],__yo_comptime_i64_add:["__yo_comptime_i64_add"],__yo_comptime_i64_sub:["__yo_comptime_i64_sub"],__yo_comptime_i64_mul:["__yo_comptime_i64_mul"],__yo_comptime_i64_div:["__yo_comptime_i64_div"],__yo_comptime_i64_mod:["__yo_comptime_i64_mod"],__yo_comptime_i64_eq:["__yo_comptime_i64_eq"],__yo_comptime_i64_neq:["__yo_comptime_i64_neq"],__yo_comptime_i64_lt:["__yo_comptime_i64_lt"],__yo_comptime_i64_lte:["__yo_comptime_i64_lte"],__yo_comptime_i64_gt:["__yo_comptime_i64_gt"],__yo_comptime_i64_gte:["__yo_comptime_i64_gte"],__yo_comptime_i64_neg:["__yo_comptime_i64_neg"],__yo_comptime_i64_bit_and:["__yo_comptime_i64_bit_and"],__yo_comptime_i64_bit_or:["__yo_comptime_i64_bit_or"],__yo_comptime_i64_bit_xor:["__yo_comptime_i64_bit_xor"],__yo_comptime_i64_bit_not:["__yo_comptime_i64_bit_not"],__yo_comptime_i64_shl:["__yo_comptime_i64_shl"],__yo_comptime_i64_shr:["__yo_comptime_i64_shr"],__yo_comptime_i64_to_comptime_string:["__yo_comptime_i64_to_comptime_string"],__yo_comptime_usize_add:["__yo_comptime_usize_add"],__yo_comptime_usize_sub:["__yo_comptime_usize_sub"],__yo_comptime_usize_mul:["__yo_comptime_usize_mul"],__yo_comptime_usize_div:["__yo_comptime_usize_div"],__yo_comptime_usize_mod:["__yo_comptime_usize_mod"],__yo_comptime_usize_eq:["__yo_comptime_usize_eq"],__yo_comptime_usize_neq:["__yo_comptime_usize_neq"],__yo_comptime_usize_lt:["__yo_comptime_usize_lt"],__yo_comptime_usize_lte:["__yo_comptime_usize_lte"],__yo_comptime_usize_gt:["__yo_comptime_usize_gt"],__yo_comptime_usize_gte:["__yo_comptime_usize_gte"],__yo_comptime_usize_neg:["__yo_comptime_usize_neg"],__yo_comptime_usize_bit_and:["__yo_comptime_usize_bit_and"],__yo_comptime_usize_bit_or:["__yo_comptime_usize_bit_or"],__yo_comptime_usize_bit_xor:["__yo_comptime_usize_bit_xor"],__yo_comptime_usize_bit_not:["__yo_comptime_usize_bit_not"],__yo_comptime_usize_shl:["__yo_comptime_usize_shl"],__yo_comptime_usize_shr:["__yo_comptime_usize_shr"],__yo_comptime_usize_to_comptime_string:["__yo_comptime_usize_to_comptime_string"],__yo_comptime_isize_add:["__yo_comptime_isize_add"],__yo_comptime_isize_sub:["__yo_comptime_isize_sub"],__yo_comptime_isize_mul:["__yo_comptime_isize_mul"],__yo_comptime_isize_div:["__yo_comptime_isize_div"],__yo_comptime_isize_mod:["__yo_comptime_isize_mod"],__yo_comptime_isize_eq:["__yo_comptime_isize_eq"],__yo_comptime_isize_neq:["__yo_comptime_isize_neq"],__yo_comptime_isize_lt:["__yo_comptime_isize_lt"],__yo_comptime_isize_lte:["__yo_comptime_isize_lte"],__yo_comptime_isize_gt:["__yo_comptime_isize_gt"],__yo_comptime_isize_gte:["__yo_comptime_isize_gte"],__yo_comptime_isize_neg:["__yo_comptime_isize_neg"],__yo_comptime_isize_bit_and:["__yo_comptime_isize_bit_and"],__yo_comptime_isize_bit_or:["__yo_comptime_isize_bit_or"],__yo_comptime_isize_bit_xor:["__yo_comptime_isize_bit_xor"],__yo_comptime_isize_bit_not:["__yo_comptime_isize_bit_not"],__yo_comptime_isize_shl:["__yo_comptime_isize_shl"],__yo_comptime_isize_shr:["__yo_comptime_isize_shr"],__yo_comptime_isize_to_comptime_string:["__yo_comptime_isize_to_comptime_string"],__yo_comptime_f32_add:["__yo_comptime_f32_add"],__yo_comptime_f32_sub:["__yo_comptime_f32_sub"],__yo_comptime_f32_mul:["__yo_comptime_f32_mul"],__yo_comptime_f32_div:["__yo_comptime_f32_div"],__yo_comptime_f32_eq:["__yo_comptime_f32_eq"],__yo_comptime_f32_neq:["__yo_comptime_f32_neq"],__yo_comptime_f32_lt:["__yo_comptime_f32_lt"],__yo_comptime_f32_lte:["__yo_comptime_f32_lte"],__yo_comptime_f32_gt:["__yo_comptime_f32_gt"],__yo_comptime_f32_gte:["__yo_comptime_f32_gte"],__yo_comptime_f32_neg:["__yo_comptime_f32_neg"],__yo_comptime_f32_to_comptime_string:["__yo_comptime_f32_to_comptime_string"],__yo_comptime_f64_add:["__yo_comptime_f64_add"],__yo_comptime_f64_sub:["__yo_comptime_f64_sub"],__yo_comptime_f64_mul:["__yo_comptime_f64_mul"],__yo_comptime_f64_div:["__yo_comptime_f64_div"],__yo_comptime_f64_eq:["__yo_comptime_f64_eq"],__yo_comptime_f64_neq:["__yo_comptime_f64_neq"],__yo_comptime_f64_lt:["__yo_comptime_f64_lt"],__yo_comptime_f64_lte:["__yo_comptime_f64_lte"],__yo_comptime_f64_gt:["__yo_comptime_f64_gt"],__yo_comptime_f64_gte:["__yo_comptime_f64_gte"],__yo_comptime_f64_neg:["__yo_comptime_f64_neg"],__yo_comptime_f64_to_comptime_string:["__yo_comptime_f64_to_comptime_string"],__yo_comptime_bool_and:["__yo_comptime_bool_and"],__yo_comptime_bool_or:["__yo_comptime_bool_or"],__yo_comptime_bool_eq:["__yo_comptime_bool_eq"],__yo_comptime_bool_neq:["__yo_comptime_bool_neq"],__yo_comptime_bool_not:["__yo_comptime_bool_not"],__yo_comptime_bool_to_comptime_string:["__yo_comptime_bool_to_comptime_string"],__yo_comptime_string_concat:["__yo_comptime_string_concat"],__yo_comptime_string_eq:["__yo_comptime_string_eq"],__yo_comptime_string_neq:["__yo_comptime_string_neq"],__yo_comptime_string_lt:["__yo_comptime_string_lt"],__yo_comptime_string_lte:["__yo_comptime_string_lte"],__yo_comptime_string_gt:["__yo_comptime_string_gt"],__yo_comptime_string_gte:["__yo_comptime_string_gte"],__yo_comptime_string_length:["__yo_comptime_string_length"],__yo_comptime_string_to_upper:["__yo_comptime_string_to_upper"],__yo_comptime_string_to_lower:["__yo_comptime_string_to_lower"],__yo_comptime_string_slice:["__yo_comptime_string_slice"],__yo_comptime_string_index:["__yo_comptime_string_index"],__yo_comptime_string_index_range:["__yo_comptime_string_index_range"],__yo_comptime_string_index_range_inclusive:["__yo_comptime_string_index_range_inclusive"],__yo_type_to_comptime_string:["__yo_type_to_comptime_string"],__yo_type_contains_rc_type:["__yo_type_contains_rc_type"],__yo_type_can_form_rc_cycle:["__yo_type_can_form_rc_cycle"],__yo_are_types_compatible:["__yo_are_types_compatible"],__yo_are_types_equal:["__yo_are_types_equal"],__yo_type_impls:["__yo_type_impls"],__yo_type_get_info:["__yo_type_get_info"],comptime_eval:["comptime_eval"],derive:["derive"],derive_rule:["derive_rule"],__yo_comptime_string_to_expr:["__yo_comptime_string_to_expr"],__yo_type_join_fields:["__yo_type_join_fields"],__yo_type_map_variants:["__yo_type_map_variants"],__yo_var_print_info:["__yo_var_print_info"],__yo_var_is_owning_the_rc_value:["__yo_var_is_owning_the_rc_value"],__yo_var_has_other_aliases:["__yo_var_has_other_aliases"],__yo_op_add:["__yo_op_add"],__yo_op_sub:["__yo_op_sub"],__yo_op_mul:["__yo_op_mul"],__yo_op_div:["__yo_op_div"],__yo_op_mod:["__yo_op_mod"],__yo_op_neg:["__yo_op_neg"],__yo_op_eq:["__yo_op_eq"],__yo_op_neq:["__yo_op_neq"],__yo_op_lt:["__yo_op_lt"],__yo_op_lte:["__yo_op_lte"],__yo_op_gt:["__yo_op_gt"],__yo_op_gte:["__yo_op_gte"],__yo_op_not:["__yo_op_not"],__yo_op_bit_and:["__yo_op_bit_and"],__yo_op_bit_or:["__yo_op_bit_or"],__yo_op_bit_xor:["__yo_op_bit_xor"],__yo_op_bit_complement:["__yo_op_bit_complement"],__yo_op_bit_left_shift:["__yo_op_bit_left_shift"],__yo_op_bit_right_shift:["__yo_op_bit_right_shift"],c_include:["c_include"],panic:["panic"],__yo_decr_rc:["__yo_decr_rc"],__yo_incr_rc:["__yo_incr_rc"],__yo_decr_rc_atomic:["__yo_decr_rc_atomic"],__yo_incr_rc_atomic:["__yo_incr_rc_atomic"],__yo_rc_own:["__yo_rc_own"],__yo_iso_extract:["__yo_iso_extract"],__yo_iso_dispose:["__yo_iso_dispose"],__yo_gc_collect:["__yo_gc_collect"],__yo_dyn_drop:["__yo_dyn_drop"],__yo_dyn_dup:["__yo_dyn_dup"],__yo_sometype_drop:["__yo_sometype_drop"],__yo_sometype_dup:["__yo_sometype_dup"],___drop:["___drop"],___dispose:["___dispose"],___dup:["___dup"],dispose:["dispose"],__yo_drop_array_element:["__yo_drop_array_element"],__yo_dup_array_element:["__yo_dup_array_element"],__yo_drop_tuple_element:["__yo_drop_tuple_element"],__yo_dup_tuple_element:["__yo_dup_tuple_element"],__yo_noop:["__yo_noop"],__yo_return_self:["__yo_return_self"],__yo_ms_sleep:["__yo_ms_sleep"],__yo_getrandom:["__yo_getrandom"],__yo_arc4random_buf:["__yo_arc4random_buf"],__yo_bcrypt_gen_random:["__yo_bcrypt_gen_random"],__yo_getentropy:["__yo_getentropy"],__yo_maybe_uninit_new:["__yo_maybe_uninit_new"],__yo_maybe_uninit_as_ptr:["__yo_maybe_uninit_as_ptr"],__yo_maybe_uninit_assume_init:["__yo_maybe_uninit_assume_init"],__yo_process_platform:["__yo_process_platform"],__yo_process_arch:["__yo_process_arch"],__yo_pointer_size_bits:["__yo_pointer_size_bits"],__yo_build_executable:["__yo_build_executable"],__yo_build_static_library:["__yo_build_static_library"],__yo_build_shared_library:["__yo_build_shared_library"],__yo_build_test:["__yo_build_test"],__yo_build_run:["__yo_build_run"],__yo_build_step:["__yo_build_step"],__yo_build_step_depend_on:["__yo_build_step_depend_on"],__yo_build_link:["__yo_build_link"],__yo_build_link_system_library:["__yo_build_link_system_library"],__yo_build_target_host:["__yo_build_target_host"],__yo_build_target_parse:["__yo_build_target_parse"],__yo_build_dependency:["__yo_build_dependency"],__yo_build_path_dependency:["__yo_build_path_dependency"],__yo_build_system_library:["__yo_build_system_library"],__yo_build_option:["__yo_build_option"],__yo_build_dep_artifact:["__yo_build_dep_artifact"],__yo_build_module:["__yo_build_module"],__yo_build_module_link:["__yo_build_module_link"],__yo_build_add_import:["__yo_build_add_import"],__yo_build_add_cflags:["__yo_build_add_cflags"],__yo_build_dep_module:["__yo_build_dep_module"],__yo_build_doc:["__yo_build_doc"],asm:["asm"],global_asm:["global_asm"]}});function Kc(e){var t,n;return b(e,["->","=>"])?!!(((t=e.$)==null?void 0:t.isAnonymousFunctionDefinition)===!0||((n=e.$)==null?void 0:n.value)!==void 0&&ve(e.$.value)||S(e)&&S(e.func)&&(b(e.func,P.fn)||b(e.func,P.unsafe_fn)||b(e.func,P.Fn))||!e.$):!1}function Xc(e,t){if(!S(e))return!1;if(t(e.func))return!0;for(let n of e.args)if(S(n)&&b(n,"=>")){for(let r of n.args)if(t(r))return!0}else if(t(n))return!0;return!1}function co(e){var t,n,r;if(W(e))return xn(e,P.escape);if(S(e)){if((t=e.$)!=null&&t.macroExpansion)return co(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,co);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(co(e.func))return!0;for(let i of e.args)if(co(i))return!0}return!1}function Js(e){var t,n,r;if(W(e))return xn(e,P.return)||xn(e,P.escape);if(S(e)){if(b(e,P.return)||b(e,P.escape))return!0;if((t=e.$)!=null&&t.macroExpansion)return Js(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,Js);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(Js(e.func))return!0;for(let i of e.args)if(Js(i))return!0}return!1}function Ar(e){var t,n,r,i,o,a,s;if(S(e)){if(((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_await")return!0;if((r=e.$)!=null&&r.macroExpansion)return Ar(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,Ar);if(((o=(i=e.func.$)==null?void 0:i.type)==null?void 0:o.ioBuiltin)==="io_async"||Kc(e)||G((a=e.func.$)==null?void 0:a.value)&&Q(e.func.$.value.value)||S(e.func)&&((s=e.func.$)==null?void 0:s.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(Ar(e.func))return!0;for(let l of e.args)if(Ar(l))return!0}return!1}function el(e){var t,n,r;if(W(e))return xn(e,P.break)||xn(e,P.return)||xn(e,P.escape);if(S(e)){if(b(e,P.return)||b(e,P.escape))return!0;if((t=e.$)!=null&&t.macroExpansion)return el(e.$.macroExpansion);if(b(e,P.cond)||b(e,P.match))return Xc(e,el);if(Kc(e)||S(e.func)&&((n=e.func.$)==null?void 0:n.value)!==void 0&&G(e.func.$.value)&&Q(e.func.$.value.value)||S(e.func)&&((r=e.func.$)==null?void 0:r.value)!==void 0&&G(e.func.$.value)&&pr(e.func.$.value.value))return!1;if(el(e.func))return!0;for(let i of e.args)if(el(i))return!0}return!1}var wa=K(()=>{Zt();ye();Le();Ce()});var pe,An=K(()=>{$t();gr();pe={tag:"Unit",type:Li()}});function cu(e){if(e&&e.tag==="FnCall"&&b(e,":=")){let t=e.args[0];if(t&&t.tag==="Atom"&&t.token.type==="identifier"&&t.$){let n=t.token.value,r=ae(t.$.env,n);if(r.length>0)return r[r.length-1].id}}}function Qc(e,t){var a;let n=[],r=new Map,i=new Map,o=new Map;if(So(e,n,r,i,o,t),(a=e.$)!=null&&a.deferredDropExpressions)for(let s of e.$.deferredDropExpressions)So(s,n,r,i,o,t);return n.length===0&&r.clear(),{suspensionPoints:n,capturedVariables:Array.from(r.values()),hasSuspensions:n.length>0,variableIdRemapping:o}}function So(e,t,n,r,i,o,a){var s,l;switch(e.tag){case"Atom":if(e.$&&e.token.type==="identifier"){let u=e.token.value,c=e.$.type,p=ae(e.$.env,u);if(p.length>0){let f=p[p.length-1];if(f&&!n.has(f.id)&&!f.isCompileTimeOnly){let d=`${f.name}:${f.frameLevel}`,_=r.get(d);if(_&&_!==f.id)i.set(f.id,_);else if(f.isOwningTheSameRcValueAs){let h=f.isOwningTheSameRcValueAs;if(!n.has(h.id)){let m={id:h.id,name:h.name,type:h.type,isOwningTheSameRcValueAs:void 0};n.set(h.id,m);let g=`${h.name}:${h.frameLevel}`;r.has(g)||r.set(g,h.id)}}else n.set(f.id,{id:f.id,name:u,type:c,isOwningTheSameRcValueAs:void 0}),r.has(d)||r.set(d,f.id)}}}break;case"FnCall":{if(b(e,P.while)){let u=t.length;So(e.func,t,n,r,i,o,e);for(let p of e.args)So(p,t,n,r,i,o,e);let c=t.length;if(c>u)for(let p=u;p<c;p++)t[p].isInsideWhile=!0,t[p].whileNestingDepth=(t[p].whileNestingDepth??0)+1,t[p].enclosingWhileExpr||(t[p].enclosingWhileExpr=e);break}if(b(e,P.cond)){Xm(e,t,n,r,i,o);break}if(b(e,P.match)){Xm(e,t,n,r,i,o);break}if(o.detect(e,a,t),o.shouldSkipBody(e)){if((s=e.$)!=null&&s.deferredDupExpressions)for(let u of e.$.deferredDupExpressions)So(u,t,n,r,i,o,e);break}So(e.func,t,n,r,i,o,e);for(let u of e.args)So(u,t,n,r,i,o,e);if((l=e.$)!=null&&l.deferredDropExpressions)for(let u of e.$.deferredDropExpressions)So(u,t,n,r,i,o,e);break}}}function Xm(e,t,n,r,i,o){if(e.tag!=="FnCall")return;let a=t.length;So(e.func,t,n,r,i,o,e);let s=new Map(r),l=[];for(let c of e.args){let p=t.length;So(c,t,n,r,i,o,e),l.push(t.slice(p))}r.clear();for(let[c,p]of s)r.set(c,p);let u=Math.max(...l.map(c=>c.length),0);if(u>0){t.splice(a);let c=a;for(let p=0;p<u;p++){let f;for(let d of l)if(p<d.length){f=d[p];break}f&&(f.index=t.length,f.isInsideCond=!0,p===0&&(f.needsOwnCondBranchField=!0),p>0&&(f.condBranchSourceIndex=c),t.push(f))}}}var Bf=K(()=>{ct();ye();qt()});function Qm(e){let n=Qc(e,{detect(i,o,a){var s;if(i.tag==="FnCall"&&Hr(i)){let l=i.args[0];if(!l)return;let u=(s=l.$)==null?void 0:s.type;if(u&&gt(u)){let c=Jn(u);if(!c)return;let p=c.isFuture.outputType,f;if(l.tag==="Atom"&&l.token.type==="identifier"&&l.$){let _=l.token.value,h=ae(l.$.env,_);if(h.length>0){let m=h[h.length-1];m.isOwningTheSameRcValueAs?f=m.isOwningTheSameRcValueAs.id:f=m.id}}let d=cu(o);a.push({index:a.length,expr:i,resultType:p,futureType:c,targetVariableId:d,futureVariableId:f})}}},shouldSkipBody(i){return nr(i)}}),r=n.capturedVariables.map(i=>({id:i.id,name:i.name,type:i.type,kind:"local",isOwningTheSameRcValueAs:void 0}));return{awaitPoints:n.suspensionPoints,capturedVariables:r,hasAwaits:n.hasSuspensions,variableIdRemapping:n.variableIdRemapping}}function nr(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_async"}function Hr(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_await"}function Zm(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_state"}function Zc(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="io_spawn"}function Jm(e){var t,n;return e.tag!=="FnCall"?!1:((n=(t=e.func.$)==null?void 0:t.type)==null?void 0:n.ioBuiltin)==="join_handle_await"}var xi=K(()=>{ct();ye();qt();Bf();Zt()});function Yt(e){return W(e)&&e.token.type==="identifier"||e.token.type==="operator"}function pu(e,t,n){var a;if(!((a=e.$)!=null&&a.variableName))return;let r=ae(t,e.$.variableName);if(!r.length)return;let i=r[r.length-1],o=new Set;for(;i&&i.isOwningTheSameRcValueAs;){if(o.has(i.id))return;o.add(i.id),i=i.isOwningTheSameRcValueAs}if(i&&i.isOwningTheRcValue)return i}function Fa(e){var r,i;let t=(r=e.$)==null?void 0:r.env;if(!t)return;let n;if((i=e.$)!=null&&i.pathCollection)for(let o of e.$.pathCollection)o.length>0&&typeof o[0]=="string"&&(n=o[0]);else W(e)&&(n=e.token.value);if(n){let o=ae(t,n),a=o[o.length-1];if(a!=null&&a.isImplicit)throw y({token:e.token,errorMessage:`Cannot use implicit variable "${a.name}" in assignment. Implicit variables must be passed via using() parameters.`})}}var ii=K(()=>{ct();Me();ye();qt()});function Gf({variablesToDrop:e,env:t,context:n}){let r=[],i=t;for(let o of e){let a=Xt(`${F.___drop[0]}(${o.name})`),s=R({expr:a,env:i,context:{...n,expectedType:{env:i,type:pe.type}}});r.push(s),s.$&&s.$.env&&(i=s.$.env)}return{deferredDropExpressions:r.length>0?r:void 0,env:i}}function fu(e,t,n){var s,l;if(S(e)&&nr(e))return;if((s=e.$)!=null&&s.deferredDupExpressions)for(let u of e.$.deferredDupExpressions)fu(u,t,n);if(S(e)&&S(e.func)&&b(e.func,".",2)&&W(e.func.args[0])&&W(e.func.args[1])&&e.func.args[1].token.value===F.___dup[0]&&e.args.length===0&&((l=e.$)!=null&&l.env)){let u=e.func.args[0].token.value,c=ae(e.$.env,u);if(c.length>0){let p=c[c.length-1];t.has(p.id)||t.set(p.id,[]),t.get(p.id).push(e)}return}if(S(e)&&b(e,P.while))return;function i(u){var c,p;if(an((c=u.$)==null?void 0:c.controlFlow))return!0;if(S(u)&&b(u,P.begin)){let f=u.args[u.args.length-1];if(an((p=f==null?void 0:f.$)==null?void 0:p.controlFlow)||S(f)&&b(f,P.return))return!0}return!!(S(u)&&b(u,P.return))}function o(u){if(S(u)&&b(u,P.tuple,0))return!0;if(S(u)&&b(u,P.begin)){if(u.args.length===0)return!0;if(u.args.length===1){let c=u.args[0];if(S(c)&&b(c,P.tuple,0))return!0}}return!1}function a(u,c){let p=[],f=[],d=[];for(let h=c;h<u.args.length;h++){let m=u.args[h];if(S(m)&&b(m,"=>",2)){let g=m.args[1],v=ey(g);p.push(v),f.push(i(g)),d.push(o(g))}}let _=new Set;for(let h of p){for(let m of h.dupCalls.keys())_.add(m);for(let m of h.varsWithPartialBranchDups)n.add(m)}if(p.length>0)for(let h of _){let m=[],g=[];for(let v=0;v<p.length;v++){let T=p[v],E=T.dupCalls.has(h),$=f[v];if(E){let k=T.dupCalls.get(h);$?m.push(...k):g.push(...k)}}for(let v of m)t.has(h)||t.set(h,[]),v.__isEarlyReturnDup=!0,t.get(h).push(v);if(g.length>0){let v=0,T=0;for(let E=0;E<p.length;E++)f[E]||(v++,p[E].dupCalls.has(h)&&T++);if(T===v){t.has(h)||t.set(h,[]);for(let E of g)t.get(h).push(E)}else n.add(h)}}}if(S(e)&&b(e,P.cond)){a(e,0);return}if(S(e)&&b(e,P.match)){e.args[0]&&fu(e.args[0],t,n),a(e,1);return}if(S(e)){fu(e.func,t,n);for(let u of e.args)fu(u,t,n)}}function ey(e){let t=new Map,n=new Set;return fu(e,t,n),{dupCalls:t,varsWithPartialBranchDups:n}}function ep(e){return S(e)&&b(e,P.tuple,0)}function Wf(e,t){var n;if((n=e.$)!=null&&n.deferredDupExpressions&&(e.$.deferredDupExpressions=e.$.deferredDupExpressions.filter(r=>!t.has(r)),e.$.deferredDupExpressions.length===0&&(e.$.deferredDupExpressions=void 0)),S(e)){Wf(e.func,t);for(let r of e.args)Wf(r,t)}}function Zw(e,t){var i,o,a,s,l,u;let n=new Set,r=e.args;for(let c=0;c<r.length;c++){let p=r[c];if(!S(p)||!b(p,P.while))continue;let f=p.args[p.args.length-1];if(!(!f||!S(f)||!b(f,P.begin)))for(let d of f.args){if(!S(d)||!b(d,P.match))continue;let _=d.args[0];if(!_||!W(_))continue;let h=_.token.value,m,g,v;for(let x=1;x<d.args.length;x++){let A=d.args[x];if(!S(A)||!b(A,"=>",2))continue;let N=A.args[1];if(!(!S(N)||!b(N,P.begin))){for(let V of N.args)if(S(V)&&b(V,"=",2)){let z=V.args[0];if(W(z)&&z.token.value===h){m=V.args[1],g=V,v=N;break}}if(m)break}}if(!m||!g||!v||!((i=m.$)!=null&&i.deferredDupExpressions)||m.$.deferredDupExpressions.length===0)continue;let T;for(let x=0;x<c;x++){let A=r[x];if(S(A)&&b(A,"=",2)){let N=A.args[0];if(W(N)&&N.token.value===h){T=A.args[1];break}if(S(N)&&N.args.length>0&&W(N.args[0])&&N.args[0].token.value===h){T=A.args[1];break}}}if(!T)continue;let E=(o=T.$)==null?void 0:o.variableName;if(!E||!((a=T.$)!=null&&a.env))continue;let $=ae(T.$.env,E);if($.length===0||$[$.length-1].isOwningTheRcValue||!((s=T.$)!=null&&s.deferredDupExpressions)||T.$.deferredDupExpressions.length===0)continue;let C=!1;for(let x=c+1;x<r.length;x++)if(qf(r[x],h)){C=!0;break}if(C)continue;T.$.deferredDupExpressions=void 0,m.$.deferredDupExpressions=void 0;let w=(l=g.$)==null?void 0:l.variableName;w&&((u=v.$)!=null&&u.deferredDropExpressions)&&(v.$.deferredDropExpressions=v.$.deferredDropExpressions.filter(x=>Jw(x)!==w),v.$.deferredDropExpressions.length===0&&(v.$.deferredDropExpressions=void 0)),g.$&&(g.$.variableName=void 0);let L=ae(t,h);if(L.length>0){let x=L[L.length-1];t=Ot(t,x,{...x,consumedAtToken:x.token})}n.add(h)}}return{optimizedVarNames:n,env:t}}function Jw(e){if(S(e)&&e.args.length===0&&S(e.func)&&b(e.func,".",2)&&W(e.func.args[1])&&e.func.args[1].token.value===F.___drop[0]&&W(e.func.args[0]))return e.func.args[0].token.value;if(S(e)&&b(e,F.___drop)&&e.args.length>=1&&W(e.args[0]))return e.args[0].token.value}function qf(e,t){if(W(e)&&e.token.value===t)return!0;if(S(e)){if(qf(e.func,t))return!0;for(let n of e.args)if(qf(n,t))return!0}return!1}function Sn({expr:e,env:t,context:n,variablesToAdd:r=[],isEvaluatingFunctionBodyBeginBlock:i=!1}){var k,C,w,L,x,A,N,V,z;if(S(e)&&b(e,"_")&&!b(e,P.begin)){let O=e;O.args.some(Y=>S(Y)&&b(Y,":"))||(O.func={...O.func,token:{...O.func.token,value:P.begin[0]}})}if(!S(e)||!b(e,P.begin)){let O={tag:"FnCall",func:{tag:"Atom",token:{...e.token,value:P.begin[0]}},args:[Et(e)],token:{...e.token,value:P.begin[0]}};xo(e,O),e=e}let o=e.args,a=n.expectedType;if(o.length===0)return e.$={env:t,type:pe.type,value:pe,pathCollection:[]},e;t=vt(t,void 0,!0);for(let O=0;O<r.length;O++){let M=r[O],{env:Y}=Pe({env:t,variable:M});t=Y}let s=o[o.length-1],l,u=!1;for(let O=0;O<o.length;O++){let M=o[O];if(W(M)&&xn(M,P.return)||S(M)&&b(M,P.return)){if(O!==o.length-1&&!(O===o.length-2&&ep(o[o.length-1])))throw y({token:M.token,errorMessage:'The "return" keyword can only be used as the last expression.'});if(S(M)&&Ze(M,P.return,1),!n.isEvaluatingFunctionBodyOrAsyncBlock)throw y({token:M.token,errorMessage:'The "return" keyword can only be used inside a function body or async block.'});if(l=M,W(M)){M.$={env:t,type:pe.type,value:pe,pathCollection:[],controlFlow:ka("return")},s=M;break}else{Ze(M,P.return,1);let Y=M.args[0],B=R({expr:Y,env:t,context:{...n,expectedType:n.isEvaluatingFunctionBodyOrAsyncBlock.kind==="function-body"?{type:n.isEvaluatingFunctionBodyOrAsyncBlock.type.return.type,env:t}:n.expectedType}});if(!B.$)throw y({token:Y.token,errorMessage:`Return expression is not evaluated correctly:
158
158
  ${I(Y)}`});if(((k=n.isEvaluatingFunctionBodyOrAsyncBlock)==null?void 0:k.kind)==="function-body"&&U(n.isEvaluatingFunctionBodyOrAsyncBlock.type.return.type)&&n.functionReturnImplConcreteType){let q=B.$.type;if(n.functionReturnImplConcreteType.length>0){let J=n.functionReturnImplConcreteType[0];if(!ce({type:J.concreteType,env:J.env},{type:q,env:t}))throw gn([{token:M.token,errorMessage:`All return statements must return the same concrete type for Impl(...).
159
159
  Impl(...) uses static dispatch and requires the same concrete type across all returns.
160
160
  Consider using Dyn(...) for dynamic dispatch if different concrete types are needed.`},{token:J.token,errorMessage:`First return has concrete type: ${D(J.concreteType)}`},{token:M.token,errorMessage:`Conflicting return has concrete type: ${D(q)}`}])}else n.functionReturnImplConcreteType.push({concreteType:q,env:t,token:M.token})}Gt(B,!0),t=B.$.env,M.$={env:t,type:B.$.type,value:B.$.value,pathCollection:B.$.pathCollection,variableName:B.$.variableName,controlFlow:ka("return")},s=M;break}}else if(W(M)&&xn(M,P.break)){if(O!==o.length-1&&!(O===o.length-2&&ep(o[o.length-1])))throw y({token:M.token,errorMessage:'The "break" keyword can only be used as the last expression.'});if(!n.isEvaluatingLoopBody)throw y({token:M.token,errorMessage:'The "break" keyword can only be used inside a loop.'});M.$={env:t,type:pe.type,value:pe,pathCollection:[],controlFlow:ka("break")},s=M;break}else if(W(M)&&xn(M,P.continue)){if(O!==o.length-1&&!(O===o.length-2&&ep(o[o.length-1])))throw y({token:M.token,errorMessage:'The "continue" keyword can only be used as the last expression.'});if(!n.isEvaluatingLoopBody)throw y({token:M.token,errorMessage:'The "continue" keyword can only be used inside a loop.'});M.$={env:t,type:pe.type,value:pe,pathCollection:[],controlFlow:ka("continue")},s=M;break}else if(S(M)&&b(M,P.escape)){if(O!==o.length-1&&!(O===o.length-2&&ep(o[o.length-1])))throw y({token:M.token,errorMessage:'The "escape" keyword can only be used as the last expression.'});if(!n.enclosingFunctionReturnType)throw y({token:M.token,errorMessage:'The "escape" keyword can only be used inside a function that has an enclosing function.'});l=M,Ze(M,P.escape,1);let Y=M.args[0],B=R({expr:Y,env:t,context:{...n,expectedType:{type:n.enclosingFunctionReturnType,env:t}}});if(!B.$)throw y({token:Y.token,errorMessage:`Escape expression is not evaluated correctly: