ELF>@`@8@@@@ ;;``MM;;@@Rtd;;``Qtd )=ERaw ;6M(HMl]  r  M M  ^,20N:yj՗j   jl_f_sizeofjl_libjulia_internal_handleijl_load_and_lookupmemmoveijl_box_charijl_type_errorjl_undefref_exceptionijl_throwjl_nothingijl_bounds_error_intsjl_f__call_latestijl_gc_pool_allocjulia__gnu_h2f_ieeejulia__gnu_f2h_ieeejulia__truncdfhf2jl_RTLD_DEFAULT_handle_pointerjl_RTLD_DEFAULT_handlejl_image_pointersjl_system_image_datajl_system_image_sizelibjulia.so.1.10JL_LIBJULIA_1.10libjulia-internal.so.1.10M0*MM MP (M 0M 8Mp @M HM PM `MphMxpMMxMMMM`MMM <<< ;H P X ` h p x      ijl_alloc_stringiftypeassertijl_alloc_array_1d  !"#$%&'()*+,-./012345 0@ 0 6P0H8((XP`hp@0X@H 8`xxph v) _@: Aa ! 0genericlzRx ,`AC M A ,L AC I A $|<AC Ct AC $<AC Ct ,AC K9 A $@NAC CF DhCAC ~ $d<AC Ct AC O $AC I $8KBAA BAB` AKX AK,P AKDH AK\@ AKUHAWAVAUATSHhW)E)EHxHHHudH %HHEHHMHMHHHHIH مHMHE]HD(H_HELaA1H}E1fffff.HHHDm$<uK ɸffffff.Hwnfffff.#HBHH=t;H9EtjHp2HHU1Hu HHuHIM9uAHfIM9t-JTIHBHH=ÀˀHBIM9uM,]H Hu"H5H}{ HHL1IąLELUIDHHEIAA1H}LUDMHHHDMЉ€=HƉff.HɁwfCD,AH:CT, AH HCD, I ffff.<|HCHH=tuH9EHpLeH]1Hu,HHIHK<,HH)M?LELUDMH}CD,AsH9Et,L;HK<,HHLH}DMLULEAL{M"HHKH4HK<,HLLELUDMH}DM9t#MK\IHCHH= 8HEHMHLHh[A\A]A^A_]E1H HHu L5u*9!HL5<u-9 H!L5LuH='LL5LeLuH= LHH=H]LmHH=H]LeLmLH=LmLfUHAWAVSH8W)E)EHEIEHEHEIEIEH@HHLxMtzHHHIH=H HEHMHEHuHEH HH=H'H]LHEعHHLH=1'HMIMH8[A^A_]HvH8fffff.UHAUSHHHtdH %L, IH;[A]]@UHH0W)EHEHEIEHEHEIEIEH@HHHxuHH8 HHHuHH8H=H HEHMHEHuк;HEHH5HxHHuH=ffff.UHAUSHHHtdH %L, IH;[A]]@UHAWAVATSH@W)EHEHEIEHEHEIEIEH@HHH}HHH0L"HAI;D$I$HDHH=H L5HEHMHMHEHuH} HEHMAH}HHAI9\$v^AI$HHt\HHEHMHMHEH}HuHEHAH}HJII;\$rHEIEHHe[A\A^A_]HH8HH)H9}H4$HH9|HHH}ffffff.UHAUSHHHtdH %L, IH;HsHSHCHH[A]]fUHH IEH@HH^H _HEHMH}Hu1CH ]ffff.UHAUSHHOHtdH %L, $IH;y[A]]@UHHIMHIH ]fff.UHAVAUSH(HIHEW)@)HHtdH %L, IHEIEHEHEIEHsLvIHdLuH]I}QHXL0HMIMH([A]A^]AVSPIHHHuH5HHH"HLH[A^DPfXPfXPfXPfXPfX5b%d@%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%h P%h @% h 0r o  0  D ohoo$o 6jli  Linuxx86_641.10.3v1.10.30b4590a5507d3f3046e5bafc007cacbbfc9b310blCoremуJ5Basemу]J5MainmуJ5ArgToolsBń x(mуF K5 Artifactsmr-V3|mу K5Base64UlD*_mу> K5CRC32c\y.jmуj K5 FileWatchingXzsy`{,zmуh& K5LibdluVW59˗,mу-" K5LoggingT{VhUXM=mуrU" K5MmapP~:xg,Omу|' K5NetworkOptionsC0YW,mуʠ, K5SHAQ<$!<%mу1 K5 Serialization [)*k1mу-G K5Sockets1V$ bdސݗmуYBY K5UnicodeP>I>Nrmуeszo K5 LinearAlgebraSm7̏mуuux K5 OpenBLAS_jll[(Śb6EcQ FmуDux K5libblastrampoline_jllLSۆ }lxӠmу^} K5MarkdownZPn7z`smу/Ed~ K5Printfg^cX׸QDmу;h K5Random_ɢ?\Ymу? K5TarOi>աmу!t, K5DatesEY8pj2 mуX K5FuturebS;3{I xVMmуsD K5InteractiveUtilsWL ~@'ZmуVg K5LibGit2Z[&RPTv3EКRmу8J K5 LibGit2_jll YXg}]$mуD K5 MbedTLS_jllAX 3ȡ_mу- K5 LibSSH2_jlloTZk)߆P# #j&>$V+ڸ(`(0(^V]psk*p~-@@B, ", @M T`P D pk* ;5 Q5 ?` rg50 >  p' jn'p ?@ > S+ .E2 3 'P 2 3 "g r e#` (R50 R5 Q5"8ހ#px@/y8c6hOz              " $ , 0 2 4 8 : < @ D  J L N P R  X \ ^ ` b d f j n p r t v x z |                                                     " & ( * . 0 4 6 8 < > @ B D v@Af.  F d_ vC#@Йd. J gr,N \j`!`" sd`@!   P@P@`f.Q ^+!v&@`!@ N`!``!`f Z ! @V  0!``"gf.!!B z`.`!p#@#!lm<ˀ5Justice!Climate Pk$!].Dj /и@P`p Ш0@660655@54P110`00,0)%P"@0 p  P`p@P@P@P00P`p@0`@P@`Х0@P`pВ0p`p~`zzypyupu upo opk k0gfPb^p^ ^]ZY`YYpU UPP@PL@LKKPK0GFB>@>955051-0-,P))@%!!P@`P@   P pp0Э0@p`@p Љ`bbVPSOpLIE B>@;7707P--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0-!`---P-.!`P--- |j-`!-`.^"J`.@!@p0@/N`!`Jp0   0/@  @0 ` ```f.00z`-40.01 1 Mj0 `!01h.b `2@!@3@P2N `!`J3*  P3 3@  3` ``f.33 `0.7 46@46`406454lM!&7P54ʇ.05kl[!606f.55sa5&6p.6C!&7 `Z! P6f.66:@=N`!`P>V J >=@F  0>``f.>> `;.?>>.!`>P?@?Y {j?`!??-尒=` @@!@A@p@N`!`Al ` pA@A@\  A``f.BBhή`?.pBPB B.!` BBBo }'jpB`!pB0CEn`C@!@0E@CN`!`0E v DD@r  E``f.pEpE_r `pB.EEE.!`E0F F ^]jE`!EFps%8`G@!@H@PGN`!`H  PH H@  H``f.HHV`E.PI0II.!`III xΪjPI`!PIJ1nsC`pJ@!@L@JN`!`L  KK@  K ``f.PLPLUL`PI.LLpL.!!`pLMM z-jL!`!LMuz.%"`M@!@O@0NN"`!`O  0OO@  `O#`"`f.OOUG`L.0PPO.!$`OPpP [j0P$`!0PP4qe%`PQ@!@R@QN%`!`R  RpR@  R&`%`f.0S0Sx{@`0P.SSPS.!'`PSSS D2pjS'`!S`T|&f0'(`T@!@`V@UN(`!``V  VU@  @V)`(`f.VV=0`S.WVV.!*`V`WPW jW*`!WW0g~ v+`0X@!@Y@XN+`!` Y   YPY@  Y `+``f.ZZ`W......`Z.Z`Za.[ t'0rddd@[ddzpaPa[  Wjr[V4``[# }r 0\2&`p\( db\@ _.\+ ^Wr\_]^.]P]w!p]&f.]]sa]&__,`!^\^Nv^6 .^ޤ\`\-```Z! ..`!_\_NvzH._&z`\/`0`6p`P`"`\@+.`)`\@\p.0a``\\m.a`op c?`op`p0p. c7`0pȶ[Pusp,q@@@@`A`B`C`B`D`B`B`E`F`G`H`I`J`K`B`L`M`N`O`E`O`P`Q`,@s@@@R`S`T`U`V`W`K`X`F`Y`Z`[`\`]`M`^`_```a`L`b`c`d`e`  @@@uuu. cf`u vv ]juf` cuv%S5 ,g`v@ cxx@@wNg` c6`x  @xx@  px1`6`f.xx`u.@z@@yNg` c6`z  @zz@  pz1`6`f.zzڬ|`u.v0{{. cg`{{{P{. ch`P{{{ #}j{h` c{`|^\֟Bi`|@ c@`~@}Ni` c6``~  ~}@  @~i`1`6`f.~~$r`{.{~~. ci`~ c@. c1`!j``.!k`P@ Cjk`!9g몱l` @!p@pNl`!m`  p@@   n`o`l`p`q`r` s` t`m`f.@@ Wvp@Nl`!m`  @  l`m`f.PP * v@Nl`!m`.  @  l`m`f.PP$M`.@ @ЇNl`!m`.   Ј@   l`m`f.``v `.@.!l`!u`ЉpP .!v`  ]jpv`!p0Jo"=zn`@!P@Nn`!m` PN & @"  p`q`w`o`u`n`m`f.Q :nvp@P@Nn`!m` Pl Z Ў@V  0n`m`f.*A`p..!n`P0.!x`p L.jPx`!P81:t!y`p@! P@Ny`!z`RP x @t  ;`@{`y`|`}`~`z`D`f. qvvP . شǑr &X &X`!Nv[yfЮ.Д5<`}``~``@@pNy`!z`>r  p@@   ;`t``` p`q`o`y```z`f.PPv <>xvPp.!y`p.!``Pz Sj`!И +Asx`0@!@@@N`!z`"@   P@~  t``}```~````o`0``z`D`f.q &`.. <ͳj`!{pH|`@!@@0N`!z`"*  0@  ```z`f.Jpx`.P .!`p@.!`@.!`0.!`p- <j0`!0jrr`P@!@@N`!z`D 4 p@0  Т```z`f.@@Њx`0.`.!``.!`P@G uj`!I(C` @!@@pN`!`g~ ^ p@@J  ``/```N ``f.00Z`P.@p.!`pX!``@.!` Dj``!` mfgm8`@!@@@ЩN`!`@  Ъ@  ``````f.O*.``.Ы!` !`p!`@!`!``!`0.!` Э.!`Эp` <j `! L߸O( `@@!@б@N `!`б  `@  ```o`hg`g``g ``` `.g````;`` ``D)`D`f.` .`0.!`0в j`!@J`@!@`@N`!`x`  @  `)`````f. v. ױrddp@pV4$ g}r 0\ж&0) #e b@6p(rHm`@+.з3=`@\p.P(]`\z , b>rиV4/ jh3Nr `2&4 CNb\@6 l`\@+.`R`\@\p.V<]I`\\m.`q%`\`!PNvv%T.0Yצ`)`````.!`0.!`p7 j0`!0`P@!P@N`!`qL > p@:  п```f.00P o>u'v0&p@N`!`f X p@T  t``o`````f.PP >^v0@@N`!`r @  ``f.PP/r`0.pp.!`p!``@.!` aj``!` g y`@!@0@N`!`T0 @  t````f.ppW"``..!`0 iY4j`!f2ISeN`@!@PN`!`d P @  ``f. {* v&@p@PN`!`Lp>  P @  t``o```````o`hg`g``g ``` ``.g`D`f.M ͊v .!`@^h֢!`! 0v׹i[4`@!@@@N`!`@f V @R  ````f. *` .``Z! .0.!`P}$%!`!0@5fFE>`@!@P@N`!`P n @j  `````f.g`0.``Z! .@ .!``d!`!@P`@!@`@N`!`` @  0````f.x`@.``Z! .P0.!` EhjP`!P SXr`p@! @@N`!`@ @  ,````````f. Qo+vP& . ԥ7rddd`!NvfY- ?E.Mt`````@@pN`!` p@@  ,````f. vPP@N`!`w  `@  ,``t`o``p`q``````|``````-``````````D`D`f.  dzvP@@N`!`  p@  ,````f.@@.`P.p.!`p Mj`!E%2Y`@!@0N`!`i  0@  `p`q`o```D`f. bv@@`N`!`p  `0@  ``f.ʋq`.`@.!`_,Y!`!`pS1g`@!@@ N`!`d  @   P````f.2p(``.``Z! .pP .!` ! 7|SCjp`!p0A.S`@!0@N`!`g04 ( @$  ```f.pp k)`p..@p@N`!`_pl > @:   t``o```````f.ŋ`p.0.!`pq _Jrj0`!0EAa`P@!@@N`!`[ x p@t  ```f.00E`0p.. EFjp`!p0ھH"`@!0@N`!`[0  @  ```f.pp `p..@@@N`!`7@  @  ```f.#*l`p.p.!`0!`!`P.!`0p^b!`! D+77/>`@!@P@N`!`XP  @  @`````D`f.L%61`.```Z! .`Z! .`@.!` PУj``!` O}? "`@!@ @N`!`E   @  ```f.``B``..!`   JiBj`! I?R> Mv0:p:p>@>.!`@>>>>.! `>B??`?@?8!BB `!`B>?ET `P@@!@B@@N `!`~B  ApA@  A ``` ``f.@B@Bsq`>.``Z! .BBB.! `B@C0C .jB `!BCd۬`D@!@pF@`DN`!`ypFN  `E0E@  E`o` `````o`hg`g``g ```  `F`.g``D`f.FF^ k5vB0CGF.!`FG`G0G.!`0GGGb wjG`!G@Hɬ|8`H@!@J@HN`!`eJ\ z II@f  J`o`t````o`hg`g``gp `j .g````f. K Km 8MvGGKPK.!`PKKi!`K L!Q`KpL!`@LLLL.!`L0M Mq ~jL`!LMDKa4`N@!@O@PNN`!`IO x PO O@t  O`o``|`)````f.PP AvL MpP@P.!`@P PP.!`P0QQP.!`PQpQ j0Q`!0QQiȸ|s`PR@!@T@RN`!`T  SpS@  S`o````,`t``-````)`T`|```.` ````D`f.TT #hev0QpQPU U.!` UUUpU.!!`pUVV jU!`!UV!y"`V@!@X@0WN"`!`X  0XX@  `Xo``#`$`"``f.XX +ݘvUV@YY.!"`YY!%``YY!3`YPZ0ZZ.!&`ZZZ" KjPZ&`!PZ[nRte$`p[@!@`]@[N$`!``] * \\@&  \  o```````/```$``f.]] i6vPZZ^].!$`]P^!'` ^^!I`p^_^^.!(`^`_P_ Gn@j_(`!__`)`0`@!@a@`N)`!`a  aPa@  ap`q`o`*`)``f.0b0bMʹ`_.bbPb.!+`Pbbb TϬ jb+`!b`cf1,`c@!@pf@dN,`!`pf  ed@  @e`o`-``,`.``f`|`@f-`0f*`p`q`r`;` ff(``,``X/`0`D`D1`X2`1`D`f.ff X*vbbgf.!,`fg`g0g.!3`0ggg Iqjg3`!g@hr䛥.`h@!@j@hN.`!`j`  ii@  j  `-``d`;`,`jj.``X)``D`f.jjurx`g\gPk k.!.` kkkpk.!4`pkllf fjk4`!klm5`l@!@n@0mN5`!`n n 0nn@j  `n;`,`6`n`5``D`f.nn c}~vklPo o.!5` ooopo.!7`popp }jo7`!opiHOZn6`p@!rr@0qN6`!`r  0rr@  `r6``f.rr[`o..@t@@sN6`!`t  @tt@  ptp`q`r`o``6``f.ttT`o.pPu u.!6` uu!8`puvuu.!9`u`vPv *jv9`!vvWE(:`0w@!@y@wN:`!`y$  xPx@  xx8``o``:``D;`f.@y@y( ^]]vvPvypy.!:`pyy!<`y@z!`zzz`z.!=``zP~zP{0{{BTp!P~P~=`!0~z{ВV"b>` |@!@}@p|N>`!`}@ 0 p}@}@,  }``>``f.~~Ӏ`z.``Z! .~~p~.!?`p~C E%j~?`!~_yɠ.@`@!@@0N@`!`j J 0@F  `o``=```@``f.o _v~@.!@`!``.!A` `Ň!A`!?:0B`p@!@ @NB`!`  x @t  C``B``f.``d `.C`C`Z! ..!D``P R%jD`!Ї,ln<`0@!@@N`!`  P@  ```A`o````f.@@ `qvPp.!`p !E``@.!F` h]j`F`!` apG`@!@ @ЌNG`!`   Ѝ@  |`G``f.``B?``.6= 5yjH`!`V`@!@p@N`!`p,  @  @`G```f.u`6=.!G``0.!H`0.!` В.!I`Вp`/ -j I`! yG6J`@@!@@NJ`!`f 6 `@2  t`o`K``J``f.@@m sv `p.!J`p!L`@!M``.!N``q ߚjN`!p7jx@O`И@!@@ NO`!`w x @t  Pt`L`o``O``f.КК I%v0.!O`!P`PЛ!Q` !`p!L`@.!R``@r")!R`!pT@ڶS`P@!@@NS`!`q  p@  П-``T`U`S``f.PP`.T`T`Z! ..!V`P@ 2jV`!ɪnW` @!@p@pNW`!`Sp  p@@  ```o``t```,`-`|``X````)``R`Q`Y`W``D`f. wv@.!W``!Z`0![` Х.!\`Хp` "*j \`! #iک`@@!@@N`!`Q   `@  [` ``f.@@0  }}?^n ``.!``.!]`P@ dj]`!iX4G<(` @!@@pN`!`O  p@@  o`t`````f.   c%v@p@.!`@.!^`0  x|/j^`!߭{fZ`@!@@PN`!`@<"  P @  666`t`W``O`_`J```;`a```@`b`:`r`5`,`p`q```o````#`$`c`"````d``e`` `````````````` ``f.D" C4v@N`!`A" L" г@H"  0``d`;`p``D)`f." 'v&@@@N`!`7" " @@"  p```f.жж`. 0.!`` !f`Pз!g` !F`p@.!h`@и" ^!jh`!PVߨ*ei`@!@`@Ni`!`)`" " к@"  0j`g`i``f." ~v&и.!i`@!k``.!l``" LU78jl`!pW̡Wm`н@!@@ Nm`!` # " @"  P,`-`m``f.DV`\.!m``!n`0.!o` # jo`!Td#"`@!@@@N`!` ^# $# @@ #  p``f.c# )v& !p`p@.!q`@g# QQjq`!P흑)`@!@P@N`!`P# n# @j#  0``f.# R'v&.!r`P@# jr`!^BEzn-` @!0@pN-`!`# # p@@#  t``-`o``f.# g^v0@N-`!`# # P@#  -``f.H3:`.@@N-`!`# # P@#  -``f.`0*P*&@p.!-`p.!`@.!`!``V!s`0* !*`P.!t`P# jt`!`+#dt:`@!@N`!`$ # @#  @,``````f. $ ihv&@0N`!`@$ ($ 0@$$  `,`/```f.D$ v@@N`!`d$ L$ @@H$  p,```f.h$ gv0@@N`!`$ p$ @@l$  p  ,`t``{``u`o``D`f.$ Wkذv0@N`!`$ $ P@$  ,```f.?1`.@@N`!`$ $ P@$  ``f.=d`\`0.!`0!v` .!w`p`$ ºj w`!  LHVu`@@!@@Nu`!`$ $ `@$  u``f.  ` \@@Nu`!`:% % `@$  u`-``$ ,``f.@@n` \p\`.!u`!x``0.!`0!y` .!z`p`>% Tuj z`! [A0[k`@@!@@N`!`R% F% `@B%  ``f.  U% I=v &P@N`!`z% ^% `@Z%  `o```f.00}% v 0@N`!`0% % p@%    `t``% o````|```f.pp& v @@@N`!`@$& & @&  ```f.^(` &.`.!`0!{`!|`P!}` !c`p@.!~`@(& U,j~`!PQKe]Y`@!@P@NY`!`P@& 0& @,&  0Y``f.C& n'ϱv&d!`0.!Y`!E`P!{` !`p!p`@z2!`0.!`pG& v֎j0`!0h 嵢p `P@!P@N`!`^& N& p@J&  Y```f.00a& v0&P@N`!`' |& p@f&  t`o`p`q```{``|`````o`hg`g``gr& ```j& `.g`D`D`f.00' v0@@N`!`' ' p@'  ``f.00j`0.pP.!`P!:` !`p@.!`@' {)cj`!PLv^X`@!@@NX`!`) ( @(  0;` `t``o`o`hg`g``g ( ```( `.gX``D`f.@@,y`.p.!X`pi!`@!M`!``!U`0!d`P.!`P#) 墂%j`!``vƜ߂ `@!  @ N `!`~ d) *)   @&)  @ ``d``U`` ``f.  i) pċv&@ @P N `!` ) r) P  @n)  -`` ``f.  $`\P  .! `  p .!`p   .!_` ,@```````````````` .!`,P````````````````!``0.!`0) kUj`!@V){ix`@!@@@N`!`n@) ) @)  ```f.d`..!`@0) [}j`!=% >`@!@@`N`!`m) ) `0@)  ```f.ҳ`.`@.!`) j``!` `yŪs`@!@ @N`!`l * ) @)  ```f.``Ѡ```..!` * 5 vj`!9fXƛ`@!@@@N`!`k* * @@*  p```f.n^`. !`p!`@!`0.!`p* ]oMj0`!0bJ`P @!@!@ N`!`^!2* $* !p!@ *  !```f.0"0"& p`0.""P".!`P"""5* j"`!"`#/ W90k`#@!@`%@$N`!`]`%J* <* %$@8*  @%```f.%%Ƨ`".&%%.!`%`&P&M* 8 Dj&`!&&R>c`0'@!@(@'N`!`\(b* T* (P(@P*  (```f.))]p`&.)`)0).!`0)))e* j)`!)@**#8iN`*@!@@,@*N`!`[@,z* l* ++@h*  ,```f.,,$`).,,,.!`,@-0-}* 3j,`!,-J$`.@!@/@`.N`!`Z/* * `/0/@*  /)```f.//lh`,.@0!`00!9``00!`0011.!`111P1.!`P111* _ j1`!1`20qP` `2@!@`4@3N`!`0`4* * 43@*  @4```f.443f`1.....1 54.!`4p5!?`@55PJ!;`56!`5`6!`066!2`6 776.!`6.@7 p7@@@ЦpP0ЕpЌpPypyPs0sonhh0dd_p_ZZVVRQIHBB >>97=9.9 9  `=;J7@=@ ;3=P<p; ;`=!* 0<* 2!`,<````` * * f.==* )H!]v7=`=2!`7`B@>.`> >  B?J7A@?3A@@ @@B!@@* 2!m`, A````` * * f.@B@B/`\7BB2!m`7HB.C 0C  Z! @DJ7H@`D3PHGD DZ! !:@pG+ pE3@GFE E,F + 2!`,G`````` + + 7HZ! 2!`7Q I.@I pI  @QNZ! JJ7N@J3NMJ KZ! !@M0+ K3MLL 0L,L ,+ 2! `,N`````` :+ >+ J7 Q@O3P0PPO O@Q!"@P*, 2! `,`P````` 4, 8, f.QQl, zv7QZ! @Q2! `7PV0R.PR R  USJ7U@S3UTT 0TU!#@Tp, 2!`,U````` z, ~, f.0V0V+0`.7VU2!`7ZV.V W  P0XJ7pZ@PX3@ZYX XP!9@`Y, 2!y`,Y````` , , 7ZP2!y`70_[.0[ `[  ^p\J7^@\3^]\ ]^!, ], 2! `,]````` , , f.__]2`.7`_^2! `7c_._ `  pcaJ7Pc@0a3 c`ba apc!, @b, 2!`,b````` , , f.cc_Kp`.7dpc2!`7phPd.pd d  heJ7g@e3gg f Pfh!- f- 2!`,0g````` - - f.PhPh_Kp`.7hh2!`7nh.i @i  Z! PjJ7n@pj3`nmj jZ! !$@m"- k3Pmlk l,l - 2!.`,m`````` ,- 0- 7nZ! 2!.`7r0o.Po o  DpJ7r@p3rqq 0qD!@qf- 2!`,r````` p- t- 7 sD2!`70yps.s s  Z! tJ7y@t3x x@u puZ! !@x~- v3wwPv v,@w z- 2!`,Px`````` - - 7`yZ! 2!`7py.y z  Z! {J7P@0{3 `~{ {Z! !1@@~- @|3~P}| |,} - 2!`,~`````` - - 7Z! 2!`7. @  PJ7@p3` !@- 2!`,Ђ````` - - f.f`6=7@2!`7P.   PJ70@3@` P!- - 2!`,p````` - . 7P2!`7Ј.   P0J7p@P3@ ЊP!@`/ 2!n`,````` / / 7P2!n`70.0 `  АpJ7@3 А!@/ 2!`,````` 0 0 f.]2`.7`А2!`7p.Б   DJ7P@03 ` D! @@0 2!`,````` (0 ,0 7D2!`7. @  PPJ7@p3` P!K@40 2!`,И````` >0 B0 7P2!`70.P   `=J7Н@3 0`=!@V0 2!`,````` `0 d0 7 `=2!`70p.   PПJ7@3 @ pP!@j0 2!`,P````` t0 x0 7`P2!`7.Т   pJ7P@03 ` p!@@0 2!l`,````` 0 0 *P 7p2!l` jc!`p< !`@F !`!``!`0\ !`2!>`ШP5!`  !O`pLi!|`@l!`p`.!``\.!.`\0.!,`P.!`PZЫ.! ` 1 .! ``p@.! `@.!f`0 0 Xjf`!z@b7hg``@! 0  @@@vP4.0 @Ng`!`0 0 P @0  ``f./9`.f.@@0 KFFv@P@P@Ng`!`P0 0 г@0  0``f."`. .!g``@.!h`0 FQj`h`!` Af.00D1 GvD @:^H1 v`f.  K1 cv#@P1 v.af.[1 l'ːv;@ jjj8c6 &g p U`% hE6E`r pp` I4tU`0- .D-`" h0P$`b& %HU&`k. j.0i.`:` FJ0f`U ##"&`"4 f##'5`r0 `'5h {4`S Mz-5.`6' [1T7(c`c ƴ777`!g ?h\>l7`%g \>1pM`.SF .n11`% rl%11`"g xP'PP3`.E2 x'p''`? S+>>` > *?[@ 7`,L. rDz P-`6 #.<`J Bz}H}H`-z j?(Ur-`pFJ R  `7 7~gzZ>`Dg .[>l*@`* *M.F`F I-\:`1`X}% l%B11`I- I-\P-9``# k*J8Q#` Y8 $V+j&>hJ`|>> ڸ(((`^V] pst`4````pk* D~-B,`@ \? a",`@M T``4``^`TF`F7 {rg5g`nf >>?;5`Q5 DzPg5 `f '?jn'`X' bJ3rT`3 2jE4gU`rz e#ހ#(R5`R5 Q5"8x`/y ڎĜ`hOz 2z z PGz  v  Px Tx ڡ8 U5 P^VA U5 x# Z# P$z hT ֫3 :2 P3 hT ֫3 J P' ' j? v' P4e 6 g5 D7z PD5 D5  f7Q D\* P"> .` S- M- P@A? b1 D! HU% P|% l! .` nH P2G 1 M {1 Pw1 ? * C> Pf C> f 7 P7 ֝  D PDJ P9' JU D[ Pz bH H D7z PԖJ <  . @bH P*6  Q- ? ֻ PNM. EH ? \> P> > > U+ P? v' ' ' P:2 3 P I Pg 1 D! HU% Pƅ% 1 l! ~. PQF M 1 C> Pf \7 C> ? Pf 7 7 EH Plc Zj Z7 <1 P - z<. 8' ? PS <4  { .'5 P" S] >" 4e P4 @A "0 A 2G 1 P% U ~d 4ev4epf._1 ev e@& g PZn y ب^  ^P ~d ` .aP 4e  @  "gp! "g! 0 ! "g! "g! @ `   00   40 @d1 @vy  ,f.  <dޙd,4  p1 @*,4p|1 A A @*Hd4p1 A A @*Hd4&2   @4[c2 @4[c2 @4P,3 @4p,3 @4p,4 @ '''][ZPXVT@RPNLK@IpGEC@B@><p:7`5 3`1`/p-p+p)'%$" @` N|`!`b@4 4 @4  0`|``D`f.|`0f. 6`\f.pp 6`\N|`!`j@B5 4 `@4    ``0```|``````D`f. KD`N|`!`Y5 L5 @H5  `)``|``````````D`f.q_`N|`!`.6 5 @5  P|`)`'`&`$`#`!` ```````f.pꨒ`Z@ZN|`!`G6 86 `0@46  |``f.L̶`@ @N`!`f6 6 @@6  p```````f.6 *lvN`!`U!7 6 ! @6  P!  )`````````f.!!7 $(IlvN`!`Cp#"7 7 #"@7  @#|`.````f.##`@#@N`!`-`%B7 *7 %$@&7  0%/`0``.``f.%%E7 m& v{\NO`!`, 'f7 N7 &&@J7  '/`0``f.`'`'i7 *vg\\NO`!`r)7 r7 (`(@n7  ()``````f.@)@)7 9svgN`!`7*7 7 p*@*@7  *```*```D`f.0+0+t`qjLp.N`!`[,8 7 p,@,@7  ,```,```D`f.0-0-.r`qjLp..N`!z`".N8 (8 p.@.@$8  .`.``z`D`f. / /|`qjL.N`!`08 X8 `000@T8  0``0G```D`f. 1 1`qjL6=N `!`J28 8 `202@8  2` ``f.22c%|`qjL0.N`!`049 8 43@8  P4  )`;```,``.```4``~q)`````f.0505u\.`qjLN `!` @79 9 `606@9  6  )`;`&`#` `.```7+` ``)`&`#` ```f.77fY`qjL`ZN,`!` 99 9 88@9  8,``f.@9@99f`p9..P:9.9ޤ\a9^.0:w!P:`Z! .N,`!` ;9 9 p;@;@9  ;,``<;f. < <qaMa^P<&f.<<sa<&<`Z! .N,`!`P>9 9 ==@9  >`,``f.>>~*d^,N,`!`@: 9 ??@9  ?`,``f.P@P@O˙`^p@&N,`!`A: : A`A@ :  A,``f. B Bo<d^&N,`!`C2: $: @CC@ :  pC,``f.CCAd^N.`!`(@EF: 8: DD@4:  E.``f.EEU`_\N.`!`(Gn: P: FF@L:  F.``f.@G@Għ`_..N`!z` H: x: pH@H@t:  H`z`f.II:'d &X &XN`!z` J: : @JJ@:  pJ`z`f.JJ=`....N`!z``L: : LK@:  @L`z`f.LL]曅dN `!`N: : MM@:  M ``f.PNPNxd`Zddd@[ddN `!`OP; ; OpO@ ;  O ``f.0P0PRi``Z......N `!` Q; f; QPQ@b;  Q;`.`+` ``f. R RO;d`ZN `!`#PTx< ; @SS@;  pS;```0T)`` ``|``` c5` ``/``m``#`d`Q``n)`&``f.TTmd`ZN`!`:V< < UU@<  U``f.@V@V! ddddN`!`:W< < WPW@<  W``f.XX`....N`!`?Y= < PY Y@<  Y;```f.YYqȵdN`!`1P[= = [Z@=  0[``f.[[dddp@pN`!`1 ]^= $= \\@ =  ]``f.`]`]Ja`.....N`!`0_= l= ^p^@h=  ^;`,`.````f.P_P_+Rid _ _ c!rpon*!,l%kjmih9eUVWX[ed1`_*9QbHUbD+^]ce0,Tb\D+[y,WYXVoSRQPOUTNLKJIHGFMESebD,+,B@>?=~:{|}~<;:yz9x5788v>w@t>u@rs655no9pqlm]^_`743k2gh4F.ji/gh4F.f,cde0-, \]^_`aVb43A1+ QRSTUVWXYZ[ba\1`_ZC*OPc)MNf(%LIJK$GH#CDE4F"A>B@=>?@;< :9567801234!/ .!,-+*) %($%&'"#!      5J.g95.7?/#95^? #self#m!lWv-KJGu@7;20|dR<\x bf1E :63e`.U 8cF]oB qZy'_pNwsD)g%P/ 9"AHim~^4#rh+[t{CaOT&=LY,j$X*>Sz? VQ5}In(kM5? A!i.!@-!e6 I-953 I A 95-95 7 ?/#9595,J?(#compute_reactive_node#79kwargsexpr5d A i-! A957?/#9595,J? #self#expr5E.!J4957?/#95^? #self#x5E.!J4957?/#95^? #self#x5E.!J4957?/#95^? #self#x5E.!J4957?/#95^? #self#b5E.!J4957?/#95^? #self#b5E.!J4957?/#95^? #self#b5E.!J4957?/#95^? #self#b5E.!J4957?/#95^? #self#b5E.!J4957?/#95^? #self#b5e? A957?/#9595?z#ReactiveNode#60referencesdefinitionssoft_definitionsfuncdefs_with_signaturesfuncdefs_without_signaturesmacrocalls0 (@ (08   5x-95 I.95 I-!P. O?-!Z6 I. L. L.!M95.95 I.!P . O?-!Z637?/#9595,(/#9595,)/#9595,*/#9595,+/#9595,,?$#self#funccallscalls_to_addcall5..956 I.!M95.957?/#9595,/#9595, /#9595,!/#9595,"/#9595,$?%#self#funccallscallalternate_call어ȹ5L A !957?/#95? #self#x5P A !957?/#95?#self#mapexprx5X. 95957?/#9595? #self#x5const   +Y A KTg-9566.!J495.!M.95= I. w6 3.!N I.  7.!J95495 A4956++.!J495.!M I.95>.?V6+$.!J495.!M-y-y Ag95 I. w6+!3+#.!N I. !7 IV. w6%+(3+*.!N I. (7.!J95495 A+4956,+C.!J495.!M. I.95/=.?V61+<-y.g953 I4. w66+93+;.!N I. 97 I V. w 6=+@3+B.!N I . @7 .!J495 .QC4I6D+S.!J495.!MF.wGg6H+S.!J495.!MJ I K. w 6M+P3+R.!N I . P7 I V. w 6T+W3+Y.!N I . W7 +Y+Y?/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 , /#9595 ,!/#9595 ,"/#9595 ,#/#9595 ,%/#9595 ,'/#9595 ,(/#9595 ,*? )#self#exrecurserooter_assignee5EH.>7?/#9595,? #self#ex5 A KTg IV. w63.!N I. 7?/#9595,.?#self#exrecuse5EH.>7?/#9595,.? #self#ex5.+.!J95495 A4956.!J495.!M.w95 I. w6 3.!N I.  7 I=. w63+.!N I. 7++?/#9595? #self#ex5y I=. w63.!N I. 7?/#9595?#self##unused#5+. K95g95. K i. K95g A- F-959595.!J495 I A    95. K i - F-959595.!J495 A  I. w6+3+.!N I. 7++?/#9595,S/#9595,T?#self#xpkg_names @ 5'ex.head == :import || ex.head == :using+H. K95g.!J495.Q49563.!J495.Q4956 3-!l95-!U .!J95495.!J495.!M.4{6+!.!J495.!J495.!M.!J495.!M.Z-95 I. w6+3+ .!N I. 7. K95g I A!.!J495 I-!P#. O?-!Z%6&+B I. L(. L(.!J95495.+,495 6-+1.!J495 I.!M/.!J95495.12495 63+=.!J495.!M5.v6495 67+=.!J495.!M:.9; I.!P#*. O?-!Z>6?+B3+( I. w6C+F3+H.!N I. F7+H+H?/#9595 ,?/#9595 ,@/#9595 ,A/#9595 ,C/#9595 ,D/#9595 ,E/#9595 ,F/#9595 ,H/#9595 ,I/#9595 ,J/#9595 ,M/#9595 ,N? #self#exouta5# +1? I .wZ6+1.!J495.O4956.!J495. .!J495.  3+1.!J495.O4956+.!J495..!J495. 3+1.!J495.?4956+1.!J495 I.O495 -k I ..!J495 I-!P. O?-!Z!6"+1 I. L$. L$95 . K i'- F -() A *95  I.!P&. O?-!Z-6.+13+$7+1+1?/#95 95 ,#/#95 95 ,$/#95 95 ,%/#95 95 ,&/#95 95 ,'/#95 95 ,(/#95 95 ,)/#95 95 ,*/#95 95 ,+/#95 95 ,,/#95 95 ,-/#95 95 ,./#95 95 ,//#95 95 ,2? B#compute_usings_imports!#59isglobaloutexismoduleaisglobal5W A95>7?/#9595,"?#self#outex5` A95.957?/#9595,? #self#ex5d`try_compute_symbolreferences(args...)` is deprecated, use `compute_symbols_state(args...)` instead. ? 95-95.!J495.!J495.!J495.!9595 A }!P957?/#9595,h/#9595,i? #self#args595 A95 I.95-95 I. w63.!N I.  7?/#9595,/#9595,/#9595,?#self#exsymstate5Expression explorer failed on: ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlb+_95 V-95 W I. w63.!N I.  7 W I .w956-   I 9595 I   -!M95.956+I I 495 I # I A95   .95O 95V-95k"6#+I I495 A9595 95     6&+I I95 .95w956)+-!95 I-+ I+ 06.+2 I?3+3 I- 95 495 I3.95O95V65+> I9595. K i8- F I-9: I>3+@ A!95 9595    = I=6+I A!i.!@A-!eB6C+G A9595 95    3+H A B9595 95    3+I95V95 A95-95L A95JKM. K95g-!495-OP95. K iR- FQ-ST. U95 IV. w6X+[3+].!N I. [ ~7]+_+_?+/#9595,/#9595,/#9595,/#9595,/#9595,/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,/#9595,? Q#self#exemsgkwargslinefileidlogger_modulegroupstd_levellevelerr5?+.!J495 I-.!J495 I-!P. O?-!Z6+. L.!l I. L I. L A!l  I. L . L.!J495.95 A!495.!J495.95 A!495 I.!P. O?-!Z6+37V++?/#9595,~/#9595,/#9595,/#9595,/#9595,/#9595,?(#self#symstateKinner_symstatefunc( @ (08@ (085T AZ495V4-7?/#9595,q?#self##unused#5+ .!J495.Q4956.!J495-^.|6Z. F495V.!J495-! .{ .!M  A }!P  7.!J495.Q4956+.!J495.!M-95.Z4957.!J495.Q4956+ .!J495.!M-95 AZ495V77+ + ?/#9595,g/#9595,h/#9595,i/#9595,j/#9595,k/#9595,l/#9595,n? #self#ex5<7?/#9595,r? #self#x5.wZ6.!J495 I.Q4953 I=-k7?/#9595,T? #self#arg5;7V?/#9595,d?#self##unused#52Failed to canonalize this strange looking function;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl +s.!J495.Q4956Z.!J495.!M-95 . F495 .!J495-! .{ .!M  A }!P 7.!J495.Q4A6+3+.!J495.Q4F6++.!J495.Q4A6+ I3+ I I I R95.!J495-!".{#$.!M"% I.95!&.!B95-!a(7).!J495.Q+4956,+2.!J495.!M.-95/70.!J495.Q249563+63+9.!J495.Q6467+:7V     I95 95 I-!M95 .95 DE6F+r I 495 I # I A95   .95 O 95 V-95 kK6L+r I 495 A95 9595    6O+r I 95.95 w 95 6R+V!95 I -T I+^ 06W+[ I?3+\ I- 95495 I\.95 O95 V6^+g I9595. K ia- F I-bc I>3+i A!9595 95     = I=6+r A!i.!@j-!ek6l+p A95 9595     3+q A k95 9595     3+r95 V7V+s+s?+$/#9595,M/#9595,N/#9595,O/#9595,P/#9595,S/#9595,W/#9595,X/#9595,Y/#9595,Z/#9595,\/#9595,^/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,_?  !""""""""#i#self#ex#57interestingskip_indexmsgkwargslinefileidlogger_modulegroupstd_levellevelerr5d. L495.957?/#9595,? #self#a5u-95. L495.957?/#9595,? #self#a5d. L495.957?/#9595,? #self#a5> A K9595.!J495..9595.9595-95 A95. F I. w6 3.!N I.  7?/#9595,/#9595,?#self#exscopestate 5 A K9595.!J4.95 I. w63.!N I. 7?/#9595,?#self#exscopestate5,*+      A K9595.!J495.O4A6+.!J495-!.{ I.!M-^.6+-.!M.wZ6 +-.!M.!J"495.O#4956$+--!.{'.!M&(.!M- F* I A }!P!)+.!J495 I.!M-.!J95495./049561+i.!J495-3.w4g65+EZ95.!J495-95 9 A }!P78:.95 ; I<. w6>+A3+C.!N I. A73+i.!J495-E I.95 F.!J495-^H.QI6J+RZ A95 . F4AM A }!PLN I.95 O3+YZ A95 .!J495-T A F4ASU A }!PRV I.95 W.!lY I. LZ I. LZ A!lY I. L].95 . F_` Ia. w6c+f3+h.!N I. f7.95 .!li I. Lj I . Lj A!li I. Lm95- . Kop I Rq 95. K it. F- Fv-uw A x95s Iy. w6{+~3+.!N I. ~7.!J495.O4956+3+.!J495.O4956+3+.!J495.O4I6+.!J495.O4I6+-956+ I.95  A95. F I. w6+3+.!N I. 7.!J495.O4956+.!J495-^.Q6+.!J495.!M I.95  A95. F I. w6+3+.!N I. 7.!J95495 A4I6+.!J95495.!J495.!M.4A6+.!J495.!M.95 .!l I. L I . L A!l I. L.!J495.!M.95 .95 . F I . w 6+3+.!N I . 7 .!J495-^.|6+.!J495.!M I!.95 3+ I! A95 I!.!J495.!M.95 .!l I. L I . L A!l I. L.95 . F I". w"6+3+.!N" I". 7".!J495.O4956+ I A95.!J495-!.{.!M I -!P. O ?-!Z6+  I. L. L.95 .!l I. L I. L A!l I. L.!J495-^.Q6+.!J495.!J495.!M).).95  I .!P. O ?-!Z)6)+ 3+.!J495.!M) .95 ) .!l)  I. L)  I. L)  A!l)  I. L).95 . F I#). w#6)+3+.!N# I#. )7#.!J495.O)46)+7.!J495.!M).95).!l) I. L)  I. L)  A!l) I. L)#.!J495-^)%.v)&6)'+..!J495.!M)*.95 )+.95 ))),-95. F). I$)/. w$6)1+43+6.!N$ I$. )47$.!J495.O)74956)8+I.95.!l): I. L); I. L); A!l): I. L)>-95. F)@ I%)A. w%6)C+F3+H.!N% I%. )F7%.!J95495.)I4956)J+b A95 A95 I. F)L)M95- . K)O)P I R)Q95. K i)T- F-)U)V95.!J495 A )W)X)S)Y I&)Z. w&6)\+_3+a.!N& I&. )_7&.!J495.O)b4F6)c+{ A95 A95 I. F)e)f95- . K)h)i I R)j95. K i)m- F-)n)o95.!J495 A )p)q)l)r I')s. w'6)u+x3+z.!N' I'. )x7'.!J495.O){4956)|+-95 A95. F)~) I(). w(6)+3+.!N( I(. )7(.!J495.O)4956)+.!J495.!M).95 ) I)). w)6)+3+.!N) I). )7) A95.95 . F)) I*). w*6)+3+.!N* I*. )7*++?+>/#95 95,x/#95 95,y/#95 95,|/#95 95,}/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,/#95 95,?  !!!"###########$$$$$$%%%%&&&&'((((())))))))*+++++++,,,--------..../////0000000011122222233333333444555666666666666666666777888999999999999999999:::;;;;;;;;;<<<=========>>>>>>>>>#self#exscopestate#53#52#51initsymstatenamesupertypes_symstaterhs_symstatedeclaration_symstatefuncrootparams_to_exploreainner_symstate5 A K9595 A95 A95. F I. w63.!N I.  7?/#9595,?#self##unused##unused#5.!J95495.4I6Z95.!J495 A }!P77?/#9595,j/#9595,k/#9595,m? #self#ex5<7?/#9595,p? #self#x5d. L495.957?/#9595,d? #self#a5M A957?/#9595,g? #self#anything_elsescopestate5Y.!J495.Q4956.!J495.!M.95. 95795- . K  I R .!J495.957?/#9595,`/#9595,a/#9595,d?#self#exscopestate#495R? A957?/#9595,[?=#explore_module_definition!#48module_depthexprscopestate5W A957?/#9595,[?#self#exprscopestate5W A957?/#9595,7?#self#exscopestate595. K i. L495- F-95. L495 A 7?/#9595,X? #self#a5O.Q4957?/#9595,E? #self#x5W +\? .!J495.O49563.!J495.O 4956 +C.!J495.!M .!J495.O4{6+.!J495.!M.!J495.!M I -!3+ I .!J495 I  I A95 I-!P. O?-!Z6+B  I . L!. L!.!J95495 .X A$%495&6'+= I R95 .!J 495-!+-!+.[-.{,..!M+/.*061+=.!J 495-!3.!M34.w5g66+=.!J495 .!J 495-!9.!M9:.8; I.!P#. O?-!Z>6?+B3+ 7.!J495.OC495 6D+O.!J495.!MF.X95 . K iI- FH-JK A L95 G7M.!J495.OO495 6P+T A957R95- -  A KTUV I RW.!J495.95YZ7[+\+\?/#9595,8/#9595,:/#9595,;/#9595,=/#9595,A/#9595,B/#9595,C/#9595,J/#9595,M/#9595,O/#9595,P/#9595,R/#9595,S/#9595,U/#9595,X? l#explore_module_definition!#43module_depthexscopestate#45symstateimport_names#44import_name_expr5u-95. L495.957?/#9595,? #self#a5d. L495.957?/#9595,? #self#a595- . K I R.!J495.957?/#9595,?#self#exscopestate#395 I.95. K95g.!J495.!M-!-95. K i- F-  .  95.95 .  957?/#9595,/#9595,?#self#exscopestatesymstate5.!J495.!M.95. 957?/#9595,?#self#exscopestate5c.!J495-!.!M7?/#9595,? #self#e53+.!J495.!M.!J495.O4{6.!J495.!M .!J 495-! .{ I.!M  3 I.!J495 I I R95 I.. K95g-95. K i- F-. 95. 957++?/#9595,/#9595,/#9595,/#9595,/#9595,?/#self#exscopestate#37packagenamesimports5Z.!J495.!M. F4A.!J495.!M.!J495 A }!P.957 ?/#9595,?#self#exscopestate5u-95. L495.957?/#9595,? #self#a59595- . K I R.!J495.95 I. w6 3.!N I.  7?/#9595,?#self#exscopestate#355x.Z495. L495.957?/#9595,? #self#arg5unknown local use;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl +}95.!J495-^.|6+95- . K I R .!J495.95  I. w63+.!N I. 7.!J495 I.!M.wg6+$.!J495. A95 I. w6+!3+#.!N I. !7.wZ6$+<.!J495.O&4I6'++ I'3+-.!J495 I.7+956+<.!J495.!J495.!M/-950.95.1.95 . 395 I4. w66+93+;.!N I. 97     I95 95 I-!M95 .95 FG6H+t I 495 I # I A95  .95 O 95 V-95 kM6N+t I 495 A95 9595    6Q+t I 95.95 w 95 6T+X!95 I -V I+ 06Y+] I?3+^ I- 95495 I^.95 O95 V6`+i I9595. K ic- F I-de I>3+k A!9595 95     = I=6+t A!i.!@l-!em6n+r A95 9595     3+s A m95 9595     3+t95 V.95 . u95 Iv. w6x+{3+}.!N I. {7+}+}?+#/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,?  !!!!!!!!"########k#self#exscopestate#33localiseemsgkwargslinefileidlogger_modulegroupstd_levellevelerr5x.Z495. L495.957?/#9595,~? #self#arg5unknown global use;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl +v95.!J495-^.|6+95- . K  I R .!J495.95 I. w6+3+.!N I. 7.!J495 I.!M.wg6+&.!J495. A95 I. w6 +#3+%.!N I. #7.wZ6&+5 I.!J495> A!495) I.95 A!495. 95 I-. w6/+23+4.!N I. 27      I9595 I-!M95 .95?@6A+m I495 I# I A95 .95O 95V-95kF6G+m I 495 A9595 95  6J+m I 95.95w 956M+Q!95 I -O I + 06R+V I?3+W I- 95495 IW.95O95V6Y+b I9595. K i\- F I -]^ I>3+d A!95 9595    = I=6+m A!i.!@e -!ef6g+k A9595 95    3+l A f9595 95    3+m95V.95. n95 Io. w6q+t3+v.!N I. t7+v+v?+&/#9595,}/#9595,~/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,?  !!!!"#$$$$$$$$%&&&&&&&&v#self#exscopestate#31resultoldglobaliseemsgkwargslinefileidlogger_modulegroupstd_levellevelerr5Unknown lambda type;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl+R I A95.!J495 I.!M.wg63.wZ6 .!J495 I.O 4953 I=6 I-!3+J.!J495.O4F6+3+.!J495.O4956+3+.!J495.O4956+ I.!J4953+I      I9595 I-!M95.95)*6++G I495 I# I A95 .95O 95V-95k061+G I 495 A9595 95   64+G I 95.95w 9567+;!95 I -9 I +q I95 I A i6>+G A!i.!@? -!e@6A+E A9595 95    3+F A @9595 95    3+G95V IG I IZ. F4A A }!PKL.!J495.!MN I AZ495MO.957Q+R+R?+/#9595,h/#9595,k/#9595,l/#9595,m/#9595,n/#9595,o/#9595,q/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,T/#5,U/#5,V/#5,/#9595,t/#9595,v? z#self#exscopestateequiv_funcargs_exfuncroottempnamemsgkwargslinefileidlogger_modulegroupstd_levellevel5+4 I A95.!J495.!M.v=6+.!J495.!M.95.95 .!J495.!M .v =6 +.!J495g.!J495.!M.!M.95.!J495.!M.95.95.!J495-^.f6+ I.f3+! I=6++.!J495.!M".w#Z6$++.!J495.!M'.95(.95&).!J495-^+.Q,6-+4.!J495.!M0.951.95/27+4+4?/#9595,J/#9595,M/#9595,N/#9595,P/#9595,Q/#9595,V/#9595,Y/#9595,Z/#9595,^/#9595,_/#9595,b? #self#exscopestatesymstate5 +T I A95.!J495 I .!M I-95= A!495.95  A K9595.  .!l I. L I. L A!l  I. L.!J495.O4956+ .!J495-^.v6+ .!J495.!M.g95 @ I-95.!J495 .!J495-95 .3+?.!J495-^ .Q!6"+/.!J495 .!J495-!%.!M%&.$'.!J495 .!J495-!*.!M*+.),3+?.!J495-^/.|061+?.!J 495 .!J495-!4.[5.!M46.37.!J495 .!J495-!:.[;.!M:<.9=Z95.!J495-!B.{C.!MBD A }!P@AE.95F.95?G-95 -95J I.95IK.956M+S.!J 495 A!xOP3+T I 7 +T+T?/#9595,/#9595,/#9595,!/#9595,"/#9595,$/#9595,(/#9595,)/#9595,*/#9595,+/#9595,,/#9595,-/#9595,./#9595,//#9595,0/#9595,3/#9595,4/#9595,6/#9595,7/#9595,C/#9595,F? [#self#exscopestatefuncnamesiginnersymstatefuncnameinnerscopestatefuncrootsymstate5.!J495.!M.Z495V AZ495=.957?/#9595,?#self#exscopestate5 +.!J495 I .!M.!J495.!M I.!J495Z. F4A A }!P.Z495V I AZ495 I-95> A!495 I.95.!J495--.!J495 I.!J495.!J495 .7++?/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 , /#95 95 , /#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,? g#self#exscopestatestructnameinner_symstateglobalscopestateequiv_funcstructfieldsstructnameexpr5C.!J95495 A46.!J495.!M.w956.!J495.!M.!J 4.w Z6 .!J495.!M .!J477V?/#9595,/#9595,/#9595,? #self#child5 +i95.!J495.!M-956 +^.!J495.!M -95 I.  95 I.95Z95.!J495-!.{.!M A }!P.95.9595 .!J495 .O6+ I 3+#95 .!J495 I .O !6 +C.!J495-^$.%6&+C.!J495.!M(.w)95 6*+C.!J95 495.!J495.!M-.!J.4.,/49560+C.!J495.!M2.!J34.!J4495.!M5 I-956. K9595-!-9:95. K i<- F;-=>. ?95.958@3+W95.!J495 .OCD6E+W.!J495-^G.QH6I+WZ95 I R95.!J495 A!.!MOP.NQ I A }!PKLR.95.95TU I . w 6X+[3+].!N I . [7 Z95.!J495 A }!P^_`.95a I b. w 6d+g3+i.!N I . g7 +i+i?/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,? C#self#exscopestate#29blockexpanded_macrosymstatefuncname5+M95.!J495-e6 A95 I. w63.!N I.  7.!J495-^ .Q6+-.!J495.!M.!J495.956+ A95 I. w6+3+.!N I. 7. K9595-!-95. K i!- F -"#. $95 I%. w6'+*3+,.!N I. *7.!J495.!M-.!J495.95./60+: A95 I2. w64+73+9.!N I. 77. K95g.!J495.!M;-!<-:=. K9595-!-?@95. K iB. F>A-CD. E95 IF. w6H+K3+M.!N I. K7+M+M?/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,?  #self#funcnamescopestate5. K9595 I A.9595. K i- F-. 957?/#9595,/#9595,/#9595,? #self#exscopestatemacrocalls5=7?/#9595,?#self##unused#macrocalls5+.!J95495.4956.!J495.!M-95..!J495 I-!P . O?-!Z 6 + I. L. L.95 I.!P . O?-!Z6+37++?/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,?#self#exmacrocallsarg5Z95.!J95495.!J495-!.{.!M-.!J495.!M - F A }!P .95 7 ?/#9595,?#self#exscopestate5d. L495.957?/#9595,? #self#a5.!J495-95 I-95- . K I R.95.  957 ?/#9595,/#9595,?#self#exscopestate#27args5d. L495.957?/#9595,? #self#a5R95 I-95= A!49595- . K I R.!J495.95  I . w6 3.!N I. 7?/#9595,/#9595,/#9595,?*#self#exscopestate#25innerscopestate5H+??-e67 I I-!P . O?-!Z 6 + I. L. L-.95 I.!P . O?-!Z6+37++?/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,?!#umapfoldl#24initfitroute5l? A95 A957?/#9595,? #self#fitr5e.!J495-y-!.[.{.!M I-g.!J495.!M.!J495.!M .!J495.!M AZ4A   I AZ495 .957?/#9595,/#9595,/#9595,?,#self#exscopestateexpanded_exproperator5.!J495 I-y-.95.{.!M I-g.!J495.!M .!J495.!M .!J495.!M AZ4A  I AZ4I .957?/#9595,}/#9595,~/#9595,/#9595,/#9595,?.#self#exscopestateexpanded_exproperators5.!J495-^.v67.!J495. L495.957?/#9595,q? #self#call5+_    95-956 +Z95.!J495 A }!P .95 I . w  6+3+.!N  I .  7 .!J495 I .!M.!J495.!M.wZ6+8.!J495.!M.!J 495. !g.Q"4956#+8.!J495.!M%.95& A K9595. '(.!l) I . L* I. L* A!l) I . L-g.!J 495 -!0.!M01 I .!M/2 .95  I.95 453+>.!J495.!M8 I -95 9.95  I; I ; I.95  .!J495 .95 .95 ?@.!J495.!MB I.95C.!J495 .95 E.!J 495.95 G.!J 495.!J495.95J.95 IK.!J 49595- . KNO I RP.!J495.95RS.95 MT-k95.!J 495.95VW I . w 6Z+]3+_.!N  I. ] 7+_+_?/#9595,V/#9595,Z/#9595,]/#9595,_/#9595,`/#9595,a/#9595,b/#9595,d/#9595,e/#9595,h/#9595,k/#9595,l/#9595,n/#9595,o/#9595,p/#9595,q/#9595,r/#9595,t? p#self#exscopestate#22assigneesymstateglobal_assigneesinnersymstateassigneessymstateassignees_fnval5__ExprExpl_anon__^-95~.g957?/#9595,Q?#self#5+J.!J495.!M.wZ6+D.!J495.!M.!J495.O4A6 I . w6 3.!N I. 7.!J495.!M.!J495.O4956+ I. w6+3+.!N I. 7.!J495.!M.!J495.O 4956!+=.!J495.!M#.!J$495.!M%.w&Z6'+6.!J495.!M).!J*495.!M+.!J,495.O-4A I.. w60+33+5.!N I. 37 I=. w67+:3+<.!N I. :7 I=. w6>+A3+C.!N I. A7 I=. w6E+H3+J.!N I. H7+J+J?/#9595,O?#self#ex5'+795.!J495.O4I6.95 I. w63.!N I.  7.!J495.7956+.95 I. w6+3+.!N I. 7.!J495.7956+$.95 I. w6+!3+#.!N I. !7.!J495.O$4956%+(3+/.!J495.O(4956)+,3+/.!J495.O,495 6-+7.95  I/. w61+43+6.!N I. 47.!J495.O7495 68+B.95  I :. w 6<+?3+A.!N I . ?7 .!J495.OB495 6C+M.95 I E. w 6G+J3+L.!N I . J7 .!J495.OM4956N+X.95 I P. w 6R+U3+W.!N I . U7 .!J495.OX4A6Y+c.95 I [. w 6]+`3+b.!N I . `7 .!J95495.c4956d+t95- . Kfg I Rh.!J495.95jk I l. w 6n+q3+s.!N I . q7 .!J495.Ot4956u+.!J495.!Mw.95x Iy. w6{+~3+.!N I. ~7.!J495.O4956+.95 I. w6+3+.!N I. 7.!J495.O4956+.95 I. w6+3+.!N I. 7.!J495.O4956+3+.!J495.O4956+.95  I. w6+3+.!N I. 7.!J495.O495!6+.95" I. w6+3+.!N I. 7.!J495.O495#6+.95$ I. w6+3+.!N I. 7.!J495.O495%6+.95& I. w6+3+.!N I. 7.!J495.O495'6+.95( I. w6+3+.!N I. 7.!J495.O4F6+.95) I. w6+3+.!N I. 7.!J95495 A495*6+.!J495.!M.wZ6+.!J495.!M.!J495.O4F6+.95+ I. w6+3+.!N I. 7.!J495.O495,6+3+.!J495.O495-6+.95. I. w6+3+.!N I. 7.!J495.O)495/6)+ .950 I). w6)+3+ .!N I. )7.!J495.O) 49516) +.952 I). w6)+3+.!N I. )7.!J95495-g953 A))6)+%.!J495.!M) AZ4A4).95) I). w6)+"3+$.!N I. )"7.!J495.O)%46)&+0 A95 I)(. w6)*+-3+/.!N I. )-7.954 I)0. w6)2+53+7.!N I. )57+7+7?+1/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955, /#95955, /#95955, /#95955, /#95955, /#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955,/#95955, /#95955,!/#95955,"/#95955,#/#95955,$/#95955,%/#95955,&/#95955,'/#95955,(/#95955,)/#95955,+/#95955,,/#95955,-/#95955,/?  !!!"""""""###$$$$$$$%%%%%%%%%%%%&&&&&&&'''''''((((((()))*******+++,,,,,,,----..........///000000011111112#self#exscopestate#415+95.!J495.956 A95 I. w63.!N I.  7-!-95 95. K i- F-. 95 I. w6+3+.!N I. 7++?/#9595,B/#9595,C/#9595,E?#self#symscopestate5?95 A95 I. w63.!N I. 7?/#9595,9?#self#valuescopestate5.?4956-.9595.77=?/#9595,*?#self#joined5 + . K95.!J495-^.[ I..!J495-^ A{+ I-!P . O?-!Z 6 +  I. L. L95.!J495-!.{.!M A }!P.[ A!x I.!P . O?-!Z6+ 37+ + ?/#9595,!/#9595,"/#9595,#/#9595,$/#9595,%?#self#funccallcallsi5+g I--^.|6+-!.!M.Q95.6 +-!.[ .{ .!M -g I. w6+3+.!N I. 7 I. w6+3+.!N I. 7++?/#9595, /#9595,/#9595,/#9595,?#self#funcnamefn_str5+g I--^.|6+.!M.Q95.6+-!.{ .!M  -g I . w63.!N I. 7 I. w6+3+.!N I. 7++?/#9595,/#9595,/#9595,/#9595,?#self#funcnamefn_str5.!J495.O495695.!J495.77=?/#9595,? #self#ex5:7=?/#9595,?#self##unused#5:7>?/#9595,?#self##unused#595.9595.9595-95 I. w63.!N I.  7?/#9595,?#self#funcname_ex595.!J495-95 I. w63.!N I. 7?/#9595,?#self#funcname_ex0595.!J4-95 I. w63.!N I. 7?/#9595,?#self#funcname_ex5+95.!J495.O4956+95. K i A95- F-959595.!J495 A      I. w63+.!N I. 7 A95 I. w6+3+.!N I. 7++?/#9595,/#9595,/#9595,?#self#funcname_ex595 A95 I. w63.!N I. 7?/#9595,?#self##unused#5<7?/#9595,? #self#fn5<7?/#9595,? #self#x5.+ I A }!P95.!J495.!J495 A }!P F.!J495-e6 I.!J4953.!J495-e 6 I.!J4953.!J495.!J495 I Ag95 I.957++?/#9595,/#9595,?#self#absb5FH.V7?/#9595,? #self#s5 A Kg95.!J495.!M A95. F I. w63.!N I.  7?/#9595,? #self#ex5ex.head === :curlyY +/ A Kg95.!J495.O49563-!l95-!U I A95.!J495-! .{ .!M  I-!P. O?-!Z6+% I. L. L.95.!l I . L I. L A!l I. L.!J495.!J 495..95 I.!P. O?-!Z!6"+%3.!J495.!M%-g&. F' I (. w 6*+-3+/.!N I . -7 +/+/?/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,/#95 95 ,?A#self#exscopestatesymstatecurly_argarg_symstatearg_name5 A Kg95 A95. F I. w63.!N I. 7?/#9595,?#self#sscopestate5d-95_-y.7?/#9595,? #self#s5m-956-!Mg7.!Mg7?/#9595,? #self#ex5-unknown use of `=`. Assignee is unrecognised.;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl +. Kg.!J495.Q4F6+!.!J495-^.Q6.!J95495.!J495-95 .  4956 .!J495-95 I.!J4953 I.!J49595. K i-!Mg- F- A 959595  I. w6+3+ .!N I. 7.!J495.Q!495 6"+..!J495.!M$-95% I&. w6(++3+-.!N I. +7.!J495.O.495 6/+23+5.!J495.O2495 63+=-!Mg I5. w67+:3+<.!N I. :7.!J495.O=495 6>+N I.!J49595. K iA-!Mg- FC-BD A E959595  IF. w6H+K3+M.!N I. K7   I 9595 I   -!M95.95XY6Z+ I 495 I # I A95   .95O 95V-95k_6`+ I495 A959595    6c+ I95.95w956f+j!95 I-h I+ 06k+o I?3+p I- 95495 Ip.95O95V6r+{ I9595. K iu- F I-vw I>3+} A!959595    = I=6+ A!i.!@~-!e6+ A959595    3+ A 959595    3+95V-!Mg I. w6+3+.!N I. 7++?+&/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,?  !!!!"#$$$$$$$$%&&&&&&W#self#exargsmsgkwargslinefileidlogger_modulegroupstd_levellevelerr5D-!Mg7?/#9595,?#self##unused#5Unknown assignee expression;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl+d. K95g. K95g I A I-!P. O?-!Z6+^ I. L . L .wg6 .956.33+Y.!J495.Q4956+ .!J495.!M.956+.!J495.!M.3+3+Y      I9595 I-!M95.95*+6,+X I495 I # I A95  .95O 95V-95k162+X I 495 A9595 95    65+X I 95 .95w 9568+<!95 I -: I + 06=+A I?3+B I- 95495 IB.95O95V6D+M I9595. K iG- F I-HI I>3+O A!95 9595     = I=6+X A!i.!@P-!eQ6R+V A9595 95     3+W A Q9595 95     3+X95V I.!P . O?-!ZZ6[+^3 I. w6_+b3+d.!N I. b7+d+d?+!/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#9595,/#5,~/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,/#5,f/#5,g/#5,h/#5,i/#5,j/#5,l/#5,m/#5,/#9595,/#9595,?  !!!!!!z#self#assignee_exprsscopestateglobal_assigneesaemsgkwargslinefileidlogger_modulegroupstd_levellevelerr5+!.!J49563.!J495.956+.!J495.956 I . w6 3.!N I. 7.!J495.95 I. w6+3+.!N I. 7 I=. w6+3+!.!N I. 7+!+!?/#9595,?#self#assigneescopestate5+".!J495-^.Q6 I=. w63.!N I.  7.!J495-^ .|6+.!J495 I. w6+3+.!N I. 7.!J495.!M.95 I. w6+ 3+".!N I.  7+"+"?/#9595,/#9595,/#9595,/#9595,/#9595,?#self#assigneescopestate5P.!J4957?/#9595,n? #self#b5P.!J4957?/#9595,m? #self#b5P.!J4957?/#9595,l? #self#b5P.!J4957?/#9595,k? #self#b5P.!J4957?/#9595,^? #self#b5P.!J4957?/#9595,]? #self#b5P.!J4957?/#9595,\? #self#b5P.!J4957?/#9595,[? #self#b5P.!J4957?/#9595,Z? #self#b5c? A957?/#9595,0?F#SymbolsState#1referencesassignmentsfunccallsfuncdefsmacrocalls;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlrڻReturn the function name and the SymbolsState from argument defaults. Add arguments as hidden globals to the `scopestate`. Is also used for `struct` and `abstract`. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻGenerates a vector of all possible variants from a function name ``` julia> generate_funcnames([:Base, :Foo, :bar]) 3-element Vector{Symbol}: Symbol("Base.Foo.bar") Symbol("Foo.bar") :bar ``` ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻXScopeState moves _up_ the ASTree: it carries scope information up towards the endpoints.@/opt/julia/packages/ExpressionExplorer/EpqLm/src/ReactiveNode.jlڻNEvery cell is a node in the reactive graph. The nodes/point/vertices are the _cells_, and the edges/lines/arrows are the _dependencies between cells_. In a reactive notebook, these dependencies are the **global variable references and definitions**. (For the mathies: a reactive notebook is represented by a _directed multigraph_. A notebook without reactivity errors is an _acyclic directed multigraph_.) This struct contains the back edges (`references`) and forward edges (`definitions`, `soft_definitions`, `funcdefs_with_signatures`, `funcdefs_without_signatures`) of a single node. Before 0.12.0, we could have written this struct with just two fields: `references` and `definitions` (both of type `Set{Symbol}`) because we used variable names to form the reactive links. However, to support defining _multiple methods of the same function in different cells_ (https://github.com/fonsp/Pluto.jl/issues/177), we needed to change this. You might want to think about this old behavior first (try it on paper) before reading on. The essential idea is that edges are still formed by variable names. Simple global variables (`x = 1`) are registered by their name as `Symbol`, but _function definitions_ `f(x::Int) = 5` are sometimes stored in two ways: - by their name (`f`) as `Symbol`, in `funcdefs_without_signatures`, and - by their name with its method signature as `FunctionNameSignaturePair`, in `funcdefs_with_signatures`. The name _without_ signature is most important: it is used to find the reactive dependencies between cells. The name _with_ signature is needed to detect multiple cells that define methods with the _same_ signature (`f(x) = 1` and `f(x) = 2`) - this is illegal. This is why we do not collect `definitions`, `funcdefs_with_signatures` and `funcdefs_without_signatures` onto a single pile: we need them separately for different searches. @/opt/julia/packages/ExpressionExplorer/EpqLm/src/ReactiveNode.jlڻTurn a `SymbolsState` into a `ReactiveNode`. The main differences are: - A `SymbolsState` is a nested structure of function definitions inside function definitions inside... This conversion flattens this structure by merging `SymbolsState`s from defined functions. - `ReactiveNode` functions as a cache to improve efficiently, by turning the nested structures into multiple `Set{Symbol}`s with fast lookups.A/opt/julia/packages/ExpressionExplorer/EpqLm/src/UsingsImports.jlڻ9Preallocated version of [`compute_usings_imports`](@ref).A/opt/julia/packages/ExpressionExplorer/EpqLm/src/UsingsImports.jlڻ```julia external_package_names(ex::Union{UsingsImports,Expr})::Set{Symbol} ``` Given `:(using Plots, Something.Else, .LocalModule)`, return `Set([:Plots, :Something])`. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻcompute_symbols_state(ex::Any)::SymbolsState Return the global references, assignment, function calls and function definitions inside an arbitrary expression, in a `SymbolsState` object. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl3ڻGoes through a module definition, and picks out `import ..x`'s, which are references to the outer module. We need `module_depth + 1` dots before the specifier, so nested modules can still access Pluto. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl^ڻBGo through a quoted expression and use explore! for :$ expressions;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻFor an expression like `function Base.sqrt(x::Int)::Int x; end`, it has the following fields: - `name::FunctionName`: the name, `[:Base, :sqrt]` - `signature_hash::UInt`: a `UInt` that is unique for the type signature of the method declaration, ignoring argument names. In the example, this is equals `hash(ExpressionExplorer.canonalize( :(Base.sqrt(x::Int)::Int) ))`, see [`canonalize`](@ref) for more details. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻTurn `Symbol(".+")` into `:(+)`A/opt/julia/packages/ExpressionExplorer/EpqLm/src/UsingsImports.jlڻ^```julia UsingsImports() ``` This struct is generated by `compute_usings_imports(ex::Expr)` and represents the `using` and `import` statements present in the given expr `ex`. Additionally, the `usings_isglobal` and `imports_isglobal` represents whether the corresponding `using` or `import` statement is in global scope or not (nested in a module). ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻuSymbolsState trickles _down_ the ASTree: it carries referenced and defined variables from endpoints down to the root.;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻUnspecialized mapfoldl.;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻTurn a function definition expression (`Expr`) into a "canonical" form, in the sense that two methods that would evaluate to the same method signature have the same canonical form. Part of a solution to https://github.com/fonsp/Pluto.jl/issues/177. Such a canonical form cannot be achieved statically with 100% correctness (impossible), but we can make it good enough to be practical. # Wait, "evaluate to the same method signature"? In Pluto, you cannot do definitions of **the same global variable** in different cells. This is needed for reactivity to work, and it avoid ambiguous notebooks and stateful stuff. This rule used to also apply to functions: you had to place all methods of a function in one cell. (Go and read more about methods in Julia if you haven't already.) But this is quite annoying, especially because multiple dispatch is so important in Julia code. So we allow methods of the same function to be defined across multiple cells, but we still want to throw errors when you define **multiple methods with the same signature**, because one overrides the other. For example: ```julia julia> f(x) = 1 f (generic function with 1 method) julia> f(x) = 2 f (generic function with 1 method) `` After adding the second method, the function still has only 1 method. This is because the second definition overrides the first one, instead of being added to the method table. This example should be illegal in Julia, for the same reason that `f = 1` and `f = 2` is illegal. So our problem is: how do we know that two cells will define overlapping methods? Ideally, we would just evaluate the user's code and **count methods** afterwards, letting Julia do the work. Unfortunately, we need to know this info _before_ we run cells, otherwise we don't know in which order to run a notebook! There are ways to break this circle, but it would complicate our process quite a bit. Instead, we will do _static analysis_ on the function definition expressions to determine whether they overlap. This is non-trivial. For example, `f(x)` and `f(y::Any)` define the same method. Trickier examples are here: https://github.com/fonsp/Pluto.jl/issues/177#issuecomment-645039993 # Wait, "function definition expressions"? For example: ```julia e = :(function f(x::Int, y::String) x + y end) dump(e, maxdepth=2) #= gives: Expr head: Symbol function args: Array{Any}((2,)) 1: Expr 2: Expr =# ``` This first arg is the function head: ```julia e.args[1] == :(f(x::Int, y::String)) ``` # Mathematics Our problem is to find a way to compute the equivalence relation ~ on `H × H`, with `H` the set of function head expressions, defined as: `a ~ b` iff evaluating both expressions results in a function with exactly one method. _(More precisely, evaluating `Expr(:function, x, Expr(:block))` with `x ∈ {a, b}`.)_ The equivalence sets are isomorphic to the set of possible Julia methods. Instead of finding a closed form algorithm for `~`, we search for a _canonical form_: a function `canonical: H -> H` that chooses one canonical expression per equivalence class. It has the property `canonical(a) = canonical(b)` implies `a ~ b`. We use this **canonical form** of the function's definition expression as its "signature". We compare these canonical forms when determining whether two function expressions will result in overlapping methods. # Example ```julia e1 = :(f(x, z::Any)) e2 = :(g(x, y)) canonalize(e1) == canonalize(e2) ``` ```julia e1 = :(f(x)) e2 = :(g(x, y)) canonalize(e1) != canonalize(e2) ``` ```julia e1 = :(f(a::X, b::wow(ie), c, d...; e=f) where T) e2 = :(g(z::X, z::wow(ie), z::Any, z... ) where T) canonalize(e1) == canonalize(e2) ``` 9/opt/julia/packages/ExpressionExplorer/EpqLm/src/Utils.jlڻ```julia is_toplevel_expr(ex)::Bool ``` Return whether the expression is of the form `Expr(:toplevel, LineNumberNode(..), any)`. A/opt/julia/packages/ExpressionExplorer/EpqLm/src/UsingsImports.jlڻ```julia compute_usings_imports(ex)::UsingsImports ``` Get the list of subexpressions like `using Module.Z, SomethingElse` or `import Module` that are contained in this expression. ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻ#Turn `Symbol("sqrt.")` into `:sqrt`;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻReturns whether or not an assignment Expr(:(=),...) is assigning to a new function * f(x) = ... * f(x)::V = ... * f(::T) where {T} = ... ;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻTurn :(A{T}) into :A.;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jlڻgTurn `:(Base.Submodule.f)` into `FunctionName(:Base, :Submodule, :f)` and `:f` into `FunctionName(:f)`.9/opt/julia/packages/ExpressionExplorer/EpqLm/src/Utils.jlڻ```julia get_rootassignee(ex)::Union{Symbol,Nothing} ``` If the expression is a (simple) assignment at its root, return the assignee as `Symbol`, return `nothing` otherwise. R A !9587@@`?'//#95?5L A !957?/#95? #self#x5P A !957?/#95?#self#mapexprx5X. 95957?/#9595? #self#x  &% '( B95!9595.8 B95!g7@P`?'//#95^/!g#,/!yk,?   q&%gO  R9588795@0`?'//!_u, ?F .L88795@P`?'//!Ja,%?F +.L84.j.-.m.j..6 A=.q33 =>   367V B95;. B=g. F7+%@%@@%@@@*h@+ppp0pppp`p``000```Pp`?+#'//!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%/!Pg,/!Pg,/!T,*/![T,(/![T,)/![T,*/![T,+/![T,,/!T,o/!T,*/![T,V/!^W/!_T,/!h,/!fT,/!W, /!W,C,/!W,D,/!W,E,/!W,H,/!_T,/!n,&/!MW/!XT,W/!Mc,/95^/!g#,, /!yk,,!/!Mc,? "!G +.L84. L8.j.-.m.j..6 A=.q33 =>   67V B95;. B=g. F7+%%@%@@%@@*h@+pppp0pppp`p``000``Pp`?+"'//!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%/!Pg,/!T,*/![T,(/![T,)/![T,*/![T,+/![T,,/!T,o/!T,*/![T,V/!^W/!_T,/!h,/!fT,/!W, /!W,C,/!W,D,/!W,E,/!W,H,/!_T,/!n,&/!MW/!XT,W/!Mc,/95^/!g#,,/!yk,, /!Mc,?! +<.L84.j.-.m.j..6 A=.q33 =>   363+ B956. B95g3+ ,>= , , ,,:7 ,,:9 ,,:8-Z6+;V6+"7.L84.j.#-".m%.j%.$'.&(6)+. A=".q3+/3+/ ,-,.=> ,-+ ,-,6/+43+7 B956.0 B95g43+7 ,3,6>= ,61 ,653+-UV7+<%@%@@%@@@@%%@@@%@%@@%@@@%@@+<ppp0pppp`p``000```P`000000p`0@`ppp0pppp`p``000``P`000`X`?+P'//!g,/!g,/!g,/!g,/!g,/!g,/!g,/!g,/!Pu,*/!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%/!Pg,/!Pg,/!T,*/![T,(/![T,)/![T,*/![T,+/![T,,/!T,o,/!T,*,/![T,V,/!^W/!_T,/!h,,/!fT,,/!W, ,/!W,C,/!W,D,/!W,E,/!W,H,/!_T,,/!n,&,/!MW/!XT,W/!Mc,/95*^/!g#,,)/!yk,,*/!Mc,/!W,/!Pu,*/!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%,0/!Pg,,0/!T,*,5/![T,(,5/![T,),5/![T,*,5/![T,+,5/![T,,,5/!T,o,9/!T,*,9/![T,V,;/!^W,5/!_T,,5/!h,,@/!fT,,A/!W, ,@/!W,C,C/!W,D,C/!W,E,C/!W,H,C/!_T,,@/!n,&,@/!MW,5/!XT,W,5/!Mc,,3/95*^,3/!g#,,M/!yk,,N/!Mc,,3?"$%&' +*46>?BFHI5JK00011ON3 .L84..r A z R- F7%%@p0pp0p`?'//!u,4/!Ja,%/!u,`/!u,a/!u,b/!pg,/!c,#/!Mc,/!t,/!t,/!t,/!t,/!t,/!t,/!b,/!_T,S/!zW,? .L84..r A z R- F7%%@p0pp0p`?'//!g,/!u,4/!Ja,%/!u,`/!u,a/!u,b/!pg,/!c,#/!Mc,/!t,/!t,/!t,/!t,/!t,/!t,/!b,/!_T,S/!zW,?wd+!? , 8 , 86>+!.L84.j.-.m.j. .  6 A=.q33 =>  6+3+ B953. B95g3+ ,,>= ,6+3+! A =8.q378+!%%@%@%@@%@@@@@%@@+!ppp`ppp0pppp`p``000``P`00``p``?+6'//!g,z/!g,{/!g,|/!g,}/!g,~/!g,/!g,/!g,/!g,/!g,/!g,/!g,/!Pu,*/!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%/!Pg,/!T,*/![T,(/![T,)/![T,*/![T,+/![T,,/!T,o,/!T,*,/![T,V,/!^W/!_T,/!h,,/!fT,, /!W, ,/!W,C,"/!W,D,"/!W,E,"/!W,H,"/!_T,,/!n,&,/!MW/!XT,W/!Mc,/95*^/!g#,,,/!yk,,-/!Mc,/!lc,\/!lc,\,0/!XT,W,1/!lc,\/!XT,W,3/!xg,/!XT,W?!%'()*.-56 +" A >88 ,  , 86>+!.L84.j.-.m.j. .  6 A=.q33 =>  6+3+ B95E. B95g3+ ,,>= ,6+3+! A =8.q33+"78+"%%@%@%@@%@@@@@%@@@+"pp`ppp0pppp`p``000``P`00``p```?+;'//!g,d/!g,e/!g,f/!xg,/!g,w/!g,z/!g,{/!g,|/!g,}/!g,~/!g,/!g,/!g,/!g,/!g,/!g,/!g,/!Pu,*/!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%/!Pg,/!T,*,/![T,(,/![T,),/![T,*,/![T,+,/![T,,,/!T,o,/!T,*,/![T,V,/!^W,/!_T,,/!h,,$/!fT,,%/!W, ,$/!W,C,'/!W,D,'/!W,E,'/!W,H,'/!_T,,$/!n,&,$/!MW,/!XT,W,/!Mc,,/95*^,/!g#,,1/!yk,,2/!Mc,,/!lc,\/!lc,\,5/!XT,W,6/!lc,\/!XT,W,8/!xg,/!XT,W?"#&*,-./32 :;+&6>??.L84..r A z.L84.j. -.m .j .  . 6 A=.q3+3+ =>  3+6+3+ B95. B95g3+ ,,>= ,6+# S4@%47! S4@%4? B95 #87%+&@%%%@%@@%@@@@@@@+&`ppp0ppppp0pppp`p``000```P`00``p`?+n'//!g,</!g,=/!g,&/!g,'/!g,)/!g,+/!g,>/!g,?/!g,A/!g,B/!g,C/!g,D/!g,F/!g,G/!g,J/!g,K/!g,L/!g,/!u,4/!Ja,%/!u,`/!u,a/!u,b/!pg,,/!c,#,/!Mc,,/!t,,/!t,,/!t,,/!t,,/!t,,/!t,,/!b,, /!_T,S,!/!zW,,!/!Pu,*/!Pu,+/!Pu,,/!Pu,-/!Pu,./!Pu,//!Ja,%,&/!Pg,,&/!Pg,,+/!T,*,,/![T,(,,/![T,),,/![T,*,,/![T,+,,/![T,,,,/!T,o,0/!T,*,0/![T,V,2/!^W,,/!_T,,,/!h,,7/!fT,,8/!W, ,7/!W,C,:/!W,D,:/!W,E,:/!W,H,:/!_T,,7/!n,&,7/!MW,,/!XT,W,,/!Mc,,)/95*^,)/!g#,,D/!yk,,E/!Mc,,)/!g,/! u,l,H/!u,N,I/!c,#,J/!Mc,,K/!u,R,K/!t,G,M/!Ja,%,N/!N],N/ \,,M/ \,,Q/! u,m,I/ \,,S/ \,,T/ `\,,U/ N\,,V/ Y\,,U/!lc,\/!lc,\,Y/!XT,W,Z/!lc,\/!XT,W,\/!g,/! u,l,^/!u,N,_/!c,#,`/!Mc,,a/!u,R,a/!t,G,c/!Ja,%,d/!N],d/ \,,c/ \,,g/! u,m,_/ \,,i/ \,,j/ `\,,k/ N\,,l/ Y\,,k?"#*-569=?@,AB+++''FE) U k5.!M95. K i.!M- F- A 9595. F7?/#9595,c? #self#abs5+#.!J495 I R9595. K i- F>- A 95. A!495 I R9595. K i .!J495- F- A 95 95 I R9595. K i.!J495- F- A 9595 I R95 95. K i.!J495 - F- A !95957+#+#?/#9595 ,k/#9595 ,l/#9595 ,m/#9595 ,n/#9595 ,o?#self#abs#15#14#13#125O+) I R9595. K i.!J495- F- A 9595 I R9595. K i .!J495- F -  A 95 95 I R9595. K i.!J495- F- A 9595 I R95 95. K i.!J495 - F- A 9595 I R95 95. K i#.!J495 - F%-$& A '95"957+)+)?/#9595 ,Z/#9595 ,[/#9595 ,\/#9595 ,]/#9595 ,^/#9595 ,_?#self#abs#6#5#4#3#25I ++95.!J495- F I R95 .!_ A }!P95.!J495- F I R95.!_  A }!P  95.!J495- F I R95.!_ A }!P95.!J495- F I R95.!_ A }!P95.!J495 - F I R95 .!_! A }!P"95.!J495 - F% I R95 .!_( A }!P$&)7++++?/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,/#9595 ,?$#self#abs#66#65#64#63#62#615 +( I-!P. O?-!Z6+( I. L. L I-!P . O?-!Z 6 +". L.!l I . L I. L A!l I. L. L. 6+.!M .95 A!x 3+ A!x I.!P . O?-!Z6+"3 I.!P. O?-!Z$6%+(37+(+(?/#9595,H/#9595,I/#9595,J/#9595,K/#9595,M/#9595,O/#9595,P/#9595,Q/#9595,R? #self#absbvk5.!J4956 I.!J4953 I=.!J495.!J495.95.!J495.!J495.95  A95  7 ?/#9595,g? #self#ab5.!J495.!J495.95.!J495.!J495.95.!J495.!J495.95.!J495.!J495.95  .!J495.!J495.95  A95  7?/#9595,V? #self#ab595 A K9595 A. F A }!P7?/#9595,D? #self#abs5.!J495.!J495.95.95.954957?/#9595,-? #self#ah 5.!J495.!J495.Q6.!J495.!J495.Q77=?/#Q95,,? #self#ab  5g+.!J495.!J495.Q6+.!J495.!J495.Q6+.!J495.!J495.Q  6 +.!J495.!J495.Q 6+.!J495.!J495.Q77=7=7=7=++?/#Q95,s? #self#ab5t+. 04956. L495. w9563 R 49549595- U I3 I95. K i.!-!-!e6+3+ A! A957++?/#9595,7?'#unused#exscopestatemodule_depth5t+. 04956. L495. w9563 R 49549595- U I3 I95. K i.!-!-!e6+3+ A! A957++?/#9595,[?)#unused#exprscopestatemodule_depth5. 04956 I. L4953 I>95. K i .! -! -!e 6 3 A! A957?/#9595,"?#unused#outexisglobal5%??. 04956 I. L4953 I A9595. K i .! -! -!e63 A! A95 7?/#9595,?#unused#fitrinit5g I-! A957?/#9595,J?#unused#exprkwargs...5 +3 . 04956 I . L4953. K95g I A  . 04956 I . L4953. K95g I A . 04956+ I . L4953+. K9595 I A . 04956+ I . L4953+" A K9595 I A  . 04956#+' I . L4953+). K9595 I A' 95 . K i*.!+-!,-!e-6.+13+2.! A95  ")72+3+3?/#9595 ,0?A#unused#referencesassignmentsfunccallsfuncdefsmacrocalls5w +;  . 04956 I . L4953. K95g I A  . 04956 I . L4953+. K95g I A . 04956+ I . L4953+. K95g I A . 04956+! I . L4953+#. K9595 I A! . 04956$+( I . L4953+*. K95g I A( . 04956++/ I . L4953+1. K95g I A/ 95. K i2.!3-!4-!e566+93+:.! A95 #*17:+;+;?/#95 95 ?t#unused#referencesdefinitionssoft_definitionsfuncdefs_with_signaturesfuncdefs_without_signaturesmacrocalls5.  I. w63 I.!N.  I. w6 3 I.!N R7?/#9595?#ctor-self#partsjoined5]. K95 d R7?/#9595?#self#partsjoined5 A }!PF.9595.-g.957?/#9595? #self#parts5x.9595.-g.957?/#9595? #self#parts5X- F.957?/#9595,? #self#part5W<-gG.957?/#9595,?#self#5S R957?/#9595,(? #ctor-self#namesignature_hash595.  I. w63 I.!N.  I. w 6 3 I.!N  R7?/#9595,(?"#ctor-self#namesignature_hash5Y R957?/#9595?<#ctor-self#usingsusings_isglobalimportsimports_isglobal5k +95.  I . w 63 I .!N  .  I. w 6 3 I.!N .  I. w6+3+ I.!N.  I. w6+3+ I.!N R7++?/#9595?@#ctor-self#usingsusings_isglobalimportsimports_isglobal5u-!MZ-!M-!MZ-!M A957?/#9595?#self#5a R957?/#9595?t#ctor-self#referencesdefinitionssoft_definitionsfuncdefs_with_signaturesfuncdefs_without_signaturesmacrocalls5 +-95.  I . w 63 I .!N  .  I . w  6 3 I .!N   .  I . w 6+3+ I .!N  .  I . w 6+3+ I .!N  .  I . w 6 +#3+$ I .!N  .  I. w%6'+*3++ I.!N% R$+7,+-+-?/#9595?z#ctor-self#referencesdefinitionssoft_definitionsfuncdefs_with_signaturesfuncdefs_without_signaturesmacrocalls5 . K95g A. K95g A. K95g A. K9595 A. K95g A . K95g A A95  7 ?/#9595?#self#5)+[. K95g I R95.!J495.!_ I -95. K i . K95g.!J495-  . K95g.!J495- A F -  I. 95.!J495 I-!P. O?-!Z6+*. L.!l. L I . L A!l I . L. L-95 .95"# I.!P!. O?-!Z&6'+*3+. K95g I R95 .!J495 .!_,- I-*.95 95 -0.!J495.952.!J495.954 .!J495 I-!P6. O?-!Z869+[. L;.!l< I. L= I . L= A!l< I. L@. L;.!J495 .C.!J495.!J495.!JF495.EG.!J495 I-95I. K95g I R95 .!_M I-KN.!J495.95P-95-kR.!J495.95ST I.!P6B. O?-!ZW6X+[3+;7+[+[?/#9595,$/#9595,%/#9595,,/#9595,-/#9595,./#9595,2/#9595,3/#9595,4/#9595,6/#9595,8/#9595,9/#9595,:/#9595,</#9595,=/#9595,A/#9595,C/#9595,D/#9595,F? #self#symstate#74#73funccallsresultmacrocallsbody_symstate#75namesiggenerated_names_symsgenerated_namesbody_symstate5[ R957?/#9595,:?D#ctor-self#inglobalscopeexposedglobalshiddenglobalsdefinedfuncs5m +95.  I . w 63 I .!N  .  I. w 6 3 I.!N .  I. w6+3+ I.!N.  I. w6+3+ I.!N R7++?/#9595,:?H#ctor-self#inglobalscopeexposedglobalshiddenglobalsdefinedfuncs5. K95g A. K95g A. K95g A A95>7?/#9595,??#self#5_ R957?/#9595,1?A#ctor-self#referencesassignmentsfunccallsfuncdefsmacrocalls5 +&95.  I . w 63 I .!N  .  I . w  6 3 I .!N   .  I . w 6+3+ I .!N  .  I. w6+3+ I.!N.  I. w6 +#3+$ I.!N R$7%+&+&?/#9595,1?F#ctor-self#referencesassignmentsfunccallsfuncdefsmacrocalls5. K95g A. K95g A. K9595 A A K9595 A. K9595 A A95 7 ?/#9595,0?#self##20#21#20none_stringExpressionExplorer__init__##compute_reactive_node#79#compute_reactive_node#79@/opt/julia/packages/ExpressionExplorer/EpqLm/src/ReactiveNode.jlcompute_symbols_state ReactiveNode#compute_reactive_nodecompute_reactive_nodeTnamesNV#75#78#75joined#74#77#74#73#76#73#66#72#66 macrocalls#65#71#65funcdefs_without_signatures#64#70#64funcdefs_with_signatures#63#69#63soft_definitions#62#68#62 definitions#61#67#61 references##ReactiveNode#60#ReactiveNode#60 FunctionNamepartsFunctionNameSignaturePairnamesignature_hashFunctionDependencies intersectkeys#maybe_add_dependent_funccalls!maybe_add_dependent_funccalls!H/opt/julia/packages/ExpressionExplorer/EpqLm/src/FunctionDependencies.jldependency_tablemaybe_add_dependent_funccall!haskeypush!Set#maybe_add_dependent_funccall!=>SymbolDictconjremislessxorsqrt===!==nandnor>=div<!=>mod==in<=adjoint% isgreater⊻cmp√min≢⊼⊽≥÷max≠ismoremod1≡isequal∈≤#includeinclude#evalevalNothing#get_rootassigneeget_rootassignee9/opt/julia/packages/ExpressionExplorer/EpqLm/src/Utils.jlis_toplevel_exprargsMetaisexpr macrocallconstheadLineNumberNode#is_toplevel_exprtoplevel#external_package_namesexternal_package_namesA/opt/julia/packages/ExpressionExplorer/EpqLm/src/UsingsImports.jlmapfoldlunion!usingsimportsinit UsingsImportsusings_isglobalimports_isglobalimportusingas.##compute_usings_imports!#59#compute_usings_imports!#59quotemodulecompute_usings_imports!isglobal#compute_usings_imports!#compute_usings_importscompute_usings_imports#try_compute_symbolreferencestry_compute_symbolreferences deprecated.jlTypeofmtdepwarn @deprecate#compute_symbolreferencescompute_symbolreferences;/opt/julia/packages/ExpressionExplorer/EpqLm/src/explore.jl SymbolsState ScopeStateexplore!handle_recursive_functions! showerror stacktracecatch_backtracestderrrethrowInterruptException#compute_symbols_stateErrorexploreExpressionExplorer_aa000eb0 invokelatestfixup_stdlib_path UndefVarErrorex logging_error?fake_reference_to_prevent_it_from_looking_like_a_text_only_cell#handle_recursive_functions!funcdefssetdiff funccalls assignments#hide_argument_namehide_argument_name::...kwfilter#57#58#57 parameters #canonalize canonalizewherecurlyExpressionExplorer_bf1b25ed#53#56#53 scopestateexplore_funcdef!#52#55#52to_kw#51#54#51#explore_funcdef! hiddenglobals|>without_dotprefixwithout_dotsuffix inglobalscopeexposedglobals definedfuncsreverseanonymous_name umapfoldlis_function_assignmentuncurly!split_funcnamecall#to_kw#49#50#49explore_interpolations!#explore_interpolations!$##explore_module_definition!#48#explore_module_definition!#48#explore_module_definition!explore_module_definition!#explore_module_definition!#43+Number#45#47#45 module_depth#44#46#44##explore_module_definition!#43#41#42#41#39#40#39#explore_fallback!explore_fallback!#explore_module!explore_module!union#explore_quote!explore_quote!#37#38#37#explore_load! explore_load!#explore_broadcast!explore_broadcast!#35#36#35#explore_tuple!explore_tuple!#33#34#33local#explore_local!explore_local! modifiers get_assigneesWarnExpressionExplorer_8cc6adac#31#32#31global#explore_global!explore_global!ExpressionExplorer_73fedf99#explore_anonymous_function!explore_anonymous_function!blockExpressionExplorer_4dd0e7edfunction@errorsetdiff! #explore_try! explore_try!explore_inner_scoped#explore_function_macro!explore_function_macro!deepcopymacroonlyhashwill_assign_global#explore_abstract!explore_abstract!structexplore_struct!first#explore_struct!map#29#30#29 QuoteNode#explore_call! explore_call! is_just_dotsfuncname_symstate!BenchmarkToolsgenerate_benchmark_definition macroexpandBase#funcname_symstate!#explore_macrocall!explore_macrocall!explore_macrocalls!#explore_macrocalls! Iterators#explore_generator!explore_generator!forcollect#27#28#27#explore_filter!explore_filter!#25#26#25innerscopestate#explore_inner_scopedFunction##umapfoldl#24 #umapfoldl#24 #umapfoldl#explore_dotprefixed_modifiers!explore_dotprefixed_modifiers!.=prevind lastindex#explore_modifiers!explore_modifiers!!filter!#22#23#22global_assignees∉#explore_assignment!explore_assignment!get_global_assigneesall_underscoresUInt64rand#anonymous_name#is_function_assignment #explore!modifiers_dotprefixedletwhile generatorabstracttry-> @nospecializeoccursin#is_joined_funcnameis_joined_funcname..undef#generate_funcnamesgenerate_funcnames-#without_dotsuffixString#without_dotprefix #is_just_dots GlobalRef#split_funcnamejoin_funcnamesisempty#join_funcnamesnothing: #uncurly!@assertallstring#all_underscoresAnyExpr#get_assigneesrefExpressionExplorer_ddedc688isa#get_global_assigneesExpressionExplorer_b9cc997aae@warnlength#will_assign_global.+=.-=.*=./=.//=.^=.÷=.%=.<<=.>>=.>>>=.&=.⊻=.≔.⩴.≕+=-=*=/=//=^=÷=%=<<=>>=>>>=&=⊻=≔⩴≕&#15#19#15#14#18#14#13#17#13#12#16#12lastTuple mapreduce#6#11#6#5#10#5#4#9#4#3#8#3#2#7#2∪Bool##SymbolsState#1#SymbolsState#1@doc ##meta#58typesig linenumberbindingpathfieldsUnionUIntVarargjointupleVectorNTupleF/opt/julia/packages/ExpressionExplorer/EpqLm/src/ExpressionExplorer.jlkeyword argument check_top_bit4K00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000P@ @ @p`P@ P0`@ 00 0 @p`P0`@0@p`P0P@ @0@ @ @ @ 0 0 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@P@ @@@ @P@ @ @ @ p@ p@ @ @ @ @ p@0 0 00 0 0 0 @p`P0`@ 0 0 0 0 0 @p`P0P@00 0 0 0 0 P00 @p`P0P@ P0P@00 0 @p`P0P@ 0 0 0 0 @p`P0@0P0P@ P0P@0P0P@ 0 0 0 @p`P0p@ P0P@ 0 0 @p`P0@ @0p@ 0P0@ 0 0 @p`P0@@@p`P0P@00 0 0 0 @p`P0`@ 0 0 @p`P0@ 0 0 0 @p`P0p@ 0 0 0 0 0 0 0 0 @p`P0@ 0 @p`P0p@ @@@P@ @ @ @ @ @P@ @ @ @ @ p@ @0 0 @p`P0P@ P0p@ P0P@ 0 0 0 @p`P0`@ 0 @p`P0P@ P0@ 0 @ p`P0`@ 0 @ p`P0`@ 0 @ p`P0`@ 0 @p`P0@0@0p@ 0P0`@0P0@0P0`@00 @p`P0p@ P0P@ 0 @ p`P0`@ 0 @p`P0P@0P0@00 @p`P0P@@@p`P0P@0P0P@00 0 0 0 @ p`P0p@ 0 @p`P0P@ 0 @p`P0@@0 0 0 @ p`P0`@ 0 @ p`P0`@ 0 @p`P0`@00 0 0 @p`P0@00 0 0 @p`P0`@00 0 @p`P0P@ 0 @p`P0@00 0 @p`P0`@00 0 0 @ p`P0`@ 0 @p`P0p@00 0 0 @ p`P0`@ 0 @p`P0@00 0 @ p`P0`@ 0 @p`P0@00 0 @p`P0@00 0 0 0 0 @p`P0@00 0 0 @p`P0@00 0 @p`P0p@00 0 0 0 @p`P0@00 0 0 0 @p`P0p@ 0 @p`P0  @00 0 @p`P0 @00 0 @p`P0p@00 0 @p`P0P@0P0p@00 0 0 @p`P0p@00 0 0 0 @ p`P0`@ 0 @p`P0p@00 0 0 @ p`P0`@ 0 @p`P0@00 0 0 @p`P0P@@@p`P0`@00 0 0 0 @p`P0p@00 0 0 0 @p`P0p@00 0 0 0 0 0 @ p`P0p@ 0 @p`P0@00 0 0 0 @p`P0`@ 0 0 @p`P0p@ 0 0 @p`P0@0P0p@0P0P@00 0 0 0 0 @p`P0`@ 0 0 0 @p`P0`@ 0 0 0 @p`P0P@ 0 0 @p`P0P@ 0 @p`P0`@ P0P@ P0P@ 0 0 0 0 0 0 0 @p`P0p@ P0`@ P0P@ P0@ P0P@ P0P@ 0 0 0 @p`P0P@ P0p@0 0 0 0 0 0 @p`P0P@ P0`@ P0@0P0P@00 0 0 0 0 0 @p`P0P@ 0 0 0 0 0 0 0 0 @p`P0P@ P0@ P0P@ 0 0 0 0 @p`P0@00 0 0 0 0 0 0 @p`P0@0P0`@00 0 0 0 0 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 0 0 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 @p`P0P@ 0 0 0 0 0 @p`P0P@P0 0 0 0 0 0 0   P 0 @ @  P 0 @ @  PP0 0 @  PP0 0 P 0 @ P  P 0 @ @  P 0 @  P 0 @ @  P 0 @ @  P 0 @ @  PP0 0 @  P 0 @  PP0 0 @  PP0 0 @  P 0 @ @  P 0 @  P 0 @  P 0 @ @  P 0 @  P 0 @  P 0 @  P 0 @  P 0 @ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @p`PPp0P@ @ PP0P@00 0 @p`P0P@ 0 0 0P@@0P@ 0P @@0P@00PpP0P@00P@ 0P@ '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P@0@@@`PPPP@pP @0p p p pppppp0`@0 @ @ 0@0 0@0 0@0 0P@0 0p@00@00`@0 0`@00P@00p@00p@@0p@@0`@@0p@@0P@000@00@@00P@0 @ @ 0P @0@ 0`@ 0`@ 0P@ 0P@ 0P@00P@00P@@0P@@0P@ 0P@P0P@P0`@ 0 @ 0P@@0P@@0P@ 0P@@0P@@0p@ @000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@  ((8(    @0008 (((8  @000((8  @00080000((8  @000((8  @000((8  @000((8  @000((8  @000((8  @000((8  @000((8  @000((8  @000((8  @0000     00 (0 (0 000008 (((((8  @00 (( ((8  @000   @8@ 0(H(8@ 0(H(0((8  @000  @000((8  @000(((8  @00   @00   @000  @000(((8  @00   @000((8  @00  (0   @00 ((8  @000((8  @000((8  @000((8  @000  ((8  @000((((((((8  @000((8  @00    000   0000(0 ((8  @00   @00   @000(((8  @000((8  @00   @00 0 (8  @0000 (8  @0000 (8  @000((8  @00  (0   @00   @00   @000((8  @00   @0000 (8  @000((8  @000  @000((8  @000((8  @000  @000( 0(8  @000((8  @000((8  @0000 (8  @0000 (8  @000((8  @00 ((8  @00 ((8  @00 ((8  @000((8  @00 ((8  @00 0 (8  @000((8  @00 (0 (8  @000((8  @00 0 (8  @000((8  @00 ((8  @00  ((((8  @00 ((8  @00 ((8  @00 ((((8  @00 ((((8  @000((8  @00 ((8  @000((8  @00 ((8  @000  @000(((8  @00 ((0 (8  @000((8  @00 (0 (8  @000((8  @00  ((8  @000((8  @000((8  @00 ((((8  @00 ((((0 (8  @000((8  @00 ((((8  @000((8  @00 ((8  @00   @00   @000 ((((8  @00 (((8  @000(((8  @00 (((8  @00 ((8  @00   @000  @000(  ((8  @00   @00   @00   @00   @000  @000(((8  @000  @000 ((((8  @00   @00   @00   @000 (((((8  @00  (((( ((8  @00   @00   @000((((8  @000 ((((((8  @00   @00000 (((8  @000((8  @000((8  @000((8  @000( (((8  @000((8  @000((8  @000((8  @000((8  @000(( ((8  @000   (  0h x@8`8`8 0 `@8`8`800 (@8H@08H80 8(@8H@08H8@8`8`8 0 H@8`8`800 x@8`8`80 x@8`8`800 @8`8`800 @8`8`800 (@8H@08H80 @8`8`80 (@8H@08H80 (@8H@08H80 (@8`8`800 x@8`8`80 x@8`8`80 x@8`8`800 @8`8`80 x@8`8`80 x@8`8`80 x@8`8`80 @@8`8`80    ((      ((8X  0 @000    @000((8  @0000@ 0@ 0H 0@ 0 000@ 0@ 0@ h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@ 00000000000 0H0 0 0 0 0 0 0 0 0 00 @000 00 @000  @000  @000  @000  @00  @00  @000  @00  @00  @00  @000 @000 @000 @000 @000 @000 @000 @00008 @0000 @000 @000  @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000 @000@0c@P`Z@[[0\^_`p``paiPP`@ж0pи` p@!(p,4=pFJOTX`]pfnyp@`P0P `=@Qp!`% ')j !./2P2@99<= @p@CCGPGpJJM0NPQQTU0XX c hphl0mv@wx@y|} pppЇp p00P pЩ@PPpPPp p@P0` P @ P` P`@##&'*+@//3P377P;;P@@D`DHHNPNPRRV0Wp[[0``cdhhl0mp0qr@s0ww |p|0p0Ќ@И P p@ pP@н @ p000@@00@@@@PPPP  P `@P  #$0''**.`.23 79@>B I0RV[_Pdh0opsyЈ0p@P`жppPpp  0   00 `@ "$%'p)p+p-`/`1 3`57p:<>@@BCEpG@IKLNP@RTVPXZ[]h2Df. L < :`<NB^B6V^i._i_i_i*`iB`iN`iZ`i~`i`i`i`iaibainaiaiaiai,3nƖnږnnnnB4jrvܾ,W!@и`,gzsX?P? _p_`0 ` 4;**++&+6+F+V+f+v+++%B.n? .@n: ; ?1UX Y 1UX Y 1X Y 1X Y 1X Y 1UX Y 1UX Y 1X Y .@n: ;? .@n: ; ?BBWNpJ5YH{;]h``j`g!mB1/vVM@TjTjhV^`44@H*H> H\e =Re = AHe fg  z p p      4@>!H!H!9!9!  Z0 ` E!4! 4! H>!HH!f!\!1R!1 A z p  pP "" "  " p,"6"6";" ;" pF"S"S"V"V" " " ""  $ 0  `  "."B"8" p" #B# .# o8 # p#$# /#/# P $   0 ` 3#V<#L<#~j?# ~`?# BK#8K# p4>x#H}#HBBmW$s\ NNpBv)a) $V:; >$A 4$*$4R$4H$ b pBf , fP \$\$ z$8/$8 $, !%G !% !% l !% m!% Q%D Q% Q% l Q% mQ%CBB~W%NNpBv %Vy8 4* &,H, H > &> &R#&p=&5/f=&5\=&,BBPW&0N@NpBvh &Vc *@e Hpf >|49',\, R<'R<', f@  f  p '  /0 z`  * @BBW(C (CV@BBW`) `)V iiis]ds)JO-KO]OTv~OTv~OTv~7 /7 /7     cBBVBVGV:DS=DSm=DSmAYXY1IXY '1IX\}'1IX`e'/`e'/k}IX   'UInt64;rem;size;<=;axes;collect_to!Array;setindex!collectjuliancodeunits;pointersizesimilar;pointer;_similar_shape;collect_to!;julia_Generator_409convertremreinterpret;check_top_bitunsafe_convert_similar_shape<setindex!;==UInt64julia_collect_to_with_first!_399is_top_bit_set;unsafe_store!;-Symbol;reinterpretmemmovejapi1__string_412getindexjulia__iterator_upper_bound_403check_top_bit;axesgetindex;__unsafe_string!similarcollect_to_with_first!julia_include_368include<=_string_nmemmove;string_array_for_array_for;writebswap;_string_n;unsafe_convert;>>_string+*;convert;cconvert;getproperty;<;string;julia_collect_375GeneratoriteratencodeunitsgetpropertySymbolArray+;*sizeof;__unsafe_string!;-;unsafe_store!unsafe_copyto!unsafe_copyto!;cconvert_iterator_upper_bounditerate;.write;sizeofis_top_bit_set#20;bswap==;>>;toUInt64toUInt64;#20L0getproperty;0UInt64;R0write;j0+;80-;0toUInt64;0sizeof;H0reinterpret;0is_top_bit_set;>0getindex;*0<=;z0==;t0_string0unsafe_copyto!;V0pointer;.0unsafe_convert;0_string_n;0cconvert;`0rem;0*;40iterate;0check_top_bit;0unsafe_store!;$0memmove;0__unsafe_string!;\0ncodeunits;f0bswap;0>>;0convert;*0getproperty;0#20;0collectp0iterate;R0axes;0similar;0Symbol;0string;z0getindex;H0size;\0<;0Array;>0_similar_shape;0_array_for; G*0getproperty;f0Symbol;\0string;R0getindex;p0#20;>0<;H0iterate;z0_iterator_upper_bound *0setindex!;40getproperty;z0string;p0getindex;H0collect_to!;0#20;f0<;R0-;\0iterate;0Symbol;0+;0collect_to_with_first!{ D*0include D*0Generator G { D Di stringssubstring.jlint.jltuple.jlessentials.jlpromotion.jlio.jlBase.jlboot.jlstring.jlpointer.jlcmem.jlchar.jlbasic.jlnumber.jlarray.jl  dX|f<)#~.tfzfX|<<{ i~<{<<t~<WX8Xq<J<X <zf <8|Wf)<4~..Xzf~< {.}Jf }X}J~f< }< ~tJi~J{<< <zf 9<J }=q. f/~.Jz. ~<J }>J <{f< }J }.X<8Xq<t~  <J tuf~tJ ~t t  stringsarray.jlBase.jlint.jlessentials.jlsubstring.jlbasic.jlboot.jlgenerator.jlabstractarray.jlnone $ 8y<<J<x.s<,}J| . stringsarray.jlBase.jlint.jlessentials.jlsubstring.jlbasic.jlgenerator.jlnone % 7z<<X~.y,!/ stringsarray.jlBase.jlint.jlessentials.jlsubstring.jlbasic.jlgenerator.jlnone & ><x<xf1<JXxfs |tXx. |tx.y9w^ /opt/julia/packages/ExpressionExplorer/EpqLm/srcExpressionExplorer.jl ( 3?$ generator.jl `) Linker: LLD 15.0.7  <hW 0 _ D gP X  $( M &? %<Q %q A y &< (N (CHP )< `) ))XM 0*Kj` O  *  *  *  *  *    2 Z p     * C l   ( 0 8 3@ ZH ` h p x  * R k        5 ^    ,0K8m@  p   P ,(  0:  L  ]  m      sxM) p?  x MH `MC ; ! O \ k           ;  M( Ml.   .dynsym.gnu.version.gnu.version_r.gnu.hash.hash.dynstr.rela.dyn.rela.plt.rodata.eh_frame.text.plt.data.rel.ro.dynamic.got.data.got.plt.bss.debug_abbrev.debug_info.debug_ranges.debug_str.debug_gnu_pubnames.debug_gnu_pubtypes.debug_line.comment.symtab.shstrtab.strtabtextjapi1__string_412SUM.MainDOT.BaseDOT.SubStringYY.433ccall_ijl_alloc_string_427_j_str3_j_str4jl_symYY.check_top_bitYY.426pjlsys_throw_inexacterror_3julia_collect_375jl_globalYY.396jl_globalYY.397pjlsys_Symbol_1SUM.CoreDOT.ArrayYY.389jlplt_ijl_alloc_array_1d_391_gotjulia_collect_to_with_firstNOT._399jfptr_collect_376julia__iterator_upper_bound_403_j_str2jfptr__iterator_upper_bound_404jfptr_collect_to_with_firstNOT._400julia_include_368jl_globalYY.373jl_globalYY.374jfptr_include_369julia_Generator_409jfptr_Generator_410SUM.MainDOT.BaseDOT.GeneratorYY.411jlplt_ijl_alloc_array_1d_391ccall_ijl_alloc_array_1d_390_j_str1__gnu_h2f_ieee__extendhfsf2__gnu_f2h_ieee__truncsfhf2__truncdfhf2MUL.CoreDOT.nfieldsYY.413MUL.CoreDOT.IntrinsicsDOT.sle_intYY.384MUL.CoreDOT.getfieldYY.377MUL.CoreDOT.IntrinsicsDOT.not_intYY.405MUL.CoreDOT.isaYY.414MUL.CoreDOT.CharYY.415MUL.CoreDOT.IntrinsicsDOT.bitcastYY.381MUL.CoreDOT.IntrinsicsDOT.bswap_intYY.416MUL.CoreDOT.IntrinsicsDOT.lshr_intYY.417MUL.CoreDOT.IntrinsicsDOT.shl_intYY.418MUL.CoreDOT.ifelseYY.380MUL.CoreDOT.IntrinsicsDOT.zext_intYY.419MUL.CoreDOT.UInt64YY.420MUL.CoreDOT.EQ.EQ.EQ.YY.421MUL.CoreDOT.IntrinsicsDOT.and_intYY.386MUL.CoreDOT.IntrinsicsDOT.add_intYY.388MUL.CoreDOT.IntrinsicsDOT.trunc_intYY.422MUL.CoreDOT.UInt8YY.423MUL.CoreDOT.IntrinsicsDOT.eq_intYY.424MUL.CoreDOT.throw_inexacterrorYY.425MUL.CoreDOT.UIntYY.428MUL.CoreDOT.IntrinsicsDOT.add_ptrYY.429MUL.CoreDOT.IntrinsicsDOT.sub_ptrYY.430MUL.CoreDOT.IntrinsicsDOT.pointersetYY.431MUL.CoreDOT.StringYY.432MUL.CoreDOT.IntrinsicsDOT.mul_intYY.434MUL.CoreDOT.sizeofYY.435MUL.CoreDOT.throwYY.408jl_globalYY.436MUL.CoreDOT.typeassertYY.437MUL.CoreDOT.SymbolYY.398MUL.CoreDOT.arraysizeYY.378MUL.CoreDOT.IntrinsicsDOT.slt_intYY.379MUL.CoreDOT.IntrinsicsDOT.sub_intYY.382MUL.CoreDOT.IntrinsicsDOT.arraylenYY.383MUL.CoreDOT.IntrinsicsDOT.ult_intYY.385MUL.CoreDOT.arrayrefYY.387MUL.MainDOT.BaseDOT.collect_to_with_firstNOT.YY.392MUL.MainDOT.BaseDOT._stringYY.394MUL.CoreDOT.nothingYY.406MUL.CoreDOT.arraysetYY.401MUL.CoreDOT._call_latestYY.370MUL.MainDOT.BaseDOT.includeYY.371MUL.ExpressionExplorerDOT.ExpressionExplorerYY.372metadatajl_dispatch_target_idsjl_image_headersysimgjl_tls_offsetjl_f_sizeofjl_libjulia_internal_handleijl_load_and_lookupmemmovejl_pgcstack_func_slotjl_small_typeofijl_box_charijl_type_errorjl_undefref_exceptionijl_throwjl_nothingijl_bounds_error_intsjl_f__call_latestijl_gc_pool_allocjulia__gnu_h2f_ieeejulia__gnu_f2h_ieeejulia__truncdfhf2jl_gvar_idxs_0jl_fvar_idxs_0jl_fvar_offsets_0jl_gvar_offsets_0jl_clone_slots_0jl_clone_idxs_0jl_clone_offsets_0jl_pgcstack_key_slotjl_fvar_base_0jl_gvar_base_0jl_RTLD_DEFAULT_handle_pointerjl_RTLD_DEFAULT_handlejl_shard_tablesjl_ptls_tablejl_image_pointersjl_system_image_datajl_system_image_size_DYNAMIC  o*o$$@%ohh,/5DD=GB  Q20 0 Y |c0 i*n;{;@<M,@0 0x {~ 0> lSA0 @ d'L